
/* Layout: Caldren-style sticky hero. A white card sits over a red brick ranch at midday; scrolling fades the card,
   turns day to night and reveals the Detroit skyline behind it. White sections then slide over the pinned hero. */
@font-face{font-family:"Geist";src:url("../fonts/Geist-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/Geist-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/Geist-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-style:normal;font-display:swap}
:root{
  --paper:#ffffff; --mist:#f5f6f8; --ink:#0e0e0c; --ink-60:rgba(14,14,12,.6); --ink-45:rgba(14,14,12,.45); --line:rgba(14,14,12,.12);
  --night-1:#0b1d58; --night-2:#16348f; --night-3:#2c58b8;
  --brand:#3b7bbf;
  --sans:"Geist","Helvetica Neue",Arial,sans-serif;
  --serif:"Instrument Serif","Times New Roman",serif;
  --wrap:min(1312px,calc(100vw - 2*max(16px,env(safe-area-inset-left,0px)) - 2*clamp(0px,2.4vw,40px)));
  color-scheme:light;
}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
img{display:block}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}
em{font-family:var(--serif);font-style:italic;font-weight:400}
.wrap{width:var(--wrap);margin-inline:auto}
.arrow{width:14px;height:14px;flex:none}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:linear-gradient(180deg,#3c7cc2,#7fb2df);color:#fff;transition:opacity .7s ease .1s,visibility 0s linear .8s}
.loader .logo{height:30px;color:#fff;opacity:0;transform:translateY(6px);animation:ld-in .6s ease forwards}
.loader small{position:absolute;left:clamp(16px,3.4vw,64px);bottom:28px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.8}
.is-ready .loader{opacity:0;visibility:hidden}
@keyframes ld-in{to{opacity:1;transform:none}}

/* ---------- Logo ---------- */
.logo{display:inline-flex;align-items:center;gap:.42em;height:24px;color:var(--brand)}
.logo svg{height:100%;width:auto}
.logo span{font:600 20px/1 var(--sans);letter-spacing:.06em}

/* ---------- Nav ---------- */
.links{display:flex;gap:4px;font-size:14px}
.links a{padding:8px 14px;border-radius:999px;transition:background .3s,color .3s}
.links a:hover{background:var(--mist)}
.links a.on{background:var(--ink);color:#fff}
.btn-line{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px 0 18px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.headroom{position:fixed;inset:0 0 auto;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);transform:translateY(-102%);transition:transform .45s cubic-bezier(.2,.7,.2,1);padding-top:env(safe-area-inset-top,0px)}
.headroom.show{transform:none}
.headroom .inner{height:72px;display:flex;align-items:center;justify-content:space-between;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
@media (min-width:1100px){.headroom .inner{padding-inline:64px}}

/* ---------- Hero ---------- */
.hero{position:sticky;top:var(--stick,-330px);height:var(--hero-h,1240px);z-index:0;overflow:hidden;background:#3d6fc0}
.sky{position:absolute;inset:0;background:linear-gradient(180deg,rgb(19,60,140) 0%,rgb(61,111,192) 45%,rgb(143,175,216) 72%,rgb(201,185,166) 100%)}
.stars{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.hero-top{position:relative;z-index:1;margin:0;padding-top:38px;text-align:center;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.9);height:52px}
.card{position:relative;z-index:1;width:var(--wrap);margin:30px auto 0;height:var(--card-h,853px);
  background:linear-gradient(180deg,#fff 0%,#fff 83.19%,rgba(255,255,255,0) 100%);will-change:opacity}
.bar{display:flex;align-items:center;justify-content:space-between;height:88px;padding:0 32px}
.bar .links{position:absolute;left:50%;top:27px;transform:translateX(-50%)}
.hero h1{margin:0;position:absolute;left:0;right:0;top:156px;text-align:center;font:400 104px/.96 var(--sans);letter-spacing:-.05em;color:var(--ink)}
.hero h1 em{letter-spacing:-.02em}
.h1-line{display:block}
.reveal-l{display:inline-block;transform:translateY(.35em);opacity:0;transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity .9s ease}
.is-ready .reveal-l{transform:none;opacity:1}
.is-ready .h1-line:nth-child(2) .reveal-l{transition-delay:.08s}
.showreel{position:absolute;left:148px;top:472px;display:flex;align-items:center;gap:14px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.showreel .disc{position:relative;width:68px;height:68px;border-radius:50%;padding:4px;background:rgba(14,14,12,.08);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.showreel .disc img{width:60px;height:60px;border-radius:50%;object-fit:cover}
.showreel .disc::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;transform:translateX(2px)}
.showreel:hover .disc{transform:scale(1.06)}
.intro{position:absolute;left:86px;top:588px;z-index:3;width:300px;display:grid;gap:22px}
.intro p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-60)}
.btn-dark{display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 8px 0 22px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:500;width:max-content;transition:background .3s}
.btn-dark .ac{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.btn-dark:hover{background:#26262a}
.btn-dark:hover .ac{transform:rotate(-45deg)}
.keep{position:absolute;right:86px;top:489px;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.mouse{width:12px;height:18px;border:1.4px solid currentColor;border-radius:7px;position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:3px;width:1.4px;height:4px;margin-left:-.7px;background:currentColor;border-radius:2px;animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%,100%{transform:none;opacity:1}60%{transform:translateY(5px);opacity:0}}
.discover{position:absolute;right:86px;top:636px;z-index:3;width:260px;display:grid;gap:14px;font-size:11px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}
.discover p{margin:0}
.discover a{display:inline-flex;align-items:center;gap:10px;letter-spacing:.12em}
.discover a::before{content:"+";font-size:15px;line-height:1;transition:transform .35s}
.discover a:hover::before{transform:rotate(90deg)}

.layer{position:absolute;pointer-events:none;will-change:transform}
.city{z-index:2;left:var(--cx);top:var(--cy);width:var(--cw);height:var(--ch)}
.city .rise{position:absolute;inset:0}
.city img{width:100%;height:100%;object-fit:fill}
.rise{transform:translateY(90px);opacity:0;transition:transform 1.6s cubic-bezier(.16,.8,.2,1) .25s,opacity 1.2s ease .25s}
.is-ready .rise{transform:none;opacity:1}

.pin{position:absolute;z-index:3;left:var(--pin-x);top:var(--pin-y);display:flex;align-items:center;margin-top:-26px;opacity:0;transition:opacity .8s ease 1.3s}
.is-ready .pin{opacity:var(--pin-op,1)}
.pin .dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.4);margin-left:-5px}
.pin .ln{width:118px;height:1px;background:rgba(255,255,255,.9)}
.pin .tag{background:rgba(255,255,255,.92);padding:10px 12px;min-width:205px;font-size:10px;line-height:1.3;color:var(--ink)}
.pin .tag b{display:block;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pin .tag span{color:var(--ink-60);font-size:11px}
.birds{position:absolute;z-index:3;left:var(--birds-x);top:var(--birds-y);width:162px;color:#1f2b48;pointer-events:none;opacity:0;transition:opacity .9s ease 1.3s}
.is-ready .birds{opacity:1}
.birds svg{width:100%;height:auto;overflow:visible}

/* ---------- Sections ---------- */
.content{position:relative;z-index:1;background:var(--paper)}
.sec{padding-block:140px 0}
.head{display:grid;grid-template-columns:1fr 380px;align-items:start;gap:40px;margin-bottom:68px}
.head h2,.h2{margin:22px 0 0;font:400 76px/1.1 var(--sans);letter-spacing:-.04em;text-wrap:balance}
.head h2 em,.h2 em{font-size:82px;letter-spacing:-.02em}
.head p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-60)}
.tlink{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:500;margin-top:26px}
.tlink .arrow{transition:transform .3s}
.tlink:hover .arrow{transform:translateX(4px)}
.ph{overflow:hidden;background:var(--mist)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
a:hover .ph img,.ph:hover img{transform:scale(1.04)}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
.no-io [data-reveal]{opacity:1;transform:none}

/* Featured */
.featured{padding-bottom:120px}
.listing{display:grid;grid-template-columns:880fr 408fr;gap:24px}
.listing .ph{aspect-ratio:880/620}
.spec{background:var(--mist);padding:38px 36px 36px;display:flex;flex-direction:column;min-width:0}
.badge{align-self:flex-start;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;padding:5px 9px}
.spec .where{margin:18px 0 10px;font-size:14px;color:var(--ink-60)}
.spec .price{font:400 52px/1.1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.spec dl{margin:44px 0 0;display:grid}
.spec dl div{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:13px}
.spec dt{color:var(--ink-60)}.spec dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
.spec .acts{margin-top:auto;padding-top:40px;display:flex;gap:8px;flex-wrap:wrap}
.btn{height:44px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;font-size:14px;font-weight:500;border:1px solid var(--line);transition:background .3s,color .3s,border-color .3s}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.dark:hover{background:#2a2a2e}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.gallery figure{margin:0}
.gallery .ph{aspect-ratio:421/260}
.gallery figcaption,.note{margin-top:12px;font-size:13px;color:var(--ink-60)}

/* Night band (listings + CTA) */
.night{position:relative;color:#fff;background:linear-gradient(180deg,var(--night-1) 0%,var(--night-2) 60%,var(--night-3) 100%);overflow:hidden}
.night canvas{position:absolute;inset:0;width:100%;height:100%}
.night .wrap{position:relative}
.night .head p{color:rgba(255,255,255,.6)}
.listings{padding-bottom:140px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card3 .ph{aspect-ratio:421/540;position:relative;background:rgba(255,255,255,.06)}
.pill{position:absolute;left:14px;top:14px;z-index:1;font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:#fff;color:var(--ink);border-radius:999px;padding:6px 10px}
.card3 h3{margin:20px 0 6px;font:400 26px/1.2 var(--sans);letter-spacing:-.02em}
.card3 .meta{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:rgba(255,255,255,.6)}
.card3 .meta b{color:#fff;font-weight:500}

/* Why */
.why{padding-bottom:140px}
.why-grid{display:grid;grid-template-columns:520px 1fr;gap:96px}
.why .h2{font-size:64px;line-height:1.1;margin:0 0 64px}
.why .h2 em{font-size:70px}
.why .ph{aspect-ratio:520/560}
.steps{list-style:none;margin:180px 0 0;padding:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:72px 1fr;padding:34px 0 38px;border-bottom:1px solid var(--line)}
.steps .no{font-size:13px;font-weight:500;color:var(--ink-45);padding-top:6px}
.steps h3{margin:0 0 12px;font:400 28px/1.2 var(--sans);letter-spacing:-.02em}
.steps p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-60);max-width:520px}

/* Locations */
.locations{padding-block:0 140px}
.locations .head{margin-bottom:48px}
.locations .head h2{margin-top:0}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.loc{position:relative;display:block;aspect-ratio:316/480;overflow:hidden;color:#fff;background:var(--mist)}
.loc img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.loc:hover img{transform:scale(1.05)}
.loc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%)}
.loc .pill{background:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);left:20px;top:20px}
.loc .go{position:absolute;right:16px;top:16px;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.22);transition:transform .4s,background .3s}
.loc:hover .go{transform:rotate(-45deg);background:#fff;color:var(--ink)}
.loc .txt{position:absolute;left:24px;bottom:22px;z-index:1}
.loc h3{margin:0;font:400 40px/1.1 var(--sans);letter-spacing:-.03em}
.loc span{display:block;margin-top:6px;font-size:13px;color:rgba(255,255,255,.85)}

/* Numbers */
.numbers{background:var(--mist);padding-block:120px}
.numbers .h2{font-size:64px;margin:0 0 72px}
.numbers .h2 em{font-size:70px}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding-right:24px}
.stat+.stat{border-left:1px solid var(--line);padding-left:28px}
.stat b{display:block;font:400 88px/1 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:14px;font-size:14px;line-height:1.45;color:var(--ink-60);max-width:200px}

/* Notes */
.notes{padding-bottom:160px}
.note-card .ph{aspect-ratio:421/300}
.note-card .m{display:flex;gap:10px;align-items:center;margin-top:22px;font-size:12px;color:var(--ink-45)}
.note-card .m b{font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.note-card h3{margin:12px 0 0;font:400 24px/1.25 var(--sans);letter-spacing:-.02em;text-wrap:pretty}

/* CTA + footer */
.final{background:linear-gradient(180deg,#0a1a52 0%,#13308a 35%,#2b5dbd 62%,#6d97cf 82%,#d2c3ae 100%)}
.cta{text-align:center;padding-block:175px 190px}
.cta h2{margin:0;font:400 104px/1.05 var(--sans);letter-spacing:-.05em}
.cta h2 em{letter-spacing:-.02em}
.cta p{margin:30px 0 0;font-size:15px;color:rgba(255,255,255,.85)}
.cta .row{display:flex;gap:10px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}
.btn.white:hover{background:rgba(255,255,255,.85)}
.btn.outline{border-color:rgba(255,255,255,.55);color:#fff}
.btn.outline:hover{background:#fff;color:var(--ink)}
footer{padding-bottom:28px}
.foot{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:start}
.foot .mark{display:block;width:34px;color:#fff}.foot .mark svg{display:block;width:100%;height:auto}
.foot h4{margin:22px 0 0;font:400 40px/1.1 var(--sans);letter-spacing:-.03em}
.sub{display:flex;align-items:center;gap:6px;margin-top:28px;width:min(100%,330px);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 4px 4px 18px}
.sub input{flex:1;min-width:0;background:none;border:0;outline:0;font-size:13px;color:#fff}
.sub input::placeholder{color:rgba(255,255,255,.6)}
.sub button{height:36px;padding:0 16px;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:500}
.sub-ok{margin-top:12px;font-size:13px;color:rgba(255,255,255,.85);min-height:1.4em}
.cols{display:grid;grid-template-columns:repeat(3,auto);gap:56px;font-size:14px}
.cols h5{margin:0 0 16px;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cols ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cols a:hover{text-decoration:underline;text-underline-offset:3px}
.word{margin:84px 0 34px;font:400 clamp(60px,19.4vw,372px)/.8 var(--sans);letter-spacing:.02em;text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.35) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:rgba(14,14,12,.7)}
.legal nav{display:flex;gap:24px}

/* ---------- Tablet / phone ---------- */
.menu-btn{display:none}
@media (max-width:1099px){
  .bar{padding:0 18px;height:72px}
  .bar .links,.bar .btn-line,.headroom .links{display:none}
  .menu-btn{display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:500}
  .hero h1{top:112px;padding:0 18px;font-size:clamp(42px,10.6vw,84px);line-height:1;text-wrap:balance}
  .showreel,.keep,.discover{display:none}
  .intro{left:20px;right:20px;width:auto;top:var(--intro-top,330px);max-width:420px}
  .pin .ln{width:28px}
  .pin .tag{min-width:0;white-space:nowrap}
  .d-only{display:none}
  .birds{width:110px}
  .sec{padding-top:88px}
  .head{grid-template-columns:1fr;gap:18px;margin-bottom:40px}
  .head h2,.h2{font-size:clamp(40px,9vw,64px);margin-top:0}
  .head h2 em,.h2 em{font-size:1.06em}
  .listing,.why-grid{grid-template-columns:1fr}
  .why-grid{gap:40px}
  .steps{margin-top:0}
  .why .h2,.numbers .h2{font-size:clamp(38px,8.6vw,60px);margin-bottom:36px}
  .why .h2 em,.numbers .h2 em{font-size:1.06em}
  .word{margin-top:56px}
  .cards3,.gallery{grid-template-columns:1fr 1fr}
  .cards4{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr;row-gap:40px}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .stat b{font-size:clamp(52px,12vw,88px)}
  .cta{padding-block:120px}
  .cta h2{font-size:clamp(48px,12vw,104px)}
  .foot{grid-template-columns:1fr}
  .cols{grid-template-columns:repeat(2,auto);justify-content:start;gap:36px}
  .featured,.listings,.why,.notes{padding-bottom:88px}
  .locations{padding-bottom:88px}
  .numbers{padding-block:88px}
}
@media (max-width:640px){
  .cards3,.gallery,.cards4{grid-template-columns:1fr}
  .cards4{grid-template-columns:1fr 1fr;gap:10px}
  .loc h3{font-size:26px}.loc .txt{left:14px;bottom:14px}.loc .pill{left:12px;top:12px;font-size:9px}.loc .go{width:30px;height:30px;right:10px;top:10px}
  .spec{padding:28px 24px}
  .spec .price{font-size:40px}
  .stat+.stat{padding-left:18px}
  .stat span{font-size:13px}
  .cols{grid-template-columns:1fr 1fr}
  .legal{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
  [data-reveal]{opacity:1;transform:none}
}

/* ---------- Mobile drawer ---------- */
.drawer{position:fixed;inset:0;z-index:70;background:rgba(10,18,46,.35);opacity:0;transition:opacity .35s}
.drawer.open{opacity:1}
.drawer .panel{position:absolute;inset:0 0 0 auto;width:min(420px,100%);background:var(--paper);padding:max(20px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 32px 28px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.drawer.open .panel{transform:none}
.drawer .row{display:flex;justify-content:space-between;align-items:center;height:56px}
.drawer .close{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:20px;line-height:1}
.drawer nav{display:grid;margin-top:28px}
.drawer nav a{font:400 32px/1.25 var(--sans);letter-spacing:-.03em;padding:8px 0;border-bottom:1px solid var(--line)}
.drawer .meta{margin-top:auto;font-size:14px;color:var(--ink-60);display:grid;gap:6px}

/* ---------- Subpage header ---------- */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid transparent;transition:border-color .3s}
.topbar.scrolled{border-color:var(--line)}
.topbar .inner{width:var(--wrap);margin:0 auto;height:84px;display:flex;align-items:center;justify-content:space-between;position:relative}
.topbar .links{position:absolute;left:50%;transform:translateX(-50%)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:#fff;z-index:41}

/* ---------- Page hero (subpages) ---------- */
.phero{padding-block:72px 64px}
.crumb{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-45);display:flex;gap:10px;align-items:center}
.crumb a:hover{color:var(--ink)}
.phero .head{margin:22px 0 0}
.phero h1{margin:0;font:400 92px/1.02 var(--sans);letter-spacing:-.05em;text-wrap:balance}
.phero h1 em{letter-spacing:-.02em}
.phero .head p{margin-top:14px}
.banner{margin-top:56px;aspect-ratio:1312/560;overflow:hidden;background:var(--mist)}
.banner img{width:100%;height:100%;object-fit:cover}
.section{padding-block:96px}
.section.tight{padding-top:0}
.kicker{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-45);margin:0 0 18px}
.lead-p{font-size:20px;line-height:1.55;color:var(--ink);max-width:760px;margin:0}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.prose{max-width:760px}
.prose h2{font:400 34px/1.2 var(--sans);letter-spacing:-.03em;margin:56px 0 16px}
.prose h3{font:500 18px/1.4 var(--sans);margin:32px 0 10px}
.prose p,.prose li{font-size:16px;line-height:1.7;color:rgba(14,14,12,.75)}
.prose ul{padding-left:20px}
.prose a{text-decoration:underline;text-underline-offset:3px}
.updated{font-size:13px;color:var(--ink-45)}

/* steps (sell/buy/vendors) */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.flow.three{grid-template-columns:repeat(3,1fr)}
.flow li{list-style:none;border-top:1px solid var(--ink);padding-top:22px}
.flow .no{font-size:13px;font-weight:500;color:var(--ink-45)}
.flow h3{margin:12px 0 10px;font:400 26px/1.2 var(--sans);letter-spacing:-.02em}
.flow p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-60)}
.flow{padding:0;margin:0}

/* price compare */
.compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.compare>div{padding:40px}
.compare>div+div{border-left:1px solid var(--line);background:var(--mist)}
.compare .big{font:400 72px/1 var(--sans);letter-spacing:-.05em;margin:14px 0 8px;font-variant-numeric:tabular-nums}
.compare small{font-size:13px;color:var(--ink-60)}
.calc{display:flex;gap:14px;align-items:center;margin-top:32px;flex-wrap:wrap}
.calc label{font-size:13px;color:var(--ink-60)}
.calc input{height:48px;border:1px solid var(--line);border-radius:999px;padding:0 20px;width:220px;font-size:16px;background:#fff}

/* checklist */
.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.checks li{padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;display:flex;gap:14px}
.checks li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--brand);margin-top:9px}

/* ---------- Inventory ---------- */
.inv-bar{position:sticky;top:84px;z-index:20;background:rgba(255,255,255,.96);border-block:1px solid var(--line);padding-block:14px}
.inv-bar .wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{height:34px;padding:0 16px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-60)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.sel{height:42px;border:1px solid var(--line);border-radius:999px;padding:0 36px 0 16px;font-size:13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230e0e0c' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;color:var(--ink)}
.search{flex:1;min-width:200px;height:42px;border:1px solid var(--line);border-radius:999px;padding:0 18px;font-size:13px}
.inv-meta{display:flex;justify-content:space-between;align-items:center;margin:34px 0 22px;font-size:14px;color:var(--ink-60)}
.inv-meta button{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.inv{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}
.lcard{display:flex;flex-direction:column;min-width:0}
.lcard .ph{aspect-ratio:3/2;position:relative}
.lcard .pill{left:14px;top:14px}
.lcard .row1{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:20px}
.lcard .price{font:400 30px/1.1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.lcard .type{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.lcard h3{margin:8px 0 2px;font:500 16px/1.35 var(--sans)}
.lcard .city{font-size:14px;color:var(--ink-60)}
.lcard .facts{display:flex;gap:18px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink-60);flex-wrap:wrap}
.lcard .facts b{color:var(--ink);font-weight:500}
.lcard .acts{display:flex;gap:8px;margin-top:18px}
.lcard .btn{height:40px;font-size:13px;padding:0 18px}
.empty{padding:80px 0;text-align:center;color:var(--ink-60)}
.disclaim{margin-top:56px;font-size:12px;line-height:1.6;color:var(--ink-45);max-width:760px}

dialog.detail{width:min(1080px,calc(100vw - 32px));max-height:calc(100vh - 48px);border:0;padding:0;background:#fff;color:var(--ink)}
dialog.detail::backdrop{background:rgba(8,16,44,.55)}
.detail .grid{display:grid;grid-template-columns:1.2fr 1fr}
.detail img{width:100%;height:100%;object-fit:cover;min-height:360px}
.detail .body{padding:40px;display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:calc(100vh - 48px)}
.detail .close{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:18px;z-index:2}
.detail .d-price{font:400 44px/1.05 var(--sans);letter-spacing:-.04em}
.detail .d-desc{font-size:15px;line-height:1.6;color:var(--ink-60);margin:6px 0}
.detail dl{margin:8px 0 0;display:grid}
.detail dl div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:13px}
.detail dt{color:var(--ink-60)}.detail dd{margin:0;font-weight:500}
.detail .agent{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ---------- Portfolio / Instagram ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.pcard .frame{aspect-ratio:4/5;background:#0d1a46;overflow:hidden;display:grid;place-items:center}
.pcard .frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .frame img{transform:scale(1.04)}
.pcard .st{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.pcard .st b{color:var(--ink);font-weight:600}
.pcard h3{margin:8px 0 2px;font:500 16px/1.35 var(--sans)}
.pcard p{margin:0;font-size:13px;color:var(--ink-60)}
.ig{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ig a{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#0d1a46}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}
.ig a::after{content:attr(data-cap);position:absolute;inset:auto 0 0 0;padding:40px 14px 14px;font-size:12px;line-height:1.4;color:#fff;background:linear-gradient(transparent,rgba(5,12,40,.85));opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.ig a:hover img{transform:scale(1.05)}
.ig a:hover::after{opacity:1;transform:none}
.ig-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.handle{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.handle svg{width:18px;height:18px}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px}
.member .ph{aspect-ratio:4/5;background:#2a2d33}
.member .ph img{object-position:50% 20%}
.member .role{margin-top:18px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45)}
.member h3{margin:8px 0 10px;font:400 26px/1.15 var(--sans);letter-spacing:-.02em}
.member .ct{display:grid;gap:4px;font-size:14px;color:var(--ink-60)}
.member .ct a:hover{color:var(--ink)}
.lead-member{display:grid;grid-template-columns:420px 1fr;gap:72px;align-items:end}
.lead-member .ph{aspect-ratio:4/5}
.lead-member h2{font:400 64px/1.05 var(--sans);letter-spacing:-.04em;margin:10px 0 18px}
.badges{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap}
.badges div{border-top:1px solid var(--ink);padding-top:12px;min-width:150px}
.badges b{display:block;font:400 36px/1 var(--sans);letter-spacing:-.03em}
.badges span{font-size:13px;color:var(--ink-60)}
.partner{display:flex;justify-content:space-between;gap:24px;align-items:center;border:1px solid var(--line);padding:28px 32px;flex-wrap:wrap}

/* ---------- Contact / forms ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}
.cinfo{display:grid;gap:28px;align-content:start}
.cinfo h3{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-45)}
.cinfo p{margin:0;font-size:18px;line-height:1.5}
.copy{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;margin-left:8px;vertical-align:middle}
form.lead{background:var(--mist);padding:40px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--ink-60)}
.field input,.field select,.field textarea{height:48px;border:1px solid var(--line);background:#fff;padding:0 14px;font-size:15px;border-radius:2px}
.field textarea{height:120px;padding:12px 14px;resize:vertical}
.field [aria-invalid="true"]{border-color:#b3261e}
.consent{display:flex;gap:12px;font-size:12px;line-height:1.55;color:var(--ink-60)}
.consent input{margin-top:3px;flex:none;width:16px;height:16px}
.form-msg{min-height:1.4em;font-size:13px;color:#b3261e;margin:6px 0 0}
.done{text-align:left}
.done h3{font:400 34px/1.2 var(--sans);letter-spacing:-.03em;margin:0 0 10px}
.done p{color:var(--ink-60);margin:0 0 22px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--ink)}
.faq>div{border-bottom:1px solid var(--line)}
.faq button{width:100%;text-align:left;display:flex;justify-content:space-between;gap:24px;padding:26px 0;font:400 22px/1.35 var(--sans);letter-spacing:-.01em}
.faq button::after{content:"+";font-size:24px;line-height:1;transition:transform .3s}
.faq button[aria-expanded="true"]::after{transform:rotate(45deg)}
.faq .a{padding:0 0 28px;max-width:720px;font-size:16px;line-height:1.65;color:var(--ink-60)}

/* legal footer row */
.legal nav{flex-wrap:wrap}
.eho{display:inline-flex;align-items:center;gap:8px}
.eho svg{width:16px;height:16px}

@media (max-width:1099px){
  .topbar .links,.topbar .btn-line{display:none}
  .topbar .inner{height:68px}
  .inv-bar{top:68px}
  .phero{padding-block:40px 40px}
  .phero h1{font-size:clamp(44px,11vw,72px)}
  .banner{aspect-ratio:4/3;margin-top:32px}
  .section{padding-block:64px}
  .cols2,.contact-grid,.lead-member,.detail .grid{grid-template-columns:1fr;gap:40px}
  .flow,.flow.three{grid-template-columns:1fr 1fr}
  .compare{grid-template-columns:1fr}.compare>div+div{border-left:0;border-top:1px solid var(--line)}
  .checks{grid-template-columns:1fr}
  .inv{grid-template-columns:1fr 1fr}
  .pgrid,.team{grid-template-columns:1fr 1fr}
  .ig{grid-template-columns:repeat(3,1fr)}
  .lead-member h2{font-size:clamp(40px,9vw,56px)}
  .detail img{min-height:240px;max-height:320px}
  .detail .body{padding:28px 24px}
}
@media (max-width:640px){
  .flow,.flow.three,.inv{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr;gap:22px 12px}
  .team{grid-template-columns:1fr 1fr;gap:28px 12px}
  .member h3{font-size:20px}
  .fields{grid-template-columns:1fr}
  form.lead{padding:24px}
  .compare>div{padding:28px}
  .compare .big{font-size:52px}
  .inv-bar .wrap{gap:8px}
  .search{min-width:100%;order:-1}
  .ig{grid-template-columns:repeat(2,1fr)}
}

/* ================= v2: polish layer ================= */
html{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}

/* ---------- Logo: arch draws, roof settles, windows pop (every logo on hover, legal marks on load) ---------- */
.logo svg path:nth-of-type(1),.mark svg path:nth-of-type(1),.lmark svg path:nth-of-type(1){stroke-dasharray:820;stroke-dashoffset:0}
.logo svg path:nth-of-type(2),.logo svg path:nth-of-type(3){transform-box:fill-box;transform-origin:50% 0}
.logo svg rect,.mark svg rect,.lmark svg rect{transform-box:fill-box;transform-origin:50% 50%}
.logo:hover svg path:nth-of-type(1),.pw-logo:hover svg path:nth-of-type(1){animation:arch 1.1s cubic-bezier(.65,0,.35,1)}
.logo:hover svg path:nth-of-type(2){animation:roof .7s cubic-bezier(.3,1.4,.5,1)}
.logo:hover svg path:nth-of-type(3){animation:roof .7s cubic-bezier(.3,1.4,.5,1) .06s}
.logo:hover svg rect,.pw-logo:hover svg rect{animation:win .55s cubic-bezier(.3,1.6,.5,1) both}
.logo svg rect:nth-of-type(2),.mark svg rect:nth-of-type(2),.lmark svg rect:nth-of-type(2){animation-delay:.08s!important}
.logo svg rect:nth-of-type(3),.mark svg rect:nth-of-type(3),.lmark svg rect:nth-of-type(3){animation-delay:.16s!important}
.logo svg rect:nth-of-type(4),.mark svg rect:nth-of-type(4),.lmark svg rect:nth-of-type(4){animation-delay:.24s!important}
.logo span{display:inline-block;transition:letter-spacing .6s cubic-bezier(.2,.7,.2,1)}
.logo:hover span{letter-spacing:.12em}
@keyframes arch{0%{stroke-dashoffset:820}100%{stroke-dashoffset:0}}
@keyframes roof{0%{transform:translateY(-14%)}100%{transform:none}}
@keyframes win{0%{transform:scale(0);opacity:0}100%{transform:none;opacity:1}}
.mark:hover svg rect{animation:win .55s cubic-bezier(.3,1.6,.5,1) both}
.mark:hover svg path:nth-of-type(1){animation:arch 1.1s cubic-bezier(.65,0,.35,1)}

/* ---------- Caldren buttons: label rolls up, arrow swaps ---------- */
.roll{display:inline-block;position:relative;overflow:hidden;vertical-align:top;line-height:1.25;height:1.25em}
.roll>span{display:block;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.roll>span::after{content:attr(data-t);display:block}
a:hover>.roll>span,button:hover>.roll>span,a:focus-visible>.roll>span{transform:translateY(-50%)}
.btn-dark:hover .roll,.btn:hover .roll,.btn-line:hover .roll{opacity:1}
.btn-dark .ac{overflow:hidden;position:relative}
.btn-dark .ac .arrow{transition:transform .55s cubic-bezier(.7,0,.2,1)}
.btn-dark .ac .arrow+.arrow{position:absolute;inset:0;margin:auto;transform:translateX(-26px)}
.btn-dark:hover .ac{transform:none}
.btn-dark:hover .ac .arrow:first-child{transform:translateX(26px)}
.btn-dark:hover .ac .arrow+.arrow{transform:none}
.btn-dark{transition:background .4s,color .4s}
.btn-dark:hover{background:#1d1d21}
.btn-dark:hover .roll{color:rgba(255,255,255,.8)}
.btn-line .arrow,.tlink .arrow{transition:transform .5s cubic-bezier(.7,0,.2,1)}
.btn-line:hover .arrow{transform:translateX(3px) rotate(-45deg)}

/* ---------- Video lightbox ---------- */
dialog.vbox{width:min(1120px,calc(100vw - 32px));aspect-ratio:16/9;max-height:calc(100vh - 64px);border:0;padding:0;background:#000;border-radius:18px;overflow:visible;opacity:0;transform:scale(.96);transition:opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1)}
dialog.vbox[open]{opacity:1;transform:none}
@starting-style{dialog.vbox[open]{opacity:0;transform:scale(.96)}}
dialog.vbox::backdrop{background:rgba(5,9,24,.97)}
.vbox .frame{position:absolute;inset:0;border-radius:18px;overflow:hidden;background:#000 url("../photos/hero-city-notower.webp") center/cover}
.vbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vbox .vfall{position:absolute;left:50%;bottom:-44px;transform:translateX(-50%);font-size:13px;color:rgba(255,255,255,.75);text-decoration:underline;text-underline-offset:3px}
.vbox .close{position:absolute;right:-6px;top:-52px;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);font-size:20px;line-height:1;transition:transform .4s}
.vbox .close:hover{transform:rotate(90deg)}
.showreel .disc::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(14,14,12,.25);animation:ring 2.4s ease-out infinite}
@keyframes ring{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.35);opacity:0}}

/* ---------- Image wipes on reveal ---------- */
[data-reveal] .wipe img,[data-reveal].wipe img{clip-path:inset(0 0 100% 0);transform:scale(1.12);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1),transform 1.8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in .wipe img,[data-reveal].in.wipe img{clip-path:inset(0);transform:none}
[data-reveal].in .gallery figure:nth-child(2) img,.gallery.in figure:nth-child(2) .wipe img{transition-delay:.12s}
.gallery.in figure:nth-child(3) .wipe img{transition-delay:.24s}
.no-io .wipe img{clip-path:none;transform:none}
.listing .ph,.gallery .ph,.spec,.note-card .ph,.why .ph,.banner,.member .ph,.loc,.card3 .ph{border-radius:14px}
.featured .ph:hover img{transform:scale(1.03)}
.fine{margin:22px 0 0;font-size:12px;color:var(--ink-45)}
.fine.light{color:rgba(255,255,255,.5);margin-top:28px}

/* ---------- Commercial pinwheel ---------- */
.commercial{padding-bottom:140px}
.pinwheel{display:grid;grid-template-columns:1fr .56fr 1fr;grid-template-rows:1fr .5fr 1fr;gap:14px;height:min(900px,70vw)}
.pw-a{grid-column:1;grid-row:1/3}
.pw-b{grid-column:2/4;grid-row:1}
.pw-logo{grid-column:2;grid-row:2}
.pw-d{grid-column:3;grid-row:2/4}
.pw-c{grid-column:1/3;grid-row:3}
.pw{position:relative;display:block;overflow:hidden;border-radius:18px;background:#0b1640;isolation:isolate;color:#fff}
.pw img,.pw video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s cubic-bezier(.2,.7,.2,1),filter 1s}
.pw::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,10,30,0) 40%,rgba(5,10,30,.7) 100%);opacity:.55;transition:opacity .8s}
.pw:hover img,.pw:hover video{transform:scale(1.1);filter:saturate(1.08)}
.pw:hover::after{opacity:1}
.pw-tag{position:absolute;left:18px;top:18px;z-index:2;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.pw:hover .pw-tag{opacity:0;transform:translateY(-8px)}
.pw-go{position:absolute;right:16px;top:16px;z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);transition:background .5s,color .5s,transform .7s cubic-bezier(.2,.7,.2,1)}
.pw:hover .pw-go{background:#fff;color:var(--ink);transform:rotate(45deg)}
.pw-cap{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:grid;gap:6px;padding:22px 24px 22px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  transform:translateY(calc(100% + 20px));transition:transform .85s cubic-bezier(.2,.8,.2,1)}
.pw:hover .pw-cap,.pw:focus-visible .pw-cap{transform:none}
.pw-cap>span{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1)}
.pw:hover .pw-cap>span,.pw:focus-visible .pw-cap>span{opacity:1;transform:none}
.pw:hover .pw-cap>span:nth-child(2){transition-delay:.08s}.pw:hover .pw-cap>span:nth-child(3){transition-delay:.16s}.pw:hover .pw-cap>span:nth-child(4){transition-delay:.24s}
.pw-cap .k{font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.pw-cap .t{font:400 clamp(26px,2.5vw,38px)/1.05 var(--serif);font-style:italic;letter-spacing:-.01em}
.pw-cap .l{font-size:13px;color:rgba(255,255,255,.82);letter-spacing:.01em}
.pw-cap .v{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.pw-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(120% 120% at 50% 0%,rgba(255,255,255,.08),rgba(255,255,255,0) 70%)}
.pw-logo .mark{width:clamp(44px,4.6vw,66px);color:#fff}
.pw-logo .mark svg{display:block;width:100%;height:auto}
.pw-logo .pw-word{font:600 clamp(16px,1.6vw,22px)/1 var(--sans);letter-spacing:.32em;margin-right:-.32em}
.pw-logo .pw-sub{font:400 15px/1 var(--serif);font-style:italic;color:rgba(255,255,255,.6)}
.pinwheel.in .pw{animation:pwin 1.2s cubic-bezier(.2,.7,.2,1) both}
.pinwheel.in .pw-b{animation-delay:.1s}.pinwheel.in .pw-d{animation-delay:.2s}.pinwheel.in .pw-c{animation-delay:.3s}
.pinwheel.in .pw-logo{animation:pwlogo 1.2s cubic-bezier(.2,.7,.2,1) .45s both}
@keyframes pwin{from{clip-path:inset(12% 12% 12% 12% round 18px);opacity:0}to{clip-path:inset(0 round 18px);opacity:1}}
@keyframes pwlogo{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@media (hover:none){.pw-cap,.pw-cap>span{transform:none;opacity:1}.pw-tag{display:none}.pw::after{opacity:1}.pw-cap .t{font-size:24px}}

/* ---------- Why: info cards animate in, one after another ---------- */
.steps{border-top:0;display:grid;gap:14px;counter-reset:st}
.steps li{position:relative;grid-template-columns:72px 1fr;padding:30px 32px 32px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;
  opacity:0;transform:translateX(60px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .5s}
.steps li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);transform:scaleY(0);transform-origin:top;transition:transform .9s cubic-bezier(.7,0,.2,1)}
.steps li::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 100% 0%,rgba(59,123,191,.09),transparent 60%);opacity:0;transition:opacity .6s}
.steps.in li{opacity:1;transform:none}
.steps.in li:nth-child(2){transition-delay:.14s,.14s,0s,0s}.steps.in li:nth-child(3){transition-delay:.28s,.28s,0s,0s}.steps.in li:nth-child(4){transition-delay:.42s,.42s,0s,0s}
.steps li:hover{box-shadow:0 30px 60px -30px rgba(12,30,80,.25);border-color:rgba(59,123,191,.35);transform:translateY(-4px)}
.steps li:hover::before{transform:scaleY(1)}.steps li:hover::after{opacity:1}
.steps .no{font:400 30px/1 var(--serif);font-style:italic;color:var(--brand);padding-top:0}
.steps li.lit::before{transform:scaleY(1)}
.no-io .steps li{opacity:1;transform:none}

/* ---------- Locations: video fades in on hover ---------- */
.loc video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1.4s ease}
.loc img{position:relative;z-index:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity 1.4s ease}
.loc.playing video{opacity:1}
.loc.playing img{opacity:0}
.loc::after{z-index:0}
.loc .txt h3{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.loc:hover .txt h3{transform:translateY(-4px)}

/* ---------- Instagram band ---------- */
.igband{padding-block:140px 150px;background:#0a1230;color:#fff;overflow:hidden;position:relative}
.igband::before{content:"";position:absolute;inset:-20% -10% auto;height:70%;background:radial-gradient(50% 60% at 50% 0%,rgba(59,123,191,.35),transparent 70%);pointer-events:none}
.ig-top{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-bottom:64px;position:relative}
.ig-top .h2{margin:0;color:#fff}
.ig-top .kicker{color:rgba(255,255,255,.5)}
.ig-side{max-width:360px;display:grid;gap:22px}
.ig-side p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.65)}
.igband .btn-dark{background:#fff;color:var(--ink)}
.igband .btn-dark .ac{background:var(--ink);color:#fff}
.igband .btn-dark:hover{background:rgba(255,255,255,.88)}
.igband .btn-dark:hover .roll{color:var(--ink)}
.rail{display:grid;gap:16px;position:relative;-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;gap:16px;width:max-content;animation:rail 70s linear infinite}
.track.rev{animation-direction:reverse;animation-duration:80s}
@keyframes rail{to{transform:translateX(-50%)}}
.igt{position:relative;flex:none;width:clamp(240px,24vw,360px);aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:#111a3e}
.igt img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s}
.igt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,8,26,.85));opacity:0;transition:opacity .6s}
.igt:hover img{transform:scale(1.06)}
.igt:hover::after{opacity:1}
.igc{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:grid;gap:2px;font-size:15px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1)}
.igc b{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.igc i{font:400 15px/1.2 var(--serif);font-style:italic;color:rgba(255,255,255,.8)}
.igt:hover .igc{opacity:1;transform:none}
.igi{position:absolute;right:14px;top:14px;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .5s}
.igi svg{width:16px;height:16px}
.igt:hover .igi{opacity:1}

/* ---------- Listings / portfolio cards ---------- */
.lcard .ph{border-radius:14px;isolation:isolate}
.lcard .ph img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.lcard{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lcard .btn{border-radius:999px}
.pcard .frame{aspect-ratio:3/2;border-radius:14px;background:var(--mist)}
.pgrid{grid-template-columns:repeat(3,1fr);gap:40px 24px}
.pcard .st b{color:var(--brand)}

/* ---------- Legal pages ---------- */
.legal-hero{padding-bottom:40px}
.lh{display:flex;align-items:center;gap:36px;margin-top:30px}
.lmark{flex:none;width:clamp(72px,8vw,112px);color:var(--brand);cursor:pointer}
.lmark svg{display:block;width:100%;height:auto;overflow:visible}
.lmark svg path:nth-of-type(1){animation:arch 1.6s cubic-bezier(.65,0,.35,1) .2s both}
.lmark svg path:nth-of-type(2),.lmark svg path:nth-of-type(3){transform-box:fill-box;transform-origin:50% 0;animation:roof 1s cubic-bezier(.3,1.4,.5,1) .5s both}
.lmark svg rect{animation:win .6s cubic-bezier(.3,1.6,.5,1) .9s both}
.lmark:hover svg path:nth-of-type(1){animation:arch 1.1s cubic-bezier(.65,0,.35,1)}
.lmark:hover svg rect{animation:win .55s cubic-bezier(.3,1.6,.5,1) both}
.lh h1{margin:0;font:400 clamp(44px,7vw,92px)/1 var(--sans);letter-spacing:-.05em}
.lswitch{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}
.lswitch a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;transition:background .3s,color .3s}
.lswitch a:hover,.lswitch a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.legal-grid{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start;border-top:1px solid var(--line);padding-top:48px}
.toc{position:sticky;top:116px;display:grid;gap:2px}
.toc a{display:flex;gap:12px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--ink-60);transition:background .3s,color .3s}
.toc a span{font-variant-numeric:tabular-nums;color:var(--ink-45)}
.toc a:hover{background:var(--mist);color:var(--ink)}
.toc a.on{background:var(--ink);color:#fff}.toc a.on span{color:rgba(255,255,255,.6)}
.legal-grid .prose h2{scroll-margin-top:110px}
.legal-grid .prose>.updated:first-child{margin-top:0}

/* ---------- App page ---------- */
.app-hero{background:#f6f4ef;padding:64px 0 0;overflow:hidden;position:relative}
.ah-copy{text-align:center;max-width:820px;margin:34px auto 0}
.chip{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;color:var(--ink-60)}
.chip b{background:var(--brand);color:#fff;border-radius:999px;padding:3px 9px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.ah-copy h1{margin:22px 0 0;font:600 clamp(48px,7.4vw,104px)/.98 var(--sans);letter-spacing:-.055em}
.ah-copy h1 em{font-weight:400;letter-spacing:-.02em}
.ah-copy p{margin:22px auto 0;max-width:560px;font-size:17px;line-height:1.55;color:var(--ink-60)}
.stores{display:flex;gap:10px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px 0 16px;border-radius:14px;background:var(--ink);color:#fff;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.store svg{width:26px;height:26px}
.store span{display:grid;font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.05;text-align:left}
.store small{font-size:10px;font-weight:400;letter-spacing:.02em;opacity:.75}
.store:hover{transform:translateY(-3px);box-shadow:0 18px 30px -14px rgba(14,14,12,.5)}
.stores.dark-sm{justify-content:flex-start;margin-top:22px}
.stores.dark-sm .store{height:48px;border-radius:12px}
.stores.dark-sm .store span{font-size:15px}
.stage{position:relative;height:clamp(520px,58vw,760px);margin-top:70px;display:flex;justify-content:center;align-items:flex-start}
.rings{position:absolute;left:50%;top:44%;width:1500px;height:1500px;transform:translate(-50%,-50%);border-radius:50%;
  background:repeating-radial-gradient(circle,rgba(59,123,191,0) 0 38px,rgba(59,123,191,.16) 38px 39px),radial-gradient(circle,rgba(120,170,235,.45),rgba(246,244,239,0) 55%);
  -webkit-mask-image:radial-gradient(circle,#000 20%,transparent 62%);mask-image:radial-gradient(circle,#000 20%,transparent 62%);animation:pulse 8s ease-in-out infinite}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.04)}}
.iphone{position:relative;width:300px;aspect-ratio:9/19.4;border-radius:52px;padding:11px;background:linear-gradient(145deg,#2c2c30,#0d0d0f 40%,#1c1c20);
  box-shadow:inset 0 0 0 1.5px #4a4a50,inset 0 0 0 4px #0b0b0d,0 2px 2px rgba(255,255,255,.08) inset,0 50px 90px -30px rgba(12,24,70,.55),0 30px 40px -30px rgba(0,0,0,.6)}
.iphone::before{content:"";position:absolute;left:50%;top:22px;width:96px;height:28px;border-radius:20px;background:#000;transform:translateX(-50%);z-index:3}
.iphone::after{content:"";position:absolute;right:-3px;top:150px;width:3px;height:74px;border-radius:0 3px 3px 0;background:#2a2a2e}
.iphone .screen{position:relative;height:100%;border-radius:42px;overflow:hidden;background:#fff}
.iphone .screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.stage .iphone{position:absolute;top:0;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),opacity 1.2s}
.p-c{z-index:2;width:330px;animation:bob 7s ease-in-out infinite}
.p-l{z-index:1;transform:translateX(-300px) translateY(70px) rotate(-8deg)}
.p-r{z-index:1;transform:translateX(300px) translateY(70px) rotate(8deg)}
@keyframes bob{50%{translate:0 -12px}}
.float{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 40px -24px rgba(12,24,70,.45);font-size:13px;color:var(--ink-60)}
.float b{font:400 28px/1 var(--sans);letter-spacing:-.04em;color:var(--ink)}
.f1{left:calc(50% - 470px);top:46%;animation:bob 6s ease-in-out infinite .6s}
.f2{left:calc(50% + 230px);top:20%;animation:bob 7.5s ease-in-out infinite 1.2s}
.f2 .dot{width:8px;height:8px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 4px rgba(34,160,107,.18)}
.app-dark{position:relative;background:#09090b;color:#fff;padding:280px 0 160px;overflow:hidden}
.arc{position:absolute;left:50%;top:-560px;width:1800px;height:800px;transform:translateX(-50%);border-radius:50%;background:#f6f4ef;box-shadow:0 30px 60px 10px rgba(30,100,255,.85),0 70px 120px 30px rgba(30,90,230,.45)}
.ad-head{text-align:center;max-width:760px;margin:0 auto 90px;position:relative}
.ad-head h2{margin:0;font:600 clamp(40px,5.6vw,76px)/1.02 var(--sans);letter-spacing:-.05em}
.ad-head h2 em{font-weight:400}
.ad-head p{margin:18px 0 0;font-size:16px;color:rgba(255,255,255,.6)}
.tour{display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:start}
.tour-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tour-steps li{display:grid;grid-template-columns:64px 1fr;padding:30px 30px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);opacity:.45;transition:opacity .6s,background .6s,border-color .6s;cursor:pointer;min-height:180px;align-content:center}
.tour-steps li.on{opacity:1;background:linear-gradient(135deg,rgba(59,123,191,.22),rgba(255,255,255,.03));border-color:rgba(120,170,235,.35)}
.tour-steps .no{font:400 28px/1 var(--serif);font-style:italic;color:#8fb6ea}
.tour-steps h3{margin:0 0 10px;font:500 24px/1.2 var(--sans);letter-spacing:-.02em}
.tour-steps p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.62)}
.tour-phone{position:sticky;top:calc(50vh - 360px);display:grid;place-items:center}
.iphone.big{width:340px}
.tour-phone .screen img{opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.tour-phone .screen img.on{opacity:1;transform:none}
.app-feats{background:#f6f4ef}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fcard{padding:34px 32px 36px;border-radius:18px;background:#fff;border:1px solid rgba(14,14,12,.06);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;opacity:0;transform:translateY(30px)}
.fgrid.in .fcard{opacity:1;transform:none;transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.fgrid.in .fcard:nth-child(2){transition-delay:.08s}.fgrid.in .fcard:nth-child(3){transition-delay:.16s}.fgrid.in .fcard:nth-child(4){transition-delay:.24s}.fgrid.in .fcard:nth-child(5){transition-delay:.32s}.fgrid.in .fcard:nth-child(6){transition-delay:.4s}
.fgrid.in .fcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(12,24,70,.3);transition-delay:0s}
.fcard .fn{font:400 26px/1 var(--serif);font-style:italic;color:var(--brand)}
.fcard h3{margin:26px 0 10px;font:500 22px/1.2 var(--sans);letter-spacing:-.02em}
.fcard p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-60)}
.no-io .fcard{opacity:1;transform:none}

@media (max-width:1099px){
  .pinwheel{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto;gap:10px}
  .pw-a,.pw-b,.pw-c,.pw-d,.pw-logo{grid-column:auto;grid-row:auto}
  .pw{aspect-ratio:3/4}.pw-b,.pw-c{grid-column:1/-1;aspect-ratio:16/10}
  .pw-logo{grid-column:1/-1;order:-1;padding:28px;flex-direction:row}
  .pw-b{order:1}.pw-a{order:2}.pw-d{order:3}.pw-c{order:4}
  .pw-cap{padding:16px 18px}
  .legal-grid{grid-template-columns:1fr;gap:24px}
  .toc{position:static;grid-template-columns:1fr 1fr}
  .lh{gap:22px;align-items:flex-start}
  .tour{grid-template-columns:1fr}
  .tour-phone{display:none}
  .tour-steps li{opacity:1;min-height:0}
  .tour-steps li::after{content:"";display:block}
  .fgrid{grid-template-columns:1fr 1fr}
  .stage{height:600px}
  .p-l{transform:translateX(-190px) translateY(60px) rotate(-8deg) scale(.82)}
  .p-r{transform:translateX(190px) translateY(60px) rotate(8deg) scale(.82)}
  .f1,.f2{display:none}
  .pgrid{grid-template-columns:1fr 1fr}
  .igband{padding-block:96px}
  .steps li{padding:24px 22px}
}
@media (max-width:640px){
  .pw{aspect-ratio:3/4}
  .pw-cap .t{font-size:20px}.pw-cap .l{font-size:12px}.pw-cap{left:8px;right:8px;bottom:8px;padding:12px 14px;gap:3px}.pw-cap .k,.pw-cap .v{font-size:9px}
  .toc{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .iphone{width:220px;border-radius:40px;padding:8px}.iphone .screen{border-radius:33px}.iphone::before{width:70px;height:20px;top:16px}
  .p-c{width:240px}
  .p-l{transform:translateX(-120px) translateY(50px) rotate(-8deg) scale(.78)}
  .p-r{transform:translateX(120px) translateY(50px) rotate(8deg) scale(.78)}
  .stage{height:520px;margin-top:48px}
  .pgrid{grid-template-columns:1fr}
  .arc{width:1100px;top:-640px}
  .app-dark{padding:130px 0 100px}
}
@media (prefers-reduced-motion:reduce){.track{animation:none}.steps li,.fcard{opacity:1;transform:none}}
.inv-meta .seg button{text-decoration:none}

/* ---------- Contact portal ---------- */
.ct-hero{padding:72px 0 56px}
.ct-head{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:end;margin-top:22px}
.ct-head h1{margin:0;font:400 clamp(52px,8vw,112px)/.98 var(--sans);letter-spacing:-.055em}
.ct-head h1 em{letter-spacing:-.02em}
.ct-side p{margin:16px 0 0;font-size:15px;line-height:1.55;color:var(--ink-60)}
.faces{display:flex}
.faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid #fff;margin-left:-12px;box-shadow:0 6px 14px -6px rgba(0,0,0,.35);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.faces img:first-child{margin-left:0}
.faces:hover img{transform:translateY(-4px)}
.faces:hover img:nth-child(2){transition-delay:.04s}.faces:hover img:nth-child(3){transition-delay:.08s}.faces:hover img:nth-child(4){transition-delay:.12s}.faces:hover img:nth-child(5){transition-delay:.16s}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.qk{display:flex;align-items:center;gap:14px;padding:18px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:background .4s,color .4s,border-color .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.qk>span:nth-child(2){flex:1;min-width:0;display:grid;gap:2px}
.qk small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45);transition:color .4s}
.qk b{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qi{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--mist);color:var(--brand);transition:background .4s,color .4s}
.qi svg{width:20px;height:20px}
.qk .arrow{opacity:.4;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s}
.qk:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-3px)}
.qk:hover small{color:rgba(255,255,255,.55)}.qk:hover .qi{background:rgba(255,255,255,.1);color:#fff}
.qk:hover .arrow{opacity:1;transform:translateX(3px) rotate(-45deg)}
.ct-portal{background:var(--mist);padding:72px 0 120px}
.ct-grid{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start}
.portal{position:relative;background:#fff;border-radius:24px;padding:40px 48px 30px;box-shadow:0 40px 80px -50px rgba(12,24,70,.35);min-height:620px;display:flex;flex-direction:column;overflow:hidden}
.pt-top{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--ink-45);letter-spacing:.06em}
.pt-back{font-size:13px;color:var(--ink);padding:6px 12px;border-radius:999px;border:1px solid var(--line);transition:background .3s,color .3s}
.pt-back:hover{background:var(--ink);color:#fff}
.pt-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.pt-bar{flex:1;height:3px;border-radius:3px;background:var(--mist);overflow:hidden}
.pt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#6aa3e0);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pt-stage{position:relative;flex:1;margin-top:40px;transition:min-height .4s}
.pt-step{opacity:0;transform:translateX(calc(var(--d,1)*40px));transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.pt-step.in{opacity:1;transform:none}
.pt-step.out{position:absolute;inset:0 0 auto;opacity:0;transform:translateX(calc(var(--d,1)*-40px));pointer-events:none}
.pt-q{margin:0;font:400 clamp(30px,3.4vw,46px)/1.08 var(--sans);letter-spacing:-.04em;text-wrap:balance}
.pt-s{margin:12px 0 0;font-size:15px;color:var(--ink-60)}
.opts{display:grid;gap:10px;margin-top:32px}
.opts.big,.opts.intents{grid-template-columns:repeat(2,1fr)}
.opts.chips{display:flex;flex-wrap:wrap}
.opt{position:relative;display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:16px;padding:20px 22px;font-size:16px;background:#fff;transition:border-color .3s,background .3s,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.opts.chips .opt{border-radius:999px;padding:13px 20px 13px 14px;font-size:15px}
.opt:hover{border-color:rgba(59,123,191,.5);transform:translateY(-2px);box-shadow:0 16px 30px -22px rgba(12,24,70,.4)}
.opt.sel{border-color:var(--brand);background:rgba(59,123,191,.06);box-shadow:inset 0 0 0 1px var(--brand)}
.opt .key{flex:none;width:22px;height:22px;border-radius:6px;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:var(--ink-45);font-variant-numeric:tabular-nums;transition:background .3s,color .3s,border-color .3s}
.opt.sel .key{background:var(--brand);border-color:var(--brand);color:#fff}
.opts.big .opt{min-height:96px;font-size:18px}
.card-opt{padding:22px;min-height:110px}
.card-opt .oi{flex:none;width:48px;height:48px;border-radius:14px;background:var(--mist);color:var(--brand);display:grid;place-items:center;transition:background .4s,color .4s,transform .6s cubic-bezier(.3,1.5,.5,1)}
.card-opt .oi svg{width:24px;height:24px}
.card-opt .ot{flex:1;display:grid;gap:4px}
.card-opt b{font-weight:500;font-size:18px;letter-spacing:-.01em}
.card-opt small{font-size:13px;color:var(--ink-60)}
.card-opt .key{position:absolute;right:14px;top:14px}
.card-opt:hover .oi,.card-opt.sel .oi{background:var(--brand);color:#fff;transform:rotate(-6deg) scale(1.06)}
.pt-step.in .opt{animation:optin .6s cubic-bezier(.2,.7,.2,1) both}
.pt-step.in .opt:nth-child(2){animation-delay:.04s}.pt-step.in .opt:nth-child(3){animation-delay:.08s}.pt-step.in .opt:nth-child(4){animation-delay:.12s}.pt-step.in .opt:nth-child(5){animation-delay:.16s}.pt-step.in .opt:nth-child(6){animation-delay:.2s}.pt-step.in .opt:nth-child(7){animation-delay:.24s}
@keyframes optin{from{opacity:0;transform:translateY(14px)}}
.rng{margin-top:34px}
.rng-v{font:400 clamp(48px,6vw,80px)/1 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.rng input{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;margin:28px 0 30px;background:linear-gradient(90deg,var(--brand) var(--p,20%),var(--mist) var(--p,20%));outline:0}
.rng input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 16px rgba(12,24,70,.25);cursor:grab}
.rng input::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 16px rgba(12,24,70,.25);cursor:grab}
.rng-keep{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}
.rng-keep>div{padding:16px 18px;border-radius:14px;background:var(--mist);display:grid;gap:6px}
.rng-keep small{font-size:12px;color:var(--ink-60)}
.rng-keep b{font:400 26px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rng-keep .win{background:var(--ink);color:#fff}.rng-keep .win small{color:rgba(255,255,255,.6)}
.pt-field{display:flex;gap:10px;margin-top:32px}
.pt-field input{flex:1;height:56px;border:1px solid var(--line);border-radius:14px;padding:0 20px;font-size:17px;outline:0;transition:border-color .3s,box-shadow .3s}
.pt-field input:focus,.fl input:focus,.fl textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(59,123,191,.12)}
.pt-field .btn,.pt-step>.btn,.rng .btn{height:56px;padding:0 28px;border-radius:14px}
.pt-skip{margin-top:14px;font-size:13px;color:var(--ink-60);text-decoration:underline;text-underline-offset:3px}
.pt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.fl{position:relative;display:block}
.fl.full{grid-column:1/-1}
.fl input,.fl textarea{width:100%;height:60px;border:1px solid var(--line);border-radius:14px;padding:24px 18px 8px;font-size:16px;outline:0;background:#fff;transition:border-color .3s,box-shadow .3s;resize:none}
.fl textarea{height:auto;min-height:110px;padding-top:30px;font-family:inherit}
.fl span{position:absolute;left:19px;top:19px;font-size:15px;color:var(--ink-45);pointer-events:none;transition:transform .3s cubic-bezier(.2,.7,.2,1),font-size .3s,color .3s;transform-origin:left}
.fl input:focus+span,.fl input:not(:placeholder-shown)+span,.fl textarea:focus+span,.fl textarea:not(:placeholder-shown)+span{transform:translateY(-11px);font-size:11px;color:var(--brand);letter-spacing:.04em}
.fl [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 4px rgba(179,38,30,.1)}
.fl.msg{margin-top:14px}
.pt-mini{margin:24px 0 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}
.opts.pref{margin-top:12px}
.opts.pref .opt{padding:11px 20px}
.pt-err{min-height:1.4em;margin:14px 0 8px;font-size:13px;color:#b3261e}
.rv{margin:28px 0 0;display:grid;border-top:1px solid var(--line)}
.rv>div{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .3s,padding .3s;border-radius:8px}
.rv>div:hover{background:var(--mist);padding-inline:12px}
.rv dt{font-size:13px;color:var(--ink-60)}.rv dd{margin:0;font-weight:500;word-break:break-word}
.rv .ed{font-size:12px;color:var(--brand);opacity:0;transition:opacity .3s}.rv>div:hover .ed{opacity:1}
.pt-consent{margin-top:22px}
.pt-send.busy{pointer-events:none;opacity:.7}
.pt-send.busy .roll span{animation:none}
.pt-done{text-align:left}
.tick{width:64px;height:64px;margin-bottom:24px}
.tick circle{fill:none;stroke:var(--brand);stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151;animation:tk .8s cubic-bezier(.65,0,.35,1) forwards}
.tick path{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:tk .5s cubic-bezier(.65,0,.35,1) .7s forwards}
@keyframes tk{to{stroke-dashoffset:0}}
.next{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:0;counter-reset:n;border-left:1px solid var(--line);margin-left:6px}
.next li{position:relative;padding:0 0 22px 26px;display:grid;gap:4px;animation:optin .7s cubic-bezier(.2,.7,.2,1) both}
.next li:nth-child(2){animation-delay:.9s}.next li:nth-child(1){animation-delay:.8s}.next li:nth-child(3){animation-delay:1s}
.next li::before{content:"";position:absolute;left:-6px;top:4px;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--brand)}
.next b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.next span{font-size:15px;color:var(--ink-60)}
.pt-acts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.pt-note{margin-top:20px;font-size:12px;color:var(--ink-45)}
.pt-hint{margin:24px 0 0;font-size:12px;color:var(--ink-45)}
.pt-hint kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--mist)}
.portal.sent .pt-hint{visibility:hidden}
.ps{position:sticky;top:110px;display:grid;gap:16px}
.ps-card{position:relative;overflow:hidden;border-radius:24px;padding:32px;color:#fff;background:linear-gradient(170deg,#0b1d58 0%,#16348f 55%,#2c58b8 100%);min-height:420px;display:flex;flex-direction:column}
.ps-card canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.ps-card>*{position:relative}
.ps-card .kicker{color:rgba(255,255,255,.55)}
.ps-empty{margin:0;font:400 22px/1.3 var(--serif);font-style:italic;color:rgba(255,255,255,.7)}
.ps-list{margin:0;display:grid}
.ps-row{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);animation:optin .5s cubic-bezier(.2,.7,.2,1) both}
.ps-row dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ps-row dd{margin:0;font-size:16px;word-break:break-word}
.ps-foot{margin-top:auto;padding-top:28px;display:grid;gap:14px}
.ps-foot small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ps-foot b{font-weight:500;font-size:14px}
.ps-map{position:relative;border-radius:24px;overflow:hidden;height:220px;background:#dfe4ea}
.ps-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05) brightness(1.02);transition:filter .6s}
.ps-map:hover iframe{filter:none}
.ps-addr{position:absolute;left:12px;right:12px;bottom:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);display:grid;gap:2px;font-size:13px}
.ps-addr span{color:var(--ink-60)}
@media (max-width:1099px){
  .ct-head{grid-template-columns:1fr}
  .quick{grid-template-columns:1fr 1fr}
  .ct-grid{grid-template-columns:1fr}
  .ps{position:static}
  .portal{padding:28px 22px 22px;min-height:0}
  .pt-hint{display:none}
}
@media (max-width:640px){
  .quick{grid-template-columns:1fr}
  .opts.big,.opts.intents,.pt-grid{grid-template-columns:1fr}
  .card-opt{min-height:0}
  .rng-keep{grid-template-columns:1fr 1fr}.rng-keep .win{grid-column:1/-1}
  .pt-field{flex-direction:column}
  .rv>div{grid-template-columns:1fr auto}.rv dt{grid-column:1/-1}
}

/* ---------- Values (about): editorial manifesto on the night background ---------- */
.values{position:relative;overflow:hidden;color:#fff;padding:150px 0 150px;background:linear-gradient(180deg,rgba(10,26,82,0) 0%,rgba(10,26,82,0) 55%,#0a1a52 100%),radial-gradient(80% 60% at 50% 0%,#1c3f9e 0%,#0b1d58 55%,#070f33 100%)}
.values canvas{position:absolute;inset:0;width:100%;height:100%}
.values .wrap{position:relative}
.vwrap{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:96px;align-items:start}
.vside{position:sticky;top:120px}
.vside .kicker{color:rgba(255,255,255,.5)}
.vside h2{margin:0;font:400 clamp(52px,6vw,92px)/.98 var(--sans);letter-spacing:-.05em}
.vside h2 em{letter-spacing:-.02em}
.vside>p:not(.kicker){margin:26px 0 0;max-width:340px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.65)}
.vsig{display:flex;align-items:center;gap:14px;margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.vmark{width:34px;color:#fff}.vmark svg{display:block;width:100%;height:auto}
.vsig b{display:block;font-weight:500;font-size:14px}.vsig i{font:400 15px/1.3 var(--serif);color:rgba(255,255,255,.6)}
.vlist{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.vrow{position:relative;display:grid;grid-template-columns:64px minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:baseline;padding:34px 0 36px;border-bottom:1px solid rgba(255,255,255,.18);
  opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.vrow::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.65,0,.35,1)}
.vlist.in .vrow{opacity:1;transform:none}
.vlist.in .vrow:nth-child(2){transition-delay:.08s}.vlist.in .vrow:nth-child(3){transition-delay:.16s}.vlist.in .vrow:nth-child(4){transition-delay:.24s}.vlist.in .vrow:nth-child(5){transition-delay:.32s}.vlist.in .vrow:nth-child(6){transition-delay:.4s}
.vn{font-size:12px;font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums;transition:color .5s}
.vrow h3{margin:0;font:400 clamp(26px,2.6vw,38px)/1.08 var(--sans);letter-spacing:-.035em;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.vrow p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.62);transition:color .5s}
.vrow:hover::after{transform:scaleX(1)}
.vrow:hover h3{transform:translateX(10px)}
.vrow:hover .vn,.vrow:hover p{color:#fff}
.no-io .vrow{opacity:1;transform:none}
@media (max-width:1099px){.vwrap{grid-template-columns:1fr;gap:48px}.vside{position:static}.values{padding:100px 0}
  .vrow{grid-template-columns:44px 1fr;gap:10px 16px;padding:26px 0}.vrow p{grid-column:2}}
.badges b{font-variant-numeric:tabular-nums}

/* ---------- Footer wordmark with the animated logo ---------- */
.word{display:flex;align-items:center;justify-content:center;gap:.06em;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:inherit!important;cursor:default}
.word .wl{display:inline-block;background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.35) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;transform:translateY(40%);opacity:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .9s ease}
.word.in .wl{transform:none;opacity:1}
.word.in .wl:nth-child(3){transition-delay:.06s}.word.in .wl:nth-child(4){transition-delay:.12s}.word.in .wl:nth-child(5){transition-delay:.18s}.word.in .wl:nth-child(6){transition-delay:.24s}
.wmark{display:block;width:.86em;flex:none;margin-right:.06em;color:rgba(255,255,255,.92);transform:translateY(-.02em)}
.wmark svg{display:block;width:100%;height:auto;overflow:visible}
.wmark svg path:nth-of-type(1){stroke-dasharray:820;stroke-dashoffset:820}
.wmark svg path:nth-of-type(2),.wmark svg path:nth-of-type(3){transform-box:fill-box;transform-origin:50% 0;opacity:0}
.wmark svg rect{transform-box:fill-box;transform-origin:50% 50%;transform:scale(0)}
.word.in .wmark svg path:nth-of-type(1){animation:arch 1.6s cubic-bezier(.65,0,.35,1) .2s forwards}
.word.in .wmark svg path:nth-of-type(2),.word.in .wmark svg path:nth-of-type(3){animation:roofin 1s cubic-bezier(.3,1.4,.5,1) .6s forwards}
.word.in .wmark svg rect{animation:winin .6s cubic-bezier(.3,1.6,.5,1) 1.1s forwards}
.word.in .wmark svg rect:nth-of-type(2){animation-delay:1.18s}.word.in .wmark svg rect:nth-of-type(3){animation-delay:1.26s}.word.in .wmark svg rect:nth-of-type(4){animation-delay:1.34s}
@keyframes roofin{from{opacity:0;transform:translateY(-18%)}to{opacity:1;transform:none}}
@keyframes winin{from{transform:scale(0)}to{transform:none}}
.word:hover .wmark svg path:nth-of-type(1){animation:arch 1.1s cubic-bezier(.65,0,.35,1) forwards}
.word:hover .wmark svg rect{animation:winin .55s cubic-bezier(.3,1.6,.5,1) both}
.word:hover .wl{transform:translateY(-4%)}
.word:hover .wl:nth-child(3){transition-delay:.04s}.word:hover .wl:nth-child(4){transition-delay:.08s}.word:hover .wl:nth-child(5){transition-delay:.12s}.word:hover .wl:nth-child(6){transition-delay:.16s}
.no-io .word .wl{transform:none;opacity:1}.no-io .wmark svg path,.no-io .wmark svg rect{stroke-dashoffset:0;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.word .wl{opacity:1;transform:none}.wmark svg path,.wmark svg rect{stroke-dashoffset:0!important;opacity:1!important;transform:none!important}}
.badges b span{font-size:inherit;color:inherit;display:inline}

/* ---------- Custom dropdowns (filters) ---------- */
.dd{position:relative;display:inline-block}
.dd select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.dd-btn{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 14px 0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;font-weight:500;white-space:nowrap;transition:border-color .3s,box-shadow .3s,background .3s}
.dd-btn:hover{border-color:rgba(14,14,12,.35)}
.dd-btn small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45);font-weight:500}
.dd-btn .chev{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--mist);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
.dd-btn .chev svg{width:10px;height:10px}
.dd.open .dd-btn{border-color:var(--ink);box-shadow:0 0 0 4px rgba(14,14,12,.06)}
.dd.open .chev{transform:rotate(180deg);background:var(--ink);color:#fff}
.dd.set .dd-btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.dd.set .dd-btn small{color:rgba(255,255,255,.55)}.dd.set .chev{background:rgba(255,255,255,.15);color:#fff}
.dd-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:30;min-width:max(100%,230px);padding:8px;border-radius:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);
  box-shadow:0 30px 60px -20px rgba(12,24,70,.35),0 8px 20px -10px rgba(12,24,70,.2);opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top left;pointer-events:none;transition:opacity .25s,transform .4s cubic-bezier(.2,.8,.2,1)}
.dd.open .dd-menu{opacity:1;transform:none;pointer-events:auto}
.dd-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:11px 12px;border-radius:12px;font-size:14px;text-align:left;opacity:0;transform:translateY(-4px);transition:background .2s,color .2s,opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.dd.open .dd-menu button{opacity:1;transform:none}
.dd.open .dd-menu button:nth-child(2){transition-delay:0s,0s,.03s,.03s}.dd.open .dd-menu button:nth-child(3){transition-delay:0s,0s,.06s,.06s}.dd.open .dd-menu button:nth-child(4){transition-delay:0s,0s,.09s,.09s}.dd.open .dd-menu button:nth-child(5){transition-delay:0s,0s,.12s,.12s}.dd.open .dd-menu button:nth-child(6){transition-delay:0s,0s,.15s,.15s}.dd.open .dd-menu button:nth-child(7){transition-delay:0s,0s,.18s,.18s}.dd.open .dd-menu button:nth-child(8){transition-delay:0s,0s,.21s,.21s}
.dd-menu button:hover,.dd-menu button.hl{background:var(--mist)}
.dd-menu button .ck{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--brand);transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.dd-menu button .ck svg{width:10px;height:10px}
.dd-menu button[aria-selected="true"]{font-weight:500}
.dd-menu button[aria-selected="true"] .ck{transform:none}
.dd-menu .cnt{margin-left:auto;font-size:12px;color:var(--ink-45);font-variant-numeric:tabular-nums}

/* ---------- Listing subpage ---------- */
.lcard h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.lp-hero{padding:56px 0 40px}
.lp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-top:24px}
.lp-status{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60)}
.lp-status i{width:8px;height:8px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 4px rgba(34,160,107,.15);animation:pulse2 2s ease-in-out infinite}
@keyframes pulse2{50%{box-shadow:0 0 0 8px rgba(34,160,107,0)}}
.lp-head h1{margin:14px 0 0;font:400 clamp(44px,6.6vw,92px)/1 var(--sans);letter-spacing:-.05em}
.lp-city{margin:12px 0 0;font:400 22px/1.2 var(--serif);font-style:italic;color:var(--ink-60)}
.lp-price{text-align:right}
.lp-price>b{display:block;font:400 clamp(40px,4.6vw,64px)/1 var(--sans);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.lp-acts{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;justify-content:flex-end}
.lp-tabs{display:flex;align-items:center;gap:6px;margin-top:40px;flex-wrap:wrap}
.lp-tabs [role=tab]{height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.lp-tabs [role=tab][aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.lp-film{margin-left:auto;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px 0 8px;border-radius:999px;background:var(--brand);color:#fff;font-size:13px;font-weight:500;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.lp-film .pl{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2);position:relative}
.lp-film .pl::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;transform:translateX(1px)}
.lp-film:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(59,123,191,.7)}
.lp-stage{position:relative;margin-top:16px;height:clamp(380px,46vw,640px)}
.lp-view{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}
.lp-view.on{opacity:1;visibility:visible;transition:opacity .6s}
.lp-view iframe{width:100%;height:100%;border:0;border-radius:20px;background:var(--mist)}
.lp-hint{position:absolute;left:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.9);font-size:12px;pointer-events:none}
.mosaic{display:grid;gap:10px;height:100%;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.mosaic.n1{grid-template-columns:1fr;grid-template-rows:1fr}
.mosaic.n2{grid-template-columns:2fr 1fr;grid-template-rows:1fr}
.mosaic.n3{grid-template-columns:2fr 1fr}
.mosaic.n4{grid-template-columns:2fr 1fr 1fr}
.mz{position:relative;overflow:hidden;border-radius:14px;background:var(--mist);padding:0}
.mz0{grid-row:1/-1;border-radius:20px}
.mosaic.n3 .mz1,.mosaic.n3 .mz2{grid-column:2}
.mosaic.n4 .mz3{grid-column:2/4}
.mz img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .6s}
.mz:hover img{transform:scale(1.05)}
.mz::after{content:"";position:absolute;inset:0;background:rgba(5,10,30,.0);transition:background .5s}
.mz:hover::after{background:rgba(5,10,30,.12)}
.lp-stage .mz{animation:optin .9s cubic-bezier(.2,.7,.2,1) both}
.mz1{animation-delay:.08s!important}.mz2{animation-delay:.14s!important}.mz3{animation-delay:.2s!important}.mz4{animation-delay:.26s!important}
.mz-all{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;background:#fff;font-size:13px;font-weight:500;box-shadow:0 10px 24px -10px rgba(0,0,0,.4);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.mz-all svg{width:16px;height:16px}.mz-all:hover{transform:translateY(-2px)}
.keyfacts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid var(--line)}
.kf{padding:22px 20px 0 0;opacity:0;transform:translateY(16px);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}
.keyfacts.in .kf{opacity:1;transform:none}.keyfacts.in .kf:nth-child(2){transition-delay:.08s}.keyfacts.in .kf:nth-child(3){transition-delay:.16s}.keyfacts.in .kf:nth-child(4){transition-delay:.24s}
.kf+.kf{border-left:1px solid var(--line);padding-left:22px}
.kf b{display:block;font:400 30px/1.1 var(--sans);letter-spacing:-.03em}
.kf span{display:block;margin-top:6px;font-size:13px;color:var(--ink-60)}
.lp-body{display:grid;grid-template-columns:1fr 380px;gap:72px;align-items:start;padding-top:48px}
.lp-desc{margin:0;font-size:21px;line-height:1.6;color:var(--ink);max-width:760px}
.lp-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:48px 0 0;border-top:1px solid var(--line)}
.lp-facts div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
.lp-facts dt{color:var(--ink-60)}.lp-facts dd{margin:0;font-weight:500;text-align:right}
.pay{margin-top:48px;padding:32px;border-radius:20px;background:var(--mist)}
.pay-big{display:flex;align-items:baseline;gap:8px}
.pay-big b{font:400 56px/1 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.pay-big span{color:var(--ink-60)}
.pay label{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:22px;font-size:13px;color:var(--ink-60)}
.pay output{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.pay input{grid-column:1/-1;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--ink) var(--p,30%),#dde1e7 var(--p,30%));outline:0}
.pay input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.pay input::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line)}
.pay-note{margin:20px 0 0;font-size:12px;color:var(--ink-45)}.pay-note a{color:var(--ink);text-decoration:underline}
.lp-side{position:sticky;top:110px;display:grid;gap:12px}
.agent-card{padding:28px;border-radius:22px;background:linear-gradient(170deg,#0b1d58,#16348f 60%,#2c58b8);color:#fff;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center}
.agent-card img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid rgba(255,255,255,.3)}
.agent-card small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.agent-card b{display:block;font:400 24px/1.15 var(--sans);letter-spacing:-.02em;margin-top:4px}
.agent-card span{font-size:13px;color:rgba(255,255,255,.7)}
.ac-acts{grid-column:1/-1;display:flex;gap:8px}
.ac-acts .btn.dark{background:#fff;color:var(--ink);border-color:#fff;flex:1;justify-content:center}
.ac-acts .btn.ghost{border-color:rgba(255,255,255,.4);color:#fff}
.ac-more{grid-column:1/-1;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.8)}
.ig-src{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:16px;border:1px solid var(--line);font-size:14px;transition:background .3s,color .3s}
.ig-src:hover{background:var(--ink);color:#fff}
/* lightbox */
.lb{position:fixed;inset:0;z-index:80;background:rgba(5,8,20,.96);display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:72px 1fr 72px;opacity:0;transition:opacity .35s}
.lb.open{opacity:1}
.lb-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:18px 24px;color:#fff;font-size:13px;font-variant-numeric:tabular-nums}
.lb-x{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px}
.lb-img{display:grid;place-items:center;min-height:0;padding:0 8px}
.lb-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;opacity:0;transform:scale(.985);transition:opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1)}
.lb-img img.in{opacity:1;transform:none}
.lb-prev,.lb-next{align-self:center;justify-self:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;transition:background .3s}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.25)}
.lb-thumbs{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding:14px 24px 20px;scrollbar-width:none}
.lb-thumbs button{flex:none;width:96px;height:64px;border-radius:8px;overflow:hidden;opacity:.45;transition:opacity .3s,outline-color .3s;outline:2px solid transparent;outline-offset:2px}
.lb-thumbs button.on{opacity:1;outline-color:#fff}
.lb-thumbs img{width:100%;height:100%;object-fit:cover}
/* film tour */
.film{position:fixed;inset:0;z-index:85;background:#000;opacity:0;transition:opacity .5s}
.film.open{opacity:1}
.film-frames,.ff{position:absolute;inset:0;overflow:hidden}
.ff{opacity:0;transition:opacity 1.6s ease}
.ff.on{opacity:1}
.ff img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6.6s linear}
.ff.on img{transform:var(--to)}
.film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 25%,transparent 60%,rgba(0,0,0,.65));pointer-events:none}
.film-ui{position:absolute;inset:auto 0 0;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:0 40px 34px;color:#fff}
.film-cap small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.film-cap b{display:block;font:400 clamp(32px,4vw,56px)/1 var(--sans);letter-spacing:-.04em;margin-top:8px}
.film-cap span{font:400 20px/1.3 var(--serif);font-style:italic;color:rgba(255,255,255,.8)}
.film-bar{grid-column:1/-1;grid-row:2;height:2px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden}
.film-bar i{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.film-x{height:42px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);color:#fff;font-size:13px}
@media (max-width:1099px){
  .lp-body{grid-template-columns:1fr;gap:40px}.lp-side{position:static}
  .lp-price{text-align:left}.lp-acts{justify-content:flex-start}
  .keyfacts{grid-template-columns:1fr 1fr}.kf:nth-child(3){border-left:0;padding-left:0}
  .lp-film{margin-left:0}
}
@media (max-width:640px){
  .lp-stage{height:auto}
  .lp-view{position:relative;display:none}.lp-view.on{display:block}
  .lp-view iframe{height:380px}
  .mosaic{height:auto;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
  .mz{aspect-ratio:3/2}.mz0{grid-column:1/-1;grid-row:auto}
  .mosaic .mz3,.mosaic .mz4{display:none}
  .lp-facts{grid-template-columns:1fr}
  .lb{grid-template-columns:1fr}.lb-prev,.lb-next{display:none}
  .film-ui{padding:0 20px 24px}
  .dd-menu{min-width:220px}
}
[hidden]{display:none!important}

/* team contact lines: colour sweeps left to right through the letters */
.team-sec{padding-bottom:140px}
.member{padding-bottom:8px}
.member .ct{gap:6px;margin-top:2px}
.member .ct a{width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  background:linear-gradient(90deg,var(--brand) 0 50%,var(--ink-60) 50% 100%);background-size:200% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .7s cubic-bezier(.65,0,.35,1)}
.member .ct a:hover,.member .ct a:focus-visible{background-position:0 0;color:transparent}
.member .ct a[href^="mailto"]{font-size:13px}
.badges a{background:linear-gradient(90deg,var(--brand) 0 50%,var(--ink) 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .7s cubic-bezier(.65,0,.35,1)}
.badges a:hover{background-position:0 0}
.notes{padding-top:140px}
@media (max-width:1099px){.notes{padding-top:88px}.team-sec{padding-bottom:88px}}

/* ---------- Guides ---------- */
.g-hero{position:relative;overflow:hidden;color:#fff;padding:80px 0 0;background:radial-gradient(90% 80% at 80% 0%,#2c58b8 0%,#16348f 40%,#0b1d58 75%)}
.g-hero canvas{position:absolute;inset:0;width:100%;height:100%}
.g-hero .wrap{position:relative}
.g-hero .crumb,.crumb.light{color:rgba(255,255,255,.55)}.crumb.light a:hover,.g-hero .crumb a:hover{color:#fff}
.gh{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:end;margin-top:28px}
.gh h1{margin:0;font:400 clamp(56px,9vw,128px)/.95 var(--sans);letter-spacing:-.055em}
.gh h1 em{letter-spacing:-.02em}
.gh p{margin:0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.7)}
.gfacts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid rgba(255,255,255,.15)}
.gfacts>div{padding:26px 24px 34px 0;opacity:0;transform:translateY(16px);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}
.gfacts.in>div{opacity:1;transform:none}.gfacts.in>div:nth-child(2){transition-delay:.08s}.gfacts.in>div:nth-child(3){transition-delay:.16s}.gfacts.in>div:nth-child(4){transition-delay:.24s}
.gfacts>div+div{border-left:1px solid rgba(255,255,255,.15);padding-left:24px}
.gfacts b{display:block;font:400 44px/1 var(--sans);letter-spacing:-.04em}
.gfacts span{display:block;margin-top:8px;font-size:13px;color:rgba(255,255,255,.6)}
.g-list{padding:64px 0 120px;background:var(--mist)}
.gchips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.gchips button{height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.gchips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ggrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:16px}
.gcard{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:22px;overflow:hidden;background:#fff;isolation:isolate;transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s,opacity .5s;
  opacity:0;transform:translateY(30px)}
.ggrid.in .gcard{opacity:1;transform:none}.ggrid.in .gcard:nth-child(2){transition-delay:.1s}.ggrid.in .gcard:nth-child(3){transition-delay:.2s}
.ggrid.in .gcard:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(12,24,70,.45);transition-delay:0s}
.gcard.hide{display:none}
.gcard.big{grid-row:1/3;grid-template-rows:1fr auto}
.gph{position:relative;overflow:hidden;aspect-ratio:16/9}
.gcard.big .gph{aspect-ratio:auto;min-height:420px}
.gph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.gcard:hover .gph img{transform:scale(1.06)}
.gtxt{padding:26px 28px 30px}
.gm{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--ink-45)}
.gchip{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(59,123,191,.1);color:var(--brand);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.gchip.light{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px)}
.gtxt h3{margin:14px 0 0;font:400 clamp(24px,2.2vw,32px)/1.15 var(--sans);letter-spacing:-.03em;text-wrap:balance}
.gcard.big .gtxt h3{font-size:clamp(30px,3.2vw,46px)}
.gtxt p{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--ink-60);max-width:560px}
.gread{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:13px;font-weight:500}
.gread .arrow{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.gcard:hover .gread .arrow{transform:translateX(5px)}
.gstat{position:absolute;right:16px;top:16px;z-index:1;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);text-align:right;transform:translateY(-6px);opacity:0;transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.gcard.big .gstat,.gcard:hover .gstat{opacity:1;transform:none}
.gstat b{display:block;font:400 26px/1 var(--sans);letter-spacing:-.03em}
.gstat span{font-size:11px;color:var(--ink-60)}
.g-ask{padding:110px 0}
.ga{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:end;padding:56px;border-radius:28px;background:#fff;border:1px solid var(--line)}
.ga h2{margin:0;font:400 clamp(40px,5vw,72px)/1.02 var(--sans);letter-spacing:-.05em}
.ga h2 em{letter-spacing:-.02em}
.ga-r p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-60)}
.ga-acts{display:flex;gap:8px;align-items:center;margin-top:24px;flex-wrap:wrap}
.ga-acts .btn{height:52px}
/* article */
.rprog{position:fixed;left:0;right:0;top:0;z-index:60;height:3px;pointer-events:none}
.rprog i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#7fb2ef);transform:scaleX(0);transform-origin:left}
.ga-hero{position:relative;overflow:hidden;color:#fff;min-height:min(78vh,720px);display:flex;align-items:flex-end;padding:120px 0 64px}
.ga-bg{position:absolute;inset:0}
.ga-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:gzoom 14s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes gzoom{to{transform:scale(1)}}
.ga-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,40,.25) 0%,rgba(6,14,40,.2) 40%,rgba(6,14,40,.85) 100%)}
.ga-hero .wrap{position:relative}
.ga-hero .crumb{margin:0 0 26px}
.ga-t{max-width:980px;animation:optin 1.1s cubic-bezier(.2,.7,.2,1) .15s both}
.ga-t h1{margin:18px 0 0;font:400 clamp(40px,6.4vw,88px)/1.02 var(--sans);letter-spacing:-.05em;text-wrap:balance}
.ga-t p{margin:22px 0 0;max-width:640px;font:400 22px/1.45 var(--serif);font-style:italic;color:rgba(255,255,255,.85)}
.ga-t .by{display:block;margin-top:26px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ga-grid{display:grid;grid-template-columns:260px minmax(0,760px);gap:80px;justify-content:center;align-items:start}
.ga-toc{top:110px}
.ga-stat{margin-top:22px;padding:20px;border-radius:16px;background:var(--ink);color:#fff}
.ga-stat b{display:block;font:400 36px/1 var(--sans);letter-spacing:-.04em}.ga-stat span{font-size:12px;color:rgba(255,255,255,.6)}
.ga-prose>p:first-child{font-size:21px;line-height:1.6;color:var(--ink)}
.ga-prose>p:first-child::first-letter{color:var(--brand)}
.ga-prose h2{display:flex;align-items:baseline;gap:14px;scroll-margin-top:110px}
.ga-prose .hn{font:400 22px/1 var(--serif);font-style:italic;color:var(--brand)}
.pull{margin:48px 0;padding:30px 34px;border-left:3px solid var(--brand);border-radius:0 18px 18px 0;background:var(--mist);font:400 28px/1.35 var(--serif);font-style:italic;color:var(--ink)}
.takeaways{margin-top:56px;padding:34px;border-radius:22px;background:linear-gradient(170deg,#0b1d58,#16348f 60%,#2c58b8);color:#fff}
.takeaways .kicker{color:rgba(255,255,255,.55)}
.takeaways ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.takeaways li{display:flex;gap:14px;font-size:17px;line-height:1.5;color:#fff}
.takeaways li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:rgba(255,255,255,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.5l2.2 2.2 4.8-5' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") center/12px no-repeat}
.ga-next{padding:0 0 120px}
.nextg{display:grid;grid-template-columns:420px 1fr;border-radius:24px;overflow:hidden;background:var(--mist);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nextg:hover{transform:translateY(-4px)}
.ng-img{overflow:hidden;min-height:240px;position:relative}.ng-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.nextg:hover .ng-img img{transform:scale(1.06)}
.ng-t{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.ng-t small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45)}
.ng-t b{font:400 clamp(26px,3vw,40px)/1.1 var(--sans);letter-spacing:-.03em}
.ng-t span{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
@media (max-width:1099px){
  .gh,.ga{grid-template-columns:1fr}.gfacts{grid-template-columns:1fr 1fr}.gfacts>div:nth-child(3){border-left:0;padding-left:0}
  .ggrid{grid-template-columns:1fr}.gcard.big{grid-row:auto}.gcard.big .gph{min-height:300px}
  .ga{padding:32px}.ga-grid{grid-template-columns:1fr;gap:24px}.ga-toc{position:static}
  .nextg{grid-template-columns:1fr}.ng-t{padding:28px}
  .ga-hero{min-height:560px}
}
.no-io .gcard,.no-io .gfacts>div{opacity:1;transform:none}

/* Powered by FrameWorks Studio: a line draws right-to-left above the wordmark, then the agency logo arrives in bright blue */
.wtop{display:flex;align-items:center;gap:22px;margin:70px 0 -8px;position:relative;z-index:1}
.wline{flex:1;height:2px;border-radius:2px;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,.9) 60%,rgba(255,255,255,0) 100%);transform:scaleX(0);transform-origin:right center;transition:transform 1.6s cubic-bezier(.65,0,.2,1) .2s;box-shadow:0 0 12px rgba(255,255,255,.5)}
.wtop.in .wline{transform:scaleX(1)}
.fws{flex:none;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(4,18,70,.5);font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.fws span{opacity:0;transform:translateX(12px);transition:opacity .7s ease .1s,transform .9s cubic-bezier(.2,.7,.2,1) .1s}
.fws img{height:30px;width:auto;display:block;opacity:0;transform:translateX(16px);
  filter:brightness(0) invert(1);transition:opacity .8s ease .25s,transform 1s cubic-bezier(.2,.7,.2,1) .25s,filter .5s ease}
.wtop.in .fws span,.wtop.in .fws img{opacity:1;transform:none}
.wtop.in .fws img{filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(4,18,63,.5))}

.fws:hover span{color:#fff}
.wtop+.word{margin-top:0}
.no-io .wline{transform:none}.no-io .fws span,.no-io .fws img{opacity:1;transform:none}
@media (max-width:640px){.wtop{margin:56px 0 -10px;gap:12px}.fws{gap:8px;font-size:8px}.fws img{height:18px}}

/* FWS logo: white at rest; on hover a bright blue copy sweeps in left to right */
.fwl{position:relative;display:block;opacity:0;transform:translateX(16px);transition:opacity .8s ease .25s,transform 1s cubic-bezier(.2,.7,.2,1) .25s}
.wtop.in .fwl{opacity:1;transform:none}
.fws .fwl img{opacity:1!important;transform:none!important;filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(4,18,63,.5))!important;transition:none}
.fws .fwl img.fwb{position:absolute;inset:0;width:100%;height:100%;
  filter:brightness(0) invert(55%) sepia(100%) saturate(3500%) hue-rotate(190deg) brightness(125%) drop-shadow(0 0 1px #04123f) drop-shadow(0 0 4px rgba(4,18,63,.7)) drop-shadow(0 0 14px rgba(0,160,255,.8))!important;
  clip-path:inset(-30% 100% -30% -10%);transition:clip-path .9s cubic-bezier(.65,0,.35,1)}
.fws:hover .fwl img.fwb,.fws:focus-visible .fwl img.fwb{clip-path:inset(-30% -10% -30% -10%)}
.fws span:first-child{transition:color .6s ease,opacity .7s ease .1s,transform .9s cubic-bezier(.2,.7,.2,1) .1s}
.no-io .fwl{opacity:1;transform:none}

/* ---------- Home: scroll-driven app section ---------- */
.appflow{position:relative;height:560vh;background:#f6f4ef}
.af-stick{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden;display:flex;flex-direction:column}
.af-glow{position:absolute;left:50%;top:56%;width:1300px;height:1300px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle,rgba(59,123,191,0) 0 44px,rgba(59,123,191,.13) 44px 45px),radial-gradient(circle,rgba(120,170,235,.5),rgba(246,244,239,0) 55%);
  -webkit-mask-image:radial-gradient(circle,#000 18%,transparent 60%);mask-image:radial-gradient(circle,#000 18%,transparent 60%);transform:translate(-50%,-50%) scale(calc(.9 + var(--p,0)*.25))}
.af-top{position:relative;text-align:center;padding-top:clamp(28px,5vh,64px)}
.af-top .kicker{margin-bottom:10px}
.af-top h2{margin:0;font:400 clamp(36px,4.6vw,68px)/1 var(--sans);letter-spacing:-.05em}
.af-top h2 em{letter-spacing:-.02em}
.af-grid{position:relative;flex:1;min-height:0;width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,4vw,72px)}
.af-col{position:relative;height:260px}
.afc{position:absolute;inset:0;margin:auto 0;height:max-content;max-width:330px;padding:26px 26px 28px;border-radius:22px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(14,14,12,.06);box-shadow:0 30px 60px -36px rgba(12,24,70,.4);opacity:0;pointer-events:none;
  transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.af-col.l .afc{right:0;margin-left:auto;transform:translateX(-50px)}
.af-col.r .afc{left:0;transform:translateX(50px)}
.afc small{display:block;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45)}
.afc b{display:block;margin:10px 0 8px;font:400 28px/1.1 var(--sans);letter-spacing:-.03em}
.afc p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-60)}
.afi{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;margin-bottom:18px;background:var(--brand);color:#fff;box-shadow:0 10px 20px -10px rgba(59,123,191,.8)}
.afi svg{width:22px;height:22px}
.af-col.r .afi{background:var(--ink)}
.appflow[data-stage="0"] .afc[data-s="0"],.appflow[data-stage="1"] .afc[data-s="1"],.appflow[data-stage="2"] .afc[data-s="2"],.appflow[data-stage="3"] .afc[data-s="3"],.appflow[data-stage="4"] .afc[data-s="4"]{opacity:1;transform:none;pointer-events:auto}
.af-col.r .afc{transition-delay:.12s}
/* phone */
.af-phone{position:relative;height:100%;display:grid;place-items:center}
.af-device{position:relative;height:min(66vh,660px);aspect-ratio:9/19.4;border-radius:min(6.4vh,60px);padding:min(1.3vh,12px);
  background:linear-gradient(145deg,#2c2c30,#0d0d0f 40%,#1c1c20);
  box-shadow:inset 0 0 0 1.5px #4a4a50,inset 0 0 0 4px #0b0b0d,0 60px 100px -40px rgba(12,24,70,.6),0 30px 40px -30px rgba(0,0,0,.6);
  transform:translateY(calc((.5 - var(--p,0))*30px)) rotate(calc((var(--t,0) - .5)*1.2deg));transition:transform .2s linear}
.af-device::before{content:"";position:absolute;left:50%;top:min(2.6vh,24px);width:30%;height:min(3.2vh,30px);border-radius:20px;background:#000;transform:translateX(-50%);z-index:5}
.af-device::after{content:"";position:absolute;right:-3px;top:22%;width:3px;height:9%;border-radius:0 3px 3px 0;background:#2a2a2e}
.af-screen{position:relative;height:100%;container-type:size;border-radius:min(5.2vh,48px);overflow:hidden;background:#fff}
.af-ground{position:absolute;left:50%;bottom:4%;width:60%;height:30px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(12,24,70,.25),transparent);filter:blur(6px);z-index:-1}
.afs{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.afs>img,.afs .pan img,.afs .scroller img{width:100%;display:block}
.afs>img{height:100%;object-fit:cover;object-position:top}
.appflow[data-stage="0"] .s0,.appflow[data-stage="1"] .s1,.appflow[data-stage="2"] .s2,.appflow[data-stage="3"] .s3,.appflow[data-stage="4"] .s4{opacity:1;transform:none}
.pan{position:absolute;inset:0;overflow:hidden}
.pan img{height:100%;object-fit:cover;object-position:top;transform:scale(calc(1.12 - var(--t,0)*.1)) translate(calc((var(--t,0) - .5)*-6%),calc((var(--t,0) - .5)*-4%));transform-origin:50% 40%}
.scroller{position:absolute;inset:0;overflow:hidden}
.scroller img{transform:translateY(calc(var(--t,0) * -18%))}
.scroller.slow img{transform:translateY(calc(var(--t,0) * -24%))}
.pin{position:absolute;width:14px;height:14px;border-radius:50%;background:#1b6fd8;box-shadow:0 0 0 0 rgba(27,111,216,.5);animation:pinp 2s ease-out infinite}
.p1{left:34%;top:38%}.p2{left:62%;top:52%;animation-delay:.9s}
@keyframes pinp{0%{box-shadow:0 0 0 0 rgba(27,111,216,.55)}100%{box-shadow:0 0 0 22px rgba(27,111,216,0)}}
.tap{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid rgba(59,123,191,.8);opacity:0}
.appflow[data-stage="1"] .s1 .tap,.appflow[data-stage="2"] .s2 .tap{animation:tap 2.4s ease-out infinite 1s}
@keyframes tap{0%{opacity:0;transform:scale(.4)}15%{opacity:1;background:rgba(59,123,191,.25)}50%{opacity:0;transform:scale(1.3)}100%{opacity:0}}
.toast{position:absolute;left:6%;right:6%;top:9%;padding:12px 14px;border-radius:16px;background:rgba(20,20,22,.88);color:#fff;font-size:1.9cqh;font-weight:500;backdrop-filter:blur(10px);
  transform:translateY(-140%);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.toast::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#30d158;margin-right:8px;vertical-align:1px}
.appflow[data-stage="4"] .toast{transform:translateY(calc(-140% + min(1, var(--t,0) * 3) * 140%))}
/* app store mock */
.as{position:absolute;inset:0;background:#fff;color:#111;font-family:-apple-system,"SF Pro Text","Geist",sans-serif;padding:0 5.5%}
.as-bar{display:flex;justify-content:space-between;align-items:center;height:7%;padding:0 6%;font-size:2.42cqh;font-weight:600}
.as-sig{display:flex;gap:2px;align-items:flex-end}.as-sig i{width:3px;background:#111;border-radius:1px}.as-sig i:nth-child(1){height:5px}.as-sig i:nth-child(2){height:7px}.as-sig i:nth-child(3){height:9px}
.as-nav{color:#0a84ff;font-size:2.58cqh;margin:2% 0 5%}
.as-head{display:flex;gap:5%}
.as-icon{flex:none;width:30%;aspect-ratio:1;border-radius:22%;background:linear-gradient(160deg,#4d8fd6,#1f5fae);color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.as-icon svg{width:62%;height:auto}
.as-meta{display:flex;flex-direction:column;min-width:0}
.as-meta b{font-size:3.55cqh;font-weight:700;letter-spacing:-.01em}
.as-meta>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:2.26cqh;color:#8a8a8e;margin-top:2px}
.as-row{display:flex;align-items:center;gap:8px;margin-top:auto}
.as-get{position:relative;height:5.16cqh;min-width:12.9cqh;border-radius:999px;background:#0a84ff;color:#fff;font-size:2.34cqh;font-weight:700;display:grid;place-items:center;transition:background .3s,min-width .4s}
.as-get .ring{position:absolute;width:5.16cqh;height:5.16cqh;opacity:0;transform:rotate(-90deg)}
.as-get .ring circle{fill:none;stroke:#d7d7dc;stroke-width:3}.as-get .ring .fill{stroke:#0a84ff;stroke-dasharray:94.25;stroke-dashoffset:94.25;stroke-linecap:round}
.as-get .ring rect{fill:#0a84ff;transform-origin:center;transform:rotate(90deg)}
.as-get .g,.as-get .o{grid-area:1/1;transition:opacity .3s}
.as-get .o{opacity:0}
.as-get[data-st="dl"]{background:transparent;min-width:5.16cqh}
.as-get[data-st="dl"] .g{opacity:0}.as-get[data-st="dl"] .ring{opacity:1}
.as-get[data-st="open"] .g{opacity:0}.as-get[data-st="open"] .o{opacity:1}
.as-iap{font-size:1.94cqh;color:#8a8a8e}
.as-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:7% 0 5%;padding:4% 0;border-block:1px solid #e5e5ea;text-align:center}
.as-stats div+div{border-left:1px solid #e5e5ea}
.as-stats b{display:block;font-size:2.34cqh;font-weight:700;color:#3c3c43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 3px}
.as-stats span{font-size:1.69cqh;color:#8a8a8e;text-transform:uppercase;letter-spacing:.04em}
.as-shots{display:flex;gap:3%;overflow:hidden}
.as-shots img{width:46%;flex:none;aspect-ratio:9/19;object-fit:cover;object-position:top;border-radius:10px;border:1px solid #e5e5ea;transform:translateX(calc(var(--t,0) * -30%))}
.as-new{margin-top:5%;font-size:2.1cqh;color:#3c3c43;display:grid;gap:3px}.as-new b{font-size:2.58cqh}
/* foot */
.af-foot{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;padding-bottom:clamp(20px,4vh,44px)}
.af-dots{display:flex;gap:6px;padding:5px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--line);backdrop-filter:blur(8px)}
.af-dots button{position:relative;height:30px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:500;color:var(--ink-60);transition:background .4s,color .4s}
.af-dots button[aria-selected=true]{background:var(--ink);color:#fff}
.stores.af-stores{margin-top:0}
.stores.af-stores .store{height:48px;border-radius:12px}.stores.af-stores .store span{font-size:15px}
@media (max-width:1099px){
  .appflow{height:520vh}
  .af-grid{grid-template-columns:1fr;grid-template-rows:1fr auto;gap:12px}
  .af-col.l{display:none}
  .af-col.r{height:150px;order:2}
  .af-col.r .afc{left:0;right:0;margin:auto;max-width:520px;padding:18px 20px;transform:translateY(24px)}
  .afc b{font-size:20px;margin:6px 0 4px}.afc p{font-size:13px}.afi{display:none}
  .af-device{height:min(46vh,520px)}
  .af-dots button{padding:0 9px;font-size:11px}
  .stores.af-stores{display:none}
}
@media (max-height:760px) and (min-width:1100px){.af-device{height:56vh}.af-top h2{font-size:40px}}
@media (prefers-reduced-motion:reduce){.appflow{height:auto}.af-stick{position:relative;height:auto;min-height:0}}

/* compact app band (overrides the old scroll-pinned version) */
.appflow.mini{height:auto;background:var(--mist);overflow:hidden}
.af-mini{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:center;padding-block:64px}
.af-copy h3{margin:0;font:400 clamp(32px,3.4vw,48px)/1.05 var(--sans);letter-spacing:-.045em}
.af-copy h3 em{letter-spacing:-.02em}
.af-copy>p:not(.kicker){margin:16px 0 0;font-size:15px;line-height:1.55;color:var(--ink-60)}
.af-copy .stores{justify-content:flex-start;margin-top:24px}
.af-copy .af-dots{margin-top:22px;width:max-content;background:#fff}
.af-stage{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;height:540px}
.appflow.mini .af-col{height:200px}
.appflow.mini .afc{max-width:250px;padding:20px 20px 22px;border-radius:18px;background:#fff}
.appflow.mini .afc b{font-size:21px;margin:8px 0 6px}
.appflow.mini .afc p{font-size:13px}
.appflow.mini .afi{width:36px;height:36px;border-radius:11px;margin-bottom:12px}.appflow.mini .afi svg{width:18px;height:18px}
.appflow.mini .af-phone{height:auto}
.appflow.mini .af-device{height:500px;transform:none;transition:none}
.appflow.mini .af-glow{display:none}
.appflow.mini .afs{transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.appflow.mini .pan img,.appflow.mini .scroller img,.appflow.mini .as-shots img{transition:transform .2s linear}
@media (max-width:1099px){
  .af-mini{grid-template-columns:1fr;padding-block:64px;gap:28px}
  .af-stage{height:auto;grid-template-columns:1fr;gap:16px;justify-items:center}
  .appflow.mini .af-col.l{display:none}
  .appflow.mini .af-col.r{height:120px;width:100%;order:2}
  .appflow.mini .af-col.r .afc{left:0;right:0;margin:auto;max-width:440px}
  .appflow.mini .af-device{height:430px}
  .af-copy .stores.af-stores{display:flex}
}
/* team portraits: editorial black and white with film grain, colour returns on hover */
.member .ph,.lead-member .ph{position:relative;isolation:isolate}
.member .ph img,.lead-member .ph img{filter:grayscale(1) contrast(1.06) brightness(1.02);transition:filter 1.4s cubic-bezier(.4,0,.2,1),transform 1.6s cubic-bezier(.2,.7,.2,1);will-change:filter}
.member:hover .ph img,.lead-member .ph:hover img{filter:grayscale(0) contrast(1) brightness(1);transition:filter 2.2s cubic-bezier(.25,.1,.25,1) .08s,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.member .ph::before,.lead-member .ph::before{transition:opacity 2s ease}
.member:hover .ph::before{opacity:.6}
.member .ph::after,.lead-member .ph::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.member .ph::before,.lead-member .ph::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 30%,transparent 55%,rgba(0,0,0,.28));}

/* ---------- Real iPhone frame (clear case) for every phone mockup ---------- */
.af-device,.iphone{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;aspect-ratio:656/1314!important;filter:none!important}
.af-device::before,.iphone::before{content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;transform:none!important;border-radius:0!important;
  background:url("../photos/app/iphone-frame.webp") center/100% 100% no-repeat!important;z-index:6!important;pointer-events:none}
.af-device::after,.iphone::after{display:none!important}
.af-screen,.iphone .screen{box-shadow:0 50px 80px -30px rgba(12,24,70,.32),0 22px 34px -18px rgba(12,24,70,.22);overflow:visible!important;position:absolute!important;left:6.1%!important;right:6.3%!important;top:2.6%!important;bottom:2.6%!important;height:auto!important;border-radius:13%/6.2%!important;overflow:hidden;background:#fff}
.af-screen{container-type:size}
/* status-bar breathing room under the island */
.iphone .screen img{object-position:top}

.af-screen>.afs,.iphone .screen>img{border-radius:inherit;overflow:hidden}
.af-screen{overflow:visible!important}
.af-screen::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#fff;z-index:-1}
.appflow.mini .af-ground{display:block;bottom:-18px;width:80%;height:40px;background:radial-gradient(closest-side,rgba(12,24,70,.22),rgba(12,24,70,0));filter:blur(8px)}

/* hide-on-scroll subpage header that peeks back on hover/scroll-up */
.topbar{transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .5s}
.topbar.tuck{transform:translateY(calc(-100% - 2px))}
.topbar.peek{box-shadow:0 18px 40px -28px rgba(12,24,70,.35)}
.headroom{transition:transform .55s cubic-bezier(.2,.8,.2,1)!important}
.inv-bar{transition:top .55s cubic-bezier(.2,.8,.2,1)}
body:has(.topbar.tuck) .inv-bar{top:0}
body:has(.topbar.tuck) .toc,body:has(.topbar.tuck) .lp-side{top:30px}

/* while the film plays, nothing else on the page paints or animates */
html.vplaying main>*:not(dialog),html.vplaying .drawer,html.vplaying .headroom{visibility:hidden!important}
html.vplaying *:not(dialog):not(dialog *){animation-play-state:paused!important}
dialog.vbox{transform:none!important;transition:opacity .35s ease!important;will-change:auto}
.vbox .frame{background:#000!important}

.pcard .frame.type{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:24px;color:#fff;text-align:left;
  background:radial-gradient(120% 120% at 100% 0%,#2c58b8 0%,#16348f 45%,#0b1d58 100%)}
.frame.type .tk{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.frame.type b{margin-top:8px;font:400 28px/1.1 var(--sans);letter-spacing:-.03em}
.frame.type i{font:400 18px/1.3 var(--serif);color:rgba(255,255,255,.75)}
.frame.type .tm{position:absolute;right:22px;top:22px;width:40px;color:rgba(255,255,255,.35);transition:color .6s,transform .8s cubic-bezier(.2,.7,.2,1)}
.frame.type .tm svg{display:block;width:100%;height:auto}
.pcard:hover .frame.type .tm{color:#fff;transform:rotate(-6deg) scale(1.08)}

.mosaic.n1m{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr}
.mosaic.n1m .mz0{grid-row:auto}
.mz-map{position:relative}.mz-map iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:640px){.mosaic.n1m .mz-map{grid-column:1/-1;aspect-ratio:4/3}}

.lcard .ph-map{display:block;background:#dfe4ea}
.lcard .ph-map iframe{position:absolute;inset:-60px -2px -2px;width:calc(100% + 4px);height:calc(100% + 62px);border:0;pointer-events:none;filter:saturate(1.05) contrast(1.03)}
.lcard .ph-map::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,30,.25),transparent 30%,transparent 70%,rgba(5,10,30,.35));pointer-events:none}
.mtag{position:absolute;right:14px;bottom:14px;z-index:2;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:6px 10px;border-radius:999px;background:rgba(10,18,46,.45);backdrop-filter:blur(8px)}
/* footer links: underline draws left to right on hover, retracts to the right on leave */
.cols a,.legal nav a{text-decoration:none!important;background:linear-gradient(currentColor,currentColor) no-repeat right bottom/0 1px;padding-bottom:2px;transition:background-size .5s cubic-bezier(.65,0,.35,1)}
.cols a:hover,.legal nav a:hover,.cols a:focus-visible,.legal nav a:focus-visible{background-size:100% 1px;background-position:left bottom}

/* footer address map pop-up */
.maplink{position:relative}
.maplink>a{display:inline}
.mappop{position:absolute;right:0;bottom:calc(100% + 14px);z-index:20;width:300px;padding:6px;border-radius:18px;background:rgba(255,255,255,.96);color:var(--ink);
  box-shadow:0 30px 60px -24px rgba(5,12,40,.55),0 8px 20px -10px rgba(5,12,40,.35);opacity:0;visibility:hidden;transform:translateY(8px) scale(.97);transform-origin:bottom right;
  transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s linear .5s}
.maplink.open .mappop{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s}
.mappop::after{content:"";position:absolute;right:28px;top:100%;border:7px solid transparent;border-top-color:rgba(255,255,255,.96)}
.mappop iframe{display:block;width:100%;height:170px;border:0;border-radius:13px;background:#e9edf2;filter:grayscale(.35) contrast(1.02)}
.mp-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 8px 6px;font-size:12px}
.mp-row b{font-weight:600}
.mp-links{display:flex;gap:10px}
.mp-links a{color:var(--brand);font-weight:500;background:none!important;padding:0}
.mp-links a:hover{text-decoration:underline!important;text-underline-offset:3px}
@media (hover:none){.mappop{display:none}}
.lcard .ph-map img{width:100%;height:100%;object-fit:cover}
.lcard .ph-map::after{z-index:1}

.esri{position:absolute;display:grid;grid-template-columns:repeat(var(--c),1fr);grid-auto-rows:1fr;pointer-events:none}
.esri img{width:100%;height:100%;display:block;object-fit:cover}
.lcard .ph-map,.mz-esri{overflow:hidden;position:relative;background:#2b3a2e}
.mz-esri::before{content:"";position:absolute;left:50%;top:50%;z-index:2;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(59,123,191,.55),0 0 0 14px rgba(59,123,191,.18)}
.lcard .ph-map .esri{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.lcard:hover .ph-map .esri,.lcard .ph-map:hover .esri{transform:scale(1.05)}
.lcard .ph-map::before{content:"";position:absolute;left:50%;top:50%;z-index:2;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(59,123,191,.55),0 0 0 12px rgba(59,123,191,.18)}

/* ================= Pre-approval: CTAs + calculator + application (IBM Plex, financial) ================= */
:root{--fin:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;--finmono:"IBM Plex Mono",ui-monospace,monospace;--pq:#16348f;--pq-2:#2c58b8;--ok:#1f8a5b;--warn:#c98a12;--bad:#c4472f}
.btn-pq{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 17px;border-radius:999px;background:var(--pq);color:#fff;font:500 13.5px/1 var(--fin);letter-spacing:.005em;white-space:nowrap;margin-right:8px;transition:background .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.btn-pq .dot{width:6px;height:6px;border-radius:50%;background:#7fd8a8;box-shadow:0 0 0 0 rgba(127,216,168,.6);animation:pqdot 2.8s ease-out infinite}
.btn-pq:hover{background:#0b1d58;box-shadow:0 8px 22px -10px rgba(22,52,143,.7)}
@keyframes pqdot{0%{box-shadow:0 0 0 0 rgba(127,216,168,.55)}70%,100%{box-shadow:0 0 0 7px rgba(127,216,168,0)}}
@media (max-width:1180px){.topbar .btn-pq,.headroom .btn-pq,.hero .btn-pq{display:none}}
.pq-k{display:inline-block;font:500 11px/1 var(--finmono);letter-spacing:.16em;text-transform:uppercase;color:var(--pq-2);margin-bottom:16px}
.pq-k.light{color:#9fbdf0}

/* band */
.pq-band{padding:24px 0 96px;background:transparent}
.sec+.pq-band{padding-top:0}
.pq-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;padding:52px 56px;border-radius:28px;background:linear-gradient(120deg,#f4f7fd 0%,#eaf0fb 100%);border:1px solid rgba(22,52,143,.09);font-family:var(--fin)}
.pq-card::after{content:"";position:absolute;right:-140px;top:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(44,88,184,.13),transparent 65%);pointer-events:none}
.pq-card h3{margin:0 0 26px;font:400 clamp(30px,3.2vw,46px)/1.06 var(--fin);letter-spacing:-.025em;color:#0b1d58}
.pq-card h3 em{color:var(--pq-2)}
.pq-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font:400 13.5px/1 var(--fin);color:rgba(11,29,88,.72)}
.pq-trust li{display:flex;align-items:center;gap:8px}.pq-trust svg{width:16px;height:16px;color:var(--pq-2)}
.pq-trust.light{color:rgba(255,255,255,.78)}.pq-trust.light svg{color:#9fbdf0}
.pq-r{position:relative;z-index:1;display:grid;gap:22px;justify-items:start}
.pq-mini{display:grid;gap:6px;padding:22px 26px;border-radius:18px;background:#fff;box-shadow:0 1px 0 rgba(11,29,88,.04),0 18px 40px -26px rgba(11,29,88,.35);min-width:300px}
.pq-mini span{font:500 11px/1 var(--finmono);letter-spacing:.14em;text-transform:uppercase;color:rgba(11,29,88,.5)}
.pq-mini b{font:500 44px/1.05 var(--fin);letter-spacing:-.03em;color:#0b1d58;font-variant-numeric:tabular-nums}
.pq-mini small{font:400 12.5px/1.3 var(--fin);color:rgba(11,29,88,.55)}
.pq-card .btn-dark,.pq-inline .btn-dark{background:var(--pq);font-family:var(--fin)}
.pq-card .btn-dark:hover,.pq-inline .btn-dark:hover{background:#0b1d58}
.pq-inline{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:56px;padding:22px 22px 22px 30px;border-radius:20px;border:1px solid rgba(22,52,143,.12);background:linear-gradient(90deg,#f6f8fd,#fff);font-family:var(--fin)}
.pq-inline .pq-k{margin:0 0 6px}.pq-inline b{display:block;font:400 19px/1.35 var(--fin);letter-spacing:-.01em;color:#0b1d58}
.pq-side{display:grid;gap:8px;margin-top:16px;padding:24px;border-radius:20px;background:linear-gradient(150deg,#0b1d58,#16348f 70%,#2c58b8);color:#fff;font-family:var(--fin);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.pq-side:hover{transform:translateY(-2px);box-shadow:0 22px 40px -24px rgba(11,29,88,.8)}
.pq-side .pq-k{color:#9fbdf0;margin:0}.pq-side b{font:400 21px/1.25 var(--fin);letter-spacing:-.015em}.pq-side .pq-s{font-size:12.5px;color:rgba(255,255,255,.62)}
.pq-side .pq-go{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:500}
.pq-side .pq-go .arrow{transition:transform .5s cubic-bezier(.7,0,.2,1)}.pq-side:hover .pq-go .arrow{transform:translateX(4px)}

/* page */
.pq-page{font-family:var(--fin)}
.pq-page em{font-family:var(--fin);font-style:normal;color:var(--pq-2)}
.pq-hero{position:relative;overflow:hidden;padding:150px 0 70px;background:linear-gradient(180deg,#0b1d58 0%,#16348f 62%,#f5f6f8 62.01%);color:#fff}
.pq-hero canvas.band-stars{position:absolute;inset:0;width:100%;height:62%;pointer-events:none}
.pq-hero .wrap{position:relative}
.crumb.light,.crumb.light a{color:rgba(255,255,255,.62)}
.pq-hh{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin:36px 0 56px}
.pq-hh h1{margin:0 0 20px;font:300 clamp(44px,5.4vw,80px)/1 var(--fin);letter-spacing:-.035em}
.pq-hh p{margin:0;max-width:560px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.74)}
.pq-hh .pq-trust{flex-direction:column;gap:14px;justify-self:end}
.pqcalc{display:grid;grid-template-columns:1.15fr 1fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -40px rgba(11,29,88,.55),0 0 0 1px rgba(11,29,88,.06);color:#0b1d58}
.calc-in{padding:44px 46px;display:grid;gap:30px}
.cf label,.cf .lbl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font:500 13px/1.2 var(--fin);color:#0b1d58}
.cf label small{font-weight:400;color:rgba(11,29,88,.5)}
.cf.two{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.money{display:flex;align-items:center;gap:6px;height:56px;padding:0 18px;border-radius:12px;border:1px solid rgba(11,29,88,.14);background:#fbfcfe;transition:border-color .3s,box-shadow .3s}
.money:focus-within{border-color:var(--pq-2);box-shadow:0 0 0 4px rgba(44,88,184,.12);background:#fff}
.money span{font:400 20px var(--fin);color:rgba(11,29,88,.45)}
.money input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 22px/1 var(--fin);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:#0b1d58}
.money.in{height:50px}.money.in input{font-size:17px}
.pqcalc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;margin:16px 0 0;border-radius:3px;background:rgba(11,29,88,.12);outline:0}
.pqcalc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:5px solid var(--pq);box-shadow:0 2px 8px rgba(11,29,88,.25);cursor:grab}
.pqcalc input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:5px solid var(--pq);cursor:grab}
.pqchips{display:flex;flex-wrap:wrap;gap:8px}
.pqchips button{height:40px;padding:0 15px;border-radius:10px;border:1px solid rgba(11,29,88,.14);font:500 13.5px/1 var(--fin);color:rgba(11,29,88,.78);font-variant-numeric:tabular-nums;transition:background .3s,color .3s,border-color .3s}
.pqchips button:hover{border-color:rgba(11,29,88,.35)}
.pqchips button[aria-pressed=true]{background:#0b1d58;border-color:#0b1d58;color:#fff}
.calc-out{position:relative;padding:44px 46px;background:linear-gradient(165deg,#0b1d58,#132c7a 60%,#16348f);color:#fff;display:flex;flex-direction:column}
.co-k{font:500 11px/1 var(--finmono);letter-spacing:.16em;text-transform:uppercase;color:#9fbdf0}
.co-big{margin:14px 0 26px;font:300 clamp(48px,5vw,72px)/1 var(--fin);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.co-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.co-row small,.dti small{display:block;margin-bottom:6px;font-size:12px;color:rgba(255,255,255,.58)}
.co-row b{font:500 20px/1 var(--fin);font-variant-numeric:tabular-nums}
.stack{display:flex;gap:3px;height:8px;margin:24px 0 16px;border-radius:8px;overflow:hidden}
.stack i{display:block;flex:0 0 0;flex-grow:1;transition:flex-grow .7s cubic-bezier(.2,.7,.2,1)}
#s-pi,.d.pi{background:#fff}#s-tax,.d.tax{background:#7aa2ea}#s-ins,.d.ins{background:#4c73c8}#s-pmi,.d.pmi{background:#7fd8a8}
.legend{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;font-size:13px;color:rgba(255,255,255,.72)}
.legend li{display:flex;align-items:center;gap:8px}.legend b{margin-left:auto;font-weight:500;color:#fff;font-variant-numeric:tabular-nums}
.legend .d{width:8px;height:8px;border-radius:2px;flex:none}
.dti-top{display:flex;justify-content:space-between;align-items:baseline}.dti-top b{font:500 15px var(--fin);font-variant-numeric:tabular-nums}
.dti-bar{position:relative;height:6px;margin:4px 0 8px;border-radius:6px;background:rgba(255,255,255,.12)}
.dti-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--ok);transition:width .7s cubic-bezier(.2,.7,.2,1),background .5s}
.dti-bar i[data-z=mid]{background:var(--warn)}.dti-bar i[data-z=hi]{background:var(--bad)}
.dti-bar span{position:absolute;top:-3px;bottom:-3px;width:1px;background:rgba(255,255,255,.45)}
.dti-lbl{display:flex;justify-content:space-between;font:400 10.5px/1 var(--finmono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.co-cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 22px;border-radius:14px;background:#fff;color:#0b1d58;font:500 15px var(--fin);transition:background .4s}
.co-cta:hover{background:#e8eefb}.co-cta .arrow{transition:transform .5s cubic-bezier(.7,0,.2,1)}.co-cta:hover .arrow{transform:translateX(4px)}
.calc-out .dti{margin-bottom:30px}
.co-homes{margin-top:14px;text-align:center;font-size:13.5px;color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.3)}
.co-homes:hover{color:#fff}
.calc-note{margin:18px 0 0;font-size:12.5px;line-height:1.5;color:rgba(11,29,88,.5)}

/* application */
.apply{padding:120px 0;background:#f5f6f8}
.ap-grid{display:grid;grid-template-columns:340px 1fr;gap:72px;align-items:start}
.ap-side{position:sticky;top:110px}
.ap-side h2{margin:0 0 36px;font:300 46px/1.05 var(--fin);letter-spacing:-.03em;color:#0b1d58}
.ap-steps{list-style:none;margin:0 0 36px;padding:0;counter-reset:s;display:grid;gap:4px}
.ap-steps li{counter-increment:s;display:flex;align-items:center;gap:14px;padding:11px 0;font-size:15px;color:rgba(11,29,88,.45);transition:color .4s}
.ap-steps li::before{content:counter(s,decimal-leading-zero);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(11,29,88,.16);font:500 11px var(--finmono);transition:all .4s}
.ap-steps li.on{color:#0b1d58;font-weight:500}.ap-steps li.on::before{background:#0b1d58;border-color:#0b1d58;color:#fff}
.ap-steps li.done{color:rgba(11,29,88,.7)}.ap-steps li.done::before{content:"✓";background:#e3ebfa;border-color:#e3ebfa;color:var(--pq)}
.ap-sec{display:flex;gap:12px;padding:18px;border-radius:14px;background:#fff;font-size:12.5px;line-height:1.5;color:rgba(11,29,88,.6)}
.ap-sec svg{width:18px;height:18px;flex:none;color:var(--pq-2)}
.ap-form{position:relative;padding:48px 52px 40px;border-radius:26px;background:#fff;box-shadow:0 30px 60px -40px rgba(11,29,88,.35),0 0 0 1px rgba(11,29,88,.05);color:#0b1d58}
.ap-bar{height:3px;margin:-48px -52px 44px;border-radius:26px 26px 0 0;background:rgba(11,29,88,.06);overflow:hidden}
.ap-bar i{display:block;height:100%;width:16.66%;background:linear-gradient(90deg,var(--pq),var(--pq-2));transition:width .7s cubic-bezier(.2,.7,.2,1)}
.ap-step{display:none;border:0;margin:0;padding:0;min-width:0}
.ap-step.on{display:grid;gap:26px;animation:apin .6s cubic-bezier(.2,.7,.2,1)}
@keyframes apin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ap-step legend{padding:0;margin-bottom:26px;font:400 30px/1.15 var(--fin);letter-spacing:-.02em}
.hint{margin:-14px 0 0;font-size:14px;color:rgba(11,29,88,.55)}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opt-grid.five{grid-template-columns:repeat(5,1fr)}
.ocard{position:relative;cursor:pointer}
.ocard input{position:absolute;opacity:0;pointer-events:none}
.ocard span{display:grid;gap:5px;padding:20px 22px;border-radius:14px;border:1px solid rgba(11,29,88,.14);transition:border-color .3s,background .3s,box-shadow .3s}
.ocard.sm span{padding:16px;text-align:center}
.ocard b{font:500 16px var(--fin);font-variant-numeric:tabular-nums}.ocard small{font-size:13px;color:rgba(11,29,88,.55)}
.ocard:hover span{border-color:rgba(11,29,88,.32)}
.ocard input:checked+span{border-color:var(--pq);background:#f3f6fd;box-shadow:inset 0 0 0 1px var(--pq)}
.ocard input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{display:grid;gap:9px;min-width:0}
.fld label{font:500 13px var(--fin)}
.fld>input,.fld select{height:50px;padding:0 16px;border-radius:12px;border:1px solid rgba(11,29,88,.14);background:#fbfcfe;font:400 16px var(--fin);color:#0b1d58;outline:0;transition:border-color .3s,box-shadow .3s;width:100%}
.fld select{-webkit-appearance:none;appearance:none;background:#fbfcfe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1d58' stroke-width='1.8'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px;padding-right:40px}
.fld>input:focus,.fld select:focus{border-color:var(--pq-2);box-shadow:0 0 0 4px rgba(44,88,184,.12);background-color:#fff}
.ap-form [aria-invalid=true],.money:has([aria-invalid=true]){border-color:var(--bad)!important;box-shadow:0 0 0 4px rgba(196,71,47,.1)}
.ap-consent{font-family:var(--fin)}.ap-consent a{text-decoration:underline}
.ap-err{min-height:20px;margin:18px 0 0;font-size:13.5px;color:var(--bad)}
.ap-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;margin-top:8px;border-top:1px solid rgba(11,29,88,.08)}
.ap-nav .btn-dark{background:var(--pq);font-family:var(--fin);margin-left:auto}.ap-nav .btn-dark:hover{background:#0b1d58}
.ap-count{font:500 11px var(--finmono);letter-spacing:.12em;text-transform:uppercase;color:rgba(11,29,88,.45)}
.ap-back[hidden]+.ap-count{margin-right:auto}
.ap-done{animation:apin .7s cubic-bezier(.2,.7,.2,1)}
.ap-done h3{margin:0 0 10px;font:400 24px var(--fin);color:rgba(11,29,88,.7)}
.ad-big{font:300 clamp(56px,6vw,84px)/1 var(--fin);letter-spacing:-.04em;color:#0b1d58;font-variant-numeric:tabular-nums}
.ad-sub{margin:12px 0 30px;font-size:13.5px;color:rgba(11,29,88,.55)}.ad-sub b{font:500 13px var(--finmono);color:#0b1d58}
.ad-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(11,29,88,.1);border-radius:16px;margin-bottom:34px}
.ad-grid>div{padding:20px 22px}.ad-grid>div+div{border-left:1px solid rgba(11,29,88,.1)}
.ad-grid small{display:block;margin-bottom:8px;font-size:12.5px;color:rgba(11,29,88,.55)}.ad-grid b{font:500 22px var(--fin);font-variant-numeric:tabular-nums}
.ad-next{list-style:none;margin:0 0 34px;padding:0;display:grid;gap:16px}
.ad-next li{display:grid;grid-template-columns:170px 1fr;gap:18px;font-size:15px;line-height:1.5;color:rgba(11,29,88,.72)}
.ad-next b{font:500 11px/1.9 var(--finmono);letter-spacing:.1em;text-transform:uppercase;color:var(--pq-2)}
.ad-acts{display:flex;flex-wrap:wrap;gap:12px}.ad-acts .btn-dark{background:var(--pq)}
.pq-demo{margin:28px 0 0;padding-top:18px;border-top:1px dashed rgba(11,29,88,.14);font:400 11.5px var(--finmono);color:rgba(11,29,88,.45)}
.pq-faq{padding:110px 0 30px;background:#fff}
.pf-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}
.pf-grid h2{margin:0;font:300 48px/1.05 var(--fin);letter-spacing:-.03em;color:#0b1d58}
.pf-list{margin:0;display:grid}
.pf-list>div{padding:24px 0;border-top:1px solid rgba(11,29,88,.1)}
.pf-list dt{margin-bottom:8px;font:500 17px var(--fin);color:#0b1d58}.pf-list dd{margin:0;font-size:15px;line-height:1.6;color:rgba(11,29,88,.65)}
.pq-legal{margin:40px auto 90px;font:400 12px/1.6 var(--fin);color:rgba(11,29,88,.45)}
@media (max-width:980px){
  .pq-card{grid-template-columns:1fr;padding:36px 28px;gap:30px}.pq-mini{min-width:0;width:100%}
  .pq-inline{flex-direction:column;align-items:flex-start;padding:24px}
  .pq-hh{grid-template-columns:1fr;gap:30px}.pq-hh .pq-trust{justify-self:start}
  .pq-hero{padding-top:120px;background:linear-gradient(180deg,#0b1d58 0%,#16348f 40%,#f5f6f8 40.01%)}
  .pqcalc{grid-template-columns:1fr}.calc-in,.calc-out{padding:30px 24px}
  .ap-grid{grid-template-columns:1fr;gap:36px}.ap-side{position:static}.ap-steps{display:none}
  .ap-form{padding:36px 22px 28px}.ap-bar{margin:-36px -22px 32px}
  .frow,.opt-grid,.cf.two{grid-template-columns:1fr}.opt-grid.five{grid-template-columns:1fr 1fr}
  .ad-grid{grid-template-columns:1fr}.ad-grid>div+div{border-left:0;border-top:1px solid rgba(11,29,88,.1)}.ad-next li{grid-template-columns:1fr;gap:4px}
  .pf-grid{grid-template-columns:1fr;gap:30px}
}

.tb-r{display:flex;align-items:center}
.pq-side{background:linear-gradient(150deg,#f3f6fd,#e6edfa);color:#0b1d58;border:1px solid rgba(22,52,143,.1)}
.pq-side .pq-k{color:var(--pq-2)}.pq-side .pq-s{color:rgba(11,29,88,.55)}.pq-side .pq-go{color:var(--pq)}
.pq-side:hover{box-shadow:0 22px 40px -26px rgba(11,29,88,.45)}
.pqcalc>*{min-width:0}
@media (max-width:980px){.pqcalc{grid-template-columns:minmax(0,1fr)}.legend{grid-template-columns:1fr}.co-row b{font-size:17px}.cf label small{display:none}}
.calc-in{grid-template-columns:minmax(0,1fr)}.cf{min-width:0}
/* seamless rail: spacing lives on each tile (not flex gap) so -50% lands exactly on the copy seam */
.track{gap:0;will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0)}
.track .igt{margin-right:16px}
@keyframes rail{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.track{animation-duration:90s}.track.rev{animation-duration:100s}
.esri img{width:calc(100% + 1px);height:calc(100% + 1px);max-width:none}
.mz-map iframe{width:100%;height:100%;border:0;display:block}
.ac-acts .btn.dark .roll,.ac-acts .btn.dark:hover .roll{color:var(--ink)}
.ac-acts .btn.dark:hover{background:#e8eefb;border-color:#e8eefb}
.agent-card .btn span,.agent-card .btn .roll{color:inherit;font-size:inherit}
.ac-acts .btn.dark{color:var(--ink)}
.mz::after{pointer-events:none}.mz-map::after,.mz-map:hover::after{display:none}
.lp-view iframe,.mz-map iframe{pointer-events:auto;position:relative;z-index:1}

/* ===== native app screens inside the iPhone ===== */
.nat{background:#fff;color:#0d0d0f;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Geist",sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;letter-spacing:-.01em}
.nat .mu{color:#8a8a8e}
:is(.nat,.as) .sb{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;justify-content:space-between;align-items:center;height:6.2cqh;padding:1.1cqh 8.5cqw 0 10cqw;font:600 2.3cqh/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",sans-serif;color:#111;letter-spacing:-.02em}
.as .sb{position:relative;margin:0 -5.5%}
:is(.nat,.as) .sb.dk{color:#fff}
:is(.nat,.as) .sb-r{display:flex;align-items:center;gap:1.1cqw}
:is(.nat,.as) .sb svg{height:1.6cqh;width:auto;fill:currentColor}:is(.nat,.as) .sb .sb-bat{height:1.75cqh}
:is(.nat,.as) .sb .sb-bat rect:last-of-type,:is(.nat,.as) .sb .sb-bat path{fill:currentColor}
.nat .hi{position:absolute;left:50%;bottom:1cqh;width:36%;height:.65cqh;border-radius:9px;background:#111;transform:translateX(-50%);z-index:9}
.nat .hi.lt{background:rgba(255,255,255,.9)}
.nat .ib-btn{display:grid;place-items:center;height:6.4cqh;border-radius:1.8cqh;background:#0a5fd1;color:#fff;font-weight:600;font-size:2.25cqh;letter-spacing:-.01em;transition:transform .18s ease,filter .18s ease,background .3s}
.nat .ib-btn.ghost{background:#eef2f8;color:#0a3d91}
/* welcome */
.nat .s1 .wl-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.1 - var(--t,0)*.06))}
.nat .wl-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,40,.35),rgba(6,14,40,.05) 30%,rgba(6,14,40,.55) 62%,rgba(4,10,30,.92))}
.nat .wl-mid{position:absolute;left:0;right:0;top:36%;display:grid;justify-items:center;gap:.6cqh;color:#fff;text-align:center}
.nat .wl-mark{width:13cqh;color:#fff;filter:drop-shadow(0 4px 14px rgba(0,0,0,.3))}.nat .wl-mark svg{width:100%;height:auto;display:block}
.nat .wl-mid b{font-size:4.6cqh;letter-spacing:.22em;font-weight:600;margin-top:1cqh}.nat .wl-mid small{font-size:2cqh;opacity:.82;letter-spacing:.01em}
.nat .wl-bot{position:absolute;left:7%;right:7%;bottom:6.5cqh;display:grid;gap:2.2cqh;text-align:center}
.nat .wl-bot .ib-btn{background:#fff;color:#0b1d58}
.nat .wl-alt{color:rgba(255,255,255,.85);font-size:1.95cqh;font-weight:500}
/* map */
.nat .map{position:absolute;inset:0;overflow:hidden;background:#eef0ea}
.nat .map-t{position:absolute;left:-10%;top:-6%;width:120%;height:112%;display:grid;grid-template-columns:repeat(3,1fr);transform:scale(calc(1.02 + var(--t,0)*.05));transform-origin:30% 40%;transition:transform .2s linear}
.nat .map-t img{width:100%;height:100%;display:block;object-fit:cover}
.nat .mp{position:absolute;z-index:2;transform:translate(-50%,-100%) scale(0);padding:.7cqh 1.4cqh;border-radius:999px;background:#fff;color:#0d0d0f;font-weight:700;font-size:1.8cqh;box-shadow:0 2px 8px rgba(0,0,0,.18);white-space:nowrap;transition:transform .45s cubic-bezier(.3,1.5,.5,1) var(--d),background .3s,color .3s}
.nat .mp::after{content:"";position:absolute;left:50%;bottom:-.6cqh;width:1.2cqh;height:1.2cqh;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:2px;z-index:-1}
.nat .mp.dot{padding:0;width:1.6cqh;height:1.6cqh;background:#0a5fd1;border:.35cqh solid #fff;transform:translate(-50%,-50%) scale(0)}.nat .mp.dot::after{display:none}
.appflow[data-stage="2"] .mp{transform:translate(-50%,-100%) scale(1)}
.appflow[data-stage="2"] .mp.dot{transform:translate(-50%,-50%) scale(1)}
.appflow[data-stage="2"]:is([data-step="3"],.nat [data-step="4"],.nat [data-step="5"]) .mp.hl{background:#0a5fd1;color:#fff;transform:translate(-50%,-100%) scale(1.14);transition-delay:0s}
.nat .me{position:absolute;left:46%;top:52%;width:2.2cqh;height:2.2cqh;border-radius:50%;background:#0a84ff;border:.45cqh solid #fff;box-shadow:0 0 0 0 rgba(10,132,255,.35);animation:mepulse 2.2s ease-out infinite;z-index:2}
@keyframes mepulse{to{box-shadow:0 0 0 3cqh rgba(10,132,255,0)}}
.nat .ms-top{position:absolute;left:4%;right:4%;top:6.8cqh;z-index:5;display:grid;gap:1.2cqh}
.nat .srch{display:flex;align-items:center;gap:1.2cqh;height:5.6cqh;padding:0 1.8cqh;border-radius:1.8cqh;background:rgba(255,255,255,.94);box-shadow:0 4px 18px rgba(0,0,0,.12);backdrop-filter:blur(12px);font-size:2.1cqh;font-weight:500}
.nat .srch svg{width:2.4cqh;height:2.4cqh;fill:none;stroke:#8a8a8e;stroke-width:2.2;stroke-linecap:round}
.nat .typed{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid #0a84ff}
.appflow[data-stage="2"] .typed{max-width:30cqh;transition:max-width 1.3s steps(20) .2s}
.nat .chips{display:flex;gap:1cqh;overflow:hidden}.nat .chips span{flex:none;padding:1cqh 1.6cqh;border-radius:999px;background:rgba(255,255,255,.94);font-size:1.75cqh;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.nat .chips .on{background:#0d0d0f;color:#fff}
.nat .ms-sheet{position:absolute;left:2.5%;right:2.5%;bottom:2.4cqh;z-index:6;padding:1.2cqh 1.4cqh 1.6cqh;border-radius:2.6cqh;background:#fff;box-shadow:0 -4px 30px rgba(0,0,0,.16);transform:translateY(130%);transition:transform .6s cubic-bezier(.2,.9,.25,1)}
.appflow[data-stage="2"]:is([data-step="3"],.nat [data-step="4"],.nat [data-step="5"]) .ms-sheet{transform:none}
.nat .grab{display:block;width:5cqh;height:.6cqh;margin:0 auto 1.2cqh;border-radius:9px;background:#d1d1d6}
.nat .ms-row{display:flex;gap:1.6cqh;align-items:center}.nat .ms-row img{width:13cqh;height:10cqh;object-fit:cover;border-radius:1.4cqh}
.nat .ms-row div{display:grid;gap:.5cqh;font-size:1.75cqh}.nat .ms-row b{font-size:2.6cqh}
/* listings */
.nat .nv{position:absolute;top:6.4cqh;left:5%;right:5%;display:grid;gap:.4cqh}.nat .nv b{font-size:4.1cqh;font-weight:700;letter-spacing:-.025em}.nat .nv span{font-size:1.9cqh}
.nat .seg{position:absolute;top:16.2cqh;left:5%;right:5%;display:grid;grid-template-columns:repeat(3,1fr);padding:.45cqh;border-radius:1.4cqh;background:#f0f0f3;font-size:1.8cqh;font-weight:600;text-align:center;z-index:2}
.nat .seg span{padding:.9cqh 0;border-radius:1.1cqh;color:#3c3c43}.nat .seg .on{background:#fff;color:#0d0d0f;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.nat .lst{position:absolute;top:22.6cqh;left:0;right:0;bottom:0;overflow:hidden}
.nat .lst-in{padding:0 5%;display:grid;gap:2.2cqh;transform:translateY(calc(var(--t,0) * -46cqh));transition:transform .2s linear}
.nat .lc-ph{position:relative;height:22cqh;border-radius:2cqh;overflow:hidden;background:#eee}.nat .lc-ph img{width:100%;height:100%;object-fit:cover}
.nat .lc-tag{position:absolute;left:1.2cqh;top:1.2cqh;padding:.6cqh 1.1cqh;border-radius:999px;background:rgba(255,255,255,.92);font-size:1.5cqh;font-weight:700}
.nat .lc-h{position:absolute;right:1.2cqh;top:1.2cqh;width:4cqh;height:4cqh;border-radius:50%;background:rgba(0,0,0,.28);display:grid;place-items:center;backdrop-filter:blur(6px)}
.nat .lc-h svg{width:2.3cqh;height:2.3cqh;fill:none;stroke:#fff;stroke-width:2;transition:fill .25s,stroke .25s,transform .35s cubic-bezier(.3,1.6,.5,1)}
.appflow[data-stage="3"]:is([data-step="2"],.nat [data-step="3"],.nat [data-step="4"],.nat [data-step="5"]) .lc.like .lc-h svg{fill:#ff375f;stroke:#ff375f;transform:scale(1.18)}
.nat .lc-b{display:grid;gap:.4cqh;padding:1.2cqh .4cqh 0;font-size:1.8cqh}.nat .lc-b b{font-size:2.6cqh;font-weight:700}
.nat .tb{position:absolute;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);padding:1.2cqh 2% 3.6cqh;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.08);font-size:1.35cqh;font-weight:500;color:#8a8a8e;text-align:center}
.nat .tb span{display:grid;justify-items:center;gap:.4cqh}.nat .tb svg{width:3cqh;height:3cqh;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.nat .tb .on{color:#0a5fd1}
/* details */
.nat .dt-hero{position:absolute;left:0;right:0;top:0;height:42%;overflow:hidden}.nat .dt-hero img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.08 - var(--t,0)*.05))}
.nat .dt-sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 35%)}
.nat .dt-back{position:absolute;left:4%;top:7cqh;width:4.4cqh;height:4.4cqh;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;font-size:3.4cqh;line-height:1;padding-bottom:.4cqh;z-index:3}
.nat .dt-n{position:absolute;right:4%;bottom:1.6cqh;padding:.5cqh 1.2cqh;border-radius:999px;background:rgba(0,0,0,.5);color:#fff;font-size:1.5cqh;font-weight:600}
.nat .dt-b{position:absolute;top:44%;left:5%;right:5%;display:grid;gap:.6cqh}.nat .dt-p{font-size:4cqh;font-weight:700;letter-spacing:-.025em}.nat .dt-b>span{font-size:1.85cqh}
.nat .dt-f{display:grid;grid-template-columns:repeat(4,1fr);margin:1.6cqh 0;padding:1.4cqh 0;border-block:1px solid #ececf0;text-align:center}.nat .dt-f b{display:block;font-size:2.4cqh}.nat .dt-f span{font-size:1.5cqh;color:#8a8a8e}
.nat .dt-b p{margin:0;font-size:1.85cqh;line-height:1.45;color:#3c3c43}
.nat .dt-cta{position:absolute;left:5%;right:5%;bottom:4.2cqh;display:grid;grid-template-columns:1fr 1.6fr;gap:1.2cqh}
.nat .scrim{position:absolute;inset:0;background:rgba(0,0,0,0);pointer-events:none;transition:background .5s;z-index:7}
.nat .sheet{position:absolute;left:0;right:0;bottom:0;z-index:8;padding:1.4cqh 5% 4.4cqh;border-radius:3cqh 3cqh 0 0;background:#fff;display:grid;gap:1.2cqh;transform:translateY(130%);transition:transform .6s cubic-bezier(.2,.9,.25,1)}
.nat .sheet>b{font-size:2.8cqh}.nat .sheet>.mu{font-size:1.75cqh;margin-top:-.6cqh}
.nat .days,.nat .times{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqh}
.nat .days span{display:grid;justify-items:center;padding:1.1cqh 0;border-radius:1.5cqh;border:1px solid #e3e3e8}.nat .days small{font-size:1.45cqh;color:#8a8a8e}.nat .days b{font-size:2.4cqh}
.nat .times span{padding:1.2cqh 0;border-radius:1.3cqh;border:1px solid #e3e3e8;text-align:center;font-size:1.6cqh;font-weight:600}
.nat .days .pick,.nat .times .pick{transition:background .3s .1s,border-color .3s .1s,color .3s .1s}
.appflow[data-stage="4"]:is([data-step="3"],.nat [data-step="4"]) :is(.days,.nat .times) .pick{background:#0a5fd1;border-color:#0a5fd1;color:#fff}
.appflow[data-stage="4"]:is([data-step="3"],.nat [data-step="4"]) .days .pick small{color:rgba(255,255,255,.8)}
.appflow[data-stage="4"]:is([data-step="2"],.nat [data-step="3"],.nat [data-step="4"]) .sheet{transform:none}
.appflow[data-stage="4"]:is([data-step="2"],.nat [data-step="3"],.nat [data-step="4"]) .scrim{background:rgba(0,0,0,.32)}
.nat .toast2{position:absolute;left:4%;right:4%;top:6.4cqh;z-index:9;display:flex;gap:1.4cqh;align-items:center;padding:1.4cqh 1.6cqh;border-radius:2.4cqh;background:rgba(250,250,252,.96);box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(20px);transform:translateY(-160%);transition:transform .55s cubic-bezier(.2,.9,.25,1)}
.nat .toast2 div{display:grid;gap:.3cqh;font-size:1.7cqh;color:#3c3c43}.nat .toast2 b{font-size:1.95cqh;color:#0d0d0f}
.nat .toast2 .ok{flex:none;width:4.4cqh;height:4.4cqh;border-radius:50%;background:#30d158;display:grid;place-items:center}.nat .toast2 svg{width:2.6cqh;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.appflow[data-stage="4"][data-step="5"] .toast2{transform:none}
/* taps: real button press, no ring */
.appflow[data-stage="1"][data-step="3"] .p2,.appflow[data-stage="4"][data-step="1"] .p1,.appflow[data-stage="4"][data-step="4"] .p4{transform:scale(.95);filter:brightness(.88)}
.nat .s1 .tap,.nat .s2 .tap{display:none}
/* star fields drift slightly with scroll: canvas is oversized so the parallax never shows an edge */
canvas.band-stars{top:-34px!important;bottom:auto!important;height:calc(100% + 68px)!important;will-change:transform}
.pq-hero canvas.band-stars{height:calc(62% + 68px)!important}
section:has(>canvas.band-stars){overflow:hidden}
.nat .me{left:64%;top:64%;box-shadow:0 0 0 0 rgba(10,132,255,.22);animation:mepulse2 2.4s ease-out infinite}
@keyframes mepulse2{0%{box-shadow:0 0 0 0 rgba(10,132,255,.25)}100%{box-shadow:0 0 0 2.4cqh rgba(10,132,255,0)}}

/* ===== UBTEO website on a phone (mobile Safari) ===== */
.nat.web{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Inter",sans-serif;background:#fff}
.nat.web em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}
.nat .w-top{position:absolute;left:0;right:0;top:5.6cqh;height:6.4cqh;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}
.nat .w-logo{display:flex;align-items:center;gap:1cqh;color:#3b7bbf}.nat .w-logo svg{height:3cqh;width:auto}.nat .w-logo b{font-size:2.3cqh;letter-spacing:.14em;font-weight:600}
.nat .w-menu{padding:.9cqh 1.8cqh;border:1px solid rgba(0,0,0,.14);border-radius:999px;font-size:1.7cqh;font-weight:500}
.nat .sb{background:#fff;height:5.6cqh}
.nat .w-body{position:absolute;left:0;right:0;top:12cqh;bottom:9.4cqh;overflow:hidden}
.nat .w-url{position:absolute;left:0;right:0;bottom:0;z-index:8;height:9.4cqh;padding:1.1cqh 4% 0;background:rgba(246,246,248,.96);backdrop-filter:blur(18px);border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:flex-start;gap:1.4cqh}
.nat .w-addr{flex:1;display:flex;align-items:center;justify-content:center;gap:.6cqh;height:4.6cqh;border-radius:1.4cqh;background:#e3e3e8;font:500 1.85cqh/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",sans-serif;color:#111}
.nat .w-addr svg{width:1.7cqh;height:1.7cqh;fill:none;stroke:#3c3c43;stroke-width:2}
.nat .w-aa,.nat .w-re{display:grid;place-items:center;height:4.6cqh;font:600 1.8cqh -apple-system,sans-serif;color:#0a84ff;min-width:3cqh}
.nat.web .hi{bottom:.9cqh}
.nat .w-dark{background:#0e0e0c;color:#fff;border-radius:999px}
.nat .w-blue{background:#16348f;color:#fff;border-radius:1.6cqh;font-family:"IBM Plex Sans","Geist",sans-serif}
/* home */
.nat .w-hero{position:absolute;left:3.5%;right:3.5%;top:1.6cqh;height:58cqh;border-radius:2.6cqh;overflow:hidden}
.nat .w-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(calc(1.12 - var(--t,0)*.08))}
.nat .w-hshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 34%,rgba(255,255,255,0) 62%)}
.nat .w-htxt{position:absolute;left:6%;right:6%;top:3cqh;display:grid;gap:1.4cqh;justify-items:start}
.nat .w-htxt small{font-size:1.45cqh;letter-spacing:.18em;text-transform:uppercase;color:#6b6b70}
.nat .w-htxt h4{margin:0;font:400 4.6cqh/1.02 "Geist",sans-serif;letter-spacing:-.035em;color:#0e0e0c}
.nat .w-htxt p{margin:0;font-size:1.75cqh;line-height:1.45;color:#45454a}
.nat .w-htxt .ib-btn{height:5.4cqh;padding:0 2.6cqh;font-size:1.8cqh;margin-top:.6cqh}
.nat .w-feat{position:absolute;left:3.5%;right:3.5%;top:62cqh;display:flex;gap:1.6cqh;align-items:center;padding:1.2cqh;border-radius:2cqh;background:#f5f6f8}
.nat .w-feat img{width:12cqh;height:9cqh;object-fit:cover;border-radius:1.2cqh}.nat .w-feat div{display:grid;gap:.3cqh;font-size:1.6cqh;color:#6b6b70}.nat .w-feat b{font-size:2.5cqh;color:#0e0e0c;font-weight:500;letter-spacing:-.02em}
.nat .w-feat small{font-size:1.35cqh;text-transform:uppercase;letter-spacing:.12em}
/* listings */
.nat .w-h1{padding:2.4cqh 5.5% 0;font:400 4.2cqh/1.02 "Geist",sans-serif;letter-spacing:-.035em}
.nat .w-h1.sm{padding:1cqh 0 0;font-size:3.7cqh}
.nat .w-seg{display:flex;gap:.6cqh;margin:1.8cqh 5.5% 0;padding:.5cqh;border:1px solid rgba(0,0,0,.1);border-radius:999px;width:max-content;font-size:1.6cqh}
.nat .w-seg span{padding:.9cqh 1.8cqh;border-radius:999px;color:#55555a}.nat .w-seg .on{background:#0e0e0c;color:#fff}
.nat.web .lst{top:16cqh}
.nat.web .lst-in{transform:translateY(calc(var(--t,0) * -52cqh))}
.nat.web .lc-b b{font-weight:500;letter-spacing:-.02em}
/* details */
.nat.web .dt-hero{top:0;height:38%}
.nat.web .dt-b{top:40%}
.nat .w-stat{display:flex;align-items:center;gap:.8cqh;font-size:1.4cqh;letter-spacing:.14em;text-transform:uppercase;color:#55555a}.nat .w-stat i{width:.9cqh;height:.9cqh;border-radius:50%;background:#2fb26b}
.nat.web .dt-p{font-weight:500;letter-spacing:-.03em}
.nat.web .dt-cta{bottom:2.4cqh}
.nat.web .sheet{padding-bottom:2.6cqh}
/* pre-approval */
.nat .w-pq{position:absolute;inset:0;padding:2cqh 5.5% 0;display:flex;flex-direction:column;gap:1.6cqh;font-family:"IBM Plex Sans","Geist",sans-serif}
.nat .w-pq .w-h1 em{color:#2c58b8}
.nat .w-k{font:500 1.3cqh/1 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:#2c58b8}.nat .w-k.lt{color:#9fbdf0}
.nat .w-pqc{display:grid;gap:1.2cqh;padding:2.2cqh;border-radius:2.2cqh;background:linear-gradient(160deg,#0b1d58,#16348f);color:#fff}
.nat .w-pq-v{font:300 5.6cqh/1 "IBM Plex Sans",sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.nat .w-pqr{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqh;padding-top:1.2cqh;border-top:1px solid rgba(255,255,255,.15)}
.nat .w-pqr small{display:block;font-size:1.3cqh;color:rgba(255,255,255,.6)}.nat .w-pqr b{font-size:2cqh;font-weight:500;font-variant-numeric:tabular-nums}
.nat .w-stack{display:flex;gap:2px;height:.8cqh;border-radius:9px;overflow:hidden}.nat .w-stack i{background:#fff}.nat .w-stack i+i{background:#7aa2ea}.nat .w-stack i+i+i{background:#7fd8a8}
.nat .w-fld{display:grid;grid-template-columns:1fr auto;gap:.8cqh;font-size:1.55cqh;color:#55555a}.nat .w-fld b{font-size:2cqh;color:#0b1d58;font-weight:500}
.nat .w-rng{grid-column:1/-1;position:relative;height:.5cqh;border-radius:9px;background:#e4e8f2}
.nat .w-rng i{position:absolute;top:50%;left:calc(18% + var(--t,0)*38%);width:2.2cqh;height:2.2cqh;margin:-1.1cqh 0 0 -1.1cqh;border-radius:50%;background:#fff;border:.55cqh solid #16348f}
.nat .w-rng.d i{left:22%}
.nat .w-pq .ib-btn{margin-top:auto;margin-bottom:2cqh;font-size:1.8cqh}
/* contact */
.nat .w-opts{display:grid;gap:1cqh}
.nat .w-opt{display:grid;gap:.3cqh;padding:1.5cqh 1.8cqh;border-radius:1.6cqh;border:1px solid #e3e3e8;transition:border-color .3s,background .3s,box-shadow .3s}
.nat .w-opt b{font-size:2cqh;font-weight:500;color:#0e0e0c}.nat .w-opt small{font-size:1.5cqh;color:#8a8a8e}
.nat .w-next{position:absolute;left:5.5%;right:5.5%;top:2cqh;bottom:2cqh;display:grid;align-content:start;gap:1.4cqh;padding:2.4cqh 2cqh;border-radius:2.2cqh;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.14);transform:translateX(110%);transition:transform .6s cubic-bezier(.2,.9,.25,1)}
.nat .w-next b{font:400 3.2cqh/1.1 "Geist",sans-serif;letter-spacing:-.03em}
.nat .w-in{display:flex;align-items:center;height:5.6cqh;padding:0 1.6cqh;border-radius:1.4cqh;border:1.5px solid #2c58b8;font-size:1.9cqh}.nat .w-in i{width:1.5px;height:2.6cqh;margin-left:2px;background:#2c58b8;animation:wblink 1s steps(2) infinite}
@keyframes wblink{50%{opacity:0}}
.nat .w-pq .p5{margin-top:auto;margin-bottom:2cqh}
/* timelines (stage numbers = web flow) */
.appflow[data-stage="0"][data-step="3"] .p0{transform:scale(.95);filter:brightness(.8)}
.appflow[data-stage="1"]:is([data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .web .lc.like .lc-h svg{fill:#ff375f;stroke:#ff375f;transform:scale(1.18)}
.appflow[data-stage="2"][data-step="1"] .web .p1,.appflow[data-stage="2"][data-step="4"] .web .p4{transform:scale(.95);filter:brightness(.8)}
.appflow[data-stage="2"]:is([data-step="2"],[data-step="3"],[data-step="4"]) .web .sheet{transform:none}
.appflow[data-stage="2"]:is([data-step="2"],[data-step="3"],[data-step="4"]) .web .scrim{background:rgba(0,0,0,.32)}
.appflow[data-stage="2"]:is([data-step="3"],[data-step="4"]) .web :is(.days,.times) .pick{background:#0e0e0c;border-color:#0e0e0c;color:#fff}
.appflow[data-stage="2"]:is([data-step="3"],[data-step="4"]) .web .days .pick small{color:rgba(255,255,255,.75)}
.appflow[data-stage="2"][data-step="5"] .web .toast2{transform:none}
.appflow[data-stage="4"]:is([data-step="2"],[data-step="3"],[data-step="4"],[data-step="5"]) .web .w-opt.pick{border-color:#0e0e0c;background:#f6f6f8;box-shadow:inset 0 0 0 1px #0e0e0c}
.appflow[data-stage="4"][data-step="3"] .web .p5{transform:scale(.95);filter:brightness(.8)}
.appflow[data-stage="4"]:is([data-step="4"],[data-step="5"]) .web .w-next{transform:none}
.af-link{margin-top:22px}
.nat.web .toast2{top:1.4cqh}

/* ===== mobile menu (redesign) ===== */
.drawer{background:rgba(6,12,36,.5);backdrop-filter:blur(6px)}
.drawer .panel{width:100%!important;max-width:none;inset:0!important;background:radial-gradient(120% 80% at 100% 0%,#2c58b8 0%,rgba(44,88,184,0) 55%),linear-gradient(170deg,#0b1d58 0%,#0a1a4c 60%,#071237 100%);color:#fff;padding:max(16px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom));transform:translateY(-2%)!important;opacity:0;transition:opacity .45s ease,transform .6s cubic-bezier(.2,.8,.2,1)!important;overflow-y:auto}
.drawer.open .panel{transform:none!important;opacity:1}
.drawer .row{height:56px}
.drawer .logo{filter:brightness(0) invert(1)}
.drawer .close{position:relative;width:46px;height:46px;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06)}
.drawer .close span{position:absolute;left:50%;top:50%;width:16px;height:1.5px;margin:-.75px 0 0 -8px;background:#fff;border-radius:2px;transform:rotate(45deg)}.drawer .close span+span{transform:rotate(-45deg)}
.dm-prim{display:grid!important;margin-top:22px!important}
.dm-prim a{display:grid!important;grid-template-columns:34px 1fr auto;align-items:baseline;gap:6px;padding:12px 0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;font:400 34px/1.08 var(--sans)!important;letter-spacing:-.035em;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .5s ease calc(.08s + var(--i)*.05s),transform .7s cubic-bezier(.2,.8,.2,1) calc(.08s + var(--i)*.05s)}
.drawer.open .dm-prim a{opacity:1;transform:none}
.dm-prim .dn{font:500 11px/1 var(--sans);letter-spacing:.12em;color:rgba(159,189,240,.75);transform:translateY(-12px)}
.dm-prim .arrow{width:18px;height:18px;color:rgba(255,255,255,.4);transition:transform .4s,color .4s}
.dm-prim a:active .arrow,.dm-prim a:hover .arrow{transform:translateX(4px) rotate(-45deg);color:#fff}
.dm-sec{display:grid!important;grid-template-columns:1fr 1fr;gap:2px 16px;margin-top:22px!important;opacity:0;transition:opacity .6s ease .4s}
.drawer.open .dm-sec{opacity:1}
.dm-sec a{padding:9px 0!important;border:0!important;font:400 16px/1.2 var(--sans)!important;color:rgba(255,255,255,.72)}
.dm-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;opacity:0;transform:translateY(10px);transition:opacity .6s ease .48s,transform .7s cubic-bezier(.2,.8,.2,1) .48s}
.drawer.open .dm-cta{opacity:1;transform:none}
.dm-cta a{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:999px;font:500 15px var(--sans)}
.dm-pq{background:#fff;color:#0b1d58}.dm-pq .arrow{width:15px;height:15px}
.dm-call{border:1px solid rgba(255,255,255,.28);color:#fff}
.drawer .meta{margin-top:auto!important;padding-top:26px;color:rgba(255,255,255,.55)!important;font-size:13px!important}
.drawer .meta a{color:inherit}
@media (min-width:700px){.drawer .panel{width:min(460px,100%)!important;inset:0 0 0 auto!important}}

/* ===== New office section (3 options) ===== */
.ov{--iv:#f5efe6;--sand:#e8dccb;--oak:#a87b52;--gold:#b48a4f;--nav:#0b1633;position:relative;isolation:isolate}
.ov-fade{position:absolute;left:0;right:0;bottom:100%;height:300px;pointer-events:none;z-index:2}
.ov h2{margin:0;font:400 clamp(44px,5.2vw,84px)/.98 var(--sans);letter-spacing:-.045em}
.ov h2 em{font-family:var(--serif);font-style:italic;letter-spacing:-.02em}
.ov-k{margin:0 0 22px;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.ov video{display:block;width:100%;height:100%;object-fit:cover}
.ov-link{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font:500 15px var(--sans);padding-bottom:6px;border-bottom:1px solid currentColor}
.ov-link .arrow{transition:transform .5s cubic-bezier(.7,0,.2,1)}.ov-link:hover .arrow{transform:translateX(4px)}
.ov-rooms{list-style:none;margin:0;padding:0;display:grid}
.ov-rooms li{display:grid;grid-template-columns:44px 1fr;gap:2px 0;padding:16px 0;border-top:1px solid rgba(120,90,50,.2)}
.ov-rooms span{grid-row:span 2;font:500 11px/1.9 var(--sans);letter-spacing:.14em;color:var(--gold)}
.ov-rooms b{font:400 20px/1.2 var(--sans);letter-spacing:-.02em}.ov-rooms small{font-size:14px;line-height:1.5;opacity:.7}
/* A: night to ivory */
.ov-a{background:linear-gradient(180deg,var(--nav) 0%,#1b2340 14%,#5b5560 30%,#c9b9a4 46%,var(--iv) 60%,var(--iv) 88%,#fff 100%);color:#2a2118;padding:40px 0 140px}
.ov-a .ov-fade{background:linear-gradient(180deg,rgba(11,22,51,0) 0%,rgba(11,22,51,.55) 45%,var(--nav) 100%)}
.ov-a .ov-in{display:grid;grid-template-columns:1fr minmax(320px,430px) 1fr;gap:56px;align-items:center}
.ov-a .ov-copy{color:#fff;align-self:start;padding-top:40px}
.ov-a .ov-copy p:not(.ov-k){margin:22px 0 0;max-width:360px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.72)}
.ov-a .ov-k{color:#d9c3a0}.ov-a .ov-link{color:#f3e6d2}
.ov-a .ov-frame{position:relative;aspect-ratio:9/15.2;border-radius:220px 220px 26px 26px;overflow:hidden;box-shadow:0 60px 120px -50px rgba(40,25,10,.55),0 0 0 1px rgba(255,255,255,.25);transform:translateY(calc(var(--ovp,0)*-30px))}
.ov-a .ov-glow{position:absolute;inset:-30%;background:radial-gradient(closest-side,rgba(255,230,190,.5),transparent);z-index:-1}
.ov-a .ov-cap{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#2a2118;white-space:nowrap}
.ov-a .ov-rooms{align-self:end;padding-bottom:20px}
/* B: midnight theatre */
.ov-b{background:linear-gradient(180deg,var(--nav) 0%,#0a1024 60%,#0a1024 82%,#fff 100%);color:#fff;padding:60px 0 180px;overflow:hidden}
.ov-b .ov-fade{background:linear-gradient(180deg,rgba(11,22,51,0),var(--nav))}
.ov-b .ov-amb{position:absolute;inset:0;z-index:-1;opacity:.5;filter:blur(70px) saturate(1.3);transform:scale(1.4)}
.ov-b .ov-amb video{width:100%;height:100%;object-fit:cover}
.ov-b .ov-in{text-align:center}.ov-b .ov-k{color:#d9c3a0}
.ov-b .ov-stage{display:grid;grid-template-columns:1fr minmax(300px,400px) 1fr;align-items:center;gap:40px;margin-top:20px}
.ov-b .ov-l{text-align:right}.ov-b .ov-r{text-align:left}.ov-b h2 em{color:#e6cfa6}
.ov-b .ov-frame{aspect-ratio:9/15.2;border-radius:28px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 40px 120px -20px rgba(230,200,150,.35);transform:scale(calc(1 - var(--ovp,0)*.06))}
.ov-b .ov-sub{max-width:520px;margin:48px auto 0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.66)}
/* C: ivory gallery */
.ov-c{background:linear-gradient(180deg,var(--iv) 0%,var(--iv) 85%,#fff 100%);color:#2a2118;padding:60px 0 150px}
.ov-c .ov-fade{height:340px;background:linear-gradient(180deg,rgba(245,239,230,0) 0%,rgba(245,239,230,.35) 40%,rgba(245,239,230,.85) 75%,var(--iv) 100%);backdrop-filter:blur(0px)}
.ov-c .ov-in{display:grid;grid-template-columns:minmax(320px,460px) 1fr;gap:96px;align-items:center}
.ov-c .ov-arch{aspect-ratio:9/15.2;border-radius:999px 999px 24px 24px;overflow:hidden;box-shadow:0 50px 100px -50px rgba(60,40,20,.5),inset 0 0 0 1px rgba(0,0,0,.05);outline:1px solid rgba(180,138,79,.45);outline-offset:14px;transform:translateY(calc(var(--ovp,0)*-24px))}
.ov-c .ov-k{color:var(--gold)}.ov-c h2 em{color:var(--oak)}
.ov-c .ov-copy>p:not(.ov-k){margin:24px 0 34px;max-width:480px;font-size:17px;line-height:1.65;color:#5d5144}
.ov-c .ov-link{color:#2a2118}
@media (max-width:980px){
  .ov-a .ov-in,.ov-c .ov-in{grid-template-columns:1fr;gap:40px}.ov-a .ov-frame,.ov-c .ov-arch{max-width:380px;width:100%;margin:0 auto}
  .ov-a .ov-copy{padding-top:0}.ov-b .ov-stage{grid-template-columns:1fr}.ov-b .ov-l,.ov-b .ov-r{text-align:center}.ov-b .ov-frame{max-width:340px;margin:0 auto}
}
.ov-b{overflow:visible}
.ov-b .ov-amb{inset:0;overflow:hidden;transform:none;filter:none;opacity:1}
.ov-b .ov-amb video{transform:scale(1.5);filter:blur(80px) saturate(1.2) brightness(.55);opacity:.55}
.ov-b .ov-amb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--nav) 0%,rgba(10,16,36,.3) 25%,rgba(10,16,36,.3) 70%,#0a1024 86%,#fff 100%)}
.ov-a{background:linear-gradient(180deg,var(--nav) 0%,#1c2442 14%,#4a4352 26%,#9c8774 38%,#d9c8b2 48%,var(--iv) 58%,var(--iv) 88%,#fff 100%)}

/* ===== About: Ali Farhat ===== */
.ab-hero{position:relative;min-height:max(720px,100vh);display:flex;align-items:flex-end;overflow:hidden;background:#0b1d58;color:#fff;padding:140px 0 80px}
.ab-ph{position:absolute;right:0;top:0;bottom:0;width:min(62vw,980px)}
.ab-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:scale(1.03);animation:abz 14s ease-out forwards}
@keyframes abz{to{transform:scale(1)}}
.ab-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b1d58 0%,#0b1d58 32%,rgba(11,29,88,.75) 46%,rgba(11,29,88,0) 70%),linear-gradient(0deg,rgba(11,29,88,.85),rgba(11,29,88,0) 35%)}
.ab-hero canvas.band-stars{position:absolute;inset:0;width:45%;height:100%;pointer-events:none}
.ab-in{position:relative;z-index:2}
.ab-hero .crumb{margin-bottom:auto;position:absolute;top:-40vh}
.ab-k{margin:0 0 18px;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ab-hero h1{margin:0;font:600 clamp(64px,8.6vw,138px)/.9 var(--sans);letter-spacing:-.05em;text-transform:uppercase}
.ab-hero h1 span{display:block;margin-top:14px;font:400 clamp(30px,3.4vw,52px)/1 var(--serif);font-style:italic;letter-spacing:-.01em;text-transform:none;color:#a9c8ff}
.ab-lede{margin:26px 0 0;max-width:460px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.75)}
.ab-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.ab-b1,.ab-b2{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font:500 14.5px var(--sans);transition:background .4s,color .4s,border-color .4s,gap .4s}
.ab-b1{background:#3b7bbf;color:#fff}.ab-b1:hover{background:#fff;color:#0b1d58;gap:14px}
.ab-b2{border:1px solid rgba(255,255,255,.4);color:#fff}.ab-b2:hover{background:rgba(255,255,255,.1);border-color:#fff}
.ab-stats{display:flex;gap:0;margin-top:48px}
.ab-stats>div{padding:0 34px;border-left:1px solid rgba(255,255,255,.22)}.ab-stats>div:first-child{padding-left:0;border:0}
.ab-stats b{display:block;font:500 40px/1 var(--sans);letter-spacing:-.03em}.ab-stats span{display:block;margin-top:8px;font-size:13px;color:rgba(255,255,255,.62)}
.ab-quote{padding:120px 0;background:#fff}
.ab-quote blockquote{margin:0 auto;max-width:1040px;text-align:center;font:400 clamp(30px,3.6vw,54px)/1.12 var(--sans);letter-spacing:-.035em;color:var(--ink)}
.ab-quote em{font-family:var(--serif);font-style:italic;color:#3b7bbf}
.ab-quote cite{display:block;margin-top:28px;text-align:center;font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--ink-45)}
.ab-car{padding:60px 0 120px}
.ab-car-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.ab-car h2,.ab-net h2{margin:0;font:400 clamp(40px,4.4vw,68px)/1 var(--sans);letter-spacing:-.045em}
.ab-car h2 em,.ab-net h2 em{font-family:var(--serif);font-style:italic;color:#3b7bbf}
.ab-net h2 em{color:#a9c8ff}
.ab-car .ab-k{color:var(--ink-45)}.ab-net .ab-k{color:rgba(255,255,255,.6)}
.ab-car-copy p:not(.ab-k){margin:24px 0 0;max-width:420px;font-size:17px;line-height:1.65;color:var(--ink-60)}
.ab-car-ph{position:relative;margin:0;border-radius:28px;overflow:hidden;aspect-ratio:16/9.2;background:#dfe7f2}
.ab-car-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}.ab-car-ph:hover img{transform:scale(1.04)}
.ab-net{padding:110px 0 130px;background:#0b1d58;color:#fff;position:relative}
.ab-net-h{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.ab-net-h>p{margin:0;font-size:17px;line-height:1.65;color:rgba(255,255,255,.66)}
.nc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;perspective:1200px}
.nc{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d}
.nc-in{position:relative;height:100%;min-height:270px;padding:26px 26px 22px;border-radius:20px;background:#fff;color:var(--ink);display:flex;flex-direction:column;gap:14px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.nc-in::after{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--gx) var(--gy),rgba(59,123,191,.10),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.nc:hover .nc-in::after{opacity:1}
.nc-top{display:flex;justify-content:space-between;align-items:center}
.nc-mono{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font:600 14px/1 var(--sans);letter-spacing:.04em;color:#fff;background:var(--c,#16348f)}
.nc-tag{font:500 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45)}
.nc h3{margin:6px 0 0;font:400 26px/1.08 var(--sans);letter-spacing:-.03em}
.nc-who{margin:0;display:grid;gap:3px}.nc-who b{font:500 15px var(--sans)}.nc-who span{font-size:13px;color:var(--ink-60)}
.nc-c{list-style:none;margin:auto 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:5px;font-size:13.5px}
.nc-c a{color:var(--ink);word-break:break-all;transition:color .3s}.nc-c a:hover{color:#3b7bbf}
.nc-addr{position:absolute;right:22px;bottom:22px;font:500 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.nc-teal{--c:#2c58b8}.nc-clay{--c:#3b7bbf}.nc-slate{--c:#16348f}.nc-ink{--c:#0e0e0c}.nc-navy{--c:#0b1d58}
.ab-story{padding:120px 0}
@media (max-width:980px){.ab-hero{min-height:auto;padding:0 0 60px;flex-direction:column;align-items:stretch}.ab-ph{position:relative;width:100%;height:62vh}.ab-shade{background:linear-gradient(0deg,#0b1d58 32%,rgba(11,29,88,0) 55%)}.ab-in{margin-top:-120px}.ab-hero .crumb{display:none}.ab-stats>div{padding:0 18px}.ab-car-g,.ab-net-h{grid-template-columns:1fr;gap:40px}.nc-grid{grid-template-columns:1fr}}

/* network cards: hover lift, accent sweep, monogram pop; 6th card = UBTEO hub */
.nc-grid .nc:nth-child(4){grid-column:auto}
.nc{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nc-in{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s cubic-bezier(.2,.7,.2,1),background .5s}
.nc-in::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--c,#3b7bbf);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.7,0,.2,1)}
.nc:hover .nc-in{transform:translateY(-10px);box-shadow:0 50px 80px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.4)}
.nc:hover .nc-in::before{transform:scaleX(1)}
.nc-mono{transition:transform .6s cubic-bezier(.3,1.5,.5,1),box-shadow .5s}
.nc:hover .nc-mono{transform:scale(1.12) rotate(-6deg);box-shadow:0 10px 24px -8px var(--c)}
.nc h3{transition:color .4s}.nc:hover h3{color:var(--c)}
.nc-brand{--c:#3b7bbf}
.nc-brand .nc-in{background:linear-gradient(150deg,#16348f,#2c58b8);color:#fff}
.nc-brand .nc-mono{background:#fff;color:#16348f}
.nc-brand .nc-tag,.nc-brand .nc-who span,.nc-brand .nc-addr{color:rgba(255,255,255,.7)}
.nc-brand .nc-c{border-color:rgba(255,255,255,.2)}.nc-brand .nc-c a{color:#fff}
.nc-brand:hover h3{color:#fff}.nc-brand .nc-in::before{background:#a9c8ff}
@media (hover:none){.nc-in::before{transform:scaleX(1)}}

/* ===== New office (v2): site palette, night blue -> white ===== */
.ox{position:relative;overflow:hidden;padding:120px 0 150px;color:#fff;background:linear-gradient(180deg,#0b1d58 0%,#0f2470 38%,#16348f 62%,#2c58b8 82%,#fff 100%)}
.ox::before{content:"";position:absolute;left:0;right:0;top:-1px;height:160px;background:linear-gradient(180deg,rgba(11,29,88,0),#0b1d58);transform:translateY(-100%);pointer-events:none}
.ox canvas.band-stars{position:absolute;left:0;right:0;width:100%;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 70%);mask-image:linear-gradient(180deg,#000 30%,transparent 70%)}
.ox-g{position:relative;display:grid;grid-template-columns:1fr minmax(300px,400px) .9fr;gap:56px;align-items:center}
.ox-k{display:flex;align-items:center;gap:10px;margin:0 0 22px;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.ox-live{width:7px;height:7px;border-radius:50%;background:#7fb2ff;box-shadow:0 0 0 0 rgba(127,178,255,.6);animation:oxp 2.2s ease-out infinite}
@keyframes oxp{to{box-shadow:0 0 0 10px rgba(127,178,255,0)}}
.ox h2{margin:0;font:400 clamp(42px,4.6vw,72px)/1 var(--sans);letter-spacing:-.045em}
.ox h2 em{font-family:var(--serif);font-style:italic;letter-spacing:-.02em;color:#a9c8ff}
.ox-lede{margin:24px 0 0;max-width:420px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.7)}
.ox-facts{margin:36px 0 0;display:grid;gap:0;max-width:420px}
.ox-facts>div{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}
.ox-facts dt{font:500 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ox-facts dd{margin:0;font:500 15px var(--sans)}
.ox-scr{font-variant-numeric:tabular-nums}.ox-scr.tbd{display:inline-block;padding:4px 10px;border-radius:999px;border:1px dashed rgba(255,255,255,.45);letter-spacing:.2em;font-size:13px}
.ox-prog{display:flex;align-items:center;gap:10px;font-size:12.5px!important;color:rgba(255,255,255,.75)}
.ox-prog i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.ox-prog b{display:block;height:100%;width:62%;background:linear-gradient(90deg,#7fb2ff,#fff);animation:oxb 3.6s ease-in-out infinite alternate}
@keyframes oxb{from{width:54%}to{width:66%}}
.ox-stage{position:relative}
.ox-stage::before{content:"";position:absolute;inset:-18% -30%;background:radial-gradient(closest-side,rgba(127,178,255,.35),transparent);filter:blur(10px);pointer-events:none}
.ox-frame{position:relative;aspect-ratio:9/15.2;border-radius:28px;overflow:hidden;background:#0b1d58;box-shadow:0 60px 120px -40px rgba(3,10,40,.8),0 0 0 1px rgba(255,255,255,.18);transform:translateY(calc(var(--ovp,0)*-26px))}
.ox-frame video{width:100%;height:100%;object-fit:cover;display:block}
.ox-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,29,88,.35),transparent 22%,transparent 70%,rgba(11,29,88,.65));pointer-events:none}
.ox-tag{position:absolute;left:16px;top:16px;z-index:2;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);font:500 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.ox-room{position:absolute;left:18px;bottom:30px;z-index:2;font:400 30px/1 var(--serif);font-style:italic;opacity:0;transform:translateY(10px)}
.ox-room.in{animation:oxr .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes oxr{to{opacity:1;transform:none}}
.ox-scrub{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;height:2px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
.ox-scrub b{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.ox-rooms{list-style:none;margin:0;padding:0;display:grid}
.ox-rooms li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:4px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);cursor:pointer;opacity:.5;transition:opacity .5s}
.ox-rooms li.on,.ox-rooms li:hover{opacity:1}
.ox-n{font:500 11px/1.8 var(--sans);letter-spacing:.12em;color:#a9c8ff}
.ox-tx{display:grid;gap:2px}.ox-tx b{font:400 18px/1.2 var(--sans);letter-spacing:-.02em}.ox-tx small{font-size:13px;color:rgba(255,255,255,.65);max-height:0;overflow:hidden;transition:max-height .5s}
.ox-rooms li.on small{max-height:40px}
.ox-bar{position:absolute;left:0;top:-1px;height:1px;width:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.ox-rooms li:not(.on) .ox-bar{transform:scaleX(0)!important}
@media (max-width:1100px){.ox-g{grid-template-columns:1fr;gap:48px}.ox-stage{max-width:380px;width:100%;margin:0 auto}}
.ox{overflow:visible;background:linear-gradient(180deg,#5c87c9 0%,#3d6fc0 9%,#2c58b8 18%,#16348f 32%,#0b1d58 48%,#0f2470 66%,#2c58b8 84%,#fff 100%)}
.ox::before{height:220px;background:linear-gradient(180deg,rgba(92,135,201,0),#5c87c9);z-index:0}
.ox canvas.band-stars{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 28%,#000 55%,transparent 75%);mask-image:linear-gradient(180deg,transparent 0%,#000 28%,#000 55%,transparent 75%)}
.ox-g{z-index:1}
.ab-ph{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 18%,#000 40%),linear-gradient(0deg,transparent 0%,#000 22%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 18%,#000 40%),linear-gradient(0deg,transparent 0%,#000 22%);mask-composite:intersect}
.ab-shade{background:linear-gradient(90deg,#0b1d58 0%,#0b1d58 30%,rgba(11,29,88,0) 55%)}
@media (max-width:980px){.ab-ph{-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 35%);mask-image:linear-gradient(0deg,transparent 0%,#000 35%)}.ab-shade{display:none}}
/* no orphans / lopsided breaks anywhere */
h1,h2,h3,h4,blockquote,.h2,figcaption,.kicker{text-wrap:balance}
p,li,dd,small{text-wrap:pretty}
.ab-quote blockquote{max-width:980px}

/* office v2, moved below featured: white eases into night and hands off to Commercial with no seam */
.ox{background:linear-gradient(180deg,#fff 0%,rgb(255, 255, 255) 4.0%,rgb(250, 251, 253) 6.0%,rgb(237, 240, 249) 8.0%,rgb(216, 225, 242) 10.0%,rgb(192, 205, 234) 12.0%,rgb(164, 183, 224) 14.0%,rgb(135, 160, 215) 16.0%,rgb(107, 138, 205) 18.0%,rgb(83, 118, 197) 20.0%,rgb(62, 103, 190) 22.0%,rgb(49, 92, 186) 24.0%,rgb(44, 88, 184) 26.0%,rgb(43, 87, 182) 28.0%,rgb(41, 83, 176) 30.0%,rgb(38, 77, 166) 32.0%,rgb(34, 70, 155) 34.0%,rgb(30, 63, 143) 36.0%,rgb(25, 54, 129) 38.0%,rgb(21, 47, 117) 40.0%,rgb(17, 40, 106) 42.0%,rgb(14, 34, 96) 44.0%,rgb(12, 30, 90) 46.0%,rgb(11, 29, 88) 48.0%,#0b1d58 100%);padding:220px 0 140px;overflow:hidden}
.ox::before{display:none}
.ox canvas.band-stars{-webkit-mask-image:linear-gradient(180deg,transparent 22%,#000 48%);mask-image:linear-gradient(180deg,transparent 22%,#000 48%)}
.ox+.commercial{padding-top:40px}
.ox+.commercial canvas.band-stars{-webkit-mask-image:none;mask-image:none}
.ox-k,.ox h2,.ox-lede{transition:color .3s}

.ox{background:linear-gradient(180deg,rgb(255, 255, 255) 0px,rgb(250, 251, 253) 19px,rgb(236, 240, 249) 38px,rgb(215, 224, 242) 58px,rgb(190, 203, 233) 77px,rgb(161, 181, 223) 96px,rgb(132, 158, 214) 115px,rgb(104, 135, 204) 134px,rgb(79, 116, 196) 153px,rgb(60, 100, 189) 172px,rgb(47, 91, 185) 192px,rgb(44, 88, 184) 211px,rgb(43, 87, 182) 230px,rgb(42, 84, 177) 249px,rgb(39, 79, 170) 268px,rgb(36, 74, 161) 288px,rgb(33, 68, 151) 307px,rgb(29, 61, 140) 326px,rgb(25, 54, 129) 345px,rgb(22, 48, 119) 364px,rgb(18, 42, 109) 383px,rgb(15, 37, 101) 402px,rgb(13, 33, 94) 422px,rgb(12, 30, 90) 441px,rgb(11, 29, 88) 460px,#0b1d58 100%);padding:300px 0 140px}
.ox canvas.band-stars{-webkit-mask-image:linear-gradient(180deg,transparent 260px,#000 520px);mask-image:linear-gradient(180deg,transparent 260px,#000 520px)}
@media (max-width:760px){.ox{padding-top:320px}}
.card-opt[data-v="other"]{grid-column:1/-1}
/* office v3: wider film, calmer list */
.ox-g{grid-template-columns:.9fr minmax(420px,560px) .8fr;gap:52px}
.ox-frame{aspect-ratio:4/5;border-radius:26px}
.ox-rooms li{transition:opacity .9s ease}
.ox-tx small{transition:max-height .9s cubic-bezier(.2,.7,.2,1),opacity .9s;opacity:0}
.ox-rooms li.on small{opacity:1}
.ox-room.in{animation-duration:1.1s}
@media (max-width:1100px){.ox-stage{max-width:520px}}

/* ---- mobile polish pass (Oct 29) ---- */
@media (max-width:1100px){.ox-g{grid-template-columns:1fr;gap:40px}.ox-stage{max-width:460px;width:100%;margin:0 auto}}
.keyfacts{grid-template-columns:repeat(4,minmax(0,1fr))}
.kf{min-width:0;overflow-wrap:anywhere}
@media (max-width:900px){.keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .dd-menu{min-width:min(230px,calc(100vw - 32px))}
  .inv-bar .dd .dd-menu{left:auto;right:0}
}

html,body{overflow-x:clip}
@media (max-width:640px){
  .hero .pin,.hero .birds{display:none}
  .hero h1{font-size:clamp(40px,11.4vw,52px);line-height:1.02}
  .intro p{font-size:15px;line-height:1.5}
}
@media (max-width:700px){
  .appflow.mini{display:none}
  .ox{padding-bottom:56px}
  .ox+.commercial{padding-top:16px}
  .ox-rooms li small{display:none}
}
@media (max-width:640px){
  .pinwheel{grid-template-columns:1fr;gap:12px}
  .pw,.pw-b,.pw-c{grid-column:1/-1;aspect-ratio:4/3.4}
  .pw-logo{display:none}
  .pw-cap .t{font-size:22px}
}
@media (max-width:640px){.inv-bar{position:static}}
@media (max-width:640px){
  .kf b{font-size:22px;hyphens:none;overflow-wrap:normal;word-break:keep-all}
  .ps .ps-card .ps-empty{display:none}
  .ps .ps-card{min-height:0}
  .pt-hint{display:none}
}
@media (max-width:640px){.nc-addr{position:static!important;display:block;margin-top:10px;text-align:left}}
/* iPhone mockups: crisp Dynamic Island with a camera lens, always above the screen content */
.af-device::after,.iphone::after{content:""!important;display:block!important;position:absolute!important;z-index:9!important;pointer-events:none;
  left:37%!important;width:26%!important;top:4.15%!important;height:2.3%!important;border-radius:999px!important;transform:none!important;
  background:radial-gradient(circle at 82% 50%,#1d2a52 0 3.2%,#0d1428 3.6% 6.2%,#030407 6.8% 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)!important}
:is(.nat,.as) .sb{padding-left:9cqw;padding-right:7.5cqw}
:is(.nat,.as) .sb-t{min-width:12cqw;text-align:center}

/* =================== OVERHAUL: Estora-style home hero =================== */
.eh{position:relative;height:100svh;min-height:640px;max-height:1100px;color:#fff;overflow:hidden;background:#0b1d58;isolation:isolate}
.eh-media{position:absolute;inset:0;z-index:-2}
.eh-v{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 2.4s cubic-bezier(.2,.7,.2,1)}
.is-ready .eh-v{transform:scale(1)}
.eh-shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(6,14,44,.55) 0%,rgba(6,14,44,.08) 26%,rgba(6,14,44,0) 46%,rgba(6,14,44,.42) 70%,rgba(5,12,38,.86) 100%),
  linear-gradient(90deg,rgba(6,14,44,.38),rgba(6,14,44,0) 55%)}
.eh-bar{position:absolute;top:0;left:0;right:0;z-index:5;padding:14px max(14px,env(safe-area-inset-left,0px)) 0}
.eh-bar .bar{position:relative;max-width:1520px;margin:0 auto;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 18px 50px -24px rgba(3,10,40,.55);opacity:0;transform:translateY(-12px);transition:opacity .8s ease .15s,transform .9s cubic-bezier(.2,.7,.2,1) .15s}
.eh-bar .bar .links{top:50%;transform:translate(-50%,-50%)}
.is-ready .eh-bar .bar{opacity:1;transform:none}
.eh-main{position:absolute;left:0;right:0;top:clamp(140px,22vh,230px);margin:0 auto}
.eh-rate{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);font-size:13px;opacity:0;transform:translateY(10px);transition:opacity .8s ease .5s,transform .8s ease .5s}
.eh-rate b{font-weight:600}.eh-rate span:last-child{opacity:.8}
.eh-stars{color:#f6c453;letter-spacing:1px;font-size:12px}
.eh h1{margin:22px 0 0;font:400 clamp(54px,9.4vw,168px)/.92 var(--sans);letter-spacing:-.045em}
.eh h1 em{font-family:var(--serif);font-style:italic;letter-spacing:-.02em;font-weight:400}
.eh-l{display:block;overflow:hidden;padding-bottom:.08em}
.eh-l>*{display:inline-block;transform:translateY(105%);transition:transform 1.2s cubic-bezier(.16,.84,.24,1) .35s}
.eh-l:nth-child(2)>*{transition-delay:.47s}
.is-ready .eh-l>*,.is-ready .eh-rate{transform:none;opacity:1}
.eh-foot{position:absolute;left:0;right:0;bottom:clamp(26px,5vh,54px);margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.eh-copy{max-width:470px;opacity:0;transform:translateY(16px);transition:opacity .9s ease .75s,transform .9s ease .75s}
.is-ready .eh-copy,.is-ready .eh-slider{opacity:1;transform:none}
.eh-copy p{margin:0;font-size:17px;line-height:1.55;color:rgba(255,255,255,.88);text-wrap:pretty}
.eh-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.eh-b1,.eh-b2{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:500;white-space:nowrap;transition:background .3s,color .3s,transform .3s}
.eh-b1{background:#fff;color:var(--night-1)}.eh-b1:hover{background:#dfe8ff}
.eh-b2{border:1px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.06)}.eh-b2:hover{background:#fff;color:var(--night-1)}
.eh-b1 .arrow{width:18px;height:18px}
.eh-slider{width:min(420px,38vw);padding:14px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);opacity:0;transform:translateY(16px);transition:opacity .9s ease .9s,transform .9s ease .9s}
.eh-sh{display:flex;align-items:center;gap:12px;padding:2px 4px 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.eh-sh>span:first-child{opacity:.85}
.eh-n{margin-left:auto;font-variant-numeric:tabular-nums;opacity:.85;letter-spacing:.06em}.eh-n b{font-weight:600}
.eh-arw{display:flex;gap:6px}
.eh-arw button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);color:#fff;transition:background .3s,color .3s}
.eh-arw button:hover{background:#fff;color:var(--night-1)}
.eh-arw svg{width:16px;height:16px}
.eh-track{position:relative;height:122px}
.eh-card{position:absolute;inset:0;display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:8px;border-radius:14px;background:#fff;color:var(--ink);opacity:0;transform:translateX(24px) scale(.98);pointer-events:none;transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.eh-card.prev{transform:translateX(-24px) scale(.98)}
.eh-card.on{opacity:1;transform:none;pointer-events:auto}
.eh-ph{height:106px;border-radius:10px;overflow:hidden;background:#dfe5f2}
.eh-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.eh-card:hover .eh-ph img{transform:scale(1.05)}
.eh-ct{display:flex;flex-direction:column;gap:3px;min-width:0}
.eh-ct small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--night-2);font-weight:600}
.eh-ct b{font:500 22px/1.15 var(--sans);letter-spacing:-.02em}
.eh-ct span{font-size:13.5px;color:var(--ink-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eh-ct i{font-style:normal;font-size:12.5px;color:var(--ink-45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eh-down{position:absolute;left:50%;bottom:22px;width:24px;height:38px;margin-left:-12px;border:1.5px solid rgba(255,255,255,.55);border-radius:14px;display:none}
.eh-down span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:ehd 1.8s ease-in-out infinite}
@keyframes ehd{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)}}
@media (max-width:1099px){.eh-foot{flex-direction:column;align-items:stretch;gap:22px}.eh-slider{width:100%;max-width:520px}.eh-copy{max-width:560px}}
@media (max-width:700px){
  .eh{height:auto;min-height:100svh;max-height:none;display:flex;flex-direction:column}
  .eh-shade{background:linear-gradient(180deg,rgba(6,14,44,.55) 0%,rgba(6,14,44,.1) 24%,rgba(6,14,44,.2) 46%,rgba(5,12,38,.82) 72%,rgba(5,12,38,.94) 100%)}
  .eh-bar{padding:10px 10px 0}.eh-bar .bar{border-radius:14px;height:62px;padding:0 10px 0 16px}
  .eh-main{position:relative;top:auto;padding-top:118px}
  .eh h1{font-size:clamp(48px,14.2vw,72px);margin-top:16px}
  .eh-foot{position:relative;bottom:auto;margin-top:auto;padding:34vh 0 22px;gap:20px}
  .eh-copy p{font-size:15.5px}
  .eh-b1,.eh-b2{height:48px;padding:0 18px;font-size:14.5px;flex:1 1 auto;justify-content:center}
  .eh-slider{padding:10px;border-radius:18px}
  .eh-track{height:104px}.eh-card{grid-template-columns:112px 1fr;gap:12px}.eh-ph{height:88px}
  .eh-ct b{font-size:19px}
}
@media (prefers-reduced-motion:reduce){.eh-v{transform:none}.eh-l>*{transition:none}}

/* =================== Partner business cards =================== */
.bc{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;perspective:1000px;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.bc:hover{transition:transform .12s linear}
.bc-in{position:relative;aspect-ratio:1.75/1;min-height:228px;padding:22px 24px 20px 30px;border-radius:16px;background:linear-gradient(160deg,#fff 0%,#f7f8fb 100%);color:var(--ink);display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 0 0 1px rgba(14,22,60,.08),0 28px 50px -30px rgba(10,22,70,.45),0 8px 18px -12px rgba(10,22,70,.25)}
.bc-edge{position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--acc)}
.bc-edge::after{content:"";position:absolute;left:7px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.7)}
.bc-in::before{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:var(--acc);opacity:.06}
.bc-shine{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--gx) var(--gy),rgba(255,255,255,.7),transparent 45%);mix-blend-mode:soft-light;opacity:0;transition:opacity .4s}
.bc:hover .bc-shine{opacity:1}
.bc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:46px}
.bc-logo{height:44px;width:auto;max-width:62%;object-fit:contain;object-position:left center;display:block}
.bc-logo.lg-pioneer{height:58px;margin-top:-6px}
.bc-logo.lg-acct{height:34px;max-width:70%;margin-top:5px}
.bc-logo.lg-4lakes{height:40px}
.bc-logo.lg-tricounty{height:42px;max-width:72%}
.bc-logo.lg-godirect{height:42px}
.lg-allfund{display:inline-flex;align-items:center;gap:10px}.lg-allfund img{height:100%;width:auto}.lg-allfund b{font:600 22px/1 var(--sans);letter-spacing:-.02em;color:#0f4f53}
.bc-logo.lg-allfund{height:46px}
.lg-ubteo{color:var(--brand);height:28px;margin-top:6px}.lg-ubteo span{font-size:22px}
.bc-tag{flex:none;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--acc);padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--acc) 9%,transparent);white-space:nowrap}
.bc-mid{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:2px}
.bc-who{font:500 19px/1.2 var(--sans);letter-spacing:-.015em}
.bc-role{font-size:12.5px;color:var(--ink-60)}
.bc-c{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid rgba(14,22,60,.09);display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px}
.bc-c a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);transition:color .25s}
.bc-c a:hover{color:var(--acc)}
.bc-c svg,.bc-addr svg{width:14px;height:14px;flex:none;color:var(--acc)}
.bc-c li:nth-child(2) span{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}
.bc-addr{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;color:var(--ink-60)}
.bc-deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:22px;margin-top:48px}
.bc-deck.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){.bc-deck.three{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.bc-deck.three{grid-template-columns:1fr}}
.bc-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(400px,84vw);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px max(16px,calc((100vw - var(--wrap))/2)) 34px;margin:40px calc(-1*max(16px,(100vw - var(--wrap))/2)) 0;scrollbar-width:none;overscroll-behavior-x:contain}
.bc-rail::-webkit-scrollbar{display:none}
.bc-rail .bc{scroll-snap-align:start}
@media (max-width:640px){.bc-in{min-height:0;padding:18px 18px 16px 24px;aspect-ratio:auto}.bc-logo{height:38px}.bc-c{font-size:12.5px}}

/* home network section */
.netx{padding:clamp(90px,10vw,140px) 0 clamp(60px,7vw,100px);background:linear-gradient(180deg,#fff 0%,#eef2fb 100%);overflow:hidden}
.netx-h{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}
.netx-h .h2{margin:0}.netx-h>p{margin:0;font-size:17px;line-height:1.6;color:var(--ink-60);text-wrap:pretty}
.netx-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--line)}
.netx-stats>div{padding:26px 22px 4px 0;display:flex;flex-direction:column;gap:6px}
.netx-stats>div+div{padding-left:22px;border-left:1px solid var(--line)}
.netx-stats b{font:400 clamp(44px,5vw,72px)/1 var(--sans);letter-spacing:-.04em;color:var(--night-1)}
.netx-stats span{font-size:13.5px;color:var(--ink-60);max-width:220px}
.netx-f{display:flex;justify-content:flex-end}
@media (max-width:900px){.netx-h{grid-template-columns:1fr;gap:18px}.netx-stats{grid-template-columns:1fr 1fr}.netx-stats>div:nth-child(3){border-left:0;padding-left:0}.netx-stats>div:nth-child(n+3){border-top:1px solid var(--line)}}

/* footer partner strip */
.pstrip{margin-top:64px;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.18);position:relative;z-index:1}
.ps-k{margin:0 0 18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.ps-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ps-i{display:flex;flex-direction:column;gap:12px;padding:16px 16px 14px;border-radius:14px;background:#fff;color:var(--ink);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.ps-i:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.ps-logo{height:34px;width:auto;max-width:100%;object-fit:contain;object-position:left center;display:block}
.ps-logo.lg-pioneer{height:42px;margin:-4px 0}.ps-logo.lg-acct{height:24px;margin:5px 0}
.ps-logo.lg-allfund b{font-size:17px}.ps-logo.lg-allfund{height:34px;gap:8px}
.ps-t{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.ps-t b{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--night-2)}
.ps-t i{font-style:normal;font-size:13px;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.ps-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.ps-row{grid-template-columns:1fr 1fr}.ps-i{padding:12px}.ps-logo{height:28px}.ps-logo.lg-pioneer{height:34px}.ps-logo.lg-acct{height:18px}}

/* team: partner bands */
.tnet{position:relative;padding:clamp(90px,10vw,140px) 0;background:linear-gradient(180deg,var(--night-1),#0d2470);color:#fff;overflow:hidden}
.tnet canvas.band-stars{position:absolute;left:0;width:100%;pointer-events:none;opacity:.6}
.tnet .wrap{position:relative}
.tnet .head p{color:rgba(255,255,255,.72)}
.pbands{display:flex;flex-direction:column;gap:14px;margin-top:48px}
.pband{display:grid;grid-template-columns:260px 1fr auto;gap:36px;align-items:center;padding:24px 28px;border-radius:18px;background:#fff;color:var(--ink);position:relative;overflow:hidden}
.pband::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--acc)}
.pb-l{display:flex;flex-direction:column;gap:12px}
.pb-logo{height:46px;width:auto;max-width:220px;object-fit:contain;object-position:left center;display:block}
.pb-logo.lg-pioneer{height:64px}.pb-logo.lg-acct{height:32px}
.pb-tag{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--acc)}
.pb-m h3{margin:0;font:500 24px/1.2 var(--sans);letter-spacing:-.02em}
.pb-role{margin:4px 0 0;font-size:13.5px;color:var(--ink-60)}
.pb-does{margin:10px 0 0;font-size:15px;line-height:1.55;max-width:520px;text-wrap:pretty}
.pb-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:13.5px;color:var(--ink-60)}
.pb-r a:hover{color:var(--acc)}
.pb-call{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;background:var(--acc);color:#fff!important;font-size:15px;font-weight:500;margin-bottom:4px;white-space:nowrap}
.pb-call svg{width:16px;height:16px}
@media (max-width:1000px){.pband{grid-template-columns:1fr;gap:16px;padding:22px 20px 22px 26px}.pb-r{align-items:flex-start}}

/* portfolio network intro */
.pnet{padding:24px 0 30px;overflow:hidden}
.pnet-h{display:grid;grid-template-columns:auto 1fr;gap:6px 48px;align-items:end;padding:44px 0 0;border-top:1px solid var(--line)}
.pnet-h .kicker{grid-column:1/-1;margin:0}
.pnet-h h2{margin:0;font:400 clamp(36px,4.4vw,60px)/1.02 var(--sans);letter-spacing:-.035em}
.pnet-h h2 em{font-family:var(--serif)}
.pnet-h p:last-child{margin:0;max-width:460px;justify-self:end;color:var(--ink-60);font-size:16px;line-height:1.6}
@media (max-width:900px){.pnet-h{grid-template-columns:1fr}.pnet-h p:last-child{justify-self:start}}
.sell-net,.vnet{padding:clamp(80px,9vw,130px) 0;background:linear-gradient(180deg,#f3f6fd,#fff)}

/* =================== Reviews slider =================== */
.revs{position:relative;padding:clamp(96px,11vw,150px) 0 clamp(80px,9vw,120px);background:radial-gradient(120% 90% at 85% 0%,#1d43a8 0%,#10297a 38%,#0b1d58 75%);color:#fff;overflow:hidden}
.revs canvas.band-stars{position:absolute;left:0;width:100%;pointer-events:none;opacity:.7}
.revs .wrap{position:relative}
.rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.rv-k{margin:0 0 14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.rv-head h2{margin:0;font:400 clamp(48px,6.6vw,104px)/.95 var(--sans);letter-spacing:-.045em}
.rv-head h2 em{font-family:var(--serif);font-style:italic}
.rv-badges{display:flex;gap:12px;flex-wrap:wrap}
.rv-b{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);transition:background .3s}
.rv-b:hover{background:rgba(255,255,255,.16)}
.rv-b>b{grid-row:1/3;font:400 46px/1 var(--sans);letter-spacing:-.04em}
.rv-b small{font-size:12.5px;color:rgba(255,255,255,.75)}
.rv-st{display:inline-flex;gap:2px;color:#f6c453}.rv-st svg{width:15px;height:15px}
.rv-vp{margin:56px calc(-1*max(16px,(100vw - var(--wrap))/2)) 0;padding:0 max(16px,calc((100vw - var(--wrap))/2));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;scroll-padding:0 max(16px,calc((100vw - var(--wrap))/2))}
.rv-vp::-webkit-scrollbar{display:none}
.rv-vp.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.rv-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(400px,82vw);column-gap:20px;padding:6px 0 10px}
.rvc{margin:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:18px;padding:26px 26px 22px;border-radius:20px;background:#fff;color:var(--ink);min-height:300px;box-shadow:0 30px 60px -36px rgba(0,0,0,.7)}
.rv-top{display:flex;justify-content:space-between;align-items:center}
.rv-g{width:22px;height:22px}
.rvc blockquote{margin:0;font:400 19px/1.5 var(--sans);letter-spacing:-.01em;text-wrap:pretty;flex:1}
.rvc figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.rv-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--night-2),#3b7bbf);color:#fff;font-size:14px;font-weight:600;letter-spacing:.04em}
.rvc figcaption b{display:block;font-size:15px;font-weight:600}
.rvc figcaption i{font-style:normal;font-size:12.5px;color:var(--ink-60)}
.rv-ctl{display:flex;align-items:center;gap:18px;margin-top:34px}
.rv-ctl button{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);color:#fff;transition:background .3s,color .3s}
.rv-ctl button:hover{background:#fff;color:var(--night-1)}
.rv-ctl svg{width:20px;height:20px}
.rv-bar{flex:1;height:2px;background:rgba(255,255,255,.2);position:relative;overflow:hidden;border-radius:2px}
.rv-bar i{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(.06);transition:transform .4s ease}
@media (max-width:640px){.rvc{min-height:0;padding:22px 20px 18px}.rvc blockquote{font-size:17px}.rv-b{padding:12px 14px}.rv-b>b{font-size:36px}.rv-head{gap:26px}}

.lg-ubteo{display:inline-flex;align-items:center;gap:.42em}.lg-ubteo svg{height:100%;width:auto}.lg-ubteo span{font:600 22px/1 var(--sans);letter-spacing:.06em}
.ps-logo{height:44px;width:100%;object-fit:contain;object-position:left center}
.ps-logo.lg-pioneer{height:50px;margin:-3px 0}.ps-logo.lg-acct{height:44px;margin:0}
span.ps-logo.lg-allfund{width:auto;height:40px}.lg-allfund img{height:100%;width:auto}
.ps-t{gap:3px}
.netx-stats span{max-width:250px}
.lg-allfund{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:10px}.pb-logo.lg-allfund,.bc-logo.lg-allfund{width:auto}
.bc-rail{scroll-padding-inline:max(16px,calc((100vw - var(--wrap))/2))}

/* =================== Home network: who we are + accordion of cards =================== */
.nh{padding:clamp(90px,10vw,140px) 0 clamp(70px,8vw,110px);background:#fff;overflow:hidden}
.nh-pill{display:inline-flex;align-items:center;height:36px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--mist);font-size:14px;color:var(--ink)}
.nh-who{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.3fr);gap:clamp(32px,4vw,64px);align-items:start}
.nh-l h2,.nx-h h2{margin:22px 0 0;font:500 clamp(38px,4vw,58px)/1.02 var(--sans);letter-spacing:-.035em;text-wrap:balance}
.nh-l h2 em,.nx-h h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.nh-l>p{margin:28px 0 0;font-size:17px;line-height:1.65;color:var(--ink-60);max-width:470px;text-wrap:pretty}
.nh-stats{display:grid;grid-template-columns:1fr 1fr;gap:34px 28px;margin-top:48px}
.nh-stats b{display:block;font:400 clamp(46px,4.6vw,64px)/1 var(--sans);letter-spacing:-.045em;color:var(--ink)}
.nh-stats sup{font-size:.42em;vertical-align:top;position:relative;top:.12em;margin-left:2px;color:var(--night-2)}
.nh-stats>div>span{display:block;margin-top:8px;font-size:14.5px;color:var(--ink-60)}
.nh-ph{position:relative;margin:0;aspect-ratio:2.15/1;border-radius:28px;overflow:hidden;background:radial-gradient(120% 120% at 70% 30%,#24407e,#0b1a42)}
.nh-ph img{position:absolute;right:0;top:0;height:100%;width:62%;object-fit:cover;object-position:50% 16%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.nh-ph figcaption{position:absolute;left:clamp(22px,3vw,38px);bottom:clamp(22px,3vw,34px);color:#fff;display:flex;flex-direction:column;gap:6px;max-width:46%}
.nh-ph figcaption b{font:400 clamp(30px,3.2vw,46px)/1 var(--serif);font-style:italic}
.nh-ph figcaption span{font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.5}
.nh-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.nh-c{padding:clamp(24px,2.6vw,38px);border-radius:28px;background:#f2f3f5}
.nh-i{width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink)}
.nh-i svg{width:24px;height:24px}
.nh-c h3{margin:clamp(26px,3vw,44px) 0 0;font:500 26px/1.2 var(--sans);letter-spacing:-.02em}
.nh-c p{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--ink-60);text-wrap:pretty}

.nx{margin-top:clamp(100px,11vw,160px)}
.nx-h>p{margin:16px 0 0;max-width:640px;font-size:17px;line-height:1.6;color:var(--ink-60)}
.nx-row{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.7fr);gap:clamp(28px,3.4vw,56px);margin-top:56px;align-items:end}
.nx-left{position:relative;display:grid}
.nx-info{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1),visibility 0s linear .5s}
.nx-info.on{opacity:1;visibility:visible;transform:none;transition-delay:.12s,.12s,0s}
.nx-logo{height:54px;width:auto;max-width:240px;object-fit:contain;object-position:left center;display:block}
.nx-logo.lg-pioneer{height:76px}.nx-logo.lg-acct{height:38px}.nx-logo.lg-ubteo{height:34px}.nx-logo.lg-ubteo span{font-size:26px}
span.nx-logo.lg-allfund{height:54px}.nx-logo.lg-allfund b{font-size:28px}
.nx-info h3{margin:26px 0 0;font:500 28px/1.15 var(--sans);letter-spacing:-.025em}
.nx-who{margin:6px 0 0;font-size:14px;color:var(--ink-60)}
.nx-does{margin:18px 0 0;font-size:17px;line-height:1.6;text-wrap:pretty}
.nx-ct{display:flex;flex-direction:column;gap:9px;margin-top:22px;font-size:14px;color:var(--ink-60)}
.nx-ct a,.nx-ct span{display:inline-flex;align-items:center;gap:9px;word-break:break-all}
.nx-ct a:hover{color:var(--acc)}
.nx-ct svg{width:16px;height:16px;flex:none;color:var(--acc)}
.nx-call{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 22px;margin-top:26px;border-radius:999px;background:var(--acc);color:#fff;font-size:15px;font-weight:500;transition:transform .3s,filter .3s}
.nx-call:hover{transform:translateY(-2px);filter:brightness(1.12)}
.nx-call svg{width:17px;height:17px}

.nx-panels{display:flex;height:clamp(440px,40vw,560px);gap:0}
.nx-p{position:relative;flex:0 0 62px;min-width:0;border-left:1px solid var(--line);transition:flex-basis .8s cubic-bezier(.65,0,.25,1),flex-grow .8s cubic-bezier(.65,0,.25,1)}
.nx-p:last-child{border-right:1px solid var(--line)}
.nx-p.on{flex:1 1 auto;border-left-color:transparent;margin-right:14px}
.nx-p.on+.nx-p{border-left-color:transparent}
.nx-tab{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 0 4px;color:var(--ink-45);transition:color .3s,opacity .4s}
.nx-tab:hover{color:var(--acc)}
.nx-ar svg{width:26px;height:26px}
.nx-v{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;gap:14px;font:600 clamp(16px,1.6vw,22px)/1 var(--sans);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;max-height:calc(100% - 60px);overflow:hidden}
.nx-v b{font:300 clamp(40px,3.6vw,56px)/1 var(--sans);letter-spacing:-.04em}
.nx-p.on .nx-tab{opacity:0;pointer-events:none}
.nx-stage{position:absolute;inset:0;border-radius:30px;overflow:hidden;background:radial-gradient(90% 80% at 50% 40%,color-mix(in srgb,var(--acc) 55%,#0b1d58) 0%,#0b1d58 62%,#081340 100%);display:grid;place-items:center;opacity:0;transform:scale(.96);transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.nx-p.on .nx-stage{opacity:1;transform:none;pointer-events:auto;transition-delay:.25s}
.nx-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(70% 70% at 50% 45%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 45%,#000,transparent)}
.nx-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--acc);filter:blur(80px);opacity:.45;top:10%}
.nx-stage .bc{position:relative;width:min(440px,78%);margin-top:-40px;transform:rotate(-4deg) translateY(30px);opacity:0;transition:transform 1s cubic-bezier(.2,.7,.2,1) .3s,opacity .7s ease .3s}
.nx-p.on .nx-stage .bc{transform:rotate(-4deg);opacity:1}
.nx-stage .bc:hover{transform:rotate(0deg) scale(1.02)!important}
.nx-stage .bc-in{box-shadow:0 50px 80px -30px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.5)}
.nx-notch{position:absolute;right:0;bottom:0;background:#fff;padding:22px 22px 0 30px;border-top-left-radius:30px;display:flex;flex-direction:column;align-items:flex-start;min-width:190px}
.nx-notch::before,.nx-notch::after{content:"";position:absolute;width:30px;height:30px;background:radial-gradient(circle at 0 0,transparent 30px,#fff 30.5px)}
.nx-notch::before{right:0;top:-30px}
.nx-notch::after{left:-30px;bottom:0}
.nx-notch b{font:300 64px/1 var(--sans);letter-spacing:-.05em;color:var(--ink)}
.nx-notch span{margin-top:6px;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap}
.nx-mob{display:none}
@media (max-width:1100px){.nh-who{grid-template-columns:1fr}.nh-l>p{max-width:640px}.nx-row{grid-template-columns:1fr}.nx-left{order:2}.nx-panels{height:clamp(420px,62vw,520px)}}
@media (max-width:760px){
  .nh-cards{grid-template-columns:1fr}.nh-ph{aspect-ratio:4/3}.nh-ph img{width:78%}.nh-ph figcaption{max-width:60%}
  .nx-panels{height:auto;aspect-ratio:4/4.3}
  .nx-p{flex:0 0 0;border:0!important;overflow:hidden}.nx-p.on{flex:1 1 auto;margin:0}.nx-tab{display:none}
  .nx-stage .bc{width:88%}.nx-notch{min-width:0;padding:16px 4px 0 22px}.nx-notch b{font-size:46px}.nx-notch span{font-size:13px}
  .nx-mob{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
  .nx-mob button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}
  .nx-mob button svg{width:20px;height:20px}.nx-mnext svg{transform:rotate(180deg)}
  .nx-dots{display:flex;gap:8px}.nx-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer;transition:background .3s,width .3s}.nx-dots i.on{width:24px;border-radius:5px;background:var(--night-2)}
  .nx-left{order:0}.nx-row{gap:30px}
}
@media (max-width:760px){
  .nx-panels{aspect-ratio:1/1.16}
  .nx-stage{place-items:start center;padding-top:9%}
  .nx-stage .bc{width:86%;margin-top:0}
  .nx-stage .bc .bc-tag{display:none}
  .nx-notch{padding:14px 16px 0 20px;max-width:62%}.nx-notch span{white-space:normal;line-height:1.3}
}

/* =================== Reviews: O Auto Brokers layout, UBTEO white + blue =================== */
.rvx{position:relative;padding:clamp(90px,10vw,140px) 0 clamp(80px,9vw,120px);background:linear-gradient(180deg,#f4f7fd 0%,#fff 60%);overflow:hidden}
.rvx-h{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.rvx-k{display:flex;align-items:center;gap:10px;margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink-60)}
.rvx-k i{width:2px;height:12px;background:var(--night-2)}
.rvx-l h2{margin:14px 0 0;font:600 clamp(44px,5vw,72px)/1 var(--sans);letter-spacing:-.03em;text-transform:uppercase}
.rvx-s{margin:14px 0 0;font-size:17px;color:var(--ink-60)}
.rvx-acts{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px}
.rvx-read{display:inline-flex;gap:8px;align-items:center;padding-bottom:5px;border-bottom:1.5px solid var(--night-2);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.rvx-read span{color:var(--night-2);transition:transform .3s}.rvx-read:hover span{transform:translateX(4px)}
.rvx-write{display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 22px;border-radius:999px;background:var(--night-2);color:#fff;font-size:15px;font-weight:500;transition:background .3s,transform .3s}
.rvx-write:hover{background:var(--night-1);transform:translateY(-2px)}
.rvx-write svg{width:16px;height:16px;color:#f6c453}
.rvx-badge{display:flex;align-items:center;gap:6px;color:var(--night-2)}
.rvx-badge>div{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:170px}
.rvx-badge b{font:600 clamp(34px,3.4vw,44px)/1.1 var(--sans);letter-spacing:-.02em;color:var(--ink)}
.rvx-badge small{font-size:13px;color:var(--ink-60);margin-top:4px}.rvx-badge .sm2{font-size:11.5px;color:var(--ink-45);margin-top:2px}
.lr{width:clamp(80px,8vw,112px);height:auto;color:var(--night-2);opacity:.85}
.rx-st{color:#2c58b8;letter-spacing:2px;font-size:13px}.rx-st.big{font-size:20px;letter-spacing:4px;color:#f2b632}
.rvx-draft{margin-top:30px;max-width:720px;opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s}
.rvx-draft.in{opacity:1;transform:none}
.rd-in{padding:22px;border-radius:18px;background:#fff;border:1px solid rgba(22,52,143,.16);box-shadow:0 24px 50px -30px rgba(11,29,88,.35)}
.rd-h b{display:block;font-size:16px;font-weight:600}.rd-h span{display:block;margin-top:4px;font-size:13.5px;color:var(--ink-60)}
.rvx-draft textarea{width:100%;margin-top:14px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);font:400 15.5px/1.55 var(--sans);color:var(--ink);resize:vertical;background:#f7f9fe}
.rvx-draft textarea:focus{outline:2px solid rgba(44,88,184,.35);border-color:transparent}
.rd-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.rd-shuf{height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-size:14px}
.rd-go{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:500}
.rd-ok{margin:10px 0 0;font-size:13px;color:#1a7f4b;min-height:1em}
.rvx-line{position:relative;height:1px;margin-top:40px;background:var(--line)}
.rvx-line i{position:absolute;left:0;top:-1px;height:3px;width:64px;background:var(--night-2);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.rvx-line i.in{transform:none}
.rvx-rows{display:flex;flex-direction:column;gap:18px;margin-top:48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.rvx-row{overflow:hidden}
.rvx-tr{display:flex;gap:18px;width:max-content;animation:rvx 90s linear infinite}
.rvx-row.rev .rvx-tr{animation-direction:reverse;animation-duration:100s;padding-left:180px}
@keyframes rvx{to{transform:translateX(calc(-50% - 9px))}}
.rx{margin:0;width:330px;flex:none;display:flex;flex-direction:column;padding:22px 22px 18px;border-radius:14px;background:#fff;border:1px solid rgba(22,52,143,.1);box-shadow:0 18px 40px -28px rgba(11,29,88,.35);transition:border-color .3s,box-shadow .3s}
.rx:hover{border-color:rgba(44,88,184,.4);box-shadow:0 24px 50px -26px rgba(22,52,143,.45)}
.rx-top{display:flex;justify-content:space-between;align-items:center}
.rx-tag{font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--night-2);padding:6px 8px;border:1px solid rgba(22,52,143,.2);border-radius:4px;background:#f3f6fd}
.rx blockquote{margin:18px 0 0;flex:1;font-size:15px;line-height:1.55;color:#222;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rx figcaption{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.rx-av{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:6px;border:1px solid rgba(22,52,143,.2);background:#eef3fd;color:var(--night-2);font-size:11.5px;font-weight:700;letter-spacing:.04em}
.rx-n{flex:1;min-width:0}.rx-n b{display:block;font-size:14px;font-weight:600}.rx-n i{display:block;font-style:normal;font-size:12px;color:var(--ink-60);margin-top:2px}
.rx-g{width:18px;height:18px;color:rgba(14,14,12,.3)}
@media (max-width:760px){.rvx-badge{width:100%;justify-content:center}.rx{width:280px}.rx blockquote{font-size:14.5px}.rvx-tr{animation-duration:70s}.rvx-row.rev .rvx-tr{animation-duration:80s;padding-left:90px}}
@media (prefers-reduced-motion:reduce){.rvx-tr{animation:none}.rvx-row{overflow-x:auto}}
/* sleek light-to-night handoff into the Instagram band */
.rvx+.igband,.igband{background:linear-gradient(180deg,#fff 0,#eef2fb 60px,#9fb2de 150px,#3d5aa8 240px,#16296b 330px,#0c1846 430px,#0a1230 560px);padding-top:clamp(200px,20vw,280px)}
.igband::before{top:150px;inset-inline:-10%;height:60%;background:radial-gradient(50% 55% at 50% 0%,rgba(110,150,230,.22),transparent 70%)}

/* =================== Portfolio: closing path =================== */
.cpath{position:relative;margin-top:30px;padding:clamp(80px,8vw,110px) 0 clamp(80px,8vw,110px);background:radial-gradient(90% 120% at 15% 0%,#1d3a8f 0%,#0f2266 40%,#0a1640 100%);color:#fff;overflow:hidden}
.cpath::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}
.cpath .wrap{position:relative}
.cp-h{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}
.cp-k{margin:0 0 14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.cp-h h2{margin:0;font:400 clamp(40px,4.8vw,68px)/1 var(--sans);letter-spacing:-.04em}
.cp-h h2 em{font-family:var(--serif)}
.cp-h>p{margin:0;font-size:16.5px;line-height:1.65;color:rgba(255,255,255,.72);text-wrap:pretty}
.cp-track{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;position:relative}
.cp-track::before{content:"";position:absolute;left:24px;right:24px;top:23px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,.12))}
.cp-s{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0}
.cp-dot{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#0d1d55;border:1px solid rgba(255,255,255,.3);box-shadow:0 0 0 6px rgba(10,22,64,.9)}
.cp-dot b{font:500 13px/1 var(--sans);letter-spacing:.04em}
.cp-dot::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid var(--acc);opacity:.0;transition:opacity .4s}
.cp-s:hover .cp-dot::after{opacity:1}
.cp-chip{margin-top:10px;height:84px;padding:14px 16px;border-radius:14px;background:#fff;display:flex;align-items:center;box-shadow:0 20px 40px -24px rgba(0,0,0,.6);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.cp-s:hover .cp-chip{transform:translateY(-4px)}
.cp-logo{height:44px;width:100%;object-fit:contain;object-position:left center;display:block}
.cp-logo.lg-pioneer{height:58px}.cp-logo.lg-acct{height:30px}
.cp-logo.lg-ubteo{height:26px;width:auto;color:var(--brand)}.cp-logo.lg-ubteo span{font-size:19px}
span.cp-logo.lg-allfund{width:auto;height:40px}.cp-logo.lg-allfund b{font-size:19px}
.cp-v{margin:6px 0 0;font:500 17px/1.25 var(--sans);letter-spacing:-.01em}
.cp-l{margin:0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.66);text-wrap:pretty}
.cp-tel{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:6px;font-size:13px;color:#cfe0ff;font-variant-numeric:tabular-nums}
.cp-tel:hover{color:#fff}.cp-tel svg{width:14px;height:14px}
@media (max-width:1180px){.cp-track{grid-template-columns:repeat(4,1fr);row-gap:44px}.cp-track::before{display:none}}
@media (max-width:760px){.cp-h{grid-template-columns:1fr;gap:18px}
  .cp-track{grid-template-columns:1fr;gap:0;margin-top:44px}
  .cp-track::before{display:block;left:23px;right:auto;top:24px;bottom:24px;width:1px;height:auto;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.1))}
  .cp-s{display:grid;grid-template-columns:48px 1fr;column-gap:18px;padding-bottom:28px}
  .cp-s>*:not(.cp-dot){grid-column:2}.cp-dot{grid-row:1/6}
  .cp-chip{margin-top:0;height:68px;max-width:260px}}
.cpath{margin-bottom:56px}

/* hero v2: native-resolution film, no zoom, true full screen */
.eh{height:100svh;min-height:680px;max-height:none;display:flex;flex-direction:column}
.eh-bg{position:absolute;inset:0;z-index:-2}.eh-bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08)}
.eh-shade{background:linear-gradient(90deg,rgba(7,16,48,.92) 0%,rgba(9,22,66,.78) 42%,rgba(11,29,88,.55) 100%),linear-gradient(180deg,rgba(7,16,48,.4),rgba(7,16,48,.7))}
.eh-grid{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(32px,4vw,72px);align-items:center;padding:clamp(100px,12vh,130px) 0 clamp(24px,4vh,44px);min-height:0}
.eh-left{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.eh h1{font-size:clamp(52px,6.6vw,124px);margin-top:20px}
.eh-copy{margin-top:clamp(18px,3vh,30px)}
.eh-slider{margin-top:clamp(22px,4vh,40px);width:min(440px,100%)}
.eh-film{position:relative;margin:0;height:min(calc(100svh - 170px),860px);aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:#0b1d58;box-shadow:0 60px 100px -40px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.14);opacity:0;transform:translateY(24px) scale(.98);transition:opacity 1s ease .5s,transform 1.2s cubic-bezier(.2,.7,.2,1) .5s}
.is-ready .eh-film{opacity:1;transform:none}
.eh-film video{width:100%;height:100%;object-fit:cover;display:block;transform:none}
.eh-film figcaption{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;background:rgba(8,18,52,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12.5px;color:#fff}
.eh-live{width:7px;height:7px;border-radius:50%;background:#7fb2ff;box-shadow:0 0 0 4px rgba(127,178,255,.25);animation:ehp 2s ease-in-out infinite}
@keyframes ehp{50%{box-shadow:0 0 0 7px rgba(127,178,255,0)}}
.eh-main,.eh-foot,.eh-down,.eh-media{display:none!important}
@media (max-width:1100px) and (min-width:701px){.eh-film{height:min(calc(100svh - 200px),640px)}.eh h1{font-size:clamp(48px,7vw,84px)}}
@media (max-width:700px){
  .eh{height:auto;min-height:100svh}
  .eh-bg{display:none}
  .eh-grid{display:flex;flex-direction:column;align-items:stretch;padding:110px 0 22px;flex:1}
  .eh-film{position:absolute;inset:0;height:auto;aspect-ratio:auto;border-radius:0;z-index:-2;box-shadow:none;opacity:1;transform:none}
  .eh-film figcaption{top:86px;bottom:auto;left:auto;right:12px;font-size:11px;padding:6px 11px}
  .eh-shade{background:linear-gradient(180deg,rgba(6,14,44,.6) 0%,rgba(6,14,44,.15) 22%,rgba(6,14,44,.25) 42%,rgba(5,12,38,.85) 68%,rgba(5,12,38,.96) 100%)}
  .eh-left{flex:1}.eh-copy{margin-top:auto;padding-top:26vh}
  .eh-slider{width:100%}
}
/* stage v2: real photography, card laid flat — no glow, no grid */
.nx-stage{background:#0b1d58;place-items:end start}
.nx-stage::before{display:none}
.nx-glow{display:none}
.nx-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.nx-p.on .nx-img{transform:none}
.nx-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,40,0) 35%,rgba(6,14,40,.55) 100%);pointer-events:none}
.nx-stage .bc{z-index:1;width:min(400px,62%);margin:0 0 28px 28px;transform:translateY(16px)!important;opacity:0}
.nx-p.on .nx-stage .bc{transform:none!important;opacity:1}
.nx-stage .bc-in{box-shadow:0 30px 50px -24px rgba(0,0,0,.55)}
.nx-stage .bc-in::before{display:none}
.nx-notch{z-index:2}
@media (max-width:760px){.nx-stage{place-items:end start;padding-top:0}.nx-stage .bc{width:auto;margin:0 14px 96px 14px}.nx-panels{aspect-ratio:1/1.25}}
.nh-ab{padding-top:clamp(80px,9vw,120px)}
.nh-ph.car{background:#0b1d58}
.nh-ph.car img{width:100%;-webkit-mask-image:none;mask-image:none;object-position:50% 60%}
.nh-ph.car::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,40,0) 45%,rgba(6,14,40,.72) 100%)}
.nh-ph.car figcaption{z-index:1;max-width:80%}
.nh-ph.car figcaption b{font-size:clamp(26px,2.8vw,40px)}
.lst-feat .featured{padding-top:clamp(120px,12vw,160px)}
.lst-feat .featured{padding-top:clamp(40px,5vw,72px)}
.nx-stage .bc{width:min(380px,calc(100% - 250px))}
@media (max-width:760px){.nx-stage .bc{width:auto}}

/* =================== Buy: live planner =================== */
.bp{padding:clamp(90px,10vw,140px) 0}
.bp-h{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}
.bp-h h2{margin:12px 0 0;font:400 clamp(44px,5.4vw,80px)/1 var(--sans);letter-spacing:-.04em}
.bp-h h2 em{font-family:var(--serif)}
.bp-h>p{margin:0;font-size:17px;line-height:1.6;color:var(--ink-60);text-wrap:pretty}
.bp-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);margin-top:64px;align-items:start}
.bp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;position:sticky;top:110px}
.bp-st{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line);position:relative;transition:opacity .4s}
.bp-st:last-child{border-bottom:1px solid var(--line)}
.bp-st::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--night-2);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.bp-st.on::before,.bp-st.done::before{width:100%}.bp-st.done::before{background:rgba(22,52,143,.35)}
.bp-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-60);transition:all .4s}
.bp-st.on .bp-n{background:var(--night-2);border-color:var(--night-2);color:#fff}
.bp-st.done .bp-n{background:#eef3fd;border-color:rgba(22,52,143,.25);color:var(--night-2)}
.bp-st h3{margin:0;font:500 22px/1.2 var(--sans);letter-spacing:-.02em}
.bp-st p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--ink-60)}
.bp-st:not(.on):not(.done){opacity:.6}
.bp-card{padding:clamp(22px,2.6vw,34px);border-radius:26px;background:#fff;border:1px solid rgba(22,52,143,.12);box-shadow:0 40px 80px -48px rgba(11,29,88,.45)}
.bp-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.bp-top small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60)}
.bp-top b{display:block;margin-top:8px;font:400 clamp(44px,5vw,66px)/1 var(--sans);letter-spacing:-.045em;color:var(--night-1);font-variant-numeric:tabular-nums}
.bp-sub{display:block;margin-top:10px;font-size:14px;color:var(--ink-60)}
.bp-gauge{position:relative;width:128px;flex:none;text-align:center}
.bp-gauge svg{width:128px;height:auto;display:block}
.g-bg,.g-fg{fill:none;stroke-width:9;stroke-linecap:round}.g-bg{stroke:#e9eef8}
.g-fg{stroke:#2c58b8;stroke-dasharray:158;stroke-dashoffset:158;transition:stroke-dashoffset .6s cubic-bezier(.2,.7,.2,1),stroke .4s}
.g-fg[data-z=mid]{stroke:#d69a2d}.g-fg[data-z=hi]{stroke:#c0473f}
.bp-gauge>span{position:absolute;left:0;right:0;top:34px;font-size:20px;font-weight:600}
.bp-gauge small{display:block;margin-top:2px;font-size:11px;color:var(--ink-60)}
.bp-fields{display:grid;gap:20px;padding:24px 0}
.bp-f{display:flex;flex-direction:column;gap:10px}
.bp-f>span{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--ink-60)}
.bp-f>span b{margin-left:auto;font-size:17px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.bp-f>span i{font-style:normal;font-size:12px;color:var(--ink-45)}
.bp-f input[type=range]{--p:50%;-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--night-2) var(--p),#e6ebf5 var(--p));cursor:pointer}
.bp-f input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--night-2);box-shadow:0 4px 10px rgba(11,29,88,.25)}
.bp-f input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--night-2)}
.bp-chips{display:flex;flex-wrap:wrap;gap:6px}
.bp-chips button{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;transition:all .25s}
.bp-chips button[aria-pressed=true]{background:var(--night-2);border-color:var(--night-2);color:#fff}
.bp-fit{padding:20px;border-radius:18px;background:#f4f7fd}
.bp-fit-h{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.bp-fit-h a{display:inline-flex;gap:6px;align-items:center;color:var(--night-2);font-weight:500}.bp-fit-h .arrow{width:15px;height:15px}
.bp-homes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;min-height:72px}
.bp-h1{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(22,52,143,.08);animation:bpin .45s ease both}
@keyframes bpin{from{opacity:0;transform:translateY(6px)}}
.bp-h1 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#dfe5f2}
.bp-h1 span{padding:9px 10px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.bp-h1 b{font-size:15px;font-variant-numeric:tabular-nums}.bp-h1 i{font-style:normal;font-size:11.5px;color:var(--ink-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-none{grid-column:1/-1;margin:0;font-size:14px;color:var(--ink-60);line-height:1.5}
.bp-go{display:flex;justify-content:space-between;align-items:center;margin-top:20px;height:58px;padding:0 8px 0 24px;border-radius:999px;background:var(--night-2);color:#fff;font-size:16px;font-weight:500;transition:background .3s}
.bp-go:hover{background:var(--night-1)}
.bp-go .ac{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--night-2);display:grid;place-items:center}.bp-go .arrow{width:18px;height:18px}
.bp-note{margin:12px 0 0;font-size:12px;color:var(--ink-45);line-height:1.5}
@media (max-width:1000px){.bp-h,.bp-g{grid-template-columns:1fr}.bp-steps{position:static}}
@media (max-width:560px){.bp-top{flex-direction:column;align-items:flex-start}.bp-homes{grid-template-columns:1fr 1fr}.bp-homes .bp-h1:nth-child(3){display:none}.bp-go{font-size:15px}}
.bp-go{justify-content:flex-start;gap:6px}.bp-go .ac{margin-left:auto}

/* =================== Portfolio: stacked photos + accordion =================== */
.cpx{background:#f6f5f2;padding:clamp(90px,9vw,140px) 0;margin:20px 0 60px}
.cpx-w{width:min(1640px,calc(100vw - 2*clamp(16px,4.5vw,88px)));margin:0 auto}
.cpx-k{margin:0 0 18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60)}
.cpx-h h2{margin:0;font:500 clamp(40px,5vw,80px)/1.04 var(--sans);letter-spacing:-.035em;color:#11131a}
.cpx-h h2 span{display:block;color:#c4c4c4}
.cpx-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);margin-top:clamp(56px,6vw,90px);align-items:center}
.cpx-stack{position:relative;aspect-ratio:1.32/1;margin-right:48px}
.cpx-ph{--d:0;position:absolute;inset:0 0 0 0;margin:0;border-radius:18px;overflow:hidden;background:#dfe3ea;cursor:pointer;
  transform:translate(calc(var(--d)*-22px),calc(var(--d)*-22px)) scale(calc(1 - var(--d)*.035));opacity:clamp(0,calc(1 - var(--d)*.3),1);
  transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s ease,box-shadow .6s;box-shadow:0 30px 60px -36px rgba(10,20,50,.5)}
.cpx-ph img{width:100%;height:100%;object-fit:cover;display:block}
.cpx-ph figcaption{position:absolute;left:16px;bottom:16px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12.5px;color:#11131a;opacity:0;transition:opacity .4s .3s}
.cpx-ph.front figcaption{opacity:1}
.cpx-acc{border-top:1px solid rgba(17,19,26,.12)}
.cpx-it{border-bottom:1px solid rgba(17,19,26,.12)}
.cpx-q{width:100%;display:flex;align-items:center;gap:18px;padding:24px 0;text-align:left;color:#11131a}
.cpx-n{font-size:13px;color:var(--ink-45);width:26px;flex:none;font-variant-numeric:tabular-nums}
.cpx-t{flex:1;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font:500 clamp(22px,2vw,30px)/1.2 var(--sans);letter-spacing:-.02em}
.cpx-t small{font-size:14px;font-weight:400;letter-spacing:0;color:var(--ink-60)}
.cpx-pm{position:relative;width:20px;height:20px;flex:none}
.cpx-pm::before,.cpx-pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.6px;background:#11131a;transition:transform .4s}
.cpx-pm::after{transform:rotate(90deg)}.cpx-it.on .cpx-pm::after{transform:rotate(0)}
.cpx-it.on .cpx-n{color:var(--acc)}
.cpx-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.cpx-it.on .cpx-a{grid-template-rows:1fr}
.cpx-ai{overflow:hidden;padding-left:44px}
.cpx-ai p{margin:0;max-width:620px;font-size:17px;line-height:1.65;color:var(--ink-60);text-wrap:pretty}
.cpx-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 0 28px}
.cpx-chip{height:58px;padding:10px 16px;border-radius:12px;background:#fff;border:1px solid rgba(17,19,26,.08);display:flex;align-items:center}
.cpx-logo{height:36px;width:auto;max-width:180px;object-fit:contain;display:block}
.cpx-logo.lg-pioneer{height:44px}.cpx-logo.lg-acct{height:26px}.cpx-logo.lg-ubteo{height:24px;color:var(--brand)}.cpx-logo.lg-ubteo span{font-size:18px}
span.cpx-logo.lg-allfund{height:34px}.cpx-logo.lg-allfund b{font-size:18px}
.cpx-ct{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--ink-60)}
.cpx-ct a{display:inline-flex;align-items:center;gap:7px}.cpx-ct svg{width:15px;height:15px;color:var(--acc)}
.cpx-call{height:42px;padding:0 16px;border-radius:999px;background:var(--acc);color:#fff!important;font-weight:500}.cpx-call svg{color:#fff!important}
@media (max-width:980px){.cpx-g{grid-template-columns:1fr}.cpx-stack{margin:22px 22px 0 22px}}
@media (max-width:560px){.cpx-ai{padding-left:0}.cpx-q{gap:12px;padding:20px 0}.cpx-t small{display:block;width:100%}}
.cpx-g{align-items:start}.cpx-stack{margin-top:66px}
/* Instagram band: clean navy panel with rounded top, no washed-out fade */
.rvx+.igband,.igband{background:#0a1230;padding-top:clamp(110px,11vw,150px);border-radius:clamp(28px,3vw,44px) clamp(28px,3vw,44px) 0 0;margin-top:0;position:relative;z-index:1}
.igband::before{top:0;inset-inline:0;height:100%;background:radial-gradient(60% 45% at 50% 0%,rgba(70,110,200,.28),transparent 70%)}
.rvx{padding-bottom:clamp(110px,11vw,150px)}

/* =================== Team: "Beyond the team" stack (Foreal style) =================== */
.ts{background:linear-gradient(180deg,#d9e5f1 0%,#e7eef6 60%,#f1f5fa 100%);padding:clamp(70px,8vw,110px) 0 clamp(90px,10vw,140px);overflow:clip}
.ts-w{width:min(1560px,calc(100vw - 2*clamp(16px,5vw,96px)));margin:0 auto}
.ts-hero{position:relative;text-align:center;padding:clamp(30px,5vw,70px) 0 clamp(40px,6vw,90px)}
.ts-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);font:600 clamp(120px,22vw,340px)/.8 var(--sans);letter-spacing:-.06em;color:rgba(255,255,255,.55);white-space:nowrap;pointer-events:none;user-select:none}
.ts-k{position:relative;margin:0 0 10px;font-size:13px;color:#2a3550}
.ts-hero h2{position:relative;margin:0;font:400 clamp(44px,5.6vw,84px)/1 var(--sans);letter-spacing:-.045em;color:#0f1a33}
.ts-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,90px);align-items:start}
.ts-left{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1fr);align-items:start}
.ts-ph{grid-column:1/3;grid-row:1;position:sticky;top:90px;height:calc(100vh - 120px);max-height:900px;width:62%;border-radius:22px;overflow:hidden}
.ts-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ts-cards{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:clamp(60px,10vh,120px);padding:20px 0 40px;position:relative;z-index:1}
.ts-card{position:sticky;top:calc(110px + var(--i)*16px);border-radius:20px;background:#0f1a33;color:#fff;padding:6px;box-shadow:0 40px 70px -40px rgba(8,16,40,.6)}
.ts-top{position:relative;height:170px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;padding:24px}
.ts-logo{max-height:70px;width:auto;max-width:78%;object-fit:contain;display:block}
.ts-logo.lg-pioneer{max-height:104px}.ts-logo.lg-acct{max-height:46px}
span.ts-logo.lg-allfund{height:62px}.ts-logo.lg-allfund b{font-size:30px}
.ts-tag{position:absolute;left:12px;top:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--acc);padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--acc) 9%,#fff)}
.ts-body{padding:18px 16px 16px}
.ts-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ts-h h3{margin:0;font:500 19px/1.25 var(--sans);letter-spacing:-.01em}
.ts-h span{font-size:15px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.ts-co{margin:4px 0 0;font-size:12.5px;color:rgba(255,255,255,.55)}
.ts-d{margin:12px 0 0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.82);text-wrap:pretty}
.ts-ct{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:rgba(255,255,255,.7)}
.ts-ct a:hover{color:#fff}
.ts-call{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;background:#fff;color:#0f1a33!important;font-weight:500}
.ts-call svg{width:15px;height:15px;color:var(--acc)}
.ts-right{position:sticky;top:110px;padding-top:6px}
.ts-copy{max-width:470px}
.ts-k2{margin:0 0 14px;font-size:13px;color:#2a3550}
.ts-copy h3{margin:0;font:400 clamp(36px,3.6vw,56px)/1.04 var(--sans);letter-spacing:-.04em;color:#0f1a33;text-wrap:balance}
.ts-copy>p{margin:20px 0 0;font-size:16.5px;line-height:1.6;color:#4a5670;text-wrap:pretty}
.ts-more{display:inline-flex;align-items:center;margin-top:28px;gap:0}
.ts-av{display:flex}.ts-av img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid #e3ebf5;margin-right:-12px;background:#cfd8e6}
.ts-go{width:52px;height:52px;border-radius:50%;background:#0f1a33;color:#fff;display:grid;place-items:center;transition:transform .3s}
.ts-go svg{width:20px;height:20px}.ts-more:hover .ts-go{transform:translateX(4px)}
.ts-lbl{margin-left:14px;font-size:13px;line-height:1.35;color:#2a3550}
@media (max-width:1100px){
  .ts-g{grid-template-columns:1fr}
  .ts-right{position:static;order:-1}
  .ts-left{grid-template-columns:1fr}
  .ts-ph{display:none}
  .ts-cards{grid-column:1;max-width:560px;margin:0 auto;width:100%;gap:28px}
  .ts-card{top:calc(84px + var(--i)*12px)}
}
@media (max-width:560px){.ts-top{height:130px}.ts-hero{padding-bottom:30px}}
.ab-quote{padding:110px 0 30px}
.nh-ab{padding-top:40px}
.nh-ph.car img{object-position:50% 55%}

/* Instagram band: long eased fade from white into navy (no hard edges) */
.rvx+.igband,.igband{background:linear-gradient(180deg,rgb(255,255,255) 0px,rgb(254,254,255) 30px,rgb(250,252,254) 60px,rgb(245,248,252) 90px,rgb(239,243,251) 120px,rgb(231,237,249) 150px,rgb(223,231,246) 180px,rgb(214,224,244) 210px,rgb(159,169,191) 240px,rgb(117,126,151) 270px,rgb(81,90,116) 300px,rgb(52,60,88) 330px,rgb(29,38,67) 360px,rgb(15,23,53) 390px,rgb(10,18,48) 420px,#0a1230 100%);border-radius:0;padding-top:clamp(240px,22vw,320px)}
.igband::before{top:260px;inset-inline:-10%;height:60%;background:radial-gradient(50% 50% at 50% 50%,rgba(70,110,200,.16),rgba(70,110,200,0) 70%)}
.rvx{padding-bottom:clamp(60px,6vw,90px)}

.rvx+.igband,.igband{background:linear-gradient(180deg,rgb(255,255,255) 0px,rgb(255,255,255) 14px,rgb(254,254,254) 27px,rgb(250,251,251) 40px,rgb(245,245,247) 54px,rgb(237,238,240) 67px,rgb(226,227,232) 81px,rgb(212,214,221) 94px,rgb(196,199,208) 107px,rgb(178,183,194) 121px,rgb(159,165,179) 135px,rgb(140,146,163) 148px,rgb(120,127,146) 161px,rgb(101,109,130) 175px,rgb(83,91,115) 188px,rgb(66,75,101) 202px,rgb(52,61,88) 215px,rgb(39,49,77) 228px,rgb(29,39,67) 242px,rgb(22,31,60) 255px,rgb(16,25,55) 268px,rgb(13,21,51) 282px,rgb(11,19,49) 296px,rgb(10,18,48) 309px,rgb(10,18,48) 322px,#0a1230 100%);padding-top:340px!important;padding-bottom:110px}
.igband::before{top:360px}
.ph-top img{object-position:50% 100%!important}
.ph-top{overflow:hidden}.ph-top img{transform:scale(1.08);transform-origin:50% 100%}
[data-reveal].in .ph-top img{transform:scale(1.08)!important;transform-origin:50% 100%}
.cpx-h h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#2c58b8;letter-spacing:-.01em}
.cpx-q:focus{outline:none}.cpx-q:focus-visible{outline:2px solid rgba(44,88,184,.35);outline-offset:4px;border-radius:8px}
.cpx-a{transition:grid-template-rows .8s cubic-bezier(.65,0,.25,1)}
.cpx-ai{opacity:0;transform:translateY(-6px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.cpx-it.on .cpx-ai{opacity:1;transform:none;transition-delay:.25s}
.cpx-it{position:relative}
.cpx-it::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;will-change:transform}
.cpx-it.on::after{animation:cpxbar 5.2s linear forwards;animation-play-state:paused}
.cpx-run .cpx-it.on::after{animation-play-state:running}.cpx-hid .cpx-it.on::after{animation-play-state:paused}
@keyframes cpxbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cpx-ph{transition:transform 1s cubic-bezier(.65,0,.25,1),opacity .8s ease}

/* Portfolio: wide 3-column pre-approval band */
.pq-wide{padding:clamp(80px,8vw,120px) 0;background:#fff}
.pqw-in{width:min(1640px,calc(100vw - 2*clamp(16px,4.5vw,88px)));margin:0 auto;display:grid;grid-template-columns:1.25fr .9fr 1fr;align-items:center;gap:clamp(28px,4vw,72px);padding:clamp(34px,4vw,56px) clamp(28px,4vw,64px);border-radius:28px;background:radial-gradient(60% 120% at 50% 0%,#e3ebfb 0%,#f4f7fd 60%,#f7f9fe 100%);border:1px solid rgba(22,52,143,.1)}
.pqw-l h3{margin:14px 0 0;font:400 clamp(34px,3.4vw,52px)/1.05 var(--sans);letter-spacing:-.035em;color:var(--night-1)}
.pqw-l h3 em{display:block;font-family:var(--serif);font-style:italic;color:#2c58b8}
.pqw-m{display:flex;justify-content:center}
.pqw-m .pq-mini{width:100%;max-width:340px;text-align:center}
.pqw-r{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-left:clamp(0px,3vw,48px);border-left:1px solid rgba(22,52,143,.12)}
.pqw-r .pq-trust{display:flex;flex-direction:column;gap:12px;margin:0}
@media (max-width:1000px){.pqw-in{grid-template-columns:1fr;text-align:left}.pqw-m{justify-content:flex-start}.pqw-m .pq-mini{text-align:left}.pqw-r{border-left:0;padding-left:0}}
.pqw-r .btn-dark{background:var(--night-2)}.pqw-r .btn-dark:hover{background:var(--night-1)}
.ts-ph{background:#0f1a33}
.ts-ph img{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity 1s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.ts-ph img.on{opacity:1;transform:none}
/* stats: 2x2 with a thin plus-sign divider */
.nh-stats{position:relative;gap:0;margin-top:44px}
.nh-stats>div{padding:28px 28px 30px}
.nh-stats>div:nth-child(odd){padding-left:0}
.nh-stats::before,.nh-stats::after{content:"";position:absolute;background:linear-gradient(var(--dir),transparent,rgba(22,52,143,.28) 18%,rgba(22,52,143,.28) 82%,transparent);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.nh-stats::before{--dir:180deg;left:50%;top:0;bottom:0;width:1px;transform:scaleY(0)}
.nh-stats::after{--dir:90deg;top:50%;left:0;right:0;height:1px;transform:scaleX(0)}
[data-reveal].in .nh-stats::before,[data-reveal].in .nh-stats::after{transform:none}
.nh-stats>div{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in .nh-stats>div{opacity:1;transform:none}
[data-reveal].in .nh-stats>div:nth-child(2){transition-delay:.1s}[data-reveal].in .nh-stats>div:nth-child(3){transition-delay:.2s}[data-reveal].in .nh-stats>div:nth-child(4){transition-delay:.3s}
.nh-stats b{font-variant-numeric:tabular-nums}
/* ---- no pills: thin vertical-rule labels ---- */
.nh-pill,.bc-tag,.ts-tag,.pb-tag{display:inline-flex!important;align-items:center;height:auto!important;padding:2px 0 2px 14px!important;border:0!important;border-radius:0!important;background:none!important;position:relative;font-size:11.5px!important;letter-spacing:.18em!important;text-transform:uppercase;font-weight:600;color:var(--night-2)}
.nh-pill::before,.bc-tag::before,.ts-tag::before,.pb-tag::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:1.5px;background:currentColor;opacity:.85}
.bc-tag,.ts-tag{color:var(--acc)!important;font-size:10px!important}
.ts-tag{left:18px!important;top:16px!important}
.eh-rate{background:none!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:2px 0 2px 14px!important;position:relative}
.eh-rate::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:1.5px;background:rgba(255,255,255,.8)}
/* ---- dead space ---- */
.nh{padding-top:clamp(80px,8vw,110px)}
.nh>.wrap>.nx:first-child{margin-top:0}
/* ---- consistent vertical rhythm ---- */
.sec,.section{padding-block:clamp(64px,6.5vw,104px)}
.section.tight{padding-block:clamp(40px,4vw,64px)}
.rvx{padding-top:clamp(70px,7vw,104px)}
.ts{padding-bottom:clamp(50px,5vw,80px)}
.pq-wide{padding:clamp(56px,5.5vw,88px) 0}
.ab-net,.ab-story{padding-block:clamp(64px,6.5vw,104px)}
.g-list,.g-ask{padding-block:clamp(56px,6vw,96px)}
.pq-band{padding-bottom:clamp(56px,6vw,90px)}
.nx-p{transition:flex-basis 1.1s cubic-bezier(.65,0,.25,1),flex-grow 1.1s cubic-bezier(.65,0,.25,1),margin 1.1s cubic-bezier(.65,0,.25,1)}
.nx-stage{transition:opacity .7s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.nx-p.on .nx-stage{transition-delay:.35s}
.nx-info{transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1),visibility 0s linear .7s}
.nx-info.on{transition-delay:.3s,.3s,0s}
.nx-p.on .nx-stage .bc{transition-delay:.5s}
.nx-tab{transition:color .3s,opacity .5s ease}
.nx-p.on::after{content:"";position:absolute;left:0;bottom:-10px;height:2px;width:0;background:var(--acc);animation:nxbar 5.2s linear forwards}
@keyframes nxbar{to{width:calc(100% - 14px)}}
/* prequal FAQ: sticky heading, items follow on scroll */
.pq-faq .pf-grid{align-items:start}
.pf-stick{position:sticky;top:120px}
.pf-prog{margin-top:36px;width:2px;height:160px;background:rgba(22,52,143,.12);border-radius:2px;overflow:hidden}
.pf-prog i{display:block;width:100%;height:100%;background:#2c58b8;transform-origin:top;transform:scaleY(0);transition:transform .2s linear}
.pq-faq .pf-list>div{padding-block:clamp(34px,5vh,56px);opacity:.25;transform:translateY(24px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.pq-faq .pf-list>div.seen{opacity:.5;transform:none}
.pq-faq .pf-list>div.on{opacity:1}
.pq-faq .pf-list>div.on dt{color:#2c58b8}
.pq-faq .pf-list dt{transition:color .4s}
@media (max-width:900px){.pf-stick{position:static}.pf-prog{display:none}.pq-faq .pf-list>div{opacity:1;transform:none}}
/* portfolio: premium filter header */
.pf-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:40px}
.pf-k{position:relative;margin:0 0 16px;padding-left:14px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--night-2)}
.pf-k::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:1.5px;background:currentColor}
.pf-head h2{margin:0;font:400 clamp(36px,4vw,60px)/1.04 var(--sans);letter-spacing:-.035em;text-wrap:balance}
.pf-head h2 em{font-family:var(--serif);color:#2c58b8}
.pf-head>p{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink-60);max-width:480px;justify-self:end;text-wrap:pretty}
.pf-bar{position:sticky;top:72px;z-index:5;display:flex;align-items:center;gap:clamp(16px,3vw,40px);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin-bottom:34px}
.pf-tabs{position:relative;display:flex;gap:4px}
.pf-tabs+.pf-tabs{padding-left:clamp(16px,3vw,40px);border-left:1px solid var(--line)}
.pf-tabs button{position:relative;z-index:1;display:inline-flex;align-items:flex-start;gap:4px;padding:10px 14px;font:500 15px/1 var(--sans);color:var(--ink-45);transition:color .35s}
.pf-tabs button:hover{color:var(--ink)}
.pf-tabs button[aria-pressed=true]{color:var(--ink)}
.pf-tabs sup{font-size:10px;font-weight:600;color:#2c58b8;top:-2px;position:relative}
.pf-tabs.sm button{font-size:13.5px}
.pf-ind{position:absolute;left:0;bottom:-15px;height:2px;width:0;background:var(--night-2);transition:transform .5s cubic-bezier(.65,0,.25,1),width .5s cubic-bezier(.65,0,.25,1)}
.pf-tabs+.pf-tabs .pf-ind{left:0}
.pf-count{margin-left:auto;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-60)}
.pf-count b{font-weight:600;color:var(--ink)}
.pgrid .pcard{animation:pfin .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes pfin{from{opacity:0;transform:translateY(14px)}}
@media (max-width:900px){.pf-head{grid-template-columns:1fr;gap:16px}.pf-head>p{justify-self:start}
  .pf-bar{flex-wrap:wrap;top:64px;gap:4px 16px}.pf-tabs{overflow-x:auto;scrollbar-width:none}.pf-tabs+.pf-tabs{padding-left:0;border-left:0}.pf-count{width:100%;margin:6px 0 0 14px}}
/* team stack: clean shadow, no paint banding */
.ts-card{box-shadow:0 14px 30px -18px rgba(8,16,40,.5),0 2px 6px rgba(8,16,40,.12);transform:translateZ(0);backface-visibility:hidden}
.ts{overflow:visible}
.ts-w{overflow-x:clip}
/* team: full-bleed financing band */
.pq-full{position:relative;background:radial-gradient(70% 120% at 50% 0%,#1b3c97 0%,#0f2466 45%,#0a1640 100%);color:#fff;overflow:hidden}
.pq-full::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(60% 80% at 50% 50%,#000,transparent);mask-image:radial-gradient(60% 80% at 50% 50%,#000,transparent)}
.pqf-in{position:relative;width:min(1640px,calc(100vw - 2*clamp(16px,4.5vw,88px)));margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr 1fr;min-height:clamp(420px,46vw,560px)}
.pqf-in>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,90px) clamp(24px,3vw,56px)}
.pqf-in>div+div{border-left:1px solid rgba(255,255,255,.12)}
.pqf-l{padding-left:0!important}
.pqf-k{position:relative;padding-left:14px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#9db8ff}
.pqf-k::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:1.5px;background:currentColor}
.pqf-l h3{margin:22px 0 0;font:400 clamp(38px,4vw,62px)/1.02 var(--sans);letter-spacing:-.04em}
.pqf-l h3 em{display:block;font-family:var(--serif);font-style:italic;color:#a9c2ff}
.pqf-l p{margin:22px 0 0;max-width:400px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.7)}
.pqf-m{align-items:center;text-align:center}
.pqf-cap{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.pqf-v{display:block;margin-top:14px;font:400 clamp(52px,5.4vw,84px)/1 var(--sans);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.pqf-inc{display:flex;gap:2px;margin-top:28px;padding:4px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.pqf-inc button{padding:9px 16px;border-radius:999px;font-size:14px;font-weight:500;color:rgba(255,255,255,.7);transition:background .35s,color .35s}
.pqf-inc button[aria-pressed=true]{background:#fff;color:#0f2466}
.pqf-m small{margin-top:14px;font-size:12.5px;color:rgba(255,255,255,.5)}
.pqf-r ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pqf-r li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.pqf-r li:first-child{padding-top:0}
.pqf-r li svg{width:20px;height:20px;flex:none;color:#9db8ff;margin-top:2px}
.pqf-r li span{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:rgba(255,255,255,.6)}
.pqf-r li b{font-size:15.5px;font-weight:500;color:#fff}
.pqf-go{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;align-self:flex-start;margin-top:30px;height:56px;padding:0 8px 0 26px;border-radius:999px;background:#fff;color:#0f2466;font-size:15.5px;font-weight:600;transition:transform .3s}
.pqf-go:hover{transform:translateY(-2px)}
.pqf-go span{width:40px;height:40px;border-radius:50%;background:#0f2466;color:#fff;display:grid;place-items:center}.pqf-go .arrow{width:17px;height:17px}
@media (max-width:1000px){.pqf-in{grid-template-columns:1fr}.pqf-in>div{padding:44px 0!important}.pqf-in>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.pqf-m{align-items:flex-start;text-align:left}.pqf-inc{flex-wrap:wrap}}
.pq-full{border-bottom:1px solid rgba(255,255,255,.08)}
/* team stack: Foreal look — powder-blue field, wordmark, edge-bleed photo */
.ts{background:linear-gradient(180deg,#c6dce6 0%,#cfe2ea 45%,#dae8ef 100%)}
.ts-big{color:rgba(255,255,255,.38);font-weight:500;letter-spacing:-.07em;font-size:clamp(150px,27vw,430px);transform:translate(-50%,-46%)}
.ts-k,.ts-k2{color:#2d3c46;font-size:13.5px}
.ts-hero h2{color:#14222c;letter-spacing:-.05em}
.ts-copy h3{color:#14222c;letter-spacing:-.05em}
.ts-copy>p{color:#44535c}
.ts-ph{width:calc(62% + (100vw - min(1560px,calc(100vw - 2*clamp(16px,5vw,96px))))/2);margin-left:calc(-1*(100vw - min(1560px,calc(100vw - 2*clamp(16px,5vw,96px))))/2);border-radius:0;top:80px;height:calc(100vh - 80px)}
.ts-card{background:#18252f}
.ts-go{background:#18252f}
.ts-av img{border-color:#cfe2ea}
.ts-w{overflow-x:visible}
.ts{overflow-x:clip}
@media (max-width:1100px){.ts-ph{display:none}}
.ts-tag{position:absolute!important}
.ts-g{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(40px,8vw,160px)}
.ts-right{justify-self:end;padding-top:0}
.ts-copy{max-width:380px}
.ts-copy h3{font-size:clamp(34px,3.2vw,50px)}
.ts-copy>p{font-size:15.5px}
@media (min-width:1101px){.ts-left{grid-template-columns:minmax(0,.75fr) minmax(320px,400px)}}
.ab-net{position:relative;overflow:hidden;background:linear-gradient(180deg,#1c3f9e 0%,#15318a 30%,#0e2368 65%,#0a1a52 100%)!important}
.ab-net canvas.band-stars{position:absolute;left:0;width:100%;pointer-events:none;opacity:.9}
.ab-net>.wrap{position:relative}
.ab-hero canvas.band-stars{width:calc(100% - min(62vw,980px)*.82)!important;-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,#000 80%,transparent 100%);z-index:1}
@media (max-width:980px){.ab-hero canvas.band-stars{width:100%!important;-webkit-mask-image:none;mask-image:none}}

/* =================== Team: Foreal "Discover" section, 1:1 =================== */
.fr{position:relative;overflow:hidden;background:linear-gradient(180deg,#c8dee6 30%,#fff 125%);padding:50px 0 120px}
.fr-head{position:relative;height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.fr-word{position:absolute;left:50%;top:64px;transform:translateX(-50%);font:500 clamp(160px,14.2vw,364px)/.9 var(--sans);letter-spacing:-.06em;color:rgba(255,255,255,.4);white-space:nowrap;pointer-events:none;user-select:none}
.fr-k{position:relative;margin:0;font-size:14px;line-height:18px;color:#16232b}
.fr-head h2{position:relative;margin:0;font:400 clamp(56px,5vw,80px)/1 var(--sans);letter-spacing:-.05em;color:#16232b}
.fr-g{position:relative;width:min(1356px,calc(100vw - 2*clamp(16px,4vw,64px)));margin:39px auto 0;display:flex;justify-content:space-between;align-items:flex-start}
.fr-build{position:absolute;left:-470px;top:57px;width:912px;height:calc(100% + 120px);object-fit:cover;object-position:30% 50%;z-index:0}
.fr-col{position:relative;z-index:1;width:367px;margin-left:20px;display:flex;flex-direction:column;gap:16px}
.fr-st{position:sticky;top:90px}
.fr-card{border-radius:20px;background:#16232b;padding:6px 6px 30px;color:#fff;box-shadow:0 20px 40px -24px rgba(10,20,30,.45)}
.fr-img{position:relative;height:241px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;padding:26px}
.fr-logo{max-height:84px;width:auto;max-width:80%;object-fit:contain;display:block}
.fr-logo.lg-pioneer{max-height:120px}.fr-logo.lg-acct{max-height:52px}
span.fr-logo.lg-allfund{height:66px}.fr-logo.lg-allfund b{font-size:32px}
.fr-tag{position:absolute!important;left:16px;top:16px;padding:0 0 0 12px!important;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--acc)}
.fr-tag::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:1.5px;background:currentColor}
.fr-row{display:flex;justify-content:space-between;align-items:baseline;padding:24px 20px 0}
.fr-row h3{margin:0;font:500 18px/20px var(--sans);letter-spacing:-.01em}
.fr-row span{font:500 18px/20px var(--sans);color:#c7c7c7}
.fr-d{margin:14px 20px 0;font-size:16px;line-height:1.45;color:rgba(248,248,248,.82)}
.fr-tel{display:block;margin:14px 20px 0;font-size:13px;color:rgba(248,248,248,.55)}
.fr-tel:hover{color:#fff}
.fr-copy{position:sticky;top:90px;width:370px;z-index:1}
.fr-copy .fr-k{margin-left:0}
.fr-copy h3{margin:16px 0 0 -2px;font:400 60px/60px var(--sans);letter-spacing:-.05em;color:#16232b}
.fr-p{margin:20px 0 0;font-size:18px;line-height:1.4;color:#3c4a52}
.fr-more{display:flex;align-items:center;gap:16px;margin-top:20px}
.fr-av{position:relative;display:flex}
.fr-av img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #cfe2ea;margin-right:-20px;background:#cfd8e6}
.fr-av a{width:60px;height:60px;border-radius:50%;background:#16232b;color:#fff;display:grid;place-items:center;margin-left:4px;position:relative;z-index:1;transition:transform .3s}
.fr-av a:hover{transform:translateX(3px)}.fr-av svg{width:22px;height:22px}
.fr-lbl{font-size:14px;line-height:18px;color:#16232b}
@media (max-width:1180px){.fr-build{left:-560px}.fr-copy{width:320px}.fr-copy h3{font-size:48px;line-height:50px}}
@media (max-width:900px){.fr-head{height:260px}.fr-g{flex-direction:column-reverse;align-items:stretch;gap:44px}.fr-build{display:none}.fr-col{width:100%;max-width:420px;margin:0 auto}.fr-copy{position:static;width:100%}.fr-copy h3{font-size:40px;line-height:44px}}

/* =================== Liquid glass pill (from liquid-glass-button.framer.website), UBTEO tint =================== */
.lg{--mx:50%;--my:50%;--mx2:50%;--sx:0px;--rx:0deg;--ry:0deg;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 30px;border:0;border-radius:999px;background:none;cursor:pointer;
  font:600 16px/1 var(--sans);letter-spacing:-.01em;color:#0f2466;isolation:isolate;transform:perspective(600px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.7,.2,1);-webkit-tap-highlight-color:transparent}
.lg:hover{transform:perspective(600px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-.65px);transition:transform .15s linear}
.lg:active{transform:perspective(600px) scale(.975)}
.lg-sh{position:absolute;inset:0;border-radius:inherit;z-index:-1;box-shadow:rgba(10,26,82,.16) 0 1px 1px 0,rgba(10,26,82,.22) 0 4px 5px -3px,rgba(10,26,82,.24) 0 12px 20px -10px}
.lg-body{position:absolute;inset:0;border-radius:inherit;overflow:hidden;background-image:linear-gradient(150deg,rgba(255,255,255,.2),rgba(255,255,255,.03) 42%,rgba(255,255,255,.14));
  box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.8),inset 0 -1px 1px 0 rgba(255,255,255,.67),inset 1px 0 .5px 0 rgba(255,255,255,.67),inset -1px 0 .5px 0 rgba(0,0,0,.12);
  -webkit-backdrop-filter:blur(11.5px) saturate(1.08);backdrop-filter:blur(11.5px) saturate(1.08)}
.lg-fill{position:absolute;inset:0;background:linear-gradient(180deg,#e6eeff 0%,#c9d8fb 100%);opacity:.72}
.lg-in{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 9px 12px -8px rgba(15,36,102,.34),inset 0 -9px 9px -7px rgba(255,255,255,.93),inset 5px 0 8px -7px rgba(15,36,102,.36),inset -5px 0 8px -7px rgba(15,36,102,.26)}
.lg-streak{position:absolute;left:-14%;top:-170%;width:200%;height:440%;background:linear-gradient(112deg,rgba(255,255,255,0) 27%,rgba(255,255,255,.01) 32%,rgba(255,255,255,.26) 42%,rgba(255,255,255,.4) 46%,rgba(255,255,255,.09) 53%,rgba(255,255,255,0) 61%);
  opacity:.16;transform:translate3d(calc(-60% + var(--sx)),0,0);transition:opacity .45s,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.lg:hover .lg-streak{opacity:.72;transform:translate3d(calc(-40% + var(--sx)),0,0);transition:opacity .3s,transform .12s linear}
.lg-hl{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(76px 44px at var(--mx) var(--my),rgba(255,255,255,.4) 0%,rgba(255,255,255,.12) 36%,rgba(255,255,255,0) 78%);opacity:0;transition:opacity .4s}
.lg:hover .lg-hl{opacity:.9}
.lg-rim,.lg-g1,.lg-g2{position:absolute;inset:0;border-radius:inherit;padding:1.2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0);pointer-events:none}
.lg-rim{background:conic-gradient(from 180deg,rgba(255,255,255,.875) 0deg,rgba(255,255,255,.376) 36deg,rgba(255,255,255,.02) 68deg,rgba(15,36,102,.22) 112deg,rgba(255,255,255,.094) 155deg,#fff 190deg,rgba(255,255,255,.7) 217deg,rgba(255,255,255,.024) 256deg,rgba(15,36,102,.12) 300deg,rgba(255,255,255,.082) 335deg,rgba(255,255,255,.875) 360deg)}
.lg-g1{background:radial-gradient(90px 48px at var(--mx) var(--my),#fff 0%,rgba(255,255,255,.72) 32%,rgba(255,255,255,0) 82%);opacity:0;transition:opacity .4s}
.lg-g2{background:radial-gradient(70px 36px at var(--mx2) calc(100% - var(--my)),rgba(255,255,255,.65) 0%,rgba(255,255,255,.21) 35%,rgba(255,255,255,0) 82%);opacity:0;transition:opacity .4s}
.lg:hover .lg-g1,.lg:hover .lg-g2{opacity:.75}
.lg-line{position:absolute;left:14%;right:14%;bottom:1.25px;height:1px;border-radius:100%;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.03) 20%,rgba(255,255,255,.81) 53%,rgba(255,255,255,.07) 86%,rgba(255,255,255,0));opacity:.8}
.lg-t{position:relative;display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.lg-t svg{width:16px;height:16px;color:#e8a92a}
.lg-ch{position:relative;width:16px;height:16px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.lg:hover .lg-ch{transform:translateX(3px)}
.lg:focus-visible{outline:2px solid rgba(44,88,184,.5);outline-offset:3px}
.rd-acts .lg{height:46px;padding:0 22px;font-size:14.5px}

/* reviews: smooth rAF marquee + line under stars */
.rvx-tr{animation:none!important;will-change:transform;transform:translate3d(0,0,0)}
.rvx-row.rev .rvx-tr{padding-left:0}
.rx{box-shadow:0 10px 24px -18px rgba(11,29,88,.35);transition:border-color .35s}
.rx:hover{box-shadow:0 10px 24px -18px rgba(11,29,88,.35)}
.rx-ln{display:block;height:1px;margin:12px 0 0;background:linear-gradient(90deg,#2c58b8,rgba(44,88,184,.15) 70%,rgba(44,88,184,0));transform-origin:left;transform:scaleX(0)}
.rvx.in .rx-ln{animation:rxln0 1s cubic-bezier(.2,.7,.2,1) .2s forwards}
.rvx.in .rx:hover .rx-ln{animation:rxln1 .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rxln0{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rxln1{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rx blockquote{margin-top:16px}

/* ---- Hide MLS (Realcomp) corner watermark on remote listing photos: crop the bottom-right edge ---- */
img[src*="zillowstatic"],img[src*="cirrussystem"],img[src*="cdn-redfin"]{scale:1.12;transform-origin:0 0}
.fr-build[src*="zillowstatic"]{scale:1;clip-path:inset(0 0 9% 0)}

/* ---- Liquid glass on every button (runtime-applied .lgx) ---- */
.lgx{--mx:50%;--my:50%;--mx2:50%;--sx:0px;--rx:0deg;--ry:0deg;position:relative;isolation:isolate;background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;
  transform:perspective(600px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.7,.2,1),color .3s;-webkit-tap-highlight-color:transparent}
.lgx:hover{transform:perspective(600px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-.65px);transition:transform .15s linear,color .3s}
.lgx:active{transform:perspective(600px) scale(.975)}
.lgx::before,.lgx::after{z-index:1}
.lgx>.lg-sh{z-index:-1;pointer-events:none}
.lgx-solid .lg-fill{background:linear-gradient(180deg,color-mix(in oklab,var(--lgc) 70%,#fff) 0%,var(--lgc) 48%,color-mix(in oklab,var(--lgc) 82%,#000) 100%);opacity:.94}
.lgx-solid .lg-in{box-shadow:inset 0 9px 12px -8px rgba(0,0,0,.35),inset 0 -9px 9px -7px rgba(255,255,255,.45),inset 5px 0 8px -7px rgba(0,0,0,.35),inset -5px 0 8px -7px rgba(0,0,0,.25)}
.lgx-ondark .lg-fill{background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.07));opacity:1}
.lgx-ondark .lg-in{box-shadow:inset 0 9px 12px -8px rgba(0,0,0,.3),inset 0 -9px 9px -7px rgba(255,255,255,.35),inset 5px 0 8px -7px rgba(0,0,0,.3),inset -5px 0 8px -7px rgba(0,0,0,.2)}
.lgx-ondark .lg-sh{box-shadow:rgba(0,0,0,.25) 0 1px 1px 0,rgba(0,0,0,.3) 0 6px 14px -8px}
.lgx:hover .lg-streak{opacity:.72;transform:translate3d(calc(-40% + var(--sx)),0,0);transition:opacity .3s,transform .12s linear}
.lgx:hover .lg-hl{opacity:.9}.lgx:hover .lg-g1,.lgx:hover .lgx .lg-g2,.lgx:hover .lg-g2{opacity:.75}
@media (prefers-reduced-motion:reduce){.lgx,.lgx:hover{transform:none}}
.rvx-read.lgx{display:inline-flex;align-items:center;height:46px;padding:0 24px;border-radius:999px;border-bottom:0!important;text-decoration:none}
/* glass layers must ignore host-button span rules (hover nudges, circles, etc.) */
.lgx>span.lg-sh{position:absolute!important;inset:0!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;transform:none!important;translate:none!important;transition:none!important;opacity:1!important;z-index:-1!important;border-radius:inherit!important}
.lgx>span.lg-sh span{margin:0!important;padding:0!important;border:0!important;display:block!important;color:inherit}
.lgx>span.lg-sh>.lg-body,.lgx>span.lg-sh>.lg-rim,.lgx>span.lg-sh>.lg-g1,.lgx>span.lg-sh>.lg-g2,.lg-body>.lg-fill,.lg-body>.lg-in,.lg-body>.lg-hl{width:auto!important;height:auto!important;inset:0!important;transform:none!important;border-radius:inherit!important}
.lgx>span.lg-sh .lg-line{width:auto!important;height:1px!important;inset:auto 14% 1.25px 14%!important;border-radius:100%!important;transform:none!important}
.lgx>span.lg-sh .lg-streak{width:200%!important;height:440%!important;border-radius:0!important}
/* no cursor-following effects on glass buttons: no glow spot, no tilt, no tracking streak */
.lg .lg-hl,.lg .lg-g1,.lg .lg-g2,.lgx .lg-hl,.lgx .lg-g1,.lgx .lg-g2{display:none!important}
.lg,.lg:hover,.lgx,.lgx:hover{--rx:0deg!important;--ry:0deg!important;--sx:0px!important}
.lg:hover,.lgx:hover{transform:translateY(-1px);transition:transform .35s cubic-bezier(.2,.7,.2,1),color .3s}
.lg,.lgx{transform:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .3s}
.lg:hover .lg-streak,.lgx:hover .lg-streak{opacity:.5;transform:translate3d(-40%,0,0)!important;transition:opacity .5s,transform .9s cubic-bezier(.2,.7,.2,1)}
.lg:active,.lgx:active{transform:scale(.975)}
.lgx>span.lg-sh span.lg-hl,.lgx>span.lg-sh span.lg-g1,.lgx>span.lg-sh span.lg-g2,.lg span.lg-hl,.lg span.lg-g1,.lg span.lg-g2{display:none!important}
/* sticky header: smooth, GPU-composited, no jitter */
.topbar,.headroom{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.topbar{transition:transform .38s cubic-bezier(.22,.8,.24,1),border-color .3s,box-shadow .38s}
.headroom{transition:transform .38s cubic-bezier(.22,.8,.24,1)!important}
@media (max-width:760px){.topbar.peek{box-shadow:0 10px 24px -18px rgba(12,24,70,.35)}}

/* ---- mobile footer: no white strip below, clean legal/social rows, powered-by on its own line ---- */
html{background:#d2c3ae}
.final footer{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.legal .lgl-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.legal .lgl-g{display:flex;flex-wrap:wrap;gap:12px 22px}
@media (max-width:760px){
  .wtop{flex-direction:row-reverse;justify-content:flex-end;margin:48px 0 18px;gap:14px}
  .wtop .wline{flex:1;min-width:24px}
  .fws{font-size:8.5px;gap:8px}.fws img{height:16px}
  .legal{display:grid;gap:22px;padding-top:22px;border-top:1px solid rgba(17,24,48,.12);margin-top:8px}
  .legal .eho{font-size:13px;line-height:1.5}
  .legal .lgl-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:start}
  .legal .lgl-g{display:grid;gap:12px;font-size:14px}
  .legal .lgl-g::before{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:2px}
  .legal .lgl-g:first-child::before{content:"Legal"}
  .legal .lgl-soc::before{content:"Follow"}
}
/* network-that-closes: quicker cycle on mobile */
@media (max-width:760px){.cpx-it.on::after{animation-duration:3.2s}.cpx-ph{transition-duration:.6s!important}}
/* portfolio + listings filter bars: ride with the header (no floating gap), compact on mobile */
.pf-bar,.inv-bar{transition:top .38s cubic-bezier(.22,.8,.24,1)}
.pf-bar{top:84px;z-index:30}
body:has(.topbar.tuck) .pf-bar{top:0}
@media (max-width:980px){.pf-bar{top:68px}body:has(.topbar.tuck) .pf-bar{top:0}}
@media (max-width:760px){
  .pf-bar{flex-wrap:nowrap;gap:0;padding:10px 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:calc(-1*var(--gut,16px));padding-inline:var(--gut,16px)}
  .pf-bar::-webkit-scrollbar{display:none}
  .pf-bar .pf-tabs{flex:none;overflow:visible}.pf-bar .pf-tabs+.pf-tabs{margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}
  .pf-bar .pf-count{display:none}
}
@media (max-width:980px){.ab-hero canvas.band-stars{top:62vh!important;height:calc(100% - 62vh)!important;inset:62vh 0 0 0!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 60px)!important;mask-image:linear-gradient(180deg,transparent 0,#000 60px)!important}}
@media (max-width:980px){.ab-hero canvas.band-stars{display:none!important}}
/* footer: powered-by line never runs into the UBTEO mark */
.wtop{margin:70px 0 22px!important}
@media (max-width:760px){.wtop{margin:44px 0 20px!important}}
html{background:#fff}
/* glass layers win over host "button span{background..}" rules */
.lgx>span.lg-sh span{background-color:transparent!important;width:auto!important;height:auto!important;place-items:initial!important}
.lgx>span.lg-sh .lg-body{background-image:linear-gradient(150deg,rgba(255,255,255,.2),rgba(255,255,255,.03) 42%,rgba(255,255,255,.14))!important}
.lgx>span.lg-sh .lg-in{background:none!important}
.lgx-clear>span.lg-sh .lg-fill{background-image:linear-gradient(180deg,#e6eeff 0%,#c9d8fb 100%)!important}
.lgx-solid>span.lg-sh .lg-fill{background-image:linear-gradient(180deg,color-mix(in oklab,var(--lgc) 70%,#fff) 0%,var(--lgc) 48%,color-mix(in oklab,var(--lgc) 82%,#000) 100%)!important}
.lgx-ondark>span.lg-sh .lg-fill{background-image:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.07))!important}
.lgx>span.lg-sh .lg-streak{background-image:linear-gradient(112deg,rgba(255,255,255,0) 27%,rgba(255,255,255,.01) 32%,rgba(255,255,255,.26) 42%,rgba(255,255,255,.4) 46%,rgba(255,255,255,.09) 53%,rgba(255,255,255,0) 61%)!important}
.lgx>span.lg-sh .lg-rim{background-image:conic-gradient(from 180deg,rgba(255,255,255,.875) 0deg,rgba(255,255,255,.376) 36deg,rgba(255,255,255,.02) 68deg,rgba(15,36,102,.22) 112deg,rgba(255,255,255,.094) 155deg,#fff 190deg,rgba(255,255,255,.7) 217deg,rgba(255,255,255,.024) 256deg,rgba(15,36,102,.12) 300deg,rgba(255,255,255,.082) 335deg,rgba(255,255,255,.875) 360deg)!important}
.lgx>span.lg-sh .lg-line{background-image:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.03) 20%,rgba(255,255,255,.81) 53%,rgba(255,255,255,.07) 86%,rgba(255,255,255,0))!important}
/* eyebrow/kicker lines: no orphans */
.ab-hero p,.ab-k,[class*="-k"],.kicker,.crumb{text-wrap:balance}

/* ---- About: network cards, listing-card style ---- */
.ab-net .nl-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px 80px;align-items:end;margin-bottom:34px}
.nl-k{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.nl-k::before{content:"";width:22px;height:1px;background:currentColor}
.nl-head h2{margin:0}
.nl-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.nl-pills button{height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:rgba(255,255,255,.82);font:500 13.5px/1 var(--sans);transition:background .3s,color .3s,border-color .3s}
.nl-pills button:hover{border-color:rgba(255,255,255,.4);color:#fff}
.nl-pills button[aria-pressed=true]{background:#fff;color:#0b1d58;border-color:#fff}
.nl-r>p{margin:0 0 26px;max-width:470px;margin-left:auto;font-size:16px;line-height:1.65;color:rgba(255,255,255,.66)}
.nl-tools{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.nl-saved{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:#fff;color:#0b1d58;font:500 13.5px/1 var(--sans);border:0}
.nl-saved svg{width:15px;height:15px}.nl-saved b{font-weight:600}
.nl-saved[aria-pressed=true]{background:#a9c8ff}
.nl-arrows{display:flex;gap:6px}
.nl-arrows button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center}
.nl-arrows button svg{width:16px;height:16px}.nl-prev svg{transform:rotate(180deg)}
.nl-row-wrap{margin-inline:calc(-1*max(16px,(100vw - min(1640px,100vw))/2))}
.nl-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px max(16px,calc((100vw - min(1640px,calc(100vw - 2*clamp(16px,4.5vw,88px))))/2)) 30px;scroll-padding-inline:max(16px,calc((100vw - min(1640px,calc(100vw - 2*clamp(16px,4.5vw,88px))))/2))}
.nl-track::-webkit-scrollbar{display:none}
.nl-card{flex:0 0 clamp(282px,21vw,320px);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;color:#11131a;border-radius:12px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 24px 50px -30px rgba(0,0,0,.6);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.nl-card[hidden]{display:none}
.nl-card:hover{transform:translateY(-4px);box-shadow:0 34px 60px -30px rgba(0,0,0,.7)}
.nl-ph{position:relative;aspect-ratio:1/.98;overflow:hidden;background:#dfe5ef}
.nl-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.nl-card:hover .nl-ph>img{transform:scale(1.04)}
.nl-tag{position:absolute;left:10px;top:10px;padding:5px 9px;border-radius:999px;background:#fff;font-size:11px;font-weight:500;color:#11131a;line-height:1}
.nl-save{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;background:#fff;border:0;display:grid;place-items:center;color:#11131a;transition:transform .3s}
.nl-save svg{width:15px;height:15px;transition:fill .3s}.nl-save:hover{transform:scale(1.08)}
.nl-card.saved .nl-save{color:#d6455d}.nl-card.saved .nl-save svg{fill:currentColor}
.nl-logo{position:absolute;right:10px;bottom:10px;height:34px;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.94);display:flex;align-items:center;box-shadow:0 6px 16px -10px rgba(0,0,0,.5)}
.nl-lg{height:22px;width:auto;max-width:96px;object-fit:contain;display:block}
span.nl-lg.lg-allfund{height:20px;gap:6px}.nl-lg.lg-allfund b{font-size:13px}.nl-lg.lg-pioneer{height:26px}
.nl-badge{position:absolute;left:10px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#0e2a2a;background:color-mix(in oklab,var(--acc) 70%,#000);color:#fff;font-size:11px;font-weight:500;line-height:1}
.nl-badge i{width:5px;height:5px;border-radius:50%;background:#fff}
.nl-b{padding:16px 14px 0}
.nl-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.nl-row h3{margin:0;font:500 15.5px/1.25 var(--sans);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nl-tel{flex:none;font:600 14.5px/1 var(--sans);color:var(--acc);letter-spacing:-.01em}
.nl-loc{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12.5px;color:#6b7280;min-width:0}
.nl-loc svg{width:13px;height:13px;flex:none}.nl-loc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nl-st{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border-top:1px solid #eceef2}
.nl-st div{padding:12px 0 12px 0;display:grid;gap:3px}
.nl-st div+div{border-left:1px solid #eceef2;padding-left:12px}
.nl-st b{font:500 14px/1.1 var(--sans);letter-spacing:-.01em;white-space:nowrap}
.nl-st span{font-size:11px;color:#8a909c;white-space:nowrap}
.nl-f{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 14px;border-top:1px solid #eceef2}
.nl-site{font-size:11.5px;color:#8a909c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.nl-go{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#11131a}
.nl-go svg{width:14px;height:14px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.nl-go:hover svg{transform:translateX(3px)}
@media (max-width:980px){.ab-net .nl-head{grid-template-columns:1fr;gap:22px}.nl-r>p{margin-left:0}.nl-tools{justify-content:space-between}}
@media (max-width:560px){.nl-card{flex-basis:82vw}.nl-pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.nl-pills::-webkit-scrollbar{display:none}.nl-pills button{flex:none}}
.nl-row-wrap{margin-inline:0 calc((100% - 100vw)/2)}
.nl-track{padding:6px 24px 30px 0;scroll-padding-inline:0}
@media (max-width:980px){.ab-net .nl-head{grid-template-columns:minmax(0,1fr)}.ab-net .nl-head>div{min-width:0}}

/* ---- Property cards (listings + portfolio): listing-card layout ---- */
.pl{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e9ebef;box-shadow:0 1px 2px rgba(16,24,40,.04);color:#11131a;padding:0!important;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.pl:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(12,24,70,.4)}
.pl .pl-ph{position:relative;display:block;aspect-ratio:1/.98;overflow:hidden;background:#e7ebf2;border-radius:0!important;margin:0}
.pl .pl-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pl:hover .pl-ph img{transform:scale(1.04)}
.pl-tag{position:absolute;left:10px;top:10px;padding:5px 9px;border-radius:999px;background:#fff;font-size:11px;font-weight:500;line-height:1;color:#11131a}
.pl-badge{position:absolute;left:10px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#0b1d58;color:#fff;font-size:11px;font-weight:500;line-height:1}
.pl-badge i{width:5px;height:5px;border-radius:50%;background:#7fd8a8}
.pl-save{position:absolute;right:10px;top:10px;z-index:2;width:30px;height:30px;border-radius:50%;background:#fff;border:0;display:grid;place-items:center;color:#11131a;transition:transform .3s,color .3s}
.pl-save svg{width:15px;height:15px}.pl-save:hover{transform:scale(1.08)}
.pl-save[aria-pressed=true]{color:#d6455d}.pl-save[aria-pressed=true] svg{fill:currentColor}
.pl-b{display:block;padding:15px 14px 0}
.pl-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pl-row h3{margin:0;font:500 15.5px/1.25 var(--sans);letter-spacing:-.01em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-row h3 a{color:inherit}
.pl-price{flex:none;font:600 15.5px/1 var(--sans);letter-spacing:-.01em;color:#0b1d58}
.pl-stat{font-size:12.5px;font-weight:500;color:#2c58b8}
.pl-loc{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12.5px;color:#6b7280;min-width:0}
.pl-loc svg{width:13px;height:13px;flex:none}.pl-loc>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-st{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;border-top:1px solid #eceef2}
.pl-st div{padding:12px 0;display:grid;gap:3px;min-width:0}
.pl-st div+div{border-left:1px solid #eceef2;padding-left:12px}
.pl-st b{font:500 14px/1.15 var(--sans);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-st span{font-size:11px;color:#8a909c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-f{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 14px;border-top:1px solid #eceef2;margin-top:14px}
.lcard.pl .pl-f{margin-top:auto}
.pl-f>span:first-child{font-size:11.5px;color:#8a909c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-f a,.pl-more{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#11131a}
.pl-f svg{width:14px;height:14px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.pl:hover .pl-f svg{transform:translateX(3px)}
.inv{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.pgrid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:16px!important}
@media (max-width:560px){.inv,.pgrid{grid-template-columns:1fr!important}}
.pl-st b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.2}
.pl .pl-ph.ph-map{background:#2b3a2e}.pl .pl-ph .mtag{z-index:2}
.pl-st div{display:flex;flex-direction:column;justify-content:space-between;gap:4px}
/* ---- Team "Beyond the team": clean 3-column — sticky office photo | partner cards | sticky copy ---- */
.fr-g{display:grid!important;grid-template-columns:minmax(0,1fr) 367px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start;justify-content:initial}
.fr-col{margin:0!important;width:auto!important}
.fr-pic{position:sticky;top:96px;margin:0;height:min(calc(100vh - 140px),720px);border-radius:20px;overflow:hidden;box-shadow:0 40px 80px -50px rgba(16,35,43,.55)}
.fr-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.fr-pic figcaption{position:absolute;left:16px;bottom:16px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12.5px;color:#16232b}
.fr-copy{width:auto!important;max-width:400px;justify-self:start}
@media (max-width:1180px){.fr-g{grid-template-columns:minmax(0,1fr) 340px}.fr-pic{grid-column:1;grid-row:1}.fr-col{grid-column:2;grid-row:1/3}.fr-copy{grid-column:1;grid-row:2;position:static}}
@media (max-width:900px){.fr-g{display:flex!important;flex-direction:column;gap:36px}.fr-pic{position:relative;top:0;height:420px;width:100%}.fr-col{width:100%!important;max-width:440px;margin:0 auto!important}.fr-copy{order:-1;max-width:none}}
.fr,.fr-g{overflow:clip!important}

/* ---- Home hero: three office-walkthrough panels in place of the tower ---- */
.hero .city.tri{--tw:clamp(168px,14.5vw,232px);left:calc(50% - (var(--tw)*3 + 28px)/2)!important;top:var(--tri-top,452px)!important;width:calc(var(--tw)*3 + 28px)!important;height:auto!important;z-index:2}
.tri .tri-row{position:relative!important;inset:auto!important;display:flex;gap:14px;align-items:flex-start}
.tri-p{position:relative;margin:0;flex:0 0 var(--tw);aspect-ratio:540/912;border-radius:18px;overflow:hidden;background:#cdbfae;box-shadow:0 40px 70px -40px rgba(8,20,60,.55),0 0 0 1px rgba(255,255,255,.35) inset}
.tri-p.mid{margin-top:-44px}
.tri-p video{width:100%;height:100%;object-fit:cover;display:block}
.tri-p figcaption{position:absolute;left:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.9);font-size:11px;font-weight:500;color:#11131a;line-height:1}
.tri-p::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.45);pointer-events:none}
@media (max-width:980px){.hero .city.tri{--tw:min(28vw,150px);--tri-top:calc(var(--hero-h) - var(--tw)*1.69 - 120px)}.tri .tri-row{gap:10px}.tri-p{border-radius:14px}.tri-p.mid{margin-top:-28px}.tri-p figcaption{font-size:9.5px;padding:5px 8px;left:7px;bottom:7px}}
.hero .city.tri{--tw:clamp(150px,11.8vw,200px);--tri-top:480px}
@media (max-width:980px){.hero .city.tri{--tw:min(28vw,150px);--tri-top:max(calc(100svh - var(--tw)*1.69 - 40px),560px)}}
@media (max-width:980px){.hero .city.tri{--tw:min(25vw,150px)}.tri .tri-row{gap:8px}}
@media (max-width:980px){.hero .city.tri{--tri-top:calc(var(--intro-top,330px) + 290px)}}
.hero .city.tri{--tw:var(--tw-js,clamp(150px,11.8vw,200px))!important}
.tri-p figcaption{display:none}
@media (max-width:980px){.hero .city.tri{--tri-top:calc(var(--intro-top,330px) + 280px)}.tri .tri-row{gap:6px}}
@media (min-width:981px){
  .hero .intro{width:min(300px,calc(50% - var(--tw-js,180px)*1.5 - 14px - 86px - 28px))}
  .hero .intro p{font-size:13px}
  .hero .discover{width:min(260px,calc(50% - var(--tw-js,180px)*1.5 - 14px - 86px - 28px))}
}
.hero .pin{width:auto;height:auto;background:none;border-radius:0;animation:none;box-shadow:none}
@media (min-width:981px){.hero .showreel{left:86px}}
.rx-g{width:20px;height:20px;color:initial;flex:none}
.hero .city-bg{z-index:1}

/* ---- Nov 1: Your Choice Loans logo, two-up decks, lender picker, vendors page ---- */
.lg-yourchoice{display:inline-flex!important;align-items:center;gap:10px;color:#14306e;width:auto!important}
.lg-yourchoice svg{height:100%;width:auto;flex:none}
.lg-yourchoice b{display:flex;flex-direction:column;font:700 17px/1 var(--sans);letter-spacing:-.01em;white-space:nowrap}
.lg-yourchoice b i{font-style:normal;font-weight:600;font-size:.62em;letter-spacing:.32em;text-transform:uppercase;color:#e8892b;margin-top:4px}
.bc-logo.lg-yourchoice{height:42px}.nx-logo.lg-yourchoice{height:52px}.nx-logo.lg-yourchoice b{font-size:24px}
.fr-logo.lg-yourchoice{height:64px}.fr-logo.lg-yourchoice b{font-size:26px}.cpx-logo.lg-yourchoice{height:32px}.cpx-logo.lg-yourchoice b{font-size:15px}
.ts-logo.lg-yourchoice{height:56px}.ps-logo.lg-yourchoice{height:34px}.pb-logo.lg-yourchoice{height:44px}.cp-logo.lg-yourchoice{height:36px}
.bc-deck.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}
@media (max-width:760px){.bc-deck.two{grid-template-columns:1fr}}
.pv-k{margin:56px 0 0;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);display:flex;align-items:center;gap:12px}
.pv-k::before{content:"";width:1px;height:14px;background:currentColor}
.pv-k+.bc-deck{margin-top:22px}
.pv-intro .checks{margin-top:22px}
.pq-lend{padding:clamp(64px,7vw,110px) 0 10px}
.pl-h{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.pl-h h2{margin:12px 0 0;font:500 clamp(34px,3.6vw,54px)/1.05 var(--sans);letter-spacing:-.035em;color:#11131a}
.pl-h h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#2c58b8}
.pl-h p{margin:0;font-size:16.5px;line-height:1.65;color:var(--ink-60)}
.pl-tabs{display:inline-flex;gap:4px;padding:4px;margin:34px 0 26px;border-radius:999px;background:#eef1f7}
.pl-tabs button{height:40px;padding:0 18px;border-radius:999px;border:0;background:transparent;font:500 14px/1 var(--sans);color:#4b5263;cursor:pointer;transition:background .3s,color .3s}
.pl-tabs button[aria-selected=true]{background:#0b1d58;color:#fff}
.pl-set{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1000px}
.pl-set.on{display:grid;animation:pfin .5s cubic-bezier(.2,.7,.2,1) both}
.pl-set[data-set=com]{grid-template-columns:minmax(0,1fr);max-width:490px}
.ap-lender{margin:4px 0 18px}.ap-lender .lbl{display:block;margin-bottom:10px}
@media (max-width:860px){.pl-h{grid-template-columns:1fr}.pl-set{grid-template-columns:1fr}}
.hero h1.h1-xp{font-size:clamp(44px,5.6vw,96px)!important;letter-spacing:-.045em}
@media (max-width:980px){.hero h1.h1-xp{font-size:clamp(34px,10vw,48px)!important}}
.bc-deck>.bc,.pl-set>.bc{min-width:0;max-width:100%}
.bc .bc-c li,.bc .bc-c a{min-width:0;max-width:100%}.bc .bc-c a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:560px){.bc .bc-top{flex-wrap:wrap;gap:8px}.bc .bc-c{flex-wrap:wrap}}

/* Sunnydale photos: hide burned-in "Coming Soon - date" stamp (top) and corner watermark */
img[src*="931fd6942f42acff7be36fa7ba2b17af"],img[src*="3e4a5da83ebe9a9a14eca38b71310ea5"],img[src*="43819b7e306c6f6ff605d3f868d81165"]{scale:1.2;transform-origin:50% 62%!important;object-position:50% 70%!important}
.ph,.nx-stage,.nl-ph,.pl-ph{overflow:hidden}

/* ===== Nov 2: Ali's copy rebuild ===== */
.steps.nonum li{grid-template-columns:1fr}
.ggrid.one{grid-template-columns:1fr}
.ggrid.one .gcard{opacity:1;transform:none}
.ggrid.one .gcard.big{grid-row:auto;grid-template-columns:1.15fr 1fr;grid-template-rows:auto}
.ggrid.one .gcard.big .gph{min-height:380px}
@media (max-width:900px){.ggrid.one .gcard.big{grid-template-columns:1fr}.ggrid.one .gcard.big .gph{min-height:260px}}
.ga-toc.nonum a{display:block}
/* sell hero: title + Ali portrait */
.hero h1.h1-sell{font-size:clamp(56px,6.6vw,96px)}
.sell-ali{position:absolute;z-index:3;left:50%;bottom:clamp(28px,4vh,56px);transform:translateX(-50%);margin:0;width:clamp(190px,15vw,250px);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -30px rgba(10,24,70,.55),0 0 0 1px rgba(255,255,255,.6)}
.sell-ali img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%}
.sell-ali figcaption{display:flex;flex-direction:column;gap:2px;padding:12px 16px 14px;font-size:12.5px;color:var(--ink-60)}
.sell-ali figcaption b{font:500 16px/1.2 var(--sans);color:var(--ink);letter-spacing:-.01em}
@media (max-width:900px){.sell-ali{position:relative;left:auto;bottom:auto;transform:none;margin:22px auto 0;width:min(240px,62vw)}}
/* sell: how selling works */
.head .hs-k{font:italic 400 24px/1.2 var(--serif);color:var(--brand);margin:0 0 10px}
.flow-ali li{padding-top:24px}
.flow-ali .fl-sub{margin:0 0 12px!important;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--brand)!important}
.flow-ali p+p{margin-top:12px}
.flow-ali .fl-call{font-weight:500;color:var(--ink)!important}.flow-ali .fl-call a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.flow-ali{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.flow-ali{grid-template-columns:1fr}}
.sell-sign{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.sell-sign .ss-l{margin:0;font:400 clamp(28px,3.2vw,44px)/1.1 var(--sans);letter-spacing:-.03em}
.sell-sign .ss-l em{font-family:var(--serif);color:var(--brand)}
.sell-sign .ss-r{margin:0;display:flex;flex-direction:column;gap:4px;text-align:right;font-size:14px;color:var(--ink-60)}
.sell-sign .ss-r b{font-weight:500;color:var(--ink);font-size:16px}
@media (max-width:700px){.sell-sign .ss-r{text-align:left}}
/* seller's guide article */
.sg-prose h3{font:500 20px/1.3 var(--sans);letter-spacing:-.01em;margin:30px 0 8px}
.sg-prose .sg-line{margin:28px 0;padding:18px 22px;border-left:2px solid var(--brand);background:var(--mist,#f3f6fb);border-radius:0 12px 12px 0;font-weight:500;color:var(--ink)}
.sg-card{display:flex;flex-direction:column;gap:6px;margin-top:18px;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:15.5px;color:var(--ink-60)}
.sg-card b{font:500 24px/1.2 var(--sans);color:var(--ink);letter-spacing:-.02em}
.sg-card span a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.sg-card i{margin-top:6px}
.sg-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.sg-acts a{text-decoration:none!important}
/* Blachford Insurance logo */
.lg-blachford{display:inline-flex!important;align-items:center;gap:10px;color:#1b2a4a;width:auto!important}
.lg-blachford em{flex:none;display:grid;place-items:center;height:100%;aspect-ratio:1.6;border-radius:999px;border:2px solid #c8102e;color:#c8102e;font:800 13px/1 var(--sans);font-style:normal;letter-spacing:.02em}
.lg-blachford b{display:flex;flex-direction:column;font:700 17px/1 var(--sans);letter-spacing:-.01em;white-space:nowrap}
.lg-blachford b i{font-style:normal;font-weight:600;font-size:.58em;letter-spacing:.24em;text-transform:uppercase;color:#c8102e;margin-top:4px}
.bc-logo.lg-blachford{height:38px}.nx-logo.lg-blachford{height:46px}.nx-logo.lg-blachford b{font-size:24px}.nx-logo.lg-blachford em{font-size:16px}
.fr-logo.lg-blachford{height:52px}.fr-logo.lg-blachford b{font-size:24px}.fr-logo.lg-blachford em{font-size:16px}.cpx-logo.lg-blachford{height:30px}.cpx-logo.lg-blachford b{font-size:15px}
.ts-logo.lg-blachford{height:48px}.ps-logo.lg-blachford{height:30px}.ps-logo.lg-blachford b{font-size:14px}.pb-logo.lg-blachford{height:40px}.cp-logo.lg-blachford{height:32px}
/* team page video panel */
.fr-pic video{display:block;width:100%;height:100%;object-fit:cover}
/* pre-approval band: real estimate */
.pqf-m{gap:0}
.pqf-row{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}
.pqf-lab{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.pqf-row .pqf-inc{margin-top:0}
.pqf-m .pqf-cap{margin-top:10px}
.pqf-sub{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:14px;font-size:14px;color:rgba(255,255,255,.7)}
.pqf-sub b{color:#fff;font-weight:500;font-variant-numeric:tabular-nums}
.pqf-m small{max-width:330px;line-height:1.5}
.pqf-rk{margin:0 0 18px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#9db8ff;font-weight:600}
@media (max-width:1000px){.pqf-row{align-items:flex-start}.pqf-sub{justify-content:flex-start}}
.hero .sell-ali{z-index:4;top:540px;bottom:auto}
@media (max-width:900px){.hero .sell-ali{position:absolute;top:auto;bottom:24px;left:50%;transform:translateX(-50%);margin:0;width:min(170px,44vw)}}
@media (min-width:901px) and (max-width:1240px){.hero .sell-ali{left:auto;right:9%;transform:none;top:560px;width:200px}}

.lg-blachford b i{letter-spacing:.16em}
@media (max-width:560px){.fr-logo.lg-blachford{height:42px}.fr-logo.lg-blachford b{font-size:20px}.fr-logo.lg-blachford em{font-size:13px}.nx-logo.lg-blachford b{font-size:19px}.nx-logo.lg-blachford{height:38px}.ts-logo.lg-blachford b{font-size:15px}}
@media (min-width:901px) and (max-width:1240px){.hero .sell-ali ~ .pin{display:none}}

.lg-blachford img{height:100%;width:auto;flex:none;display:block}
.lg-blachford em{display:none}

.foot-soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.foot-soc a{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 8px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:14px;font-weight:500;transition:background .3s}
.foot-soc a:hover{background:rgba(255,255,255,.2)}
.foot-soc svg{width:30px;height:30px;padding:4px;border-radius:50%;background:#fff;box-sizing:border-box}

.lead-member .ph::after{display:none}.lead-member .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
/* rounded ends on the animated progress bars */
.nx-p.on::after{height:3px;bottom:-11px;border-radius:999px}
.cpx-it::after{height:3px;bottom:-2px;border-radius:999px;transform:none;width:0;right:auto}
.cpx-it.on::after{animation-name:cpxbarw}
@keyframes cpxbarw{from{width:0}to{width:100%}}
/* email popup */
.mailbox{border:0;padding:0;border-radius:24px;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:var(--ink);box-shadow:0 60px 120px -40px rgba(8,20,60,.6)}
.mailbox::backdrop{background:rgba(8,18,52,.55);backdrop-filter:blur(6px)}
.mb-in{position:relative;padding:34px 32px 28px;display:flex;flex-direction:column;gap:14px}
.mb-x{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;background:#f1f4f9;font-size:22px;line-height:1;color:var(--ink)}
.mb-k{margin:0;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-weight:600}
.mb-in h3{margin:0 0 6px;font:400 28px/1.15 var(--sans);letter-spacing:-.02em;word-break:break-word}
.mb-to{color:var(--brand)}
.mb-g{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mb-f{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-60)}
.mb-f input,.mb-f textarea{font:inherit;font-size:16px;color:var(--ink);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;resize:vertical}
.mb-f input:focus,.mb-f textarea:focus{outline:2px solid rgba(44,88,184,.35);border-color:var(--brand)}
.mb-err{margin:0;min-height:1em;font-size:13px;color:#c0392b}
.mb-acts{display:flex;flex-wrap:wrap;gap:10px}
.mb-acts button{height:46px;padding:0 18px;border-radius:999px;font-size:14.5px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink)}
.mb-acts .mb-go{background:#14306e;color:#fff;border-color:#14306e}
.mb-acts .mb-copy{margin-left:auto;border:0;text-decoration:underline;text-underline-offset:3px;padding:0 6px}
@media (max-width:560px){.mb-g{grid-template-columns:1fr}.mb-in{padding:28px 20px 22px}.mb-acts .mb-go{width:100%}.mb-acts .mb-copy{margin-left:0}}
.mb-f{min-width:0}.mb-f input,.mb-f textarea{width:100%;box-sizing:border-box;min-width:0}.mb-acts .mb-alt{padding:0 16px}

/* ===== home vendor section v2: horizontal tabs, HD photos, info that pops ===== */
.nx-row{align-items:stretch}
.nx-left{align-self:center}
.nx-k{margin:0;display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--acc)}
.nx-k::before{content:"";width:22px;height:3px;border-radius:999px;background:var(--acc)}
.nx-info h3{margin:16px 0 0;font:500 clamp(30px,2.8vw,40px)/1.08 var(--sans);letter-spacing:-.03em}
.nx-who{margin:8px 0 0;font-size:14.5px;color:var(--ink-60)}
.nx-does{margin:20px 0 0;padding:4px 0 4px 18px;border-left:3px solid var(--acc);font-size:18px;line-height:1.55;color:var(--ink)}
.nx-ct{gap:10px;margin-top:24px;font-size:14.5px}
.nx-ct a,.nx-ct>span{word-break:normal;overflow-wrap:anywhere}
.nx-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.nx-acts .nx-call{margin-top:0}
.nx-mail{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 20px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;background:#fff;transition:border-color .3s,transform .3s}
.nx-mail:hover{border-color:var(--acc);transform:translateY(-2px)}
.nx-mail svg{width:17px;height:17px;color:var(--acc)}
.nx-stage{background:#0b1d58}
.nx-stage::after{background:linear-gradient(180deg,rgba(6,14,40,.05) 30%,rgba(6,14,40,.82) 100%)!important}
.nx-img{transform:scale(1.06)}
.nx-pill{position:absolute;z-index:2;left:22px;top:22px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.nx-ov{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px 30px 30px;display:flex;flex-direction:column;align-items:flex-start;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .6s ease .45s,transform .9s cubic-bezier(.2,.7,.2,1) .45s}
.nx-p.on .nx-ov{opacity:1;transform:none}
.nx-plate{display:inline-flex;align-items:center;height:64px;padding:0 18px;border-radius:16px;background:#fff;box-shadow:0 20px 40px -18px rgba(0,0,0,.5)}
.nx-plogo{height:40px;width:auto;max-width:220px;object-fit:contain;display:block}
.nx-plogo.lg-pioneer{height:54px}.nx-plogo.lg-acct{height:30px}.nx-plogo.lg-tricounty{height:42px}
span.nx-plogo.lg-ubteo{height:30px}span.nx-plogo.lg-allfund{height:40px}span.nx-plogo.lg-allfund b{font-size:22px}
span.nx-plogo.lg-yourchoice{height:40px}span.nx-plogo.lg-yourchoice b{font-size:19px}
span.nx-plogo.lg-blachford{height:38px}span.nx-plogo.lg-blachford b{font-size:19px}
.nx-ov h4{margin:16px 0 0;font:500 clamp(26px,2.4vw,36px)/1.1 var(--sans);letter-spacing:-.025em;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.nx-ov p{margin:6px 0 0;font-size:15px;opacity:.88}
.nx-notch{display:none!important}
.nx-p.on::after{display:none!important}
@media (min-width:761px){
  .nx-panels{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr);column-gap:6px;row-gap:18px;height:clamp(520px,44vw,640px)!important;aspect-ratio:auto!important}
  .nx-p{display:contents}
  .nx-tab{position:relative!important;inset:auto!important;grid-row:1;opacity:1!important;pointer-events:auto!important;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:12px;padding:0;color:var(--ink-45);text-align:left;cursor:pointer}
  .nx-v{writing-mode:horizontal-tb!important;transform:none!important;display:block!important;font:500 13.5px/1.25 var(--sans)!important;letter-spacing:-.005em!important;text-transform:none!important;white-space:normal!important;max-height:none!important;overflow:visible!important}
  .nx-tab:hover{color:var(--ink)}
  .nx-p.on .nx-tab{color:var(--ink)}
  .nx-bar{position:relative;display:block;height:3px;border-radius:999px;background:var(--line);overflow:hidden}
  .nx-bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:var(--acc)}
  .nx-p.on .nx-bar::after{animation:nxbar2 5.2s linear forwards}
  .nx-stage{grid-row:2;grid-column:1/-1;position:relative!important;inset:auto!important;border-radius:28px}
}
@keyframes nxbar2{from{width:0}to{width:100%}}
@media (max-width:760px){.nx-ov{padding:20px 20px 22px}.nx-plate{height:54px;padding:0 14px}.nx-plogo{height:32px;max-width:170px}.nx-pill{left:16px;top:16px}.nx-panels{aspect-ratio:1/1.1!important}.nx-does{font-size:16.5px}}
.team.team6{grid-template-columns:repeat(3,1fr);gap:44px 28px}@media (max-width:900px){.team.team6{grid-template-columns:1fr 1fr}}
.nx-ct a,.nx-ct>span{overflow-wrap:normal;word-break:normal}.nx-ct span span{min-width:0}
.hero .pin{display:none!important}

/* ===== Nov 2 late: listings featured compact ===== */
.feat-compact{padding-block:clamp(48px,6vw,80px)!important}
.feat-compact .head h2{font-size:clamp(34px,3.6vw,52px)!important}
.feat-compact .listing{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;gap:20px!important;align-items:stretch}
.feat-compact .listing .ph{aspect-ratio:16/10!important;height:auto!important;max-height:440px}
.feat-compact .spec{padding:26px 28px!important}
.feat-compact .spec .price{font-size:clamp(32px,3vw,42px)!important}
.feat-compact .spec dl div{padding:9px 0!important}
.feat-compact .acts{display:flex;flex-wrap:wrap;gap:10px}
.btn.jump{background:var(--brand,#2c58b8)!important;color:#fff!important;border-color:transparent!important}
#all-listings{scroll-margin-top:84px}
@media (max-width:900px){.feat-compact .listing{grid-template-columns:1fr!important}.feat-compact .listing .ph{aspect-ratio:4/3!important}}
/* ===== sell hero: Ali photo in the right column ===== */
.hero .discover .sell-ali{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:min(200px,100%)!important;margin:0 0 20px!important}
.hero .discover .sell-ali figcaption{padding:10px 14px 12px}
@media (max-width:900px){.hero .discover .sell-ali{width:150px!important;margin:0 0 14px!important}}
/* ===== sell steps: equal blocks ===== */
.flow-ali h3{min-height:0;white-space:nowrap}
@media (max-width:1280px){.flow-ali h3{white-space:normal}}
.flow-ali .fl-sub{white-space:nowrap}
/* ===== sell sign card ===== */
.sell-sign{display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"who stats" "line line" "call call";gap:26px 40px;align-items:center;margin-top:64px!important;padding:34px 38px!important;border:0!important;border-radius:28px;background:radial-gradient(120% 140% at 0% 0%,#1d3f9c 0%,#0f2466 55%,#0a1846 100%);color:#fff;box-shadow:0 40px 80px -40px rgba(10,24,70,.6)}
.ss-who{grid-area:who;display:flex;align-items:center;gap:16px}
.ss-who img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid rgba(255,255,255,.7)}
.ss-who b{display:block;font:500 19px/1.2 var(--sans)}.ss-who span{font-size:13.5px;color:rgba(255,255,255,.7)}
.sell-sign .ss-l{grid-area:line;color:#fff!important;font-size:clamp(28px,3.4vw,46px)!important;margin:0!important}
.sell-sign .ss-l em{color:#a9c2ff!important}
.ss-stats{grid-area:stats;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;justify-self:end;width:100%;max-width:640px}
.ss-stats div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.ss-stats b{display:block;font:500 26px/1 var(--sans);letter-spacing:-.02em}.ss-stats b i{font-style:normal;color:#f5c542;font-size:.8em;margin-left:2px}
.ss-stats span{display:block;margin-top:6px;font-size:12px;color:rgba(255,255,255,.65)}
.ss-call{grid-area:call;justify-self:start;display:inline-flex;align-items:center;height:50px;padding:0 24px;border-radius:999px;background:#fff;color:#0f2466;font-weight:500;font-size:15px}
@media (max-width:900px){.sell-sign{grid-template-columns:1fr;grid-template-areas:"who" "line" "stats" "call";padding:26px 22px!important}.ss-stats{grid-template-columns:1fr 1fr;justify-self:stretch}}
/* ===== vendors intro tiles ===== */
.pv-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(32px,5vw,80px);align-items:center}
.pv-h{font-size:clamp(36px,4vw,56px)!important;margin:0!important}
.pv-p{margin:22px 0 0;max-width:440px;font-size:17px;line-height:1.6;color:var(--ink-60)}
.pv-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pv-t{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s}
.pv-t:hover{transform:translateY(-4px);box-shadow:0 24px 40px -26px rgba(12,30,80,.35);border-color:rgba(44,88,184,.35)}
.pv-lg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:40px}
.pv-logo{height:30px;width:auto;max-width:100%;object-fit:contain;object-position:left center;display:block}
.pv-logo.lg-pioneer{height:40px}.pv-logo.lg-acct{height:22px}.pv-lg .pv-logo+.pv-logo{height:24px}
span.pv-logo{height:30px}span.pv-logo b{font-size:14px!important}span.pv-logo.lg-allfund b{font-size:16px!important}
.pv-t b{font:500 14.5px/1.3 var(--sans);color:var(--ink)}
@media (max-width:1100px){.pv-g{grid-template-columns:1fr}.pv-tiles{grid-template-columns:repeat(4,1fr)}}
@media (max-width:700px){.pv-tiles{grid-template-columns:1fr 1fr}.pv-t{min-height:120px}}
/* ===== attorney logo ===== */
.lg-nazzal{display:inline-flex!important;align-items:center;gap:10px;color:#1c1a17;width:auto!important}
.lg-nazzal em{flex:none;display:grid;place-items:center;height:100%;aspect-ratio:1;border-radius:50%;background:#111;color:#d6b56b;font:600 14px/1 var(--serif);font-style:normal;letter-spacing:.04em}
.lg-nazzal b{display:flex;flex-direction:column;font:600 18px/1 var(--serif);letter-spacing:.01em;white-space:nowrap}
.lg-nazzal b i{font:600 .52em/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#a8843c;margin-top:5px}
.bc-logo.lg-nazzal{height:40px}.nx-plogo.lg-nazzal{height:40px}.fr-logo.lg-nazzal{height:52px}.fr-logo.lg-nazzal b{font-size:24px}.ps-logo.lg-nazzal{height:30px}.cp-logo.lg-nazzal,.cpx-logo.lg-nazzal{height:30px}
/* ===== subtle hover motion on cards sitewide ===== */
.bc .bc-in,.member .ph,.lcard,.pcard,.note-card,.loc,.gcard,.fr-card,.card3,.listing .spec,.qk,.ga,.nc{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
@media (hover:hover){
 .bc:not(.nx-stage .bc):hover .bc-in{transform:translateY(-5px);box-shadow:0 34px 60px -32px rgba(12,30,80,.4),0 0 0 1px rgba(44,88,184,.12)}
 .member:hover .ph{transform:translateY(-5px);box-shadow:0 30px 50px -30px rgba(10,20,50,.45)}
 .lcard:hover,.pcard:hover,.note-card:hover,.card3:hover,.fr-card:hover,.qk:hover{transform:translateY(-5px);box-shadow:0 30px 50px -32px rgba(12,30,80,.38)}
 .loc:hover{transform:translateY(-4px)}
 .lcard img,.pcard img,.note-card img,.card3 img,.loc img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
 .lcard:hover img,.pcard:hover img,.note-card:hover img,.card3:hover img,.loc:hover img{transform:scale(1.035)}
}
/* ===== mobile: header always visible, nothing pinned to the bottom ===== */
@media (max-width:900px){
 .topbar,.topbar.tuck,.topbar.scrolled.tuck{transform:none!important;top:0!important}
}
@media (max-width:900px){.headroom{box-shadow:0 10px 30px -18px rgba(10,24,70,.35)}}
/* sell hero: Ali chip under "keep scrolling" */
.hero .discover:has(.sell-ali){top:540px;gap:14px}
.hero .discover .sell-ali{display:flex!important;align-items:center;gap:14px;width:auto!important;margin:0 0 4px!important;padding:8px 18px 8px 8px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 20px 40px -24px rgba(10,24,70,.5);text-transform:none;letter-spacing:0}
.hero .discover .sell-ali img{width:64px!important;height:64px!important;aspect-ratio:1!important;border-radius:50%;object-fit:cover;object-position:50% 18%;flex:none}
.hero .discover .sell-ali figcaption{padding:0!important;font-size:12.5px;line-height:1.35;text-transform:none;letter-spacing:0}
.hero .discover .sell-ali figcaption b{font-size:15px}
@media (max-width:1099px){.hero .discover:has(.sell-ali){display:none!important}}
.pv-tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important}@media (max-width:700px){.pv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.pv-logo.lg-tricounty{height:36px}.pv-logo.lg-acct{height:30px}
.nx-panels{grid-template-columns:repeat(10,minmax(0,1fr))!important}
@media (min-width:761px){.nx-v{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis;font-size:13px!important}}
.why .steps p{max-width:none}.why .steps h3{white-space:nowrap}@media (max-width:700px){.why .steps h3{white-space:normal}}
.soc-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ig-mini{width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 62%,#285AEB 92%);color:#fff;box-shadow:0 16px 30px -18px rgba(214,36,159,.8);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.igm-in{position:relative;width:22px;height:22px;overflow:hidden}
.igm-in svg{position:absolute;inset:0;width:22px;height:22px;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.igm-in svg+svg{transform:translate(-140%,140%)}
.ig-mini:hover{transform:translateY(-2px)}
.ig-mini:hover .igm-in svg:first-child{transform:translate(140%,-140%)}
.ig-mini:hover .igm-in svg+svg{transform:none}
/* ===== Seller's Guide experience ===== */
.sgx-hero{position:relative;min-height:min(86vh,820px);display:grid;align-content:end;color:#fff;overflow:hidden;padding:140px 0 48px}
.sgx-bg{position:absolute;inset:0}.sgx-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:sgxz 14s ease-out forwards}
@keyframes sgxz{to{transform:scale(1)}}
.sgx-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,40,.35) 0%,rgba(6,14,40,.15) 35%,rgba(6,14,40,.85) 100%)}
.sgx-hero>.wrap{position:relative;z-index:1}
.sgx-ht h1{margin:18px 0 0;max-width:900px;font:400 clamp(44px,6vw,92px)/1 var(--sans);letter-spacing:-.045em}
.sgx-ht h1 em{display:block;font-family:var(--serif);color:#cfe0ff}
.sgx-by{display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding:8px 20px 8px 8px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sgx-by img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 18%}
.sgx-by b{display:block;font-weight:500}.sgx-by span{font-size:13px;opacity:.8}
.sgx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:40px}
.sgx-stats div{padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sgx-stats b{display:block;font:500 clamp(26px,2.6vw,36px)/1 var(--sans);letter-spacing:-.02em}.sgx-stats span{display:block;margin-top:8px;font-size:13px;opacity:.75}
.sgx-ig{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.sgx-q{margin:0;padding:0 0 0 24px;border-left:3px solid var(--brand);font:400 clamp(30px,3.4vw,48px)/1.1 var(--sans);letter-spacing:-.03em}
.sgx-q em{font-family:var(--serif);color:var(--brand)}
.sgx-ig p{margin:0;font-size:18px;line-height:1.65;color:var(--ink-60)}
.sgx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:48px}
.sgx-c{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.sgx-c:hover{transform:translateY(-5px);box-shadow:0 30px 50px -32px rgba(12,30,80,.4)}
.sgx-ph{position:relative;aspect-ratio:4/3;overflow:hidden}.sgx-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.sgx-c:hover .sgx-ph img{transform:scale(1.04)}
.sgx-ph span{position:absolute;left:14px;top:14px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.9);font-size:12px;font-weight:600;color:var(--brand)}
.sgx-c h3{margin:20px 22px 0;font:500 20px/1.25 var(--sans);letter-spacing:-.015em}
.sgx-c p{margin:10px 22px 24px;font-size:15px;line-height:1.6;color:var(--ink-60)}
.sgx-types{background:var(--mist,#f3f6fb)}
.sgx-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:44px}
.sgx-t{position:relative;margin:0;aspect-ratio:3/4;border-radius:18px;overflow:hidden}
.sgx-t img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.sgx-t:hover img{transform:scale(1.05)}
.sgx-t::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,14,40,.75))}
.sgx-t figcaption{position:absolute;z-index:1;left:16px;right:16px;bottom:14px;color:#fff;font:500 15px/1.25 var(--sans)}
.sgx-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-radius:30px;overflow:hidden;background:radial-gradient(120% 140% at 100% 0%,#1d3f9c 0%,#0f2466 55%,#0a1846 100%);color:#fff;box-shadow:0 50px 90px -50px rgba(10,24,70,.7)}
.sgx-cp img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:50% 20%}
.sgx-cr{padding:clamp(30px,4vw,56px)}
.kicker.light{color:#a9c2ff}
.sgx-cr h2{margin:14px 0 26px;font:400 clamp(30px,3vw,44px)/1.1 var(--sans);letter-spacing:-.03em}.sgx-cr h2 em{font-family:var(--serif);color:#a9c2ff}
.sgx-cr ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.sgx-cr li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;color:rgba(255,255,255,.88)}
.sgx-cr li svg{width:20px;height:20px;flex:none;padding:3px;border-radius:50%;background:rgba(255,255,255,.14);color:#a9c2ff}
.sgx-band{padding:clamp(60px,8vw,110px) 0;text-align:center}
.sgx-band p{margin:0 auto;max-width:1100px;font:400 clamp(32px,4.4vw,64px)/1.08 var(--sans);letter-spacing:-.035em}.sgx-band em{font-family:var(--serif);color:var(--brand)}
.sgx-cc{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:#fff}
.sgx-cc h2{margin:10px 0 8px;font:400 clamp(26px,2.6vw,38px)/1.1 var(--sans);letter-spacing:-.02em}.sgx-cc h2 em{font-family:var(--serif);color:var(--ink-60)}
.sgx-cc p{margin:0;color:var(--ink-60)}
.sgx-acts{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:1100px){.sgx-grid{grid-template-columns:1fr 1fr}.sgx-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:800px){.sgx-ig,.sgx-card{grid-template-columns:1fr}.sgx-stats{grid-template-columns:1fr 1fr}.sgx-cp img{min-height:300px;max-height:380px}.sgx-cr ul{grid-template-columns:1fr}}
@media (max-width:560px){.sgx-grid{grid-template-columns:1fr}.sgx-tiles{grid-template-columns:1fr 1fr}}
.sgx-c h3{white-space:nowrap}@media (max-width:1300px){.sgx-c h3{white-space:normal}}
/* ===== portfolio filter: floating dock with sliding pills ===== */
.pf-bar{position:sticky;top:96px;z-index:30;display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 auto 34px;padding:6px!important;border:1px solid rgba(15,36,102,.08)!important;border-radius:999px;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 18px 40px -22px rgba(10,24,70,.35),0 2px 6px -2px rgba(10,24,70,.08)}
body:has(.topbar.tuck) .pf-bar{top:16px}
.pf-tabs{position:relative;display:flex;gap:2px;padding:4px;border-radius:999px;background:#f2f5fb}
.pf-tabs+.pf-tabs{padding-left:4px!important;border-left:0!important;margin-left:0!important}
.pf-tabs button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;font:500 14.5px/1 var(--sans);color:var(--ink-60);white-space:nowrap;transition:color .35s}
.pf-tabs.sm button{font-size:14.5px}
.pf-tabs button[aria-pressed=true]{color:#fff}
.pf-tabs button:hover:not([aria-pressed=true]){color:var(--ink)}
.pf-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(15,36,102,.08);font-size:11.5px;font-weight:600;color:var(--ink-60);transition:background .35s,color .35s}
.pf-tabs button[aria-pressed=true] .pf-n{background:rgba(255,255,255,.2);color:#fff}
.pf-ind{position:absolute;top:4px;bottom:4px!important;left:0;height:auto!important;border-radius:999px;background:#0f2466;box-shadow:0 8px 18px -10px rgba(15,36,102,.8);z-index:0;transition:transform .5s cubic-bezier(.65,0,.25,1),width .5s cubic-bezier(.65,0,.25,1)}
.pf-count{display:inline-flex;align-items:center;gap:8px;margin:0 10px 0 6px!important;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45);white-space:nowrap}
.pf-count i{width:7px;height:7px;border-radius:50%;background:#2fbf71;box-shadow:0 0 0 4px rgba(47,191,113,.15)}
.pf-count b{color:var(--ink)}
@media (max-width:980px){.pf-bar{top:84px}}
@media (max-width:760px){
 .pf-bar{display:flex;flex-wrap:nowrap;width:auto;max-width:none;margin:0 calc(-1*var(--gut,16px)) 24px!important;padding:6px!important;border-radius:999px;overflow-x:auto;scrollbar-width:none}
 .pf-bar::-webkit-scrollbar{display:none}
 .pf-tabs{flex:none}.pf-tabs button{height:38px;padding:0 13px;font-size:14px}
 .pf-count{display:none!important}
}
@media (max-width:760px){
 .pf-bar{flex-direction:column;align-items:stretch;gap:6px;overflow:visible!important;margin:0 0 24px!important;border-radius:26px!important;padding:6px!important}
 .pf-tabs{display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;border-radius:20px}
 .pf-tabs button{justify-content:center;padding:0 6px;font-size:13.5px;gap:6px}
 .pf-n{min-width:20px;height:20px;font-size:11px;padding:0 5px}
}
.nx-img{object-position:50% 55%}
/* business cards: identical structure + height everywhere */
.bc-deck{align-items:stretch}
.bc-deck>.bc,.bc-deck>.bc .bc-in{height:100%}
.bc .bc-in{display:flex;flex-direction:column}
.bc .bc-top{min-height:64px;align-items:flex-start}
.bc .bc-logo{max-height:58px!important;height:auto;max-width:62%}
.bc .bc-logo.lg-pioneer{height:58px!important}
.bc .bc-mid{margin-top:auto;padding-top:22px}
.bc .bc-nolink{display:inline-flex;align-items:center;gap:inherit;color:inherit}
.bc-logo.lg-legalsolv,.nx-plogo.lg-legalsolv,.pv-logo.lg-legalsolv{height:24px!important;width:auto}
.fr-logo.lg-legalsolv{height:30px!important;width:auto}.ps-logo.lg-legalsolv,.cpx-logo.lg-legalsolv,.cp-logo.lg-legalsolv{height:18px!important;width:auto}
.bc .bc-nolink{gap:6px;color:var(--ink)}
.bc .bc-top{display:flex!important;justify-content:space-between;gap:14px}
.bc .bc-top>:first-child{flex:0 1 auto;min-width:0;max-width:56%!important}
.bc .bc-top span.bc-logo b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc .bc-tag{flex:0 1 auto;min-width:0;max-width:44%;white-space:normal!important;text-align:right;line-height:1.35}
/* UBTEO brand strip in "Why choose Ali" */
.sgx-brand{display:flex;align-items:center;gap:16px;margin-top:30px;padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}
.sgx-mk{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#fff;padding:10px;box-sizing:border-box}
.sgx-mk svg,.sgx-mk img{width:100%;height:auto}
.sgx-mk span{display:none}
.sgx-brand b{display:block;font:600 15px/1.2 var(--sans);letter-spacing:.06em}
.sgx-brand div span{display:block;margin-top:4px;font-size:13px;color:rgba(255,255,255,.7)}
.sgx-brand a{margin-left:auto;flex:none;display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;background:#fff;color:#0f2466;font-size:14px;font-weight:500}
@media (max-width:700px){.sgx-brand{flex-wrap:wrap}.sgx-brand a{margin-left:0}}
/* Instagram button: liquid glass over the gradient */
.ig-mini{position:relative;isolation:isolate;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 62%,#285AEB 92%)!important;box-shadow:0 18px 34px -16px rgba(214,36,159,.75),inset 0 0 0 1px rgba(255,255,255,.35)!important}
.ig-mini::before{content:"";position:absolute;inset:3px;border-radius:50%;z-index:0;background:linear-gradient(160deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.12) 38%,rgba(255,255,255,.04) 60%,rgba(255,255,255,.22) 100%);backdrop-filter:blur(6px) saturate(160%);-webkit-backdrop-filter:blur(6px) saturate(160%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.75),inset 0 -6px 12px rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.28)}
.ig-mini::after{content:"";position:absolute;left:18%;right:18%;top:7%;height:34%;border-radius:50%;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0));filter:blur(1px);opacity:.75;transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.ig-mini:hover::after{opacity:1;transform:translateY(2px) scaleX(1.06)}
.ig-mini .igm-in{position:relative;z-index:1;filter:drop-shadow(0 1px 2px rgba(80,0,60,.35))}
.ab-vis{display:grid;grid-template-columns:150px 1fr;gap:16px 18px;margin-top:34px;max-width:520px}
.ab-vp{grid-row:1/3;margin:0;border-radius:20px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 26px 50px -30px rgba(10,24,70,.55)}
.ab-vp img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.ab-vs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-self:start}
.ab-vs div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ab-vs b{display:block;font:500 22px/1 var(--sans);color:var(--brand,#2c58b8)}.ab-vs span{display:block;margin-top:6px;font-size:11.5px;line-height:1.3;color:var(--ink-60)}
.ab-vt{display:flex;flex-wrap:wrap;gap:6px;align-self:end}
.ab-vt span{padding:7px 12px;border-radius:999px;background:#f2f5fb;font-size:12.5px;color:var(--ink)}
@media (max-width:600px){.ab-vis{grid-template-columns:110px 1fr}.ab-vs{grid-template-columns:1fr 1fr 1fr}.ab-vs b{font-size:18px}}
.sgx-mk img{width:100%;height:100%;object-fit:contain}
@media (max-width:600px){.ab-vs{grid-template-columns:1fr;gap:6px}.ab-vs div{display:flex;align-items:baseline;gap:10px;padding:10px 12px;min-width:0}.ab-vs span{margin-top:0}.ab-vt{grid-column:1/-1}}
.ab-cols{align-items:end}
.ab-r{display:flex;flex-direction:column;gap:22px;max-width:600px}
.ab-lead{margin:0;font:400 27px/1.32 var(--sans);letter-spacing:-.015em;color:var(--ink)}
.ab-lead em{font-style:normal;color:#2c58b8}
.ab-sub{margin:0;font-size:16px;line-height:1.65;color:var(--ink-60)}.ab-sub b{font-weight:500;color:var(--ink)}
.ab-q{margin:0;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#0d1f4f,#1d3f94);color:#dfe7fb;font-size:15.5px;line-height:1.55;box-shadow:0 24px 44px -30px rgba(10,24,70,.6)}
.ab-q span{display:block;margin-bottom:6px;font:italic 400 24px/1 var(--serif);color:#9cc0ff}
@media (max-width:900px){.ab-cols{align-items:start}.ab-r{margin-top:34px}.ab-lead{font-size:22px}}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}
/* ===== MOBILE: centered + simplified (Nov 3) ===== */
@media (max-width:640px){
  /* section intros centered */
  main :is(h1,h2):not(.prose *,.ga-prose *,.sg-prose *,form *,.lgl *,.legal-doc *,.bc *,.rv-card *,.ts *,.tm *,.fr-card *){text-align:center;margin-inline:auto}
  main :is(.head,.nx-h,.rvx-l,.ct-head,.gh,.sgx-ht,.fr-head,.cpx-h,.nh-l,.vside,.ab-in,.ab-story .cols2>div:first-child,.ga,.cta){text-align:center;align-items:center;justify-items:center;margin-inline:auto}
  main :is(.head,.nx-h,.rvx-l,.ct-head,.gh,.sgx-ht,.cpx-h,.nh-l,.vside,.fr-head)>p{margin-inline:auto;max-width:34ch}
  main .kicker{justify-content:center;text-align:center;margin-inline:auto}
  main :is(.head,.nx-h,.rvx-l,.ct-head,.gh,.cpx-h,.nh-l,.vside,.ga) :is(.lnk,.more,a[class*=link],.acts,.ga-acts,.btns,.row){justify-content:center;margin-inline:auto}
  main :is(.head,.nx-h,.rvx-l,.gh,.cpx-h,.vside)>a{display:inline-flex;margin-inline:auto}
  main :is(.head,.nx-h,.rvx-l,.gh,.cpx-h,.vside){display:flex;flex-direction:column}
  /* simplify */
  .note,.rep-note,.tm .em,.tm-mail{display:none!important}
  /* footer: centered + compact */
  footer.wrap .foot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
  footer.wrap .foot>div:first-child{display:flex;flex-direction:column;align-items:center;width:100%}
  footer.wrap .foot h4{font-size:26px!important;line-height:1.1;margin:14px 0 18px}
  footer.wrap .sub{width:100%;max-width:340px;margin-inline:auto}
  footer.wrap .foot-soc{justify-content:center;margin-top:16px;gap:12px}
  footer.wrap .foot-soc a{width:46px;height:46px;padding:0;justify-content:center}
  footer.wrap .foot-soc a span{display:none}
  footer.wrap .cols{display:flex!important;flex-direction:column;align-items:center;gap:18px;margin-top:30px;width:100%}
  footer.wrap .cols h5{display:none}
  footer.wrap .cols ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:0;margin:0}
  footer.wrap .cols li{margin:0}
  footer.wrap .cols>div:last-child ul{flex-direction:column;align-items:center;gap:4px;font-size:14px;opacity:.9}
  footer.wrap .mappop{display:none!important}
  footer.wrap .wtop{justify-content:center!important;flex-direction:row!important;margin:30px 0 12px!important}
  footer.wrap .wtop .wline{display:none}
  footer.wrap .word{font-size:min(19vw,74px)!important;justify-content:center}
  footer.wrap .legal{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:16px}
  footer.wrap .legal .eho{justify-content:center;font-size:11.5px}
  footer.wrap .lgl-nav{display:flex;justify-content:center}
  footer.wrap .lgl-g{display:flex;gap:16px;justify-content:center}
  footer.wrap .lgl-soc{display:none!important}
  footer.wrap .legal .lgl-g::before{display:none!important;content:none!important}
  /* centered content blocks */
  .why-grid .steps li,.why-grid .steps li>div{text-align:center}
  .team .member{text-align:center}.team .member .ct{align-items:center}
  .rvx-acts{justify-content:center;align-items:center;flex-direction:column}
  .rvx-k{justify-content:center}
  .ig-side{text-align:center}.ig-side p{margin-inline:auto;max-width:32ch}.ig-side .soc-row{justify-content:center}
  .gcard .gtxt{text-align:center}.gcard .gm{justify-content:center}
  .pq-card .pq-l{text-align:center}.pq-card .pq-l ul{display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left}.pq-card .pq-l :is(.kicker,.btn,.btn-dark,.btn-pq){margin-inline:auto}
}
/* ===== MOBILE header (Nov 3) ===== */
.tb-call{display:none}
@media (max-width:900px){
  .topbar{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid rgba(14,28,72,.07)!important;box-shadow:0 8px 24px -18px rgba(10,24,70,.35)!important}
  .topbar .inner{height:60px!important;min-height:0!important;padding-inline:16px!important;gap:10px!important}
  :is(.topbar,#card .bar,#headroom) .logo{margin-right:auto}
  :is(.topbar,#card .bar,#headroom) .logo svg{height:21px!important;width:auto}
  .tb-call{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#2c58b8,#0d1f5c);box-shadow:0 8px 18px -10px rgba(13,31,92,.8),inset 0 1px 0 rgba(255,255,255,.25);flex:none}
  .tb-call svg{width:18px;height:18px}
  .menu-btn{height:40px!important;padding:0 14px 0 12px!important;gap:9px;border-radius:999px!important;font-size:13px!important;font-weight:500;border:1px solid rgba(14,28,72,.1)!important;background:#fff!important;flex:none}
  .menu-btn .mb-i{position:relative;display:inline-grid;gap:4px;width:16px;z-index:2}
  .menu-btn .mb-i i{display:block;height:1.6px;border-radius:2px;background:currentColor}
  .menu-btn .mb-i i:last-child{width:10px;justify-self:end}
  .menu-btn .mb-t{position:relative;z-index:2}
}
/* ===== MOBILE scale-down: less "zoomed in" (Nov 3) ===== */
@media (max-width:640px){
  /* headings */
  main h2:not(.prose h2,.ga-prose h2){font-size:clamp(26px,7.8vw,31px)!important;line-height:1.08!important}
  main .cta h2{font-size:clamp(30px,9vw,36px)!important}
  main :is(.head,.ct-head,.gh,.sgx-ht) h1,main h1:not(.h1-xp,.h1-sell,.ab-in h1){font-size:clamp(30px,9.4vw,37px)!important;line-height:1.05!important}
  .ab-in h1{font-size:44px!important}.h1-sell{font-size:42px!important}
  main :is(.nx-info,.gtxt,.why-grid,.loc,.sell-steps,.nh-c,.vrow) h3,main .txt h3{font-size:20px!important;line-height:1.18!important}
  main :is(.pq-l,.pt-q,.pqw-l) h3{font-size:24px!important}
  main :is(.fr-copy,.pqf-l) h3{font-size:26px!important}
  /* body copy */
  main :is(.nx-h,.rvx-l,.nh-l,.vside,.bp,.cpx,.fr,.pq-hero,.pv-intro,.gh,.head,.sgx-intro,.ab-net,.pf-head,.cpx-h) p,
  main :is(.ab-lede,.lead-p,.ab-sub,.nx-does,.rvx-s,.cpx-ai,.fr-p,.pl-h,.bp-h,.ab-net-h,.pv-p,.fr-d,.lede),main .gtxt p,main .nh-c p,main .pqf-l p,main .cta p{font-size:15px!important;line-height:1.6!important}
  main .ab-lead{font-size:19px!important}
  main .kicker,main .nx-k,main .rvx-k{font-size:10.5px!important}
  /* section rhythm */
  main :is(.sec,.section,.nh,.rvx,.ab-quote,.numbers,.values,.bp,.cpx,.ab-net,.ab-story,.sgx-intro,.sgx-steps,.sgx-types,.sgx-why,.sgx-cta,.pv-intro,.vnet,.sell-net,.apply,.pq-faq,.pq-lend){padding-top:52px!important;padding-bottom:52px!important}
  main .fr{padding-bottom:64px!important}main .ct-portal{padding-bottom:64px!important}
  main section.night.final{padding-top:64px!important}
  /* drawer: calmer type */
  .drawer .dm-prim .dt{font-size:27px!important}.drawer .dm-prim a{padding-block:11px!important}
  /* centering leftovers */
  #card .intro{text-align:center;display:flex;flex-direction:column;align-items:center}
  .ab-in{text-align:center}.ab-in .ab-acts{justify-content:center;align-items:center}.ab-in .ab-k,.ab-in .crumb{justify-content:center}
  .nh-l{text-align:center}.nh-l p{margin-inline:auto}
  .pq-card .pq-r{display:flex;flex-direction:column;align-items:center;text-align:center}
  .ab-story .ab-r{text-align:center}.ab-story .ab-q{text-align:left}
}
/* about hero: stars back on mobile, under the portrait */
@media (max-width:980px){.ab-hero canvas.band-stars{display:block!important}}
@media (max-width:900px){
  :is(.topbar,#card .bar,#headroom) .tb-r{display:none!important}
  :is(.topbar,#card .bar,#headroom) .tb-call{margin-right:8px}
  .menu-btn.lgx .lg-sh{opacity:.55}
}
@media (max-width:640px){
  main .crumb{justify-content:center;text-align:center}
  .pq-hero :is(p,.kicker,ul){text-align:center;margin-inline:auto}.pq-hero ul{display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left}
  .pq-hero .wrap>div:first-child{display:flex;flex-direction:column;align-items:center}
}
.mbr{display:none}
@media (max-width:640px){
  footer.wrap .cols>div:last-child{width:100%;max-width:360px}
  footer.wrap .cols>div:last-child ul{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;font-size:13px!important;opacity:1!important;width:100%}
  footer.wrap .cols>div:last-child li{display:block;min-width:0}
  footer.wrap .cols>div:last-child li.maplink{grid-column:1/-1}
  footer.wrap .cols>div:last-child li>a{display:flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
  footer.wrap .cols>div:last-child li>a::before{content:"";flex:none;width:15px;height:15px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
  footer.wrap .cols>div:last-child li.maplink>a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
  footer.wrap .cols>div:last-child li>a[href^="tel"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E")}
  footer.wrap .cols>div:last-child li>a[href^="mailto"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
  footer.wrap .dbr{display:none}footer.wrap .mbr{display:inline}
}
@media (max-width:640px){
  footer.wrap .cols>div:last-child li>a{gap:0!important}
  footer.wrap .cols>div:last-child li>a::before{margin-right:8px}
  footer.wrap .cols>div:last-child li.maplink>a{font-size:12.5px}
  @media (max-width:380px){footer.wrap .cols>div:last-child li>a{font-size:12px;padding:0 10px}}
}
/* ===== MOBILE pass 3 (Nov 3): vendors business card, strategic steps carousel, record stats, why-card ===== */
@media (max-width:760px){
  /* vendors: picture first, then a real business card overlapping it */
  .nx-row{display:flex!important;flex-direction:column;gap:0!important;margin-top:28px}
  .nx-panels{order:1;aspect-ratio:4/3.1!important}
  .nx-left{order:2;position:relative;z-index:3;margin:-34px 12px 0;align-self:stretch!important}
  .nx-info{text-align:left!important;align-items:stretch!important;background:#fff;border:1px solid rgba(14,28,72,.08);border-radius:22px;padding:20px 20px 18px;box-shadow:0 26px 50px -30px rgba(10,24,70,.55)}
  .nx-info .nx-k{margin:0!important;justify-content:flex-start!important;text-align:left!important}
  .nx-info h3{margin:10px 0 0!important;font-size:22px!important;text-align:left!important}
  .nx-info .nx-who{margin:4px 0 0!important;font-size:13px!important;text-align:left!important;color:var(--ink-60)}
  .nx-info .nx-does{margin:12px 0 0!important;padding:0 0 0 12px!important;border-left:2px solid var(--acc,#2c58b8)!important;font-size:14px!important;line-height:1.55!important;text-align:left!important}
  .nx-info .nx-ct{display:grid!important;gap:7px;margin:14px 0 0!important;padding:14px 0 0!important;border-top:1px solid rgba(14,28,72,.08);text-align:left!important}
  .nx-info .nx-ct>*{display:flex!important;align-items:flex-start;gap:9px;justify-content:flex-start!important;text-align:left!important;font-size:13.5px!important;line-height:1.4;margin:0!important}
  .nx-info .nx-ct svg{flex:none;width:15px;height:15px;margin-top:2px;color:var(--acc,#2c58b8)}
  .nx-info .nx-acts{display:grid!important;grid-template-columns:1fr auto;gap:8px;margin:16px 0 0!important;justify-content:stretch!important}
  .nx-info .nx-acts a{justify-content:center;height:46px}
  .nx-mob{margin-top:16px!important}
  /* overlay on the photo: keep only plate + pill, the card below carries the info */
  .nx-ov h4,.nx-ov p{display:none}
  .nx-ov{padding:16px 16px 46px!important}
  .nx-plate{height:48px!important}
}
@media (max-width:640px){
  /* strategic approach: photo + swipeable step cards in one view */
  .why-grid{display:block!important}
  .why-grid .ph{aspect-ratio:4/3;margin-top:22px!important;border-radius:22px;overflow:hidden}
  .why-grid .ph img{width:100%;height:100%;object-fit:cover}
  .why-grid .steps{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:-64px -16px 0!important;padding:0 16px 8px!important;position:relative;z-index:2;scrollbar-width:none;counter-reset:st;list-style:none}
  .why-grid .steps::-webkit-scrollbar{display:none}
  .why-grid .steps li{flex:0 0 84%;scroll-snap-align:center;margin:0!important;padding:20px 20px 22px!important;border-radius:20px;background:#fff;border:1px solid rgba(14,28,72,.08);box-shadow:0 22px 44px -30px rgba(10,24,70,.55);counter-increment:st;text-align:left!important}
  .why-grid .steps li::before{content:"0" counter(st) " / 04";display:block;font:500 11px/1 var(--sans);letter-spacing:.16em;color:#2c58b8;margin-bottom:12px}
  .why-grid .steps li>div,.why-grid .steps li h3,.why-grid .steps li p{text-align:left!important}
  .why-grid .steps li h3{font-size:19px!important;margin:0 0 8px!important}
  .why-grid .steps li p{font-size:14px!important;line-height:1.55!important;margin:0!important}
  .st-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .st-dots i{width:6px;height:6px;border-radius:99px;background:rgba(14,28,72,.18);transition:width .3s,background .3s}
  .st-dots i.on{width:20px;background:#2c58b8}
  /* record in public: centered stats */
  .numbers .stats{justify-items:center}
  .numbers .stat{text-align:center!important;display:flex;flex-direction:column;align-items:center}
  .numbers .stat span{max-width:16ch;margin-inline:auto}
  .nh .nh-st,.nh [class*=stat]{text-align:center}
  /* why-choose card: clean left-aligned layout */
  .sgx-cr{text-align:left!important}
  .sgx-cr :is(.kicker,h2,p){text-align:left!important;margin-inline:0!important;justify-content:flex-start!important}
  .sgx-cr ul{gap:12px!important}
  .sgx-cr li{text-align:left!important;justify-content:flex-start!important}
  .sgx-brand{display:grid!important;grid-template-columns:auto 1fr;gap:12px 14px!important;text-align:left!important;padding:16px!important}
  .sgx-brand .sgx-mk{width:48px;height:48px}
  .sgx-brand div{text-align:left!important}
  .sgx-brand a{grid-column:1/-1;justify-content:center;width:100%;margin:2px 0 0!important}
}
.st-dots{display:none}
@media (max-width:640px){.st-dots{display:flex}}
@media (max-width:760px){
  .nx-info .nx-ct>*{overflow-wrap:normal!important;word-break:normal!important}
  .nx-info .nx-ct>* span{overflow-wrap:normal!important;word-break:normal!important}
  .nx-info .nx-acts{grid-template-columns:1fr auto!important}
  .nx-info .nx-acts a{white-space:nowrap;font-size:14px!important;padding:0 16px!important}
}
@media (max-width:760px){
  .nx-left{grid-template-columns:minmax(0,1fr)!important}
  .nx-info{min-width:0!important;width:100%!important;box-sizing:border-box}
  .nx-info .nx-acts{grid-template-columns:minmax(0,1fr) auto!important}
  .nx-info .nx-acts a{font-size:13.5px!important;padding:0 14px!important;min-width:0}
}
@media (max-width:760px){.nx-info .nx-acts a svg{width:16px!important;height:16px!important;flex:none}}
@media (max-width:640px){
  .ig-top{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:18px!important}
  .ig-top>div{width:100%;text-align:center!important;display:flex;flex-direction:column;align-items:center}
  .ig-top .h2{text-align:center!important;width:100%}
  .ig-top .soc-row{justify-content:center}
}
/* footer runs under the browser's bottom bar on phones */
@media (max-width:900px){section.night.final{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}}
/* reviews marquee: pure compositor animation, no masks (smooth on phones) */
.rvx-rows{-webkit-mask-image:none!important;mask-image:none!important;position:relative}
.rvx-rows::before,.rvx-rows::after{content:"";position:absolute;top:0;bottom:0;width:8%;z-index:2;pointer-events:none}
.rvx-rows::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.rvx-rows::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.rvx-row{contain:paint}
.rvx-tr{animation:rvxm var(--d,90s) linear infinite!important;animation-play-state:paused!important;padding-right:18px!important;padding-left:0!important;will-change:transform;backface-visibility:hidden}
.rvx.play .rvx-tr{animation-play-state:running!important}
.rvx-row.rev .rvx-tr{animation-direction:reverse!important}
@keyframes rvxm{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.rx{box-shadow:0 8px 18px -14px rgba(11,29,88,.3)!important}
@media (prefers-reduced-motion:reduce){.rvx-tr{animation:none!important}.rvx-row{overflow-x:auto}}
/* scroll-fill statement quotes */
.fill-on .fw{opacity:.16;transition:opacity .45s ease}
.fill-on .fw.on{opacity:1}
.fill-on em .fw{opacity:.22}.fill-on em .fw.on{opacity:1}
/* ===== MOBILE business cards: one structure for every card (logo / tag / name / role / phone / email / web / address), no cut-offs ===== */
@media (max-width:640px){
  .bc-in{aspect-ratio:auto!important;min-height:0!important;padding:18px 18px 16px 22px!important;overflow:hidden}
  .bc .bc-top{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:12px!important;min-height:0!important}
  .bc .bc-logo{height:34px!important;width:auto!important;max-width:78%!important;margin:0!important;object-fit:contain;object-position:left center;overflow:visible!important}
  .bc .bc-logo.lg-pioneer{height:44px!important}
  .bc .bc-logo.lg-blachford{height:30px!important;max-width:none!important;gap:9px}
  .bc .bc-logo.lg-blachford b{font-size:15px!important}
  .bc .bc-logo.lg-allfund,.bc .bc-logo.lg-yourchoice{max-width:none!important}
  .bc .bc-tag{order:2;margin:0!important;font-size:9.5px!important;white-space:nowrap}
  .bc .bc-mid{margin-top:12px!important}
  .bc .bc-who{font-size:17px!important;white-space:nowrap}
  .bc .bc-role{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:clip}
  .bc .bc-c{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:7px!important;margin-top:12px!important;padding-top:12px!important;font-size:clamp(11px,3.15vw,12.5px)!important}
  .bc .bc-c li{max-width:100%;min-width:0}
  .bc .bc-c a,.bc .bc-c .bc-nolink{display:flex!important;align-items:center;gap:8px;min-width:0}
  .bc .bc-c a span,.bc .bc-c li:nth-child(2) span,.bc .bc-c .bc-nolink span{max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;display:inline!important}
  .bc .bc-addr{margin-top:7px!important;font-size:clamp(11px,3.15vw,12.5px)!important;white-space:nowrap;gap:8px!important;align-items:center}
  .bc .bc-addr span{white-space:nowrap}
}
@media (max-width:640px){.bc .bc-role{font-size:clamp(10.5px,2.95vw,12px)!important}}
@media (max-width:640px){.bc .bc-top .bc-tag{white-space:nowrap!important;text-align:left!important;width:auto!important;max-width:none!important;min-width:0!important;align-self:flex-start!important;justify-content:flex-start!important;margin:0!important;flex:none!important}}
/* team grid on phones/tablets: equal portraits, everything centered under each photo */
@media (max-width:900px){
  .team .member{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:0!important;transform:none!important}
  .team .member .ph{width:100%;aspect-ratio:4/5;overflow:hidden}
  .team .member .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
  .team .member .role{text-align:center;min-height:2.6em;display:flex;align-items:flex-end;justify-content:center;margin-bottom:4px}
  .team .member .ct{display:flex!important;flex-direction:column;align-items:center!important;width:100%}
  .team .member .ct a{margin-inline:auto}
  .team.team6{align-items:start}
}
@media (max-width:900px){.team.team6{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}}
@media (max-width:480px){.team .member .ct a{font-size:12px!important}.team .member .ct a[href^="mailto"]{font-size:clamp(10.5px,2.9vw,12px)!important;overflow:visible!important;text-overflow:clip!important}.team .member h3{font-size:19px!important}}
/* mobile: team page leader block, network copy, calculator heading — centered; vendor tile logos fit */
@media (max-width:640px){
  .lead-member>div:last-child{text-align:center}
  .lead-member .kicker{justify-content:center}
  .lead-member .lead-p{margin-inline:auto;text-align:center}
  .lead-member [class*=stat],.lead-member .lm-stats,.lead-member .lm-s{justify-content:center;text-align:center}
  .fr-head .fr-word{font-size:30vw!important;top:40px!important;max-width:100vw;overflow:hidden}
  .fr-copy{text-align:center!important;max-width:none!important;margin-inline:auto}
  .fr-copy .fr-k{margin-inline:auto!important}
  .fr-copy h3{font-size:30px!important;line-height:1.1!important;margin:12px 0 0!important}
  .fr-copy p{margin-inline:auto}
  .fr-copy .fr-faces,.fr-copy>div:last-child{justify-content:center}
  .pqf-l{text-align:center}.pqf-l p{margin-inline:auto}
  .pv-t .pv-logo.lg-blachford{height:22px!important}.pv-t .pv-logo.lg-blachford b{font-size:11.5px!important}.pv-t .pv-logo.lg-blachford b i{font-size:.62em!important;letter-spacing:.12em!important}
  .pv-lg{max-width:100%;overflow:visible}
}
@media (max-width:640px){
  .team{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important;align-items:start}
  .lead-member .ts-x{justify-content:center;text-align:center}.lead-member .ts-x>div{text-align:center;display:flex;flex-direction:column;align-items:center}
  .fr-copy .fr-more{justify-content:center}
  .fr-copy .fr-p{text-align:center}
}
@media (max-width:640px){.pqf-l .pqf-k{display:inline-block}}
/* mobile: no truncated addresses or values anywhere */
.bp-h1 i{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35}
.qk b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35}
@media (max-width:640px){
  .pl-st div b{font-size:13.5px!important;line-height:1.3;overflow-wrap:normal;word-break:normal}
  .pl-st div{padding-right:6px}
}
@media (max-width:374px){
  footer.wrap .cols>div:last-child li.maplink>a{font-size:11px!important;padding:0 8px!important}
  footer.wrap .cols>div:last-child li>a::before{margin-right:6px}
  .pl-st div b{font-size:12.5px!important}
}
@media (max-width:640px){.pl-st b{font-size:clamp(11px,3.05vw,13px)!important;overflow:visible!important;-webkit-line-clamp:unset!important;display:block!important;text-overflow:clip!important}}
@media (max-width:640px){
  /* locations: each city block centered under its photo */
  article.cols2[id] > div:last-child{text-align:center}
  article.cols2[id] > div:last-child .kicker{justify-content:center}
  article.cols2[id] > div:last-child .lead-p{margin-inline:auto}
  article.cols2[id] .h2{font-size:34px!important}
  /* listing page actions: even layout */
  .lp-acts{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;width:100%}
  .lp-acts .btn.dark{grid-column:1/-1}
  .lp-acts .btn{justify-content:center;width:100%;margin:0!important}
  /* buy: pre-approve button on one line */
  .bp-go{white-space:nowrap;font-size:14px!important;gap:8px}
}
@media (max-width:640px){.lp-price,.lp-head>div:last-child{width:100%!important;display:block}.lp-acts>*{width:100%!important;max-width:none!important}}
/* prequal form: progress bar sits flush inside the card's top edge */
.ap-form{overflow:hidden}
.ap-bar{position:absolute!important;top:0;left:0;right:0;margin:0!important;border-radius:0!important}
.ap-next .ap-lbl{position:relative;z-index:2}
.ap-count{white-space:nowrap}@media (max-width:420px){.ap-count{font-size:10px;letter-spacing:.12em}}
/* Your Choice Loans mark: fixed height so the icon never overflows/clips the card top */
.bc .bc-logo.lg-yourchoice{height:42px!important;max-height:42px!important;padding-top:4px;box-sizing:content-box;overflow:visible}
.bc .bc-logo.lg-yourchoice svg{height:42px;width:42px}
@media (max-width:640px){.bc .bc-logo.lg-yourchoice{height:36px!important;max-height:36px!important}.bc .bc-logo.lg-yourchoice svg{height:36px;width:36px}}
