/* Approved first-screen composition */
.hero{position:relative;max-width:100%;overflow-x:clip;min-height:calc(100svh - 108px);display:flex;align-items:center;padding-top:48px;padding-bottom:48px;background:linear-gradient(180deg,var(--hero-top),var(--hero-bot))}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 78% 52%,color-mix(in srgb,var(--khaki) 12%,transparent),transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='84' viewBox='0 0 72 84'%3E%3Cpath d='M18 1 36 11v21L18 42 0 32V11ZM54 42l18 10v21L54 83 36 73V52ZM54 1l18 10v21L54 42 36 32V11ZM18 42l18 10v21L18 83 0 73V52Z' fill='none' stroke='%234A6B22'/%3E%3C/svg%3E")}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 652px;gap:48px;align-items:center}
.hero-copy{min-width:0;position:relative;z-index:2}
.hero-title{margin:24px 0 0;font-family:var(--font-display);font-size:64px;font-weight:400;line-height:1.12;letter-spacing:-.01em}
.t-line{display:block}
.t-key{color:var(--accent);font-style:normal}
.cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:32px}
.capsule{display:flex;align-items:center;gap:12px;min-width:0;padding:6px 6px 6px 10px;border-radius:var(--r-pill);background:var(--bg-panel);box-shadow:var(--hl-inset),0 0 0 1px color-mix(in srgb,var(--border) 85%,transparent),0 18px 40px -14px color-mix(in srgb,var(--accent) 20%,transparent)}
.capsule-flag{width:34px;height:34px;flex-shrink:0;border-radius:50%;overflow:hidden}
.capsule-hint{min-width:0;color:var(--text-muted);font-size:14px;line-height:1.35}
.cta-main{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 6px 0 22px;flex-shrink:0;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:var(--hl-inset),var(--lift-1);color:var(--white);font-size:16px;font-weight:600;white-space:nowrap;transition:transform .2s}
.cta-arrow{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--white) 18%,transparent)}
.cta-arrow svg{width:16px;height:16px}
.cta-row>.btn-ghost{min-height:52px}
.lede{max-width:560px;margin-top:24px;color:var(--text-muted);font-size:17px;line-height:1.75}
.lede strong{color:var(--text);font-weight:600}
.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;max-width:560px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.trust li{display:flex;align-items:center;gap:12px;min-width:0;font-size:14px;line-height:1.35}
.ico-box{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1.5px solid var(--accent);border-radius:9px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel));color:var(--accent)}
.ico-box svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.plats{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.plats li{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:4px 13px 4px 11px;border-radius:var(--r-pill);background:var(--bg-panel);box-shadow:var(--hl-inset),0 0 0 1px var(--border);font-size:13px}
.plats svg{width:17px;height:17px;flex-shrink:0;color:var(--accent-dark)}
.stage-wrap{position:relative;width:100%;height:600px;min-width:0}
.stage{position:absolute;top:0;right:0;width:652px;height:600px;transform-origin:top right}
.panel{position:absolute;top:0;right:0;width:480px;height:600px;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(180deg,var(--sky-top),var(--sky-bot));box-shadow:var(--lift-panel)}
.panel::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--white) 75%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--white) 32%,transparent);pointer-events:none}
.city-art{position:absolute;inset:0;width:480px;height:600px}
.city-sun{fill:color-mix(in srgb,var(--white) 65%,var(--sky-top))}
.city-back{fill:var(--city-back-a)}
.city-mid{fill:var(--city-mid-a)}
.city-front{fill:var(--city-front-b)}
.city-window{fill:var(--city-win);opacity:.58}
.city-ground{fill:var(--ground-top)}
.city-ground-face{fill:var(--ground-face)}
.city-ground-line{stroke:var(--ground-hl);stroke-width:2}
.handset{position:absolute;z-index:3;left:368px;top:70px;width:232px;padding:9px;border-radius:40px;background:linear-gradient(160deg,color-mix(in srgb,var(--ink) 86%,var(--white)),var(--ink) 38%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--white) 26%,transparent),0 48px 90px -22px color-mix(in srgb,var(--accent) 40%,transparent),0 12px 22px -14px var(--ink)}
.handset::before{content:"";position:absolute;right:-2px;top:118px;width:3px;height:46px;border-radius:2px;background:var(--ink-panel)}
.screen{min-height:428px;overflow:hidden;padding:10px 12px 14px;border-radius:31px;background:linear-gradient(180deg,var(--bg-panel),var(--bg))}
.island{width:72px;height:20px;margin:0 auto 12px;border-radius:var(--r-pill);background:var(--ink)}
.app-bar{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--text-muted);font-size:11px}
.app-bar b{color:var(--accent)}
.line-card{padding:10px;border-radius:var(--r-md);background:var(--bg-panel-2);box-shadow:var(--hl-inset)}
.line-row{display:flex;align-items:center;gap:8px}
.line-row>div{min-width:0}
.line-flag{width:28px;height:28px;flex-shrink:0;border-radius:50%;overflow:hidden}
.line-name{display:block;color:var(--text);font-size:12px;font-weight:600;white-space:normal}
.line-sub{display:block;color:var(--text-muted);font-family:var(--font-mono);font-size:10px}
.line-state{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid var(--border);color:var(--accent);font-size:12px;font-weight:600}
.toggle{position:relative;width:36px;height:20px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.toggle::after{content:"";position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--white);box-shadow:var(--lift-1)}
.connect{display:flex;flex-direction:column;align-items:center;margin:12px 0 10px}
.connect svg{width:100px;height:104px}
.connect span{color:var(--text-muted);font-size:11px}
.connect-hex{fill:var(--accent)}
.connect-inner{fill:var(--accent-2)}
.connect-lock{fill:none;stroke:var(--white);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chips{display:flex;justify-content:center;gap:6px}
.chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:var(--r-pill);background:var(--bg-panel-2);color:var(--text-muted);font-size:11px;white-space:nowrap}
.chip.is-on{background:var(--accent);color:var(--white)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.fact{min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-panel)}
.fact b{display:block;font-family:var(--font-mono);font-size:16px;line-height:20px}
.fact span{display:block;color:var(--text-muted);font-size:10px}
.devices{margin-top:8px;color:var(--text);font-size:11px}
.plats-mini{display:flex;justify-content:space-between;gap:3px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);color:var(--text-muted);font-size:9px}
.card-a{position:absolute;z-index:4;left:62px;top:40px;width:200px;padding:16px 18px 20px;border:1px solid color-mix(in srgb,var(--white) 14%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--ink) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--white) 12%,transparent),0 30px 54px -24px color-mix(in srgb,var(--ink) 60%,transparent);color:var(--white);text-align:center}
.card-a-label{color:color-mix(in srgb,var(--white) 65%,transparent);font-size:11px;letter-spacing:.14em}
.armor{position:relative;display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(3,30px);justify-content:center;width:112px;height:108px;margin:8px auto 0}
.armor i{width:30px;height:34px;clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);background:linear-gradient(145deg,var(--khaki-soft),var(--accent));box-shadow:inset 0 -7px 0 color-mix(in srgb,var(--ink) 22%,transparent);animation:armor-breathe 4s ease-in-out infinite alternate}
.armor i:nth-child(1){grid-column:2;grid-row:1}
.armor i:nth-child(2){grid-column:1;grid-row:2}
.armor i:nth-child(3){grid-column:2;grid-row:2}
.armor i:nth-child(4){grid-column:3;grid-row:2}
.armor i:nth-child(5){grid-column:1;grid-row:3}
.armor i:nth-child(6){grid-column:2;grid-row:3}
.armor i:nth-child(7){grid-column:3;grid-row:3}
.armor i:nth-child(even){animation-delay:-2s}
.card-a-title{margin-top:10px;font-family:var(--font-display);font-size:20px}
.card-a-sub{color:color-mix(in srgb,var(--white) 74%,transparent);font-size:11px}
.card-b{position:absolute;z-index:5;left:22px;bottom:46px;width:256px;padding:15px 16px;border-radius:var(--r-md);background:var(--bg-panel);box-shadow:var(--hl-inset),var(--lift-2)}
.card-b-title{margin-bottom:9px;font-size:13px;font-weight:600}
.flag-list{display:flex;flex-wrap:wrap;gap:7px 10px}
.flag-item{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:11px;white-space:nowrap}
.flag-item svg{width:19px;height:15px;flex-shrink:0;border-radius:3px;overflow:hidden}
.flag-red{fill:var(--flag-red)}
.flag-white{fill:var(--flag-white)}
.flag-navy{fill:var(--flag-navy)}
.flag-black{fill:var(--flag-black)}
.flag-gold{fill:var(--flag-gold)}
.flag-accent{fill:var(--accent)}
.refund-tag{position:absolute;z-index:4;top:24px;right:18px;padding:7px 12px;border-radius:var(--r-pill);background:var(--bg-panel);box-shadow:var(--lift-1);font-size:11px;color:var(--accent-dark)}
.arc-light{position:absolute;z-index:2;left:280px;top:160px;width:9px;height:9px;border-radius:50%;background:var(--khaki);box-shadow:0 0 0 4px color-mix(in srgb,var(--khaki) 22%,transparent);animation:light-travel 3.6s ease-in-out infinite}
@keyframes armor-breathe{from{opacity:.85;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes light-travel{from{opacity:0;transform:translate(0,0)}45%{opacity:1}to{opacity:0;transform:translate(90px,90px)}}
/* Shared content components */
.tabs{display:flex;gap:5px;max-width:100%;overflow-x:auto;padding:5px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg-panel-2)}
.tabs [role="tab"]{min-height:40px;padding:8px 18px;border-radius:var(--r-pill);white-space:nowrap;font-size:14px}
.tabs [role="tab"][aria-selected="true"]{background:var(--bg-panel);color:var(--accent-dark);box-shadow:var(--lift-1);font-weight:700}
[role="tabpanel"][hidden]{display:none}
.toc-tabs{position:sticky;z-index:12;top:0;display:flex;gap:8px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:12px 0;background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap}
.toc-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:5px 13px;border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-muted);font-size:13px}
.toc-tabs a.is-current,.toc-tabs a[aria-current="location"],.prose .toc-tabs a.is-current,.prose .toc-tabs a[aria-current="location"]{border-color:var(--accent);background:var(--accent);color:var(--white)}
.faq-item{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-panel);box-shadow:var(--hl-inset)}
.faq-item summary{position:relative;min-height:56px;display:flex;align-items:center;padding:14px 52px 14px 20px;cursor:pointer;font-weight:600;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:17px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg-panel-2);color:var(--accent);font-size:20px}
.faq-item[open] summary::after{content:"−"}
.faq-item>div{padding:0 20px 20px;color:var(--text-muted)}
.plan-grid,.platform-grid,.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan-card{position:relative;min-width:0;padding:30px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--bg-panel);box-shadow:var(--hl-inset),var(--lift-1)}
.plan-card.is-featured{border-color:var(--accent);box-shadow:var(--hl-inset),var(--lift-2)}
.plan-card h3{margin:8px 0}
.plan-card p{color:var(--text-muted)}
.plan-card .price{display:block;margin:20px 0 4px;font-family:var(--font-mono);font-size:32px;color:var(--text)}
.plan-card .btn-secondary{margin-top:24px}
.plan-badge{position:absolute;right:20px;top:-14px;padding:5px 12px;border-radius:var(--r-pill);background:var(--accent);color:var(--white);font-size:12px}
.table-scroll{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-panel)}
.table-scroll table{width:100%;min-width:660px}
.table-scroll th,.table-scroll td,.data-table th,.data-table td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left;word-break:keep-all}
.table-scroll th,.data-table th{background:var(--bg-panel-2);color:var(--text);font-size:13px;font-weight:700;white-space:nowrap}
.table-scroll td:first-child{color:var(--text);font-weight:600}
.table-scroll tr:last-child td{border-bottom:0}
.region-title{margin:28px 0 12px;font-family:var(--font-display);font-size:26px}
.prose>.data-table{display:block;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.platform-card{min-width:0;padding:22px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);box-shadow:var(--hl-inset),var(--lift-1)}
.platform-card svg{width:28px;height:28px;color:var(--accent)}
.platform-card h3{margin:12px 0;font-size:24px}
.platform-card .btn-secondary{margin-top:12px}
.article-card{min-width:0;overflow:hidden;padding:24px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);box-shadow:var(--hl-inset),var(--lift-1)}
.article-card h3{margin:14px 0 10px;font-size:23px}
.article-card p{color:var(--text-muted);font-size:14px}
.article-card a{display:block}
.article-card a:hover{color:var(--accent-dark)}
.callout{margin:24px 0;padding:20px 24px;border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--bg-panel-2)}
.promo-block{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:42px 0;padding:28px;border-radius:var(--r-lg);background:var(--ink);color:var(--white)}
.promo-block p{color:color-mix(in srgb,var(--white) 75%,transparent)}
.promo-block .btn-primary,.promo-block .btn-secondary{flex-shrink:0;white-space:nowrap}
.float-cta{position:fixed;z-index:25;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:8px 18px;border:1px solid color-mix(in srgb,var(--white) 25%,transparent);border-radius:var(--r-pill);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:var(--lift-2);color:var(--white);font-size:14px;font-weight:700}
.float-cta svg{width:18px;height:18px;flex-shrink:0}
body:has(.float-cta)::after{content:"";display:block;height:calc(88px + env(safe-area-inset-bottom,0px))}
.risk-band{padding-top:88px;padding-bottom:88px;background:var(--ink);color:var(--white)}
.risk-band h2{color:var(--white)}
.risk-band h2 em{color:var(--khaki);font-style:normal}
.risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.risk-card{min-width:0;padding:22px;border:1px solid color-mix(in srgb,var(--white) 9%,transparent);border-radius:var(--r-sm);background:var(--ink-panel)}
.risk-card svg{width:100%;height:148px;color:var(--khaki)}
.risk-card svg .warning{fill:var(--error)}
.risk-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:23px}
.risk-card summary::-webkit-details-marker{display:none}
.risk-card summary::after{content:"+";display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--accent-dark);font-family:var(--font-body)}
.risk-card[open] summary::after{content:"−"}
.risk-card p{margin-top:16px;color:color-mix(in srgb,var(--white) 75%,transparent);font-size:14px}
.armor-section{display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.armor-intro{position:sticky;top:24px;align-self:start}
.armor-list article{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--border)}
.armor-list article:first-child{padding-top:0}
.armor-list .ico-box{width:42px;height:42px;border-radius:var(--r-sm)}
.armor-list h3{margin:0 0 8px}
.armor-list p{color:var(--text-muted)}
.preview-section{padding-top:72px;padding-bottom:72px;border-bottom:1px solid var(--border)}
.preview-section>h2{margin:0 0 22px}
.preview-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.preview-swatch{min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-panel);font-family:var(--font-mono);font-size:11px;overflow-wrap:anywhere}
.preview-swatch i{display:block;height:56px;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--swatch)}
.sw-bg{--swatch:var(--bg)}
.sw-panel{--swatch:var(--bg-panel)}
.sw-panel2{--swatch:var(--bg-panel-2)}
.sw-border{--swatch:var(--border)}
.sw-accent{--swatch:var(--accent)}
.sw-accent-dark{--swatch:var(--accent-dark)}
.sw-khaki{--swatch:var(--khaki)}
.sw-text{--swatch:var(--text)}
.sw-muted{--swatch:var(--text-muted)}
.sw-success{--swatch:var(--success)}
.sw-warn{--swatch:var(--warn)}
.sw-error{--swatch:var(--error)}
.sw-ink{--swatch:var(--ink)}
.sw-ink-panel{--swatch:var(--ink-panel)}
.preview-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.preview-type>*{min-width:0}
.preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.preview-actions button:disabled{opacity:.48;cursor:not-allowed}
.preview-stack{display:grid;gap:18px}
@media(max-width:1300px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:20px}
  .stage-wrap{height:480px}
  .stage{transform:scale(.8)}
  .hero-title{font-size:clamp(52px,5vw,64px)}
}
@media(max-width:1050px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,390px)}
  .stage-wrap{height:360px}
  .stage{transform:scale(.6)}
  .capsule{flex-wrap:wrap;border-radius:var(--r-xl)}
}
@media(max-width:768px){
  .hero{min-height:0}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-title{font-size:clamp(28px,7vw,40px)}
  .stage-wrap{width:min(100%,460px);height:400px;margin-inline:auto}
  .stage{transform:scale(.66)}
  .trust{margin-top:24px}
  .plan-grid,.article-grid,.risk-grid{grid-template-columns:1fr 1fr}
  .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .armor-section{grid-template-columns:1fr;gap:28px}
  .armor-intro{position:static}
  .preview-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .hero{padding-top:36px;padding-bottom:48px}
  .cta-row{margin-top:24px}
  .capsule{width:100%;gap:8px}
  .capsule-hint{flex:1;font-size:12px}
  .cta-main{min-height:44px;padding-left:14px;font-size:14px}
  .cta-arrow{width:32px;height:32px}
  .lede{margin-top:18px;font-size:15px}
  .trust{gap:12px}
  .trust li{gap:7px;font-size:12px}
  .ico-box{width:28px;height:28px}
  .plats{gap:6px}
  .plats li{font-size:11px;padding-inline:8px}
  .stage-wrap{width:min(100%,326px);height:300px}
  .stage{transform:scale(.47)}
  .card-a{left:170px;top:20px}
  .card-b{left:160px;bottom:12px}
  .refund-tag{right:10px}
  .plan-grid,.article-grid,.risk-grid,.platform-grid,.preview-type{grid-template-columns:1fr}
  .preview-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .promo-block{flex-direction:column;align-items:flex-start}
  .float-cta{right:16px}
}
@media(max-width:380px){
  .stage-wrap{width:288px;height:268px}
  .stage{transform:scale(.42)}
  .trust{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  .armor i,.arc-light{animation:none;opacity:1;transform:none}
}