/* Foksimat site styles */
/* lenis base */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
@font-face{font-family:"Geist";src:url(../fonts/geist-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;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}
@font-face{font-family:"Geist";src:url(../fonts/geist-400-cyr.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Geist";src:url(../fonts/geist-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;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}
@font-face{font-family:"Geist";src:url(../fonts/geist-500-cyr.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Geist Mono";src:url(../fonts/geist-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;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}
@font-face{font-family:"Geist Mono";src:url(../fonts/geist-mono-400-cyr.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --white:#fff;--black:#000;--tile:#141414;--grey:#e8e8e8;--blue:#072f83;
  --w60:rgba(255,255,255,.6);--w50:rgba(255,255,255,.5);--w40:rgba(255,255,255,.4);
  --w15:rgba(255,255,255,.15);--w12:rgba(255,255,255,.12);--w08:rgba(255,255,255,.08);--w05:rgba(255,255,255,.05);
  --b15:rgba(0,0,0,.15);--b60:rgba(0,0,0,.6);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.6,0,.3,1);
  /* fluid type scale (design px at 1920) */
  --f12:clamp(.75rem,.19vw + .7rem,1rem);
  --f16:clamp(.88rem,.19vw + .83rem,1.13rem);
  --f18:clamp(1rem,.19vw + .95rem,1.25rem);
  --f20:clamp(1.13rem,.19vw + 1.08rem,1.38rem);
  --f24:clamp(1.38rem,.19vw + 1.33rem,1.63rem);
  --f28:clamp(1.63rem,.19vw + 1.58rem,1.88rem);
  --f36:clamp(2.13rem,.19vw + 2.08rem,2.38rem);
  --f38:clamp(2.25rem,.19vw + 2.2rem,2.5rem);
  --f80:clamp(4.88rem,.19vw + 4.83rem,5.13rem);
  --gut:1rem;            /* 16 design px mobile */
  --s15:clamp(.81rem,.19vw + .77rem,1.06rem);
  --s192:clamp(11.88rem,.19vw + 11.83rem,12.13rem);
  --s248:clamp(15.38rem,.19vw + 15.33rem,15.63rem);
  --banner:34px;
}
html{font-size:calc(100vw / 375 * 16);-webkit-text-size-adjust:100%;background:#000}
@media (min-width:640px){html{font-size:calc(100vw / 645 * 16)}}
@media (min-width:1024px){html{font-size:calc(100vw / 1920 * 16)}:root{--gut:4.375rem;--banner:40px}}
@media (min-width:1920px){html{font-size:16px}}

*,*::before,*::after{box-sizing:border-box}
[id]{scroll-margin-top:9rem}
@media (min-width:1024px){[id]{scroll-margin-top:11.5rem}}
body{margin:0;background:#000;color:#fff;font-family:var(--sans);font-weight:500;font-size:var(--f16);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg{display:block;max-width:100%}
main,.footer{overflow-x:clip}
.hero{overflow:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure{margin:0;padding:0}
ul{list-style:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:8px;top:-60px;z-index:200;background:#fff;color:#000;padding:8px 12px;border-radius:4px;font-family:var(--mono);font-size:13px}
.skip:focus{top:8px}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
.mono{font-family:var(--mono);font-weight:400;text-transform:uppercase;letter-spacing:0}
.t-abc-20{font-family:var(--mono);font-weight:400;font-size:var(--f18);line-height:1.5;text-transform:uppercase}
@media (min-width:1024px){.t-abc-20{font-size:var(--f20)}}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:.5rem;overflow:hidden;border-radius:4px;border:1px solid var(--w08);background:var(--w08);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.75rem;font-family:var(--sans);font-weight:500;font-size:var(--f20);line-height:.9;color:#fff;white-space:nowrap}
.btn::before{content:"";position:absolute;inset:0;width:0;background:var(--w12);transition:width .3s ease-in-out}
.btn:hover::before,.btn:focus-visible::before{width:100%}
.btn>*{position:relative;z-index:1}
.btn svg{width:1.125rem;height:1.125rem;flex:none}
@media (min-width:1024px){.btn svg{width:var(--f20);height:var(--f20)}}
.btn--icon{padding:.75rem}
.btn-group{display:inline-flex;gap:2px}
.btn-group .btn--icon svg{opacity:.5}
.btn--tag{pointer-events:none;border-color:var(--w15);background:var(--w08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--f16);padding:.5rem .625rem}
.btn--white{background:#fff;color:#000;border-color:var(--b15)}
.btn--white::before{background:var(--grey)}
.btn--black{background:#000;color:#fff;border-color:#000}

/* ---------- top chrome ---------- */
.chrome{position:fixed;top:0;left:0;right:0;z-index:20;pointer-events:none}
.chrome>*{pointer-events:auto}
.progress{height:2px;width:100%;background:var(--w15)}
.progress i{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.banner{display:grid;grid-template-columns:minmax(0,1fr) auto;height:var(--banner);border-bottom:1px solid var(--w15);background:var(--w08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s,height .3s var(--ease)}
.banner.is-hidden{height:0;opacity:0;overflow:hidden;border:0}
.banner__msgs{position:relative;overflow:hidden;display:grid;align-items:center;min-width:0}
.banner__msgs li{grid-area:1/1;font-family:var(--mono);font-weight:400;text-transform:uppercase;color:var(--w60);font-size:12px;line-height:18px;text-align:center;white-space:nowrap;transition:transform .3s var(--ease),opacity .3s var(--ease)}
.js .banner__msgs li{opacity:0;transform:translateY(100%)}
.js .banner__msgs li.is-active{opacity:1;transform:none}
.js .banner__msgs li.is-out{opacity:0;transform:translateY(-100%)}
.banner__side{display:flex;align-items:center;gap:1.25rem;padding:0 1rem 0 1.5rem;border-left:1px solid var(--w15);font-size:12.7px}
.banner__side a{color:var(--w60);transition:color .2s}
.banner__side a:hover,.banner__side a:focus-visible{color:#fff}
.banner__side a.is-on{color:#fff}
.banner__close{color:var(--w50);font-size:14px;line-height:1;width:20px;height:20px;display:grid;place-items:center}
@media (max-width:1023px){
  .banner__msgs{display:flex;align-items:center}
  .banner__msgs ul{display:flex;gap:2rem;animation:marquee 18s linear infinite;padding-left:1rem}
  .banner__msgs li{grid-area:auto;opacity:1!important;transform:none!important;font-size:13px;color:var(--w60)}
  .banner__side{gap:.6rem;padding:0 .6rem;font-size:12px}
}
html:not(.js) .banner__msgs li+li{display:none}
@media (max-width:1023px){html:not(.js) .banner__msgs li+li{display:list-item}}
@keyframes marquee{to{transform:translateX(-50%)}}

.header{display:flex;align-items:center;justify-content:space-between;height:4.6875rem;padding:1.5rem var(--gut) 0;box-sizing:content-box;pointer-events:none}
.header>*{pointer-events:auto}
@media (min-width:1024px){.header{padding-top:2.5rem;height:4.6875rem}}
.nav ul{display:flex;gap:.5rem}
.nav-mobile-btn{display:inline-flex}
.nav{display:none}
@media (min-width:1024px){.nav{display:block}.nav-mobile-btn{display:none}}
.header__right{display:flex;gap:2px}
.header__right .label-long{display:none}
@media (max-width:1023px){.header__right .btn:not(.btn--icon){display:none}}
@media (min-width:1024px){.header__right .label-long{display:inline}}

.logo{position:fixed;left:50%;top:calc(24px + 2.34rem + var(--banner));width:6.375rem;height:4.688rem;transform:translate(-50%,-50%);z-index:21;perspective:600px;transition:top .3s cubic-bezier(.4,0,.2,1)}
@media (min-width:1024px){.logo{top:calc(2.5rem + 2.34rem + var(--banner) + 2px)}}
.logo.no-banner{top:calc(24px + 2.34rem)}
@media (min-width:1024px){.logo.no-banner{top:calc(2.5rem + 2.34rem)}}
.logo a{display:block;width:100%;height:100%}
.logo__spin{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.logo__spin svg{position:absolute;inset:0;width:100%;height:100%;fill:#fff}
.logo__spin svg:not(:first-child){fill:#cfcfcf}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:19;background:#000;pointer-events:none;display:none}
@media (min-width:1024px) and (pointer:fine){.js .loader{display:block}}
.is-loaded .loader{opacity:0;transition:opacity .6s ease-in-out .2s}
@media (min-width:1024px) and (pointer:fine){.js .ui-fade{opacity:0}}
@media (min-width:1024px) and (pointer:fine){.js .page--home .logo{opacity:0}.js .page--home .room{opacity:0}}

/* ---------- hero room ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:34rem;overflow:hidden;background:#000}
@media (min-width:1024px){.hero{min-height:100vh}}
.stage{position:absolute;inset:0;perspective:var(--persp,62vw);perspective-origin:var(--ox,50%) var(--oy,46%);--ox:50%;--oy:44%}
.room{position:absolute;left:50%;top:var(--room-top,26vh);width:var(--rw,73.75vw);height:var(--rh,25.15vw);margin-left:calc(var(--rw,73.75vw) / -2);transform-style:preserve-3d;--d:var(--rd,11.5vw)}
.room>*{position:absolute;backface-visibility:hidden}
.room__back{inset:0;transform:translateZ(calc(var(--d) * -1));background:linear-gradient(180deg,#f1f1f1 0%,#e4e4e4 60%,#d9d9d9 100%)}
.room__screen{position:absolute;left:22.6%;width:54.6%;top:11.5%;bottom:2%;overflow:hidden;background:#111;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.room__screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.room__screen img.is-on{opacity:1}
.room__screen::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0) 30%,rgba(0,0,0,.12));pointer-events:none}
.room__wall{top:0;height:100%;width:var(--d);overflow:hidden;background:#dcdcdc}
.room__wall--l{left:0;transform-origin:left center;transform:rotateY(90deg)}
.room__wall--r{right:0;transform-origin:right center;transform:rotateY(-90deg)}
.room__wall img{position:absolute;top:11.5%;bottom:2%;width:100%;height:86.5%;object-fit:cover}
.room__wall--l img{left:0}
.room__wall--r img{right:0}
.room__wall::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(0,0,0,.25))}
.room__wall--r::after{background:linear-gradient(270deg,rgba(255,255,255,.25),rgba(0,0,0,.25))}
.room__ceil{left:0;top:0;width:100%;height:var(--d);transform-origin:top center;transform:rotateX(-90deg);background:linear-gradient(0deg,#fafafa,#e9e9e9);overflow:hidden}
.room__ceil i{position:absolute;left:22.6%;width:54.6%;top:0;height:100%;background:linear-gradient(0deg,#2a2d33,#14161a)}
.room__ceil i::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,255,255,.08),transparent)}
.room__lip{left:0;bottom:0;width:100%;height:var(--d);transform-origin:bottom center;transform:rotateX(90deg);background:linear-gradient(180deg,#bdbdbd,#d6d6d6)}
.room__edge{inset:-1px;border:1px solid rgba(160,205,255,.55);box-shadow:0 0 6px rgba(120,170,255,.35),inset 0 0 4px rgba(120,170,255,.3);pointer-events:none}
.room__floor{left:-40%;width:180%;top:100%;height:calc(var(--d) * 4.6);transform-origin:top center;transform:rotateX(90deg);background:radial-gradient(40% 85% at 50% 0%,#6e6e6e 0%,#555 25%,#3d3d3d 55%,#1c1c1c 80%,#000 100%);overflow:hidden}
.room__refl{position:absolute;left:calc(22.2% + 0%);width:30.3%;left:34.85%;top:0;height:42%;overflow:hidden;opacity:.32;filter:blur(10px);transform:scaleY(-1)}
.room__refl img{width:100%;height:100%;object-fit:cover}
.room__bench{left:50%;width:23vw;margin-left:-11.5vw;bottom:0;height:3vw;transform:translateZ(30.5vw)}
.room__bench b{position:absolute;left:0;right:0;top:0;height:16%;background:#070707;border-top:1px solid #4a4a4a;box-shadow:0 2px 6px rgba(0,0,0,.6)}
.room__bench i{position:absolute;top:16%;width:1%;height:84%;background:#050505}
.room__bench i:nth-of-type(1){left:2%}.room__bench i:nth-of-type(2){right:2%}
.room__bench::after{content:"";position:absolute;left:-10%;right:-10%;top:60%;height:60%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.65),transparent);filter:blur(8px)}
.hero__vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 40%,transparent 55%,rgba(0,0,0,.65) 100%),linear-gradient(180deg,transparent 70%,#000 100%)}
.hero__labels{position:absolute;inset:0;display:flex;justify-content:space-between;padding:0 var(--gut);pointer-events:none}
.hero__q{position:sticky;top:48svh;align-self:flex-start;margin-top:48svh;display:flex;justify-content:space-between;width:25%;padding-bottom:3.7rem;font-family:var(--mono);font-weight:400;text-transform:uppercase;font-size:var(--f20);line-height:1.5;mix-blend-mode:difference;color:#fff}
.hero__watch{position:absolute;left:50%;top:calc(var(--room-top,26vh) + var(--rh,25.15vw) * .58);transform:translate(-50%,-50%);z-index:3}
.hero__pill{position:absolute;left:50%;bottom:1.875rem;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:1rem;padding:.25rem 1rem .25rem .25rem;border-radius:4px;border:1px solid var(--w15);background:rgba(20,20,20,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--f20);line-height:1;white-space:nowrap}
.hero__pill img{width:5rem;height:3.75rem;object-fit:cover;border-radius:3px;border:1px solid var(--w15)}
.hero__pill .arr{opacity:.4;width:var(--f20);height:var(--f20)}
.hero__pill:hover{background:rgba(40,40,40,.8)}
.hero__h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media (max-width:1023px){
  .stage{--oy:38%}
  .room{--rw:106vw;--rh:74vw;--rd:9vw;--room-top:15svh;top:var(--room-top)}
  .room__screen{left:4.5%;width:91%;top:7%;bottom:5%}
  .room__ceil i{left:4.5%;width:91%}
  .room__refl{left:4.5%;width:91%}
  .room__floor{left:-10%;width:120%;background:radial-gradient(45% 55% at 50% 0%,#444 0%,#262626 40%,#0b0b0b 75%,#000 100%)}
  .room__bench{display:none}
  .hero__labels{display:block;padding:0}
  .hero__q{position:absolute;top:calc(15svh + 74vw * .93 - 2.4rem);margin:0;width:auto;padding:0;left:6vw;right:6vw;display:flex;justify-content:space-between;font-size:var(--f18);mix-blend-mode:normal;text-shadow:0 1px 8px rgba(0,0,0,.6)}
  .hero__q--r{display:none}
  .hero__watch{top:calc(15svh + 74vw * .99)}
  .hero__watch .btn-txt{display:none}
  .hero__pill{bottom:1.5rem;font-size:1rem}
  .hero__pill img{width:4rem;height:3rem}
}


/* ---------- block text ---------- */
.intro{display:grid;padding:4rem var(--gut)}
@media (min-width:1024px){.intro{padding:var(--s192) var(--gut)}}
.intro p{justify-self:center;text-align:center;max-width:55.875rem;font-size:var(--f24);line-height:1.5;font-weight:500}
@media (min-width:1024px){.intro p{font-size:var(--f38)}}
.intro .flag{display:inline-block;width:.8em;height:.8em;vertical-align:-.08em;margin:0 .15em;border-radius:50%;overflow:hidden}
.w{display:inline-block;transition:filter .3s var(--ease),opacity .3s var(--ease)}
.js .w.blur{filter:blur(8px)}
.js .blur-in{filter:blur(8px);transition:filter 1s var(--ease)}
.js .blur-in.is-in{filter:none;opacity:1}

/* ---------- bracket divider ---------- */
.bar{height:var(--s15);border:1px solid var(--w15);border-bottom:0;transition:transform 1s var(--ease),opacity 1s var(--ease)}
.bar--rev{border-top:0;border-bottom:1px solid var(--w15)}
.js .bar{transform:translateX(100%);opacity:0}
.js .bar.is-in{transform:none;opacity:1}
.bar--dark{border-color:var(--b15)}

/* ---------- range grid ---------- */
.range{display:grid;gap:1.5rem;padding:0 var(--gut) 5rem}
@media (min-width:1024px){.range{gap:2rem;padding-bottom:12rem}}
.range__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}
.cards{display:grid;gap:2.5rem}
@media (min-width:640px){.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}
.card{display:grid;gap:1.5rem;align-content:start}
@media (min-width:1024px){.card{gap:2rem}}
.card__media{position:relative;display:grid;overflow:hidden;border-radius:4px;background:#bfbfbf;aspect-ratio:580/725}
.card__media img{grid-area:1/1;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease-in-out,transform 1.2s var(--ease)}
.card__media img+img{opacity:0}
.card.is-alt .card__media img+img{opacity:1}
.card__story{position:absolute;left:.625rem;right:.625rem;top:.625rem;display:flex;gap:4px;z-index:2;opacity:0;transition:opacity .3s}
.card__story i{flex:1;height:2px;background:rgba(255,255,255,.45);overflow:hidden}
.card__story i b{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.card:hover .card__story,.card:focus-within .card__story{opacity:1}
.card__tags{position:absolute;left:.625rem;top:1.25rem;display:flex;gap:2px;z-index:2}
.card__tags .btn--tag{transition:background .3s,color .3s}
.card:hover .card__tags .btn--tag:first-child{background:#fff;color:#000}
.card__quick{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;text-align:center;padding:1.1rem 1rem;background:#fff;color:#000;font-family:var(--mono);font-weight:400;font-size:var(--f16);text-transform:uppercase;transform:translateY(101%);transition:transform .3s ease-in-out}
.card:hover .card__quick,.card__quick:focus-visible{transform:none}
.card__row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.card__row h3{font-family:var(--mono);font-weight:400;text-transform:uppercase;font-size:var(--f18);line-height:1.5}
@media (min-width:1024px){.card__row h3{font-size:var(--f20)}}
.card__row p{font-family:var(--mono);font-weight:400;font-size:var(--f16);color:var(--w60);margin-top:.5rem;text-transform:uppercase}
.card__row .btn{padding:.5rem}
.card:hover .card__row .btn{background:#fff;color:#000}
.card:hover .card__row .btn svg{opacity:1}
.sticky-cta{position:sticky;bottom:1rem;z-index:10;display:flex;gap:2px}
.sticky-cta .btn:last-child{flex:1;justify-content:center}
@media (min-width:1024px){.sticky-cta{display:none}}

/* ---------- focus ---------- */
.focus{position:relative;display:grid;grid-template-columns:var(--gut) minmax(0,1fr) var(--gut);grid-template-rows:1.5rem var(--s15) auto var(--s15) 1.5rem;row-gap:1rem;min-height:216.5vw;overflow:hidden}
@media (min-width:1024px){.focus{grid-template-rows:2rem var(--s15) 1fr var(--s15) 2rem;row-gap:2rem;min-height:100vw}}
.focus__img{grid-area:1/1/-1/-1;position:relative;overflow:hidden}
.focus__layer{position:absolute;left:0;top:-10%;width:100%;height:120%;will-change:transform}
.focus__layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.js .focus__layer img{filter:blur(10px);transition:filter 1s ease-in-out}
.js .focus__layer.is-in img{filter:none}
.focus__img::after{z-index:1;pointer-events:none;content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,0) 25%,rgba(0,0,0,0) 70%,rgba(0,0,0,.35))}
.focus .bar{grid-column:2;z-index:2;border-color:rgba(255,255,255,.5)}
.focus .bar:first-of-type{grid-row:2}
.focus .bar--rev{grid-row:4}
.focus__mid{grid-column:2;grid-row:3;position:relative;z-index:3}
.focus__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:center;height:100%;align-content:space-between}
@media (min-width:1024px){.focus__row{position:sticky;top:50svh;height:auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}}
.focus__row h2{grid-column:1/5;align-self:start;text-shadow:0 1px 12px rgba(0,0,0,.35)}
@media (min-width:1024px){.focus__row h2{grid-column:1/7;align-self:center}}
.focus__act{grid-column:1/-1;align-self:end;display:flex;justify-content:space-between;align-items:center;gap:1rem}
@media (min-width:1024px){.focus__act{grid-column:8/13;align-self:center}}
.focus__icons{display:flex;gap:.9rem;color:#fff}
.focus__icons svg{width:2rem;height:2rem}
@media (min-width:1024px){.focus__icons svg{width:2.4rem;height:2.4rem}}
.spot{position:absolute;z-index:4;width:48px;height:48px;display:grid;place-items:center;transform:translate(-50%,-50%)}
.spot button{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.spot button::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:1px solid var(--w50);animation:pulse 2.4s ease-in-out infinite;transition:border-color .2s,background .2s}
.spot button::after{content:"";width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 0 0 0 rgba(255,255,255,.5)}
.spot button:hover::before,.spot button:focus-visible::before{border-color:#fff;background:rgba(255,255,255,.18)}
.spot button:active::after{transform:scale(.7)}
.spot button[aria-expanded="true"]::after{transform:scale(.6)}
.spot button[aria-expanded="true"]::before{border-color:#fff;background:rgba(255,255,255,.25)}
.spot__card{position:absolute;left:3rem;top:50%;transform:translateY(-50%) translateX(-6px);width:17rem;background:#fff;color:#000;border-radius:4px;padding:.75rem .9rem;opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s}
.spot--l .spot__card{left:auto;right:3rem;transform:translateY(-50%) translateX(6px)}
.spot button[aria-expanded="true"]+.spot__card,.spot:hover .spot__card{opacity:1;visibility:visible;transform:translateY(-50%)}
.spot__card strong{display:block;font-family:var(--mono);font-weight:400;text-transform:uppercase;font-size:var(--f16)}
.spot__card span{display:block;color:var(--b60);font-size:var(--f16);line-height:1.35;margin-top:.25rem}
@media (max-width:1023px){.spot{display:none}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}

/* ---------- categories (products) ---------- */
.cats{display:grid;gap:2rem;padding:1.5rem 0 5rem;overflow-x:clip}
@media (min-width:1024px){.cats{padding:4rem 0 var(--s192) var(--gut)}}
.cats>.bar{margin:0 var(--gut)}
.cats>.t-abc-20{padding:0 var(--gut)}
@media (min-width:1024px){.cats>.bar{margin:0 var(--gut) 0 0}.cats>.t-abc-20{padding:0}}
.cats__grid{display:grid;gap:1rem 1.25rem}
@media (min-width:1024px){.cats__grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;min-height:46rem}}
.cats__head{display:grid;gap:1.5rem;align-content:start;padding:0 var(--gut)}
@media (min-width:1024px){.cats__head{grid-column:1/7;grid-row:1;gap:2.5rem;padding:0}}
.cats__head h2{font-size:var(--f36);line-height:1.04;font-weight:500;max-width:45.625rem;letter-spacing:-.01em}
@media (min-width:1024px){.cats__head h2{font-size:var(--f80);line-height:1}}
.thumbs{display:flex;gap:.625rem;padding:2.875rem var(--gut) 0;align-self:end}
@media (min-width:1024px){.thumbs{grid-column:1/7;grid-row:2;padding:0}}
.thumb{position:relative;overflow:hidden;width:3.875rem;aspect-ratio:62/89;border-radius:4px;border:1px solid var(--w08);background:var(--w08);display:grid;place-items:center}
@media (min-width:1024px){.thumb{width:5.5rem;aspect-ratio:88/127}}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translateX(-100%);opacity:0;transition:all .3s ease-in-out}
.thumb .ico{width:45%;transition:all .3s ease-in-out;color:#fff;opacity:.85}
.thumb .go{position:absolute;z-index:2;width:1.9rem;height:1.9rem;border-radius:4px;background:#fff;color:#000;display:grid;place-items:center;transform:translateX(-100%);opacity:0;transition:all .3s ease-in-out}
.thumb .go svg{width:60%}
.thumb:hover img,.thumb.is-active img,.thumb:focus-visible img{transform:none;opacity:1}
.thumb:hover .ico,.thumb.is-active .ico,.thumb:focus-visible .ico{transform:translateX(100%);opacity:0}
.thumb.is-active .go{transform:none;opacity:1}
.slider{position:relative;display:flex;gap:1.25rem;align-items:flex-start;overflow:hidden;padding-left:var(--gut)}
@media (min-width:1024px){.slider{grid-column:8/13;grid-row:1/3;padding-left:0;overflow:visible;margin-right:0}}
.slide{position:relative;flex:none;overflow:hidden;border-radius:4px;background:#1a1a1a}
.slide--a{width:15.5rem;aspect-ratio:5/7}
.slide--b{width:10rem;aspect-ratio:2/3;margin-top:3rem}
@media (min-width:1024px){.slide--a{width:31.25rem}.slide--b{width:24rem;margin-top:4.5rem}}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s var(--ease),transform .9s var(--ease)}
.slide img.is-prev{opacity:0;transform:scale(1.04)}
.slide .btn--tag{position:absolute;left:.75rem;bottom:.75rem;z-index:2}
.cats__note{grid-column:1/-1}

/* ---------- process ---------- */
.process{display:grid;gap:2rem;padding:0 var(--gut) 6rem}
@media (min-width:1024px){.process{padding-bottom:var(--s192)}}
.steps{display:grid;gap:2rem}
@media (min-width:640px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}}
.step{display:grid;gap:.75rem;align-content:start;padding-top:1rem;border-top:1px solid var(--w15)}
.step .mono{color:var(--w60);font-size:var(--f16)}
.step h3{font-size:var(--f28);font-weight:500;line-height:1.1}
.step p{color:var(--w60);font-size:var(--f18);line-height:1.45;font-weight:400;max-width:26rem}

/* ---------- footer ---------- */
.footer{position:relative;display:grid;align-content:start;row-gap:2.5rem}
@media (min-width:1024px){.footer{row-gap:8rem}}
.footer__top{position:relative;z-index:2;background:#000;display:grid;gap:3rem;padding:5rem var(--gut) 0}
@media (min-width:1024px){.footer__top{gap:5rem;padding-top:var(--s248)}}
.footer__cols{display:grid;gap:2.875rem}
@media (min-width:1024px){.footer__cols{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}}
.fcol{display:grid;gap:1.5rem;align-content:start}
.fcol h2{font-family:var(--mono);font-weight:400;text-transform:uppercase;color:var(--w60);font-size:var(--f16);line-height:1.5}
@media (min-width:1024px){.fcol h2{font-size:var(--f20)}}
.fcol a,.fcol p{font-size:var(--f16);line-height:1.5}
@media (min-width:1024px){.fcol a,.fcol p{font-size:var(--f20)}}
.fcol--c{display:flex;align-items:flex-start;gap:2px}
@media (min-width:1024px){.fcol--a{grid-column:1/6}.fcol--b{grid-column:6/10}.fcol--c{grid-column:10/13}}
.ulink{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s ease-in-out}
.ulink:hover,.ulink:focus-visible{background-size:100% 1px}
.chan{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem}
.chan .lbl{color:var(--w60);font-family:var(--mono);font-weight:400;text-transform:uppercase;font-size:var(--f16);display:block}
.chan .btn{padding:.5rem}
.legal-row{display:grid;gap:1rem;padding:1.5rem 0 0;border-top:1px solid var(--w15);font-family:var(--mono);font-weight:400;font-size:var(--f16);line-height:1.5;color:var(--w60);text-transform:none}
@media (min-width:1024px){.legal-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}}
.legal-row b{display:block;color:#fff;font-weight:400;text-transform:uppercase}
.footer__reveal{position:sticky;bottom:0;z-index:0;display:grid;gap:2rem;padding:0 var(--gut) 5rem;overflow:hidden}
@media (min-width:1024px){.footer__reveal{padding-bottom:2.5rem}}
.footer__glow{position:absolute;left:-10%;right:-10%;bottom:-40%;height:110%;background:radial-gradient(50% 50% at 50% 70%,rgba(7,47,131,.85) 0%,rgba(7,47,131,.35) 45%,transparent 75%);pointer-events:none}
.bigmark{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4%;align-items:start}
.copy{width:3.2rem;height:3.2rem;margin-top:.6rem;perspective:300px}
.copy svg{width:100%;height:100%}
.bigmark .word{width:100%;height:auto;fill:#fff}
.credits{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;font-size:var(--f16);color:var(--w60)}
.credits nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.credits a{color:#fff}

/* ---------- mobile menu ---------- */
.menu{position:fixed;inset:0;z-index:50;background:var(--grey);color:#000;display:grid;grid-template-rows:auto auto 1fr auto;padding:1.5rem var(--gut) 1.5rem;visibility:hidden;opacity:0}
.menu.is-open{visibility:visible;opacity:1}
.menu__top{display:flex;justify-content:space-between;align-items:center;height:2.25rem}
.menu__close{width:2.25rem;height:2.25rem;border-radius:4px;background:#000;color:#fff;display:grid;place-items:center;font-size:14px}
.menu__word{height:2.1rem;width:auto;fill:#000;overflow:hidden}
.menu .bar{margin-top:2rem;border-color:var(--b15)}
.menu nav{padding-top:1.5rem}
.menu nav li{overflow:hidden}
.menu nav a{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;font-size:var(--f18)}
.menu nav a svg{width:1rem;height:1rem}
.menu__foot{display:grid;gap:1rem;justify-items:center}
.menu__foot ul{display:flex;gap:1.25rem;font-size:var(--f16)}
.menu__foot a{color:var(--b60)}
.menu__foot a:first-child{color:#000}
.menu__foot .bar{width:100%;margin:0}

/* ---------- cookie notice ---------- */
.cookie{position:fixed;left:var(--gut);bottom:1rem;z-index:40;display:flex;align-items:center;gap:1rem;max-width:min(36rem,calc(100vw - 2rem));padding:.6rem .6rem .6rem 1rem;border-radius:4px;border:1px solid var(--w15);background:rgba(20,20,20,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;line-height:1.4;color:var(--w60)}
@media (max-width:1023px){.cookie{bottom:6.25rem;left:1rem;right:1rem;max-width:none}}
@media (min-width:1024px){.cookie{left:var(--gut);bottom:1.5rem;font-size:var(--f16)}}
.cookie a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie[hidden]{display:none}
.cookie .btn{flex:none;font-size:14px;padding:.6rem .9rem}

/* ---------- legal pages ---------- */
.page{padding:calc(var(--banner) + 9rem) var(--gut) 6rem;display:grid;gap:2rem}
@media (min-width:1024px){.page{padding-top:calc(var(--banner) + 14rem)}}
.page>.bar{max-width:60rem}
.page__head{display:grid;gap:1rem;max-width:60rem}
.page__head h1{font-size:var(--f36);line-height:1.05;font-weight:500}
@media (min-width:1024px){.page__head h1{font-size:var(--f80);line-height:1}}
.page__head p{color:var(--w60);font-family:var(--mono);font-weight:400;font-size:var(--f16);text-transform:uppercase}
.prose{max-width:46rem;font-weight:400;font-size:1rem;line-height:1.65;color:rgba(255,255,255,.82)}
@media (min-width:1024px){.prose{font-size:var(--f20)}}
.prose h2{font-family:var(--mono);font-weight:400;text-transform:uppercase;font-size:var(--f16);color:#fff;margin:2.5rem 0 .75rem;letter-spacing:.02em}
@media (min-width:1024px){.prose h2{font-size:var(--f18)}}
.prose p,.prose ul,.prose dl{margin:0 0 1rem}
.prose ul{list-style:disc;padding-left:1.25rem}
.prose li{margin:.3rem 0}
.prose a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose dl{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.4rem 1.5rem}
.prose dt{color:var(--w60);font-family:var(--mono);font-size:.9em;text-transform:uppercase;padding-top:.15em}
.prose dd{margin:0;color:#fff}
@media (max-width:639px){.prose dl{grid-template-columns:1fr}.prose dd{margin-bottom:.6rem}}
.page--legal .logo{}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .w.blur,.js .blur-in,.js .bar,.js .ui-fade,.js .focus__layer img{filter:none!important;opacity:1!important;transform:none!important}
  .js .loader{display:none}
  .js .page--home .logo,.js .page--home .room{opacity:1!important}
}

/* ---------- touch targets (QA) ---------- */
.banner__side a,.banner__close{position:relative}
.banner__side a::after,.banner__close::after{content:"";position:absolute;left:-8px;right:-8px;top:-12px;bottom:-12px}
@media (max-width:1023px){
  .card__row .btn,.chan .btn{min-width:44px;min-height:44px;justify-content:center}
  .cookie .btn{min-height:44px;min-width:56px;justify-content:center}
  .fcol a.ulink,.credits a{display:inline-block;padding:.55rem 0}
  .prose a{padding:.35rem 0}
  .btn{min-height:44px}
  .btn--tag{min-height:0}
}
a[href^="tel:"]{white-space:nowrap}
.focus__mid{pointer-events:none}.focus__mid a{pointer-events:auto}

/* ---------- click feedback + scrolled header (QA round 2) ---------- */
.btn,.thumb,.card__quick,.hero__pill,.menu nav a,.menu__close,.banner__close{transition:transform .15s ease-out,background-color .2s}
.btn:active,.btn-group:active .btn,.thumb:active,.hero__pill:active,.menu__close:active,.banner__close:active{transform:scale(.96)}
.hero__pill:active{transform:translateX(-50%) scale(.96)}
.hero__watch:active{transform:translate(-50%,-50%) scale(.96)}
.card__quick:active{background:var(--grey)}
.ulink:active,.fcol a:active,.credits a:active{opacity:.6}
.menu nav a:active{opacity:.55}
.is-scrolled .header .btn{background:rgba(18,18,18,.78);border-color:var(--w15);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 4px 18px rgba(0,0,0,.35)}
.chrome::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(100% + 1.5rem);z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s ease;background:linear-gradient(180deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 65%,rgba(0,0,0,0) 100%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.is-scrolled .chrome::before{opacity:1}
.menu.is-open~.chrome::before{opacity:0}
