
/* ============================================================
   DESIGN TOKENS — shared A. Silva system
   ============================================================ */
:root {
  --navy:#0a0e27; --card:#1a1f3a;
  --blue:#0066FF; --sky:#00BFFF; --gold:#FFD700; --green:#34D399; --violet:#A78BFA; --red:#F87171;
  --text:#ffffff; --text-2:#e0e6ed; --text-3:rgba(224,230,237,.62);
  --glass:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  --glass-strong:linear-gradient(135deg, rgba(10,20,60,.62), rgba(10,14,39,.78));
  --line:rgba(255,255,255,.13); --line-gold:rgba(255,215,0,.28);
  --radius:14px;
  --font-display:'Montserrat',system-ui,sans-serif; --font-body:'Poppins',system-ui,sans-serif;
  --font-cond:'Roboto Condensed',system-ui,sans-serif; --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --shadow-1:0 8px 32px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.16);
  --shadow-2:0 18px 48px rgba(0,0,0,.55), 0 6px 18px rgba(0,102,255,.25);
  --ease:cubic-bezier(.22,.8,.28,1);
  /* accessibility-adjustable */
  --a11y-scale:1;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body {
  font-family:var(--font-body); font-weight:400; line-height:1.65; font-size:calc(1rem * var(--a11y-scale)); color:var(--text);
  background:
    radial-gradient(1200px 600px at 85% -5%, rgba(0,102,255,.20), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(0,191,255,.10), transparent 55%),
    linear-gradient(160deg, #0a0e27 0%, #0b1030 48%, #070b1d 100%);
  background-attachment:fixed; min-height:100vh; overflow-x:hidden;
}
body::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none; background:url('assets/logo-512.png') center/ min(78vw,560px) no-repeat; opacity:.045; }
main, header, footer { position:relative; z-index:1; }
img { max-width:100%; display:block; }
h1,h2,h3,h4 { font-family:var(--font-display); line-height:1.15; letter-spacing:-.01em; }
a { color:var(--sky); }
button { font-family:inherit; }
::selection { background:rgba(255,215,0,.35); color:#fff; }
::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(100,140,200,.35); border-radius:6px; }
:focus-visible { outline:3px solid var(--gold); outline-offset:2px; border-radius:4px; }
.skip-link { position:absolute; top:-48px; left:8px; z-index:12000; background:var(--gold); color:#0a0e27; font-family:var(--font-display); font-weight:700; padding:.6rem 1.1rem; border-radius:0 0 10px 10px; text-decoration:none; transition:top .25s; }
.skip-link:focus { top:0; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.wrap { width:100%; max-width:1180px; margin:0 auto; padding:0 clamp(1rem,4vw,2.5rem); }
.section { padding:clamp(3rem,7vw,5rem) 0; position:relative; }
.section-alt { background:linear-gradient(180deg, rgba(13,18,36,.55), rgba(13,18,36,.15)); border-block:1px solid rgba(255,255,255,.05); }
.kicker { font-family:var(--font-cond); font-size:.8rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:.9rem; display:flex; align-items:center; gap:.7rem; justify-content:center; }
.kicker::before,.kicker::after { content:''; height:1px; width:34px; background:linear-gradient(90deg,transparent,var(--gold)); }
.kicker::after { transform:scaleX(-1); }
.section-title { font-size:clamp(1.7rem,4.6vw,2.5rem); font-weight:800; text-align:center; margin-bottom:.9rem; }
.grad-text, .section-title .hl { background:linear-gradient(92deg, var(--sky) 0%, var(--blue) 45%, var(--gold) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.section-sub { text-align:center; color:var(--text-3); max-width:760px; margin:0 auto clamp(2rem,5vw,3rem); font-weight:300; }

.glass { background:var(--glass); border:1px solid var(--line); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%); box-shadow:var(--shadow-1); }
.glass-strong { background:var(--glass-strong); border:1px solid var(--line); backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%); box-shadow:var(--shadow-1); }
.glass-gold { background:linear-gradient(135deg, rgba(255,215,0,.14), rgba(255,215,0,.04)); border:1px solid var(--line-gold); backdrop-filter:blur(14px); }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; font-family:var(--font-display); font-weight:700; font-size:.92rem; letter-spacing:.03em; padding:.85rem 1.7rem; border-radius:999px; border:2px solid transparent; cursor:pointer; text-decoration:none; transition:transform .25s var(--ease), box-shadow .25s, background .25s, color .25s; min-height:48px; }
.btn svg { width:17px; height:17px; flex:none; }
.btn-primary { background:linear-gradient(135deg, var(--blue), var(--sky)); color:#fff; box-shadow:0 8px 24px rgba(0,102,255,.35); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,191,255,.45); }
.btn-gold { background:transparent; color:var(--gold); border-color:var(--gold); }
.btn-gold:hover { background:var(--gold); color:#0a0e27; transform:translateY(-3px); box-shadow:0 12px 30px rgba(255,215,0,.35); }
.btn-ghost { background:rgba(255,255,255,.06); color:var(--text); border-color:var(--line); }
.btn-ghost:hover { background:rgba(255,255,255,.12); transform:translateY(-2px); }
.btn-sm { padding:.5rem 1.05rem; font-size:.8rem; min-height:40px; }

/* ============ HEADER / NAV (shared) ============ */
.site-header { position:sticky; top:0; z-index:1000; background:rgba(10,14,39,.86); backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%); border-bottom:1px solid rgba(0,102,255,.45); box-shadow:0 8px 30px rgba(0,0,0,.35); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem clamp(1rem,4vw,2.5rem); max-width:1400px; margin:0 auto; }
.brand { display:flex; align-items:center; gap:.75rem; text-decoration:none; min-width:0; }
.brand img { width:46px; height:46px; border-radius:50%; border:2px solid var(--gold); background:#fff; padding:2px; flex:none; }
.brand-name { font-family:var(--font-display); font-weight:800; font-size:.95rem; letter-spacing:.03em; background:linear-gradient(45deg,var(--sky),var(--blue),var(--gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; white-space:nowrap; }
.brand-sub { font-family:var(--font-cond); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); white-space:nowrap; }
.nav-links { display:none; list-style:none; align-items:center; gap:.3rem; }
.nav-links > li > a, .drop-btn { font-family:var(--font-cond); font-size:.9rem; font-weight:600; letter-spacing:.05em; color:var(--text); text-decoration:none; padding:.55rem .8rem; border-radius:8px; display:inline-flex; align-items:center; gap:.4rem; background:none; border:1px solid transparent; cursor:pointer; transition:.25s; }
.nav-links a:hover, .drop-btn:hover, .drop.open .drop-btn { color:var(--gold); background:rgba(255,215,0,.08); }
.nav-links a[aria-current="page"] { color:var(--gold); background:rgba(255,215,0,.10); }
.drop { position:relative; }
.drop-btn .chev { width:10px; height:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .3s; }
.drop.open .drop-btn .chev { transform:rotate(225deg) translateY(-1px); }
.drop-menu { position:absolute; top:calc(100% + .6rem); left:50%; transform:translate(-50%, -8px); min-width:260px; padding:.6rem; border-radius:14px; opacity:0; visibility:hidden; transition:.28s var(--ease); background:linear-gradient(150deg, rgba(13,18,40,.98), rgba(8,11,28,.98)); border:1px solid var(--line-gold); box-shadow:0 20px 50px rgba(0,0,0,.6); z-index:1001; }
.drop.open .drop-menu { opacity:1; visibility:visible; transform:translate(-50%, 0); }
.drop-head { font-family:var(--font-cond); font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); padding:.45rem .8rem .55rem; border-bottom:1px solid var(--line); margin-bottom:.4rem; }
.drop-item { display:flex; align-items:center; gap:.7rem; padding:.6rem .8rem; border-radius:9px; color:var(--text); text-decoration:none; font-size:.9rem; transition:.2s; }
.drop-item svg { width:16px; height:16px; color:var(--sky); flex:none; }
.drop-item:hover { background:rgba(255,215,0,.12); color:var(--gold); }
.nav-cta { display:none; align-items:center; gap:.6rem; }
.a11y-btn { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:rgba(255,215,0,.10); border:1px solid var(--line-gold); color:var(--gold); cursor:pointer; transition:.25s; }
.a11y-btn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(255,215,0,.25); }
.a11y-btn svg { width:20px; height:20px; }
.menu-btn { display:inline-flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:.55rem; z-index:1102; }
.menu-btn span { width:24px; height:2.5px; background:#fff; border-radius:2px; transition:.3s; }
.menu-btn[aria-expanded="true"] span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.menu-btn[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.menu-btn[aria-expanded="true"] span:nth-child(3) { transform:rotate(-45deg) translate(6px,-6px); }
.overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:1098; opacity:0; visibility:hidden; transition:.3s; }
.overlay.show { opacity:1; visibility:visible; }
.mobile-menu { position:fixed; top:0; right:-105%; width:min(84vw,340px); height:100dvh; z-index:1099; background:linear-gradient(160deg,#0d1430,#070b1d); border-left:1px solid var(--line); padding:1.4rem; transition:right .35s var(--ease); overflow-y:auto; }
.mobile-menu.open { right:0; }
.mobile-menu .mm-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.4rem; }
.mobile-menu .mm-head img { width:52px; height:52px; border-radius:50%; border:2px solid var(--gold); }
.mm-close { background:none; border:none; color:#fff; font-size:1.6rem; cursor:pointer; padding:.4rem; line-height:1; }
.mm-group { margin-bottom:1.1rem; }
.mm-group-title { font-family:var(--font-cond); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); margin-bottom:.5rem; padding-left:.2rem; }
.mm-link { display:flex; align-items:center; gap:.7rem; padding:.68rem .6rem; color:#fff; text-decoration:none; font-size:1rem; border-radius:9px; }
.mm-link svg { width:16px; height:16px; color:var(--sky); }
.mm-link:active, .mm-link:hover, .mm-link[aria-current="page"] { background:rgba(255,255,255,.07); color:var(--gold); }



/* ============ HERO ============ */
.hero { position:relative; padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.5rem,6vw,4rem); }
.hero-grid { display:grid; gap:2.4rem; align-items:center; }
.hero-cover { position:relative; max-width:340px; margin:0 auto; }
.hero-cover .cover-frame { border-radius:16px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(255,215,0,.25), 0 0 46px rgba(255,215,0,.12); transform:rotate(-2deg); transition:transform .4s var(--ease); animation:floatY 6s ease-in-out infinite; }
.hero-cover:hover .cover-frame { transform:rotate(0deg) scale(1.02); }
@keyframes floatY { 0%,100% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(-2deg) translateY(-12px); } }
.hero-cover img { width:100%; height:auto; }
.cover-glow { position:absolute; inset:-14%; z-index:-1; background:radial-gradient(circle, rgba(0,191,255,.22), transparent 65%); filter:blur(10px); }
.hero h1 { font-size:clamp(1.9rem,6vw,3.2rem); font-weight:900; margin-bottom:.5rem; }
.hero h1 .subtitle { display:block; font-size:clamp(1.05rem,3vw,1.5rem); font-weight:700; background:linear-gradient(92deg,var(--sky),var(--gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; margin-top:.35rem; }
.hero .byline { font-family:var(--font-cond); font-size:.95rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem; }
.hero-sub { font-size:clamp(.98rem,2.6vw,1.1rem); font-weight:300; color:var(--text-2); line-height:1.8; max-width:560px; margin-bottom:1.6rem; }
.cta-row { display:flex; flex-wrap:wrap; gap:.8rem; }
.cta-row .btn { flex:1 1 200px; }
.free-badge { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; padding:.55rem 1.1rem; border-radius:999px; background:rgba(52,211,153,.10); border:1px solid rgba(52,211,153,.45); color:var(--green); font-family:var(--font-cond); font-size:.82rem; font-weight:600; letter-spacing:.06em; }
.free-badge svg { width:15px; height:15px; }

/* ============ CASE EQUATION ============ */
.case-card { border-radius:20px; padding:clamp(1.4rem,4vw,2.6rem); }
.case-formula { font-family:var(--font-display); font-weight:800; font-size:clamp(1.3rem,4.6vw,2.2rem); text-align:center; margin:1.2rem 0 1.4rem; color:#fff; }
.case-formula .eq { color:var(--gold); }
.case-pillars { display:grid; gap:.9rem; grid-template-columns:1fr; margin:1.6rem 0; }
.pillar { border-radius:14px; padding:1.1rem 1.2rem; display:flex; gap:1rem; align-items:flex-start; transition:transform .3s var(--ease), border-color .3s; }
.pillar:hover { transform:translateY(-4px); border-color:rgba(0,191,255,.4); }
.pillar .p-letter { width:46px; height:46px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:900; font-size:1.3rem; }
.pillar .p-name { font-family:var(--font-display); font-weight:700; font-size:1rem; color:#fff; margin-bottom:.2rem; }
.pillar .p-op { font-family:var(--font-mono); font-size:.68rem; color:var(--green); letter-spacing:.05em; }
.pillar p { font-size:.86rem; font-weight:300; color:var(--text-2); line-height:1.6; }
.pillar.c .p-letter { background:rgba(0,191,255,.14); border:1px solid var(--sky); color:var(--sky); }
.pillar.a .p-letter { background:rgba(52,211,153,.13); border:1px solid var(--green); color:var(--green); }
.pillar.s .p-letter { background:rgba(167,139,250,.14); border:1px solid var(--violet); color:var(--violet); }
.pillar.e .p-letter { background:rgba(255,215,0,.13); border:1px solid var(--gold); color:var(--gold); }
.case-card p.lead { font-size:.95rem; font-weight:300; color:var(--text-2); line-height:1.85; }
.navigator-cta { text-align:center; margin-top:1.6rem; }

/* ============ WHY / OFFERS ============ */
.offer-grid { display:grid; gap:1.1rem; grid-template-columns:1fr; }
.offer-card { border-radius:var(--radius); padding:1.5rem; position:relative; overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.offer-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:var(--line-gold); }
.offer-num { font-family:var(--font-mono); font-size:.72rem; color:var(--gold); letter-spacing:.12em; margin-bottom:.5rem; }
.offer-card h3 { font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:.5rem; }
.offer-card p { font-size:.89rem; font-weight:300; color:var(--text-2); line-height:1.75; }

/* ============ TOOLS ============ */
.tools-band { text-align:center; }
.tools-icons { display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; margin-top:1.4rem; }
.tool-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1.1rem; border-radius:999px; font-family:var(--font-cond); font-size:.82rem; font-weight:600; letter-spacing:.05em; border:1px solid var(--line); background:rgba(255,255,255,.05); color:var(--text-2); }
.tool-chip svg { width:14px; height:14px; color:var(--sky); }

/* ============ RESILIENT FUTURES (free companion) ============ */
.rf-grid { display:grid; gap:2rem; align-items:center; }
.rf-cover { max-width:300px; margin:0 auto; border-radius:14px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(52,211,153,.3); transform:rotate(2deg); transition:transform .4s var(--ease); }
.rf-cover:hover { transform:rotate(0) scale(1.02); }
.rf-badge { display:inline-flex; align-items:center; gap:.45rem; padding:.3rem .85rem; border-radius:999px; font-family:var(--font-cond); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#06281c; background:linear-gradient(135deg,#0e9f6e,var(--green)); margin-bottom:1rem; }
.rf-content h2 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:800; margin-bottom:.4rem; }
.rf-content .rf-by { font-family:var(--font-cond); font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--green); margin-bottom:1rem; }
.rf-content p { font-size:.93rem; font-weight:300; color:var(--text-2); line-height:1.8; margin-bottom:.9rem; }
.rf-audience { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.2rem; }

/* ============ BLUEPRINT ============ */
.blueprint-card { border-radius:20px; padding:clamp(1.5rem,4vw,2.6rem); text-align:center; }
.blueprint-card h2 { font-size:clamp(1.5rem,4.4vw,2.3rem); font-weight:800; margin-bottom:1rem; }
.blueprint-card p { font-size:.96rem; font-weight:300; color:var(--text-2); line-height:1.85; max-width:820px; margin:0 auto 1rem; }

/* ============ TESTIMONIALS ============ */
.t-grid { display:grid; gap:1.1rem; grid-template-columns:1fr; }
.t-card { border-radius:var(--radius); padding:1.5rem; position:relative; transition:transform .3s var(--ease), box-shadow .3s; }
.t-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-2); }
.t-card .quote-mark { font-family:var(--font-display); font-size:3rem; line-height:1; color:var(--gold); opacity:.85; margin-bottom:.4rem; }
.t-card p { font-size:.92rem; font-weight:300; color:var(--text-2); line-height:1.8; font-style:italic; margin-bottom:1rem; }
.t-card .t-name { font-family:var(--font-display); font-weight:700; font-size:.92rem; color:#fff; }
.t-card .t-role { font-family:var(--font-cond); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sky); }

/* ============ AUTHOR ============ */
.author-grid { display:grid; gap:2rem; align-items:center; }
.author-photo { width:min(240px, 70%); margin:0 auto; border-radius:50%; overflow:hidden; border:4px solid var(--gold); box-shadow:0 16px 44px rgba(0,0,0,.5), 0 0 0 8px rgba(255,215,0,.12); }
.author-content h3 { font-size:1.4rem; font-weight:800; margin-bottom:.2rem; }
.author-content .a-role { font-family:var(--font-cond); font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.author-content p { font-size:.93rem; font-weight:300; color:var(--text-2); line-height:1.8; margin-bottom:.9rem; }

/* ============ PAYMENTS ============ */
.pay-grid { display:grid; gap:1rem; grid-template-columns:1fr; max-width:900px; margin:0 auto; }
.pay-card { border-radius:var(--radius); padding:1.3rem; display:flex; align-items:center; gap:1rem; }
.pay-card .pay-icon { width:48px; height:48px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(0,191,255,.12); border:1px solid rgba(0,191,255,.35); }
.pay-card .pay-icon svg { width:22px; height:22px; color:var(--sky); }
.pay-card h3 { font-size:.98rem; font-weight:700; color:#fff; }
.pay-card p { font-size:.82rem; font-weight:300; color:var(--text-3); }

/* ============ NEWSLETTER ============ */
.news-card { max-width:640px; margin:0 auto; border-radius:20px; padding:clamp(1.5rem,4vw,2.4rem); text-align:center; }
.news-card h2 { font-size:clamp(1.4rem,4vw,1.9rem); font-weight:800; margin-bottom:.6rem; }
.news-card p { font-size:.92rem; font-weight:300; color:var(--text-2); line-height:1.75; margin-bottom:1.3rem; }
.news-form { display:flex; gap:.6rem; flex-wrap:wrap; }
.news-form input { flex:1 1 220px; padding:.85rem 1.1rem; border-radius:999px; color:var(--text); background:rgba(10,16,42,.7); border:1.5px solid var(--line); font-family:var(--font-body); font-size:.94rem; }
.news-form input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(255,215,0,.18); }
.news-status { margin-top:.9rem; font-size:.86rem; min-height:1.4em; }

/* ============ FOOTER (shared) ============ */
.site-footer { background:rgba(6,9,24,.96); border-top:1px solid rgba(0,102,255,.4); padding:3.2rem 0 1.6rem; margin-top:2rem; }
.footer-grid { display:grid; gap:2rem; margin-bottom:2.2rem; }
.footer-brand p { font-size:.86rem; font-weight:300; color:var(--text-3); line-height:1.7; margin-top:.8rem; max-width:340px; }
.footer-col h4 { font-family:var(--font-cond); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:.9rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.45rem; }
.footer-col a { color:var(--text-3); text-decoration:none; font-size:.88rem; transition:.2s; }
.footer-col a:hover { color:var(--sky); padding-left:4px; }
.socials { display:flex; gap:.7rem; margin-top:1.1rem; }
.socials a { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, var(--blue), var(--sky)); transition:transform .3s var(--ease), box-shadow .3s; }
.socials a svg { width:18px; height:18px; fill:#fff; }
.socials a:hover { transform:translateY(-4px) rotate(8deg); box-shadow:0 10px 24px rgba(0,191,255,.45); }
.footer-base { border-top:1px solid rgba(255,255,255,.08); padding-top:1.4rem; display:flex; flex-direction:column; gap:.8rem; align-items:center; text-align:center; }
.footer-base p { font-size:.8rem; color:var(--text-3); font-weight:300; }
.footer-legal a, .linklike { color:var(--text-3); font-size:.8rem; text-decoration:none; background:none; border:none; cursor:pointer; font-family:inherit; padding:0; }
.footer-legal a:hover, .linklike:hover { color:var(--gold); text-decoration:underline; }

/* ============ FLOATING ============ */
.back-to-top { position:fixed; bottom:1.2rem; right:1.2rem; z-index:900; width:48px; height:48px; border-radius:50%; border:none; cursor:pointer; background:linear-gradient(135deg, var(--blue), var(--sky)); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(12px); transition:.3s; box-shadow:0 8px 22px rgba(0,102,255,.4); }
.back-to-top.visible { opacity:1; visibility:visible; transform:none; }
.back-to-top svg { width:20px; height:20px; fill:#fff; }
.toast { position:fixed; top:88px; left:50%; transform:translate(-50%, -16px); z-index:1300; padding:.75rem 1.3rem; border-radius:999px; font-family:var(--font-cond); font-size:.85rem; letter-spacing:.05em; opacity:0; visibility:hidden; transition:.35s var(--ease); white-space:nowrap; color:var(--text); max-width:92vw; }
.toast.show { opacity:1; visibility:visible; transform:translate(-50%, 0); }

/* ============ COOKIE CONSENT (shared) ============ */
.consent-banner { position:fixed; bottom:1rem; left:50%; transform:translate(-50%, 140%); z-index:1150; width:min(680px, calc(100% - 2rem)); border-radius:18px; padding:1.3rem 1.4rem; transition:transform .5s var(--ease); }
.consent-banner.show { transform:translate(-50%, 0); }
.consent-banner h3 { font-size:1rem; font-weight:700; display:flex; align-items:center; gap:.5rem; margin-bottom:.4rem; color:#fff; }
.consent-banner h3 svg { width:18px; height:18px; color:var(--gold); }
.consent-banner p { font-size:.82rem; font-weight:300; color:var(--text-2); line-height:1.6; margin-bottom:.9rem; }
.consent-banner p a { color:var(--sky); }
.consent-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.consent-actions .btn { min-height:42px; padding:.55rem 1.2rem; font-size:.8rem; flex:1 1 140px; }
.consent-prefs { display:none; margin:.9rem 0; padding:.9rem 1rem; border:1px dashed var(--line); border-radius:12px; }
.consent-prefs.open { display:block; }
.pref-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.45rem 0; }
.pref-row + .pref-row { border-top:1px solid rgba(255,255,255,.06); }
.pref-row .pr-name { font-family:var(--font-cond); font-size:.82rem; font-weight:600; letter-spacing:.06em; color:#fff; }
.pref-row .pr-desc { font-size:.72rem; color:var(--text-3); font-weight:300; }
.switch { position:relative; width:46px; height:26px; flex:none; }
.switch input { opacity:0; width:100%; height:100%; position:absolute; margin:0; cursor:pointer; z-index:2; }
.switch .track { position:absolute; inset:0; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid var(--line); transition:.25s; }
.switch .track::after { content:''; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fff; transition:.25s var(--ease); }
.switch input:checked + .track { background:linear-gradient(135deg, var(--blue), var(--sky)); border-color:transparent; }
.switch input:checked + .track::after { transform:translateX(20px); }
.switch input:disabled { cursor:not-allowed; }
.switch input:disabled + .track { background:rgba(255,215,0,.25); border-color:var(--line-gold); }

/* ============ ACCESSIBILITY PANEL ============ */
.a11y-panel { position:fixed; top:50%; right:-105%; transform:translateY(-50%); z-index:1140; width:min(320px, 88vw); border-radius:18px 0 0 18px; padding:1.3rem 1.3rem 1.4rem; transition:right .4s var(--ease); max-height:86dvh; overflow-y:auto; }
.a11y-panel.open { right:0; }
.a11y-panel h2 { font-size:1rem; font-weight:800; display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; color:#fff; }
.a11y-panel h2 svg { width:18px; height:18px; color:var(--gold); }
.a11y-row { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.6rem 0; border-top:1px solid rgba(255,255,255,.06); }
.a11y-row:first-of-type { border-top:none; }
.a11y-row .ar-name { font-family:var(--font-cond); font-size:.85rem; font-weight:600; letter-spacing:.04em; color:#fff; }
.a11y-row .ar-desc { font-size:.72rem; color:var(--text-3); font-weight:300; }
.a11y-fab { position:fixed; bottom:1.2rem; left:1.2rem; z-index:950; width:52px; height:52px; border-radius:50%; border:1px solid var(--line-gold); cursor:pointer; background:linear-gradient(135deg, rgba(10,20,60,.9), rgba(10,14,39,.95)); color:var(--gold); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-1); transition:.3s; }
.a11y-fab:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(255,215,0,.25); }
.a11y-fab svg { width:24px; height:24px; }
.a11y-close { position:absolute; top:.8rem; right:.8rem; background:none; border:none; color:var(--text-3); font-size:1.1rem; cursor:pointer; padding:.3rem; }
/* accessibility modes */
html.a11y-contrast body { background:#000 !important; }
html.a11y-contrast body::before { opacity:.02; }
html.a11y-contrast .glass, html.a11y-contrast .glass-strong, html.a11y-contrast .glass-gold { background:#0a0a0a; border-color:#FFD700; }
html.a11y-contrast p, html.a11y-contrast li, html.a11y-contrast .section-sub { color:#fff !important; }
html.a11y-grayscale body { filter:grayscale(1); }
html.a11y-links a { text-decoration:underline !important; text-underline-offset:3px; }
html.a11y-links .btn, html.a11y-links .drop-item, html.a11y-links .mm-link { text-decoration:underline; }
html.a11y-largecursor, html.a11y-largecursor a, html.a11y-largecursor button { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M6 3 L34 20 L20 23 L15 36 Z' fill='%23FFD700' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") 6 3, auto !important; }

/* ============ REVEAL / RESPONSIVE ============ */
html.js .reveal { opacity:0; transform:translateY(34px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
html.js .reveal.in { opacity:1; transform:none; }
@media (min-width:640px) {
  .case-pillars { grid-template-columns:repeat(2, 1fr); }
  .offer-grid, .t-grid { grid-template-columns:repeat(3, 1fr); }
  .pay-grid { grid-template-columns:repeat(3, 1fr); }
  .cta-row .btn { flex:0 1 auto; }
}
@media (min-width:900px) {
  .nav-links { display:flex; }
  .nav-cta { display:flex; }
  .menu-btn { display:none; }
  .hero-grid { grid-template-columns:.85fr 1.15fr; }
  .rf-grid { grid-template-columns:.8fr 1.2fr; }
  .author-grid { grid-template-columns:.7fr 1.3fr; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr 1fr; }
  .footer-base { flex-direction:row; justify-content:space-between; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  html.js .reveal { opacity:1; transform:none; }
}
@media print {
  .site-header, .site-footer, .back-to-top, .consent-banner, .a11y-fab, .a11y-panel, .cta-row { display:none !important; }
  body { background:#fff; color:#000; }
  body::before { display:none; }
  .glass, .glass-strong, .glass-gold { background:#fff; border:1px solid #999; box-shadow:none; }
  h1,h2,h3,p { color:#000; -webkit-text-fill-color:#000; }
}

\n/* PERSONAL RESILIENCE — SHARED PAGE SYSTEM */\n.page-shell{min-height:100vh}.page-hero{padding:clamp(3.5rem,8vw,6.5rem) 0 3rem}.page-hero .hero-inner{max-width:920px;margin:auto;text-align:center}.page-hero h1{font-size:clamp(2rem,6vw,3.6rem);font-weight:900;margin:.35rem 0 1rem}.page-hero h1 span{display:block;background:linear-gradient(92deg,var(--sky),var(--blue),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.page-hero p{max-width:760px;margin:0 auto;color:var(--text-2);font-weight:300;font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.85}.page-hero .hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.6rem}.content-grid{display:grid;gap:1.15rem}.card{border-radius:18px;padding:clamp(1.25rem,3vw,2rem)}.card h2,.card h3{margin-bottom:.7rem}.card p{color:var(--text-2);font-weight:300;line-height:1.8}.card .muted,.muted{color:var(--text-3)}.icon-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(0,191,255,.10);border:1px solid rgba(0,191,255,.3);color:var(--sky);font-size:1.3rem;margin-bottom:1rem}.card.gold .icon-badge{background:rgba(255,215,0,.10);border-color:var(--line-gold);color:var(--gold)}.card.green .icon-badge{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.35);color:var(--green)}.card.violet .icon-badge{background:rgba(167,139,250,.10);border-color:rgba(167,139,250,.35);color:var(--violet)}.card-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.15rem}.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.3rem}.stat{padding:1rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);text-align:center}.stat strong{display:block;font-family:var(--font-display);font-size:1.15rem;color:var(--gold)}.stat span{font-family:var(--font-cond);font-size:.75rem;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase}.resource-grid{display:grid;gap:1.15rem}.resource-card{position:relative;overflow:hidden;min-height:260px;display:flex;flex-direction:column}.resource-card::after{content:"";position:absolute;right:-45px;bottom:-70px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(0,191,255,.16),transparent 70%);pointer-events:none}.resource-card h2{font-size:1.25rem}.resource-card .resource-label{font-family:var(--font-cond);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.55rem}.resource-card .card-actions{margin-top:auto;padding-top:1.1rem}.book-grid{display:grid;gap:1.5rem;align-items:center}.book-cover{width:min(100%,310px);margin:auto;border-radius:16px;overflow:hidden;box-shadow:0 24px 55px rgba(0,0,0,.55),0 0 0 1px rgba(255,215,0,.2)}.book-cover img{width:100%;height:auto}.feature-list{list-style:none;display:grid;gap:.7rem;margin:1.2rem 0}.feature-list li{display:flex;gap:.7rem;align-items:flex-start;color:var(--text-2);font-size:.92rem}.feature-list li::before{content:"✓";font-family:var(--font-display);font-weight:800;color:var(--green);flex:none}.highlight{border-left:3px solid var(--gold);padding:.9rem 1rem;background:rgba(255,215,0,.06);border-radius:0 12px 12px 0;color:var(--text-2)}.reader-shell{border-radius:20px;overflow:hidden;background:rgba(3,7,22,.72);border:1px solid var(--line);box-shadow:var(--shadow-2)}.reader-bar{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-family:var(--font-cond);font-size:.76rem;letter-spacing:.06em}.reader-status{color:var(--green)}.reader-hint{color:var(--text-3);text-align:right}.reader-frame{background:#060914;padding:clamp(.35rem,1vw,.8rem)}.reader-frame iframe{display:block;width:100%;height:760px;border:0;border-radius:12px;background:#fff}.reader-note{text-align:center;padding:.8rem 1rem;color:var(--text-3);font-size:.82rem}.reader-note a{color:var(--sky)}.faq-list{display:grid;gap:.75rem;max-width:900px;margin:0 auto}.faq-item{overflow:hidden;border-radius:15px}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:transparent;border:0;color:#fff;padding:1.15rem 1.25rem;font-family:var(--font-display);font-size:.98rem;font-weight:700;cursor:pointer}.faq-q:hover{color:var(--gold)}.faq-q .chev{width:10px;height:10px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s}.faq-item.open .faq-q .chev{transform:rotate(225deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}.faq-a>div{overflow:hidden}.faq-a p,.faq-a ul{padding:0 1.25rem;color:var(--text-2);font-weight:300;line-height:1.8}.faq-a ul{padding-bottom:1.1rem;padding-left:2.5rem}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-item.open .faq-a p{padding-bottom:1.15rem}.contact-grid{display:grid;gap:1.2rem}.contact-info{display:grid;gap:.8rem}.contact-method{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--line)}.contact-method:last-child{border-bottom:0}.contact-method .method-icon{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(0,191,255,.10);border:1px solid rgba(0,191,255,.3);color:var(--sky)}.contact-method strong{display:block;color:#fff;font-family:var(--font-display);font-size:.9rem}.contact-method a,.contact-method span{display:block;color:var(--text-2);text-decoration:none;font-size:.92rem;margin-top:.15rem}.contact-method a:hover{color:var(--gold)}.form-grid{display:grid;gap:.85rem}.field{display:grid;gap:.4rem}.field label{font-family:var(--font-cond);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.field input,.field select,.field textarea{width:100%;padding:.9rem 1rem;border-radius:11px;border:1px solid var(--line);background:rgba(0,0,0,.22);color:#fff;font:inherit;outline:none}.field input::placeholder,.field textarea::placeholder{color:rgba(224,230,237,.42)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(0,191,255,.12)}.field textarea{min-height:150px;resize:vertical}.form-grid .full{grid-column:1/-1}.form-status{margin-top:.8rem;color:var(--green);font-size:.84rem;display:none}.postpurchase{background:linear-gradient(135deg,rgba(0,102,255,.15),rgba(255,215,0,.07));border:1px solid rgba(0,191,255,.25)}.welcome-grid{display:grid;gap:1.1rem}.welcome-card{display:flex;flex-direction:column;height:100%}.welcome-card .card-actions{margin-top:auto;padding-top:1.2rem}.cta-band{padding:clamp(2rem,5vw,3.3rem);border-radius:22px;text-align:center;background:linear-gradient(135deg,rgba(0,102,255,.20),rgba(0,191,255,.08) 55%,rgba(255,215,0,.08));border:1px solid rgba(0,191,255,.25);box-shadow:var(--shadow-2)}.cta-band h2{font-size:clamp(1.55rem,4vw,2.25rem);margin-bottom:.65rem}.cta-band p{max-width:700px;margin:0 auto 1.2rem;color:var(--text-2);font-weight:300}.site-footer{border-top:1px solid var(--line);background:rgba(4,7,20,.82);padding:2.3rem 0 5.5rem}.footer-grid{display:grid;gap:1.5rem}.footer-brand{color:var(--text-3);font-size:.82rem;line-height:1.7}.footer-brand strong{display:block;color:#fff;font-family:var(--font-display);font-size:.95rem;margin-bottom:.35rem}.footer-links{display:flex;flex-wrap:wrap;gap:.45rem .9rem}.footer-links a{color:var(--text-3);font-family:var(--font-cond);font-size:.8rem;text-decoration:none}.footer-links a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--line);color:rgba(224,230,237,.42);font-size:.72rem}.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1005;padding:.65rem;background:rgba(7,11,29,.94);border-top:1px solid var(--line-gold);backdrop-filter:blur(16px)}.sticky-cta .btn{width:100%}@media(min-width:640px){.content-grid{grid-template-columns:repeat(2,1fr)}.resource-grid{grid-template-columns:repeat(2,1fr)}.welcome-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:.8fr 1.2fr}.form-grid{grid-template-columns:repeat(2,1fr)}.stat-row{grid-template-columns:repeat(4,1fr)}}@media(min-width:900px){.book-grid{grid-template-columns:.72fr 1.28fr;gap:3rem}.content-grid.three{grid-template-columns:repeat(3,1fr)}.resource-grid{grid-template-columns:repeat(3,1fr)}.welcome-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.2fr 2fr}}@media(max-width:899px){.nav-cta{display:none!important}}@media(max-width:639px){.sticky-cta{display:block}.reader-frame iframe{height:600px}.site-footer{padding-bottom:6rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}