html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--ink:#0d0a0b;--ink-2:#16110f;--ink-3:#221a17;--ivory:#f2ebe2;--ivory-dim:#f2ebe29e;--ivory-faint:#f2ebe224;--rose:#d8a7a0;--rose-deep:#a65e5a;--gold:#c8a674;--gold-soft:#c8a67459;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Manrope", system-ui, sans-serif;--script:"Pinyon Script", cursive;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(16px, 5vw, 72px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.6;overflow-x:clip}img,video{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}::selection{background:var(--rose);color:var(--ink)}svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.grain{z-index:100;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.2s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.progress{z-index:90;transform-origin:0;background:linear-gradient(90deg, var(--rose-deep), var(--rose), var(--gold));height:2px;position:fixed;top:0;left:0;right:0}.lock{background:radial-gradient(ellipse at 50% 40%, #241815 0%, var(--ink) 70%);grid-template-rows:1fr auto auto 1fr;place-items:center;gap:28px;padding:24px 16px;display:grid;position:fixed;inset:0;overflow:hidden}.lock-aura{pointer-events:none;position:absolute;inset:0}.lock-aura span{filter:blur(80px);opacity:.5;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.lock-aura span:first-child{background:radial-gradient(circle,#a65e5a8c,#0000 65%);width:55vmax;height:55vmax;top:-15vmax;left:-20vmax}.lock-aura span:nth-child(2){background:radial-gradient(circle,#c8a67459,#0000 65%);width:45vmax;height:45vmax;animation-duration:22s;animation-delay:-6s;bottom:-15vmax;right:-15vmax}.lock-aura span:nth-child(3){background:radial-gradient(circle,#d8a7a04d,#0000 65%);width:30vmax;height:30vmax;animation-duration:26s;top:55%;left:40%}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(6vmax,-4vmax)scale(1.15)}}.lock-eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--ivory-dim);grid-row:2;margin:0;font-size:11px;position:relative}.seal{aspect-ratio:1;border-radius:50%;grid-row:3;place-items:center;width:min(62vw,260px);display:grid;position:relative}.seal-ring{stroke:none;width:100%;height:100%;fill:var(--gold);font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;font-size:9.5px;font-weight:500;animation:40s linear infinite spin;position:absolute;inset:0}.seal.is-success .seal-ring{animation-duration:3s}@keyframes spin{to{transform:rotate(360deg)}}.seal-core{aspect-ratio:1;width:64%;transition:box-shadow 1s var(--ease);background:radial-gradient(circle at 35% 30%,#ffffff38,#0000 45%),radial-gradient(circle at 50% 55%,#b2615b 0%,#7c3532 55%,#4e1f1d 100%);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 -8px 18px #00000073,inset 0 6px 14px #ffd2c82e,0 20px 60px #7c353273,0 0 0 1px #c8a67440}.seal-core:before{content:"";border:1px dashed #f2c8b459;border-radius:50%;position:absolute;inset:9%}.seal:hover .seal-core,.seal.is-success .seal-core{box-shadow:inset 0 -8px 18px #00000073,inset 0 6px 14px #ffd2c82e,0 20px 90px #d8a7a08c,0 0 0 1px #c8a67466}.seal-mono{font-family:var(--script);color:#f4d8cd;text-shadow:0 2px #00000059,0 -1px #ffffff26;font-size:clamp(64px,18vw,92px);line-height:1;transform:translateY(6%)}.lock-stage{grid-row:4;align-self:start;justify-items:center;width:min(100%,360px);min-height:120px;display:grid}.lock-hint{font-family:var(--serif);color:var(--ivory-dim);margin:0;font-size:20px;font-style:italic;animation:3.2s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}.passbox{gap:12px;width:100%;display:grid}.passbox-field{border:1px solid var(--ivory-faint);-webkit-backdrop-filter:blur(14px);transition:border-color .4s var(--ease), background .4s var(--ease);background:#f2ebe20f;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 22px;display:flex}.passbox-field:focus-within{border-color:var(--gold-soft);background:#f2ebe217}.passbox-field.is-error{border-color:#d8786e99}.passbox-field input{min-width:0;height:44px;color:var(--ivory);font-family:var(--serif);letter-spacing:.25em;text-align:center;background:0 0;border:0;outline:0;flex:1;font-size:22px}.passbox-field input::placeholder{letter-spacing:.12em;color:#f2ebe259;font-style:italic}.passbox-go{background:var(--ivory);width:44px;height:44px;color:var(--ink);transition:transform .4s var(--ease), background .4s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.passbox-go:hover{background:var(--rose);transform:translate(2px)}.passbox-go svg{stroke-width:1.8px;width:18px;height:18px}.passbox-msg{text-align:center;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory-dim);margin:0;font-size:12px;transition:color .3s}.passbox-msg.is-error{color:#e39b92}.passbox-msg.is-success{color:var(--gold);font-family:var(--serif);letter-spacing:.04em;text-transform:none;font-size:20px;font-style:italic}.chapter{padding:clamp(96px, 16vh, 180px) var(--gutter);position:relative}.chapter-head{gap:18px;max-width:760px;margin:0 auto clamp(48px,8vh,88px);display:grid}.chapter-head.align-center{text-align:center;justify-items:center}.chapter-head.align-left{margin-left:0}.chapter-numeral{letter-spacing:.42em;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:500}.chapter-title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(48px,9vw,112px);font-weight:300;line-height:.95}.word-mask{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.word{display:inline-block}.chapter-head.align-center .word-mask:nth-child(2n) .word{font-style:italic}.chapter-intro{max-width:46ch;color:var(--ivory-dim);margin:0;font-size:clamp(15px,1.4vw,17px)}.text-button{letter-spacing:.32em;text-transform:uppercase;color:var(--ivory-dim);background:linear-gradient(var(--gold), var(--gold)) 0 100% / 100% 1px no-repeat;transition:color .4s var(--ease), background-size .6s var(--ease);margin:48px auto 0;padding:0 0 6px;font-size:11px;font-weight:500;display:inline-block}.text-button:hover{color:var(--ivory);background-size:40% 1px}.hero{min-height:100svh;padding:96px var(--gutter) 120px;text-align:center;background:radial-gradient(ellipse at 50% 0%, #2a1c18 0%, var(--ink) 65%);align-content:center;justify-items:center;gap:clamp(20px,4vh,40px);display:grid;position:relative}.hero-eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--ivory-dim);margin:0;font-size:11px}.hero-name{width:100%;font-family:var(--serif);letter-spacing:-.03em;justify-items:center;margin:0;font-weight:300;line-height:.85;display:grid}.hero-first{justify-self:start;margin-left:4vw;font-size:clamp(84px,min(16vw,24svh),220px);font-style:italic}.hero-last{justify-self:end;margin-right:4vw;font-size:clamp(60px,min(11.5vw,17svh),160px)}.hero-letters{display:inline-flex}.letter-mask{margin-bottom:-.12em;padding:0 .02em .12em;display:inline-block;overflow:hidden}.letter-mask>span{transform-origin:0 100%;display:inline-block}.hero-band{aspect-ratio:350/115;cursor:zoom-in;border-radius:999px;width:min(100%,640px,188.696svh);margin:clamp(10px,2vw,24px) 0;display:block;overflow:hidden;box-shadow:0 30px 80px #00000080}.hero-band img{object-fit:cover;filter:contrast(1.08);width:100%;height:100%}.hero-line{font-family:var(--serif);color:var(--rose);margin:0;font-size:clamp(20px,2.4vw,28px);font-style:italic}.scroll-cue{letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-dim);justify-items:center;gap:10px;font-size:10px;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-cue i{background:linear-gradient(var(--ivory-dim), transparent);transform-origin:top;width:1px;height:48px;animation:cue 2.2s var(--ease) infinite}@keyframes cue{0%{opacity:1;transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.filmstrip{position:relative}.filmstrip-sticky{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.filmstrip-track{padding-left:var(--gutter);will-change:transform;align-items:center;gap:clamp(20px,4vw,56px);display:flex}.filmstrip-intro{flex:none;gap:18px;width:min(78vw,440px);padding-right:clamp(0px,4vw,48px);display:grid}.filmstrip-hint{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);align-items:center;gap:12px;margin-top:12px;font-size:11px;display:inline-flex}.filmstrip-hint i{background:var(--gold);transform-origin:0;width:56px;height:1px;animation:hint 2s var(--ease) infinite}@keyframes hint{0%{transform:scaleX(0)}70%,to{opacity:0;transform:scaleX(1)}}.film-frame{cursor:zoom-in;flex:none;width:clamp(220px,28vw,360px);margin:0}.film-frame.is-low{margin-top:clamp(40px,10vh,120px)}.film-img{aspect-ratio:3/4.4;background:var(--ink-3);border-radius:4px;overflow:hidden}.film-img img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease), filter 1.4s var(--ease);filter:saturate(.85)}.film-frame:hover .film-img img{filter:saturate(1.05);transform:scale(1.06)}.film-frame figcaption{grid-template-columns:auto 1fr;column-gap:14px;padding-top:16px;display:grid}.film-index{letter-spacing:.2em;color:var(--gold);grid-row:span 2;padding-top:8px;font-size:11px}.film-caption{font-family:var(--serif);font-size:28px;font-style:italic;line-height:1.1}.film-note{color:var(--ivory-dim);font-size:13px}.filmstrip-end{width:var(--gutter);flex:none;height:1px}.filmstrip-bar{left:var(--gutter);right:var(--gutter);background:var(--ivory-faint);height:1px;position:absolute;bottom:clamp(24px,6vh,48px)}.filmstrip-bar span{background:var(--gold);transform-origin:0;height:100%;display:block}.bloom-frame{aspect-ratio:9/16;cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:240px 240px 6px 6px;width:min(100%,460px,43.875svh);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 40px 100px #0000008c}.bloom-frame img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bloom-label{z-index:2;letter-spacing:.3em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);background:#0d0a0b73;border-radius:999px;padding:6px 14px;font-size:10px;font-weight:500;position:absolute;bottom:22px}.bloom-label.left{left:18px}.bloom-label.right{right:18px}.bloom-handle{z-index:3;background:#f2ebe2e6;outline:none;width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.bloom-knob{width:52px;height:52px;color:var(--ink);transition:transform .4s var(--ease);background:#f2ebe2eb;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #00000059}.bloom-handle:focus-visible .bloom-knob{box-shadow:0 0 0 3px var(--gold)}.bloom-frame:active .bloom-knob{transform:translate(-50%,-50%)scale(.9)}.bloom-knob svg{width:22px;height:22px}.video-chapter{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,8vw,120px);max-width:1280px;margin:0 auto;display:grid;overflow-x:clip}.video-chapter.is-reverse .video-copy{order:2}.video-chapter .chapter-head{margin-bottom:0}.video-frame{aspect-ratio:9/16;justify-self:center;width:min(100%,420px,42.75svh);position:relative}.video-mask{background:var(--ink-3);position:absolute;inset:0;overflow:hidden;box-shadow:0 40px 100px #0000008c}.shape-arch .video-mask{border-radius:999px 999px 8px 8px}.shape-oval .video-mask{border-radius:50%}.video-mask video{object-fit:cover;width:100%;height:100%}.video-orbit{border:1px solid var(--gold-soft);pointer-events:none;position:absolute;inset:-18px}.shape-arch .video-orbit{border-radius:999px 999px 18px 18px}.shape-oval .video-orbit{border-style:dashed;border-radius:50%}.video-sound{z-index:2;letter-spacing:.3em;text-transform:uppercase;background:var(--ivory);color:var(--ink);transition:background .4s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:10px;font-weight:500;display:inline-flex;position:absolute;bottom:-22px;right:50%;transform:translate(50%);box-shadow:0 10px 30px #0006}.video-sound:hover{background:var(--rose)}.video-sound svg{width:16px;height:16px}.feature{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(32px,7vw,120px);max-width:1280px;margin:0 auto;display:grid;overflow:hidden}.feature.side-right{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.feature.side-right .feature-img{order:2}.feature-ghost{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px #c8a6742e;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(160px,30vw,420px);font-style:italic;line-height:1;position:absolute;top:10%;right:2%}.feature.side-right .feature-ghost{left:2%;right:auto}.feature-img{aspect-ratio:9/16;cursor:zoom-in;border-radius:4px;max-height:86svh;margin:0;position:relative;overflow:hidden;box-shadow:0 40px 100px #00000080}.feature-img img{object-fit:cover;width:100%;height:100%}.feature-copy{gap:22px;display:grid;position:relative}.feature-title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(52px,8vw,112px);font-weight:300;line-height:.95}.feature-quote{max-width:22ch;font-family:var(--serif);color:var(--rose);margin:0;font-size:clamp(24px,3vw,40px);font-style:italic;line-height:1.25}.feature-quote:before{content:"";background:var(--gold);width:48px;height:1px;margin-bottom:22px;display:block}.fullbleed{height:260svh;position:relative}.fullbleed-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.fullbleed-bg{object-fit:cover;filter:blur(48px)brightness(.42)saturate(1.25);width:120%;max-width:none;height:120%;position:absolute;inset:-10%}.fullbleed-window{cursor:zoom-in;will-change:clip-path;width:min(100%,57.2709svh);position:absolute;top:0;bottom:0;left:50%;overflow:hidden;translate:-50%;box-shadow:0 0 120px #00000080}.fullbleed-window img{object-fit:cover;width:100%;height:100%}.fullbleed-shade{pointer-events:none;background:linear-gradient(#0000 50%,#0d0a0bb3 100%);position:absolute;inset:0}.fullbleed-copy{left:var(--gutter);right:var(--gutter);pointer-events:none;text-shadow:0 2px 30px #0006;gap:14px;display:grid;position:absolute;bottom:clamp(40px,10vh,96px)}.fullbleed-title{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(64px,9vw,140px);font-style:italic;font-weight:300;line-height:.9}.fullbleed-quote{max-width:30ch;font-family:var(--serif);margin:0;font-size:clamp(20px,2.4vw,30px);line-height:1.3}.stack-chapter{text-align:center;overflow:hidden}.stack{aspect-ratio:.74;touch-action:pan-y;width:min(78vw,360px);margin:0 auto;position:relative}.polaroid{color:#3a2c27;cursor:grab;-webkit-user-select:none;user-select:none;background:#f5efe6;border-radius:3px;flex-direction:column;margin:0;padding:12px 12px 0;display:flex;position:absolute;inset:0;box-shadow:0 30px 60px #00000073,0 2px 6px #00000040}.polaroid:active{cursor:grabbing}.polaroid-img{background:#ddd3c6;flex:1;overflow:hidden}.polaroid-img img{object-fit:cover;pointer-events:none;width:100%;height:100%}.polaroid figcaption{font-family:var(--script);justify-content:space-between;align-items:baseline;padding:14px 4px 16px;font-size:30px;line-height:1;display:flex}.polaroid figcaption span:last-child{font-family:var(--sans);letter-spacing:.25em;color:#8b7a70;font-size:10px}.gallery{columns:3 280px;column-gap:clamp(12px,2vw,24px);max-width:1280px;margin:0 auto}.gallery-item{break-inside:avoid;cursor:zoom-in;background:var(--ink-3);border-radius:4px;margin:0 0 clamp(12px,2vw,24px);overflow:hidden}.gallery-item img{width:100%;height:auto;transition:transform 1.4s var(--ease), filter 1.4s var(--ease);filter:saturate(.9)}.gallery-item:hover img{filter:saturate(1.05);transform:scale(1.05)}.letter-chapter{background:radial-gradient(ellipse at 50% 50%, #2a1c18 0%, var(--ink) 70%);place-items:center;display:grid}.letter{color:#3a2c27;background:linear-gradient(#ffffff80,#0000 30%),#efe5d8;border-radius:2px;width:min(100%,640px);padding:clamp(40px,7vw,80px) clamp(24px,6vw,72px);position:relative;box-shadow:0 50px 120px #0009}.letter:after{content:"";pointer-events:none;border:1px solid #a65e5a40;position:absolute;inset:12px}.letter-stamp{width:64px;height:64px;font-family:var(--script);color:#f4d8cd;background:radial-gradient(circle at 50% 55%,#b2615b 0%,#7c3532 60%,#4e1f1d 100%);border-radius:50%;place-items:center;font-size:36px;display:grid;position:absolute;top:-30px;right:clamp(20px,6vw,56px);box-shadow:0 10px 24px #00000059,inset 0 -4px 8px #00000059}.letter-greeting{font-family:var(--script);color:var(--rose-deep);margin:0 0 28px;font-size:clamp(38px,6vw,52px);line-height:1.1}.letter-p{font-family:var(--serif);margin:0 0 20px;font-size:clamp(19px,2vw,22px);line-height:1.6}.letter-signoff{font-family:var(--serif);margin:36px 0 0;font-size:20px;font-style:italic}.letter-signature{font-family:var(--script);color:var(--rose-deep);margin:4px 0 0;font-size:clamp(44px,7vw,60px);line-height:1.1}.lightbox{z-index:80;-webkit-backdrop-filter:blur(12px);cursor:zoom-out;background:#080607f0;place-items:center;padding:64px 16px;display:grid;position:fixed;inset:0}.lightbox-img{object-fit:contain;cursor:grab;touch-action:pan-y;border-radius:3px;max-width:min(92vw,1100px);max-height:calc(100svh - 128px);box-shadow:0 40px 120px #000000b3}.lightbox-close,.lightbox-nav{border:1px solid var(--ivory-faint);background:#0d0a0b80;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .3s,border-color .3s;display:grid;position:absolute}.lightbox-close:hover,.lightbox-nav:hover{border-color:var(--gold-soft);background:#f2ebe21f}.lightbox-close svg,.lightbox-nav svg{width:20px;height:20px}.lightbox-close{top:16px;right:16px}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.lightbox-count{letter-spacing:.3em;color:var(--ivory-dim);margin:0;font-size:11px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.footer{padding:96px var(--gutter) 72px;text-align:center;border-top:1px solid var(--ivory-faint);justify-items:center;gap:10px;display:grid}.footer-name{font-family:var(--serif);margin:0;font-size:clamp(40px,7vw,72px);font-weight:300;line-height:1}.footer-name em{color:var(--rose)}.footer-note{color:var(--ivory-dim);margin:0;font-size:13px}.footer .text-button{margin-top:24px}@media (width<=820px){.film-frame{width:68vw}.gallery{columns:2}.video-chapter,.feature,.feature.side-right{grid-template-columns:1fr}.video-chapter.is-reverse .video-copy,.feature.side-right .feature-img{order:0}.video-copy .chapter-head{text-align:center;justify-items:center;margin:0 auto}.video-frame{width:min(100% - 48px,380px,40.5svh);margin-top:16px;margin-bottom:24px}.feature-img{justify-self:center;width:min(100%,440px);max-height:78svh}.feature-copy{text-align:center;justify-items:center}.feature-quote:before{margin-inline:auto}.feature-ghost{top:auto;bottom:4%}.hero-first,.hero-last{justify-self:center;margin:0}.lightbox-nav{top:auto;bottom:12px;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.no-scroll,html.no-scroll body{overflow:hidden}#fx-layer{z-index:300;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fx-particle,.fx-confetti{will-change:transform, opacity;display:block;position:absolute}.fx-particle svg{filter:drop-shadow(0 4px 12px #00000040);display:block}.magnetic{display:inline-block}.cursor-dot,.cursor-ring{z-index:400;pointer-events:none;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:var(--rose);mix-blend-mode:difference;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{mix-blend-mode:difference;width:36px;height:36px;transition:width .4s var(--ease), height .4s var(--ease), margin .4s var(--ease), background .4s var(--ease), border-color .4s;border:1px solid #f2ebe280;place-items:center;margin:-18px 0 0 -18px;display:grid}.cursor-ring span{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:0;white-space:nowrap;font-size:10px;font-weight:600;transition:opacity .3s}.cursor-ring.is-hover{width:56px;height:56px;margin:-28px 0 0 -28px}.cursor-ring.has-label{background:var(--ivory);mix-blend-mode:normal;border-color:#0000;width:92px;height:92px;margin:-46px 0 0 -46px}.cursor-ring.has-label span{opacity:1}.preloader{z-index:200;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.preloader-panel{background:#0b0809;height:50.5%;position:absolute;left:0;right:0}.preloader-panel.top{top:0}.preloader-panel.bottom{bottom:0}.preloader-content{text-align:center;justify-items:center;gap:22px;display:grid;position:relative}.preloader-frame{aspect-ratio:3/4;background:var(--ink-3);border-radius:999px 999px 4px 4px;width:clamp(150px,22vw,220px);position:relative;overflow:hidden}.preloader-frame img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.preloader-name{font-family:var(--serif);gap:.3em;margin:0;font-size:clamp(36px,6vw,64px);font-weight:300;line-height:1;display:flex}.preloader-name em{color:var(--rose)}.preloader-line{letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-dim);margin:0;font-size:10px}.preloader-count{right:var(--gutter);font-family:var(--serif);color:var(--ivory);font-variant-numeric:tabular-nums;font-size:clamp(64px,12vw,160px);font-weight:300;line-height:1;position:absolute;bottom:clamp(20px,5vh,48px)}.route-curtain{z-index:180;background:var(--ink);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.route-curtain.is-studio{background:#d4ff3c}.route-curtain span{font-family:var(--serif);color:var(--ivory);font-size:clamp(48px,9vw,120px);font-style:italic;font-weight:300}.route-curtain.is-studio span{font-family:"Syne", var(--sans);text-transform:uppercase;letter-spacing:-.03em;color:#141112;font-style:normal;font-weight:800}.nav{z-index:120;padding:max(14px, env(safe-area-inset-top)) var(--gutter) 14px;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}.nav>*{pointer-events:auto}.nav-mono{width:44px;height:44px;font-family:var(--script);color:#f4d8cd;transition:transform .5s var(--ease);background:radial-gradient(circle at 50% 55%,#b2615b 0%,#7c3532 60%,#4e1f1d 100%);border-radius:50%;flex:none;place-items:center;font-size:26px;display:grid;box-shadow:0 8px 24px #00000059}.nav-mono:hover{transform:rotate(-12deg)scale(1.06)}.nav-switch{border:1px solid var(--ivory-faint);-webkit-backdrop-filter:blur(14px);background:#0d0a0b8c;border-radius:999px;padding:4px;display:flex}.nav-switch a{letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-dim);white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:11px;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-switch a.is-active{color:var(--ink)}.nav-pill{background:var(--ivory);border-radius:999px;position:absolute;inset:0}.nav-label{position:relative}.nav-menu{border:1px solid var(--ivory-faint);-webkit-backdrop-filter:blur(14px);letter-spacing:.16em;text-transform:uppercase;background:#0d0a0b8c;border-radius:999px;align-items:center;gap:10px;height:44px;padding:0 16px;font-size:11px;font-weight:500;display:flex}.nav-menu-lines{gap:5px;width:18px;display:grid}.nav-menu-lines i{height:1px;transition:transform .5s var(--ease);background:currentColor;display:block}.nav-menu.is-open .nav-menu-lines i:first-child{transform:translateY(3px)rotate(45deg)}.nav-menu.is-open .nav-menu-lines i:last-child{transform:translateY(-3px)rotate(-45deg)}.menu{z-index:110;padding:96px var(--gutter) 40px;background:#0b0809;grid-template-columns:1fr minmax(0,1.2fr);align-items:center;gap:40px;display:grid;position:fixed;inset:0;overflow-y:auto}.menu-preview{aspect-ratio:3/4;background:var(--ink-3);border-radius:999px 999px 4px 4px;justify-self:center;height:min(64svh,560px);position:relative;overflow:hidden}.menu-preview img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.menu-list{margin:0;padding:0;list-style:none}.menu-list button{text-align:left;align-items:baseline;gap:18px;width:100%;padding:4px 0;display:flex}.menu-num{letter-spacing:.2em;width:28px;color:var(--gold);flex:none;font-size:11px}.menu-title{font-family:var(--serif);color:var(--ivory-dim);transition:color .4s, transform .5s var(--ease), font-style .2s;font-size:clamp(24px,min(4vw,5.4svh),52px);font-weight:300;line-height:1.1}.menu-list button:hover .menu-title,.menu-list button:focus-visible .menu-title{color:var(--ivory);font-style:italic;transform:translate(14px)}.menu-foot{right:var(--gutter);font-family:var(--serif);color:var(--ivory-dim);margin:0;font-style:italic;position:absolute;bottom:24px}.hero{perspective:1200px;overflow:hidden}.hero-band-wrap{width:min(100%,640px,188.696svh);transform-style:preserve-3d;display:block}.hero-band-wrap .hero-band{width:100%}.hero-glow span{left:calc(var(--i) * 7.3%);width:calc(4px + (var(--i) % 4) * 3px);aspect-ratio:1;background:var(--rose);opacity:0;filter:blur(1px);animation:float-up calc(9s + (var(--i) % 5) * 2s) linear infinite;animation-delay:calc(var(--i) * -1.3s);border-radius:50%;position:absolute;bottom:-20px}.hero-glow span:nth-child(3n){background:var(--gold)}@keyframes float-up{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:.7}90%{opacity:.4}to{opacity:0;transform:translateY(-105vh)translate(30px)}}.marquee{border-block:1px solid var(--ivory-faint);background:var(--ink-2);margin:40px 0;padding:26px 0;overflow:hidden;transform:rotate(-2deg)scale(1.04)}.marquee.is-reverse{background:var(--rose);color:var(--ink);border-color:#0000;transform:rotate(1.5deg)scale(1.04)}.marquee-track{will-change:transform;width:max-content;display:flex}.marquee-row{flex:none;display:flex}.marquee-item{font-family:var(--serif);white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:clamp(30px,5vw,64px);font-weight:300;line-height:1;display:inline-flex}.marquee-item .is-italic{color:var(--rose);font-style:italic}.marquee.is-reverse .marquee-item .is-italic{color:#4e1f1d}.marquee-item svg{width:.5em;height:.5em;fill:var(--gold);stroke:none}.marquee.is-reverse .marquee-item svg{fill:var(--ink)}.envelopes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(18px,3vw,32px);max-width:1100px;margin:0 auto;display:grid}.envelope-tile{--env:#7c3532;aspect-ratio:1.45;text-align:left;color:#f6eee6;background:linear-gradient(160deg, color-mix(in srgb, var(--env) 85%, white), var(--env));border-radius:6px;align-items:end;padding:22px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 60px #00000073}.envelope-flap{background:color-mix(in srgb, var(--env) 80%, black);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;height:58%;transition:transform .6s var(--ease);position:absolute;inset:0 0 auto}.envelope-tile:hover .envelope-flap{transform:perspective(600px)rotateX(-25deg)}.envelope-seal{color:#f4d8cd;background:radial-gradient(circle at 50% 55%,#b2615b,#4e1f1d);border-radius:50%;place-items:center;width:44px;height:44px;font-size:18px;display:grid;position:absolute;top:58%;left:50%;translate:-50% -50%;box-shadow:0 6px 16px #0006}.envelope-tile.is-read .envelope-seal{background:radial-gradient(circle at 50% 55%,#c8a674,#6b5330)}.envelope-text{font-family:var(--serif);font-size:26px;font-style:italic;line-height:1.1;display:grid;position:relative}.envelope-text small{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;opacity:.75;margin-bottom:4px;font-size:10px;font-style:normal}.envelope-modal{z-index:150;-webkit-backdrop-filter:blur(10px);background:#080607e6;place-items:center;padding:140px 16px 40px;display:grid;position:fixed;inset:0}.envelope-big{--env:#7c3532;aspect-ratio:1.45;perspective:1200px;width:min(88vw,440px);position:relative}.envelope-back,.envelope-front,.envelope-top{border-radius:6px;position:absolute;inset:0}.envelope-back{background:color-mix(in srgb, var(--env) 70%, black);z-index:1}.envelope-front{z-index:4;background:linear-gradient(160deg, color-mix(in srgb, var(--env) 85%, white), var(--env));clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);box-shadow:0 40px 80px #00000080}.envelope-top{background:color-mix(in srgb, var(--env) 80%, black);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;height:58%}.envelope-paper{color:#3a2c27;background:#f5efe6;border-radius:3px;flex-direction:column;gap:10px;height:128%;padding:14px 14px 18px;display:flex;position:absolute;bottom:6%;left:6%;right:6%;box-shadow:0 20px 50px #00000059}.envelope-paper img{object-fit:cover;border-radius:2px;flex:1;width:100%;min-height:0}.envelope-label{font-family:var(--script);color:var(--rose-deep);margin:0;font-size:28px;line-height:1}.envelope-note{font-family:var(--serif);margin:0;font-size:18px;line-height:1.35}.modal-close{border:1px solid var(--ivory-faint);border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:20px;right:20px}.modal-close svg{width:20px;height:20px}.scratch{aspect-ratio:3/4;border-radius:8px;width:min(84vw,420px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 40px 100px #0000008c}.scratch>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scratch-shade{background:linear-gradient(#0000 45%,#0d0a0bd9);position:absolute;inset:0}.scratch-message{font-family:var(--serif);margin:0;font-size:clamp(22px,3vw,28px);font-style:italic;line-height:1.25;position:absolute;bottom:22px;left:22px;right:22px}.scratch-foil{touch-action:none;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.finale{min-height:80svh;padding:96px var(--gutter);text-align:center;background:radial-gradient(ellipse at 50% 60%, #2a1c18, var(--ink) 70%);place-items:center;display:grid}.finale-button{aspect-ratio:1;width:clamp(180px,30vw,240px);font-family:var(--serif);color:var(--ink);background:var(--ivory);box-shadow:0 0 0 1px var(--gold-soft), 0 0 0 18px #f2ebe20a, 0 0 0 36px #f2ebe208;animation:pulse 2.6s var(--ease) infinite;border-radius:50%;place-items:center;font-size:26px;font-style:italic;display:grid;position:relative}@keyframes pulse{50%{box-shadow:0 0 0 1px var(--gold-soft), 0 0 0 26px #f2ebe20f, 0 0 0 52px #f2ebe205}}.finale-reveal{justify-items:center;gap:24px;max-width:820px;display:grid}.finale-kicker{letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin:0;font-size:11px}.finale-title{font-family:var(--serif);margin:0;font-size:clamp(48px,8vw,104px);font-style:italic;font-weight:300;line-height:.95}.finale-body{max-width:44ch;color:var(--ivory-dim);margin:0;font-size:17px}.finale-cta{font-family:"Syne", var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#141112;transition:transform .4s var(--ease);background:#d4ff3c;border-radius:999px;align-items:center;gap:14px;padding:18px 30px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 20px 60px #d4ff3c40}.finale-cta:hover{transform:scale(1.05)}.finale-cta svg{stroke-width:2px;width:20px;height:20px}.lightbox-loves{letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-dim);white-space:nowrap;margin:0;font-size:11px;position:absolute;top:26px;left:50%;transform:translate(-50%)}.lightbox-loves span{color:var(--rose)}.footer-links{flex-wrap:wrap;justify-content:center;gap:8px 32px;display:flex}.footer-links .text-button{text-decoration:none}.footer-secret{font-family:var(--serif);color:#f2ebe259;margin:28px 0 0;font-size:14px;font-style:italic}@media (width<=820px){.menu{grid-template-columns:1fr;align-items:start}.menu-preview{display:none}.nav-switch a{letter-spacing:.1em;padding:9px 12px}.nav-menu{padding:0 14px}.nav-menu-text{display:none}}@media (width<=420px){.nav{gap:8px;padding-inline:12px}.nav-mono{width:40px;height:40px}.nav-switch a{letter-spacing:.06em;padding:8px 10px;font-size:10px}}
