
/* One deliberate look: warm neutrals, black and charcoal sections, brand yellow only on dark. */
:root{
  color-scheme:light;
  --paper:#F6F5F2; --surface:#FFFFFF; --stone:#ECEAE5; --ink:#0D0D0E; --ink-2:#45433E; --muted:#76736C;
  --line:#DEDBD4; --line-2:#C9C6BE;
  --char:#111113; --char-2:#19191C; --char-3:#232327; --d-text:#EEEDE8; --d-2:#B8B6B0; --d-muted:#8C8982; --d-line:#2A2A2F;
  --gold:#F0E10D; --blue:#3636FF;
  --display:"Newsreader","Iowan Old Style",Georgia,serif;
  --sans:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wrap:1320px; --gutter:clamp(16px,4vw,56px); --r:2px; --r-2:4px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.dark :focus-visible{outline-color:var(--gold)}
[hidden]{display:none!important}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.label{font:500 11.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dark .label{color:var(--d-muted)}
.h2{font:300 clamp(38px,4.6vw,66px)/1.02 var(--display);letter-spacing:-.032em}
.h2 em{font-style:italic}
.lede{font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--ink-2);max-width:52ch}
.dark .lede{color:var(--d-2)}
section{padding-block:clamp(88px,10vw,150px);position:relative}
.dark{background:var(--char);color:var(--d-text)}
.illus{font:400 12px/1.5 var(--mono);color:var(--muted)}
.dark .illus{color:var(--d-muted)}
.head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.head .lede{justify-self:end}
@media (max-width:900px){.head{grid-template-columns:1fr}.head .lede,.head > div[style]{justify-self:start}}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(32px,5vw,88px);align-items:center}
.copy{display:grid;gap:22px;align-content:start}
@media (max-width:980px){.split{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font:500 15px/1 var(--sans);text-decoration:none;border-radius:var(--r);padding:16px 22px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#2A2A2E}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--stone)}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-line{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--ink)}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr,.tlink:hover .arr{transform:translateX(4px)}
.tlink{font-weight:500;text-decoration:none;display:inline-flex;gap:10px;align-items:center;border:0;border-bottom:1px solid var(--line-2);padding:0 0 3px;background:none;cursor:pointer}
.tlink:hover{border-bottom-color:var(--ink)}
.dark .tlink{border-bottom-color:#4A4A50}.dark .tlink:hover{border-bottom-color:var(--d-text)}

/* Reveal: visible by default; only animates when JS confirms motion is OK */
.motion .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.motion .rv.in{opacity:1;transform:none}
.motion .rv.d1{transition-delay:.08s}.motion .rv.d2{transition-delay:.16s}.motion .rv.d3{transition-delay:.24s}

/* Photo / placeholder */
.photo{position:relative;overflow:hidden;background:#1E1E21;border-radius:var(--r-2);max-width:100%;margin:0}
.photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .6s}
.photo.slot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),linear-gradient(160deg,#2B2B2E,#1C1C1F)}
.photo .cap{position:absolute;left:14px;right:14px;bottom:12px;font:400 11px/1.5 var(--mono);color:#BDBBB5;z-index:2}
.photo .cap b{font-weight:500;color:#fff;letter-spacing:.08em;margin-right:8px}
.photo.noimg > img{display:none}
.photo.noimg::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#2B2B2E,#1C1C1F)}
.interim{position:absolute;right:12px;bottom:12px;z-index:3;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:6px 8px;border-radius:var(--r);backdrop-filter:blur(6px)}

/* ================= Header ================= */
.site-header{position:fixed;left:0;right:0;top:0;z-index:70;padding-top:env(safe-area-inset-top,0px);color:#fff;transition:background .35s,color .35s,border-color .35s;border-bottom:1px solid transparent}
.site-header.solid{background:rgba(246,245,242,.92);color:var(--ink);border-bottom-color:var(--line);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.wordmark{display:inline-flex;color:inherit;text-decoration:none}
.wordmark svg{height:22px;width:auto;display:block}
.nav-links{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:14.5px;text-decoration:none;opacity:.82;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-links .owners{opacity:.55}
.nav-cta{display:flex;align-items:center;gap:12px}
.nav-cta .btn{padding:12px 16px;font-size:14px}
.site-header:not(.solid) .nav-cta .btn{background:#fff;color:var(--ink)}
.site-header.solid .nav-cta .btn{background:var(--ink);color:#fff}
.menu-btn{display:none;width:44px;height:44px;border:1px solid currentColor;border-radius:var(--r);background:none;cursor:pointer;place-items:center;opacity:.8}
.mobile-panel{display:none}
@media (max-width:1060px){
  .nav-links{display:none}.menu-btn{display:grid}
  .mobile-panel.open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:8px var(--gutter) 24px}
  .mobile-panel a{display:block;padding:14px 0;font-size:19px;text-decoration:none;border-bottom:1px solid var(--line)}
}
@media (max-width:560px){.nav-cta .btn{display:none}}

/* ================= 01 Hero ================= */
.hero{padding:0;min-height:clamp(600px,86vh,900px);display:grid;align-items:end;overflow:hidden;background:#0B0B0C;color:#fff}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-media img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;object-position:60% 40%;will-change:transform}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,9,.92) 0%,rgba(8,8,9,.72) 38%,rgba(8,8,9,.15) 72%,rgba(8,8,9,.05) 100%),linear-gradient(0deg,rgba(8,8,9,.55) 0%,transparent 35%)}
.hero .wrap{position:relative;z-index:2;width:100%;padding-block:150px 40px}
.hero h1{font:300 clamp(48px,6.6vw,100px)/.96 var(--display);letter-spacing:-.04em;max-width:13.5ch}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln > span{display:block}
.motion .hero h1 .ln > span{transform:translateY(105%);transition:transform 1.1s var(--ease)}
.motion.loaded .hero h1 .ln > span{transform:none}
.motion.loaded .hero h1 .ln:nth-child(2) > span{transition-delay:.12s}
.motion.loaded .hero h1 .ln:nth-child(3) > span{transition-delay:.24s}
.hero-sub{margin-top:28px;max-width:46ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:rgba(255,255,255,.82)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.motion .hero-fade{opacity:0;transform:translateY(12px);transition:opacity 1s var(--ease) .5s,transform 1s var(--ease) .5s}
.motion.loaded .hero-fade{opacity:1;transform:none}
.hero-strip{display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:clamp(56px,8vw,110px);padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font:400 12.5px/1.4 var(--mono);color:rgba(255,255,255,.62)}
.hero-strip b{color:#fff;font-weight:500}
.hero-strip a{margin-left:auto;color:#fff;text-decoration:none}
@media (max-width:760px){.hero-media::after{background:linear-gradient(0deg,rgba(8,8,9,.95) 0%,rgba(8,8,9,.7) 55%,rgba(8,8,9,.35) 100%)}.hero-strip a{margin-left:0}}

/* ================= 02 Logos ================= */
.logos{padding-block:30px;border-bottom:1px solid var(--line);background:var(--paper);overflow:hidden}
.logos-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center}
.logos-row .label{max-width:22ch;line-height:1.5}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;width:max-content;animation:scroll 48s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.track > div{display:flex;align-items:center;gap:64px;padding-right:64px}
.lg{height:44px;display:grid;place-items:center}
.lg img{max-height:24px;max-width:118px;width:auto;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.72;transition:opacity .2s}
.lg:hover img{opacity:1}
.lg span{font:600 18px/1 var(--sans);letter-spacing:-.03em;color:var(--ink-2);white-space:nowrap}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (max-width:760px){.logos-row{grid-template-columns:1fr;gap:14px}}

/* ================= 03 Space Book ================= */
.sb-sec{background:var(--paper)}
.laptop{position:relative;background:#0F0F11;border-radius:18px 18px 0 0;padding:clamp(8px,1.1vw,14px) clamp(8px,1.1vw,14px) 0;box-shadow:0 60px 120px -60px rgba(0,0,0,.5)}
.laptop-base{height:clamp(10px,1.2vw,16px);background:linear-gradient(#D9D7D2,#B4B2AC);border-radius:0 0 16px 16px;margin:0 -3.5%;position:relative}
.laptop-base::after{content:"";position:absolute;left:42%;right:42%;top:0;height:5px;background:#A5A39D;border-radius:0 0 6px 6px}
.scr{background:#fff;border-radius:6px 6px 0 0;overflow:hidden;color:var(--ink)}
.app-bar{display:flex;align-items:center;gap:18px;padding:10px 16px;border-bottom:1px solid var(--line)}
.app-bar .wordmark svg{height:13px;color:var(--ink)}
.app-bar .tabs{display:flex;gap:18px;margin-left:auto;font-size:12.5px;color:var(--muted)}
.app-bar .tabs span.on{color:var(--ink);box-shadow:0 2px 0 var(--ink)}
.app-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px 20px;padding:14px 16px 10px}
.app-head h4{font:400 20px/1.1 var(--display);letter-spacing:-.01em}
.app-head small{display:block;font:400 11.5px/1.4 var(--mono);color:var(--muted);margin-top:3px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font:500 11px/1 var(--sans);border:1px solid var(--line);border-radius:3px;padding:6px 8px;color:var(--ink-2)}
.app-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.1fr);border-top:1px solid var(--line)}
.app-map{border-right:1px solid var(--line);background:#F2F1EE;position:relative;min-height:320px}
.app-map svg{position:absolute;inset:0;width:100%;height:100%}
.app-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;align-content:start}
.sbc{display:grid;gap:6px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:3px;padding:0 0 10px;cursor:pointer;overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}
.sbc:hover{transform:translateY(-2px)}
.sbc[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 14px 30px -18px rgba(0,0,0,.35)}
.sbc .ph{aspect-ratio:16/10;background:var(--stone);overflow:hidden;position:relative}
.sbc .ph img{width:100%;height:100%;object-fit:cover}
.sbc .n{position:absolute;left:8px;top:8px;width:20px;height:20px;border-radius:50%;background:#fff;font:500 10.5px/20px var(--mono);text-align:center}
.sbc[aria-pressed="true"] .n{background:var(--ink);color:#fff}
.sbc b{font:500 13px/1.25 var(--sans);padding:0 10px}
.sbc .nums{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;padding:0 10px;font:500 11px/1.3 var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums}
.sbc .tags{display:flex;gap:4px;padding:0 10px;flex-wrap:wrap}
.sbc .tags i{font:500 9.5px/1 var(--mono);font-style:normal;letter-spacing:.04em;background:var(--stone);color:var(--ink-2);padding:4px 5px;border-radius:2px}
.sbc .fp{margin:2px 10px 0;height:54px;border:1px solid var(--line);display:grid;place-items:center}
.sbc .fp svg{height:44px;width:auto}
.app-detail{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);border-top:1px solid var(--line);min-height:190px}
.app-detail > div{padding:14px 16px;border-right:1px solid var(--line);display:grid;gap:8px;align-content:start}
.app-detail > div:last-child{border-right:0}
.app-detail h5{margin:0;font:400 20px/1.1 var(--display)}
.app-detail h5 small{display:block;font:400 12px/1.4 var(--sans);color:var(--muted);margin-top:3px}
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.kv div{padding:7px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:1px;min-width:0}
.kv dt{font:500 9.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kv dd{margin:0;font:500 12.5px/1.3 var(--mono);font-variant-numeric:tabular-nums}
.plan svg{width:100%;height:auto;max-height:150px}
.plan svg *{stroke:var(--ink-2)}
.nv{font-size:13.5px;line-height:1.55;color:var(--ink-2);padding-left:12px;border-left:2px solid var(--ink)}
.nv b{display:block;font:500 9.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.fade-swap{animation:fsw .55s var(--ease)}
@keyframes fsw{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sb-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:22px;align-items:center}
.sb-dots{display:flex;gap:8px}
.sb-dots button{width:28px;height:3px;border:0;background:var(--line-2);cursor:pointer;padding:0}
.sb-dots button[aria-current="true"]{background:var(--ink)}
@media (max-width:980px){.app-body{grid-template-columns:1fr}.app-map{min-height:220px;border-right:0;border-bottom:1px solid var(--line)}.app-detail{grid-template-columns:1fr 1fr}.app-detail > div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}}
@media (max-width:620px){.app-cards{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto}.app-detail{grid-template-columns:1fr}.app-detail > div{border-right:0;border-bottom:1px solid var(--line)}.app-bar .tabs{display:none}}

/* ================= 04 Curated ================= */
.curated{overflow:hidden}
.curated .texture{position:absolute;inset:0;opacity:.5;pointer-events:none}
.curated .texture svg{width:100%;height:100%}
.curated .texture::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--char) 0%,rgba(17,17,19,.86) 45%,rgba(17,17,19,.6) 100%)}
.curated .wrap{position:relative}
.cur-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.7fr);gap:clamp(32px,5vw,80px);align-items:center}
.funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.fstage{position:relative;padding:22px 20px 22px 0;display:grid;gap:10px;align-content:start;transition:opacity .6s}
.fstage + .fstage{padding-left:28px}
.fstage + .fstage::before{content:"";position:absolute;left:0;top:44px;width:18px;height:1px;background:var(--d-muted)}
.fstage + .fstage::after{content:"";position:absolute;left:12px;top:40px;border:4px solid transparent;border-left:6px solid var(--d-muted)}
.fstage b{font:300 clamp(48px,5.4vw,84px)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums}
.fstage span{font-size:15px;color:var(--d-2);max-width:16ch}
.fstage i{display:block;height:2px;background:var(--d-line);position:relative;overflow:hidden;font-style:normal}
.fstage i::after{content:"";position:absolute;inset:0;background:var(--d-text);transform:scaleX(var(--w,1));transform-origin:left;transition:transform 1s var(--ease)}
.fstage:last-child b{color:var(--gold)}
.fstage:last-child i::after{background:var(--gold)}
.motion .funnel:not(.go) .fstage{opacity:.25}
@media (max-width:900px){.cur-grid{grid-template-columns:1fr}.funnel{grid-template-columns:1fr 1fr;gap:10px 0}.fstage:nth-child(3){padding-left:0}.fstage:nth-child(3)::before,.fstage:nth-child(3)::after{display:none}}

/* ================= 05 Market map ================= */
.mapbox{position:relative;background:#0B0B0D;border-radius:var(--r-2);overflow:hidden;border:1px solid #1E1E22}
#bigmap svg{display:block;width:100%;height:auto}
.mfilters{position:absolute;left:14px;top:14px;display:grid;gap:5px;z-index:3;width:min(200px,38%)}
.mfilters button{text-align:left;font:500 12px/1 var(--sans);padding:8px 11px;border-radius:var(--r);border:1px solid #33333A;background:rgba(14,14,16,.82);color:#D0CEC8;cursor:pointer;backdrop-filter:blur(6px);display:flex;justify-content:space-between;gap:8px}
.mfilters button[aria-pressed="true"]{background:#EEEDE8;color:#0D0D0E;border-color:#EEEDE8}
.mfilters .sel{font:500 12.5px/1 var(--sans);padding:11px 12px;border-radius:var(--r);background:#EEEDE8;color:#0D0D0E;display:flex;justify-content:space-between}
.mlegend{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid #1E1E22;font:500 11.5px/1.2 var(--mono);color:#B8B6B0;background:#0B0B0D;padding:14px 16px}
.mlegend span{display:flex;align-items:center;gap:9px}
.mlegend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.mcard{position:absolute;z-index:4;width:230px;background:#fff;color:var(--ink);border-radius:var(--r-2);overflow:hidden;box-shadow:0 24px 50px -20px rgba(0,0,0,.7);transition:left .45s var(--ease),top .45s var(--ease),opacity .3s;pointer-events:none}
.mcard .ph{aspect-ratio:16/9;background:var(--stone)}
.mcard .ph img{width:100%;height:100%;object-fit:cover}
.mcard .t{padding:10px 12px;display:grid;gap:3px}
.mcard .tag{font:500 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mcard b{font:400 18px/1.15 var(--display)}
.mcard small{font:500 11.5px/1.4 var(--mono);color:var(--ink-2)}
.mcount{position:absolute;right:16px;top:16px;z-index:3;text-align:right;color:#EEEDE8}
.mcount b{display:block;font:300 44px/1 var(--display);letter-spacing:-.03em}
.mcount span{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8C8982}
.pin{cursor:pointer;transition:opacity .35s}
.pin .halo{transition:r .35s var(--ease),opacity .35s}
@media (max-width:760px){.mfilters{position:static;width:auto;display:flex;flex-wrap:wrap;padding:12px;background:#0B0B0D}.mcard{display:none}.mcount{display:none}}

/* ================= 06 Tour Book ================= */
.tb-stage{position:relative;aspect-ratio:5/4;border-radius:var(--r-2);overflow:hidden;background:#1E1E21}
.tb-stage > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s var(--ease),transform 6s linear}
.tb-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.35))}
.tb-stage .where{position:absolute;left:18px;bottom:16px;z-index:3;color:#fff;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.phone{position:absolute;right:6%;top:50%;transform:translateY(-50%);z-index:4;width:clamp(210px,18.5vw,258px);aspect-ratio:9/19.2;background:#0A0A0B;border-radius:42px;padding:10px;box-shadow:0 60px 100px -40px rgba(0,0,0,.8),0 0 0 1px #2B2B30,inset 0 0 0 2px #1B1B1E}
.pscreen{position:relative;height:100%;border-radius:33px;overflow:hidden;background:#fff;color:#0D0D0E;touch-action:pan-y;user-select:none}
.island{position:absolute;left:50%;top:9px;width:86px;height:24px;margin-left:-43px;background:#0A0A0B;border-radius:14px;z-index:5}
.slides{display:flex;height:100%;transition:transform .5s var(--ease)}
.slide{flex:0 0 100%;height:100%;display:grid;grid-template-rows:auto auto auto 1fr auto;overflow:hidden}
.p-top{display:flex;justify-content:space-between;align-items:center;padding:40px 14px 8px;font:500 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#76736C}
.p-top svg{height:9px;width:auto;color:#0D0D0E}
.p-head{padding:0 14px 8px}
.p-head h4{font:400 19px/1.1 var(--display)}
.p-head .row{display:flex;justify-content:space-between;margin-top:5px;font:500 10.5px/1.3 var(--mono);color:#45433E}
.p-tabs{display:flex;gap:12px;padding:0 14px;border-bottom:1px solid #E4E2DC;font-size:10.5px;color:#76736C}
.p-tabs span{padding:6px 0}
.p-tabs span.on{color:#0D0D0E;box-shadow:inset 0 -2px 0 #0D0D0E}
.p-body{padding:10px 14px;display:grid;gap:8px;align-content:start;overflow:hidden}
.p-img{height:120px;border-radius:3px;overflow:hidden;background:#ECEAE5}
.p-img img{width:100%;height:100%;object-fit:cover}
.p-kv{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #E4E2DC;border-left:1px solid #E4E2DC}
.p-kv div{padding:5px 6px;border-right:1px solid #E4E2DC;border-bottom:1px solid #E4E2DC}
.p-kv dt{font:500 7.5px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#76736C}
.p-kv dd{margin:0;font:500 10.5px/1.3 var(--mono)}
.p-plan{height:58px;border:1px solid #E4E2DC;display:grid;place-items:center}
.p-plan svg{height:50px;width:auto}
.p-plan svg *{stroke:#45433E}
.p-note{font-size:11px;line-height:1.45;color:#45433E;padding-left:8px;border-left:2px solid #0D0D0E}
.p-note b{display:block;font:500 7.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#0D0D0E}
.p-foot{display:grid;grid-template-columns:1fr 1.3fr;gap:6px;padding:10px 12px 18px;border-top:1px solid #E4E2DC}
.p-foot button{font:500 10.5px/1 var(--sans);border:1px solid #C9C6BE;background:#fff;border-radius:3px;padding:9px 4px;cursor:pointer;color:#0D0D0E}
.p-foot button.primary{background:#0D0D0E;color:#fff;border-color:#0D0D0E}
.p-foot button.on{background:#ECEAE5}
.p-foot button.primary.on{background:#2A2A2E}
.tb-ctrl{display:flex;align-items:center;gap:16px;margin-top:22px}
.tb-ctrl button.arrowb{width:44px;height:44px;border:1px solid var(--line-2);background:transparent;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.tb-ctrl button.arrowb:hover{border-color:var(--ink)}
.tb-ctrl .dots{display:flex;gap:6px}
.tb-ctrl .dots i{width:22px;height:2px;background:var(--line-2);display:block}
.tb-ctrl .dots i.on{background:var(--ink)}
.tb-ctrl .count{font:500 12px/1 var(--mono);color:var(--muted);margin-left:auto}
.checks{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:15px;color:var(--ink-2)}
.checks li{display:flex;gap:10px;align-items:baseline}
.checks li::before{content:"";width:10px;height:6px;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(-45deg) translateY(-3px);flex:none}
@media (max-width:980px){.phone{right:4%;width:210px}}
@media (max-width:560px){.tb-stage{aspect-ratio:4/5}.phone{right:50%;transform:translate(50%,-50%);width:228px}.checks{grid-template-columns:1fr}}

/* ================= 07 Feedback ================= */
.fb{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.15fr);gap:clamp(20px,2.4vw,40px);align-items:center}
.fb-panel{background:var(--char-2);border:1px solid var(--d-line);border-radius:var(--r-2);padding:18px;display:grid;gap:14px}
.fb-panel h4{font:400 18px/1.2 var(--display);color:var(--d-text)}
.react{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.react button{border:1px solid #37373D;background:transparent;border-radius:var(--r);padding:12px 4px;font:500 12px/1.2 var(--sans);color:#C9C7C1;cursor:pointer;display:grid;gap:6px;justify-items:center}
.react button i{font:300 20px/1 var(--display);font-style:normal;color:#8C8982}
.react button[aria-pressed="true"]{background:#EEEDE8;color:#0D0D0E;border-color:#EEEDE8}
.react button[aria-pressed="true"] i{color:#0D0D0E}
.reasons{display:grid;gap:4px}
.reasons label{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--r);cursor:pointer;font-size:13.5px;color:#C9C7C1;transition:background .2s}
.reasons label:hover{background:#222226}
.reasons input{appearance:none;width:15px;height:15px;border:1px solid #55555C;border-radius:2px;margin:0;display:grid;place-items:center;flex:none}
.reasons input:checked{background:var(--gold);border-color:var(--gold)}
.reasons input:checked::after{content:"";width:7px;height:4px;border-left:1.5px solid #0D0D0E;border-bottom:1.5px solid #0D0D0E;transform:rotate(-45deg) translateY(-1px)}
.fb-arrow{color:var(--d-muted);font:300 36px/1 var(--display)}
.recs{display:grid;gap:10px}
.recs-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.recs-head b{font:300 26px/1 var(--display);color:var(--d-text)}
.rec{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;background:var(--char-2);border:1px solid var(--d-line);border-radius:var(--r-2);padding:8px;transition:opacity .4s,transform .4s var(--ease)}
.rec .ph{height:66px;border-radius:2px;overflow:hidden;background:#232327}
.rec .ph img{width:100%;height:100%;object-fit:cover}
.rec b{display:block;font:400 17px/1.2 var(--display);color:var(--d-text)}
.rec small{display:block;font:500 11px/1.4 var(--mono);color:var(--d-muted)}
.rec .why{display:block;margin-top:4px;font:500 10.5px/1.3 var(--mono);letter-spacing:.04em;color:var(--gold)}
.recs.swap .rec{opacity:0;transform:translateX(10px)}
@media (max-width:1000px){.fb{grid-template-columns:1fr}.fb-arrow{display:none}}
@media (max-width:700px){.fb{grid-template-columns:1fr}}

/* ================= 08 Broker judgment ================= */
.bj{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.bj-main{display:grid;gap:10px}
.bj-main .photo{aspect-ratio:16/10}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.thumbs button{padding:0;border:0;background:var(--stone);aspect-ratio:4/3;overflow:hidden;cursor:pointer;border-radius:var(--r);opacity:.6;transition:opacity .25s;outline-offset:2px}
.thumbs button[aria-pressed="true"]{opacity:1;outline:1px solid var(--ink)}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.bj-side{display:grid;gap:22px}
.bj-side h3{font:300 clamp(36px,3.6vw,52px)/1 var(--display);letter-spacing:-.03em}
.bj-facts{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 13px/1.4 var(--mono);color:var(--ink-2);padding-bottom:14px;border-bottom:1px solid var(--line)}
.bj-facts span + span::before{content:"·";margin-right:16px;color:var(--line-2)}
.bj-plan{border:1px solid var(--line);background:var(--surface);padding:16px;position:relative}
.bj-plan .label{position:absolute;left:12px;top:10px}
.bj-plan svg{width:100%;height:auto;margin-top:12px}
.bj-plan svg *{stroke:var(--ink-2)}
.bj-view{background:var(--surface);border:1px solid var(--line);padding:22px;display:grid;gap:10px;position:relative}
.bj-view .label{color:var(--ink)}
.bj-view p{font:300 clamp(20px,1.7vw,24px)/1.4 var(--display);color:var(--ink)}
.bj-view .by{font:400 12px/1.4 var(--mono);color:var(--muted)}
@media (max-width:980px){.bj{grid-template-columns:1fr}}

/* ================= 09 Deal economics ================= */
.econ{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(28px,5vw,80px);align-items:start}
.sheet{border:1px solid var(--d-line);border-radius:var(--r-2);overflow:hidden;background:#0C0C0D}
.sheet-top{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--d-line);font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
.erow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--d-line)}
.erow label{font-size:14.5px;color:var(--d-2)}
.erow input[type=range]{width:100%;accent-color:#EEEDE8}
.erow output{font:500 15px/1 var(--mono);color:var(--d-text);text-align:right;min-width:92px;font-variant-numeric:tabular-nums}
.etotal{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 18px;padding:16px 18px;border:1px solid var(--gold);border-radius:var(--r)}
.etotal span{font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.etotal b{font:300 clamp(34px,3.2vw,46px)/1 var(--display);letter-spacing:-.02em;color:var(--gold);font-variant-numeric:tabular-nums}
.ebars{padding:4px 18px 18px;display:grid;gap:8px}
.ebar{display:grid;grid-template-columns:110px 1fr 70px;gap:12px;align-items:center;font:500 11px/1.2 var(--mono);color:var(--d-muted)}
.ebar .trk{height:8px;background:#1C1C1F;position:relative}
.ebar .fill{position:absolute;top:0;bottom:0;background:#4A4A50;transition:left .4s var(--ease),width .4s var(--ease)}
.ebar .fill.cut{background:transparent;border:1px dashed #5A5A60}
.ebar .fill.net{background:var(--gold)}
.ebar span:last-child{text-align:right;color:var(--d-text);font-variant-numeric:tabular-nums}
.eview{padding:18px;border-top:1px solid var(--d-line);display:grid;gap:6px}
.eview b{font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-text)}
.eview p{color:var(--d-2);font-size:15px}
@media (max-width:980px){.econ{grid-template-columns:1fr}}
@media (max-width:560px){.erow{grid-template-columns:1fr auto}.erow input{grid-column:1/-1;grid-row:2}.ebar{grid-template-columns:88px 1fr 60px}}

/* ================= 10 People ================= */
.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(120px,13vw,190px);gap:clamp(8px,1vw,14px);margin-top:clamp(40px,5vw,72px)}
.mosaic .photo:nth-child(1){grid-column:span 7;grid-row:span 3}
.mosaic .photo:nth-child(2){grid-column:span 5;grid-row:span 2}
.mosaic .photo:nth-child(3){grid-column:span 5;grid-row:span 1}
.mosaic .photo:nth-child(4){grid-column:span 4;grid-row:span 2}
.mosaic .photo:nth-child(5){grid-column:span 4;grid-row:span 2}
.mosaic .photo:nth-child(6){grid-column:span 4;grid-row:span 2}
.mosaic .photo:hover > img{transform:scale(1.03)}
.judgment{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink)}
.judgment div{padding:18px 16px 0 0;display:grid;gap:6px}
.judgment div + div{padding-left:16px;border-left:1px solid var(--line)}
.judgment h4{font:400 21px/1.15 var(--display)}
.judgment p{color:var(--muted);font-size:14px}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(14px,1.6vw,24px);margin-top:clamp(56px,7vw,96px)}
.person{display:grid;gap:10px;align-content:start}
.person .photo{aspect-ratio:4/5;background:var(--stone)}
.person .photo img{filter:grayscale(1) contrast(1.05);transition:filter .6s,transform 1.2s var(--ease)}
.person:hover .photo img{filter:none;transform:scale(1.02)}
.person .ttl{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.person h3{font:400 25px/1.1 var(--display);letter-spacing:-.015em}
.person p{color:var(--ink-2);font-size:14.5px;line-height:1.55}
.person .todo{color:var(--muted);font-style:italic}
.person .li{font-size:13.5px;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line-2);justify-self:start}
@media (max-width:980px){.mosaic{grid-template-columns:repeat(6,1fr)}.mosaic .photo:nth-child(n){grid-column:span 3;grid-row:span 2}.mosaic .photo:nth-child(1){grid-column:span 6}.judgment{grid-template-columns:1fr 1fr}.judgment div,.judgment div + div{padding:16px 12px 16px 0;border-left:0;border-bottom:1px solid var(--line)}.team{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ================= 11 Results ================= */
.cases{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(3,minmax(0,1fr))}
.case{display:grid;text-decoration:none;color:inherit;background:var(--char-2);border-radius:var(--r-2);overflow:hidden}
.case .photo{aspect-ratio:4/3;border-radius:0}
.case:hover .photo > img{transform:scale(1.04)}
.case .t{padding:22px;display:grid;gap:8px}
.case .co{font:600 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--d-2)}
.case .m{font:300 clamp(44px,4.4vw,64px)/.95 var(--display);letter-spacing:-.04em;color:var(--d-text)}
.case .sub{font:300 19px/1.35 var(--display);color:var(--d-2)}
.case .facts{display:flex;flex-wrap:wrap;gap:4px 14px;font:500 11.5px/1.4 var(--mono);color:var(--d-muted);padding-top:12px;margin-top:6px;border-top:1px solid var(--d-line)}
@media (max-width:980px){.cases{grid-template-columns:1fr}}

/* ================= 12 Opportunities ================= */
.opp-bar{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:end;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.opp-bar label{display:grid;gap:4px;font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.opp-bar select{font:400 15px/1.3 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-2);padding:4px 22px 4px 0;border-radius:0;cursor:pointer}
.opp-bar .nav2{margin-left:auto;display:flex;gap:10px}
.opp-bar .nav2 button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;cursor:pointer}
.opp-bar .nav2 button:hover{border-color:var(--ink)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,26vw,360px);gap:clamp(14px,1.6vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.rail::-webkit-scrollbar{display:none}
.opp{scroll-snap-align:start;display:grid;gap:12px;text-decoration:none;align-content:start}
.opp .photo{aspect-ratio:4/5;background:var(--stone)}
.opp:hover .photo > img{transform:scale(1.04)}
.opp .cond{position:absolute;left:12px;top:12px;z-index:2;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--ink);padding:7px 9px;border-radius:var(--r)}
.opp .view{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0));color:#fff;font-size:13.5px;line-height:1.5;transform:translateY(100%);transition:transform .5s var(--ease)}
.opp .view b{display:block;font:500 9.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.opp:hover .view,.opp:focus-visible .view{transform:none}
.opp .where{font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.opp h3{font:400 23px/1.1 var(--display);letter-spacing:-.012em}
.ofacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.ofacts div{padding:8px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.ofacts dt{font:500 9.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ofacts dd{margin:0;font:500 13.5px/1.3 var(--mono);font-variant-numeric:tabular-nums}
.build{margin-top:clamp(40px,5vw,64px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding-top:28px;border-top:1px solid var(--ink)}
.build h3{font:300 clamp(26px,2.8vw,38px)/1.1 var(--display);letter-spacing:-.02em;max-width:24ch}
@media (max-width:560px){.opp-bar .nav2{display:none}}

/* ================= 13 Beyond ================= */
.beyond{background:var(--stone)}
.bey{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.bcard{position:relative;display:grid;align-content:end;min-height:clamp(360px,34vw,480px);text-decoration:none;color:#fff;border-radius:var(--r-2);overflow:hidden}
.bcard .photo{position:absolute;inset:0;border-radius:0}
.bcard .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,9,.88) 0%,rgba(8,8,9,.25) 60%,rgba(8,8,9,.1) 100%);z-index:1}
.bcard:hover .photo > img{transform:scale(1.04)}
.bcard .t{position:relative;z-index:2;padding:clamp(20px,2.4vw,32px);display:grid;gap:10px;max-width:46ch}
.bcard h3{font:300 clamp(28px,2.8vw,38px)/1.05 var(--display);letter-spacing:-.02em}
.bcard p{color:rgba(255,255,255,.78);font-size:15px}
.bcard .tlink{justify-self:start;border-bottom-color:rgba(255,255,255,.45);color:#fff}
.bey-foot{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px 32px;font-size:14.5px;color:var(--muted)}
.bey-foot a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}
@media (max-width:760px){.bey{grid-template-columns:1fr}}

/* ================= 14 Insights ================= */
.ins{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,72px)}
.research{width:100%;border-collapse:collapse}
.research caption{text-align:left;padding-bottom:14px}
.research caption h3{font:300 clamp(26px,2.6vw,34px)/1.1 var(--display)}
.research caption p{margin-top:6px;font:400 12.5px/1.5 var(--mono);color:var(--muted)}
.research th{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 0;border-bottom:1px solid var(--ink)}
.research td{padding:15px 12px 15px 0;border-bottom:1px solid var(--line);vertical-align:top}
.research td:first-child{font:400 20px/1.2 var(--display);width:30%}
.research td:nth-child(2){color:var(--ink-2);font-size:15px}
.research td small{display:block;color:var(--muted);font:400 12px/1.5 var(--mono);margin-top:3px}
.research td.rd{font:500 13px/1.4 var(--mono);white-space:nowrap;text-align:right;padding-right:0}
.report{display:grid;gap:18px;align-content:space-between;background:var(--char);color:var(--d-text);padding:clamp(24px,3vw,36px);border-radius:var(--r-2);text-decoration:none;min-height:360px}
.report .label{color:var(--d-muted)}
.report h4{font:300 clamp(30px,3vw,42px)/1.05 var(--display);letter-spacing:-.02em}
.report p{color:var(--d-2)}
.report .stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--d-line)}
.report .stats div{padding-top:12px;display:grid;gap:2px}
.report .stats b{font:300 28px/1 var(--display)}
.report .stats span{font:500 10.5px/1.3 var(--mono);color:var(--d-muted)}
.reads{margin-top:clamp(28px,4vw,44px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.read{display:grid;gap:8px;text-decoration:none;padding-top:16px;border-top:1px solid var(--ink)}
.read h4{font:400 21px/1.2 var(--display)}
.read:hover h4{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.read p{color:var(--muted);font-size:14.5px}
@media (max-width:900px){.ins{grid-template-columns:1fr}.reads{grid-template-columns:1fr}}
@media (max-width:520px){.research td:nth-child(2),.research th:nth-child(2){display:none}}

/* ================= 15 Final CTA ================= */
.final{overflow:hidden;background:#0B0B0C;color:#fff}
.final .bg{position:absolute;inset:0}
.final .bg img{width:100%;height:100%;object-fit:cover;opacity:.34}
.final .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.95) 0%,rgba(11,11,12,.75) 50%,rgba(11,11,12,.55) 100%)}
.final .wrap{position:relative}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.fgrid .h2{font-size:clamp(42px,5.4vw,78px)}
.terms{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.terms li{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.8);font-size:15px}
.terms li b{font:500 11.5px/1.9 var(--mono);color:rgba(255,255,255,.5)}
.contact-line{font:400 13px/1.8 var(--mono);color:rgba(255,255,255,.6)}
.intake{background:rgba(20,20,22,.88);border:1px solid #2E2E33;border-radius:var(--r-2);padding:clamp(22px,3vw,40px);backdrop-filter:blur(10px)}
.intake-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #2E2E33}
.intake-top h3{font:300 28px/1.1 var(--display)}
.stepper{font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--d-muted)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label,.field .lbl{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
.field input,.field select,.field textarea{font:400 16px/1.4 var(--sans);color:#fff;background:transparent;border:0;border-bottom:1px solid #45454B;border-radius:0;padding:8px 0;width:100%}
.field select option{color:#0D0D0E}
.field textarea{min-height:80px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#6A6862}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:#fff}
.hoods{display:flex;flex-wrap:wrap;gap:8px}
.hoods button{border:1px solid #45454B;background:transparent;border-radius:var(--r);padding:8px 11px;font-size:13.5px;cursor:pointer;color:#D0CEC8}
.hoods button[aria-pressed="true"]{background:#fff;color:#0D0D0E;border-color:#fff}
.intake-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:28px}
.plain{background:none;border:0;color:var(--d-muted);font-size:14px;cursor:pointer;padding:0;border-bottom:1px solid #45454B}
.form-msg{margin-top:16px;font:400 12.5px/1.5 var(--mono);color:var(--d-muted)}
.form-done{display:grid;gap:12px}
.form-done h3{font:300 32px/1.1 var(--display)}
.form-done p{color:var(--d-2)}
@media (max-width:900px){.fgrid{grid-template-columns:1fr}}
@media (max-width:520px){.fields{grid-template-columns:1fr}}

footer{background:#080809;color:var(--d-text);padding-block:72px 110px;position:relative;overflow:hidden}
footer .mark-bg{position:absolute;right:-4%;bottom:-18%;width:min(560px,60vw);color:#fff;opacity:.04;pointer-events:none}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px;position:relative}
.foot-grid h4{font:500 10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted);margin-bottom:14px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot-grid a{text-decoration:none;font-size:14.5px;color:var(--d-2)}
.foot-grid a:hover{color:#fff}
.foot-brand{display:grid;gap:18px;align-content:start}
.foot-brand .wordmark svg{height:26px;color:#fff}
.foot-brand p{color:var(--d-muted);font-size:14px;max-width:36ch}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:56px;padding-top:20px;border-top:1px solid var(--d-line);font-size:13px;color:var(--d-muted);position:relative}
.foot-base nav{display:flex;flex-wrap:wrap;gap:20px}
.foot-base a{text-decoration:none}
@media (min-width:861px){footer{padding-bottom:40px}}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:65;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(246,245,242,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);display:none;transform:translateY(110%);transition:transform .3s var(--ease)}
.sticky-cta .btn{width:100%}
.sticky-cta.show{transform:none}
@media (max-width:860px){.sticky-cta{display:block}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* =====================================================================
   SITE EXTENSIONS: components added for inner pages.
   Built only from the homepage tokens above. No new colors, fonts or radii.
   ===================================================================== */

/* Nav dropdowns */
.nav-links > li{position:relative}
.nav-links a.on{opacity:1;box-shadow:0 1px 0 currentColor}
.dd{position:absolute;left:-18px;top:100%;padding-top:14px;display:none;min-width:260px}
.dd-in{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.35);padding:10px}
.dd a{display:grid;gap:2px;padding:10px 12px;border-radius:var(--r);opacity:1!important;box-shadow:none!important}
.dd a:hover{background:var(--paper)}
.dd a b{font:500 14.5px/1.3 var(--sans)}
.dd a small{font-size:12.5px;color:var(--muted);line-height:1.4}
.dd .dd-sep{height:1px;background:var(--line);margin:6px 8px}
.nav-links > li:hover .dd,.nav-links > li:focus-within .dd{display:block}
.mobile-panel h5{margin:18px 0 2px;font:500 10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
body[data-solid] .site-header{background:rgba(246,245,242,.92);color:var(--ink);border-bottom-color:var(--line);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px)}
body[data-solid] .site-header .nav-cta .btn{background:var(--ink);color:#fff}

/* Heroes */
.hero.sub{min-height:clamp(520px,72vh,760px)}
.hero.sub h1{font-size:clamp(44px,5.8vw,88px);max-width:15ch}
.hero .kicker{margin-bottom:22px;color:rgba(255,255,255,.62)}
.lhero{padding-block:clamp(132px,15vw,190px) clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.lhero h1{font:300 clamp(44px,6vw,92px)/.98 var(--display);letter-spacing:-.04em;max-width:16ch;margin-top:18px}
.lhero h1 em{font-style:italic}
.lhero .lede{margin-top:24px}
.lhero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end}
.lhero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.lhero-stats div{padding:14px 12px 0 0;display:grid;gap:2px}
.lhero-stats b{font:300 clamp(30px,3vw,44px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:lining-nums}
.lhero-stats span{font:500 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-hidden]{color:var(--line-2)}
.dark .crumbs,.hero .crumbs{color:rgba(255,255,255,.55)}
.aud{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:12px var(--gutter);background:var(--ink);color:var(--d-2);font-size:13.5px}
.aud a{color:#fff}
@media (max-width:900px){.lhero-grid{grid-template-columns:1fr}}

/* Generic blocks */
.sec-line{border-top:1px solid var(--line)}
.prose{display:grid;gap:18px;max-width:64ch;font-size:17.5px;line-height:1.65;color:var(--ink-2)}
.prose h3{font:400 28px/1.15 var(--display);color:var(--ink);letter-spacing:-.015em;margin-top:18px}
.prose strong{color:var(--ink);font-weight:500}
.dark .prose{color:var(--d-2)}.dark .prose h3{color:var(--d-text)}
.todo{color:var(--muted);font-style:italic}
.caps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.caps > div{padding:22px 20px 26px 0;display:grid;gap:8px;align-content:start;border-bottom:1px solid var(--line)}
.caps > div + div{padding-left:20px;border-left:1px solid var(--line)}
.caps > div:nth-child(4n+1){padding-left:0;border-left:0}
.caps h3{font:400 22px/1.2 var(--display);letter-spacing:-.01em}
.caps p{color:var(--muted);font-size:14.5px}
.dark .caps{border-top-color:var(--d-text)}.dark .caps > div{border-color:var(--d-line)}.dark .caps p{color:var(--d-muted)}
@media (max-width:980px){.caps{grid-template-columns:1fr 1fr}.caps > div:nth-child(n){padding-left:0;border-left:0;padding-right:16px}.caps > div:nth-child(2n){padding-left:16px;border-left:1px solid var(--line)}}
@media (max-width:560px){.caps{grid-template-columns:1fr}.caps > div:nth-child(2n){padding-left:0;border-left:0}}
.twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center}
.twocol .photo{aspect-ratio:4/3}
@media (max-width:900px){.twocol{grid-template-columns:1fr}}
.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.stats-row > div{padding:22px 20px 0 0;display:grid;gap:6px}
.stats-row > div + div{padding-left:20px;border-left:1px solid var(--line)}
.stats-row b{font:300 clamp(46px,5vw,76px)/.95 var(--display);letter-spacing:-.045em;font-variant-numeric:lining-nums}
.stats-row span{color:var(--ink-2);font-size:15px;max-width:26ch}
.stats-row small{font:500 11px/1.4 var(--mono);color:var(--muted);letter-spacing:.04em}
.dark .stats-row{border-top-color:var(--d-text)}.dark .stats-row > div + div{border-left-color:var(--d-line)}.dark .stats-row span{color:var(--d-2)}
@media (max-width:760px){.stats-row{grid-template-columns:1fr}.stats-row > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:14px}}
.cta-band{background:#0B0B0C;color:#fff;overflow:hidden}
.cta-band .bg{position:absolute;inset:0}
.cta-band .bg img{width:100%;height:100%;object-fit:cover;opacity:.3}
.cta-band .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.95),rgba(11,11,12,.6))}
.cta-band .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:28px 60px;align-items:end}
.cta-band .h2{font-size:clamp(40px,5vw,72px)}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:800px){.cta-band .wrap{grid-template-columns:1fr}}
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:400 clamp(20px,1.8vw,25px)/1.25 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 26px/1 var(--sans);color:var(--muted);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;max-width:64ch;color:var(--ink-2)}
.pill-draft{display:inline-block;font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:5px 7px;border-radius:var(--r);vertical-align:middle}

/* Who we represent */
.represent{border-top:1px solid var(--ink)}
.rep{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.1fr);gap:16px 28px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease)}
.rep i{font:500 11.5px/1 var(--mono);font-style:normal;color:var(--muted)}
.rep b{font:300 clamp(24px,2.4vw,34px)/1.1 var(--display);letter-spacing:-.02em;font-weight:300}
.rep span{color:var(--muted);font-size:15px;opacity:.55;transition:opacity .35s,color .35s}
.rep:hover{padding-left:12px}.rep:hover span{opacity:1;color:var(--ink-2)}
@media (max-width:760px){.rep{grid-template-columns:36px 1fr}.rep span{grid-column:2;opacity:1}}

/* Process (scroll-linked) */
.process{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px)}
.psteps{list-style:none;margin:0;padding:0}
.pstep{padding:26px 0 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:52px 1fr;gap:6px 18px;opacity:.38;transition:opacity .45s}
.pstep.on{opacity:1}
.pstep > i{font:500 12px/2 var(--mono);font-style:normal;color:var(--muted);grid-row:span 2}
.pstep h3{font:400 clamp(24px,2.3vw,32px)/1.12 var(--display);letter-spacing:-.018em}
.pstep p{color:var(--ink-2);max-width:48ch}
.pstep .inline-art{display:none;grid-column:1/-1;margin-top:14px}
.pstage{position:sticky;top:110px;align-self:start;min-height:440px}
.part{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.part.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.artifact{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2);overflow:hidden;box-shadow:0 40px 80px -60px rgba(0,0,0,.35)}
.artifact-top{padding:11px 14px;border-bottom:1px solid var(--line);font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:12px}
.a-table{width:100%;border-collapse:collapse;font-size:13.5px}
.a-table th{font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right;padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.a-table th:first-child,.a-table td:first-child{text-align:left}
.a-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.a-table td:first-child{font-family:var(--sans)}
.a-table tr:last-child td{border-bottom:0}
.a-table .hi{background:var(--stone)}
.a-table s{color:var(--muted)}
.fn{display:grid;grid-template-columns:170px 1fr 48px;gap:12px;align-items:center;font-size:13.5px;padding:0 14px}
.fn .t{height:12px;background:var(--paper);position:relative}
.fn .t i{position:absolute;inset:0 auto 0 0;background:var(--ink)}
.fn b{font:500 13px/1 var(--mono);text-align:right}
.tl{list-style:none;margin:0;padding:14px;display:grid}
.tl li{display:grid;grid-template-columns:70px 14px 1fr;gap:12px;font-size:13.5px}
.tl time{font:500 11.5px/1.7 var(--mono);color:var(--muted)}
.tl .dot{position:relative}
.tl .dot::before{content:"";position:absolute;left:4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--ink)}
.tl .dot::after{content:"";position:absolute;left:7px;top:16px;bottom:-4px;width:1px;background:var(--line-2)}
.tl li:last-child .dot::after{display:none}
.tl li > span:last-child{padding-bottom:12px}
.tl small{display:block;color:var(--muted);font-size:12.5px}
.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}
.mini-cards div{border:1px solid var(--line);border-radius:3px;overflow:hidden;font-size:12px}
.mini-cards div .im{aspect-ratio:16/10;background:var(--stone);overflow:hidden}
.mini-cards div .im img{width:100%;height:100%;object-fit:cover}
.mini-cards div b{display:block;padding:7px 8px 2px;font:500 12px/1.3 var(--sans)}
.mini-cards div small{display:block;padding:0 8px 8px;font:500 10.5px/1.3 var(--mono);color:var(--muted)}
.chips2{display:flex;flex-wrap:wrap;gap:6px;padding:14px}
.chips2 span{font-size:13px;border:1px solid var(--line-2);border-radius:var(--r);padding:8px 10px;color:var(--ink-2)}
.chips2 span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sig{padding:18px;display:grid;gap:10px}
.sig b{font:300 30px/1.1 var(--display)}
@media (max-width:980px){.process{grid-template-columns:1fr}.pstage{display:none}.pstep{opacity:1}.pstep .inline-art{display:block}}

/* Properties */
.ptool{position:sticky;top:72px;z-index:20;background:rgba(246,245,242,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ptool .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:end;padding-block:14px}
.ptool label{display:grid;gap:3px;font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ptool select{font:400 14.5px/1.3 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-2);padding:3px 20px 3px 0;border-radius:0;cursor:pointer;max-width:170px}
.ptool .count{margin-left:auto;font:500 12.5px/1.3 var(--mono);color:var(--muted)}
.ptool .reset{background:none;border:0;font:500 12.5px/1 var(--mono);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pwrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,2.4vw,36px);padding-block:clamp(28px,3vw,40px) clamp(80px,9vw,130px)}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,2.6vw,36px) clamp(14px,1.6vw,22px);align-content:start}
.pmap-col{position:sticky;top:150px;align-self:start;height:calc(100vh - 180px);min-height:480px}
.pmap-col .mapbox{height:100%}
#pmap{position:absolute;inset:0}
#pmap svg{width:100%;height:100%;display:block}
.pcard{display:grid;gap:10px;align-content:start;text-decoration:none;position:relative}
.pcard .photo{aspect-ratio:4/3;background:var(--stone);outline:2px solid transparent;outline-offset:3px;transition:outline-color .25s}
.pcard.hot .photo{outline-color:var(--ink)}
.pcard:hover .photo > img{transform:scale(1.035)}
.pcard .cond{position:absolute;left:10px;top:10px;z-index:2;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--ink);padding:6px 8px;border-radius:var(--r)}
.pcard .tagm{position:absolute;right:10px;top:10px;z-index:2;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff;padding:6px 8px;border-radius:var(--r)}
.pcard .tagm.new{background:var(--gold);color:var(--ink)}
.pcard h3{font:400 22px/1.12 var(--display);letter-spacing:-.012em}
.pcard .where{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pcard .ofacts{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcard .row2{display:flex;justify-content:space-between;align-items:center;gap:10px}
.savebtn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:4px 0;font:500 12.5px/1 var(--sans);color:var(--ink-2);cursor:pointer}
.savebtn svg{width:13px;height:13px}
.savebtn svg path{fill:none;stroke:currentColor;stroke-width:9}
.savebtn[aria-pressed="true"] svg path{fill:var(--ink);stroke:var(--ink)}
.savebtn[aria-pressed="true"]{color:var(--ink)}
.pcard .savebtn{position:relative;z-index:3}
.buildcard{display:grid;align-content:end;gap:12px;background:var(--ink);color:#fff;border-radius:var(--r-2);padding:clamp(20px,2.4vw,28px);min-height:320px;text-decoration:none}
.buildcard h3{font:300 clamp(26px,2.4vw,34px)/1.08 var(--display);letter-spacing:-.02em}
.buildcard p{color:var(--d-2);font-size:14.5px}
.pempty{grid-column:1/-1;padding:36px 0;border-top:1px solid var(--line);color:var(--ink-2)}
.maptoggle{display:none}
@media (max-width:1000px){.pwrap{grid-template-columns:1fr}.pmap-col{position:relative;top:0;height:420px;min-height:0;order:-1}.pmap-col.hide{display:none}.maptoggle{display:inline-flex}}
@media (max-width:560px){.pgrid{grid-template-columns:1fr}.ptool select{max-width:130px}.ptool .count{margin-left:0}}

/* Saved search tray */
.tray{position:fixed;left:var(--gutter);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:66;display:none;align-items:center;gap:14px;background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 18px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);font-size:14px}
.tray.show{display:flex;animation:fsw .45s var(--ease)}
.tray b{font-weight:500}
.tray a{background:#fff;color:var(--ink);text-decoration:none;border-radius:999px;padding:9px 14px;font-weight:500;font-size:13.5px}
@media (max-width:860px){.tray{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

/* Property detail */
.pd-top{padding-block:clamp(108px,11vw,140px) 0}
.pd-head{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:18px 40px;align-items:end;margin:18px 0 26px}
.pd-head h1{font:300 clamp(42px,5.4vw,80px)/.98 var(--display);letter-spacing:-.04em}
.pd-head .sub{margin-top:10px;font-size:17px;color:var(--ink-2)}
.pd-actions{display:flex;flex-wrap:wrap;gap:10px}
.gallery{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:clamp(340px,44vw,620px)}
.gallery button{position:relative;padding:0;border:0;border-radius:var(--r-2);overflow:hidden;background:var(--stone);cursor:zoom-in}
.gallery button:first-child{grid-row:span 2}
.gallery button img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gallery button:hover img{transform:scale(1.03)}
.gallery .gplan{background:var(--surface);border:1px solid var(--line);display:grid;place-items:center}
.gallery .gplan svg{width:78%;height:auto}
.gallery .gplan svg *{stroke:var(--ink-2)}
.gallery .glabel{position:absolute;left:10px;bottom:10px;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--ink);padding:6px 8px;border-radius:var(--r)}
.gallery .gslot{background:linear-gradient(160deg,#2B2B2E,#1C1C1F);cursor:default}
.gallery .gslot span{position:absolute;left:12px;bottom:10px;font:400 11px/1.4 var(--mono);color:#BDBBB5}
.pd-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-block:clamp(48px,6vw,80px) clamp(72px,8vw,120px)}
.pd-main{display:grid;gap:clamp(36px,4vw,56px);align-content:start}
.pd-view{border-top:2px solid var(--ink);padding-top:18px;display:grid;gap:12px}
.pd-view p.big{font:300 clamp(24px,2.4vw,34px)/1.3 var(--display);letter-spacing:-.012em}
.pd-view .by{display:flex;align-items:center;gap:12px;font:400 12.5px/1.4 var(--mono);color:var(--muted)}
.pd-block{display:grid;gap:14px}
.pd-block h2{font:400 26px/1.15 var(--display);letter-spacing:-.015em}
.pd-feat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.pd-feat li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.pd-bi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.pd-bi div{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.pd-bi dt{font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pd-bi dd{margin:0;font-size:15px}
.pd-loc{border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;background:#0B0B0D;aspect-ratio:16/8}
.pd-loc svg{width:100%;height:100%;display:block}
.pd-planbtn{width:100%;padding:18px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-2);cursor:zoom-in;display:grid;gap:10px;text-align:left}
.pd-planbtn svg{width:100%;height:auto}
.pd-planbtn svg *{stroke:var(--ink-2)}
.pd-planbtn span{font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
.sheetc{position:sticky;top:100px;align-self:start;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2);overflow:hidden}
.sheetc-top{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sheetc-top b{font:300 34px/1 var(--display);letter-spacing:-.02em}
.sheetc-top span{font:500 11px/1.3 var(--mono);color:var(--muted)}
.sheetc dl{margin:0;display:grid;grid-template-columns:1fr 1fr}
.sheetc dl div{padding:12px 20px;border-bottom:1px solid var(--line);display:grid;gap:2px}
.sheetc dl div:nth-child(odd){border-right:1px solid var(--line)}
.sheetc dt{font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sheetc dd{margin:0;font:500 14px/1.3 var(--mono);font-variant-numeric:tabular-nums}
.sheetc .acts{padding:18px 20px;display:grid;gap:10px}
.sheetc .acts .btn{width:100%}
.sheetc .acts .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sheetc .acts .row .btn{padding:14px 10px;font-size:14px}
.sheetc .broker{padding:16px 20px;border-top:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;font-size:14px;color:var(--ink-2)}
.sheetc .broker i{width:44px;height:44px;border-radius:50%;background:var(--stone);display:grid;place-items:center;overflow:hidden}
.sheetc .broker i svg{width:22px;color:var(--ink)}
.sheetc .broker b{display:block;color:var(--ink);font-weight:500}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:65;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(246,245,242,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);gap:10px;grid-template-columns:1.3fr 1fr}
.mbar .btn{padding:14px 10px}
@media (max-width:980px){.pd-grid{grid-template-columns:1fr}.sheetc{position:static}.pd-head{grid-template-columns:1fr}}
@media (max-width:860px){.mbar{display:grid}body.has-mbar .sticky-cta{display:none!important}}
@media (max-width:640px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}.gallery button{aspect-ratio:4/3}.gallery button:first-child{grid-column:1/-1;grid-row:auto}.pd-feat{grid-template-columns:1fr}}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1200px,94vw);width:100%}
.lightbox::backdrop{background:rgba(8,8,9,.88)}
.lightbox .lb-in{position:relative;background:#111;border-radius:var(--r-2);overflow:hidden}
.lightbox img{width:100%;max-height:82vh;object-fit:contain;display:block;background:#111}
.lightbox .lb-plan{background:#fff;padding:24px}
.lightbox .lb-plan svg{width:100%;height:auto;max-height:78vh}
.lightbox .lb-plan svg *{stroke:#45433E}
.lightbox .lb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;color:#EEEDE8;font:500 12px/1.3 var(--mono)}
.lightbox button{background:none;border:1px solid #444;color:#fff;border-radius:999px;width:38px;height:38px;cursor:pointer}

/* Success stories */
.cfilter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,3vw,36px)}
.cfilter button{border:1px solid var(--line-2);background:transparent;border-radius:var(--r);padding:10px 14px;font-size:14px;cursor:pointer;color:var(--ink-2)}
.cfilter button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.crow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-block:clamp(32px,4vw,48px);border-top:1px solid var(--line);text-decoration:none;align-items:center}
.crow:first-of-type{border-top-color:var(--ink)}
.crow .photo{aspect-ratio:16/10;background:#1E1E21}
.crow:hover .photo > img{transform:scale(1.03)}
.crow .t{display:grid;gap:12px}
.crow .co{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.crow .co b{font:600 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.crow .m{font:300 clamp(56px,6.6vw,104px)/.9 var(--display);letter-spacing:-.05em}
.crow .ml{font:500 11.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.crow h3{font:300 clamp(22px,2vw,28px)/1.2 var(--display);letter-spacing:-.012em}
.crow .dl{display:grid;grid-template-columns:110px 1fr;gap:6px 14px;font-size:14.5px;color:var(--ink-2);padding-top:12px;border-top:1px solid var(--line)}
.crow .dl dt{font:500 10.5px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.crow .dl dd{margin:0}
.crow:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.crow:nth-of-type(even) .photo{order:2}
@media (max-width:900px){.crow,.crow:nth-of-type(even){grid-template-columns:1fr}.crow:nth-of-type(even) .photo{order:0}}
.hidden-by-filter{display:none!important}

/* Case study */
.cs-hero{padding:0;min-height:clamp(560px,80vh,860px);display:grid;align-items:end;overflow:hidden;background:#0B0B0C;color:#fff}
.cs-hero .hero-media::after{background:linear-gradient(0deg,rgba(8,8,9,.94) 0%,rgba(8,8,9,.55) 45%,rgba(8,8,9,.2) 100%)}
.cs-hero .wrap{position:relative;z-index:2;width:100%;padding-block:150px 0}
.cs-hero h1{font:300 clamp(44px,5.8vw,90px)/.98 var(--display);letter-spacing:-.04em;max-width:18ch;margin-top:18px}
.cs-hero .co{font:600 15px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.mstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(48px,6vw,80px);border-top:1px solid rgba(255,255,255,.25)}
.mstrip div{padding:22px 20px 34px 0;display:grid;gap:6px}
.mstrip div + div{padding-left:20px;border-left:1px solid rgba(255,255,255,.14)}
.mstrip b{font:300 clamp(40px,4.4vw,68px)/1 var(--display);letter-spacing:-.04em}
.mstrip span{color:rgba(255,255,255,.7);font-size:15px}
@media (max-width:700px){.mstrip{grid-template-columns:1fr}.mstrip div + div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.14)}}
.story{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:clamp(28px,5vw,96px)}
.story aside{position:sticky;top:110px;align-self:start;display:grid;gap:0;border-top:1px solid var(--ink)}
.story aside div{padding:13px 0;border-bottom:1px solid var(--line);display:grid;gap:3px}
.story aside dt{font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.story aside dd{margin:0;font-size:15px}
.chapters{display:grid;gap:clamp(40px,5vw,64px)}
.chapter{display:grid;gap:14px}
.chapter .label{display:flex;gap:12px}
.chapter h2{font:300 clamp(28px,2.8vw,40px)/1.1 var(--display);letter-spacing:-.022em}
.chapter p{font-size:17.5px;line-height:1.65;color:var(--ink-2);max-width:62ch}
.chapter ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.chapter li{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.qbig{margin:0;padding:clamp(28px,4vw,48px) 0;border-block:1px solid var(--ink)}
.qbig p{font:300 clamp(30px,3.4vw,50px)/1.18 var(--display);letter-spacing:-.022em}
.qbig cite{display:block;margin-top:16px;font:500 12px/1.4 var(--mono);font-style:normal;color:var(--muted);letter-spacing:.04em}
@media (max-width:900px){.story{grid-template-columns:1fr}.story aside{position:static}.chapter ul{grid-template-columns:1fr}}

/* Insights */
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.topics button{border:1px solid var(--line-2);background:transparent;border-radius:var(--r);padding:9px 13px;font-size:14px;cursor:pointer;color:var(--ink-2)}
.topics button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.alist{border-top:1px solid var(--ink)}
.arow{display:grid;grid-template-columns:140px minmax(0,1fr) 120px;gap:12px 28px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .35s var(--ease)}
.arow:hover{padding-left:10px}
.arow .label{align-self:start;padding-top:6px}
.arow h3{font:400 clamp(22px,2.2vw,30px)/1.15 var(--display);letter-spacing:-.015em}
.arow p{color:var(--muted);margin-top:6px;max-width:64ch}
.arow .meta{font:500 11.5px/1.5 var(--mono);color:var(--muted);text-align:right}
@media (max-width:760px){.arow{grid-template-columns:1fr}.arow .meta{text-align:left}}
.chart{display:grid;gap:10px;padding:16px 0}
.chart-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.chart-title b{font:400 20px/1.2 var(--display)}
.chart-title span{font:500 11px/1.3 var(--mono);color:var(--muted)}
.cbar{display:grid;grid-template-columns:150px 1fr 64px;gap:14px;align-items:center;font-size:14.5px;cursor:default}
.cbar .trk{height:14px;background:var(--stone);position:relative}
.cbar .trk i{position:absolute;inset:0 auto 0 0;background:var(--ink-2);transition:background .2s,width 1s var(--ease)}
.cbar.ref .trk i{background:var(--ink)}
.cbar:hover .trk i{background:var(--blue)}
.cbar b{font:500 13.5px/1 var(--mono);text-align:right;font-variant-numeric:tabular-nums}
.chart .note{font:400 12px/1.5 var(--mono);color:var(--muted)}
.motion .chart:not(.in) .trk i{width:0!important}
@media (max-width:520px){.cbar{grid-template-columns:110px 1fr 56px}}
.dumb{display:grid;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.dumb-head{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.dumb-head b{font:500 14px/1.4 var(--mono);white-space:nowrap}
.dtrack{position:relative;height:22px}
.dtrack::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.dtrack .seg{position:absolute;top:50%;height:2px;margin-top:-1px;background:var(--ink-2)}
.dtrack .pt{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;border:2px solid var(--paper);box-sizing:content-box}
.dtrack .pt.a{background:var(--line-2)}.dtrack .pt.b{background:var(--ink)}
.dumb small{font:400 12px/1.4 var(--mono);color:var(--muted)}
.deals{width:100%;border-collapse:collapse}
.deals td{padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.deals td:last-child{text-align:right;font:500 14px/1 var(--mono)}
.deals tr:first-child td{border-top:1px solid var(--ink)}
.nletter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding:clamp(24px,3vw,36px);background:var(--stone);border-radius:var(--r-2)}
.nletter h3{font:300 clamp(24px,2.4vw,32px)/1.15 var(--display)}
@media (max-width:760px){.nletter{grid-template-columns:1fr}}

/* Article */
.art-head{padding-block:clamp(128px,14vw,180px) clamp(36px,4vw,56px)}
.art-head h1{font:300 clamp(42px,5.6vw,84px)/1 var(--display);letter-spacing:-.04em;max-width:18ch;margin:18px 0 22px}
.art-head .dek{font:300 clamp(20px,1.8vw,26px)/1.4 var(--display);color:var(--ink-2);max-width:48ch}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);font:500 12px/1.4 var(--mono);color:var(--muted)}
.art-meta b{color:var(--ink);font-weight:500}
.art-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,64ch) minmax(0,1fr);padding-bottom:clamp(72px,8vw,110px)}
.art-body > *{grid-column:2}
.art-body > .wide{grid-column:1/-1}
.art-body > p,.art-body > ul{font-size:18.5px;line-height:1.7;color:var(--ink-2);margin:0 0 22px}
.art-body > ul{padding-left:20px}
.art-body > ul li{margin-bottom:8px}
.art-body > h2{font:400 clamp(28px,2.6vw,36px)/1.15 var(--display);letter-spacing:-.018em;margin:34px 0 14px}
.art-body strong{color:var(--ink);font-weight:500}
.pull{margin:26px 0 34px;padding:4px 0 4px 22px;border-left:2px solid var(--ink)}
.pull p{font:300 clamp(24px,2.4vw,32px)/1.3 var(--display);letter-spacing:-.012em;color:var(--ink)}
.figure{margin:12px 0 34px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2)}
.figure figcaption{font:400 12px/1.5 var(--mono);color:var(--muted);margin-top:10px}
.art-cta{margin:24px 0 10px;padding:22px;background:var(--ink);color:#fff;border-radius:var(--r-2);display:grid;gap:12px}
.art-cta h3{font:300 26px/1.15 var(--display)}
.art-cta p{color:var(--d-2);font-size:15px}
.art-cta .acts{display:flex;flex-wrap:wrap;gap:10px}

/* About */
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,64px)}
.principle{padding:26px 0 30px;border-top:1px solid var(--ink);display:grid;gap:10px}
.principle h3{font:300 clamp(28px,2.6vw,38px)/1.08 var(--display);letter-spacing:-.022em}
.principle p{color:var(--ink-2);max-width:48ch}
@media (max-width:760px){.principles{grid-template-columns:1fr}}
.fbr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--d-text)}
.fbr a{padding:24px 24px 30px 0;display:grid;gap:10px;text-decoration:none;align-content:start}
.fbr a + a{padding-left:24px;border-left:1px solid var(--d-line)}
.fbr .label{color:var(--gold)}
.fbr h3{font:300 clamp(28px,2.6vw,38px)/1.1 var(--display)}
.fbr p{color:var(--d-2);font-size:15px}
@media (max-width:800px){.fbr{grid-template-columns:1fr}.fbr a + a{padding-left:0;border-left:0;border-top:1px solid var(--d-line)}}

/* Team */
.tfilter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,3vw,40px)}
.tfilter button{border:1px solid var(--line-2);background:transparent;border-radius:var(--r);padding:10px 14px;font-size:14px;cursor:pointer;color:var(--ink-2)}
.tfilter button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(14px,1.6vw,24px)}
.tgrid .person{text-decoration:none}
.tgrid .person .more{font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--line-2);justify-self:start}
@media (max-width:980px){.tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,5vw,96px);padding-block:clamp(120px,13vw,170px) clamp(72px,8vw,120px);align-items:start}
.tm .photo{aspect-ratio:4/5;background:var(--stone);position:sticky;top:100px}
.tm .photo img{filter:grayscale(1) contrast(1.05)}
.tm h1{font:300 clamp(46px,5.6vw,84px)/.98 var(--display);letter-spacing:-.04em;margin:14px 0 8px}
.tm .ttl{font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tm .bio{font:300 clamp(21px,1.9vw,26px)/1.45 var(--display);color:var(--ink);max-width:40ch;margin-top:24px}
.tm .facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:32px}
.tm .facts div{padding:14px 14px 14px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}
.tm .facts dt{font:500 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tm .facts dd{margin:0;color:var(--ink-2)}
.tm .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
@media (max-width:900px){.tm{grid-template-columns:1fr}.tm .photo{position:relative;top:auto;max-width:420px}}

/* Service process */
.steps-h{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--ink)}
.steps-h > div{padding:20px 16px 0 0;display:grid;gap:8px;align-content:start;position:relative}
.steps-h > div::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--ink)}
.steps-h i{font:500 11px/1 var(--mono);font-style:normal;color:var(--muted);margin-top:6px}
.steps-h h3{font:400 20px/1.2 var(--display)}
.steps-h p{font-size:14px;color:var(--muted)}
.dark .steps-h{border-top-color:var(--d-text)}.dark .steps-h > div::before{background:var(--gold)}.dark .steps-h p{color:var(--d-muted)}
@media (max-width:980px){.steps-h{grid-template-columns:1fr 1fr 1fr;gap:26px 0}}
@media (max-width:560px){.steps-h{grid-template-columns:1fr}}
.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.proof a{display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:var(--r-2);text-decoration:none;background:var(--surface);transition:border-color .25s}
.proof a:hover{border-color:var(--ink)}
.proof b{font:300 clamp(40px,4vw,58px)/1 var(--display);letter-spacing:-.04em}
.proof span{color:var(--ink-2);font-size:15px}
.proof small{font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media (max-width:800px){.proof{grid-template-columns:1fr}}
.compare{width:100%;border-collapse:collapse;font-size:15px}
.compare th{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--ink)}
.compare td{padding:14px 16px 14px 0;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.compare td:first-child{color:var(--ink);font-weight:500}
.compare .hi{background:var(--stone)}
.tscroll{overflow-x:auto}

/* Forms (light) */
.intake.light{background:var(--surface);border-color:var(--line-2);backdrop-filter:none;color:var(--ink)}
.intake.light .intake-top{border-bottom-color:var(--line)}
.intake.light .field label,.intake.light .field .lbl,.intake.light .stepper,.intake.light .form-msg{color:var(--muted)}
.intake.light .field input,.intake.light .field select,.intake.light .field textarea{color:var(--ink);border-bottom-color:var(--line-2)}
.intake.light .field input:focus,.intake.light .field select:focus,.intake.light .field textarea:focus{border-bottom-color:var(--ink)}
.intake.light .field input::placeholder,.intake.light .field textarea::placeholder{color:#A9A69F}
.intake.light .hoods button{border-color:var(--line-2);color:var(--ink-2)}
.intake.light .hoods button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.intake.light .plain{color:var(--muted);border-bottom-color:var(--line-2)}
.intake.light .form-done p{color:var(--ink-2)}
.intake.light .btn-light{background:var(--ink);color:#fff}
.saved-list{display:grid;gap:8px;margin-top:6px}
.saved-list div{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:var(--r)}
.saved-list .im{height:44px;background:var(--stone);overflow:hidden;border-radius:2px}
.saved-list .im img{width:100%;height:100%;object-fit:cover}
.saved-list b{font-size:14px;font-weight:500;display:block}
.saved-list small{font:500 11px/1.3 var(--mono);color:var(--muted)}
.saved-list button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px}
.next3{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.next3 li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.next3 i{font:500 12px/1.8 var(--mono);font-style:normal;color:var(--muted)}
.next3 b{display:block;font:400 20px/1.2 var(--display)}
.next3 span{color:var(--ink-2);font-size:15px}
.cform{display:grid;gap:20px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2);padding:clamp(22px,3vw,36px)}
.cform .field label{color:var(--muted)}
.cform .field input,.cform .field select,.cform .field textarea{color:var(--ink);border-bottom-color:var(--line-2)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:560px){.cform .row{grid-template-columns:1fr}}

/* System page */
.sys table{width:100%;border-collapse:collapse;font-size:14.5px}
.sys th{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--ink)}
.sys td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.sys td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}
.sys code{font:500 12.5px/1.4 var(--mono);background:var(--stone);padding:2px 5px;border-radius:2px}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.swatches div{border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;font:500 11.5px/1.4 var(--mono)}
.swatches i{display:block;height:64px}
.swatches span{display:block;padding:8px 10px}
.tree{font:400 14px/1.9 var(--mono);color:var(--ink-2);white-space:pre;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:20px}
.dd.r{left:auto;right:-18px}
.mobile-panel .btn{display:flex;margin-top:22px;color:#fff;border-bottom:0;font-size:16px;padding:16px 22px}
.pgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.pgrid.three{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pgrid.three{grid-template-columns:1fr}}
.psim{padding:12px 0 0;font-size:14.5px;color:var(--ink-2);display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.pmap-col .mcard{opacity:0}
.pmap-legend{position:absolute;left:12px;bottom:12px;z-index:3;display:flex;flex-wrap:wrap;gap:6px 14px;font:500 10.5px/1.3 var(--mono);color:#B8B6B0;background:rgba(10,10,12,.72);padding:8px 10px;border-radius:var(--r)}
.pmap-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.slot-note{font:400 12px/1.5 var(--mono);color:var(--muted)}
.team.static{margin-top:0}
.svc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.svc-cards a{display:grid;gap:10px;align-content:start;padding:24px 22px 26px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);text-decoration:none;min-height:230px;transition:border-color .25s,transform .35s var(--ease)}
.svc-cards a:hover{border-color:var(--ink);transform:translateY(-3px)}
.svc-cards h3{font:300 clamp(24px,2.2vw,30px)/1.1 var(--display);letter-spacing:-.018em}
.svc-cards p{color:var(--ink-2);font-size:15px}
.svc-cards .tlink{align-self:end;justify-self:start;margin-top:auto}
.dark .svc-cards a{background:var(--char-2);border-color:var(--d-line)}.dark .svc-cards a:hover{border-color:var(--d-text)}.dark .svc-cards p{color:var(--d-2)}
@media (max-width:980px){.svc-cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc-cards{grid-template-columns:1fr}}
.start-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,88px);align-items:start;padding-block:clamp(120px,13vw,170px) clamp(72px,8vw,120px)}
.start-grid h1{font:300 clamp(44px,5.4vw,80px)/.98 var(--display);letter-spacing:-.04em;margin:16px 0 20px}
.start-grid .side{display:grid;gap:30px;align-content:start}
.start-grid .intake{position:sticky;top:96px}
.st-box{border:1px solid var(--line);border-radius:var(--r-2);padding:16px;background:var(--surface)}
.st-intent{display:inline-block;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff;padding:7px 9px;border-radius:var(--r)}
@media (max-width:900px){.start-grid{grid-template-columns:1fr}.start-grid .intake{position:static}}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,88px);align-items:start}
.contact-grid dl{margin:0;border-top:1px solid var(--ink)}
.contact-grid dl div{padding:16px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}
.contact-grid dt{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-grid dd{margin:0;font-size:15.5px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.note-bar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--stone);border-radius:var(--r-2);font-size:14.5px}
.gal3{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:clamp(320px,40vw,560px)}
.gal3 .photo:first-child{grid-row:span 2}
@media (max-width:640px){.gal3{grid-template-columns:1fr;grid-template-rows:none;height:auto}.gal3 .photo{aspect-ratio:4/3}.gal3 .photo:first-child{grid-row:auto}}
.sec-tight{padding-block:clamp(56px,6vw,90px)}
@media (max-width:480px){.tb-ctrl{flex-wrap:wrap}}
.sys > div{min-width:0}
.ptool .wrap{gap:10px 16px}
.ptool select{max-width:150px;font-size:14px}
@media (min-width:1300px){.ptool .count{margin-left:auto}}
.btn.savebtn{padding:16px 22px;border:1px solid var(--line-2);font:500 15px/1 var(--sans);color:var(--ink);background:transparent}
.btn.savebtn:hover{border-color:var(--ink)}
.btn.savebtn[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.savebtn[aria-pressed="true"] svg path{fill:#fff;stroke:#fff}
.pd-planbtn svg{max-height:340px}
.pill-draft{background:var(--surface);color:var(--ink-2);border:1px dashed var(--line-2)}
.dark .pill-draft{background:transparent;color:var(--d-2);border-color:#4A4A50}
@media (max-width:760px){.ptool{position:static}}
.foot-owners{opacity:.62}

/* ================= Homepage v6: The Nomad search experience ================= */
.xp{padding-block:clamp(88px,10vw,150px) clamp(64px,7vw,110px)}
.xp-grid{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1.46fr);gap:clamp(32px,5vw,80px)}
.xp-ch{min-height:86vh;display:grid;align-content:center;gap:18px;padding-block:5vh;transition:opacity .5s var(--ease)}
.motion .xp-ch{opacity:.28}.motion .xp-ch.on{opacity:1}
.xp-ch > .label{color:var(--gold)}
.xp-ch h3{font:300 clamp(42px,4.6vw,68px)/.98 var(--display);letter-spacing:-.038em}
.xp-ch h3 em{font-style:italic}
.xp-ch > p{color:var(--d-2);font-size:17px;line-height:1.6;max-width:42ch}
.xp-ch > p.xp-pull{font:300 clamp(21px,1.9vw,27px)/1.3 var(--display);letter-spacing:-.01em;color:var(--d-text);border-left:2px solid var(--gold);padding-left:18px}
.xp-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.xp-tags li{font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-2);border:1px solid var(--d-line);padding:7px 9px;border-radius:var(--r)}
.xp-end{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;padding-block:4vh 0}
.xp-stage{position:sticky;top:92px;align-self:start;height:calc(100vh - 120px);min-height:560px;max-height:820px;display:grid;grid-template-rows:auto 1fr;gap:14px}
.xp-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.xp-rail button{background:none;border:0;padding:0;text-align:left;color:var(--d-muted);font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:grid;gap:9px;transition:color .3s}
.xp-rail button i{display:block;height:2px;background:var(--d-line);position:relative;overflow:hidden}
.xp-rail button i b{position:absolute;inset:0 auto 0 0;width:0;background:var(--gold)}
.xp-rail button.on,.xp-rail button:hover{color:var(--d-text)}
.xp-scenes{position:relative;min-height:0}
.xp-scenes .xs{position:absolute;inset:0;opacity:0;transform:translateY(16px) scale(.985);transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none}
.xp-scenes .xs.on{opacity:1;transform:none;pointer-events:auto}
.xp-inline{display:none}
.xs{display:grid;align-content:center;gap:12px}
.xs-cap{font:400 11.5px/1.5 var(--mono);color:var(--d-muted)}
/* Build */
.xs-laptop{background:#0C0C0E;border:1px solid #2A2A2F;border-radius:12px;padding:9px;box-shadow:0 60px 100px -60px rgba(0,0,0,.95)}
.xs-scr{background:var(--surface);color:var(--ink);border-radius:5px;overflow:hidden}
.xs-bar{display:flex;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.xs-bar svg{height:12px;width:auto;color:var(--ink)}
.xs-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.xs-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#2E9D5B}
.xs-b{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.xs-map{background:#E6E4DF;border-right:1px solid var(--line);aspect-ratio:9/10;overflow:hidden}
.xs-map svg{width:100%;height:100%;display:block}
.xs-map .d{transition:opacity .6s var(--ease)}
.xs-side{padding:18px 18px 16px;display:grid;gap:16px;align-content:start}
.xs-n{display:block;font:300 clamp(56px,5.4vw,84px)/.88 var(--display);letter-spacing:-.05em;font-variant-numeric:lining-nums}
.xs-l{display:block;margin-top:8px;font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.xs-fun{list-style:none;margin:0;padding:0;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.xs-fun li{display:grid;grid-template-columns:40px 1fr 96px;gap:10px;align-items:center;font-size:12.5px;color:#A9A69F;transition:color .4s}
.xs-fun li > span{font:500 12px/1 var(--mono);text-align:right}
.xs-fun li em{font-style:normal}
.xs-fun li i{height:5px;background:var(--stone);position:relative}
.xs-fun li i b{position:absolute;inset:0 auto 0 0;background:var(--line-2);transition:background .4s}
.xs-fun li.on{color:var(--ink)}.xs-fun li.on i b{background:var(--ink)}
.xs-short{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.xs-short.on{opacity:1;transform:none}
.xs-short div{border:1px solid var(--line);border-radius:3px;overflow:hidden}
.xs-short .im{display:block;aspect-ratio:4/3;background:var(--stone)}
.xs-short img{width:100%;height:100%;object-fit:cover}
.xs-short b{display:block;padding:6px 7px 1px;font:500 11.5px/1.25 var(--sans)}
.xs-short small{display:block;padding:0 7px 7px;font:500 9.5px/1.3 var(--mono);color:var(--muted)}
/* Tour */
.xs-tour{position:relative;border-radius:var(--r-2);overflow:hidden;background:#0B0B0C;align-content:stretch;grid-template-rows:1fr}
.xs-tour .bgp{position:absolute;inset:0}
.xs-tour .bgp img{width:100%;height:100%;object-fit:cover;opacity:.55}
.xs-tour .bgp::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.7),rgba(11,11,12,.25))}
.xs-t-in{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,44px);padding:28px 20px 44px}
.xs-cap-in{position:absolute;left:18px;bottom:14px;margin:0}
.xs-phone{width:clamp(226px,19vw,262px);background:#0B0B0C;border-radius:38px;padding:9px;border:1px solid #3A3A40;box-shadow:0 50px 80px -40px rgba(0,0,0,.9)}
.xs-ps{background:var(--surface);color:var(--ink);border-radius:30px;overflow:hidden;padding-bottom:12px}
.xs-ptop{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 10px;font:500 9.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.xs-ptop svg{height:10px;width:auto;color:var(--ink)}
.xs-pimg{display:block;aspect-ratio:4/3;background:var(--stone);margin:0 10px;border-radius:8px;overflow:hidden}
.xs-pimg img{width:100%;height:100%;object-fit:cover}
.xs-phead{padding:10px 14px 2px}
.xs-phead h4{font:400 19px/1.15 var(--display)}
.xs-phead small{font:500 10px/1.4 var(--mono);color:var(--muted)}
.xs-q{padding:10px 14px 6px;font:500 11.5px/1.3 var(--sans)}
.xs-react{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 10px}
.xs-react button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 2px;font:500 9.5px/1.2 var(--sans);cursor:pointer;display:grid;gap:3px;justify-items:center;color:var(--ink-2);transition:background .25s,color .25s,transform .25s}
.xs-react button i{font-style:normal;font-size:13px;line-height:1}
.xs-react button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.xs-why{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px}
.xs-why button{border:1px solid var(--line-2);background:transparent;border-radius:999px;padding:5px 8px;font:500 10px/1 var(--sans);cursor:pointer;color:var(--ink-2);transition:background .25s,color .25s}
.xs-why button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.xs-tap{animation:xstap .5s var(--ease)}
@keyframes xstap{50%{transform:scale(.9)}}
.xs-rec{width:clamp(210px,17vw,250px);background:var(--surface);color:var(--ink);border-radius:var(--r-2);overflow:hidden;box-shadow:0 40px 70px -40px rgba(0,0,0,.9);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.xs-rec .hd{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);font:500 9.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.xs-rec-body{transition:opacity .35s}
.xs-rec-body.swap{opacity:0}
.xs-rec .im{display:block;aspect-ratio:16/10;background:var(--stone)}
.xs-rec .im img{width:100%;height:100%;object-fit:cover}
.xs-rec .t{padding:10px 12px 12px;display:grid;gap:5px}
.xs-rec b{font:400 18px/1.15 var(--display)}
.xs-rec small{font:500 10px/1.4 var(--mono);color:var(--muted)}
.xs-rec .why{justify-self:start;font:500 9.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:#fff;padding:6px 7px;border-radius:var(--r)}
.xs-rec.wait{opacity:.35;transform:translateY(8px)}
/* Deal */
.xs-deal{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:16px;align-items:center}
.xs-deal .xs-cap{grid-column:1/-1}
.xs-card{background:var(--surface);color:var(--ink);border-radius:var(--r-2);overflow:hidden;box-shadow:0 50px 90px -50px rgba(0,0,0,.95)}
.xs-card .top{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:12px;border-bottom:1px solid var(--line);align-items:center}
.xs-card .top .im{display:block;aspect-ratio:4/3;background:var(--stone);border-radius:2px;overflow:hidden}
.xs-card .top img{width:100%;height:100%;object-fit:cover}
.xs-card .top b{display:block;font:400 20px/1.1 var(--display)}
.xs-card .top small{font:500 10px/1.4 var(--mono);color:var(--muted)}
.xs-rows{padding:4px 16px 8px}
.xs-row{display:grid;grid-template-columns:128px 1fr 64px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;opacity:.12;transition:opacity .5s var(--ease)}
.xs-row:last-child{border-bottom:0}
.xs-row.on{opacity:1}
.xs-row output{font:500 12.5px/1 var(--mono);text-align:right;font-variant-numeric:tabular-nums}
.xs-row .trk{height:12px;background:var(--paper);position:relative}
.xs-row .trk i{position:absolute;top:0;bottom:0;background:var(--ink-2);transition:width .8s var(--ease),left .8s var(--ease)}
.xs-row.cut .trk i{background:repeating-linear-gradient(45deg,var(--line-2) 0 3px,transparent 3px 6px);box-shadow:inset 0 0 0 1px var(--line-2)}
.xs-row.net .trk i{background:var(--ink)}
.xs-tot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;background:var(--ink);color:#fff;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:opacity .5s}
.xs-tot b{font:300 clamp(34px,3.4vw,48px)/1 var(--display);letter-spacing:-.03em;color:var(--gold);text-transform:none}
.xs-tot small{font-size:.45em;color:var(--d-2)}
.xs-view{background:var(--char-2);border:1px solid var(--d-line);border-radius:var(--r-2);padding:22px;display:grid;gap:14px;opacity:0;transform:translateX(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.xs-view.on{opacity:1;transform:none}
.xs-view .label{color:var(--gold)}
.xs-view .v{font:300 clamp(19px,1.6vw,23px)/1.35 var(--display);color:var(--d-text)}
.xs-view .q{font-size:13.5px;color:var(--d-2);border-top:1px solid var(--d-line);padding-top:14px}
@media (max-width:980px){
  .xp-grid{grid-template-columns:1fr}.xp-stage{display:none}
  .xp-ch,.motion .xp-ch{min-height:0;opacity:1;padding-block:32px 36px;border-top:1px solid var(--d-line)}
  .xp-inline{display:block;margin-top:10px}
  .xs-deal{grid-template-columns:1fr}
}
@media (max-width:640px){
  .xs-b{grid-template-columns:1fr}.xs-map{aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--line)}
  .xs-t-in{flex-direction:column;gap:16px;padding:24px 14px 46px}
  .xs-rec{width:100%;max-width:300px}.xs-rec-body{display:grid;grid-template-columns:96px 1fr}.xs-rec .im{aspect-ratio:auto;height:100%}
  .xs-row{grid-template-columns:104px 1fr 58px}
}
/* Homepage v6: other blocks */
.pgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.pgrid.four{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pgrid.four{grid-template-columns:1fr}}
.after-band{padding-block:clamp(56px,6vw,88px);background:var(--stone)}
.after-band .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:end}
.after-band .h2{font-size:clamp(34px,3.6vw,52px)}
.after-band .al{display:grid;gap:8px;padding-top:18px;border-top:1px solid var(--ink);text-decoration:none}
.after-band .al h3{font:400 22px/1.2 var(--display);letter-spacing:-.01em}
.after-band .al p:not(.label){color:var(--ink-2);font-size:14.5px}
.after-band .al .tlink{justify-self:start;margin-top:6px}
@media (max-width:900px){.after-band .wrap{grid-template-columns:1fr}}
.research-line{border-top:1px solid var(--line);background:var(--paper)}
.research-line .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;padding-block:20px}
.research-line a{font:400 20px/1.3 var(--display);text-decoration:none;border-bottom:1px solid var(--line-2)}
.research-line a:hover{border-bottom-color:var(--ink)}
.research-line .rl-stats{margin-left:auto;font:500 11.5px/1.4 var(--mono);color:var(--muted)}
.final-simple{padding-block:clamp(110px,13vw,190px)}
.final-simple .copy{max-width:900px;gap:28px}
.final-simple .h2{font-size:clamp(46px,6vw,92px)}
.fs-note{font:400 12.5px/1.5 var(--mono);color:rgba(255,255,255,.62)}
.foot-grid.v2{grid-template-columns:2fr 1fr 1fr}
.foot-sub{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--d-muted)}
.foot-sub a{text-decoration:none}.foot-sub a:hover{color:var(--d-text)}
.xs-view{opacity:.14}
.xp-end{padding-block:2vh 0}
.xp{padding-bottom:clamp(48px,5vw,80px)}
.pgrid.four .row2{flex-wrap:wrap;gap:6px 10px}
.savebtn{white-space:nowrap}
@media (max-width:640px){.xs-cap-in{position:static;padding:0 14px 14px}.xs-t-in{padding-bottom:18px}}

/* ================= Success Stories v2 ================= */
.ss-hero{padding-block:clamp(120px,13vw,170px) clamp(56px,6vw,90px)}
.ss-hero h1{font:300 clamp(44px,5.6vw,86px)/.98 var(--display);letter-spacing:-.04em;max-width:15ch}
.ss-hero h1 em{font-style:italic}
.ss-feat{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:12px;min-height:clamp(560px,52vw,760px)}
.ss-side{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}
.fcard{position:relative;display:block;overflow:hidden;border-radius:var(--r-2);text-decoration:none;color:#fff;background:#141416;min-height:180px}
.fcard .photo{position:absolute;inset:0;border-radius:0}
.fcard .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,9,.92) 0%,rgba(8,8,9,.55) 45%,rgba(8,8,9,.12) 100%);z-index:1}
.fcard .photo .cap{top:14px;bottom:auto}
.fcard:hover .photo > img{transform:scale(1.035)}
.fcard .t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(16px,2vw,24px);display:grid;gap:8px}
.fcard .label{color:rgba(255,255,255,.62)}
.fcard h3{font:300 clamp(20px,1.7vw,25px)/1.18 var(--display);letter-spacing:-.012em;max-width:26ch}
.fcard.big h3{font-size:clamp(32px,3.4vw,52px);line-height:1.02;letter-spacing:-.03em;max-width:14ch}
.fcard .tlink{justify-self:start;border-bottom-color:rgba(255,255,255,.35);font-size:14px}
.fcard.big .t{padding:clamp(22px,3vw,40px);gap:12px}
.clogo{display:inline-flex;align-items:center;height:22px}
.clogo img{height:100%;width:auto;max-width:130px;object-fit:contain}
.clogo b{font:600 14px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.clogo.on-dark img{filter:brightness(0) invert(1)}
.fcard.big .clogo{height:28px}
@media (max-width:900px){.ss-feat{grid-template-columns:1fr;min-height:0}.fcard.big{min-height:420px}.ss-side{grid-template-rows:none}.ss-side .fcard{min-height:260px}}
.logo-field-sec{border-block:1px solid var(--line)}
.lf-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.logo-field{--k:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.logo-field .lf{position:relative;display:grid;place-items:center;height:clamp(84px,8vw,112px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px;min-width:0}
/* v34: each logo is sized from its inked area (set per cell as --w/--h) so the wall reads at one visual weight */
.logo-field img{width:calc(var(--w,120px) * var(--k));height:calc(var(--h,28px) * var(--k));max-width:100%;object-fit:contain;filter:grayscale(1) brightness(.2);opacity:.8;transition:opacity .3s}
.logo-field .lf:hover img{opacity:1}
.logo-field .lf-txt b{font:600 calc(17px * var(--k))/1.15 var(--sans);letter-spacing:-.005em;color:var(--ink);opacity:.8;text-align:center;text-wrap:balance}
.logo-field .lf-flag{position:absolute;left:6px;right:6px;bottom:4px;font-size:10px;line-height:1.2;text-align:center}
@media (max-width:1000px){.logo-field{--k:.9;grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.logo-field{--k:.72;grid-template-columns:repeat(3,minmax(0,1fr))}.logo-field .lf{padding:10px;height:76px}}
@media (max-width:360px){.logo-field{--k:.66}}
.orows{border-top:1px solid var(--d-text)}
.orow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.4fr) auto;gap:10px 32px;align-items:baseline;padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--d-line);text-decoration:none;transition:padding .35s var(--ease)}
.orow:hover{padding-left:10px}
.orow .om{font:300 clamp(56px,6.4vw,104px)/.9 var(--display);letter-spacing:-.05em;grid-row:span 2}
.orow .ol{font:500 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
.orow .oc{font:600 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;grid-column:2;grid-row:2;color:var(--d-text)}
.orow .ow{grid-column:3;grid-row:1/span 2;align-self:center;font:300 clamp(20px,1.7vw,24px)/1.35 var(--display);color:var(--d-2)}
.orow .tlink{grid-column:4;grid-row:1/span 2;align-self:center;white-space:nowrap}
@media (max-width:860px){.orow{grid-template-columns:1fr}.orow .om,.orow .oc,.orow .ow,.orow .tlink{grid-column:auto;grid-row:auto}.orow .tlink{justify-self:start}}
.lib-bar{position:sticky;top:72px;z-index:20;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;padding:14px 0;margin-bottom:clamp(24px,3vw,36px);background:rgba(246,245,242,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.slib{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(14px,1.6vw,22px)}
@media (max-width:980px){.slib{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.slib{grid-template-columns:1fr}}
.scard{display:grid;gap:12px;align-content:start;text-decoration:none}
.scard .photo{aspect-ratio:4/3}
.scard:hover .photo > img{transform:scale(1.035)}
.scard .t{display:grid;gap:10px}
.scard h3{font:300 clamp(22px,1.9vw,27px)/1.18 var(--display);letter-spacing:-.014em}
.scard .tlink{justify-self:start;font-size:14px}
.csx-head{padding-block:clamp(120px,13vw,170px) clamp(32px,4vw,52px)}
.csx-co{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:30px}
.csx-co .clogo{height:26px}
.csx-head h1{font:300 clamp(44px,5.8vw,90px)/.98 var(--display);letter-spacing:-.04em;max-width:17ch;margin:18px 0 clamp(36px,4vw,56px)}
.csx-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.csx-metrics div{padding:20px 20px 0 0;display:grid;gap:6px}
.csx-metrics div + div{padding-left:20px;border-left:1px solid var(--line)}
.csx-metrics b{font:300 clamp(36px,3.8vw,58px)/1 var(--display);letter-spacing:-.04em}
.csx-metrics span{color:var(--ink-2);font-size:15px}
@media (max-width:760px){.csx-metrics{grid-template-columns:1fr 1fr}.csx-metrics div:nth-child(3){padding-left:0;border-left:0}.csx-metrics div{padding-bottom:18px}}
.csx-photo{aspect-ratio:21/9;margin-top:clamp(12px,2vw,24px)}
@media (max-width:760px){.csx-photo{aspect-ratio:4/3}}
.chapter ul{margin-top:6px}
/* Homepage v7: human-advisory moment inside the search experience */
.xp-human{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center;margin-top:clamp(56px,7vw,100px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--d-line)}
.xp-human .photo{aspect-ratio:4/3}
.xp-human h3{font:300 clamp(34px,3.6vw,54px)/1.02 var(--display);letter-spacing:-.032em}
.xp-human h3 em{font-style:italic}
.xp-human p{color:var(--d-2);font-size:17px;line-height:1.6;max-width:46ch}
.xp-human .xp-small{font:500 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
@media (max-width:900px){.xp-human{grid-template-columns:1fr}}
.opp-more{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline;justify-content:space-between;margin-top:clamp(36px,4vw,56px);padding-top:22px;border-top:1px solid var(--line)}
.opp-more p{font:300 clamp(22px,2vw,28px)/1.25 var(--display);letter-spacing:-.012em}
.opp-more em{font-style:italic}

/* ================= v8: launch polish ================= */
.xp-ch{min-height:70vh}
.photo.mono{background:var(--stone);display:grid;place-items:center}
.photo.mono span{font:300 clamp(40px,4vw,60px)/1 var(--display);letter-spacing:-.03em;color:var(--line-2)}
.tsecs{display:grid;gap:clamp(48px,6vw,80px)}
.tsec-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--ink);padding-top:16px;margin-bottom:clamp(20px,2.4vw,32px)}
.tsec-h h2{font:300 clamp(28px,2.6vw,38px)/1.1 var(--display);letter-spacing:-.02em}
.gallery.one{grid-template-columns:1fr;grid-template-rows:1fr}
.gallery.one button:first-child{grid-row:auto}
.pd-view{background:var(--char);color:var(--d-text);border-top:0;border-radius:var(--r-2);padding:clamp(22px,3vw,36px)}
.pd-view .label{color:var(--gold)}
.pd-view p.big{color:var(--d-text)}
.pd-view .by{color:var(--d-muted)}
.pd-view .by svg{color:var(--d-text)}
.pd-view .todo{color:var(--d-muted)}
.xsell{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:22px;border-top:1px solid var(--line)}
.ss-feat.n3 .ss-side{grid-template-rows:repeat(2,minmax(0,1fr))}
.ss-feat.n2 .ss-side{grid-template-rows:1fr}
.ss-feat.n1{grid-template-columns:1fr}
.proof .nolink{display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface)}
/* v9: real listing media */
.gallery .gplan.real{background:#fff;padding:0}
.gallery .gplan.real img{object-fit:contain;padding:14px;background:#fff}
.gallery .gmore{position:absolute;inset:auto 10px 10px auto;font:500 11px/1 var(--mono);letter-spacing:.06em;background:rgba(13,13,14,.78);color:#fff;padding:7px 9px;border-radius:var(--r)}
.gallery.two{grid-template-rows:1fr}
.gallery.two button:first-child{grid-row:auto}
.pd-planbtn img{width:100%;height:auto;max-height:520px;object-fit:contain;background:#fff}
.bshots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bshots button{padding:0;border:0;border-radius:var(--r-2);overflow:hidden;aspect-ratio:4/3;background:var(--stone);cursor:zoom-in}
.bshots img{width:100%;height:100%;object-fit:cover}

/* Success Stories v3: covers, service chips, filter counts */
.cname{font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.fcard .cname{color:#fff}
.stags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.stags i{font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--r);padding:5px 7px}
.cfilter .fc{font:500 11px/1 var(--mono);color:var(--muted);margin-left:4px}
.cfilter button[aria-pressed="true"] .fc{color:rgba(255,255,255,.6)}
@media (max-width:700px){.lib-bar .cfilter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%}.lib-bar .cfilter::-webkit-scrollbar{display:none}.lib-bar .cfilter button{flex:none}.lib-bar .illus{display:none}}

/* ---------------- Success story template v3 ---------------- */
.cst-hero{padding-block:clamp(118px,12vw,160px) clamp(28px,3.4vw,44px)}
.cs-id{margin-top:clamp(28px,3vw,40px)}
.cs-id .clogo{height:clamp(26px,2.4vw,34px)}.cs-id .clogo img{max-width:180px}.cs-id .clogo b{font-size:17px}
.cs-svc{margin:18px 0 0;font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.cs-attr{margin:6px 0 0;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cst-hero h1{font:300 clamp(46px,6.4vw,104px)/.96 var(--display);letter-spacing:-.045em;max-width:15ch;margin:clamp(22px,2.4vw,32px) 0 0;text-wrap:balance}
.cs-dek{margin:clamp(20px,2vw,28px) 0 0;max-width:52ch;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--ink-2)}
.cs-photo{aspect-ratio:3/2;max-height:88vh;width:100%;border-radius:var(--r-2)}
@media (min-width:1100px){.cs-photo{aspect-ratio:16/9}}
.cs-metrics-sec{padding-block:clamp(36px,4vw,56px) 0}
.cs-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.cs-metrics.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-metrics.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs-metrics > div{padding:clamp(22px,2.4vw,32px) clamp(14px,2vw,28px) clamp(22px,2.4vw,32px) 0;display:grid;gap:10px;align-content:start}
.cs-metrics > div + div{padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--line)}
.cs-metrics b{font:300 clamp(40px,4.8vw,76px)/.95 var(--display);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.cs-metrics > div > span{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:760px){.cs-metrics,.cs-metrics.n3{grid-template-columns:1fr 1fr}.cs-metrics > div:nth-child(odd){padding-left:0;border-left:0}.cs-metrics > div:nth-child(n+3){border-top:1px solid var(--line)}}
.cs-snap-sec{padding-block:clamp(40px,4.4vw,64px)}
.cs-snap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:14px}
.cs-snap > div{display:grid;gap:4px;padding-right:20px}
.cs-snap > div + div{padding-left:20px;border-left:1px solid var(--line)}
.cs-snap b{font:400 clamp(18px,1.5vw,21px)/1.25 var(--sans);letter-spacing:-.01em}
.cs-snap span{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media (max-width:760px){.cs-snap{grid-template-columns:1fr 1fr;gap:18px 0}.cs-snap > div:nth-child(odd){padding-left:0;border-left:0}}
.cs-2col{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:start}
@media (max-width:900px){.cs-2col{grid-template-columns:1fr}}
.cs-p{margin-top:18px;font-size:17.5px;line-height:1.65;color:var(--ink-2);max-width:58ch}
.cs-chal{background:var(--stone)}
.cs-chal .h2{max-width:14ch}
.cs-reqs{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--ink)}
.cs-reqs li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line-2);font:300 clamp(20px,1.7vw,25px)/1.25 var(--display);letter-spacing:-.01em}
.cs-reqs li span{font:500 11px/2.2 var(--mono);color:var(--muted);letter-spacing:.06em}
.cs-solve-head{margin-bottom:clamp(28px,3vw,44px)}
.cs-chain{list-style:none;margin:0 0 clamp(28px,3vw,40px);padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cs-chain li{display:grid;gap:3px;padding:12px 16px;border:1px solid var(--line-2);border-radius:var(--r);position:relative;min-width:140px}
.cs-chain li + li{margin-left:26px}
.cs-chain li + li::before{content:"\2192";position:absolute;left:-24px;top:50%;transform:translateY(-50%);color:var(--muted)}
.cs-chain b{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.cs-chain span{font:300 17px/1.2 var(--display);color:var(--ink-2)}
.cs-mods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.cs-mods.n1{grid-template-columns:minmax(0,1fr)}.cs-mods.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs-mods .cs-mod{padding:clamp(22px,2.4vw,32px) clamp(18px,2.4vw,32px) 0 0}
.cs-mods .cs-mod + .cs-mod{padding-left:clamp(18px,2.4vw,32px);border-left:1px solid var(--line)}
.cs-mods.n1 .cs-mod p:last-child{max-width:64ch}
@media (max-width:900px){.cs-mods,.cs-mods.n2{grid-template-columns:1fr}.cs-mods .cs-mod + .cs-mod{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:22px}}
.cs-mod{display:grid;gap:10px;align-content:start}
.cs-mod h3{font:300 clamp(24px,2.1vw,32px)/1.12 var(--display);letter-spacing:-.02em;max-width:22ch}
.cs-mod p:last-child{font-size:16.5px;line-height:1.62;color:var(--ink-2)}
.cs-after .cs-mod + .cs-mod{margin-top:26px}
/* Two transactions, one timeline */
.cs-dual{margin-top:clamp(48px,6vw,88px);padding:clamp(28px,3.4vw,48px);background:var(--char);color:var(--d-text);border-radius:var(--r-2)}
.cs-dual-h{font:300 clamp(30px,3.2vw,48px)/1.05 var(--display);letter-spacing:-.03em;margin-bottom:clamp(28px,3vw,44px)}
.dual{display:grid;grid-template-columns:minmax(0,1fr) clamp(150px,16vw,220px);grid-template-rows:auto auto;column-gap:clamp(24px,3vw,48px);row-gap:clamp(26px,3vw,40px)}
.dual .dl{grid-column:1;display:grid;gap:14px}
.dual .dl .label{color:var(--gold)}
.dual ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.dual ol::before{content:"";position:absolute;left:5px;right:-24px;top:5px;height:1px;background:var(--d-line)}
.dual .in ol::before,.cs-dual.in .dual ol::before{background:linear-gradient(90deg,var(--d-2),var(--d-2)) 0 0/100% 100% no-repeat,var(--d-line)}
.dual li{position:relative;padding-top:24px;padding-right:10px;font-size:14.5px;line-height:1.3;color:var(--d-2)}
.dual li::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--char);border:1px solid var(--d-2)}
.dual li:last-child{color:var(--d-text)}
.dual li:last-child::before{background:var(--d-text);border-color:var(--d-text)}
.dual .dm{grid-column:2;grid-row:1/3;align-self:stretch;display:grid;align-content:center;gap:8px;padding-left:clamp(20px,2.4vw,32px);border-left:1px solid var(--d-2);position:relative}
.dual .dm::before,.dual .dm::after{content:"";position:absolute;left:-1px;width:14px;height:1px;background:var(--d-2)}
.dual .dm::before{top:0}.dual .dm::after{bottom:0}
.dual .dm b{font:300 clamp(40px,4.4vw,64px)/.95 var(--display);letter-spacing:-.04em;color:var(--gold)}
.dual .dm span{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-2)}
@media (max-width:760px){.dual{grid-template-columns:1fr}.dual .dm{grid-column:1;grid-row:auto;border-left:0;border-top:1px solid var(--d-2);padding:22px 0 0}.dual .dm::before,.dual .dm::after{display:none}
  .dual ol{grid-template-columns:1fr;gap:14px}.dual ol::before{left:5px;right:auto;top:5px;bottom:5px;width:1px;height:auto}.dual li{padding:0 0 0 26px}}
/* Decision */
.cs-why-list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--ink)}
.cs-why-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink-2)}
.cs-why-img{aspect-ratio:4/5;border-radius:var(--r-2)}
.cs-view{background:var(--char);color:var(--d-text);border-radius:var(--r-2);padding:clamp(26px,3vw,40px);display:grid;gap:14px;align-self:start}
.cs-view .label{color:var(--gold)}
.cs-view .v{font:300 clamp(22px,2vw,28px)/1.35 var(--display);letter-spacing:-.01em}
.cs-view .illus{color:var(--d-muted)}
/* Result */
.cs-result .label{color:var(--d-muted)}
.cs-rbig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(20px,2vw,28px);border-top:1px solid var(--d-text)}
.cs-rbig > div{display:grid;gap:10px;padding-top:clamp(20px,2.4vw,32px)}
.cs-rbig b{font:300 clamp(88px,13vw,210px)/.85 var(--display);letter-spacing:-.06em;color:var(--d-text)}
.cs-rbig > div > span{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-2)}
@media (max-width:640px){.cs-rbig{grid-template-columns:1fr}.cs-rbig b{font-size:clamp(72px,22vw,120px)}}
.cs-rcopy{margin-top:clamp(28px,3vw,44px);max-width:36ch;font:300 clamp(24px,2.3vw,34px)/1.3 var(--display);color:var(--d-2);text-wrap:balance}
.cs-quote{margin:clamp(40px,5vw,72px) 0 0;padding-top:clamp(26px,3vw,40px);border-top:1px solid var(--d-line)}
.cs-quote blockquote{margin:0}.cs-quote p{font:300 clamp(28px,3vw,46px)/1.2 var(--display);letter-spacing:-.02em;max-width:30ch}
.cs-quote cite{display:block;margin-top:16px;font:500 12px/1.4 var(--mono);font-style:normal;color:var(--d-muted);letter-spacing:.04em}
.cs-after{padding-block:clamp(64px,7vw,110px)}
/* Gallery */
.cs-galsec{padding-block:clamp(56px,6vw,96px) 0}
.cs-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cs-gal .photo{aspect-ratio:3/2;border-radius:var(--r-2)}
.cs-gal.n3 .photo:first-child{grid-column:1/-1;aspect-ratio:16/9}
@media (max-width:640px){.cs-gal{grid-template-columns:1fr}}
/* Related card: one key outcome */
.rcard .rk{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:12px}
.rcard .rk b{font:300 clamp(34px,3vw,46px)/1 var(--display);letter-spacing:-.04em}
.rcard .rk > span{font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}

.cs-metrics b.lg{font-size:clamp(30px,3.2vw,50px);line-height:1.02}.cs-rbig b.lg{font-size:clamp(56px,7.4vw,124px);line-height:.95}
@media (max-width:640px){.cs-chain{flex-direction:column;gap:0}.cs-chain li{min-width:0}.cs-chain li + li{margin:22px 0 0}.cs-chain li + li::before{content:"\2193";left:16px;top:-20px;transform:none}}

/* ================= Nomad editorial system (Market Insights articles) ================= */
body[data-article]{--ed-text:#2B2A27;--ed-col:720px;--ed-rail:220px}
.ed-frame{max-width:calc(var(--ed-col) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.ed-frame.has-rail{max-width:calc(var(--ed-col) + var(--ed-rail) + 72px + var(--gutter) * 2);display:grid;grid-template-columns:minmax(0,var(--ed-col)) var(--ed-rail);column-gap:72px}
.ed-wide{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.ed-col{min-width:0}
.ed-k{font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
/* Header: light and editorial */
.ed-head{padding:clamp(124px,12vw,168px) 0 clamp(36px,4vw,52px)}
.ed-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.ed-kicker .crumbs{font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ed-kicker .crumbs a{color:var(--ink)}
.ed-type{font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink-2)}
.ed-head h1{font:300 clamp(44px,6vw,88px)/.98 var(--display);letter-spacing:-.04em;margin:clamp(22px,2.4vw,32px) 0 0;text-wrap:balance;color:var(--ink)}
.ed-dek{margin:clamp(18px,2vw,26px) 0 0;font:300 clamp(21px,1.9vw,27px)/1.38 var(--display);letter-spacing:-.005em;color:var(--ink-2);text-wrap:pretty}
.ed-by{margin:clamp(24px,2.6vw,34px) 0 0;display:grid;gap:4px;font-size:14.5px}
.ed-by b{font-weight:500;color:var(--ink)}.ed-by b a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2)}
.ed-by span{color:var(--muted)}
/* Optional hero visual between rules */
.ed-hero .ed-herobox{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding-block:clamp(24px,3vw,40px)}
.ed-hero .ed-frame.has-rail .ed-herobox{grid-column:1/-1}
.ed-hero figure{margin:0}
/* What you should know */
.ed-know{padding-block:clamp(36px,4vw,56px) 0}
.ed-know ul{list-style:none;margin:14px 0 0;padding:0;counter-reset:k}
.ed-know li{counter-increment:k;display:grid;grid-template-columns:40px 1fr;padding:14px 0;border-top:1px solid var(--line);font:400 clamp(17.5px,1.4vw,19.5px)/1.5 var(--sans);color:var(--ink)}
.ed-know li:last-child{border-bottom:1px solid var(--line)}
.ed-know li::before{content:counter(k,decimal-leading-zero);font:500 11px/2.1 var(--mono);color:var(--muted)}
/* Body: ~720px reading column */
.ed-main{padding-block:clamp(44px,5vw,72px) clamp(40px,4vw,56px)}
.ed-body{color:var(--ed-text)}
.ed-body > p{font-size:clamp(18px,1.25vw,19.5px);line-height:1.72;margin:0 0 1.15em}
.ed-body > p:first-child{font-size:clamp(19.5px,1.45vw,22px);line-height:1.6;color:var(--ink)}
.ed-body strong{font-weight:500;color:var(--ink)}
.ed-body a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}.ed-body a:hover{border-bottom-color:var(--ink)}
.ed-body h2{font:400 clamp(28px,2.5vw,38px)/1.12 var(--display);letter-spacing:-.02em;color:var(--ink);margin:clamp(52px,6vw,76px) 0 18px;scroll-margin-top:110px;text-wrap:balance}
.ed-body h3{font:600 18px/1.3 var(--sans);color:var(--ink);margin:36px 0 10px}
.ed-body > ul,.ed-body > ol{margin:0 0 1.4em;padding-left:1.2em;font-size:clamp(18px,1.25vw,19.5px);line-height:1.65}
.ed-body > ul li,.ed-body > ol li{margin-bottom:.55em;padding-left:.2em}
.ed-body > ul li::marker{color:var(--muted)}
/* Nomad View */
.ed-view{margin:clamp(36px,4vw,52px) 0;padding:22px 0 24px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.ed-view .ed-k{display:flex;align-items:center;gap:9px;color:var(--ink)}
.ed-view .ed-k::before{content:"";width:8px;height:8px;background:var(--gold);box-shadow:0 0 0 1px rgba(13,13,14,.25)}
.ed-view p:last-child{margin:12px 0 0;font:300 clamp(21px,1.8vw,25px)/1.42 var(--display);color:var(--ink);letter-spacing:-.005em}
/* Callout */
.ed-callout{margin:32px 0;padding:2px 0 2px 20px;border-left:2px solid var(--line-2)}
.ed-callout p:last-child{margin:8px 0 0;font-size:17px;line-height:1.6}
/* Pull quote and key stat */
.ed-pull{margin:clamp(48px,6vw,72px) 0;padding:0}
.ed-pull p{font:300 clamp(30px,3.2vw,44px)/1.16 var(--display);letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.ed-pull p::before{content:"\201C";margin-left:-.45em;color:var(--muted)}
.ed-pull cite{display:block;margin-top:14px;font:500 11px/1.4 var(--mono);font-style:normal;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.ed-stat{margin:clamp(40px,5vw,60px) 0;padding-top:18px;border-top:1px solid var(--ink);display:grid;gap:8px}
.ed-stat b{font:300 clamp(64px,8vw,112px)/.9 var(--display);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.ed-stat span{font:500 11.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.ed-stat small{font-size:14.5px;color:var(--muted)}
/* Figures, charts, tables */
.ed-fig{margin:clamp(36px,4vw,52px) 0}
.ed-fig figcaption,.ed-note{margin:12px 0 0;font:400 12px/1.55 var(--mono);color:var(--muted)}
.ed-chart{display:grid;gap:12px}
.ed-chart-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.ed-chart-h b{font:500 15px/1.3 var(--sans);color:var(--ink)}.ed-chart-h span{font:400 12px/1.5 var(--mono);color:var(--muted)}
.ed-bar{display:grid;grid-template-columns:minmax(120px,190px) 1fr 68px;gap:14px;align-items:center;font-size:14.5px;color:var(--ink-2)}
.ed-bar .t{height:12px;background:var(--stone);position:relative}
.ed-bar .t i{position:absolute;inset:0 auto 0 0;background:#9A978F}
.ed-bar.em .t i{background:var(--ink)}.ed-bar.em .n{color:var(--ink)}
.ed-bar b{font:500 13.5px/1 var(--mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
@media (max-width:520px){.ed-bar{grid-template-columns:1fr 60px;row-gap:6px}.ed-bar .n{grid-column:1/-1}}
.ed-table{margin:clamp(32px,4vw,48px) 0}
.ed-table table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.ed-table caption{text-align:left;font:400 clamp(19px,1.5vw,22px)/1.3 var(--display);color:var(--ink);padding-bottom:12px;caption-side:top}
.ed-table thead th{font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--ink)}
.ed-table tbody th,.ed-table td{padding:13px 14px 13px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--ed-text)}
.ed-table tbody th{font-weight:500;color:var(--ink)}
.ed-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ed-table .hi{background:rgba(236,234,229,.7);padding-left:12px}
.ed-table thead .hi{color:var(--ink)}
/* Guide steps */
.ed-steps{list-style:none;margin:28px 0 36px;padding:0;counter-reset:s;border-top:1px solid var(--ink)}
.ed-steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;column-gap:8px;row-gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}
.ed-steps li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:500 11px/2 var(--mono);color:var(--muted)}
.ed-steps b{font:500 17px/1.35 var(--sans);color:var(--ink)}.ed-steps span{font-size:16.5px;line-height:1.55;color:var(--ed-text)}
/* Market report key numbers */
.ed-keynums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:clamp(28px,3vw,40px)}
.ed-keynums div{display:grid;gap:8px;padding-right:20px}
.ed-keynums div + div{padding-left:20px;border-left:1px solid var(--line)}
.ed-keynums b{font:300 clamp(46px,5.4vw,80px)/.92 var(--display);letter-spacing:-.045em;color:var(--ink);font-variant-numeric:tabular-nums}
.ed-keynums span{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:640px){.ed-keynums{grid-template-columns:1fr;gap:18px}.ed-keynums div + div{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:16px}}
.ed-fullreport{margin-top:clamp(44px,5vw,64px);padding-top:18px;border-top:1px solid var(--ink);display:grid;gap:10px;justify-items:start}
.ed-fullreport p:not(.ed-k){font-size:17px;color:var(--ed-text);margin:0}
/* Contents rail (guides and reports, desktop only) */
.ed-toc{position:sticky;top:112px;align-self:start;padding-top:6px}
.ed-toc ol{list-style:none;margin:12px 0 0;padding:0;border-left:1px solid var(--line)}
.ed-toc li a{display:block;padding:7px 0 7px 14px;margin-left:-1px;border-left:1px solid transparent;font-size:14px;line-height:1.35;color:var(--ink-2);text-decoration:none}
.ed-toc li a:hover{color:var(--ink);border-left-color:var(--ink)}
@media (max-width:1060px){.ed-frame.has-rail{display:block;max-width:calc(var(--ed-col) + var(--gutter) * 2)}.ed-toc{display:none}}
/* The bottom line */
.ed-bottom{padding-block:0 clamp(56px,6vw,88px)}
.ed-bottom .ed-col{border-top:1px solid var(--ink);padding-top:22px}
.ed-bottom .ed-col > p:not(.ed-k){margin:14px 0 0;font:300 clamp(22px,1.9vw,27px)/1.42 var(--display);color:var(--ink);letter-spacing:-.005em}
/* Related reading */
.ed-related{padding-block:clamp(56px,6vw,88px);border-top:1px solid var(--line)}
.ed-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:18px}
.ed-rel.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ed-rcard{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:1px solid var(--ink);text-decoration:none;color:var(--ink)}
.ed-rcard h3{font:300 clamp(24px,2.1vw,31px)/1.14 var(--display);letter-spacing:-.02em;text-wrap:balance}
.ed-rcard p:not(.ed-k){font-size:15.5px;line-height:1.55;color:var(--ink-2);margin:0}
.ed-rcard .ed-rmeta{font:400 12px/1.4 var(--mono);color:var(--muted)}
.ed-rcard:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media (max-width:760px){.ed-rel,.ed-rel.n2{grid-template-columns:1fr}}
/* One restrained CTA */
.ed-cta{padding-block:clamp(56px,6vw,88px);border-top:1px solid var(--line)}
.ed-cta .ed-wide{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 40px}
.ed-cta h2{font:300 clamp(34px,3.6vw,54px)/1.02 var(--display);letter-spacing:-.035em}
.ed-cta p{margin:10px 0 0;font-size:17px;color:var(--ink-2)}
.ed-body > ol.ed-steps{padding-left:0;font-size:inherit}.ed-body > ol.ed-steps li{padding-left:0;margin-bottom:0}
@media (max-width:640px){.ed-body > p{font-size:18px}.ed-body > p:first-child{font-size:19px}.ed-head h1{font-size:clamp(40px,11vw,56px)}}
@media (max-width:760px){.ed-pull p::before{margin-left:0;margin-right:.08em}}

[data-more]:not(.all) .arow.more{display:none}
.topics.cfilter{margin-bottom:24px}
.ed-sources{font-size:15.5px}.ed-sources p,.ed-sources li{font-size:15.5px!important;line-height:1.55;color:var(--ink-2)}
.ed-body img{max-width:100%;height:auto;display:block}
.ed-body > h3{font:600 18px/1.35 var(--sans);color:var(--ink);margin:34px 0 8px}
/* Editorial v2: section rhythm, cost stack, checklist, FAQ, photo */
.ed-body h2{border-top:1px solid var(--line);padding-top:clamp(28px,3vw,40px)}
.ed-body > h2:first-child{border-top:0;padding-top:0;margin-top:0}
.ed-stack{margin:0;display:grid;gap:0}
.ed-stack-h{font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ed-stack ol{list-style:none;margin:0;padding:0}
.ed-stack li{display:grid;grid-template-columns:26px 14px minmax(0,.9fr) minmax(0,1.4fr);gap:14px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.ed-stack .op{font:300 22px/1 var(--display);color:var(--muted);text-align:center}
.ed-stack .sw{width:14px;height:14px;align-self:center;background:#CFCCC4}
.ed-stack .sw.s1{background:#B9B6AE}.ed-stack .sw.s2{background:#A29F97}.ed-stack .sw.s3{background:#8B8880}.ed-stack .sw.s4{background:#74716A}.ed-stack .sw.s5{background:#5E5B55}
.ed-stack .sw.tot{background:var(--ink)}
.ed-stack b{font:500 15px/1.35 var(--sans);letter-spacing:.01em;color:var(--ink)}
.ed-stack .d{font-size:15px;line-height:1.5;color:var(--ink-2)}
.ed-stack li.tot{border-top:2px solid var(--ink);border-bottom:0;margin-top:-1px;padding-top:18px}
.ed-stack li.tot .op{color:var(--ink)}
.ed-stack li.tot b{font:400 clamp(22px,2vw,28px)/1.1 var(--display);letter-spacing:-.015em}
@media (max-width:560px){.ed-stack li{grid-template-columns:22px 12px 1fr;row-gap:4px}.ed-stack .d{grid-column:3}}
.ed-check{margin:clamp(36px,4vw,52px) 0}
.ed-check ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--ink)}
.ed-check li{display:flex;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:16.5px;color:var(--ink)}
.ed-check li::before{content:"";flex:none;width:7px;height:7px;background:var(--ink);transform:translateY(-2px)}
@media (max-width:560px){.ed-check ul{grid-template-columns:1fr}}
.ed-faq{padding-block:0 clamp(56px,6vw,88px)}
.ed-faq .ed-col{border-top:1px solid var(--ink);padding-top:22px}
.ed-faq details{border-bottom:1px solid var(--line)}
.ed-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font:400 clamp(19px,1.6vw,22px)/1.3 var(--display);color:var(--ink)}
.ed-faq summary::-webkit-details-marker{display:none}
.ed-faq summary::after{content:"+";font:300 22px/1 var(--sans);color:var(--muted);flex:none}
.ed-faq details[open] summary::after{content:"\2212"}
.ed-faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.ed-faq .a{padding:0 0 20px;font-size:17px;line-height:1.65;color:var(--ed-text);max-width:62ch}
.ed-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.ed-hero .ed-photo{margin:0}
.ed-stack .sw,.ed-stack .op{align-self:start}.ed-stack .sw{margin-top:3px}
.ed-keynums.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ed-keynums.n4{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
.ed-keynums.n4 div:nth-child(3){padding-left:0;border-left:0}
.ed-keynums.n4 div:nth-child(n+3){border-top:1px solid var(--line);padding-top:18px}
.ed-keynums.n5,.ed-keynums.n6{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}
.ed-keynums.n5 div:nth-child(4),.ed-keynums.n6 div:nth-child(4){padding-left:0;border-left:0}
.ed-keynums.n5 div:nth-child(n+4),.ed-keynums.n6 div:nth-child(n+4){border-top:1px solid var(--line);padding-top:18px}
@media (max-width:640px){.ed-keynums.n2,.ed-keynums.n4,.ed-keynums.n5,.ed-keynums.n6{grid-template-columns:1fr}.ed-keynums div{padding-left:0!important;border-left:0!important}.ed-keynums div + div{border-top:1px solid var(--line);padding-top:16px}}
.ed-by .ttl{color:var(--ink-2)}

/* Market Insights index: curated front, archive below */
.ix-feat{padding-block:clamp(40px,4vw,64px) clamp(48px,5vw,72px)}
.ix-feat-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);margin-top:16px;border-top:1px solid var(--ink);padding-top:clamp(22px,2.4vw,32px)}
.ix-lead,.ix-card{display:grid;gap:12px;align-content:start;text-decoration:none;color:var(--ink)}
.ix-lead h2{font:300 clamp(36px,4.4vw,64px)/1 var(--display);letter-spacing:-.035em;text-wrap:balance;max-width:16ch}
.ix-lead > p:not(.ed-k){font:300 clamp(19px,1.6vw,23px)/1.4 var(--display);color:var(--ink-2);max-width:40ch}
.ix-lead .tlink{justify-self:start;margin-top:6px}
.ix-side{display:grid}
.ix-card{padding:0 0 22px}.ix-card + .ix-card{border-top:1px solid var(--line);padding-top:22px}
.ix-card h3{font:300 clamp(23px,2vw,29px)/1.14 var(--display);letter-spacing:-.018em;text-wrap:balance}
.ix-card > p:not(.ed-k){font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.ix-meta{font:400 12px/1.4 var(--mono);color:var(--muted)}
.ix-lead:hover h2,.ix-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media (max-width:900px){.ix-feat-grid{grid-template-columns:1fr}}
.ix-report,.ix-two,.ix-archive{padding-block:clamp(56px,6vw,88px);border-top:1px solid var(--line)}
.ix-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px)}
@media (max-width:860px){.ix-two-grid{grid-template-columns:1fr}}
.ix-h{font:300 clamp(28px,2.6vw,38px)/1.08 var(--display);letter-spacing:-.025em;margin:12px 0 16px}
.ix-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.ix-list li a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:16.5px;line-height:1.35}
.ix-list li a:hover span:first-child{text-decoration:underline;text-underline-offset:4px}
.ix-list .ix-meta{flex:none;text-align:right}

/* ===== Market Insights index v20: tonal rhythm (paper → white → charcoal → paper → stone → dark) ===== */
[data-ix] .lhero{border-bottom:0}
.ix-hstats{display:grid;gap:16px}
.ix-src{justify-self:start;font:500 11.5px/1.4 var(--mono);letter-spacing:.04em;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:3px;transition:border-color .2s,color .2s}
.ix-src:hover{color:var(--ink);border-bottom-color:var(--ink)}
.ix-src .arr,.ix-feat .tlink .arr,.ix-useful .arr{display:inline-block;transition:transform .25s var(--ease)}
.ix-src:hover .arr,.ix-lead:hover .tlink .arr,.ix-useful a:hover .arr{transform:translateX(4px)}

/* Featured: white, lead story carries its own article visual */
.ix-feat{background:var(--surface)}
.ix-lead,.ix-card{border-radius:var(--r-2);transition:background-color .25s var(--ease)}
.ix-lead:hover,.ix-card:hover{background:var(--paper)}
.ix-lead:hover h2,.ix-card:hover h3{text-decoration:none}
.ix-lead{margin:-16px;padding:16px}
.ix-card{margin-inline:-16px;padding-inline:16px}
.ix-lead-t{display:grid;gap:12px;align-content:start}
.ix-lead-t .tlink{justify-self:start;margin-top:6px}
.ix-lead-d{font:300 clamp(19px,1.6vw,23px)/1.4 var(--display);color:var(--ink-2);max-width:40ch}
.ix-feat-grid.has-vis{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}
.ix-feat-grid.has-vis .ix-lead{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.ix-feat-grid.has-vis .ix-lead h2{font-size:clamp(34px,3.6vw,56px)}
.ix-vis{margin:0;background:var(--paper);border-radius:var(--r-2);padding:clamp(18px,2vw,26px);display:grid;gap:8px;transition:background-color .25s var(--ease)}
.ix-lead:hover .ix-vis{background:var(--stone)}
.ix-vis-h{font:400 17px/1.3 var(--display);color:var(--ink);margin:0 0 6px}
.ix-vis ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.ix-vis li{display:grid;grid-template-columns:16px 12px minmax(0,1fr);gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-2)}
.ix-vis .op{font:300 19px/1 var(--display);color:var(--muted);text-align:center}
.ix-vis .sw{width:12px;height:12px;background:#CFCCC4}
.ix-vis .sw.s1{background:#B9B6AE}.ix-vis .sw.s2{background:#A29F97}.ix-vis .sw.s3{background:#8B8880}.ix-vis .sw.s4{background:#74716A}.ix-vis .sw.s5{background:#5E5B55}
.ix-vis .sw.tot{background:var(--ink)}
.ix-vis b{font:500 11.5px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ix-vis li.tot{border-bottom:0;border-top:1px solid var(--ink);margin-top:-1px}
.ix-vis li.tot b{color:var(--ink)}
@media (max-width:1100px){.ix-feat-grid.has-vis{grid-template-columns:1fr}.ix-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,44px)}.ix-card + .ix-card{border-top:0;padding-top:0}.ix-side{border-top:1px solid var(--line);padding-top:22px}}
@media (max-width:760px){.ix-feat-grid.has-vis .ix-lead{grid-template-columns:1fr}.ix-vis{display:none}.ix-side{grid-template-columns:1fr}.ix-card + .ix-card{border-top:1px solid var(--line);padding-top:22px}}

/* Latest report: the one dark anchor mid-page */
.ix-report.dark{border-top:0}
.ix-report .ix-gold{color:var(--gold)}
.ix-report .h2{color:var(--d-text)}
.ix-report .chart-title b{color:var(--d-text)}
.ix-report .chart-title span,.ix-report .chart .note{color:var(--d-muted)}
.ix-report .cbar{color:var(--d-2)}
.ix-report .cbar b{color:var(--d-text)}
.ix-report .cbar .trk{background:var(--char-3)}
.ix-report .cbar .trk i{background:#8C8982}
.ix-report .cbar.ref .trk i{background:var(--gold)}
.ix-report .cbar.ref span:first-child{color:var(--d-text)}
.ix-report .cbar:hover .trk i{background:var(--d-text)}
.ix-report .cbar.ref:hover .trk i{background:var(--gold)}
.ix-report .ed-k{color:var(--d-muted)}
.ix-report .ix-list{border-top-color:var(--d-text)}
.ix-report .ix-list li a{color:var(--d-text);border-bottom-color:var(--d-line)}
.ix-report .ix-list li a:hover{background:var(--char-2)}
.ix-report .ix-meta{color:var(--d-muted)}

/* Most useful (curated, numbered) + Latest (chronological) on paper */
.ix-two{border-top:0}
.ix-two-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
@media (max-width:860px){.ix-two-grid{grid-template-columns:1fr}}
.ix-list li a{transition:background-color .2s var(--ease);margin-inline:-12px;padding-inline:12px}
.ix-list li a:hover{background:var(--stone)}
.ix-list li a:hover span:first-child{text-decoration:none}
.ix-useful{counter-reset:none}
.ix-useful li a{justify-content:flex-start;align-items:baseline;gap:clamp(16px,2vw,26px);padding-block:18px}
.ix-n{flex:none;width:2.1em;font:300 clamp(28px,2.6vw,38px)/1 var(--display);letter-spacing:-.02em;color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.ix-useful a:hover .ix-n{color:var(--ink)}
.ix-t{display:grid;gap:6px;min-width:0}
.ix-t > span:first-child{font:400 clamp(20px,1.7vw,24px)/1.22 var(--display);letter-spacing:-.012em;text-wrap:balance}
.ix-t .ix-meta{text-align:left}
.ix-two-grid > div + div .ix-list li a{font-size:15.5px}

/* Archive on stone, with search */
.ix-archive{background:var(--stone);border-top:0}
.ix-archive .alist{border-top-color:var(--ink)}
.ix-archive .arow{margin-inline:-14px;padding-inline:14px;transition:background-color .2s var(--ease);border-bottom-color:var(--line-2)}
.ix-archive .arow:hover{padding-left:14px;background:var(--paper)}
.ix-archive .topics button{background:transparent}
.ix-archive .topics button[aria-pressed="true"]{background:var(--ink)}
.ix-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:end;margin-bottom:18px;max-width:760px}
.ix-search label{grid-column:1/-1}
.ix-search input{width:100%;box-sizing:border-box;font:300 clamp(20px,1.8vw,24px)/1.3 var(--display);color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r);padding:12px 16px;transition:border-color .2s,background-color .2s}
.ix-search input::placeholder{color:var(--muted)}
.ix-search input:focus{outline:none;border-color:var(--ink);background:var(--surface)}
.ix-count{white-space:nowrap;padding-bottom:14px}
@media (max-width:560px){.ix-search{grid-template-columns:1fr}.ix-count{padding-bottom:0}}
.ix-nl{background:var(--stone);padding-top:0}
.ix-nl .nletter{background:var(--surface)}
/* v20 refinements: dividers stay on the column edge while hover tints bleed slightly past it */
[data-ix] .lhero-stats b{white-space:nowrap;font-size:clamp(28px,2.7vw,42px)}
.ix-list li a{border-bottom:0;background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-position:bottom center;background-size:calc(100% - 24px) 1px}
.ix-report .ix-list li a{background-image:linear-gradient(var(--d-line),var(--d-line))}
.ix-archive .arow{border-bottom:0;background-image:linear-gradient(var(--line-2),var(--line-2));background-repeat:no-repeat;background-position:bottom center;background-size:calc(100% - 28px) 1px}
.ix-card + .ix-card{border-top:0;position:relative}
.ix-card + .ix-card::before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:var(--line)}
.ix-n{width:1.5em}
@media (max-width:1100px){.ix-card + .ix-card::before{display:none}}
@media (max-width:760px){.ix-card + .ix-card::before{display:block}}
/* Real floorplans inside the Space Book / Tour Book demos (v21) */
.app-detail .plan img{width:100%;height:auto;max-height:150px;object-fit:contain;background:#fff;display:block}
.sbc .fp img{height:46px;width:100%;object-fit:contain;background:#fff}
.p-plan img{width:100%;height:auto;max-height:120px;object-fit:contain;background:#fff;display:block}

/* ===== How We Work v21: five stages, four chapters ===== */
.stages-sec{background:var(--surface)}
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.stages li{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px clamp(14px,1.6vw,24px) 0 0}
.stages li::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--ink)}
.stages li + li{padding-left:clamp(14px,1.6vw,24px);border-left:1px solid var(--line)}
.stages li + li::before{left:-5px}
.st-n{font:500 11px/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
.stages h3{font:400 clamp(22px,1.9vw,27px)/1.12 var(--display);letter-spacing:-.015em;text-wrap:balance}
.stages p{font-size:15px;line-height:1.55;color:var(--ink-2)}
.stages .st-out{margin-top:auto;padding-top:18px;display:grid;gap:4px}
.st-out span{font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.st-out span::after{content:" \2192"}
.st-out b{font:500 12.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
@media (max-width:980px){.stages{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--ink);margin-left:4px}
  .stages li,.stages li + li{padding:0 0 26px 26px;border-left:0}
  .stages li::before,.stages li + li::before{left:-5px;top:4px}
  .stages .st-out{margin-top:4px;padding-top:4px;grid-auto-flow:column;justify-content:start;gap:8px;align-items:baseline}}

.hw-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:clamp(28px,5vw,80px);align-items:center}
.hw-split .copy{display:grid;gap:18px;align-content:start}
.hw-split .copy .lede{margin:0}
@media (max-width:980px){.hw-split{grid-template-columns:1fr}}
.hw-build .sb-foot{margin-top:10px}

/* Funnel on a light surface */
.hw-funnel{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--ink);padding-top:6px}
.hw-funnel .fstage span{color:var(--ink-2)}
.hw-funnel .fstage i{background:var(--line)}
.hw-funnel .fstage i::after{background:var(--ink)}
.hw-funnel .fstage + .fstage::before{background:var(--line-2)}
.hw-funnel .fstage + .fstage::after{border-left-color:var(--line-2)}
.hw-funnel .fstage:last-child b{color:var(--ink)}
.hw-funnel .fstage:last-child i::after{background:var(--gold)}
.hw-funnel .illus{margin-top:6px}

.hw-tour{background:var(--stone)}
.hw-split.tw{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr)}
@media (max-width:980px){.hw-split.tw{grid-template-columns:1fr}}
.hw-fb{margin-top:clamp(40px,5vw,72px);border-radius:var(--r-2);padding:clamp(22px,3vw,40px);display:grid;gap:clamp(18px,2vw,28px)}
.hw-fb-h{display:grid;gap:10px}
.hw-fb-h h3{font:300 clamp(26px,2.4vw,36px)/1.1 var(--display);letter-spacing:-.02em;color:var(--d-text)}

/* Broker judgment: photo, facts, the broker's view, then the reasoning */
.bj2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.bj2-media{display:grid;gap:10px}
.bj2-media .photo{aspect-ratio:4/3;background:var(--stone);border-radius:var(--r-2);overflow:hidden}
.bj2-media .photo img{width:100%;height:100%;object-fit:cover}
.bj2-side{display:grid;gap:22px}
.bj2-side h3{font:300 clamp(36px,3.6vw,52px)/1 var(--display);letter-spacing:-.03em;margin-top:10px}
.bj2-facts{display:flex;flex-wrap:wrap;gap:6px 14px;font:500 12.5px/1.4 var(--mono);color:var(--ink-2);margin-top:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bj2-facts span + span::before{content:"\00B7";margin-right:14px;color:var(--line-2)}
.bj2-view{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:clamp(20px,2vw,26px);display:grid;gap:12px}
.bj2-view .label{display:flex;align-items:center;gap:9px;color:var(--ink)}
.bj2-view > p:not(.label){font:300 clamp(20px,1.7vw,24px)/1.4 var(--display);color:var(--ink)}
.bj2-view .by{font:400 12px/1.4 var(--mono);color:var(--muted)}
.bj2-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bj2-cols ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bj2-cols li{font-size:13.5px;border:1px solid var(--line-2);border-radius:var(--r);padding:6px 10px;color:var(--ink-2)}
.bj2-cols .push li{border-color:var(--ink);color:var(--ink)}
.bj2-links{display:flex;flex-wrap:wrap;gap:12px 28px}
@media (max-width:980px){.bj2{grid-template-columns:1fr}}
@media (max-width:480px){.bj2-cols{grid-template-columns:1fr}}

/* Economics: make the lesson unmissable */
.ec-lesson{font:300 clamp(24px,2.3vw,32px)/1.2 var(--display);letter-spacing:-.015em;color:var(--d-text);margin:22px 0 18px;text-wrap:balance}
.ec-ab{display:grid;border-top:1px solid var(--d-text);margin-bottom:18px;font-variant-numeric:tabular-nums}
.ec-ab > div{display:grid;grid-template-columns:minmax(0,1.2fr) 1fr 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--d-line);font-size:14.5px;color:var(--d-2)}
.ec-ab > div span:not(:first-child){text-align:right;font-family:var(--mono);font-size:13.5px;color:var(--d-text)}
.ec-ab .h span{font:500 10.5px/1.3 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)!important}
.ec-ab .t{border-bottom:0;border-top:1px solid var(--d-text);margin-top:-1px}
.ec-ab .t span:first-child{color:var(--d-text);font-weight:500}
.ec-ab .t span{font-size:16px!important}
.ec-ab .win{color:var(--gold)!important}
.hw-fb .reasons{grid-template-columns:1fr 1fr;gap:2px 8px}
@media (max-width:480px){.hw-fb .reasons{grid-template-columns:1fr}}
.hw-fb .fb{align-items:start}
.hw-fb .fb-arrow{align-self:center}
/* v22: stages are interactive. Hover lifts a card, lights its dot and line segment, and quiets the others; each links to its chapter. */
.stages{border-top:0;position:relative}
.stages::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left;transition:transform 1.1s var(--ease)}
.stages li,.stages li + li{padding:0;display:block}
.stages li{transition:opacity .3s var(--ease)}
.stages li::before{z-index:2;transition:transform .3s var(--ease),background-color .3s,box-shadow .3s}
.stages li::after{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:1}
.stages .st{display:flex;flex-direction:column;gap:10px;height:100%;box-sizing:border-box;padding:26px clamp(14px,1.6vw,24px) 22px;text-decoration:none;color:inherit;border-radius:0 0 var(--r-2) var(--r-2);transition:background-color .3s var(--ease),transform .3s var(--ease)}
.stages li:first-child .st{padding-left:0}
.st-go{font:500 11px/1.3 var(--mono);letter-spacing:.06em;color:var(--ink);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s var(--ease)}
.stages h3,.st-n{transition:color .3s}
@media (min-width:981px){
  .stages:hover li:not(:hover){opacity:.5}
  .stages li:hover .st,.stages .st:focus-visible{background:var(--paper);transform:translateY(-4px)}
  .stages li:first-child:hover .st{padding-left:16px;margin-left:-16px}
  .stages li:hover::before{transform:scale(1.7);background:var(--gold);box-shadow:0 0 0 1.5px var(--ink)}
  .stages li:hover::after{transform:scaleX(1)}
  .stages li:hover .st-n{color:var(--ink)}
  .stages li:hover .st-go{opacity:1;transform:none}
}
.stages .st:focus-visible .st-go{opacity:1;transform:none}
/* Draw the line, then the dots, once when the section scrolls in */
.motion .stages:not(.in)::before{transform:scaleX(0)}
.motion .stages:not(.in) li::before{transform:scale(0)}
.stages li:nth-child(2)::before{transition-delay:.15s}.stages li:nth-child(3)::before{transition-delay:.3s}.stages li:nth-child(4)::before{transition-delay:.45s}.stages li:nth-child(5)::before{transition-delay:.6s}
.stages li:hover::before{transition-delay:0s}
@media (max-width:980px){
  .stages::before{right:auto;bottom:0;width:1px;height:auto;transform-origin:top}
  .motion .stages:not(.in)::before{transform:scaleY(0)}
  .stages{border-left:0}
  .stages .st,.stages li:first-child .st{padding:0 0 26px 26px}
  .stages li::after{display:none}
  .st-go{opacity:1;transform:none;color:var(--muted)}
}

/* v23: Success Stories outcomes, four numbers in one row (replaces the eight-row list) */
.oc4-sec{padding-block:clamp(56px,6vw,88px)}
.oc4-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-bottom:clamp(24px,3vw,36px)}
.oc4-head .h2{margin:0}
.oc4-head .label{order:-1;width:100%}
.oc4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--d-text)}
.oc4-i{display:flex;flex-direction:column;gap:10px;padding:26px clamp(16px,2vw,28px) 26px;text-decoration:none;color:var(--d-text);border-radius:0 0 var(--r-2) var(--r-2);transition:background-color .25s var(--ease)}
.oc4-i + .oc4-i{border-left:1px solid var(--d-line)}
.oc4-i:first-child{padding-left:0}
.oc4-i b{font:300 clamp(48px,5vw,76px)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:lining-nums}
.oc4-i .ol{font-size:14.5px;line-height:1.45;color:var(--d-2);max-width:24ch}
.oc4-i .oc{margin-top:auto;padding-top:14px;font:500 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-text);display:flex;gap:8px;align-items:center}
.oc4-i .arr{transition:transform .25s var(--ease);color:var(--gold)}
@media (any-hover:hover){.oc4-i:hover{background:var(--char-2)}.oc4-i:first-child:hover{padding-left:16px;margin-left:-16px}.oc4-i:hover .arr{transform:translateX(4px)}}
@media (max-width:900px){.oc4{grid-template-columns:1fr 1fr}.oc4-i:nth-child(3){border-left:0;padding-left:0}.oc4-i:nth-child(n+3){border-top:1px solid var(--d-line)}}
@media (max-width:480px){.oc4-i b{font-size:44px}}

/* v23: legal pages and form privacy notes */
.form-privacy{font-size:12.5px;line-height:1.5;color:var(--muted);margin:14px 0 0}
.form-privacy a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.lgl{display:grid;grid-template-columns:minmax(0,240px) minmax(0,720px);gap:clamp(28px,5vw,80px);padding-block:clamp(40px,5vw,64px) clamp(64px,7vw,104px);align-items:start}
.lg-toc{position:sticky;top:100px;display:grid;gap:12px}
.lg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.lg-toc a{color:var(--ink-2);text-decoration:none}.lg-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lg-upd{font:500 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);margin:8px 0 0}
.lg-body{display:grid;gap:clamp(30px,3vw,44px);font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.lg-sec{display:grid;gap:14px;scroll-margin-top:96px}
.lg-sec h2{font:400 clamp(24px,2.2vw,30px)/1.15 var(--display);letter-spacing:-.015em;color:var(--ink);margin:0}
.lg-sec h3{font:500 15px/1.4 var(--sans);color:var(--ink);margin:6px 0 0}
.lg-sec p,.lg-sec ul{margin:0}.lg-sec ul{padding-left:20px;display:grid;gap:8px}
.lg-sec b{color:var(--ink);font-weight:500}.lg-sec a{color:var(--ink)}
.lg-sec code{font:500 13px/1.4 var(--mono);background:var(--stone);padding:1px 5px;border-radius:2px}
.lg-t{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.lg-t th{text-align:left;font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px 10px 0;border-bottom:1px solid var(--ink)}
.lg-t td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
@media (max-width:860px){.lgl{grid-template-columns:1fr}.lg-toc{position:static}}
.pd-listed{font:500 11px/1.4 var(--mono);letter-spacing:.04em;color:var(--muted);margin:14px 0 0}
.plisted{font:400 11.5px/1.4 var(--mono);color:var(--muted);margin:8px 0 0}

/* ---- v24 proof modules: transactions, selected clients, buildings, Nomad team, story chapters ---- */
.dlogo{display:inline-flex;align-items:center;height:26px;max-width:100%}
.dlogo img{height:100%;width:auto;max-width:140px;object-fit:contain;object-position:left center;filter:grayscale(1) brightness(0)}
.dlogo.color img{filter:none;height:40px}
.dlogo.txt b{font:600 14px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.tx-head{display:grid;gap:10px;margin-bottom:clamp(24px,3vw,36px)}
.tx-head .h2{font-size:clamp(32px,3.4vw,48px)}
.txg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.txc{display:grid;grid-template-rows:30px auto;align-content:start;gap:22px;padding:clamp(20px,2vw,28px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);text-decoration:none;color:inherit;min-height:190px;transition:background .25s var(--ease)}
.txc[hidden]{display:none}
a.txc:hover{background:var(--paper)}
.txc .txb{display:grid;align-content:start;gap:4px}
.txc h3{font:400 22px/1.15 var(--display);letter-spacing:-.015em;margin-top:4px}
.txc .txm{color:var(--ink-2);font-size:14.5px}
.txc .txd{color:var(--muted);font:500 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.txc .tlink{margin-top:10px;justify-self:start;font-size:13.5px}
.txf{font-size:12px;margin-top:6px}
.txmore{margin-top:18px;background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 3px;font:500 14px/1.3 var(--sans);cursor:pointer;color:var(--ink)}
@media (max-width:980px){.txg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.txg{grid-template-columns:1fr}.txc{min-height:0}}
.clg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.clc{display:grid;place-items:center;height:clamp(84px,8vw,108px);padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}
.clc .dlogo{height:24px;justify-content:center}
.clc .dlogo img{object-position:center;opacity:.85;transition:opacity .25s}
a.clc:hover .dlogo img{opacity:1}
@media (max-width:980px){.clg{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.clg{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bldgs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.bldg{display:grid;gap:14px;text-decoration:none;color:inherit}
.bldg .photo,.bldg .bph{aspect-ratio:4/3;margin:0;border-radius:var(--r)}
.bph{background:linear-gradient(180deg,transparent 58%,rgba(13,13,14,.05) 58%),repeating-linear-gradient(90deg,transparent 0 26px,rgba(13,13,14,.04) 26px 27px),var(--stone)}
.bldg h3{font:400 20px/1.2 var(--display);letter-spacing:-.01em}
.bldg .bt{display:grid;gap:6px}
@media (max-width:980px){.bldgs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nt-sec{border-top:1px solid var(--line)}
.nt{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:20px 40px;align-items:center}
.nt-row{display:flex;flex-wrap:wrap;gap:14px 32px}
.nt-p{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.nt-ph{width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--stone);flex:none;display:grid;place-items:center}
.nt-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.nt-ph.ini{font:500 13px/1 var(--mono);color:var(--muted)}
.nt-p b{display:block;font:500 15px/1.3 var(--sans)}
.nt-p small{display:block;color:var(--muted);font-size:13px}
.nt-p:hover b{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.nt{grid-template-columns:1fr}}
.ch-head{display:grid;gap:14px;max-width:760px;margin-bottom:clamp(28px,3.4vw,48px)}
.ch-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);border-top:1px solid var(--line);padding-top:clamp(22px,2.4vw,32px)}
.ch-body.n1{grid-template-columns:minmax(0,640px)}
.ch-body.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ch-b{display:grid;gap:10px;align-content:start}
.ch-b p:last-child{color:var(--ink-2);font-size:17px;line-height:1.6;max-width:46ch}
@media (max-width:860px){.ch-body,.ch-body.n2{grid-template-columns:1fr}}
.chq{margin:clamp(40px,5vw,64px) 0 0;max-width:900px}
.chq blockquote{margin:0}
.chq p{font:300 clamp(22px,2.2vw,30px)/1.4 var(--display);letter-spacing:-.01em}
.chq cite{display:grid;gap:2px;margin-top:18px;font-style:normal;font-weight:500}
.chq cite span{font-weight:400;color:var(--muted);font-size:14px}
.ch-rel{margin-top:36px}
.ds-hero{padding-bottom:clamp(40px,5vw,72px)}
.tm-dep{color:var(--ink-2);font-size:14.5px;margin-top:10px}
.tm-cta{width:100%;font:400 20px/1.3 var(--display);margin-bottom:2px}
.ds-hero + .cs-snap-sec .cs-snap{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));row-gap:20px}
.bldg .label{color:var(--muted)}
.blist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);border-top:1px solid var(--line)}
.blist li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.blist b{font:400 19px/1.25 var(--display)}
@media (max-width:900px){.blist{grid-template-columns:1fr}}
.ch-sec .wrap > .todo{margin-top:32px}
.chap-mark{padding-block:clamp(56px,6vw,88px) 0}
.chap-mark .h2{font-size:clamp(30px,3.2vw,44px);margin-top:10px}
.chap-meta{font:500 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-top:10px}
.chap-mark + .cs-chal{padding-top:clamp(36px,4vw,56px)}
.chap2{border-top:1px solid var(--line)}
/* v26 quote headshots */
.qface{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;background:var(--stone)}
.qface img{width:100%;height:100%;object-fit:cover}
.qface.sm{width:36px;height:36px}
.qface.ini{font:500 13px/1 var(--mono);color:var(--muted)}
.qface.ph{border:1.5px dashed var(--line-2);background:transparent}
.qface.ph small{font:500 8.5px/1.15 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center}
.fcard .qface.ph{border-color:rgba(255,255,255,.45)}.fcard .qface.ph small{color:rgba(255,255,255,.7)}
.chq figcaption{display:flex;align-items:center;gap:16px;margin-top:22px}
.chq figcaption cite{margin-top:0}
.chq-pending{display:flex;align-items:flex-start;gap:16px;margin-top:32px}
.chq-pending .todo{margin:0}
.cq{margin:6px 0 4px;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:12px}
.cq p{font:300 17px/1.4 var(--display);letter-spacing:-.005em;max-width:40ch}
.cq .cqf{display:flex;align-items:center;gap:10px}
.cq b{display:block;font:500 13.5px/1.3 var(--sans)}
.cq small{display:block;font-size:12.5px;color:var(--muted)}
.fcard .cq{border-top-color:rgba(255,255,255,.22)}
.fcard .cq p{color:#fff;font-size:clamp(17px,1.4vw,20px)}
.fcard .cq small{color:rgba(255,255,255,.62)}
/* v27: phone mockup shows the floorplan on its own (no broker-notes text over it) */
.p-plan{height:150px;overflow:hidden;padding:6px;background:#fff}
.p-plan img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
/* v27: story cards: provided photo, tinted, company name in the image */
.photo.tint::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,9,.8) 0%,rgba(8,8,9,.5) 50%,rgba(8,8,9,.42) 100%);pointer-events:none;z-index:1}
.photo.tint .tname{position:absolute;left:clamp(14px,1.6vw,22px);bottom:clamp(12px,1.4vw,18px);z-index:2;font:600 clamp(15px,1.25vw,18px)/1.1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 12px rgba(0,0,0,.35)}
.photo .pneed{position:absolute;left:10px;top:10px;z-index:3;background:rgba(255,255,255,.9);padding:2px 6px;font-size:11px}
/* v28: company name sits under the photo in plain type (no text inside the image) */
.scard .cname{font:600 17px/1.25 var(--sans);letter-spacing:-.005em;text-transform:none;color:var(--ink)}
/* v29: cards for stories with no photo yet: the company logo in white on the dark tile */
.photo.lt{display:grid;place-items:center;aspect-ratio:4/3}
.photo.lt .dlogo{height:44px;justify-content:center;width:70%}
.photo.lt .dlogo img{filter:brightness(0) invert(1);object-position:center;max-width:60%}
.photo.lt .dlogo.color img{filter:none;height:52px}
.photo.lt .dlogo.txt b{color:#fff;font-size:18px}
.ch-body.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.ch-body.n4{grid-template-columns:1fr}}
/* ---- v32 mobile pass ---- */
.sheetc .broker i{background:none;border-radius:0;width:auto;height:auto}   /* brand: the n+ mark is never placed inside a shape */
@media (max-width:640px){
  /* legible minimum for small mono labels */
  .label,.pcard dt,.pcard .where,.pcard .cond,.tagm,.glabel,.ed-type,.foot-grid h4,.stags i,.cs-snap span,.opp dt,th,.fcard .label,.txc .txd,.chap-meta,.crumbs{font-size:11px}
  .pcard dt{letter-spacing:.06em}
  /* comfortable tap targets */
  .foot-grid ul{gap:2px}
  .foot-grid a{display:inline-block;padding:10px 0;white-space:nowrap}
  .foot-base nav{gap:4px 18px}
  .foot-base a{display:inline-block;padding:10px 0}
  .crumbs a{display:inline-block;padding:8px 0}
  .savebtn{padding:12px 0;font-size:13px}
  .tlink{padding-block:8px}
  .txmore{padding:12px 0 4px}
  header .wordmark{padding-block:10px}
  /* filters: full-width controls at a size iOS will not zoom into */
  .filters select,.pfilter select,select{font-size:16px;width:100%}
  /* profile insights: stack the date under the title */
  .alist .arow{grid-template-columns:1fr!important;gap:6px}
  .alist .arow .meta{order:-1;font-size:11px}
  /* tour stage caption sits under the phone on narrow screens */
  .tb-stage .where{display:none}
}
/* v32: full-height mobile menu, page locked behind it */
@media (max-width:860px){
  .mobile-panel.open{overflow-y:auto;overscroll-behavior:contain}
  html.menu-open,html.menu-open body{overflow:hidden}
  html.menu-open .sticky-cta{display:none!important}
}
@media (max-width:640px){ .glabel,dt,th,.tagm,.tagm.new,.cond,label{font-size:11px!important} }
/* ---- v33 mobile pass 2 ---- */
/* 6. notch / landscape safe areas on the side gutters */
.wrap{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
/* 2. nothing may force a single-column layout wider than the screen */
@media (max-width:640px){
  .btn{white-space:normal;max-width:100%;text-align:center;justify-content:center}
  .hero-ctas .btn,.acts .btn,.cta-band .btn{width:100%}
  .twocol,.lhero-grid,.pd-grid,.cs-2col,.fbr,.caps,.proof{grid-template-columns:minmax(0,1fr)}
  .twocol>*,.lhero-grid>*,.hero .wrap>*,.cs-2col>*{min-width:0}
  .mbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mbar .btn{padding:14px 8px;font-size:14px}
}
@media (max-width:360px){ .mbar .savebtn .lbl-long{display:none} }
/* 4. heroes size to their content on phones so the first button is on the first screen */
@media (max-width:760px){
  .hero,.hero.sub{min-height:0}
  .hero .wrap{padding-block:max(104px,calc(env(safe-area-inset-top,0px) + 96px)) 32px}
  .hero h1{font-size:clamp(38px,11vw,52px)}
  .hero-sub{margin-top:18px;font-size:16.5px}
  .hero-ctas{margin-top:24px;gap:10px}
  .hero-strip{margin-top:36px}
  .hero .kicker{margin-bottom:14px}
}
@media (max-width:760px) and (max-height:700px){
  .hero .wrap{padding-block:88px 24px}
  .hero-sub{font-size:15.5px}
}
/* 1. menu: never taller than the visible screen; compact rows on short phones */
@media (max-width:860px){ .mobile-panel.open{max-height:calc(100dvh - 64px)} }
@media (max-width:860px) and (max-height:700px){
  .mobile-panel a{padding:10px 0;font-size:17px}
  .mobile-panel .btn{margin-top:14px;padding:13px 18px}
}
/* 3 + 5. property filters behind one button on phones, 44px controls */
.pf-btn,.pf-apply{display:none}
.pf-fields{display:contents}
@media (max-width:760px){
  .ptool .wrap{align-items:center;gap:10px 14px}
  .pf-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--ink);background:var(--surface);color:var(--ink);font:500 15px/1 var(--sans);border-radius:var(--r);cursor:pointer}
  .pf-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--ink);color:#fff;font:500 11px/1 var(--mono)}
  .pf-n[hidden]{display:none}
  .pf-fields{display:none}
  .ptool.fopen .pf-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 14px;width:100%;order:10;padding-top:6px;border-top:1px solid var(--line)}
  .ptool.fopen .pf-apply{display:flex;grid-column:1 / -1;min-height:48px}
  .ptool label{font-size:11px}
  .ptool select{max-width:none;width:100%;min-height:44px;font-size:16px;padding:8px 22px 8px 0}
  .ptool .count{order:2;margin-left:auto;font-size:12.5px}
  .ptool .reset{min-height:44px;padding:0 4px}
  .ptool .maptoggle{min-height:44px}
  .pmore{width:100%;margin-top:8px;min-height:48px}
}
/* 5. remaining small controls */
@media (max-width:640px){
  .tlink{display:inline-flex;align-items:center;min-height:40px}
  .cfilter button{min-height:44px}
  .txmore{min-height:44px}
}
@media (max-width:380px){ .ptool.fopen .pf-fields{grid-template-columns:minmax(0,1fr)} }

/* ===== v34: Properties — 12 + Load More ===== */
.pcol{min-width:0;display:grid;align-content:start;gap:0}
.pmore-bar{display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;margin-top:clamp(28px,3vw,40px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line)}
.pmore-bar .pshown{margin:0;font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.pmore-bar .btn{min-height:48px}
.pmore-bar .btn[hidden]{display:none}
@media (max-width:640px){.pmore-bar{flex-direction:column;align-items:stretch}.pmore-bar .btn{width:100%}}
.buildcard h3{margin-top:0}

/* ===== v34: The Bottom Line (Construction, Flex, Facilities) — one concluding band, content-sized ===== */
.cta-band.bl{padding-block:clamp(56px,6vw,84px)}
.cta-band.bl .wrap{align-items:center;gap:24px 60px}
.cta-band.bl .copy{display:grid;gap:14px;max-width:760px}
.cta-band.bl .label{color:rgba(255,255,255,.62);margin:0}
.cta-band.bl .h2{font-size:clamp(34px,3.8vw,54px);margin:0}
.cta-band.bl .lede{margin:0;max-width:58ch}
.cta-band.bl .acts{justify-content:flex-end}
@media (max-width:800px){.cta-band.bl .acts{justify-content:flex-start}}

/* ===== v34: footer — brand + Office Search / Nomad / Services / Legal ===== */
.foot-grid.v2{grid-template-columns:1.6fr repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.foot-grid.v2{grid-template-columns:repeat(4,minmax(0,1fr))}.foot-grid.v2 .foot-brand{grid-column:1/-1}}
@media (max-width:640px){.foot-grid.v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}

/* ===== v35: Success Stories — 12 + Load More ===== */
.hidden-by-page{display:none!important}
.pmore-bar[hidden]{display:none}

/* ===== Market Insights 14: inline schematic maps (svgfig). Sideways scroll inside the map is intentional on phones. ===== */
.ed-map{overflow-x:auto}
.ed-map svg{min-width:560px}
.ed-map svg text{paint-order:stroke;stroke:var(--paper);stroke-width:3px}

/* v43: Space Book recordings (shared player) */
.sbv-fig{margin:0}
.sbv-frame{position:relative;background:#000;border-radius:var(--r-2);overflow:hidden;aspect-ratio:1080/740;max-width:100%}
.sbv-frame video{display:block;width:100%;height:100%;object-fit:cover}
.sbv-btn{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(17,17,19,.72);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background-color .2s}
.sbv-btn:hover{background:rgba(17,17,19,.92)}
.sbv-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sbv-btn span{display:block;width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #fff;margin-left:3px}
.sbv-btn.is-playing span{width:12px;height:14px;border:0;margin:0;background:linear-gradient(90deg,#fff 0 4px,transparent 4px 8px,#fff 8px 12px)}
.xs-vid{align-content:center}
.xs-vid .sbv-frame{box-shadow:0 0 0 1px var(--d-line)}

/* v43: deal comparison, drawn in the Space Book's interface style (cream app, serif names, mono labels) */
.dc-win{--dc-bg:#F4F2EC;--dc-card:#FFFFFF;--dc-ink:#141414;--dc-2:#5B5850;--dc-mute:#8E8A80;--dc-line:#E4E0D6;--dc-green:#1F8A4C;--dc-amber:#F29D0B;
  background:#1B1B1E;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);color:var(--dc-ink);max-width:100%}
.dc-chrome{display:flex;align-items:center;gap:6px;padding:9px 12px}
.dc-chrome i{width:9px;height:9px;border-radius:50%;background:#3A3A3F}
.dc-chrome span{margin:0 auto;font:500 10.5px/1 var(--sans);color:#9A978F;background:#2A2A2E;padding:5px 14px;border-radius:6px}
.dc-app{background:var(--dc-bg);padding:clamp(14px,2vw,22px)}
.dc-top{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--dc-line);margin-bottom:14px}
.dc-logo{width:64px;height:auto;fill:var(--dc-ink);color:var(--dc-ink)}
.dc-team{font:500 11px/1 var(--sans);color:var(--dc-2);display:inline-flex;align-items:center;gap:6px}
.dc-team::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dc-ink)}
.dc-tab{margin-left:auto;font:500 11px/1 var(--sans);background:var(--dc-ink);color:#fff;padding:7px 11px;border-radius:999px}
.dc-k{font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dc-mute)}
.dc-h{font:400 clamp(20px,2vw,26px)/1.15 var(--display);letter-spacing:-.01em;margin:4px 0 14px;color:var(--dc-ink)}
.dc-t{background:var(--dc-card);border:1px solid var(--dc-line);border-radius:8px;overflow:hidden}
.dc-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr);align-items:center;border-top:1px solid var(--dc-line);transition:opacity .45s var(--ease)}
.dc-r:first-child{border-top:0}
.dc-r>span{padding:10px 12px;font:500 13px/1.3 var(--mono);color:var(--dc-ink);display:grid;gap:3px}
.dc-r>span[role=rowheader]{font:500 10px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dc-mute)}
.dc-r small{font:500 10.5px/1.2 var(--mono);color:var(--dc-mute)}
.dc-hd>span{padding-top:12px;padding-bottom:12px}
.dc-hd b{font:400 17px/1.1 var(--display);color:var(--dc-ink)}
.dc-hd small{font:500 10px/1.2 var(--sans);letter-spacing:0;color:var(--dc-2)}
em.dc-pick{justify-self:start;margin-top:4px;font:600 10px/1 var(--sans);font-style:normal;color:#fff;background:var(--dc-amber);padding:4px 7px;border-radius:5px;border:0;display:inline-block}
.dc-net{background:#FBFAF6}
.dc-net b{font:500 18px/1 var(--mono);color:var(--dc-ink)}
.dc-bar{position:relative;display:block;height:6px;border-radius:3px;background:transparent;margin-top:6px}
.dc-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px}
.dc-bar .ask{background:var(--dc-line)}
.dc-bar .net{background:var(--dc-green)}
.dc-view{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin-top:12px;background:var(--dc-card);border:1px solid var(--dc-line);border-radius:8px;padding:12px 14px;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.dc-view p:not(.dc-k){font:400 13.5px/1.5 var(--sans);color:var(--dc-2);margin-top:4px}
.dc-mark{width:30px;height:30px;border-radius:50%;background:var(--dc-ink);display:grid;place-items:center}
.dc-mark svg{width:17px;height:auto;fill:#fff;color:#fff}
.dc-cap{font:400 11.5px/1.5 var(--mono);color:var(--d-muted);margin-top:10px}
.motion .xs-dc .dc-r[data-i]:not(.on){opacity:.12}
.motion .xs-dc .dc-view:not(.on){opacity:0;transform:translateY(8px)}
.xs-dc{align-content:center}
@media (max-width:420px){.dc-r>span{padding:9px 8px;font-size:12px}.dc-hd b{font-size:15px}.dc-tab{display:none}}
/* light-page variant (How We Work economics) */
.ec .dc-cap,.hw-ec .dc-cap{color:var(--muted)}

/* v43: Space Book product tour (How We Work) */
.ptour{margin-top:clamp(36px,4vw,56px)}
.pt-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.pt-tabs::-webkit-scrollbar{display:none}
.pt-tab{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:0;border-bottom:2px solid transparent;background:none;cursor:pointer;font:500 14px/1 var(--sans);color:var(--muted);margin-bottom:-1px}
.pt-tab span{font:500 11px/1 var(--mono);color:var(--muted)}
.pt-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}
.pt-tab:hover{color:var(--ink)}
.pt-tab:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.pt-pane{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,3.5vw,52px);align-items:start}
.pt-pane[hidden]{display:none}
.pt-shot{position:relative;background:#000;border-radius:var(--r-2);overflow:hidden;aspect-ratio:1080/740;max-width:100%}
.pt-shot img{display:block;width:100%;height:100%;object-fit:cover}
.pt-hs{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:var(--ink);color:#fff;font:600 12px/1 var(--mono);display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:transform .2s var(--ease),background-color .2s}
.pt-hs:hover{transform:translate(-50%,-50%) scale(1.1)}
.pt-hs.on{background:var(--gold);color:var(--ink);border-color:var(--ink)}
.pt-hs.on::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--gold);opacity:.8;animation:ptPulse 1.8s var(--ease) infinite}
@keyframes ptPulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.pt-hs:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pt-side{display:grid;gap:14px;align-content:start}
.pt-side h3{font:400 clamp(26px,2.4vw,34px)/1.1 var(--display);letter-spacing:-.015em;text-wrap:balance}
.pt-side h3:focus{outline:none}
.pt-d{font-size:16px;line-height:1.6;color:var(--ink-2)}
.pt-sub{display:flex;flex-wrap:wrap;gap:6px}
.pt-sub button{min-height:40px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font:500 13px/1 var(--sans);color:var(--ink-2);cursor:pointer}
.pt-sub button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.pt-notes{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pt-note{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);font:400 14.5px/1.45 var(--sans);color:var(--ink-2);cursor:pointer;transition:border-color .2s,background-color .2s}
.pt-note span{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font:600 11px/1 var(--mono);display:grid;place-items:center}
.pt-note.on{border-color:var(--ink);color:var(--ink);background:var(--paper)}
.pt-note.on span{background:var(--gold);color:var(--ink)}
.pt-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:4px}
.pt-go{min-height:44px;padding:10px 0;border:0;background:none;font:500 14px/1.2 var(--sans);color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-2)}
.pt-go:hover{text-decoration-color:var(--ink)}
.pt-go.nx{margin-left:auto}
.pt-cap{margin-top:18px;font:500 11.5px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted)}
@media (max-width:980px){.pt-pane{grid-template-columns:1fr}}
@media (max-width:600px){.pt-hs{width:24px;height:24px;font-size:10.5px;border-width:1.5px}.pt-hs.on::after{inset:-6px}}
@media (prefers-reduced-motion:reduce){.pt-hs.on::after{animation:none}}

/* v46: homepage hero carries the real product (copy left, Space Book video right, on the dark photo) */
.hero-v .wrap.hv{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,4vw,64px);align-items:end}
.hero-v .hero-copy{min-width:0}
.hero-v h1{font-size:clamp(44px,5vw,82px);max-width:12ch}
.hero-v .hero-strip{grid-column:1/-1;margin-top:clamp(36px,5vw,64px)}
.hero-sbv{min-width:0}
.hero-sbv .sbv-frame{border-radius:6px;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 40px 90px -40px rgba(0,0,0,.9)}
.hero-cap{margin-top:10px;font:400 11.5px/1.5 var(--mono);color:rgba(255,255,255,.55)}
@media (max-width:980px){.hero-v .wrap.hv{grid-template-columns:1fr;align-items:start}.hero-v h1{max-width:13ch}}

/* v46: slimmer sticky header and compact buttons */
.nav{height:60px}
.wordmark svg{height:20px}
.nav-links{gap:26px}
.nav-links a{font-size:14px}
.nav-cta .btn{padding:9px 14px;font-size:13.5px}
.btn{padding:13px 18px;font-size:14.5px;gap:10px}
.menu-btn{width:40px;height:40px}
.sbv-frame img{display:block;width:100%;height:100%;object-fit:cover}

/* v49: homepage header, black with a faint Manhattan map (listings as gold dots), fading in from the right */
.hero-plain{background:#0B0B0C}
.hero-map{position:absolute;right:-4%;top:4%;width:min(62vw,1000px);aspect-ratio:600/840;opacity:.62;pointer-events:none;z-index:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%),linear-gradient(0deg,transparent 0%,#000 18%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%);}
.hero-map svg{display:block;width:100%;height:100%}
@media (max-width:760px){.hero-map{width:140vw;right:-55%;top:auto;bottom:-10%;opacity:.38}}
/* v48: descenders (g, p, y) were clipped by the line-reveal mask; give each masked line room below the baseline */
.hero h1 .ln{padding-bottom:.18em;margin-bottom:-.12em}
/* v50: once the headline has slid in, stop masking it at all, so no font or OS can clip descenders */
.hero h1 .ln{padding-bottom:.24em;margin-bottom:-.18em}
.motion .hero h1 .ln > span{transform:translateY(130%)}
.motion.loaded .hero h1 .ln > span{transform:none}
.motion.loaded .hero h1 .ln{animation:ln-open 0s linear 1.6s forwards}
@keyframes ln-open{to{overflow:visible}}
html:not(.motion) .hero h1 .ln{overflow:visible}

/* v52: hover ping on the homepage header map */
.hero-ping{position:absolute;z-index:1;width:192px;height:192px;margin:-96px 0 0 -96px;border-radius:50%;border:1.5px solid #F0E10D;box-shadow:0 0 18px rgba(240,225,13,.18),inset 0 0 14px rgba(240,225,13,.1);
  pointer-events:none;transform:scale(.04);opacity:.95;animation:hero-ping 1.3s cubic-bezier(.16,.8,.3,1) forwards}
@keyframes hero-ping{70%{opacity:.7}100%{transform:scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero-ping{display:none}}

/* v53: Build the market slideshow (real Space Book screens, crossfade every 3s) */
.sl-frame{position:relative}
.sl-frame .sl-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--ease)}
.sl-frame .sl-img.on{opacity:1}
.sl-frame .sl-img:first-child{position:relative}
.sl-tabs{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.sl-tab{background:none;border:0;padding:4px 0;cursor:pointer;font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.sl-tab.on,.sl-tab:hover{color:var(--d-text);border-bottom-color:var(--gold)}
/* v55: case-page quote with headshot (Small Door) */
.cs-qf{display:flex;align-items:center;gap:14px;margin-top:20px}
.cs-qf cite{margin-top:0}
.cs-quote.long p{font-size:clamp(22px,2.2vw,32px);line-height:1.3;max-width:42ch}
/* v56: a featured side card that carries a client quote sizes to its content; the other side cards share the rest */
.ss-side{grid-template-rows:repeat(3,auto)}
.ss-feat.n3 .ss-side{grid-template-rows:repeat(2,auto)}
.fcard.hasq{display:flex;flex-direction:column;justify-content:flex-end}
.fcard.hasq .t{position:relative;padding-top:clamp(22px,2.4vw,32px)}
@media (min-width:901px){.ss-side .fcard{min-height:206px}}
.fcard.hasq .cq{margin:2px 0 0;padding-top:10px;gap:9px}
.fcard.hasq .cq p{font-size:clamp(15.5px,1.2vw,17px);line-height:1.35}
.fcard.hasq .cq b{font-size:13px}.fcard.hasq .cq small{font-size:12px}
@media (max-width:900px){.ss-side{grid-template-rows:none}}
/* v58: marquee logos carry explicit ink-sized boxes (data.logo_box); the old max caps no longer apply to them */
.lg img[style]{max-height:none;max-width:none;object-fit:contain}
.lg{min-width:24px}
/* v58: client testimonials band (Home, Find an Office) */
.tq-sec{padding-block:clamp(56px,7vw,96px);border-top:1px solid var(--line)}
.tq-sec .head{margin-bottom:clamp(24px,3vw,40px)}
.tq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tq-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.tq-grid.n1{grid-template-columns:minmax(0,720px)}
.tq{display:flex;flex-direction:column;gap:22px;padding:clamp(22px,2.4vw,32px);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper);color:inherit;text-decoration:none;transition:border-color .2s}
a.tq:hover{border-color:var(--ink)}
.tq blockquote{margin:0;flex:1}
.tq blockquote p{font:300 clamp(19px,1.5vw,22px)/1.38 var(--display);letter-spacing:-.008em}
.tq-who{display:flex;align-items:center;gap:12px}
.tq-face{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:none;background:var(--stone)}
.tq-face img{width:100%;height:100%;object-fit:cover}
.tq-who b{display:block;font:500 14px/1.3 var(--sans)}.tq-who small{display:block;font-size:13px;color:var(--muted)}
.tq .tlink{align-self:flex-start;font-size:14px}
@media (max-width:900px){.tq-grid,.tq-grid.n2{grid-template-columns:1fr}}
/* v61: quote carousel (replaces the fixed three-card grid) */
.tq-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.tq-nav{display:flex;align-items:center;gap:10px}
.tq-pos{font:500 12px/1 var(--mono);letter-spacing:.06em;color:var(--muted);margin-right:6px;font-variant-numeric:tabular-nums}
.tq-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2,var(--line));background:transparent;color:var(--ink);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:border-color .2s,background .2s}
.tq-btn:hover:not(:disabled){border-color:var(--ink)}
.tq-btn:disabled{opacity:.35;cursor:default}
.tq-btn:focus-visible,.tq-car:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.tq-car{outline:none}
.tq-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px) / 3);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.tq-track::-webkit-scrollbar{display:none}
.tq-track .tq{scroll-snap-align:start;min-width:0}
@media (max-width:900px){.tq-track{grid-auto-columns:100%}}
@media (prefers-reduced-motion:reduce){.tq-track{scroll-behavior:auto}}
/* v61: larger gallery: the first three as before, then every other photo in rows of three */
.cs-gal-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.cs-gal-more .photo{aspect-ratio:3/2;border-radius:var(--r-2)}
@media (max-width:640px){.cs-gal-more{grid-template-columns:1fr 1fr}}
.fcard .fc-plain{background:#18181b}
.fcard .dlogo.inv img{filter:brightness(0) invert(1)}
.fcard .t > .dlogo{display:block;height:24px}.fcard .t > .dlogo img{height:100%;width:auto}
.cs-gal-more.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs-gal-more .photo img{width:100%;height:100%;object-fit:cover}
/* v64: a side card with a quote carries text to its top edge, so its photo gets an even scrim (bright photos like MUBI's stay legible) */
.fcard.hasq .photo::after{background:linear-gradient(0deg,rgba(8,8,9,.93) 0%,rgba(8,8,9,.74) 55%,rgba(8,8,9,.6) 100%)}
/* v79: deal-facts row. 5-8 facts wrap into even rows (3 or 4 across) with a gap between rows; the first fact in each row has no divider.
   Before this, facts 5-6 wrapped under a 4-column grid with no row gap and kept their divider (Sapien and others). */
@media (min-width:761px){
  .cs-snap-sec .cs-snap{row-gap:26px}
  .cs-snap-sec .cs-snap.n3,.cs-snap-sec .cs-snap.n5,.cs-snap-sec .cs-snap.n6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cs-snap-sec .cs-snap.n7,.cs-snap-sec .cs-snap.n8{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cs-snap-sec .cs-snap.n5 > div:nth-child(3n+1),.cs-snap-sec .cs-snap.n6 > div:nth-child(3n+1),
  .cs-snap-sec .cs-snap.n7 > div:nth-child(4n+1),.cs-snap-sec .cs-snap.n8 > div:nth-child(4n+1){padding-left:0;border-left:0}
}
/* v82: start form, step 1 fields are required; a missing one is outlined until filled */
.intake [aria-invalid="true"]{border-color:#b3261e !important;box-shadow:0 0 0 1px #b3261e inset}
