/* =====================================================================
   LAW MINDED v2 — Premium Editorial Design System
   Native CSS. Playfair Display (display) + Lora (editorial body) + DM Sans (UI).
   Accent locked to gold; warm-ink neutrals; one radius scale; tinted shadows.
   ===================================================================== */

:root {
  /* Brand accent */
  --gold:#E8A020; --gold-dark:#B07710; --gold-ink:#8A5E07; /* gold-ink = accessible gold for text on light */
  --gold-light:#FBF1DA; --gold-tint:#FCF8EE;
  --ink-on-gold:#231C0E;            /* dark text used on gold fills (AA on gold) */

  /* Neutrals (warm) */
  --dark:#1C1B16;                   /* strongest display ink */
  --charcoal:#34312A; --mid:#56514A; --muted:#8B8475;
  --border:#E7E2D6; --hairline:#EFEBE1;
  --bg:#FBFAF6; --white:#FFFFFF; --card-bg:#FFFFFF; --alt:#F4F1E8;

  /* Fixed dark band (stays dark in both themes) */
  --band:#1E1C16; --on-band:#EFE9DB; --on-band-muted:rgba(239,233,219,.62);

  /* Fonts */
  --hf:'Playfair Display',Georgia,serif;
  --bf:'Lora',Georgia,serif;
  --uf:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;

  /* Radius scale (locked) */
  --r-pill:999px; --r-lg:16px; --r-md:12px; --r-sm:8px;

  /* Tinted shadows */
  --shadow-sm:0 1px 2px rgba(58,46,20,.05), 0 1px 3px rgba(58,46,20,.06);
  --shadow:0 14px 34px -16px rgba(58,46,20,.22);
  --shadow-lg:0 30px 70px -28px rgba(50,40,18,.34);

  /* Centered content column */
  --container:1320px;
  --nav-h:74px;
  --pad-x:max(1.4rem, calc((100% - var(--container)) / 2));
}

[data-theme=dark]{
  --gold:#E8A020; --gold-dark:#D0941E; --gold-ink:#F1B53F;
  --gold-light:#2A2110; --gold-tint:#1F1A0E;
  --ink-on-gold:#231C0E;

  --dark:#F3EFE5; --charcoal:#E3DED2; --mid:#B4AD9E; --muted:#8B8374;
  --border:#34312A; --hairline:#2B2922;
  --bg:#131210; --white:#1D1B16; --card-bg:#201E18; --alt:#1A1813;

  --band:#0E0D0B; --on-band:#EFE9DB; --on-band-muted:rgba(239,233,219,.6);

  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow:0 16px 38px -16px rgba(0,0,0,.6);
  --shadow-lg:0 30px 70px -24px rgba(0,0,0,.7);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--bf);background:var(--bg);color:var(--mid);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .3s,color .3s;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}
::selection{background:var(--gold);color:var(--ink-on-gold);}

/* Smooth full-page crossfade when switching light/dark (native View Transitions):
   logo, hero image and every colour dissolve together instead of snapping.
   Browsers without the API fall back to an instant swap. */
::view-transition-old(root),
::view-transition-new(root){animation-duration:.45s;animation-timing-function:ease;}
@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none;}
}

/* ─── NAV ─────────────────────────────────────────────────────────────── */
#mainNav{position:sticky;top:0;z-index:100;background:color-mix(in srgb, var(--white) 88%, transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--hairline);padding:0 var(--pad-x);display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;height:var(--nav-h);transition:background .3s,transform .35s ease,box-shadow .3s;}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:44px;width:auto;display:block;flex-shrink:0;}
.nav-logo .logo-dark{display:none;}
[data-theme=dark] .nav-logo .logo-light{display:none;}
[data-theme=dark] .nav-logo .logo-dark{display:block;}
.nav-links{display:flex;gap:1.9rem;list-style:none;font-family:var(--uf);font-size:.9rem;}
.nav-links a{position:relative;text-decoration:none;color:var(--mid);transition:color .2s;font-weight:400;white-space:nowrap;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--gold);transition:width .25s ease;}
.nav-links a:hover,.nav-links a.active{color:var(--dark);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:.75rem;}
.icon-btn{background:none;border:1px solid var(--border);color:var(--mid);width:36px;height:36px;border-radius:var(--r-pill);cursor:pointer;font-size:.95rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;}
.icon-btn:hover{border-color:var(--gold);color:var(--gold-ink);}
.theme-btn{background:none;border:1px solid var(--border);color:var(--mid);padding:6px 13px;border-radius:var(--r-pill);cursor:pointer;font-family:var(--uf);font-size:.78rem;transition:all .2s;}
.theme-btn:hover{border-color:var(--gold);color:var(--gold-ink);}
.nav-cta{background:var(--gold);color:var(--ink-on-gold);border:none;padding:9px 20px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;}
.nav-cta:hover{background:var(--gold-dark);transform:translateY(-1px);}
.hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--charcoal);font-size:1.4rem;}
.nav-mobile-only{display:none;}

/* ─── SEARCH (desktop bar + mobile widget/modal) ──────────────────────── */
.search-bar{max-height:0;overflow:hidden;background:transparent;border-bottom:1px solid transparent;transition:max-height .3s ease,border-color .3s;position:sticky;top:74px;z-index:90;}
.search-bar.open{max-height:96px;background:var(--white);border-bottom:1px solid var(--hairline);}
.search-bar-inner{display:flex;align-items:center;gap:.6rem;padding:1rem var(--pad-x);max-width:760px;margin:0 auto;}
.search-bar-icon{font-size:1rem;color:var(--muted);}
.search-bar-inner input{flex:1;padding:11px 15px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--charcoal);font-family:var(--uf);font-size:.92rem;outline:none;transition:border-color .2s;}
.search-bar-inner input:focus{border-color:var(--gold);}
.search-bar-inner button{background:var(--gold);color:var(--ink-on-gold);border:none;padding:11px 22px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s;}
.search-bar-inner button:hover{background:var(--gold-dark);}
.search-fab{display:none;position:fixed;right:16px;bottom:18px;z-index:120;width:54px;height:54px;border-radius:var(--r-pill);border:none;background:var(--gold);color:var(--ink-on-gold);font-size:1.3rem;cursor:pointer;box-shadow:var(--shadow);align-items:center;justify-content:center;transition:transform .2s,background .2s;}
.search-fab:hover{background:var(--gold-dark);}
.search-fab:active{transform:scale(.92);}
.search-modal-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(20,16,8,.55);align-items:flex-start;justify-content:center;}
.search-modal-overlay.open{display:flex;}
.search-modal{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-md);max-width:480px;width:92%;padding:1.75rem;margin-top:16vh;position:relative;box-shadow:var(--shadow-lg);animation:popIn .25s ease;}
.search-modal h3{font-family:var(--hf);font-size:1.25rem;color:var(--dark);margin-bottom:1rem;}
.search-modal-form{display:flex;gap:.5rem;}
.search-modal-form input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--charcoal);font-family:var(--uf);font-size:.92rem;outline:none;}
.search-modal-form input:focus{border-color:var(--gold);}
.search-modal-form button{background:var(--gold);color:var(--ink-on-gold);border:none;padding:12px 18px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;}

/* ─── HERO ────────────────────────────────────────────────────────────── */
.hero{min-height:90vh;display:flex;align-items:center;padding:4.5rem var(--pad-x);background:var(--white);position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:0;right:0;width:46%;height:100%;background:linear-gradient(160deg,var(--gold-tint),var(--gold-light));clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);z-index:0;}
.hero::after{content:'';position:absolute;right:8%;top:14%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(232,160,32,.16),transparent 70%);z-index:0;filter:blur(8px);}
.hero-content{position:relative;z-index:1;max-width:600px;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);color:var(--gold-ink);border:1px solid var(--gold);padding:6px 15px;border-radius:var(--r-pill);font-family:var(--uf);font-size:.74rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.6rem;box-shadow:var(--shadow-sm);}
.hero h1{font-family:var(--hf);font-size:clamp(2.6rem,5.4vw,4.3rem);line-height:1.06;letter-spacing:-.02em;font-weight:700;color:var(--dark);margin-bottom:1.4rem;}
.hero h1 em{color:var(--gold-ink);font-style:italic;}
.hero-sub{font-size:1.08rem;color:var(--mid);margin-bottom:1.4rem;max-width:30rem;font-family:var(--uf);line-height:1.7;}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.2rem;}
.hero-tag{background:var(--alt);border:1px solid var(--border);color:var(--mid);font-family:var(--uf);font-size:.74rem;padding:5px 12px;border-radius:var(--r-pill);}
.hero-actions{display:flex;gap:.875rem;flex-wrap:wrap;}
.hero-visual{position:absolute;right:var(--pad-x);top:50%;transform:translateY(-50%);z-index:1;animation:floatY 5s ease-in-out infinite;}
@keyframes floatY{0%,100%{transform:translateY(-50%) translateY(0);}50%{transform:translateY(-50%) translateY(-12px);}}
.hero-logo{width:min(380px,33vw);height:auto;filter:drop-shadow(0 24px 40px rgba(58,46,20,.16));}
.hero-visual .logo-dark{display:none;}
[data-theme=dark] .hero-visual .logo-light{display:none;}
[data-theme=dark] .hero-visual .logo-dark{display:block;}
.scroll-hint{display:none;} /* removed: scroll cues are clutter */

/* Homepage media hero: full-bleed warm image + frosted-glass content panel */
.hero--media{background:#100b06;}
.hero--media::before{display:none;} /* kill the base gold diagonal shape */
/* soft bottom fade: the dark hero melts into the section below */
.hero--media::after{content:'';position:absolute;left:0;right:0;top:auto;bottom:0;width:auto;height:160px;border-radius:0;filter:none;background:linear-gradient(to bottom,transparent,var(--band));z-index:1;pointer-events:none;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
/* dark warm tint: image stays visible, lighter on the right; light text on top (Voyage-style) */
.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(10,7,3,.66),rgba(10,7,3,.32) 55%,rgba(10,7,3,.12));}
[data-theme=dark] .hero-veil{background:linear-gradient(100deg,rgba(6,4,2,.72),rgba(6,4,2,.36) 55%,rgba(6,4,2,.14));}
.hero--media .hero-content{position:relative;z-index:2;max-width:600px;}
.hero--media .hero-badge{background:rgba(255,255,255,.06);color:#F2B23E;border-color:rgba(232,160,32,.5);box-shadow:none;}
.hero--media h1{color:#FBF7EF;}
.hero--media h1 em{color:#F2B23E;}
.hero--media .hero-sub{color:rgba(251,247,239,.82);}
.hero--media .hero-tag{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16);color:rgba(251,247,239,.9);}
.hero--media .btn-secondary{color:#FBF7EF;border-color:rgba(255,255,255,.4);}
.hero--media .btn-secondary:hover{border-color:var(--gold);color:#F2B23E;}
/* brain logo returns as the right-side visual (light variant); particles off */
.hero--media .hero-visual{z-index:2;}
.hero--media .hero-fx{display:none;}
.hero--media .hero-visual .logo-light{display:none;}
.hero--media .hero-visual .logo-dark{display:block;}
.hero--media .hero-visual{right:10%;}
/* warm "knowledge shines" glow behind the brain (soft, feathered so it blends into the image) */
.hero--media .hero-visual::before{content:'';position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);width:70%;height:82%;background:radial-gradient(ellipse 44% 56% at 50% 50%,rgba(246,180,60,.5),rgba(234,162,34,.2) 46%,transparent 72%);filter:blur(36px);z-index:0;pointer-events:none;opacity:0;animation:heroFade 1s ease .3s both;}
/* soft grounding shadow under the logo */
.hero--media .hero-logo{position:relative;z-index:1;filter:drop-shadow(0 16px 24px rgba(0,0,0,.5));}

/* ── Light theme: airy homepage hero (light image + cream veil + dark ink) ── */
.hero-bg-light{display:none;}
[data-theme=light] .hero--media{background:var(--bg);}
[data-theme=light] .hero-bg-dark{display:none;}
[data-theme=light] .hero-bg-light{display:block;}
[data-theme=light] .hero-veil{background:linear-gradient(100deg,rgba(255,250,242,.90),rgba(255,250,242,.64) 52%,rgba(253,245,232,.36));}
[data-theme=light] .hero--media::after{background:linear-gradient(to bottom,transparent,var(--alt));}
[data-theme=light] .hero--media h1{color:var(--dark);}
[data-theme=light] .hero--media h1 em{color:var(--gold-ink);}
[data-theme=light] .hero--media .hero-sub{color:var(--mid);}
[data-theme=light] .hero--media .hero-badge{background:var(--white);color:var(--gold-ink);border-color:var(--gold);box-shadow:var(--shadow-sm);}
[data-theme=light] .hero--media .hero-tag{background:rgba(28,27,22,.05);border-color:rgba(28,27,22,.12);color:var(--mid);}
[data-theme=light] .hero--media .btn-secondary{color:var(--dark);border-color:rgba(28,27,22,.28);}
[data-theme=light] .hero--media .btn-secondary:hover{border-color:var(--gold);color:var(--gold-ink);}
[data-theme=light] .hero--media .hero-visual .logo-light{display:block;}
[data-theme=light] .hero--media .hero-visual .logo-dark{display:none;}
[data-theme=light] .hero--media .hero-visual::before{background:radial-gradient(ellipse 44% 56% at 50% 50%,rgba(246,180,60,.28),rgba(234,162,34,.1) 46%,transparent 72%);}
[data-theme=light] .hero--media .hero-logo{filter:drop-shadow(0 16px 24px rgba(58,46,20,.18));}

/* Homepage: nav merges into the hero (transparent), turns solid once scrolled past it */
.hero--media{margin-top:calc(-1 * var(--nav-h));}
/* transparent state — merged into the dark hero (no border/shadow so it blends seamlessly) */
#mainNav.nav-hero{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;box-shadow:none;}
/* auto-hide the homepage nav on scroll-down (all viewports) */
#mainNav.nav-hero.nav-hidden{transform:translateY(-100%);}
/* frosted-glass strip once scrolled over the hero (so the nav reads against the image) */
#mainNav.nav-hero.nav-glass{background:rgba(20,14,8,.5);backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 6px 24px -16px rgba(0,0,0,.6);}
#mainNav.nav-hero .nav-links a{color:rgba(251,247,239,.82);}
#mainNav.nav-hero .nav-links a:hover,#mainNav.nav-hero .nav-links a.active{color:#fff;}
#mainNav.nav-hero .icon-btn,#mainNav.nav-hero .theme-btn{border-color:rgba(255,255,255,.28);color:rgba(251,247,239,.85);}
#mainNav.nav-hero .icon-btn:hover,#mainNav.nav-hero .theme-btn:hover{border-color:var(--gold);color:#F2B23E;}
#mainNav.nav-hero .hamburger{color:#fff;}
#mainNav.nav-hero .nav-logo .logo-light{display:none;}
#mainNav.nav-hero .nav-logo .logo-dark{display:block;}
/* solid state — after scrolling past the hero (reverts to the normal light nav) */
#mainNav.nav-hero.nav-solid{background:color-mix(in srgb,var(--white) 92%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--hairline);}
#mainNav.nav-hero.nav-solid .nav-links a{color:var(--mid);}
#mainNav.nav-hero.nav-solid .nav-links a:hover,#mainNav.nav-hero.nav-solid .nav-links a.active{color:var(--dark);}
#mainNav.nav-hero.nav-solid .icon-btn,#mainNav.nav-hero.nav-solid .theme-btn{border-color:var(--border);color:var(--mid);}
#mainNav.nav-hero.nav-solid .hamburger{color:var(--charcoal);}
#mainNav.nav-hero.nav-solid .nav-logo .logo-light{display:block;}
#mainNav.nav-hero.nav-solid .nav-logo .logo-dark{display:none;}
[data-theme=dark] #mainNav.nav-hero.nav-solid .nav-logo .logo-light{display:none;}
[data-theme=dark] #mainNav.nav-hero.nav-solid .nav-logo .logo-dark{display:block;}
/* Light theme: transparent + glass nav over the AIRY hero read as dark ink */
[data-theme=light] #mainNav.nav-hero .nav-links a{color:var(--mid);}
[data-theme=light] #mainNav.nav-hero .nav-links a:hover,[data-theme=light] #mainNav.nav-hero .nav-links a.active{color:var(--dark);}
[data-theme=light] #mainNav.nav-hero .icon-btn,[data-theme=light] #mainNav.nav-hero .theme-btn{border-color:var(--border);color:var(--mid);}
[data-theme=light] #mainNav.nav-hero .icon-btn:hover,[data-theme=light] #mainNav.nav-hero .theme-btn:hover{border-color:var(--gold);color:var(--gold-ink);}
[data-theme=light] #mainNav.nav-hero .hamburger{color:var(--charcoal);}
[data-theme=light] #mainNav.nav-hero .nav-logo .logo-light{display:block;}
[data-theme=light] #mainNav.nav-hero .nav-logo .logo-dark{display:none;}
[data-theme=light] #mainNav.nav-hero.nav-glass{background:color-mix(in srgb,var(--white) 82%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--hairline);box-shadow:0 6px 24px -16px rgba(58,46,20,.4);}

/* gentle hero load-in (staggered) */
@keyframes heroRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes heroFade{from{opacity:0;}to{opacity:1;}}
.hero--media .hero-badge{opacity:0;animation:heroRise .7s cubic-bezier(.2,.7,.2,1) both;}
.hero--media h1{opacity:0;animation:heroRise .7s cubic-bezier(.2,.7,.2,1) .09s both;}
.hero--media .hero-sub{opacity:0;animation:heroRise .7s cubic-bezier(.2,.7,.2,1) .17s both;}
.hero--media .hero-tags{opacity:0;animation:heroRise .7s cubic-bezier(.2,.7,.2,1) .25s both;}
.hero--media .hero-actions{opacity:0;animation:heroRise .7s cubic-bezier(.2,.7,.2,1) .33s both;}
.hero--media .hero-logo{opacity:0;animation:heroFade 1s ease .3s both;}
@media(prefers-reduced-motion:reduce){.hero--media .hero-badge,.hero--media h1,.hero--media .hero-sub,.hero--media .hero-tags,.hero--media .hero-actions,.hero--media .hero-logo{opacity:1;animation:none;}}

/* ─── BOOK INTRO: cover (your logo) opens INWARD like doors on scroll ──────── */
/* Pulled up under the sticky nav so the cover fills the whole screen (no top gap). */
.book-intro{position:relative;height:135vh;margin-top:-74px;padding:0;background:var(--white);}
.book-stage{position:sticky;top:0;height:100vh;overflow:hidden;perspective:1700px;perspective-origin:50% 46%;}
.book-hero{position:absolute;inset:0;width:100%;height:100%;}
.book-hero::before{content:none;} /* remove the slant gold wedge behind the logo */
.book-hero .hero-visual{right:8%;}

/* Ambient "alive" field around the brain logo (particles/wires + floating motifs) */
.hero-visual .hero-logo{position:relative;z-index:1;}
.hero-fx{position:absolute;inset:-90px;z-index:0;pointer-events:none;}
#heroParticles{position:absolute;inset:0;width:100%;height:100%;display:block;}
.fx-motif{position:absolute;width:42px;height:42px;color:var(--gold);opacity:.42;filter:drop-shadow(0 0 6px rgba(232,160,32,.35));will-change:transform;}
.fx-1{top:8%;left:2%;animation:fxBob 7s ease-in-out infinite;}
.fx-2{bottom:12%;left:6%;width:38px;height:38px;opacity:.36;animation:fxBob 9s ease-in-out -1.5s infinite;}
.fx-3{top:14%;right:3%;width:40px;height:40px;opacity:.38;animation:fxBob 8s ease-in-out -3s infinite;}
@keyframes fxBob{0%,100%{transform:translateY(0) rotate(-5deg);}50%{transform:translateY(-15px) rotate(5deg);}}
@media(prefers-reduced-motion:reduce){.fx-motif{animation:none;}.hero-fx{display:none;}}
.book-cover{position:absolute;inset:0;z-index:5;transform-style:preserve-3d;will-change:opacity;}
.cover-half{position:absolute;top:0;height:100%;width:50%;overflow:hidden;will-change:transform;backface-visibility:hidden;}
.cover-left{left:0;transform-origin:left center;}
.cover-right{right:0;transform-origin:right center;}
.cover-art{position:absolute;top:0;height:100%;width:200%;background:linear-gradient(135deg,#26241c,#14130e);display:flex;align-items:center;justify-content:center;}
.cover-left .cover-art{left:0;}
.cover-right .cover-art{right:0;}
.cover-logo{width:min(620px,50vw);height:auto;}
.book-scroll-cue{position:absolute;bottom:1.7rem;left:50%;transform:translateX(-50%);z-index:6;font-family:var(--uf);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(239,233,219,.85);transition:opacity .3s;}
.book-intro.book-open .book-scroll-cue{opacity:0;}
/* Fallback (mobile / reduced-motion / no-JS): plain original hero, no cover */
.book-intro.no-book{height:auto;}
.book-intro.no-book .book-stage{position:static;height:auto;overflow:visible;perspective:none;}
.book-intro.no-book .book-hero{position:static;min-height:86vh;}
.book-intro.no-book .book-cover,.book-intro.no-book .book-scroll-cue{display:none;}
@media(max-width:800px){
  .book-intro{height:auto;}
  .book-stage{position:static;height:auto;overflow:visible;perspective:none;}
  .book-hero{position:static;min-height:auto;}
  .book-cover,.book-scroll-cue{display:none;}
}

/* ─── BUTTONS ─────────────────────────────────────────────────────────── */
.btn-primary{background:var(--gold);color:var(--ink-on-gold);padding:13px 30px;border-radius:var(--r-sm);font-family:var(--uf);font-weight:600;font-size:.94rem;text-decoration:none;display:inline-block;border:none;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:var(--shadow);}
.btn-primary:active{transform:translateY(0);}
.btn-secondary{background:transparent;color:var(--charcoal);border:1.5px solid var(--border);padding:13px 28px;border-radius:var(--r-sm);font-family:var(--uf);font-weight:600;font-size:.94rem;text-decoration:none;display:inline-block;cursor:pointer;transition:all .2s;}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold-ink);transform:translateY(-2px);}
/* Show/hide password toggle */
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:3.6rem !important;}
.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gold);font-size:.74rem;font-weight:600;cursor:pointer;font-family:var(--uf);padding:4px 6px;line-height:1;}
.pw-toggle:hover{color:var(--gold-dark);text-decoration:underline;}

/* ─── STATS (dark band, gold figures) ─────────────────────────────────── */
.stats-bar{background:var(--band);padding:3rem var(--pad-x);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;text-align:center;}
.stat-item .stat-num{font-family:var(--hf);font-size:2.6rem;font-weight:700;color:var(--gold);line-height:1;letter-spacing:-.01em;}
.stat-item .stat-label{font-family:var(--uf);font-size:.76rem;color:var(--on-band-muted);margin-top:.5rem;text-transform:uppercase;letter-spacing:.08em;}
/* Light theme: stats strip is a soft cream band (not the dark accent), to match the airy hero */
[data-theme=light] .stats-bar{background:var(--alt);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
[data-theme=light] .stat-item .stat-label{color:var(--muted);}

/* ─── SECTIONS ────────────────────────────────────────────────────────── */
section{padding:5.5rem var(--pad-x);}
.section-alt{background:var(--alt);}
.section-tag{font-family:var(--uf);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-ink);margin-bottom:.85rem;display:block;}
.section-title{font-family:var(--hf);font-size:clamp(1.9rem,3.4vw,2.65rem);color:var(--dark);line-height:1.14;letter-spacing:-.015em;margin-bottom:1rem;}
.section-sub{font-family:var(--uf);color:var(--mid);font-size:1.02rem;line-height:1.65;max-width:60ch;margin-bottom:3rem;}

/* ─── OFFER CARDS ─────────────────────────────────────────────────────── */
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;}
.offer-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:2rem 1.75rem;text-decoration:none;display:block;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s;}
.offer-card::before{content:'';position:absolute;left:0;top:0;height:3px;width:0;background:var(--gold);transition:width .3s ease;}
.offer-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-light);}
.offer-card:hover::before{width:100%;}
.offer-icon{font-size:1.9rem;margin-bottom:1rem;}
.offer-card h3{font-family:var(--hf);font-size:1.2rem;color:var(--dark);margin-bottom:.55rem;}
.offer-card p{font-family:var(--uf);font-size:.88rem;color:var(--mid);line-height:1.6;margin-bottom:1rem;}
.offer-link{font-family:var(--uf);font-size:.84rem;color:var(--gold-ink);font-weight:600;}

/* ─── BLOG ────────────────────────────────────────────────────────────── */
.blog-tabs{display:flex;gap:0;flex-wrap:wrap;margin-bottom:2.5rem;border-bottom:1px solid var(--border);}
.tab-btn{font-family:var(--uf);font-size:.82rem;font-weight:600;padding:11px 20px;border:none;background:none;color:var(--mid);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.tab-btn.active{color:var(--gold-ink);border-bottom-color:var(--gold);}
.tab-btn:hover{color:var(--gold-ink);}
.tab-content{display:none;}
.tab-content.active{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;}
.blog-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;position:relative;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;}
.blog-card .blog-link::before{content:'';position:absolute;inset:0;z-index:1;}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-light);}
.blog-card-media{position:relative;line-height:0;background:var(--gold-tint);}
.blog-card-cover{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;}
.blog-card-media .blog-tag{position:absolute;left:.6rem;bottom:.6rem;box-shadow:0 2px 10px rgba(30,24,12,.28);}
.blog-tag{background:var(--gold);color:var(--ink-on-gold);font-family:var(--uf);font-size:.66rem;font-weight:600;padding:5px 11px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.04em;line-height:1.3;}
.wa-share{display:inline-flex;align-items:center;gap:4px;font-family:var(--uf);font-size:.72rem;color:var(--gold-ink);border:1px solid var(--border);background:var(--white);padding:4px 10px;border-radius:var(--r-pill);text-decoration:none;cursor:pointer;transition:all .2s;white-space:nowrap;position:relative;z-index:2;}
.wa-share:hover{border-color:var(--gold);color:var(--gold-ink);}
.blog-card-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.7rem;}
.blog-card h3{font-family:var(--hf);font-size:1.02rem;color:var(--dark);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.blog-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;}
.blog-card p{font-size:.88rem;color:var(--mid);font-family:var(--uf);line-height:1.6;margin-bottom:1rem;}
.blog-link{font-family:var(--uf);font-size:.82rem;color:var(--gold-ink);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.blog-link::after{content:'→';transition:transform .2s;}
.blog-card:hover .blog-link::after{transform:translateX(3px);}
.blog-meta{font-family:var(--uf);font-size:.72rem;color:var(--muted);margin:0;letter-spacing:.02em;display:inline-flex;align-items:center;gap:4px;}

/* ─── AD ZONES ────────────────────────────────────────────────────────── */
/* Ads collapse fully unless a real ad is served (no empty box on localhost,
   before approval, or with an ad-blocker). main.js adds .is-filled when filled. */
.ad-container{padding:0 var(--pad-x);background:var(--bg);}
.ad-container.is-filled{padding:2rem var(--pad-x);}
.ad-zone{margin:0 auto;max-width:970px;text-align:center;}
.ad-label{display:none;font-family:var(--uf);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.5rem;}
.ad-zone.is-filled .ad-label{display:block;}
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important;}
.article-body .ad-zone{margin:0;}
.article-body .ad-zone.is-filled{margin:2rem 0;}

/* ─── COMPARE TABLE ───────────────────────────────────────────────────── */
.compare-controls{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;}
.compare-controls label{font-family:var(--uf);font-size:.85rem;color:var(--mid);font-weight:500;}
.compare-select{font-family:var(--uf);font-size:.9rem;color:var(--charcoal);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:11px 16px;cursor:pointer;outline:none;min-width:300px;transition:border-color .2s;}
.compare-select:focus{border-color:var(--gold);}
.compare-table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);}
.compare-table th{background:var(--band);color:var(--on-band);font-family:var(--uf);font-size:.85rem;font-weight:600;padding:15px 18px;text-align:left;}
.compare-table th:first-child{background:#000;color:var(--on-band);width:28%;}
[data-theme=dark] .compare-table th:first-child{background:#000;}
.compare-table td{padding:13px 18px;font-family:var(--uf);font-size:.87rem;border-bottom:1px solid var(--hairline);vertical-align:top;line-height:1.55;color:var(--mid);}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table td:first-child{font-weight:600;color:var(--charcoal);background:var(--alt);}
.compare-table tr:hover td{background:var(--gold-tint);}
.compare-table tr:hover td:first-child{background:var(--alt);}
[data-theme=dark] .compare-table tr:hover td{background:rgba(232,160,32,.08);}

/* ─── TEMPLATES / RESOURCES / RESOLUTIONS CARDS ───────────────────────── */
.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem;}
.template-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:1.6rem;transition:transform .25s,box-shadow .25s,border-color .25s;}
.template-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-light);}
.template-icon{width:48px;height:48px;background:var(--gold-tint);border:1px solid var(--gold-light);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;font-size:1.4rem;}
.template-card h3{font-family:var(--hf);font-size:1.12rem;color:var(--dark);margin-bottom:.45rem;line-height:1.25;}
.template-card p{font-family:var(--uf);font-size:.85rem;color:var(--mid);line-height:1.6;margin-bottom:1rem;}
.template-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;}
.template-tag{font-family:var(--uf);font-size:.67rem;background:var(--alt);color:var(--mid);border:1px solid var(--border);padding:3px 9px;border-radius:var(--r-pill);}
.template-actions{display:flex;gap:.6rem;flex-wrap:wrap;}
.btn-dl{background:var(--gold);color:var(--ink-on-gold);border:none;padding:9px 16px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;display:inline-flex;align-items:center;gap:5px;text-decoration:none;}
.btn-dl:hover{background:var(--gold-dark);transform:translateY(-1px);}
.btn-read{background:none;color:var(--gold-ink);border:1px solid var(--gold);padding:9px 16px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;}
.btn-read:hover{background:var(--gold);color:var(--ink-on-gold);}

/* Document Formats library — category groups */
.format-group{margin-top:2.6rem;}
.format-group:first-of-type{margin-top:.5rem;}
.format-group-title{font-family:var(--hf);font-size:1.25rem;color:var(--dark);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.6rem;}
.format-group-count{font-family:var(--uf);font-size:.72rem;font-weight:600;color:var(--gold-ink);background:var(--gold-tint);border:1px solid var(--gold-light);border-radius:var(--r-pill);padding:2px 10px;}

.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem;}
.resource-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .25s,box-shadow .25s,border-color .25s;}
.resource-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-light);}
.resource-type{font-family:var(--uf);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);}
.resource-card h3{font-family:var(--hf);font-size:1.05rem;color:var(--dark);line-height:1.25;}
.resource-card p{font-family:var(--uf);font-size:.85rem;color:var(--mid);line-height:1.55;flex:1;}
.resource-card .btn-dl{align-self:flex-start;}

.resolution-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:1.6rem;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;}
.resolution-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-light);}
.resolution-card h3{font-family:var(--hf);font-size:1.08rem;color:var(--dark);margin-bottom:.45rem;line-height:1.25;}
.resolution-card p{font-family:var(--uf);font-size:.85rem;color:var(--mid);line-height:1.6;margin-bottom:1.1rem;flex:1;}
.resolution-card .template-actions{display:flex;gap:.6rem;}

/* ─── LANDMARK ────────────────────────────────────────────────────────── */
.landmark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem;}
.landmark-card{background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:0 var(--r-md) var(--r-md) 0;padding:1.6rem;position:relative;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;}
.landmark-card:hover{border-color:var(--gold-light);}
.landmark-link{position:absolute;inset:0;z-index:1;}
.landmark-read{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-family:var(--uf);font-size:.76rem;font-weight:600;color:var(--gold-ink);}
.landmark-card:hover .landmark-read .ic{transform:translateX(3px);}
.landmark-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.landmark-year{font-family:var(--uf);font-size:.72rem;color:var(--gold-ink);font-weight:600;letter-spacing:.06em;margin-bottom:.4rem;}
.landmark-card h3{font-family:var(--hf);font-size:1.08rem;color:var(--dark);margin-bottom:.55rem;line-height:1.25;}
.landmark-card p{font-family:var(--uf);font-size:.86rem;color:var(--mid);line-height:1.6;margin-bottom:.85rem;}
.landmark-area{font-family:var(--uf);font-size:.7rem;background:var(--gold-tint);color:var(--gold-ink);padding:4px 11px;border-radius:var(--r-pill);display:inline-block;}
.landmark-wa{display:inline-flex;align-items:center;gap:4px;font-family:var(--uf);font-size:.72rem;color:var(--gold-ink);border:1px solid var(--border);padding:4px 10px;border-radius:var(--r-pill);text-decoration:none;margin-left:.5rem;cursor:pointer;transition:all .2s;}
.landmark-wa:hover{border-color:var(--gold);}

/* ─── NEWSLETTER (dark band) ──────────────────────────────────────────── */
.newsletter-inner{background:var(--band);border-radius:var(--r-lg);padding:3.25rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center;position:relative;overflow:hidden;}
.newsletter-inner::before{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(232,160,32,.22),transparent 70%);}
.newsletter-inner h2{font-family:var(--hf);font-size:1.9rem;color:var(--on-band);margin-bottom:.75rem;position:relative;}
.newsletter-inner p{font-family:var(--uf);font-size:.94rem;color:var(--on-band-muted);line-height:1.65;position:relative;}
.nl-form{display:flex;flex-direction:column;gap:.75rem;position:relative;}
.nl-form input{width:100%;padding:13px 16px;border:1px solid transparent;border-radius:var(--r-sm);background:#fff;font-family:var(--uf);font-size:.92rem;color:#1C1B16;outline:none;}
.nl-form input:focus{border-color:var(--gold);}
.nl-form button{background:var(--gold);color:var(--ink-on-gold);border:none;padding:13px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.92rem;font-weight:600;cursor:pointer;transition:background .2s;}
.nl-form button:hover{background:var(--gold-dark);}
.nl-note{font-family:var(--uf);font-size:.75rem;color:var(--on-band-muted);}

/* ─── ABOUT ───────────────────────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.about-story{max-width:820px;margin:0 auto;}
.about-idea h2{font-family:var(--hf);font-size:2rem;color:var(--dark);margin-bottom:1.1rem;line-height:1.18;letter-spacing:-.01em;}
.about-idea p{font-family:var(--uf);font-size:.95rem;color:var(--mid);line-height:1.8;margin-bottom:1rem;}
.about-quote{border-left:3px solid var(--gold);padding-left:1.3rem;margin:1.6rem 0;font-family:var(--hf);font-style:italic;font-size:1.18rem;color:var(--charcoal);line-height:1.5;}
.timeline{margin-top:1.6rem;}
.timeline-item{display:flex;gap:1rem;margin-bottom:1.2rem;}
.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:7px;box-shadow:0 0 0 4px var(--gold-tint);}
.timeline-text{font-family:var(--uf);font-size:.9rem;color:var(--mid);}
.timeline-text strong{color:var(--charcoal);font-weight:600;}
.person-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:2.25rem;text-align:center;box-shadow:var(--shadow-sm);}
.masked-avatar{width:104px;height:104px;border-radius:50%;background:var(--gold-tint);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:2.6rem;}
.person-name{font-family:var(--hf);font-size:1.4rem;color:var(--dark);margin-bottom:.25rem;}
.person-title{font-family:var(--uf);font-size:.8rem;color:var(--gold-ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;}
.person-bio{font-family:var(--uf);font-size:.9rem;color:var(--mid);line-height:1.7;margin-bottom:1.25rem;text-align:justify;}
.person-link{display:inline-block;font-family:var(--uf);font-size:.84rem;color:var(--gold-ink);border:1px solid var(--gold);padding:9px 18px;border-radius:var(--r-sm);text-decoration:none;transition:all .2s;}
.person-link:hover{background:var(--gold);color:var(--ink-on-gold);}
.person-socials{display:flex;gap:.6rem;justify-content:center;margin-top:1rem;}
.social-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--uf);font-size:.8rem;color:var(--mid);border:1px solid var(--border);padding:7px 13px;border-radius:var(--r-sm);text-decoration:none;transition:all .2s;}
.social-btn:hover{border-color:var(--gold);color:var(--gold-ink);}

/* ─── FAQ ─────────────────────────────────────────────────────────────── */
.faq-wrap{max-width:760px;}
.faq-item{border-bottom:1px solid var(--border);padding:1.3rem 0;cursor:pointer;}
.faq-q{display:flex;justify-content:space-between;align-items:center;font-family:var(--uf);font-size:.98rem;font-weight:600;color:var(--dark);gap:1rem;}
.faq-toggle{color:var(--gold);font-size:1.3rem;flex-shrink:0;transition:transform .3s;line-height:1;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
.faq-a{font-family:var(--uf);font-size:.9rem;color:var(--mid);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s;padding-top:0;}
.faq-item.open .faq-a{max-height:420px;padding-top:.8rem;}

/* ─── CONTACT / FORMS ─────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3.5rem;align-items:start;}
.contact-info h2{font-family:var(--hf);font-size:2rem;color:var(--dark);margin-bottom:1rem;}
.contact-info p{font-family:var(--uf);font-size:.93rem;color:var(--mid);line-height:1.7;margin-bottom:1.75rem;}
.contact-detail{display:flex;gap:.85rem;margin-bottom:1rem;align-items:flex-start;}
.contact-detail-icon{width:38px;height:38px;border-radius:var(--r-sm);background:var(--gold-tint);color:var(--gold-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;}
.contact-detail-text{font-family:var(--uf);font-size:.88rem;color:var(--mid);}
.contact-detail-text strong{display:block;color:var(--charcoal);font-weight:600;font-size:.82rem;}
.contact-form{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow-sm);}
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-family:var(--uf);font-size:.82rem;font-weight:600;color:var(--charcoal);margin-bottom:.4rem;}
.form-group label .req{color:var(--gold-ink);margin-left:2px;}
.form-group input,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--charcoal);font-family:var(--uf);font-size:.9rem;transition:border-color .2s,box-shadow .2s;outline:none;}
.form-group input:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-group input.error,.form-group textarea.error{border-color:#C0392B;}
.form-err{font-family:var(--uf);font-size:.74rem;color:#C0392B;margin-top:4px;display:none;}
.form-err.show{display:block;}
.form-submit{width:100%;background:var(--gold);color:var(--ink-on-gold);border:none;padding:13px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.94rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;}
.form-submit:hover{background:var(--gold-dark);transform:translateY(-1px);}
.form-success{display:none;background:#EAF7EA;border:1px solid #27AE60;border-radius:var(--r-sm);padding:12px 15px;font-family:var(--uf);font-size:.86rem;color:#1E8449;margin-top:.875rem;}
.form-success.show{display:block;}
.form-error-msg{display:none;background:#FDEDEC;border:1px solid #C0392B;border-radius:var(--r-sm);padding:12px 15px;font-family:var(--uf);font-size:.86rem;color:#C0392B;margin-top:.875rem;}
.form-error-msg.show{display:block;}

/* ─── PAGE HERO (sub-pages) ───────────────────────────────────────────── */
.page-hero{background:var(--white);padding:4rem var(--pad-x) 3rem;border-bottom:1px solid var(--hairline);text-align:center;position:relative;overflow:hidden;}
.page-hero::after{content:'';position:absolute;left:50%;bottom:-120px;transform:translateX(-50%);width:480px;height:240px;background:radial-gradient(ellipse,rgba(232,160,32,.1),transparent 70%);pointer-events:none;}
.page-hero .section-tag{display:block;margin-bottom:.6rem;}
.page-hero h1{font-family:var(--hf);font-size:clamp(2.1rem,4.4vw,3.2rem);color:var(--dark);line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem;position:relative;}
.page-hero p{font-family:var(--uf);font-size:1.05rem;color:var(--mid);max-width:640px;margin:0 auto;line-height:1.65;position:relative;}

/* Media hero: full-bleed topical image + warm frosted-glass panel */
.page-hero--media{padding:0;text-align:center;}
.page-hero--media::after{display:none;}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
/* full-bleed frosted cream veil covering the whole image; text sits on top */
.page-hero--media::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(255,250,242,.82),rgba(253,245,232,.72));-webkit-backdrop-filter:blur(4px) saturate(1.06);backdrop-filter:blur(4px) saturate(1.06);}
.page-hero__inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:clamp(3.2rem,7vw,5.5rem) var(--pad-x);}
.page-hero__glass{max-width:760px;margin:0 auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:0;padding:0;box-shadow:none;}
.page-hero__glass .section-tag{display:inline-block;margin-bottom:.7rem;}
.page-hero__glass h1{font-family:var(--hf);font-size:clamp(2.1rem,4.4vw,3.1rem);color:var(--dark);line-height:1.12;letter-spacing:-.02em;margin:0 0 .8rem;}
.page-hero__glass p{font-family:var(--uf);font-size:1.06rem;color:var(--mid);line-height:1.62;margin:0 auto;max-width:620px;}
[data-theme=dark] .page-hero--media::before{background:linear-gradient(rgba(20,17,11,.84),rgba(20,17,11,.72));}

/* ─── ARTICLE ─────────────────────────────────────────────────────────── */
.article-hero{background:var(--white);padding:3.5rem var(--pad-x) 2rem;border-bottom:1px solid var(--hairline);}
.article-hero .section-tag{margin-bottom:.6rem;}
.article-hero h1{font-family:var(--hf);font-size:clamp(1.9rem,3.6vw,2.7rem);color:var(--dark);line-height:1.15;letter-spacing:-.01em;margin-bottom:1.1rem;max-width:30ch;}
.article-meta{font-family:var(--uf);font-size:.82rem;color:var(--muted);display:flex;gap:1.25rem;flex-wrap:wrap;}
.article-hero-img{margin:0;padding:1.4rem var(--pad-x) 0;}
.article-hero-img img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:16px;box-shadow:0 12px 34px -20px rgba(40,32,16,.4);}
.article-body{margin:2.5rem auto 0;padding:0 var(--pad-x);display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:3.5rem;align-items:start;}
.article-main{min-width:0;}
.toc-side{min-width:0;}
/* Everything after the article (divider, share, related, newsletter) runs full container width */
.article-after{margin:0 auto 3rem;padding:0 var(--pad-x);}

/* ── Judgment brief detail page (centered, balanced reading column) ──── */
.judgment-hero{text-align:center;}
.judgment-hero .breadcrumb{justify-content:center;}
.judgment-hero h1{max-width:26ch;margin-left:auto;margin-right:auto;}
.judgment-hero .article-meta{justify-content:center;}
.judgment-body{max-width:820px;margin:2.5rem auto 3.5rem;padding:0 1.4rem;}
.judgment-body .back-link{margin-bottom:1.75rem;}
.judgment-lead{font-family:var(--bf);font-size:1.15rem;line-height:1.7;color:var(--charcoal);font-style:italic;margin:1.25rem 0 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--hairline);}
.judgment-body .prose h3{font-family:var(--hf);font-size:1.25rem;color:var(--dark);margin:1.9rem 0 .55rem;letter-spacing:-.01em;}
.judgment-body .prose p{font-family:var(--bf);font-size:1.05rem;color:var(--charcoal);line-height:1.85;margin-bottom:1.1rem;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;}
.judgment-body .prose strong{color:var(--dark);font-weight:600;}
.back-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--uf);font-size:.85rem;color:var(--gold-ink);font-weight:600;text-decoration:none;margin-bottom:1.5rem;}
.back-link:hover{color:var(--gold-dark);}
.article-body .prose h2,.article-body h2{font-family:var(--hf);font-size:1.5rem;color:var(--dark);margin:2.25rem 0 .85rem;letter-spacing:-.01em;}
.article-body .prose p,.article-body p{font-family:var(--bf);font-size:1.04rem;color:var(--charcoal);line-height:1.85;margin-bottom:1.15rem;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;}
.article-body .prose ul,.article-body .prose ol,.article-body ul,.article-body ol{font-family:var(--bf);font-size:1.04rem;color:var(--charcoal);line-height:1.85;margin-bottom:1.15rem;padding-left:1.5rem;}
.article-body .prose li,.article-body li{margin-bottom:.5rem;}
.article-body .prose strong,.article-body strong{color:var(--dark);font-weight:600;}
/* Tables, callouts & inline code inside article prose (match site tokens) */
.article-body .prose .table-wrap{overflow-x:auto;margin:1.7rem 0;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);}
.article-body .prose table.prose-table{width:100%;border-collapse:collapse;background:var(--card-bg);font-family:var(--uf);font-size:.92rem;}
.article-body .prose table.prose-table th{background:var(--band);color:var(--on-band);font-weight:600;text-align:left;padding:12px 16px;}
.article-body .prose table.prose-table td{padding:11px 16px;color:var(--charcoal);border-bottom:1px solid var(--hairline);vertical-align:top;line-height:1.6;}
.article-body .prose table.prose-table tr:last-child td{border-bottom:none;}
.article-body .prose table.prose-table tbody tr:nth-child(even) td{background:var(--alt);}
.article-body .prose table.prose-table tbody tr:hover td{background:var(--gold-tint);}
[data-theme=dark] .article-body .prose table.prose-table tbody tr:hover td{background:rgba(232,160,32,.08);}
.article-body .prose blockquote{margin:1.7rem 0;padding:1rem 1.35rem;border-left:3px solid var(--band);background:var(--alt);border-radius:0 var(--r-md) var(--r-md) 0;font-family:var(--bf);font-size:1.02rem;color:var(--charcoal);line-height:1.8;}
.article-body .prose blockquote strong{color:var(--dark);}
.article-body .prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--gold-tint);color:var(--dark);padding:.12em .4em;border-radius:4px;}

/* ─── LEGAL PAGES ─────────────────────────────────────────────────────── */
.legal-body{max-width:800px;margin:2.5rem auto 1rem;padding:0 var(--pad-x);}
.legal-body p{font-family:var(--uf);font-size:.94rem;color:var(--mid);line-height:1.8;margin-bottom:1rem;}
.legal-body h2{font-family:var(--hf);font-size:1.35rem;color:var(--dark);margin:2.25rem 0 .85rem;}
.legal-body ul{font-family:var(--uf);font-size:.94rem;color:var(--mid);line-height:1.8;margin-bottom:1rem;padding-left:1.5rem;}
.legal-body li{margin-bottom:.55rem;}
.legal-body strong{color:var(--charcoal);}
.legal-tldr{background:var(--gold-tint);border:1px solid var(--gold-light);border-left:4px solid var(--gold);border-radius:var(--r-md);padding:1.3rem 1.6rem;font-family:var(--uf);font-size:.92rem;color:var(--charcoal);line-height:1.7;margin-bottom:1.75rem;}
.legal-tldr strong{color:var(--gold-ink);}

/* ─── SEARCH RESULTS ──────────────────────────────────────────────────── */
.search-page-form{display:flex;gap:.5rem;max-width:560px;margin:1.75rem auto 0;}
.search-page-form input{flex:1;padding:13px 16px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card-bg);color:var(--charcoal);font-family:var(--uf);font-size:.94rem;outline:none;}
.search-page-form input:focus{border-color:var(--gold);}
.search-page-form button{background:var(--gold);color:var(--ink-on-gold);border:none;padding:13px 24px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.92rem;font-weight:600;cursor:pointer;}
.search-results{display:flex;flex-direction:column;gap:1rem;max-width:780px;}
.search-result{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:1.4rem 1.6rem;transition:border-color .2s,box-shadow .2s,transform .2s;}
.search-result:hover{border-color:var(--gold);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.search-result-type{font-family:var(--uf);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);background:var(--gold-tint);padding:3px 9px;border-radius:var(--r-pill);display:inline-block;margin-bottom:.55rem;}
.search-result a{text-decoration:none;}
.search-result h3{font-family:var(--hf);font-size:1.1rem;color:var(--dark);margin-bottom:.3rem;}
.search-result:hover h3{color:var(--gold-ink);}
.search-result p{font-family:var(--uf);font-size:.87rem;color:var(--mid);line-height:1.55;}

/* ─── DISCLAIMER ──────────────────────────────────────────────────────── */
.disclaimer-wrap{padding:1.5rem var(--pad-x) 3.5rem;}
.disclaimer{background:var(--gold-tint);border:1px solid var(--gold-light);border-left:4px solid var(--gold);border-radius:var(--r-md);padding:1.4rem 1.9rem;}
.disclaimer-title{font-family:var(--uf);font-weight:600;font-size:.8rem;color:var(--gold-ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.45rem;}
.disclaimer p{font-family:var(--uf);font-size:.84rem;color:var(--mid);line-height:1.65;}

/* ─── FOOTER ──────────────────────────────────────────────────────────── */
footer{background:var(--band);color:var(--on-band-muted);padding:4rem var(--pad-x) 2rem;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;}
.footer-logo{height:74px;width:auto;margin-bottom:1.1rem;}
.footer-brand p{font-family:var(--uf);font-size:.85rem;line-height:1.75;max-width:260px;color:var(--on-band-muted);}
.footer-col h4{font-family:var(--uf);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--on-band);margin-bottom:1rem;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:.55rem;}
.footer-col a{font-family:var(--uf);font-size:.85rem;color:var(--on-band-muted);text-decoration:none;transition:color .2s;}
.footer-col a:hover{color:var(--gold);}
.footer-social{display:flex;gap:.6rem;margin-top:1.1rem;}
.f-social-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid rgba(239,233,219,.18);color:var(--on-band-muted);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.83rem;transition:all .2s;}
.f-social-btn:hover{border-color:var(--gold);color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(239,233,219,.12);padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-family:var(--uf);font-size:.78rem;color:var(--on-band-muted);}
.footer-bottom a{color:var(--on-band-muted);text-decoration:none;}
.footer-bottom a:hover{color:var(--gold);}

/* ─── SITEMAP PAGE ─────────────────────────────────────────────────────── */
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-top:.5rem;}
.sitemap-group{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:1.5rem 1.6rem;box-shadow:var(--shadow-sm);}
.sitemap-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--hairline);padding-bottom:.7rem;margin-bottom:.35rem;}
.sitemap-group-head h2{font-family:var(--hf);font-size:1.15rem;color:var(--dark);margin:0;}
.sitemap-group-head a{font-family:var(--uf);font-size:.76rem;font-weight:500;color:var(--gold-ink);text-decoration:none;white-space:nowrap;}
.sitemap-group-head a:hover{text-decoration:underline;}
.sitemap-group ul{list-style:none;padding:0;margin:0;}
.sitemap-group li a{display:block;padding:.55rem 0;font-family:var(--uf);font-size:.93rem;color:var(--mid);text-decoration:none;border-bottom:1px solid var(--hairline);transition:color .15s ease,padding-left .15s ease;}
.sitemap-group li:last-child a{border-bottom:none;}
.sitemap-group li a:hover{color:var(--gold-ink);padding-left:.35rem;}
.sitemap-xml-note{margin-top:2.2rem;font-family:var(--uf);font-size:.85rem;color:var(--muted);text-align:center;}
.sitemap-xml-note a{color:var(--gold-ink);}

/* ─── COOKIE BANNER ───────────────────────────────────────────────────── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--band);color:var(--on-band);padding:1rem var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--uf);font-size:.82rem;border-top:3px solid var(--gold);transition:transform .4s;}
.cookie-banner.hidden{transform:translateY(110%);}
.cookie-banner a{color:var(--gold);}
.cookie-accept{background:var(--gold);color:var(--ink-on-gold);border:none;padding:9px 20px;border-radius:var(--r-sm);cursor:pointer;font-family:var(--uf);font-size:.81rem;font-weight:600;white-space:nowrap;flex-shrink:0;}

/* ─── MODALS (download / share / preview) ─────────────────────────────── */
.dl-overlay,.share-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(20,16,8,.55);align-items:center;justify-content:center;padding:1rem;}
.dl-overlay.open,.share-overlay.open{display:flex;}
.dl-modal,.share-modal{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);max-width:440px;width:100%;padding:2.25rem;text-align:center;position:relative;box-shadow:var(--shadow-lg);animation:popIn .25s ease;}
.dl-modal-icon{font-size:2.2rem;margin-bottom:.75rem;}
.dl-modal h3,.share-modal h3{font-family:var(--hf);font-size:1.4rem;color:var(--dark);margin-bottom:.5rem;}
.dl-modal p{font-family:var(--uf);font-size:.88rem;color:var(--mid);line-height:1.65;margin-bottom:1.4rem;}
.dl-email-row{display:flex;gap:.5rem;margin-bottom:.875rem;}
.dl-email-row input{flex:1;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--charcoal);font-family:var(--uf);font-size:.88rem;outline:none;}
.dl-email-row input:focus{border-color:var(--gold);}
.dl-email-row button{background:var(--gold);color:var(--ink-on-gold);border:none;padding:11px 18px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.86rem;font-weight:600;cursor:pointer;white-space:nowrap;}
.dl-skip{font-family:var(--uf);font-size:.8rem;color:var(--muted);cursor:pointer;background:none;border:none;text-decoration:underline;text-underline-offset:2px;}
.dl-skip:hover{color:var(--charcoal);}
.dl-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.2rem;color:var(--muted);cursor:pointer;}
.share-options{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem;}
.share-opt{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:12px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--charcoal);transition:all .2s;}
.share-opt:hover{border-color:var(--gold);}
.share-wa:hover{background:#25D366;color:#fff;border-color:#25D366;}
.share-link:hover{background:var(--gold);color:var(--ink-on-gold);border-color:var(--gold);}
.share-copied{display:none;margin-top:.875rem;font-family:var(--uf);font-size:.83rem;color:#1E8449;background:#EAF7EA;border:1px solid #27AE60;border-radius:var(--r-sm);padding:9px;}
.share-copied.show{display:block;}

/* legacy privacy modal (kept for safety) */
.modal-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(20,16,8,.55);align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:var(--white);border-radius:var(--r-md);max-width:640px;width:92%;max-height:82vh;overflow-y:auto;padding:2.25rem;}
.modal h2{font-family:var(--hf);font-size:1.4rem;color:var(--dark);margin-bottom:.875rem;}
.modal p{font-family:var(--uf);font-size:.86rem;color:var(--mid);line-height:1.7;margin-bottom:.7rem;}
.modal h3{font-family:var(--uf);font-size:.88rem;font-weight:600;color:var(--charcoal);margin:1.125rem 0 .4rem;}
.modal-close{float:right;background:var(--gold);color:var(--ink-on-gold);border:none;padding:6px 13px;border-radius:var(--r-sm);cursor:pointer;font-family:var(--uf);font-size:.83rem;}

/* ─── PREVIEW MODAL (documents) ───────────────────────────────────────── */
.preview-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(20,16,8,.6);align-items:center;justify-content:center;padding:1rem;}
.preview-overlay.open{display:flex;}
.preview-modal{background:var(--card-bg);border-radius:var(--r-md);max-width:760px;width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:popIn .25s ease;}
.preview-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border);}
.preview-head h3{font-family:var(--hf);font-size:1.2rem;color:var(--dark);}
.preview-doc{padding:2.5rem;overflow-y:auto;background:var(--bg);}
.preview-doc h3{font-family:var(--uf);font-size:.9rem;font-weight:600;color:var(--dark);text-align:center;line-height:1.6;margin-bottom:1.1rem;text-transform:uppercase;letter-spacing:.02em;}
.preview-doc h4{font-family:var(--uf);font-size:.92rem;font-weight:600;color:var(--charcoal);margin:1rem 0 .6rem;text-align:center;}
.preview-doc p{font-family:var(--bf);font-size:.94rem;color:var(--charcoal);line-height:1.85;margin-bottom:.85rem;text-align:justify;}
.preview-doc ul{margin:0 0 .85rem 1.5rem;font-family:var(--bf);font-size:.94rem;color:var(--charcoal);line-height:1.8;}
.preview-doc .res-spacer{height:.9rem;}
.preview-doc .preview-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.4rem 0 1rem;}
.preview-doc .preview-table{width:100%;border-collapse:collapse;font-family:var(--bf);}
.preview-doc .preview-table td{border:1px solid var(--border);padding:.5rem .65rem;font-size:.86rem;color:var(--charcoal);line-height:1.6;vertical-align:top;text-align:left;min-width:5.5rem;}
.preview-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-top:1px solid var(--border);}
.preview-note{font-family:var(--uf);font-size:.78rem;color:var(--muted);}
.preview-foot .btn-dl{text-decoration:none;}

/* ─── ADMIN ───────────────────────────────────────────────────────────── */
.admin-layout{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;background:var(--band);padding:1.5rem 0;flex-shrink:0;}
.admin-sidebar .brand{font-family:var(--hf);font-size:1.15rem;color:var(--on-band);padding:0 1.5rem 1.5rem;border-bottom:1px solid rgba(239,233,219,.12);}
.admin-sidebar .brand span{color:var(--gold);}
.admin-nav{list-style:none;margin-top:1rem;}
.admin-nav li a{display:block;font-family:var(--uf);font-size:.86rem;color:var(--on-band-muted);padding:.75rem 1.5rem;text-decoration:none;border-left:3px solid transparent;transition:all .2s;}
.admin-nav li a:hover,.admin-nav li a.active{background:rgba(232,160,32,.12);color:var(--gold);border-left-color:var(--gold);}
.admin-main{flex:1;padding:2.25rem;background:var(--bg);}
.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;}
.admin-header h1{font-family:var(--hf);font-size:1.6rem;color:var(--dark);}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;}
.admin-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:1.4rem;text-align:center;box-shadow:var(--shadow-sm);}
.admin-stat-card .num{font-family:var(--hf);font-size:2.1rem;color:var(--gold-ink);font-weight:700;}
.admin-stat-card .lbl{font-family:var(--uf);font-size:.74rem;color:var(--mid);text-transform:uppercase;letter-spacing:.05em;margin-top:.3rem;}
.admin-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);}
.admin-table th{background:var(--alt);font-family:var(--uf);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);padding:11px 15px;text-align:left;}
.admin-table td{font-family:var(--uf);font-size:.86rem;color:var(--charcoal);padding:11px 15px;border-bottom:1px solid var(--hairline);}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:var(--gold-tint);}
.badge{font-family:var(--uf);font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:var(--r-pill);}
.badge-green{background:#EAF7EA;color:#1E8449;}
.badge-grey{background:var(--alt);color:var(--muted);}
.admin-form{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:1.9rem;max-width:820px;box-shadow:var(--shadow-sm);}
.admin-form .form-group{margin-bottom:1.2rem;}
.admin-form label{display:block;font-family:var(--uf);font-size:.82rem;font-weight:600;color:var(--charcoal);margin-bottom:.4rem;}
.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--uf);font-size:.9rem;color:var(--charcoal);background:var(--bg);outline:none;transition:border-color .2s;}
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--gold);}
.admin-form textarea{resize:vertical;min-height:200px;}

/* Rich-text editor (admin article content) */
.rte{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;background:var(--bg);}
.rte-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:var(--alt);border-bottom:1px solid var(--border);}
.rte-btn{font-family:var(--uf);font-size:.8rem;background:var(--white);border:1px solid var(--border);border-radius:4px;padding:5px 10px;cursor:pointer;color:var(--charcoal);line-height:1;transition:all .15s;}
.rte-btn:hover{border-color:var(--gold);color:var(--gold-ink);}
.rte-sep{width:1px;background:var(--border);margin:2px 4px;}
.rte-editor{min-height:300px;max-height:580px;overflow-y:auto;padding:16px 18px;font-family:var(--bf);font-size:.96rem;color:var(--charcoal);line-height:1.8;outline:none;}
.rte-editor:focus{background:var(--white);}
.rte-editor h2{font-family:var(--hf);font-size:1.35rem;margin:1.1rem 0 .55rem;color:var(--dark);}
.rte-editor h3{font-family:var(--hf);font-size:1.12rem;margin:.95rem 0 .45rem;color:var(--dark);}
.rte-editor p{margin-bottom:.75rem;}
.rte-editor ul,.rte-editor ol{margin:0 0 .75rem 1.5rem;}
.rte-editor blockquote{border-left:3px solid var(--gold);padding-left:1rem;color:var(--mid);font-style:italic;margin:.75rem 0;}
.rte-editor a{color:var(--gold-ink);}
.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);}
.admin-login-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:2.5rem;width:100%;max-width:390px;text-align:center;box-shadow:var(--shadow);}
.admin-login-card h1{font-family:var(--hf);font-size:1.6rem;color:var(--dark);margin-bottom:.5rem;}
.admin-login-card p{font-family:var(--uf);font-size:.85rem;color:var(--mid);margin-bottom:1.5rem;}
.flash{padding:11px 15px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.85rem;margin-bottom:1rem;}
.flash-error{background:#FDEDEC;border:1px solid #C0392B;color:#C0392B;}
.flash-success{background:#EAF7EA;border:1px solid #27AE60;color:#1E8449;}
.btn-danger{background:#C0392B;color:#fff;border:none;padding:7px 13px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.78rem;cursor:pointer;transition:background .2s;}
.btn-danger:hover{background:#A93226;}
.btn-sm{padding:7px 13px;font-size:.78rem;}

/* ─── ANIMATIONS ──────────────────────────────────────────────────────── */
@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;}
.reveal-up{transform:translateY(30px);}
.reveal-left{transform:translateX(-34px);}
.reveal-right{transform:translateX(34px);}
.reveal-zoom{transform:scale(.94);}
.reveal.in-view{opacity:1;transform:none;}

/* ─── SCROLL-DRIVEN 3D: cards open like pages as you scroll (and reverse on scroll-up) ─── */
@keyframes pageOpen3d{
  from{opacity:0;transform:rotateX(13deg) translateY(50px) scale(.975);}
  55% {opacity:1;}
  to  {opacity:1;transform:rotateX(0deg) translateY(0) scale(1);}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    /* give each card grid real depth so the 3D rotation reads */
    .offer-grid,.blog-grid,.templates-grid,.resources-grid,.landmark-grid,
    .tab-content.active,.search-results{perspective:1300px;}
    .offer-card,.blog-card,.template-card,.resource-card,.landmark-card,
    .resolution-card,.search-result{
      transform-origin:50% 100%;
      animation:pageOpen3d linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 70%;
      backface-visibility:hidden;
    }
  }
}
.hero-content > *{animation:fadeUp .8s cubic-bezier(.16,1,.3,1) both;}
.hero-content > *:nth-child(1){animation-delay:.05s;}
.hero-content > *:nth-child(2){animation-delay:.14s;}
.hero-content > *:nth-child(3){animation-delay:.23s;}
.hero-content > *:nth-child(4){animation-delay:.32s;}
.hero-content > *:nth-child(5){animation-delay:.41s;}

/* ─── RESPONSIVE ──────────────────────────────────────────────────────── */
@media(max-width:900px){
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:2.25rem;}
  .newsletter-inner{grid-template-columns:1fr;padding:2.25rem;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:800px){
  :root{--nav-h:66px;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:66px;left:0;right:0;background:var(--white);padding:1.25rem var(--pad-x);border-bottom:1px solid var(--border);gap:1.1rem;z-index:99;box-shadow:var(--shadow);}
  .nav-links.open a{font-size:1rem;}
  .hamburger{display:block;}
  .nav-logo img{height:40px;}
  .nav-right{gap:.5rem;}
  #searchToggle{display:none;}
  .nav-cta{display:none;}
  .theme-btn{padding:6px 11px;font-size:.74rem;}
  .nav-mobile-only{display:list-item;}
  .search-bar{display:none;}
  .search-fab{display:flex;}
  #mainNav.nav-hidden{transform:translateY(-100%);}
  .hero{padding:3.25rem var(--pad-x);min-height:auto;text-align:left;}
  .hero::before{display:none;}
  .hero::after{display:none;}
  .hero-visual{display:none;}
  section{padding:3.5rem var(--pad-x);}
  .section-sub{margin-bottom:2rem;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .compare-select{min-width:100%;}
  .admin-layout{flex-direction:column;}
  .admin-sidebar{width:100%;}
}
@media(max-width:520px){
  .offer-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .newsletter-inner{padding:1.75rem;}
}

/* ─── REDUCED MOTION ──────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-content > *{animation:none;}
  .hero-visual{animation:none;}
  .offer-card:hover,.blog-card:hover,.template-card:hover,.resource-card:hover,.landmark-card:hover,.resolution-card:hover{transform:none;}
}

/* =====================================================================
   v3 ADDITIONS — SVG icon system, accessibility, article reading aids,
   refined components. Appended so the original cascade stays intact.
   ===================================================================== */

/* ── Inline icons (emoji glyphs + a few SVG brand/gavel marks) ───────── */
.ic{display:inline-block;vertical-align:-.16em;flex:0 0 auto;transition:transform .2s ease;}
.ic-emoji{line-height:1;font-style:normal;text-rendering:auto;}
button .ic,a .ic,.offer-link .ic,.blog-link .ic{vertical-align:middle;}

/* ── Accessibility helpers ──────────────────────────────────────────── */
.skip-link{position:fixed;top:-120px;left:12px;z-index:2000;background:var(--gold);color:var(--ink-on-gold);padding:10px 18px;border-radius:var(--r-sm);font-family:var(--uf);font-weight:600;font-size:.85rem;text-decoration:none;transition:top .2s ease;box-shadow:var(--shadow);}
.skip-link:focus{top:12px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* ── Typography polish ──────────────────────────────────────────────── */
.hero h1,.page-hero h1,.article-hero h1,.section-title{text-wrap:balance;}
.hero-sub,.page-hero p,.section-sub,.blog-card p,.offer-card p{text-wrap:pretty;}

/* ── Pressed feedback on all primary controls ───────────────────────── */
.btn-secondary:active,.nav-cta:active,.btn-dl:active,.btn-read:active,
.form-submit:active,.nl-form button:active,.search-bar-inner button:active{transform:translateY(0) scale(.985);}

/* ── Nav: theme toggle (icon swap, no text) ─────────────────────────── */
.theme-btn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);}
.theme-ic{display:none;align-items:center;justify-content:center;line-height:0;}
[data-theme=light] .theme-moon{display:inline-flex;}
[data-theme=dark] .theme-sun{display:inline-flex;}
.hamburger{align-items:center;justify-content:center;line-height:0;}

/* ── Offer / template card icons: emoji glyphs (no tile) ────────────── */
.offer-icon{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;background:none;border:none;font-size:2.3rem;line-height:1;margin-bottom:1rem;transition:transform .25s ease;}
.offer-card:hover .offer-icon{transform:scale(1.08);}
.offer-card.is-static{cursor:default;}
.offer-card.is-static:hover{transform:none;box-shadow:none;border-color:var(--border);}
.offer-card.is-static:hover .offer-icon{transform:none;}
.offer-link{display:inline-flex;align-items:center;gap:.35rem;}
.offer-card:hover .offer-link .ic{transform:translateX(3px);}

/* ── Blog link: use the SVG arrow, not the ::after glyph ─────────────── */
.blog-link::after{content:none;}
.blog-card:hover .blog-link .ic{transform:translateX(3px);}

/* ── Template / resolution card icon: emoji glyph ───────────────────── */
.template-icon{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;background:none;border:none;font-size:2.3rem;line-height:1;margin-bottom:.4rem;}

/* ── About: founder avatar + contact glyphs ─────────────────────────── */
.masked-avatar{color:var(--gold-ink);}
.contact-detail-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--gold-ink);}
.resource-glyph{color:var(--gold-ink);vertical-align:-.18em;}
.btn-dl-link{text-decoration:none;align-self:flex-start;}

/* ── Modals: icon-based glyphs ──────────────────────────────────────── */
.dl-modal-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--gold-ink);font-size:0;}
.share-subtitle{font-family:var(--uf);font-size:.85rem;color:var(--mid);margin-bottom:1.25rem;}
.share-opt{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;}
.share-copied{align-items:center;justify-content:center;gap:6px;}
.form-success{align-items:center;gap:6px;}

/* ── Footer: social "coming soon" chips ─────────────────────────────── */

/* ── Cookie banner: accept + decline ────────────────────────────────── */
.cookie-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;}
.cookie-decline{background:none;border:1px solid rgba(239,233,219,.28);color:var(--on-band);padding:8px 16px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;}
.cookie-decline:hover{border-color:var(--gold);color:var(--gold);}

/* ── FAQ toggle (rotates the + into an ×) ────────────────────────────── */
.faq-toggle{display:inline-flex;align-items:center;justify-content:center;color:var(--gold-ink);transition:transform .25s ease;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}

/* ── Generic helpers replacing former inline styles ─────────────────── */
.section-cta{text-align:center;margin-top:2.25rem;}
.empty-note{font-family:var(--uf);color:var(--muted);}
.newsletter-section{padding:4rem var(--pad-x);background:var(--white);}

/* ── Article: breadcrumb ────────────────────────────────────────────── */
.breadcrumb{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.4rem;font-family:var(--uf);font-size:.78rem;color:var(--muted);margin-bottom:1rem;}
.breadcrumb a{color:var(--mid);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--gold-ink);}
.breadcrumb .ic{color:var(--muted);opacity:.6;}
.breadcrumb span{color:var(--charcoal);}

/* ── Article: reading-progress bar ──────────────────────────────────── */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:200;pointer-events:none;}
.reading-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left center;background:var(--gold);}

/* ── Article: byline + updated chip + meta ──────────────────────────── */
.article-meta .byline{color:var(--mid);font-weight:500;}
.article-meta span{display:inline-flex;align-items:center;gap:.35rem;}
.meta-updated{color:var(--gold-ink);font-weight:500;}

/* ── Article: table of contents ─────────────────────────────────────── */
.toc{background:var(--alt);border:1px solid var(--hairline);border-left:3px solid var(--gold);border-radius:var(--r-md);padding:1.1rem 1.4rem;}
.toc-sticky{position:sticky;top:96px;}
.side-ad{margin-top:1.5rem;}
.toc-title{display:block;font-family:var(--uf);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);margin-bottom:.7rem;}
.toc ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;}
.toc a{font-family:var(--uf);font-size:.9rem;color:var(--mid);text-decoration:none;transition:color .2s;}
.toc a:hover{color:var(--gold-ink);}

/* ── Article: footer row, rule, related, inline newsletter ──────────── */
.rule{border:none;border-top:1px solid var(--border);margin:2.5rem 0;}
.article-footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.article-footer-note{font-family:var(--uf);font-size:.82rem;color:var(--muted);max-width:40ch;}
.related-block{margin-top:3rem;}
.related-title{font-family:var(--hf);font-size:1.4rem;color:var(--dark);margin-bottom:1.25rem;}
.article-nl{margin-top:2.5rem;background:var(--gold-tint);border:1px solid var(--gold-light);border-left:3px solid var(--gold);border-radius:var(--r-md);padding:1.5rem 1.6rem;}
.article-nl-tag{font-family:var(--uf);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);margin-bottom:.5rem;}
.article-nl p{font-family:var(--uf);font-size:.9rem;color:var(--mid);margin-bottom:1rem;}
.article-nl-row{display:flex;gap:.5rem;flex-wrap:wrap;}
.article-nl-row input[type=email]{flex:1;min-width:200px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--charcoal);font-family:var(--uf);font-size:.9rem;outline:none;transition:border-color .2s;}
.article-nl-row input[type=email]:focus{border-color:var(--gold);}
.article-nl-row button{background:var(--gold);color:var(--ink-on-gold);border:none;padding:10px 20px;border-radius:var(--r-sm);font-family:var(--uf);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,transform .15s;}
.article-nl-row button:hover{background:var(--gold-dark);}

/* ── Judgments footer row ───────────────────────────────────────────── */
.landmark-foot{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}

/* ── Search states ──────────────────────────────────────────────────── */
.search-count{font-family:var(--uf);font-size:.9rem;color:var(--mid);margin-bottom:1.5rem;}
.search-empty{text-align:center;padding:3rem 1rem;font-family:var(--uf);color:var(--muted);}
.search-empty-lead{font-size:1.1rem;margin-bottom:.5rem;color:var(--charcoal);}
.search-empty a{color:var(--gold-ink);font-weight:600;}

/* ── 404 / error page ───────────────────────────────────────────────── */
.error-page{padding-top:5rem;padding-bottom:5rem;}
.error-code{font-family:var(--hf);font-size:clamp(4rem,12vw,7rem);line-height:1;color:var(--gold);font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem;}
.error-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.75rem;}

/* ── Breadcrumb separators ──────────────────────────────────────────── */
.bc-sep{color:var(--muted);opacity:.5;}
.bc-current{color:var(--charcoal);}

/* ── Nav collapses to a hamburger BEFORE the links wrap/squish ──────── */
@media(max-width:1024px){
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--white);padding:1.25rem var(--pad-x);border-bottom:1px solid var(--border);gap:1.1rem;z-index:99;box-shadow:var(--shadow);}
  .nav-links.open a{font-size:1rem;white-space:normal;}
  .hamburger{display:block;}
  .nav-cta{display:none;}
  .nav-mobile-only{display:list-item;}
}

/* ── Article: collapse the two-column layout on smaller screens ─────── */
@media(max-width:900px){
  .article-body{grid-template-columns:1fr;gap:0;}
  .toc-side{order:-1;margin-bottom:1.75rem;}
  .toc-sticky{position:static;top:auto;}
}

/* ── Hero floating motifs: now emoji, sized as glyphs ───────────────── */
.fx-motif{display:flex;align-items:center;justify-content:center;width:auto;height:auto;line-height:1;filter:drop-shadow(0 6px 12px rgba(58,46,20,.18));}
/* fx-1 (scales) moved inward so it sits inside the cream wedge, not the white strip */
.fx-1{top:2%;left:24%;font-size:48px;opacity:.95;}
.fx-2{font-size:40px;opacity:.9;}
.fx-3{font-size:44px;opacity:.92;}
/* fx-4 is the custom gavel SVG (no gavel emoji exists) — sized + gold-tinted */
.fx-4{top:auto;bottom:9%;right:5%;width:46px;height:46px;color:var(--gold);opacity:.95;animation:fxBob 7.5s ease-in-out -2.2s infinite;}
