/* ============================================================
   BlueLion 1031 - homepage, v2 (trust architecture)
   Register: Mercury. One dominant colour used with conviction,
   typography carrying the hierarchy, very few boxes, generous air.
   Order of argument: identity, custody, track record, visibility,
   process and price, verdict, door. Each section proves one claim.
   ============================================================ */
/* self-hosted latin subsets of the same Google Fonts files: no third-party connections */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/source-serif-4-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-serif-4-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  /* one hue, eight steps. everything accent-coloured comes from this scale,
     so nothing on the page is off-brand by construction. */
  --navy-900:#0A1330;   /* hero ground */
  --navy-700:#132563;   /* brand primary */
  --navy-500:#2C4A9E;   /* accents on light ground */
  --blue-400:#5B7FD4;   /* rules, marks */
  --blue-300:#8FAEEE;   /* accents on dark ground */
  --blue-100:#DDE6F7;
  --blue-050:#EDF1FA;
  --navy:#132563;
  --navy-deep:#0A1330;
  --paper:#F8FAFD;      /* off-white with a blue cast, not warm, not clinical */
  --paper-2:#EDF1FA;
  --ink:#141B2E;
  --muted:#5A6684;
  --line:#DCE3EF;
  --max:1140px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1.12;text-wrap:balance;margin:0}
a{color:inherit}
a[href^="tel:"]{white-space:nowrap}
/* the 404 page is shorter than a desktop window: let the footer reach the bottom */
body:has(>main[data-edit-page="/404.html"]){min-height:100vh;display:flex;flex-direction:column}
body:has(>main[data-edit-page="/404.html"])>main{flex:1 0 auto}
img{max-width:100%;display:block}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-500);margin:0 0 14px}
.hero .eyebrow,.safety .eyebrow{color:var(--blue-300)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:8px 12px;z-index:20;border-radius:4px;font-size:14px}
.skip:focus{left:8px}
a:focus-visible{outline:2px solid var(--navy-500);outline-offset:3px}
.textlink{color:var(--navy-500);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.textlink:hover{color:var(--navy)}

/* ---------- header: fixed, transparent over the hero, paper once the hero scrolls out ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:10;transition:background .2s ease,box-shadow .2s ease}
header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px;transition:padding .2s ease}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:"Source Serif 4",serif;font-size:20px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.brand .mark{display:inline-block;width:26px;height:26px;flex:0 0 26px;background-color:currentColor;-webkit-mask:url(/assets/lion-mask.png) center/contain no-repeat;mask:url(/assets/lion-mask.png) center/contain no-repeat}
header nav{display:flex;align-items:center;gap:26px}
header nav a{color:rgba(255,255,255,.82);text-decoration:none;font-size:14.5px;font-weight:500}
header nav a:hover{color:#fff}
header nav .tel{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.btn{display:inline-block;background:#fff;color:var(--navy)!important;padding:11px 20px;border-radius:4px;
  font-size:14.5px;font-weight:600;text-decoration:none;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:#fff!important}
.btn-ghost{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}
header.scrolled{background:rgba(248,250,253,.96);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
header.scrolled .wrap{padding-top:14px;padding-bottom:14px}
header.scrolled .brand{color:var(--navy)}
header.scrolled .brand .mark{filter:none}
header.scrolled nav a{color:var(--navy)}
header.scrolled nav a:hover{color:var(--navy-500)}
header.scrolled nav .btn{background:var(--navy);color:#fff!important;box-shadow:none}

/* ---------- 1. hero: identity ---------- */
.hero{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden;padding:150px 0 84px}
/* the lion, large and nearly invisible: identity as texture, not illustration */
.hero .lion{position:absolute;right:-9%;top:-8%;width:640px;opacity:.05;
  pointer-events:none;user-select:none}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.hero h1{font-size:clamp(38px,5.1vw,60px);color:#fff;margin-bottom:22px}
.hero p.lede{font-size:19px;line-height:1.6;color:rgba(255,255,255,.76);max-width:46ch;margin:0 0 30px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.hero figure{margin:0;position:relative}
.hero figure img{width:100%;height:540px;object-fit:cover;object-position:center 22%;border-radius:6px}
.hero figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;font-size:13px;
  color:rgba(255,255,255,.9);background:linear-gradient(transparent,rgba(10,19,48,.86));border-radius:0 0 6px 6px}

/* ---------- sections ---------- */
section{padding:88px 0}
.sec-head{max-width:62ch;margin-bottom:44px}
.sec-head h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:14px}
.sec-head p{font-size:18px;color:var(--muted);margin:0}

/* ---------- 2. fund safety: the dark band continues under the hero ---------- */
.safety{background:var(--navy);color:#fff}
.safety h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin-bottom:14px}
.safety .sec-head p{color:rgba(255,255,255,.76)}
.safety .cols{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.safety .n{font-family:"Source Serif 4",serif;font-size:clamp(52px,6vw,72px);font-weight:600;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1}
.safety .l{font-size:15px;color:rgba(255,255,255,.68);margin-top:14px;max-width:26ch;line-height:1.45}
.controls{list-style:none;margin:0;padding:0}
.controls li{padding:20px 0;border-top:1px solid rgba(255,255,255,.16)}
.controls li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.controls h3{font-size:19px;color:#fff;margin-bottom:6px}
.controls p{margin:0;color:rgba(255,255,255,.74);font-size:16px}
.safety .closer{font-size:14px;color:rgba(255,255,255,.55);margin:22px 0 0}

/* ---------- 3. the letter: paper, so it reads as a letter ---------- */
.letter{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.letter .cols{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.letter figure{margin:0}
.letter figure img{width:100%;height:600px;object-fit:cover;object-position:center 30%;border-radius:6px}
.letter figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.letter h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:22px}
.letter p{margin:0 0 18px;font-size:17px}
.sig{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.sig .name{font-family:"Source Serif 4",serif;font-size:19px;color:var(--ink)}
.sig .role{font-size:14px;color:var(--muted);margin-top:3px}
.sig .tel{font-size:14px;margin-top:6px}
.sig .tel a{color:var(--navy-500);text-decoration:none;font-weight:600;font-variant-numeric:tabular-nums}
.sig .tel a:hover{text-decoration:underline}

/* ---------- 4. the portal: the one place a product screenshot appears ---------- */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:40px 0;border-top:1px solid var(--line)}
.feat:first-of-type{border-top:0;padding-top:0}
.feat h3{font-size:24px;margin-bottom:10px}
.feat p{margin:0;color:var(--muted);font-size:16.5px}
/* the captures are phone-shaped (roughly 2:3 portrait), so they sit at phone width, natural aspect, no frame */
.feat .shot img{width:100%;max-width:400px;height:auto;border-radius:6px;margin:0 auto}
.feat.flip .shot{order:-1}
.pull{max-width:60ch;margin:56px auto 0}
.pull::before{content:"";display:block;width:26px;height:2px;background:var(--blue-400);margin-bottom:18px}
.pull p{font-family:"Source Serif 4",serif;font-size:clamp(21px,2.4vw,26px);line-height:1.35;letter-spacing:-.01em;margin:0 0 12px;text-wrap:balance}
.pull .who{font-size:13.5px;color:var(--muted);font-weight:600}
.portal .signin{text-align:center;margin:40px 0 0;font-size:16px}

/* ---------- 5. process and price: hairlines, two columns, the fee once ---------- */
.fee{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fee .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.timeline{list-style:none;margin:0 0 44px;padding:0;position:relative;height:44px;border-top:1px solid var(--blue-400)}
.timeline li{position:absolute;top:0;padding-top:14px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-500);white-space:nowrap}
.timeline li::before{content:"";position:absolute;top:-1px;left:0;width:2px;height:10px;background:var(--blue-400)}
.timeline li:nth-child(1){left:0}
.timeline li:nth-child(2){left:33.333%;transform:translateX(-50%)}
.timeline li:nth-child(3){left:66.666%;transform:translateX(-50%)}
.timeline li:nth-child(2)::before,.timeline li:nth-child(3)::before{left:50%}
.timeline li:nth-child(4){right:0}
.timeline li:nth-child(4)::before{left:auto;right:0}
.steps{list-style:none;margin:0;padding:0}
.steps li{padding:22px 0;border-top:1px solid var(--line)}
.steps li:first-child{border-top:0;padding-top:0}
.steps h3{font-size:21px;margin-bottom:8px}
.steps p{margin:0;color:var(--muted);font-size:16px}
.fee .compare{display:grid;gap:0}
.fee .fee-head{font-size:21px;margin-bottom:6px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.fee .row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}
.fee .row .who strong{display:block;font-size:16.5px;font-weight:600;color:var(--ink)}
.fee .row .who span{display:block;font-size:14.5px;color:var(--muted);margin-top:3px;line-height:1.5}
.fee .row .amt{font-family:"Source Serif 4",serif;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--navy);flex-shrink:0;line-height:1.3}
.fee .note{font-size:14px;color:var(--muted);margin-top:18px}
.fee .note a{color:var(--navy-500)}
.fee .pull{margin-top:64px}

/* ---------- 6. proof ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.q p{font-size:16px;line-height:1.6;margin:0 0 14px}
.q .who{font-size:13.5px;color:var(--muted);font-weight:600}
.q::before{content:"";display:block;width:26px;height:2px;background:var(--blue-400);margin-bottom:18px}

/* ---------- 7. the door ---------- */
.cta{background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta .lion{position:absolute;right:-9%;top:-8%;width:640px;opacity:.05;
  pointer-events:none;user-select:none}
.cta .wrap{position:relative}
.cta h2{color:#fff;font-size:clamp(28px,3.8vw,42px);margin-bottom:16px}
.cta p{color:rgba(255,255,255,.76);font-size:18px;max-width:52ch;margin:0 auto 28px}
.cta .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta .quiet{margin:36px auto 0;max-width:58ch}
.cta .quiet p{font-size:15px;color:rgba(255,255,255,.62);margin:0 0 8px}
.cta .quiet a{color:var(--blue-300)}

footer{background:var(--paper-2);border-top:1px solid var(--line);padding:44px 0;font-size:14px;color:var(--muted)}
footer .cols{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
footer a{color:var(--muted);text-decoration:none;display:block;margin-bottom:7px}
footer a:hover{color:var(--navy)}
footer .addr a{display:inline;margin:0}
footer .addr .serving{margin-top:10px}

@media (max-width:900px){
  .hero{padding:120px 0 60px}
  .hero .grid,.safety .cols,.letter .cols,.fee .cols,.feat{grid-template-columns:1fr;gap:36px}
  .hero figure img{height:360px}
  .letter figure img{height:420px}
  .feat .shot{order:2}
  .quotes{grid-template-columns:1fr}
  header nav{gap:14px}
  header nav a:not(.btn):not(.tel){display:none}
  section{padding:60px 0}
}
@media (max-width:560px){
  header nav .tel{display:none}
  .btn{padding:12px 16px;font-size:14px}
  .letter figure img{height:340px}
}

/* ============ interior pages (shared by every non-home page) ============ */
header.site.solid{position:static;background:var(--paper);border-bottom:1px solid var(--line)}
header.site.solid .wrap{padding-top:16px;padding-bottom:16px}
header.site.solid .brand{color:var(--navy)}
header.site.solid .brand .mark{filter:none}
header.site.solid nav a{color:var(--navy)}
header.site.solid nav a:hover{color:var(--navy-500)}
header.site.solid nav .tel{color:var(--navy)}
header.site.solid nav .btn{background:var(--navy);color:#fff!important;box-shadow:none}
.pg-box{border:1px solid var(--line);border-radius:6px;padding:22px 24px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.pg-box .btn{background:var(--navy);color:#fff!important}
.pg-box .k{font-size:14.5px;color:var(--muted)}
.pg-prose img{max-width:100%;height:auto;border-radius:6px;margin:8px 0 18px}
.pg-prose picture{display:block}
.pg-prose p{margin:0 0 16px}
.pg-eyebrow-date{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:-4px 0 16px;font-weight:600}
.arch-year{font-family:"Source Serif 4",serif;font-size:15px;color:var(--muted);font-weight:600;padding:26px 0 8px}
.post-head{max-width:72ch;margin:0 auto;padding:56px 0 20px}
.post-head .eyebrow{margin-bottom:12px}
.post-foot{max-width:72ch;margin:44px auto 0}
.author{display:flex;gap:18px;align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:0 0 64px}
.author b{display:block;font-family:"Source Serif 4",serif;font-size:17px;color:var(--ink)}
.author span{font-size:14px;color:var(--muted)}
.author a{color:var(--navy-500)}
.pg-hero{padding:72px 0 34px}
.pg-hero .eyebrow{color:var(--navy-500)}
.pg-hero h1{font-size:clamp(34px,4.6vw,52px);max-width:22ch;margin-bottom:16px}
.pg-hero .lede{font-size:19px;color:var(--muted);max-width:60ch;margin:0}
.pg-hero.dark{background:var(--navy-900);color:#fff;padding:92px 0 56px;position:relative;overflow:hidden}
.pg-hero.dark h1{color:#fff}
.pg-hero.dark .lede{color:rgba(255,255,255,.76)}
.pg-hero.dark .eyebrow{color:var(--blue-300)}
.pg-hero.dark .lion{position:absolute;right:-10%;top:-14%;width:560px;opacity:.05;pointer-events:none}
main.pg{padding:0 0 72px}
.pg-section{padding:56px 0;border-top:1px solid var(--line)}
.pg-section.first{border-top:0;padding-top:24px}
.pg-section h2{font-size:clamp(24px,3vw,32px);margin:0 0 12px}
.pg-section .sub{color:var(--muted);font-size:17px;max-width:64ch;margin:0 0 26px}
.pg-prose{max-width:72ch;overflow-wrap:break-word}
.pg-prose h2{font-size:24px;margin:34px 0 10px}
.pg-prose h3{font-size:19px;margin:24px 0 8px}
.pg-prose p,.pg-prose li{font-size:16.5px;color:var(--ink)}
.pg-prose ul{padding-left:1.2em}
.pg-prose a{color:var(--navy-500)}
.pg-lead{font-size:18px;color:var(--muted);max-width:62ch}
.pg-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.pg-form-first>:first-child{order:2}   /* the form comes first in the markup, so phones see it first; desktop keeps it on the right */
.pg-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pg-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.pg-list li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.pg-list svg{flex:0 0 18px;width:18px;height:18px;margin-top:3px;color:var(--navy-500)}
.pg-kv{display:grid;grid-template-columns:max-content 1fr;gap:10px 22px;font-size:16px}
.pg-kv dt{color:var(--muted)}
.pg-kv dd{margin:0}
.pg-note{font-size:14.5px;color:var(--muted);max-width:64ch}
.pg-cta{background:var(--navy-700);color:#fff;border-radius:6px;padding:30px 32px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}
.pg-cta h3{color:#fff;margin:0 0 4px;font-size:22px}
.pg-cta p{margin:0;color:rgba(255,255,255,.76)}
.pg-cta .btn{background:#fff;color:var(--navy)!important}
.pg-form-ph{border:1px dashed var(--blue-400);background:var(--blue-050);border-radius:6px;padding:20px 22px;margin:22px 0}
.pg-form-ph b{display:block;font-family:"Source Serif 4",serif;font-size:17px;color:var(--navy-700);margin-bottom:6px}
.pg-form-ph p{margin:0;font-size:14.5px;color:var(--muted)}
.pg-form-ph code{background:#fff;padding:1px 6px;border-radius:3px;font-size:13px}
/* site forms (design.form_html): Contact, Partner Program, Start My Exchange */
.bf-wrap{max-width:640px;margin:0}
.bf,.bf fieldset{display:grid;gap:16px}
.bf fieldset{border:0;margin:0;padding:0;min-width:0}
.bf fieldset:disabled{opacity:.55}
.bf-field{display:grid;gap:6px;min-width:0}
.bf-field>label,.bf-consent .bf-group{font-size:14.5px;font-weight:600;color:var(--navy-700)}
.bf-req>label::after{content:" *";color:#B42318}
.bf input[type=text],.bf input[type=email],.bf input[type=tel],.bf select,.bf textarea{font:inherit;font-size:16px;width:100%;
  padding:11px 13px;min-height:46px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-sizing:border-box}
.bf textarea{min-height:120px;resize:vertical}
.bf input::placeholder,.bf textarea::placeholder{color:#8792AA}
.bf input:focus-visible,.bf select:focus-visible,.bf textarea:focus-visible,.bf-check input:focus-visible{outline:2px solid var(--navy-500);outline-offset:1px}
.bf [aria-invalid=true]{border-color:#B42318}
.bf-err{font-size:13.5px;color:#B42318}
.bf-err:empty{display:none}
.bf-check{display:flex;gap:10px;align-items:flex-start}
.bf-check input{margin:3px 0 0;width:18px;height:18px;flex:0 0 auto;accent-color:var(--navy)}
.bf-check label{font-size:14px;line-height:1.55;color:var(--muted);font-weight:400;overflow-wrap:break-word;min-width:0}
.bf-check label a{color:var(--navy-500)}
.bf-hp{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.bf{position:relative}
.bf .cf-turnstile{max-width:100%}
.bf .cf-turnstile:empty{display:none}
.bf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.bf-submit{background:var(--navy);color:#fff;border:0;font:inherit;font-weight:600;font-size:16px;padding:13px 26px;min-height:46px;border-radius:4px;cursor:pointer}
.bf-submit:hover{background:var(--navy-500)}
.bf-submit:disabled{opacity:.6;cursor:default}
.bf-status{margin:0;font-size:15px}
.bf-status:empty{display:none}
.bf-bad{color:#B42318}
.bf-msg{display:none;border-radius:6px;padding:16px 18px;margin:0 0 18px;font-size:16px;outline:0}
.bf-msg:target,.bf-msg.bf-shown{display:block}
.bf-msg.bf-ok{background:var(--blue-050);border:1px solid var(--blue-100);color:var(--navy-700)}
.bf-msg.bf-bad{background:#FDECEC;border:1px solid #F4C7C3;color:#8A1C12}
#form-sent:target~form{display:none}
.bf-off{border:1px dashed var(--blue-400);background:var(--blue-050);border-radius:6px;padding:12px 16px;margin:0 0 18px;font-size:15px;color:var(--navy-700)}
/* price cards (pricing page) */
.pricegrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;margin:8px 0 0}
.pcard{border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;flex-direction:column}
.pcard.featured{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.pcard .hd{padding:22px 22px 16px;border-bottom:1px solid var(--line)}
.pcard.featured .hd{border-bottom-color:rgba(255,255,255,.14)}
.pcard h3{margin:0 0 6px;font-size:20px}
.pcard.featured h3{color:#fff}
.pcard .sub{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;min-height:60px}
.pcard.featured .sub{color:rgba(255,255,255,.74)}
.pcard .amt{padding:18px 22px 6px;font-family:"Source Serif 4",serif;font-size:36px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pcard .amt small{font-size:16px;font-weight:600;color:var(--muted);vertical-align:super;margin-right:2px}
.pcard.featured .amt small{color:rgba(255,255,255,.7)}
.pcard ul{list-style:none;margin:0;padding:8px 22px 18px;display:grid;gap:9px;flex:1;align-content:start}
.pcard li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45}
.pcard li svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px;color:var(--navy-500)}
.pcard.featured li svg{color:var(--blue-300)}
.pcard .go{margin:auto 22px 22px;padding:12px;border-radius:5px;text-align:center;background:var(--navy-700);color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.pcard.featured .go{background:#fff;color:var(--navy-700)}
/* faq */
.faq{max-width:76ch}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;list-style:none;font-family:"Source Serif 4",serif;font-size:19px;font-weight:600;color:var(--navy-700);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--muted);font-weight:400;font-family:Inter,sans-serif;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .a{margin-top:10px;font-size:16px;color:var(--ink);max-width:70ch}
.faq .a p{margin:0 0 10px}
/* posts + archive */
article.post{max-width:72ch;margin:0 auto}
article.post h1{font-size:clamp(30px,4vw,44px);margin-bottom:10px}
article.post .meta{font-size:14px;color:var(--muted);margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
article.post h2{font-size:24px;margin:34px 0 10px}
article.post h3{font-size:19px}
article.post p,article.post li{font-size:17px;line-height:1.7}
article.post a{color:var(--navy-500)}
article.post img{border-radius:6px;margin:18px 0}
.bl-src-title,.bl-rr-title{font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.09em}
.bl-rr-title{margin:44px 0 0;padding-top:20px;border-top:2px solid var(--navy-700);font-size:13px;font-weight:600;color:var(--navy-700)}
.bl-rr-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.bl-rr-list li a{display:block;padding:12px 16px;background:var(--blue-050);border-left:3px solid var(--navy-700);border-radius:0 4px 4px 0;color:var(--navy-700);text-decoration:none;font-weight:500}
.bl-rr-cta{margin-top:16px;padding:16px 18px;background:var(--navy-700);border-radius:5px;color:#fff}
.bl-rr-cta a,article.post .bl-rr-cta a{color:#fff}   /* article.post a outranked the plain rule and left navy links on the navy box */
.bl-src-title{margin:40px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted)}
.bl-src-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;font-size:14.4px}
.bl-src-list li{padding-left:17px;position:relative}
.bl-src-list li::before{content:"\00A7";position:absolute;left:0;color:var(--blue-400);font-weight:600}
.bl-src-list li a{color:var(--navy-500);text-decoration:none;border-bottom:1px solid var(--blue-100)}
.arch{display:grid;gap:0;border-top:1px solid var(--line)}
.arch a{display:grid;grid-template-columns:1fr max-content;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-family:"Source Serif 4",serif;font-size:19px;font-weight:600}
.arch a:hover{color:var(--navy-700)}
.arch a .d{font-family:Inter,sans-serif;font-size:13px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
@media (max-width:820px){
  .pg-grid-2,.pg-grid-3{grid-template-columns:minmax(0,1fr)}
  .pg-hero{padding:44px 0 24px}
  .pg-hero.dark{padding:64px 0 40px}
  .pg-section{padding:40px 0}
  .arch a{grid-template-columns:1fr;gap:4px;padding:16px 0}
  .arch a .d{font-size:14px}
  .pg-grid-2:not(.pg-list){gap:28px}
  .pg-grid-2>div>.pg-form-ph{margin:0}
  .pg-form-first>:first-child{order:0}
  main.pg>.pg-section:last-child{padding-bottom:0}
  .pg-hero .lede a[href^="tel:"]{white-space:nowrap}
  .pg-prose img{max-height:560px;width:auto;margin-left:auto;margin-right:auto}
  .post-head{padding:44px 0 16px}
  .post-head h1{font-size:clamp(26px,7vw,34px);margin-bottom:12px}
  article.post figure.wp-block-table{margin:24px 0;overflow-x:auto}
  article.post figure.wp-block-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
  article.post figure.wp-block-table th,article.post figure.wp-block-table td{padding:10px 10px 10px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
  article.post figure.wp-block-table th:last-child,article.post figure.wp-block-table td:last-child{padding-right:0}
  article.post figure.wp-block-table thead th{vertical-align:bottom;color:var(--navy-700);border-bottom:2px solid var(--navy-700)}
  article.post figure.wp-block-table tbody td:first-child{font-weight:600}
  article.post ul:not(.bl-src-list):not(.bl-rr-list),article.post ol{padding-left:1.3em}
  article.post ul:not(.bl-src-list):not(.bl-rr-list)>li+li,article.post ol>li+li{margin-top:8px}
  article.post h3:not(.bl-src-title):not(.bl-rr-title){margin:30px 0 8px;line-height:1.25}
  article.post h2+h3:not(.bl-src-title):not(.bl-rr-title){margin-top:14px}
  article.post h3:not(.bl-src-title):not(.bl-rr-title)+*{margin-top:0}
}
/* ============ homepage v3 sections (stats band, why columns, quotes, about) ============ */
.stats{background:var(--navy);color:#fff;padding:48px 0}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stats .n{font-family:"Source Serif 4",serif;font-size:clamp(34px,4vw,48px);font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.stats .l{font-size:14.5px;color:rgba(255,255,255,.72);margin-top:10px;max-width:24ch;line-height:1.4}
.why .sec-head{margin-bottom:34px}
.why .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.why h3{font-size:22px;margin-bottom:10px}
.why p{margin:0;color:var(--muted);font-size:16.5px}
.fee .fee-head{font-size:24px}
.clients{background:var(--paper)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.quotes blockquote{margin:0;padding:2px 0 2px 20px;border-left:2px solid var(--blue-400)}
.quotes p{font-family:"Source Serif 4",serif;font-size:20px;line-height:1.4;margin:0 0 10px;text-wrap:pretty}
.quotes .who{font-size:13.5px;color:var(--muted);font-weight:600}
.about figure img{height:460px}
.about .fine{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
@media (max-width:900px){
  .stats .wrap{grid-template-columns:1fr 1fr}
  .why .cols,.quotes{grid-template-columns:1fr}
  .about figure img{height:340px}
}

footer .addr strong{color:var(--ink)}

/* ============ mobile menu ============ */
.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-9px;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer}
.menu-toggle .i-close{display:none}
.menu-toggle[aria-expanded="true"] .i-open{display:none}
.menu-toggle[aria-expanded="true"] .i-close{display:inline}
.menu-toggle:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}
header.site.solid .menu-toggle,header.scrolled .menu-toggle,header.menu-open .menu-toggle{color:var(--navy)}
@media (max-width:1023px){
  header .wrap{position:relative}
  header.site.solid{position:sticky;top:0;z-index:20}
  .menu-toggle{display:inline-flex}
  header nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:30;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:4px 24px 22px;border-top:1px solid var(--line);box-shadow:0 14px 28px rgba(10,19,48,.14);max-height:calc(100vh - 100%);max-height:calc(100dvh - 100%);overflow-y:auto;overscroll-behavior:contain}
  header.menu-open nav{display:flex}
  header nav a:not(.btn):not(.tel){display:block;color:var(--navy);padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  header nav a:not(.btn):not(.tel):hover{color:var(--navy-500)}
  header nav .tel{display:block;color:var(--navy);padding:14px 0;font-size:16px}
  header.site nav .btn.btn-ghost{display:block;margin-top:8px;text-align:center;background:var(--navy);color:#fff!important;box-shadow:none;padding:13px 16px;font-size:15px}
  header.menu-open{background:var(--paper);box-shadow:0 1px 0 var(--line);transition:none}
  header.menu-open .brand{color:var(--navy)}
  header.menu-open .brand .mark{filter:none}
  header .brand{min-height:44px}
  header.site.solid .wrap{padding-top:12px;padding-bottom:12px}
  html{scroll-padding-top:84px}
}
/* first desktop widths (1024 is iPad landscape): eight nav items stay on one line with a tighter gap and type */
@media (min-width:1024px) and (max-width:1100px){
  header nav{gap:16px}
  header nav a:not(.btn){font-size:14px}
}

/* ============ phones and tablets ============ */
@media (max-width:900px){
  /* homepage: the header is solid over the hero until .scrolled takes over, so the wordmark never sits on the headline */
  header.site:not(.solid):not(.scrolled):not(.menu-open){background:var(--navy-deep)}
  .hero .lion{top:88px}
  .hero figure img{object-position:center 70%}
  /* 44px tap targets in the footer and the FAQ, without moving the text */
  footer a{padding:11px 0;margin:0}
  footer .addr a{display:inline-block;padding:11px 0;margin:-11px 0}
  footer .cols>div>a:first-child,footer .cols>div:last-child>a{margin-top:-11px}
  .faq details{padding:0}
  .faq summary{padding:16px 0}
  .faq details[open] summary{padding-bottom:10px}
  .faq .a{margin-top:0;padding-bottom:16px}
}
@media (min-width:561px) and (max-width:900px){
  .about figure img{object-position:center 55%}
}
@media (max-width:767px){
  footer{padding:36px 0 20px}
  footer .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
  footer .cols>.addr,footer .cols>div:last-child{grid-column:1/-1}
}
@media (max-width:560px){
  .hero .actions,.cta .actions{flex-direction:column;align-items:stretch;gap:10px}
  .hero .actions .btn,.cta .actions .btn{text-align:center;padding:13px 16px;font-size:15px}
  .cta .actions{max-width:360px;margin:0 auto}
  /* the horizontal ruler cannot fit a phone; the steps get a vertical rail instead */
  .timeline{display:none}
  .steps{border-left:1px solid var(--blue-400);padding-left:20px}
  .steps li{position:relative}
  .steps li::before{content:"";position:absolute;left:-25px;top:30px;width:9px;height:9px;border-radius:50%;background:var(--paper-2);box-shadow:inset 0 0 0 2px var(--blue-400)}
  .steps li:first-child::before{top:8px}
  .pg-cta{padding:24px 20px;gap:18px}
  .pg-box{padding:20px}
  .pg-box>div{line-height:1.5}
  .pg-box .k{display:inline-block;margin-top:4px}
  .pg-cta .btn,.pg-box .btn{display:block;width:100%;text-align:center;padding:13px 16px;font-size:15px}
  .pg-kv{grid-template-columns:minmax(0,1fr);gap:0}
  .pg-kv dt{margin-top:14px;font-size:14px}
  .pg-kv dt:first-child{margin-top:0}
  .pg-kv dd a{display:inline-block;padding:10px 0;margin:-10px 0}
  .pricegrid{grid-template-columns:minmax(0,1fr)}
  .pcard .hd{padding:18px 16px 14px}
  .pcard .sub{min-height:0;font-size:14.5px}
  .pcard .amt{padding:14px 16px 10px;line-height:1.2}
  .pcard .go{margin:0 16px 16px;padding:13px 8px}
  .author{align-items:flex-start;gap:14px}
  article.post .author img{width:56px;height:56px;flex-basis:56px;margin:2px 0 0}
}
/* ============ homepage motion and interactivity ============ */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0ms)}
.js [data-reveal].in{opacity:1;transform:none}
.js .hero [data-enter]{animation:bl-enter .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--ed,0ms)}
@keyframes bl-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero .lion{will-change:transform}
.stats .n span[data-count-to]{font-variant-numeric:tabular-nums}
.timeline::after{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--navy);transform-origin:left center;transform:scaleX(var(--tl,0));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.timeline li::before{transition:background .3s ease,height .3s ease}
.timeline li.reached{color:var(--navy)}
.timeline li.reached::before{background:var(--navy);height:14px}
.steps li h3{transition:color .3s ease}
.steps li.current h3{color:var(--navy-500)}
.calc{display:none;margin-top:34px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px}
.js .calc{display:block}
.calc h3{font-size:20px;margin:0 0 14px}
.calc label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}
.calc input[type=date]{font:inherit;font-size:16px;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);width:100%;max-width:260px;box-sizing:border-box}
.calc input[type=date]:focus-visible{outline:2px solid var(--navy-500);outline-offset:2px}
.calc dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0}
.calc dl div{background:var(--paper-2);border-radius:6px;padding:12px 14px}
.calc dt{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-500)}
.calc dd{margin:4px 0 0;font-family:"Source Serif 4",serif;font-size:20px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}
.calc .note{margin:14px 0 0;font-size:14px;color:var(--muted)}
.portal-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center;margin-top:56px}
.portal-tabs{display:flex;flex-direction:column;gap:8px}
.portal-tabs [role=tab]{text-align:left;font:inherit;font-size:16px;font-weight:600;color:var(--muted);background:transparent;border:0;border-left:2px solid var(--line);padding:12px 16px;min-height:44px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}
.portal-tabs [role=tab][aria-selected=true]{color:var(--navy);border-left-color:var(--navy);background:var(--blue-050)}
.portal-tabs [role=tab]:focus-visible{outline:2px solid var(--navy-500);outline-offset:2px}
.portal-shots{position:relative;aspect-ratio:4/5;max-height:480px;width:100%;max-width:420px;justify-self:center;border-radius:10px;overflow:hidden;background:var(--paper-2);box-shadow:0 18px 40px rgba(10,19,48,.12)}
.portal-shots [role=tabpanel]{position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity .5s ease,transform .6s ease}
.portal-shots [role=tabpanel].on{opacity:1;transform:none}
.portal-shots img{width:100%;height:100%;object-fit:contain;padding:20px;box-sizing:border-box}
.fee .row{transition:background .2s ease}
@media (hover:hover){
  .fee .row:hover{background:rgba(255,255,255,.7)}
  .quotes blockquote{transition:transform .25s ease}
  .quotes blockquote:hover{transform:translateY(-2px)}
}
@media (max-width:900px){
  .portal-preview{grid-template-columns:1fr;gap:18px;margin-top:40px}
  .portal-shots{max-height:480px}
  .portal-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
  .portal-tabs [role=tab]{border-left:0;border-bottom:2px solid var(--line);text-align:center;font-size:14px;line-height:1.3;padding:10px 6px}
  .portal-tabs [role=tab][aria-selected=true]{border-bottom-color:var(--navy)}
}
@media (max-width:420px){ .calc dl{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1;transform:none;transition:none}
  .js .hero [data-enter]{animation:none}
  .timeline::after,.portal-shots [role=tabpanel],.fee .row,.quotes blockquote{transition:none}
}

/* ============ reference (treatise chapters and appendices at /reference/) ============ */
.ref-col{max-width:72ch}
.ref-notice{margin:0 0 14px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--navy-500);border-radius:4px;font-size:14px;color:var(--ink)}
.ref-by{font-size:14px;color:var(--muted);margin:0 0 24px}
.ref-contents{border:1px solid var(--line);border-radius:6px;background:#fff;padding:18px 22px;margin:0 0 36px}
.ref-contents h2{font-family:Inter,sans-serif;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--navy-700);margin:0 0 10px;font-weight:600}
.ref-contents ol{list-style:none;margin:0;padding:0}
.ref-contents li{margin:0;border-top:1px solid var(--line)}
.ref-contents li:first-child{border-top:0}
.ref-contents a{display:block;padding:11px 0;color:var(--navy-700);text-decoration:none;font-size:15.5px;line-height:1.5}
.ref-contents a:hover{color:var(--navy-500)}
.ref-contents .num,.ref-body h3 .num{color:var(--navy-500);font-variant-numeric:tabular-nums;margin-right:4px}
.ref-body p,.ref-body li{font-size:16.5px;line-height:1.7}
.ref-body p{margin:0 0 16px}
.ref-body h3{font-size:22px;margin:40px 0 12px;line-height:1.25;scroll-margin-top:24px}
.ref-body ul,.ref-body ol{padding-left:1.3em;margin:0 0 16px}
.ref-body li+li{margin-top:6px}
.ref-body blockquote{margin:0 0 16px;padding:2px 0 2px 18px;border-left:2px solid var(--blue-400)}
.ref-body blockquote p{margin:0}
.ref-body blockquote ol{margin:0}
.ref-body strong{color:var(--ink)}
.fn{font-size:.72em;line-height:0;vertical-align:baseline;position:relative;top:-.55em}
/* the padding makes a tap target of at least 24px around a 6px digit; the negative margin gives the space back, so the
   marker sits exactly where the original padding:0 1px put it */
.fn a{color:var(--navy-500);text-decoration:none;font-weight:600;display:inline-block;padding:12px 10px;margin:-12px -9px}
.fn a:hover{text-decoration:underline}
.notes{margin:24px 0 12px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}
.notes h4{font-family:Inter,sans-serif;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:600}
.notes ol{margin:0;padding-left:1.9em}
.ref-body .notes li{font-size:14px;line-height:1.55;margin:0 0 5px}
.notes li:target,.ref-body p.term:target{background:var(--blue-050);box-shadow:0 0 0 4px var(--blue-050)}
.notes .back{color:var(--navy-500);text-decoration:none;margin-left:4px;white-space:nowrap}
.notes .back:hover{text-decoration:underline}
.ref-body a.xref{color:var(--navy-500);text-decoration:none;border-bottom:1px solid var(--blue-100)}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:6px 0 20px;max-width:100%;background:linear-gradient(to right,var(--paper) 40%,transparent) 0 0/40px 100%,linear-gradient(to left,var(--paper) 40%,transparent) 100% 0/40px 100%,linear-gradient(to right,rgba(10,19,48,.18),rgba(10,19,48,0)) 0 0/14px 100%,linear-gradient(to left,rgba(10,19,48,.18),rgba(10,19,48,0)) 100% 0/14px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll}
.tbl table.wide th:first-child,.tbl table.wide td:first-child{position:sticky;left:0;background:var(--paper);z-index:1}
/* wide tables (4+ columns) have min-width 640px, so they overflow their column below a 688px viewport: say so there */
.ref-body p.tbl-hint{display:none;font-size:14px;line-height:1.4;color:var(--muted);margin:0 0 4px}
@media (max-width:687px){
  .ref-body p.tbl-hint{display:block}
  .tbl table.wide.long-first th:first-child,.tbl table.wide.long-first td:first-child{width:38vw}   /* a label column never fills the box */
  .tbl table.wide th:first-child,.tbl table.wide td:first-child{box-shadow:inset -1px 0 0 var(--line)}   /* the pinned column's edge */
  .tbl table.wide th:nth-child(2),.tbl table.wide td:nth-child(2){padding-left:10px}
}
/* Guide tables keep their own markup and look. Below 688px a draft table that is wider than the phone (the four- and
   six-column tables in the mortgage boot, syndication or DST, "still exist" and depreciation recapture guides, and at 320px
   two three-column ones) used to widen the whole page. There each bare guide table is its own scroll box, with the
   reference tables' edge shadows as the cue, so it scrolls sideways instead. A display:block table lays its rows out in an
   anonymous table of the same size, so a table that fits looks exactly as before, and nothing changes at 688px and up. */
@media (max-width:687px){
  article.post>table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,var(--paper) 40%,transparent) 0 0/40px 100%,linear-gradient(to left,var(--paper) 40%,transparent) 100% 0/40px 100%,linear-gradient(to right,rgba(10,19,48,.18),rgba(10,19,48,0)) 0 0/14px 100%,linear-gradient(to left,rgba(10,19,48,.18),rgba(10,19,48,0)) 100% 0/14px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll}
}
.tbl table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.tbl table.wide{min-width:640px}
.tbl th,.tbl td{padding:9px 12px 9px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl th:last-child,.tbl td:last-child{padding-right:0}
.tbl thead th{vertical-align:bottom;color:var(--navy-700);border-bottom:2px solid var(--navy-700);font-weight:600}
.ref-guides,.go-deeper{border:1px solid var(--line);border-left:3px solid var(--navy-500);border-radius:6px;background:#fff;padding:18px 22px;margin:0}
.ref-guides h2,.go-deeper h2,article.post .go-deeper h2{font-family:Inter,sans-serif;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--navy-700);margin:0 0 8px;font-weight:600}
.ref-guides p,.go-deeper p,article.post .go-deeper p{margin:0 0 12px;font-size:15px;line-height:1.5;color:var(--muted)}
.ref-guides ul,.go-deeper ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ref-guides li a,.go-deeper li a,article.post .go-deeper li a{display:block;padding:11px 14px;background:var(--blue-050);border-radius:4px;color:var(--navy-700);text-decoration:none;font-weight:500;font-size:15.5px;line-height:1.5}
.ref-guides li a:hover,.go-deeper li a:hover{background:var(--blue-100)}
article.post .go-deeper{margin-top:40px}
article.post .go-deeper li+li{margin-top:0}
/* the guides' phone rule for lists (article.post ul:not(.bl-src-list):not(.bl-rr-list)) would indent the box's list and double its gaps */
article.post .go-deeper ul:not(.bl-src-list):not(.bl-rr-list){padding-left:0}
article.post .go-deeper ul:not(.bl-src-list):not(.bl-rr-list)>li+li{margin-top:0}
.ref-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:34px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.ref-guides+.ref-nav{margin-top:30px}
.ref-nav a{display:block;text-decoration:none;color:var(--navy-700);font-size:15px;line-height:1.5;padding:12px 0}
.ref-nav a:hover{color:var(--navy-500)}
.ref-nav .prev{grid-column:1}
.ref-nav .next{grid-column:2;text-align:right}
.ref-nav .k{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-weight:600}
.ref-nav .all{grid-column:1/-1;text-align:center;color:var(--navy-500);font-size:14.5px}
.ref-how{max-width:72ch;font-size:16.5px;line-height:1.65;margin:0 0 20px}
.ref-how a,.ref-links a,.arch-ref a{color:var(--navy-500)}
.ref-part{padding:28px 0 6px;border-top:1px solid var(--line);margin-top:22px}
.ref-part h2{font-size:24px;margin:0 0 6px}
.ref-part .pn{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-500);font-weight:600;font-family:Inter,sans-serif;margin-bottom:6px}
.ref-list{list-style:none;margin:0;padding:0}
.ref-list a{display:grid;grid-template-columns:44px 1fr;gap:2px 12px;padding:14px 0;text-decoration:none;color:var(--ink);border-top:1px solid var(--line)}
.ref-list li:first-child a{border-top:0}
.ref-list a:hover .t{color:var(--navy-700)}
.ref-list .n{font-family:"Source Serif 4",serif;font-weight:600;color:var(--navy-500);font-variant-numeric:tabular-nums;font-size:18px;line-height:1.3}
.ref-list .t{font-family:"Source Serif 4",serif;font-size:18px;font-weight:600;line-height:1.3}
.ref-list .d{grid-column:2;font-size:14.5px;color:var(--muted);line-height:1.5}
.ref-links,.arch-ref{max-width:72ch;font-size:16px;color:var(--ink);margin:30px 0 0}
@media (max-width:820px){
  .ref-nav{grid-template-columns:1fr;gap:4px}
  .ref-nav .prev,.ref-nav .next{grid-column:auto}
  .ref-nav .next{text-align:left}
  .ref-body h3{scroll-margin-top:100px}
  .ref-list a{grid-template-columns:36px 1fr}
  .ref-body h3{font-size:20px}
}

/* /nick-henault/: the WordPress figure keeps the text column's left edge and no browser default margin */
.pg-bio figure{margin:0 0 20px}
.pg-bio figure img{margin-left:0;margin-right:0}

/* ============ /how-it-works/: stage walkthrough, deadline card, reinvestment worksheet ============ */
.hiw-dates-band{padding:8px 0 40px}
.hiw-dates{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px 40px;align-items:end;background:var(--navy-900);color:#fff;border-radius:8px;padding:30px 32px}
.hiw-dates h2{color:#fff;font-size:24px;margin:0 0 6px}
.hiw-dates p{margin:0 0 16px;color:rgba(255,255,255,.72);font-size:15.5px}
.hiw-dates label{display:block;font-size:13px;font-weight:600;color:var(--blue-300);margin-bottom:6px;letter-spacing:.02em}
.hiw-dates input[type=date]{font:inherit;font-size:16px;padding:10px 12px;min-height:44px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(255,255,255,.06);color:#fff;color-scheme:dark;width:100%;max-width:260px}
.hiw-dates input:focus-visible{outline:2px solid var(--blue-300);outline-offset:2px}
.hiw-dates dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.hiw-dates dl div{border-top:2px solid var(--blue-400);padding-top:12px}
.hiw-dates dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-300)}
.hiw-dates dd{margin:6px 0 2px;font-family:"Source Serif 4",serif;font-size:clamp(22px,2.6vw,28px);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.15}
.hiw-dates .left{font-size:14px;color:rgba(255,255,255,.66);font-variant-numeric:tabular-nums}
.hiw-dates .note{grid-column:1/-1;margin:0;font-size:14.5px;color:#fff;background:rgba(255,255,255,.08);border-radius:6px;padding:10px 14px}

.hiw-head{max-width:64ch}
.hiw-stages{list-style:none;margin:30px 0 0;padding:0;position:relative}
.hiw-stage{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;padding:30px 0;border-top:1px solid var(--line)}
.hiw-stage:first-child{border-top:0;padding-top:6px}
.hiw-mark{position:relative;padding-left:22px}
.hiw-mark::before{content:"";position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:var(--navy-500);box-shadow:0 0 0 4px var(--blue-100)}
.hiw-mark .m{display:block;font-family:"Source Serif 4",serif;font-size:32px;font-weight:600;color:var(--navy);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hiw-mark .when{display:block;font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.4;max-width:20ch}
.hiw-body h3{font-size:23px;margin:0 0 16px}
.hiw-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}
.hiw-cols .k{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-500);margin:0 0 8px}
.hiw-cols ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.hiw-cols li{font-size:15.5px;line-height:1.5;padding-left:14px;position:relative}
.hiw-cols li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--blue-400)}
.hiw-cols .rule{background:var(--blue-050);border-radius:6px;padding:14px 16px;align-self:start}
.hiw-cols .rule p{margin:0;font-size:15px;line-height:1.5}
.hiw-cols .rule .cite{margin-top:8px;font-size:12.5px;color:var(--muted)}

.hiw-money{background:var(--paper-2)}
.hiw-money-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.hiw-money .fine{font-size:14.5px;color:var(--muted);max-width:60ch;margin:0}
.hiw-calc{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;display:grid;gap:14px}
.hiw-calc .ex{margin:0;font-size:13px;font-weight:600;color:var(--navy-500)}
.hiw-calc label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.hiw-calc input{font:inherit;font-size:17px;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums}
.hiw-calc input:focus-visible{outline:2px solid var(--navy-500);outline-offset:1px}
.hiw-calc dl{margin:6px 0 0;border-top:1px solid var(--line)}
.hiw-calc dl div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.hiw-calc dt{font-size:15px;color:var(--muted)}
.hiw-calc dd{margin:0;font-family:"Source Serif 4",serif;font-size:22px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}

.hiw-risks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.hiw-risks li{padding:16px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.55;color:var(--muted)}
.hiw-risks strong{color:var(--ink);font-weight:600}
.hiw-risks a{color:var(--navy-500)}

.hiw-types-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.hiw-types .row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.hiw-types .row:first-child{border-top:1px solid var(--line)}
.hiw-types .who strong{display:block;font-size:16.5px;font-weight:600}
.hiw-types .who span{display:block;font-size:15px;color:var(--muted);margin-top:3px;line-height:1.5}
.hiw-types .amt{font-family:"Source Serif 4",serif;font-size:21px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;flex-shrink:0}
.hiw-more{margin:22px 0 0;font-size:16px}
.hiw-disclaimer{margin:14px 0 0;font-size:13.5px;color:var(--muted);max-width:80ch}

@media (max-width:900px){
  .hiw-dates{grid-template-columns:1fr;padding:24px 20px}
  .hiw-stage{grid-template-columns:1fr;gap:14px}
  .hiw-mark .when{max-width:none}
  .hiw-cols{grid-template-columns:1fr;gap:18px}
  .hiw-money-grid,.hiw-types-grid{grid-template-columns:1fr;gap:26px}
  .hiw-risks{grid-template-columns:1fr}
}
@media (max-width:420px){ .hiw-dates dl{grid-template-columns:1fr} }
.hiw-link{margin:22px 0 0;font-size:16px}
