:root{--cream:#f8f2e7;--cream-2:#efe5d2;--ink:#141a12;--moss:#2f4a2a;--leaf:#6f9a45;--apple:#c8323a;--apple-deep:#8e1f2a;--blossom:#f6d7da;--gold:#e8b766;--glass:#14181247;--glass-line:#fff8eb38;--serif:"Cormorant Garamond", "Times New Roman", serif;--script:"Pinyon Script", cursive;--sans:"Jost", system-ui, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--gutter:clamp(16px, 4vw, 64px)}*,:before,:after{box-sizing:border-box}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#0c0f0a;font-weight:300;line-height:1.55;overflow-x:hidden}body.is-loading,body.is-intro{overflow:hidden}button{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--apple);color:#fff}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#webgl{width:100vw;height:100vh;z-index:0;outline:none;height:100lvh;display:block;position:fixed;inset:0}.scroll-space{z-index:-1;height:1400vh;position:relative}.loader{z-index:100;transition:opacity 1.4s var(--ease), visibility 1.4s;background:url(/washes/sage.svg) 8% 85%/520px no-repeat,url(/washes/blush.svg) 92% 12%/460px no-repeat,url(/washes/honey.svg) 80% 92%/380px no-repeat,radial-gradient(at 50% 45%,#fbf6ec 0%,#efe4cf 75%,#e2d3b6 100%);align-content:center;place-items:center;gap:28px;display:grid;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden}.loader__seed{width:22px;height:34px;position:relative}.loader__seed span{animation:seed 1.8s var(--ease) infinite;background:radial-gradient(circle at 35% 30%,#8a5a36,#3a2112 70%);border-radius:50%/62% 62% 38% 38%;position:absolute;inset:0;box-shadow:0 0 40px #e8b76640}@keyframes seed{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-10px)rotate(8deg)}}.loader__label{font-family:var(--serif);letter-spacing:.04em;color:#5a4a36;margin:0;font-size:22px;font-style:italic}.loader__label b{font-variant-numeric:tabular-nums;font-style:normal;font-weight:400}.intro-ui{z-index:30;pointer-events:none;position:fixed;inset:0}.intro-caption{text-align:center;width:min(92vw,820px);font-family:var(--serif);letter-spacing:.01em;opacity:0;text-shadow:0 2px 30px #0009;margin:0 auto;font-size:clamp(22px,3.2vw,40px);font-style:italic;font-weight:300;position:absolute;bottom:16vh;left:0;right:0}.skip-intro{right:var(--gutter);bottom:calc(28px + env(safe-area-inset-bottom));pointer-events:auto;cursor:pointer;letter-spacing:.24em;text-transform:uppercase;color:#f8f2e7b3;opacity:0;background:0 0;border:0;padding:10px 0;font-size:12px;transition:color .3s;position:absolute}.skip-intro:hover{color:#fff}body:not(.is-intro) .intro-ui{display:none}.site-header{z-index:40;padding:calc(18px + env(safe-area-inset-top)) var(--gutter) 18px;opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-20px)}body.is-ready .site-header{opacity:1;pointer-events:auto;transform:none}.monogram{font-family:var(--serif);letter-spacing:.04em;align-items:center;gap:6px;font-size:26px;font-weight:400;text-decoration:none;display:flex}.monogram svg{width:26px;height:26px;color:var(--cream)}.site-nav{align-items:center;gap:14px;display:flex}.sound-toggle{border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.sound-toggle .bars{align-items:center;gap:3px;height:14px;display:flex}.sound-toggle .bars i{background:var(--cream);border-radius:2px;width:2px;height:4px;transition:height .3s}.sound-toggle[aria-pressed=true] .bars i{animation:1s ease-in-out infinite bars}.sound-toggle[aria-pressed=true] .bars i:nth-child(2){animation-delay:-.3s}.sound-toggle[aria-pressed=true] .bars i:nth-child(3){animation-delay:-.6s}.sound-toggle[aria-pressed=true] .bars i:nth-child(4){animation-delay:-.15s}@keyframes bars{0%,to{height:4px}50%{height:14px}}.btn{--bg:var(--cream);--fg:var(--ink);border:1px solid var(--bg);background:var(--bg);min-height:48px;color:var(--fg);cursor:pointer;font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:color .5s var(--ease), border-color .5s var(--ease), transform .3s var(--ease);isolation:isolate;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 26px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";aspect-ratio:1;background:var(--apple);width:140%;transition:transform .6s var(--ease), top .6s var(--ease);z-index:-1;border-radius:50%;position:absolute;top:100%;left:50%;transform:translate(-50%)scale(.2)}.btn:hover:before,.btn:focus-visible:before{top:-20%;transform:translate(-50%)scale(1)}.btn:hover,.btn:focus-visible{color:#fff;border-color:var(--apple)}.btn--ghost{--bg:transparent;--fg:var(--cream);-webkit-backdrop-filter:blur(8px);border-color:#f8f2e78c}.btn__label{pointer-events:none;position:relative}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.rail{right:calc(var(--gutter) * .6);z-index:35;opacity:0;pointer-events:none;flex-direction:column;gap:18px;transition:opacity 1s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}body.is-ready .rail{opacity:1;pointer-events:auto}.rail button{cursor:pointer;background:0 0;border:0;width:12px;height:12px;padding:0;position:relative}.rail button:before{content:"";transition:all .4s var(--ease);background:#f8f2e773;border-radius:50%;position:absolute;inset:3px}.rail button.is-active:before{background:var(--apple);inset:0;box-shadow:0 0 0 4px #c8323a40}.rail button span{white-space:nowrap;letter-spacing:.2em;text-transform:uppercase;opacity:0;transition:all .4s var(--ease);pointer-events:none;font-size:11px;position:absolute;top:50%;right:24px;transform:translate(8px,-50%)}.rail button:hover span{opacity:.9;transform:translateY(-50%)}.stage{z-index:20;pointer-events:none;perspective:900px;position:fixed;inset:0}.panel{padding:110px var(--gutter) 90px;visibility:hidden;transform-style:preserve-3d;text-shadow:0 2px 24px #00000059;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0}.panel.is-live{pointer-events:auto}.panel [data-anim],.panel .char{will-change:transform, opacity}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:#f8f2e7d9;align-items:center;gap:14px;margin:0 0 18px;font-size:12px;font-weight:500;display:flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:36px;height:1px}.display{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:clamp(44px,7.4vw,120px);font-weight:300;line-height:.95}.lede{color:#fffaf0f5;text-shadow:0 1px 2px #00000059,0 2px 18px #0000008c;max-width:34em;margin:22px 0 0;font-size:clamp(16px,1.35vw,20px)}.script{font-family:var(--script);margin:0;font-size:clamp(48px,8vw,120px);line-height:1.1}.char-wrap{white-space:nowrap;display:inline-block}.char{transform-origin:50% 100%;display:inline-block}.panel:before{content:"";z-index:-1;pointer-events:none;opacity:var(--vis,0);background:radial-gradient(60% 55% at 30% 52%,#0a0e0861,#0000 70%);position:absolute;inset:-10%}.panel--date:before,.panel--countdown:before,.panel--portal:before,.panel--outro:before{background:radial-gradient(55% 50%,#0a0e085c,#0000 72%)}.panel--story:before{background:radial-gradient(60% 60% at 72%,#0a0e0880,#0000 72%)}.panel:after{content:"";z-index:-1;pointer-events:none;aspect-ratio:3/2;width:min(78vw,980px);left:var(--wx,0%);top:var(--wy,18%);background:var(--wash,url(/washes/apple.svg)) center / contain no-repeat;opacity:calc(var(--vis,0) * .78);transform:rotate(var(--wr,-4deg)) scale(calc(.92 + var(--vis,0) * .08));mix-blend-mode:screen;position:absolute}.panel--hero{--wash:url(/washes/blush.svg);--wx:-10%;--wy:14%;--wr:-6deg}.panel--date{--wash:url(/washes/honey.svg);--wx:12%;--wy:12%;--wr:3deg}.panel--countdown{--wash:url(/washes/sky.svg);--wx:14%;--wy:16%;--wr:-2deg}.panel--story{--wash:url(/washes/sage.svg);--wx:38%;--wy:16%;--wr:5deg}.panel--venue{--wash:url(/washes/apple.svg);--wx:-12%;--wy:12%;--wr:-5deg}.panel--barn{--wash:url(/washes/honey.svg);--wx:-8%;--wy:2%;--wr:4deg}.panel--portal{--wash:url(/washes/blush.svg);--wx:12%;--wy:14%;--wr:-3deg}.panel--outro{--wash:url(/washes/sky.svg);--wx:14%;--wy:18%;--wr:2deg}.panel--hero{justify-content:center;align-items:flex-start}.names{font-family:var(--serif);letter-spacing:-.015em;flex-direction:column;margin:0;font-size:clamp(56px,9.6vw,168px);font-weight:300;line-height:.88;display:flex}.names .name{display:block}.names .name:last-child{padding-left:.9em}.names .plus{width:.5em;height:.5em;color:var(--cream);margin:.06em 0 .06em .42em;display:block}.names .plus svg{filter:drop-shadow(0 4px 20px #0000004d);width:100%;height:100%}.hero-meta{letter-spacing:.24em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:34px;font-size:13px;font-weight:400;display:flex}.hero-meta .sep{background:var(--apple);border-radius:50%;width:6px;height:6px}.scroll-cue{left:50%;bottom:calc(26px + env(safe-area-inset-bottom));letter-spacing:.3em;text-transform:uppercase;color:#f8f2e7bf;white-space:nowrap;flex-direction:column;align-items:center;gap:12px;font-size:11px;display:flex;position:absolute;transform:translate(-50%)}.scroll-cue__line{background:linear-gradient(to bottom, transparent, var(--cream));width:1px;height:46px;position:relative;overflow:hidden}.scroll-cue__line:after{content:"";width:1px;height:40%;animation:cue 2s var(--ease) infinite;background:#fff;position:absolute;top:-40%;left:0}@keyframes cue{to{top:110%}}.panel--date{text-align:center;align-items:center}.panel--date .eyebrow:before{display:none}.bigdate{font-family:var(--serif);justify-content:center;align-items:center;gap:clamp(10px,2vw,34px);font-weight:300;line-height:.8;display:flex}.bigdate__n{letter-spacing:-.04em;background:linear-gradient(#fffaf0 0%,#f6d7c0 55%,#e8b766 100%);color:#0000;filter:drop-shadow(0 10px 40px #3c140059);-webkit-background-clip:text;background-clip:text;font-size:clamp(90px,19vw,300px)}.bigdate__dot{background:var(--apple);border-radius:50%;width:clamp(8px,1.2vw,16px);height:clamp(8px,1.2vw,16px);box-shadow:0 0 30px #c8323ab3}.panel--date .lede{letter-spacing:.08em;font-family:var(--serif);margin-inline:auto;font-size:clamp(18px,1.8vw,26px);font-style:italic}.panel--date .btn-row{justify-content:center}.panel--countdown{text-align:center;align-items:center}.panel--countdown .eyebrow:before{display:none}.countdown{grid-template-columns:repeat(4,auto);gap:clamp(10px,3vw,54px);margin-top:10px;display:grid}.cd{background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px)saturate(1.2);border-radius:22px;flex-direction:column;align-items:center;min-width:clamp(70px,12vw,180px);padding:clamp(14px,2vw,28px) clamp(10px,2vw,30px);display:flex}.cd b{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(44px,8vw,130px);font-weight:300;line-height:1}.cd span{letter-spacing:.3em;text-transform:uppercase;opacity:.8;margin-top:8px;font-size:11px}.panel--story{text-align:right;align-items:flex-end}.panel--story .eyebrow{flex-direction:row-reverse}.panel--story .lede{margin-left:auto}.panel--story .display{max-width:9.5em}.panel--venue .address{font-family:var(--serif);margin:18px 0 0;font-size:clamp(20px,2.2vw,32px);font-style:italic}.panel--barn{align-items:flex-start}.trio{perspective:900px;grid-template-columns:repeat(3,minmax(0,300px));gap:18px;margin-top:40px;display:grid}.glass-card{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(16px)saturate(1.3);transform-style:preserve-3d;transition:transform .4s var(--ease);background:linear-gradient(160deg,#fff0d733,#3c281647);border-radius:24px;padding:26px 24px 28px;position:relative}.glass-card__num{font-family:var(--serif);color:var(--gold);font-size:18px;font-style:italic}.glass-card h3{font-family:var(--serif);margin:8px 0;font-size:32px;font-weight:400}.glass-card p{opacity:.88;margin:0;font-size:15px}.panel--portal{text-align:center;align-items:center}.panel--portal .eyebrow:before{display:none}.panel--portal .lede{margin-inline:auto}.code-form{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex;position:relative}.code-form input{min-width:min(320px,100%);min-height:52px;color:var(--cream);font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;text-align:center;-webkit-backdrop-filter:blur(10px);background:#0c0f0a59;border:1px solid #f8f2e780;border-radius:999px;outline:none;padding:0 24px;font-size:16px;transition:border-color .3s,box-shadow .3s}.code-form input::placeholder{color:#f8f2e780;letter-spacing:.16em}.code-form input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #e8b76633}.code-form .btn{min-height:52px}.form-msg{color:#ffd0c8;flex-basis:100%;min-height:1.4em;margin:4px 0 0;font-size:14px}.code-form.is-error input{border-color:#ff8a7a;animation:.5s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.panel--outro{text-align:center;align-items:center}.modal{z-index:60;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.modal__backdrop{-webkit-backdrop-filter:blur(8px);background:#080a078c;position:absolute;inset:0}.modal__card{text-align:center;border:1px solid var(--glass-line);background:linear-gradient(170deg,#282e22db,#0e110ceb);border-radius:30px;width:min(520px,100%);padding:44px 28px 30px;position:relative;box-shadow:0 40px 120px #00000080}.modal__card .display{font-size:clamp(40px,6vw,58px)}.modal__card .lede{margin-inline:auto}.modal__apple{filter:drop-shadow(0 8px 20px #c8323a80);width:54px;height:54px;margin-bottom:10px}.modal__close{cursor:pointer;background:#ffffff14;border:0;border-radius:50%;width:40px;height:40px;font-size:24px;position:absolute;top:14px;right:16px}.wipe{z-index:90;pointer-events:none;clip-path:circle(0% at var(--x,50%) var(--y,50%));background:radial-gradient(circle at 50% 40%,#d43b43,#8e1f2a 70%);place-items:center;display:grid;position:fixed;inset:0}.wipe__text{font-family:var(--script);opacity:0;color:var(--cream);text-align:center;margin:0;padding:0 16px;font-size:clamp(48px,8vw,110px)}.cursor{z-index:200;pointer-events:none;mix-blend-mode:difference;position:fixed;top:0;left:0}.cursor__dot,.cursor__ring{border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursor__dot{background:#fff;width:6px;height:6px}.cursor__ring{width:38px;height:38px;transition:width .35s var(--ease), height .35s var(--ease), background .35s;border:1px solid #fff}.cursor.is-hover .cursor__ring{background:#ffffff26;width:74px;height:74px}.cursor.is-down .cursor__ring{width:26px;height:26px}@media (hover:none),(pointer:coarse){.cursor{display:none}}@media (hover:hover) and (pointer:fine){body.has-cursor,body.has-cursor *{cursor:none!important}}.noscript{text-align:center;z-index:5;position:fixed;inset:auto 0 40px}@media (max-width:820px){.panel{padding:96px var(--gutter) 84px;justify-content:flex-end}.panel--hero{justify-content:flex-end;padding-bottom:120px}.names{font-size:clamp(50px,15vw,96px)}.hero-meta{letter-spacing:.18em;margin-top:22px;font-size:11px}.hero-meta .sep{display:none}.hero-meta span{flex-basis:100%}.rail{display:none}.trio{grid-template-columns:1fr;gap:10px;width:100%;margin-top:22px}.glass-card{padding:16px 18px}.glass-card h3{margin:2px 0 4px;font-size:24px}.glass-card p{font-size:14px}.countdown{grid-template-columns:repeat(2,1fr);width:100%;max-width:420px}.panel--story{text-align:left;align-items:flex-start}.panel--story .eyebrow{flex-direction:row}.panel--story .lede{margin-left:0}.panel--date,.panel--countdown,.panel--portal{justify-content:center}.btn{letter-spacing:.16em;padding:0 20px}.code-form input{min-width:100%}.code-form .btn{width:100%}}@media (max-height:560px){.panel{padding-top:76px;padding-bottom:56px}.names{font-size:clamp(40px,12vh,96px)}.hero-meta{margin-top:14px}.display{font-size:clamp(36px,11vh,90px)}.bigdate__n{font-size:clamp(70px,26vh,200px)}.scroll-cue{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
