/* Landing-only additions. No LK or backend styles. */
:root { --ap-ink:#211A34; --ap-secondary:#60576E; }
[hidden] { display:none !important; }
:is(a,button,input):focus-visible { outline:3px solid #8D61F0; outline-offset:4px; }
section[id] { scroll-margin-top:92px; }
.navbar-logo { white-space:nowrap; font-size:22px; }
.navbar-nav { gap:20px; }
.ap-reading-company #floatCta, body:has(.mobile-menu.open) #floatCta { visibility:hidden; pointer-events:none; }
.mobile-menu.open { top:var(--ap-nav-bottom,70px); overflow-y:auto; }
.mobile-menu .mob-cta { display:flex; justify-content:center; color:#fff; padding:14px 20px; }
.hero-visual { min-width:0; }
.hero-visual img { width:100%; max-width:100%; transform:none; object-fit:contain; }
.hero-inner { gap:28px; }
.esim-preview { background:#f5f0ff; overflow:hidden; }
.esim-preview__inner { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:48px; }
.esim-preview__copy { max-width:620px; }
.esim-preview__eyebrow { display:inline-block; margin-bottom:16px; color:#7135e8; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.esim-preview h2 { margin:0; color:#21162f; font-size:clamp(30px,4vw,48px); line-height:1.15; letter-spacing:-.035em; }
.esim-preview p { margin:20px 0 22px; color:#51475f; font-size:18px; line-height:1.6; }
.esim-preview__features { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.esim-preview__features span { padding:9px 13px; border-radius:999px; background:#fff; color:#53378d; font-size:13px; font-weight:700; }
.esim-preview img { width:100%; max-height:430px; object-fit:contain; }
@media(max-width:800px) { .esim-preview__inner { grid-template-columns:1fr; gap:8px; } .esim-preview img { max-height:320px; } }
.ap-about { background:#F6F3FB; color:var(--ap-ink); }
.ap-about-header { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.ap-about-header { margin-bottom:28px; }
.ap-eyebrow { font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#6940AE; }
.ap-about h2 { font-size:clamp(30px,4vw,42px); letter-spacing:-.03em; line-height:1.25; margin-top:8px; }
.ap-company { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:32px; background:#fff; border:1px solid #E6DEF1; border-radius:24px; }
.ap-company-description { min-width:0; }
.ap-company h3 { font-size:26px; margin:14px 0 10px; }
.ap-company p { font-size:16px; line-height:1.75; }
.ap-company .ap-company-note { font-size:13px; color:var(--ap-secondary); margin-top:18px; }
.ap-requisites { align-self:center; min-width:0; }
.ap-requisites div+div { margin-top:20px; padding-top:20px; border-top:1px solid #EEE9F5; }
.ap-requisites dt { font-size:12px; color:var(--ap-secondary); margin-bottom:6px; }
.ap-requisites dd { font-size:15px; font-weight:600; overflow-wrap:anywhere; line-height:1.7; }
footer { background:#21162F; }
.footer-desc,.footer-col a,.footer-copy { color:#D7CDE2; }
.ap-independence { padding:14px 0 6px; font-size:14px; font-weight:600; color:#fff; line-height:1.4; }
.ap-registration { max-width:980px; margin:0 0 12px; color:#D7CDE2; font-size:11px; line-height:1.45; }
@media(max-width:800px) {
  .ap-company { grid-template-columns:1fr; gap:24px; }
  .ap-about-header { align-items:flex-start; flex-direction:column; gap:16px; }
  .ap-about { padding:48px 0; }
  .ap-company { padding:24px; }
  .hero-visual img { width:100%; max-width:560px; transform:none; }
  .hero-inner { gap:28px; }
}
@media(max-width:480px) {
  .ap-company { padding:20px; border-radius:18px; }
  .hero-features { padding-left:0; }
  .hero-features li { flex-wrap:nowrap; gap:10px; }
}
@media(max-width:360px) {
  .hero-features li { font-size:14px; }
  .issue-price-inline { white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .co-sheet { animation:none; }
  .float-cta { transition:none; }
}

.ap-about h1 { font-size:clamp(30px,4vw,42px); line-height:1.25; margin-top:8px; }
.ap-about-page .ap-back { padding-top:24px; padding-bottom:24px; }
.ap-about-page .ap-about { padding-top:24px; }
.ap-back a { color:#6940AE; display:inline-flex; min-height:44px; align-items:center; }
.ap-legal-nav { margin-bottom:28px; }
.ap-legal-nav a { color:#6940AE; padding:12px 0; display:inline-block; }
