@font-face{font-family:Cormorant;src:url('assets/cormorant.ttf') format('truetype');font-display:swap}@font-face{font-family:Cormorant;src:url('assets/cormorant-italic.ttf') format('truetype');font-style:italic;font-display:swap}@font-face{font-family:Pinyon;src:url('assets/pinyon.ttf') format('truetype');font-display:swap}@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-display:swap}

:root{--ink:#61451e;--gold:#b18d4d;--ivory:#f6edde;--line:#ac894859;--ease:cubic-bezier(.18,.75,.2,1);--light-x:48%;--light-y:24%;--tint:#d8c5a2;--read:0;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font:15px/1.8 DM,Arial,sans-serif;background:var(--ivory);overflow-x:clip;-webkit-font-smoothing:antialiased}body.is-sealed,body.is-playing,body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #8b6328;outline-offset:5px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}svg{display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3,em{font-weight:400}::selection{background:#c8ac7490}.svg-defs,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.23em;text-transform:uppercase}.display{font:clamp(68px,7.4vw,111px)/.97 Cormorant,Georgia,serif;letter-spacing:-.035em}.display em{display:inline-block;font:1.15em/1.25 Pinyon,serif;letter-spacing:0;background:linear-gradient(110deg,#725023,#c4a164 38%,#715022 55%,#c2a064 80%,#715022);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 1px #fff)}.intro-copy{font:25px/1.5 Cormorant,serif;max-width:500px}.sample-caption{font-size:10px;color:#937a54;letter-spacing:.025em}.centered{text-align:center;display:block;margin:25px auto}.fine-note{font-size:11px;line-height:1.9;color:#8f7854}.shared-monogram{width:100px;height:119px;object-fit:cover;clip-path:ellipse(47% 49% at 50% 50%);margin:0 auto 24px;filter:drop-shadow(0 5px 8px #6f4c242a)}.small-monogram{width:54px;height:65px;object-fit:cover;clip-path:ellipse(47% 49% at 50% 50%);margin:auto}.flourish{width:180px;height:32px;color:#b39051;margin:30px auto}.gold-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:57px;padding:16px 25px;border:1px solid #ab8749;color:#533b19;font-size:12px;letter-spacing:.02em;background:linear-gradient(120deg,#b8904d,#f0dfb7 43%,#d0ac6e 75%,#ae8544);box-shadow:inset 0 1px #fff,0 3px 0 #95723b66,0 12px 24px #694a2320;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}.gold-button:after{content:'';position:absolute;inset:-70% 0;transform:translateX(-130%);background:linear-gradient(110deg,transparent 30%,#fff9 48%,transparent 65%);transition:transform 1s}.gold-button:hover{transform:translateY(-3px);box-shadow:inset 0 1px #fff,0 6px 0 #95723b44,0 18px 32px #694a2328}.gold-button:hover:after{transform:translateX(130%)}.gold-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:none;border-bottom:1px solid #b3955f;padding:12px 0;min-height:46px;font-size:12px}.gold-link span{transition:transform .4s}.gold-link:hover span{transform:translate(3px,-3px)}[hidden]{display:none!important}
.opening{position:fixed;inset:0;z-index:100;background:transparent;transition:opacity .7s ease;isolation:isolate}.opening[hidden]{display:none}.cinema-stage{position:absolute;inset:0;overflow:hidden}.door-poster,#opening-video,.hero-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}.door-poster{z-index:1}#opening-video{z-index:2;opacity:0}.is-playing #opening-video{opacity:1}.opening-reflection{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(112deg,transparent 25%,#fff6 38%,#b9d8e61b 42%,transparent 51%);background-size:230% 100%;animation:reflection-pass 10s ease-in-out infinite;mix-blend-mode:screen;opacity:.35}.seal-hit{position:absolute;z-index:6;left:50%;top:calc(50% - min(50vw,28.125svh)*.09);width:min(29vw,16.3svh);min-width:95px;aspect-ratio:1;background:transparent;transform:translate(-50%,-50%);border-radius:50%;display:block;isolation:isolate}.seal-aura{position:absolute;inset:-9px;border:1px solid #f6e3b080;border-radius:50%;box-shadow:0 0 24px #fff8,inset 0 0 18px #fff3;animation:seal-breathe 3s ease-in-out infinite}.seal-instruction{position:absolute;top:calc(100% + 24px);left:50%;transform:translateX(-50%);width:310px;white-space:nowrap;font:27px/1.4 Pinyon,Cormorant,serif;text-shadow:0 1px #fff;display:flex;align-items:center;justify-content:center;gap:14px;color:#76552b}.seal-instruction i{width:27px;height:1px;background:linear-gradient(90deg,transparent,#ac8446)}.seal-instruction i:last-child{transform:rotate(180deg)}.seal-subtitle{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 69px);width:270px;font-size:8px;letter-spacing:.26em}.opening-heading{position:absolute;top:7%;left:5%;right:5%;text-align:center;z-index:4;pointer-events:none;opacity:0}.opening-heading>span{display:block;font-size:8px;letter-spacing:.28em;text-transform:uppercase}.opening-heading>em{font:30px Pinyon,serif;display:block;margin-top:6px}.opening-status{position:absolute;z-index:7;bottom:5.5%;left:10%;right:10%;text-align:center;font:italic 16px Cormorant,serif;pointer-events:none}.skip-opening{position:absolute;z-index:8;bottom:20px;right:25px;background:#fff8;backdrop-filter:blur(8px);border:1px solid #b79b6270;padding:7px 13px;font-size:10px;opacity:0;pointer-events:none;transition:opacity .4s}.is-playing .skip-opening{opacity:.8;pointer-events:auto}.is-playing .seal-hit,.is-playing .opening-reflection{opacity:0;pointer-events:none;transition:opacity .5s}.opening-retry{position:absolute;z-index:8;bottom:14%;left:50%;transform:translateX(-50%);background:#fff9;padding:8px 20px;border:1px solid #b4965d}.is-handoff .opening{opacity:0;pointer-events:none}.is-handoff #opening-video{opacity:0;transition:opacity .35s}.invitation{visibility:hidden}.has-opened .invitation,.is-handoff .invitation{visibility:visible}.hero{position:relative;min-height:100svh;height:100svh;isolation:isolate}.hero-art{position:absolute;inset:0;overflow:hidden}.hero-art>img{z-index:1}.hero-light{position:absolute;inset:0;z-index:2;opacity:0;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#fff7,transparent 47%);mix-blend-mode:screen;pointer-events:none;transition:opacity 1.8s}.has-opened .hero-light{opacity:.3}.hero-prism{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(114deg,transparent 37%,#e8c9df25 45%,#c5e4ea25 48%,#fff6 50%,transparent 57%);background-size:230% 100%;mix-blend-mode:screen;opacity:0}.has-opened .hero-prism{opacity:.2;animation:reflection-pass 16s 2s ease-in-out infinite}.hero-scroll{position:absolute;z-index:3;bottom:22px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;text-transform:uppercase;font-size:8px;letter-spacing:.23em;text-shadow:0 1px #fff;background:#f7f0dfc7;padding:9px 16px 0;border-radius:40px 40px 0 0}.hero-scroll i{height:28px;width:1px;background:#927344;transform-origin:top;animation:scroll-stroke 2.5s ease-in-out infinite}.replay-video{position:absolute;z-index:4;left:25px;bottom:23px;background:#fbf7ebaa;border:1px solid #b79b6255;padding:8px 13px;font-size:14px;display:flex;align-items:center;gap:8px}.replay-video>span{font-size:9px}.guest-greeting{position:absolute;left:50%;top:7%;transform:translateX(-50%);z-index:4;padding:9px 18px;background:#faf6e9db;border:1px solid #b79b6255;font:italic 18px Cormorant,serif;white-space:nowrap}/* A single illuminated material world continues behind every chapter. */
.pearl-world{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background:#f3e8d3}.world-material{position:absolute;inset:-12%;background:url('assets/nacre-floral.webp') center/cover;opacity:.53;transform:translate3d(0,var(--world-y,0px),0) scale(1.04)}.world-tint{position:absolute;inset:0;background:linear-gradient(120deg,#fbf6e1c9,#f8efdf99 46%,#f6f0e8b3)}.world-halo{position:absolute;inset:-20%;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#ffffffd9 0,transparent 42%),radial-gradient(ellipse at 76% 70%,var(--tint),transparent 48%);opacity:.65;mix-blend-mode:screen;transform:translate3d(var(--halo-x,0px),var(--halo-y,0px),0);transition:background-color 1s}.light-beam{position:absolute;top:-40%;left:25%;height:180%;width:18%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#fff9 40%,#fff2 65%,transparent);opacity:.6;mix-blend-mode:screen;animation:light-travel 18s ease-in-out infinite alternate}.beam-two{left:70%;width:8%;opacity:.6;animation-delay:-11s;animation-duration:23s}.light-ripples{position:absolute;inset:-30%;background:repeating-radial-gradient(ellipse at 40% 65%,transparent 0 46px,#fff7 47px 49px,transparent 50px 76px);opacity:.1;transform:translate3d(0,var(--ripple-y,0px),0) rotate(-18deg);mix-blend-mode:screen}.invitation{position:relative}.opening{width:100vw;height:100svh;bottom:auto}.is-playing .door-poster,.is-handoff .door-poster{opacity:0}.opening-failed .skip-opening{opacity:1;pointer-events:auto}.opening-failed #opening-video{opacity:0}.opening-failed .door-poster{opacity:1}.opening-failed .seal-hit{opacity:0;pointer-events:none}.hero{height:115svh;min-height:115svh;position:relative;z-index:0}.hero-art{position:fixed;top:0;left:0;width:100vw;height:100svh;pointer-events:none;transform:translate3d(0,var(--hero-y,0px),0) scale(var(--hero-scale,1));opacity:var(--hero-opacity,1);transform-origin:50% 50%}.hero-scroll,.replay-video{position:absolute}.hero-scroll{top:calc(100svh - 80px);bottom:auto}.replay-video{top:calc(100svh - 64px);bottom:auto}.hero-light{background:radial-gradient(ellipse at var(--light-x) var(--light-y),#fff9,transparent 50%)}.has-opened .hero-light{opacity:.48}.has-opened .hero-prism{opacity:.35}.masthead{position:fixed;top:0;left:0;width:100%;height:80px;z-index:40;display:flex;align-items:center;gap:18px;padding:0 clamp(20px,5vw,80px);border-bottom:1px solid #b7995e44;background:linear-gradient(110deg,#fcf7ead9,#f3ebd5a8);backdrop-filter:blur(14px);box-shadow:0 7px 25px #82602b0b;transform:translateY(-110%);transition:transform .65s var(--ease)}.past-hero .masthead{transform:none}.brand{width:48px;height:62px}.brand img{width:100%;height:100%;object-fit:cover;clip-path:ellipse(46% 49% at 50% 50%)}.concept-label{font:italic 14px Cormorant,serif;color:#8b7248}.masthead nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:11px}.nav-rsvp{padding:8px 20px;border:1px solid #b0945c;background:#fff3;box-shadow:inset 0 1px #fff}.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#b38d47;transform:scaleX(var(--read));transform-origin:left}.chapter{position:relative;z-index:2;isolation:isolate;background:transparent!important;overflow:visible}.section-intro{text-align:center;margin:0 auto 65px;max-width:1000px}.section-intro .display{margin-top:24px}.section-intro .intro-copy{margin:25px auto 0}.raised-surface{position:relative;transform-style:preserve-3d;background:linear-gradient(120deg,#fff9eec7,#efedf270 30%,#fae8e078 70%,#fff9eeaa),url('assets/nacre-floral.webp') center/cover;border:1px solid #ac8747;box-shadow:inset 0 0 0 4px #fff8e7,inset 0 0 0 5px #c8ac7190,0 2px 0 #fff5d7,0 6px 0 #b6945b77,0 10px 0 -2px #f3e5c5,0 15px 0 -4px #a68a5570,0 27px 45px #76522b28,0 60px 80px -40px #65451b40}.surface-glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#fff9,transparent 52%),linear-gradient(115deg,transparent 20%,#cadde55e 38%,#fff8 45%,#f3d4e64a 49%,transparent 64%);mix-blend-mode:screen;opacity:.8;transform:translateZ(2px)}.scroll-depth{perspective:1500px;transform:translate3d(0,var(--lift,0px),0) rotateX(var(--pitch,0deg)) rotateY(var(--yaw,0deg));transform-origin:center;transform-style:preserve-3d}.frame-stage{position:relative}.floating-floral{position:absolute;pointer-events:none;background:url('assets/nacre-floral.webp') top left/270% auto;mask-image:radial-gradient(ellipse,#000 15%,#0009 45%,transparent 71%);-webkit-mask-image:radial-gradient(ellipse,#000 15%,#0009 45%,transparent 71%);filter:drop-shadow(8px 22px 10px #6a471b22)}
/* Scrollable story with actual separated planes and reversible memory cards. */
.story-section{height:225svh;margin-top:-15svh}.story-lock{position:sticky;top:80px;min-height:calc(100svh - 80px);max-width:1270px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:65px;padding:40px 50px}.story-copy .display{font-size:clamp(65px,6.4vw,99px);margin:24px 0 25px}.story-copy .intro-copy{font-size:24px}.story-copy .sample-caption{display:block;margin-top:28px}.story-cabinet{position:relative;padding-top:15px;perspective:1600px;transform-style:preserve-3d}.cabinet-halo{position:absolute;inset:-20% -25%;z-index:-2;background:radial-gradient(ellipse,#fff 3%,#f0e9d280 45%,transparent 70%);opacity:.8;transform:translateY(var(--cabinet-halo-y,0px))}.cabinet-floor{position:absolute;width:95%;height:65px;left:2.5%;bottom:120px;z-index:-1;background:radial-gradient(ellipse,#83602a4d,transparent 68%);transform:rotateX(65deg) scaleX(1.2)}.memory-stack{position:relative;height:465px;transform-style:preserve-3d;perspective:1300px}.memory-card{position:absolute;left:50%;top:0;width:350px;height:430px;margin-left:-175px;padding:0;border:0;background:none;transform-style:preserve-3d;transform:translate3d(var(--card-x,0px),var(--card-y,0px),var(--card-z,0px)) rotateY(var(--card-turn,0deg)) rotateZ(var(--card-roll,0deg));opacity:var(--card-opacity,1);transition:opacity .35s}.memory-card:not(.active){pointer-events:none}.memory-core{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.memory-card.flipped .memory-core{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:33px 30px;background:linear-gradient(130deg,#fff9ef91,#f2e5d582),url('assets/nacre-floral.webp') center/cover;border:1px solid #b29559;box-shadow:inset 0 0 0 5px #f8efd9,inset 0 0 0 6px #b7975e88,0 2px #fff,0 6px #c2a566,0 10px #f4e4c1,0 18px 35px #704a252b;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.card-face:after{content:'';position:absolute;inset:-20%;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#fff9 43%,#e1d1e54d 48%,transparent 59%);transform:translateX(var(--card-sheen,-30%));mix-blend-mode:screen;opacity:.8}.card-back{transform:rotateY(180deg)}.memory-date{font-size:8px;letter-spacing:.2em;display:block;margin-bottom:16px}.card-front>strong{font:37px/1 Cormorant,serif;position:relative;z-index:1;margin-top:18px}.card-hint{display:block;font-size:9px;letter-spacing:.025em;margin-top:auto;padding-top:20px;color:#8f7242}.card-back>strong{font:37px/1 Cormorant,serif;margin:19px 0 18px}.card-back>span:not(.card-hint){font:20px/1.5 Cormorant,serif}.memory-card:not(.active) .card-front>*{visibility:hidden}.memory-object{display:block;position:relative;width:200px;height:160px;margin:15px auto;transform-style:preserve-3d}.pearl-envelope{width:185px;height:128px;background:linear-gradient(145deg,#fff9ef,#e8e3d7);border:1px solid #bca266;box-shadow:0 4px #d7c399,3px 15px 20px #71532933;transform:rotate(-7deg) rotateY(-15deg)}.pearl-envelope:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,#fbf4e4,#dcd6cc);clip-path:polygon(0 0,100% 0,50% 60%);border-top:1px solid #fff}.pearl-envelope:after{content:'';position:absolute;inset:0;background:linear-gradient(30deg,#e8deca80,#fff9e999);clip-path:polygon(0 100%,50% 48%,100% 100%)}.pearl-envelope img{position:absolute;width:48px;height:57px;left:calc(50% - 24px);top:calc(50% - 21px);mask-image:ellipse(46% 49%);filter:drop-shadow(0 4px 3px #694a2533);z-index:2}.pearl-compass{width:140px;height:140px;margin-top:7px;border-radius:50%;border:12px solid #c7ad76;background:radial-gradient(ellipse,#fcf7eb,#ded9d9 65%,#e6d1b1);box-shadow:inset 3px 4px 7px #72552b55,0 0 0 2px #90733b,0 5px 0 2px #a3854f,8px 18px 16px #6c4d2730;transform:rotateX(23deg) rotateZ(-17deg)}.pearl-compass:before{content:'';position:absolute;inset:14px;border:1px solid #b19965;border-radius:50%}.pearl-compass i{position:absolute;left:calc(50% - 9px);top:25%;width:18px;height:54%;background:linear-gradient(90deg,#8f7644,#e4d3ad,#ab8c4d);clip-path:polygon(50% 0,100% 55%,50% 100%,0 55%);transform:rotate(25deg)}.pearl-compass b{position:absolute;left:0;right:0;top:0;font:13px Cormorant,serif}.pearl-compass em{position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,transparent 20%,#fff9 45%,transparent 70%)}.ring{position:absolute;display:block;width:130px;height:130px;border:13px solid #b78d43;border-radius:50%;background:transparent;box-shadow:inset 3px 4px 4px #fff5ba,inset -4px -3px 4px #74501c,3px 4px 3px #fbe5a9,-2px -3px 2px #fff3d0,10px 19px 12px #76532828;transform:rotateX(52deg) rotateY(-16deg)}.ring-a{left:9px;top:5px}.ring-b{left:76px;top:35px;transform:rotateX(54deg) rotateY(10deg) rotateZ(-12deg)}.diamond{position:absolute;left:129px;top:36px;width:29px;height:31px;clip-path:polygon(30% 0,70% 0,100% 38%,50% 100%,0 38%);background:conic-gradient(#fff,#b8ccdf,#fff3dc,#d5d1df,#fff,#e1f5fa,#f9e6e6,#fff);filter:drop-shadow(0 3px 1px #ad8747);transform:rotate(-9deg)}.story-nav{display:flex;justify-content:center;gap:21px;margin-top:0}.story-nav button{padding:8px 0;background:none;border-bottom:1px solid transparent;font-size:11px;color:#917b57}.story-nav button span{font:17px Cormorant,serif;margin-right:6px}.story-nav button[aria-pressed=true]{border-color:#9e7d40;color:#5f431c}.scroll-note{font-size:9px;text-align:center;margin-top:18px;letter-spacing:.03em;color:#927749}.scroll-note span{padding-left:10px}
.promise-section{padding:130px 25px 160px;text-align:center}.promise-content{max-width:900px;margin:auto;position:relative}.promise-heading{margin:34px auto 25px;perspective:1000px}.promise-heading span{display:block;font:clamp(45px,6vw,88px)/1.2 Cormorant,serif;letter-spacing:-.02em}.promise-heading em{display:block;font:clamp(60px,7.4vw,108px)/1.4 Pinyon,serif;background:linear-gradient(110deg,#7c5828,#c9a567,#704e21);background-clip:text;color:transparent}.promise-content .intro-copy{margin:auto}.floral-left{width:420px;height:450px;left:-175px;top:10%;transform:rotate(-25deg) translateY(var(--floral-y,0px))}.venue-section{padding:100px clamp(25px,7vw,115px) 140px}.venue-layout{max-width:1200px;display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,8vw,130px);align-items:center;margin:auto}.palace-frame{padding:25px 23px 21px;border-radius:48% 48% 0 0 / 26% 26% 0 0;transform:rotateZ(-3deg)}.palace-arch{position:relative;overflow:hidden;border:1px solid #a58b5366;border-radius:48% 48% 0 0 / 26% 26% 0 0;background:linear-gradient(#fffffb90,#dfd9df88)}.palace-drawing{width:100%;height:auto;position:relative;z-index:1;filter:drop-shadow(2px 6px 2px #9a7b3e24)}.sky-light{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 15%,#fff,transparent 70%)}.glass-sweep,.window-reflection{position:absolute;inset:-30%;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#fff 41%,#d0e5ee77 44%,transparent 60%);mix-blend-mode:screen;opacity:.6;transform:translateX(var(--glass-x,-40%)) rotate(-5deg);z-index:2}.window-reflection{background:repeating-linear-gradient(90deg,transparent 0 32%,#fff9 32.5% 33%,transparent 33.5%);transform:rotate(23deg) translateX(var(--glass-x,0%));opacity:.4}.palace-frame figcaption{text-align:center;font:italic 17px Cormorant,serif;margin-top:18px}.frame-reflection{position:absolute;left:7%;right:7%;bottom:-45px;height:80px;background:radial-gradient(ellipse,#c6b48b66,transparent 70%);filter:blur(5px);transform:rotateX(60deg);z-index:-2}.venue-copy h3{font:clamp(55px,5.7vw,83px)/.96 Cormorant,serif;letter-spacing:-.03em;margin:26px 0 14px}.venue-city{font:37px Pinyon,serif;margin-bottom:24px}.venue-description{font:23px/1.55 Cormorant,serif}.venue-facts{display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:30px 0}.venue-facts>div{display:flex;flex-direction:column}.venue-facts span{font-size:9px;letter-spacing:.04em}.venue-facts strong{font:31px Cormorant,serif;margin-top:7px}.venue-copy .fine-note{max-width:350px;margin-top:24px}
.day-section{padding:80px clamp(25px,7vw,115px) 130px}.day-composition{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center;max-width:1150px;margin:auto}.day-clock{position:relative;perspective:1000px;transform-style:preserve-3d}.clock-bezel{aspect-ratio:1;max-width:430px;margin:auto;border-radius:50%;padding:25px;background:linear-gradient(120deg,#85632b,#e9d7ae 18%,#b9985b 44%,#fff3ce 64%,#8c6931);border:1px solid #9e7a3e;box-shadow:inset 0 2px 2px #fff,0 3px #fce9ba,0 9px #9b7b43,0 14px #d3bd8e,12px 37px 28px #73502730;transform:rotateX(12deg) rotateY(-14deg) rotateZ(-5deg)}.clock-face{position:relative;width:100%;height:100%;border-radius:50%;background:linear-gradient(125deg,#fff9e28c,#ece1e88c),url('assets/nacre-floral.webp') center/cover;border:2px solid #a88a4c;box-shadow:inset 5px 7px 12px #7757262b,inset -3px -3px 5px #fff9}.clock-face:after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,transparent 25%,#fff9 48%,transparent 61%);mix-blend-mode:screen;pointer-events:none}.clock-roman{position:absolute;font:27px Cormorant,serif;color:#8e703b}.r12{top:12px;left:calc(50% - 19px)}.r3{right:15px;top:calc(50% - 20px)}.r6{bottom:9px;left:calc(50% - 11px)}.r9{left:15px;top:calc(50% - 20px)}.clock-hand{position:absolute;bottom:50%;left:calc(50% - 3px);width:6px;border-radius:80% 80% 20% 20%;background:linear-gradient(90deg,#6f4d21,#dec18a,#9c7739);box-shadow:3px 5px 2px #74522a44;transform-origin:center bottom;transition:rotate 1.4s cubic-bezier(.2,.7,.2,1);z-index:3}.hour-hand{height:27%;rotate:75deg;width:8px;left:calc(50% - 4px)}.minute-hand{height:36%;rotate:180deg}.clock-pin{position:absolute;left:calc(50% - 8px);top:calc(50% - 8px);width:16px;height:16px;background:radial-gradient(circle at 30% 20%,#fff1c9,#947036);border-radius:50%;z-index:4;box-shadow:2px 4px 3px #70491d33}.clock-face img{position:absolute;left:calc(50% - 27px);top:60%;width:54px;height:64px;mask-image:ellipse(47% 49%)}.clock-shadow{position:absolute;left:0;right:0;bottom:-40px;height:40px;background:radial-gradient(ellipse,#7b572a3b,transparent 67%);filter:blur(7px);z-index:-1}.clock-shine{position:absolute;inset:3%;border-radius:50%;background:radial-gradient(circle at 20% 10%,#fff9,transparent 50%);mix-blend-mode:screen;pointer-events:none}.day-list{border-top:1px solid var(--line)}.day-event{width:100%;padding:21px 18px;display:grid;grid-template-columns:82px 1fr 24px;gap:17px;text-align:left;background:transparent;border-bottom:1px solid var(--line);transition:background .7s,transform .7s,box-shadow .7s}.day-event time{font-size:10px;letter-spacing:.04em;padding-top:5px}.day-event strong{display:block;font:29px/1.1 Cormorant,serif}.day-event small{display:block;font:16px/1.5 Cormorant,serif;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s,opacity .6s,padding .6s}.day-event i{font:italic 17px Cormorant,serif;opacity:.55}.day-event.active{background:linear-gradient(115deg,#fff9edc9,#eee0c77a);transform:translateX(-10px);box-shadow:inset 0 1px #fff,0 4px 0 -2px #b29a6955,6px 9px 22px #77582b11}.day-event.active small{max-height:90px;opacity:1;padding-top:10px}.interaction-note{text-align:center;font-size:10px;color:#92794f;margin-top:48px}
.attire-section{padding:90px clamp(25px,7vw,115px) 130px}.attire-layout{max-width:1200px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:110px;align-items:center}.attire-copy .display{margin:25px 0}.attire-copy .intro-copy{margin-bottom:20px}.attire-copy>p:not(.eyebrow):not(.intro-copy):not(.palette-instruction):not(.palette-caption){font:21px/1.6 Cormorant,serif;max-width:420px}.palette-instruction{font-size:10px;margin-top:29px}.palette{display:flex;gap:18px;margin-top:22px}.palette button{display:flex;flex-direction:column;align-items:center;gap:12px;background:none;padding:3px 0;color:var(--swatch)}.palette button i{display:block;width:46px;height:46px;background:radial-gradient(circle at 28% 20%,#fff9,transparent 60%),var(--swatch);border:1px solid #8a6a3c55;border-radius:50%;box-shadow:inset -4px -5px 7px #62451e44,inset 2px 3px 4px #fff9,2px 7px 7px #78552722;transition:transform .6s,box-shadow .6s}.palette button[aria-pressed=true] i{transform:translateY(-6px);box-shadow:inset -4px -5px 7px #62451e44,inset 2px 3px 4px #fff9,0 0 0 4px #f7edd8,0 0 0 5px #b29459,3px 12px 12px #7855272b}.palette button span{font-size:8px;color:var(--ink)}.palette-caption{font:italic 18px/1.4 Cormorant,serif;margin-top:22px;min-height:26px}.attire-frame{min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;--cloth-color:#c4ad86;transform:rotateZ(3deg)}.attire-curtain{position:absolute;inset:12px;background:radial-gradient(ellipse at 50% 35%,#fff9,transparent 60%),linear-gradient(120deg,#d4d8df44,#fff5 50%,#efd8d83b);border:1px solid #baa06b66}.garment-scene{position:relative;width:100%;transform:translateZ(34px);filter:drop-shadow(7px 16px 6px #65481b30)}.garment-scene svg{width:100%;height:auto}.gown-fill{fill:var(--cloth-color);transition:fill .8s}.attire-pedestal{width:77%;height:25px;border-radius:50%;background:linear-gradient(#fff7de,#b79b6555);border:1px solid #bd9f6355;box-shadow:0 6px #c5b28544,0 14px 15px #76562c20;position:absolute;bottom:47px;transform:rotateX(55deg)}.attire-frame>p{position:relative;font:italic 19px Cormorant,serif;margin:12px 0 27px;z-index:2}.people-section{padding:80px 25px 120px}.people-grid{max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:auto}.people-group{align-self:start;padding:10px 24px;box-shadow:inset 0 0 0 3px #fff5,0 5px #c6ad7966,0 15px 30px #78552b1b}.people-group summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:25px 0;font:29px Cormorant,serif;list-style:none}.people-group summary::-webkit-details-marker{display:none}.people-group summary i{font:22px Cormorant,serif;transition:transform .5s}.people-group[open] summary i{transform:rotate(45deg)}.people-group>div{padding-bottom:20px}.people-group p{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:15px 0;gap:15px}.people-group strong{font:24px Cormorant,serif}.people-group p>span{font-size:10px;color:#8f7750}.faq-section{max-width:1160px;margin:auto;padding:75px 40px 140px;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.faq-heading .display{margin:23px 0 28px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-of-type{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;font:25px/1.3 Cormorant,serif;padding:23px 0;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font:22px Cormorant,serif;transition:rotate .4s}.faq-list details[open] summary>span{rotate:45deg}.faq-list details>p{font:20px/1.55 Cormorant,serif;padding:0 25px 25px 0}.hashtag{margin-top:28px;background:none;border-bottom:1px solid #b79b6266;font:21px/1.5 Cormorant,serif;padding:8px 0}.hashtag>span{font:9px DM,serif;padding-left:12px}.copy-status{display:block;min-height:20px;font-size:10px;margin-top:8px}.countdown-section{padding:100px 30px 130px;min-height:770px;display:flex;align-items:center;justify-content:center;position:relative;text-align:center}.countdown-content{position:relative;z-index:3}.countdown-content .display{margin:25px 0}.orbital-pearl{position:absolute;inset:0;max-width:850px;margin:auto;perspective:1000px;transform-style:preserve-3d;opacity:.82;transform:translateY(var(--orb-y,0px))}.pearl-sphere{position:absolute;width:380px;height:380px;border-radius:50%;left:calc(50% - 190px);top:calc(50% - 190px);background:radial-gradient(circle at 30% 20%,#fff 5%,#f5f1df 26%,#e3e3ec 45%,#eed7d8 64%,#d4c099 80%,#a58f64);box-shadow:inset -21px -23px 35px #99825955,inset 8px 10px 20px #fff,14px 35px 55px #78552b27;opacity:.63}.orbital-ring{position:absolute;left:10%;top:12%;width:80%;height:76%;border:1px solid #b29458;border-radius:50%;box-shadow:0 2px 0 #fff7da,0 4px 0 #bca06677;transform:rotateX(64deg) rotateY(-20deg) rotateZ(var(--orbit-angle,15deg))}.orbit-two{transform:rotateX(-42deg) rotateY(42deg) rotateZ(calc(var(--orbit-angle,15deg)*-1));width:75%;left:12.5%;opacity:.55}.orbital-shadow{position:absolute;left:15%;right:15%;height:50px;bottom:9%;background:radial-gradient(ellipse,#95774533,transparent 70%);filter:blur(7px)}.countdown{display:flex;justify-content:center;align-items:center;gap:24px;margin:32px 0 18px}.countdown>div{display:flex;flex-direction:column;gap:11px;min-width:78px}.countdown strong{font:74px/1 Cormorant,serif;font-variant-numeric:lining-nums;text-shadow:0 2px #fff}.countdown span{font-size:8px;letter-spacing:.2em}.countdown>i{font:26px Cormorant,serif;opacity:.45;margin-bottom:25px}.countdown-note{font-size:10px;letter-spacing:.03em;color:#8a7045}
.rsvp-section{padding:90px 25px 100px}.rsvp-scene{position:relative;max-width:720px;min-height:480px;margin:0 auto;perspective:1500px;padding-top:30px;transition:min-height 1s var(--ease)}.rsvp-envelope{width:100%;height:345px;position:relative;transform-style:preserve-3d;transform:rotateX(12deg) rotateZ(-3deg);transition:transform 1.2s var(--ease);z-index:3}.rsvp-envelope-face{position:absolute;inset:0;background:linear-gradient(30deg,#fff6e891,#e8dfd2a6);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:3;border:1px solid #b29458}.rsvp-envelope-flap{position:absolute;inset:0;background:linear-gradient(150deg,#fff6e4ee,#dbd7d1a8),url('assets/nacre-floral.webp') center/cover;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:center top;transform-style:preserve-3d;transition:transform 1.5s var(--ease);box-shadow:0 3px #ab8b50;z-index:4}.rsvp-envelope-shadow{position:absolute;left:-5%;right:-5%;height:70px;bottom:-50px;background:radial-gradient(ellipse,#7c582d44,transparent 68%);filter:blur(7px);z-index:-1}.rsvp-seal{position:absolute;z-index:5;left:50%;top:55%;transform:translate(-50%,-50%) translateZ(15px);width:96px;height:114px;background:none;padding:0;transition:transform 1s,opacity .5s}.rsvp-seal img{width:100%;height:100%;clip-path:ellipse(47% 49% at 50% 50%);filter:drop-shadow(0 8px 5px #77522a33)}.rsvp-seal>span{position:absolute;top:calc(100% + 30px);left:50%;width:330px;transform:translateX(-50%);font:32px Pinyon,serif;white-space:nowrap}.rsvp-card{position:relative;z-index:2;max-width:570px;margin:-180px auto 0;padding:0 44px;max-height:0;opacity:0;overflow:hidden;visibility:hidden;transform:translateY(150px) rotateX(25deg);transform-origin:center bottom;transition:transform 1.5s var(--ease),opacity 1s,max-height 1.5s var(--ease),padding 1.5s var(--ease)}.rsvp-scene.is-unsealed .rsvp-envelope-flap{transform:rotateX(-170deg)}.rsvp-scene.is-unsealed .rsvp-seal{transform:translate(-50%,-180%) rotateX(-85deg);opacity:0;pointer-events:none}.rsvp-scene.is-unsealed .rsvp-envelope{transform:translateY(180px) rotateX(-8deg) rotateZ(3deg)}.rsvp-scene.is-revealed{min-height:1250px}.rsvp-scene.is-revealed .rsvp-card{max-height:1250px;opacity:1;padding:48px 44px 40px;visibility:visible;transform:translateY(-70px) rotateX(0);z-index:6}.rsvp-card .shared-monogram{width:70px;height:83px;margin-bottom:22px}.rsvp-card{text-align:center}.rsvp-card .display{font-size:90px;margin:23px 0 10px}.rsvp-message{font:23px Cormorant,serif;margin:20px 0}.rsvp-pending{margin:12px 0 28px}.demo-rsvp{text-align:left;position:relative;z-index:2}.demo-rsvp>label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:9px}.demo-rsvp>input{width:100%;border:1px solid #b89e6a88;background:#fff9;padding:14px 15px;font-size:14px;box-shadow:inset 2px 3px 7px #9a7b3d11;border-radius:0}.demo-rsvp fieldset{border:0;padding:0;margin:25px 0}.demo-rsvp legend{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.demo-rsvp fieldset label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #b79b6255;background:#fff5;margin-bottom:9px;font-size:13px}.demo-rsvp input[type=radio]{accent-color:#a17c3c;width:17px;height:17px}.seat-picker{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;margin-bottom:28px}.seat-picker>div{display:flex;align-items:center;gap:18px}.seat-picker button{width:35px;height:35px;border:1px solid #b79b6277;background:linear-gradient(#fff9ed,#e7dbc3);box-shadow:0 3px #c1aa7e55;font-size:21px;line-height:1}.seat-picker output{font:27px Cormorant,serif;min-width:14px;text-align:center}.demo-rsvp>.gold-button{width:100%}.rsvp-privacy{font-size:9px;text-align:center;margin:18px 0 0;color:#8a734d}.rsvp-card .surface-glare{z-index:1}.rsvp-card>*:not(.surface-glare){position:relative;z-index:2}.rsvp-scene.live-rsvp .demo-rsvp{display:none}.rsvp-scene.live-rsvp .rsvp-pending{display:none}.rsvp-scene.live-rsvp.is-revealed{min-height:850px}footer{position:relative;z-index:2;padding:20px 24px 35px;text-align:center;background:transparent;border:0}footer .shared-monogram{width:78px;height:92px}.footer-signature{font:59px/1.5 Pinyon,serif}.footer-signature i{font:23px Cormorant,serif;padding:0 5px}.footer-note{font-size:10px;color:#917852;margin:12px auto 22px;max-width:560px}.replay-footer{padding:9px 0;background:none;border-bottom:1px solid #b3955e55;font-size:10px}.replay-footer span{padding-left:15px}.made-by{display:block;font-size:9px;margin:35px auto 0;opacity:.65}.made-by b{font-weight:500}dialog{width:min(530px,calc(100% - 30px));max-height:90svh;padding:48px 32px 32px;background:linear-gradient(#fff5e9b8,#f6eedfb0),url('assets/nacre-floral.webp') center/cover;border:1px solid #b3955e;color:var(--ink);box-shadow:inset 0 0 0 4px #fff6e1,0 8px #c2a56c,0 35px 90px #4d341d55}dialog::backdrop{background:#66523866;backdrop-filter:blur(5px)}dialog h2{font:58px/1.1 Cormorant,serif;margin:22px 0 17px}dialog h2 em{font-family:Pinyon,serif;font-size:1.2em}dialog>p:not(.eyebrow):not(.calendar-note){font:22px/1.5 Cormorant,serif}.dialog-close{position:absolute;right:10px;top:8px;width:40px;height:40px;font:29px Cormorant,serif;background:none}.calendar-options{display:grid;gap:12px;margin:30px 0 24px}.calendar-note{font-size:10px;line-height:1.8;color:#8c734c}.rsvp-preview-dialog{text-align:center}.rsvp-preview-dialog .shared-monogram{width:65px;height:77px}.response-name{margin-top:25px}.response-summary{margin:12px 0 23px}.close-preview{margin-top:27px;width:100%}.noscript-note{text-align:center;padding:20px;position:relative;z-index:20;background:#f7eddc}.js-motion [data-reveal]{opacity:0;transform:translate3d(0,30px,0) rotateX(6deg);transform-origin:50% 100%;transition:opacity .95s var(--ease),transform 1.3s var(--ease);transition-delay:var(--delay,0ms)}.js-motion [data-reveal].shown{opacity:1;transform:none}.page-hidden *{animation-play-state:paused!important}.is-sealed .light-beam,.is-sealed .light-ripples{animation-play-state:paused}@keyframes reflection-pass{0%,10%{background-position:120% 0}85%,100%{background-position:-120% 0}}@keyframes seal-breathe{50%{transform:scale(1.05);opacity:.4}}@keyframes scroll-stroke{50%{transform:scaleY(.5);opacity:.4}}@keyframes light-travel{from{transform:translateX(-15vw) rotate(25deg)}to{transform:translateX(27vw) rotate(15deg)}}
@media(min-width:900px){.hero-scroll{left:calc(50% + 34svh);top:45svh;transform:none;background:none}.hero-scroll i{height:80px}.opening-heading{opacity:1;top:30px;left:auto;right:calc(50% + 31svh);width:22vw}.opening-heading em{font-size:38px}.opening-heading>span{font-size:9px}.seal-instruction{font-size:30px;top:calc(100% + 30px)}}
@media(max-width:900px){.story-lock{gap:20px;padding:30px 30px}.story-copy .display{font-size:73px}.memory-card{width:310px;height:410px;margin-left:-155px}.day-composition{gap:45px}.attire-layout{gap:50px}.masthead nav{gap:18px}.concept-label{display:none}.faq-section{gap:50px}.venue-layout{gap:50px}}
@media(max-width:700px){html{scroll-padding-top:77px}body{font-size:14px}.eyebrow{font-size:9px;letter-spacing:.18em}.display{font-size:68px}.display em{font-size:1.14em}.intro-copy{font-size:23px}.sample-caption{font-size:9px}.world-material{opacity:.53;background-size:auto 125%;inset:-8%;transform:translate3d(0,var(--world-y,0px),0)}.world-tint{background:linear-gradient(#faf3e4ba,#f9efdfaa)}.world-halo{opacity:.55}.light-beam{width:30%;left:0;opacity:.6}.beam-two{left:70%;width:10%;opacity:.4}.light-ripples{opacity:.07}.hero-scroll{top:calc(100svh - 75px);font-size:7px;padding-top:8px;background:#f8f0dfdb}.hero-scroll i{height:24px}.replay-video{top:calc(100svh - 62px);left:16px;padding:8px 12px}.replay-video span{display:none}.seal-hit{min-width:90px}.seal-instruction{font-size:25px;width:285px;top:calc(100% + 20px);gap:10px}.seal-instruction i{width:21px}.seal-subtitle{font-size:7px;top:calc(100% + 59px)}.opening-heading{opacity:0}.skip-opening{backdrop-filter:none;font-size:9px;right:17px;bottom:17px}.opening-status{font-size:14px;bottom:8%;background:#f7f0dfb3}.masthead{height:67px;padding:0 16px;gap:12px;backdrop-filter:none;background:#f9f2e4f0}.brand{width:38px;height:48px}.masthead nav{gap:15px;font-size:9px}.masthead nav>a[href='#venue'],.masthead nav>a[href='#details']{display:none}.nav-rsvp{padding:7px 13px}.story-section{height:205svh}.story-lock{top:67px;min-height:0;height:calc(100svh - 67px);max-height:870px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:15px 25px}.story-copy{text-align:center}.story-copy .display{font-size:58px;margin:13px 0 12px}.story-copy .intro-copy{font-size:20px;line-height:1.4}.story-copy .sample-caption{font-size:8px;margin-top:12px}.story-cabinet{width:100%;padding-top:13px;max-width:360px}.memory-stack{height:320px}.memory-card{width:250px;height:300px;margin-left:-125px}.card-face{padding:22px 22px}.memory-date{font-size:7px;margin-bottom:8px}.memory-object{transform:scale(.78);margin:-5px auto -10px;height:140px;flex-shrink:0}.pearl-envelope{width:175px;height:117px;margin:3px auto 8px;transform:scale(.85) rotate(-8deg) rotateY(-15deg)}.pearl-compass{width:122px;height:122px;margin:0 auto 1px;transform:scale(.85) rotateX(23deg) rotateZ(-17deg)}.card-front>strong{font-size:30px;margin-top:9px}.card-hint{font-size:8px;padding-top:12px}.card-back .small-monogram{width:36px;height:43px}.card-back>strong{font-size:29px;margin:13px 0}.card-back>span:not(.card-hint){font-size:17px;line-height:1.35}.story-nav{gap:20px}.story-nav button{font-size:10px;padding:3px 0}.story-nav button span{font-size:15px;margin-right:5px}.scroll-note{font-size:8px;margin-top:11px}.cabinet-floor{bottom:90px}.cabinet-halo{inset:-20%}.promise-section{padding:90px 25px 80px}.shared-monogram{width:78px;height:93px;margin-bottom:22px}.promise-heading{margin:26px 0}.promise-heading span{font-size:43px;line-height:1.25}.promise-heading em{font-size:58px;line-height:1.3;margin-top:8px}.promise-content .intro-copy{font-size:23px}.promise-content .intro-copy br{display:none}.floral-left{width:240px;height:260px;left:-150px;top:13%}.section-intro{margin-bottom:38px}.section-intro .display{margin-top:19px}.venue-section{padding:70px 25px 90px}.venue-layout{display:flex;flex-direction:column;gap:45px}.frame-stage{width:min(100%,390px)}.palace-frame{padding:18px 16px 20px}.venue-copy{text-align:center}.venue-copy h3{font-size:67px;margin-top:20px}.venue-city{font-size:33px;margin-bottom:22px}.venue-description{font-size:23px;max-width:360px}.venue-facts{justify-content:center;gap:40px;padding:20px 0}.venue-facts span{font-size:9px}.venue-facts strong{font-size:29px}.venue-copy .fine-note{font-size:10px;margin:23px auto 0}.gold-button{font-size:11px;padding:15px 22px;gap:25px;min-height:54px}.gold-link{font-size:11px}.day-section{padding:60px 24px 85px}.day-composition{display:flex;flex-direction:column;gap:50px}.day-clock{width:260px}.clock-bezel{padding:16px;transform:rotateX(12deg) rotateY(-10deg) rotateZ(-5deg)}.clock-roman{font-size:20px}.r12{top:6px;left:calc(50% - 13px)}.r3{right:10px;top:calc(50% - 15px)}.r6{bottom:6px}.r9{left:10px;top:calc(50% - 15px)}.clock-face img{width:36px;height:43px;left:calc(50% - 18px);top:63%}.clock-hand{width:4px;left:calc(50% - 2px)}.hour-hand{width:6px;left:calc(50% - 3px)}.clock-pin{width:12px;height:12px;left:calc(50% - 6px);top:calc(50% - 6px)}.day-list{width:100%}.day-event{grid-template-columns:64px 1fr 18px;gap:12px;padding:20px 10px}.day-event time{font-size:9px;padding-top:4px}.day-event strong{font-size:26px}.day-event small{font-size:17px;line-height:1.4}.day-event i{font-size:15px}.day-event.active{transform:translateX(-3px)}.interaction-note{font-size:9px;margin-top:28px;max-width:270px;margin-left:auto;margin-right:auto}.attire-section{padding:65px 25px 85px}.attire-layout{display:flex;flex-direction:column;gap:40px}.attire-copy{text-align:center}.attire-copy .intro-copy{margin:0 auto 19px}.attire-copy>p:not(.eyebrow):not(.intro-copy):not(.palette-instruction):not(.palette-caption){font-size:22px}.palette{justify-content:center;gap:16px}.palette button i{width:43px;height:43px}.palette button span{font-size:7px}.palette-instruction{font-size:9px;margin-top:26px}.palette-caption{font-size:17px;margin-top:21px}.attire-frame{width:min(100%,370px);min-height:410px}.attire-frame>p{font-size:17px;margin-bottom:25px}.attire-pedestal{bottom:45px;height:20px}.people-section{padding:60px 25px 85px}.people-grid{display:block;max-width:380px}.people-group{margin-bottom:24px;padding:5px 18px}.people-group summary{font-size:27px;padding:22px 0}.people-group strong{font-size:23px}.people-group p>span{font-size:9px}.faq-section{display:block;padding:50px 25px 85px}.faq-heading{text-align:center;margin-bottom:35px}.faq-heading .display{margin-bottom:18px}.faq-list summary{font-size:25px;padding:21px 0}.faq-list details>p{font-size:20px;padding-right:10px}.hashtag{font-size:21px;margin-top:26px}.countdown-section{padding:80px 23px;min-height:650px}.countdown-content .display{margin-top:22px}.countdown{gap:clamp(6px,3vw,12px);margin-top:26px}.countdown>div{min-width:clamp(43px,13vw,52px);gap:11px}.countdown strong{font-size:clamp(43px,13.1vw,51px)}.countdown span{font-size:6px;letter-spacing:.15em}.countdown>i{font-size:20px;margin-bottom:25px}.countdown-note{font-size:8px}.pearl-sphere{width:280px;height:280px;left:calc(50% - 140px);top:calc(50% - 140px);opacity:.55}.orbital-ring{width:120%;left:-10%;height:70%;top:15%}.orbit-two{width:110%;left:-5%}.rsvp-section{padding:75px 23px 60px}.rsvp-scene{padding-top:20px;min-height:330px}.rsvp-envelope{height:215px}.rsvp-seal{width:68px;height:81px}.rsvp-seal>span{font-size:26px;width:280px;top:calc(100% + 28px)}.rsvp-card{max-width:calc(100% - 28px);margin-top:-130px;padding:0 23px}.rsvp-scene.is-unsealed .rsvp-envelope{transform:translateY(135px) rotateX(-8deg) rotateZ(3deg)}.rsvp-scene.is-revealed .rsvp-card{padding:35px 23px 30px;transform:translateY(-25px);max-height:1200px}.rsvp-scene.is-revealed{min-height:1150px}.rsvp-card .shared-monogram{width:58px;height:69px;margin-bottom:20px}.rsvp-card .display{font-size:66px;margin:20px 0 12px}.rsvp-message{font-size:21px;margin:16px 0}.rsvp-pending{font-size:9px;margin:12px 0 23px}.demo-rsvp>label,.demo-rsvp legend{font-size:9px}.demo-rsvp>input{font-size:13px;padding:13px}.demo-rsvp fieldset label{padding:10px 7px;font-size:11px;gap:8px}.demo-rsvp input[type=radio]{width:16px;height:16px}.seat-picker{font-size:9px;gap:10px}.seat-picker>div{gap:12px}.seat-picker button{width:29px;height:29px;font-size:19px}.seat-picker output{font-size:25px}.rsvp-privacy{font-size:8px;line-height:1.7;margin-top:15px}.rsvp-scene.live-rsvp.is-revealed{min-height:750px}.footer-signature{font-size:47px}.footer-note{font-size:9px;max-width:320px;margin:15px auto 22px}footer .shared-monogram{width:60px;height:71px}.calendar-dialog,.rsvp-preview-dialog{padding:43px 23px 27px}dialog h2{font-size:49px}.calendar-note{font-size:10px}.surface-glare{opacity:.65}.fine-note{font-size:10px}}
@media(max-height:740px) and (max-width:700px){.story-copy .display{font-size:48px;margin:11px 0 8px}.story-copy .intro-copy{font-size:17px}.story-copy .sample-caption{font-size:7px;margin-top:8px}.story-lock{padding:8px 24px;gap:4px}.memory-stack{height:285px}.memory-card{height:270px;width:235px;margin-left:-117.5px}.card-face{padding:17px 20px}.memory-object{scale:.78;transform-origin:center;max-height:107px;margin:0 auto}.card-front>strong{font-size:27px}.card-hint{font-size:7px;padding-top:9px}.card-back>strong{font-size:25px}.card-back>span:not(.card-hint){font-size:16px}.card-back .small-monogram{height:35px;width:30px}.scroll-note{margin-top:7px}.story-nav{gap:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion [data-reveal]{opacity:1;transform:none}.light-beam,.hero-prism,.opening-reflection,.light-ripples{display:none}.raised-surface,.scroll-depth{transform:none!important}.hero{height:100svh;min-height:100svh}.hero-art{position:absolute;opacity:1!important;transform:none!important}.story-section{height:auto;margin-top:0;padding:60px 25px}.story-lock{position:relative;top:auto;height:auto;min-height:0;padding:0;display:block}.story-copy{text-align:center;margin-bottom:35px}.story-cabinet{max-width:400px;margin:auto}.memory-stack{height:450px}.memory-card{transition:none;transform:none!important;opacity:0!important;visibility:hidden}.memory-card.active{opacity:1!important;visibility:visible}.memory-card:not(.active){display:none}.rsvp-scene.is-unsealed .rsvp-envelope{opacity:.2}.world-material,.orbital-pearl{transform:none!important}}

/* The selected story sits above its translucent neighbours: no washed-out middle card. */
.memory-card{z-index:1}.memory-card.active{z-index:6;opacity:1!important}.card-face{background:linear-gradient(130deg,#fff9ef4d,#f2e5d52b),url('assets/nacre-floral.webp') center/cover}.card-face:after{opacity:.17;mix-blend-mode:normal}.card-front>strong,.card-back>strong,.card-back>span:not(.card-hint){color:#5b3d17;text-shadow:0 1px 0 #fff9}.memory-date,.card-hint{color:#76572e}.pearl-compass em{opacity:.22}.pearl-envelope img{clip-path:ellipse(46% 49% at 50% 50%)}
.photo-section{padding:90px clamp(25px,7vw,120px) 110px}.photo-section .section-intro{margin-bottom:50px}.photo-disclaimer{font-size:11px;margin-top:24px;color:#80633c}.photo-gallery{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;max-width:1180px;margin:auto;align-items:center}.photo-wrap:nth-child(2){margin-top:115px}.wedding-frame{padding:17px 17px 22px;background:url('assets/nacre-floral.webp') center/cover}.photo-mat{padding:14px;background:#f5eddd;border:1px solid #b99a63;box-shadow:inset 0 3px 8px #6f4b2726}.photo-mat img{width:100%;height:340px;object-fit:cover;filter:none}.photo-wrap:nth-child(2) img{height:420px;object-position:center}.wedding-frame figcaption{text-align:center;font:italic 25px Cormorant,serif;padding-top:21px}.photo-credits{max-width:700px;margin:50px auto 0;text-align:center;font-size:11px;color:#856a44}.photo-credits summary{cursor:pointer;min-height:44px;padding:10px}.photo-credits p{padding:15px;line-height:1.9}.photo-credits a{text-decoration:underline;text-underline-offset:3px}.prominent-calendar{margin-top:15px;min-height:60px;font-size:14px}
.utility-dock{position:fixed;right:24px;bottom:22px;z-index:42;display:none;gap:0;border:1px solid #a27c40;border-radius:7px;background:linear-gradient(110deg,#e6ce9f,#fbefcf 55%,#d4b77d);box-shadow:inset 0 1px #fff,0 4px 0 #b3976066,0 8px 23px #5d401b22;overflow:hidden}.has-opened .utility-dock{display:flex}.utility-dock button{min-height:48px;padding:11px 18px;background:transparent;color:#573b17;font-size:12px;display:flex;align-items:center;gap:9px}.utility-dock .dock-date{font-weight:500}.music-toggle{border-left:1px solid #a27c4066}.music-icon{font-size:19px}.utility-dock button:hover{background:#fff5}.hero-scroll{top:calc(100svh - 140px)}footer{padding-bottom:105px}
@media(max-width:700px){.photo-section{padding:60px 25px 75px}.photo-gallery{display:block;max-width:390px}.photo-wrap:nth-child(2){margin-top:45px}.wedding-frame{padding:12px 12px 20px}.photo-mat{padding:9px}.photo-mat img{height:280px}.photo-wrap:nth-child(2) img{height:330px}.wedding-frame figcaption{font-size:24px}.photo-disclaimer,.photo-credits{font-size:10px}.utility-dock{right:12px;bottom:12px}.utility-dock button{padding:10px 13px;font-size:11px;min-height:46px}.hero-scroll{top:calc(100svh - 140px)}.prominent-calendar{font-size:13px}}

/* Mobile/WebKit-safe cards: faces share one flat paint layer, never nested backfaces. */
.memory-stack{perspective:none}.memory-card{transform-style:flat;transform:translate(var(--card-x,0px),var(--card-y,0px)) rotate(var(--card-roll,0deg));isolation:isolate}.memory-core{transform-style:flat;transform:none!important;transition:none}.memory-card:not(.active) .memory-core{visibility:hidden}.memory-card:not(.active):before{content:'';position:absolute;inset:0;background:url('assets/nacre-floral.webp') center/cover;border:1px solid #b29559;box-shadow:inset 0 0 0 5px #f8efd9,inset 0 0 0 6px #b7975e88,0 5px #c2a566}.memory-card.active .card-face>*{visibility:visible!important}.card-face{backface-visibility:visible;-webkit-backface-visibility:visible;transform:none!important;background:linear-gradient(110deg,#fff9ef30,#fff9ef70),url('assets/nacre-floral.webp') center/cover}.card-face:after{display:none}.card-back{display:none}.memory-card.flipped .card-front{display:none}.memory-card.flipped .card-back{display:flex}.memory-card.is-turning .memory-core{animation:memory-turn .55s var(--ease)}.card-front>strong,.card-back>strong,.card-back>span:not(.card-hint){-webkit-text-fill-color:#563b1b;color:#563b1b;opacity:1}.pearl-envelope{transform:rotate(-7deg)}.pearl-compass{transform:rotate(-17deg)}
@keyframes memory-turn{0%{transform:scaleX(.94) rotate(-1deg)}100%{transform:scaleX(1) rotate(0deg)}}
/* Keep the door poster behind the decoder until an actual video frame is presented. */
.opening,.cinema-stage{background:#f4ecdd}.is-playing .door-poster{opacity:1}.is-playing #opening-video{opacity:0;transition:none}.is-playing.video-ready #opening-video{opacity:1}.is-handoff .door-poster{opacity:0}
/* The clock remains inside the timeline's sticky column. */
.day-composition{align-items:start}.day-clock{position:sticky;top:calc(50svh - 200px);align-self:start}
.utility-dock{right:16px;bottom:max(12px,env(safe-area-inset-bottom));border:1px solid #ad935e77;border-radius:25px;background:#faf3e7f5;box-shadow:0 2px 10px #61451e12;gap:0}.utility-dock button{min-height:42px;padding:8px 13px;font-size:11px;font-weight:400;gap:6px}.utility-dock .dock-date{font-weight:400}.utility-dock .music-toggle{border-left:1px solid #ad935e44}.music-icon{font-size:15px}.utility-dock button:hover{background:#e9dcc345}.photo-wrap:first-child img{object-position:50% 56%}
@media(max-width:700px){
 .story-lock{top:67px;height:calc(100svh - 67px);padding:12px 24px 62px;gap:9px}.story-copy .display{font-size:clamp(45px,13vw,58px);margin:10px 0}.story-copy .intro-copy{font-size:19px}.story-copy .sample-caption{margin-top:8px}.memory-stack{height:290px}.memory-card{height:280px;width:240px;margin-left:-120px}.story-cabinet{padding-top:8px}.story-nav{gap:18px}.scroll-note{margin-top:9px}.card-face{padding:20px 22px}.card-front>strong{font-size:29px}.card-back>strong{font-size:27px;margin:10px 0}.card-back>span:not(.card-hint){font-size:17px;line-height:1.35}.card-back .small-monogram{width:32px;height:38px}.memory-object{transform-style:flat}.pearl-envelope{transform:scale(.85) rotate(-7deg)}.pearl-compass{transform:scale(.85) rotate(-17deg)}
 .day-composition{display:grid;grid-template-columns:92px minmax(0,1fr);gap:15px;align-items:start}.day-clock{position:sticky;top:110px;width:92px;max-width:100%;perspective:none;margin:0}.clock-bezel{padding:7px;transform:rotate(-4deg);box-shadow:inset 0 1px #fff,0 3px #9b7b43,0 6px #d3bd8e,3px 12px 13px #73502725}.clock-roman{font-size:10px}.r12{top:1px;left:calc(50% - 6px)}.r3{right:3px;top:calc(50% - 7px)}.r6{bottom:1px;left:calc(50% - 3px)}.r9{left:3px;top:calc(50% - 7px)}.clock-face img{width:14px;height:17px;left:calc(50% - 7px);top:63%}.clock-hand{width:2px;left:calc(50% - 1px)}.hour-hand{width:3px;left:calc(50% - 1.5px)}.clock-pin{width:6px;height:6px;left:calc(50% - 3px);top:calc(50% - 3px)}.clock-shadow{display:none}.day-event{grid-template-columns:minmax(0,1fr) 16px;gap:5px;padding:19px 5px}.day-event time{grid-column:1;font-size:10px}.day-event>span{grid-column:1}.day-event>i{grid-column:2;grid-row:1/3;font-size:12px}.day-event strong{font-size:25px}.day-event small{font-size:17px}.day-event.active{transform:none}.utility-dock{right:12px;bottom:max(10px,env(safe-area-inset-bottom))}.utility-dock button{min-height:42px;padding:8px 11px;font-size:10px}.music-icon{font-size:14px}
}
@media(max-height:740px) and (max-width:700px){.story-lock{gap:3px;padding:6px 22px 53px}.story-copy .display{font-size:44px;margin:8px 0 6px}.story-copy .intro-copy{font-size:16px}.story-copy .sample-caption{font-size:7px;margin-top:6px}.story-copy .eyebrow{font-size:7px}.memory-stack{height:255px}.memory-card{height:245px;width:220px;margin-left:-110px}.card-face{padding:16px 19px}.memory-object{max-height:95px}.card-front>strong{font-size:26px;margin-top:4px}.card-back>strong{font-size:24px}.card-back>span:not(.card-hint){font-size:15px}.card-hint{padding-top:7px;font-size:7px}.card-back .small-monogram{width:24px;height:29px}.scroll-note{font-size:7px;margin-top:5px}.story-nav button{font-size:9px}.story-nav button span{font-size:14px}}
@media(max-width:350px){.day-composition{grid-template-columns:75px minmax(0,1fr);gap:12px}.day-clock{width:75px}.day-event strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.memory-card.is-turning .memory-core{animation:none}.memory-core,.memory-card.flipped .memory-core{transform:none!important}}
@media(max-width:700px){.story-cabinet{overflow:clip}.card-back{padding:15px 18px}.card-back .small-monogram{width:24px;height:29px;flex-shrink:0;margin:0 auto 3px}.card-back>strong{font-size:24px;line-height:1;margin:8px 0}.card-back>span:not(.card-hint){font-size:15px;line-height:1.3}.card-back .card-hint{font-size:7px;padding-top:6px}.memory-card.active{transform:translate(0,-9px)!important;opacity:1!important}}
@media(max-height:740px) and (max-width:700px){.card-back .small-monogram{display:none}.card-back>strong{font-size:23px;line-height:1;margin:7px 0}.card-back>span:not(.card-hint){font-size:14px;line-height:1.3}.card-back{padding:14px 17px}}
