/* Parallex: calm, light, built for people deciding where to put their own money.
   Sage greens and warm tans on a paper ground, a deep forest green for text and buttons, a serif for headlines, a clean sans for everything else.
   (Token names --navy/--brass are kept from the first design; their values are now forest green and tan.) */
:root{
  --navy:#36432f;--navy-2:#44543a;--sage:#eaedda;--sage-2:#d5dcbf;--sand:#f1e5ce;
  --paper:#f9f4ea;--surface:#fffcf6;--ink:#2a261f;--mute:#695f50;--line:#eadfca;
  --brass:#a35f3b;--brass-bright:#dcae85;--accent:#a35f3b;--accent-soft:#f5e5d0;
  --bg:var(--paper);--ok:#1e7a55;--r:8px;
  --shadow:0 1px 2px rgba(22,26,34,.04),0 10px 28px rgba(22,26,34,.05);
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --head:"Newsreader","Iowan Old Style","Georgia",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
a{color:var(--navy);text-decoration-color:var(--brass-bright);text-decoration-thickness:1.5px;text-underline-offset:4px}
a:hover{color:var(--brass)}
a:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c9a27a;outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:500;line-height:1.14;letter-spacing:-.012em;margin:0 0 .55em;color:var(--navy);text-wrap:balance}
h1{font-size:clamp(2.4rem,5.4vw,3.9rem)}h2{font-size:clamp(1.75rem,3.2vw,2.35rem)}h3{font-size:1.35rem}
em{font-style:italic}
.hero em{color:var(--brass)}
/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(249,244,234,.93);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mark{display:block;border-radius:8px;width:44px;height:44px;object-fit:cover}
nav{display:flex;align-items:center;gap:30px;font-size:14.5px;font-weight:500;letter-spacing:.01em}
nav a{color:var(--ink);text-decoration:none}
nav a:hover{color:var(--brass)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff!important;padding:14px 28px;border-radius:6px;text-decoration:none;font:600 14.5px var(--sans);letter-spacing:.02em;border:0;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--brass);transform:translateY(-1px)}
.btn.small{padding:10px 18px;font-size:13.5px}
.btn.ghost{background:transparent;color:var(--navy)!important;box-shadow:inset 0 0 0 1.5px var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff!important}
/* hero */
.hero{background:radial-gradient(900px 420px at 92% -25%,rgba(220,174,133,.34) 0%,transparent 62%),linear-gradient(165deg,#f4e7d0,#f6f0e0);color:var(--navy);border-bottom:1px solid #e6d8bd}
.hero .wrap{display:grid;grid-template-columns:1.35fr .85fr;gap:64px;align-items:center;padding-top:104px;padding-bottom:104px}
.hero h1{color:var(--navy);margin-bottom:.4em}
.hero p{max-width:33em;font-size:1.15rem;color:#4d4638}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero .btn{background:var(--navy);color:#fff!important}.hero .btn:hover{background:var(--brass)}
.hero .btn.ghost{background:transparent;color:var(--navy)!important;box-shadow:inset 0 0 0 1.5px var(--navy)}
.hero .btn.ghost:hover{background:var(--navy);color:#fff!important}
.assure{border-left:2px solid var(--brass-bright);padding:4px 0 4px 32px;list-style:none;margin:0}
.assure li{display:flex;gap:14px;padding:16px 0;border-top:1px solid rgba(54,67,47,.14);color:#51493a;font-size:.98rem;line-height:1.5}
.assure li:first-child{border-top:0;padding-top:0}.assure li:last-child{padding-bottom:0}
.assure svg{flex:none;width:22px;height:22px;margin-top:2px;stroke:#5b6b3f}
.assure b{display:block;color:var(--navy);font-weight:600}
/* sections */
section.block{padding:96px 0}
section.block+section.block{border-top:1px solid var(--line)}
section.block.alt{background:var(--sage);}
.eyebrow{font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin:0 0 16px}
.hero .eyebrow,.hero-page .eyebrow{color:#7a5a2a}
.prose{max-width:42em}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px;box-shadow:var(--shadow)}
.block.alt .card{background:var(--surface);box-shadow:none}
.card h3{margin-bottom:.45em}.card p{color:var(--mute);margin:0}
.cols .card{border-top:3px solid var(--sage-2)}
.cols p{color:var(--mute)}
/* forms */
form.intro{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:36px;box-shadow:var(--shadow)}
label{display:block;font-weight:600;font-size:14px;margin:22px 0 6px;color:var(--navy)}
form.intro label:first-of-type{margin-top:0}
input,select,textarea{width:100%;padding:13px 15px;border:1px solid #dcd0b6;background:#fffdf8;font:inherit;border-radius:6px;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--brass)}
textarea{min-height:170px}
.hp{position:absolute;left:-9999px}
.errors{background:#fbefeb;border:1px solid #ecc6bb;padding:12px 16px;border-radius:6px;margin-bottom:12px}
/* footer */
.foot{background:var(--sand);color:#5a5140;padding:64px 0 36px;font-size:15px;border-top:1px solid #e2d3b4}
.foot a{color:var(--navy);text-decoration-color:var(--brass-bright)}
.foot a:hover{color:var(--brass)}
.foot .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:36px}
.foot h4{color:var(--navy);font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:7px 0}
.foot .btn{background:var(--navy);color:#fff!important}.foot .btn:hover{background:var(--brass)}
.foot .fine{margin-top:44px;padding-top:22px;border-top:1px solid rgba(54,67,47,.18);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#7a705c}
/* pages */
.page{padding:80px 0 104px}
.page h1{font-size:clamp(2.1rem,4.2vw,3rem)}
.page h3{margin-top:1.6em}
table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
.muted{color:var(--mute);font-size:.95em}
.crumbs{font-size:14px;color:var(--mute);margin:0 0 16px}.crumbs a{color:var(--mute);text-decoration:none}.crumbs a:hover{color:var(--brass)}
.lede{font-size:1.2rem;color:var(--mute);max-width:36em}
.wrap.prose{max-width:1120px}
.wrap.prose>*{max-width:42em}
.wrap.prose>.cols,.wrap.prose>table{max-width:none}
.page .prose h3{padding-top:24px;margin-top:30px;border-top:1px solid var(--line);font-size:1.3rem}
.page .prose h3:first-of-type{border-top:0;padding-top:0}
.page .prose>p{color:#3a342a}
/* shared page header */
.hero-page .wrap{display:block;padding-top:84px;padding-bottom:72px}
.hero-page h1{font-size:clamp(2.3rem,5vw,3.4rem);max-width:18em}
.hero-page .lede-on-dark{margin:0;max-width:34em;font-size:1.2rem;color:#4d4638}
.hero-page .wrap::before{content:"";display:block;width:44px;height:2px;background:var(--brass-bright);margin-bottom:22px}
.hero-page .eyebrow{margin-bottom:12px}
/* two-column page layout: content plus a side card */
.split{display:grid;grid-template-columns:1.45fr .8fr;gap:64px;align-items:start}
.split .side{position:sticky;top:104px}
.side.card h3{margin:0 0 .6em;font-size:1.25rem}
.facts{list-style:none;margin:0;padding:0}
.facts li{padding:14px 0;border-top:1px solid var(--line);color:var(--mute);font-size:.96rem;line-height:1.5}
.facts li:first-child{border-top:0;padding-top:0}.facts li:last-child{padding-bottom:0}
.facts b{display:block;color:var(--navy);font:500 1.3rem var(--head)}
.legal{max-width:44em}
.legal h2{font-size:1.5rem;margin:2em 0 .5em}
.legal p,.legal li{color:#3a342a}
/* blog */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.chip{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:#7a4a2a;font:600 12px var(--sans);letter-spacing:.03em;text-decoration:none}
a.chip:hover{background:#efd9bc;color:#7a4a2a}
.chip.on{background:var(--navy);color:#fff}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 36px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pc{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;position:relative}
.pc:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(22,26,34,.05),0 18px 38px rgba(22,26,34,.1)}
.pc .cover{display:block;aspect-ratio:16/9;background:var(--accent-soft)}
.pc .cover img{width:100%;height:100%;object-fit:cover;display:block}
.pc .body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.pc h3{font-size:1.4rem;line-height:1.2;margin:0 0 .5em}
.pc h3 a{color:var(--navy);text-decoration:none}
.pc h3 a::after{content:"";position:absolute;inset:0}
.pc p{color:var(--mute);margin:0 0 16px;font-size:.98rem}
.pc .date{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.pc .chips{margin:auto 0 0;padding-top:4px}
.empty{background:var(--surface);border:1px dashed #dccdb0;border-radius:var(--r);padding:40px;text-align:center;color:var(--mute)}
/* post */
.post-hero{background:var(--surface);border-bottom:1px solid var(--line)}
.post-hero .wrap{max-width:860px;padding-top:60px;padding-bottom:44px}
.post-hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);margin-bottom:.35em}
.post-cover{max-width:960px;margin:0 auto;padding:0 28px}
.post-cover img{width:100%;height:auto;display:block;border-radius:var(--r);border:1px solid var(--line);margin-top:-1px;box-shadow:var(--shadow)}
.post-body{max-width:42em;margin:0 auto;padding:48px 28px 92px;font:400 1.2rem/1.75 var(--head)}
.post-body p{margin:0 0 1.2em}
.post-body h2{font-size:1.65rem;margin:2em 0 .6em}
.post-body blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--brass-bright);color:var(--navy);font-size:1.2rem;font-style:italic}
.post-body figure,.post-image{margin:30px 0}.post-body img,.post-image img{max-width:100%;height:auto;display:block;border-radius:var(--r);border:1px solid var(--line)}
.post-body table{border-collapse:collapse;width:100%;font:.92rem var(--sans);margin:18px 0;display:block;overflow-x:auto}
.post-body th,.post-body td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.post-body th{background:#f3e9d6}
.post-body ol,.post-body ul{padding-left:1.3em}
.post-body li[id^="src-"]{font:.88rem/1.55 var(--sans);color:var(--mute);overflow-wrap:anywhere}
.post-body .cta-band,.post-body p>a:only-child{font-family:var(--sans)}
sup .cite{text-decoration:none;font-weight:600;color:var(--brass)}
.cta-band{background:var(--sage);border:1px solid var(--sage-2);color:var(--navy);border-radius:var(--r);padding:36px 40px;margin-top:52px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band h3{color:var(--navy);margin:0;font-size:1.45rem}
.cta-band .btn{background:var(--navy);color:#fff!important}.cta-band .btn:hover{background:var(--brass)}
/* how i work */
.how.page{padding:68px 0 96px}
.how-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:64px;align-items:start}
.steps{list-style:none;margin:0;padding:0}
.step{display:grid;grid-template-columns:44px 1fr;gap:22px;position:relative;padding-bottom:42px}
.step:last-child{padding-bottom:0}
.step:not(:last-child)::before{content:"";position:absolute;left:21px;top:50px;bottom:6px;width:1px;background:var(--line)}
.step .n{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font:500 19px var(--head)}
.step h3{margin:6px 0 .4em;font-size:1.4rem}
.step p{margin:0;color:#3a342a}
.step .tag{display:inline-block;margin-top:14px;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:#7a4a2a;font:600 12px var(--sans);letter-spacing:.03em}
.discretion{position:sticky;top:104px;color:var(--navy)}
.discretion svg{color:var(--brass);margin-bottom:14px}
.discretion h3{margin:0 0 .5em}
.discretion p{color:var(--mute);margin:0 0 1em}.discretion p:last-child{margin-bottom:0}
@media(max-width:1000px){.posts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:40px;padding-top:68px;padding-bottom:68px}.assure{border-left:0;padding-left:0;border-top:2px solid var(--brass-bright);padding-top:28px}.cols{grid-template-columns:1fr}.foot .grid{grid-template-columns:1fr}}
@media(max-width:860px){.how-grid,.split{grid-template-columns:1fr;gap:40px}.discretion,.split .side{position:static}.hero-page .wrap{padding-top:56px;padding-bottom:48px}}
@media(max-width:640px){.posts{grid-template-columns:1fr}}
@media(max-width:760px){nav a:not(.btn){display:none}section.block{padding:68px 0}.wrap{padding:0 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.hint{margin:-2px 0 8px;font-size:.92rem;color:var(--mute)}

.portrait{width:100%;height:auto;border-radius:var(--r);margin:0 0 18px;border:1px solid var(--line)}
.portrait-fig{margin:0 0 18px}.portrait-fig .portrait{margin:0 0 8px}.portrait-fig figcaption{font-size:.82rem;color:var(--mute)}
