/* Nūmen v8 upgrade layer. Brings the site onto Brand Kit v1.1:
   Archivo display + Inter text, three colours, square corners, lines not depth, the Bar. */
:root{
  --sans:"Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --display:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:var(--display);
  --ink:#000000;
  --n90:#1A1A1A;
  --text:#000000;
  --body:#333333;
  --muted:#666666;
  --line:#CFCFCF;
  --line-dark:rgba(255,255,255,.3);
  --paper:#F5F5F5;
  --navy:#000000;
}
*,*::before,*::after{border-radius:0!important}
.panel,.gcard,.lcard,.lcard:hover,.feat,.acard,.ncard,.fcard{box-shadow:none!important}
.feat,.acard,.gcard,.panel{border:1px solid var(--line)}
.ncard{border:0}
.gcard .pic span{text-shadow:none}
input,select,textarea{border-radius:4px!important}
body{font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--body)}
h1,h2,h3,h4,.hero h1,.phero h1,.prof h1{font-family:var(--display);font-weight:600;letter-spacing:-.02em;color:inherit}
h3,h4{font-weight:500}
em.s,h2 em,h3 em,.hero h1 span{font-family:var(--display)!important;font-style:normal!important;font-weight:inherit!important;letter-spacing:inherit!important}
em.s{color:var(--royal)}
/* Royal type is never set on black: accents flip to white on dark grounds */
.hero em.s,.hero h1 span,.foot em.s,.ocard h3 em,.cta h2 em,.phero em.s{color:#fff!important}
.ncard h3,.card .st{font-family:var(--display)!important}
img:not([src*="logo"]):not([src$=".svg"]){filter:saturate(.94) contrast(1.02) brightness(1.01)}

/* Eyebrow: Archivo Medium 13, ALL CAPS +0.18em, with the Bar */
.eyebrow{font:500 13px/1.4 var(--display)!important;letter-spacing:.18em!important;color:var(--muted)}
.eyebrow::before{content:"";display:block;width:32px;height:2px;background:var(--royal);margin-bottom:14px}
.h8-hero .eyebrow,.hero .eyebrow,.foot .eyebrow,.phero .eyebrow,.ocard .eyebrow{color:#CFCFCF!important}
.hero .eyebrow{display:block}
.hero .eyebrow i{display:none}

/* Navigation: sentence case, ui-label */
.nav>ul>li>a,.nav>ul>li>button{font:500 14px/1 var(--sans)!important;letter-spacing:.01em!important;text-transform:none!important;padding:28px 12px}
.nav>ul>li>a:hover,.nav>ul>li>button:hover{color:#fff;opacity:.72}
.sub{border-top:2px solid var(--royal)}
.sub a{font-size:14px}

/* Buttons and text links */
.btn{font:600 15px/1 var(--sans)!important;letter-spacing:.02em!important;text-transform:none!important;padding:18px 26px;gap:14px;transition:background .2s}
.btn svg{transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.tlink,.about .more,.gcard a,.more{font:600 15px/1 var(--sans)!important;letter-spacing:.01em!important;text-transform:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--royal)!important;outline-offset:2px}
.hero a:focus-visible,.foot a:focus-visible{outline-color:#fff!important}

/* Running copy sizes */
.copy p,.intro,.intro2 .copy p,.areas-head p,.gcard p,.prof-body p,.legal-body p{font-size:16px!important;line-height:1.6!important;color:var(--body)!important}
.foot p,.foot li,.foot a{font-size:14px}

/* Footer: black field, hairlines */
.foot{background:#000!important}

/* ===== Homepage v8 ===== */
.h8-hero{position:relative;isolation:isolate;overflow:hidden;background:#000 url(/img/poster.webp) center/cover;color:#fff}
.h8-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.h8-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.58)}
.h8-hero .wrap{padding-block:clamp(88px,12vh,136px) clamp(64px,9vh,104px)}
.h8-hero h1{margin-top:28px;font-size:clamp(44px,6.4vw,84px);line-height:1.03;letter-spacing:-.03em;max-width:12ch}
.h8-hero h1 sup{font-size:.24em;vertical-align:top;position:relative;top:.55em;margin-left:2px;font-weight:500}
.h8-hero .lead{margin:24px 0 0;max-width:46ch;font-size:20px;line-height:1.6;color:#CFCFCF}
.finder{margin-top:44px;max-width:760px;background:#fff;color:#000}
.finder .tabs{display:flex;border-bottom:1px solid var(--line)}
.finder .tabs button{flex:0 0 auto;background:none;border:0;padding:16px 22px;font:500 14px/1 var(--sans);color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.finder .tabs button[aria-selected="true"]{color:#000;border-bottom-color:var(--royal)}
.finder form{display:flex;align-items:stretch}
.finder label.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.finder input{flex:1;min-width:0;border:0!important;outline:0;padding:0 22px;font:400 17px var(--sans);color:#000;background:#fff;height:64px}
.finder input::placeholder{color:#9A9A9A}
.finder .btn{height:64px;padding:0 28px}
.finder .hint{padding:12px 22px;border-top:1px solid var(--line);font-size:13px;color:#666}
.h8-hero .alt{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:15px}
.h8-hero .alt a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px}
.h8-hero .alt a:hover{border-bottom-color:#fff}

.sec8{padding-block:clamp(72px,10vw,128px)}
.sec8.subtle{background:var(--paper)}
.sec8 .head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.sec8 .head h2{margin-top:4px;font-size:clamp(33px,3.6vw,49px);line-height:1.12;color:#000;max-width:20ch}
.sec8 .head p{max-width:40ch;margin:0;color:var(--body)}

/* Proof grid: hairlines, no fills */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.bento>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px;min-width:0;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.bento .wide{grid-column:span 2}
.bento .tall{grid-row:span 2}
.bento .stmt{grid-column:span 2;grid-row:span 2;background:#000;color:#fff;justify-content:space-between;padding:40px}
.bento .stmt h3{font-size:clamp(31px,3vw,44px);line-height:1.1;font-weight:600;letter-spacing:-.022em}
.bento .stmt p{color:#CFCFCF;margin:0}
.bento .stmt .bar{width:48px;height:2px;background:var(--royal)}
.bento .stat{font:600 clamp(49px,5vw,76px)/1 var(--display);letter-spacing:-.03em;color:#000;font-variant-numeric:tabular-nums lining-nums}
.bento .stat small{font-size:.32em;color:var(--royal);letter-spacing:0;margin-left:6px;font-weight:600}
.bento h4{font-size:20px;line-height:1.35;color:#000;margin:0}
.bento p{margin:0;font-size:14px;line-height:1.55;color:var(--body)}
.bento .lbl{font:500 13px/1.4 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.bento a.tile{transition:background .25s}
.bento a.tile:hover{background:#EBF1FA}
.bento a.tile .go{margin-top:auto;font:600 15px/1 var(--sans);color:var(--royal)}

/* Market tiles */
.mkts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mkt{display:block;text-decoration:none;color:#000}
.mkt .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1A1A1A}
.mkt .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mkt:hover .ph img{transform:scale(1.03)}
.mkt .plate{position:absolute;left:0;bottom:0;background:#000;color:#fff;padding:14px 20px;font:600 13px/1 var(--display);letter-spacing:.18em;text-transform:uppercase}
.mkt .meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:18px;border-bottom:1px solid var(--line);padding-bottom:18px}
.mkt h3{font-size:25px;line-height:1.3}
.mkt .meta span{font-size:14px;color:var(--muted)}
.mkt .go{display:inline-block;margin-top:14px;font:600 15px/1 var(--sans);color:var(--royal)}
.mkt:hover .go{text-decoration:underline;text-underline-offset:4px}

/* Advisors strip */
.advs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.adv{display:block;text-decoration:none;color:#000}
.adv .ph{aspect-ratio:4/5;overflow:hidden;background:#F5F5F5}
.adv .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.adv:hover .ph img{transform:scale(1.03)}
.adv h3{margin-top:18px;font-size:20px;line-height:1.35}
.adv span{display:block;margin-top:4px;font-size:14px;color:var(--muted)}

/* Two paths */
.paths{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.path8{display:flex;flex-direction:column;gap:16px;padding:48px 48px 48px 0;text-decoration:none;color:#000}
.path8+.path8{border-left:1px solid var(--line);padding-left:48px}
.path8 h3{font-size:clamp(25px,2.4vw,31px);line-height:1.25}
.path8 p{margin:0;max-width:44ch;color:var(--body)}
.path8 .go{margin-top:8px;font:600 15px/1 var(--sans);color:var(--royal)}
.path8:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--royal)}

/* Scroll reveal (respects reduced motion) */
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.h8-hero video{display:none}}

/* Mobile action bar */
.mbar{display:none}
@media (max-width:1023px){
  .bento{grid-template-columns:1fr 1fr}
  .bento .stmt{grid-column:span 2;grid-row:auto}
  .advs{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .h8-hero h1{font-size:44px}
  .h8-hero .lead{font-size:17px}
  .finder .tabs button{padding:14px 14px;flex:1}
  .finder form{flex-direction:column}
  .finder input{flex:none;height:56px;padding:0 16px}
  .finder .btn{height:56px;justify-content:center}
  .bento{grid-template-columns:1fr}
  .bento .stmt,.bento .wide{grid-column:auto}
  .bento>*{padding:24px}
  .bento .stmt{padding:32px 24px}
  .mkts{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin-right:-24px;padding-right:24px;scrollbar-width:none}
  .mkts::-webkit-scrollbar{display:none}
  .mkt{scroll-snap-align:start}
  .advs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin-right:-24px;padding-right:24px;scrollbar-width:none}
  .advs::-webkit-scrollbar{display:none}
  .adv{scroll-snap-align:start}
  .paths{grid-template-columns:1fr}
  .path8,.path8+.path8{padding:32px 0;border-left:0}
  .path8+.path8{border-top:1px solid var(--line)}
  .sec8 .head{margin-bottom:32px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#000;border-top:1px solid rgba(255,255,255,.3);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(110%);transition:transform .3s}
  .mbar.on{transform:none}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:10px;height:56px;color:#fff;text-decoration:none;font:600 15px/1 var(--sans)}
  .mbar a+a{border-left:1px solid rgba(255,255,255,.3)}
  .mbar a.pri{background:var(--royal)}
  body.has-mbar .foot{padding-bottom:56px}
}
.finder .hint a{color:var(--royal);font-weight:500}
.legal{background:#000!important;color:#CFCFCF!important;border-top:1px solid rgba(255,255,255,.3);font-size:12px!important}
.legal a{color:#CFCFCF}
/* One black, no hued gradients (Brand Kit: no fourth colour) */
.cta,.ocard,.prof{background:#000!important}
.ncard::before{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.85) 100%)!important}
.portrait::after{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85) 100%)!important}
.card.tx,.card.al,.card.fl,.gcard .pic,.gcard .pic.alt{background:#1A1A1A!important}
.card::after{background:linear-gradient(180deg,rgba(0,0,0,.1) 30%,rgba(0,0,0,.8) 100%)!important}
