@font-face{font-family:PurposeTypewriter;src:url('/cinematic/courier-prime.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--gold:#c6a35b;--bone:#eee5d3;--red:#ba202b;--opening:0;--page-progress:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;background:#000}body{margin:0;background:#000;color:var(--bone);font:16px/1.7 PurposeTypewriter,'Courier New',monospace}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}figure,p,h1,h2{margin:0}h1,h2{font-weight:400}button{cursor:pointer}main{overflow:clip}.purpose-skip{position:fixed;top:10px;left:12px;z-index:100;background:var(--gold);color:#000;padding:12px;transform:translateY(-160%)}.purpose-skip:focus{transform:none}.purpose-header{position:fixed;inset:0 0 auto;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:linear-gradient(#000 45%,#000b 80%,transparent)}.purpose-header img{display:block;width:80px;height:64px;object-fit:contain}.purpose-back{padding:12px 0;font-size:12px;color:var(--gold)}.purpose-back:hover{color:var(--bone)}.purpose-kicker{font-size:11px;letter-spacing:.2em;color:var(--gold);margin-bottom:30px}.purpose-opening{height:170svh;min-height:1000px;position:relative}.purpose-stage{height:100svh;min-height:620px;position:sticky;top:0;display:flex;align-items:center;padding:100px 6vw 90px;isolation:isolate}.purpose-intro{position:relative;z-index:3;width:54%;perspective:1400px}.purpose-intro h1{font-size:clamp(46px,5.8vw,94px);line-height:1.08;letter-spacing:-.055em}.purpose-intro h1>span{display:block;transform-origin:0 50%;will-change:transform,opacity}.purpose-intro h1>span:nth-child(2){color:var(--gold)}.purpose-intro h1>span:last-child{color:var(--red)}.purpose-companions{position:absolute;right:0;bottom:55px;width:61vw;height:calc(100svh - 140px);min-height:440px;z-index:1;transform-origin:60% 68%;will-change:transform}.purpose-companions img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);animation:purpose-arrival 2.4s ease both}.purpose-companions:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,transparent 22%);pointer-events:none}.purpose-scroll{position:absolute;bottom:57px;left:5vw;right:5vw;text-align:center;color:var(--gold);font-size:11px;z-index:4}.purpose-message{padding:110px 6vw 170px;text-align:center;max-width:1200px;margin:auto;perspective:1400px;scroll-margin-top:40px}.purpose-message:focus{outline:none}.purpose-promise{font-size:clamp(28px,4.4vw,62px);line-height:1.3;letter-spacing:-.04em}.purpose-promise>span,.purpose-promise>em{display:block}.purpose-promise em{font-style:normal;color:var(--gold)}.purpose-story{padding:40px 6vw 120px;max-width:1440px;margin:auto}.purpose-story-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 8vw;align-items:center;margin-bottom:90px}.purpose-story-copy>.purpose-kicker{grid-column:1/-1}.purpose-story h2{font-size:clamp(32px,4.2vw,60px);line-height:1.2;letter-spacing:-.045em}.purpose-story-copy>p:last-child{font-size:16px;line-height:1.85;max-width:540px;color:#bdb6a9}.purpose-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px;perspective:1400px}.purpose-portrait{position:relative;display:block;transform-origin:50% 85%;will-change:transform,opacity}.purpose-portrait figure{height:370px;overflow:hidden;background:#090909;margin-bottom:24px;transition:box-shadow .7s ease}.purpose-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .7s ease,filter .7s ease;display:block}.purpose-portrait:nth-child(2) figure{margin-top:75px}.purpose-portrait:nth-child(3) figure{margin-top:35px}.purpose-portrait:is(:hover,:focus-visible) img{transform:scale(1.035);filter:brightness(1.2) contrast(1.04)}.purpose-portrait:is(:hover,:focus-visible) figure{box-shadow:0 0 40px 6px #c6a35b38}.purpose-person{display:block;padding-right:25px}.purpose-person strong{display:block;font-size:23px;font-weight:400;color:var(--gold);margin-bottom:8px}.purpose-person>span{font-size:12px;color:#bdb6a9;line-height:1.7;display:block}.purpose-arrow{position:absolute;bottom:0;right:0;color:var(--gold);font-size:23px}.purpose-gift{text-align:center;padding:70px 6vw 130px;max-width:1200px;margin:auto;perspective:1400px}.purpose-intention{font-size:clamp(25px,3.3vw,46px);line-height:1.35;max-width:960px;margin:auto;letter-spacing:-.035em}.purpose-love{font-size:clamp(38px,7vw,92px);line-height:1.08;letter-spacing:-.06em;margin:120px 0 70px}.purpose-love span{color:var(--red)}.purpose-gift nav{display:flex;gap:25px 60px;justify-content:center;flex-wrap:wrap;color:var(--gold);font-size:12px}.purpose-gift nav a{padding:12px 0}.purpose-gift nav a:hover{color:var(--bone)}[data-purpose-reveal]{will-change:transform,opacity;transform-origin:50% 60%}.purpose-controls{position:fixed;bottom:0;left:0;right:0;height:36px;z-index:40;background:#000e;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.purpose-controls button{border:0;background:none;color:var(--gold);font:10px/1.4 PurposeTypewriter,'Courier New',monospace;min-height:34px;padding:4px 0}.purpose-controls button span[aria-hidden]{margin-right:6px}.purpose-controls #sound:before{content:'▷';margin-right:6px}.purpose-controls #sound.sound-playing:before{content:'Ⅱ'}.purpose-progress{position:absolute;top:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(var(--page-progress));transform-origin:left}
@keyframes purpose-arrival{from{opacity:0;filter:brightness(.5);transform:translateY(20px)}to{opacity:1;filter:brightness(1);transform:translateY(0)}}
@media(min-width:1600px){.purpose-stage{padding-left:max(6vw,calc((100vw - 1500px)/2))}.purpose-companions{right:max(0px,calc((100vw - 1800px)/2));width:1000px}}
@media(max-width:850px){.purpose-portraits{gap:25px}.purpose-portrait figure{height:280px}.purpose-person strong{font-size:20px}.purpose-story-copy{gap:24px 5vw}.purpose-story-copy>p:last-child{font-size:14px}.purpose-companions{width:67vw;right:-8vw}.purpose-intro h1{font-size:6.3vw}.purpose-header{padding-inline:6vw}}
@media(max-width:600px){html{scroll-padding-top:90px}.purpose-header{padding:10px 6vw}.purpose-header img{width:62px;height:50px}.purpose-back{font-size:11px}.purpose-opening{height:160svh;min-height:1000px}.purpose-stage{height:100svh;min-height:620px;padding:112px 7vw 75px;align-items:flex-start}.purpose-intro{width:100%}.purpose-intro h1{font-size:clamp(35px,9.6vw,55px);line-height:1.08}.purpose-kicker{font-size:10px;margin-bottom:18px}.purpose-companions{height:57svh;min-height:320px;width:108vw;right:-7vw;bottom:60px;transform-origin:52% 75%}.purpose-companions:after{background:linear-gradient(to bottom,#000 0%,transparent 17%)}.purpose-companions img{object-position:center bottom}.purpose-scroll{font-size:10px;bottom:49px}.purpose-message{padding:75px 7vw 100px}.purpose-promise{font-size:clamp(25px,6.8vw,38px);line-height:1.4}.purpose-story{padding:20px 7vw 75px}.purpose-story-copy{display:block;margin-bottom:50px}.purpose-story h2{font-size:34px;margin-bottom:28px}.purpose-story-copy>p:last-child{font-size:14px}.purpose-portraits{display:block}.purpose-portrait{max-width:330px;margin:0 auto 55px}.purpose-portrait:nth-child(2){margin-right:0}.purpose-portrait:nth-child(3){margin-left:0}.purpose-portrait figure{height:340px;margin-top:0!important;margin-bottom:18px}.purpose-person strong{font-size:23px}.purpose-gift{padding:20px 7vw 100px}.purpose-intention{font-size:27px}.purpose-love{font-size:clamp(35px,10vw,52px);margin:80px 0 45px}.purpose-gift nav{gap:15px 30px;font-size:11px}.purpose-controls{height:34px;padding:0 14px}}
@media(max-width:380px){.purpose-stage{padding-top:105px}.purpose-companions{height:52svh;min-height:300px;bottom:68px}.purpose-portrait figure{height:300px}}
@media(max-width:600px){.purpose-companions{width:100%;right:0;bottom:75px}}
.motion-paused .purpose-companions img{animation:none}.motion-paused [data-purpose-reveal],.motion-paused [data-purpose-card],.motion-paused .purpose-intro h1>span{transform:none!important;opacity:1!important}.motion-paused .purpose-companions{transform:none!important}.motion-paused .purpose-scroll{opacity:1!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.purpose-companions img{animation:none}.purpose-portrait img,.purpose-portrait figure{transition:none}}
