@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}}
.vidtop{background:var(--navy9);padding:40px 0 56px}.vid{position:relative;aspect-ratio:16/9;width:100%;border:1px solid rgba(199,205,214,.25);border-radius:6px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#2E3B6E 0%,var(--navy9) 70%)}.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.vplay{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,transparent 55%,rgba(18,25,51,.55));border:0;cursor:pointer;color:var(--on-navy);font:inherit}.vplay .play{margin:0;background:rgba(18,25,51,.45)}.vplay:focus-visible{outline:2px solid var(--gold4);outline-offset:-4px}.vplay .vt{font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--on-navy)}button.btn{cursor:pointer;font:inherit}.vmodal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.vmodal[hidden]{display:none}.vback{position:absolute;inset:0;background:rgba(18,25,51,.88)}.vbox{position:relative;width:min(1200px,100%);aspect-ratio:16/9;background:#000;border:1px solid rgba(199,205,214,.25)}.vbox video{width:100%;height:100%;display:block}.vclose{position:absolute;right:0;top:-46px;width:40px;height:40px;border:1px solid var(--silver5);background:var(--navy9);color:var(--on-navy);font-size:24px;line-height:1;cursor:pointer}.vclose:focus-visible{outline:2px solid var(--gold4)}@media(max-width:640px){.vmodal{padding:56px 0 0}.vbox{width:100%}.vclose{right:8px}}
.poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.poster .arc{position:absolute;width:60%;left:20%;top:8%;opacity:.5}.play{width:76px;height:76px;border:1px solid var(--gold);border-radius:50%;position:relative;margin-bottom:22px}.play:after{content:"";position:absolute;left:31px;top:24px;border-left:20px solid var(--gold);border-top:14px solid transparent;border-bottom:14px solid transparent}
.poster .vt{font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--on-navy)!important;font-size:clamp(.9rem,2vw,1.4rem);margin:0}.vcta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:36px;color:var(--on-navy)}.vcta h2{color:var(--on-navy);margin:0}.vcta .eyebrow{color:var(--gold4)}.vcta .btn.ghost{color:var(--on-navy);border-color:var(--silver5);background:transparent}
.shot{border-radius:6px;box-shadow:0 4px 8px rgba(26,35,70,.06),0 24px 48px rgba(26,35,70,.18)}.shot figcaption,.cap{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver5);padding:10px 4px 2px}
.pill-s{display:inline-block;font:600 .62rem/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}
.dark .pill-s{background:rgba(205,176,122,.1);color:var(--gold4);border-color:rgba(205,176,122,.35)}
.pillar{background:var(--paper);padding:32px 28px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .2s cubic-bezier(.2,.7,.2,1)}.pillar:hover{transform:translateY(-2px);color:var(--ink)}.pillar p{color:var(--muted);font-size:.95rem;margin:0 0 16px}.pillar .more{margin-top:auto;font:600 .72rem Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--gold6)}
.pillar ul,.flist{margin:0 0 18px;padding:0;list-style:none;font-size:.88rem;color:var(--muted)}.pillar li,.flist li{padding:5px 0;border-top:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center}.split.rev>div:first-child{order:2}@media(max-width:900px){.split{grid-template-columns:1fr;gap:28px}.split.rev>div:first-child{order:0}}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}.flow div{padding:26px 22px 26px 0;border-top:2px solid var(--gold);position:relative}.flow div:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--gold)}.flow b{font:500 2rem Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--gold6);display:block}.flow p{font-size:.92rem;color:var(--muted);margin:0}
.dark .flow b{color:var(--gold4)}.dark .flow p{color:var(--muted-navy)}@media(max-width:900px){.flow{grid-template-columns:1fr 1fr}}@media(max-width:520px){.flow{grid-template-columns:1fr}}
.wf{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin-top:32px}.wf .node{flex:1 1 150px;border:1px solid rgba(199,205,214,.25);padding:20px;background:rgba(36,48,92,.6)}.wf .node b{display:block;font:500 1.3rem Montserrat,"Helvetica Neue",Arial,sans-serif;color:var(--on-navy)}.wf .node span{font-size:.82rem;color:var(--muted-navy)}.wf .ar{display:flex;align-items:center;padding:0 10px;color:var(--gold4);font-size:1.4rem}@media(max-width:760px){.wf{flex-direction:column}.wf .ar{justify-content:center;padding:6px;transform:rotate(90deg)}}
.disc{border:1px solid #9A6B1F;background:#F6EDDC;color:#6E4C12;padding:14px 18px;font-weight:600;font-size:.92rem;border-radius:2px;margin:18px 0}
.crumb{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}.crumb a{color:var(--gold4)}
.fsec{padding:64px 0;border-top:1px solid var(--line)}.fsec:first-of-type{border-top:0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px}@media(max-width:860px){.contact{grid-template-columns:1fr}}

/* 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}
