@charset "UTF-8";
/* Push Study — layout study stylesheet.
   Structure, grid, type scale and motion hooks follow the studied layout;
   faces are open-licence substitutes, artwork is generated placeholder. */

/* ---------- Faces (self-hosted, open licence) ---------- */
@font-face{font-display:swap;font-family:Body;font-style:normal;font-weight:400;src:url(fonts/body.woff2?v=2) format("woff2")}
@font-face{font-display:swap;font-family:Display;font-style:normal;font-weight:500;src:url(fonts/display.woff2?v=2) format("woff2")}
@font-face{font-display:swap;font-family:Mono;font-style:normal;font-weight:400;src:url(fonts/mono.woff2?v=2) format("woff2")}

/* ---------- Reset + tokens ---------- */
*{margin:0;padding:0}
*,body{box-sizing:border-box}
body{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:inherit;cursor:pointer;font-weight:inherit;outline:0;text-decoration:none}
address{font-style:normal}
figure{margin:0;padding:0}
img,picture,video,canvas{display:block;height:100%;object-fit:cover;object-position:center top;width:100%}
:root{
  --bgcolor:#1a1a1a;--primarycolor:#bababa;--red:#ff001a;--grey:#bababa;--black:#111;--lightblue:#9fe4f3;--blue:#03049c;--cream:#bab5a6;--green:#0f0;--pink:#a7849d;--lightgrey:#71737d;
  --columns:20;--bannerHeight:170vh;--radius:.5vw;--border:1px solid hsla(0,0%,100%,.7);--borderFade:1px solid hsla(0,0%,100%,.5);
  --mono:Mono,ui-monospace,SFMono-Regular,Menlo,monospace;
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media screen and (max-width:600px){:root{--bannerHeight:100lvh;--radius:1vh}}
body{background-color:var(--bgcolor);color:var(--primarycolor);font-family:Body,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:1.7vw}
@media screen and (max-width:1300px){body{font-size:20px}}
main{min-height:100dvh;width:100vw}
.home{--primarycolor:#d9d9d9}
.opacity__50{opacity:.5}
.block{display:block}
.line{display:block;overflow:hidden}
.line__inner{display:block;transform-origin:left top}
.no-js .hover_effect,.no-js [data-splitting]{opacity:1}
.js .hover_effect,.js [data-splitting]{opacity:0}
.js .footer .hover_effect,.js .footer [data-splitting],.js header .hover_effect,.js header [data-splitting]{opacity:1}
@media (prefers-reduced-motion:reduce){.js .hover_effect,.js [data-splitting]{opacity:1!important;transform:none!important}}

/* ---------- Type scale ---------- */
h1,h2,h3,h4{font-family:Display,"Arial Narrow",sans-serif;font-weight:500}
h5{font-family:Display,serif;font-size:3vw;font-weight:500;line-height:.95}
@media screen and (max-width:600px){h5{font-size:10vw}}
h1{font-size:6vw;line-height:.9}
@media screen and (max-width:1300px){h1{font-size:62px}}
@media screen and (max-width:600px){h1{font-size:40px}}
h1 .line__inner{padding-bottom:.5vw;position:relative;top:.3vw}
.lead{font-family:Display,"Arial Narrow",sans-serif;font-weight:500}
h1.lead,p.marqueeText__title,.marqueeText p.lead{font-size:12vw;letter-spacing:-.1vw}
h1.lead .line__inner,p.marqueeText__title .line__inner{padding-bottom:1.5vw;position:relative;top:1vw}
p.lead .line__inner{padding-bottom:.1vw;position:relative;top:.1vw}
@media screen and (max-width:600px){h1.lead,p.marqueeText__title,.marqueeText p.lead{font-size:20vw}}
h2{font-size:12.5vw;letter-spacing:-.5vw;line-height:1}
@media screen and (max-width:600px){h2{font-size:20vw}}
h3{font-size:8vw;letter-spacing:-.1vw;line-height:.95}
@media screen and (max-width:600px){h3{font-size:15vw}}
h4{font-size:6vw;line-height:.85}
@media screen and (max-width:600px){h4{font-size:10vw}}
small{font-size:50%;letter-spacing:0}
p.lead{font-family:Display,serif;font-size:2.8vw;line-height:1;margin-bottom:4vw}
p.lead.lead__indent{--lead-indent:20vw;position:relative;text-indent:var(--lead-indent)}
@media screen and (max-width:600px){p.lead.lead__indent{--lead-indent:40vw}}
p.lead.lead__indent:before{content:"→";left:0;opacity:.5;position:absolute;text-indent:0;top:0}
@media screen and (max-width:600px){p.lead{font-size:30px;margin-bottom:30px}}
p.lead.last{margin-bottom:8vw}
@media screen and (max-width:600px){p.lead.last{margin-bottom:60px}}
.monospace{font-family:var(--mono);font-size:50%;font-weight:400;letter-spacing:-.05vw;line-height:1.2;text-transform:uppercase}
.monospace__p{font-size:70%;line-height:1.15;text-transform:none}
.layout__third.monospace{padding-left:3vw;padding-top:.8vw;position:relative;white-space:pre-line}
.layout__third.monospace:before{content:"⬤";left:0;position:absolute;top:.8vw}
.layout__third.monospace.nobullet:before{content:""}
@media screen and (max-width:600px){.layout__third.monospace{padding-left:0}.layout__third.monospace:before{content:""}}

/* ---------- Grid ---------- */
.layout{display:flex;flex-wrap:wrap;justify-content:space-between;padding:1.5vw 3vw;width:100vw}
.layout__third{width:33%}
.layout__second{width:66%}
.layout__half{width:50%}
@media screen and (max-width:600px){
  .layout{display:block;padding:10px 20px}
  .layout__third,.layout__second,.layout__half{width:100%}
  .layout__third.monospace{padding-bottom:40px}
}

/* ---------- Sections ---------- */
.section{padding:5vw 0 10vw;position:relative;--color:var(--primarycolor);background-color:var(--background);color:var(--color)}
@media screen and (max-width:600px){.section{padding:30px 0 60px}}
.section__grey{--background:var(--bgcolor)}
.section__lightgrey{--background:var(--lightgrey);--color:var(--black)}
.section__lightgrey .button:hover{color:var(--grey)}
.section__lightgrey .marqueeText:after,.section__lightgrey .marqueeText:before{border-color:var(--black)}
.section__black{--background:var(--black);--color:var(--grey)}
.section__blue{--background:var(--blue);--color:var(--grey)}
.no__p{padding:0!important}
.no__pb{padding-bottom:0!important}
.no__pt{padding-top:.3vw!important}

/* Sticky fade at the top of each section */
.topOverlay{background:linear-gradient(180deg,var(--background,var(--bgcolor)) 2%,transparent 100%);height:20vh;left:0;margin-bottom:-20vh;opacity:1;pointer-events:none;position:fixed;top:0;width:100%;z-index:2}
.topOverlay__section{opacity:0;position:sticky;top:0;transition:opacity .3s ease}
.topOverlay__section.is-visible{opacity:1}

/* Twenty-column wipe that closes each section */
.overlay{bottom:0;display:grid;grid-area:1/1/-1/-1;grid-template-columns:repeat(var(--columns),1fr);height:100vh;pointer-events:none;position:absolute;width:100vw;z-index:4;left:0}
.overlay div{background:var(--color-bg-overlay);transform:scaleY(0);transform-origin:50% 100%}
.overlay__red{--color-bg-overlay:var(--red)}
.overlay__cream{--color-bg-overlay:var(--cream)}
.overlay__blue{--color-bg-overlay:var(--blue)}
.overlay__grey{--color-bg-overlay:var(--bgcolor)}
.overlay__lightgrey{--color-bg-overlay:var(--lightgrey)}
.overlay__black{--color-bg-overlay:var(--black)}

/* ---------- Buttons ---------- */
.arrow{display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:150%;line-height:1;margin-right:.5vw;position:relative;top:.05vw}
.buttons{display:flex;flex-wrap:wrap;justify-content:space-between}
.button{--anim:0;color:var(--color);font-family:var(--mono);font-size:70%;letter-spacing:-.05vw;position:relative}
.button__big{border-bottom:1px solid var(--color);display:flex;justify-content:space-between;padding:1vw 0;width:100%}
.button__big:first-child{border-top:1px solid var(--color)}
@media screen and (max-width:600px){.button__big{padding:10px 0}}
.button__half{border-bottom:1px solid var(--color);display:flex;justify-content:space-between;padding:.5vw 0;width:48%}
@media screen and (max-width:600px){.button__half{width:100%}}
.button__half:first-child,.button__half:nth-child(2){border-top:1px solid var(--color)}
@media screen and (max-width:600px){.button__half:nth-child(2){border-top:none}}
.button span{position:relative;transition:padding .3s ease;z-index:1}
.button:before{background-color:var(--color);content:"";height:calc(100% + 3px);left:0;position:absolute;top:0;transform:scaleY(var(--anim));transform-origin:50% var(--button-origin,100%);width:100%;z-index:0}
.button:hover{color:var(--bgcolor)}
.button:hover>span{padding:0 1vw}
.section__lightgrey .button{border-width:2px;font-weight:600}

/* ---------- Atmosphere (noise, scanlines, gloom, CRT vignette) ---------- */
.wrapper{height:100%}
.wrapper:after{animation:foreground .5s steps(1) infinite;background-image:var(--noise);background-position:50%;content:"";height:calc(100% + 20rem);left:-10rem;mix-blend-mode:overlay;opacity:.3;pointer-events:none;position:fixed;top:-10rem;width:calc(100% + 20rem);z-index:100}
@media screen and (max-width:600px){.wrapper:after{display:none}}
@keyframes foreground{0%{transform:translate3d(0,9rem,0)}10%{transform:translate3d(-1rem,-4rem,0)}20%{transform:translate3d(-8rem,2rem,0)}30%{transform:translate3d(9rem,-9rem,0)}40%{transform:translate3d(-2rem,7rem,0)}50%{transform:translate3d(-9rem,-4rem,0)}60%{transform:translate3d(2rem,6rem,0)}70%{transform:translate3d(7rem,-8rem,0)}80%{transform:translate3d(-9rem,1rem,0)}90%{transform:translate3d(6rem,-5rem,0)}to{transform:translate3d(-7rem,0,0)}}
.scanlines{height:100vh;left:0;opacity:.25;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100vw;z-index:22}
.scanlines:after,.scanlines:before{content:"";display:block;pointer-events:none;position:absolute}
.scanlines:before{animation:scanline 8s linear infinite;background:#000000b3;background-size:100% .6vw;height:clamp(2px,.1vw,3px);opacity:.8;transform:translate3d(0,-10vh,0);width:100%;will-change:transform;z-index:22}
.scanlines:after{animation:scanlines 1s steps(60) infinite;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.3) 51%);background-size:100% .4vw;inset:0;z-index:22}
@media screen and (max-width:600px){.scanlines:before{background-size:100% .6vh;opacity:.5}.scanlines:after{background-size:100% .4vh}}
@keyframes scanline{0%{transform:translate3d(0,110vh,0)}to{transform:translate3d(0,-200vh,0)}}
@keyframes scanlines{0%{background-position:0 50%}}
.gloom{overflow:hidden;z-index:23}
.gloom,.gloom:before{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw}
.gloom:before{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);content:"";opacity:.15}
@media screen and (max-width:600px){.gloom:before{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:.2}}
.vignette{height:100dvh;overflow:hidden;width:100vw;z-index:100}
.vignette,.vignette:before{left:0;pointer-events:none;position:fixed;top:0}
.vignette:before{background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.35) 85%,rgba(0,0,0,.75) 100%);content:"";height:100%;opacity:.7;transform:scale(1.02);width:100%}
@media (prefers-reduced-motion:reduce){.wrapper:after,.scanlines:before,.scanlines:after{animation:none}}

/* ---------- Header + navigation ---------- */
header{position:fixed;top:0;z-index:21;width:100vw;color:var(--primarycolor)}
header:after{content:"";height:1px;left:3vw;position:absolute;right:3vw;top:5vw}
header .nav{align-items:flex-start;display:flex;font-family:Display,sans-serif;justify-content:flex-end}
header .nav a{display:block;padding:.3vw .7vw}
header .nav .rec{--rec-glow:rgba(60,255,123,.25);color:var(--green);filter:drop-shadow(0 0 .18em var(--rec-glow));font-family:Arial,Helvetica,sans-serif;font-size:130%;text-shadow:0 0 .15em var(--rec-glow),0 0 .5em var(--rec-glow),0 0 .25em var(--rec-glow)}
header .nav .start{padding-left:1.4vw;position:relative}
header .nav .start:before{border-left:var(--border);content:"";height:4vw;left:0;position:absolute;top:-.5vw;width:1px}
header .menu{background:transparent;border:0;color:inherit;cursor:pointer;display:none;font:inherit;padding:1.66vw 3vw;position:fixed;right:0;top:0;z-index:4}
header .logo{display:block;color:inherit}
header .logo svg{height:auto;margin-top:.3vw;width:10vw;display:block}
@media screen and (max-width:1300px){header .logo svg{margin-top:6px;width:115px}}
@media screen and (max-width:600px){
  header:after{border-bottom:none}
  header .menu{display:block;margin-top:30px;right:20px}
  header .nav{display:none}
  header .logo{padding:6px 20px}
}
.mobilenav{background-color:var(--blue);clip-path:rect(0 100% 0 0);color:var(--grey);height:85svh;left:0;padding:20svh 0 0 10px;pointer-events:none;position:fixed;top:0;width:100vw;z-index:20}
.mobilenav__backdrop{background-color:#000c;height:100lvh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s linear;width:100vw;z-index:3}
.mobilenav__main a{display:block;font-family:Display,serif;font-size:42px;line-height:1;padding:5px 10px}
.mobilenav__social{bottom:5vh;position:absolute}
body.menu_open{overflow:hidden}
body.menu_open .mobilenav{pointer-events:all;clip-path:rect(0 100% 100% 0)}
body.menu_open .mobilenav__backdrop{opacity:1}
.mobilenav{transition:clip-path .5s cubic-bezier(.7,0,.2,1)}

/* ---------- Custom grid cursor ---------- */
.cursor{height:100%;left:0;mix-blend-mode:difference;pointer-events:none;position:fixed;top:0;width:100%;z-index:99;--size:calc(100vw/var(--columns))}
@media screen and (max-width:1300px){.cursor{display:none}}
.cursor__inner{display:grid;grid-template-columns:repeat(var(--columns),var(--size))}
.cursor__inner-box{background:#fff;border-radius:0;height:var(--size);opacity:0;width:var(--size)}

/* ---------- Marquee headline ---------- */
.marqueeText{--marquee-line-scale:0;height:17vw;left:0;overflow:hidden;pointer-events:none;position:fixed;top:3.5vw;white-space:nowrap;width:100%;z-index:3}
@media screen and (max-width:600px){.marqueeText{height:100px;top:80px}}
.marqueeText:after,.marqueeText:before{border-bottom:var(--border);border-width:2px;content:"";height:1px;left:3vw;position:absolute;transform:scaleX(var(--marquee-line-scale));transform-origin:left top;width:94vw}
.marqueeText:before{top:1.4vw}
@media screen and (max-width:600px){.marqueeText:before{top:2px}}
.marqueeText:after{bottom:4vw}
.marqueeText__track{display:flex;left:0;position:absolute;top:0;white-space:nowrap;width:max-content;will-change:transform}
.marqueeText__title{display:inline-flex;flex:0 0 auto;line-height:.96;margin-bottom:2vw;white-space:nowrap;margin-top:0}
@media screen and (max-width:600px){.marqueeText__title{margin-bottom:5vh}}
.marqueeText .line{display:inline-block}
.marqueeText__symbol{font-family:Arial,Helvetica,sans-serif;padding:0 2vw}
section .marqueeText{position:static}

/* ---------- Hero ---------- */
.homeHeroIntro,.home__wrapper{position:relative}
.logo3d{pointer-events:none;position:absolute;z-index:3}
.logo3d--hero{bottom:auto;height:32vh;left:50vw;top:55vh;transform:translate(-50%,-50%);width:70vw;perspective:1200px}
@media screen and (max-width:600px){.logo3d--hero{height:32vh;top:45vh;width:70vw}}
.logo3d__canvas{height:100%;width:100%;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}
.logo3d__mark{width:100%;color:#fff;opacity:.92;animation:logo3d 14s ease-in-out infinite;transform-style:preserve-3d;filter:drop-shadow(0 2vw 3vw rgba(0,0,0,.45))}
.logo3d__mark svg{width:100%;height:auto;display:block}
@keyframes logo3d{0%{transform:rotateY(-18deg) rotateX(8deg)}50%{transform:rotateY(18deg) rotateX(-6deg)}100%{transform:rotateY(-18deg) rotateX(8deg)}}
@media (prefers-reduced-motion:reduce){.logo3d__mark{animation:none}}

.homeMiniVideo{--mini-video-bottom-offset:0vw;--mini-video-sticky-height:15vw;bottom:var(--mini-video-bottom-offset);height:var(--mini-video-sticky-height);left:3vw;position:fixed;width:15vw;z-index:6}
@media screen and (max-width:600px){.homeMiniVideo{--mini-video-sticky-height:15vh;left:20px;width:15vh;bottom:auto;position:absolute;top:80vh}}
.homeMiniVideo.is-released{bottom:0;position:absolute;top:auto}
.homeMiniVideo .mini-video__button{appearance:none;background:transparent;border:0;border-radius:var(--radius);clip-path:rect(0 100% 100% 0 round var(--radius));cursor:pointer;display:block;height:10vw;overflow:hidden;padding:0;position:relative;transform:translateZ(0);transform-origin:center left;width:100%;z-index:1}
@media screen and (max-width:600px){.homeMiniVideo .mini-video__button{height:10vh}}
.homeMiniVideo canvas{border-radius:inherit;display:block;height:100%;object-fit:cover;opacity:0;position:relative;width:100%}
.homeMiniVideo div.monospace{color:#fff;letter-spacing:0;line-height:1.15;margin:.8vw 0 0;width:100%}

.homeVideoOverlay{background:#000;cursor:pointer;inset:0;position:fixed;z-index:22;align-items:center;display:flex;justify-content:center}
.homeVideoOverlay[hidden]{display:none}
.homeVideoOverlay__stage{align-items:center;display:flex;justify-content:center;height:100%;width:100%}
.homeVideoOverlay__video{display:block;height:100%;margin:auto;max-height:100vh;max-width:100vw;object-fit:contain;width:100%}
.homeVideoOverlay__controls{bottom:3vw;position:absolute;right:3vw;z-index:2}
.homeVideoOverlay__controls button{align-items:center;appearance:none;background:transparent;border:0;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;padding:0;width:44px}
.homeVideoOverlay__controls svg{display:block;fill:none;height:24px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;width:24px}
.homeVideoOverlay__closeButton{align-items:center;appearance:none;background:transparent;border:0;cursor:pointer;display:none;height:44px;justify-content:center;padding:0;position:absolute;right:10px;top:20px;width:44px;z-index:2}
.homeVideoOverlay__closeButton span{background:#fff;display:block;height:1px;position:absolute;width:22px}
.homeVideoOverlay__closeButton span:first-child{transform:rotate(45deg)}
.homeVideoOverlay__closeButton span:last-child{transform:rotate(-45deg)}
@media screen and (max-width:600px){.homeVideoOverlay__controls{bottom:20px;right:20px}.homeVideoOverlay__closeButton{display:flex}}
.homeVideoOverlay__closeCursor,.homeworks__skimCursor{align-items:center;background-color:var(--primarycolor);border:var(--borderFade);border-radius:999px;color:var(--background,var(--bgcolor));display:inline-flex;justify-content:center;left:0;line-height:1;opacity:0;padding:clamp(6px,1vw,30px);pointer-events:none;position:fixed;text-transform:uppercase;top:0;white-space:nowrap;will-change:transform,opacity;z-index:22}
.homeworks__skimCursor{z-index:21}
@media screen and (max-width:600px){.homeVideoOverlay__closeCursor,.homeworks__skimCursor{display:none}}

section .banner__hero{background:#003c6a;height:100vh;object-fit:cover;opacity:0;overflow:hidden;position:relative;width:100vw}
.no-js section .banner__hero{opacity:1}
section .banner__hero--wrapper{height:100%;width:100%}
section .banner__hero p{bottom:3vw;color:#fff;position:absolute;right:3vw;width:32vw;z-index:3}
@media screen and (max-width:600px){section .banner__hero p{bottom:50px;width:45vw}}
section .banner__hero p span.line{display:inline-block}
section .banner__hero p span.speed{cursor:pointer;margin-left:5px;text-decoration:underline;pointer-events:auto}
section .banner__hero p span.speed span.line__inner{background-color:var(--grey);color:var(--black);display:inline}
section .banner__hero p span.speed span.line__inner:hover{background-color:var(--blue);color:var(--grey)}
.home-cloud-canvas{opacity:0;pointer-events:none}
.canvas{z-index:1}
.canvas,.canvas__cover{height:100vh;left:0;margin:0;padding:0;position:fixed;top:0;width:100vw}
.canvas__cover{background-color:#725b5b;mix-blend-mode:difference;opacity:0;pointer-events:none}

/* ---------- Intro ---------- */
section .intro h2{margin-top:10vw;padding-top:5vw;text-align:center;width:100%}
section .intro h4{text-align:center;width:100%}

/* ---------- Works showcase ---------- */
section.homeworksSection{padding-top:0}
section .small_print{justify-content:flex-start;margin-top:3vw}
@media screen and (max-width:600px){section .small_print{margin-top:50px}}
section .homeworks{margin-bottom:10vw}
section .homeworks__showcaseHold{overflow:visible}
@media screen and (max-width:600px){section .homeworks__showcaseHold{margin-top:20px}}
section .homeworks__showcase{cursor:pointer;height:40vw;margin-top:5vw;max-height:72vh;min-height:320px;overflow:hidden;position:relative;touch-action:pan-y;user-select:none;width:100vw}
@media screen and (max-width:600px){section .homeworks__showcase{height:72vw;max-height:none;min-height:260px}}
section .homeworks__showcase:after,section .homeworks__showcase:before{content:"";height:100%;opacity:.3;pointer-events:none;position:absolute;top:0;width:6vw;z-index:2}
section .homeworks__showcase:before{background:linear-gradient(90deg,var(--background,var(--bgcolor)) 0,transparent 100%);left:0}
section .homeworks__showcase:after{background:linear-gradient(270deg,var(--background,var(--bgcolor)) 0,transparent 100%);right:0}
section .homeworks__showcaseScale{left:0;position:absolute;top:0;transform-origin:50vw 50%}
section .homeworks__showcaseLoop,section .homeworks__showcaseScale{height:100%;width:max-content;will-change:transform}
section .homeworks__showcaseLoop{align-items:stretch;display:flex;gap:2.5vw;position:relative}
@media screen and (max-width:600px){section .homeworks__showcaseLoop{gap:16px}}
section .homeworks__showcaseItem{border-radius:12px;flex:0 0 auto;height:100%;margin:0;overflow:hidden;pointer-events:none}
section .homeworks__showcaseItem img{display:block;height:100%;max-width:none;object-fit:contain;pointer-events:none;user-select:none;width:auto;-webkit-user-drag:none}
@media screen and (max-width:600px){section .homeworks__showcaseItem{border-radius:8px}}

/* ---------- Benefits ---------- */
section .benefits{padding-bottom:1vw;position:relative}
section .benefits h4{padding-bottom:5vw;width:100%}
@media screen and (max-width:600px){section .benefits h4{margin-bottom:20vw}}
section .benefits__items--item{background-color:var(--bgcolor);border-top:var(--border);position:relative}
section .benefits__items--item .layout{position:relative}
section .benefits__items--item .layout__second{display:flex;justify-content:space-between}
section .benefits__items--image{border-radius:var(--radius);height:auto;overflow:hidden;width:35%}
section .benefits__items--text{padding-bottom:8vw;width:56%}
section .benefits__items--text p.lead{font-size:260%;line-height:.8;padding-right:0}
section .benefits__items--text p:not(.lead){width:70%}
section.section__blue .benefits__items--item{background-color:var(--blue);border-top:var(--border)}
@media screen and (max-width:600px){
  section .benefits__items--item .layout__third{display:none;position:absolute;right:20px;width:auto}
  section .benefits__items--image{position:absolute;right:10px;top:20px;width:35%}
  section .benefits__items--text{line-height:1.1;padding-bottom:80px;width:60%}
  section .benefits__items--text p.lead{font-size:150%;margin-bottom:20px}
  section .benefits__items--text p:not(.lead){margin-top:0;width:100%}
}

/* ---------- Pricing ---------- */
.section__pricing{transition:background .35s ease;--color:hsla(0,0%,100%,.7);color:#ffffffb3}
.section__pricing .overlay{z-index:10}
.section__pricing .topOverlay{position:sticky;z-index:10}
.section .pricing{min-height:60vw;padding-bottom:20vw;position:relative}
.section .pricing>.layout{position:relative}
.section .pricing__content{z-index:9}
.section .pricing__box{margin-bottom:2vw;padding-bottom:2vw;position:relative}
@media screen and (max-width:600px){.section .pricing__box{margin-bottom:40px;margin-top:20px;padding:40px 0}}
.section .pricing__box .button{background-color:var(--grey)!important;color:var(--background)!important;border-bottom-color:#000;margin-top:4vw;padding-left:1vw;padding-right:1vw}
.section .pricing__box .button:before{background:#fff}
@media screen and (max-width:600px){.section .pricing__box .button{margin-top:80px;padding-left:10px;padding-right:10px}}
.section .pricing__box--header{align-items:stretch;border-bottom:var(--border);border-top:var(--border);display:grid;grid-template-columns:1fr auto;margin-bottom:1vw}
@media screen and (max-width:600px){.section .pricing__box--header{margin-bottom:20px}}
.section .pricing__box--name,.section .pricing__box--price{align-items:center;display:flex;padding:1vw 0}
@media screen and (max-width:600px){.section .pricing__box--name,.section .pricing__box--price{padding:14px 0}}
.section .pricing__box--name{gap:.6vw}
.section .pricing__box--badge{align-items:center;border:var(--border);border-radius:999px;display:inline-flex;font-family:inherit;font-weight:inherit;font-size:.75vw;letter-spacing:.02em;line-height:1;padding:.2vw .55vw;text-transform:uppercase}
@media screen and (max-width:600px){.section .pricing__box--badge{font-size:10px;padding:4px 8px}}
.section .pricing__box--price{border-left:var(--border);justify-content:flex-end;margin-left:1vw;padding-left:2vw;text-align:right;white-space:nowrap}
.section .pricing__box--price s{opacity:.55}
@media screen and (max-width:600px){.section .pricing__box--price{margin-left:14px;padding-left:14px}}
.section .pricing__box p.lead{margin-bottom:0}
@media screen and (max-width:600px){.section .pricing__box p.lead{font-size:120%}}
.section .pricing__box p:not(.lead){letter-spacing:-.05vw;margin-bottom:3vw;max-width:30vw}
@media screen and (max-width:600px){.section .pricing__box p:not(.lead){margin-bottom:30px;max-width:100%}}
.section .pricing__box--items li{border-bottom:var(--border);list-style:none;padding:.5vw 0}
.section .pricing__box--items li:last-child{border:none}
@media screen and (max-width:600px){.section .pricing__box--items li{font-size:100%;padding:5px 0}}
.section .pricing .buttons{padding-bottom:3vw}
@media screen and (max-width:600px){.section .pricing .buttons{padding-bottom:50px}}
.pricing__package{background:transparent;height:100vh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9}
.pricing__package.is-ready{transition:opacity .5s ease}
.pricing__package.is-on{opacity:1}
@media screen and (max-width:600px){.section .pricing__package{display:none}.section .pricing{min-height:90vw}}
/* Placeholder for the 3D package: a slowly turning box on the empty left half */
.package3d{position:absolute;left:25vw;top:50vh;width:16vw;height:16vw;transform:translate(-50%,-50%);perspective:1400px}
.package3d__cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:package3d 22s linear infinite}
.package3d__face{position:absolute;inset:0;border:1px solid hsla(0,0%,100%,.55);background:rgba(17,17,17,.75);backface-visibility:visible}
.package3d__face--front{transform:translateZ(8vw)}
.package3d__face--back{transform:rotateY(180deg) translateZ(8vw)}
.package3d__face--left{transform:rotateY(-90deg) translateZ(8vw)}
.package3d__face--right{transform:rotateY(90deg) translateZ(8vw)}
.package3d__face--top{transform:rotateX(90deg) translateZ(8vw)}
.package3d__face--bottom{transform:rotateX(-90deg) translateZ(8vw)}
@keyframes package3d{0%{transform:rotateX(-20deg) rotateY(0)}100%{transform:rotateX(-20deg) rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.package3d__cube{animation:none;transform:rotateX(-20deg) rotateY(30deg)}}

/* ---------- Brand sprint ---------- */
section .branding__imageFrame{aspect-ratio:4/5;background-color:#000;border-radius:var(--radius);bottom:3vw;clip-path:inset(100% 0 0 0 round var(--radius));left:3vw;overflow:hidden;pointer-events:none;position:fixed;width:20vw;will-change:clip-path;z-index:12}
@media screen and (max-width:600px){section .branding__imageFrame{display:none}}
section .branding__imageStack{height:100%;position:relative;width:100%}
section .branding__image{background:var(--bgcolor);height:100%;inset:0;overflow:hidden;position:absolute;width:100%;opacity:0}
section .branding__image.is-current{opacity:1}
section .branding__image img{display:block;height:100%;object-fit:cover;width:100%}
section .branding h4{padding-bottom:8vw}
section .branding .button{background-color:#000;border-bottom-color:#000;color:var(--cream);margin-top:5vw;padding-left:1vw;padding-right:1vw}
section .branding .button:before{background-color:var(--lightgrey)}
section .branding .button:hover{color:#000!important}
@media screen and (max-width:600px){section .branding .button{margin-top:50px;padding-left:10px;padding-right:10px}}
section .branding .pricing__box--items{display:flex;flex-wrap:wrap}
section .branding .pricing__box--items li{width:50%}
@media screen and (max-width:600px){section .branding .pricing__box--items li{width:100%}}

/* ---------- Footer ---------- */
.footer{min-height:calc(100vh - 5.1vw);overflow:hidden;position:relative;width:100vw}
.footer__wrapper{height:100%;position:relative}
.footer__logoStack{--trail-progress:0;color:var(--grey);isolation:isolate;opacity:.7;padding:3vw;position:relative}
.footer__logo{display:block;height:auto;width:100%}
.footer__logo svg{display:block;width:100%;height:auto}
.footer__logo--front{position:relative;z-index:5}
.footer__logo--trail{background-color:var(--background,var(--bgcolor));clip-path:inset(0 0 calc(var(--trail-crop) + var(--trail-crop-offset,0%)) 0);color:var(--grey);left:3vw;position:absolute;top:3vw;transform:translateY(calc(var(--trail-progress)*var(--trail-index)*-22%));width:calc(100% - 6vw);will-change:transform}
@media screen and (max-width:600px){.footer .address{margin-bottom:50px}}

/* ---------- Static pages (about, terms, journal) ---------- */
.static__wrapper{padding-top:0}
.static__wrapper--inner{min-height:100vh}
article{padding:20vw 0;letter-spacing:0}
@media screen and (max-width:600px){article{padding:20vh 0 10vh}}
article a{text-decoration:underline}
article ol,article p,article ul{font-size:90%}
article h1{font-size:5vw;max-width:45vw;padding-bottom:5vw}
article h5,article h6,article ol,article p,article ul{max-width:45vw;padding-bottom:3vw}
article h2,article h3,article h4{max-width:45vw;padding:3vw 0}
article h2,article h3{font-size:5vw;font-weight:500;letter-spacing:-.1vw;line-height:.95}
article h4{border-top:var(--border);font-size:250%}
article ol,article ul{padding-left:0}
article ol li,article ul li{border-bottom:1px solid hsla(0,0%,100%,.4);list-style:none;margin-bottom:1vw;padding-bottom:1vw}
article ol li:last-child,article ul li:last-child{border-bottom:none}
@media screen and (max-width:600px){
  article h1{font-size:40px;max-width:85vw;padding-bottom:5vh}
  article h5,article h6,article ol,article p,article ul{max-width:85vw;padding-bottom:5vh;font-size:100%}
  article h2,article h3,article h4{max-width:80vw;padding:5vh 0}
  article h2,article h3{font-size:15vw}
}

/* Smooth-scroll host */
html.lenis{height:auto}
html.lenis.lenis-smooth{scroll-behavior:auto}
html.lenis.lenis-stopped{overflow:hidden}
@media screen and (max-width:600px){html.lenis.lenis-stopped{overflow:auto}}
html.has-scroll-dragging{user-select:none}

/* Admin bar: keep the fixed header below it when logged in */
body.admin-bar header{top:32px}
@media screen and (max-width:782px){body.admin-bar header{top:46px}}

/* Plugin chrome that the front page does not load styles for must not print as page content either. */
body.home .cookieadmin_law_container,body.home .cookieadmin_cookie_modal,body.home div:has(> .cookieadmin_re_consent){display:none!important}

/* ---------- PKX study: experience grid, platform strip, feature media + pixel wipe ----------
   Measured from a marquee-grid music-artist landing; the em base is the studied page's fluid root
   (1em = 100vw / 120), so every value below is the source value in em. Copy, marks and artwork are placeholders. */
.pkx{--pkx-dark:#000;--pkx-light:#fff;--pkx-gray:#c5c5c5;--pkx-col:35em;--pkx-row:10em;--pkx-dot:8.5em;--pkx-gap:.75em;--pkx-pad:.625em;--pkx-colpad:1.25em;
  background:var(--pkx-light);color:var(--pkx-dark);font-family:Body,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:calc(100vw / 120);font-weight:700;letter-spacing:0;line-height:1;overflow-x:clip;padding:1em 0;position:relative;width:100%}
@media screen and (max-width:991px){.pkx{font-size:calc(100vw / 80)}}
@media screen and (max-width:767px){.pkx{font-size:calc(100vw / 40)}}
.pkx *{box-sizing:border-box}
.pkx p,.pkx h2,.pkx h3{font-family:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;text-transform:none}
.pkx a{color:inherit}

/* Experience grid: static cover on the left, ten sliding column lines, four sliding word rows. */
.pkx--exp{padding-top:2.5em}
.pkx-exp{padding:0 var(--pkx-pad);position:relative}
.pkx-exp__wrap{height:calc(4 * var(--pkx-row));position:relative}
.pkx-exp__lines{display:flex;inset:0;position:absolute;z-index:1}
.pkx-exp__cover{background:var(--pkx-light);border-bottom:1px solid var(--pkx-dark);box-shadow:0 -2em 0 0 var(--pkx-light),0 2em 0 0 var(--pkx-light);flex:none;position:relative;width:calc(var(--pkx-col) / 2);z-index:2}
.pkx-exp__bgrow{border-top:1px solid var(--pkx-dark);height:var(--pkx-row)}
.pkx-exp__col{flex:none;position:relative;width:var(--pkx-col);will-change:transform}
.pkx-exp__border{background:var(--pkx-dark);bottom:0;height:100%;position:absolute;right:0;top:0;width:1px}
.pkx-exp__label{font-size:1.125em;left:0;line-height:1;position:absolute;top:-1.5em}
.pkx-exp__content{border-bottom:1px solid var(--pkx-dark);position:relative;z-index:2}
.pkx-exp__row{display:flex;height:var(--pkx-row);padding-left:calc(var(--pkx-col) / 2);will-change:transform}
.pkx-exp__cell{border-top:1px solid var(--pkx-dark);flex:none;width:var(--pkx-col)}
.pkx-exp__el{align-items:center;display:flex;gap:var(--pkx-gap);margin-left:calc(-.5 * var(--pkx-dot) - var(--pkx-gap))}
.pkx-exp__dot{aspect-ratio:1;background:var(--pkx-dark);border-radius:100em;flex:none;margin-left:var(--pkx-gap);width:var(--pkx-dot)}
.pkx h2.pkx-exp__word{font-size:12.5em;letter-spacing:-.05em;line-height:.8;white-space:nowrap}
@media screen and (max-width:991px){.pkx h2.pkx-exp__word{font-size:10em}}
@media screen and (max-width:767px){.pkx-exp{font-size:.55em}.pkx h2.pkx-exp__word{font-size:9em}.pkx--exp{padding-top:3em}}

/* Platform strip: a draggable loop of placeholder platform marks. */
.pkx-strip{align-items:center;cursor:grab;display:flex;margin:-1em 0;overflow:hidden;padding:4em 0;touch-action:pan-y;user-select:none;-webkit-user-select:none;width:100%}
.pkx-strip.is-dragging{cursor:grabbing}
.pkx-strip__collection{align-items:center;display:flex;flex:none;will-change:transform}
.pkx-strip__list{align-items:center;display:flex;flex:none}
.pkx-strip__item{border-radius:1.25em;flex:none;height:3em;margin-right:20em;max-width:9em;overflow:hidden}
.pkx-strip__link{display:block;height:100%;width:100%}
.pkx-strip__mark{display:block;height:100%;width:auto}
.pkx-strip img{height:100%;object-fit:contain;width:auto}

/* Feature media: parallax image with the pixel wipe pinned to its bottom edge. */
.pkx--media{padding:0}
.pkx-media{position:relative}
.pkx-media__w{aspect-ratio:1.875 / 1;background:rgba(0,0,0,.2);overflow:hidden;position:relative;width:100%;z-index:1}
@media screen and (max-width:767px){.pkx-media__w{aspect-ratio:3 / 4}}
.pkx-media__inner{height:114%;left:0;position:absolute;top:0;width:100%}
.pkx-media__inner img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}
.pkx-pixels{bottom:0;color:var(--pkx-gray);left:0;pointer-events:none;position:absolute;right:0;z-index:10}
.pkx-pixels__panel{display:flex;width:100%}
.pkx-pixels__col{display:flex;flex:1 1 0%;flex-direction:column}
.pkx-pixels__px{aspect-ratio:1;background:currentColor;opacity:0;visibility:hidden;width:100%}
.pkx--media[data-tone="white"] .pkx-pixels{color:var(--pkx-light)}
.pkx--media[data-tone="black"] .pkx-pixels{color:var(--pkx-dark)}

/* Landing band: the section the wipe dissolves into. */
.pkx--band{background:var(--pkx-gray);padding:1em 0 0}
.pkx--band[data-tone="white"]{background:var(--pkx-light)}
.pkx--band[data-tone="black"]{background:var(--pkx-dark);color:var(--pkx-light)}
.pkx-band{padding:0 var(--pkx-pad)}
.pkx-band__row{display:flex;flex-wrap:wrap;margin:0 calc(-1 * var(--pkx-colpad))}
.pkx-band__col{padding:0 var(--pkx-colpad)}
.pkx-band__col--a{width:50.5%}
.pkx-band__col--b{width:25.3%}
.pkx-band__start{align-items:center;display:flex;gap:.5em}
.pkx-band__square{aspect-ratio:1;background:currentColor;flex:none;width:1.125em}
.pkx h3.pkx-band__h{font-size:1.5em;letter-spacing:-.02em;line-height:.9;text-transform:uppercase}
.pkx p.pkx-band__p{font-size:1.125em;line-height:1;max-width:90%}
.pkx-band__spacer{height:var(--pkx-band-h,15.65em)}
@media screen and (max-width:767px){.pkx-band__col--a,.pkx-band__col--b{width:100%}.pkx-band__col--b{margin-top:1.5em}}

/* ---------- Get Started: the phone ----------
   A handset with a working keypad. Dial the line number on the note and the form takes the screen. */
.pkc{--pkc-ink:var(--primarycolor);--pkc-card:#0e0e0e;--pkc-key:#1f1f1f;--pkc-key-hi:#2b2b2b;min-height:100vh;padding:9vw 0 6vw}
.pkc__layout{padding-bottom:0}
.pkc__title{font-size:6vw;letter-spacing:-.2vw;line-height:.9;margin-bottom:2vw}
.pkc .lead.pkc__lead{margin-bottom:0;max-width:42vw}
.pkc__stage{align-items:flex-start;display:flex;gap:4vw;justify-content:center;padding:5vw 3vw 0;position:relative}
.pkc__note{background:var(--cream);border-radius:.3vw;box-shadow:0 1vw 3vw rgba(0,0,0,.45);color:#111;display:flex;flex-direction:column;gap:1vw;margin-top:6vw;padding:1.6vw 1.8vw 1.4vw;transform:rotate(-4deg);width:17vw}
.pkc__note-label,.pkc__note-hint{font-size:.8vw;letter-spacing:.02em;line-height:1.3}
.pkc__note .pkc__code{display:block;font-family:Display,"Arial Narrow",sans-serif;font-size:5vw;font-weight:500;letter-spacing:.12em;line-height:1}
.pkc__phone{background:var(--pkc-card);border:var(--borderFade);border-radius:2.2vw;box-shadow:0 2vw 5vw rgba(0,0,0,.5),inset 0 0 0 .35vw #000;color:var(--pkc-ink);overflow:hidden;padding:1.4vw;position:relative;width:24vw}
.pkc__phone.is-shaking{animation:pkcShake .4s ease}
@keyframes pkcShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-.6vw)}75%{transform:translateX(.6vw)}}
.pkc__screen{background:#000;border-radius:1vw;min-height:7.5vw;padding:1vw 1.2vw;position:relative}
.pkc__status{font-size:.75vw;letter-spacing:.06em;opacity:.65}
.pkc__digits{font-family:var(--mono);font-size:2.4vw;letter-spacing:.14em;line-height:1.1;margin-top:1.2vw;min-height:2.8vw;overflow:hidden;text-align:right;white-space:nowrap}
.pkc__keys{display:grid;gap:.7vw;grid-template-columns:repeat(3,1fr);margin-top:1.4vw}
.pkc__key{align-items:center;background:var(--pkc-key);border:0;border-radius:1.2vw;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;justify-content:center;min-height:4.6vw;padding:.5vw 0;transition:background .15s ease,transform .1s ease}
.pkc__key:hover,.pkc__key:focus-visible{background:var(--pkc-key-hi);outline:0}
.pkc__key:active,.pkc__key.is-down{background:#3a3a3a;transform:scale(.96)}
.pkc__key-num{font-family:Display,"Arial Narrow",sans-serif;font-size:2vw;font-weight:500;line-height:1}
.pkc__key-abc{font-family:var(--mono);font-size:.6vw;letter-spacing:.2em;margin-top:.3vw;min-height:.8em;opacity:.55}
.pkc__actions{display:grid;gap:.7vw;grid-template-columns:1fr 1fr;margin-top:.7vw}
.pkc__act{border:0;border-radius:1.2vw;color:#fff;cursor:pointer;font-size:1.6vw;line-height:1;min-height:4vw;transition:filter .15s ease,transform .1s ease}
.pkc__act:active{transform:scale(.96)}
.pkc__act:focus-visible{outline:2px solid var(--primarycolor);outline-offset:2px}
.pkc__act--clear{background:#2b2b2b}
.pkc__act--call{background:#1f9d4d}
.pkc__act--call:hover{filter:brightness(1.15)}
.pkc__phone.is-connected .pkc__body,.pkc__phone.is-done .pkc__body{display:none}
.pkc__form,.pkc__done{padding:.6vw .4vw .2vw}
.pkc__form-title{font-size:2.6vw;letter-spacing:-.1vw;line-height:.95;margin-bottom:.8vw}
.pkc__form-intro{margin-bottom:1.4vw;opacity:.75}
.pkc__field{display:block;margin-bottom:1vw}
.pkc__field>span{display:block;font-size:.7vw;letter-spacing:.06em;margin-bottom:.35vw;opacity:.6}
.pkc__field input,.pkc__field textarea{background:#000;border:0;border-bottom:var(--borderFade);border-radius:.4vw .4vw 0 0;color:#fff;display:block;font:inherit;font-size:1.05vw;padding:.7vw .8vw;resize:vertical;width:100%}
.pkc__field input:focus,.pkc__field textarea:focus{border-bottom-color:#fff;outline:0}
.pkc__form .buttons{justify-content:flex-end;margin-top:.6vw}
.pkc__form .button{font-size:1vw}
.pkc__form.is-sending{opacity:.5;pointer-events:none}
.pkc__error{color:#ff8a8a;margin-bottom:.8vw}
.pkc__trap{left:-9999px;position:absolute;top:auto}
.pkc__blocks{display:grid;grid-template-columns:repeat(8,1fr);inset:0;pointer-events:none;position:absolute;z-index:5}
.pkc__blocks div{aspect-ratio:1;background:var(--cream);opacity:0;visibility:hidden}
.pkc__skip{bottom:-2.4vw;left:0;position:absolute;text-align:center;transition:opacity .6s ease;width:100%}
.pkc__skip a{border-bottom:1px solid currentColor}
.pkc__skip-sep{opacity:.4;padding:0 .4vw}
.pkc__stage:not(.is-ready) .pkc__skip{opacity:0}
.pkc__stage:not(.is-ready) .pkc__skip a:focus-visible{opacity:1}
@media screen and (max-width:1300px){.pkc__note-label,.pkc__note-hint{font-size:11px}.pkc__status{font-size:10px}.pkc__key-abc{font-size:8px}.pkc__field>span{font-size:10px}.pkc__form .button{font-size:13px}.pkc__field input,.pkc__field textarea{font-size:14px;padding:9px 10px}}
@media screen and (max-width:600px){
  .pkc{padding:120px 0 80px}
  .pkc__title{font-size:40px;letter-spacing:-1px;margin-bottom:16px}
  .pkc .lead.pkc__lead{max-width:100%}
  .pkc__stage{flex-direction:column;align-items:center;gap:20px;padding:40px 20px 0}
  .pkc__note{border-radius:4px;margin-top:0;padding:16px 18px 14px;transform:rotate(-2deg);width:220px;gap:8px}
  .pkc__note .pkc__code{font-size:44px}
  .pkc__phone{border-radius:28px;padding:16px;width:min(86vw,360px);box-shadow:0 20px 50px rgba(0,0,0,.5),inset 0 0 0 4px #000}
  .pkc__screen{border-radius:14px;min-height:96px;padding:14px 16px}
  .pkc__digits{font-size:30px;margin-top:14px;min-height:36px}
  .pkc__keys{gap:10px;margin-top:18px}
  .pkc__key{border-radius:16px;min-height:60px;padding:6px 0}
  .pkc__key-num{font-size:26px}
  .pkc__key-abc{margin-top:4px}
  .pkc__actions{gap:10px;margin-top:10px}
  .pkc__act{border-radius:16px;font-size:22px;min-height:54px}
  .pkc__form,.pkc__done{padding:8px 4px 2px}
  .pkc__form-title{font-size:30px;letter-spacing:-1px;margin-bottom:10px}
  .pkc__form-intro{margin-bottom:18px}
  .pkc__field{margin-bottom:14px}
  .pkc__field>span{margin-bottom:5px}
  .pkc__field input,.pkc__field textarea{border-radius:6px 6px 0 0;font-size:16px}
  .pkc__skip{bottom:-34px}
}
body.page-template-elementor_canvas .cookieadmin_law_container,body.page-template-elementor_canvas .cookieadmin_cookie_modal,body.page-template-elementor_canvas div:has(> .cookieadmin_re_consent){display:none!important}

/* Studied text effects: split words are inline-block so they can move in depth; the split parent shows its words. */
.splitting .word{display:inline-block;will-change:opacity,transform}
.js .splitting{opacity:1}
.splitting .word{text-indent:0}
p.lead.lead__indent.splitting{text-indent:0}
p.lead.lead__indent.splitting>.word:first-child{margin-left:var(--lead-indent)}
.package3d__cube{animation:none}

/* ---------- Data / Captured: the slide-projector carousel ----------
   The section is tall (its height is the scroll runway); the stage sticks to the viewport and holds the canvas and the copy. */
.cap{--cap-ink:#d9d9d9;--cap-dim:rgba(217,217,217,.55);--cap-glow:rgba(186,181,166,.32);background:#141414;color:var(--cap-ink);height:calc(var(--cap-vh,8) * 100vh);position:relative;width:100vw}
.cap__stage{height:100vh;height:100dvh;left:0;overflow:hidden;position:sticky;top:0;width:100%}
.cap__stage:before{background:radial-gradient(ellipse 70vw 70vh at 50% -10%,var(--cap-glow),transparent 62%),radial-gradient(ellipse 90vw 50vh at 50% 110%,rgba(0,0,0,.6),transparent 60%);content:"";inset:0;pointer-events:none;position:absolute}
.cap__canvas{inset:0;position:absolute;touch-action:pan-y}
.cap__canvas canvas{display:block;height:100%!important;width:100%!important}
.cap--nogl .cap__canvas{display:none}
.cap__hud{align-items:flex-start;display:flex;justify-content:space-between;left:0;padding:6.5vw 3vw 0;pointer-events:none;position:absolute;top:0;width:100%;z-index:3}
.cap__hud .monospace{letter-spacing:.02em}
.cap__steps{display:flex;gap:2.2vw}
.cap__step{opacity:.4;transition:opacity .4s ease}
.cap__step.is-on{opacity:1}
.cap__step b{font-weight:400;margin-right:.5em}
.cap__counter{text-align:right}
.cap__intro{left:50%;max-width:42vw;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .6s ease,transform .6s ease;z-index:3}
.cap__intro.is-off{opacity:0;transform:translate(-50%,-56%)}
.cap__intro h1{font-size:7vw;letter-spacing:-.2vw;line-height:.9;margin-bottom:1.2vw}
.cap__intro p{font-size:1.05vw;line-height:1.5;margin:0 auto;max-width:30vw;opacity:.8}
.cap__chapter{left:50%;max-width:30vw;opacity:0;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .5s ease;z-index:3}
.cap__chapter.is-on{opacity:1}
.cap__chapter .cap__n{display:block;margin-bottom:1.4vw;opacity:.6}
.cap__chapter h2{font-size:2.2vw;letter-spacing:-.05vw;line-height:1.15;margin:0 0 1.2vw}
.cap__chapter .cap__cat{display:block;opacity:.75}
.cap__hint{bottom:3vw;left:0;opacity:.6;pointer-events:none;position:absolute;text-align:center;width:100%;z-index:3}
.cap__hint span{padding:0 .6em}
.cap__light{bottom:6vw;left:50%;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);width:60vw;z-index:4}
.cap__light .monospace{display:block;margin-bottom:.4vw;opacity:.7}
.cap__light p{font-family:Display,"Arial Narrow",sans-serif;font-size:2vw;font-weight:500;letter-spacing:-.04vw;line-height:1.1;margin:0}
.cap__close{background:transparent;border:1px solid hsla(0,0%,100%,.5);border-radius:999px;color:inherit;cursor:pointer;font:inherit;height:3vw;pointer-events:auto;position:absolute;right:3vw;top:6.5vw;width:3vw;z-index:5}
.cap.is-projecting .cap__stage:before{background:radial-gradient(ellipse 60vw 60vh at 50% 45%,rgba(255,244,224,.22),transparent 60%)}
.cap.is-projecting .cap__chapter,.cap.is-projecting .cap__intro,.cap.is-projecting .cap__hint{opacity:0}
.cap.is-projecting .cap__hud{opacity:.35}
@media screen and (max-width:1300px){.cap__intro p{font-size:14px;max-width:420px}.cap__chapter h2{font-size:28px}.cap__light p{font-size:24px}.cap__close{height:40px;width:40px}}
@media screen and (max-width:600px){
  .cap__hud{padding:90px 20px 0;flex-direction:column;gap:8px}
  .cap__steps{gap:14px;flex-wrap:wrap}
  .cap__intro{max-width:86vw}.cap__intro h1{font-size:52px;margin-bottom:12px}.cap__intro p{max-width:100%}
  .cap__chapter{max-width:80vw}.cap__chapter h2{font-size:22px}
  .cap__light{width:86vw;bottom:70px}.cap__close{right:20px;top:90px}
  .cap__hint{bottom:24px;font-size:11px}
}
.cap__flash{background:radial-gradient(ellipse 70vw 60vh at 50% 50%,rgba(255,240,214,.9),rgba(255,240,214,0) 70%);inset:0;opacity:0;pointer-events:none;position:absolute;z-index:6}
.cap__flash.is-on{animation:capFlash .55s ease-out}
@keyframes capFlash{0%{opacity:0}12%{opacity:1}100%{opacity:0}}
