/* CyberAwareHub — pages.css: the complete stylesheet for pricing, about, contact, security
   and 404 (everything shared with the index, plus the sub-page rules; no index scenes).
   Generated from site.css + index-scenes.css by page usage, source order kept. */
/* ===== 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; }
.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-2 { display:grid; grid-template-columns:repeat(2,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); }
.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-trust { color:rgba(255,255,255,0.72); font-size:0.88rem; margin:0; }
.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: #E3C766; }
.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; }
.prose { max-width:760px; }
.prose h1 { font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:0.6rem; }
.prose h2 { font-size:1.35rem; margin:2.2rem 0 0.6rem; }
.prose h3 { font-size:1.05rem; margin:1.6rem 0 0.4rem; }
.prose p, .prose li { color:#444; line-height:1.7; }
.prose ul { list-style:disc; margin:0 0 1rem 1.2rem; }
.prose li { margin-bottom:0.4rem; }
.prose .lead { color:#2c2c2c; margin-bottom:1.5rem; }
.callout { background:#f4f8ff; border-left:3px solid var(--blue); padding:0.85rem 1rem; border-radius:0 var(--r-btn) var(--r-btn)0; margin:1.2rem 0; }
.page-hero { padding:3.4rem 0 3rem; }
.page-hero .lead { color:rgba(255,255,255,0.8); }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin:1.5rem 0; }
.contact-grid .card h3 { font-size:1rem; }
.contact-grid .card a { font-weight:700; word-break:break-all; }
.principles { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin:1.5rem 0; }
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) {
  .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; }
  .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); }
  .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); }
@keyframes mk-in {
  from { opacity:0; transform:translateY(6px); }
  to { opacity:1; transform:none; }
}
@keyframes step-fill {
  from { width:0; }
  to { width:100%; }
}
@keyframes draw-line {
  to { stroke-dashoffset:0; }
}
@keyframes pt-in {
  to { opacity:1; }
}
@keyframes chip-pop {
  from { opacity:0; transform:scale(0.9); }
  to { opacity:1; transform:none; }
}
@keyframes draw-link {
  to { stroke-dashoffset:0; }
}
@keyframes hero-glow {
  from { transform:translate3d(0,0,0) scale(1); }
  to { transform:translate3d(-3%,4%,0) scale(1.08); }
}
.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; }
}
@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); }
}
@keyframes mk-press {
  0% { transform:scale(1); }
  45% { transform:scale(0.965); }
  100% { transform:scale(1); }
}
@media (prefers-reduced-motion:reduce) {
  .faq details[open] .answer { animation:none; }
  [data-parallax] { transform:none!important; }
}
.contact-card { display:flex; flex-direction:column; }
.contact-card p:last-child { margin-top:auto; padding-top:0.6rem; }
.contact-card a { font-weight:700; word-break:break-all; }
.contact-wide h3 { margin-bottom:0.6rem; }
.contact-cta { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--navy); border-color:var(--navy); }
.contact-cta h3, .contact-cta p { color:#fff; }
.contact-cta p { color:rgba(255,255,255,0.8); margin:0; max-width:62ch; }
.contact-cta h3 { margin-bottom:0.35rem; }
.contact-cta .btn { background:#fff; color:var(--navy); flex:0 0 auto; }
.contact-cta .btn:hover { background:var(--teal); color:var(--navy); }
@media (max-width:768px) {
  .contact-cta { flex-direction:column; align-items:flex-start; }
}
html[data-phishing="on"] button[data-feature="phishing"] { display:block; }
@media (min-width:900px) and (min-height:700px) {
  html { scroll-padding-top:64px; }
}
#curriculum .section-head { margin-bottom:1.25rem; }
@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%}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600-italic-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";font-style:italic;src:local("Georgia Italic"),local("Georgia-Italic");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.sheet { color:var(--ink); padding:4.4rem 0 3.4rem; border-bottom:1px solid var(--ink-hair); }
.page-hero.sheet .lead { color:var(--body); max-width:58ch; }
.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; }
.page-hero h1, .prose h1 { max-width:16ch; }
.pricing-band h1 { max-width:18ch; margin-left:auto; margin-right:auto; font-size:clamp(1.6rem,2.4vw,2.2rem); line-height:1.04; letter-spacing:-0.01em; }   /* the section scale the index uses for the same words */
.pricing-band .section-head>p { color:rgba(255,255,255,0.8); }
.prose h2 { font-family:var(--display-bold); font-weight:700; text-transform:uppercase; font-size:clamp(1.45rem,2.2vw,1.9rem); line-height:1.05; letter-spacing:-0.01em; margin:2.6rem 0 0.8rem; }
.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; }
.prose p, .prose li { color:var(--body); }
.principles .card, .contact-grid .card, .contact-wide, .callout, .card-icon, .contact-cta, .interval, .interval button, .seat-btn, .seat-input, .presets button { border-radius:0; }
.principles .card, .contact-grid .card, .contact-wide { box-shadow:none; }
.callout { border:1px solid var(--ink-hair); }
.callout-note { background:#fff; border-left:3px solid var(--aqua); }
.callout-note .stamp-row { margin-bottom:0.5rem; }
.contact-cta .btn:hover { background:var(--aqua); color:var(--navy); }
.title-block .footer-bottom:first-child { border-top:1px solid var(--ink-hair); }
.pill { background:var(--blue); }
.chip { border-radius:0; }
.sheet .card.contact-cta { background:var(--navy); border-color:var(--navy); }
.page-hero .container.narrow { max-width:760px; }
/* ===== from index-scenes.css ===== */
.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; }
html[data-phishing="on"] .stamp-row .stamp[data-feature="phishing"] { display:inline; }
.hero-trust { color:var(--muted); margin-top:1.1rem; }
.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; }
.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; }
.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); }
}
/* The contact greeting: the warm face in its italic, a note rather than a heading. */
.page-hero h1.warm-personal { font-family:var(--warm); font-style:italic; font-weight:600; text-transform:none; font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.05; letter-spacing:-0.01em; max-width:none; }
@media (min-width:900px) { .page-hero h1.warm-personal { white-space:nowrap; } }
