/* ARCounsel marketing site, v2 (Oct 2026)
   Brand: slate #3E5C76 · mint #9FE2BF · light #F4F8F9 · dark #1F2D3A
   Rule: mint text only on slate/dark backgrounds; dark text on mint. */
/* Headline font: ARC Display = Fraunces (wght 600/700, opsz 72, SOFT 0, WONK 0) with the Source Serif 4 f. OFL 1.1, self-hosted. */
@font-face{font-family:"ARC Display";src:url("/assets/fonts/ARC-Display.woff2") format("woff2");font-weight:100 650;font-style:normal;font-display:swap}
@font-face{font-family:"ARC Display";src:url("/assets/fonts/ARC-Display-Bold.woff2") format("woff2");font-weight:651 900;font-style:normal;font-display:swap}
:root{
  --slate:#3E5C76; --slate-700:#34506A; --slate-800:#2B4358; --slate-50:#E8EEF2;
  --mint:#9FE2BF; --mint-300:#BDEBD3; --mint-100:#E3F6EC;
  --bg:#F4F8F9; --ink:#1F2D3A; --muted:#4A5D6E; --line:#D9E3E8; --white:#fff;
  --on-slate:#E4ECF1; --on-slate-muted:#CCD8E0; --line-dark:rgba(228,236,241,.16);
  --radius:16px; --radius-lg:22px;
  --shadow:0 1px 2px rgba(31,45,58,.05),0 8px 24px rgba(31,45,58,.06);
  --shadow-lg:0 2px 6px rgba(31,45,58,.08),0 24px 56px rgba(16,28,40,.22);
  --serif:"ARC Display",Georgia,"Times New Roman",serif;
  --sans:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1120px; --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--slate);text-underline-offset:3px}
a:hover{color:var(--slate-800)}
h1,h2,h3,h4{margin:0;line-height:1.12;color:var(--ink)}
h1,h2{font-family:var(--serif);font-weight:600;font-variation-settings:normal}
h3{font-family:var(--sans);font-weight:700;font-size:1.15rem;letter-spacing:-.01em}
p{margin:0 0 1em}
h1,h2,h3{text-wrap:balance} p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--slate);outline-offset:3px;border-radius:6px}
.on-dark :focus-visible,.site-header :focus-visible,.hero :focus-visible,.site-footer :focus-visible{outline-color:var(--mint)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
section{position:relative}
.section{padding:120px 0}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin-bottom:16px}
.on-dark .eyebrow,.hero .eyebrow{color:var(--mint)}
.section-head{max-width:680px;margin-bottom:56px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2,.family h2,.consult h2,.how h2{font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.1}
.section-head p{font-size:1.12rem;color:var(--muted);margin:18px 0 0}
.on-dark h2,.on-dark h3{color:#fff}
.on-dark .section-head p{color:var(--on-slate)}
.on-dark h2 .accent{color:var(--mint)}

/* Buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:1rem;line-height:1;padding:17px 26px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}
.btn svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-mint{background:var(--mint);color:var(--ink)}
.btn-mint:hover{background:var(--mint-300);color:var(--ink)}
.btn-slate{background:var(--slate);color:#fff}
.btn-slate:hover{background:var(--slate-800);color:#fff}
.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--slate);color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--slate);text-decoration:none;border-bottom:2px solid transparent;padding:4px 0}
.text-link:hover{border-bottom-color:currentColor}
.text-link.light{color:#fff}
.text-link.light:hover{color:var(--mint)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(62,92,118,.97);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);transition:box-shadow .2s ease}
.site-header.scrolled{box-shadow:0 6px 24px rgba(31,45,58,.18)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:44px;width:auto}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--on-slate);text-decoration:none;font-weight:500;font-size:.97rem;transition:color .15s}
.nav-links a:hover{color:#fff}
.nav-links a.btn-mint,.nav-links a.btn-mint:hover{color:var(--ink)}
.nav-cta{padding:13px 22px;font-size:.95rem}
/* Client login: quiet outline, secondary to the mint "Book a consult" button */
.nav-links .nav-login-item{margin-left:4px;margin-right:-12px}
.nav-links a.nav-login{display:inline-flex;align-items:center;padding:10px 16px;border:1.5px solid rgba(228,236,241,.32);border-radius:999px;color:var(--on-slate);font-size:.93rem;font-weight:500;line-height:1;white-space:nowrap;transition:border-color .15s,color .15s}
.nav-links a.nav-login:hover{border-color:rgba(228,236,241,.7);color:#fff}
.nav-toggle{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;color:#fff}
.nav-toggle svg{width:28px;height:28px}

/* Hero */
.hero{background:var(--slate);color:#fff;overflow:hidden;padding:96px 0 112px}
.hero::before{content:"";position:absolute;right:-240px;top:-280px;width:780px;height:780px;border-radius:50%;border:64px solid rgba(159,226,191,.06);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center}
.hero h1{color:#fff;font-size:clamp(3rem,6vw,5rem);line-height:1.02}
.hero h1 .accent{display:block;color:var(--mint);font-size:.72em;margin-top:.14em}
.hero-sub{font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.55;color:var(--on-slate);max-width:540px;margin:26px 0 34px}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:28px}
.hero-note{margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line-dark);color:var(--on-slate-muted);font-size:.98rem;max-width:540px}

/* Hero preview (tabbed example) */
.preview{position:relative}
.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.preview-title{margin:0;color:var(--on-slate);font-size:.95rem;font-weight:500}
.sample-tag{flex:none;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-800);background:var(--slate-50);padding:5px 10px;border-radius:999px}
.hero .sample-tag{background:rgba(228,236,241,.14);color:var(--on-slate)}
.preview-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.preview-tabs button{font:inherit;text-align:left;cursor:pointer;background:transparent;border:1.5px solid var(--line-dark);color:var(--on-slate);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;transition:background-color .2s,border-color .2s,color .2s}
.preview-tabs button b{font-size:.95rem;font-weight:700}
.preview-tabs button span{font-size:.8rem;color:var(--on-slate-muted)}
.preview-tabs button:hover{border-color:rgba(159,226,191,.5)}
.preview-tabs button[aria-selected=true]{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.preview-tabs button[aria-selected=true] span{color:var(--slate-800)}
.mock{background:#fff;color:var(--ink);border-radius:18px;box-shadow:var(--shadow-lg);padding:24px 26px 26px;min-height:356px}
.preview-panel{outline-offset:6px}
/* All three panels share one grid cell, so the card is always as tall as the longest
   panel and switching tabs never changes the hero's height. Inactive panels keep their
   space but are hidden (visibility removes them from screen readers and tab order). */
.mock{display:grid}
.mock>.preview-panel{grid-area:1/1;min-width:0}
.mock>.preview-panel[hidden]{display:block;visibility:hidden;opacity:0;pointer-events:none}
.preview-tabs button{min-width:0}
.preview-panel.anim{animation:panelIn .35s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.mock-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:.8rem;color:var(--muted);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.mock-meta b{color:var(--ink);font-weight:600;margin-right:6px}
.mock-subject{font-weight:700;font-size:1.04rem;margin-bottom:12px}
.preview-panel p{font-size:.93rem;line-height:1.55;color:#33475A;margin-bottom:.75em}
.preview-panel .mock-subject{color:var(--ink);font-size:1.04rem}
.mock-pay{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.mock-pay small{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.mock-pay strong{font-size:1.05rem}
.pill{background:var(--slate);color:#fff;font-size:.8rem;font-weight:600;padding:9px 14px;border-radius:999px;white-space:nowrap}
.preview-fine{margin:14px 2px 0;font-size:.82rem;color:var(--on-slate-muted);line-height:1.5}

/* Facts strip */
.facts{background:#fff;border-bottom:1px solid var(--line)}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.facts-grid>div{padding:34px 28px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.facts-grid>div:first-child{border-left:0;padding-left:0}
.facts b{font-family:var(--serif);font-weight:600;font-size:1.55rem;line-height:1.1;color:var(--slate)}
.facts span{font-size:.93rem;color:var(--muted);line-height:1.45}

/* Problem */
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.problem-item{border-top:2px solid var(--ink);padding-top:22px}
.num{display:block;font-family:var(--serif);font-weight:600;font-size:1rem;color:var(--slate);margin-bottom:14px;letter-spacing:.04em}
.problem-item h3{font-family:var(--serif);font-weight:600;font-size:1.4rem;margin-bottom:10px;letter-spacing:0}
.problem-item p{color:var(--muted);margin:0;font-size:1rem}

/* How it works */
.how{background:#fff}
.how-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.how-intro{position:sticky;top:110px}
.how-intro>p{color:var(--muted);font-size:1.1rem;margin:18px 0 32px}
.setup-card{background:var(--bg);border-radius:var(--radius);padding:26px 28px}
.setup-card h3{font-size:1rem;margin-bottom:14px}
.setup-card ol{list-style:none;margin:0;padding:0;counter-reset:s}
.setup-card li{counter-increment:s;position:relative;padding-left:38px;margin-bottom:12px;font-size:.97rem;color:var(--muted)}
.setup-card li:last-child{margin-bottom:0}
.setup-card li b{color:var(--ink)}
.setup-card li::before{content:counter(s);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:var(--slate);color:#fff;font-size:.8rem;font-weight:700;display:grid;place-items:center}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:15px;top:12px;bottom:12px;width:2px;background:var(--line)}
.timeline li{position:relative;padding:0 0 34px 56px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:5px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--mint);border:5px solid #fff;box-shadow:0 0 0 1.5px var(--line)}
.timeline li.start::before{background:#fff;box-shadow:0 0 0 2px var(--slate);border-width:6px}
.timeline li.end::before{background:var(--slate)}
.timeline .when{display:block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:4px}
.timeline b{display:block;font-size:1.12rem;margin-bottom:2px}
.timeline p{margin:0;color:var(--muted);font-size:.98rem}

/* Examples: weekly summary + log */
.examples{background:var(--bg)}
.examples-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:24px;align-items:start}
.report,.log{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow)}
.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.report-kicker{margin:0 0 4px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.report-head h3{font-family:var(--serif);font-weight:600;font-size:1.45rem;letter-spacing:0}
.report-date{margin:4px 0 0;color:var(--muted);font-size:.92rem}
.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 24px}
.report-stats div{background:var(--bg);border-radius:12px;padding:14px}
.report-stats dt{font-size:.78rem;color:var(--muted);line-height:1.3}
.report-stats dd{margin:6px 0 0;font-family:var(--serif);font-weight:600;font-size:1.7rem;line-height:1;color:var(--ink)}
.report-section{margin-top:20px}
.report-section h4{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.report-list{list-style:none;margin:0;padding:0}
.report-list li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
.report-list li:first-child{border-top:0;padding-top:2px}
.report-list b{color:var(--ink)}
.flag{flex:none;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#FBE9D9;color:#7A3E0E;margin-top:2px}
.flag.ok{background:var(--mint-100);color:#1E5B3E}
.report-muted{color:var(--muted);font-size:.95rem;margin:0}
.report-muted.small{font-size:.84rem;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.log-list{list-style:none;margin:0;padding:0;position:relative}
.log-list::before{content:"";position:absolute;left:62px;top:8px;bottom:8px;width:2px;background:var(--line)}
.log-list li{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:8px 0;font-size:.94rem;position:relative}
.log-list li::after{content:"";position:absolute;left:58px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--slate)}
.log-list li.next::after{background:#fff;box-shadow:inset 0 0 0 2px var(--slate)}
.log-list time{font-weight:600;color:var(--ink);font-size:.86rem;padding-top:1px;font-variant-numeric:tabular-nums}
.log-list span{color:var(--muted);padding-left:8px}
.log-list li.next span{font-style:italic}

/* Control */
.control{background:var(--ink)}
.control .section-head{max-width:760px}
.control-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-dark)}
.control-grid li{padding:30px 30px 30px 0;border-bottom:1px solid var(--line-dark)}
.control-grid li:nth-child(3n+2),.control-grid li:nth-child(3n){padding-left:30px;border-left:1px solid var(--line-dark)}
.control-grid h3{font-size:1.12rem;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.control-grid h3::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--mint)}
.control-grid p{color:var(--on-slate-muted);margin:0;font-size:.98rem}

/* Compare */
.compare{background:#fff}
.compare-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto repeat(6,auto);gap:0 16px}
.cmp{grid-row:span 7;display:grid;grid-template-rows:subgrid;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 8px;background:#fff}
.cmp h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;letter-spacing:0;padding-bottom:16px;align-self:end}
.cmp dl{display:contents;margin:0}
.cmp dl>div{padding:14px 0;border-top:1px solid var(--line)}
.cmp dt{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.cmp dd{margin:0;font-size:.97rem;color:var(--ink);line-height:1.45}
.cmp-us{background:var(--slate);border-color:var(--slate)}
.cmp-us h3,.cmp-us dd{color:#fff}
.cmp-us dt{color:var(--mint)}
.cmp-us dl>div{border-top-color:var(--line-dark)}
.compare-note{text-align:center;color:var(--muted);margin:32px auto 0;max-width:640px;font-size:1rem}

/* Calculator */
.cost{background:var(--bg)}
.calc{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.calc-inputs{padding:36px 38px}
.calc-field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.calc-field:last-child{margin-bottom:0}
.calc-field label{font-weight:600;font-size:.95rem;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.calc-field output{font-weight:700;color:var(--slate);font-size:1.05rem;font-variant-numeric:tabular-nums}
.calc-field small{color:var(--muted);font-size:.84rem}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.calc-row .calc-field{margin-bottom:0;justify-content:flex-end}
.money{display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:0 14px;transition:border-color .15s,box-shadow .15s}
.money:focus-within{border-color:var(--slate);box-shadow:0 0 0 4px rgba(62,92,118,.14);background:#fff}
.money span{color:var(--muted);font-weight:600}
.money input,.plain{font:inherit;font-size:1.05rem;border:0;background:none;padding:13px 8px;width:100%;color:var(--ink);font-variant-numeric:tabular-nums}
.money input:focus{outline:none}
.plain{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px}
.plain:focus{outline:none;border-color:var(--slate);box-shadow:0 0 0 4px rgba(62,92,118,.14);background:#fff}
select.plain{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%233E5C76' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;font-size:1rem}
input[type=range]{width:100%;accent-color:var(--slate);height:28px;margin:0;cursor:pointer}
.calc-results{background:var(--slate);color:#fff;padding:36px 38px;display:flex;flex-direction:column}
.calc-kicker{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin:0 0 10px}
.calc-results dl{margin:0 0 22px}
.calc-results dl div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-dark)}
.calc-results dt{color:var(--on-slate);font-size:.96rem}
.calc-results dd{margin:0;font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.calc-results .em dd{color:var(--mint)}
.calc-results .total{border-bottom:0;padding-top:18px}
.calc-results .total dt{color:#fff;font-weight:600}
.calc-results .total dd{font-family:var(--serif);font-weight:600;font-size:2rem;color:var(--mint)}
.calc-results dd.bump{animation:bump .4s var(--ease)}
@keyframes bump{0%{opacity:.4}100%{opacity:1}}
.calc-assume{font-size:.82rem;line-height:1.55;color:var(--on-slate-muted);margin:0 0 24px}
.calc-assume b{color:#fff}
.calc-results .btn{align-self:flex-start;margin-top:auto}

/* Integrations (logo sizes are per-image, keep explicit width/height in HTML) */
.integrations{background:#fff}
.int-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:960px;margin:0 auto}
.int{border:1px solid transparent;border-radius:var(--radius);padding:26px 22px;background:var(--bg);display:flex;flex-direction:column;gap:14px}
.int span{color:var(--muted);font-size:.92rem;line-height:1.45}
.int.export{border:1.5px dashed var(--line)}
.int-logo{height:40px;display:flex;align-items:center}
.int-logo img{height:var(--h,28px);width:auto;max-width:100%;object-fit:contain}
.int-logo-export{gap:10px}
.int-logo-export b{font-size:1.1rem;color:var(--ink);white-space:nowrap}
.int-note{margin-top:28px;color:var(--muted);font-size:.98rem;text-align:center}
.int-note strong{color:var(--ink)}
.int-legal{margin:14px auto 0;max-width:640px;text-align:center;font-size:.8rem;color:var(--muted)}

/* Family law */
.family{background:var(--slate);color:#fff}
.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.family .lead{color:var(--on-slate);font-size:1.15rem;margin:22px 0 0}
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:32px;margin-bottom:10px}
.checks li::before{content:"";position:absolute;left:4px;top:.32em;width:8px;height:14px;border:solid var(--slate);border-width:0 3px 3px 0;transform:rotate(40deg)}
.on-dark .checks li::before{border-color:var(--mint)}
.family .checks li{color:#fff;font-weight:600;margin-bottom:20px}
.family .checks li span{display:block;color:var(--on-slate-muted);font-size:.97rem;margin-top:2px;font-weight:400}
.aaml{margin:56px 0 0;padding-top:24px;border-top:1px solid var(--line-dark);color:var(--on-slate);font-size:1rem}
.aaml b{color:#fff}

/* Pricing (content unchanged) */
.pricing{background:#fff}
.card{background:var(--bg);border-radius:var(--radius);padding:30px}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tier{display:flex;flex-direction:column;align-items:flex-start;padding:32px 28px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.tier:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tier h3{font-family:var(--serif);font-weight:600;font-size:1.45rem;letter-spacing:0;margin:0 0 6px}
.tier-range{color:var(--muted);font-size:.95rem;margin:0 0 26px}
.tier-price{display:flex;align-items:baseline;gap:4px;margin:0 0 6px;color:var(--ink)}
.tier-price .amt{font-family:var(--serif);font-weight:700;font-size:2.5rem;line-height:1}
.tier-price .per{color:var(--muted);font-size:1rem}
.tier-setup{margin:0 0 26px;color:var(--muted);font-size:.9rem}
.tier .btn{margin-top:auto}
.tier-more{text-align:center;color:var(--muted);margin:28px auto 0;max-width:640px}
.tier-more a{color:var(--slate);font-weight:600}
.tier-details{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:48px}
.tier-details h3{margin:0}
.tier-details .checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-top:16px}
.tier-details .checks li{margin:0;font-size:.98rem}
.never{list-style:none;margin:16px 0 0;padding:0}
.never li{position:relative;padding-left:30px;margin-bottom:10px;font-size:.98rem}
.never li::before,.never li::after{content:"";position:absolute;left:5px;top:.72em;width:14px;height:2.5px;background:var(--slate);border-radius:2px;transform:rotate(45deg)}
.never li::after{transform:rotate(-45deg)}
.price-fine{margin-top:14px;font-size:.88rem;color:var(--muted)}

/* FAQ */
.faq{background:var(--bg)}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
.faq-grid .section-head{position:sticky;top:110px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-weight:600;font-size:1.08rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .pm{flex:none;width:32px;height:32px;border-radius:50%;background:var(--slate-50);position:relative;transition:background .15s}
.faq-list summary .pm::before,.faq-list summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--slate);transform:translate(-50%,-50%);transition:transform .2s}
.faq-list summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-list summary:hover .pm{background:var(--mint-100)}
.faq-list details[open] summary .pm{background:var(--mint)}
.faq-list details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-list .answer{padding:0 52px 22px 4px;color:var(--muted)}
.faq-list details[open] .answer{animation:panelIn .3s var(--ease)}
.faq-list .answer p:last-child{margin:0}

/* Consult */
.consult{background:var(--slate);color:#fff}
.consult-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start}
.consult h2 .accent{color:var(--mint)}
.consult .lead{color:var(--on-slate);font-size:1.15rem;margin:22px 0 30px}
.next-steps{list-style:none;margin:0;padding:0;counter-reset:n}
.next-steps li{counter-increment:n;position:relative;padding:0 0 22px 52px;color:var(--on-slate-muted);font-size:1rem}
.next-steps li b{display:block;color:#fff;font-size:1.05rem;margin-bottom:2px}
.next-steps li::before{content:counter(n);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--mint);color:var(--mint);font-family:var(--serif);font-weight:600;display:grid;place-items:center;font-size:1rem}
.next-steps li:not(:last-child)::after{content:"";position:absolute;left:17px;top:40px;bottom:6px;width:1.5px;background:var(--line-dark)}
.consult-alt{margin-top:14px;padding-top:24px;border-top:1px solid var(--line-dark);color:var(--on-slate);font-size:1rem}
.consult-alt a{color:var(--mint);font-weight:600}
.consult-alt a:hover{color:#fff}
.form-card{background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:40px}
.form-card h3{font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:0;margin-bottom:6px;color:var(--ink)}
.form-card .hint{color:var(--muted);font-size:.95rem;margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.9rem;font-weight:600;color:var(--ink)}
.field label .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}
.field textarea{min-height:110px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%233E5C76' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--slate);background:#fff;box-shadow:0 0 0 4px rgba(62,92,118,.14)}
.form-foot{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.form-foot .btn{width:100%;padding:19px}
.form-foot small{color:var(--muted);font-size:.84rem;line-height:1.5;text-align:center}
.form-status{display:none;margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--slate-50);font-size:.92rem}
.form-status.show{display:block}
.hp{position:absolute!important;left:-9999px!important}

/* Footer */
.site-footer{background:var(--ink);color:var(--on-slate-muted);padding:64px 0 40px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(228,236,241,.12)}
.foot-brand img{height:48px;width:auto;margin-bottom:20px}
.foot-brand p{max-width:360px}
.foot-contact{line-height:1.7}
.site-footer h4{font-family:var(--sans);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:10px}
.site-footer a{color:var(--on-slate);text-decoration:none}
.site-footer a:hover{color:var(--mint)}
.foot-legal{padding-top:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.86rem}
.disclaimer{max-width:760px;line-height:1.55}
.disclaimer strong{color:#fff;font-weight:600}

/* Simple pages (legal, 404, thanks) */
.page-hero{background:var(--slate);color:#fff;padding:80px 0 72px}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.6rem)}
.page-hero p{color:var(--on-slate);margin:14px 0 0;font-size:1.1rem}
.page-hero .eyebrow{color:var(--mint)}
.prose{max-width:760px;padding:64px 24px 96px;margin:0 auto}
.prose h2{font-size:1.6rem;margin:40px 0 12px}
.prose h3{margin:28px 0 8px;color:var(--ink)}
.prose p,.prose li{color:#33475A}
.prose ul{padding-left:22px}
.center-page{min-height:calc(100vh - 76px - 260px);display:grid;place-items:center;text-align:center;padding:96px 24px}
.center-page .mark{width:96px;height:96px;margin:0 auto 26px}
.center-page h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:16px}
.center-page p{color:var(--muted);max-width:540px;margin:0 auto 30px;font-size:1.12rem}
.center-page .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* Client portal sign-in (login.html) */
.portal{padding:88px 24px 96px}
.portal-card{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:40px 38px 34px}
.portal-card h1{font-size:clamp(2rem,4vw,2.5rem);margin-bottom:8px}
.portal-card .hint{color:var(--muted);font-size:1rem;margin:0 0 26px}
.portal-form{display:flex;flex-direction:column;gap:18px}
.portal-form .label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.portal-form .label-row a{font-size:.88rem;font-weight:600;text-decoration:none}
.portal-form .label-row a:hover{text-decoration:underline}
.portal-form .btn{width:100%;padding:17px;margin-top:6px}
.portal-msg{display:none;margin:0;padding:12px 14px;border-radius:12px;background:var(--slate-50);color:var(--ink);font-size:.92rem;line-height:1.5}
.portal-msg.show{display:block}
.portal-alt{text-align:center;color:var(--muted);font-size:.98rem;margin:26px 0 0}
.portal-alt a{font-weight:600}

/* Motion: reveal on scroll (disabled for reduced motion and no-JS) */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Responsive */
@media (max-width:1080px){
  .nav-links{gap:20px}
  .nav-links .hide-md{display:none}
  .compare-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .cmp{grid-row:auto;display:block;padding-bottom:10px}
  .cmp dl{display:block}
  .tiers{grid-template-columns:repeat(2,1fr)}
  .report-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:920px){
  body{font-size:17px}
  .section{padding:88px 0}
  .nav-toggle{display:block}
  .nav-links{position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:stretch;gap:0;background:var(--slate);padding:8px 24px 24px;box-shadow:0 18px 30px rgba(31,45,58,.25);display:none}
  .nav-links.open{display:flex}
  .nav-links li{border-bottom:1px solid rgba(228,236,241,.12)}
  .nav-links li:last-child{border:0;padding-top:16px}
  .nav-links a{display:block;padding:14px 0;font-size:1.05rem}
  .nav-links .hide-md{display:block}
  .nav-links .nav-cta{width:100%}
  .nav-links a.nav-cta{display:flex;padding:15px 22px}
  .nav-links .nav-login-item{margin:0}
  .nav-links a.nav-login{display:block;padding:14px 0;border:0;border-radius:0;font-size:1.05rem}
  .hero{padding:64px 0 80px}
  .hero-grid,.family-grid,.consult-grid,.faq-grid,.how-grid,.examples-grid,.calc{grid-template-columns:1fr}
  .hero-grid{gap:56px}
  .preview{max-width:560px;width:100%;margin:0 auto}
  .how-intro,.faq-grid .section-head{position:static}
  .how-grid{gap:48px}
  .faq-grid{gap:24px}
  .facts-grid{grid-template-columns:1fr 1fr}
  .facts-grid>div{padding:26px 22px}
  .facts-grid>div:nth-child(odd){border-left:0;padding-left:0}
  .facts-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .problem-grid{grid-template-columns:1fr;gap:32px}
  .control-grid{grid-template-columns:1fr 1fr}
  .control-grid li,.control-grid li:nth-child(3n+2),.control-grid li:nth-child(3n){padding:26px 26px 26px 0;border-left:0}
  .control-grid li:nth-child(even){padding-left:26px;border-left:1px solid var(--line-dark)}
  .family-grid{gap:40px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:760px){
  .tier-details{grid-template-columns:1fr}
  .int-grid{grid-template-columns:1fr 1fr;gap:12px}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  .section{padding:72px 0}
  .section-head{margin-bottom:36px}
  .hero{padding:48px 0 64px}
  .hero h1{font-size:clamp(2.8rem,13vw,3.4rem)}
  .hero-ctas{gap:18px}
  .hero-ctas .btn{flex:1 1 100%}
  .hero-ctas .text-link{margin:0 auto}
  .hero-note{font-size:.93rem}
  .preview-tabs button{padding:9px 10px}
  .preview-tabs button span{font-size:.74rem}
  .mock{padding:20px 18px 20px;min-height:0}
  .mock-meta{flex-direction:column}
  .mock-pay{flex-wrap:wrap}
  .facts-grid{grid-template-columns:1fr}
  .facts-grid>div,.facts-grid>div:nth-child(odd){padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}
  .facts-grid>div:last-child{border-bottom:0}
  .facts b{font-size:1.35rem}
  .report,.log{padding:22px 18px}
  .report-stats dd{font-size:1.45rem}
  .log-list::before{left:56px}
  .log-list li{grid-template-columns:46px 1fr;gap:20px}
  .log-list li::after{left:52px}
  .control-grid{grid-template-columns:1fr}
  .control-grid li,.control-grid li:nth-child(even),.control-grid li:nth-child(3n+2),.control-grid li:nth-child(3n){padding:22px 0;border-left:0}
  .compare-grid{grid-template-columns:1fr}
  .calc-inputs,.calc-results{padding:26px 20px}
  .calc-row{grid-template-columns:1fr;gap:24px}
  .calc-field label{flex-wrap:wrap}
  .calc-results .total dd{font-size:1.6rem}
  .calc-results .btn{align-self:stretch}
  .int{padding:20px 16px}
  .int-logo{height:34px}
  .int-logo img{height:var(--hm,calc(var(--h,28px)*.82))}
  .int-logo-export{gap:8px}
  .int-logo-export b{font-size:1rem}
  .tiers{grid-template-columns:1fr;gap:14px}
  .tier{padding:26px 22px}
  .tier .btn{width:100%}
  .tier-details .checks{grid-template-columns:1fr}
  .card{padding:24px 22px}
  .portal{padding:48px 20px 72px}
  .portal-card{padding:30px 22px 26px}
  .faq-list summary{font-size:1.02rem;padding:20px 2px}
  .faq-list .answer{padding-right:8px}
  .form-card{padding:28px 22px}
  .form-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:32px}
}

/* Headline-font headings with fi/fl/ff ligatures off so the f letters stay plain */
h1,h2,h3,h4,.btn,.q,.amt,.facts b,.num,.report-stats dd,.calc-results .total dd,.next-steps li::before{font-variant-ligatures:no-common-ligatures no-discretionary-ligatures no-contextual;font-feature-settings:"liga" 0,"dlig" 0,"calt" 0}
