
:root{
  --green:#14293D; --green-2:#2D5578; --gold:#C49D53; --gold-soft:#F7EFDD;
  --sage:#F4F2ED; --ink:#18212C; --muted:#56606C; --line:#DCE1E7; --white:#fff;
  --deep:#0C1B2A;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"Public Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--ink);background:var(--white)}
img{max-width:100%}
a{color:var(--green-2)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em;max-width:68ch}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:8px 14px;z-index:10}
.skip:focus{left:12px}

/* Header */
header.site{background:var(--white);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;max-width:var(--wrap);margin:0 auto}
.brand{display:block;line-height:0}
.brand img{height:64px;width:auto}
@media (max-width:560px){.brand img{height:48px}}
.nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;flex-wrap:wrap}
.nav ul a{color:var(--ink);text-decoration:none;font-size:.95rem;opacity:.9}
.nav ul a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:600;text-decoration:none;padding:12px 22px;border-radius:4px;border:0;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:#B38C45}
.btn.ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.mobile-cta{display:none;padding:9px 16px}
@media (max-width:860px){.nav ul{display:none}.mobile-cta{display:inline-block}}

/* Hero */
.hero{background:var(--deep);color:var(--white);padding:56px 0 80px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.hero p.lede{font-size:1.15rem;opacity:.9}
.hero .facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);font-size:.95rem;opacity:.85}
.router{background:var(--white);color:var(--ink);border-radius:6px;padding:28px;border-top:6px solid var(--gold)}
.router h2{font-size:1.45rem;margin-bottom:4px}
.router .hint{color:var(--muted);font-size:.95rem;margin-bottom:16px}
.router fieldset{border:0;margin:0;padding:0}
.router label{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1.5px solid var(--line);border-radius:4px;margin-bottom:8px;cursor:pointer}
.router label:hover{border-color:var(--green-2)}
.router input{accent-color:var(--green)}
.router label:has(input:checked){border-color:var(--green);background:var(--sage)}
.result{margin-top:16px;padding:16px;background:var(--gold-soft);border-radius:4px;display:none}
.result.show{display:block}
.result strong{font-family:var(--serif);font-size:1.15rem;display:block;margin-bottom:4px}
.result p{font-size:.95rem;margin-bottom:12px}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:36px}}

/* Sections */
section{padding:88px 0}
.intro{max-width:760px}
.intro p{font-size:1.1rem;color:var(--muted)}

/* Contrast: the usual CPA relationship vs. ours */
.contrast .head{max-width:760px}
.contrast .head p{font-size:1.1rem;color:var(--muted)}
.rows{margin-top:40px;border-top:2px solid var(--green)}
.row-c{display:grid;grid-template-columns:210px 1fr 1fr;gap:36px;padding:24px 0;border-bottom:1px solid var(--line)}
.row-c.labels{padding:14px 0;font-weight:600;font-size:.92rem;color:var(--muted)}
.row-c.labels span:last-child{color:var(--gold)}
.row-c h3{font-size:1.15rem;margin:0}
.row-c p{margin:0;font-size:.98rem}
.row-c .usual{color:var(--muted)}
.row-c .ours{color:var(--ink)}
.row-c .tag{display:none;font-weight:600;font-size:.85rem;margin-bottom:4px}
.contrast .after{margin-top:28px;font-weight:600}
@media (max-width:860px){
  .row-c{grid-template-columns:1fr;gap:10px}
  .row-c.labels{display:none}
  .row-c .tag{display:block;color:var(--muted)}
  .row-c .ours .tag{color:var(--gold)}
}

/* Video backgrounds */
.vbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.shade{position:absolute;inset:0;z-index:0}
.hero{position:relative;overflow:hidden;border-bottom:3px solid var(--gold)}
.hero .shade{background:linear-gradient(90deg,rgba(12,27,42,.86) 0%,rgba(12,27,42,.62) 50%,rgba(12,27,42,.3) 100%)}
.hero h1,.hero p.lede,.vband p{text-shadow:0 1px 12px rgba(0,0,0,.45)}
.hero .wrap{position:relative;z-index:1}
.vband{position:relative;overflow:hidden;min-height:360px;display:flex;align-items:center;color:var(--white);padding:0}
.vband .shade{background:linear-gradient(90deg,rgba(12,27,42,.8) 0%,rgba(12,27,42,.45) 60%,rgba(12,27,42,.15) 100%)}
.vtoggle{position:absolute;right:16px;bottom:16px;z-index:2;background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:5px 12px;font:inherit;font-size:.8rem;cursor:pointer}
.vtoggle:hover{background:rgba(0,0,0,.65)}
.vband .wrap{position:relative;z-index:1;width:100%}
.vband p{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.25;max-width:24ch;margin:0}
@media (max-width:760px){.hero .shade{background:rgba(12,27,42,.8)}.vband{min-height:280px}.vband .shade{background:rgba(12,27,42,.62)}}

/* Industries */
.industries .head{max-width:780px}
.industries .head p{font-size:1.1rem;color:var(--muted)}
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px;margin-top:40px}
.ind{border-top:3px solid var(--gold);padding-top:16px}
.ind .verb{font-family:var(--serif);font-size:1.6rem;color:var(--green);line-height:1}
.ind .who{font-weight:700;margin:8px 0 12px;font-size:.98rem}
.ind .watch{font-size:.85rem;color:var(--muted);font-weight:600;margin-bottom:4px}
.ind ul{margin:0;padding-left:18px;font-size:.93rem;color:var(--muted)}
.ind li{margin-bottom:5px}
.ind.more{background:var(--sage);border-top-color:var(--green);padding:16px 20px 20px}
.ind.more p{font-size:.95rem;margin:10px 0 0}
@media (max-width:1100px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ind-grid{grid-template-columns:1fr}}

/* Feature: monthly bookkeeping & payroll */
.core{background:var(--sage)}
.core .head{max-width:780px}
.core .head p{font-size:1.12rem;color:var(--muted)}
.core-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.panel{background:var(--white);border-radius:6px;padding:30px 32px;border-top:5px solid var(--gold);box-shadow:0 1px 0 var(--line)}
.panel h3{font-size:1.5rem;margin-bottom:2px}
.panel .cadence{color:var(--green-2);font-weight:600;font-size:.95rem;margin-bottom:16px}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:-4px 0 18px;padding:12px 14px;background:var(--gold-soft);border-radius:4px}
.price b{font-family:var(--serif);font-size:1.7rem;color:var(--ink);line-height:1}
.price span{font-size:.9rem;color:var(--muted)}
.adv-price{margin:4px 0 14px;padding:14px 16px;background:var(--gold-soft);border-radius:4px}
.adv-price p{margin:0 0 6px;font-size:.95rem}
.adv-price p:last-child{margin:0}
.fine{font-size:.85rem;color:var(--muted);margin:-6px 0 14px}
.drivers{margin:22px 0 0;font-size:.95rem;color:var(--muted);max-width:none}
.panel ul{list-style:none;padding:0;margin:0}
.panel li{position:relative;padding:9px 0 9px 28px;border-top:1px solid var(--line);font-size:.98rem}
.panel li:first-child{border-top:0}
.panel li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.core-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;padding:24px 28px;background:var(--green);color:var(--white);border-radius:6px}
.core-foot p{margin:0;max-width:56ch;flex:1 1 380px;opacity:.92}
@media (max-width:860px){.core-grid{grid-template-columns:1fr}.panel{padding:24px}}

/* Software */
.software .head{max-width:780px}
.software .head p{font-size:1.1rem;color:var(--muted)}
.sw-main{display:grid;grid-template-columns:repeat(2,1fr);max-width:860px;gap:28px;margin-top:36px}
.sw-group h3{font-size:1.1rem;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{border:1.5px solid var(--line);border-radius:999px;padding:5px 13px;font-size:.9rem;background:var(--white)}
.sw-ind{margin-top:40px;padding-top:28px;border-top:2px solid var(--green)}
.sw-ind > h3{font-size:1.25rem;margin-bottom:4px}
.sw-ind > p{color:var(--muted);margin-bottom:20px}
.sw-ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 28px}
.sw-ind-grid h4{font-size:.92rem;margin:0 0 8px;color:var(--green-2)}
.sw-ind-grid .chips li{background:var(--sage);border-color:transparent}
.tm{font-size:.8rem;color:var(--muted);margin-top:28px;max-width:none}
@media (max-width:900px){.sw-main,.sw-ind-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.sw-main,.sw-ind-grid{grid-template-columns:1fr}}

/* Bookkeeping tiers */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.tier{background:var(--white);border-radius:6px;padding:24px 22px;border:1.5px solid var(--line);display:flex;flex-direction:column}
.tier.top{border-color:var(--green);box-shadow:inset 0 5px 0 var(--gold)}
.tier h3{font-size:1.2rem;margin-bottom:2px}
.tier .guide{font-size:.88rem;color:var(--muted);margin-bottom:14px}
.tier .amt{font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--ink)}
.tier .amt small{font-family:var(--sans);font-size:.85rem;color:var(--muted)}
.tier dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:16px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.88rem}
.tier dt{color:var(--muted)} .tier dd{margin:0;font-weight:600;text-align:right;white-space:nowrap}
.tier.top .amt{font-size:1.6rem}
.tier .plus{font-size:.85rem;font-weight:600;color:var(--green-2);margin-bottom:6px}
.tier ul{list-style:none;padding:0;margin:0;font-size:.9rem}
.tier li{position:relative;padding:4px 0 4px 22px}
.tier li::before{content:"";position:absolute;left:2px;top:10px;width:10px;height:6px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.tier .addon{margin-top:auto;padding-top:14px;font-size:.85rem;color:var(--muted)}
.tier .addon b{color:var(--ink)}
.tier .addon{line-height:1.5}
.tier-note{margin-top:18px;font-size:.92rem;color:var(--muted);max-width:none}
@media (max-width:1100px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.tiers{grid-template-columns:1fr}}

/* Turnaround */
.turn{background:radial-gradient(ellipse at 10% 0%,rgba(196,157,83,.16),transparent 50%),linear-gradient(170deg,var(--green) 0%,var(--deep) 100%);color:var(--white)}
.turn .head{max-width:780px}
.turn .head p{font-size:1.12rem;opacity:.9}
.turn-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:40px;align-items:start}
.turn h3{font-size:1.25rem;margin-bottom:14px;color:var(--gold)}
.signs{list-style:none;padding:0;margin:0}
.signs li{padding:11px 0 11px 22px;border-top:1px solid rgba(255,255,255,.14);position:relative;opacity:.92}
.signs li:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.signs li::before{content:"";position:absolute;left:2px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.tsteps{counter-reset:t;list-style:none;padding:0;margin:0}
.tsteps li{counter-increment:t;display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:0 0 22px}
.tsteps li::before{content:counter(t);font-family:var(--serif);font-size:2rem;line-height:1;color:var(--gold);grid-row:span 2}
.tsteps b{font-family:var(--serif);font-size:1.15rem;font-weight:600}
.tsteps span{opacity:.88;font-size:.97rem}
.turn .note{margin-top:8px;font-size:.92rem;opacity:.75;max-width:none}
.turn .btn{margin-top:18px}
@media (max-width:860px){.turn-grid{grid-template-columns:1fr;gap:36px}}

/* Full CFO advisory */
.fullcfo .head{max-width:800px}
.fullcfo .head p{font-size:1.12rem;color:var(--muted)}
.fullcfo .head p.fit{font-size:.98rem;font-weight:600;color:var(--green-2);margin-top:-4px}
.cfo-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px}
.cfo-group{border:1.5px solid var(--line);border-radius:6px;padding:26px 28px;background:var(--white)}
.cfo-group > h3{font-size:1.35rem;margin-bottom:4px}
.cfo-group > .gwhy{color:var(--muted);font-size:.95rem;margin-bottom:14px}
.cfo-item{padding:14px 0;border-top:1px solid var(--line)}
.cfo-item h4{margin:0 0 4px;font-size:1rem;color:var(--green)}
.cfo-item p{margin:0;font-size:.95rem;color:var(--muted)}
.cfo-foot{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:28px;padding:22px 26px;background:var(--gold-soft);border-radius:6px}
.cfo-foot p{margin:0;flex:1 1 420px}
.cfo-foot .small{display:block;font-size:.88rem;color:var(--muted);margin-top:6px}
@media (max-width:860px){.cfo-groups{grid-template-columns:1fr}.cfo-group{padding:22px}}

/* Estate & buy-sell insurance */
.ins .head{max-width:800px}
.ins .head p{font-size:1.12rem;color:var(--muted)}
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.ins-card{border-top:4px solid var(--gold);background:var(--white);border-radius:0 0 6px 6px;padding:24px 24px 26px;box-shadow:0 0 0 1.5px var(--line) inset}
.ins-card h3{font-size:1.25rem;margin-bottom:4px}
.ins-card .for{font-size:.9rem;font-weight:600;color:var(--green-2);margin-bottom:12px}
.ins-card p{font-size:.96rem;color:var(--muted);margin-bottom:10px}
.ins-card ul{margin:0;padding-left:18px;font-size:.93rem;color:var(--muted)}
.ins-card li{margin-bottom:6px}
.ins-steps{counter-reset:i;list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ins-steps li{counter-increment:i;border-top:2px solid var(--green);padding-top:16px}
.ins-steps li::before{content:counter(i);font-family:var(--serif);font-size:2rem;color:var(--gold);display:block;line-height:1;margin-bottom:8px}
.ins-steps h4{margin:0 0 4px;font-size:1.05rem}
.ins-steps p{margin:0;font-size:.95rem;color:var(--muted)}
.ins-foot{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:36px;padding:22px 26px;background:var(--sage);border-radius:6px}
.ins-foot p{margin:0;flex:1 1 440px;font-size:.88rem;color:var(--muted)}
@media (max-width:960px){.ins-grid,.ins-steps{grid-template-columns:1fr}}

/* Price estimator */
.est{background:var(--white)}
.est .head{max-width:780px}
.est .head p{font-size:1.1rem;color:var(--muted)}
.est-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;margin-top:36px;align-items:start}
.est fieldset{border:0;padding:0;margin:0 0 26px}
.est legend{font-family:var(--serif);font-size:1.25rem;font-weight:600;margin-bottom:12px;padding:0}
.est .q{margin-bottom:16px}
.est .q > label,.est .q > .lbl{display:block;font-weight:600;font-size:.95rem;margin-bottom:6px}
.est .hint{font-weight:400;color:var(--muted);font-size:.85rem}
.est select,.est input[type=number]{width:100%;padding:11px 12px;font:inherit;border:1.5px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink)}
.est .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.est .toggles{display:grid;gap:8px}
.est .toggles label{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border:1.5px solid var(--line);border-radius:4px;cursor:pointer;font-size:.95rem}
.est .toggles label:has(input:checked){border-color:var(--green);background:var(--sage)}
.est .toggles input{margin-top:3px;accent-color:var(--green)}
.est .returns{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.est .returns .q{margin:0}
.est .emode{margin-bottom:26px}
.est .emode .lbl{font-family:var(--serif);font-size:1.25rem;font-weight:600;margin-bottom:12px}
.est .is-hidden{display:none}
.est .subq{margin:2px 0 6px 28px;padding:12px 14px;background:var(--sage);border-radius:4px}
.est .toggles .subq label{display:block;border:0;padding:0;margin-bottom:6px;cursor:default;background:none}
.est .subq input{max-width:140px}
.est .addbk{border-style:dashed}
.est .is-off{opacity:.4;filter:grayscale(1);pointer-events:none}
.est .is-off select,.est .is-off input{background:#eef0f2;cursor:not-allowed}
.est-out{position:sticky;top:16px;background:var(--green);color:var(--white);border-radius:8px;padding:28px;box-shadow:inset 0 5px 0 var(--gold)}
.est-out .tiername{color:var(--gold);font-weight:600;font-size:.95rem}
.est-out .big{font-family:var(--serif);font-size:2.6rem;line-height:1.05;margin:4px 0 2px}
.est-out .big small{font-family:var(--sans);font-size:1rem;opacity:.8}
.est-out .osub{font-size:.88rem;opacity:.8;margin:0 0 14px}
.est-out ul{list-style:none;padding:0;margin:0 0 16px;font-size:.93rem}
.est-out li{padding:7px 0;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:12px}
.est-out li span:last-child{white-space:nowrap;font-weight:600}
.est-out .total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-top:2px solid var(--gold);margin-top:4px}
.est-out .total b{font-family:var(--serif);font-size:1.5rem}
.est-out .allin{margin:0;font-size:.95rem}
.est-out .allin b{color:var(--gold)}
.est-out .note{font-size:.82rem;opacity:.75;margin:12px 0 16px}
.est-out .btn{display:block;text-align:center}
@media (max-width:900px){.est-grid{grid-template-columns:1fr}.est-out{position:static}}
@media (max-width:520px){.est .two,.est .returns{grid-template-columns:1fr}}

/* Client reviews */
.reviews{background:var(--sage);padding:72px 0}
.reviews h2{margin-bottom:28px}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rev{margin:0;background:var(--white);border-radius:6px;padding:26px 26px 22px;display:flex;flex-direction:column;border-top:4px solid var(--gold)}
.rev blockquote{margin:0 0 18px;font-family:var(--serif);font-size:1.12rem;line-height:1.5;color:var(--ink)}
.rev figcaption{margin-top:auto;font-size:.9rem;color:var(--muted)}
.rev figcaption b{color:var(--ink)}
@media (max-width:900px){.rev-grid{grid-template-columns:1fr}}

/* Transparent billing */
.bill{background:var(--sage)}
.bill .head{max-width:780px}
.bill .head p{font-size:1.1rem;color:var(--muted)}
.bill-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.bill-col{border-radius:6px;padding:26px 28px}
.bill-col.them{background:var(--white);border:1.5px solid var(--line)}
.bill-col.us{background:var(--green);color:var(--white);box-shadow:inset 0 5px 0 var(--gold)}
.bill-col h3{font-size:1.2rem;margin-bottom:12px}
.bill-col.us h3{color:var(--gold)}
.bill-col ul{list-style:none;padding:0;margin:0}
.bill-col li{padding:10px 0;border-top:1px solid var(--line);font-size:.97rem}
.bill-col.us li{border-top-color:rgba(255,255,255,.15)}
.bill-col.them li{color:var(--muted)}
.bill-terms{margin-top:22px;font-size:.9rem;color:var(--muted);max-width:none}
@media (max-width:860px){.bill-grid{grid-template-columns:1fr}}
.pay{margin:14px 0 4px;display:grid;gap:10px}
.pay .opt{border:1.5px solid rgba(255,255,255,.22);border-radius:6px;padding:12px 14px}
.pay .opt.main{border-color:var(--gold);background:rgba(196,157,83,.12)}
.pay .opt .k{font-size:.82rem;opacity:.8}
.pay .opt .v{font-family:var(--serif);font-size:1.35rem}
.pay .opt .d{font-size:.85rem;opacity:.8}

/* ---- mobile polish ---- */
.est-mini{display:none}
@media (max-width:900px){
  .est-mini{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:10px;background:var(--green);color:var(--white);border-radius:10px;padding:12px 16px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);border-top:3px solid var(--gold);transform:translateY(140%);transition:transform .2s}
  .est-mini.show{transform:none}
  .est-mini #mini-l{font-size:.85rem;opacity:.85}
  .est-mini b{font-family:var(--serif);font-size:1.25rem;margin-left:auto}
  .est-mini .mini-go{font-size:.85rem;color:var(--gold);font-weight:600}
}
@media (max-width:760px){
  header.site{position:sticky;top:0;z-index:40}
  form input[type=text],form input[type=email],form input[type=tel],form select,form textarea,.est select,.est input[type=number]{font-size:16px}
  .vtoggle{min-height:44px;min-width:64px}
  footer .flinks a,footer .top a{display:inline-block;padding:10px 2px}
  .rung a,.ins-foot .btn,.cfo-foot .btn{display:inline-block;padding-top:10px;padding-bottom:10px}
  .btn{min-height:44px}
}

/* Tiers: a growth ladder */
.ladder{margin-top:44px;border-left:3px solid var(--line);padding-left:0}
.rung{position:relative;display:grid;grid-template-columns:220px 1fr;gap:32px;padding:0 0 52px 36px}
.rung:last-child{padding-bottom:0}
.rung::before{content:"";position:absolute;left:-10px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--white);border:3px solid var(--green)}
.rung.top::before{background:var(--gold);border-color:var(--gold)}
.rung .band{font-weight:700;color:var(--green);font-size:1.05rem}
.rung .band span{display:block;font-weight:400;color:var(--muted);font-size:.92rem}
.rung ul{margin:10px 0 18px;padding-left:20px;columns:2;column-gap:32px}
.rung li{margin-bottom:6px;break-inside:avoid}
@media (max-width:760px){.rung{grid-template-columns:1fr;gap:8px}.rung ul{columns:1}}

/* Why */
.why{background:var(--sage)}
.why .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px}
.why h3{font-size:1.15rem}
.why p{color:var(--muted);font-size:.98rem}
@media (max-width:860px){.why .grid{grid-template-columns:1fr;gap:24px}}

/* Process: a real sequence */
.steps{counter-reset:s;list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.steps li{counter-increment:s;border-top:2px solid var(--green);padding-top:18px}
.steps li::before{content:counter(s);font-family:var(--serif);font-size:2.4rem;color:var(--gold);display:block;line-height:1;margin-bottom:10px}
.steps p{color:var(--muted);font-size:.98rem}
@media (max-width:860px){.steps{grid-template-columns:1fr}}

/* Team */
.team{border-top:1px solid var(--line)}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;margin-top:36px}
@media (max-width:1100px){.people{grid-template-columns:repeat(3,1fr)}}
.person h3{font-size:1.15rem;margin-bottom:2px}
.person .ph{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin-bottom:14px;background:var(--sage)}
.person.lead{display:flex;gap:32px;align-items:flex-start}
.person.lead .ph{width:200px;height:200px;border-radius:8px;flex:none;margin:0}
@media (max-width:640px){.person.lead{flex-direction:column}.person.lead .ph{width:160px;height:160px}}
.person .role{color:var(--gold);font-weight:600;font-size:.92rem;margin-bottom:10px}
.person p{color:var(--muted);font-size:.96rem}
.person.lead{grid-column:1/-1;padding-bottom:28px;border-bottom:1px solid var(--line)}
.person.lead p{max-width:72ch}
@media (max-width:960px){.people{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.people{grid-template-columns:1fr}}

/* CA band */
.ca{background:radial-gradient(ellipse at 85% 20%,rgba(196,157,83,.22),transparent 55%),linear-gradient(160deg,#1B3550 0%,var(--green) 55%,var(--deep) 100%);color:var(--white)}
.ca .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
.ca p{opacity:.9}
@media (max-width:860px){.ca .wrap{grid-template-columns:1fr}}

/* Form */
.contact .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
.contact address{font-style:normal;color:var(--muted);line-height:1.8}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form label.f{display:block;font-weight:600;font-size:.92rem;margin-bottom:14px}
form input[type=text],form input[type=email],form input[type=tel],form select,form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;font:inherit;font-weight:400;border:1.5px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink)}
form textarea{min-height:120px;resize:vertical}
form fieldset{border:0;padding:0;margin:0 0 16px}
form legend{font-weight:600;font-size:.92rem;margin-bottom:8px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:.95rem}
.checks label{display:flex;gap:8px;align-items:center}
.hidden{position:absolute;left:-9999px}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}form .row,.checks{grid-template-columns:1fr}}

/* Footer */
footer{background:radial-gradient(ellipse at 90% 0%,rgba(196,157,83,.12),transparent 55%),var(--deep);color:rgba(255,255,255,.75);padding:48px 0 36px;font-size:.88rem}
footer .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:28px}
footer a{color:var(--white)}
footer .disc{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;max-width:none}
footer .disc p{max-width:110ch}

.vband.vright .shade{background:linear-gradient(270deg,rgba(12,27,42,.85) 0%,rgba(12,27,42,.55) 55%,rgba(12,27,42,.2) 100%)}
.vband.vright .wrap{display:flex;justify-content:flex-end}
.vband.vright p{text-align:right}
@media (max-width:760px){.vband.vright .shade{background:rgba(12,27,42,.62)}.vband.vright .wrap{justify-content:flex-start}.vband.vright p{text-align:left}}

@media (max-width:760px){section[id],div[id],#est-out{scroll-margin-top:84px}}

@media (max-width:760px){.checks label{min-height:44px;padding:6px 0}.checks input{width:20px;height:20px}}

@media (max-width:760px){.contact form input[type=text],.contact form input[type=email],.contact form input[type=tel],.contact form select,.contact form textarea{font-size:16px}}

/* readable gold for small text on light backgrounds */
:root{--gold-text:#7F5F22}
.person .role,.fam-role,.row-c.labels span:last-child,.ind .watch,.svc-card span{color:var(--gold-text)}
.fam-card.parent .fam-role{color:var(--gold)}
.formnote{font-size:.85rem;color:var(--muted);margin:4px 0 14px}
.legal{padding:56px 0 72px}.legal .wrap{max-width:820px}.legal h2{font-size:1.3rem;margin-top:28px}.legal p,.legal li{color:var(--ink)}

.pm-lead{padding:8px 0 56px}
.pm-lead-grid{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:center;border-top:1px solid var(--line);padding-top:40px}
.pm-lead-grid img{width:160px;height:160px;border-radius:50%;object-fit:cover}
.pm-lead-grid h2{font-size:1.5rem}
.pm-lead-grid p{color:var(--muted);max-width:64ch}
@media (max-width:640px){.pm-lead-grid{grid-template-columns:1fr}.pm-lead-grid img{width:120px;height:120px}}

.pm{padding:72px 0 40px}
.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pm-card{border:1.5px solid var(--line);border-top:4px solid var(--gold);border-radius:6px;padding:26px 28px}
.pm-card h2{font-size:1.5rem;margin-bottom:12px}
.pm-list{list-style:none;padding:0;margin:0}
.pm-list li{position:relative;padding:9px 0 9px 26px;border-top:1px solid var(--line);font-size:.97rem}
.pm-list li::before{content:"";position:absolute;left:2px;top:15px;width:11px;height:6px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.pm-why{background:var(--sage);padding:64px 0}
.why-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:24px}
.why-grid3 p{color:var(--muted);font-size:.97rem}
.pm-price{padding:64px 0}
.pm-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}
.pm-pgrid > div{border-left:3px solid var(--gold);padding-left:18px}
.pm-pgrid p{color:var(--muted);font-size:.97rem}
.pm-note{margin-top:24px;font-size:.92rem;color:var(--muted);max-width:none}
@media (max-width:860px){.pm-grid,.why-grid3,.pm-pgrid{grid-template-columns:1fr}}

.story{padding:80px 0 56px}
.story-grid{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.story-ph{margin:0;position:sticky;top:20px}
.story-ph img{width:100%;height:auto;border-radius:8px;display:block}
.story-ph figcaption{font-size:.9rem;color:var(--muted);margin-top:8px}
.story-text p{font-size:1.08rem;max-width:64ch}
.story-text .sig{font-family:var(--serif);font-size:1.3rem;color:var(--green);margin-top:18px}
@media (max-width:760px){.story-grid{grid-template-columns:1fr}.story-ph{position:static;max-width:220px}}
.name-sec{background:var(--sage);padding:64px 0}
.name-grid{display:grid;grid-template-columns:280px 1fr;gap:40px}
.name-grid p{font-size:1.08rem}
@media (max-width:760px){.name-grid{grid-template-columns:1fr;gap:8px}}
.family{padding:72px 0}
.fam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.fam-card{border:1.5px solid var(--line);border-top:4px solid var(--gold);border-radius:6px;padding:22px 24px}
.fam-card.parent{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:inset 0 4px 0 var(--gold)}
.fam-card.parent p{color:rgba(255,255,255,.85)}
.fam-role{font-size:.85rem;font-weight:600;color:var(--gold);margin-bottom:4px}
.fam-card h3{font-size:1.2rem}.fam-card p{color:var(--muted);margin:0;font-size:.96rem}
.timeline{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--green)}
.timeline li{position:relative;padding:22px 18px 0 0}
.timeline li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--gold)}
.timeline b{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--green)}
.timeline span{color:var(--muted);font-size:.95rem}
@media (max-width:860px){.fam-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr;row-gap:24px}}

/* multi-page additions */
.nav ul a[aria-current="page"]{color:var(--green-2);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--gold)}
.navcta{padding:9px 16px}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;padding:9px 14px;border:1.5px solid var(--line);border-radius:4px;font-weight:600}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--white);border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:8px;display:grid;min-width:240px;z-index:20}
.mnav nav a{padding:11px 12px;color:var(--ink);text-decoration:none;border-radius:4px}
.mnav nav a:hover{background:var(--sage)}
@media (max-width:980px){.nav ul,.navcta{display:none}.mnav{display:block}}
.phero{background:radial-gradient(ellipse at 85% 0%,rgba(196,157,83,.18),transparent 55%),linear-gradient(160deg,#1B3550 0%,var(--green) 55%,var(--deep) 100%);color:var(--white);padding:64px 0 56px;border-bottom:3px solid var(--gold)}
.phero h1{max-width:20ch}
.phero p{font-size:1.15rem;opacity:.9;max-width:62ch}
.phero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cta-strip{background:var(--sage);padding:56px 0}
.cta-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-strip h2{margin-bottom:6px}.cta-strip p{margin:0;color:var(--muted)}
.cta-btns{display:flex;flex-wrap:wrap;gap:10px}
.btn.ghost-dark{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.svc{padding:80px 0}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px}
.svc-card{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--line);border-top:4px solid var(--gold);border-radius:6px;padding:22px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.svc-card:hover{border-color:var(--green)}
.svc-card h3{font-size:1.2rem;margin-bottom:6px}.svc-card p{color:var(--muted);font-size:.95rem;flex:1}
.svc-card span{color:var(--green-2);font-weight:600;font-size:.92rem}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}
.frac{padding:72px 0 24px}
.frac-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.frac-card{border:1.5px solid var(--line);border-top:4px solid var(--gold);border-radius:6px;padding:24px 26px}
.frac-card .amt{font-family:var(--serif);font-size:1.7rem;margin:4px 0 10px}.frac-card .amt small{font-family:var(--sans);font-size:.9rem;color:var(--muted)}
.frac-card p{color:var(--muted);margin:0}
.frac-note{margin-top:18px;color:var(--muted);max-width:none}
@media (max-width:760px){.frac-grid{grid-template-columns:1fr}}
.flinks{display:flex;flex-wrap:wrap;gap:8px 18px;max-width:520px;justify-content:flex-end}
@media (max-width:760px){.flinks{justify-content:flex-start}}
