/* The Legacy Advisory Firm: shared site styles (DRAFT 2026-11-07).
   Extracted from the approved one-page draft; brand colors and fonts unchanged.
   No prices anywhere on the site. */
:root{
  --ink:#16233d;           /* navy-black body text */
  --ink-soft:#4a566b;      /* secondary text */
  --royal:#2a5ba8;         /* brand royal blue: primary accent */
  --royal-deep:#1d4380;
  --lime:#8fae2f;          /* brand lime: decorative only */
  --lime-text:#56701a;     /* lime darkened to pass AA contrast for small text on white */
  --lime-tint:#eef4dc;
  --mist:#f3f5f9;
  --rule:#d9dee8;
  --paper:#ffffff;
  --display:"Source Serif 4", "Iowan Old Style", Georgia, serif;
  --body:"Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px);overflow-wrap:break-word}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--royal)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:8px;z-index:20;background:var(--ink);color:#fff;padding:10px 14px;border-radius:6px}
.skip:focus{left:16px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;color:var(--ink);letter-spacing:-.01em}
h2{font-size:clamp(1.85rem,3.4vw,2.6rem);line-height:1.15;font-weight:600}
h3{font-size:1.2rem;font-weight:600;line-height:1.3}
p{margin:0}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--royal)}
.lede{color:var(--ink-soft);font-size:1.08rem;max-width:64ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 1rem/1.2 var(--body);padding:.95em 1.4em;border-radius:6px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:center}
.btn-primary{background:var(--royal);color:#fff}
.btn-primary:hover{background:var(--royal-deep)}
.btn-ghost{border-color:var(--royal);color:var(--royal);background:transparent}
.btn-ghost:hover{background:var(--royal);color:#fff}

/* header */
header{position:sticky;top:0;z-index:9;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--rule);padding-top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.bar .logo img{height:58px;width:auto;display:block}
.bar nav{display:flex;align-items:center;gap:30px}
.bar nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem;padding:6px 0;border-bottom:2px solid transparent}
.bar nav a:hover{color:var(--royal);border-bottom-color:var(--rule)}
.bar nav a[aria-current="page"]{color:var(--royal);border-bottom-color:var(--lime)}
.bar .btn{color:#fff;padding:.72em 1.2em;font-size:.95rem;white-space:nowrap}
.bar .btn:hover{color:#fff}
@media (max-width:980px){
  header{position:static}
  .bar{flex-wrap:wrap;row-gap:6px}
  .bar .logo img{height:46px}
  .bar nav{order:3;flex-basis:100%;flex-wrap:wrap;gap:2px 22px;border-top:1px solid var(--rule);padding-top:6px}
  .bar nav a{font-size:.92rem}
}
@media (max-width:420px){.bar .btn{padding:.6em .85em;font-size:.86rem}.bar nav{gap:0 16px}}

/* hero: deep ink band on every page except utility pages (.plain) */
.hero{position:relative;overflow:hidden;padding-block:96px 104px;background:var(--ink);color:#fff;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(60% 80% at 85% 10%,rgba(42,91,168,.55),transparent 70%),
  radial-gradient(40% 60% at 0% 100%,rgba(143,174,47,.18),transparent 70%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--lime),var(--royal))}
.hero.page{padding-block:72px 76px}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;font-weight:600;margin-top:18px;color:#fff;max-width:17ch;letter-spacing:-.02em}
.hero.page h1{font-size:clamp(2.1rem,4.6vw,3.4rem);max-width:22ch}
.hero h1 em{font-style:italic;color:#b9d36a}
.hero .eyebrow{color:#b9d36a}
.hero .lede{margin-top:22px;color:#cfd8e8;font-size:1.18rem;max-width:58ch}
.hero .lede a,.hero a:not(.btn){color:#fff}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .btn-primary{background:var(--lime);color:var(--ink)}
.hero .btn-primary:hover{background:#a6c447}
.hero .btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero .note{color:#cfd8e8}
.who-list{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none}
.who-list li{font-size:.88rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 12px;color:#dfe6f2}
.hero .jump a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25);color:#fff}
.hero .jump a:hover{background:#fff;color:var(--ink);border-color:#fff}
/* utility pages keep the light hero */
.hero.plain{background:linear-gradient(180deg,var(--mist),var(--paper));color:var(--ink)}
.hero.plain::before,.hero.plain::after{display:none}
.hero.plain h1{color:var(--ink)}
.hero.plain .eyebrow{color:var(--royal)}
.hero.plain .lede,.hero.plain .note{color:var(--ink-soft)}
.hero.plain .btn-primary{background:var(--royal);color:#fff}
.hero.plain .btn-ghost{border-color:var(--royal);color:var(--royal)}
.hero.plain .btn-ghost:hover{background:var(--royal);color:#fff}
.proof-row{list-style:none;margin:64px 0 0;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.proof-row li{display:grid;gap:4px;min-width:0}
.proof-row strong{font-family:var(--display);font-size:1.15rem;font-weight:600;color:#fff}
.proof-row span{font-size:.9rem;color:#a9b6cc}
@media (max-width:900px){.hero{padding-block:64px 72px}.hero.page{padding-block:52px 56px}.proof-row{grid-template-columns:1fr 1fr;margin-top:44px}}
@media (max-width:480px){.proof-row{grid-template-columns:1fr;gap:14px}}

/* seasonal offer band + key dates */
.offer-band{background:var(--lime-tint);border-bottom:1px solid #dbe6bd}
.offer-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding-block:40px}
.offer-grid>*{min-width:0}
.offer h2{font-size:1.6rem;margin-top:8px}
.offer .eyebrow{color:var(--lime-text)}
.offer .sub{color:var(--ink-soft);margin-top:10px;font-size:1rem}
.link-arrow{display:inline-block;margin-top:14px;font-weight:600;color:var(--royal);text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:2px}
.link-arrow::after{content:" \2192"}
.link-arrow:hover{color:var(--royal-deep)}
.rail ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0}
.rail li{padding:14px 16px;border-left:2px solid #cddca3;min-width:0}
.rail .date{font-family:var(--display);font-weight:600;font-size:1.15rem;font-variant-numeric:tabular-nums}
.rail .what{font-size:.88rem;color:var(--ink-soft);line-height:1.4;margin-top:2px}
.rail li.next{border-left-color:var(--royal);background:rgba(255,255,255,.6)}
.rail li.next .date{color:var(--royal)}
.rail li.next .date::after{content:"Next";margin-left:8px;font:600 .66rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;background:var(--royal);color:#fff;padding:4px 7px;border-radius:3px;vertical-align:middle}
@media (max-width:860px){.offer-grid{grid-template-columns:1fr;gap:24px}}
@media (max-width:420px){.rail ol{grid-template-columns:1fr}}

section.block{padding-block:96px;scroll-margin-top:80px}
@media (max-width:600px){section.block{padding-block:52px}}
@media (max-width:1100px){section.block{scroll-margin-top:12px}}
.head{display:grid;gap:12px;margin-bottom:36px;max-width:740px}
.alt{background:var(--mist)}

/* card grids */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:24px;display:grid;gap:8px;align-content:start;min-width:0}
.card .tag{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-text)}
.card p,.card li{color:var(--ink-soft);font-size:.98rem}
.card ul{margin:4px 0 0;padding-left:20px;display:grid;gap:4px}
@media (max-width:1000px){.cards.four{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cards,.cards.two,.cards.four{grid-template-columns:1fr}}
.callout{margin-top:24px;border-left:4px solid var(--lime);background:var(--paper);padding:16px 20px;border-radius:0 8px 8px 0;color:var(--ink-soft);font-size:.95rem;max-width:860px}
.callout strong{color:var(--ink)}

/* partners */
.partner{border-top:4px solid var(--royal);border-radius:0 0 10px 10px}
.partner .keep{font-size:.9rem;color:var(--ink);border-top:1px dashed var(--rule);padding-top:10px}
.promise{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:28px;font-size:.95rem}
.promise span{display:inline-flex;gap:8px;align-items:center}
.promise span::before{content:"";width:8px;height:8px;background:var(--lime);transform:rotate(45deg);flex:none}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.jump a{display:inline-block;border:1px solid var(--rule);background:var(--paper);border-radius:999px;padding:8px 16px;text-decoration:none;font-weight:500;font-size:.95rem;color:var(--ink)}
.jump a:hover{border-color:var(--royal);color:var(--royal)}
.terms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 28px;max-width:960px}
.terms li{padding-left:24px;position:relative;color:var(--ink-soft)}
.terms li strong{color:var(--ink);display:block}
.terms li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:2px;background:var(--lime);transform:rotate(45deg)}
@media (max-width:760px){.terms{grid-template-columns:1fr}}
.dark-band{display:grid;grid-template-columns:1fr auto;gap:16px 32px;align-items:center;background:var(--ink);color:#fff;border-radius:12px;padding:28px}
.dark-band h2,.dark-band h3{color:#fff}
.dark-band p{color:#c9d2e3;margin-top:6px;max-width:68ch}
.dark-band .btn{background:var(--lime);color:var(--ink)}
.dark-band .btn:hover{background:#a6c447}
@media (max-width:760px){.dark-band{grid-template-columns:1fr}}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.steps li{counter-increment:step;display:grid;gap:8px;align-content:start;min-width:0;border-top:1px solid var(--rule);padding-top:18px}
.steps li::before{content:counter(step);font-family:var(--display);font-size:2rem;font-weight:700;color:var(--royal);line-height:1}
.steps p{color:var(--ink-soft);font-size:.96rem}
.steps.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.steps,.steps.three{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps,.steps.three{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:0 20px}
.faq summary{cursor:pointer;font-weight:600;padding:18px 28px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:14px;font-size:1.4rem;color:var(--royal)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--ink-soft);padding-bottom:18px}

/* about + contact */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.duo>*{min-width:0}
.quote{font-family:var(--display);font-size:1.5rem;line-height:1.35;font-style:italic;color:var(--royal-deep);border-left:4px solid var(--lime);padding-left:20px;margin-top:20px}
.contact-card{background:var(--ink);color:#fff;border-radius:12px;padding:32px;display:grid;gap:18px;min-width:0}
.contact-card h2{color:#fff}
.contact-card p{color:#c9d2e3}
.line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
.line .k{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#9fb0cc}
.line .v{font-size:1.1rem;font-weight:500;overflow-wrap:anywhere;color:#fff}
.line a.v{text-decoration:none}
.line a.v:hover{text-decoration:underline}
.contact-card .btn-primary{background:var(--lime);color:var(--ink)}
.contact-card .btn-primary:hover{background:#a6c447}
@media (max-width:860px){.duo{grid-template-columns:1fr;gap:32px}}

/* lead-magnet form */
.form-card{background:var(--paper);border:1px solid var(--rule);border-top:5px solid var(--lime);border-radius:10px;padding:28px;display:grid;gap:14px;min-width:0}
.form-card h3{font-size:1.3rem}
.field{display:grid;gap:6px}
.field label{font-weight:500;font-size:.95rem}
.field input,.field select{font:400 1rem/1.3 var(--body);color:var(--ink);padding:.75em .85em;border:1px solid #aab3c3;border-radius:6px;background:#fff;width:100%;min-width:0}
.check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:.92rem;color:var(--ink-soft)}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--royal)}
.form-card .btn{width:100%}
.form-card .fine{font-size:.82rem;color:var(--ink-soft)}
.form-status{font-size:.92rem;background:var(--lime-tint);border-radius:6px;padding:12px 14px;color:var(--ink)}

/* checklist (lead magnet) */
.checklist{display:grid;gap:28px;max-width:860px}
.checklist section{break-inside:avoid}
.checklist h2{font-size:1.4rem;padding-bottom:8px;border-bottom:2px solid var(--lime)}
.checklist ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.checklist li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--ink-soft)}
.checklist li::before{content:"";width:18px;height:18px;border:2px solid var(--royal);border-radius:3px;margin-top:4px}
.checklist li strong{color:var(--ink)}
.print-bar{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* privacy */
.prose{max-width:760px;display:grid;gap:14px}
.prose h2{font-size:1.45rem;margin-top:22px}
.prose p,.prose li{color:var(--ink-soft)}
.prose ul{margin:0;padding-left:22px;display:grid;gap:6px}
.draft-flag{display:inline-block;background:#fff4d6;border:1px solid #e6c766;color:#5a4300;font-weight:600;font-size:.85rem;letter-spacing:.04em;padding:6px 12px;border-radius:6px}

footer{border-top:1px solid var(--rule);padding-block:28px;font-size:.84rem;color:var(--ink-soft)}
footer .wrap{display:grid;gap:8px}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{color:var(--ink-soft)}

@media print{
  header,footer nav,.skip,.print-bar,.no-print,.contact-band{display:none!important}
  body{font-size:11.5pt;color:#000}
  .hero,.hero.page{background:none;padding:0 0 12pt}
  section.block{padding-block:10pt}
  .checklist{gap:14pt}
  .checklist li{color:#000}
  a{color:#000;text-decoration:none}
  .print-logo{display:block!important;height:44px;width:auto;margin-bottom:10pt}
}
.print-logo{display:none}

/* shared section helpers */
.head.center{margin-inline:auto;text-align:center;justify-items:center}
.head.center .lede{margin-inline:auto}
.note{font-size:.88rem;color:var(--ink-soft);margin-top:14px;max-width:900px}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.split>*{min-width:0}
.split-head{display:grid;gap:14px;position:sticky;top:110px}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:32px}.split-head{position:static}}

/* audience index list (home) */
.index-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.index-list a{display:grid;grid-template-columns:48px 1fr 28px;gap:16px;align-items:start;padding:24px 8px;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;transition:background .15s}
.index-list a:hover{background:var(--mist)}
.index-list .n{font-family:var(--display);font-size:1rem;font-weight:600;color:var(--lime-text);padding-top:4px;font-variant-numeric:tabular-nums}
.index-list .t{display:grid;gap:4px;min-width:0}
.index-list strong{font-family:var(--display);font-size:1.35rem;font-weight:600;color:var(--ink)}
.index-list .t span{color:var(--ink-soft);font-size:.98rem}
.index-list .arr{font-size:1.3rem;color:var(--royal);padding-top:4px;transition:transform .15s}
.index-list a:hover .arr{transform:translateX(4px)}
.index-list a:hover strong{color:var(--royal)}
@media (max-width:520px){.index-list a{grid-template-columns:34px 1fr 20px;gap:10px;padding:20px 4px}}

/* services (home) */
.group-label{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:40px 0 14px;display:flex;align-items:center;gap:14px}
.group-label::after{content:"";flex:1;height:1px;background:var(--rule)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:28px;display:grid;gap:10px;align-content:start;min-width:0;transition:box-shadow .15s,transform .15s}
.svc:hover{box-shadow:0 18px 40px -26px rgba(22,35,61,.45);transform:translateY(-2px)}
.svc h3{font-size:1.35rem}
.svc p{color:var(--ink-soft);font-size:.98rem}
.svc .lvl{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 .9rem/1 var(--body)}
.center-cta{text-align:center;margin-top:44px}
.center-cta .note{margin-inline:auto}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr}}

/* network feature (home) */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;border-left:4px solid var(--lime);padding-left:40px}
.feature>*{min-width:0}
.feature h2{margin-top:12px}
.feature .lede{font-size:1.15rem}
.fine-print{font-size:.92rem;color:var(--ink-soft);margin-top:12px}
@media (max-width:860px){.feature{grid-template-columns:1fr;gap:20px;padding-left:20px}}

/* dark section + timeline */
.block.dark{background:var(--ink);color:#fff}
.block.dark h2,.block.dark h3{color:#fff}
.block.dark .eyebrow{color:#b9d36a}
.timeline{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:step;position:relative}
.timeline::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:2px;background:linear-gradient(90deg,var(--lime),rgba(255,255,255,.15))}
.timeline li{counter-increment:step;display:grid;gap:10px;align-content:start;min-width:0;position:relative}
.timeline li::before{content:counter(step);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ink);border:2px solid var(--lime);color:#fff;font:600 1.1rem/1 var(--display);margin-bottom:8px}
.timeline p{color:#c3cede;font-size:.97rem}
@media (max-width:900px){.timeline{grid-template-columns:1fr;gap:24px}.timeline::before{left:22px;right:auto;top:22px;bottom:22px;width:2px;height:auto;background:linear-gradient(180deg,var(--lime),rgba(255,255,255,.15))}.timeline li{grid-template-columns:46px 1fr;column-gap:18px}.timeline li::before{grid-row:span 2;margin:0}}

/* consent banner + footer link button */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:720px;margin-inline:auto;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-top:4px solid var(--lime);border-radius:12px;padding:18px 20px;box-shadow:0 20px 50px -20px rgba(22,35,61,.5);display:grid;gap:14px;font-size:.95rem}
.consent p{color:var(--ink-soft)}
.consent p strong{color:var(--ink)}
.consent-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.consent .btn{padding:.7em 1.3em;min-width:120px}
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--ink-soft);text-decoration:underline;cursor:pointer}
@media print{.consent{display:none!important}}

/* Text-message opt-in (contact card + checklist form) */
.opt{font-weight:400;color:var(--ink-soft);font-size:.85em}
.sms-optin{border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.sms-optin summary{cursor:pointer;font-weight:600;color:#fff;list-style-position:inside}
.sms-optin summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.sms-optin form{display:grid;gap:12px;margin-top:14px}
.sms-optin .field label{color:#fff}
.sms-optin .check{color:#c9d2e3;font-size:.82rem}
.sms-optin .check input{accent-color:var(--lime)}
.sms-optin .fine{font-size:.8rem;color:#c9d2e3;margin:0}
.sms-optin .fine a{color:#fff}
.btn-ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);width:100%}
.btn-ghost-light:hover{background:rgba(255,255,255,.1)}
