@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Inter:wght@400;500;600&display=swap");
:root{--navy:#24305C;--navy9:#1A2346;--gold:#B8955A;--gold6:#876830;--gold4:#CDB07A;--silver:#C7CDD6;--silver5:#8E97A6;--ivory:#F6F3EC;--paper:#FBFAF6;--ink:#0E1A2B;--muted:#4F596A;--line:#DCD8CE;--on-navy:#F3EFE6;--muted-navy:#A9B1BD}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 1rem/1.6 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums lining-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}a{color:var(--navy);text-underline-offset:3px}a:hover{color:var(--gold6)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:8px 14px;z-index:9}.skip:focus{left:8px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-weight:500;line-height:1.08;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.5rem,6.4vw,4.6rem)}h2{font-size:clamp(1.9rem,3.8vw,2.9rem)}h3{font-size:1.45rem;line-height:1.2}
.eyebrow{font:600 .72rem/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold6);margin:0 0 18px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.lede{font-size:1.125rem;color:var(--muted);max-width:640px}
header.top{background:var(--navy9);color:var(--on-navy);border-bottom:1px solid rgba(199,205,214,.16);position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;color:var(--on-navy);text-decoration:none}.brand .mark{width:38px;height:34px;color:var(--on-navy)}
.brand b{font:500 1.35rem/1 Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.22em}.brand small{display:block;font:600 .6rem/1 Inter;letter-spacing:.28em;color:var(--gold4);margin-top:4px}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.nav ul a{color:var(--on-navy);text-decoration:none;font-size:.86rem;letter-spacing:.04em}.nav ul a:hover{color:var(--gold4)}
.btn{display:inline-block;padding:13px 22px;font:600 .8rem/1 Inter;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:2px}
.btn:hover{background:var(--navy9);color:#fff}.btn.ghost{background:transparent;color:var(--navy)}.btn.ghost:hover{background:var(--navy);color:#fff}
.dark .btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}.dark .btn:hover{background:var(--gold4);color:var(--ink)}.dark .btn.ghost{background:transparent;color:var(--on-navy);border-color:var(--silver5)}.dark .btn.ghost:hover{border-color:var(--gold4);color:var(--gold4)}
.nav .btn{padding:10px 16px;background:var(--gold);border-color:var(--gold);color:var(--ink)}.nav .btn:hover{background:var(--gold4);color:var(--ink)}
.menu{display:none}
@media(max-width:900px){.nav ul{display:none}.menu{display:block}.menu summary{list-style:none;cursor:pointer;color:var(--on-navy);border:1px solid var(--silver5);padding:8px 12px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.menu summary::-webkit-details-marker{display:none}.menu[open] ul{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:72px;background:var(--navy9);padding:16px 24px 24px;gap:16px;border-bottom:1px solid var(--silver5)}.nav .btn.hide-m{display:none}}
.dark{background:var(--navy9);color:var(--on-navy)}.dark .eyebrow{color:var(--gold4)}.dark .lede,.dark p{color:var(--muted-navy)}.dark h1,.dark h2,.dark h3{color:var(--on-navy)}.dark a:not(.btn){color:var(--gold4)}
.hero{padding:104px 0 96px;position:relative;overflow:hidden}.hero .arc{position:absolute;right:-160px;top:-40px;width:620px;opacity:.18;pointer-events:none}
.hero h1{max-width:820px}.hero .lede{font-size:1.2rem;margin:22px 0 36px}.ctas{display:flex;flex-wrap:wrap;gap:12px}
.rule{height:1px;background:linear-gradient(90deg,var(--gold),transparent);border:0;margin:0}
section{padding:96px 0}.sec-head{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;margin-bottom:56px;align-items:end}@media(max-width:800px){.sec-head{grid-template-columns:1fr;gap:12px}section{padding:72px 0}.hero{padding:72px 0}}
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:960px){.g4,.g3{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.g4,.g3,.g2{grid-template-columns:1fr}}
.cell{background:var(--paper);padding:32px 28px}.cell .n{font:500 1.1rem Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--gold6);display:block;margin-bottom:22px;letter-spacing:.08em}.cell p{color:var(--muted);margin:0;font-size:.95rem}
.dark .grid{background:rgba(199,205,214,.16);border-color:rgba(199,205,214,.16)}.dark .cell{background:var(--navy9)}.dark .cell .n{color:var(--gold4)}
.ph{display:inline-block;font:600 .68rem/1.4 Inter;letter-spacing:.08em;text-transform:uppercase;background:#F6EDDC;color:#6E4C12;border:1px dashed #9A6B1F;padding:3px 8px;border-radius:2px}
.dark .ph{background:rgba(205,176,122,.12);color:var(--gold4);border-color:var(--gold4)}
.listing{background:var(--paper);display:flex;flex-direction:column}.listing .img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy) 0%,var(--navy9) 100%);display:flex;align-items:flex-end;padding:18px;color:var(--silver)}
.listing .img span{font:500 1.05rem Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.1em}.listing .body{padding:24px 26px 28px}.listing dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;border-top:1px solid var(--line);padding-top:14px}
.listing dt{font:600 .65rem Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.listing dd{margin:2px 0 0;font:500 1.4rem Montserrat,"Helvetica Neue",Arial,sans-serif}
.meta{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold6);font-weight:600}
.note{font-size:.82rem;color:var(--muted);margin-top:20px;max-width:780px}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}@media(max-width:720px){.team{grid-template-columns:1fr}}
.person{border-top:1px solid var(--gold);padding-top:28px;display:grid;grid-template-columns:120px 1fr;gap:24px}.portrait{width:120px;height:150px;background:var(--navy);color:var(--silver);display:flex;align-items:center;justify-content:center;font:500 2rem Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.06em}
.person .role{font:600 .72rem Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--gold6);margin:-4px 0 12px}.person p{color:var(--muted);font-size:.95rem}
@media(max-width:480px){.person{grid-template-columns:1fr}}
.markets{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line)}.markets li{list-style:none;flex:1 1 220px;padding:22px 0;border-bottom:1px solid var(--line);font:500 1.5rem Montserrat,"Helvetica Neue",Arial,sans-serif;display:flex;justify-content:space-between;gap:12px;padding-right:24px}.markets{padding:0;margin:0}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media(max-width:900px){.trust{grid-template-columns:repeat(2,1fr)}}.trust div{border:1px solid rgba(199,205,214,.25);padding:24px;min-height:120px}.trust h3{font-size:1.15rem}
.post{background:var(--paper);padding:28px;text-decoration:none;color:var(--ink);display:block}.post:hover h3{color:var(--gold6)}.post h3{margin:14px 0 18px}.post .more{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px}@media(max-width:800px){.contact{grid-template-columns:1fr}}
.contact dl{margin:0}.contact dt{font:600 .7rem Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--gold4);margin-top:22px}.contact dd{margin:6px 0 0;font:500 1.5rem Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--on-navy)}
form label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-navy);margin:14px 0 6px}form input,form select,form textarea{width:100%;padding:12px 14px;background:transparent;border:1px solid rgba(199,205,214,.35);color:var(--on-navy);font:inherit;border-radius:2px}form select option{color:var(--ink)}form button{margin-top:22px;cursor:pointer}
footer{background:var(--navy9);color:var(--muted-navy);padding:56px 0 40px;font-size:.85rem;border-top:1px solid rgba(199,205,214,.16)}footer a{color:var(--on-navy)}footer .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:32px}footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}footer .fine{border-top:1px solid rgba(199,205,214,.16);padding-top:24px;max-width:900px}
.kv{display:grid;grid-template-columns:repeat(5,1fr);counter-reset:s}@media(max-width:900px){.kv{grid-template-columns:1fr 1fr}}@media(max-width:520px){.kv{grid-template-columns:1fr}}
.kv div{padding:24px 20px 24px 0;border-top:1px solid var(--gold)}.kv b{font:500 2.2rem Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--gold6);display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.chips span{border:1px solid rgba(199,205,214,.3);padding:6px 12px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver)}
.shot{border:1px solid rgba(199,205,214,.25);background:var(--navy);padding:10px;margin-top:48px}.shot img{display:block;width:100%;height:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v3 institutional refinements (fonts unchanged) */
body{font-size:1rem;line-height:1.65}.wrap{max-width:1240px;padding:0 32px}@media(max-width:620px){.wrap{padding:0 20px}}
h1{font-size:clamp(2.4rem,5.4vw,4.1rem);letter-spacing:-.01em;line-height:1.04}h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.eyebrow,.meta,.person .role,.listing dt,.contact dt,.btn{letter-spacing:.18em}.eyebrow{font-size:.68rem}.tagline{font-family:Montserrat,Inter,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-weight:500;font-size:.82rem;color:var(--gold4,#D4B97E);display:flex;align-items:center;gap:.9rem;margin:.2rem 0 1.4rem}.tagline:before{content:"";width:2.2rem;height:1px;background:currentColor}
section{padding:120px 0}@media(max-width:800px){section{padding:80px 0}}
.sec-head{border-top:1px solid var(--line);padding-top:28px}.dark .sec-head{border-top-color:rgba(199,205,214,.16)}
.num,dd,.n,.kv b{font-variant-numeric:tabular-nums lining-nums}
.nav{height:76px}.nav>nav>ul{gap:30px;align-items:center}
.dd{position:relative}.dd>button{background:none;border:0;color:var(--on-navy);font:inherit;font-size:.86rem;letter-spacing:.04em;cursor:pointer;padding:0}.dd>button:after{content:"";display:inline-block;width:5px;height:5px;border-right:1px solid var(--gold4);border-bottom:1px solid var(--gold4);transform:rotate(45deg);margin:0 0 3px 8px}
.mega{display:none;position:absolute;left:50%;transform:translateX(-50%);top:100%;padding-top:24px;width:min(760px,92vw)}.dd:hover .mega,.dd:focus-within .mega{display:block}
.mega-in{background:var(--navy9);border:1px solid rgba(199,205,214,.2);border-top:1px solid var(--gold);display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}.mega a{display:block;padding:18px 20px;border-bottom:1px solid rgba(199,205,214,.1);font-size:.84rem!important}.mega a small{display:block;color:var(--muted-navy);font-size:.72rem;margin-top:4px;letter-spacing:0}
.mlist{list-style:none;padding:0;margin:0}.menu .sub{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold4);margin-top:8px}
.vgrid .cell{min-height:230px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}.vgrid .cell:hover h3{color:var(--gold6)}.vgrid .more{margin-top:auto;padding-top:22px;font:600 .7rem Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
.oz-band{background:var(--navy);color:var(--on-navy)}.oz-band .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:72px}@media(max-width:900px){.oz-band .wrap{grid-template-columns:1fr;gap:40px}}
.facts{border-top:1px solid var(--gold);margin:0;padding:0;list-style:none}.facts li{padding:18px 0;border-bottom:1px solid rgba(199,205,214,.18);display:grid;grid-template-columns:150px 1fr;gap:20px}.facts b{font:600 .68rem Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--gold4);padding-top:4px}
.light .facts li{border-bottom-color:var(--line)}.light .facts b{color:var(--gold6)}
@media(max-width:560px){.facts li{grid-template-columns:1fr;gap:4px}}
.prose{max-width:760px}.prose p,.prose li{color:var(--muted)}.prose h3{margin-top:40px}
.disc{border:1px solid var(--line);border-left:2px solid var(--gold);padding:22px 26px;background:var(--paper);font-size:.88rem;color:var(--muted);max-width:900px}
.listing .img{padding:0;position:relative;overflow:hidden}.listing .img img{width:100%;height:100%;object-fit:cover;display:block}.listing .img figcaption{position:absolute;right:10px;bottom:8px;font-size:.62rem;letter-spacing:.08em;color:#fff;background:rgba(26,35,70,.7);padding:2px 6px}
.mono{width:132px;height:164px;background:var(--navy9);border:1px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--on-navy);font:500 2.4rem Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.12em}.mono:after{content:"";width:34px;height:1px;background:var(--gold)}
.person{grid-template-columns:132px 1fr;gap:32px}@media(max-width:480px){.person{grid-template-columns:1fr}}
.crumb{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-navy);margin-bottom:28px}.crumb a{color:var(--gold4)!important;text-decoration:none}
.burger{margin-left:auto;width:48px;height:48px;background:none;border:1px solid rgba(199,205,214,.35);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;padding:0}
.burger span{display:block;width:20px;height:1.5px;background:var(--on-navy)}.burger:hover,.burger:focus-visible{border-color:var(--gold)}
.overlay{position:fixed;inset:0;z-index:50;background:var(--navy9);display:flex;align-items:center;justify-content:center}.overlay[hidden]{display:none}
.overlay ul{list-style:none;margin:0;padding:0;text-align:center;display:block!important}.overlay nav{display:block!important}.burger{display:flex!important}.overlay li{margin:0}.overlay a{display:inline-block;padding:18px 8px;color:var(--on-navy);text-decoration:none;font:500 clamp(1.6rem,4.4vw,3rem)/1.2 Montserrat,"Helvetica Neue",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.overlay a:hover,.overlay a:focus-visible{color:var(--gold4);outline:none;box-shadow:inset 0 -1px 0 var(--gold)}
.ov-close{position:absolute;top:22px;right:24px;width:48px;height:48px;background:none;border:1px solid rgba(199,205,214,.35);cursor:pointer}.ov-close span{position:absolute;left:13px;top:23px;width:22px;height:1.5px;background:var(--on-navy);transform:rotate(45deg)}.ov-close span+span{transform:rotate(-45deg)}
.menu-open,.menu-open body{overflow:hidden}
.calm{position:relative;overflow:hidden;background:var(--ivory);min-height:calc(100vh - 76px);display:flex;align-items:center;justify-content:center;padding:96px 24px;text-align:center}
.wm-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.wm-bg .mark{width:min(1100px,140vw);height:auto;opacity:.045}
.calm-in{position:relative;max-width:760px}.calm-logo{margin:0 0 56px;display:flex;flex-direction:column;align-items:center;gap:22px;color:var(--navy)}
.calm .mark [fill="#F6F3EC"],.calm .mark [fill="#F3EFE6"]{fill:var(--navy)}.calm-logo .mark{width:clamp(120px,16vw,190px);height:auto}.calm-logo b{display:block;color:var(--navy)}.calm-logo .wm{height:clamp(34px,5vw,58px);width:auto;color:var(--navy)}
.calm-logo small{display:block;font:500 .78rem Inter,sans-serif;letter-spacing:.42em;color:var(--gold6)}
.mission{margin:0 auto;max-width:640px;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.85;color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pill-s{display:inline-block;font:600 .6rem/1 Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--gold6);border:1px solid #E9DCC0;background:#F8F2E6;padding:5px 9px;border-radius:999px;margin-left:8px;vertical-align:middle}
.headshot{width:132px;height:165px;object-fit:cover;display:block;border:1px solid var(--gold);background:#000}.mapfig{margin:8px 0 0}.mapfig .usmap{width:100%;height:auto;display:block}.mapfig figcaption{font-size:.78rem;color:var(--muted-navy);margin-top:14px}

/* v4 Todd style (2026-10-24): geometric caps headings, Montserrat; dark blue #24305C */
h1,h2,h3{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.1em;line-height:1.18}
h1{font-size:clamp(1.85rem,4.3vw,3.25rem);letter-spacing:.08em;line-height:1.12}h2{font-size:clamp(1.35rem,2.5vw,2rem)}h3{font-size:1rem;letter-spacing:.12em;line-height:1.4}
.brand .wm{height:17px;width:auto;display:block;color:var(--on-navy)}.brand small{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:.32em;margin-top:6px}.brand .mark{width:44px;height:44px}
.nav ul a,.dd>button,.menu summary{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.eyebrow,.meta,.btn,.crumb,.listing dt,.contact dt,.facts b,.more,.pill-s,form label,.cap,.shot figcaption,.menu .sub,.vgrid .more,.post .more,.pillar .more{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif}
.cell .n,.listing dd,.listing .img span,.contact dd,.kv b,.markets li,.portrait,.mono,.flow b,.wf .node b{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:.06em}
.contact dd{font-size:1.15rem}.listing dd{font-size:1.15rem}.kv b{font-size:1.8rem}.markets li{font-size:1.1rem;text-transform:uppercase;letter-spacing:.12em}
