/* Quantum Litigation Group — v2d
   Style: dark + taupe + sunburst (soft-launch-final)
   IA: dual-practice (Family Law + Business Litigation) from v2c
   ======================================================== */

@font-face{font-family:'GT Super Display';src:url('assets/fonts/GT-Super-Display-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'GT Super Display';src:url('assets/fonts/GT-Super-Display-Medium.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:swap;}
@font-face{font-family:'Aktiv Grotesk';src:url('assets/fonts/AktivGrotesk_W_Lt.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Aktiv Grotesk';src:url('assets/fonts/AktivGrotesk_W_Rg.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Aktiv Grotesk';src:url('assets/fonts/AktivGrotesk_W_Md.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Aktiv Grotesk';src:url('assets/fonts/AktivGrotesk_W_SBd.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}

:root{
  --ash:#232122;
  --ash-soft:#2f2c2d;
  --cream:#EFDECE;
  --paper:#F4F0E8;
  --paper-2:#FBF9F4;
  --navy:#1F253E;
  --gold:#B0823A;
  --gold-soft:#C8A47E;
  --sand:#E6D0B3;
  --gray:#6D6966;
  --line:#E2DACB;
  --serif:'GT Super Display',Georgia,serif;
  --sans:'Aktiv Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);font-weight:300;background:var(--ash);color:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}

/* LF-03: fluid container — expands on wide screens, no hard center-lock */
.wrap{width:100%;max-width:1760px;margin:0 auto;padding:0 clamp(24px,5vw,96px);}
@media(min-width:1900px){.wrap{max-width:92vw;}}
@media(min-width:2400px){.wrap{max-width:2200px;}}

/* Match soft-launch: headings are SANS (Aktiv Grotesk Medium). Serif reserved for stat numbers, pull-quotes, buttons, italic emphasis. */
h1,h2,h3{font-family:var(--sans);font-weight:500;letter-spacing:-.005em;line-height:1.22;}
.eyebrow{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px;}

/* ======================================================
   HEADER / NAV — dark variant (LF-01)
   ====================================================== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--ash);
  border-bottom:1px solid rgba(237,214,186,.15);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px;}

/* LF-02: logo +25-30% bigger */
.brand{display:flex;align-items:center;}
.brand img{height:72px;display:block;}

.nav-links{display:flex;gap:clamp(14px,1.7vw,28px);align-items:center;list-style:none;}
.nav-links a{font-size:clamp(13.5px,1vw,14.5px);font-weight:500;color:var(--cream);transition:color .15s;white-space:nowrap;}
.nav-links a:hover{color:var(--gold-soft);}
.nav-cta{
  font-family:var(--serif)!important;
  font-size:15px!important;font-weight:400!important;
  text-transform:uppercase;letter-spacing:.08em;
  padding:13px 26px;
  background:var(--gold-soft);
  color:var(--ash)!important;
  border-radius:0;
  transition:background .2s ease,color .2s ease;
}
.nav-cta:hover{background:var(--ash)!important;color:var(--cream)!important;}

/* ---- nav dropdowns (dual-practice IA) ---- */
.has-dropdown{position:relative;}
.has-dropdown>a{display:block;padding:30px 0;}
.has-dropdown>a::after{content:" ▾";font-size:10px;color:var(--gold-soft);}
.dropdown{
  position:absolute;top:100%;left:-14px;z-index:60;
  background:var(--ash-soft);
  border:1px solid rgba(237,214,186,.18);
  padding:8px 0;min-width:272px;
  box-shadow:0 24px 48px -24px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transform:translateY(7px);
  transition:opacity .14s,transform .14s;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:10px 20px;
  font-size:13.5px;font-weight:500;color:var(--cream);white-space:nowrap;
}
.dropdown a:hover{background:rgba(200,164,126,.12);color:var(--gold-soft);}
.dropdown a:first-child{
  border-bottom:1px solid rgba(237,214,186,.12);
  margin-bottom:4px;padding-bottom:12px;
}

/* mobile toggle */
.menu-btn{display:none;background:none;border:0;font-size:24px;cursor:pointer;color:var(--cream);}

/* phone in nav */
.nav-phone{
  display:flex;align-items:center;gap:8px;
  font-size:14px;font-weight:500;letter-spacing:.04em;
  color:#9A9693;
  transition:color .15s;
}
.nav-phone:hover{color:var(--gold-soft);}

/* ======================================================
   HERO — dark with sunburst watermark (LF-01)
   ====================================================== */
.hero{
  background:var(--ash);
  color:var(--cream);
  padding:120px 0 110px;
  position:relative;overflow:hidden;
}
.hero-mark{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:760px;height:760px;
  opacity:.055;
  pointer-events:none;user-select:none;
}
.hero .wrap{position:relative;z-index:1;}
.hero .eyebrow{color:var(--gold-soft);}
.hero h1{font-size:clamp(38px,5vw,60px);margin:0 0 24px;color:#FAF7F2;max-width:26ch;line-height:1.18;}
.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold-soft);}
.hero-sub{font-size:18px;line-height:1.7;color:#E6D0B3;max-width:68ch;margin-bottom:36px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.hero-micro{font-size:13px;color:var(--gray);margin-top:16px;}

/* ======================================================
   PAGE HERO (subpages)
   ====================================================== */
.page-hero{background:var(--ash);color:var(--cream);padding:88px 0 80px;position:relative;overflow:hidden;}
.page-hero::after{
  content:"";position:absolute;right:-120px;top:-120px;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,164,126,.13),transparent 68%);
}
.page-hero .wrap{position:relative;z-index:1;}
.page-hero .eyebrow{color:var(--gold-soft);}
.page-hero h1{font-size:clamp(30px,4vw,48px);margin:0 0 16px;color:var(--cream);max-width:22ch;line-height:1.22;}
.page-hero p{font-size:17px;line-height:1.65;color:#E6D0B3;max-width:62ch;}
.breadcrumb{font-size:13px;color:var(--gray);padding-top:8px;margin-bottom:12px;}
.breadcrumb a{color:var(--gray);}
.breadcrumb a:hover{color:var(--gold-soft);}

/* ======================================================
   SECTIONS
   ====================================================== */
.section{padding:88px 0;}
.section-dark{background:var(--ash);color:var(--cream);}
.section-navy{background:var(--navy);color:var(--cream);}
.section-cream{background:var(--cream);color:var(--ash);}
.section-alt{background:var(--ash-soft);}

.section-head{max-width:82ch;margin-bottom:48px;}
.section-head h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 16px;line-height:1.25;}
.section-dark .section-head h2,
.section-navy .section-head h2,
.section-alt .section-head h2{color:var(--cream);}
.section-cream .section-head h2{color:var(--ash);}
.section-head p{font-size:17px;color:var(--gray);}
.section-dark .section-head p,
.section-navy .section-head p,
.section-alt .section-head p{color:#cfc6b8;}
.section-cream .section-head p{color:var(--ash);}

/* ======================================================
   STATS STRIP
   ====================================================== */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  border-top:1px solid rgba(237,214,186,.18);
  border-bottom:1px solid rgba(237,214,186,.18);
  padding:48px 0;
}
.stat .n{font-family:var(--serif);font-size:48px;font-weight:500;line-height:1.1;color:var(--gold-soft);}
.stat .l{font-size:13px;font-weight:500;color:var(--gray);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;}

/* ======================================================
   BUTTONS
   ====================================================== */
/* Buttons — soft-launch treatment: serif, uppercase, 0.08em tracking, inverting hover */
.btn{
  display:inline-block;
  font-family:var(--serif);font-weight:400;font-size:16px;
  text-transform:uppercase;letter-spacing:.08em;
  padding:16px 32px;border:none;cursor:pointer;
  transition:background 200ms ease,color 200ms ease,transform 120ms ease;
}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--gold-soft);color:var(--ash);}
.btn-primary:hover{background:var(--ash);color:var(--cream);}
.btn-ghost{background:transparent;border:1px solid var(--gold-soft);color:var(--gold-soft);}
.btn-ghost:hover{background:var(--gold-soft);color:var(--ash);}
.btn-ghost:hover span{color:var(--ash);}
.btn-dark{background:var(--cream);color:var(--ash);}
.btn-dark:hover{background:var(--gold-soft);color:var(--ash);}

/* ======================================================
   TWO PILLARS (homepage)
   ====================================================== */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.pillar{
  background:var(--ash-soft);
  border:1px solid rgba(237,214,186,.15);
  padding:40px 36px;
  display:flex;flex-direction:column;
  transition:transform .15s,border-color .2s;
}
.pillar:hover{transform:translateY(-3px);border-color:rgba(200,164,126,.4);}
.pillar .tag{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);}
.pillar h3{font-size:24px;line-height:1.25;margin:12px 0 12px;color:var(--cream);}
.pillar p{font-size:15.5px;color:var(--gray);margin-bottom:20px;}
.pillar ul{list-style:none;margin-bottom:26px;}
.pillar li{font-size:14.5px;padding:7px 0;border-top:1px solid rgba(237,214,186,.12);color:#cfc6b8;}
.pillar li:first-child{border-top:0;}
.pillar .more{margin-top:auto;font-weight:600;font-size:14.5px;color:var(--gold-soft);}

/* ======================================================
   GENERIC 3-GRID CARDS
   ====================================================== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{
  background:var(--ash-soft);
  border:1px solid rgba(237,214,186,.12);
  padding:32px 28px;
}
/* Cards on cream sections: WHITE cards (soft-launch pattern) */
.section-cream .card,.section-alt .card{background:#fff;border-color:#EAE2D2;padding:40px 32px;}
.section-cream .card:hover{border-color:var(--gold-soft);transform:translateY(-2px);transition:transform .2s ease,border-color .2s ease;}
.card h3{font-size:22px;line-height:1.3;margin-bottom:12px;color:var(--cream);}
.section-cream .card h3,.section-alt .card h3{color:var(--ash);}
.card p{font-size:16px;color:var(--gray);line-height:1.7;}
.section-cream .card p,.section-alt .card p{color:#4A4744;}
.card .num{font-family:var(--serif);font-size:15px;color:var(--gold-soft);margin-bottom:10px;display:block;}
.card .more{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold-soft);}

/* ======================================================
   CREDENTIALS / BADGES BAND
   ====================================================== */
.badges-band{
  padding:56px 0;
  background:var(--paper);
  border-top:1px solid rgba(35,33,34,.08);
  border-bottom:1px solid rgba(35,33,34,.08);
}
.badges-label{
  text-align:center;font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--ash);margin-bottom:28px;
}
.badges{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;}
.badges img{height:88px;width:auto;opacity:.95;transition:opacity .2s,transform .2s;}
.badges img:hover{opacity:1;transform:scale(1.04);}

/* ======================================================
   FOUNDER / AUTHORITY SECTION
   ====================================================== */
.founder-layout{display:grid;grid-template-columns:320px 1fr;gap:52px;align-items:start;}
.founder-layout img{width:100%;display:block;}

/* ======================================================
   CTA BAND
   ====================================================== */
.cta-band{background:var(--navy);color:var(--cream);text-align:center;padding:88px 0;}
.cta-band h2{font-size:clamp(24px,2.8vw,32px);line-height:1.25;margin-bottom:10px;color:var(--cream);}
.cta-band p{color:#E6D0B3;margin-bottom:32px;font-size:16px;}

/* ======================================================
   FOOTER
   ====================================================== */
.site-footer{background:var(--ash);color:#bdb4a6;padding:64px 0 32px;border-top:1px solid rgba(237,214,186,.12);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px;}
.site-footer .brand{margin-bottom:16px;}
.site-footer .brand img{height:52px;display:block;}
.site-footer h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:14px;font-family:var(--sans);font-weight:600;}
.site-footer ul{list-style:none;}
.site-footer li{padding:5px 0;font-size:14px;color:#bdb4a6;}
.site-footer a:hover{color:var(--cream);}
.foot-bar{
  border-top:1px solid rgba(237,214,186,.12);
  padding-top:24px;font-size:12.5px;color:var(--gray);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}

/* ======================================================
   PROSE / DEEP-PAGE CONTENT
   ====================================================== */
.prose{max-width:70ch;}
.prose h2{font-size:32px;line-height:1.25;margin:46px 0 20px;color:var(--cream);}
.prose h3{font-size:22px;line-height:1.3;margin:36px 0 12px;color:var(--cream);}
.prose p{margin-bottom:18px;font-size:17px;color:#cfc6b8;line-height:1.7;}
.prose strong{color:var(--cream);font-weight:600;}
.pull{
  font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.45;
  color:var(--gold-soft);
  border-left:3px solid var(--gold-soft);padding-left:24px;margin:36px 0;
}

/* section-cream prose overrides */
.section-cream .prose h2,
.section-cream .prose h3{color:var(--ash);}
.section-cream .prose p{color:var(--ash);}
.section-cream .pull{color:var(--navy);}

/* ======================================================
   LAYOUT: prose + aside
   ====================================================== */
.layout{display:grid;grid-template-columns:1fr 300px;gap:52px;align-items:start;}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px;}
.related{
  background:var(--ash-soft);
  border:1px solid rgba(237,214,186,.12);
  padding:26px 28px;
}
.related h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:10px;font-family:var(--sans);font-weight:600;}
.related ul{list-style:none;}
.related li{padding:9px 0;border-top:1px solid rgba(237,214,186,.1);font-size:14.5px;color:#cfc6b8;}
.related li:first-child{border-top:0;}
.related li a:hover{color:var(--gold-soft);}

/* ======================================================
   STAT LINE (3 dark stat boxes)
   ====================================================== */
.statline{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:8px 0 32px;}
.statline .s{background:var(--ash-soft);border:1px solid rgba(237,214,186,.12);padding:26px 28px;}
.statline .s .v{font-family:var(--serif);font-size:38px;color:var(--gold-soft);line-height:1;}
.statline .s .k{font-size:13px;color:var(--gray);margin-top:8px;}

/* ======================================================
   MID-CTA (inline CTA box)
   ====================================================== */
.midcta{background:var(--navy);color:#FAF7F2;padding:36px 40px;margin:40px 0;border-left:3px solid var(--gold-soft);}
.midcta h3{color:#FAF7F2;font-size:22px;font-weight:500;margin-bottom:10px;}
.midcta p{color:#E6D0B3;font-size:16px;line-height:1.65;font-weight:400;margin-bottom:22px;}
/* Specificity boosters: defeat .section-cream .prose h3/p which would otherwise win inside a prose-nested midcta */
.section-cream .prose .midcta h3,
.section-cream--alt .prose .midcta h3,
.section-dark .prose .midcta h3{color:#FAF7F2;}
.section-cream .prose .midcta p,
.section-cream--alt .prose .midcta p,
.section-dark .prose .midcta p{color:#E6D0B3;}
.section-cream .prose .midcta strong,
.section-cream--alt .prose .midcta strong{color:#FAF7F2;}

/* ======================================================
   FAQ ACCORDION
   ====================================================== */
.faq{margin-top:8px;}
.faq details{border-top:1px solid rgba(237,214,186,.14);padding:4px 0;}
.faq details[open]{padding-bottom:8px;}
.faq summary{
  font-family:var(--sans);font-weight:500;font-size:18px;
  padding:18px 0;cursor:pointer;list-style:none;color:var(--cream);
  letter-spacing:-.005em;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";float:right;color:var(--gold-soft);font-family:var(--sans);}
.faq details[open] summary::after{content:"–";}
.faq .a{font-size:15px;color:#cfc6b8;padding-bottom:14px;line-height:1.7;}

/* ======================================================
   COMPARISON TABLE
   ====================================================== */
.cmp{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;}
.cmp th,.cmp td{border:1px solid rgba(237,214,186,.14);padding:12px 14px;text-align:left;vertical-align:top;}
.cmp thead th{background:var(--navy);color:var(--cream);font-weight:600;}
.cmp td:first-child,.cmp tbody th{background:var(--ash-soft);font-weight:600;color:var(--cream);}
.cmp td{color:#cfc6b8;}

/* ======================================================
   FORMULA BOX
   ====================================================== */
.formula{background:var(--navy);color:var(--cream);padding:28px 32px;text-align:center;margin:28px 0;}
.formula .f{font-family:var(--serif);font-size:19px;color:var(--gold-soft);}
.formula .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:12px;}

/* ======================================================
   ATTORNEYS / RESULTS
   ====================================================== */
.people{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.person{background:transparent;border:none;padding:0 0 8px;}
.person img{width:100%;height:420px;object-fit:cover;object-position:top center;display:block;margin-bottom:20px;border-radius:2px;}
.person .role{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);}
.person h3{font-size:23px;font-weight:500;margin:8px 0 12px;color:var(--cream);}
.person p{font-size:14.5px;color:var(--gray);}
/* Light-section overrides */
.section-cream .person h3,
.section-cream--alt .person h3{color:var(--ash);}
.section-cream .person p,
.section-cream--alt .person p{color:#4A4744;}
.section-cream .person .role,
.section-cream--alt .person .role{color:var(--gold);}

.matter{background:var(--ash-soft);border:1px solid rgba(237,214,186,.12);padding:28px 32px;margin-bottom:20px;}
.matter .tag{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);}
.matter h3{font-size:20px;margin:8px 0 16px;color:var(--cream);}
.matter dl{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;font-size:14.5px;}
.matter dt{font-weight:600;color:var(--cream);}
.matter dd{color:var(--gray);}

/* ======================================================
   CONTACT
   ====================================================== */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:52px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--cream);}
.field input,.field select,.field textarea{
  width:100%;padding:13px 16px;
  border:1px solid rgba(237,214,186,.2);
  background:var(--ash-soft);
  color:var(--cream);
  font-family:inherit;font-size:14.5px;
}
.field textarea{min-height:110px;resize:vertical;}
.info-row{display:flex;gap:14px;padding:16px 0;border-top:1px solid rgba(237,214,186,.12);font-size:15px;color:#cfc6b8;}
.info-row:first-of-type{border-top:0;}
.info-row b{min-width:78px;color:var(--cream);}
.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--gold-soft);}

/* ======================================================
   TAX DISCLAIMER
   ====================================================== */
.tax-disclaimer{
  background:rgba(31,37,62,.6);
  border:1px solid rgba(200,164,126,.25);
  border-left:3px solid var(--gold-soft);
  padding:20px 24px;margin:32px 0;font-size:14px;color:#cfc6b8;line-height:1.7;
}

/* ======================================================
   RESPONSIVE — mobile
   ====================================================== */
/* Mid-width: shrink logo + tighten CTA so nav fits cleanly before hamburger */
@media(max-width:1180px){
  .brand img{height:60px;}
  .nav-cta{padding:11px 20px;font-size:14px!important;}
  .nav{height:80px;}
}

@media(max-width:1024px){
  .wrap{padding:0 24px;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;z-index:60;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--ash);border-bottom:1px solid rgba(237,214,186,.15);
    padding:6px 22px 18px;max-height:82vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
    box-shadow:0 22px 34px -24px rgba(0,0,0,.7);
  }
  .nav-links.open{display:flex;}
  .nav-links>li{width:100%;}
  .nav-links>li>a{display:block;padding:14px 2px;border-bottom:1px solid rgba(237,214,186,.12);font-size:15px;}
  .has-dropdown>a{padding:14px 2px;}
  .has-dropdown>a::after{display:none;}
  .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    background:transparent;border:0;box-shadow:none;min-width:0;padding:0 0 6px 16px;
  }
  .dropdown a{padding:11px 4px;font-size:13.5px;border-bottom:1px solid rgba(237,214,186,.1);white-space:normal;}
  .dropdown a:first-child{margin-bottom:0;padding-bottom:11px;}
  .nav-links .nav-cta{
    border:0;border-radius:0;background:transparent;
    border-bottom:1px solid rgba(237,214,186,.12);
    padding:14px 2px;color:var(--gold-soft)!important;
  }
  .menu-btn{display:block;}

  .pillars,.grid-3,.stats,.contact-grid,.foot-grid,.people,.founder-layout,.layout,.statline{grid-template-columns:1fr;}
  .stats{gap:28px;}
  .section{padding:64px 0;}
  .hero{padding:88px 0 80px;}
  .page-hero{padding:64px 0 60px;}
  .badges{gap:28px;}
  .badges img{height:60px;}
  .aside{position:static;}
  .cmp{font-size:12.5px;}
  .cta-band{padding:64px 0;}
}

@media(max-width:480px){
  .grid-3{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .people{grid-template-columns:1fr;}
}

/* ======================================================
   HOMEPAGE — soft-launch layout (centered hero, light section flow, large founder photo)
   ====================================================== */

/* Centered hero variant */
.hero--center{text-align:center;padding:160px 0 120px;}
.hero--center .hero-inner{max-width:780px;margin:0 auto;}
.hero--center .eyebrow{margin-bottom:20px;}
.hero--center h1{max-width:none;margin:0 0 24px;}
.hero--center .hero-sub{max-width:680px;margin:0 auto 36px;}
.hero--center .hero-actions{justify-content:center;}
.hero--center .hero-micro{color:#6D6966;margin-top:12px;}

/* Centered section heads */
.section-head--center{margin:0 auto 56px;text-align:center;max-width:680px;}

/* Cream section variations */
.section-cream{background:#FAF7F2;color:var(--ash);}
.section-cream--alt{background:#F4F0E8;}
.section-cream .eyebrow,
.section-cream--alt .eyebrow{color:var(--gold);}
.section-cream .section-head h2,
.section-cream--alt .section-head h2{color:var(--ash);}
.section-cream .section-head p,
.section-cream--alt .section-head p{color:#4A4744;}

/* White cards on cream */
.card--white{background:#fff;border:1px solid #EAE2D2;padding:44px 36px;}
.card--white h3{color:var(--ash);font-size:22px;line-height:1.3;margin-bottom:14px;}
.card--white p{color:#4A4744;font-size:16px;line-height:1.7;}

/* White pillars on cream */
.pillars--light .pillar--white{background:#fff;border:1px solid #EAE2D2;}
.pillars--light .pillar--white .tag{color:var(--gold);}
.pillars--light .pillar--white h3{color:var(--ash);}
.pillars--light .pillar--white p{color:#4A4744;}
.pillars--light .pillar--white li{border-color:rgba(35,33,34,.08);color:#4A4744;}
.pillars--light .pillar--white .more{color:var(--gold);}
.pillars--light .pillar--white:hover{border-color:var(--gold-soft);}

/* Stats — light cream variant */
.stats-band{padding:80px 0;}
.stats--cream{border:none;padding:0;text-align:center;}
.stats--cream .n{color:var(--ash);}
.stats--cream .l{color:#6D6966;}

/* Authority / Founder section — dark bg, photo right */
.authority{background:var(--ash);padding:120px 0;}
.authority-inner{
  display:grid;grid-template-columns:1.05fr 1fr;
  gap:80px;align-items:center;
}
.authority-text .eyebrow{margin-bottom:14px;}
.authority-text h2{color:#FAF7F2;font-size:clamp(30px,3.4vw,40px);line-height:1.22;margin:0 0 24px;max-width:18ch;}
.authority-text p{font-size:18px;line-height:1.75;color:#BDB8B4;margin-bottom:20px;}
.authority-text p strong{color:#FAF7F2;font-weight:500;}
.authority-text .pull{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:22px;line-height:1.5;
  color:var(--gold-soft);
  border-left:3px solid var(--gold-soft);
  padding:8px 0 8px 24px;margin:32px 0;
}
.authority-link{
  display:inline-block;margin-top:10px;
  font-size:15px;font-weight:500;letter-spacing:.03em;
  color:var(--gold-soft);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease,color .2s ease;
}
.authority-link:hover{color:#E6D0B3;border-bottom-color:var(--gold-soft);}
.authority-photo-wrap{position:relative;}
.authority-photo{
  width:100%;aspect-ratio:3/4;
  object-fit:cover;object-position:center top;
  display:block;
}

/* Testimonial — cream variant */
.testimonial--cream{text-align:center;background:#FAF7F2;}
.testimonial--cream .eyebrow{color:var(--gold);}
.testimonial--cream .testimonial-inner{max-width:780px;margin:0 auto;}
.testimonial--cream blockquote{
  font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.5;
  color:var(--ash);margin:24px 0;padding:0;border:none;
}
.testimonial--cream cite{
  font-style:normal;font-size:13px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:#6D6966;
}

/* CTA band inner wrapper */
.cta-band-inner{max-width:680px;margin:0 auto;}

/* Mobile adjustments */
@media(max-width:968px){
  .authority-inner{grid-template-columns:1fr;gap:48px;}
  .authority-photo-wrap{order:-1;}
  .authority-photo{max-height:520px;aspect-ratio:auto;}
  .hero--center{padding:120px 0 96px;}
  .pillars--light{grid-template-columns:1fr;}
}

/* ======================================================
   CREAM-CONTEXT OVERRIDES — applied when content lives inside .section-cream / .section-cream--alt
   These complete the dark→light sweep started for the homepage layout pattern.
   ====================================================== */

/* Soften prose body text on cream + bump to weight 400 (body default is 300, too thin on light bg) */
.section-cream,
.section-cream--alt{font-weight:400;}
.section-cream .prose p,
.section-cream--alt .prose p{color:#4A4744;line-height:1.75;font-weight:400;}
.section-cream .prose strong,
.section-cream--alt .prose strong{color:var(--ash);font-weight:600;}

/* Pull-quote on cream: navy text + gold border (soft-launch reference uses near-black; navy gives differentiation) */
.section-cream .pull,
.section-cream--alt .pull{color:var(--navy);}

/* Related/aside boxes on cream */
.section-cream .related,
.section-cream--alt .related{background:#fff;border-color:#EAE2D2;}
.section-cream .related h4,
.section-cream--alt .related h4{color:var(--gold);}
.section-cream .related li,
.section-cream--alt .related li{color:#4A4744;border-color:rgba(35,33,34,.08);}
.section-cream .related li a:hover,
.section-cream--alt .related li a:hover{color:var(--gold);}

/* FAQ accordion on cream */
.section-cream .faq details,
.section-cream--alt .faq details{border-color:rgba(35,33,34,.12);}
.section-cream .faq details summary,
.section-cream--alt .faq details summary{color:var(--ash);font-weight:500;}
.section-cream .faq summary::after,
.section-cream--alt .faq summary::after{color:var(--gold);}
.section-cream .faq .a,
.section-cream--alt .faq .a{color:#4A4744;}

/* Comparison table on cream */
.section-cream .cmp th,
.section-cream .cmp td,
.section-cream--alt .cmp th,
.section-cream--alt .cmp td{border-color:rgba(35,33,34,.12);}
.section-cream .cmp thead th,
.section-cream--alt .cmp thead th{background:var(--navy);color:var(--cream);}
.section-cream .cmp td:first-child,
.section-cream .cmp tbody th,
.section-cream--alt .cmp td:first-child,
.section-cream--alt .cmp tbody th{background:#F4F0E8;color:var(--ash);}
.section-cream .cmp td,
.section-cream--alt .cmp td{color:#4A4744;}

/* Statline (3 boxes) on cream */
.section-cream .statline .s,
.section-cream--alt .statline .s{background:#fff;border-color:#EAE2D2;}
.section-cream .statline .s .k,
.section-cream--alt .statline .s .k{color:#6D6966;}

/* Mid-CTA box on cream — keep navy bg (already dark, contrast intentional) */
/* No override needed; .midcta already styled with navy bg + cream text. */

/* Formula box on cream — keep navy bg (already dark) */
/* No override needed. */

/* Card num & more colors on cream — gold for visibility on white */
.section-cream .card .num,
.section-cream--alt .card .num{color:var(--gold);}
.section-cream .card .more,
.section-cream--alt .card .more{color:var(--gold);}

/* Section-head h2/p on cream-alt (mirror cream rule that already exists) */
.section-cream--alt .section-head h2{color:var(--ash);}
.section-cream--alt .section-head p{color:#4A4744;}

/* Eyebrow on cream — gold (darker variant, more legible than gold-soft on light) */
.section-cream .eyebrow,
.section-cream--alt .eyebrow{color:var(--gold);}

/* Tax disclaimer on cream */
.section-cream .tax-disclaimer,
.section-cream--alt .tax-disclaimer{
  background:rgba(31,37,62,.05);
  border:1px solid rgba(35,33,34,.12);
  border-left:3px solid var(--gold);
  color:#4A4744;
}

/* ======================================================
   CONTACT FORM + INFO ROWS — cream-section variants (contrast fix)
   ====================================================== */
.section-cream .info-row,
.section-cream--alt .info-row{
  color:#4A4744;
  border-top-color:rgba(35,33,34,.12);
}
.section-cream .info-row b,
.section-cream--alt .info-row b{color:var(--ash);font-weight:600;}
.section-cream .info-row a,
.section-cream--alt .info-row a{color:var(--ash);border-bottom:1px solid rgba(35,33,34,.2);}
.section-cream .info-row a:hover,
.section-cream--alt .info-row a:hover{color:var(--gold);border-bottom-color:var(--gold);}

.section-cream .field label,
.section-cream--alt .field label{color:var(--ash);font-weight:600;}
.section-cream .field input,
.section-cream .field select,
.section-cream .field textarea,
.section-cream--alt .field input,
.section-cream--alt .field select,
.section-cream--alt .field textarea{
  background:#fff;
  border:1px solid #EAE2D2;
  color:var(--ash);
}
.section-cream .field input::placeholder,
.section-cream--alt .field input::placeholder,
.section-cream .field textarea::placeholder,
.section-cream--alt .field textarea::placeholder{color:#9A9693;}
.section-cream .field input:focus,
.section-cream .field select:focus,
.section-cream .field textarea:focus,
.section-cream--alt .field input:focus,
.section-cream--alt .field select:focus,
.section-cream--alt .field textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}

/* Matter cards on cream sections — white card with dark text (results page) */
.section-cream .matter,
.section-cream--alt .matter{background:#fff;border-color:#EAE2D2;padding:36px 40px;}
.section-cream .matter .tag,
.section-cream--alt .matter .tag{color:var(--gold);}
.section-cream .matter h3,
.section-cream--alt .matter h3{color:var(--ash);font-size:22px;line-height:1.3;}
.section-cream .matter dt,
.section-cream--alt .matter dt{color:var(--ash);font-weight:600;}
.section-cream .matter dd,
.section-cream--alt .matter dd{color:#4A4744;line-height:1.65;}
