/* ==========================================================================
   Site theme (Sept 2026): brings every supporting page onto the new homepage
   design. Loaded AFTER styles.css. Palette, type, nav, footer, components.
   ========================================================================== */
:root{
  --t-bg:#0c0b09; --t-bg2:#13110e; --t-bg3:#1a1713; --t-ink:#f4efe6; --t-text:#ece6da; --t-soft:#cfc7b8;
  --t-mute:#b8afa0; --t-dim:#9a9184; --t-gold:#c9a46a; --t-gold2:#e2c28c; --t-line:rgba(236,230,218,.12);
  --t-serif:'Cormorant Garamond',Georgia,serif; --t-sans:Manrope,-apple-system,'Segoe UI',sans-serif;
  --t-pad:clamp(20px,5.5vw,80px);
  /* remap the old tokens so any rule still using them lands in the new palette */
  --warm:#c9a46a; --warm-hover:#e2c28c; --serif:'Cormorant Garamond',Georgia,serif; --sans:Manrope,-apple-system,'Segoe UI',sans-serif;
}
html,body{background:var(--t-bg)!important;max-width:100%}
body{color:var(--t-soft);font-family:var(--t-sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,blockquote{font-family:var(--t-serif)!important;font-weight:400;color:var(--t-ink)!important;letter-spacing:-.01em}
h4{font-family:var(--t-sans);color:var(--t-gold)!important;letter-spacing:.24em;text-transform:uppercase;font-size:12px;font-weight:500}
p,li,.sub,.sub-lg,.hero-lead,.article-meta,.credential-line{color:var(--t-mute)!important}
strong,b{color:var(--t-text)!important}
a{color:var(--t-gold)}
::selection{background:rgba(201,164,106,.35);color:#fff}
:focus-visible{outline:2px solid var(--t-gold);outline-offset:3px}

/* sections */
.hero,.aim-hero,.article-hero,.section,.section-sm,.section-gray{background:var(--t-bg)!important}
.section-gray{background:var(--t-bg2)!important}
.section-dark,.cta-block{background:var(--t-bg2)!important;border-top:1px solid rgba(201,164,106,.18);border-bottom:1px solid rgba(201,164,106,.18)}
.section-dark p,.section-dark .sub{color:var(--t-mute)!important}
.hero{padding-top:clamp(110px,14vw,170px)!important}
.hero h1,.article-hero h1{font-size:clamp(44px,6.4vw,92px)!important;line-height:1.02!important}
.hero h1 em,h1 em,h2 em{color:var(--t-gold)!important;font-style:italic}
.article-hero{padding-top:clamp(120px,14vw,170px)!important;border-bottom:1px solid var(--t-line)}
.rule,.rule-dark,hr{border-color:var(--t-line)!important;background:var(--t-line)!important}
.scroll-progress{background:var(--t-gold)!important}

/* cards and blocks */
.pillar,.stat,.insight-item,.faq-item{border-color:var(--t-line)!important;background:transparent!important}
.pillar:hover,.insight-item:hover{background:rgba(201,164,106,.05)!important;border-color:rgba(201,164,106,.6)!important}
.stat-num{font-family:var(--t-serif)!important;color:var(--t-ink)!important}
.stat-label{color:var(--t-dim)!important}
.insight-item h3,.insight-item h4{color:var(--t-ink)!important}
.insight-item::before{background:var(--t-gold)!important}
.faq-item summary h3{color:var(--t-text)!important}
.faq-item summary::after{color:var(--t-gold)!important}
blockquote{border-color:var(--t-gold)!important;font-style:italic}
blockquote cite{color:var(--t-dim)!important}
.text-link{color:var(--t-gold)!important}
.text-link::after{background:var(--t-gold)!important}
sup.cite-ref a{color:var(--t-gold)!important}
aside.citations{border-color:var(--t-line)!important;background:var(--t-bg2)!important}
aside.citations li,aside.citations cite{color:var(--t-dim)!important}
.article-body p,.article-body li{color:var(--t-soft)!important;font-size:18px;line-height:1.8}
.article-body h2,.article-body h3{color:var(--t-ink)!important}
img{filter:none}
.two-col img,.two-col-narrow img{filter:grayscale(1) contrast(1.05)}

/* buttons */
.btn-submit,.cta-link,.view-results-btn,.hero-cta,.nav-cta{background:var(--t-gold)!important;color:var(--t-bg)!important;border:none!important;font-family:var(--t-sans)!important;font-weight:600!important;letter-spacing:.05em}
.btn-submit:hover,.cta-link:hover,.view-results-btn:hover,.hero-cta:hover{background:var(--t-gold2)!important}
.hero-secondary{color:var(--t-mute)!important;border-color:rgba(236,230,218,.25)!important}

/* forms */
.form-group label,label{color:var(--t-soft)!important}
input,textarea,select{background:var(--t-bg2)!important;color:var(--t-text)!important;border:1px solid rgba(236,230,218,.2)!important;border-radius:0}
input::placeholder,textarea::placeholder{color:#7f786c!important}
input:focus,textarea:focus,select:focus{border-color:var(--t-gold)!important;outline:none}

/* ---------- new navigation (replaces the old .nav) ---------- */
.nav:not(.snav){display:none!important}
.snav{position:sticky;top:0;z-index:1000;height:84px;padding:0 var(--t-pad);display:flex;align-items:center;justify-content:space-between;background:rgba(12,11,9,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(236,230,218,.08);font-family:var(--t-sans)}
.snav .logo{display:flex;flex-direction:column;color:var(--t-text);text-decoration:none}
.snav .logo b{font-family:var(--t-serif);font-weight:400;font-size:25px;letter-spacing:.02em;color:var(--t-text)!important}
.snav .logo span{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--t-dim)}
.snav .links{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);font-size:14px;white-space:nowrap}
.snav .links a{color:var(--t-mute);text-decoration:none;transition:color .2s}
.snav .links a:hover,.snav .links a.on{color:var(--t-text)}
.snav .sbtn{background:var(--t-gold);color:var(--t-bg)!important;padding:13px 22px;font-weight:600;font-size:14px;letter-spacing:.04em;white-space:nowrap}
.snav .sbtn:hover{background:var(--t-gold2)}
.smenu{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:1px solid rgba(236,230,218,.25);width:44px;height:44px;cursor:pointer;padding:0;margin-left:auto;margin-right:12px}
.smenu span{display:block;width:18px;height:1.5px;background:var(--t-text);transition:transform .25s,opacity .25s}
.smenu[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.smenu[aria-expanded="true"] span:nth-child(2){opacity:0}
.smenu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.spanel{position:fixed;left:0;right:0;top:84px;max-height:calc(100vh - 84px);overflow-y:auto;box-shadow:0 24px 40px rgba(0,0,0,.55);z-index:999;background:#0c0b09;border-bottom:1px solid rgba(201,164,106,.25);padding:8px var(--t-pad) 20px;display:flex;flex-direction:column;font-family:var(--t-sans)}
.spanel[hidden]{display:none}
.spanel a{color:var(--t-text);font-size:18px;padding:14px 0;border-bottom:1px solid rgba(236,230,218,.08);text-decoration:none}
.spanel a:last-child{border-bottom:0}
.spanel .sbtn{display:none;margin-top:14px;text-align:center;background:var(--t-gold);color:var(--t-bg);padding:16px;font-weight:600}
/* pages with the old fixed nav reserved top space; the new nav is sticky, so remove it */
body > .hero:first-of-type,body > section:first-of-type{margin-top:0}

/* ---------- new footer (replaces the old .footer) ---------- */
.footer:not(.sfoot){display:none!important}
.later{margin:72px var(--t-pad) 64px;display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;align-items:baseline;font-size:15px;color:var(--t-mute);text-align:center;font-family:var(--t-sans)}
.later b{font-family:var(--t-serif);font-weight:400;font-style:italic;font-size:22px;color:var(--t-soft)!important}
.later a{color:var(--t-gold);border-bottom:1px solid rgba(201,164,106,.4);padding:10px 0 1px;text-decoration:none}
.sfoot{padding:44px var(--t-pad);border-top:1px solid rgba(236,230,218,.08);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px;color:var(--t-dim);font-family:var(--t-sans);background:var(--t-bg)}
.sfoot a{color:var(--t-dim);text-decoration:none}
.sfoot a:hover{color:var(--t-text)}

@media (max-width:1024px){.snav .links a:not(.sbtn){display:none}.smenu{display:flex}}
@media (min-width:1025px){.spanel{display:none!important}}
@media (max-width:720px){.snav{height:72px;padding:0 16px}.snav .logo b{font-size:18px}.snav .logo span{display:none}.snav .sbtn{padding:10px 12px;font-size:12px}.spanel{top:72px}.smenu{width:40px;height:40px;margin-right:8px}.later{flex-direction:column;gap:4px}}
@media (max-width:720px){.snav .links .sbtn{display:none}.spanel .sbtn{display:block}.smenu{margin-right:0}}

/* harmonize old dark panels with the new palette */
:root{--dark:#13110e;--charcoal:#1a1713;--black:#0c0b09}
/* page-specific light spots */
.radar-panel{background:var(--t-bg2)!important;border-color:var(--t-line)!important}
.radar-panel [stroke="#333"]{stroke:#9a9184}
.radar-panel [stroke="#E0E0E0"]{stroke:rgba(236,230,218,.18)}
.radar-panel text{fill:#cfc7b8}
.domain-name{color:var(--t-text)!important}
.progress-rail{background:rgba(236,230,218,.12)!important}
.pov-pull{background:var(--t-bg2)!important;color:var(--t-soft)!important;border-color:var(--t-gold)!important}
/* remap the old light grays so page-level styles land dark */
:root{--gray-50:#1a1713;--gray-100:rgba(236,230,218,.1);--gray-200:rgba(236,230,218,.16);--gray-300:#6f685c;--gray-500:#9a9184;--gray-700:#b8afa0;--gray-900:#cfc7b8}
.caveat-block{background:var(--t-bg2)!important}
.cta-link{background:var(--t-gold)!important;color:var(--t-bg)!important}
