:root{
  --ink:#1B1D22;
  --ink-2:#242730;
  --paper:#EAE4D6;
  --paper-2:#DFD8C6;
  --brass:#C08A3E;
  --brass-dim:#8A6329;
  --slate:#7C9891;
  --text-muted:#5B584F;
  --line:#c9c0aa;
  --white:#FBF9F4;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{ background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
h1,h2,h3,.serif{ font-family:'Fraunces',serif; font-weight:500; letter-spacing:-0.01em; color:var(--ink); }
a{color:inherit;} img{display:block;max-width:100%;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }
a:focus-visible, button:focus-visible{outline:2px solid var(--brass); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

header.nav{ position:sticky; top:0; z-index:60; background:rgba(234,228,214,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); }
.util-bar{ background:var(--paper-2); border-bottom:1px solid var(--line); padding:14px 32px; }
.util-bar .wrap{ display:flex; justify-content:center; align-items:center; gap:14px; padding:0; max-width:1120px; }
.util-bar .util-label{ font-size:12.5px; color:var(--text-muted); }
.util-bar a{ display:inline-flex; align-items:center; font-size:13.5px; font-weight:500; color:var(--ink); text-decoration:none; border:1px solid var(--line); background:var(--white); padding:6px 16px; }
.util-bar a:hover{ border-color:var(--brass-dim); color:var(--brass-dim); }
@media (max-width:640px){ .util-bar{ padding:12px 20px; } .util-bar .wrap{ flex-wrap:wrap; } }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:20px 32px; max-width:1120px; margin:0 auto; }
.nav-inner .links{ margin-right:170px; }
.brand{ font-family:'Fraunces',serif; text-decoration:none; color:var(--ink); display:inline-flex; align-items:center; gap:9px; position:relative; z-index:2; opacity:0; transform:scale(1.08); animation:brandFadeIn 0.7s ease forwards 0.1s; }
@keyframes brandFadeIn{ to{ opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion: reduce){
  .brand{ opacity:1; transform:none; animation:none; }
}
.brand .mark{ width:24px; height:24px; color:var(--brass-dim); flex-shrink:0; }
.brand .mark .lotus-petals{ stroke-dasharray:140; stroke-dashoffset:140; animation:drawPath 0.6s ease forwards 0.5s; }
.brand .mark .lotus-stem{ stroke-dasharray:24; stroke-dashoffset:24; animation:drawPath 0.25s ease forwards 1s; }
.brand .mark .lotus-curves{ stroke-dasharray:32; stroke-dashoffset:32; animation:drawPath 0.3s ease forwards 1.15s; }
@keyframes drawPath{ to{ stroke-dashoffset:0; } }
@media (prefers-reduced-motion: reduce){
  .brand .mark .lotus-petals, .brand .mark .lotus-stem, .brand .mark .lotus-curves{ stroke-dashoffset:0; animation:none; }
}
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-text .word{ font-size:22px; font-weight:600; color:var(--ink); }
.brand-sub{ font-family:'Inter',sans-serif; font-size:8.5px; letter-spacing:0.16em; color:var(--brass-dim); text-transform:uppercase; margin-top:1px; }
@media (prefers-reduced-motion: reduce){
  .brand-text .word .l{ opacity:1; transform:none; animation:none; }
  .brand-sub{ opacity:1; animation:none; }
}
header.nav{ overflow:visible; }
nav.links{ display:flex; gap:26px; font-size:14px; }
nav.links a{ text-decoration:none; color:var(--ink); border-bottom:1px solid transparent; padding-bottom:2px; }
nav.links a:hover{ border-bottom-color:var(--brass-dim); }
.nav-cta{ font-size:14px; padding:9px 18px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); text-decoration:none; white-space:nowrap; }
.nav-cta:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
@media (max-width:900px){ nav.links{display:none;} }

/* ---------- MOBILE MENU ---------- */
.nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:34px; height:34px; background:none; border:none; cursor:pointer; padding:0; margin-left:12px; }
.nav-toggle span{ display:block; width:100%; height:2px; background:var(--ink); transition:transform 0.25s ease, opacity 0.25s ease; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (max-width:900px){ .nav-toggle{ display:flex; } }
.mobile-menu{ display:none; }
@media (max-width:900px){
  .mobile-menu{ display:block; max-height:0; overflow:hidden; transition:max-height 0.3s ease; background:var(--paper); border-bottom:1px solid var(--line); }
  .mobile-menu.open{ max-height:480px; }
  .mobile-menu-inner{ padding:8px 32px 28px; display:flex; flex-direction:column; gap:16px; max-width:1120px; margin:0 auto; }
}
@media (max-width:640px){ .mobile-menu-inner{ padding:8px 20px 28px; } }
.mobile-menu-inner a{ font-size:15.5px; color:var(--ink); text-decoration:none; }
.mobile-menu-inner a:hover{ color:var(--brass-dim); }
.mobile-menu-inner .nav-cta{ margin-top:6px; text-align:center; display:block; }

/* ---------- CINEMATIC HERO (index only) ---------- */
.hero{ position:relative; min-height:92vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink); }
.hero video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(27,29,34,0.15) 0%, rgba(27,29,34,0.55) 60%, rgba(27,29,34,0.92) 100%); }
.hero-content{ position:relative; z-index:2; padding:0 0 72px; width:100%; }
.hero-content .kicker{ font-size:14px; color:var(--slate); margin-bottom:20px; border-left:2px solid var(--brass); padding-left:12px; text-transform:uppercase; letter-spacing:0.08em; }
.hero-content h1{ color:var(--paper); font-size:clamp(38px,6vw,72px); line-height:1.04; max-width:16ch; margin-bottom:24px; }
.hero-content p.lead{ color:#C9C4B6; font-size:19px; max-width:46ch; margin-bottom:32px; }
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.btn-primary{ background:var(--brass); color:var(--ink); text-decoration:none; padding:14px 26px; font-size:15px; font-weight:600; display:inline-block; border:1px solid var(--brass); }
.btn-primary:hover{ background:var(--paper); border-color:var(--paper); }
.btn-ghost{ border:1px solid #B9B4A6; color:var(--paper); text-decoration:none; padding:13px 26px; font-size:15px; display:inline-block; }
.btn-ghost:hover{ background:var(--paper); color:var(--ink); border-color:var(--paper); }
.btn-solid-light{ background:var(--paper); color:var(--ink); text-decoration:none; padding:13px 26px; font-size:15px; font-weight:600; display:inline-block; border:1px solid var(--ink); }
.btn-solid-light:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.btn-solid-dark-cta{ background:var(--ink-2); color:var(--paper); text-decoration:none; padding:13px 26px; font-size:15px; font-weight:600; display:inline-block; border:1px solid #4A4C50; }
.btn-solid-dark-cta:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.btn-ghost-dark{ border:1px solid var(--ink); color:var(--ink); text-decoration:none; padding:13px 26px; font-size:15px; display:inline-block; white-space:nowrap; }
.btn-ghost-dark:hover{ background:var(--ink); color:var(--paper); }
.btn-solid-dark{ background:var(--ink); color:var(--paper); text-decoration:none; padding:13px 26px; font-size:15px; font-weight:600; display:inline-block; border:1px solid var(--ink); white-space:nowrap; }
.btn-solid-dark:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.hero-note{ position:absolute; z-index:2; top:100px; right:32px; font-size:12.5px; color:#9A9587; max-width:22ch; text-align:right; }
@media (max-width:760px){ .hero-note{display:none;} .hero{min-height:78vh;} }
.hero-content .kicker{ opacity:0; animation:heroFadeUp 0.6s ease forwards 0.35s; }
.hero-content h1{ opacity:0; animation:heroFadeUp 0.7s ease forwards 0.55s; }
.hero-content p.lead{ opacity:0; animation:heroFadeUp 0.7s ease forwards 0.85s; }
.hero-content .hero-actions{ opacity:0; animation:heroFadeUp 0.7s ease forwards 1.1s; }
@keyframes heroFadeUp{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }

/* ---------- SCROLL REVEAL (generic) ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 0.75s ease, transform 0.75s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ---------- BIG RING REVEAL (brand-define-band) ---------- */
.brand-define-band .lockup .lotus-petals-lg{ stroke-dasharray:140; stroke-dashoffset:140; }
.brand-define-band .lockup .lotus-stem-lg{ stroke-dasharray:24; stroke-dashoffset:24; }
.brand-define-band .lockup .lotus-curves-lg{ stroke-dasharray:32; stroke-dashoffset:32; }
.brand-define-band .lockup.is-visible .lotus-petals-lg{ animation:drawPathLg 0.8s ease forwards; }
.brand-define-band .lockup.is-visible .lotus-stem-lg{ animation:drawPathLg 0.35s ease forwards 0.7s; }
.brand-define-band .lockup.is-visible .lotus-curves-lg{ animation:drawPathLg 0.4s ease forwards 0.9s; }
@keyframes drawPathLg{ to{ stroke-dashoffset:0; } }

@media (prefers-reduced-motion: reduce){
  .hero-content .kicker, .hero-content h1, .hero-content p.lead, .hero-content .hero-actions{ opacity:1; animation:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .brand-define-band .lockup .lotus-petals-lg, .brand-define-band .lockup .lotus-stem-lg, .brand-define-band .lockup .lotus-curves-lg{ stroke-dashoffset:0; animation:none; }
}
.brand-lockup{ display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.brand-lockup .mark-lg{ width:46px; height:46px; color:var(--brass); flex-shrink:0; }
.brand-lockup .word-lg{ font-family:'Fraunces',serif; font-size:38px; font-weight:500; color:var(--paper); letter-spacing:-0.01em; }
.hero-define{ margin-top:0; margin-bottom:34px; font-size:14px; color:#C9C4B6; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; padding-bottom:18px; border-bottom:1px solid #3A3D44; }
.hero-define .pos{ color:var(--slate); font-size:12.5px; font-style:italic; }

.brand-define-band{ padding:52px 0 8px; }
.brand-define-band .lockup{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.brand-define-band .mark-lg{ width:42px; height:42px; color:var(--brass-dim); flex-shrink:0; }
.brand-define-band .word-lg{ font-family:'Fraunces',serif; font-size:36px; font-weight:500; color:var(--ink); letter-spacing:-0.01em; }
.brand-define-band .brand-sub-lg{ font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.18em; color:var(--brass-dim); text-transform:uppercase; margin-top:4px; }
.brand-define-band .define{ font-size:14.5px; color:var(--text-muted); display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; padding-bottom:0; }
.brand-define-band .define .pos{ color:var(--brass-dim); font-size:12.5px; font-style:italic; }

/* ---------- SUBPAGE BANNER (about/fees/ir35) ---------- */
.page-banner{ background:var(--ink); padding:44px 0 40px; border-bottom:1px solid var(--line); }
.page-banner .wrap{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.page-banner .kicker{ font-size:14px; color:var(--slate); margin-bottom:16px; border-left:2px solid var(--brass); padding-left:12px; text-transform:uppercase; letter-spacing:0.08em; }
.page-banner h1{ color:var(--paper); font-size:clamp(30px,4.4vw,46px); line-height:1.08; max-width:20ch; }
.page-banner .back-link{ display:inline-block; margin-top:0; font-size:13.5px; color:#B9B4A6; text-decoration:none; border-bottom:1px solid #4A4C50; }
.page-banner .back-link:hover{ color:var(--paper); border-bottom-color:var(--paper); }

.stat-strip{ border-bottom:1px solid var(--line); background:var(--paper-2); }
.stat-strip .wrap{ display:flex; flex-wrap:wrap; gap:40px; padding:26px 32px; justify-content:space-between; }
.stat{ min-width:140px; } .stat .num{ font-family:'Fraunces',serif; font-size:28px; color:var(--brass-dim); }
.stat .lbl{ font-size:13px; color:var(--text-muted); margin-top:2px; }

section{ padding:80px 0; } @media (max-width:760px){ section{padding:52px 0;} }
.section-head{ max-width:none; margin-bottom:44px; }
.section-head p{ max-width:100%; color:var(--text-muted); font-size:16.5px; }
.section-head .tag{ font-size:14px; color:var(--brass-dim); margin-bottom:14px; }

/* ---------- ABOUT TEASER (index) ---------- */
.about-teaser-grid{ display:grid; grid-template-columns:160px 1fr; gap:36px; align-items:center; }
@media (max-width:640px){ .about-teaser-grid{grid-template-columns:1fr; text-align:center;} .about-teaser-grid .portrait-round{margin:0 auto;} }
.about-teaser-copy p{ color:var(--text-muted); font-size:15.5px; margin-bottom:14px; max-width:64ch; }
.about-teaser-copy p.lede{ font-family:'Fraunces',serif; font-size:20px; color:var(--ink); line-height:1.4; margin-bottom:14px; }
.text-link{ display:inline-block; font-size:14px; color:var(--brass-dim); text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:2px; }
.text-link:hover{ border-bottom-color:var(--brass-dim); }

/* ---------- ABOUT (full page) ---------- */
.about-grid{ display:grid; grid-template-columns:260px 1fr; gap:56px; align-items:start; }
@media (max-width:760px){ .about-grid{grid-template-columns:1fr; } }
.portrait-round{ width:220px; height:220px; border-radius:50%; overflow:hidden; border:1px solid var(--line); flex-shrink:0; }
.about-teaser-grid .portrait-round{ width:140px; height:140px; }
.portrait-round img{ width:100%; height:100%; object-fit:cover; filter:grayscale(12%) contrast(1.03); }
.about-copy p{ color:var(--text-muted); font-size:16.5px; margin-bottom:18px; max-width:64ch; }
.about-copy p.lede{ font-family:'Fraunces',serif; font-size:23px; color:var(--ink); line-height:1.4; margin-bottom:24px; }
.about-copy .signoff{ display:flex; align-items:center; gap:14px; margin-top:28px; padding-top:22px; border-top:1px solid var(--line); flex-wrap:wrap; }
.about-copy .signoff .name{ font-family:'Fraunces',serif; font-size:17px; margin-right:8px; }
.contact-tab{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; text-decoration:none; border:1px solid var(--line); padding:8px 16px; background:var(--white); color:var(--ink); }
.contact-tab:hover{ border-color:var(--brass-dim); color:var(--brass-dim); }
.contact-tab .icon{ width:16px; height:16px; margin:0; color:inherit; }
.contact-tab.dark{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.contact-tab.dark:hover{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.contact-tab.brass{ background:var(--brass); color:var(--ink); border-color:var(--brass); }
.contact-tab.brass:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

/* ---------- PRACTICES (table) ---------- */
.practice-panels{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:1px; }
@media (max-width:760px){ .practice-panels{ grid-template-columns:1fr; } }
.practice-panel{ background:var(--white); padding:40px 36px; }
@media (max-width:640px){ .practice-panel{ padding:32px 26px; } }
.practice-panel .icon{ width:30px; height:30px; color:var(--brass-dim); margin-bottom:18px; }
.practice-panel h3{ font-family:'Fraunces',serif; font-size:28px; margin-bottom:16px; }
.practice-panel p{ font-size:15px; color:var(--text-muted); line-height:1.65; }
.proposition{ margin-top:40px; font-family:'Fraunces',serif; font-size:21px; line-height:1.5; max-width:70ch; }
.sector-tags{ display:flex; gap:14px; margin-bottom:24px; flex-wrap:wrap; align-items:flex-start; }
.sector-tag{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-muted); border:1px solid var(--line); padding:8px 14px; background:var(--white); cursor:pointer; }
.sector-tag svg{ width:16px; height:16px; color:var(--brass-dim); flex-shrink:0; }
.sector-tag-detail summary{ list-style:none; }
.sector-tag-detail summary::-webkit-details-marker{ display:none; }
.sector-tag-detail[open] .sector-tag{ border-color:var(--brass-dim); color:var(--ink); background:var(--paper-2); }
.sector-tag-expand{ font-size:13px; color:var(--text-muted); padding:10px 2px 2px; max-width:340px; line-height:1.6; }

/* ---------- PROCESS / USP ---------- */
.process{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:760px){ .process{grid-template-columns:1fr;} }
.process.process-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1100px){ .process.process-4{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .process.process-4{ grid-template-columns:1fr;} }
.process-step{ background:var(--paper); padding:36px 32px 40px; display:flex; flex-direction:column; }
.process-step.featured{ background:var(--paper-2); border-top:3px solid var(--brass); padding-top:33px; }
.process-step.featured .step-num{ color:var(--brass); }
.process-step .step-num{ font-family:'Fraunces',serif; font-size:13px; color:var(--brass-dim); letter-spacing:0.05em; margin-bottom:18px; }
.process-step .icon{ margin-bottom:14px; }
.process-step h3{ font-size:19px; line-height:1.3; margin-bottom:12px; min-height:2.6em; }
.ip-term{ color:var(--brass-dim); font-weight:600; }
.process-step p{ color:var(--text-muted); font-size:14.5px; line-height:1.6; }
.icon{ width:30px; height:30px; margin-bottom:16px; color:var(--brass-dim); }
.icon svg{ width:100%; height:100%; display:block; }
.focus-row .icon{ margin-bottom:0; padding-top:2px; }
.focus-list{ border-top:1px solid var(--line); }
.focus-row{ display:grid; grid-template-columns:40px 1fr; gap:16px; padding:24px 0; border-bottom:1px solid var(--line); align-items:start; }
.focus-row:last-child{ border-bottom:none; }
.focus-row h3{ font-size:18px; margin-bottom:6px; grid-column:2; }
.focus-row .icon{ grid-row:1 / span 2; }
.focus-desc{ grid-column:2; }
.focus-desc p{ color:var(--text-muted); font-size:15px; max-width:60ch; }

/* ---------- TEASER BANDS (index) ---------- */
.teaser-band{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }

/* ---------- IR35 EXPLAINER (full page) ---------- */
.ir35-tests{ border:1px solid var(--line); background:var(--white); padding:28px 30px; margin-bottom:20px; }
.ir35-tests h3{ font-size:17px; margin-bottom:16px; }
.ir35-tests .test-row{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.ir35-tests .test-row:last-child{ border-bottom:none; }
.ir35-tests .test-row .row-icon{ width:22px; height:22px; color:var(--brass-dim); flex-shrink:0; margin-top:1px; }
.ir35-tests .test-row .row-content{ display:flex; gap:16px; flex-wrap:wrap; flex:1; font-size:14.5px; color:var(--text-muted); }
.ir35-tests .test-row .term{ font-family:'Fraunces',serif; font-size:15px; color:var(--ink); min-width:170px; }
.ir35-note{ font-size:13px; color:var(--text-muted); border:1px solid var(--line); background:var(--paper-2); padding:18px 22px; }

.io-compare{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin:24px 0 28px; }
@media (max-width:640px){ .io-compare{ grid-template-columns:1fr; } }
.io-card{ padding:26px 26px; }
.io-card.io-inside{ background:var(--ink); }
.io-card.io-outside{ background:var(--white); }
.io-label{ font-family:'Fraunces',serif; font-size:19px; margin-bottom:10px; }
.io-inside .io-label{ color:var(--paper); }
.io-outside .io-label{ color:var(--brass-dim); }
.io-card p{ font-size:14.5px; }
.io-inside p{ color:#C9C4B6; }
.io-outside p{ color:var(--text-muted); }

.pull-note{ border-left:3px solid var(--brass); background:var(--paper-2); padding:24px 28px; margin:28px 0; }
.pull-note p{ font-family:'Fraunces',serif; font-size:19px; line-height:1.5; color:var(--ink); font-style:italic; margin:0; max-width:66ch; }

/* ---------- FEES (full page) ---------- */
.fee-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:20px; }
@media (max-width:760px){ .fee-grid{grid-template-columns:1fr;} }
.fee-card{ background:var(--white); padding:38px 34px; display:flex; flex-direction:column; }
.fee-card.highlight{ background:var(--ink); color:var(--paper); }
.fee-card .lvl{ font-size:13px; color:var(--brass-dim); margin-bottom:10px; }
.fee-card.highlight .lvl{ color:var(--brass); }
.fee-card h3{ font-size:22px; margin-bottom:6px; }
.fee-card.highlight h3{ color:var(--paper); }
.fee-card .price{ font-family:'Fraunces',serif; font-size:46px; color:var(--brass-dim); margin:16px 0 8px; }
.fee-card.highlight .price{ color:var(--brass); }
.fee-card .price-note{ font-size:13px; color:var(--text-muted); margin-bottom:18px; }
.fee-card.highlight .price-note{ color:#B9B4A6; }
.fee-card ul{ list-style:none; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }
.fee-card.highlight ul{ border-top-color:#4A4C50; }
.fee-card li{ font-size:14px; color:var(--text-muted); padding:6px 0; }
.fee-card.highlight li{ color:#C9C4B6; }
.fee-terms{ border:1px solid var(--line); background:var(--paper-2); padding:26px 30px; margin-bottom:8px; }
.fee-terms .basis{ font-size:14px; color:var(--text-muted); margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.fee-terms .term-row{ display:flex; gap:14px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.fee-terms .term-row:last-child{ border-bottom:none; }
.fee-terms .term-row .mark{ color:var(--brass-dim); font-family:'Fraunces',serif; }
.explainer{ border:1px solid var(--line); background:var(--white); padding:32px 34px; margin-bottom:28px; }
.explainer .icon{ width:30px; height:30px; color:var(--brass-dim); margin-bottom:14px; }
.explainer h3{ font-size:19px; margin-bottom:10px; }
.explainer > p{ color:var(--text-muted); font-size:15px; max-width:64ch; margin-bottom:26px; }
.rate-bar{ display:flex; height:52px; border:1px solid var(--line); overflow:hidden; margin-bottom:14px; }
.rate-bar .seg{ display:flex; align-items:center; justify-content:center; font-size:13.5px; color:var(--white); }
.rate-bar .seg.interim{ background:var(--ink); flex:0 0 80%; }
.rate-bar .seg.margin{ background:var(--brass-dim); flex:0 0 20%; color:var(--ink); }
.rate-caption{ display:flex; justify-content:space-between; font-size:13px; color:var(--text-muted); margin-bottom:24px; }
.fee-flow{ display:flex; align-items:stretch; gap:0; margin-bottom:8px; }
@media (max-width:700px){ .fee-flow{flex-direction:column;} }
.flow-step{ flex:1; border:1px solid var(--line); background:var(--paper-2); padding:22px 22px; display:flex; gap:14px; }
.flow-step .flow-num{ font-family:'Fraunces',serif; font-size:20px; color:var(--brass-dim); flex-shrink:0; }
.flow-step p{ font-size:14.5px; color:var(--text-muted); margin:0; }
.flow-arrow{ display:flex; align-items:center; justify-content:center; padding:0 14px; color:var(--brass-dim); flex-shrink:0; }
.flow-arrow svg{ width:22px; height:22px; }
@media (max-width:700px){ .flow-arrow{ padding:8px 0; transform:rotate(90deg); } }
.rate-example{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:640px){ .rate-example{grid-template-columns:1fr;} }
.rate-example .cell{ border-left:2px solid var(--line); padding-left:16px; }
.rate-example .cell .k{ font-size:12.5px; color:var(--text-muted); margin-bottom:6px; }
.rate-example .cell .v{ font-family:'Fraunces',serif; font-size:22px; }

/* ---------- TESTIMONIALS ---------- */
.testi-note{ font-size:13.5px; color:var(--brass-dim); background:var(--paper-2); border:1px dashed var(--line); padding:12px 16px; margin-bottom:36px; max-width:640px; }
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:860px){ .testi-grid{grid-template-columns:1fr;} }
.testi-card{ background:var(--white); padding:34px 30px; display:flex; flex-direction:column; justify-content:space-between; min-height:250px; }
.testi-card blockquote{ font-family:'Fraunces',serif; font-size:18px; line-height:1.4; font-weight:400; margin-bottom:24px; }
.testi-card .attrib{ font-size:13.5px; color:var(--text-muted); border-top:1px solid var(--line); padding-top:14px; }
.testi-card .attrib strong{ display:block; color:var(--ink); font-size:14px; font-weight:600; }

/* ---------- CASE STUDIES ---------- */
.case-block{ border:1px solid var(--line); background:var(--white); margin-bottom:1px; }
.case-block-header{ background:var(--ink); color:var(--paper); padding:44px 40px 36px; }
.case-eyebrow{ font-size:13px; letter-spacing:0.04em; color:var(--brass); margin-bottom:14px; }
.case-block-header h2{ color:var(--paper); font-size:clamp(26px,3.2vw,36px); line-height:1.15; max-width:24ch; margin-bottom:20px; }
.case-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:14px; color:#C9C4B6; }
.case-meta .sep{ color:#5A5D63; }
.case-meta .m-icon{ width:16px; height:16px; display:inline-flex; vertical-align:-3px; margin-right:6px; color:var(--brass); }
.case-body{ padding:8px 40px 40px; }
.case-section{ display:grid; grid-template-columns:44px 1fr; gap:16px; padding:28px 0; border-top:1px solid var(--line); }
.case-section:first-of-type{ border-top:none; }
.case-section .icon{ width:26px; height:26px; margin-bottom:0; padding-top:4px; color:var(--brass-dim); grid-row:1 / span 2; }
.case-section h3{ font-size:20px; margin-bottom:10px; grid-column:2; }
.case-section .case-text{ grid-column:2; }
.case-section .case-text p{ color:var(--text-muted); font-size:15.5px; max-width:70ch; margin-bottom:14px; }
.case-section .case-text ul{ list-style:none; margin-bottom:14px; }
.case-section .case-text li{ position:relative; padding-left:20px; color:var(--text-muted); font-size:15.5px; margin-bottom:10px; max-width:66ch; }
.case-section .case-text li::before{ content:"•"; position:absolute; left:0; color:var(--brass-dim); }
.case-stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:6px 0 20px; }
@media (max-width:640px){ .case-stats{grid-template-columns:1fr;} }
.case-stat{ background:var(--paper-2); padding:26px 24px; text-align:center; }
.proof-stats{ display:flex; gap:1px; background:var(--line); border:1px solid var(--line); margin:28px 0 32px; max-width:500px; }
.proof-stats .proof-stat{ flex:1; background:var(--white); padding:24px 20px; text-align:center; }
.proof-stats .proof-stat .num{ font-family:'Fraunces',serif; font-size:21px; color:var(--brass-dim); }
.proof-stats .proof-stat .lbl{ font-size:12.5px; color:var(--text-muted); margin-top:4px; }
.further-reading{ text-align:center; padding:14px 0 6px; font-size:13.5px; color:var(--text-muted); }
.further-reading a{ color:var(--brass-dim); text-decoration:none; border-bottom:1px solid var(--line); }
.further-reading a:hover{ border-bottom-color:var(--brass-dim); }
.case-stat .stat-num{ font-family:'Fraunces',serif; font-size:24px; color:var(--brass-dim); margin-bottom:6px; }
.case-stat .stat-lbl{ font-size:13px; color:var(--text-muted); }
.case-placeholder{ border:1px dashed var(--line); background:var(--paper-2); padding:36px; text-align:center; color:var(--text-muted); font-size:14px; margin-bottom:1px; }

.cta-band{ background:var(--ink); color:var(--paper); }
.cta-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:28px; }
.cta-band h2{ color:var(--paper); font-size:clamp(26px,3.4vw,36px); max-width:520px; }
.cta-band p{ color:var(--paper); margin-top:12px; max-width:44ch; }

footer{ padding:44px 0; }
.footer-inner{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:13.5px; color:var(--text-muted); }
footer a{ text-decoration:none; border-bottom:1px solid var(--line); }
footer a:hover{ border-bottom-color:var(--brass-dim); }

/* Mobile: hide the header "Start a conversation" CTA (both the top bar and
   dropdown-menu instances) - redundant next to the page's own CTAs, and was
   crowding the logo/hamburger on narrow screens. */
@media (max-width:900px){
  .nav-inner .nav-cta{ display:none; }
  .mobile-menu-inner .nav-cta{ display:none; }
}
