@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-tight-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-tight-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Single-theme by design: the FLEX brand world is near-black with one orange move. */
:root{
  --ink:#1A1A1A; --light:#EDEDED; --grey:#8C8C8C; --soft:#EDEDED; --orange:#FF6F00; --line:rgba(140,140,140,.3); --panel:rgba(237,237,237,.06);
  --sans:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --gutter:clamp(16px,4vw,64px);
  /* One type scale for the whole site: eight sizes, nothing else. */
  --t-display:clamp(32px,6.4vw,100px); --t-h2:clamp(32px,4.6vw,72px); --t-h3:clamp(24px,2.8vw,40px); --t-h4:clamp(20px,1.8vw,26px);
  --t-lede:clamp(18px,1.5vw,21px); --t-body:18px; --t-small:15px; --t-label:13px;

}
*{box-sizing:border-box}
body{background:var(--ink);color:var(--light);font-family:var(--sans);font-size:var(--t-body);line-height:1.5;margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.wrap{padding-inline:var(--gutter)}
h1,h2,h3{font-weight:600;margin:0;text-wrap:balance}
p{margin:0}
.cap{font-weight:500;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}

.note{background:var(--light);color:var(--ink);font-size:var(--t-label);line-height:1.45;padding-block:10px}
.note b{font-weight:600}

header.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:22px}
.logo svg{display:block;width:56px;height:auto}
nav.main{display:flex;align-items:center;gap:clamp(14px,2.6vw,36px);flex-wrap:wrap;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase}
nav.main a{text-decoration:none;color:var(--light);padding-block:6px;border-bottom:2px solid transparent}
nav.main a:hover{border-bottom-color:var(--grey)}
nav.main a[aria-current="page"]{border-bottom-color:var(--orange)}
.btn{display:inline-block;background:var(--orange);color:var(--ink);font:500 var(--t-label) var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:14px 22px;border:0;cursor:pointer}
.btn:hover{background:var(--light)}
nav.main a.btn{color:var(--ink);padding:12px 18px;border-bottom:0}
.btn.ghost{background:transparent;color:var(--light);box-shadow:inset 0 0 0 1px var(--grey)}
.btn.ghost:hover{background:transparent;box-shadow:inset 0 0 0 1px var(--orange)}

[data-page]{display:none}
[data-page].on{display:block}

/* Home hero */
.hero{position:relative;display:grid}
.hero video{grid-area:1/1;display:block;width:100%;height:min(78vh,56.25vw);min-height:440px;object-fit:cover;background:#000}
.hero::after{content:"";grid-area:1/1;background:linear-gradient(180deg,rgba(26,26,26,.2) 0%,rgba(26,26,26,.25) 30%,rgba(26,26,26,.72) 62%,rgba(26,26,26,.94) 100%);pointer-events:none;transition:opacity .5s ease}
.hero-copy{grid-area:1/1;align-self:end;z-index:1;padding-block:0 clamp(36px,5vw,68px);transition:opacity .5s ease}
.hero.quiet::after,.hero.quiet .hero-copy{opacity:0}
.hero.quiet .hero-copy{pointer-events:none}
.hero-copy h1{font-size:var(--t-display);line-height:.98;letter-spacing:-.01em;text-shadow:0 1px 24px rgba(0,0,0,.45)}
.hero-copy h1 .swap{display:block;min-height:1em}
.hero-copy h1 .swap span{transition:opacity .38s ease}
.hero-copy h1 .swap span.out{opacity:0}
.rule{width:clamp(72px,9vw,132px);height:8px;background:var(--orange);margin-top:clamp(18px,2.6vw,36px)}
.lede{max-width:34em;margin-top:clamp(18px,2.6vw,32px);font-size:var(--t-lede)}
.hero-copy .lede{text-shadow:0 1px 16px rgba(0,0,0,.6)}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(20px,2.6vw,32px)}
.hero-cap{display:flex;justify-content:space-between;gap:16px;padding-block:12px}

/* Page heads for inner pages */
.phead{padding-block:clamp(40px,7vw,110px) clamp(28px,4vw,56px)}
.phead h1{font-size:var(--t-display);line-height:.98;letter-spacing:-.01em;max-width:13em}
.phead .lede{color:var(--light)}

.sect{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;padding-block:clamp(56px,8vw,120px) clamp(20px,3vw,36px)}
.sect h2,.band h2{line-height:1;letter-spacing:-.01em}
.sect h2{font-size:var(--t-h2);line-height:1;letter-spacing:-.01em}
.sect p{max-width:26em;color:var(--soft)}

.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:clamp(40px,6vw,96px)}
.door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(360px,40vw,560px);padding:clamp(24px,3vw,48px);text-decoration:none;background:var(--ink);overflow:hidden}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;transition:opacity .4s ease}
.door:hover img,.door:focus-visible img{opacity:.6}
.door::after{content:"";position:absolute;inset:0;border:0 solid var(--orange);transition:border-width .2s ease;pointer-events:none}
.door:hover::after,.door:focus-visible::after{border-width:8px}
.door > *:not(img){position:relative}
.door .cap{color:var(--light)}
.door h2{font-size:var(--t-h3);line-height:1;letter-spacing:-.01em;margin:10px 0 14px;max-width:11em}
.door p{max-width:26em}
.go{margin-top:22px;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.go::after{content:"";display:inline-block;width:1.25em;height:1.25em;margin-left:.45em;vertical-align:-.3em;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cpath%20fill%3D%22%23FF6F00%22%20fill-rule%3D%22evenodd%22%20d%3D%22M54.828426%2032L35.414215%2012.585787L32.585785%2015.414213L47.17157%2030L12%2030L12%2034L47.17157%2034L32.585785%2048.585785L35.414215%2051.414215L54.828426%2032Z%22/%3E%3C/svg%3E") center/contain no-repeat}


/* A light band, as the brand guide alternates dark and light pages */
.expect{background:var(--light);color:var(--ink);margin-top:clamp(56px,8vw,120px);padding-block:clamp(56px,8vw,120px)}
.expect-in{display:grid;gap:clamp(36px,5vw,72px)}
.expect h2{font-size:var(--t-h2);line-height:1;letter-spacing:-.01em}
.expect .more{margin-top:clamp(20px,2.6vw,32px);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.expect .more a{text-decoration:none;color:var(--ink)}.expect .more a::after{content:"";display:inline-block;width:1.25em;height:1.25em;margin-left:.45em;vertical-align:-.3em;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cpath%20fill%3D%22%23FF6F00%22%20fill-rule%3D%22evenodd%22%20d%3D%22M54.828426%2032L35.414215%2012.585787L32.585785%2015.414213L47.17157%2030L12%2030L12%2034L47.17157%2034L32.585785%2048.585785L35.414215%2051.414215L54.828426%2032Z%22/%3E%3C/svg%3E") center/contain no-repeat}
.keep{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:24px}
.keep li{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:1px solid var(--ink)}
.keep h3{font-size:var(--t-h4);line-height:1.1;letter-spacing:-.01em}
.keep p{font-size:var(--t-body);color:var(--ink)}
@media (max-width:560px){.keep li{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:1px solid var(--ink)}}
/* Values: listed once, on the About page */
.values{border-top:1px solid var(--line)}
.value{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,4fr);gap:clamp(16px,3vw,48px);padding-block:clamp(28px,3.6vw,52px);border-bottom:1px solid var(--line);align-items:start}
.value .cap{font-size:var(--t-h3);font-weight:600;line-height:1;letter-spacing:-.01em;text-transform:none;color:var(--light);padding-top:0}
.value .cap::before{content:"";display:block;width:44px;height:6px;background:var(--orange);margin-bottom:16px}
.value h3,.value h2{font-size:var(--t-h4);line-height:1.12;letter-spacing:-.01em;font-weight:500}
.value p{color:var(--light);max-width:30em;font-size:var(--t-body)}
@media (max-width:820px){.value{grid-template-columns:1fr;gap:8px}}

.work{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}
@media (max-width:900px){.work{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.work{grid-template-columns:1fr}}
.work figure{margin:0}
.work img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.work figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:12px 12px 28px 0;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.work figcaption b{color:var(--light);font-weight:500}
.lead-img{margin:0}
.lead-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.lead-img.photo img{aspect-ratio:21/9}
.lead-img figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:12px 28px}

/* Before / after */
.ba{position:relative;max-width:1180px;margin-inline:auto;aspect-ratio:1043/703;overflow:hidden;background:#000;--pos:50%}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:100%}
.ba .after{clip-path:inset(0 0 0 var(--pos))}
.ba .bar{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:var(--orange);pointer-events:none}
.ba .tagl,.ba .tagr{position:absolute;bottom:14px;background:var(--ink);color:var(--light);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;pointer-events:none}
.ba .tagl{left:14px}.ba .tagr{right:14px}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba:focus-within{outline:2px solid var(--orange);outline-offset:3px}
.ba-note{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1180px;margin-inline:auto;padding-block:12px}

.band{margin-top:clamp(56px,8vw,120px);border-top:1px solid var(--line);padding-block:clamp(48px,7vw,104px);display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.band h2{font-size:var(--t-h2);line-height:1;letter-spacing:-.01em;max-width:11em}
.band p{color:var(--soft);max-width:26em;margin-top:14px}

/* How it works */
.steps{border-top:1px solid var(--line);counter-reset:step}
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,2fr);gap:clamp(16px,3vw,48px);padding-block:clamp(24px,3.4vw,48px);border-bottom:1px solid var(--line)}
.step .n{font-size:var(--t-h3);font-weight:600;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.step .n::before{counter-increment:step;content:counter(step,decimal-leading-zero)}
.step .v{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:var(--t-small);color:var(--light);letter-spacing:.1em}
.step .v::before{content:"";width:22px;height:5px;background:var(--orange)}
.step h3,.step h2{font-size:var(--t-h3);line-height:1.05;letter-spacing:-.01em}
.step p{color:var(--light);max-width:30em}
.step p + p{margin-top:12px}
@media (max-width:820px){.step{grid-template-columns:1fr;gap:10px}}

.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(24px,4vw,72px);align-items:start}
.two p{color:var(--soft);max-width:32em}
.two p + p{margin-top:14px}
.two h3,.two h2{font-size:var(--t-h4);line-height:1.08;letter-spacing:-.01em;margin-bottom:14px}
.spec{width:100%;border-collapse:collapse;margin-top:18px;font-size:var(--t-small)}
.spec th,.spec td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}
.spec th{color:var(--grey);width:44%;padding-right:16px}

.drawing{margin:0;border:1px solid var(--line);background:
  linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 40px,
  linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/40px 100%;background-color:var(--ink)}
.drawing .stage{padding:clamp(12px,2vw,28px)}
.drawing svg{display:block;width:100%;height:auto}
.drawing figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:var(--ink)}
.build{background:transparent;color:var(--light);border:1px solid var(--grey);font:500 var(--t-label) var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
.build:hover{border-color:var(--orange)}
.s{opacity:1;transition:opacity .45s ease}
.rail{stroke:var(--light);stroke-width:7;fill:none}
.brace{stroke:var(--grey);stroke-width:3;fill:none}
.dim{stroke:var(--grey);stroke-width:2;fill:none}
.dimt{fill:var(--grey);font:500 44px var(--sans);letter-spacing:.08em}
.pan-l{fill:var(--light)} .pan-d{fill:var(--panel);stroke:var(--line);stroke-width:2}
.brand{fill:var(--ink);font:600 230px var(--sans);letter-spacing:-.01em}
.brand-s{fill:var(--ink);font:400 46px var(--sans);letter-spacing:.18em}
.lamp{stroke:var(--light);stroke-width:6;fill:none}
.glow{fill:var(--light);opacity:.07}
.floor{stroke:var(--light);stroke-width:4}

/* About: the ladder */
.ladder{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:4px}
.ladder li{background:var(--panel);padding:12px 16px;font-weight:500}
.ladder li:nth-child(1){margin-left:0;background:var(--orange);color:var(--ink)}
.ladder li:nth-child(2){margin-left:6%}.ladder li:nth-child(3){margin-left:12%}.ladder li:nth-child(4){margin-left:18%}
.ladder li:nth-child(5){margin-left:24%}.ladder li:nth-child(6){margin-left:30%}.ladder li:nth-child(7){margin-left:36%}
.pull{font-size:var(--t-h3);line-height:1.08;letter-spacing:-.01em;font-weight:600;max-width:18em;padding-block:clamp(40px,6vw,88px)}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(28px,5vw,88px);align-items:start}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
form{display:grid;gap:18px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
label,legend{display:block;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:8px;padding:0}
label i{font-style:normal;color:var(--grey);text-transform:none;letter-spacing:0}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;background:var(--panel);border:1px solid var(--grey);color:var(--light);font:400 var(--t-body) var(--sans);padding:14px;border-radius:0}
textarea{min-height:150px;resize:vertical}
fieldset{border:0;margin:0;padding:0}
.choices{display:flex;gap:10px;flex-wrap:wrap}
.choices label{display:flex;align-items:center;gap:8px;margin:0;padding:12px 14px;border:1px solid var(--grey);color:var(--light);text-transform:none;letter-spacing:0;font-size:var(--t-body);cursor:pointer}
.choices input{accent-color:var(--orange)}
.small{font-size:var(--t-small);color:var(--grey);max-width:40em}
.formnote{border:1px dashed var(--grey);padding:14px;font-size:var(--t-small);color:var(--soft)}
.aside h3,.aside h2{font-size:var(--t-h4);letter-spacing:-.01em;margin-bottom:12px}
.aside ol{margin:0 0 28px;padding-left:20px;color:var(--soft)}
.aside li{margin-bottom:10px}
.aside dl{margin:0;display:grid;gap:14px}
.aside dt{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:rgba(237,237,237,.58)}
.aside dd{margin:2px 0 0}
.ph{display:inline-block;background:var(--orange);color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.14em;padding:3px 6px;margin-right:6px}


.social{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.social a,.social .soc{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--grey);color:var(--light);font:600 var(--t-label) var(--sans);letter-spacing:.08em;text-decoration:none;cursor:pointer}
.social a:hover{border-color:var(--orange);text-decoration:none}
.social a svg,.social .soc svg{width:18px;height:18px}
.social a svg + .fb,.social .soc svg + .fb{display:none}
.social a i,.social .soc i{display:none}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.playfilm{position:absolute;right:var(--gutter);top:20px;z-index:3;background:rgba(26,26,26,.72);color:var(--light);border:1px solid var(--grey);font:500 var(--t-label) var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:11px 16px;cursor:pointer;backdrop-filter:blur(4px)}
.playfilm:hover{border-color:var(--orange);color:var(--orange)}
.social-h{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:10px}

/* Pack devices */
.sect{position:relative;margin-top:clamp(48px,7vw,104px);padding-top:clamp(24px,3vw,40px) !important;border-top:1px solid var(--line)}
.sect::before{content:"";position:absolute;top:-2px;left:0;width:48px;height:3px;background:var(--orange)}
.step .sn{display:grid;gap:14px;justify-items:start;align-content:start}
.step .sn::before{content:"";width:44px;height:6px;background:var(--orange)}
.step .ico svg{display:block;width:48px;height:48px}
.lightband{background:var(--light);color:var(--ink);margin-top:clamp(56px,8vw,120px);padding-block:clamp(56px,8vw,112px)}
.lightband h2{font-size:var(--t-h2);line-height:1;letter-spacing:-.01em}
.plots{list-style:none;margin:clamp(32px,4vw,56px) 0 24px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:24px}
.plots svg{display:block;width:min(100%,160px);height:auto;margin-left:-14px}
.plots h3{font-size:var(--t-h4);margin-top:6px}
.plots p{font-size:var(--t-body)}
.quote{padding-top:clamp(40px,6vw,88px)}
.quote svg{display:block;width:72px;height:auto}
.pull{padding-top:20px !important}
.fix{margin:28px 0 0}
.fix-in{background:var(--light);padding:20px}
.fix-in svg{display:block;width:100%;max-width:360px;height:auto;margin-inline:auto}
.fix figcaption{padding-top:10px}
.aside{background:var(--panel);padding:clamp(20px,2.4vw,32px);position:relative}
.aside::before{content:"";position:absolute;top:0;left:clamp(20px,2.4vw,32px);width:48px;height:3px;background:var(--orange)}
.go.quiet{align-self:center;margin-top:0;text-decoration:none;color:var(--light)}

/* Light bands: one per page, as a break from the near-black */
.light{background:var(--light);color:var(--ink)}
.bleed{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
div.light.bleed{margin-top:clamp(56px,8vw,120px);padding-block:clamp(48px,7vw,104px)}
.light .sect{margin-top:0;border-top:0;padding-top:0 !important}
.light .sect::before{display:none}
.light p,.light .cap,.light .sect p,.light .value p,.light .value .cap,.light .two p,.light .spec th,.light .spec td,.light .band p{color:var(--ink)}
.light .values,.light .value,.light .spec th,.light .spec td{border-color:rgba(26,26,26,.22)}
.light .fix-in{border:1px solid rgba(26,26,26,.22)}
.light .drawing figcaption .cap{color:var(--grey)}
.light .btn:hover{background:var(--ink);color:var(--light)}
.band.light{border-top:0;padding-inline:var(--gutter)}
.band.light + *{margin-top:0}

.work figure,.lead-img{cursor:zoom-in}
.work figure .zoom,.lead-img .zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit}
.work figure .zoom:focus-visible,.lead-img .zoom:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.go{display:inline-block;padding-block:4px}
.photo img{filter:grayscale(1);transition:filter .5s ease}
.photo:hover img,.photo:focus-within img{filter:none}
@media (hover:none){.photo img{filter:none}}
@media (prefers-reduced-motion:reduce){.photo img{transition:none}}

.lb{position:fixed;inset:0;z-index:50;background:rgba(26,26,26,.96);display:grid;grid-template-rows:auto 1fr auto;padding:16px var(--gutter);gap:12px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;justify-self:center;align-self:center;object-fit:contain;cursor:zoom-out}
.lb-x{justify-self:end;background:transparent;color:var(--light);border:1px solid var(--grey);font:500 var(--t-label) var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
.lb-x:hover{border-color:var(--orange)}
.lb-bar{display:flex;justify-content:space-between;align-items:center}
.lb-stage{position:relative;display:grid;place-items:center;min-height:0}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(26,26,26,.7);color:var(--light);border:1px solid var(--grey);font:500 var(--t-body) var(--sans);width:48px;height:48px;cursor:pointer}
.lb-nav:hover{border-color:var(--orange)} #lb-prev{left:0} #lb-next{right:0}
.lb-nav[hidden]{display:none}
@media (max-width:560px){.lb-nav{width:40px;height:40px}}
.lb .cap{color:var(--light)}

.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.stats li{border-top:1px solid var(--line);padding-top:14px}
.stats b{display:block;font-size:var(--t-h2);line-height:1;letter-spacing:-.01em;font-weight:600;font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:6px;color:var(--soft)}
.stats li:first-child b{color:var(--orange)}

.legal .prose{max-width:38em}
.legal .prose h3,.legal .prose h2{margin:clamp(28px,3vw,40px) 0 10px;font-size:var(--t-h4)}
.legal .prose p{margin-bottom:14px;color:var(--soft)}
.legal .prose p b{color:var(--light);font-weight:600}
.legal .prose table{max-width:none}
.legal .prose th[scope=col]{color:var(--grey);width:auto;padding-right:16px}
.legal .prose td{color:var(--soft);padding-right:16px}
.legal .spec{overflow-x:auto;display:block}
footer{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,96px);padding-block:36px 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px;font-size:var(--t-small);color:var(--soft)}
footer .logo svg{width:120px}
footer nav{display:grid;gap:8px}
footer nav a{padding-block:3px}
footer p a{display:inline-block;padding-block:3px}
footer a{text-decoration:none}
footer a:hover{color:var(--light);text-decoration:underline}

@media (max-width:640px){.hero video{height:74vh}}
@media (prefers-reduced-motion:reduce){.s,.hero-copy,.hero::after,.hero-copy h1 .swap span,.door::after,.door img{transition:none}}

/* honeypot: off-screen, never shown, never read aloud */
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.skip{position:absolute;left:-9999px;background:var(--orange);color:#1A1A1A;padding:12px 18px;z-index:99;font:500 var(--t-label) var(--sans);letter-spacing:.14em;text-transform:uppercase}
.skip:focus{left:var(--gutter);top:12px}
