@charset "UTF-8";
:root{--forest:#0e2d29;--ink:#173c36;--paper:#f7f9f7;--ivory:#f1f8ef;--sea:#d8eee3;--orange:#ff9b45;--muted:#586c64;--line:#dce4df;--gutter:clamp(24px,6vw,96px);--frame:max(var(--gutter),calc((100vw - 1400px)/2));font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}
img,video{max-width:100%;display:block}
figure,p,h1,h2,h3{margin:0}
em{font-style:normal}
::selection{background:#ffb56c;color:#0e2d29}
.skip-link{position:fixed;top:10px;left:12px;z-index:300;padding:14px 20px;background:var(--ivory);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:none}

/* Beacon wordmark */
.wordmark{--br-body:var(--ivory);--br-light:var(--orange);display:inline-flex;align-items:baseline;font-family:"Helvetica Neue",Arial,sans-serif;font-size:32px;font-weight:750;letter-spacing:-.06em;line-height:1;white-space:nowrap}
.wordmark>.beacon{font-size:.86em;margin-left:.13em;margin-right:.11em}
.wordmark>.tail{margin-left:-.025em}
.beacon{position:relative;display:inline-block;flex-shrink:0;width:.7em;height:.84em;transform:rotate(16deg);vertical-align:baseline}
.beacon-ring{position:absolute;inset:0;border:.16em solid var(--br-body,var(--ivory));border-radius:.335em}
.beacon-eye{position:absolute;inset:.14em;border-radius:.195em;overflow:hidden}
.lid{position:absolute;left:0;width:100%;height:50.5%;background:var(--br-body,var(--ivory));transform:scaleY(0)}
.lid.top{top:0;transform-origin:center top}.lid.bottom{bottom:0;transform-origin:center bottom}
.beacon-light{position:absolute;width:.23em;height:.23em;right:-.045em;top:.03em;background:var(--br-light,var(--orange));border-radius:50%}

/* Shared type */
.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:600;line-height:1.6}
.display{font-size:clamp(48px,5.6vw,88px);line-height:1.02;font-weight:550;letter-spacing:-.06em}
.display em{color:#658c77}
.lead{font-size:clamp(17px,1.6vw,22px);line-height:1.55;letter-spacing:-.02em;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:16px 24px;border-radius:9px;font-size:14px;font-weight:600;transition:transform .25s,background .25s}
.button-light{color:var(--forest);background:var(--ivory)}
.button:hover{transform:translateY(-3px);background:#fff}
.text-link{display:inline-flex;gap:18px;align-items:center;min-height:44px;font-size:14px;font-weight:500;border-bottom:1px solid #779d8b;padding-bottom:2px}
.text-link.light{color:var(--ivory);border-color:#b4cebd80}
.tiny-lock{display:inline-block;width:10px;height:9px;border:1px solid currentColor;border-radius:2px;position:relative;margin-left:3px}
.tiny-lock::before{content:'';position:absolute;width:5px;height:5px;border:1px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0;left:1.5px;top:-6px}
.search-glyph{width:16px;height:16px;border:2px solid var(--ink);border-radius:50%;position:relative;display:inline-block;margin-right:4px;flex-shrink:0}
.search-glyph::after{content:'';position:absolute;width:7px;height:2px;right:-5px;bottom:-3px;background:var(--ink);transform:rotate(45deg)}
figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:20px}

/* Hero: the memory wall, then a second act pinned while it scrolls. */
.hero{position:relative;background:var(--forest);color:var(--ivory)}
.hero-stage{position:relative;isolation:isolate;min-height:max(860px,100svh);overflow:hidden;display:flex;flex-direction:column}
.js-scroll .hero{height:calc(var(--length)*100svh)}
.js-scroll .hero-stage{position:sticky;top:0;height:100svh;min-height:0}
.memory-wall{position:absolute;z-index:-3;inset:-280px -160px -300px;transform:rotate(calc(-12deg + var(--hp,0)*5deg)) scale(calc(1.04 + var(--hp,0)*.26));opacity:.88;will-change:transform}
.wall-columns{height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.wall-column{overflow:visible;transform:translate3d(0,calc(var(--hp,0)*var(--depth,300)*-1px),0)}
.wall-column:nth-child(even){padding-top:100px}
.wall-strip{display:flex;flex-direction:column;gap:20px;animation:memories-up 110s linear infinite;will-change:transform}
.wall-column:nth-child(2) .wall-strip{animation-name:memories-down;animation-duration:144s}
.wall-column:nth-child(3) .wall-strip{animation-duration:123s}
.wall-column:nth-child(4) .wall-strip{animation-name:memories-down;animation-duration:150s}
.wall-column:nth-child(5) .wall-strip{animation-duration:117s}
.wall-tile{position:relative;border-radius:20px;overflow:hidden;flex-shrink:0;aspect-ratio:3/4;background:#1e4a3d}
.wall-tile img,.wall-tile video{width:100%;height:100%;object-fit:cover}
.wall-tile.video-tile::after{content:'▶ 0:06';position:absolute;right:12px;bottom:12px;padding:6px 9px;font-size:12px;background:#0e2d29cc;color:var(--ivory);border-radius:6px}
.hero-shade{position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 50% 40%,#0e2d29ec 0%,#0e2d29bd 25%,#0e2d2945 69%),linear-gradient(0deg,#0e2d29 0%,#0e2d2920 40%,#0e2d2930 75%,#0e2d2980 100%)}
.hero-dim{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 50% 50%,#0e2d29f5 20%,#0e2d29c4 75%);opacity:clamp(0,calc((var(--hp,0) - .2)*2.4),.9);pointer-events:none}
.hero-inner{max-width:940px;margin:auto;text-align:center;padding:80px 24px 90px;position:relative;z-index:2;opacity:calc(1 - var(--hp,0)*3.2);transform:translate3d(0,calc(var(--hp,0)*-180px),0)}
.hero-turned .hero-inner{visibility:hidden}
.logo-theater{height:140px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;--br-body:var(--ivory);--br-light:var(--orange)}
.intro-wordmark{display:inline-flex;align-items:baseline;font-family:"Helvetica Neue",Arial,sans-serif;font-weight:750;font-size:98px;letter-spacing:-.065em;line-height:1;position:relative;isolation:isolate}
.intro-that,.intro-ne{display:block}
.intro-o{position:relative;display:inline-block;width:.7em;height:.84em;margin:0 .08em;transform-origin:center center}
.intro-o>.beacon{position:absolute;inset:0;font-size:.86em;transform:rotate(16deg);width:.7em;height:.84em}
.intro-ne{margin-left:-.025em}
.logo-settled .intro-that,.logo-settled .intro-ne{visibility:hidden}
.logo-settled .intro-o{transform:translateX(var(--intro-dx,-.24em)) scale(1.85)}
.hero-eyebrow{color:#c8dace;margin-bottom:20px}
h1{font-size:clamp(60px,7.2vw,108px);font-weight:600;line-height:.98;letter-spacing:-.065em}
h1 em{color:var(--orange)}
.hero-description{max-width:580px;margin:25px auto 0;font-size:19px;line-height:1.55;color:#e4ede5;letter-spacing:-.02em}
.hero-actions{display:flex;gap:30px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:32px}
.hero-trust{font-size:12px;color:#d4e5d7;margin-top:26px;line-height:1.8;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.hero-turn{position:relative;z-index:2;text-align:center;padding:0 var(--gutter) 110px;font-size:clamp(30px,3.4vw,46px);font-weight:600;line-height:1.08;letter-spacing:-.05em;color:var(--ivory)}
.hero-turn em{color:var(--orange)}
.hero-turn span{display:inline-block}
.js-scroll .hero-turn{position:absolute;left:var(--gutter);right:var(--gutter);top:50%;padding:0;transform:translateY(-50%);font-size:clamp(44px,6.6vw,104px);line-height:1.02;letter-spacing:-.065em;pointer-events:none}
.js-scroll .hero-turn span{--show:clamp(0,calc((var(--hp,0) - var(--at))*11),1);opacity:var(--show);transform:translate3d(0,calc((1 - var(--show))*28px),0);filter:blur(calc((1 - var(--show))*10px))}
.hero-bottom{position:absolute;bottom:29px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:center;gap:25px;color:#b4cbbd;font-size:9px;letter-spacing:.14em;opacity:calc(1 - var(--hp,0)*4)}
.hero-scroll{display:flex;flex-direction:column;align-items:center;gap:12px;color:#c9dccf}
.hero-arrow{font-size:21px;display:flex;align-items:center;justify-content:center;border:1px solid #bbd3c347;border-radius:50%;width:45px;height:45px;transition:background .25s,border-color .25s}
.hero-scroll:hover .hero-arrow{background:#f1f8ef1a;border-color:#bbd3c3a0}
.hero-turned .hero-bottom{visibility:hidden}

/* Chapters: an introduction, then a stage pinned while its film plays with the scroll. */
.chapter{position:relative;padding:44px var(--gutter) 100px}
.chapter:has(.scene){padding:0}
.chapter-heading{max-width:1100px;margin:0 auto}
.js-scroll .chapter-heading{margin:0}
.scene-intro .display{font-size:clamp(56px,8.5vw,140px)}
.chapter-heading .lead{max-width:380px;padding-bottom:8px}
.scene{position:relative}
.js-scroll .scene{height:calc(var(--length)*100svh)}
.scene-stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(28px,5vw,90px);padding:60px var(--frame) 90px;overflow:clip}
.js-scroll .scene-stage{position:sticky;top:0;height:100svh;padding-top:40px;padding-bottom:40px}
.scene-copy{position:relative;z-index:2;max-width:480px}
/* The chapter heading sits over its stage, then fades as the blurred stage comes into focus. */
.scene-intro{grid-column:1/-1;text-align:center;padding:40px 0 20px}
.js-scroll .scene-intro{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:0;opacity:clamp(0,calc(1 - var(--intro,0)*1.25),1);transform:scale(calc(1 + var(--intro,0)*.06));pointer-events:none}
.intro-icon{display:block;width:clamp(64px,6.2vw,94px);height:auto;margin:0 auto clamp(22px,3vw,36px);color:currentColor;overflow:visible}
.intro-icon *{transform-box:fill-box;transform-origin:center}
.js-scroll .intro-icon{--rise:clamp(0,calc((var(--enter,1) - .35)*2.6),1);--draw:clamp(0,calc((var(--enter,1) - .5)*3),1);--pop:clamp(0,calc((var(--enter,1) - .75)*5),1);opacity:clamp(0,calc((var(--enter,1) - .2)*4),1);transform:translate3d(0,calc((1 - var(--rise))*24px),0) scale(calc(.85 + var(--rise)*.15))}
.js-scroll .intro-icon .icon-draw{stroke-dasharray:100;stroke-dashoffset:calc((1 - var(--draw))*100)}
.js-scroll .intro-icon .icon-pop{transform:scale(var(--pop))}
.js-scroll .icon-handle{transform-origin:0 0;transform:scale(var(--draw))}
.js-scroll .icon-progress{transform-origin:0 50%;transform:scaleX(calc(.05 + var(--draw)*.95))}
.js-scroll .icon-playhead{transform:translate3d(calc((var(--draw) - 1)*28px),0,0)}
.js-scroll .icon-fan{transform-origin:20% 90%;transform:translate3d(calc((1 - var(--draw))*-16px),calc((1 - var(--draw))*-3px),0) rotate(calc((1 - var(--draw))*-14deg))}
.js-scroll .icon-dot{transform:scale(clamp(0,calc((var(--enter,1) - .45 - var(--d)*.08)*5),1))}
.js-scroll .lock-shackle{transform:translate3d(0,calc((1 - clamp(0,calc((var(--enter,1) - .7)*5),1))*-12px),0)}
.intro-line{display:block;perspective:900px;white-space:nowrap}
.intro-word{display:inline-block;white-space:nowrap}
.intro-char{display:inline-block}
.scene-intro .display::after{content:'';display:block;width:min(260px,40vw);height:4px;margin:clamp(28px,4vw,52px) auto 0;border-radius:2px;background:var(--orange);transform:scaleX(var(--bar,1))}
.js-scroll .scene-intro .display::after{--bar:clamp(0,calc((var(--enter,1) - .75)*5 + var(--intro,0)*4),6);opacity:clamp(0,calc(1 - var(--intro,0)*1.6),1)}
.js-scroll .intro-char{--show:clamp(0,calc((var(--enter,1) - .15)*3.2 - var(--i)*.045),1);opacity:var(--show);transform:translate3d(0,calc((1 - var(--show))*.9em),0) rotateX(calc((1 - var(--show))*-95deg));transform-origin:50% 100%;filter:blur(calc((1 - var(--show))*8px))}
.js-scroll .intro-line{transform:translate3d(0,calc(var(--side)*var(--intro,0)*.5em),0);letter-spacing:calc(-.06em + var(--intro,0)*.14em);filter:blur(calc(var(--intro,0)*10px))}
.js-scroll .scene-copy{filter:blur(calc((1 - var(--intro,0))*14px));opacity:calc(.2 + var(--intro,0)*.8)}
.js-scroll .scene-film>*{filter:blur(calc((1 - var(--intro,0))*18px)) opacity(calc(.3 + var(--intro,0)*.7))}
/* Once in focus the film drops the filter: it does nothing at rest, but Safari keeps compositing the film's iframe through it. */
.js-scroll .intro-done .scene-film>*{filter:none}
.scene-label{color:var(--muted)}
.beats{list-style:none;padding:0;margin:22px 0 0;display:grid}
.beat+.beat{margin-top:34px}
.js-scroll .beat{grid-area:1/1;margin:0;transition:opacity .45s ease,transform .7s cubic-bezier(.16,.8,.3,1),filter .45s ease}
.js-scroll .beat:not(.is-active){opacity:0;transform:translate3d(0,22px,0);filter:blur(8px)}
.js-scroll .beat.was-active:not(.is-active){transform:translate3d(0,-22px,0)}
.beat h3{font-size:clamp(32px,3.4vw,54px);font-weight:600;letter-spacing:-.055em;line-height:1.02}
.beat p{font-size:clamp(16px,1.25vw,19px);line-height:1.6;letter-spacing:-.01em;margin-top:20px;max-width:430px;color:var(--muted)}
.scene-progress{display:none;align-items:center;gap:18px;margin-top:36px;font-size:11px;letter-spacing:.12em;color:var(--muted)}
.js-scroll .scene-progress{display:flex}
.scene-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.scene-count [data-count]{color:var(--ink);font-weight:600}
.scene-rail{position:relative;flex:1;max-width:200px;height:2px;background:#173c3622;overflow:hidden;border-radius:1px}
.scene-rail span{position:absolute;inset:0;background:var(--orange);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.scene-film{position:relative;z-index:1;width:min(100%,calc(100svh - 132px));aspect-ratio:1;justify-self:center;opacity:0;transform:scale(.97);transition:opacity .8s ease,transform 1.1s cubic-bezier(.16,.8,.3,1)}
.film-ready .scene-film,.film-failed .scene-film{opacity:1;transform:none}
html:not(.js) .scene-film{display:none}
html:not(.js) .scene-stage{grid-template-columns:1fr}
hyperframes-player{display:block;position:absolute;inset:0;width:100%;height:100%;background:transparent}
.film-fallback{position:absolute;inset:0;margin:auto;height:92%;width:auto;border-radius:26px;box-shadow:0 30px 70px #173c3626}

/* Depth layers behind each stage move at their own rate with the scene's progress. */
.scene-depth{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:clip}
.scene-depth>*{position:absolute;display:block;transform:translate3d(0,calc((var(--p,.5) - .5)*var(--depth,0)*1px),0) rotate(calc(var(--tilt,0deg) + var(--p,0)*var(--turn,0deg)));will-change:transform}
.orb{width:min(900px,70vw);aspect-ratio:1;border-radius:50%}
.orb-sea{left:-18vw;top:-10%;background:radial-gradient(circle,#cfe9dd 0%,#cfe9dd00 66%)}
.orb-sun{right:-14vw;bottom:-30%;background:radial-gradient(circle,#ffe0c2 0%,#ffe0c200 64%)}
.orb-deep{left:30%;top:-30%;background:radial-gradient(circle,#1d4a3f 0%,#1d4a3f00 66%)}
.orb-sand{right:-20vw;top:-20%;background:radial-gradient(circle,#f8efdc 0%,#f8efdc00 66%)}
.orb-glow{left:35%;top:10%;background:radial-gradient(circle,#18413a 0%,#18413a00 64%)}
.bokeh{width:clamp(130px,13vw,230px);aspect-ratio:3/4;object-fit:cover;border-radius:18px;filter:blur(6px) saturate(1.1);opacity:.42}
.bokeh-a{left:-3vw;bottom:4%;--tilt:-9deg}
.bokeh-b{right:2vw;top:12%;--tilt:8deg}
.bokeh-c{left:-4vw;bottom:6%;--tilt:-10deg}
.bokeh-d{right:-2vw;bottom:2%;--tilt:9deg}
.timecode{right:-1vw;bottom:2%;font-size:clamp(130px,23vw,360px);font-weight:700;letter-spacing:-.07em;line-height:1;color:transparent;-webkit-text-stroke:1.5px #9fc4a838;white-space:nowrap}
.perforation{left:-10%;right:-10%;bottom:9%;height:44px;--tilt:-4deg;background:repeating-linear-gradient(90deg,#9fc4a81c 0 26px,transparent 26px 54px)}
.orbit{border:1px solid #bacfbc;border-radius:50%;left:30%;right:-25%;top:10%;bottom:10%}
.orbit-two{left:38%;right:-10%;top:-4%;bottom:-4%}
.dot-field{inset:-30% 0;background-image:radial-gradient(#9fc4a830 1.6px,transparent 1.8px);background-size:34px 34px}

/* Chapter tones */
.tone-paper{background:var(--paper)}
.tone-film{background:#102a25;color:var(--ivory)}
.tone-sand{background:#f0e7d6}
.tone-sage{background:#eef3ec}
.tone-deep{background:#091f1c;color:var(--ivory)}
.tone-film .lead,.tone-deep .lead,.tone-film .beat p,.tone-deep .beat p{color:#bcd2c2}
.tone-film .display em,.tone-film .beat h3 em{color:#ffb36e}
.tone-deep .display em{color:var(--orange)}
.tone-film .scene-label,.tone-deep .scene-label,.tone-film .scene-progress,.tone-deep .scene-progress,.tone-film .scene-note,.tone-deep .scene-note{color:#a9c3b0}
.tone-film .scene-count [data-count],.tone-deep .scene-count [data-count]{color:var(--ivory)}
.tone-film .scene-rail,.tone-deep .scene-rail{background:#f1f8ef26}
.tone-sand .display em{color:#8b8766}
.tone-sand .lead,.tone-sand .beat p,.tone-sand .scene-label,.tone-sand .scene-progress,.tone-sand .scene-note{color:#636858}
.tone-sage .display em{color:#698b72}

/* A closer look: the app previews drift sideways while each rides its own depth. */
.closer{background:var(--paper);overflow:clip;padding-left:0;padding-right:0}
.closer-heading,.closer-note{margin-left:var(--gutter);margin-right:var(--gutter)}
.closer-heading{max-width:1320px;margin-top:72px;display:flex;justify-content:space-between;align-items:end;gap:60px}
@media(min-width:1417px){.closer-heading{margin-left:auto;margin-right:auto}}
.closer-heading .lead{max-width:360px;padding-bottom:8px}
.closer-rail{display:flex;gap:clamp(24px,3.4vw,56px);width:max-content;margin-top:70px;padding:40px var(--gutter) 70px;transform:translate3d(var(--drift,0px),0,0);will-change:transform}
.closer-rail figure{width:clamp(210px,19vw,290px);flex-shrink:0}
.closer-rail figure:nth-child(even){margin-top:90px}
.closer-rail figcaption{font-size:14px;display:flex;gap:14px;align-items:center}
.closer-rail figcaption span{color:#88a48c;font-size:11px}
@media(min-width:1417px){.closer-note{margin-left:auto;margin-right:auto}}
.screen-button{padding:0;border:1px solid var(--line);display:block;width:100%;border-radius:28px;background:transparent;transition:transform .35s,box-shadow .35s;box-shadow:0 25px 55px #173c361f;overflow:hidden}
.screen-button:hover{transform:translateY(-6px);box-shadow:0 35px 65px #173c362b}
.screen-button img{width:100%;height:auto}

/* Lifestyle interlude */
.lifestyle{background:#e9eee6;padding-bottom:80px;overflow:clip}
.lifestyle-heading{max-width:1250px;margin:70px auto 0;display:flex;align-items:end;justify-content:space-between;gap:60px}
.lifestyle-heading .display{font-size:clamp(48px,5.7vw,84px)}
.lifestyle-heading .lead{max-width:370px;font-size:19px;margin-bottom:6px}

/* Less looking, more laughing: real moments at their own depths, each with the words that found it. */
.fun-grid{max-width:1320px;margin:70px auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.fun-tile{position:relative;margin:0;border-radius:20px;overflow:hidden;background:#cfd9cf;box-shadow:0 30px 70px #173c3626}
.fun-tile img,.fun-tile video{width:100%;height:100%;object-fit:cover;display:block}
.fun-rooftop{grid-column:1/9;aspect-ratio:16/9}
.fun-bus{grid-column:9/13;aspect-ratio:1300/1523;margin-top:90px}
.fun-sleepover{grid-column:1/5;aspect-ratio:3/4;margin-top:-30px}
.fun-festival{grid-column:5/13;aspect-ratio:3/2;margin-top:40px}
.fun-query{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;border-radius:14px;background:#f1f8eff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink);box-shadow:0 10px 30px #0e2d2926}
.fun-query>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fun-found{flex-shrink:0;padding:6px 10px;border-radius:8px;background:var(--orange);color:var(--forest);font-size:12px;font-weight:600}
.fun-badge{position:absolute;top:16px;right:16px;padding:6px 10px;border-radius:8px;background:#0e2d29cc;color:var(--ivory);font-size:12px}
.js-motion .fun-query{opacity:0;transform:translate3d(0,14px,0);transition:opacity .6s ease .25s,transform .8s cubic-bezier(.16,.8,.3,1) .25s}
.js-motion .fun-tile.revealed .fun-query{opacity:1;transform:none}

/* Privacy and technology extras */
.privacy-statement{max-width:1320px;margin:0 auto;padding:40px var(--gutter) 70px;font-size:clamp(28px,3.6vw,56px);font-weight:500;letter-spacing:-.05em;line-height:1.1}
.privacy-statement em{color:#698b72}
.technology-heading{max-width:1100px;margin:0 auto}

/* Questions, download, footer */
.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding-top:100px;padding-bottom:110px;background:#f7f9f7}
.questions-heading{max-width:400px}
.questions-heading .eyebrow{color:var(--muted);margin-bottom:20px}
.questions-heading h2{font-size:clamp(36px,4vw,60px);letter-spacing:-.055em;font-weight:550;line-height:1.08}
.questions-heading>p:last-child{font-size:17px;color:var(--muted);margin-top:20px}
.faq-list{width:100%;max-width:720px}
details{border-bottom:1px solid var(--line)}
details:first-child{border-top:1px solid var(--line)}
summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:16px;font-weight:500;line-height:1.5;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary>span{font-size:24px;font-weight:400;transition:transform .25s}
details[open] summary>span{transform:rotate(45deg)}
details>p{padding:0 32px 27px 0;max-width:600px;font-size:15px;line-height:1.7;color:var(--muted)}
.download{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px var(--gutter);background:var(--forest);color:var(--ivory);position:relative;isolation:isolate;overflow:hidden;text-align:center}
.download::after{content:'';position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 50% 50%,#0e2d29ec 0%,#0e2d29bd 30%,#0e2d2945 72%),linear-gradient(0deg,#0e2d29 0%,#0e2d2920 35%,#0e2d2920 70%,#0e2d29 100%)}
.download-beacon{width:clamp(110px,10vw,150px);height:auto;margin:0 auto 40px}
.download .eyebrow{color:#c7dbc8;margin-bottom:23px}
.download .display{font-size:clamp(55px,7.5vw,112px)}
.download .display em{color:var(--orange)}
.download .lead{margin:28px auto 0;color:#d9e7dc;font-size:18px}
.availability{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid #ccdfcc55;border-radius:9px;padding:19px 24px;margin-top:56px;font-size:15px;line-height:1.4;background:#173c3680}
.availability-dot{width:7px;height:7px;background:var(--orange);border-radius:50%;flex-shrink:0}
.release-note{font-size:12px;line-height:1.6;color:#bcd2bf;margin-top:18px}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:38px var(--gutter) 55px;background:var(--forest);color:var(--ivory);border-top:1px solid #a3bca530}
.site-footer .wordmark{font-size:28px}
.site-footer>div{display:flex;gap:23px;font-size:12px;color:#c6dac9}
.site-footer>.footer-made{font-size:15px;color:#d9e7dc;letter-spacing:-.01em}
.independent-note{display:block;font-size:10px;line-height:1.7;color:#9db6a2;max-width:300px;margin-top:7px}

/* Motion control and dialog */
.motion-toggle{position:fixed;z-index:95;right:25px;bottom:20px;border:1px solid #b7cdbb55;background:#0e2d29ed;color:var(--ivory);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:11px 15px;border-radius:30px;display:flex;align-items:center;gap:9px;font-size:11px;min-height:44px;box-shadow:0 5px 25px #173c361a}
.motion-toggle>span:first-child{font-size:13px;line-height:1}
.screenshot-dialog,.privacy-dialog{border:1px solid #bdd0be;background:#f7f9f7;border-radius:16px;width:min(850px,calc(100% - 30px));max-height:calc(100svh - 36px);padding:0;color:var(--ink);box-shadow:0 30px 150px #061d19a6;overflow:auto}
.screenshot-dialog:focus,.privacy-dialog:focus{outline:none}
.screenshot-dialog::backdrop,.privacy-dialog::backdrop{background:#061e19d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dialog-toolbar{position:sticky;z-index:2;top:0;background:#f7f9f7f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dialog-toolbar p{font-size:13px;line-height:1.5;max-width:570px}
.dialog-toolbar button{min-height:44px;border:1px solid var(--line);border-radius:7px;background:#e8eee9;color:var(--ink);padding:10px 15px;font-size:13px;display:flex;align-items:center;gap:12px}
.dialog-image{padding:20px;display:flex;justify-content:center}
.dialog-image img{width:min(100%,480px);height:auto;align-self:flex-start;border-radius:20px}
body.dialog-open{overflow:hidden}
.privacy-dialog{width:min(760px,calc(100% - 30px))}
.privacy-body{padding:36px 44px 48px}
.privacy-body .eyebrow{color:var(--muted)}
.privacy-body h2{font-size:clamp(32px,3.6vw,46px);letter-spacing:-.05em;font-weight:550;line-height:1.08;margin-top:14px}
.privacy-lead{font-size:17px;line-height:1.6;margin-top:18px}
.privacy-body h3{font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.4;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.privacy-body h3~p,.privacy-body li{font-size:15px;line-height:1.7;color:var(--muted)}
.privacy-body h3+p,.privacy-body h3+ul,.privacy-body p+p,.privacy-body p+ul,.privacy-body ul+p{margin-top:10px}
.privacy-body ul{margin-bottom:0;padding-left:20px}
.privacy-body li+li{margin-top:8px}
.privacy-body strong{color:var(--ink);font-weight:600}
.privacy-body a,details>p a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* Parallax and reveal */
[data-parallax]{transform:translate3d(0,var(--parallax-y,0px),0) rotate(var(--rotation,0deg));will-change:transform}
.js-motion [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,.8,.3,1)}
.js-motion [data-reveal].revealed{opacity:1;transform:translateY(0)}
.js-motion [data-parallax][data-reveal].revealed{transform:translate3d(0,var(--parallax-y,0px),0)}
.wall-paused .wall-strip{animation-play-state:paused}
body.motion-off .wall-strip,body.motion-off .beacon *,body.motion-off .intro-wordmark *{animation-play-state:paused!important}
body.motion-off [data-parallax]{transform:rotate(var(--rotation,0deg))!important}
body.motion-off .scene-depth>*{transform:rotate(var(--tilt,0deg))}
body.motion-off .memory-wall{transform:rotate(-12deg) scale(1.04)}
body.motion-off .wall-column{transform:none}
body.motion-off .beat,body.motion-off .scene-film{transition:none}
.motion-off [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
@keyframes memories-up{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 10px))}}
@keyframes memories-down{from{transform:translateY(calc(-50% - 10px))}to{transform:translateY(0)}}

/* Responsive */
@media(min-width:1700px){.chapter:not(:has(.scene)){padding-left:max(var(--gutter),calc((100vw - 1480px)/2));padding-right:max(var(--gutter),calc((100vw - 1480px)/2))}}
@media(max-width:1100px){.questions{gap:40px}.chapter-heading .lead,.closer-heading .lead{max-width:300px}}
@media(min-width:901px) and (max-height:820px){.hero-inner{padding-top:56px;padding-bottom:70px}.logo-theater{height:112px;margin-bottom:14px}.intro-wordmark{font-size:80px}h1{font-size:clamp(56px,6.4vw,92px)}.hero-description{font-size:17px;margin-top:18px}.hero-actions{margin-top:22px}.hero-trust{margin-top:16px}.hero-model{margin-top:8px}.beat h3{font-size:clamp(30px,3vw,46px)}.beat p{font-size:16px;margin-top:14px}.scene-progress{margin-top:24px}.scene-note{margin-top:14px}.js-scroll .scene-stage{padding-top:32px}}
@media(max-width:900px){
  :root{--gutter:28px}
  .hero-inner{padding-top:80px}.logo-theater{height:115px}.intro-wordmark{font-size:82px}h1{font-size:76px}.hero-description{font-size:18px;max-width:500px}
  .chapter-heading,.closer-heading,.lifestyle-heading{gap:35px}
  .scene-stage{grid-template-columns:1fr;align-content:start;gap:22px;padding:40px var(--gutter) 70px}
  .js-scroll .scene-stage{padding-top:36px;padding-bottom:16px;grid-template-rows:auto minmax(0,1fr)}
  .scene-copy{max-width:600px}
  .scene-film{width:min(100%,calc(100svh - 330px));min-width:250px;align-self:center}
  .orbit{left:5%;right:-40%}.orbit-two{left:15%;right:-30%}
  .questions{grid-template-columns:1fr;gap:35px}.questions-heading{max-width:none}.faq-list{max-width:none}
  .download .display{font-size:80px}.site-footer{padding-bottom:75px}
  .lifestyle-heading .display{font-size:58px}.lifestyle-heading .lead{font-size:17px;max-width:280px}
  .closer-rail{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;transform:none;padding-bottom:40px;scrollbar-width:none}
  .closer-rail::-webkit-scrollbar{display:none}
  .closer-rail figure{scroll-snap-align:center;width:min(62vw,260px)}
  .closer-rail figure:nth-child(even){margin-top:40px}
}
@media(max-width:900px){.fun-grid{gap:16px}.fun-query{font-size:13px;padding:10px 10px 10px 12px;left:10px;right:10px;bottom:10px}}
@media(max-width:590px){.fun-grid{display:flex;flex-direction:column;margin-top:40px}.fun-tile{width:100%;margin:0!important}.fun-bus,.fun-sleepover{width:86%}.fun-sleepover{align-self:flex-end}.fun-found{display:none}}
@media(max-width:590px){
  :root{--gutter:22px}
  .hero-stage{min-height:max(780px,100svh)}
  .hero-inner{padding:48px 22px 96px}
  .memory-wall{inset:-90px -170px -180px}.wall-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.wall-column:nth-child(n+4){display:none}.wall-strip{gap:15px}.wall-tile{border-radius:14px}
  .hero-shade{background:radial-gradient(ellipse at 50% 40%,#0e2d29e3 0%,#0e2d29a6 44%,#0e2d2945 90%),linear-gradient(0deg,#0e2d29,#0e2d2900 48%,#0e2d2980)}
  .logo-theater{height:92px;margin-bottom:20px}.intro-wordmark{font-size:62px}
  .hero-eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:18px}
  h1{font-size:clamp(50px,12vw,70px);line-height:1.02}
  .hero-description{max-width:340px;font-size:16px;margin-top:20px}
  .hero-actions{gap:14px;margin-top:24px;flex-direction:column}
  .button{min-height:52px;font-size:13px;padding:15px 20px}
  .hero-actions .text-link{font-size:12px;min-height:35px}
  .hero-trust{max-width:310px;margin:18px auto 0;font-size:10px;gap:4px 8px}.tiny-lock{display:none}
  .hero-bottom{bottom:22px;left:22px;right:22px;font-size:8px;letter-spacing:.09em}.hero-arrow{width:40px;height:40px}
  .js-scroll .hero-turn{font-size:clamp(40px,11vw,58px)}
  .chapter{padding:30px var(--gutter) 65px}.chapter:has(.scene){padding:0}
  .display{font-size:46px;letter-spacing:-.055em}.lead{font-size:17px;line-height:1.6}
  .closer-heading,.lifestyle-heading{display:block;margin-top:44px}
  .scene-intro .display{font-size:clamp(32px,calc(11.6vw - 5px),64px)}
  .chapter-heading .lead,.closer-heading .lead,.lifestyle-heading .lead{max-width:340px;margin-top:20px}
  .scene-label{font-size:9px}
  .beats{margin-top:12px}
  .beat h3{font-size:clamp(26px,7.4vw,32px);letter-spacing:-.045em}
  .beat p{font-size:15px;line-height:1.55;margin-top:10px}
  .scene-progress{margin-top:14px}
  .js-scroll .scene-stage{padding-top:32px;gap:14px}
  .scene-film{width:min(100%,calc(100svh - 280px));min-width:240px}
    .bokeh{display:none}.timecode{font-size:120px}
  .privacy-statement{padding:30px var(--gutter) 50px;font-size:30px;line-height:1.2}
  .questions{padding-top:60px;padding-bottom:65px;gap:25px}.questions-heading h2{font-size:44px}.questions-heading>p:last-child{font-size:16px}
  summary{font-size:15px;gap:18px;padding:22px 0}details>p{padding:0 8px 24px 0;font-size:14px;line-height:1.7}
  .download{padding:75px 22px 80px}.download-beacon{width:96px;margin-bottom:30px}.download .display{font-size:clamp(48px,10.5vw,64px)}.download .eyebrow{font-size:10px;margin-bottom:20px}.download .lead{font-size:16px;margin-top:24px}
  .availability{padding:17px;font-size:12px;margin-top:40px;gap:10px}.release-note{font-size:10px;max-width:260px;margin:17px auto 0}
  .site-footer{display:grid;grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:14px 15px;padding:30px 22px 85px}.site-footer .wordmark{font-size:27px}.site-footer>.footer-made{grid-row:2;grid-column:1/-1;font-size:14px;white-space:nowrap}.site-footer>div{font-size:11px;gap:15px}
  .independent-note{max-width:180px;font-size:9px}
  .motion-toggle{right:14px;bottom:14px;font-size:10px;min-height:42px;padding:10px 13px}
  .lifestyle{padding-bottom:60px}.lifestyle-heading .display{font-size:52px}
  .dialog-toolbar{padding:12px;gap:14px}.dialog-toolbar p{font-size:11px}.dialog-toolbar button{font-size:11px;padding:9px 11px;gap:8px}.dialog-image{padding:10px}
  .privacy-body{padding:26px 20px 36px}.privacy-body h2{font-size:34px}.privacy-lead{font-size:16px}.privacy-body h3{font-size:16px;margin-top:26px;padding-top:20px}.privacy-body h3~p,.privacy-body li{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.wall-strip{animation:none!important;transform:none!important}[data-parallax],.scene-depth>*,.closer-rail{transform:rotate(var(--rotation,var(--tilt,0deg)))!important;will-change:auto}[data-reveal]{opacity:1!important;transform:none!important}.intro-that,.intro-ne{visibility:hidden}.intro-o{transform:translateX(-.24em) scale(1.85)}.screen-button:hover{transform:none}.memory-wall{transform:rotate(-12deg) scale(1.04)}.wall-column{transform:none}}
