/* CyberAwareHub — index.css: the complete stylesheet for the index (tokens, reset, nav,
   buttons, cards, fonts, motion modes, the file grammar, hero, lens, story, loop, mocks,
   title block). Generated from site.css + index-scenes.css by page usage, source order
   kept; sub-pages load pages.css instead. */
/* ===== from site.css ===== */
:root { --navy: #15073B; --navy-hover: #1f0a54; --cyan: #3ED1F5; --bg: #f5f7f8; --card: #ffffff; --ink: #1a2332; --body: #555555; --muted: #5b6472; --faint: #9ca3af; --hairline: #e0e0e0; --rule: #f0f1f3; --teal: #C3FAE8; --amber: #FEF3C7; --lavender: #DDD6FE; --blue: #BFDBFE; --yellow: #FEF08A; --rose: #FFD6D6; --gold: #E3C766; --gold-ink: #4a3a05; --ok: #047857; --band-starter: #3ED1F5; --band-professional: #5B8DEF; --band-enterprise: #15073B; --r-card: 14px; --r-panel: 10px; --r-btn: 8px; --r-pill: 999px; --shadow-rest: 0 2px 10px rgba(0, 0, 0, 0.04); --shadow-card: 0 10px 28px rgba(0, 0, 0, 0.26); --shadow-hover: 0 8px 20px rgba(21, 7, 59, 0.09); --shadow-navy: 0 6px 20px rgba(21, 7, 59, 0.12); --ease-over: cubic-bezier(0.22, 1.4, 0.4, 1); --ease-std: cubic-bezier(0.4, 0, 0.2, 1); --dur-rise: 0.34s; --step: 45ms; --container: 1120px; --font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --serif: Georgia, "Times New Roman", serif; --currency-symbol: "€"; }
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; font-family:var(--font); font-size:1rem; line-height:1.6; color:var(--body); background:#fff; -webkit-font-smoothing:antialiased; }
img, svg { display:block; max-width:100%; }
a { color:var(--navy); text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:2px; }
p { margin:0 0 0.9rem; }
ul, ol { margin:0; padding:0; list-style:none; }
button { font:inherit; cursor:pointer; }
strong { color:var(--ink); font-weight:700; }
h1, h2, h3, h4 { margin:0; color:var(--ink); font-weight:800; letter-spacing:-0.01em; line-height:1.15; }
h1 { font-size:clamp(2.2rem,4.5vw,3.4rem); }
h2 { font-size:clamp(1.5rem,2.6vw,2rem); }
h3 { font-size:1.15rem; }
.eyebrow { display:inline-block; margin-bottom:0.7rem; font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); }
.lead { font-size:1.1rem; line-height:1.65; color:var(--body); max-width:56ch; }
.text-center { text-align:center; }
.serif-moment { font-family:var(--serif); font-style:italic; font-size:1.05rem; color:var(--ink); letter-spacing:0.2px; padding:0.6rem 0; }
.visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip-link { position:absolute; left:1rem; top:-3rem; background:var(--card); color:var(--navy); padding:0.6rem 0.9rem; border-radius:var(--r-btn); font-weight:700; z-index:100; transition:top 0.15s; }
.skip-link:focus { top:1rem; outline:2px solid var(--navy); outline-offset:2px; }
:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.on-navy :focus-visible { outline-color:#fff; }
[data-placeholder], [hidden] { display:none!important; }
[data-feature="phishing"] { display:none; }
html[data-phishing="on"] span[data-feature="phishing"], html[data-phishing="on"] a[data-feature="phishing"], html[data-phishing="on"] em[data-feature="phishing"] { display:inline; }
html[data-phishing="on"] li[data-feature="phishing"] { display:list-item; }
html[data-phishing="on"] tr[data-feature="phishing"] { display:table-row; }
html[data-phishing="on"] details[data-feature="phishing"], html[data-phishing="on"] div[data-feature="phishing"], html[data-phishing="on"] p[data-feature="phishing"] { display:block; }
.container { width:min(var(--container),calc(100% - 2.5rem)); margin:0 auto; }
.section { padding:clamp(44px,6vw,72px)0; }
.section-head { max-width:780px; margin-bottom:2rem; }
.section-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.section-head p { margin-top:0.8rem; }
.band-navy { background:var(--navy); color:#fff; }
.band-navy h1, .band-navy h2, .band-navy h3 { color:#fff; }
.band-navy .eyebrow { color:rgba(255,255,255,0.7); }
.band-navy p { color:rgba(255,255,255,0.78); }
.band-navy strong { color:#fff; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.nav { position:sticky; top:0; z-index:50; background:var(--navy); color:#fff; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:1rem; }
.brand { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.brand:hover { text-decoration:none; }
.brand img { height:36px; width:36px; }
.wordmark { font-weight:700; font-size:0.8rem; letter-spacing:2.5px; text-transform:uppercase; color:#fff; white-space:nowrap; }
.wordmark b { color:var(--cyan); font-weight:700; }
.nav-links { display:flex; align-items:center; gap:1.6rem; }
.nav-links a { color:rgba(255,255,255,0.82); font-size:0.9rem; font-weight:600; padding:0.35rem 0; border-bottom:2px solid transparent; transition:color 0.15s,border-color 0.15s; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:#fff; text-decoration:none; border-bottom-color:var(--cyan); }
.nav-actions { display:flex; align-items:center; gap:0.9rem; }
.nav-login { color:#fff; font-size:0.9rem; font-weight:600; }
.nav-toggle { display:none; background:none; border:1.5px solid rgba(255,255,255,0.35); border-radius:var(--r-btn); color:#fff; padding:0.4rem 0.55rem; }
.nav-toggle svg { width:20px; height:20px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; border-radius:var(--r-btn); padding:13px 22px; font-size:0.95rem; font-weight:700; border:1.5px solid transparent; text-decoration:none; transition:background 0.15s,color 0.15s,border-color 0.15s,transform 0.15s; white-space:nowrap; }
.btn:hover { text-decoration:none; transform:translateY(-1px); }
.btn:active { transform:translateY(0) scale(0.99); }
.btn-primary { background:var(--navy); color:#fff; }
.btn-primary:hover { background:var(--navy-hover); color:#fff; }
.btn-secondary { background:var(--card); color:var(--navy); border-color:var(--navy); border-radius:var(--r-panel); }
.btn-secondary:hover { background:var(--navy); color:#fff; }
.btn-on-navy { background:#fff; color:var(--navy); }
.btn-on-navy:hover { background:var(--teal); color:var(--navy); }
.btn-sm { padding:9px 16px; font-size:0.85rem; }
.text-link { font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(21,7,59,0.3); }
.text-link:hover { text-decoration-color:currentColor; }
.band-navy .text-link { color:#fff; text-decoration-color:rgba(255,255,255,0.4); }
.pill { display:inline-block; border-radius:var(--r-pill); padding:3px 10px; font-size:0.72rem; font-weight:700; letter-spacing:0.02em; line-height:1.5; color:var(--navy); background:var(--teal); }
.pill-gold { background:var(--gold); color:var(--gold-ink); }
.pill-ok { background:var(--ok); color:#fff; text-transform:uppercase; }
.pill-soft { background:#eceaf3; }
.money:empty::before { content:var(--currency-symbol) attr(data-amount); }
.money { font-variant-numeric:tabular-nums; }
.chips { display:flex; flex-wrap:wrap; gap:0.55rem; }
.chip { display:inline-block; border:1px solid var(--hairline); background:var(--card); border-radius:var(--r-pill); padding:0.4rem 0.85rem; font-size:0.82rem; font-weight:600; color:var(--ink); }
.card { background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); padding:1.5rem 1.6rem; box-shadow:var(--shadow-rest); }
.card h3 { margin-bottom:0.5rem; }
.card p:last-child { margin-bottom:0; }
.card-icon { width:34px; height:34px; border-radius:var(--r-btn); display:grid; place-items:center; background:#eceaf3; color:var(--navy); margin-bottom:0.9rem; }
.card-icon svg { width:18px; height:18px; }
.layered { position:relative; isolation:isolate; --slab: var(--teal); }
.layered::before, .layered::after { content:""; position:absolute; inset:0; border-radius:var(--r-card); pointer-events:none; }
.layered::before { z-index:-1; background:var(--slab); transform:translate(10px,10px) rotate(1.2deg); }
.layered::after { z-index:-2; background:rgba(255,255,255,0.28); transform:translate(-7px,-6px) rotate(-1.6deg); }
.slab-blue { --slab: var(--blue); }
.card-body { position:relative; z-index:1; background:var(--card); border-radius:var(--r-card); padding:1.6rem 1.75rem; box-shadow:var(--shadow-card); }
.card-body h3 { margin-bottom:0.55rem; font-size:1.15rem; }
.card-body .eyebrow { margin-bottom:0.5rem; }
.layered.reveal::before, .layered.reveal::after { transform:none; }
.layered.reveal.revealed::before { animation:slab-in 0.42s var(--ease-over) 0.05s both; }
.layered.reveal.revealed::after { animation:echo-in 0.46s var(--ease-over) 0.1s both; }
@keyframes slab-in {
  from { transform:translate(0,0) rotate(0deg); }
  to { transform:translate(10px,10px) rotate(1.2deg); }
}
@keyframes echo-in {
  from { transform:translate(0,0) rotate(0deg); }
  to { transform:translate(-7px,-6px) rotate(-1.6deg); }
}
.check-list li { position:relative; padding-left:1.6rem; margin-bottom:0.45rem; font-size:0.92rem; color:var(--body); }
.check-list li::before { content:""; position:absolute; left:0; top:0.45em; width:0.9rem; height:0.9rem; border-radius:50%; background:var(--ok)url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 16\ 16\'><path\ d=\'M4\ 8.5l2.8\ 2.8L12.2\ 5.6\'\ fill=\'none\'\ stroke=\'white\'\ stroke-width=\'2.2\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'/></svg>)center/100%no-repeat; }
.hero { position:relative; padding:72px 0 96px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:3rem; align-items:center; }
.hero h1 { color:#fff; margin:0.4rem 0 1.2rem; }
.hero .lead { color:rgba(255,255,255,0.8); font-size:1.12rem; max-width:52ch; }
.hero-cta { display:flex; flex-wrap:wrap; gap:0.8rem; margin:1.8rem 0 1.1rem; }
.hero-trust { color:rgba(255,255,255,0.72); font-size:0.88rem; margin:0; }
.stats { display:grid; grid-template-columns:repeat(5,1fr); gap:1.25rem; }
.stat { text-align:center; padding:1.1rem 0.5rem; }
.stat .n { display:block; font-size:2rem; font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums; letter-spacing:-0.01em; line-height:1.1; }
.stat .l { display:block; margin-top:0.3rem; font-size:0.8rem; color:var(--muted); font-weight:600; }
.footnote { font-size:0.82rem; color:var(--muted); margin:1.6rem 0 0; }
.curriculum { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:stretch; }
.curriculum > * { min-width:0; }   /* grid items default to min-width:auto, and the ToC rows do not wrap: without this the column grows past a phone */
.modules .no { flex:0 0 1.6rem; font-size:0.78rem; font-weight:700; color:var(--navy); font-variant-numeric:tabular-nums; }
.modules .pill { margin-left:auto; }
.evidence { display:grid; grid-template-columns:1fr 1.15fr; gap:3rem; align-items:start; }
.trust { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.trust-item { display:flex; gap:0.75rem; align-items:flex-start; }
.trust-item svg { flex:0 0 18px; width:18px; height:18px; color:var(--navy); margin-top:0.15rem; }
.trust-item h3 { font-size:0.88rem; margin-bottom:0.2rem; }
.trust-item p { font-size:0.82rem; color:var(--muted); margin:0; }
.trust-line { text-align:center; margin:2rem 0 1.2rem; font-size:0.92rem; color:var(--body); }
.pricing-band { padding:3.2rem 0 5.5rem; }
.pricing-band .section-head { margin-bottom:1.6rem; }
.interval { display:inline-flex; gap:4px; background:rgba(255,255,255,0.12); border-radius:var(--r-panel); padding:5px; }
.interval button { border:0; border-radius:7px; background:transparent; color:rgba(255,255,255,0.78); padding:8px 18px; font-size:0.88rem; font-weight:700; display:inline-flex; align-items:center; gap:0.5rem; transition:background 0.15s,color 0.15s; }
.interval button[aria-checked="true"] { background:#fff; color:var(--navy); }
.interval .pill-gold { font-size:0.63rem; }
.price-wrap { margin:-3.4rem auto 0; max-width:860px; padding:0 0.75rem; }
.price-card .card-body { padding:1.6rem 2.2rem 1.4rem; }
.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; }
.price-left .eyebrow { margin-bottom:0.2rem; }
.price-figure { display:flex; align-items:baseline; gap:0.5rem; }
.price-figure .big { font-size:3.2rem; font-weight:800; color:var(--navy); line-height:1; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; min-width:5ch; }
.price-figure .unit { font-size:0.85rem; color:var(--muted); font-weight:600; }
.working { margin:0.55rem 0 1.1rem; font-size:0.82rem; color:var(--muted); display:flex; flex-wrap:wrap; gap:0.35rem 0.5rem; align-items:center; min-height:1.4em; }
.working .term { display:inline-flex; align-items:center; gap:0.35rem; font-variant-numeric:tabular-nums; }
.working .sw { width:9px; height:9px; border-radius:2px; display:inline-block; }
.sw-starter { background:var(--band-starter); }
.sw-professional { background:var(--band-professional); }
.sw-enterprise { background:var(--band-enterprise); }
.seats-label { display:flex; justify-content:space-between; align-items:baseline; font-size:0.82rem; font-weight:700; color:var(--ink); margin-bottom:0.4rem; }
.seats-label small { font-weight:600; color:var(--muted); }
.seat-range { width:100%; margin:0.2rem 0 0.7rem; accent-color:var(--navy); }
.seat-controls { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.7rem; }
.seat-btn { width:34px; height:34px; border-radius:var(--r-btn); border:1.5px solid #d1d5db; background:var(--card); color:var(--navy); font-weight:800; display:grid; place-items:center; transition:border-color 0.15s,background 0.15s; }
.seat-btn:hover { border-color:var(--navy); background:#f7f6fb; }
.seat-input { width:84px; height:34px; border-radius:var(--r-btn); border:1.5px solid #d1d5db; text-align:center; font:inherit; font-size:0.95rem; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
.seat-input:focus { outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(21,7,59,0.08); }
.presets { display:flex; gap:0.4rem; margin-left:auto; }
.presets button { border:1px solid var(--hairline); background:var(--card); color:var(--muted); border-radius:var(--r-pill); padding:4px 10px; font-size:0.75rem; font-weight:700; transition:color 0.15s,border-color 0.15s; }
.presets button:hover, .presets button[aria-pressed="true"] { color:var(--navy); border-color:var(--navy); }
.total-row { display:flex; justify-content:space-between; align-items:baseline; padding-top:0.9rem; border-top:1px solid var(--rule); }
.total-row .lbl { font-size:0.85rem; font-weight:700; color:var(--ink); }
.total-row strong { font-size:1.25rem; color:var(--navy); font-variant-numeric:tabular-nums; }
.total-row strong.pulse { animation:total-pulse 0.2s ease; }
@keyframes total-pulse {
  0% { transform:scale(1); }
  40% { transform:scale(1.02); }
  100% { transform:scale(1); }
}
.total-row small { font-size:0.8rem; color:var(--muted); font-weight:600; }
.price-right .inc-title { font-size:0.82rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-bottom:0.9rem; }
.price-right { border-left:1px solid var(--rule); padding-left:2.2rem; }
.price-ctas { display:grid; gap:0.6rem; margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--rule); }
.price-note { text-align:center; font-size:0.78rem; color:var(--muted); margin:0.6rem 0 0; }
.pricing-from { text-align:center; padding:0.4rem 0 0.2rem; }
.pricing-from .big { font-size:2.6rem; font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums; line-height:1.1; }
.pricing-from p { color:var(--muted); font-size:0.92rem; margin:0.4rem 0 1.2rem; }
html[data-pricing-mode="from"] [data-pricing="calculator"] { display:none!important; }
html:not([data-pricing-mode="from"]) [data-pricing="from"] { display:none!important; }
.bands { max-width:860px; margin:2.2rem auto 0; padding:0 0.75rem; }
.band-head { display:grid; grid-template-columns:1.3fr 1.2fr 1fr 1fr; background:var(--navy); color:#fff; padding:0.7rem 1rem; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; }
.band-box { position:relative; display:grid; grid-template-columns:1.3fr 1.2fr 1fr 1fr; align-items:center; padding:0.85rem 1rem 0.85rem calc(1rem - 2px); font-size:0.9rem; color:var(--muted); background:#fff; border:1px solid var(--ink-hair); border-top:0; border-left:3px solid transparent; transition:color 0.3s, border-color 0.3s, background 0.3s; --band: var(--band-starter); }
.band-box.band-professional { --band: var(--band-professional); }
.band-box.band-enterprise { --band: var(--band-enterprise); }
.band-box.band-scale { --band: var(--gold); }
.band-box.band-active { color:var(--ink); border-left-color:var(--aqua); background:var(--aqua-soft); }
.band-box .name { font-weight:700; display:flex; align-items:center; gap:0.6rem; }
.band-box .name::before { content:""; width:10px; height:10px; flex:0 0 10px; background:var(--band); }
.band-box .rate { font-family:var(--mono); font-size:0.8rem; letter-spacing:0.02em; font-variant-numeric:tabular-nums; }
@keyframes draw-x {
  to { transform:scaleX(1); }
}
@keyframes draw-y {
  to { transform:scaleY(1); }
}
.band-explain { font-family:var(--mono); font-size:0.72rem; line-height:1.55; letter-spacing:0.02em; color:var(--muted); margin:1rem 0 0; }
.compare { display:grid; grid-template-columns:1.4fr 1fr; gap:2.5rem; align-items:start; }
.compare-table { width:100%; border-collapse:collapse; background:var(--card); border-radius:var(--r-panel); overflow:hidden; box-shadow:var(--shadow-rest); font-size:0.9rem; }
.compare-table th { background:var(--navy); color:#fff; text-align:left; padding:0.7rem 0.9rem; font-size:0.75rem; letter-spacing:0.05em; text-transform:uppercase; }
.compare-table th:not(:first-child), .compare-table td:not(:first-child) { text-align:center; }
.compare-table td { padding:0.7rem 0.9rem; border-bottom:1px solid var(--rule); color:var(--body); }
.compare-table tr:nth-child(even) td { background:#fafafa; }
.compare-table tr:last-child td { border-bottom:0; }
.compare-table td:first-child { font-weight:600; color:var(--ink); }
.compare-table td:last-child { background:rgba(21,7,59,0.035); }
.compare-table .yes { color:var(--ok); font-weight:700; }
.compare-table .no { color:#5b6472; }
.note-panel { background:var(--card); border-radius:var(--r-panel); border:1px solid var(--hairline); padding:1.4rem 1.5rem; }
.note-panel h3 { font-size:1rem; margin-bottom:0.6rem; }
.note-panel p { font-size:0.9rem; }
.faq { max-width:800px; margin:0 auto; display:grid; gap:0.7rem; }
.faq details { background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); box-shadow:var(--shadow-rest); }
.faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; font-weight:700; color:var(--ink); font-size:0.98rem; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:""; flex:0 0 18px; width:18px; height:18px; background:url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ fill=\'none\'\ stroke=\'%2315073B\'\ stroke-width=\'2.2\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'><path\ d=\'M6\ 9l6\ 6\ 6-6\'/></svg>)center/contain no-repeat; transition:transform 0.25s ease; }
.faq details[open] summary::after { transform:rotate(180deg); }
.faq .answer { padding:0 1.25rem 1.15rem; font-size:0.93rem; color:var(--body); }
.faq .answer p:last-child { margin-bottom:0; }
.cta-band { text-align:center; padding:4rem 0; }
.cta-band h2 { font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:0.8rem; }
.cta-band .hero-trust { margin-bottom:1.6rem; }
.cta-band .btn { margin-bottom:1.1rem; }
.cta-band .alt { font-size:0.9rem; color:rgba(255,255,255,0.78); margin:0.4rem 0 0; }
.footer { padding:3.2rem 0 2rem; border-top:1px solid var(--hairline); font-size:0.88rem; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem; }
.footer .brand { color:var(--navy); }
.footer .wordmark { color:var(--navy); }
.footer .wordmark b { color:var(--navy); }
.footer .brand img { filter:none; }
.footer h3 { font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:0.8rem; }
.footer li { margin-bottom:0.45rem; }
.footer a { color:var(--body); }
.footer a:hover { color:var(--navy); }
.footer-tag { color:var(--muted); margin-top:0.8rem; max-width:34ch; }
.footer-bottom { margin-top:2.4rem; padding-top:1.2rem; border-top:1px solid var(--rule); color:var(--muted); font-size:0.8rem; display:flex; flex-wrap:wrap; gap:0.5rem 1.5rem; justify-content:space-between; }
html[data-motion="full"] .reveal, html[data-motion="lite"] .reveal { opacity:0; transition:opacity 0.6s ease; }
html[data-motion="full"] .reveal.revealed, html[data-motion="lite"] .reveal.revealed { opacity:1; transform:none; }
.stagger>.reveal:nth-child(2) { transition-delay:calc(var(--step)*1); }
.stagger>.reveal:nth-child(3) { transition-delay:calc(var(--step)*2); }
.stagger>.reveal:nth-child(4) { transition-delay:calc(var(--step)*3); }
.stagger>.reveal:nth-child(5) { transition-delay:calc(var(--step)*4); }
.stagger>.reveal:nth-child(6) { transition-delay:calc(var(--step)*5); }
.stagger>.reveal:nth-child(7) { transition-delay:calc(var(--step)*6); }
.stagger>.reveal:nth-child(8) { transition-delay:calc(var(--step)*7); }
.stagger>.reveal:nth-child(9) { transition-delay:calc(var(--step)*8); }
.stagger>.reveal:nth-child(10) { transition-delay:calc(var(--step)*9); }
.stagger>.reveal:nth-child(11) { transition-delay:calc(var(--step)*10); }
.stagger>.reveal:nth-child(12) { transition-delay:calc(var(--step)*11); }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal, .reveal.revealed { opacity:1; transform:none; transition:none; }
  .layered::before, .layered.reveal::before, .layered.reveal.revealed::before { animation:none; transform:translate(10px,10px) rotate(1.2deg); }
  .layered::after, .layered.reveal::after, .layered.reveal.revealed::after { animation:none; transform:translate(-7px,-6px) rotate(-1.6deg); }
  .total-row strong.pulse { animation:none; }
  .btn, .btn:hover { transition:none; transform:none; }
}
@media (max-width:1024px) {
  .grid-4, .trust { grid-template-columns:repeat(2,1fr); }
  .stats { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
}
@media (max-width:768px) {
  .nav-links { display:none; }
  .nav-toggle { display:inline-flex; }
  .nav.open .nav-links { display:flex; flex-direction:column; align-items:flex-start; gap:0.2rem; position:absolute; left:0; right:0; top:100%; background:var(--navy); padding:0.8rem 1.25rem 1.2rem; border-top:1px solid rgba(255,255,255,0.12); }
  .nav.open .nav-links a { padding:0.55rem 0; width:100%; border-bottom-color:transparent; }
  .nav-login { display:none; }
  .hero { padding:56px 0 72px; }
  .hero-grid { grid-template-columns:1fr; gap:2.4rem; }
  .grid-2, .grid-3, .curriculum, .evidence, .compare, .price-grid, .principles, .contact-grid { grid-template-columns:1fr; }
  .price-right { border-left:0; padding-left:0; border-top:1px solid var(--rule); padding-top:1.4rem; }
  .price-card .card-body { padding:1.4rem 1.4rem 1.2rem; }
  .price-wrap { margin-top:-2.6rem; }
  .presets { margin-left:0; }
  .seat-controls { flex-wrap:wrap; }
  .band-head { display:none; }
  .band-box { grid-template-columns:1fr 1fr; gap:0.3rem 1rem; }
  .band-box .rate { text-align:right; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .container { width:calc(100% - 1.5rem); }
  .section { padding:48px 0; }
  h1 { font-size:clamp(2rem,8vw,2.4rem); }
  .stats, .grid-4, .trust { grid-template-columns:repeat(2,1fr); }
  .layered::before, .layered.reveal.revealed::before { transform:translate(6px,6px) rotate(1deg); }
  .layered::after, .layered.reveal.revealed::after { transform:translate(-4px,-4px) rotate(-1.2deg); }
  @keyframes slab-in{from{transform:none}to{transform:translate(6px,6px) rotate(1deg)}}
  @keyframes echo-in{from{transform:none}to{transform:translate(-4px,-4px) rotate(-1.2deg)}}
  .price-figure .big { font-size:2.6rem; }
  .interval { min-width:0; }
  .interval button { padding:8px 12px; font-size:0.82rem; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}
main p a:not(.btn):not(.chip), main li a:not(.btn):not(.chip), main td a, main .answer a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; text-decoration-color:rgba(21,7,59,0.35); }
main p a:not(.btn):hover, main li a:not(.btn):hover, main td a:hover, main .answer a:hover { text-decoration-color:currentColor; }
.band-navy p a:not(.btn) { text-decoration-color:rgba(255,255,255,0.5); }
.frame { background:var(--card); border-radius:var(--r-panel); box-shadow:var(--shadow-card); overflow:hidden; font-size:0.8rem; color:var(--ink); }
.frame-bar { display:flex; align-items:center; gap:6px; padding:9px 12px; background:#f1f2f5; border-bottom:1px solid var(--hairline); }
.frame-bar>i { width:9px; height:9px; border-radius:50%; background:#d4d6dc; }
.frame-url { margin-left:8px; flex:1; background:#fff; border:1px solid var(--hairline); border-radius:6px; padding:3px 10px; font-size:0.72rem; color:var(--muted); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.frame-bar .pill { font-size:0.64rem; }
.frame-body { padding:16px 18px 18px; background:var(--bg); }
.frame-sm .frame-body { padding:14px 16px 16px; }
.mk-title { font-size:1rem; font-weight:800; color:var(--ink); letter-spacing:-0.01em; margin-bottom:0.6rem; }
.mk-sub { font-size:0.76rem; color:var(--muted); margin:0 0 0.8rem; }
.mk-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:12px; }
.mk-stat { background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); padding:10px 12px; }
.mk-label { display:block; font-size:0.62rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.mk-value { display:block; font-size:1.3rem; font-weight:800; color:var(--navy); line-height:1.1; font-variant-numeric:tabular-nums; }
.mk-two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mk-panel { background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); padding:12px 14px; min-width:0; }
.mk-panel-title { font-size:0.78rem; font-weight:700; color:var(--ink); margin-bottom:8px; display:flex; align-items:center; justify-content:space-between; gap:6px; }
.mk-panel-title .pill { font-size:0.6rem; }
.mk-score { display:flex; align-items:baseline; gap:6px; margin:2px 0 8px; }
.mk-score-num { font-size:2.2rem; font-weight:800; color:var(--ok); line-height:1; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; min-width:2ch; }
.mk-score-of { font-size:0.78rem; font-weight:600; color:var(--muted); }
.mk-score .pill { margin-left:auto; align-self:center; font-size:0.6rem; }
.mk-bar { display:grid; grid-template-columns:1fr auto; gap:3px 8px; font-size:0.7rem; color:var(--muted); margin-bottom:8px; }
.mk-bar>span { grid-area:1/1; }
.mk-bar>em { grid-area:1/2; font-style:normal; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
.mk-bar>.mk-track { grid-area:2/1/3/3; }
.mk-track { display:block; height:7px; border-radius:4px; background:var(--rule); overflow:hidden; }
.mk-track>b { display:block; height:100%; border-radius:4px; width:0; transition:width 0.7s var(--ease-std); }
.fill-navy { background:var(--navy); }
.fill-teal { background:#7fd9bd; }
.fill-amber { background:#f0c96a; }
.fill-lavender { background:#a99af0; }
.fill-blue { background:#7fb0f5; }
.revealed .mk-track>b.w91, .is-active .mk-track>b.w91 { width:91%; }
.revealed .mk-track>b.w88, .is-active .mk-track>b.w88 { width:88%; }
.revealed .mk-track>b.w86, .is-active .mk-track>b.w86 { width:86%; }
.revealed .mk-track>b.w79, .is-active .mk-track>b.w79 { width:79%; }
.revealed .mk-track>b.w78, .is-active .mk-track>b.w78 { width:78%; }
.revealed .mk-track>b.w74, .is-active .mk-track>b.w74 { width:74%; }
.revealed .mk-track>b.w64, .is-active .mk-track>b.w64 { width:64%; }
.revealed .mk-track>b.w58, .is-active .mk-track>b.w58 { width:58%; }
.mk-bar:nth-child(2) .mk-track>b { transition-delay:0.1s; }
.mk-bar:nth-child(3) .mk-track>b { transition-delay:0.2s; }
.mk-bar:nth-child(4) .mk-track>b { transition-delay:0.3s; }
.mk-bar:nth-child(5) .mk-track>b { transition-delay:0.4s; }
.mk-bar:nth-child(6) .mk-track>b { transition-delay:0.5s; }
.av { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e7e4f2; color:var(--navy); font-size:0.58rem; font-weight:800; margin-right:7px; vertical-align:middle; flex:0 0 20px; }
.mk-table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); overflow:hidden; font-size:0.74rem; }
.mk-table th { text-align:left; font-size:0.6rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); padding:8px 10px; background:#fafafa; border-bottom:1px solid var(--rule); }
.mk-table td { padding:7px 10px; border-bottom:1px solid var(--rule); color:var(--ink); white-space:nowrap; }
.mk-table tr:last-child td { border-bottom:0; }
.mk-table td:first-child { display:flex; align-items:center; }
.mk-table .pill { font-size:0.58rem; padding:2px 8px; }
.mk-toolbar { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.mk-toolbar .mk-title { margin:0; flex:1; }
.mk-seats { font-size:0.7rem; color:var(--muted); font-weight:600; }
.mk-btn { display:inline-block; background:var(--navy); color:#fff; border-radius:var(--r-btn); padding:8px 14px; font-size:0.76rem; font-weight:700; text-align:center; }
.mk-audit { display:flex; align-items:center; gap:8px; margin-top:10px; font-size:0.68rem; color:var(--muted); }
.mk-audit strong { color:var(--ink); }
.dot { width:8px; height:8px; border-radius:50%; background:var(--ok); flex:0 0 8px; }
.mk-form { max-width:360px; margin:0 auto; }
.mk-field { background:var(--card); border:1.5px solid #d1d5db; border-radius:var(--r-btn); padding:7px 10px; margin-bottom:8px; display:flex; flex-direction:column; }
.mk-field span { font-size:0.6rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--muted); font-weight:700; }
.mk-field i { font-style:normal; font-size:0.82rem; color:var(--ink); font-weight:600; }
.mk-check { display:flex; align-items:center; gap:8px; font-size:0.7rem; color:var(--body); margin:4px 0 10px; }
.mk-check b { width:14px; height:14px; border-radius:3px; background:var(--navy)url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 16\ 16\'><path\ d=\'M4\ 8.5l2.8\ 2.8L12.2\ 5.6\'\ fill=\'none\'\ stroke=\'white\'\ stroke-width=\'2.4\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'/></svg>)center/80%no-repeat; flex:0 0 14px; }
.mk-btn.a5 { display:block; }
.mk-toast { display:flex; align-items:center; gap:10px; margin-top:12px; background:var(--card); border:1px solid var(--hairline); border-left:3px solid var(--ok); border-radius:var(--r-btn); padding:9px 12px; font-size:0.74rem; color:var(--body); box-shadow:var(--shadow-rest); }
.mk-toast strong { color:var(--ink); }
.tick { width:18px; height:18px; border-radius:50%; flex:0 0 18px; background:var(--ok)url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 16\ 16\'><path\ d=\'M4\ 8.5l2.8\ 2.8L12.2\ 5.6\'\ fill=\'none\'\ stroke=\'white\'\ stroke-width=\'2.2\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'/></svg>)center/70%no-repeat; }
.mk-drop { position:relative; border:2px dashed #c9cdd6; border-radius:var(--r-panel); padding:18px 14px; text-align:center; font-size:0.74rem; color:var(--muted); background:var(--card); margin-bottom:10px; }
.mk-file { display:inline-block; background:#eceaf3; color:var(--navy); border-radius:var(--r-pill); padding:3px 10px; font-size:0.68rem; font-weight:700; margin-bottom:6px; }
.mk-drop span { display:block; }
.mk-timeline { margin-top:4px; }
.mk-event { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-btn); padding:8px 12px; margin-bottom:6px; font-size:0.72rem; color:var(--body); }
.mk-event strong { color:var(--ink); }
.mk-event em { font-style:normal; font-size:0.64rem; color:var(--muted); font-weight:700; }
.a1, .a2, .a3, .a4, .a5, .a6, .mk-table .r1, .mk-table .r2, .mk-table .r3, .mk-table .r4, .mk-table .r5, .mk-row.r1, .mk-row.r2, .mk-row.r3, .mk-row.r4, .mk-row.r5, .mk-dl.r1, .mk-dl.r2, .mk-dl.r3 { opacity:0; }
.is-active .a1, .is-active .a2, .is-active .a3, .is-active .a4, .is-active .a5, .is-active .a6, .is-active .mk-table .r1, .is-active .mk-table .r2, .is-active .mk-table .r3, .is-active .mk-table .r4, .is-active .mk-table .r5, .is-active .mk-row.r1, .is-active .mk-row.r2, .is-active .mk-row.r3, .is-active .mk-row.r4, .is-active .mk-row.r5, .is-active .mk-dl.r1, .is-active .mk-dl.r2, .is-active .mk-dl.r3 { animation:mk-in 0.38s ease-out both; }
.is-active .a1 { animation-delay:0.05s; }
.is-active .a2 { animation-delay:0.45s; }
.is-active .a3 { animation-delay:0.85s; }
.is-active .a4 { animation-delay:1.25s; }
.is-active .a5 { animation-delay:1.65s; }
.is-active .a6 { animation-delay:2.4s; }
.is-active .mk-table .r1, .is-active .mk-dl.r1 { animation-delay:0.15s; }
.is-active .mk-table .r2, .is-active .mk-dl.r2 { animation-delay:0.22s; }
.is-active .mk-table .r3, .is-active .mk-dl.r3 { animation-delay:0.29s; }
.is-active .mk-table .r4 { animation-delay:0.36s; }
.is-active .mk-table .r5 { animation-delay:0.43s; }
@keyframes mk-in {
  from { opacity:0; transform:translateY(6px); }
  to { opacity:1; transform:none; }
}
.stepper { display:grid; grid-template-columns:0.9fr 1.5fr; gap:2rem; align-items:stretch; }
.stepper-nav { display:grid; grid-template-rows:repeat(3,1fr); gap:0.6rem; }
.step-btn { position:relative; display:grid; grid-template-columns:auto 1fr; gap:0.9rem; align-items:start; text-align:left; background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); padding:1rem 1.1rem 1.1rem; color:var(--ink); overflow:hidden; align-content:center; transition:border-color 0.2s,box-shadow 0.2s; }
.step-btn:hover { border-color:#c9c4dc; }
.step-btn.is-active { border-color:var(--navy); box-shadow:var(--shadow-hover); }
.step-num { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#eceaf3; color:var(--navy); font-size:0.85rem; font-weight:800; transition:background 0.2s,color 0.2s; }
.step-btn.is-active .step-num { background:var(--navy); color:#fff; }
.step-text b { display:block; font-size:0.98rem; font-weight:800; margin-bottom:0.2rem; }
.step-text small { display:block; font-size:0.84rem; color:var(--muted); line-height:1.5; }
.step-progress { position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--rule); }
.step-progress>i { display:block; height:100%; width:0; background:var(--navy); }
.step-btn.is-playing .step-progress>i { animation:step-fill 5.2s linear forwards; }
@keyframes step-fill {
  from { width:0; }
  to { width:100%; }
}
.stepper-stage .frame { min-height:360px; }
.stepper-stage .frame-body { min-height:318px; }
.step-screen[hidden] { display:none!important; }
.tour { display:grid; grid-template-columns:0.85fr 1.6fr; gap:2.2rem; align-items:start; margin-top:0.5rem; }
.tour-nav { display:grid; gap:0.5rem; }
.tour-btn { position:relative; text-align:left; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:var(--r-panel); padding:0.85rem 1rem; color:#fff; overflow:hidden; transition:background 0.2s,border-color 0.2s; }
.tour-btn:hover { background:rgba(255,255,255,0.1); }
.tour-btn.is-active { background:#fff; color:var(--navy); border-color:#fff; }
.tour-btn b { display:block; font-size:0.95rem; font-weight:800; margin-bottom:0.15rem; }
.tour-btn small { display:block; font-size:0.8rem; opacity:0.78; }
.tour-btn.is-active small { opacity:1; color:var(--muted); }
.tour-btn.is-playing::after { content:""; position:absolute; left:0; bottom:0; height:3px; width:0; background:var(--navy); animation:step-fill 6.5s linear forwards; }
.tour-stage .frame { min-height:360px; border-radius:var(--r-card); }
.tour-stage .frame-body { min-height:318px; }
.tour-screen[hidden] { display:none!important; }
.tour-stage::before, .tour-stage::after { transition:background 0.4s; }
@keyframes draw-line {
  to { stroke-dashoffset:0; }
}
@keyframes pt-in {
  to { opacity:1; }
}
.mk-dl { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--rule); }
.mk-dl:last-child { border-bottom:0; }
.mk-dl strong { display:block; font-size:0.78rem; color:var(--ink); }
.mk-dl small { display:block; font-size:0.66rem; color:var(--muted); }
.ico-pdf, .ico-csv, .ico-play, .ico-quiz { width:26px; height:26px; border-radius:6px; flex:0 0 26px; display:inline-grid; place-items:center; font-size:0.5rem; font-weight:800; letter-spacing:0.04em; }
.ico-pdf { background:#fde8e8; color:#b42318; }
.ico-csv { background:#e6f4ea; color:#1e7a3a; }
.ico-pdf::after { content:"PDF"; }
.ico-csv::after { content:"CSV"; }
.ico-quiz { background:var(--amber); color:#7a5a00; }
.ico-quiz::after { content:"?"; font-size:0.8rem; }
.mk-cal { background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-panel); padding:10px; }
.mk-cal-head, .mk-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.mk-cal-head span { font-size:0.58rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--muted); font-weight:700; text-align:center; padding-bottom:4px; }
.mk-cal-grid i { font-style:normal; font-size:0.7rem; text-align:center; padding:7px 0; border-radius:6px; color:var(--ink); background:var(--bg); }
.mk-cal-grid i.off { background:transparent; }
.mk-cal-grid i.sim { background:var(--yellow); font-weight:700; }
.modules button { width:100%; display:flex; align-items:baseline; gap:0.75rem; text-align:left; background:transparent; border:0; border-bottom:1px solid var(--rule); border-left:3px solid transparent; padding:0.55rem 0.6rem; font-size:0.95rem; font-weight:600; color:var(--ink); transition:background 0.15s,border-color 0.15s; }
.modules button:last-child { border-bottom:0; }
.modules button:hover { background:#f7f6fb; }
.modules button.is-active { border-left-color:var(--navy); background:#f4f2fa; }
.modules .pill { margin-left:auto; font-size:0.66rem; }
@keyframes chip-pop {
  from { opacity:0; transform:scale(0.9); }
  to { opacity:1; transform:none; }
}
.map-diagram { width:100%; height:auto; display:block; }
.map-diagram .node rect { fill:var(--card); stroke:var(--hairline); stroke-width:1.5; }
.map-diagram .node.out rect { stroke:var(--navy); }
.map-diagram .t1 { font-family:var(--font); font-size:14px; font-weight:700; fill:var(--ink); }
.map-diagram .t2 { font-family:var(--font); font-size:11.5px; fill:var(--muted); }
.map-diagram .link { fill:none; stroke:var(--navy); stroke-width:1.8; stroke-dasharray:220; stroke-dashoffset:220; opacity:0.85; }
.revealed .map-diagram .link { animation:draw-link 0.9s var(--ease-std) forwards; }
.revealed .map-diagram .l1 { animation-delay:0.3s; }
.revealed .map-diagram .l2 { animation-delay:0.5s; }
.revealed .map-diagram .l3 { animation-delay:0.7s; }
.revealed .map-diagram .l4 { animation-delay:0.9s; }
@keyframes draw-link {
  to { stroke-dashoffset:0; }
}
.map-diagram .node { opacity:0; }
.revealed .map-diagram .node { animation:mk-in 0.4s ease-out both; }
.revealed .map-diagram .n1 { animation-delay:0s; }
.revealed .map-diagram .n2 { animation-delay:0.08s; }
.revealed .map-diagram .n3 { animation-delay:0.16s; }
.revealed .map-diagram .o1 { animation-delay:1s; }
.revealed .map-diagram .o2 { animation-delay:1.08s; }
.revealed .map-diagram .o3 { animation-delay:1.16s; }
.hero .frame { font-size:0.78rem; }
@media (prefers-reduced-motion:reduce) {
  .mk-track>b { transition:none; }
  .a1, .a2, .a3, .a4, .a5, .a6, .mk-table .r1, .mk-table .r2, .mk-table .r3, .mk-table .r4, .mk-table .r5, .mk-row.r1, .mk-row.r2, .mk-row.r3, .mk-row.r4, .mk-row.r5, .mk-dl.r1, .mk-dl.r2, .mk-dl.r3, .map-diagram .node, .mk-chart .pt { opacity:1; animation:none!important; }
  .mk-chart .line, .map-diagram .link { stroke-dashoffset:0; animation:none!important; }
  .step-btn.is-playing .step-progress>i, .tour-btn.is-playing::after { animation:none; width:0; }
}
@media (max-width:768px) {
  .stepper, .tour { grid-template-columns:1fr; }
  .stepper-nav { grid-template-columns:1fr; }
  .tour-nav { grid-template-columns:repeat(2,1fr); }
  .stepper-stage .frame, .tour-stage .frame { min-height:0; }
  .stepper-stage .frame-body, .tour-stage .frame-body { min-height:0; }
  .mk-stats { grid-template-columns:repeat(2,1fr); }
  .mk-two { grid-template-columns:1fr; }
  .module-detail .frame { position:static; }
}
@media (max-width:640px) {
  .tour-nav { grid-template-columns:1fr; }
  .frame-body { padding:12px; }
}
.hero h1 { font-size:clamp(2rem,3.3vw,2.7rem); }
.hero h1 .l { display:block; white-space:nowrap; }
@media (max-width:560px) {
  .hero h1 .l { white-space:normal; }
}
.hero::before, .hero::after { content:""; position:absolute; pointer-events:none; width:55vw; aspect-ratio:1; border-radius:50%; filter:blur(10px); }
.hero::before { top:-28%; right:-12%; background:radial-gradient(circle,rgba(62,209,245,0.13),transparent 62%); animation:hero-glow 11s ease-in-out infinite alternate; }
.hero::after { bottom:-45%; left:-18%; background:radial-gradient(circle,rgba(195,250,232,0.09),transparent 60%); animation:hero-glow 13s ease-in-out infinite alternate-reverse; }
@keyframes hero-glow {
  from { transform:translate3d(0,0,0) scale(1); }
  to { transform:translate3d(-3%,4%,0) scale(1.08); }
}
.hero .container { position:relative; z-index:1; }
.faq-grid { display:grid; grid-template-columns:0.8fr 1.6fr; gap:3rem; align-items:start; }
.faq-intro { ; }
.faq-intro p { margin-top:0.8rem; max-width:34ch; }
.faq { max-width:none; margin:0; display:block; border-top:1px solid var(--hairline); }
.faq details { background:none; border:0; border-bottom:1px solid var(--hairline); border-radius:0; box-shadow:none; }
.faq summary { padding:1.15rem 2.6rem 1.15rem 0; font-size:1.02rem; position:relative; transition:color 0.15s; }
.faq summary:hover { color:var(--navy); }
.faq summary::after { content:""; position:absolute; right:4px; top:50%; width:18px; height:18px; margin-top:-9px; flex:none; background:url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ fill=\'none\'\ stroke=\'%2315073B\'\ stroke-width=\'2\'\ stroke-linecap=\'round\'><path\ d=\'M12\ 5v14M5\ 12h14\'/></svg>)center/contain no-repeat; transition:transform 0.28s var(--ease-std); }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq .answer { padding:0 3rem 1.25rem 0; max-width:64ch; }
.faq details[open] .answer { animation:faq-in 0.3s ease both; }
@keyframes faq-in {
  from { opacity:0; transform:translateY(-4px); }
  to { opacity:1; transform:none; }
}
.mk-form { position:relative; }
.mk-cursor { position:absolute; z-index:3; width:20px; height:20px; left:58%; top:46%; opacity:0; pointer-events:none; background:url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'><path\ d=\'M5\ 3l14\ 8-6.5\ 1.5L9\ 19z\'\ fill=\'%231a2332\'\ stroke=\'white\'\ stroke-width=\'1.4\'/></svg>)center/contain no-repeat; filter:drop-shadow(0 2px 4px rgba(0,0,0,0.25)); }
.is-active .mk-cursor { animation:cursor-run 1.4s var(--ease-std) 1.15s both; }
@keyframes cursor-run {
  0% { opacity:0; transform:translate(26px,-30px); }
  18% { opacity:1; transform:translate(18px,-18px); }
  62% { opacity:1; transform:translate(-64px,74px); }
  74% { opacity:1; transform:translate(-64px,74px) scale(0.82); }
  86% { opacity:1; transform:translate(-64px,74px) scale(1); }
  100% { opacity:0; transform:translate(-60px,80px); }
}
.is-active .mk-btn.a5 { animation:mk-in 0.38s ease-out 1.65s both,mk-press 0.22s ease 2.12s; }
@keyframes mk-press {
  0% { transform:scale(1); }
  45% { transform:scale(0.965); }
  100% { transform:scale(1); }
}
@media (prefers-reduced-motion:reduce) {
  .hero::before, .hero::after { animation:none; }
  .mk-cursor, .is-active .mk-cursor { animation:none; opacity:0; }
  .faq details[open] .answer { animation:none; }
  [data-parallax] { transform:none!important; }
}
@media (max-width:768px) {
  .faq-grid { grid-template-columns:1fr; gap:1.5rem; }
  .faq-intro { position:static; }
  .hero::before, .hero::after { width:90vw; }
}
.hero-cred { margin:0.45rem 0 0; font-size:0.82rem; color:rgba(255,255,255,0.78); }
.hero-cred a { color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,0.35); }
.hero-cred a:hover { text-decoration-color:#fff; }
.spot-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:3rem; align-items:start; }
.spot-grid h2 { margin-bottom:0.6rem; }
.spot-list { margin:1.4rem 0 1rem; display:grid; gap:0.7rem; }
.spot-list li { display:grid; grid-template-columns:auto 1fr; gap:0.8rem; align-items:start; border:1px solid var(--hairline); border-radius:var(--r-panel); padding:0.85rem 1rem; font-size:0.92rem; color:var(--muted); transition:border-color 0.25s,background 0.25s; }
.spot-tick { width:20px; height:20px; border-radius:50%; margin-top:1px; border:2px dashed #c9cdd6; background:transparent; transition:border-color 0.25s,background 0.25s; }
.spot-list li .spot-open { display:none; color:var(--body); }
.spot-list li.found { border-color:var(--navy); background:#fbfaff; color:var(--body); }
.spot-list li.found .spot-locked { display:none; }
.spot-list li.found .spot-open { display:inline; animation:faq-in 0.3s ease both; }
.spot-list li.found .spot-tick { border:0; background:var(--ok)url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 16\ 16\'><path\ d=\'M4\ 8.5l2.8\ 2.8L12.2\ 5.6\'\ fill=\'none\'\ stroke=\'white\'\ stroke-width=\'2.2\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'/></svg>)center/70%no-repeat; animation:chip-pop 0.32s var(--ease-over) both; }
.spot-count { font-size:0.88rem; color:var(--muted); }
.spot-count strong { color:var(--ink); font-variant-numeric:tabular-nums; }
.spot-reveal { background:none; border:0; padding:0; font:inherit; font-weight:700; color:var(--navy); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(21,7,59,0.35); }
.spot-reveal:hover { text-decoration-color:currentColor; }
.spot-done { margin-top:1.2rem; border-left:3px solid var(--ok); padding:0.9rem 1.1rem; background:#fbfaff; border-radius:0 var(--r-btn) var(--r-btn)0; animation:faq-in 0.35s ease both; }
.spot-done p { font-size:0.95rem; }
.frame-mail .frame-url { color:var(--body); }
.mail { background:var(--card); font-size:0.86rem; color:var(--ink); }
.mail-row { display:grid; grid-template-columns:64px 1fr; gap:10px; padding:8px 16px; border-bottom:1px solid var(--rule); align-items:baseline; }
.mail-k { font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); }
.mail-subject span:last-child { font-weight:700; }
.mail-body { padding:14px 16px 18px; line-height:1.65; color:var(--body); }
.mail-body p { margin-bottom:0.7rem; }
.tell { font:inherit; color:inherit; text-align:inherit; background:none; border:0; padding:1px 3px; margin:-1px -3px; border-radius:4px; cursor:pointer; outline-offset:2px; transition:background 0.15s,box-shadow 0.15s; }
.tell:hover { background:#f4f2fa; box-shadow:inset 0 0 0 1.5px #d8d3e8; }
.tell.found { background:#f7e9e9; box-shadow:inset 0 0 0 1.5px rgba(180,35,24,0.3); color:var(--ink); }
.tell.found::after { content:"!"; display:inline-grid; place-items:center; width:15px; height:15px; margin-left:6px; border-radius:50%; background:#b42318; color:#fff; font-size:0.62rem; font-weight:800; vertical-align:1px; }
.mail-btn { display:inline-block; background:#2a5fc0; color:#fff; font-weight:700; padding:9px 18px; border-radius:6px; margin:2px 0; }
.mail-btn:hover { background:#2554aa; box-shadow:none; }
.mail-btn .mail-href { display:block; font-weight:400; font-size:0.68rem; margin-top:2px; font-variant-numeric:tabular-nums; }
.mail-btn.found { background:#8f2f2f; color:#fff; box-shadow:inset 0 0 0 2px #6f2222; }
.mail-btn-row { margin:0.9rem 0; }
.founder-grid { display:grid; grid-template-columns:1fr 1fr; gap:3.2rem; align-items:center; }
.founder-card { max-width:480px; }
.founder-quote { margin:0.4rem 0 1.2rem; font-family:var(--serif); font-style:italic; font-size:1.18rem; line-height:1.6; color:var(--ink); letter-spacing:0.2px; }
.founder-quote::before { content:"“"; color:var(--navy); font-size:1.6em; line-height:0; vertical-align:-0.35em; margin-right:2px; }
.founder-attrib { display:flex; align-items:center; gap:0.85rem; }
.founder-avatar { width:44px; height:44px; border-radius:50%; flex:0 0 44px; display:grid; place-items:center; background:var(--navy); color:#fff; font-weight:800; font-size:0.95rem; letter-spacing:0.02em; }
.founder-attrib b { display:block; font-size:1rem; color:var(--ink); }
.founder-attrib>div>span { display:block; font-size:0.8rem; color:var(--muted); font-weight:600; }
.founder-copy h2 { margin-bottom:0.8rem; }
.founder-copy .check-list { margin-top:1rem; }
.band-navy .founder-copy p { color:rgba(255,255,255,0.82); }
.band-navy .founder-copy .check-list li { color:rgba(255,255,255,0.82); }
@media (prefers-reduced-motion:reduce) {
  .spot-list li.found .spot-open, .spot-done { animation:none; }
  .spot-list li.found .spot-tick { animation:none; }
}
@media (max-width:900px) {
  .spot-grid, .founder-grid { grid-template-columns:1fr; gap:2rem; }
  .founder-card { max-width:none; }
}
.tell { text-decoration:underline dotted; text-decoration-color:rgba(26,35,50,0.28); text-decoration-thickness:1px; text-underline-offset:3px; }
.tell:hover { text-decoration-color:rgba(26,35,50,0.55); }
.tell.found { text-decoration:none; }
.mail-btn, .mail-btn:hover { text-decoration:none; }
.mail-btn { position:relative; }
.mail-btn.found::after { position:absolute; top:-7px; right:-7px; margin:0; width:18px; height:18px; font-size:0.68rem; box-shadow:0 0 0 2px #fff; }
.mk-cert { position:relative; aspect-ratio:297/210; background:#fff; border:1px solid var(--hairline); border-radius:var(--r-panel); overflow:hidden; box-shadow:var(--shadow-rest); container-type:inline-size; }
.mk-cert-ribbon { position:absolute; left:0; top:0; height:100%; width:auto; display:block; }
.mk-cert-inner { position:absolute; left:22%; right:4%; top:0; bottom:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:1.2cqw; }
.mk-cert-title { font-weight:800; font-size:6.4cqw; letter-spacing:0.16em; color:#1a1a1a; line-height:1; }
.mk-cert-sub { font-size:2.2cqw; letter-spacing:0.5em; text-indent:0.5em; color:#555; }
.mk-cert-rule { width:18%; height:2px; background:#C9A227; margin:0.6cqw 0; }
.mk-cert-award { font-size:2cqw; color:#6b7280; }
.mk-cert-name { font-family:"Times New Roman",Times,serif; font-style:italic; font-weight:700; font-size:5.6cqw; color:#1a1a1a; line-height:1.1; }
.mk-cert-for { font-size:1.9cqw; color:#6b7280; }
.mk-cert-prog { font-size:2.4cqw; font-weight:700; color:#1a1a1a; }
.mk-cert-sigs { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:3cqw; width:100%; margin-top:2.4cqw; }
.mk-cert-sig b { display:block; font-size:2.2cqw; font-weight:700; color:#1a1a1a; padding-bottom:1cqw; }
.mk-cert-sig span { display:block; font-size:1.7cqw; color:#6b7280; border-top:1px solid #d0d0d0; padding-top:1cqw; }
.mk-cert-brand { display:grid; justify-items:center; gap:0.6cqw; }
.mk-cert-brand img { height:5.4cqw; width:auto; }
.mk-cert-brand em { font-style:normal; font-size:1.3cqw; letter-spacing:0.18em; text-transform:uppercase; color:#6f747d; white-space:nowrap; }
.module-detail { display:flex; flex-direction:column; }
.module-detail .frame { flex:1; display:flex; flex-direction:column; }
.module-detail .frame-body { flex:1; display:flex; flex-direction:column; }
.module-detail .footnote { margin:0.9rem 0 0; }
@media (max-width:768px) {
  .stepper-nav { grid-template-rows:none; }
  .mk-cert-inner { left:18%; }
}
.platform-grid { display:grid; grid-template-columns:1.15fr 0.85fr; gap:3.4rem; align-items:center; }
.platform-grid h2 { margin-bottom:0.8rem; }
.platform-grid p+p { margin-top:0.8rem; }
.craft { padding-left:1.5rem; }
.craft-num { margin:0; font-size:clamp(4.5rem,9vw,6.5rem); font-weight:800; line-height:1; color:var(--navy); font-variant-numeric:tabular-nums; letter-spacing:-0.02em; }
.craft-label { margin:0.4rem 0 0; font-size:0.82rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); }
.craft-rule { display:block; width:56px; height:3px; border-radius:2px; background:var(--cyan); margin:1.1rem 0 1.2rem; }
.craft .check-list { margin-top:0; }
@media (max-width:900px) {
  .platform-grid { grid-template-columns:1fr; gap:2rem; }
  .craft { padding-left:0; }
}
html[data-phishing="on"] button[data-feature="phishing"] { display:block; }
html[data-phishing="on"] .mk-bar[data-feature="phishing"] { display:grid; }
@media (min-width:769px) {
  html[data-phishing="on"] .stats { grid-template-columns:repeat(6,1fr); }
}
.mk-cal-grid i.upd { background:var(--lavender); font-weight:700; }
.mk-cal-grid i.mnt { background:var(--blue); font-weight:700; }
html:not([data-phishing="on"]) .mk-cal-grid i.sim { background:var(--bg); font-weight:400; }
.mk-cal-legend { display:flex; flex-wrap:wrap; gap:0.4rem 1.1rem; margin-top:10px; font-size:0.68rem; color:var(--muted); }
.cal-key { display:inline-flex; align-items:center; gap:6px; }
.cal-key b { width:9px; height:9px; border-radius:3px; border:1px solid rgba(26,35,50,0.12); }
.k-sim { background:var(--yellow); }
.k-upd { background:var(--lavender); }
.k-mnt { background:var(--blue); }
html[data-phishing="on"] span.cal-key[data-feature="phishing"] { display:inline-flex; }
html[data-phishing="on"] .mk-audit[data-feature="phishing"] { display:flex; }
@media (min-width:900px) and (min-height:700px) {
  html { scroll-padding-top:64px; }
  .screen { min-height:calc(100vh - 64px); min-height:calc(100svh - 64px); display:flex; flex-direction:column; justify-content:center; }
  .pricing-screen { justify-content:flex-start; }
}
.pricing-screen { padding-bottom:3rem; }
.hero { padding:56px 0 64px; }
.hero-stats { margin-top:2.4rem; padding:1.4rem 1rem 1.2rem; background:var(--card); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.hero-stats .stat { padding:0.4rem 0.5rem; }
.frame-toc { display:flex; flex-direction:column; }
.toc { flex:1; display:flex; flex-direction:column; background:var(--card); }
.toc-head { background:var(--navy); color:#fff; padding:11px 16px 10px; }
.toc-label { display:block; font-size:0.62rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6); }
.toc-name { display:block; margin-top:3px; font-size:1rem; font-weight:800; color:#fff; letter-spacing:-0.01em; }
.toc-meta { display:block; margin-top:2px; font-size:0.68rem; font-weight:600; color:rgba(255,255,255,0.72); }
.toc-desc { margin:4px 0 0; font-size:0.72rem; line-height:1.4; color:rgba(255,255,255,0.8); }
.toc-progress { display:flex; align-items:center; gap:10px; padding:8px 16px; background:#f8f8f8; border-bottom:1px solid var(--hairline); font-size:0.7rem; font-weight:600; color:var(--muted); white-space:nowrap; }
.toc-track { flex:1; height:6px; border-radius:3px; background:#e0e0e0; overflow:hidden; }
.toc-track b { display:block; height:100%; width:0; background:var(--navy); border-radius:3px; transition:width 0.4s ease; }
.toc-list { list-style:none; margin:0; padding:0; flex:1; }
.toc-row { display:flex; align-items:center; gap:12px; padding:8px 16px 8px 13px; border-bottom:1px solid var(--rule); border-left:3px solid transparent; font-size:0.82rem; font-weight:600; color:var(--ink); }
.toc-row.is-started { background:#f4f2fa; border-left-color:var(--navy); }
.toc-row.is-next { color:#5b6472; }
.toc-row.is-next .toc-ico, .toc-row.is-next .toc-dot { opacity:0.6; }
.toc-ico { width:28px; height:28px; border-radius:6px; flex:0 0 28px; display:grid; place-items:center; background:#e6efff; color:var(--navy); }
.toc-ico::after { content:"▶"; font-size:0.6rem; }
.toc-text { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.toc-dot { width:9px; height:9px; border-radius:50%; flex:0 0 9px; background:#eee; border:1.5px solid #ccc; }
.is-done .toc-dot { background:#C0F0C8; border-color:#4CAF50; }
.is-started .toc-dot { background:#F0E0C0; border-color:#f5a623; }
.toc-foot { margin-top:auto; border-top:1px solid var(--hairline); background:var(--bg); padding:8px 10px; display:grid; gap:5px; }
.toc-row-foot { display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--hairline); border-radius:var(--r-btn); padding:5px 10px; font-size:0.74rem; color:var(--ink); }
.toc-row-foot strong { display:block; font-weight:700; }
.toc-row-foot small { display:block; font-size:0.66rem; font-weight:600; color:var(--muted); }
.toc-row-foot .ico-quiz, .toc-row-foot .ico-pdf { background:#e6efff; color:var(--navy); }
@media (prefers-reduced-motion:reduce) {
  .toc-track b { transition:none; }
}
#curriculum.screen { padding:44px 0 48px; }
#curriculum .section-head { margin-bottom:1.25rem; }
.modules button { padding:0.5rem 0.6rem; }
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-700-latin.v1.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/archivo-900-latin.v1.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-500-latin.v1.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo Fallback";src:local("Arial"),local("ArialMT");ascent-override:88.9575%;descent-override:21.2769%;line-gap-override:0%;size-adjust:98.6988%}
@font-face{font-family:"Archivo Black Fallback";src:local("Arial"),local("ArialMT");ascent-override:70.7799%;descent-override:16.9291%;line-gap-override:0%;size-adjust:124.0464%}
@font-face{font-family:"Geist Mono Fallback";src:local("Courier New"),local("CourierNewPSMT");ascent-override:100.5164%;descent-override:29.5048%;size-adjust:99.9837%}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600-latin.v1.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces Fallback";src:local("Georgia");ascent-override:89.9883%;descent-override:23.4632%;line-gap-override:0%;size-adjust:108.6808%}
:root { --display: "Archivo", "Archivo Black Fallback", Arial, sans-serif; --display-bold: "Archivo", "Archivo Fallback", Arial, sans-serif; --mono: "Geist Mono", "Geist Mono Fallback", "Courier New", ui-monospace, monospace; --warm: "Fraunces", "Fraunces Fallback", Georgia, serif; }
html[data-motion="full"] { scroll-behavior:auto; }
html.lenis, html.lenis body { height:auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow:clip; }
.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch] { overscroll-behavior:contain; }
.lenis.lenis-smooth iframe { pointer-events:none; }
.page-hero h1, .prose h1, .pricing-band h1 { font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(2.2rem,4.4vw,3.9rem); line-height:0.98; letter-spacing:-0.02em; margin:0.2rem 0 1rem; }
.pricing-band h1 { max-width:18ch; margin-left:auto; margin-right:auto; }
.pricing-band .section-head>p { color:rgba(255,255,255,0.8); }
.prose h3, .principles .card h3, .contact-grid .card h3, .contact-wide h3, .contact-cta h3, .note-panel h3 { font-family:var(--display-bold); font-weight:700; }
.principles .card, .contact-grid .card, .contact-wide, .callout, .card-icon, .contact-cta, .interval, .interval button, .seat-btn, .seat-input, .presets button { border-radius:0; }
.title-block .footer-bottom:first-child { border-top:1px solid var(--ink-hair); }
.pill { background:var(--blue); }
.chip { border-radius:0; }
/* ===== from index-scenes.css ===== */
.hero h1 { font-family:var(--display); font-weight:900; text-transform:uppercase; letter-spacing:-0.01em; }
.eyebrow { font-family:var(--mono); font-weight:500; letter-spacing:0.1em; }
:root { --paper-dot: rgba(21, 7, 59, 0.10); --ink-hair: rgba(21, 7, 59, 0.14); --aqua: #3ED1F5; --aqua-soft: rgba(62, 209, 245, 0.16); }
.sheet { background-color:#fff; background-image:radial-gradient(var(--paper-dot) 1px,transparent 1.2px); background-size:24px 24px; background-position:12px 12px; }
.stamp { font-family:var(--mono); font-weight:500; font-size:0.7rem; line-height:1.4; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); }
.stamp::before { content:"[ "; opacity:0.55; }
.stamp::after { content:" ]"; opacity:0.55; }
.stamp-row { display:flex; flex-wrap:wrap; gap:0.35rem 1.1rem; margin:0 0 1.1rem; }
.stamp-aqua { color:var(--navy); background:var(--aqua); padding:2px 8px; border-radius:3px; }
.stamp-aqua::before, .stamp-aqua::after { content:none; }
html[data-phishing="on"] .stamp-row .stamp[data-feature="phishing"] { display:inline; }
.hero { color:var(--body); padding:40px 0 36px; }
.hero::before, .hero::after { display:none; }
.hero-grid { grid-template-columns:1.05fr 0.95fr; gap:3.2rem; align-items:center; }
/* The mantra in the warm serif, sentence case; one phrase per line. */
.hero h1 { font-family:var(--warm); font-weight:600; text-transform:none; font-size:clamp(1.9rem,2.8vw,2.55rem); line-height:1.08; letter-spacing:-0.012em; color:var(--ink); margin:0.1rem 0 1.1rem; }
.hero h1 .l { display:block; white-space:nowrap; }   /* one phrase per line; wraps again under 900px (breakpoints). No overflow clip: the serif has descenders */
.hero h1 .l-in { display:block; }
.hero .lead { color:var(--body); font-size:1.02rem; max-width:50ch; }
.hero .hero-cta { margin:1.3rem 0 0.9rem; }
.hero-trust { color:var(--muted); margin-top:1.1rem; }
.hero .stamp { font-size:0.64rem; }
.hero .stamp-row { gap:0.3rem 0.9rem; }
.hero-cred { color:var(--muted); margin-top:0.45rem; }
.hero .btn-ghost { background:transparent; color:var(--navy); border:1.5px solid var(--navy); }
.hero .btn-ghost:hover { background:var(--navy); color:#fff; }
.hero-stats { margin-top:1.9rem; padding:0; background:#fff; border:1px solid var(--ink-hair); border-radius:0; box-shadow:none; }
.hero-stats .stats { gap:0; }
.hero-stats .stat { padding:0.8rem 0.6rem 0.7rem; border-right:1px solid var(--ink-hair); }
.hero-stats .stat:last-child { border-right:0; }
.hero-stats .stat .n { font-family:var(--display-bold); font-weight:700; font-size:1.7rem; letter-spacing:-0.01em; color:var(--navy); }
.hero-stats .stat .l { font-family:var(--mono); font-weight:500; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-top:0.35rem; }
.hero-lens { position:relative; }
.lens-area { position:relative; aspect-ratio:5/4; max-width:520px; margin:0 auto; border:1px solid var(--ink-hair); background:#fff; box-shadow:0 24px 60px -24px rgba(21,7,59,0.35); touch-action:none; user-select:none; --lx: 50%; --ly: 50%; --lr: 0px; }
.inbox { position:absolute; inset:0; display:flex; flex-direction:column; font-size:0.76rem; color:var(--ink); overflow:hidden; }
.inbox-bar { display:flex; align-items:center; gap:6px; padding:9px 12px; background:#f1f2f5; border-bottom:1px solid var(--hairline); }
.inbox-bar>i { width:9px; height:9px; border-radius:50%; background:#d4d6dc; }
.inbox-bar .frame-url { margin-left:8px; flex:1; }
.inbox-body { display:grid; grid-template-columns:38% 1fr; flex:1; min-height:0; }
.inbox-list { list-style:none; margin:0; padding:0; border-right:1px solid var(--hairline); background:#fafafc; }
.inbox-list li { padding:10px 12px; border-bottom:1px solid var(--rule); }
.inbox-list li b { display:block; font-size:0.74rem; color:var(--ink); }
.inbox-list li span { display:block; font-size:0.68rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.inbox-list li.is-open { background:#fff; box-shadow:inset 3px 0 0 var(--navy); }
.inbox-msg { padding:14px 16px; line-height:1.55; color:var(--body); position:relative; }
.inbox-msg p { margin:0 0 0.6rem; }
.inbox-from b { color:var(--ink); }
.inbox-addr { color:var(--muted); font-size:0.7rem; }
.inbox-subj { font-weight:700; color:var(--ink); }
.inbox-btn { display:inline-block; background:#2f6fdb; color:#fff; font-weight:700; padding:7px 14px; border-radius:6px; }
.inbox-btn small { display:block; font-weight:400; font-size:0.64rem; opacity:0.85; font-variant-numeric:tabular-nums; }
.inbox-sig { color:var(--muted); }
.lens-reveal { background-color:#fff; background-image:radial-gradient(var(--paper-dot) 1px,transparent 1.2px); background-size:16px 16px; clip-path:circle(var(--lr) at var(--lx) var(--ly)); }
.lens-reveal .inbox-bar { background:var(--navy); border-bottom-color:var(--navy); }
.lens-reveal .inbox-bar>i { background:rgba(255,255,255,0.35); }
.lens-reveal .inbox-list { background:#f7f9fc; }
.lens-reveal .is-hit { background:var(--aqua-soft); box-shadow:0 0 0 1.5px var(--aqua); border-radius:3px; }
.lens-reveal .inbox-btn.is-hit { background:var(--navy); box-shadow:0 0 0 2px var(--aqua); }
.lens-base .mark { visibility:hidden; }
.inbox .mark, .lens-reveal .mark { display:inline-flex; align-items:center; gap:8px; margin:-2px 0 8px; font-family:var(--mono); font-style:normal; font-weight:500; font-size:0.62rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--navy); }
.lens-reveal .mark b { display:inline-grid; place-items:center; width:22px; height:16px; background:var(--aqua); color:var(--navy); font-weight:700; font-size:0.6rem; }
.lens-area.is-revealed .lens-reveal { clip-path:circle(150%at 50% 50%); transition:clip-path 0.6s cubic-bezier(0.22,1,0.36,1); }
html:not([data-motion]) .lens-reveal { clip-path:none; }
.lens-hint { position:absolute; left:12px; bottom:10px; margin:0; color:var(--navy); background:#fff; padding:2px 6px; pointer-events:none; }
html:not([data-motion="full"]) .lens-hint { display:none; }
.lens-area.is-revealed .lens-hint, .lens-area.is-hot .lens-hint { opacity:0; transition:opacity 0.3s; }
.lens-toggle { display:inline-block; margin:0.9rem auto 0; font:inherit; font-size:0.82rem; font-weight:700; background:none; border:0; padding:0; color:var(--navy); cursor:pointer; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(21,7,59,0.35); }
.hero-lens { text-align:center; }
.lens-toggle:hover { text-decoration-color:currentColor; }
.preloader { display:none; }
html[data-preload="1"] .preloader { display:grid; place-items:center; position:fixed; inset:0; z-index:120; background:#fff; animation:preloader-safety 0.5s ease 4s forwards; }
@keyframes preloader-safety {
  to { opacity:0; visibility:hidden; }
}
.preloader-inner { display:grid; justify-items:center; gap:0.9rem; }
.preloader-inner .stamp { margin:0; color:var(--navy); }
.preloader-n { font-variant-numeric:tabular-nums; }
.preloader-bar { display:block; width:160px; height:2px; background:var(--ink-hair); overflow:hidden; }
.preloader-bar b { display:block; height:100%; width:0; background:var(--navy); }
.cursor { display:none; }
html[data-cursor="custom"] .cursor { display:block; position:fixed; left:0; top:0; z-index:200; pointer-events:none; mix-blend-mode:difference; color:#fff; }
html[data-cursor="custom"] body, html[data-cursor="custom"] body * { cursor:none !important; }
html[data-cursor="custom"] input, html[data-cursor="custom"] textarea, html[data-cursor="custom"] select { cursor:auto !important; }
.cursor-dot, .cursor-brk { position:absolute; left:0; top:0; transform:translate(-50%,-50%); }
.cursor-dot { width:7px; height:7px; border-radius:50%; background:currentColor; transition:width 0.18s, height 0.18s; }
/* Clickable surfaces: the file grammar in place of the hand - a pair of brackets closes around the dot. */
.cursor-brk { width:24px; height:16px; border-left:1.5px solid currentColor; border-right:1.5px solid currentColor; opacity:0; transform:translate(-50%,-50%) scale(0.6); transition:opacity 0.16s, transform 0.2s var(--ease-std), width 0.2s var(--ease-std); }
.cursor.is-link .cursor-brk { opacity:1; transform:translate(-50%,-50%) scale(1); }
.cursor.is-link .cursor-dot { width:5px; height:5px; }
.cursor.is-drag .cursor-brk { opacity:1; transform:translate(-50%,-50%) scale(1); width:40px; height:20px; border-style:dashed; }
.cursor.is-hidden { opacity:0; }
@media (max-width:900px) {
  .hero-grid { grid-template-columns:1fr; }
  .hero-stats .stat { border-right:0; border-bottom:1px solid var(--ink-hair); }
}
@media (prefers-reduced-motion:reduce) {
  .lens-area.is-revealed .lens-reveal { transition:none; }
}
.inter { text-align:center; }
.inter-inner { display:grid; justify-items:center; gap:0.6rem; }
/* Experiment 1b: the interstitial in the same warm serif as the closing line. */
.inter h2 { font-family:var(--warm); font-weight:600; text-transform:none; font-size:clamp(2.6rem,5vw,4.4rem); line-height:1.06; letter-spacing:-0.015em; color:var(--ink); margin:0.2rem 0 0.4rem; }
.inter .lead { max-width:40ch; color:var(--muted); }
.tell.found { background:var(--aqua-soft); box-shadow:inset 0 0 0 1.5px var(--aqua); color:var(--ink); }
.tell.found::after { content:"0"attr(data-tell); font-family:var(--mono); font-size:0.6rem; font-weight:700; letter-spacing:0.04em; width:auto; height:15px; padding:0 5px; border-radius:2px; background:var(--aqua); color:var(--navy); }
.mail-btn.found { background:var(--navy); color:#fff; box-shadow:inset 0 0 0 2px var(--aqua); }
.spot-list li.found { border-color:var(--aqua); background:#fff; }
.spot-list li.found .spot-tick { background-color:var(--navy); }
.spot-done { border-left-color:var(--aqua); background:#fff; }
.story-copy h2 { font-family:var(--display-bold); font-weight:700; text-transform:uppercase; letter-spacing:-0.01em; }
.story-layer { position:relative; }
html[data-motion="full"] #spot { height:calc(100vh - 64px); min-height:0; overflow:hidden; overflow:clip; padding:0; }
html[data-motion="full"] .story-grid { align-items:center; }
html[data-motion="full"] .story-stage { position:relative; min-height:520px; }
html[data-motion="full"] .story-stage .footnote { position:absolute; left:0; right:0; bottom:-2.6rem; margin:0; }
html[data-motion="full"] .story-layer { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; }
html[data-motion="full"] .story-layer .frame { width:100%; }
.story-line { font-family:var(--warm); font-weight:600; text-transform:none; text-align:center; font-size:clamp(2rem,3.3vw,3rem); line-height:1.08; letter-spacing:-0.012em; color:var(--ink); margin:0; text-wrap:balance; }
html:not([data-motion="full"]) .story-layer:not(.story-mail) { display:none; }
html[data-motion="full"] .story-inter { background-color:#fff; background-image:radial-gradient(var(--paper-dot) 1px,transparent 1.2px); background-size:24px 24px; border:1px solid var(--ink-hair); padding:2rem; align-items:center; }
html[data-motion="full"] .story-inter .story-line { max-width:14ch; }
/* Full mode: the payoff waits for its beat, then takes the tells' place so the column never overflows the pin. */
html[data-motion="full"] #spot:not(.is-payoff) .spot-done { display:none; }
html[data-motion="full"] #spot.is-payoff .spot-list, html[data-motion="full"] #spot.is-payoff .spot-count { display:none; }
html[data-motion="full"] #spot.is-payoff .spot-done { display:block; animation:faq-in 0.4s ease both; }
.loop-head { max-width:780px; margin-bottom:1.6rem; }
.loop-head h2 { font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(2rem,3.6vw,3.2rem); letter-spacing:-0.015em; line-height:1; }
.loop .stamp { color:rgba(255,255,255,0.72); }
.tour-nav { counter-reset:step; }
.tour-btn { position:relative; padding-left:3.4rem; }
.tour-btn::before { counter-increment:step; content:"0"counter(step); position:absolute; left:1rem; top:1rem; font-family:var(--mono); font-weight:500; font-size:0.72rem; letter-spacing:0.08em; color:var(--aqua); }
.tour-btn.is-active::before { color:var(--navy); }
.tour-btn b { font-family:var(--display-bold); font-weight:700; text-transform:uppercase; letter-spacing:0.01em; }
.tour-toc { border:1px solid var(--hairline); border-radius:var(--r-panel); overflow:hidden; }
.tour-toc .toc-track b { width:40%; }
.tour-toc .toc-row { padding:7px 16px 7px 13px; }
.tour-toc .toc-head { padding:10px 16px 9px; }
html[data-motion="full"] #product { height:calc(100vh - 64px); min-height:0; overflow:hidden; overflow:clip; padding:0; }
html[data-motion="full"] .loop-head { margin-bottom:1.2rem; }
html[data-motion="full"] .tour-stage .frame-body { position:relative; height:500px; }
html[data-motion="full"] .tour-screen { position:absolute; inset:16px 18px 18px; }
html[data-motion="full"] .tour-btn.is-playing::after { display:none; }
.band-navy .frame strong, .band-navy .tour-toc strong { color:var(--ink); }
.section-head h2, .founder-copy h2, .story-copy h2, .faq-grid h2, .evidence h2 { font-family:var(--display-bold); font-weight:700; text-transform:uppercase; font-size:clamp(1.7rem,2.6vw,2.4rem); line-height:1.02; letter-spacing:-0.01em; }
.section-head .stamp-row, .faq-grid .stamp-row, .evidence .stamp-row, .founder-copy .stamp-row, .card-body .stamp-row { margin-bottom:0.9rem; }
.section-head.center .stamp-row { justify-content:center; }
.band-navy .stamp { color:rgba(255,255,255,0.72); }
.band-navy .stamp::before, .band-navy .stamp::after { opacity:0.45; }
/* Experiment 1: the closing line in a warm serif, sentence case, against the grotesque everywhere else. */
.cta-band h2 { font-family:var(--warm); font-weight:600; text-transform:none; font-size:clamp(2.1rem,3.6vw,3.2rem); line-height:1.08; letter-spacing:-0.012em; max-width:20ch; margin:0 auto 1rem; text-wrap:balance; }
.cta-band .hero-trust { color:rgba(255,255,255,0.72); }
.card, .frame, .btn, .toc-row-foot, .mk-panel, .mk-cert, .spot-list li, .note-panel, .contact-card, .step-btn, .tour-btn, .layered::before, .layered::after, .layered .card-body, .price-card .card-body, .hero-stats, .lens-area, .band-box, .compare-table, .faq details, .inbox-btn, .mail-btn, .tell, .pill { border-radius:0; }
.card, .step-btn { border-color:var(--ink-hair); }
.sheet .card { background:#fff; }
.craft-num { font-family:var(--display); font-weight:900; }
.craft-label { font-family:var(--mono); }
.footnote { font-family:var(--mono); font-size:0.66rem; letter-spacing:0.04em; text-transform:uppercase; }
.founder-card .card-body { border:1px solid var(--ink-hair); }
.founder-quote { font-size:1.08rem; }
.title-block { padding:0 0 2.4rem; border-top:0; }
.title-block .footer-grid { gap:0; border:1px solid var(--ink-hair); }
.title-block .footer-grid>div { padding:1.4rem 1.2rem 1.5rem; border-right:1px solid var(--ink-hair); }
.title-block .footer-grid>div:last-child { border-right:0; }
.title-block h3 { font-family:var(--mono); font-weight:500; font-size:0.64rem; letter-spacing:0.1em; margin-bottom:0.8rem; }
.title-block h3::before { content:"[ "; opacity:0.5; }
.title-block h3::after { content:" ]"; opacity:0.5; }
.title-block .footer-bottom { margin-top:0; padding:0.8rem 1.2rem; border:1px solid var(--ink-hair); border-top:0; font-family:var(--mono); font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; }
@media (max-width:900px) {
  .title-block .footer-grid>div { border-right:0; border-bottom:1px solid var(--ink-hair); }
}
.platform-grid h2 { font-family:var(--display-bold); font-weight:700; text-transform:uppercase; font-size:clamp(1.7rem,2.6vw,2.4rem); line-height:1.02; letter-spacing:-0.01em; }
