
@font-face{font-family:'Baskerville';src:url('baskerville-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Baskerville';src:url('baskerville-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
/* ============ ONE — frankenstein of the approved sections. Cool charcoal, muted denim cornflower. ============ */
:root{
  --ink:#17181B; --ink2:#1C1E22; --panel:#1F2124; --deep:#121316;
  /* light tones brightened toward (not to) true white — Natalie 2026-07-19 item 4 */
  --paper:#F4F6F7; --lt:#F1F2F3; --lt2:#ECEEEF; --card:#F8F9F9;
  --sec-d:#D4D7DC; --mut-d:#A6ACB4; --sec-l:#3A3D42; --mut-l:#6E737A;
  --hair-d:#2A2E33; --hair-l:#CFD2D6;
  --acc:#7C96C8; --acc-l:#8FA6CD; --acc-ink:#16171A;
  --surf:#E6EAF1;
  --sans:'Switzer',system-ui,sans-serif; --serif:'Switzer',system-ui,sans-serif; --m:clamp(20px,5.5vw,108px); --edge:clamp(28px,3.5vw,60px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
/* item 3: tighter editorial center column site-wide */
.wrap{max-width:1400px;margin:0 auto;padding:0 var(--m)}
.logo{height:19px;width:auto;display:block;color:var(--paper)}.navleft a:hover .logo{color:var(--acc)!important}
.logo path{fill:currentColor}
/* eyebrow — tracking reduced ~10% site-wide (.24em -> .215em) */
.eyebrow{font-weight:700;font-size:11px;letter-spacing:.215em;text-transform:uppercase;color:var(--sec-d);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:3px;background:currentColor;opacity:.4;flex:none}
.btn{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.11em;text-transform:uppercase;border:1px solid rgba(233,235,238,.42);color:var(--paper);padding:15px 28px;border-radius:2px;background:transparent;position:relative;overflow:hidden;transition:color .35s;cursor:pointer;display:inline-block}
.btn span{position:relative;z-index:2}
.btn::before{content:"";position:absolute;inset:0;background:var(--paper);transform:translateX(-101%);transition:transform .45s cubic-bezier(.7,0,.15,1);z-index:1}
.btn:hover{color:var(--ink)}.btn:hover::before{transform:translateX(0)}
.btn.fill{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.btn.fill::before{background:var(--paper)}.btn.fill:hover{color:var(--ink)}
.btn.hovblue::before{background:var(--acc)}.btn.hovblue:hover{color:var(--acc-ink)}
.btn.dark{border-color:rgba(23,24,27,.55);color:#101113}.btn.dark::before{background:#101113}.btn.dark:hover{color:var(--paper)}
.sh{font-family:var(--sans);font-weight:200;font-size:clamp(24px,3vw,44px);line-height:1.1;letter-spacing:-.022em}
.mut{color:var(--mut-d);transition:color .9s}
.reveal-line{overflow:hidden;display:block}
.reveal-line>span{display:block;transform:translateY(112%);transition:transform 1.05s cubic-bezier(.16,1,.3,1)}
.lit .reveal-line>span{transform:translateY(0)}.d2 .reveal-line>span{transition-delay:.1s}
.fade{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.fade.in{opacity:1;transform:none}
.dl1{transition-delay:.12s}.dl2{transition-delay:.26s}.dl3{transition-delay:.4s}
section{padding:clamp(92px,13vh,180px) 0;position:relative}
/* ===== NAV — matches approved live xxiwealth.rezex.com (11px/600/.14em caps, blue underline on active, Client Login) ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .45s,border-color .45s;border-bottom:1px solid transparent}
nav .row{display:flex;align-items:center;justify-content:space-between;height:80px;max-width:none;margin:0 auto;padding:0 var(--edge)}
/* item 5: links vertically centered on the same axis as the CTA text (underline via ::after, no padding offset) */
.nlinks{display:flex;gap:13px;align-items:center;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#B9BBB9;white-space:nowrap}
.nlinks a:not(.btn){position:relative;transition:color .2s;line-height:1;letter-spacing:.09em}
.nlinks a:not(.btn):hover{color:#FFFFFF}
.nlinks a.on{color:#FFFFFF}
.nlinks a.on::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;background:var(--acc)}
.nlinks .btn{padding:11px 15px;font-size:11px;letter-spacing:.12em;white-space:nowrap}
.nlinks .btn.fill{border-color:var(--acc)}
.nlinks .btn.fill:hover{border-color:var(--acc);color:var(--ink)}
/* item 10: cool dark scrolled nav — desaturated backdrop so warm imagery can't tint it brown; 85% opacity + blur */
nav.scrolled{background:rgba(21,23,27,.85);backdrop-filter:blur(18px) saturate(.55);-webkit-backdrop-filter:blur(18px) saturate(.55);border-bottom:1px solid var(--hair-d)}
/* ===== HERO — Noir's, tightened ===== */
header.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--deep)}
.hero .bg{position:absolute;inset:0;z-index:0}
.hero .bg video{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04) brightness(.6)}
.hero .bg .still{display:none}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(94deg,rgba(20,21,23,.92) 22%,rgba(20,21,23,.6) 54%,rgba(20,21,23,.34)),linear-gradient(0deg,rgba(20,21,23,.7),transparent 40%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero .htag{font-size:12px;font-weight:400;letter-spacing:.17em;text-transform:uppercase;color:var(--acc-l);margin-bottom:32px}
h1{font-family:var(--sans);font-weight:200;font-size:clamp(44px,5.8vw,86px);line-height:1.04;letter-spacing:-.024em;margin-bottom:34px;color:var(--paper);max-width:18ch}
h1 .l2{color:var(--mut-d);display:block;font-weight:200}
/* item 1: descender-safe reveal mask — padding gives 'g'/'y' room inside the overflow clip, negative margin keeps the line gap tight */
h1 .reveal-line{padding-bottom:.16em;margin-bottom:-.16em}
.hsub{font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.6vw,26px);max-width:42ch;color:#DFDCE0;margin-bottom:44px;line-height:1.5}
.scrollcue{position:absolute;bottom:34px;left:var(--m);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sec-d);z-index:2;display:flex;align-items:center;gap:12px}
.scrollcue i{width:1px;height:46px;background:var(--hair-d);position:relative;overflow:hidden}
.scrollcue i::after{content:"";position:absolute;top:-46px;left:0;width:1px;height:46px;background:var(--acc-l);animation:drop 2.6s cubic-bezier(.7,0,.3,1) infinite}
@keyframes drop{0%{transform:translateY(0)}60%,100%{transform:translateY(92px)}}
/* ===== APPROACH — Noir's dark panel ===== */
.approach{background:var(--panel)}
.approach .grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:34px;row-gap:0;align-items:start}
.approach .eyebrow{grid-column:1/8;grid-row:1;margin-bottom:14px}
.approach h2{grid-column:1/11;grid-row:2;margin:0 0 40px;color:var(--paper)}
.approach .rest{grid-column:1/7;grid-row:3;font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.7vw,26px);line-height:1.5;color:#D8DBE0}
.approach .connect{grid-column:8/13;grid-row:3;align-self:start;border-left:2px solid var(--acc);padding-left:22px;font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.5;color:#D8DBE0}
.approach .connect b{color:#FFFFFF;font-weight:400}
/* ===== WEALTH SOLUTIONS — cool dark, scroll index + crossfading photo ===== */
.sol{background:var(--ink)}
.sol .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.idx{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.names{border-top:1px solid var(--hair-d)}
.dname{display:flex;align-items:baseline;gap:20px;padding:clamp(26px,4.4vh,52px) 4px;border-bottom:1px solid var(--hair-d);cursor:default;color:var(--mut-d);transition:color .4s,padding-left .45s cubic-bezier(.16,1,.3,1)}
.dname .n{font-size:12px;font-weight:600;width:26px;color:#8A9096;transition:color .4s;flex:none}
.dname .t{font-family:var(--sans);font-weight:400;font-size:clamp(20px,2vw,29px);letter-spacing:-.014em}
.dname.on{color:var(--acc-l);padding-left:14px}.dname.on .n{color:var(--acc-l)}
.detail{position:sticky;top:110px}
.detail .dn{font-size:12px;font-weight:600;letter-spacing:.145em;text-transform:uppercase;color:var(--acc-l);margin-bottom:18px}
.detail .dt{font-family:var(--sans);font-weight:300;font-size:clamp(24px,2.5vw,36px);line-height:1.14;letter-spacing:-.02em;margin-bottom:20px;color:var(--paper)}
.detail .dd{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.5;color:#DDE0E4;max-width:42ch;min-height:4.6em}
.detail .dfig{margin-top:30px;position:relative;width:100%;max-width:560px;height:clamp(300px,40vh,430px);overflow:hidden;background:var(--deep)}
.detail .dfig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;filter:saturate(.8) contrast(1.05) brightness(.82)}
.detail .dfig img.on{opacity:1}
.detail .dfig::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,19,22,.32),transparent 45%);pointer-events:none}
.detail .prog{margin-top:22px;height:2px;background:var(--hair-d);position:relative;max-width:560px}
.detail .prog i{position:absolute;left:0;top:0;height:100%;background:var(--acc-l);width:16.6%;transition:left .55s cubic-bezier(.16,1,.3,1)}
/* ===== WHO WE SERVE — light layout; STARTS DARK, eases to light on scroll-in and back out (items 2+9, cinema-effect polarity). FULL REHAUL LATER (strategy brief coming). ===== */
.serve{background:var(--ink);color:var(--paper);transition:background-color 1.1s cubic-bezier(.4,0,.2,1),color 1.1s cubic-bezier(.4,0,.2,1)}
.serve .eyebrow,.serve h2,.serve h2 .mut,.serve h3,.serve .rows p{transition:color 1.1s cubic-bezier(.4,0,.2,1)}
.serve .eyebrow::before{transition:background-color 1.1s cubic-bezier(.4,0,.2,1)}
.serve .eyebrow{color:var(--sec-d)}.serve .eyebrow::before{background:currentColor;opacity:.4}
.serve h2{font-family:var(--sans);font-weight:200;font-size:clamp(23px,3.2vw,45px);line-height:1.1;letter-spacing:-.022em;color:var(--paper);margin:24px 0 30px}
@media(min-width:1101px){.serve h2{white-space:nowrap}}
.serve h2 .mut{color:var(--mut-d)}
/* h3 = the serif lede component (same as .approach .rest) — one consistent system */
.serve h3{font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.7vw,26px);line-height:1.5;letter-spacing:0;color:#DDE0E4;max-width:52ch;margin-bottom:38px}
.serve .rows{display:grid;gap:22px;max-width:62ch}
.serve .rows p{font-family:var(--sans);font-weight:400;font-size:17.5px;line-height:1.55;color:#C9CDD2}
/* in-view (light) state */
.serve.onlt{background:var(--lt);color:#101113}
.serve.onlt .eyebrow{color:var(--sec-l)}.serve.onlt .eyebrow::before{background:currentColor;opacity:.4}
.serve.onlt h2{color:#101113}.serve.onlt h2 .mut{color:var(--mut-l)}
.serve.onlt h3{color:#101113}
.serve.onlt .rows p{color:#101113}
/* ===== PRINCIPALS — light grey, photo cards ===== */
.prin{background:var(--lt2);color:#101113}
.prin .eyebrow{color:var(--sec-l)}.prin .eyebrow::before{background:currentColor;opacity:.4}
.prin .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:52px}
.prin h2{margin-top:16px;color:#101113}
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair-l);border:1px solid var(--hair-l);box-shadow:0 26px 64px -44px rgba(23,24,27,.35)}
.pcard{background:var(--card);padding:34px 32px 38px;transition:background .5s}
.pcard .ph{width:100%;aspect-ratio:4/4.6;overflow:hidden;background:#E8EAEC;margin-bottom:26px;position:relative}
.pcard .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) contrast(1.02)}
.pcard .ph.monoslot{display:flex;align-items:center;justify-content:center}
.pcard .ph.monoslot span{font-family:var(--sans);font-weight:300;font-size:44px;letter-spacing:.06em;color:#9BA1A8}
.pcard .nm{font-family:var(--sans);font-weight:600;font-size:21px;letter-spacing:-.01em;margin-bottom:8px;color:#101113}
.pcard .rl{font-family:var(--serif);font-weight:400;font-size:15.5px;line-height:1.5;color:#5A5F66}
.pcard:hover{background:#F8F9FA}
/* ===== PRE-FOOTER CTA — reverted: left-aligned, shorter, plain dark ground with a barely-there ambient drift ===== */
.cta{position:relative;overflow:hidden;background:var(--ink);padding:clamp(96px,13vh,160px) 0}
.cta::before{content:"";position:absolute;inset:-45%;background:radial-gradient(55% 75% at 74% 24%,rgba(124,150,200,.14),transparent 62%),radial-gradient(48% 66% at 18% 82%,rgba(124,150,200,.08),transparent 58%);animation:ctadrift 38s ease-in-out infinite alternate;will-change:transform;pointer-events:none}
@keyframes ctadrift{0%{transform:translate3d(-3.5%,-2.5%,0) scale(1)}100%{transform:translate3d(4%,3%,0) scale(1.07)}}
.cta .inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 var(--m);text-align:left}
.cta .big{font-family:var(--sans);font-weight:200;font-size:clamp(32px,4vw,60px);line-height:1.14;letter-spacing:-.024em;margin-bottom:40px;color:#F4F5F7}
.cta .big .dim{color:var(--acc-l);display:block;font-weight:200}
/* ===== FOOTER ===== */
footer{background:#101114;color:#C6CACE;padding:76px 0 40px;font-family:var(--sans)}
footer .logo{color:var(--paper)}
footer .top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding-bottom:52px}
footer .fl{display:flex;flex-direction:column;gap:12px;font-size:14px;color:#AFB3B8}
footer .top .brandcol{max-width:290px}
footer .top .brandcol .logo{margin-bottom:20px}
footer .top .brandcol p{font-size:15.5px;line-height:1.65;color:#A8ADB4}
footer .fl a{transition:color .25s}footer .fl a:hover{color:var(--paper)}
footer .fl .h{font-size:10.5px;letter-spacing:.145em;text-transform:uppercase;color:#9BA1A8;margin-bottom:4px;font-weight:600}
footer .legal{border-top:1px solid #33373D;margin-top:8px;padding-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:34px}
footer .legal p{font-size:12.5px;line-height:1.6;color:#A8ADB4}
footer .legal p+p{margin-top:14px}
footer .base{border-top:1px solid #2A2D31;margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#A8ADB4}
.badge{position:fixed;bottom:15px;right:15px;z-index:210;background:var(--paper);color:var(--ink);font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:8px 12px;border-radius:3px;font-weight:600;opacity:.92}
@media(max-width:1100px){
  .nlinks{display:none}
  h1{font-size:clamp(36px,8.5vw,52px)}
  .approach .eyebrow,.approach h2,.approach .rest,.approach .connect{grid-column:1/13!important}
  .approach .connect{margin-top:30px}
  .idx{grid-template-columns:1fr;gap:40px}.detail{position:static;margin-bottom:8px}
  .pcards{grid-template-columns:1fr}
  footer .top{grid-template-columns:1fr 1fr}footer .legal{grid-template-columns:1fr}footer .top .brandcol{grid-column:1/3}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal-line>span,.fade{transform:none!important;opacity:1!important}.hero .bg video{display:none}.hero .bg .still{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04) brightness(.6)}}

/* ===== inner-page components (fork 2026-07-19) ===== */
.pagehero{position:relative;overflow:hidden;background:#17181A;padding:clamp(150px,22vh,240px) 0 clamp(66px,9vh,104px)}
.pagehero::before{content:"";position:absolute;inset:-25%;z-index:0;background:radial-gradient(58% 55% at 16% 24%,rgba(124,150,200,var(--d1,.16)),transparent 60%),radial-gradient(52% 50% at 86% 64%,rgba(124,150,200,var(--d2,.10)),transparent 62%),radial-gradient(50% 60% at 46% 10%,rgba(38,44,60,.55),transparent 72%);filter:blur(22px);animation:heroDrift 24s ease-in-out infinite alternate}
@keyframes heroDrift{0%{transform:translate3d(-3%,-2%,0) scale(1.06)}100%{transform:translate3d(4%,3%,0) scale(1.13)}}
.pagehero .wrap{position:relative;z-index:2}
.pagehero .eyebrow{margin-bottom:20px}
.pagehero h1{font-family:var(--sans);font-weight:200;font-size:clamp(44px,5.8vw,86px);line-height:1.1;letter-spacing:-.024em;color:var(--paper);max-width:20ch;padding-bottom:.08em}
.pagehero .lead{font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.7vw,26px);line-height:1.5;color:var(--sec-d);max-width:58ch;margin-top:26px}
.pg{padding:clamp(66px,9vh,120px) 0;background:var(--ink);color:var(--sec-d)}
.pg.light{background:var(--lt);color:var(--sec-l)}
/* item 8: grey-blue surface to separate adjacent light sections */
.pg.surf{background:var(--surf)}
.pg .eyebrow{margin-bottom:16px}
.pg h2{font-family:var(--sans);font-weight:200;font-size:clamp(28px,3.4vw,46px);line-height:1.18;letter-spacing:-.018em;color:var(--paper);max-width:24ch;padding-bottom:.04em}
.pg.light h2{color:var(--ink)}
.pg .body{font-family:var(--sans);font-weight:400;font-size:clamp(16px,1.15vw,18px);line-height:1.62;max-width:62ch;margin-top:22px}
.pg .body p+p{margin-top:18px}
.pg .two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,64px);margin-top:26px}
.pg .two .body{margin-top:0}
.facts{list-style:none;padding:0;margin:24px 0 0;font-family:var(--sans);font-weight:300;font-size:clamp(18px,1.5vw,22px);color:var(--paper)}
.facts li{padding:16px 0;border-top:1px solid var(--hair-d)}
.disc{list-style:none;padding:0;margin:30px 0 0}
.disc li{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--hair-d)}
.disc .n{font-family:var(--sans);font-weight:400;font-size:13px;color:var(--acc-l);padding-top:9px}
.disc h3{font-family:var(--sans);font-weight:300;font-size:clamp(20px,2vw,27px);color:var(--paper);letter-spacing:-.01em}
.disc p{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.6;color:var(--sec-d);max-width:58ch;margin-top:8px}
.bio{display:grid;grid-template-columns:200px 1fr;gap:34px;padding:36px 0;border-top:1px solid var(--hair-d);align-items:start}
.bio .ph img{width:200px;height:240px;object-fit:cover;display:block;filter:grayscale(.12) contrast(1.02)}
.bio .monoslot{width:200px;height:240px;display:flex;align-items:center;justify-content:center;background:var(--panel);font-family:var(--sans);font-weight:300;font-size:34px;color:var(--mut-d)}
.bio .nm{font-family:var(--sans);font-weight:400;font-size:22px;color:var(--paper)}
.bio .rl{font-family:var(--sans);font-weight:300;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut-d);margin:6px 0 14px}
.bio .body{margin-top:0}
@media(max-width:820px){.pg .two{grid-template-columns:1fr}.disc li{grid-template-columns:40px 1fr;gap:14px}.bio{grid-template-columns:1fr}.bio .ph img,.bio .monoslot{width:100%;height:auto;aspect-ratio:5/6}}
.pg.light .eyebrow{color:var(--mut-l)}
.pg.light .facts{color:var(--ink)}.pg.light .facts li{border-color:var(--hair-l)}
.pg.light h2,.pg.light .disc h3,.pg.light .bio .nm{color:var(--ink)}
.pg.light .disc li,.pg.light .bio{border-color:var(--hair-l)}
.pg.light .disc p,.pg.light .bio .body,.pg.light .body{color:#101113}
.pg.light .bio .rl,.pg.light .disc .n{color:var(--mut-l)}
/* ===== serif lede (ONE per section) + split + band components (fork 2026-07-19 restyle) ===== */
.pg .lede{font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.45vw,22px);line-height:1.5;color:#DDE0E4;max-width:52ch;margin-top:22px}
.pg.light .lede{color:#101113}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,72px);align-items:center;margin-top:6px}
.split .txt .body,.split .txt .lede{max-width:48ch}
.split .plate{position:relative;min-height:clamp(320px,42vw,470px);overflow:hidden;background:transparent}
.split .plate img{position:absolute;top:0;bottom:0;left:-1px;width:calc(100% + 2px);height:100%;object-fit:cover;object-position:bottom center;display:block;filter:saturate(.8) contrast(1.05)}
.split .plate::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,19,22,.14),transparent 55%);pointer-events:none}
.band{height:clamp(300px,44vw,520px);overflow:hidden;position:relative;background:var(--deep)}
.band img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8) contrast(1.05);transition:transform 7s ease-out}
.band.in img{transform:scale(1.04)}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:30px}.split .plate{min-height:260px;order:2}}
/* ===== MOBILE NAV (hamburger) — added 2026-07-19 responsive pass ===== */
.menub{display:none;width:36px;height:36px;position:relative;background:none;border:0;cursor:pointer;z-index:120;margin-left:auto}
.menub span{position:absolute;left:7px;right:7px;height:2px;background:var(--paper,#F4F6F7);transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .2s}
.menub span:nth-child(1){top:12px}.menub span:nth-child(2){top:18px}.menub span:nth-child(3){top:24px}
nav.open .menub span:nth-child(1){transform:translateY(6px) rotate(45deg)}
nav.open .menub span:nth-child(2){opacity:0}
nav.open .menub span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none;position:fixed;top:80px;left:0;right:0;background:rgba(18,19,22,.98);backdrop-filter:blur(20px) saturate(.7);-webkit-backdrop-filter:blur(20px) saturate(.7);border-bottom:1px solid var(--hair-d,#2A2E33);padding:10px var(--m,20px) 30px;flex-direction:column;max-height:calc(100dvh - 80px);overflow-y:auto;z-index:110}
nav.open .mnav{display:flex}
.mnav a{font-family:var(--sans),system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#C6C9CD;padding:17px 2px;border-bottom:1px solid rgba(255,255,255,.07);position:static}
.mnav a:last-child{border-bottom:0}
.mnav a.on,.mnav a:hover{color:#fff}
.mnav a.on::after{display:none}
.mnav a.btn{margin-top:20px;border:1px solid var(--acc,#7C96C8);background:var(--acc,#7C96C8);color:var(--acc-ink,#16171A);text-align:center;padding:16px 0;border-radius:2px;letter-spacing:.11em}
.mnav a.btn span{color:inherit;position:relative;z-index:2}
@media(max-width:1100px){.menub{display:block}}
@media(prefers-reduced-motion:reduce){.menub span{transition:none}}
/* ===== end mobile nav ===== */
/* item 5: eyebrow accent rule wipes L→R on reveal */
.eyebrow::before{transition:width .7s cubic-bezier(.2,.6,.2,1) .15s}
.fade:not(.in) .eyebrow::before,.eyebrow.fade:not(.in)::before{width:0}
/* item 22: Client Login dropdown */
.login{position:relative;display:inline-block}
.login>summary{list-style:none;cursor:pointer;line-height:1;color:inherit}
.login>summary::-webkit-details-marker{display:none}
.login[open] .menu{display:flex}
.login .menu{display:none;position:absolute;left:50%;transform:translateX(-50%);top:26px;flex-direction:column;background:#F8F9F9;border:1px solid var(--hair-l);box-shadow:0 16px 38px rgba(0,0,0,.22);min-width:200px;z-index:60}
.login .menu a{padding:13px 16px;border-bottom:1px solid var(--hair-l);text-transform:none;font-weight:400;font-size:13px;letter-spacing:.01em;color:#101113;white-space:nowrap}
.login .menu a:last-child{border-bottom:none}
.login .menu a:hover{background:#ECEEEF}

/* hover bridge so the pointer can cross the gap between the summary and the menu */
.login .menu{padding-top:0}
.login::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
footer .login{display:flex}
footer .login .menu{top:auto;bottom:26px;background:#1A1C20;border-color:#101113}
footer .login .menu a{color:#C6CACE;border-color:#101113}
footer .login .menu a:hover{background:#23262B}

/* ===== 2026-07-19 PM global revision pass ===== */
.logo{transition:color .3s}
nav .row>a:hover .logo{color:var(--acc-l)}
.nlinks .btn{font-weight:700}
.pagehero h1{font-size:clamp(34px,3.9vw,62px)}
.login .menu a:hover{background:#E4E8EF;color:#101113}
footer .login .menu a:hover{background:#23262B;color:#F4F6F7}

/* item 84: sans header -> serif paragraph -> sans paragraph -> muted-blue kicker (2026-07-19) */
.indhead{color:#101113;margin-bottom:26px;max-width:22ch}
.indserif{font-family:var(--serif)!important;font-size:clamp(19px,1.5vw,24px)!important;line-height:1.5!important;max-width:56ch}
/* 30% down from the 17px body; darkened inside the accent family so small text still clears AA on light */
.indkicker{font-size:15px!important;letter-spacing:.05em;text-transform:uppercase;font-weight:500!important;color:rgba(92,116,168,.75)!important;margin-top:22px!important}

/* items 85/86: plate bleeds to the section edges — no padding top, right or bottom */
/* the section drops its own vertical padding and hands it to the text column, so the plate
   stretches edge-to-edge top and bottom and bleeds past the wrap on the right */
.pg.bleed{padding:0}
.pg.bleed .split{align-items:stretch;margin:0}
.pg.bleed .split .txt{padding:clamp(66px,9vh,120px) 0}
.pg.bleed .split .plate{min-height:clamp(360px,42vw,560px);margin-right:calc(-1 * (var(--m) + max(0px,(100vw - 1400px)/2)))}
.pg.bleed .split .plate img{will-change:transform}
/* full-bleed plates reveal on opacity only — the shared .fade translate would break the edge seam */
.pg.bleed .split .plate.fade{transform:none}
@media(max-width:1100px){.pg.bleed{padding:clamp(66px,9vh,120px) 0}.pg.bleed .split .txt{padding:0}.pg.bleed .split .plate{margin-right:0;min-height:260px}}
.acrobat-logo,#acrobat-logo,[class*="acrobat"]{display:none!important}

/* ===== CONCEPT TWO deltas — How We Work ===== */
/* 13: section copy indented right, matching the approved layout */
@media(min-width:1101px){.pg > .wrap > .eyebrow,.pg > .wrap > h2,.pg > .wrap > .lede,.pg > .wrap > .body,
  .pg > .wrap > .indhead,.pg > .wrap > .facts{margin-left:12%}}
/* full-width band */
.band{height:clamp(320px,42vw,560px);overflow:hidden;position:relative;background:var(--deep)}
.band img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.85) contrast(1.05);will-change:transform}
.band.fade{transform:none}
.pg.light.surf{background:#EDEFF3}
.pg.light .mut,.pg.light h2 .mut{color:#5A6270}
.pg .lede{max-width:44ch}
.cbody{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.65;color:#101113;max-width:52ch;margin-top:16px}

/* subtle lift on partner photography (2026-07-20) */
.pcard .ph,.bcard img,.bcard .mono,.bgrid .ph2,.bio .ph{box-shadow:0 10px 26px -14px rgba(23,24,27,.30),0 2px 6px -3px rgba(23,24,27,.14)}


/* ============ CONCEPT TWO — approved light palette (2026-07-20)
   Tokens taken verbatim from the approved wireframe build. ============ */
:root{
  --lt:#E9E9E7;        /* paper */
  --card:#FAFAFA;      /* white */
  --surf:#F4F4F2;      /* pod  */
  --lt2:#F4F4F2;
  --hair-l:#D8D8D5;
  --sec-l:#6B6E6F;
  --mut-l:#6B6E6F;
  --ink:#17181A; --ink2:#1C1D21; --deep:#151619; --panel:#1C1D21;
  --hair-d:#2A2C31; --sec-d:#9EA1A2; --mut-d:#9EA1A2; --paper:#F4F4F2;
}
body{background:var(--lt);color:#17181A}
/* body copy sits on the approved ink / secondary pair */
.approach .rest,.approach .connect,.firmlt .flede,.fbody2 p,.pg .lede,.pg .body p,.pg .cbody,
.pcard .pbio,.scard .scopy,.detail .dd,.firmlt.bleed.dk .flede,.firmlt.bleed.dk .serve-add p,.serve2 .roster,.serve2 .rows2 p{color:#17181A}
.pcard .rl,.dname,.svc-item{color:#6B6E6F}
h1,h2,.sh,.stitle,.dt,.nm,.idealh,.indhead,.detail .dt,.scard .stitle,.cta .big{color:#17181A}
.mut,h1 .l2{color:#6B6E6F}
/* surfaces */
.sol,.firmlt.bleed.dk,.pg{background:var(--lt)}
.firmlt,.pg.light{background:var(--card)}
.prin,.cta,.pg.light.surf{background:var(--surf)}
.scard{background:var(--card);border-color:var(--hair-l)}
.pcard{background:var(--card);border-color:var(--hair-l)}
.facts li,.names,.dname,.svc-item{border-color:var(--hair-l)}
.facts{color:#17181A}
/* eyebrows + accents on light */
.eyebrow{color:#6B6E6F}
.eyebrow::before{background:currentColor;opacity:.4}
.detail .dnum,.scard .snum,.dname.on,.dname.on .n{color:var(--acc)}
.dname.on{color:#17181A}
.prog{background:var(--hair-l)}.prog i{background:var(--acc)}
/* buttons on light ground */
.sol .btn,.cta .btn,.pg .btn{border-color:currentColor;color:#17181A}
.sol .btn::before,.cta .btn::before,.pg .btn::before{background:var(--acc)}
.sol .btn:hover,.cta .btn:hover,.pg .btn:hover{color:#17181A}
.cta::before{background:radial-gradient(55% 75% at 26% 24%,rgba(124,150,200,.08),transparent 62%)}
/* --- NAV: transparent over the hero, approved white glass once scrolled --- */
nav{padding:0;transition:background .35s ease,box-shadow .35s ease}
nav.scrolled{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--hair-l);border-bottom:0}
nav.scrolled .nlinks{color:#6B6E6F}
nav.scrolled .nlinks a:not(.btn){color:#6B6E6F}
nav.scrolled .nlinks a:not(.btn):hover,nav.scrolled .nlinks a.on{color:#17181A}
nav.scrolled .nlinks a.on::after{background:var(--acc)}
nav.scrolled .logo{color:#17181A}
nav.scrolled .nlinks .btn.fill{background:var(--acc);border-color:var(--acc);color:#17181A}
nav.scrolled .menub span{background:#17181A}
/* inner-page heroes keep the dark ground; footer stays the approved dark */
footer{background:#101113}

/* ROOT-CAUSE FIX (2026-07-20): heroes are dark-ground on every page; force their heading base
   light so the bright clause never disappears, regardless of the light-inversion body rule. */
.hero h1,.hero h1 .l2,.pagehero h1,.pagehero h1 span{}
.hero h1{color:#F4F4F2!important}
.hero h1 .l2{color:#9EA1A2!important}
.pagehero h1{color:#F4F4F2!important}
.pagehero h1 span{color:#9EA1A2!important}
.pagehero .lead,.pagehero .lede{color:#C9CBCA!important}

/* CONCEPTS switcher (2026-07-20) — lets Kurt jump between the three directions from one control */
.concepts{position:relative;display:inline-block}
.navleft{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
.concepts>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;
  border:1px solid currentColor;border-radius:2px;padding:10px 15px;font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;line-height:1;white-space:nowrap;opacity:.92;transition:opacity .2s}
.concepts>summary:hover{opacity:1}
.concepts>summary::-webkit-details-marker{display:none}
.concepts>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.concepts[open]>summary::after{transform:rotate(-135deg) translateY(1px)}
.concepts .menu{display:none;position:absolute;left:0;top:calc(100% + 10px);flex-direction:column;
  background:#FAFAFA;border:1px solid #D8D8D5;box-shadow:0 16px 38px rgba(0,0,0,.20);min-width:210px;z-index:70}
.concepts[open] .menu{display:flex}
.concepts .menu a{padding:14px 18px;border-bottom:1px solid #E4E4E1;text-transform:none;font-weight:400;
  font-size:14px;letter-spacing:.01em;color:#17181A;white-space:nowrap;transition:background .2s}
.concepts .menu a:last-child{border-bottom:none}
.concepts .menu a:hover{background:#EFEFEC}
.concepts .menu a.on{font-weight:700;border-left:4px solid var(--acc);padding-left:14px;background:rgba(124,150,200,.14);color:var(--acc)}

/* Concepts dropdown button: light on load (over dark hero, matches dark concept), dark once nav.scrolled turns white (2026-07-20 PM) */
.concepts>summary{color:#B9BBB9}
nav.scrolled .concepts>summary{color:#17181A}

/* eyebrow accent lines back to accent blue (2026-07-20) */
.eyebrow::before{background:var(--acc)!important;opacity:1!important}

/* hero body copy weight -100 (2026-07-20) */
.hsub,.pagehero .lead,.pagehero .lede,.pagehero p.tag{font-weight:300!important}

/* editorial section padding to match the approved wireframe (2026-07-20) — homepage hero excluded (it's <header>); full-bleed/pinned sections keep their own padding via higher specificity */
section{padding-top:clamp(120px,16vh,210px);padding-bottom:clamp(120px,16vh,210px)}
.pg{padding-top:clamp(112px,14.5vh,196px);padding-bottom:clamp(112px,14.5vh,196px)}
.cta{padding-top:clamp(120px,16vh,196px);padding-bottom:clamp(120px,16vh,196px)}
.prin{padding-top:clamp(112px,14vh,190px);padding-bottom:clamp(112px,14vh,190px)}


/* pcard hover restore (2026-07-21) */
.pcard:hover{background:#DFE4EE!important}

/* cta dim -> accent (2026-07-21) */
.cta .big .dim{color:#7C96C8!important}

/* footer brand blurb 2-line (2026-07-21) */
footer .top .brandcol p{max-width:30ch!important;font-weight:500!important}
.pagehero::before{content:none}
