/* Product chapters and progressively enhanced motion. */
.scroll-progress{height:3px;background:var(--red);position:fixed;top:0;left:0;right:0;z-index:15;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-toggle{font-size:12px;white-space:nowrap;padding:10px 0;color:#c8c8c0;border-bottom:1px solid #66665f;min-width:66px}
.nav{gap:clamp(16px,2vw,35px);margin-right:15px}.header-actions{gap:18px}
.product-section{overflow:clip;isolation:isolate}.product-section .section-top,.product-section .section-bottom{position:relative;z-index:2}
.product-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,5vw,90px);flex:1;align-items:center;padding:10px 0 35px}
.product-title{font-size:clamp(90px,13vw,240px);line-height:.8;letter-spacing:-.07em;position:relative;z-index:2}
.series-tag{font-family:"Courier New",monospace;font-size:12px;letter-spacing:.24em;margin-bottom:25px;display:block}
.product-copy h3{font-size:clamp(22px,2.35vw,38px);letter-spacing:-.025em;line-height:1.4;margin-top:22px;max-width:580px}
.product-intro{font-size:17px;line-height:1.65;max-width:460px;margin:17px 0 24px;color:#65655f}
.product-story{padding-top:22px;border-top:1px solid #c9c9c3;max-width:470px}.product-story p{font-size:16px;margin-bottom:8px}.product-story .product-poem{font-size:clamp(24px,2.5vw,38px);font-weight:700;letter-spacing:-.04em;line-height:1.35;margin:15px 0}.product-story .story-question{font-size:14px;color:#6f6f68;margin-bottom:13px}.product-story .story-answer{font-size:18px;font-weight:700}.product-stages{font-family:"Courier New",monospace;font-size:12px;letter-spacing:.08em;line-height:1.8;margin-top:24px}
.product-display{perspective:1200px;position:relative;padding:15px 24px 10px;min-width:0}
.product-tilt{--tilt-x:0deg;--tilt-y:0deg;--glare-x:50%;--glare-y:30%;position:relative;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:auto}
.product-card{position:relative;background:#fff;border:1px solid #d5d5d1;padding:12px;box-shadow:18px 26px 38px -25px rgba(0,0,0,.45);transform:translateZ(30px)}
.product-frame{position:relative;overflow:hidden;aspect-ratio:3/4;background:#fff;max-height:none;min-height:0;margin:0 auto;transition:opacity .25s,filter .3s;width:auto}
.product-frame img{position:absolute;display:block;max-width:none;width:200%;height:200%;left:-100%;top:0;object-fit:fill;user-select:none;pointer-events:none}
.tide .product-display{max-width:510px;justify-self:center;width:100%}.tide .product-frame{width:min(100%,38svh)}
.product-glare{position:absolute;inset:0;background:radial-gradient(circle at var(--glare-x) var(--glare-y),rgba(255,255,255,.23),transparent 52%);pointer-events:none;transform:translateZ(34px)}
.product-model-note{display:flex;justify-content:space-between;gap:16px;font-family:"Courier New",monospace;font-size:10px;letter-spacing:.05em;color:#6b6b63;padding:13px 0 2px}
.angle-picker{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:25px;position:relative;z-index:3}
.angle-picker button{font-size:12px;min-height:40px;padding:9px 13px;border:1px solid #aaa99f;color:inherit;transition:background .2s,color .2s}
.angle-picker button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tilt-hint{display:block;text-align:center;font-size:11px;line-height:1.5;margin:12px 0 0;color:#6c6c63}
.product-section .product-watermark{position:absolute;font-weight:900;font-size:clamp(230px,40vw,760px);line-height:.8;letter-spacing:-.09em;opacity:.028;pointer-events:none;right:-3%;top:17%;z-index:-1;white-space:nowrap}
.ludex{background:#111111}.ludex .product-layout{grid-template-columns:1.08fr 1fr}.ludex .product-title{font-size:clamp(83px,11vw,200px);color:var(--red)}.ludex .product-copy{grid-column:2;grid-row:1}.ludex .product-display{grid-column:1;grid-row:1;padding:30px 10px 10px}.ludex .product-frame{aspect-ratio:3/2;max-height:none;min-height:0;width:100%}.ludex .product-card{padding:10px;box-shadow:16px 28px 50px -25px #000}.ludex .product-intro{color:#aaa9a1}.ludex .product-stages{color:#bcbcb4}.ludex .angle-picker button{border-color:#55554e}.ludex .angle-picker button[aria-pressed="true"]{color:var(--ink);background:var(--paper);border-color:var(--paper)}.ludex .tilt-hint{color:#8c8c83}
.games-label{font-size:16px;margin:24px 0 15px}.game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:510px}.game-list p{padding:11px 0;border-top:1px solid var(--line);font-size:14px}.game-list p:last-child{grid-column:1/-1}.ludex .no-noise{font-size:14px;color:#a7a79f;margin-top:22px}.ludex .just-play{font-size:30px;font-weight:800;letter-spacing:-.045em;margin-top:5px}
.coming-section{background:var(--paper);color:var(--ink);overflow:clip;isolation:isolate}.coming-section .section-note{color:#62625b}.coming-main{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:65px 0;perspective:1400px}.coming-title{font-size:clamp(80px,15vw,280px);line-height:.82;letter-spacing:-.07em;transform-style:preserve-3d}.coming-title .coming-outline{color:transparent;-webkit-text-stroke:2px var(--ink);transform:translateZ(45px);display:block}.coming-title span{display:block}.coming-kicker{font-family:"Courier New",monospace;font-size:12px;letter-spacing:.2em;margin-bottom:40px}.coming-text{margin-top:45px;font-size:16px;color:#65655d}.coming-email{display:inline-block;font-size:clamp(19px,2.2vw,34px);font-weight:600;letter-spacing:-.025em;border-bottom:2px solid var(--red);padding-bottom:9px;margin-top:15px}.coming-socials{display:flex;gap:29px;align-items:center;justify-content:center;margin-top:32px}.social-logo{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.5}.social-logo svg{width:20px;height:20px;fill:currentColor}.social-wordmark{font-size:15px;font-weight:800;letter-spacing:-.04em}.coming-section .footer{margin-top:auto}.coming-section .copyright{color:#64645c}.coming-section .wordmark{color:var(--ink)}
.motion-ready:not(.motion-off) [data-reveal]{opacity:0;transform:translate3d(0,45px,0) rotateX(5deg);transition:opacity .85s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready:not(.motion-off) [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0) rotateX(0)}
.motion-ready:not(.motion-off) .hero-art{animation:hero-enter 1.2s cubic-bezier(.16,1,.3,1) both}
.motion-ready:not(.motion-off) .hero-copy{animation:copy-enter .95s cubic-bezier(.16,1,.3,1) both}
.motion-ready:not(.motion-off) .product-section.is-in-view .product-tilt{animation:product-arrive 1.25s cubic-bezier(.16,1,.3,1)}
.motion-ready:not(.motion-off) .product-section.is-in-view .product-display{animation:product-float 7s ease-in-out 1.25s infinite}
.motion-ready:not(.motion-off) .coming-section.is-in-view .coming-title{animation:coming-arrive 1.4s cubic-bezier(.16,1,.3,1) both}
.motion-ready:not(.motion-off) .screen:before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.6,.2,1);pointer-events:none;z-index:4}
.motion-ready:not(.motion-off) .screen.is-in-view:before{transform:scaleX(1)}
.motion-off [data-reveal]{opacity:1;transform:none}.motion-off .product-tilt{transform:none!important;transition:none}.motion-off .product-display,.motion-off .coming-title,.motion-off .hero-art,.motion-off .hero-copy{animation:none!important}.motion-off .screen:before{display:none}.motion-off{scroll-behavior:auto}
@keyframes hero-enter{from{opacity:0;transform:perspective(1200px) rotateY(-13deg) translateX(35px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes copy-enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes product-arrive{from{opacity:.2;transform:rotateY(-18deg) rotateX(8deg) translateY(40px) scale(.92)}to{opacity:1;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}}
@keyframes product-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes coming-arrive{from{opacity:0;transform:rotateX(24deg) translateY(60px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.product-layout{gap:7vw}.tide .product-display{max-width:650px}.product-copy h3{max-width:700px}.product-intro{font-size:19px;max-width:530px}}
@media(max-width:1150px){.nav{gap:18px}.nav a{font-size:12px}.header{gap:24px}.header-actions{gap:14px}.nav-join{gap:20px}.product-layout{gap:30px}.product-copy h3{font-size:25px}.product-intro{font-size:16px}.product-story p{font-size:14px}.product-story .product-poem{font-size:27px}.product-display{padding-left:12px;padding-right:12px}.angle-picker{gap:7px}.angle-picker button{padding:8px 10px;font-size:11px}}
@media(max-width:900px){.nav{display:none}.menu-toggle{display:block}.product-layout,.ludex .product-layout{grid-template-columns:1fr 1fr;gap:25px}.product-title{font-size:12vw}.ludex .product-title{font-size:11.5vw}.product-copy h3{font-size:23px}.product-story{padding-top:17px}.product-model-note{font-size:9px}.product-frame{min-height:0}.tide .product-frame{width:100%}.product-stages{font-size:10px}.game-list{grid-template-columns:1fr}.game-list p{font-size:13px;padding:7px 0}.tilt-hint{font-size:10px}.coming-title{font-size:16vw}}
@media(max-width:650px){.header-actions{gap:13px}.header{padding-right:17px;gap:14px}.motion-toggle{font-size:11px;min-width:0}.nav-join{display:none}.product-layout,.ludex .product-layout{grid-template-columns:1fr;gap:35px;padding-bottom:38px}.product-copy,.ludex .product-copy{grid-column:1;grid-row:1}.product-display,.ludex .product-display{grid-column:1;grid-row:2;padding:5px 13px}.tide .product-display{max-width:360px}.product-title,.ludex .product-title{font-size:24vw}.series-tag{margin-bottom:22px;font-size:11px}.product-copy h3{font-size:24px;margin-top:20px;max-width:none}.product-intro{font-size:16px;margin-bottom:22px}.product-story .product-poem{font-size:30px}.product-story p{font-size:16px}.product-story .story-question{font-size:14px}.product-story .story-answer{font-size:19px}.product-stages{font-size:12px;margin-top:22px}.product-frame{min-height:0;max-height:none}.tide .product-frame{width:100%;aspect-ratio:3/4}.product-card{padding:9px}.product-display{width:100%}.angle-picker{gap:8px;margin-top:23px}.angle-picker button{font-size:12px;padding:10px 12px;min-height:42px}.tilt-hint{display:none}.game-list{grid-template-columns:1fr 1fr;gap:0 20px;max-width:none}.game-list p{font-size:14px;padding:11px 0}.ludex .just-play{font-size:33px}.coming-main{padding:65px 0}.coming-title{font-size:19vw}.coming-kicker{font-size:10px;letter-spacing:.14em}.coming-text{font-size:14px;margin-top:36px;max-width:320px}.coming-email{font-size:21px}.coming-socials{gap:20px}.social-logo{font-size:10px;gap:5px}.social-logo svg{width:19px;height:19px}.social-wordmark{font-size:13px}.coming-title .coming-outline{-webkit-text-stroke:1.5px}.motion-ready:not(.motion-off) .product-section.is-in-view .product-display{animation:none}}
@media(prefers-reduced-motion:reduce){[data-reveal],.motion-ready:not(.motion-off) [data-reveal]{opacity:1!important;transform:none!important}.product-tilt{transform:none!important}.screen:before{display:none!important}.scroll-progress{transition:none!important}}
@media print{.scroll-progress,.angle-picker,.tilt-hint,.motion-toggle{display:none}.product-layout,.ludex .product-layout{display:block}.product-display{width:220px;margin:20px auto}.product-frame{max-height:none}.coming-title{font-size:70px}.coming-main{padding:30px 0}[data-reveal]{opacity:1!important;transform:none!important}.ludex .product-intro,.ludex .no-noise{color:#333}.product-title,.ludex .product-title{font-size:60px}.product-watermark{display:none}}
