@font-face{font-family:'Archivo Black';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/archivo-black-400.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-400.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-600.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-700.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/poppins-300.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/poppins-500.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/poppins-600.woff2) format('woff2')}

/* Concept: the BD deck as a website. One world — a tunnel of screens, a red horizon, a floor of light.
   Data drawn as graphics. Red is light and line, never a fill box. HUD labels + registration marks frame every scene. */
:root{
  --bg:#050506; --bg2:#0b0b0d; --ink:#F4F4F5; --mute:#9d9da3; --dim:#5d5d63; --line:#1f1f23; --line2:#2c2c31;
  --red:#FF2B2B; --red-soft:rgba(255,43,43,.16);
  --display:"Archivo Black","Arial Black",Impact,sans-serif;
  --body:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:300;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.98;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
em{font-style:normal;color:var(--red)}
[hidden]{display:none!important}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--mono)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ---------- HUD chrome ---------- */
.hud{font-family:var(--mono);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:14px}
.hud b{color:var(--red);font-weight:600}
.hud .bar{width:34px;height:1px;background:var(--red)}
.corners{position:relative}
.corners::after{content:"";position:absolute;inset:18px;pointer-events:none;z-index:3;--c:rgba(244,244,245,.35);
  background:
   linear-gradient(var(--c),var(--c)) top left/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) top left/1px 16px no-repeat,
   linear-gradient(var(--c),var(--c)) top right/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) top right/1px 16px no-repeat,
   linear-gradient(var(--c),var(--c)) bottom left/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/1px 16px no-repeat,
   linear-gradient(var(--c),var(--c)) bottom right/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/1px 16px no-repeat}
.scene{padding-block:clamp(72px,10vw,140px);position:relative;overflow:hidden}
.scene-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(36px,5vw,64px);flex-wrap:wrap}
.grid-bp::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 75% 65% at 50% 40%,#000 0%,transparent 75%)}
.h-xl{font-size:clamp(2.8rem,8.6vw,7rem)}
.h-l{font-size:clamp(2.1rem,5.4vw,4.2rem)}
.h-m{font-size:clamp(1.6rem,3.4vw,2.5rem)}
.lede{font-size:clamp(1.02rem,1.35vw,1.2rem);color:#c9c9ce;max-width:46ch}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:16px 26px;border:1px solid var(--line2);background:transparent;color:var(--ink);cursor:pointer;transition:.2s}
.btn:hover{border-color:var(--red);color:var(--red)}
.btn .arr{transition:.2s}.btn:hover .arr{transform:translateX(4px)}
.btn-red{background:var(--red);border-color:var(--red);color:#050506;box-shadow:0 0 0 0 rgba(255,43,43,.5),0 10px 40px -10px rgba(255,43,43,.7)}
.btn-red:hover{color:#050506;filter:brightness(1.1)}
.row-btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- nav ---------- */
header.nav{position:fixed;left:0;right:0;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
header.nav.solid{background:rgba(5,5,6,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:16px}
.logo{height:26px;width:auto;cursor:pointer}
.menu{display:flex;gap:2px}
.menu a{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);background:none;border:0;padding:9px 11px;cursor:pointer;transition:.2s;position:relative}
.menu a:hover{color:var(--ink)}
.menu a.on{color:var(--ink)}
.menu a.on::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:1px;background:var(--red);box-shadow:0 0 8px var(--red)}
.burger{display:none;background:none;border:1px solid var(--line2);color:var(--ink);font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;padding:10px 14px;cursor:pointer}
.nav-cta{padding:12px 18px}
@media(max-width:1080px){.menu{display:none}.burger{display:inline-flex}.nav-cta{display:none}
  .menu.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(5,5,6,.97);border-bottom:1px solid var(--line);padding:10px max(24px,env(safe-area-inset-right,0px)) 18px max(24px,env(safe-area-inset-left,0px))}
  .menu.open a{text-align:left;padding:13px 0;font-size:.78rem}
  .menu.open a.on::after{left:0;right:auto;width:22px}}

/* ---------- views ---------- */
.view{display:none}.view.on{display:block}

/* ================= HERO (the world) ================= */
.hero{--fl:clamp(150px,26vh,250px);position:relative;min-height:clamp(680px,100vh,960px);display:grid;grid-template-rows:1fr var(--fl);overflow:hidden;isolation:isolate}
@keyframes drift{to{transform:scale(1.13) translateY(-1.5%)}}
@keyframes run{to{background-position:0 46px}}
@keyframes blink{50%{opacity:.2}}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--bg);position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.track{display:flex;align-items:center;gap:56px;width:max-content;padding-block:24px;animation:mq 46s linear infinite}
.track span{font-family:var(--display);font-size:1.05rem;letter-spacing:.02em;color:#7c7c82;white-space:nowrap;display:flex;align-items:center;gap:56px}
.track span::after{content:"";width:5px;height:5px;background:var(--red);transform:rotate(45deg)}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-label{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;z-index:3;font-family:var(--mono);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red);background:var(--bg);padding:0 22px 0 max(24px,env(safe-area-inset-left,0px));box-shadow:30px 0 26px 4px var(--bg)}

/* ================= SCALE ================= */
.scale-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}

/* ================= DIFFERENCE ================= */
.diff .h-l{max-width:17ch}

/* ================= ORBIT ================= */
.orbit-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
@keyframes spin{to{transform:rotate(360deg)}}

/* ================= CYCLE ================= */
.cycle-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:center}
@keyframes dash{to{stroke-dashoffset:-400}}

/* ================= MOVE IN ================= */
.movein{background:var(--bg2);border-block:1px solid var(--line)}

/* ================= CLOSE ================= */
.close{text-align:center;min-height:clamp(560px,80vh,760px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;isolation:isolate}
.ripple{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:-1}
.ripple i{position:absolute;width:140px;height:140px;border:1px solid rgba(255,43,43,.55);border-radius:50%;animation:rip 7.5s linear infinite}
.ripple i:nth-child(2){animation-delay:-1.875s}.ripple i:nth-child(3){animation-delay:-3.75s}.ripple i:nth-child(4){animation-delay:-5.625s}
@keyframes rip{from{transform:scale(.25);opacity:1}to{transform:scale(8);opacity:0}}
.reticle{position:absolute;width:64px;height:64px;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}
.reticle::before,.reticle::after{content:"";position:absolute;background:rgba(255,43,43,.7)}
.reticle::before{left:50%;top:-30px;bottom:-30px;width:1px}
.reticle::after{top:50%;left:-30px;right:-30px;height:1px}
.close h2{text-shadow:0 0 30px #050506}
.close .contact-line{margin-top:28px;font-family:var(--mono);font-size:clamp(.72rem,1.4vw,.9rem);letter-spacing:.22em;color:#d8d8dc}
.close .row-btns{justify-content:center;margin-top:36px}

/* ================= INTERIOR PAGES ================= */
.phero{position:relative;overflow:hidden;isolation:isolate;padding-top:clamp(150px,18vw,210px);padding-bottom:clamp(60px,8vw,110px)}
.phero .bg{position:absolute;inset:0;z-index:-2}
.phero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:brightness(.8) contrast(1.05)}
.phero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.95) 0%,rgba(5,5,6,.7) 50%,rgba(5,5,6,.35)),linear-gradient(180deg,transparent 50%,var(--bg))}
.phero .hz{position:absolute;left:0;right:0;bottom:0;height:1px;z-index:-1;background:linear-gradient(90deg,transparent,var(--red) 30%,var(--red) 70%,transparent);box-shadow:0 0 22px 3px rgba(255,43,43,.55)}
.phero .hud{margin-bottom:26px}
.phero h1{font-size:clamp(2.6rem,7vw,5.6rem);max-width:15ch}
.phero .lede{margin-top:26px}

/* ================= SERVICES: six chapters, equal weight ================= */
.sv-index{position:sticky;top:var(--navh,72px);z-index:20;border-block:1px solid var(--line);background:rgba(5,5,6,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:top .5s cubic-bezier(.2,.7,.2,1)}
#nav.fx-hide~main .sv-index{top:0}
.sv-index-in{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;position:relative}
.sv-ix{display:flex;align-items:center;gap:9px;padding:18px 12px;background:none;border:0;border-left:1px solid var(--line);color:var(--mute);font:600 .62rem/1.3 var(--mono);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;text-align:left;transition:color .25s,background .25s;position:relative;min-width:0}
.sv-ix:last-child{border-right:1px solid var(--line)}
.sv-ix .n{color:var(--red);font-weight:700}
.sv-ix:hover{color:var(--ink);background:rgba(255,43,43,.06)}
.sv-ix.on{color:var(--ink)}
.sv-ix.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);box-shadow:0 0 12px var(--red)}
/* tablet and phone: one row that scrolls sideways, so the tabs never take more than a strip of the screen */
@media(max-width:900px){.sv-index-in{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-inline:0}.sv-index-in::-webkit-scrollbar{display:none}.sv-ix{flex:0 0 auto;padding:15px 16px;white-space:nowrap}.sv-ix:first-child{border-left:0}.sv-ix:last-child{border-right:0}}
.sv-ch{position:relative;padding-block:clamp(70px,9vw,130px);border-top:1px solid var(--line);overflow:hidden}
.sv-ch:nth-of-type(odd){background:linear-gradient(180deg,#070708,var(--bg))}
.sv-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.sv-ch.rev .sv-media{order:2}
@media(max-width:900px){.sv-in{grid-template-columns:minmax(0,1fr)}.sv-ch.rev .sv-media{order:0}}
/* desktop: the plate stays in view while you read the chapter */
@media(min-width:901px){.sv-in{align-items:start}.sv-media{position:sticky;top:calc(var(--navh,72px) + 84px);transition:top .5s cubic-bezier(.2,.7,.2,1)}#nav.fx-hide~main .sv-media{top:84px}}
.sv-media{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:#000}
.sv-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.sv-ch:hover .sv-media img{transform:scale(1.035)}
.sv-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(5,5,6,.75)),radial-gradient(ellipse at 50% 50%,transparent 60%,rgba(0,0,0,.45))}
.sv-media::before{content:"";position:absolute;inset:12px;z-index:2;pointer-events:none;--c:rgba(244,244,245,.5);
  background:linear-gradient(var(--c),var(--c)) top left/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) top left/1px 16px no-repeat,linear-gradient(var(--c),var(--c)) top right/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) top right/1px 16px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/1px 16px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/16px 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/1px 16px no-repeat}
.sv-tag{position:absolute;left:20px;bottom:18px;z-index:3;display:flex;gap:10px;align-items:center;font:600 .6rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#e6e6ea}
.sv-tag i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.sv-copy{position:relative;min-width:0}
@media(max-width:900px){.sv-bign{display:none}}
.sv-bign{position:absolute;right:0;top:-.5em;font-family:var(--display);font-size:clamp(4.2rem,8.5vw,7.4rem);line-height:.8;color:transparent;-webkit-text-stroke:1px #2a2a2f;pointer-events:none;user-select:none}
.sv-copy .hud{margin-bottom:22px}
.sv-copy .h-l{max-width:14ch;position:relative}
.sv-copy .lede{margin-top:20px;max-width:46ch}
.sv-built{margin-top:16px;font-size:.9rem;color:var(--mute);max-width:52ch}
.sv-built span{font:700 .6rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-right:8px}
.sv-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 34px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:560px){.sv-cols{grid-template-columns:minmax(0,1fr)}}
.sv-h{font:700 .62rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin:0 0 14px}
.sv-what{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sv-what li{display:grid;grid-template-columns:12px 1fr;gap:10px;font-size:.92rem;color:#d4d4d8;line-height:1.45}
.sv-what li::before{content:"";width:6px;height:6px;margin-top:8px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 8px var(--red)}
.sv-how{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:h}
.sv-how li{display:grid;grid-template-columns:30px 1fr;gap:2px 10px;position:relative}
.sv-how .n{grid-row:span 2;font:700 .62rem var(--mono);letter-spacing:.14em;color:var(--red);padding-top:3px}
.sv-how b{font-weight:600;font-size:.93rem}
.sv-how .d{font-size:.84rem;color:var(--mute);line-height:1.45}
.sv-proof{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:26px;padding:18px 0;border-block:1px solid var(--line)}
.sv-proof .pr b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.sv-proof .pr span{display:block;margin-top:7px;font:600 .55rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);max-width:20ch}
.sv-copy .row-btns{margin-top:28px}

/* ================= PORTFOLIO: one chapter per service ================= */
.pc{position:relative;padding-block:clamp(64px,8vw,116px);border-top:1px solid var(--line);overflow:hidden}
.pc:nth-of-type(even){background:linear-gradient(180deg,#070708,var(--bg))}
.pc-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:center}
.pc.rev .pc-media{order:2}
@media(max-width:900px){.pc-in{grid-template-columns:minmax(0,1fr)}.pc.rev .pc-media{order:0}}
.pc-media{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);background:#000}
.pc-media img{width:100%;height:100%;object-fit:cover;display:block}
.pc-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 62%,rgba(5,5,6,.7))}
.pc-copy{min-width:0}
.pc-copy .h-l{max-width:15ch}
.pc-copy .lede{margin-top:18px}
.pc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}
.pcc{background:var(--bg);padding:18px 18px 16px;min-width:0;position:relative}
.pcc::before{content:"";position:absolute;left:18px;top:0;width:24px;height:2px;background:var(--red);box-shadow:0 0 10px var(--red)}
.pcc .v{display:block;font-family:var(--display);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.pcc .v small{font-size:.55em;color:var(--red);margin-left:3px}
.pcc .m{display:block;margin-top:10px;font-weight:500;font-size:.88rem;line-height:1.35}
.pcc .c{display:block;margin-top:4px;font:600 .55rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pc-copy .row-btns{margin-top:24px}
.sv-ch,.pc,#pf-cases{scroll-margin-top:calc(var(--navh,72px) + 52px)}

/* about: the six services as equal cards */
.ab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:900px){.ab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ab-grid{grid-template-columns:minmax(0,1fr)}}
.ab-svc{display:flex;flex-direction:column;text-align:left;background:var(--bg2);border:1px solid var(--line);padding:0;color:inherit;font:inherit;cursor:pointer;min-width:0;transition:border-color .25s}
.ab-svc:hover,.ab-svc:focus-visible{border-color:rgba(255,43,43,.6)}
.ab-img{display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line);background:#000}
.ab-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.ab-svc:hover .ab-img img{transform:scale(1.05)}
.ab-b{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px}
.ab-b .n{font:700 .6rem var(--mono);letter-spacing:.18em;color:var(--red)}
.ab-b b{font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.05}
.ab-b .l{color:#d0d0d4;font-size:.92rem;line-height:1.45}
.ab-b .f{font:600 .56rem/1.55 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}

/* contact: pick the service */
.fld .lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.cf-chips{display:flex;flex-wrap:wrap;gap:8px}
.cf-chip{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--line2);color:var(--mute);font:600 .62rem var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:10px 13px;cursor:pointer;transition:.2s}
.cf-chip span{color:var(--dim)}
.cf-chip:hover{color:var(--ink);border-color:#4a4a50}
.cf-chip[aria-pressed="true"]{color:var(--ink);border-color:var(--red);background:rgba(255,43,43,.1)}
.cf-chip[aria-pressed="true"] span{color:var(--red)}

/* ================= HOME: the deck's world ================= */
.hm-cover{position:relative;background:var(--bg);isolation:isolate}
.hm-scene{position:relative}
.hm-stage{position:relative;height:clamp(520px,44.444vw,calc(100svh - 210px));container-type:size;overflow:hidden;
  --s:max(calc(100cqw / 3240),calc(100cqh / 1440));--cy:50cqh}
.hm-bgwrap,.hm-pins,.hm-drift{position:absolute;inset:0;transform-origin:50% calc(var(--cy) - 144 * var(--s))}
.hm-bgwrap{z-index:-2}
.hm-drift{animation:hmdrift 30s ease-in-out infinite alternate}
/* the plate is sized by the same maths as everything pinned to it (--s = plate scale, --cy = where its centre sits) */
.hm-bgwrap .bg{position:absolute;left:calc(50cqw - 1620 * var(--s));top:calc(var(--cy) - 720 * var(--s));width:calc(3240 * var(--s));height:calc(1440 * var(--s));max-width:none}
@keyframes hmdrift{from{scale:1}to{scale:1.035}}
/* the orbit tracer sits on the plate's own orbit: same cover maths as the photo */
.hm-orbit{position:absolute;left:calc(50cqw - 1620 * var(--s));top:calc(var(--cy) - 720 * var(--s));width:calc(3240 * var(--s));height:calc(1440 * var(--s));overflow:visible;pointer-events:none;will-change:transform}
.hm-orbit ellipse{fill:none;stroke-linecap:round;animation:9s linear infinite}
.hm-orbit .o-t1{stroke:rgba(255,43,43,.24);stroke-width:22;stroke-dasharray:90 910;animation-name:cm1}
.hm-orbit .o-t2{stroke:rgba(255,60,60,.6);stroke-width:8;stroke-dasharray:50 950;animation-name:cm2}
.hm-orbit .o-t3{stroke:#ff8a8a;stroke-width:6;stroke-dasharray:22 978;animation-name:cm3}
.hm-orbit .o-hd{stroke:#fff;stroke-width:16;stroke-dasharray:.1 999.9;animation-name:cm4}
@keyframes cm1{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
@keyframes cm2{from{stroke-dashoffset:-40}to{stroke-dashoffset:-1040}}
@keyframes cm3{from{stroke-dashoffset:-68}to{stroke-dashoffset:-1068}}
@keyframes cm4{from{stroke-dashoffset:-89.9}to{stroke-dashoffset:-1089.9}}
.hm-warp{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.fx .hm-orbit{display:none}
.hm-stage::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 15%,transparent 74%,var(--bg) 100%)}
.hm-pin{position:absolute;left:calc(50cqw + (var(--x) - .5) * 3240 * var(--s));top:calc(var(--cy) + (var(--y) - .5) * 1440 * var(--s))}
.hm-logo{width:min(calc(720 * var(--s)),78cqw);transform:translate(-50%,-50%);pointer-events:none}
.hm-logo img{width:100%;height:auto;filter:drop-shadow(0 8px 30px rgba(0,0,0,.85))}
.hm-node{display:block;text-decoration:none;white-space:nowrap;transform:translate(calc(48 * var(--s)),-50%)}
.hm-node .fly{display:inline-block}
.hm-node .chip{display:inline-flex;align-items:center;gap:.75em;padding:.62em .95em;border-radius:4px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.18);
  font:600 max(10px,calc(21 * var(--s)))/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;white-space:nowrap;transition:border-color .3s,background .3s,box-shadow .5s}
.hm-node b{color:var(--red);font-weight:700}
.hm-node.r{transform:translate(calc(-100% - 48 * var(--s)),-50%)}
.hm-node:hover .chip,.hm-node:focus-visible .chip{border-color:var(--red);background:rgba(255,43,43,.18)}
.hm-node.hit .chip{border-color:rgba(255,80,80,.95);box-shadow:0 0 28px rgba(255,43,43,.6),inset 0 0 16px rgba(255,43,43,.28)}
@media(max-width:980px){.hm-node{display:none}}
.hm-h1{position:absolute;left:0;right:0;top:calc(var(--cy) + .215 * 1440 * var(--s));padding:0 20px;text-align:center}
.hm-h1 h1{margin:0 auto;max-width:21ch;font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,3.9vw,4.4rem);line-height:1;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.85)}
.hm-h1 h1 em{font-style:normal;color:var(--red)}
.hm-band{position:relative;padding:4px 20px clamp(34px,4.5vw,60px);text-align:center}
.hm-cue{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:clamp(22px,3vw,34px);font:600 .58rem var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--mute)}
.hm-cue i{display:block;width:1px;height:40px;background:linear-gradient(var(--red),transparent);transform-origin:50% 0;animation:cue 2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:1}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.hm-band .row-btns{justify-content:center}
.hm-floor,.hm-flash{display:none}
.hm-scale{display:flex;justify-content:center;max-width:620px;margin:clamp(26px,3.2vw,40px) auto 0}
.hm-scale>div{flex:1;padding:4px 18px}
.hm-scale>div+div{border-left:1px solid #2c2c31}
.hm-scale b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(2.1rem,3.8vw,3.3rem);line-height:.9;letter-spacing:-.02em}
.hm-scale b i{font-style:normal;color:var(--red)}
.hm-scale span{display:block;margin-top:10px;font:600 max(10px,.64rem)/1.45 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#bdbdc2}
/* by the numbers: a plain grid without motion; one number per screen with it */
.hm-num{position:relative;background:#000;border-top:1px solid var(--line)}
.sc-stick{position:relative;padding:clamp(56px,7vw,96px) 0}
.sc-head{margin-bottom:clamp(24px,3vw,38px)}
.sc-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);width:min(1192px,calc(100% - 48px));margin-inline:auto}
.sc-item{background:#000;padding:26px 22px;min-width:0}
.sc-item b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.sc-item b i{font-style:normal;color:var(--red)}
.sc-item span{display:block;margin-top:10px;font:600 .62rem/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.sc-item span em{color:var(--red)}
.sc-last{grid-column:span 2}
.sc-ticks,.sc-cv{display:none}
@media(max-width:760px){.sc-items{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-last{grid-column:1/-1}}

h2.hud{margin:0;font-weight:inherit;line-height:inherit;text-wrap:initial}
.hm-hd{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(16px,2vw,24px)}
.hm-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1600px;margin:0 auto}
@media(max-width:760px){.hm-panel{grid-template-columns:minmax(0,1fr)}}
.hm-more{display:flex;justify-content:center;padding-top:clamp(24px,3vw,36px)}
.tl{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;container-type:inline-size;background:#000;color:#fff;font-family:var(--body);text-decoration:none}
.tl h3{font-weight:400;text-wrap:initial}
.tl p{margin:0}
a.tl::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid transparent;transition:border-color .3s,box-shadow .3s}
a.tl:hover::after,a.tl:focus-visible::after{border-color:rgba(255,43,43,.75);box-shadow:inset 0 0 70px rgba(255,43,43,.2)}
a.tl:focus-visible{outline:none}
.tl .go{position:absolute;right:6.667cqw;top:126.5cqw;font:600 max(10px,1.6cqw)/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);transition:color .25s}
a.tl:hover .go,a.tl:focus-visible .go{color:var(--red)}
.hm-closebtn{position:absolute;left:50%;top:112cqw;transform:translateX(-50%);white-space:nowrap !important}
/* labels wrap inside their own tile instead of running off it; plates stay under every label */
.tl *{white-space:normal !important}
.tl h3{white-space:nowrap !important}
.tl>*:not(:first-child){z-index:1}
a.tl::after{z-index:2}
.tl .hm-closebtn{white-space:nowrap !important}
.tl{--fa:8.5px;--fb:9.5px;--fc:11px}
.tl .xp{letter-spacing:.1em !important}
@media(min-width:761px) and (max-width:1100px){
  .tl{--fa:7px;--fb:7.8px;--fc:9.5px}
  .tl span:is(.zs-048bb39,.zs-079a676,.zs-0a3165c,.zs-0e75d45,.zs-2bc7aed,.zs-2c600d6,.zs-3860640,.zs-38a7e69,.zs-3f30d34,.zs-3f4b432,.zs-55beb66,.zs-55c4a97,.zs-59bbe2c,.zs-5ff14d6,.zs-6186edc,.zs-6a5bd5f,.zs-73c92fe,.zs-746b537,.zs-8213445,.zs-82dd040,.zs-838eeb4,.zs-931588e,.zs-94e2b24,.zs-96bfc1c,.zs-9b9f65c,.zs-a0b478e,.zs-a27360e,.zs-b40fc7c,.zs-ba898f4,.zs-ca23afc,.zs-cdf41c8,.zs-d650019,.zs-e05421e,.zs-e7fff22,.zs-ebd247a,.zs-fb81fd7,.zs-fd5247a,.zs-fdf9c74),.tl .xp{letter-spacing:.07em !important}
}
@media(max-width:760px){
  .tl{--fa:7.6px;--fb:8.6px;--fc:10.5px}
  .tl span:is(.zs-048bb39,.zs-079a676,.zs-0a3165c,.zs-0e75d45,.zs-2bc7aed,.zs-2c600d6,.zs-3860640,.zs-38a7e69,.zs-3f30d34,.zs-3f4b432,.zs-55beb66,.zs-55c4a97,.zs-59bbe2c,.zs-5ff14d6,.zs-6186edc,.zs-6a5bd5f,.zs-73c92fe,.zs-746b537,.zs-8213445,.zs-82dd040,.zs-838eeb4,.zs-931588e,.zs-94e2b24,.zs-96bfc1c,.zs-9b9f65c,.zs-a0b478e,.zs-a27360e,.zs-b40fc7c,.zs-ba898f4,.zs-ca23afc,.zs-cdf41c8,.zs-d650019,.zs-e05421e,.zs-e7fff22,.zs-ebd247a,.zs-fb81fd7,.zs-fd5247a,.zs-fdf9c74),.tl .xp{letter-spacing:.08em !important}
  .hm-hd .hud+.hud{display:none}
}

/* ================= OUR NETWORK: the Cintra Network ================= */
.nw-hero{position:relative;min-height:clamp(700px,100svh,980px);overflow:hidden;isolation:isolate;background:#000}
.nw-hero-in{position:relative;z-index:2;padding-top:clamp(128px,14vw,168px)}
.nw-hero h1{font-size:clamp(2.5rem,5.8vw,5.2rem);max-width:17ch}
.nw-hero .lede{margin-top:20px;max-width:50ch}
.nw-hero .row-btns{margin-top:28px}
.nw-crowd{position:absolute;left:0;right:0;bottom:0;height:70%;margin:0;z-index:1}
.nw-crowd img{width:100%;height:100%;object-fit:cover;object-position:50% 31%;display:block}
.nw-crowd::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.86) 20%,rgba(0,0,0,.42) 38%,transparent 54%,transparent 84%,var(--bg) 100%)}
@media(min-width:1600px){.nw-crowd img{object-position:50% 58%}}
@media(max-width:760px){.nw-hero{min-height:0;padding-bottom:0}.nw-crowd{position:relative;height:auto;aspect-ratio:1.2;margin-top:30px}
  .nw-crowd img{object-position:50% 40%}}
.nw-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);background:rgba(5,5,6,.6);margin-top:-1px}
.nw-strip>div{padding:22px 24px;border-left:1px solid var(--line2);min-width:0}
.nw-strip>div:first-child{border-left:0}
.nw-strip b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1}
.nw-strip b i{font-style:normal;color:var(--red)}
.nw-strip span{display:block;margin-top:9px;font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media(max-width:760px){.nw-strip{grid-template-columns:repeat(2,1fr)}.nw-strip>div:nth-child(3){border-left:0}.nw-strip>div:nth-child(n+3){border-top:1px solid var(--line2)}}

.nw-what{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,6vw,90px);align-items:center}
@media(max-width:860px){.nw-what{grid-template-columns:minmax(0,1fr)}}
.nw-dots{max-width:460px;width:100%;justify-self:end;border:1px solid var(--line)}
@media(max-width:860px){.nw-dots{justify-self:center;max-width:440px}}
.nw-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.nw-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6px 20px;padding:14px 0;border-bottom:1px solid var(--line)}
.nw-list b{font-weight:600;font-size:.95rem}
.nw-list span{color:var(--mute);font-size:.9rem}
@media(max-width:520px){.nw-list li{grid-template-columns:1fr}}

.nw-band{position:relative;min-height:clamp(480px,44vw,640px);display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#000}
.nw-band>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.nw-band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 30%,rgba(0,0,0,.12) 60%,rgba(0,0,0,.2) 100%),linear-gradient(180deg,var(--bg) 0%,transparent 16%,transparent 84%,var(--bg) 100%)}
.nw-band .wrap{width:100%}
.nw-band h2{max-width:12ch;margin-top:22px}
.nw-band .lede{max-width:40ch;margin-top:20px}
.nw-castband>.bg{object-position:30% 50%}
.nw-chip{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:11px 16px;border:1px solid var(--red);background:rgba(255,43,43,.1);font:600 .64rem var(--mono);letter-spacing:.2em;text-transform:uppercase}
.nw-chip i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);animation:blink 1.4s steps(2) infinite}
@media(max-width:760px){.nw-band{min-height:0;padding:120px 0 64px;align-items:flex-end}.nw-band::after{background:linear-gradient(180deg,var(--bg) 0%,rgba(0,0,0,.35) 30%,rgba(0,0,0,.85) 62%,#000 100%)}
  .nw-castband>.bg{object-position:78% 50%}}
.nw-checkscene{padding-top:clamp(28px,4vw,48px)}
.nw-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:860px){.nw-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nw-checks{grid-template-columns:minmax(0,1fr)}}
.nw-checks>div{background:var(--bg);padding:26px 24px 28px;position:relative;min-width:0}
.nw-checks>div::before{content:"";position:absolute;left:24px;top:0;width:26px;height:2px;background:var(--red);box-shadow:0 0 10px var(--red)}
.nw-checks .n{font:700 .6rem var(--mono);letter-spacing:.18em;color:var(--red)}
.nw-checks b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.1;margin-top:14px}
.nw-checks .s{display:block;margin-top:8px;color:var(--mute);font-size:.9rem}

.nw-flow{list-style:none;margin:clamp(30px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:f}
@media(max-width:980px){.nw-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nw-flow{grid-template-columns:minmax(0,1fr)}}
.nw-flow li{min-width:0}
.nw-flow .n{display:block;margin-top:18px;font:700 .6rem var(--mono);letter-spacing:.18em;color:var(--red)}
.nw-flow b{display:block;font-family:var(--display);font-weight:400;font-size:1.15rem;line-height:1.12;margin-top:10px}
.nw-flow p{color:var(--mute);font-size:.9rem;margin-top:8px}
.nw-flow .viz{position:relative;aspect-ratio:3/2;border:1px solid var(--line2);background:#060607;overflow:hidden;
  --c:rgba(244,244,245,.42);
  background-image:linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c));
  background-size:12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px,12px 1px,1px 12px;background-repeat:no-repeat;
  background-position:8px 8px,8px 8px,calc(100% - 8px) 8px,calc(100% - 8px) 8px,8px calc(100% - 8px),8px calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) calc(100% - 8px)}
.nw-flow .viz i{position:absolute;inset:18% 12%;display:block}
.nw-flow .v1 i{background:radial-gradient(circle,rgba(244,244,245,.55) 1.1px,transparent 1.6px) 0 0/9px 9px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 55%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,#000 55%,transparent 75%)}
.nw-flow .v1::after{content:"700+";position:absolute;right:12px;bottom:10px;font:700 .58rem var(--mono);letter-spacing:.16em;color:var(--red)}
.nw-flow .v2 i{inset:30% 24%;background:radial-gradient(circle,#f4f4f5 2.2px,transparent 2.8px) 0 0/22px 22px;border:1px solid rgba(255,43,43,.75);box-shadow:0 0 18px rgba(255,43,43,.25)}
.nw-flow .v2::after{content:"SHORTLIST · 48H";position:absolute;right:12px;bottom:10px;font:700 .58rem var(--mono);letter-spacing:.16em;color:var(--red)}
.nw-flow .v3 i{inset:auto;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 10px rgba(255,43,43,.14),0 0 0 22px rgba(255,43,43,.07),0 0 26px 6px rgba(255,43,43,.55)}
.nw-flow .v3::after{content:"THE PICK";position:absolute;right:12px;bottom:10px;font:700 .58rem var(--mono);letter-spacing:.16em;color:var(--red)}
.nw-flow .v4 i{inset:22% 22%;border:1px solid rgba(244,244,245,.5)}
.nw-flow .v4 i::before{content:"REC";position:absolute;left:10px;top:8px;padding-left:12px;font:700 .55rem var(--mono);letter-spacing:.16em;color:#f4f4f5;
  background:radial-gradient(circle,var(--red) 3.5px,transparent 4px) 0 50%/8px 8px no-repeat}
.nw-flow .v4 i::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:1px solid var(--red);border-radius:50%;box-shadow:0 0 14px rgba(255,43,43,.5)}
.nw-flow .v4::after{content:"ON SET";position:absolute;right:12px;bottom:10px;font:700 .58rem var(--mono);letter-spacing:.16em;color:var(--red)}

.nw-zero-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);align-items:center}
@media(max-width:900px){.nw-zero-in{grid-template-columns:minmax(0,1fr)}}
.nw-big{font-family:var(--display);font-size:clamp(6rem,15vw,12.5rem);line-height:.8;letter-spacing:-.05em;color:var(--red);text-shadow:0 0 70px rgba(255,43,43,.45);margin:22px 0 18px}
.nw-bill{border:1px solid var(--line2);background:#08080a}
.nw-bill .hd,.nw-bill .r{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:12px;padding:17px 22px;align-items:center}
.nw-bill .hd{font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line2)}
.nw-bill .hd span:last-child{color:var(--red)}
.nw-bill .r{border-bottom:1px solid var(--line)}
.nw-bill .r span:first-child{font-weight:500}
.nw-bill .a{color:#bdbdc2;font-size:.9rem}
.nw-bill .c{font-family:var(--display);color:var(--red);font-size:1.25rem;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.nw-bill .c s{font:500 .7rem var(--mono);letter-spacing:.08em;color:var(--dim);text-transform:uppercase}
.nw-bill .fine{padding:18px 22px 20px;font-size:.84rem;color:var(--mute);margin:0;line-height:1.6}
@media(max-width:520px){.nw-bill .hd,.nw-bill .r{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.8fr);padding:14px 14px;gap:8px}.nw-bill .c s{display:none}}

.nw-nanohead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px 50px;align-items:end}
@media(max-width:860px){.nw-nanohead{grid-template-columns:minmax(0,1fr)}}
.nw-ripple{position:relative;margin:clamp(26px,4vw,44px) auto 0;max-width:1600px;aspect-ratio:2.1;overflow:hidden}
.nw-ripple img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;display:block}
.nw-ripple::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--bg) 0%,transparent 14%,transparent 82%,var(--bg) 100%)}
.nw-ripple .lb{position:absolute;z-index:1;font:600 max(10px,.7rem) var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#e6e6ea}
.nw-ripple .lb b{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.6vw,2.2rem);letter-spacing:0;color:#fff;margin-right:.35em;vertical-align:-.12em}
.nw-ripple .l1{left:3%;top:26%;white-space:nowrap}
.nw-ripple .ld{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.nw-ripple .ld line{stroke:rgba(244,244,245,.6);stroke-width:1;vector-effect:non-scaling-stroke}
.nw-ripple .ld circle{fill:#fff}
.nw-ripple .l2{right:4%;bottom:12%}
@media(max-width:760px){.nw-ripple{aspect-ratio:1.25}.nw-ripple .ld{display:none}.nw-ripple .l1{left:5%;top:7%}.nw-ripple .l2{right:4%;bottom:6%}}
.nw-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;margin-top:clamp(40px,6vw,80px)}
@media(max-width:900px){.nw-split{grid-template-columns:minmax(0,1fr)}}
.nw-plinth{margin:0;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);background:#000}
.nw-plinth img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;display:block}
@media(max-width:900px){.nw-plinth{aspect-ratio:16/11}}
.nw-h3{font-size:clamp(1.8rem,3.4vw,2.8rem);margin-top:16px;line-height:1}
.nw-p{color:#c4c4c9;margin-top:16px;max-width:46ch}
.nw-time{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.nw-time li{padding:14px 14px 14px 16px;font:600 .58rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d6d6da;position:relative}
.nw-time li+li{border-left:1px solid var(--line)}
.nw-time li::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);margin-bottom:10px}
.nw-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.nw-packs>div{border:1px solid var(--line2);padding:16px 18px;background:#08080a}
.nw-packs .k{font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.nw-packs b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--red);margin-top:8px;line-height:1}
.nw-packs .d{display:block;margin-top:8px;font-size:.82rem;color:var(--mute)}
.nw-fine{margin-top:12px;font-size:.8rem;color:var(--dim)}
.nw-proof{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.nw-proof>b{font-family:var(--display);font-weight:400;font-size:1.9rem;color:var(--red);line-height:1}
.nw-proof span{font-family:var(--mono);font-size:.7rem;color:var(--mute)}
.nw-proof span b{font-family:var(--display);font-weight:400;font-size:1.05rem;color:#fff}
.nw-proof em{font-style:normal;color:var(--mute);font-size:.8rem;flex-basis:100%}
@media(max-width:520px){.nw-time{grid-template-columns:minmax(0,1fr)}.nw-time li+li{border-left:0;border-top:1px solid var(--line)}.nw-packs{grid-template-columns:minmax(0,1fr)}}

.nw-uses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
@media(max-width:1180px){.nw-uses{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.nw-uses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nw-uses{grid-template-columns:minmax(0,1fr)}}
.nw-use{display:flex;flex-direction:column;gap:10px;padding:24px 22px;border:1px solid var(--line);background:var(--bg2);color:inherit;text-decoration:none;min-width:0;transition:border-color .25s,background .25s}
.nw-use:hover,.nw-use:focus-visible{border-color:rgba(255,43,43,.7);background:#0e0d0f}
.nw-use .k{font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.nw-use b{font-family:var(--display);font-weight:400;font-size:1.2rem;line-height:1.1}
.nw-use .d{color:var(--mute);font-size:.88rem;flex:1}
.nw-use .go{font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#bdbdc2;margin-top:6px}
.nw-use:hover .go{color:var(--red)}

.nw-close{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(120px,14vw,200px) 0 clamp(90px,10vw,140px);border-top:1px solid var(--line)}
.nw-close>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;z-index:-2}
.nw-close::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--bg) 0%,rgba(5,5,6,.55) 40%,rgba(5,5,6,.35) 70%,var(--bg) 100%)}
.nw-close h2{margin-top:24px}
.nw-close .row-btns{justify-content:center;margin-top:34px}
.nw-join{margin-top:26px;color:var(--mute);font-size:.92rem}
.lnk{background:none;border:0;padding:0;color:#fff;font:inherit;font-weight:500;cursor:pointer;border-bottom:1px solid var(--red)}
.lnk:hover{color:var(--red)}

/* ================= PORTFOLIO ================= */
.pf-scale{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);margin-top:40px;background:rgba(5,5,6,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);max-width:880px}
.pf-scale>div{padding:20px 22px;border-left:1px solid var(--line2);min-width:0}
.pf-scale>div:first-child{border-left:0}
.pf-scale b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.3rem);color:var(--red);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 24px rgba(255,43,43,.35)}
.pf-scale span{display:block;margin-top:9px;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(max-width:760px){.pf-scale{grid-template-columns:repeat(2,1fr)}.pf-scale>div:nth-child(3){border-left:0}.pf-scale>div:nth-child(n+3){border-top:1px solid var(--line2)}}

.pf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,4vw,44px)}
.pf-chip{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);background:none;border:1px solid var(--line2);padding:10px 14px;cursor:pointer;transition:.2s;display:inline-flex;gap:9px;align-items:center}
.pf-chip:hover{color:var(--ink);border-color:#4a4a50}
.pf-chip[aria-pressed="true"]{color:var(--ink);border-color:var(--red);background:rgba(255,43,43,.08)}
.pf-chip i{font-style:normal;color:var(--dim)}
.pf-chip[aria-pressed="true"] i{color:var(--red)}

#portfolio .phero .bg::before{content:"";position:absolute;left:0;right:0;top:0;height:34%;z-index:1;background:linear-gradient(180deg,var(--bg),transparent)}
@media(max-width:700px){#portfolio .phero .bg img{transform:scale(2.5);transform-origin:50% 100%}}/* featured: the result is the picture */

@keyframes run2{to{background-position:0 40px}}

.pf-stats{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:20px;padding-block:16px;border-block:1px solid var(--line)}
.pf-stats b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
.pf-stats span{display:block;margin-top:7px;font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);max-width:17ch;line-height:1.5}
.pf-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.pf-tags span{font-family:var(--mono);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:#c9c9ce;border:1px solid var(--line2);padding:6px 10px}
.pf-story{display:grid;gap:12px;margin-top:20px}
.pf-story div{display:grid;grid-template-columns:96px 1fr;gap:12px;font-size:.9rem;color:#b9b9be;line-height:1.55}
.pf-story b{font-family:var(--mono);font-weight:600;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding-top:4px}
@media(max-width:460px){.pf-story div{grid-template-columns:1fr;gap:2px}}

/* index: the rest of the work, one row each */
.pf-idx-head{margin:clamp(56px,7vw,88px) 0 18px}
.pf-index{border-top:1px solid var(--line)}
.pf-row{border-bottom:1px solid var(--line);position:relative}
.pf-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--red) 18%,var(--red) 82%,transparent);box-shadow:0 0 12px rgba(255,43,43,.6);transform:scaleX(0);transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pf-row:hover::after,.pf-row[open]::after{transform:scaleX(1)}
.pf-row summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1.2fr) minmax(0,1fr) 42px;gap:18px 30px;align-items:center;padding:28px 0}
.pf-row summary::-webkit-details-marker{display:none}
.pf-row summary:focus-visible{outline:1px solid var(--red);outline-offset:4px}
.pf-row .ix{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--red);align-self:start;padding-top:.7em}
.pf-row .nm{font-family:var(--display);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1;letter-spacing:-.02em;transition:text-shadow .3s}
.pf-row:hover .nm,.pf-row[open] .nm{text-shadow:0 0 30px rgba(255,43,43,.4)}
.pf-row .hd{margin-top:10px;font-size:.96rem;color:#c4c4c9;line-height:1.45;font-weight:400}
.pf-row .hd em{font-style:normal;color:var(--red)}
.pf-row .mt{margin-top:9px;font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pf-row .ks{display:flex;gap:12px 30px;flex-wrap:wrap;align-items:flex-start}
.pf-row .ks b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.pf-row .ks span{display:block;margin-top:7px;font-family:var(--mono);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);max-width:18ch;line-height:1.5}
.pf-row .ks .pf-tags{margin-top:0}
.pf-row .ks .pf-tags span{margin-top:0;max-width:none;color:#c9c9ce;font-size:.56rem}
.pf-row .pm{width:42px;height:42px;border:1px solid var(--line2);justify-self:end;position:relative;transition:border-color .25s,background .25s}
.pf-row .pm::before,.pf-row .pm::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1px;margin:-.5px 0 0 -6.5px;background:var(--ink);transition:transform .3s}
.pf-row .pm::after{transform:rotate(90deg)}
.pf-row:hover .pm{border-color:#4a4a50}
.pf-row[open] .pm{border-color:var(--red);background:rgba(255,43,43,.1)}
.pf-row[open] .pm::after{transform:rotate(0)}
.pf-row .more{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 30px;padding:0 0 34px}
.pf-row .more .in{grid-column:2;max-width:780px}
.pf-row .more .pf-story{margin-top:0}
@media(max-width:820px){
  .pf-row summary{grid-template-columns:34px minmax(0,1fr) 42px;gap:16px 14px;padding:24px 0}
  .pf-row .ks{grid-column:2/4;grid-row:2}
  .pf-row .pm{grid-column:3;grid-row:1;align-self:start}
  .pf-row .more{grid-template-columns:34px minmax(0,1fr);gap:0 14px}
}
.pf-also{margin-top:26px;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pf-also b{color:var(--mute);font-weight:600}

.pf-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
@media(max-width:860px){.pf-split{grid-template-columns:1fr}}
.pf-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);max-width:100%;background:#0a0a0b}
.pf-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.pf-frame:hover img{transform:scale(1.03)}
.pf-frame .hudlbl{position:absolute;left:16px;bottom:14px;z-index:2;font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;color:#e6e6ea;text-transform:uppercase;display:flex;gap:10px;align-items:center}
.pf-frame .hudlbl i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.pf-trio{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-block:1px solid var(--line)}
.pf-trio div{padding:18px 16px 18px 0;min-width:0}
.pf-trio div+div{padding-left:18px;border-left:1px solid var(--line)}
.pf-trio b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1}
.pf-trio b em,.pf-trio b small{color:var(--red);font-size:.6em}
.pf-trio span{display:block;margin-top:9px;font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);line-height:1.5}
@media(max-width:480px){.pf-trio{grid-template-columns:1fr}.pf-trio div{padding-right:0}.pf-trio div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.pf-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:820px){.pf-two{grid-template-columns:1fr}}
.pf-fmt{border:1px solid var(--line);background:var(--bg2);min-width:0}
.pf-fmt .pf-frame{aspect-ratio:16/10;border:0;border-bottom:1px solid var(--line)}
.pf-fmt .b{padding:clamp(22px,2.6vw,32px)}
.pf-fmt h3{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-top:12px}
.pf-fmt p{color:#b9b9be;margin-top:12px;font-size:.93rem}

/* leadership org line */
/* ================= ABOUT: the people (v13) ================= */
.ab-hero{position:relative;padding-top:calc(var(--navh,72px) + clamp(44px,6vw,86px));background:radial-gradient(ellipse 90% 55% at 50% 92%,rgba(255,43,43,.16),transparent 70%),var(--bg);overflow:hidden;isolation:isolate}
.ab-hero-in{position:relative;z-index:3}
.ab-hero h1{font-size:clamp(2.6rem,7.2vw,6.2rem);max-width:14ch;margin-top:26px}
.ab-hero .lede{margin-top:24px;max-width:54ch}
.ab-hero .row-btns{margin-top:30px}
.ab-wall{position:relative;margin:clamp(18px,3vw,40px) 0 calc(-1 * clamp(30px,6.4vw,96px));aspect-ratio:3240/1440;container-type:inline-size;overflow:hidden;z-index:1}
.ab-wall img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ab-wall::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--bg) 0%,rgba(5,5,6,0) 16%,rgba(5,5,6,0) 82%,var(--bg) 100%)}
.ab-pins{position:absolute;inset:0;z-index:2;pointer-events:none}
.ab-pin{position:absolute;left:var(--x);top:71.5%;transform:translateX(-50%);text-align:center;white-space:nowrap}
.ab-pin b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(.78rem,1.6cqw,1.55rem);line-height:1.1;color:var(--ink);text-shadow:0 2px 14px #000}
.ab-pin i{display:block;margin-top:.45cqw;font:600 clamp(.4rem,.62cqw,.68rem)/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-style:normal}
@media(max-width:700px){.ab-pin .ln,.ab-pin i{display:none}.ab-pin{top:73%}}

.ab-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line2);background:rgba(5,5,6,.72);position:relative;z-index:2;margin-top:-1px}
.ab-stats>div{padding:22px 20px;border-left:1px solid var(--line2);min-width:0}
.ab-stats>div:first-child{border-left:0}
.ab-stats b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1;white-space:nowrap}
.ab-stats b i{font-style:normal;color:var(--red)}
.ab-stats span{display:block;margin-top:9px;font:600 .56rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(max-width:980px){.ab-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-stats>div:nth-child(4){border-left:0}.ab-stats>div:nth-child(n+4){border-top:1px solid var(--line2)}}
@media(max-width:520px){.ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-stats>div{border-left:1px solid var(--line2)}.ab-stats>div:nth-child(odd){border-left:0}.ab-stats>div:nth-child(n+3){border-top:1px solid var(--line2)}}

.ab-k{font:700 .6rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.ab-sh{margin-bottom:clamp(30px,4vw,52px)}
.ab-who-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,5vw,80px);align-items:start}
@media(max-width:900px){.ab-who-in{grid-template-columns:minmax(0,1fr)}}
.ab-big{font-family:var(--display);font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.18;color:var(--ink);margin:28px 0 0;max-width:24ch}
.ab-who .lede{margin-top:18px}
.ab-gets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:16px}
.ab-gets>div{background:var(--bg);padding:22px 22px 24px;position:relative;min-width:0}
.ab-gets>div::before{content:"";position:absolute;left:22px;top:0;width:22px;height:2px;background:var(--red);box-shadow:0 0 10px var(--red)}
.ab-gets .n{font:700 .6rem var(--mono);letter-spacing:.16em;color:var(--mute)}
.ab-gets b{display:block;margin-top:12px;font-family:var(--display);font-weight:400;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.18}
@media(max-width:520px){.ab-gets{grid-template-columns:minmax(0,1fr)}}

/* leadership: one card each */
.ab-leads-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:1060px){.ab-leads-grid{grid-template-columns:minmax(0,1fr)}}
.ab-lead{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);background:var(--bg2);border:1px solid var(--line);min-width:0;position:relative;overflow:hidden;transition:border-color .3s}
.ab-lead:hover{border-color:rgba(255,43,43,.55)}
.ab-lead-ph{margin:0;position:relative;background:#000;overflow:hidden}
.ab-lead-ph img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:50% 40%;display:block;aspect-ratio:3/4;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.ab-lead:hover .ab-lead-ph img{transform:scale(1.04)}
.ab-lead-ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,11,13,0) 68%,var(--bg2))}
.ab-lead-b{padding:28px 28px 26px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ab-div{display:flex;align-items:center;gap:10px;font:700 .58rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.ab-div i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);flex:none}
.ab-lead h3{font-size:clamp(1.6rem,2.5vw,2.15rem);line-height:1;margin-top:4px}
.ab-title{font:600 .62rem/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#d8d8dc}
.ab-bio{font-size:.92rem;line-height:1.62;color:#bdbdc2;margin:6px 0 0}
.ab-owns{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ab-owns span{font:600 .55rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line2);padding:6px 9px}
.ab-xpl{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.ab-xpl .k{display:block;font:700 .55rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.ab-xpl ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ab-xpl li{font-size:.84rem;line-height:1.45;color:#dcdce0;display:grid;grid-template-columns:10px 1fr;gap:8px}
.ab-xpl li::before{content:"";width:5px;height:5px;margin-top:7px;background:var(--red);transform:rotate(45deg)}
@media(max-width:560px){.ab-lead{grid-template-columns:minmax(0,1fr)}.ab-lead-ph img{aspect-ratio:4/3;object-position:50% 34%}.ab-lead-ph::after{background:linear-gradient(180deg,rgba(11,11,13,0) 62%,var(--bg2))}.ab-lead-b{padding:6px 22px 24px}}

/* the team: a card each */
.ab-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:1000px){.ab-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ab-team-grid{grid-template-columns:minmax(0,1fr)}}
.ab-mate{background:var(--bg2);border:1px solid var(--line);padding:24px 22px 20px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:border-color .3s}
.ab-mate:hover{border-color:rgba(255,43,43,.55)}
.ab-mate-top{display:flex;align-items:center;gap:16px;min-width:0}
.ab-mate-top img{width:88px;height:88px;border-radius:50%;flex:none;object-fit:cover;background:#111}
.ab-mate h3{font-size:1.4rem;line-height:1.05}
.ab-mate .ab-title{margin-top:6px}
.ab-mate .ab-bio{margin:0}
.ab-x1{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:6px}
.ab-x1>div{display:flex;gap:10px;align-items:baseline;font:600 .56rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.ab-x1 span{color:var(--mute);min-width:9.5em}
.ab-x1 b{color:#e6e6ea;font-weight:600}

/* the wider team: 40 ticks, one per specialist, by division */
.ab-wide{margin-top:clamp(40px,6vw,80px);border:1px solid var(--line2);background:linear-gradient(180deg,#0a0a0c,var(--bg));padding:clamp(24px,4vw,46px)}
.ab-wide-h{display:flex;align-items:center;gap:clamp(16px,3vw,30px);flex-wrap:wrap}
.ab-wide-h b{font-family:var(--display);font-weight:400;font-size:clamp(3.4rem,8vw,6.4rem);line-height:.9}
.ab-wide-h b i{font-style:normal;color:var(--red)}
.ab-wide-h span{font:600 .64rem/1.65 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#cfcfd4;max-width:34ch}
.ab-divs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px);margin-top:clamp(26px,3.6vw,40px)}
@media(max-width:860px){.ab-divs{grid-template-columns:minmax(0,1fr)}}
.ab-dv{min-width:0;padding-top:18px;border-top:1px solid var(--line2);position:relative}
.ab-dv::before{content:"";position:absolute;left:0;top:-1px;width:46px;height:2px;background:var(--red);box-shadow:0 0 10px var(--red)}
.ab-dv h3{font:700 .7rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);display:flex;justify-content:space-between;gap:10px}
.ab-dv h3 span{color:var(--red)}
.ab-ticks{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px;min-height:42px;align-items:flex-end}
.ab-ticks i{display:block;width:6px;height:28px;background:#34343a;transform-origin:50% 100%}
.ab-ticks i.on{height:42px;background:var(--red);box-shadow:0 0 10px rgba(255,43,43,.55)}
@media(max-width:600px){.ab-ticks{gap:4px}.ab-ticks i{width:5px}}
.ab-dv p{font-size:.9rem;color:#bdbdc2;margin:14px 0 0;line-height:1.55}
.ab-dv .names{margin-top:10px;font:600 .58rem/1.7 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#e0e0e4}
.ab-bench{margin-top:clamp(28px,4vw,42px);padding-top:clamp(22px,3vw,30px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:20px 40px;align-items:center}
@media(max-width:860px){.ab-bench{grid-template-columns:minmax(0,1fr)}}
.ab-bench-h{font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.1;margin:12px 0 0}
.ab-bench-p{font-size:.9rem;color:#bdbdc2;margin:10px 0 0;line-height:1.55}
.ab-bench-roles{display:flex;flex-wrap:wrap;gap:8px}
.ab-bench-roles span{border:1px solid var(--line2);padding:10px 13px;font:600 .6rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#e6e6ea;background:rgba(255,255,255,.015)}

/* team to CEO: four rings round your brand */
.ab-org-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,5vw,80px);align-items:center}
@media(max-width:900px){.ab-org-in{grid-template-columns:minmax(0,1fr)}}
.ab-rings{position:relative;aspect-ratio:1/1;width:100%;max-width:520px;margin-inline:auto;container-type:inline-size}
.ab-rings .r{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid #3a3a40}
.ab-rings .r1{width:34%;height:34%;border-color:rgba(255,43,43,.95);box-shadow:0 0 34px rgba(255,43,43,.3),inset 0 0 34px rgba(255,43,43,.22);background:radial-gradient(circle,rgba(255,43,43,.22),transparent 70%)}
.ab-rings .r2{width:56%;height:56%;border-color:rgba(255,43,43,.5)}
.ab-rings .r3{width:78%;height:78%;border:0}
.ab-rings .r3::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed #4a4a50}
.ab-rings .pulse{display:none}
.ab-rings.fx-live .r3::before{animation:ab-spin 70s linear infinite}
.ab-rings.fx-live .pulse{display:block;position:absolute;inset:0;margin:auto;width:99%;height:99%;border-radius:50%;border:1px solid rgba(255,43,43,.85);box-shadow:0 0 18px rgba(255,43,43,.35);animation:ab-pulse 3.8s cubic-bezier(.2,.7,.2,1) infinite;pointer-events:none}
@keyframes ab-spin{to{transform:rotate(360deg)}}
@keyframes ab-pulse{0%{transform:scale(.34);opacity:.95}80%{opacity:0}100%{transform:scale(1);opacity:0}}
.ab-rings .r4{width:99%;height:99%}
.ab-rings .core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-size:clamp(.9rem,4.4cqw,1.45rem);line-height:1.05;text-shadow:0 0 18px rgba(255,43,43,.6)}
.ab-rings .lb{position:absolute;left:0;right:0;width:max-content;margin:-.95em auto 0;font:700 clamp(.46rem,2.3cqw,.68rem) var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--bg);padding:4px 9px;white-space:nowrap}
.ab-rings .lb em{font-style:normal;color:var(--red)}
.ab-rings .l1{top:33%}.ab-rings .l2{top:22%}.ab-rings .l3{top:11%}.ab-rings .l4{top:.5%}
.ab-org-copy .lede{margin-top:22px}
.ab-esc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:12px}
.ab-esc>div{background:var(--bg);padding:18px 18px 20px;min-width:0}
.ab-esc b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1}
.ab-esc b small{font-size:.5em;color:var(--red);margin-left:3px}
.ab-esc span{display:block;margin-top:8px;font-size:.86rem;color:#d4d4d8}
@media(max-width:420px){.ab-esc{grid-template-columns:minmax(0,1fr)}}
.ab-why{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:11px}
.ab-why li{display:grid;grid-template-columns:12px 1fr;gap:10px;font-size:.95rem;line-height:1.5;color:#d4d4d8}
.ab-why li::before{content:"";width:6px;height:6px;margin-top:8px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 8px var(--red)}

/* experience from */
.ab-xp{padding-block:clamp(64px,8vw,116px);border-block:1px solid var(--line);background:radial-gradient(ellipse 60% 90% at 50% 55%,rgba(255,43,43,.09),transparent 70%);overflow:hidden}
.ab-xp-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,2.4vw,28px) clamp(28px,4.6vw,66px);margin-top:4px}
.ab-xp-grid span{font-family:var(--display);font-size:clamp(1.35rem,3.3vw,2.7rem);line-height:1;color:#ececef;letter-spacing:-.01em;white-space:nowrap}
.ab-xp-grid span:nth-child(even){color:transparent;-webkit-text-stroke:1.2px #b4b4bc}

/* principles */
.ab-pr{list-style:none;margin:clamp(30px,4vw,48px) 0 0;padding:0;border-top:1px solid var(--line)}
.ab-pr li{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1.1fr);gap:12px 30px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.ab-pr .n{font:700 .66rem var(--mono);letter-spacing:.16em;color:var(--red)}
.ab-pr b{font-family:var(--display);font-weight:400;font-size:clamp(1.25rem,2.3vw,1.9rem);line-height:1.1}
.ab-pr .d{color:#bdbdc2;font-size:.95rem;line-height:1.6}
@media(max-width:760px){.ab-pr li{grid-template-columns:44px minmax(0,1fr)}.ab-pr .d{grid-column:2}}

/* trusted and recognised */
.ab-trust-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,30px)}
@media(max-width:900px){.ab-trust-in{grid-template-columns:minmax(0,1fr)}}
.ab-tb{border:1px solid var(--line);background:var(--bg2);padding:clamp(22px,3vw,34px);min-width:0}
.ab-brands{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:20px;align-items:baseline}
.ab-brands span{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1}
.ab-brands em{font:600 .6rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-style:normal}
.ab-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ab-badges span{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line2);padding:10px 12px;font:600 .6rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#e6e6ea}
.ab-badges span::before{content:"";width:6px;height:6px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 8px var(--red);flex:none}
.ab-reg{margin-top:22px;font:600 .56rem/1.8 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ab-svcs{border-top:1px solid var(--line)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

/* any section reached by a #link clears the fixed nav */
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + 8px)}

.two{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:700px){.two{grid-template-columns:1fr}}
.two>div{background:var(--bg);padding:clamp(26px,3vw,40px);min-width:0}
.two h3{font-size:1.5rem}.two p{color:#bdbdc2;margin-top:14px}
.two .go{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}

/* network */
.net{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.net .p{background:var(--bg);padding:18px;min-width:0}
.net .av{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 30%,#26262b,#0a0a0b 72%);border:1px solid var(--line2);margin-bottom:14px;display:grid;place-items:center;font-family:var(--display);font-size:clamp(1.6rem,3vw,2.2rem);color:#3a3a40}
.net .role{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.net .nm{font-family:var(--display);font-size:1.05rem;margin-top:5px}

/* careers / blog lists */
.list .item{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding-block:28px;border-top:1px solid var(--line);cursor:pointer;transition:.25s}
.list .item:last-child{border-bottom:1px solid var(--line)}
.list .item:hover{padding-left:12px}
.list .item:hover h3{color:var(--red)}
.list h3{font-size:clamp(1.25rem,2.4vw,1.75rem);transition:.25s}
.list .meta{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:10px}
.list .ex{color:#a9a9ae;margin-top:10px;font-size:.94rem;max-width:62ch}
.list .arr{font-family:var(--mono);color:var(--red);font-size:1.1rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr}}
.post{border:1px solid var(--line);background:var(--bg2);cursor:pointer;transition:.25s;min-width:0}
.post:hover{border-color:rgba(255,43,43,.5)}
.post .th{aspect-ratio:16/10;overflow:hidden}
.post .th img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:brightness(.92);transition:.6s}
.post:hover .th img{transform:scale(1.05)}
.post .b{padding:22px}
.post .meta{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.post h3{font-size:1.15rem;line-height:1.15;margin-top:10px}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(30px,5vw,80px)}
@media(max-width:860px){.contact{grid-template-columns:1fr}}
.contact .blk{padding-block:22px;border-top:1px solid var(--line)}
.contact .blk:last-child{border-bottom:1px solid var(--line)}
.contact .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.contact .v{font-size:1.02rem;font-weight:400}
.chans{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
.chan{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line2);padding:12px 16px;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.2s;background:none;color:var(--ink)}
.chan:hover{border-color:var(--red);color:var(--red)}
.chan i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}
form.cf{display:grid;gap:22px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:560px){.f2{grid-template-columns:1fr}}
.fld{display:grid;gap:8px}
.fld label{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.fld label .req{color:var(--red)}
.fld input,.fld textarea{background:transparent;border:0;border-bottom:1px solid var(--line2);color:var(--ink);font-family:var(--body);font-size:1.05rem;font-weight:300;padding:10px 0;border-radius:0;width:100%}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--red);box-shadow:0 1px 0 0 var(--red)}
.fld textarea{resize:vertical;min-height:110px}
.cf .legal{font-size:.74rem;color:var(--dim)}
.cf .ok{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}

/* footer */
footer{border-top:1px solid var(--line);padding-block:clamp(56px,7vw,90px) 34px;position:relative;overflow:hidden}
.fbig{font-family:var(--display);font-size:clamp(3.4rem,13vw,11rem);line-height:.8;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px #26262b;margin-bottom:clamp(40px,6vw,70px);user-select:none}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr 1fr;gap:30px}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr}}
footer h5{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 16px;font-weight:600}
footer p,footer a,footer button.fl{display:block;color:var(--mute);font-size:.9rem;margin-bottom:8px;background:none;border:0;padding:0;font-family:var(--body);font-weight:300;cursor:pointer;text-align:left}
footer a:hover,footer button.fl:hover{color:var(--ink)}
.fbase{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:50px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

/* newsletter toast + back to top */
.toast{position:fixed;z-index:60;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 40px));background:rgba(11,11,13,.96);backdrop-filter:blur(12px);border:1px solid var(--line2);padding:22px;transform:translateY(140%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.toast.show{transform:none}
.toast .x{position:absolute;top:10px;right:12px;background:none;border:0;color:var(--mute);font-size:1.2rem;cursor:pointer}
.toast .k{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.toast h4{font-family:var(--display);font-weight:400;font-size:1.15rem;line-height:1.1;margin:8px 0 14px}
.toast form{display:flex;gap:8px}
.toast input{flex:1;min-width:0;background:transparent;border:1px solid var(--line2);color:var(--ink);padding:11px 12px;font-family:var(--body);font-size:.9rem}
.toast input:focus{outline:none;border-color:var(--red)}
.toast .btn{padding:11px 14px}
.totop{position:fixed;z-index:55;left:max(20px,env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border:1px solid var(--line2);background:rgba(5,5,6,.8);color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;transition:.3s;font-family:var(--mono)}
.totop.show{opacity:1;pointer-events:auto}
.totop:hover{border-color:var(--red);color:var(--red)}

/* ================= MOTION (only with html.fx, set in the head unless reduced motion is on) ================= */
html.fx{scroll-behavior:auto}
.fx .sv-media img{transition:none}
.fx .btn{transition:color .2s,border-color .2s,background-color .2s,filter .2s,box-shadow .25s}
.fx-dust{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:40}
.fx-glow{position:fixed;left:0;top:0;width:680px;height:680px;margin:-340px 0 0 -340px;border-radius:50%;pointer-events:none;z-index:41;
  background:radial-gradient(circle,rgba(255,43,43,.12) 0%,rgba(255,43,43,.045) 34%,transparent 66%);opacity:0;transition:opacity .5s}
.fx-glow.on{opacity:1}
.fx-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:53;pointer-events:none;background:linear-gradient(90deg,rgba(255,43,43,.35),var(--red));box-shadow:0 0 10px var(--red);transform:scaleX(0);transform-origin:0 50%}
.fx header.nav{transition:background .3s,border-color .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.fx header.nav.fx-hide{transform:translateY(-100%)}
.fx-wipe{position:fixed;inset:0;z-index:70;pointer-events:none;background:#050506;visibility:hidden}
.fx-wipe i{position:absolute;left:0;right:0;top:0;height:2px;background:var(--red);box-shadow:0 0 24px 3px rgba(255,43,43,.85)}
.fx-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .03em .14em;margin:-.1em -.03em -.14em}
.fx-wi{display:inline-block}
.fx-tilt{position:relative}
.fx-tilt::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.13),transparent 48%);opacity:0;transition:opacity .35s}
.fx-tilt:hover::before{opacity:1}

/* home · the cover waits for its entrance */
.fx .hm-bgwrap .bg,.fx .hm-logo img,.fx .hm-node .chip,.fx .hm-h1 h1,.fx .hm-band .row-btns>*,.fx .hm-cue>*{opacity:0}
/* home · the cover fills the screen, keeps the whole orbit in view, and holds while you fly into the core */
.fx .hm-cover{height:calc(100svh + 120svh)}
.fx .hm-scene{position:sticky;top:0;height:100svh;overflow:hidden;background:#000}
.fx .hm-stage{position:absolute;inset:0;height:auto;--s:min(max(calc(100cqw / 3240),calc(100cqh / 1440)),calc(100cqw / 2950));--cy:46cqh}
.fx .hm-bgwrap .bg{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 80%,transparent 100%)}
.fx .hm-stage::after{background:radial-gradient(ellipse 125% 100% at 50% 42%,transparent 52%,rgba(0,0,0,.72) 100%),linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 13%)}
.fx .hm-h1 h1{font-size:clamp(1.9rem,4.3vw,5rem)}
.fx .hm-band{position:absolute;left:0;right:0;bottom:clamp(58px,9.5vh,110px);padding:0 20px;z-index:3}
.fx .hm-cue{position:absolute;left:0;right:0;bottom:clamp(10px,2vh,20px);margin:0;gap:6px;z-index:3}
.fx .hm-cue i{height:22px}
.fx .hm-floor{display:block;position:absolute;left:-45%;right:-45%;top:calc(var(--cy) + .16 * 1440 * var(--s));bottom:0;z-index:-1;pointer-events:none;overflow:hidden;perspective:320px;perspective-origin:50% 0;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.4) 30%,#000 70%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.4) 30%,#000 70%)}
.fx .hm-floor i{position:absolute;inset:0;display:block;opacity:0}
.fx .hm-floor i::before{content:"";position:absolute;left:0;right:0;top:-72px;height:400%;transform-origin:50% 72px;transform:rotateX(77deg);will-change:transform;
  background-image:linear-gradient(rgba(255,43,43,.5) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(244,244,245,.1) 1px,transparent 1px);background-size:72px 72px;animation:floorrun 1.8s linear infinite}
@keyframes floorrun{from{transform:rotateX(77deg) translateY(0)}to{transform:rotateX(77deg) translateY(72px)}}
.fx .hm-flash{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 50% calc(var(--cy) - 144 * var(--s)),#fff 0%,rgba(255,180,180,.94) 6%,rgba(255,43,43,.6) 24%,rgba(90,0,0,.25) 50%,transparent 76%)}
@media(max-width:980px){.fx .hm-stage{--s:max(calc(100cqw / 3240),calc(100cqh / 1440));--cy:43cqh}.fx .hm-h1 h1{font-size:clamp(1.7rem,7.2vw,2.8rem)}}
.fx .hm-num{border-top:0}

/* home · by the numbers, one figure per screen */
.fx .hm-num{height:calc(100svh + 7 * 55svh)}
.fx .sc-stick{position:sticky;top:0;height:100svh;overflow:hidden;padding:0;
  background:radial-gradient(ellipse 55% 60% at 73% 50%,rgba(255,43,43,.09),transparent 70%),#000}
.fx .sc-cv{display:block;position:absolute;inset:0;width:100%;height:100%}
.fx .sc-head{position:absolute;left:0;right:0;top:clamp(80px,11vh,118px);margin:0;z-index:2}
.fx .sc-items{display:block;position:absolute;left:max(24px,calc(50% - 596px));top:50%;width:min(46vw,640px);height:0;background:none;border:0;margin:0;z-index:2}
.fx .sc-item{position:absolute;left:0;top:0;transform:translateY(-50%);background:none;padding:0;opacity:0}
.fx .sc-item b{font-size:min(9.5vw,19vh,11rem);line-height:.86;letter-spacing:-.045em;text-shadow:0 0 60px rgba(0,0,0,.8)}
.fx .sc-item.long b{font-size:min(7vw,14vh,8.2rem)}
.fx .sc-item span{font-size:clamp(.72rem,1.05vw,.92rem);margin-top:clamp(14px,2.2vh,26px);letter-spacing:.26em;color:#d6d6da}
.fx .sc-ticks{display:flex;gap:6px;position:absolute;left:max(24px,calc(50% - 596px));bottom:clamp(28px,6vh,56px);z-index:2}
.fx .sc-ticks i{display:block;width:30px;height:2px;background:#26262b;position:relative;overflow:hidden}
.fx .sc-ticks i::after{content:"";position:absolute;inset:0;background:var(--red);box-shadow:0 0 8px var(--red);transform:scaleX(var(--f,0));transform-origin:0 50%}
@media(max-aspect-ratio:11/10){
  .fx .sc-items{top:25%;width:calc(100% - 48px)}
  .fx .sc-item b{font-size:min(22vw,13vh)}
  .fx .sc-item.long b{font-size:min(15vw,9vh)}
  .fx .sc-head{top:clamp(74px,9vh,100px)}
}
.hm-num+.marquee{margin-top:0}
@media(max-width:760px){.sc-head .hud{flex-wrap:wrap;row-gap:8px}.sc-head .hud b{white-space:nowrap}}

/* home · the difference, lit one post at a time */
@media(min-width:761px){
  .fx .hm-diff{height:250svh}
  .fx .hm-diff .hm-stick{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
  .fx .hm-diff .hm-hd{padding-top:0}
  .fx .hm-diff .hm-panel{width:min(100%,1600px,(100svh - 160px) * 2.25)}
}

/* home · six services on a horizontal track */
.hm-hsbar{display:none;align-items:center;gap:12px;font:600 .62rem var(--mono);letter-spacing:.2em;color:var(--mute);margin-bottom:18px}
.hm-hsbar i{display:block;flex:0 0 160px;height:2px;background:#232327;position:relative;overflow:hidden}
.hm-hsbar i::after{content:"";position:absolute;inset:0;background:var(--red);transform:scaleX(var(--p,0));transform-origin:0 50%;box-shadow:0 0 8px var(--red)}
.hm-hsbar .n{color:#fff}
@media(min-width:1000px){
  .fx .hm-services .hm-stick{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
  .fx .hm-services .hm-hd{padding-top:0}
  .fx .hm-services .hm-hsbar{display:flex}
  .fx .hm-services .hm-panel{display:flex;gap:16px;width:max-content;max-width:none;margin:0;padding-inline:max(24px,calc(50vw - 596px))}
  .fx .hm-services .hm-panel>.tl{width:min(30vw,(100svh - 310px) * .75);flex:none}
}

/* our network */
.fx-scan{position:absolute;top:0;bottom:0;left:0;width:22%;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,43,43,.16) 50%,transparent);animation:scan 5.6s cubic-bezier(.45,0,.55,1) infinite}
.fx-scan::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,130,130,.85);box-shadow:0 0 16px 3px rgba(255,43,43,.75)}
@keyframes scan{0%{transform:translateX(150%);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(460%);opacity:0}}
.nw-ripple{container-type:inline-size}
.nw-rings{position:absolute;left:50%;top:41.9%;width:0;height:0;z-index:1;pointer-events:none}
.nw-rings i{position:absolute;left:0;top:0;width:76cqw;aspect-ratio:1.9;border:1px solid rgba(255,96,96,.75);border-radius:50%;box-shadow:0 0 18px rgba(255,43,43,.35),inset 0 0 18px rgba(255,43,43,.2);opacity:0;animation:nwring 6.6s cubic-bezier(.15,.6,.35,1) infinite}
.nw-rings i:nth-child(2){animation-delay:-2.2s}.nw-rings i:nth-child(3){animation-delay:-4.4s}
@keyframes nwring{0%{transform:translate(-50%,-50%) scale(.1);opacity:0}10%{opacity:.95}100%{transform:translate(-50%,-50%) scale(1.3);opacity:0}}
@media(max-width:760px){.nw-rings{top:44.9%}.nw-rings i{width:89cqw}}
.fx .nw-flow .v1 i{animation:dotflow 2.6s linear infinite}
@keyframes dotflow{to{background-position:9px 9px}}
.fx .nw-flow .v2 i{animation:boxp 2.4s ease-in-out infinite}
@keyframes boxp{50%{box-shadow:0 0 34px rgba(255,43,43,.55);border-color:#ff6a6a}}
.fx .nw-flow .v3 i{animation:pick 2.2s ease-out infinite}
@keyframes pick{0%{box-shadow:0 0 0 0 rgba(255,43,43,.5),0 0 0 0 rgba(255,43,43,.3),0 0 26px 6px rgba(255,43,43,.55)}100%{box-shadow:0 0 0 20px rgba(255,43,43,0),0 0 0 40px rgba(255,43,43,0),0 0 26px 6px rgba(255,43,43,.55)}}
.fx .nw-flow .v4 i::before{animation:blink 1.4s steps(2) infinite}
.fx .nw-checks>div::before{transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.2,.7,.2,1) .25s}
.fx .nw-checks>div.in::before{transform:scaleX(1)}
.fx .nw-bill .c s{text-decoration:none;background:linear-gradient(var(--red),var(--red)) no-repeat 0 56%/0% 1px;transition:background-size .7s cubic-bezier(.6,0,.2,1) .2s}
.fx .nw-bill .r.in .c s{background-size:100% 1px}
.fx .nw-big{animation:glowp 3.6s ease-in-out infinite}
@keyframes glowp{50%{text-shadow:0 0 120px rgba(255,43,43,.8),0 0 30px rgba(255,43,43,.5)}}/* portfolio · footer */

.fx .fbig{background:linear-gradient(100deg,transparent 0 42%,rgba(255,43,43,.9) 50%,transparent 58% 100%) 0 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:fsweep 7s linear infinite}
@keyframes fsweep{from{background-position:120% 0}to{background-position:-20% 0}}

/* ================= OUR NETWORK v15: the casting engine ================= */
/* hero: a lock that hops between faces in the crowd */
.nw-locks{position:absolute;inset:0;pointer-events:none;z-index:2}
.nw-lock{position:absolute;left:0;top:0;width:80px;height:80px;opacity:0}
.nw-lock .c,.ne-finder .c{position:absolute;width:18px;height:18px;border:2px solid var(--red);filter:drop-shadow(0 0 6px rgba(255,43,43,.7))}
.nw-lock .tl,.ne-finder .tl{left:0;top:0;border-right:0;border-bottom:0}
.nw-lock .tr,.ne-finder .tr{right:0;top:0;border-left:0;border-bottom:0}
.nw-lock .bl,.ne-finder .bl{left:0;bottom:0;border-right:0;border-top:0}
.nw-lock .br,.ne-finder .br{right:0;bottom:0;border-left:0;border-top:0}
.nw-lock .lb{position:absolute;left:0;top:calc(100% + 8px);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:var(--mono);font-size:.54rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(5,5,6,.78);border:1px solid rgba(255,43,43,.6);padding:5px 8px}
.nw-lock .lb i{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}

/* ---- the engine: a storyboard by default (reduced motion, no script), a live run with the motion layer ---- */
.ne{position:relative;border-top:1px solid var(--line);background:radial-gradient(90% 60% at 70% 40%,rgba(255,43,43,.06),transparent 60%),#050506}
.ne-stage{position:relative;padding-block:clamp(72px,10vw,140px)}
.ne-in{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"head head" "h h" "steps viz" "steps checks";gap:0 clamp(30px,5vw,80px);align-items:start}
.ne-copy{display:contents}
.ne-head{grid-area:head;margin-bottom:22px}
.ne-h{grid-area:h;max-width:15ch;margin-bottom:clamp(28px,4vw,44px)}
.ne-steps{grid-area:steps;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ne-steps li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:6px 14px;padding:18px 0;border-bottom:1px solid var(--line)}
.ne-steps .n{grid-row:span 2;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:var(--red);padding-top:.45em}
.ne-steps b{font-family:var(--display);font-weight:400;font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.05}
.ne-steps p{font-size:.93rem;color:#b9b9be;line-height:1.55;max-width:44ch}
.ne-viz{grid-area:viz;position:relative}
.ne-checks{grid-area:checks;list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ne-checks li{position:relative;background:#09090b;display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 8px;padding:13px 14px;overflow:hidden}
.ne-checks .n{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--red);padding-top:.25em}
.ne-checks b{display:block;font-weight:600;font-size:.86rem;color:var(--ink);line-height:1.3}
.ne-checks div span{display:block;font-size:.74rem;color:var(--dim);margin-top:2px;line-height:1.4}
.ne-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent}
.ne-bar em{position:absolute;inset:0;background:var(--red);box-shadow:0 0 10px var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.ne-field,.ne-finder,.ne-rail,.ne-chip,.ne-replay{display:none}

/* the brief */
.ne-brief{position:relative;z-index:3;background:rgba(11,11,13,.74);border:1px solid var(--line2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:14px 16px 6px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.ne-bh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;margin-bottom:4px}
.ne-bt{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.ne-bt i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}
.ne-ex{font-family:var(--mono);font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:right}
.ne-bl{display:grid;grid-template-columns:84px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;padding:10px 0;margin:0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.ne-bl span{font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.ne-bl b{font-weight:500;font-size:.9rem;transition:color .2s}
.ne-bl i{font-style:normal;color:var(--red);font-size:.85rem;line-height:1;text-align:center;transition:transform .35s}
.ne-bl i::before{content:"↻"}
.ne-bl:hover b,.ne-bl:focus-visible b{color:var(--red)}
.ne-bl:hover i{transform:rotate(90deg)}
.ne-bl:focus-visible{outline:1px solid var(--red);outline-offset:2px}
.ne-bl.bump b{animation:nebump .45s cubic-bezier(.2,.7,.2,1)}
@keyframes nebump{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}

/* the shortlist */
.ne-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.ne-card{position:relative;background:#0b0b0d;border:1px solid var(--line2);display:flex;flex-direction:column;min-width:0;transition:opacity .45s,border-color .45s,box-shadow .45s}
.ne-ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:#000}
.ne-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ne-ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(5,5,6,.82))}
.ne-cb{display:grid;gap:7px;padding:10px 12px 12px}
.ne-k{font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.ne-ticks{display:flex;gap:3px}
.ne-ticks i{flex:1;height:3px;background:var(--red);box-shadow:0 0 6px rgba(255,43,43,.55)}
.ne-t{font-family:var(--mono);font-size:.53rem;letter-spacing:.14em;text-transform:uppercase;color:#d6d6da}
.ne-pk{position:absolute;left:10px;top:10px;z-index:1;font-family:var(--mono);font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#050506;background:var(--red);padding:5px 8px;opacity:0;transform:translateY(-4px);transition:opacity .35s,transform .35s}
.ne:not(.live) .ne-card.picked,.ne.live.pick .ne-card.picked{border-color:var(--red);box-shadow:0 0 0 1px var(--red),0 0 46px -8px rgba(255,43,43,.6)}
.ne:not(.live) .ne-card.picked .ne-pk,.ne.live.pick .ne-card.picked .ne-pk{opacity:1;transform:none}
.ne:not(.live) .ne-card:not(.picked),.ne.live.pick .ne-card:not(.picked){opacity:.42}
.ne.live.shoot .ne-card:not(.picked){opacity:.14}
@media(max-width:860px){
  .ne-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "h" "steps" "viz" "checks"}
  .ne-viz{margin-top:28px}
}
@media(max-width:520px){.ne-checks{grid-template-columns:minmax(0,1fr)}.ne-bl{grid-template-columns:72px minmax(0,1fr) 16px}}

/* ---- live: the run ---- */
.ne.live .ne-field{display:block;position:absolute;inset:0;width:100%;height:100%}
.ne.live .ne-chip{display:inline-flex;position:absolute;right:14px;top:14px;z-index:3;align-items:center;gap:8px;font-family:var(--mono);font-size:.55rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(18,6,6,.8);border:1px solid var(--red);padding:7px 10px;opacity:0;transition:opacity .4s}
.ne.live .ne-chip i{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);animation:blink 1.4s steps(2) infinite}
.ne.live.chk .ne-chip{opacity:1}
.ne.live .ne-viz{overflow:hidden;border:1px solid var(--line);background:radial-gradient(70% 55% at 50% 55%,rgba(255,43,43,.08),transparent 70%),linear-gradient(180deg,#070708,#040405)}
.ne.live .ne-viz::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(85% 80% at 50% 50%,transparent 55%,rgba(4,4,5,.85) 100%)}
.ne.live .ne-brief{position:absolute;left:14px;top:14px;width:min(330px,calc(100% - 28px));transform-origin:50% 50%;will-change:transform}
.ne.live .ne-cards{position:absolute;left:50%;top:61%;z-index:4;width:min(520px,72%);margin:0;transform:translate(-50%,-44%);opacity:0;pointer-events:none}
.ne.live.cards .ne-cards{pointer-events:auto}
.ne.live .ne-finder{display:block;position:absolute;z-index:5;pointer-events:none;opacity:0}
.ne-finder .rec{position:absolute;left:0;top:-24px;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.56rem;font-weight:700;letter-spacing:.18em;color:#fff}
.ne-finder .rec b{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);animation:blink 1.4s steps(2) infinite}
.ne-finder .ne-tc{position:absolute;right:0;top:-24px;font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;color:#c9c9ce;font-variant-numeric:tabular-nums}
.ne-finder .cap{position:absolute;left:50%;top:calc(100% + 14px);transform:translateX(-50%);white-space:nowrap;font-family:var(--display);font-size:clamp(1rem,1.6vw,1.3rem);color:var(--ink);text-shadow:0 2px 20px rgba(0,0,0,.9)}
.ne.live .ne-rail{display:grid;grid-area:rail;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ne-rail button{display:grid;gap:8px;min-width:0;padding:6px 0 0;margin:0;border:0;background:none;color:var(--dim);font-family:var(--mono);font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color .3s}
.ne-rail button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ne-rail i{display:block;position:relative;height:2px;background:var(--line2);overflow:hidden}
.ne-rail em{position:absolute;inset:0;background:var(--red);box-shadow:0 0 8px var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.ne-rail button.on,.ne-rail button:hover{color:var(--ink)}

/* desktop and tablet: one pinned screen, scrubbed by the scroll */
.ne.live:not(.auto) .ne-stage{height:100vh;height:100svh;padding:calc(var(--navh,72px) + 14px) 0 16px;display:flex;flex-direction:column}
.ne.live:not(.auto) .ne-in{flex:1;min-height:0;grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"copy viz" "rail rail";gap:14px clamp(24px,3.4vw,54px);align-items:stretch}
.ne.live:not(.auto) .ne-copy{display:flex;flex-direction:column;grid-area:copy;min-height:0}
.ne.live:not(.auto) .ne-head{margin-bottom:clamp(14px,2.4vh,26px)}
.ne.live:not(.auto) .ne-h{display:none}
.ne.live:not(.auto) .ne-steps{position:relative;border:0;flex:none;height:clamp(150px,24vh,210px)}
.ne.live .ne-steps li{position:absolute;inset:0 0 auto;display:block;padding:0;border:0;opacity:0;transform:translateY(16px);transition:opacity .45s,transform .55s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.ne.live .ne-steps li.on{opacity:1;transform:none}
.ne.live .ne-steps .n{display:block;margin-bottom:10px;font-size:.66rem}
.ne.live .ne-steps b{display:block;font-size:clamp(1.9rem,3.3vw,3.1rem);line-height:.95;letter-spacing:-.03em;max-width:12ch}
.ne.live .ne-steps p{margin-top:12px;font-size:clamp(.92rem,1.1vw,1.02rem)}
.ne.live:not(.auto) .ne-checks{margin-top:auto;grid-template-columns:minmax(0,1fr);flex:none}
.ne.live .ne-checks li{padding:9px 12px;transition:background .3s,opacity .3s;opacity:.45}
.ne.live .ne-checks li.run,.ne.live .ne-checks li.ok{opacity:1}
.ne.live .ne-checks li.run{background:#140808}
.ne.live .ne-checks li.ok .n::after{content:" ✓";color:var(--ink)}
.ne.live:not(.auto) .ne-viz{grid-area:viz;min-height:0}

/* phones: the run plays by itself when it comes into view */
.ne.live.auto .ne-stage{padding-block:clamp(64px,12vw,96px)}
.ne.live.auto .ne-in{display:flex;flex-direction:column;align-items:stretch;gap:16px}
.ne.live.auto .ne-head{order:0;margin-bottom:0}
.ne.live.auto .ne-h{order:1;margin-bottom:6px}
.ne.live.auto .ne-viz{order:2;aspect-ratio:1/1.12;margin-top:0}
.ne.live.auto .ne-steps{order:3;position:relative;border:0;height:150px}
.ne.live.auto .ne-steps b{font-size:1.75rem}
.ne.live.auto .ne-checks{order:4;margin-top:0}
.ne.live.auto .ne-rail{order:5;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.ne.live.auto .ne-rail span{display:none}
.ne.live.auto .ne-brief{width:auto;right:12px;left:12px;top:12px;padding:10px 12px 2px}
.ne.live.auto .ne-bl{padding:7px 0}
.ne.live.auto .ne-cards{top:56%;width:88%;gap:8px}
.ne.live.auto .ne-cb{padding:7px 8px 9px;gap:5px}
.ne.live.auto .ne-t{display:none}
.ne.live.auto .ne-chip{display:none}
.ne.live.auto .ne-replay{display:inline-flex;position:absolute;right:12px;bottom:12px;z-index:6;align-items:center;gap:8px;font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(5,5,6,.8);border:1px solid var(--red);padding:9px 12px;cursor:pointer}
.ne.live.auto .ne-replay[hidden]{display:none}
@media(min-width:600px){.ne.live.auto .ne-viz{aspect-ratio:16/12}.ne.live.auto .ne-brief{right:auto;width:min(340px,48%)}.ne.live.auto .ne-cards{width:min(520px,70%);top:60%}.ne.live.auto .ne-t{display:block}}

/* ---- what's on file ---- */
.nf{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(30px,5vw,80px);align-items:center}
.nf-card{position:relative;margin:0;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);border:1px solid var(--line2);background:#0a0a0c;box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 60px -30px rgba(255,43,43,.35)}
.nf-ph{position:relative;overflow:hidden;background:#000;min-height:100%}
.nf-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nf-tag{position:absolute;left:12px;top:12px;z-index:1;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(5,5,6,.75);border:1px solid var(--red);padding:5px 8px}
.nf-tag i{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}
.nf-scan{position:absolute;left:0;right:0;top:0;height:2px;z-index:1;background:linear-gradient(90deg,transparent,var(--red) 20%,var(--red) 80%,transparent);box-shadow:0 0 16px 3px rgba(255,43,43,.55);animation:nfscan 4.2s cubic-bezier(.45,0,.55,1) infinite}
@keyframes nfscan{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(560px);opacity:0}}
.nf-rows{list-style:none;margin:0;padding:10px 18px 6px}
.nf-rows li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px 10px;padding:12px 0;border-bottom:1px solid var(--line)}
.nf-rows li:last-child{border-bottom:0}
.nf-rows .n{grid-row:span 2;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:var(--red);padding-top:.25em}
.nf-rows b{font-weight:600;font-size:.86rem;color:var(--ink)}
.nf-red{display:block;height:7px;border-radius:2px;width:78%;background:repeating-linear-gradient(90deg,#2a2a30 0 12px,#1a1a1e 12px 15px)}
.nf-rows li:nth-child(2) .nf-red{width:56%}
.nf-rows li:nth-child(3) .nf-red{width:68%}
.nf-chips{display:flex;flex-wrap:wrap;gap:4px}
.nf-chips s{text-decoration:none;font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:#c9c9ce;border:1px solid var(--line2);padding:4px 6px}
.nf-sub{font-size:.76rem;color:var(--dim)}
.nf-card figcaption{grid-column:1/-1;padding:12px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media(max-width:860px){.nf{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.nf-card{grid-template-columns:minmax(0,1fr)}.nf-ph{aspect-ratio:4/3.4}}
/* ================= /OUR NETWORK v15 ================= */
/* ================= PORTFOLIO v14: the screening ================= */
/* phones: the screens the work runs on. --pw is the width; everything inside scales from it */
.ph{--pw:260px;position:relative;flex:none;width:var(--pw);aspect-ratio:9/16;margin:0;border-radius:calc(var(--pw)*.14);padding:calc(var(--pw)*.034);
  background:linear-gradient(155deg,#3b3b42 0%,#121215 30%,#0a0a0c 62%,#2c2c32 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 0 0 1px #000,0 50px 90px -30px rgba(0,0,0,.9),0 0 80px -18px rgba(255,43,43,.38)}
.ph::before{content:"";position:absolute;left:35%;right:35%;top:calc(var(--pw)*.062);height:calc(var(--pw)*.072);border-radius:99px;background:#000;z-index:3;pointer-events:none}
.ph::after{content:"";position:absolute;inset:calc(var(--pw)*.034);border-radius:calc(var(--pw)*.11);z-index:2;pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 26%,rgba(255,255,255,0) 74%,rgba(255,255,255,.05) 100%)}
.ph-scr{position:relative;width:100%;height:100%;border-radius:calc(var(--pw)*.11);overflow:hidden;background:#000;isolation:isolate}
.ph-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ph-tag{position:absolute;left:8%;bottom:5.5%;z-index:2;display:inline-flex;align-items:center;gap:7px;max-width:84%;font-family:var(--mono);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:rgba(5,5,6,.6);padding:6px 9px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-tag i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}
.ph-play,.ph-open{position:absolute;inset:0;z-index:4;display:grid;place-items:center;border:0;padding:0;margin:0;background:none;cursor:pointer;border-radius:calc(var(--pw)*.14);color:#fff;font:inherit}
.ph-play span{width:clamp(46px,calc(var(--pw)*.22),66px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:rgba(255,43,43,.92);
  box-shadow:0 0 0 8px rgba(255,43,43,.18),0 0 40px rgba(255,43,43,.6);transform:scale(.6);opacity:0;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .3s}
.ph-play span::before{content:"";width:28%;height:32%;margin-left:9%;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.ph-play:hover span,.ph-play:focus-visible span{transform:scale(1);opacity:1}
.ph-open span{align-self:end;margin-bottom:22%;font-family:var(--mono);font-size:.56rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:rgba(5,5,6,.78);border:1px solid var(--red);padding:9px 12px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.ph-open:hover span,.ph-open:focus-visible span{opacity:1;transform:none}
.ph-play:focus-visible,.ph-open:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(hover:none){.ph-play span{transform:scale(.82);opacity:.95}}
/* films don't play by themselves with reduced motion, so the play button always shows */
@media(prefers-reduced-motion:reduce){.ph-play span{transform:scale(.85);opacity:1}}

/* a phone on standby: the case's title card until its film is in */
.tc{--hz:30%;background:radial-gradient(130% 60% at 50% 100%,rgba(255,43,43,.24),transparent 62%),linear-gradient(180deg,#0a0a0c,#050506)}
.tc>span{position:absolute;pointer-events:none}
.tc-top{left:9%;right:9%;top:calc(var(--pw)*.2);display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--mono);font-size:clamp(.42rem,calc(var(--pw)*.03),.56rem);letter-spacing:.18em;text-transform:uppercase;color:#d6d6da}
.tc-top>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc-top .rec{flex:none;display:flex;gap:6px;align-items:center}
.tc-top .rec i{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);animation:blink 1.4s steps(2) infinite}
.tc-fig{left:0;right:0;bottom:calc(var(--hz) + 4px);text-align:center;font-family:var(--display);line-height:.78;letter-spacing:-.05em;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;
  font-size:min(calc(var(--pw)*.4),calc(var(--pw)*1.3/var(--len,2)))}
.tc-fig small{font-size:.5em;color:var(--red);margin-left:.04em;letter-spacing:-.02em;text-shadow:0 0 24px rgba(255,43,43,.6)}
.tc-lbl{left:8%;right:8%;top:calc(100% - var(--hz) + 12px);text-align:center;font-family:var(--mono);font-size:clamp(.4rem,calc(var(--pw)*.027),.54rem);letter-spacing:.18em;text-transform:uppercase;color:#e6e6ea;line-height:1.5;z-index:1}
.tc.fig{--hz:34%}
.tc-sub{left:10%;right:10%;top:calc(var(--pw)*.33);text-align:center;font-family:var(--display);font-size:calc(var(--pw)*.074);line-height:1.04;letter-spacing:-.01em;color:#cfcfd4;text-wrap:balance}
.tc-sub em{display:block}
.tc-hd{left:9%;right:9%;bottom:calc(var(--hz) + 14px);text-align:center;font-family:var(--display);font-size:calc(var(--pw)*.096);line-height:1.02;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.tc-hd em{display:block}
.tc-fl{left:0;right:0;bottom:0;height:var(--hz);perspective:260px;perspective-origin:50% 0;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 96%);mask-image:linear-gradient(180deg,#000 20%,transparent 96%)}
.tc-fl::before{content:"";position:absolute;left:-90%;width:280%;top:-16px;height:420%;transform-origin:50% 0;transform:rotateX(70deg);
  background-image:linear-gradient(rgba(255,43,43,.62) 1px,transparent 1px),linear-gradient(90deg,rgba(244,244,245,.16) 1px,transparent 1px);background-size:16px 16px;animation:tcrun 1.6s linear infinite}
@keyframes tcrun{from{transform:rotateX(70deg) translateY(0)}to{transform:rotateX(70deg) translateY(16px)}}
.tc-hl{left:0;right:0;bottom:var(--hz);height:2px;background:linear-gradient(90deg,transparent,var(--red) 18%,var(--red) 82%,transparent);box-shadow:0 0 16px 2px rgba(255,43,43,.65)}
.tc-scan{inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px)}
.tc-bot{left:8%;right:8%;bottom:calc(var(--pw)*.075);text-align:center;font-family:var(--mono);font-size:clamp(.38rem,calc(var(--pw)*.026),.5rem);letter-spacing:.18em;text-transform:uppercase;color:#77777d}

/* ---- the screening: the opening scene ---- */
.pfx{position:relative;overflow:hidden;isolation:isolate;background:#030304;min-height:100vh;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--navh,72px) + clamp(24px,4vh,52px)) 0 calc(clamp(18px,3.4vh,34px) + clamp(26px,4vh,46px))}
.pfx-tunnel{position:absolute;inset:0;z-index:-4;overflow:hidden}
.pfx-tunnel img{width:100%;height:100%;object-fit:cover;object-position:50% 46%;filter:brightness(.7) contrast(1.06) saturate(1.05);transform:scale(1.08)}
.pfx-shade{position:absolute;inset:0;z-index:-3;pointer-events:none;
  background:radial-gradient(58% 58% at 72% 50%,rgba(5,5,6,0) 0%,rgba(5,5,6,.4) 62%,rgba(5,5,6,.9) 100%),
    linear-gradient(90deg,rgba(5,5,6,.95) 0%,rgba(5,5,6,.74) 34%,rgba(5,5,6,.12) 64%,rgba(5,5,6,.3) 100%),
    linear-gradient(180deg,rgba(5,5,6,.6) 0%,transparent 24%,transparent 70%,var(--bg) 100%)}
.pfx-grain{position:absolute;inset:-8%;z-index:-2;pointer-events:none;opacity:.08;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}17%{transform:translate(-4%,3%)}33%{transform:translate(3%,-4%)}50%{transform:translate(-2%,-3%)}67%{transform:translate(4%,2%)}83%{transform:translate(-3%,4%)}}
.pfx-bars i{position:absolute;left:0;right:0;z-index:6;height:clamp(18px,3.4vh,34px);background:#000;pointer-events:none}
.pfx-bars .t{top:0;transform-origin:50% 0}
.pfx-bars .b{bottom:0;transform-origin:50% 100%}
.pfx-meta{position:absolute;left:0;right:0;bottom:0;z-index:7;height:clamp(18px,3.4vh,34px);display:flex;justify-content:space-between;align-items:center;
  padding:0 max(24px,env(safe-area-inset-left,0px));font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:#6f6f75;pointer-events:none}
.pfx-meta>span{display:inline-flex;align-items:center;gap:8px}
.pfx-rec{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);animation:blink 1.4s steps(2) infinite}
.pfx-tc{color:#b9b9bf;font-variant-numeric:tabular-nums}
.pfx-in{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);grid-template-areas:"copy phones" "stats phones";column-gap:clamp(24px,3vw,56px);align-items:center}
.pfx-copy{grid-area:copy;align-self:end}
.pfx-copy .hud{margin-bottom:24px}
.pfx-h1{font-size:clamp(3rem,7.1vw,6.9rem);line-height:.88;letter-spacing:-.04em;max-width:8.4ch}
.pfx-copy .lede{margin-top:24px}
.pfx-copy .row-btns{margin-top:28px}
.pfx-in>.pf-scale{grid-area:stats;align-self:start;margin-top:clamp(26px,4vh,42px);max-width:660px}
.pfx-in>.pf-scale>div{padding:18px 18px}
.pfx-in>.pf-scale b{font-size:clamp(1.3rem,2.05vw,1.85rem)}
.pfx-tri{display:inline-block;width:.6em;height:.7em;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.pfx-phones{grid-area:phones;--H:min(68vh,760px);position:relative;height:var(--H);perspective:1600px;perspective-origin:50% 45%}
.pfx-slot{position:absolute;left:50%;top:50%;transform-style:preserve-3d}
.pfx-fly{transform-style:preserve-3d}
.pfx-slot .ph{--pw:calc(var(--H)*.5625)}
.pfx-slot.s-c{z-index:3;transform:translate(-50%,-50%)}
.pfx-slot.s-l,.pfx-slot.s-r{z-index:1}
.pfx-slot.s-l{transform:translate(-50%,-50%) translateX(calc(var(--H)*-.38)) translateZ(-150px) rotateY(20deg) rotateZ(-3deg)}
.pfx-slot.s-r{transform:translate(-50%,-50%) translateX(calc(var(--H)*.38)) translateZ(-150px) rotateY(-20deg) rotateZ(3deg)}
.pfx-slot.s-l .ph,.pfx-slot.s-r .ph{--pw:calc(var(--H)*.42)}
.pfx-slot.s-l .ph-scr,.pfx-slot.s-r .ph-scr{filter:brightness(.8)}
.pfx-floor{position:absolute;left:4%;right:4%;bottom:-7%;height:22%;background:radial-gradient(50% 50% at 50% 50%,rgba(255,43,43,.42),transparent 70%);filter:blur(16px);pointer-events:none}
@media(max-width:999px){
  .pfx{min-height:0;display:block}
  .pfx-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "phones" "stats"}
  .pfx-h1{max-width:none}
  .pfx-phones{--H:min(96vw,60vh,560px);margin-top:clamp(30px,5vh,48px)}
  .pfx-slot.s-l{transform:translate(-50%,-50%) translateX(calc(var(--H)*-.27)) translateZ(-130px) rotateY(18deg) rotateZ(-3deg)}
  .pfx-slot.s-r{transform:translate(-50%,-50%) translateX(calc(var(--H)*.27)) translateZ(-130px) rotateY(-18deg) rotateZ(3deg)}
  .pfx-slot.s-l .ph,.pfx-slot.s-r .ph{--pw:calc(var(--H)*.4)}
}

/* ---- the brands, running ---- */
.pfk{position:relative;overflow:hidden;background:#050506;border-block:1px solid var(--line);padding:clamp(16px,2.4vw,28px) 0;display:grid;gap:clamp(2px,.6vw,8px)}
.pfk::before,.pfk::after{content:"";position:absolute;top:0;bottom:0;width:10vw;z-index:2;pointer-events:none}
.pfk::before{left:0;background:linear-gradient(90deg,#050506,rgba(5,5,6,0))}
.pfk::after{right:0;background:linear-gradient(270deg,#050506,rgba(5,5,6,0))}
.pfk-row{overflow:hidden}
.pfk-track{display:flex;width:max-content}
.pfk-set{display:flex;align-items:center;flex:none;font-size:clamp(2.1rem,5.8vw,5.2rem)}
.pfk-set span{font-family:var(--display);font-size:1em;line-height:1.1;letter-spacing:-.03em;white-space:nowrap;padding:0 .3em;color:transparent;-webkit-text-stroke:1px rgba(244,244,245,.42)}
.pfk-set span:nth-of-type(3n+2){color:var(--ink);-webkit-text-stroke:0}
.pfk-row.rev .pfk-set span{-webkit-text-stroke-color:rgba(255,96,96,.5)}
.pfk-row.rev .pfk-set span:nth-of-type(3n+2){color:var(--red);-webkit-text-stroke:0;text-shadow:0 0 40px rgba(255,43,43,.4)}
.pfk-set i{flex:none;width:.13em;height:.13em;border-radius:50%;background:var(--red);box-shadow:0 0 .3em var(--red)}
@keyframes pfk{to{transform:translateX(-50%)}}
html:not(.fx) .pfk-track{animation:pfk 70s linear infinite}
html:not(.fx) .pfk-row.rev .pfk-track{animation-direction:reverse}
@media(prefers-reduced-motion:reduce){
  .pfk::before,.pfk::after{display:none}
  .pfk-track{width:auto;justify-content:center}
  .pfk-set{flex-wrap:wrap;justify-content:center;font-size:clamp(1.3rem,3vw,2.2rem);row-gap:4px}
  .pfk-set[aria-hidden]{display:none}
}

/* ---- now showing: one screening per featured case ---- */
.scr{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid var(--line);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-block:clamp(80px,10vw,140px)}
.scr:nth-child(even){background:linear-gradient(180deg,#070708,var(--bg))}
.scr-big{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;
  font-family:var(--display);font-size:clamp(10rem,36vw,34rem);line-height:.8;letter-spacing:-.06em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(255,43,43,.2)}
.scr-in{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(30px,6vw,100px);align-items:center;width:100%}
.scr.rev .scr-media{order:2}
.scr-media{position:relative;display:flex;justify-content:center;perspective:1300px}
.scr-media .ph{--pw:clamp(230px,23vw,320px)}
.scr-media::after{content:"";position:absolute;left:18%;right:18%;bottom:-34px;height:64px;background:radial-gradient(50% 50% at 50% 50%,rgba(255,43,43,.45),transparent 70%);filter:blur(12px);z-index:-1}
.scr-client{font-size:clamp(2.6rem,6.2vw,5.8rem);line-height:.9;letter-spacing:-.04em;margin-top:22px}
.scr-grp{margin-top:12px;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.scr-head{margin-top:20px;font-family:var(--display);font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1.06;letter-spacing:-.01em;max-width:24ch;color:#e9e9ec;text-wrap:balance}
.scr-hero{display:flex;align-items:flex-end;gap:12px 18px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.scr-hero b{font-family:var(--display);font-weight:400;font-size:clamp(3.6rem,8vw,7rem);line-height:.8;letter-spacing:-.045em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.scr-hero b small{font-size:.5em;color:var(--red);margin-left:.04em;text-shadow:0 0 30px rgba(255,43,43,.55)}
.scr-hero span{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);line-height:1.5;max-width:20ch;padding-bottom:.3em}
.scr-copy .pf-stats,.scr-copy .pf-tags,.scr-copy .pf-story{margin-top:22px}
.scr-copy .row-btns{margin-top:28px}
@media(max-width:860px){
  .scr{min-height:0;display:block}
  .scr-in{grid-template-columns:minmax(0,1fr)}
  .scr.rev .scr-media{order:0}
  .scr-media .ph{--pw:min(60vw,290px)}
}

/* ---- every case: the filmstrip ---- */
.fs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(22px,3vw,32px)}
.fs-nav{display:flex;gap:8px;flex:none}
.fs-arr{width:48px;height:48px;border:1px solid var(--line2);background:none;color:var(--ink);font-size:1rem;cursor:pointer;transition:border-color .2s,background .2s,opacity .2s}
.fs-arr:hover:not(:disabled){border-color:var(--red);background:rgba(255,43,43,.08)}
.fs-arr:disabled{opacity:.3;cursor:default}
.fs-strip{display:flex;gap:clamp(16px,1.8vw,26px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;
  --edge:max(24px,calc((100vw - 1240px)/2 + 24px));scroll-padding-inline:var(--edge);padding:10px var(--edge) 34px;margin-bottom:clamp(30px,4vw,52px)}
.fs-strip::-webkit-scrollbar{display:none}
.fs-strip.drag{scroll-snap-type:none;cursor:grabbing}
.fs-strip.drag *{pointer-events:none}
.fs{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;gap:16px;width:clamp(196px,17vw,240px)}
.fs .ph{--pw:clamp(196px,17vw,240px)}
.fs-cap{display:grid;gap:6px;min-width:0}
.fs-n{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.fs-cap b{font-family:var(--display);font-weight:400;font-size:1.14rem;line-height:1.05;letter-spacing:-.01em}
.fs-cap .k{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);line-height:1.5}
.pf-row .more .row-btns{margin-top:22px}

/* ---- a film in the service chapter ---- */
.pc-film{position:absolute;right:6%;bottom:8%;z-index:2}
.pc.rev .pc-film{right:auto;left:6%}
.pc-film:empty{display:none}
.pc-film .ph{--pw:clamp(92px,11vw,156px)}

/* ---- the player ---- */
html.flb-on{overflow:hidden}
.flb{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:clamp(56px,8vh,90px) 16px clamp(24px,4vh,40px);opacity:0;transition:opacity .35s ease}
.flb.on{opacity:1}
.flb-bg{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 50%,rgba(48,6,6,.55),rgba(3,3,4,.96) 70%),rgba(3,3,4,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.flb-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;transform:scale(.94);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.flb.on .flb-box{transform:none}
.flb-ph{--pw:min(calc((100vh - 210px)*.5625),86vw,400px)}
.flb-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.flb-cap{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 14px;text-align:center;max-width:min(560px,90vw)}
.flb-c{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.flb-t{font-family:var(--display);font-size:clamp(1rem,2vw,1.3rem);line-height:1.1}
.flb-n{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;color:var(--dim)}
.flb-x,.flb-arr{position:absolute;width:50px;height:50px;border:1px solid var(--line2);background:rgba(5,5,6,.6);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.flb-x:hover,.flb-arr:hover{border-color:var(--red);background:rgba(255,43,43,.1)}
.flb-x{top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.flb-x::before,.flb-x::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:1.5px;margin:-.75px 0 0 -9px;background:var(--ink);transform:rotate(45deg)}
.flb-x::after{transform:rotate(-45deg)}
.flb-arr{top:50%;margin-top:-25px;font-size:1.05rem}
.flb-prev{left:max(16px,env(safe-area-inset-left,0px))}
.flb-next{right:max(16px,env(safe-area-inset-right,0px))}
@media(max-width:600px){.flb-arr{top:auto;bottom:max(16px,env(safe-area-inset-bottom,0px));margin-top:0}}
/* ================= /PORTFOLIO v14 ================= */

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hm-orbit{display:none}}


/* ---- multi-page port: links that used to be buttons ---- */
.menu a{display:inline-block;text-decoration:none}
.logo-link{display:inline-flex;align-items:center}
a.btn,a.ab-svc,a.lnk,a.fl,a.tl,a.hm-node,a.chan{text-decoration:none}
.cf-err{margin:0;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
/* ---- live site: links to posts and openings, pagination, honeypot, reCAPTCHA notice ---- */
.post .post-a{display:block;color:inherit;text-decoration:none;height:100%}
.list a.item{color:inherit;text-decoration:none}
.pager{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:44px;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
.toast .legal{margin:10px 0 0;font-size:.62rem;line-height:1.5;color:var(--mute)}
.toast .legal a,.cf .legal a{color:inherit}
.toast .nl-err{margin:8px 0 0;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.fsoc a{color:inherit;text-decoration:none}.fsoc a:hover{color:var(--red)}
.fcon a{color:inherit;text-decoration:none}
button[disabled]{opacity:.6;cursor:progress}

/* ---- inline styles moved out of the pages, for the site's Content Security Policy (no inline style attributes).
   The :is(...,#_#_#_) part keeps the specificity an inline style had, so nothing else in this file overrides them. ---- */
.zs-02073c3:is(.zs-02073c3,#_#_#_){position:absolute;left:6.204cqw;top:57.963cqw}
.zs-03e4fa4:is(.zs-03e4fa4,#_#_#_){position:absolute;left:55.185cqw;top:38.611cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-0454362:is(.zs-0454362,#_#_#_){position:absolute;left:76.852cqw;top:40.37cqw}
.zs-048bb39:is(.zs-048bb39,#_#_#_){font-family:'Archivo Black', sans-serif;font-weight:400;font-size:10.926cqw;line-height:0.8;letter-spacing:-0.278cqw;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-079a676:is(.zs-079a676,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.852cqw);font-weight:600;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-081738a:is(.zs-081738a,#_#_#_){position:absolute;left:77.963cqw;top:97.037cqw}
.zs-0a3165c:is(.zs-0a3165c,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.204cqw);font-weight:700;letter-spacing:0.18em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-0df03c7:is(.zs-0df03c7,#_#_#_){position:absolute;left:73.148cqw;top:105.37cqw}
.zs-0e72b91:is(.zs-0e72b91,#_#_#_){display:flex;flex-direction:column;align-items:center;gap:0.926cqw}
.zs-0e75d45:is(.zs-0e75d45,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.759cqw);font-weight:700;letter-spacing:0.2em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-10db909:is(.zs-10db909,#_#_#_){position:absolute;left:6.667cqw;top:32.037cqw}
.zs-114b3e2:is(.zs-114b3e2,#_#_#_){gap:10px}
.zs-12a8fd7:is(.zs-12a8fd7,#_#_#_){position:absolute;left:66.944cqw;top:74.815cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-13792e8:is(.zs-13792e8,#_#_#_){height:24px;margin-bottom:18px}
.zs-1505ff2:is(.zs-1505ff2,#_#_#_){position:absolute;left:8.333cqw;top:64.63cqw}
.zs-2506550:is(.zs-2506550,#_#_#_){position:absolute;left:5.278cqw;top:74.815cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-26a0253:is(.zs-26a0253,#_#_#_){--x:16.67%}
.zs-277dc3f:is(.zs-277dc3f,#_#_#_){display:flex;flex-direction:column;gap:0.556cqw}
.zs-2bc7aed:is(.zs-2bc7aed,#_#_#_){font-family:'Archivo Black', sans-serif;font-weight:400;font-size:max(var(--fc), 2.593cqw);letter-spacing:0.093cqw;white-space:nowrap;text-shadow:0 0.185cqw 1.111cqw rgba(0, 0, 0, 0.6)}
.zs-2c334d7:is(.zs-2c334d7,#_#_#_){--x:0.0802;--y:0.4}
.zs-2c600d6:is(.zs-2c600d6,#_#_#_){font-size:max(var(--fb), 1.852cqw);font-weight:700;letter-spacing:0.3em;text-shadow:0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-2f4f2b1:is(.zs-2f4f2b1,#_#_#_){font-family:'Archivo Black', sans-serif;font-weight:400;font-size:17.593cqw;line-height:0.8;color:#FF2B2B;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-2f68188:is(.zs-2f68188,#_#_#_){display:flex;flex-direction:column;gap:0.741cqw}
.zs-3198892:is(.zs-3198892,#_#_#_){position:absolute;left:36.111cqw;top:97.222cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-32dabe5:is(.zs-32dabe5,#_#_#_){position:absolute;left:78.333cqw;top:21.667cqw}
.zs-359a2fa:is(.zs-359a2fa,#_#_#_){display:flex;flex-direction:column;align-items:center;gap:0.741cqw}
.zs-361db7a:is(.zs-361db7a,#_#_#_){position:absolute;left:6.667cqw;top:8.519cqw;width:86.667cqw;display:flex;flex-direction:column;gap:1.852cqw}
.zs-37a7a59:is(.zs-37a7a59,#_#_#_){position:absolute;left:24.63cqw;top:21.667cqw}
.zs-3860640:is(.zs-3860640,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.389cqw);font-weight:600;letter-spacing:0.16em;color:#BDBDBD;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-38a7e69:is(.zs-38a7e69,#_#_#_){margin:0;font-family:'Archivo Black', sans-serif;font-weight:400;font-size:10.185cqw;line-height:0.95;letter-spacing:-0.046cqw;text-align:left;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-3a31388:is(.zs-3a31388,#_#_#_){position:absolute;left:36.111cqw;top:66.667cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-3ae1f62:is(.zs-3ae1f62,#_#_#_){margin-top:20px}
.zs-3d896b1:is(.zs-3d896b1,#_#_#_){--x:0.8438;--y:0.5625}
.zs-3da5e92:is(.zs-3da5e92,#_#_#_){display:block;width:1.111cqw;height:1.111cqw;border-radius:0.556cqw;background:#FF2B2B}
.zs-3f30d34:is(.zs-3f30d34,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.759cqw);font-weight:600;letter-spacing:0.16em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-3f4b432:is(.zs-3f4b432,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.481cqw);font-weight:700;letter-spacing:0.2em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-4794528:is(.zs-4794528,#_#_#_){position:absolute;left:31.667cqw;top:97.037cqw}
.zs-47c857f:is(.zs-47c857f,#_#_#_){margin-top:28px}
.zs-48b58bd:is(.zs-48b58bd,#_#_#_){color:inherit;text-decoration:none}
.zs-49e27d7:is(.zs-49e27d7,#_#_#_){position:absolute;left:31.481cqw;top:43.426cqw;width:37.037cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-4bd8700:is(.zs-4bd8700,#_#_#_){object-position:50% 55%}
.zs-50363cd:is(.zs-50363cd,#_#_#_){position:absolute;right:6.667cqw;top:72.222cqw}
.zs-511cd16:is(.zs-511cd16,#_#_#_){padding-top:0}
.zs-522ea56:is(.zs-522ea56,#_#_#_){position:absolute;left:26.852cqw;top:91.574cqw;width:46.296cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-553a645:is(.zs-553a645,#_#_#_){margin-top:14px}
.zs-558f3e6:is(.zs-558f3e6,#_#_#_){object-position:62% 50%}
.zs-55beb66:is(.zs-55beb66,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.481cqw);font-weight:700;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-55c4a97:is(.zs-55c4a97,#_#_#_){margin:0;font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 2.037cqw);font-weight:500;letter-spacing:0.12em;line-height:1.7;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-55d3174:is(.zs-55d3174,#_#_#_){position:absolute;left:31.481cqw;top:104.722cqw;width:37.037cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-565d979:is(.zs-565d979,#_#_#_){border-top:1px solid var(--line)}
.zs-5756433:is(.zs-5756433,#_#_#_){position:absolute;left:31.481cqw;top:42.315cqw;width:37.037cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-57c5315:is(.zs-57c5315,#_#_#_){display:flex;align-items:baseline;gap:1.111cqw}
.zs-5870d5b:is(.zs-5870d5b,#_#_#_){font-family:'Archivo Black', sans-serif;font-weight:400;font-size:5.556cqw;line-height:0.8;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-59bbe2c:is(.zs-59bbe2c,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.389cqw);font-weight:700;letter-spacing:0.14em;color:#FF2B2B;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-5c994c6:is(.zs-5c994c6,#_#_#_){position:absolute;left:51.111cqw;top:47.593cqw}
.zs-5d315cc:is(.zs-5d315cc,#_#_#_){justify-content:center;margin-bottom:26px}
.zs-5d92f3d:is(.zs-5d92f3d,#_#_#_){display:flex;flex-direction:column;align-items:center;gap:1.296cqw}
.zs-5ff14d6:is(.zs-5ff14d6,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.389cqw);font-weight:500;letter-spacing:0.12em;color:#BDBDBD;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-60d1747:is(.zs-60d1747,#_#_#_){position:absolute;left:57.87cqw;top:66.667cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-6186edc:is(.zs-6186edc,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.389cqw);font-weight:700;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-6388de2:is(.zs-6388de2,#_#_#_){display:block;width:1.111cqw;height:1.111cqw;border-radius:0.556cqw;background:#8C8C8C}
.zs-654ddcc:is(.zs-654ddcc,#_#_#_){position:absolute;left:71.111cqw;top:52.407cqw;height:0;display:flex;align-items:center}
.zs-67678fd:is(.zs-67678fd,#_#_#_){display:inline-block;width:1.296cqw;height:1.296cqw;background:#FF2B2B;margin-right:1.296cqw;vertical-align:-0.093cqw}
.zs-67925f9:is(.zs-67925f9,#_#_#_){position:absolute;left:14.352cqw;top:66.667cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-6a5bd5f:is(.zs-6a5bd5f,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.852cqw);font-weight:700;letter-spacing:0.16em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-6b91ac2:is(.zs-6b91ac2,#_#_#_){position:absolute;left:0;top:0;width:100cqw;height:133.333cqw}
.zs-6ef8367:is(.zs-6ef8367,#_#_#_){position:absolute;left:6.667cqw;top:8.519cqw;width:86.667cqw;display:flex;flex-direction:column;gap:1.852cqw;align-items:flex-end}
.zs-70fe428:is(.zs-70fe428,#_#_#_){object-position:50% 50%}
.zs-72654ae:is(.zs-72654ae,#_#_#_){position:absolute;left:77.778cqw;top:101.852cqw}
.zs-73c92fe:is(.zs-73c92fe,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.574cqw);font-weight:600;letter-spacing:0.18em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-746b537:is(.zs-746b537,#_#_#_){margin:0;font-family:'Archivo Black', sans-serif;font-weight:400;font-size:6.667cqw;line-height:0.95;letter-spacing:-0.046cqw;text-align:left;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-7812605:is(.zs-7812605,#_#_#_){display:flex;align-items:center;justify-content:flex-end;gap:1.296cqw}
.zs-7b2e493:is(.zs-7b2e493,#_#_#_){color:#FF2B2B}
.zs-7dc6777:is(.zs-7dc6777,#_#_#_){position:absolute;left:1.389cqw;top:81.481cqw;width:43.519cqw;display:flex;flex-direction:column;align-items:center;gap:0.926cqw;text-align:center}
.zs-7e21426:is(.zs-7e21426,#_#_#_){object-position:50% 40%}
.zs-7fb243e:is(.zs-7fb243e,#_#_#_){--x:0.1562;--y:0.5625}
.zs-80a460c:is(.zs-80a460c,#_#_#_){object-position:60% 50%}
.zs-81a72a6:is(.zs-81a72a6,#_#_#_){position:absolute;left:8.889cqw;top:75.185cqw}
.zs-8213445:is(.zs-8213445,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.204cqw);font-weight:600;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-82dd040:is(.zs-82dd040,#_#_#_){font-family:'Archivo Black', sans-serif;font-weight:400;font-size:12.963cqw;line-height:0.8;letter-spacing:-0.278cqw;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-838eeb4:is(.zs-838eeb4,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fc), 2.778cqw);font-weight:700;letter-spacing:0.12em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-863ddc7:is(.zs-863ddc7,#_#_#_){position:absolute;left:3.704cqw;top:8.519cqw;width:92.593cqw;display:flex;flex-direction:column;align-items:center;gap:1.296cqw;text-align:center}
.zs-86da911:is(.zs-86da911,#_#_#_){margin:0;font-size:max(var(--fc), 2.593cqw);font-weight:600;line-height:1.1;text-shadow:0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-8de9c31:is(.zs-8de9c31,#_#_#_){position:absolute;left:8.889cqw;top:49.815cqw}
.zs-8e84d83:is(.zs-8e84d83,#_#_#_){position:absolute;left:51.481cqw;top:21.667cqw}
.zs-8eff31d:is(.zs-8eff31d,#_#_#_){position:absolute;left:73.148cqw;top:64.63cqw}
.zs-8fc0c57:is(.zs-8fc0c57,#_#_#_){position:absolute;left:80.093cqw;top:72.778cqw;height:0;display:flex;align-items:flex-end}
.zs-931588e:is(.zs-931588e,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.111cqw);font-weight:600;letter-spacing:0.16em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-94e2b24:is(.zs-94e2b24,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.481cqw);font-weight:600;letter-spacing:0.16em;color:rgba(255, 255, 255, 0.55);white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-96bfc1c:is(.zs-96bfc1c,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.019cqw);font-weight:700;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-97c9d4c:is(.zs-97c9d4c,#_#_#_){display:inline-flex;align-items:center;gap:1.111cqw;padding:0.463cqw 0.926cqw;border-radius:0.37cqw;background:#FF2B2B;border:0.093cqw solid rgba(255, 255, 255, 0.18)}
.zs-9a06eda:is(.zs-9a06eda,#_#_#_){--x:0.9198;--y:0.4}
.zs-9b54a37:is(.zs-9b54a37,#_#_#_){justify-content:center}
.zs-9b9f65c:is(.zs-9b9f65c,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.296cqw);font-weight:700;letter-spacing:0.16em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-a05f694:is(.zs-a05f694,#_#_#_){--x:.5;--y:.4}
.zs-a0b478e:is(.zs-a0b478e,#_#_#_){position:absolute;left:5.741cqw;top:8.519cqw;font-family:'Archivo Black', sans-serif;font-weight:400;font-size:22.222cqw;line-height:0.9;letter-spacing:-0.556cqw;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-a27360e:is(.zs-a27360e,#_#_#_){margin:0;font-family:'Archivo Black', sans-serif;font-weight:400;font-size:5.926cqw;line-height:0.95;letter-spacing:-0.046cqw;text-align:right;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-a2b34a4:is(.zs-a2b34a4,#_#_#_){position:absolute;left:31.481cqw;top:74.074cqw;width:37.037cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-a70435a:is(.zs-a70435a,#_#_#_){object-position:50% 30%}
.zs-a734c10:is(.zs-a734c10,#_#_#_){position:absolute;left:53.241cqw;top:110.741cqw;width:43.519cqw;display:flex;align-items:center;gap:1.667cqw}
.zs-aa3a2f6:is(.zs-aa3a2f6,#_#_#_){margin-top:26px}
.zs-af132a0:is(.zs-af132a0,#_#_#_){--x:0.8438;--y:0.2375}
.zs-b1e100d:is(.zs-b1e100d,#_#_#_){width:11.852cqw;height:11.852cqw;flex:none}
.zs-b40fc7c:is(.zs-b40fc7c,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.389cqw);font-weight:700;letter-spacing:0.18em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-b6288fd:is(.zs-b6288fd,#_#_#_){position:absolute;left:6.667cqw;top:110.741cqw}
.zs-b73bcae:is(.zs-b73bcae,#_#_#_){position:absolute;left:3.704cqw;top:102.778cqw;width:92.593cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-b832db0:is(.zs-b832db0,#_#_#_){position:absolute;left:61.111cqw;top:31.296cqw}
.zs-b89a775:is(.zs-b89a775,#_#_#_){margin-top:22px}
.zs-ba898f4:is(.zs-ba898f4,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.574cqw);font-weight:600;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-bdab85c:is(.zs-bdab85c,#_#_#_){margin-bottom:clamp(30px,4vw,48px)}
.zs-c18fae7:is(.zs-c18fae7,#_#_#_){position:absolute;left:77.778cqw;top:80.833cqw}
.zs-c28a1f5:is(.zs-c28a1f5,#_#_#_){position:absolute;left:12.5cqw;top:46.111cqw}
.zs-c4fc75d:is(.zs-c4fc75d,#_#_#_){position:absolute;right:6.667cqw;top:96.111cqw}
.zs-c645d3a:is(.zs-c645d3a,#_#_#_){display:flex;flex-direction:column;gap:0.556cqw;align-items:flex-start}
.zs-c83410b:is(.zs-c83410b,#_#_#_){--x:41.05%}
.zs-c89955b:is(.zs-c89955b,#_#_#_){position:absolute;right:80.093cqw;top:74.074cqw;height:0;display:flex;align-items:center}
.zs-c9082cc:is(.zs-c9082cc,#_#_#_){position:absolute;left:71.111cqw;top:95.741cqw;height:0;display:flex;align-items:center}
.zs-c9a4e31:is(.zs-c9a4e31,#_#_#_){position:absolute;right:9.259cqw;top:52.593cqw}
.zs-c9ae64b:is(.zs-c9ae64b,#_#_#_){--x:58.95%}
.zs-ca23afc:is(.zs-ca23afc,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.204cqw);font-weight:700;letter-spacing:0.14em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-cbce2f0:is(.zs-cbce2f0,#_#_#_){position:absolute;left:60.37cqw;top:87.593cqw}
.zs-ccbcfdd:is(.zs-ccbcfdd,#_#_#_){position:absolute;right:6.667cqw;top:62.963cqw}
.zs-cd8c3c3:is(.zs-cd8c3c3,#_#_#_){max-width:30ch}
.zs-cdf41c8:is(.zs-cdf41c8,#_#_#_){margin:0;font-family:'Archivo Black', sans-serif;font-weight:400;font-size:5.926cqw;line-height:0.95;letter-spacing:-0.046cqw;text-align:left;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-ce9f761:is(.zs-ce9f761,#_#_#_){object-position:64% 50%}
.zs-cf47098:is(.zs-cf47098,#_#_#_){position:absolute;left:77.778cqw;top:59.815cqw}
.zs-cf80080:is(.zs-cf80080,#_#_#_){position:absolute;left:36.574cqw;top:38.704cqw}
.zs-d04828e:is(.zs-d04828e,#_#_#_){position:absolute;left:8.333cqw;top:105.37cqw}
.zs-d11fea4:is(.zs-d11fea4,#_#_#_){position:absolute;left:28.241cqw;top:81.481cqw;width:43.519cqw;display:flex;flex-direction:column;align-items:center;gap:0.926cqw;text-align:center}
.zs-d251ae3:is(.zs-d251ae3,#_#_#_){object-position:50% 62%}
.zs-d4a7eaf:is(.zs-d4a7eaf,#_#_#_){margin:0;font-size:4.815cqw;font-weight:500;line-height:1;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-d57fabf:is(.zs-d57fabf,#_#_#_){position:absolute;left:6.667cqw;top:41.852cqw;display:flex;align-items:center;gap:2.222cqw}
.zs-d650019:is(.zs-d650019,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.481cqw);font-weight:600;letter-spacing:0.18em;color:#CFCFCF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-d69cd01:is(.zs-d69cd01,#_#_#_){position:absolute;left:22.222cqw;top:64.815cqw;width:55.556cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-d8b00be:is(.zs-d8b00be,#_#_#_){align-items:center;gap:20px}
.zs-d99dd6a:is(.zs-d99dd6a,#_#_#_){margin-top:30px;color:var(--mute)}
.zs-daa8d33:is(.zs-daa8d33,#_#_#_){--x:0.1562;--y:0.2375}
.zs-dd23f45:is(.zs-dd23f45,#_#_#_){position:absolute;right:71.111cqw;top:52.407cqw;height:0;display:flex;align-items:center}
.zs-e05421e:is(.zs-e05421e,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 1.574cqw);font-weight:700;letter-spacing:0.3em;color:#FF2B2B;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-e09e8f5:is(.zs-e09e8f5,#_#_#_){margin:0;font-size:max(var(--fb), 2.037cqw);font-weight:700;line-height:1.22;text-shadow:0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-e56be87:is(.zs-e56be87,#_#_#_){position:absolute;left:54.815cqw;top:97.037cqw}
.zs-e7fff22:is(.zs-e7fff22,#_#_#_){font-size:max(var(--fb), 1.852cqw);font-weight:700;letter-spacing:0.3em;color:#CFCFCF;text-shadow:0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-e871cfa:is(.zs-e871cfa,#_#_#_){object-position:50% 58%}
.zs-ea3f45e:is(.zs-ea3f45e,#_#_#_){--x:83.33%}
.zs-ebd247a:is(.zs-ebd247a,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.389cqw);font-weight:700;letter-spacing:0.16em;color:#FFFFFF;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-ee16841:is(.zs-ee16841,#_#_#_){display:flex;flex-direction:column;align-items:center;gap:1.111cqw}
.zs-f28135d:is(.zs-f28135d,#_#_#_){position:absolute;left:17.037cqw;top:38.611cqw;width:27.778cqw;height:0;display:flex;justify-content:center;align-items:center}
.zs-f31a64a:is(.zs-f31a64a,#_#_#_){position:absolute;right:71.111cqw;top:95.741cqw;height:0;display:flex;align-items:center}
.zs-f466d76:is(.zs-f466d76,#_#_#_){position:absolute;left:3.241cqw;top:110.741cqw;width:43.519cqw;display:flex;align-items:center;gap:1.667cqw}
.zs-f5b6ed0:is(.zs-f5b6ed0,#_#_#_){display:inline-block;width:0.833cqw;height:0.833cqw;border-radius:0.463cqw;background:#FF2B2B;margin-right:0.926cqw;vertical-align:0.093cqw}
.zs-f9b8c4b:is(.zs-f9b8c4b,#_#_#_){display:flex;flex-direction:column;gap:0.556cqw;align-items:flex-end}
.zs-f9fc73a:is(.zs-f9fc73a,#_#_#_){display:flex;align-items:center;gap:1.296cqw}
.zs-fb81fd7:is(.zs-fb81fd7,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fa), 1.481cqw);font-weight:700;letter-spacing:0.2em;color:#FF2B2B;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-fd5247a:is(.zs-fd5247a,#_#_#_){font-family:'JetBrains Mono', monospace;font-size:max(var(--fb), 2.037cqw);font-weight:700;letter-spacing:0.24em;color:#FF2B2B;white-space:nowrap;text-shadow:0 0.093cqw 0.278cqw rgba(0, 0, 0, 0.9), 0 0.185cqw 1.667cqw rgba(0, 0, 0, 0.85)}
.zs-fdf9c74:is(.zs-fdf9c74,#_#_#_){font-family:'Archivo Black', sans-serif;font-weight:400;font-size:10.37cqw;line-height:0.8;letter-spacing:-0.278cqw;white-space:nowrap;text-shadow:0 0.37cqw 2.778cqw rgba(0, 0, 0, 0.65)}
.zs-fe5d4b2:is(.zs-fe5d4b2,#_#_#_){position:absolute;left:55.093cqw;top:81.481cqw;width:43.519cqw;display:flex;flex-direction:column;align-items:center;gap:0.926cqw;text-align:center}
.lg-burger-king{--lw:97}.lg-ocbc{--lw:216}.lg-aia{--lw:100}.lg-ntuc{--lw:170}.lg-mediacorp{--lw:146}.lg-great-eastern{--lw:183}.lg-madame-tussauds{--lw:135}.lg-carousell{--lw:85}.lg-propnex{--lw:99}.lg-huttons{--lw:195}.lg-uoi{--lw:158}.lg-oue-restaurants{--lw:107}.lg-peoples-association{--lw:119}.lg-east-coast-town-council{--lw:173}.lg-first-campus{--lw:203}.lg-lau-pa-sat{--lw:240}.lg-delifrance{--lw:107}.lg-ohmyhome{--lw:224}.lg-elysian-design{--lw:186}.lg-aberdeen{--lw:202}.lg-technip-fmc{--lw:156}.lg-era-preeminent{--lw:252}.lg-sri{--lw:174}.lg-21-medical{--lw:80}.lg-ken-shop{--lw:106}.lg-a-hot-hideout{--lw:122}.lg-5-hour-energy{--lw:153}.lg-steed{--lw:123}.lg-hamilton-by-yoop{--lw:230}.lg-sme500{--lw:83}.lg-meta-business-partner{--lw:124}.lg-tiktok-ads{--lw:178}.lg-vendors-at-gov{--lw:108}.lg-workforce-singapore{--lw:131}

/* ================= v17 ================= */
/* the nav stays put while you scroll; sticky scenes start below it */
.fx header.nav.fx-hide{transform:none}
body{--jumph:0px}
body:has(.sv-index.jump){--jumph:54px}
:where(main section[id]){scroll-margin-top:calc(var(--navh,72px) + var(--jumph,0px) + 10px)}
.fx .hm-diff .hm-stick,.fx .hm-services .hm-stick{padding-top:calc(var(--navh,72px) + var(--jumph,0px));box-sizing:border-box}
.ne.live:not(.auto) .ne-stage{padding-top:calc(var(--navh,72px) + var(--jumph,0px) + 14px)}

/* jump to: one sticky strip of anchor links under the nav, the current section lit */
.sv-index.jump .sv-index-in{display:flex;align-items:stretch}
.sv-index.jump .sv-ix{flex:1 1 auto;text-decoration:none;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-index.jump .jl{display:flex;align-items:center;gap:10px;padding:0 18px 0 0;font:700 .56rem/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--red);white-space:nowrap;flex:none}
.sv-index.jump .jl::after{content:"";width:22px;height:1px;background:var(--red);box-shadow:0 0 8px var(--red)}
.sv-index.jump .sv-ix:focus-visible{outline:1px solid var(--red);outline-offset:-3px}
@media(max-width:1180px){.sv-index.jump .jl{display:none}}
@media(max-width:900px){.sv-index.jump .sv-index-in{display:flex}.sv-index.jump .sv-ix{flex:0 0 auto;overflow:visible}body:has(.sv-index.jump){--jumph:48px}}

/* client and credential logos: white on transparent, sized from the deck's client wall; each place sets --ls */
.lg{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}
.lg img{display:block;width:calc(var(--lw) * var(--ls,.5) * 1px);height:auto;max-width:none}
.track{gap:64px;padding-block:22px}
.track .lg{--ls:.42;gap:64px}
.track .lg img{opacity:.75;transition:opacity .3s}
.track .lg:hover img{opacity:1}
.pfk-logos .pfk-set{font-size:clamp(1.6rem,3.4vw,3rem)}
.pfk-logos .pfk-set .lg{--ls:.6;padding:0 clamp(18px,2.6vw,42px)}
.pfk-logos .pfk-set .lg img{opacity:.88}
.pfk-logos .pfk-row.rev .pfk-set .lg img{opacity:.66}
@media(max-width:760px){.pfk-logos .pfk-set .lg{--ls:.46}.track .lg{--ls:.36}}
/* reduced motion: the strip stands still, so show every logo once, wrapped, with the label above */
@media(prefers-reduced-motion:reduce){.marquee::before,.marquee::after{display:none}.marquee .mq-label{position:static;box-shadow:none;justify-content:center;padding:18px 24px 0}.marquee .track{flex-wrap:wrap;width:auto;justify-content:center;gap:22px 44px;padding:18px 24px 24px}.marquee .track .lg:nth-child(n+30){display:none}}
.cw-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 40px;margin:clamp(14px,2.4vw,26px) 0 clamp(22px,3vw,36px)}
.cw-head .h-l{max-width:14ch}
.cw-sub{margin:0;color:var(--mute);max-width:24ch;text-align:right;font-size:1rem}
.cw{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);position:relative}
.cw::before{content:"";position:absolute;left:-1px;top:-1px;width:120px;height:3px;background:var(--red);box-shadow:0 0 14px rgba(255,43,43,.6)}
.cw li{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;transition:background .3s}
.cw li:hover{background:rgba(255,43,43,.05)}
.cw .lg{--ls:.62}
.cw .lg img{opacity:.84;transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.cw li:hover .lg img{opacity:1;transform:scale(1.05)}
.cw-more{gap:10px;font:700 .6rem var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ink)}
.cw-more i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);flex:none}
.cw-cert{margin-top:clamp(26px,4vw,46px);display:flex;flex-wrap:wrap;align-items:center;gap:18px 44px;padding-top:clamp(22px,3vw,30px);border-top:1px solid var(--line)}
.cw-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:22px 46px}
.cw-badges .lg{--ls:.78}
.ab-trust .ab-reg{margin-top:clamp(22px,3vw,30px)}
@media(max-width:1000px){.cw{grid-template-columns:repeat(5,minmax(0,1fr))}.cw .lg{--ls:.52}}
@media(max-width:640px){.cw{grid-template-columns:repeat(3,minmax(0,1fr))}.cw .lg{--ls:.4}.cw-sub{text-align:left}.cw-badges{gap:18px 30px}.cw-badges .lg{--ls:.6}}

/* blog list: the latest article first, then a grid */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.bl-card,.bl-feat{position:relative;border:1px solid var(--line);background:var(--bg2);transition:border-color .3s}
.bl-card:hover,.bl-feat:hover{border-color:rgba(255,43,43,.55)}
.bl-a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.bl-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000}
.bl-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.88);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .4s}
.bl-card:hover .bl-img img,.bl-feat:hover .bl-img img{transform:scale(1.05);filter:brightness(1)}
.bl-b{display:flex;flex-direction:column;gap:12px;padding:22px 22px 20px;flex:1}
.bl-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:600 .58rem/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.bl-cat{color:var(--red)}
.bl-t{font-size:1.28rem;line-height:1.1}
.bl-ex{margin:0;color:#b9b9bf;font-size:.92rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bl-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.bl-arr{color:var(--red);font-size:1rem;transition:transform .3s}
.bl-card:hover .bl-arr{transform:translateX(5px)}
.bl-feat{grid-column:1/-1}
.bl-feat .bl-a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.bl-feat .bl-img{aspect-ratio:auto;min-height:360px}
.bl-feat .bl-img img{position:absolute;inset:0}
.bl-feat .bl-b{padding:clamp(26px,3.6vw,52px);justify-content:center;gap:18px}
.bl-feat .bl-t{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.02}
.bl-feat .bl-ex{-webkit-line-clamp:4;font-size:1rem}
.bl-tag{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:9px;background:rgba(5,5,6,.84);border:1px solid var(--line2);padding:8px 11px;font:700 .56rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.bl-tag i{width:6px;height:6px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 8px var(--red)}
.bl-go{font:600 .66rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.bl-empty{grid-column:1/-1}
@media(max-width:1000px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bl-feat .bl-a{grid-template-columns:minmax(0,1fr)}.bl-feat .bl-img{min-height:0;aspect-ratio:16/9}}
@media(max-width:640px){.bl-grid{grid-template-columns:minmax(0,1fr)}}

/* blog post */
.pa-hero{position:relative;padding:calc(var(--navh,72px) + clamp(44px,7vw,96px)) 0 clamp(30px,4vw,52px);border-bottom:1px solid var(--line);background:radial-gradient(70% 90% at 85% 0%,rgba(255,43,43,.09),transparent 60%),var(--bg)}
.pa-crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:600 .62rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.pa-crumbs a{color:var(--red);text-decoration:none}
.pa-crumbs a:hover{text-decoration:underline}
.pa-title{font-size:clamp(2.1rem,5.2vw,4.4rem);line-height:1.02;max-width:20ch;margin-top:22px}
.pa-lede{max-width:62ch;margin-top:22px}
.pa-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;margin-top:28px;font:600 .62rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.pa-meta>*+*::before{content:"";display:inline-block;width:5px;height:5px;margin:0 16px 2px;background:var(--red);transform:rotate(45deg);vertical-align:middle}
.pa-cover{margin-top:clamp(26px,4vw,48px)}
.pa-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border:1px solid var(--line)}
.pa-body{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,70ch);justify-content:center;gap:clamp(30px,5vw,84px);padding-block:clamp(40px,6vw,84px)}
.pa-side{position:sticky;top:calc(var(--navh,72px) + 28px);align-self:start}
.pa-toc{border-top:1px solid var(--line);padding-top:16px}
.pa-toc summary{list-style:none;cursor:pointer;font:700 .6rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.pa-toc summary::-webkit-details-marker{display:none}
.pa-toc ol{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:2px}
.pa-toc li a{display:block;padding:7px 0 7px 14px;border-left:1px solid var(--line2);color:var(--mute);text-decoration:none;font-size:.84rem;line-height:1.35;transition:color .2s,border-color .2s}
.pa-toc li.sub a{padding-left:28px;font-size:.78rem}
.pa-toc li a:hover{color:var(--ink)}
.pa-toc li a.on{color:var(--ink);border-left-color:var(--red);box-shadow:inset 2px 0 0 var(--red)}
.pa-share{display:grid;gap:8px;margin-top:28px}
.pa-share .k{font:700 .6rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.pa-share a,.pa-share button{display:block;font:600 .62rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:none;border:1px solid var(--line2);padding:11px 12px;text-align:left;cursor:pointer;text-decoration:none;transition:border-color .2s,color .2s}
.pa-share a:hover,.pa-share button:hover{border-color:var(--red);color:var(--red)}
.pa-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:0}
.pa-share-row .k{margin-right:8px}
.pa-prose{font-size:1.06rem;line-height:1.8;color:#d4d4d9;counter-reset:h2;min-width:0}
.pa-prose>:first-child{margin-top:0}
.pa-prose p{margin:0 0 1.3em}
.pa-prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.08;color:var(--ink);margin:2.1em 0 .7em;counter-increment:h2}
.pa-prose h2::before{content:counter(h2,decimal-leading-zero);display:block;margin-bottom:12px;font:700 .64rem var(--mono);letter-spacing:.24em;color:var(--red)}
.pa-prose h3{font-family:var(--body);font-weight:600;font-size:1.2rem;line-height:1.3;letter-spacing:0;color:var(--ink);margin:1.8em 0 .5em}
.pa-prose h4{font-family:var(--mono);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin:1.8em 0 .6em}
.pa-prose :is(h2,h3,h4){scroll-margin-top:calc(var(--navh,72px) + 24px)}
.pa-prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}
.pa-prose a:hover{color:var(--red)}
.pa-prose :is(strong,b){color:var(--ink);font-weight:600}
.pa-prose :is(ul,ol){margin:0 0 1.4em;padding-left:1.3em}
.pa-prose li{margin:.4em 0;padding-left:.2em}
.pa-prose li::marker{color:var(--red)}
.pa-prose ol li::marker{font-family:var(--mono);font-size:.82em}
.pa-prose blockquote{margin:1.9em 0;padding:6px 0 6px 26px;border-left:2px solid var(--red);font-size:1.22rem;line-height:1.6;color:var(--ink)}
.pa-prose blockquote p:last-child{margin-bottom:0}
.pa-prose img{max-width:100%;height:auto;display:block;margin:1.9em auto;border:1px solid var(--line)}
.pa-prose figure{margin:1.9em 0}
.pa-prose figure img{margin:0}
.pa-prose figcaption{margin-top:10px;font:600 .6rem/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pa-prose hr{border:0;height:1px;background:var(--line2);margin:2.4em 0}
.pa-prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:1.6em 0;font-size:.92rem}
.pa-prose :is(th,td){border:1px solid var(--line2);padding:10px 12px;text-align:left;vertical-align:top}
.pa-prose th{font:600 .64rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--bg2)}
.pa-prose code{font-family:var(--mono);font-size:.86em;background:var(--bg2);border:1px solid var(--line);padding:.1em .4em}
.pa-prose pre{background:var(--bg2);border:1px solid var(--line);padding:16px;overflow-x:auto}
.pa-prose pre code{border:0;padding:0;background:none}
.pa-prose :is(iframe,video){max-width:100%}
.pa-end{padding-bottom:clamp(50px,7vw,96px)}
.pa-end>.pa-share-row{padding-top:26px;border-top:1px solid var(--line)}
.pa-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.pa-nx{display:block;border:1px solid var(--line);background:var(--bg2);padding:24px;color:inherit;text-decoration:none;transition:border-color .25s}
.pa-nx:hover{border-color:var(--red)}
.pa-nx .k{font:700 .6rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.pa-nx b{display:block;margin-top:12px;font-family:var(--display);font-weight:400;font-size:1.25rem;line-height:1.1}
.pa-nx.next{grid-column:2;text-align:right}
.pa-all{margin:34px 0 0}
@media(max-width:900px){.pa-body{grid-template-columns:minmax(0,1fr)}.pa-side{position:static}.pa-side .pa-share{display:none}.pa-toc{border:1px solid var(--line);padding:14px 16px;background:var(--bg2)}}
@media(max-width:700px){.pa-next{grid-template-columns:minmax(0,1fr)}.pa-nx.next{grid-column:auto;text-align:left}}

/* ================= v18: testimonials ================= */
.hm-tm{padding-bottom:clamp(72px,9vw,128px);position:relative}
.tm-h{margin:clamp(6px,1.5vw,16px) 0 clamp(28px,4vw,52px)}
.tm-card{position:relative;margin:0;padding:clamp(24px,3vw,40px);border:1px solid var(--line);background:var(--bg2);display:flex;flex-direction:column;transition:border-color .3s}
.tm-card:hover{border-color:rgba(255,43,43,.5)}
.tm-card::before{content:"\201C";display:block;flex:none;height:.5em;margin-bottom:20px;font-family:var(--display);font-size:4.6rem;line-height:1;color:var(--red);text-shadow:0 0 24px rgba(255,43,43,.45)}
.tm-card blockquote{margin:0;flex:1 1 auto}
.tm-card p{margin:0 0 1em;font-size:1.02rem;line-height:1.72;color:#dcdce1}
.tm-card p:last-child{margin-bottom:0}
.tm-row .tm-card p{font-size:clamp(1.04rem,1.2vw,1.14rem);line-height:1.65;color:var(--ink)}
.tm-card figcaption,.tm-mini figcaption{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.tm-id{display:flex;flex-direction:column;gap:5px;min-width:0}
.tm-who{font:700 .68rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.tm-sub{font:600 .6rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.tm-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px);margin-top:clamp(14px,1.8vw,22px)}
/* NTUC: the long one, set as the lead quote */
.tm-feat{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,2.7fr);grid-template-rows:auto 1fr;column-gap:clamp(28px,5vw,84px);padding:clamp(28px,4vw,56px)}
.tm-feat::before{grid-column:1;grid-row:1;font-size:7.5rem;margin:0}
.tm-feat blockquote{grid-column:2;grid-row:1/3}
.tm-feat p{font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.7;color:var(--ink)}
.tm-feat figcaption{grid-column:1;grid-row:2;align-self:end;flex-direction:column;align-items:flex-start;gap:16px;margin:28px 0 0;padding:0;border:0}
.tm-feat .lg{--ls:.78}
.tm-feat .lg img{opacity:.92}
@media(max-width:999px){
  .tm-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-row>:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:820px){
  .tm-feat{display:flex;padding:clamp(24px,5vw,36px)}
  .tm-feat::before{font-size:4.6rem;height:.5em;margin-bottom:20px}
  .tm-feat figcaption{align-self:stretch;flex-direction:row;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
  .tm-feat .lg{--ls:.5}
}
@media(max-width:640px){.tm-row{grid-template-columns:minmax(0,1fr)}.tm-row>:last-child:nth-child(odd){grid-column:auto}}
/* contact: two short notes under the ways to reach us */
.tm-blk .tm-mini{margin:12px 0 0;padding:16px 18px;border:1px solid var(--line);border-left:2px solid var(--red);background:var(--bg2)}
.tm-mini blockquote{margin:0}
.tm-mini p{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink)}
.tm-mini figcaption{margin-top:12px;padding-top:10px}
.tm-more{display:inline-block;margin-top:14px;font:600 .62rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .2s,border-color .2s}
.tm-more:hover,.tm-more:focus-visible{color:var(--ink);border-color:var(--red)}
