@font-face{font-family:ChenYu LuoYan;src:url(/fonts/ChenYuluoyan-2.0-Thin.woff2) format("woff2");font-display:block;font-style:normal;font-weight:100 900}:root{color:#2b241f;background:#fffaf5;--page-background: #fffaf5;--section-background: #fffaf5;--section-padding-block: clamp(5rem, 8vw, 7.5rem);--section-padding-inline: clamp(1.25rem, 5vw, 5rem);--hero-card-margin: clamp(.9rem, 1.6vw, 1.75rem);--font-main: "ChenYu LuoYan", "Noto Serif TC", "Noto Serif CJK TC", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-romantic-cjk: var(--font-main);--font-script-cjk: var(--font-main);font-family:var(--font-main),ui-serif,Georgia,"Times New Roman",serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:320px;background:var(--page-background);font-size:1.28rem;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{appearance:none;-webkit-appearance:none}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:0}.site-shell{min-height:100vh;min-height:100svh;background:var(--page-background)}.section-divider{display:grid;place-items:center;padding-block:clamp(1.75rem,4.5vw,3.5rem);padding-inline:clamp(1.25rem,5vw,5rem);background:var(--section-background);pointer-events:none}.section-divider__art{position:relative;width:min(46rem,82vw)}.section-divider__image{display:block;width:100%;height:auto;mix-blend-mode:multiply}.section-divider--footer{min-height:auto;padding-block:clamp(2.5rem,6vw,4.5rem)}.section-divider--footer .section-divider__art{width:min(40rem,78vw)}.music-widget{position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:100}.music-control{display:inline-grid;width:3.15rem;height:3.15rem;place-items:center;border:1px solid rgba(255,250,245,.52);border-radius:999px;background:#2f292480;color:#fffaf5;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 28px #1f17122e;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.music-control:active{transform:scale(.96)}.music-control svg{width:1.15rem;height:1.15rem;fill:currentColor}.music-control--playing{background:#8a5846b8}.music-control:focus-visible{outline:0;box-shadow:0 12px 28px #1f17122e,0 0 0 4px #fffaf56b}.music-consent{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(1rem,5vw,2rem);background:#2b241f57;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.music-consent__dialog{width:min(28rem,100%);padding:clamp(1.45rem,4vw,2.1rem);border:1px solid rgba(111,73,53,.18);border-radius:1rem;background:#fffaf5f5;color:#2b241f;box-shadow:0 22px 54px #1f17123d}.music-consent__eyebrow{margin:0 0 .55rem;color:#8a5846;font-size:1.28rem;letter-spacing:.18em;text-transform:uppercase}.music-consent__dialog h2{margin:0;font-size:clamp(1.75rem,5vw,2.35rem);font-weight:500;line-height:1.18}.music-consent__dialog p{margin:0}.music-consent__dialog h2+p{margin-top:.85rem;color:#2b241fc7;font-size:clamp(1.28rem,3.8vw,1.42rem);line-height:1.8}.music-consent__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.35rem}.music-consent__actions button{min-height:2.75rem;flex:1 1 9rem;border-radius:999px;font:inherit;font-size:1.28rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.music-consent__actions button:active{transform:scale(.98)}.music-consent__actions button:focus-visible{outline:0;box-shadow:0 0 0 4px #8a58462e}.music-consent__primary{border:1px solid rgba(138,88,70,.82);background:#8a5846;color:#fffaf5}.music-consent__secondary{border:1px solid rgba(111,73,53,.22);background:#fffaf5b8;color:#4a362b}.hero{position:relative;display:grid;min-height:calc(100svh - var(--hero-card-margin) - var(--hero-card-margin));margin:var(--hero-card-margin);overflow:visible;border:1px solid rgba(111,73,53,.22);border-radius:clamp(1.1rem,3vw,2.25rem);color:#fffaf4;isolation:isolate;scroll-margin-top:var(--hero-card-margin)}.hero:after{position:absolute;inset:clamp(.5rem,1.4vw,1rem);z-index:1;border:1px solid rgba(255,250,244,.5);border-radius:clamp(.85rem,2.5vw,1.75rem);box-shadow:0 0 0 1px #462a1c14,0 0 36px #fffaf429 inset;content:"";pointer-events:none}.hero__carousel,.hero__overlay{position:absolute;inset:0}.hero__carousel{z-index:-2;overflow:hidden;border-radius:inherit}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}.hero__image--active{opacity:1}.hero__overlay{z-index:-1;border-radius:inherit;background:linear-gradient(90deg,#2719127a,#472d2242 48%,#e6bea40a),linear-gradient(0deg,#291b1442,#ffecda14),radial-gradient(circle at 50% 100%,rgba(255,250,244,.2),transparent 28rem)}.hero__content{position:relative;z-index:2;align-self:end;width:min(760px,calc(100% - 2.5rem));margin:0 auto;padding-block:6.5rem clamp(2.5rem,6vw,4.5rem);text-align:center}.hero__decoration{position:absolute;z-index:3;height:auto;object-fit:contain;opacity:.94;pointer-events:none;-webkit-user-select:none;user-select:none}.hero__decoration--top{top:clamp(-2.4rem,-2.6vw,-1rem);right:clamp(-2.3rem,-2.5vw,-.9rem);width:clamp(14rem,29vw,30rem)}.hero__decoration--bottom{bottom:clamp(-1.9rem,-2.1vw,-.8rem);left:clamp(-1.9rem,-2.1vw,-.8rem);width:clamp(17rem,36vw,38rem)}.hero__eyebrow,.hero__date{margin:0;font-size:clamp(1.28rem,2.2vw,1.48rem);font-weight:750;letter-spacing:.12em;text-transform:uppercase}.hero__names{display:flex;width:100%;align-items:end;justify-content:center;gap:clamp(.75rem,4vw,2rem);margin:.55rem auto 0;font-family:var(--font-romantic-cjk);font-size:clamp(1.85rem,7vw,4.5rem);font-weight:400;line-height:1;letter-spacing:0;white-space:nowrap}.hero__double-happiness{color:#bb1717;font-size:.76em;font-weight:800;line-height:.94}.hero__date{margin-top:1.65rem;font-family:var(--font-romantic-cjk);font-weight:500}.hero__message{max-width:37rem;margin:1.2rem auto 0;color:#fffaf4e6;font-family:var(--font-romantic-cjk);font-size:clamp(1.35rem,2.55vw,1.72rem);line-height:1.55}.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:2rem}.hero__carousel-indicators{position:absolute;z-index:4;display:flex;right:clamp(1.1rem,3vw,2rem);bottom:clamp(5rem,10vw,7rem);left:auto;flex-direction:column;align-items:center;justify-content:center;gap:.38rem}.hero__carousel-indicator{width:clamp(.34rem,.75vw,.48rem);height:clamp(.34rem,.75vw,.48rem);border:0;border-radius:50%;background:#fffaf438;cursor:pointer;padding:0;transition:background .18s ease,transform .18s ease}.hero__carousel-indicator:hover{background:#fffaf475;transform:scale(1.18)}.hero__carousel-indicator:active{transform:scale(.92)}.hero__carousel-indicator--active{background:#fffaf49e;transform:scale(1.35)}.hero__carousel-indicator:focus-visible{outline:2px solid #fffaf4;outline-offset:4px}.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;border-radius:999px;padding:.8rem 1.25rem;font-size:1.28rem;font-weight:800;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.button--primary{background:#fffaf4;color:#35261c}.button--primary:hover{background:#fff;box-shadow:0 12px 28px #1f17122e;transform:translateY(-1px)}.button--secondary{border:1px solid rgba(255,250,244,.7);color:#fffaf4}.button--secondary:hover{border-color:#fffaf4f0;background:#fffaf424;box-shadow:0 12px 28px #1f171224;transform:translateY(-1px)}.button:active{transform:scale(.98)}.button:focus-visible{outline:0;box-shadow:0 12px 28px #1f17122e,0 0 0 4px #fffaf461}.page-section{position:relative;display:grid;min-height:100svh;align-items:center;overflow:hidden;padding:var(--section-padding-block) var(--section-padding-inline);background:var(--section-background)}.section-inner{position:relative;z-index:1;width:min(1120px,100%);margin:0 auto}.section-decor{position:absolute;z-index:2;display:block;height:auto;object-fit:contain;opacity:1;mix-blend-mode:normal;pointer-events:none;-webkit-user-select:none;user-select:none}.section-decor--couple{z-index:-1;left:clamp(-2.4rem,-5vw,-1.2rem);top:50%;width:clamp(10rem,130%,17rem);opacity:.25;rotate:14deg;translate:0 -48%}.section-decor--details{right:clamp(-2.3rem,-3vw,-1rem);bottom:clamp(-2.3rem,-3vw,-1rem);width:clamp(7.3rem,11vw,10rem);rotate:5deg}.section-decor--schedule{right:clamp(0rem,2vw,1.5rem);bottom:clamp(.2rem,1.5vw,1rem);width:clamp(12rem,22vw,19rem);rotate:-4deg}.section-decor--rsvp-mail{right:clamp(-2.5rem,-4vw,-1rem);bottom:clamp(-2.5rem,-4vw,-1rem);width:clamp(6.5rem,11vw,9.5rem);rotate:7deg}.section-decor--rsvp-ring{top:clamp(-2.5rem,-4vw,-1rem);left:clamp(-2.5rem,-4vw,-1rem);width:clamp(7rem,12vw,10.5rem);rotate:-7deg}.section-inner--narrow{width:min(760px,100%);text-align:center}.section-eyebrow{margin:0 0 1rem;color:#8a5846;font-size:clamp(1.28rem,2.2vw,1.55rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.page-section h2{margin:0;color:#2d2722;font-family:var(--font-main);font-size:clamp(2.75rem,6.6vw,5.9rem);font-weight:400;line-height:.98}.page-section h3{margin:0;color:#362a24;font-size:1.5rem;line-height:1.25}.page-section p,.page-section li{color:#6a554b;font-size:clamp(1.28rem,2.15vw,1.5rem);line-height:1.75}.section-heading{display:grid;gap:1rem;justify-items:center;margin-bottom:clamp(2.5rem,6vw,5rem);text-align:center}.section-heading h2{font-size:clamp(2.6rem,6vw,5.2rem)}.section-subtitle{max-width:34rem;margin:0;color:#8a5846;font-size:clamp(1.35rem,2.35vw,1.7rem);line-height:1.5}.intro-section{min-height:100svh;background:var(--section-background)}.welcome-inner{--welcome-art-width: min(100%, 52rem);--welcome-copy-inset: clamp(1.5rem, 7vw, 6.5rem);position:relative;width:min(980px,100%)}.intro-section p:not(.section-eyebrow){position:relative;z-index:1;margin:1.2rem auto 0;width:var(--welcome-art-width);max-width:100%;padding-inline:var(--welcome-copy-inset);opacity:0;transform:translateY(.7rem)}.intro-section p:not(.section-eyebrow) span{display:block}.intro-section--visible p:not(.section-eyebrow){animation:welcome-paragraph-fade 1.45s ease both}.welcome-feature{position:relative;z-index:1;width:min(18rem,62vw);margin:clamp(-1.5rem,-2vw,-.5rem) auto clamp(1.1rem,3vw,2rem)}.welcome-feature img{display:block;width:100%;height:auto;border-radius:1.25rem;mix-blend-mode:multiply}@keyframes welcome-paragraph-fade{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.intro-section p:not(.section-eyebrow){animation:none;opacity:1;transform:none}}.countdown-section{isolation:isolate;z-index:1;overflow:visible;background:var(--section-background)}.countdown-decor{position:absolute;z-index:0;display:block;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.countdown-decor--branch{top:clamp(-2.6rem,-3vw,-1rem);left:50%;width:clamp(28rem,54vw,48rem);opacity:.45;transform:translate(-50%)}.countdown-decor--picnic{left:calc(50% + clamp(4.5rem,16vw,18.5rem));bottom:clamp(-4.5rem,-4vw,-1.5rem);width:clamp(16rem,30vw,29rem);opacity:.58;transform:translate(-50%)}.countdown-inner{position:relative;z-index:1;display:grid;min-height:calc(100svh - var(--section-padding-block) - var(--section-padding-block));align-content:center;justify-items:center;gap:clamp(1rem,2.5vw,1.8rem);text-align:center}.countdown-copy{display:grid;justify-items:center;gap:.7rem}.countdown-copy .section-eyebrow{margin-bottom:0}.countdown-copy h2{max-width:14ch;color:#4d5f3c}.countdown-copy p:not(.section-eyebrow){max-width:34rem;margin:0;color:#7c674e;font-size:clamp(1.28rem,2.2vw,1.55rem);line-height:1.55}.countdown-display{display:flex;width:min(44rem,100%);align-items:baseline;justify-content:center;gap:clamp(.8rem,2.8vw,1.9rem);padding-block:clamp(.9rem,2.5vw,1.45rem)}.countdown-unit{display:grid;min-width:4.4rem;justify-items:center;gap:.3rem}.countdown-unit strong{color:#4d5f3c;font-size:clamp(2.25rem,6.6vw,4.7rem);font-weight:500;font-variant-numeric:tabular-nums;line-height:.95}.countdown-unit span{color:#8a5846;font-size:clamp(1.28rem,1.8vw,1.42rem);font-weight:850}.countdown-complete{color:#8a5846;font-size:clamp(2.2rem,7vw,4.8rem);font-weight:500;line-height:1.1}.countdown-date{margin:0;color:#7c674e;font-size:clamp(1.28rem,2vw,1.45rem);font-weight:750;letter-spacing:.12em}@media(min-width:1180px){.countdown-decor--branch{top:-3.4rem;width:min(42vw,46rem);opacity:.38}.countdown-decor--picnic{left:calc(50% + min(15vw,17.5rem));bottom:max(-7.5rem,-6vw);width:min(25vw,27rem);opacity:.46}}.couple-section{position:relative;overflow:hidden;padding-top:calc(var(--section-padding-block) + clamp(2.5rem,7vw,6rem));background:var(--section-background);--couple-pair-gap: clamp(.75rem, 1.8vw, 1.45rem)}.couple-inner{position:relative;z-index:1;display:grid;width:min(900px,100%);gap:0}.couple-layout{display:grid;gap:clamp(2.75rem,6vw,4.8rem)}.couple-person{display:grid;grid-template-columns:minmax(11rem,.82fr) minmax(14rem,1fr);gap:var(--couple-pair-gap);align-items:center;width:min(660px,100%)}.couple-person:nth-child(1){justify-self:end}.couple-person:nth-child(2){justify-self:start}.couple-person:nth-child(2) .couple-copy{order:2}.couple-person:nth-child(2) .couple-portrait{order:1;border-radius:50% 50% 44% 56%/45% 50% 50% 55%}.couple-copy{position:relative;z-index:1;width:fit-content;max-width:min(100%,24rem);isolation:isolate}.couple-person:nth-child(1) .couple-copy,.parents-card--bride .parents-copy{justify-self:end}.couple-person:nth-child(1) .couple-portrait,.parents-card--bride .parents-photo{justify-self:start}.couple-person:nth-child(2) .couple-copy,.parents-card--groom .parents-copy{justify-self:start}.couple-person:nth-child(2) .couple-portrait,.parents-card--groom .parents-photo{justify-self:end}.couple-copy p,.parents-title{margin:0;color:#443832;font-family:var(--font-romantic-cjk);font-size:clamp(1.5rem,3.3vw,2.4rem);line-height:1}.couple-copy h3{margin-top:.5rem;color:#201916;font-family:var(--font-script-cjk);font-size:clamp(3.9rem,10vw,8.7rem);font-weight:400;line-height:.88}.couple-copy .couple-introduction{max-width:18rem;margin:1rem 0 0;color:#5d4b43;font-size:clamp(1.28rem,1.9vw,1.42rem);line-height:1.55}.couple-portrait{position:relative;width:min(100%,clamp(14rem,28vw,22rem));aspect-ratio:.82;margin:0;overflow:visible;border-radius:44% 56% 50% 50%/50% 45% 55% 50%;background:#fffaf573}.couple-portrait-frame{display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit}.couple-portrait-frame>img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}.parents-card{display:grid;grid-template-columns:minmax(11rem,.82fr) minmax(18rem,1fr);gap:var(--couple-pair-gap);align-items:center;width:min(720px,100%)}.parents-card--bride{justify-self:end}.parents-card--groom{grid-template-columns:minmax(18rem,1fr) minmax(11rem,.82fr);justify-self:start}.parents-card--bride .parents-copy{order:1}.parents-card--bride .parents-photo,.parents-card--groom .parents-copy{order:2}.parents-card--groom .parents-photo{order:1}.parents-photo{--parent-pebble-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M8 47 C6 22 26 6 51 5 C76 4 95 20 96 45 C97 69 77 88 50 88 C24 88 10 72 8 47 Z'/%3E%3C/svg%3E");width:clamp(21.6rem,33.6vw,28.8rem);max-width:min(100%,28.8rem);aspect-ratio:1.08;margin:0;overflow:hidden;background:#fffaf573;mask-image:var(--parent-pebble-mask);mask-position:center;mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-image:var(--parent-pebble-mask);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.parents-card--groom .parents-photo{--parent-pebble-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M7 45 C8 20 29 5 54 6 C80 7 96 24 95 49 C94 73 74 88 48 87 C22 86 6 70 7 45 Z'/%3E%3C/svg%3E")}.parents-photo img{width:100%;height:100%;object-fit:cover;transform-origin:center}.parents-copy{display:grid;gap:1.1rem;width:fit-content;max-width:min(100%,24rem)}.parents-title{color:#8a5846;font-weight:800}.parent-list{display:grid;gap:1rem}.parent-intro{display:grid;gap:.35rem}.parent-intro h4{margin:0;color:#201916;font-family:var(--font-script-cjk);font-size:clamp(2rem,4.3vw,3.6rem);font-weight:400;line-height:.95}.parent-intro p{max-width:18rem;margin:0;color:#5d4b43;font-size:clamp(1.28rem,1.9vw,1.42rem);line-height:1.55}.story-section{min-height:100svh;overflow:visible;padding-block:clamp(2rem,4.5svh,3.25rem);background:var(--section-background)}.story-inner{display:grid}.story-section .section-heading{margin-bottom:clamp(1rem,2.5svh,1.75rem)}.story-section .section-heading h2{font-size:clamp(2.4rem,5.2svh,4.4rem)}.story-stage{position:relative;display:grid;justify-items:center;gap:clamp(.45rem,1.1svh,.8rem);overflow:visible}.story-stack{position:relative;z-index:1;display:grid;width:min(100%,22.4rem,calc((100svh - 10rem)*.68));height:min(clamp(27.5rem,68svh,36rem),calc(100svh - 9.5rem));place-items:center;isolation:isolate;perspective:46rem;perspective-origin:50% 50%}.story-card{--story-page-duration: 1.45s;position:absolute;top:50%;left:50%;z-index:4;display:grid;width:min(100%,20.8rem,calc((100svh - 10rem)*.63));align-items:start;justify-items:center;gap:clamp(.5rem,1.15svh,.82rem);border:1px solid rgba(111,73,53,.12);border-radius:3px;padding:clamp(.48rem,1svh,.68rem) clamp(.48rem,1svh,.68rem) clamp(.85rem,2.1svh,1.2rem);background:#fffdf8;box-shadow:0 .55rem 1rem #533b271a,0 .08rem .18rem #49372d14,inset 0 0 2.4rem #a0794a12;backface-visibility:hidden;transform-style:preserve-3d;transform-origin:50% 50%;transform:translate(-50%,-50%) rotate(-1.1deg);will-change:transform,opacity,filter}.story-card--turn-next{animation:story-page-turn-next var(--story-page-duration) cubic-bezier(.2,.68,.24,1) both}.story-card--turn-previous{animation:story-page-turn-previous var(--story-page-duration) cubic-bezier(.2,.68,.24,1) both}.story-card--pile{z-index:calc(4 - var(--story-pile-level));opacity:calc(.44 - var(--story-pile-level) * .08);pointer-events:none;animation:none;transform:translate(-50%,-50%) translate(calc(var(--story-pile-level) * .72rem),calc(var(--story-pile-level) * .56rem)) rotate(calc((var(--story-pile-level) - 2) * -1.8deg)) scale(calc(1 - var(--story-pile-level) * .025))}.story-card--pile .story-card__copy p{display:none}.story-card--cover{width:min(100%,18rem,calc((100svh - 9.5rem)*.64));border:0;padding:0;background:transparent;overflow:hidden}.story-card--cover img{display:block;width:100%;height:auto;border-radius:2px}.story-card--cover img.story-cover-image--contain{object-fit:contain}.story-photo-frame{position:relative;width:100%;aspect-ratio:1;margin:0;overflow:hidden;border:0;border-radius:1px;background:radial-gradient(circle at 50% 45%,#fffdf8f5,#eee4d6c7),#eee4d6}.story-photo-frame:before{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 48%);content:"";pointer-events:none}.story-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.04;transition:opacity .9s ease,scale 4.2s ease}.story-photo-frame img.story-photo--contain{object-fit:contain}.story-photo-frame img.story-photo--active{opacity:1;scale:1}.story-photo-dots{position:absolute;right:.7rem;bottom:.7rem;z-index:3;display:flex;align-items:center;gap:.28rem;padding:.28rem .36rem;border:1px solid rgba(255,253,248,.38);border-radius:999px;background:#2d272257;box-shadow:0 .18rem .45rem #2d272224}.story-photo-dots span{display:block;width:.38rem;height:.38rem;border-radius:999px;background:#fffdf89e;transition:background .18s ease,scale .18s ease}.story-photo-dots .story-photo-dots__dot--active{background:#fffdf8;scale:1.28}.story-card__copy{display:grid;gap:.12rem;justify-items:center;text-align:center}.story-card__copy span{display:inline-block;margin-top:clamp(.14rem,.45svh,.28rem);color:#9b6a50;font-size:1.3rem;font-weight:800}.story-card__copy h3{color:#2d2722;font-size:clamp(1.8rem,4.8svh,3rem);font-weight:400;line-height:1}.story-card__copy p{max-width:24rem;margin:clamp(.12rem,.35svh,.28rem) 0 0;color:#6a554b;font-size:clamp(1.7rem,3.9svh,2.25rem);line-height:1.18}.story-card__copy p span{display:block}.story-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:clamp(.85rem,2vw,1.2rem)}.story-controls--cover{min-height:2.8rem}.story-controls button,.story-control-spacer{display:grid;width:2.8rem;height:2.8rem;place-items:center}.story-controls button{border:1px solid rgba(73,55,45,.18);border-radius:999px;background:#fffaf5eb;box-shadow:0 .6rem 1.6rem #49372d1f;color:#744231;cursor:pointer;font:inherit;font-size:1.85rem;line-height:1;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.story-control-spacer{pointer-events:none}.story-controls button:hover{background:#fffaf5;box-shadow:0 .8rem 1.8rem #49372d2e;color:#5b392d;transform:translateY(-1px)}.story-controls button:active{transform:scale(.96)}.story-controls button:focus-visible{outline:0;box-shadow:0 .8rem 1.8rem #49372d2e,0 0 0 4px #8a584629}.story-progress{display:flex;align-items:center;gap:.38rem}.story-progress span{width:.44rem;height:.44rem;border-radius:999px;background:#8a584638;transition:background .18s ease,transform .18s ease}.story-progress .story-progress__dot--active{background:#8a5846bd;transform:scale(1.45)}@keyframes story-page-turn-next{0%{opacity:0;filter:sepia(.18) brightness(.93);transform-origin:0% 50%;transform:translate(-50%,-50%) translate(1.65rem) translateY(.25rem) rotate(7deg) rotateY(18deg) skewY(-1.8deg) scale(.975)}24%{opacity:1;filter:sepia(.16) brightness(.96);transform-origin:0% 50%}64%{filter:sepia(.08) brightness(.99);transform-origin:24% 50%;transform:translate(-50%,-50%) translate(-.16rem) translateY(-.05rem) rotate(-2.1deg) rotateY(-4deg) skewY(.45deg) scale(1.003)}to{opacity:1;filter:sepia(0) brightness(1);transform-origin:50% 50%;transform:translate(-50%,-50%) translate(0) translateY(0) rotate(-1.1deg) rotateY(0) skewY(0) scale(1)}}@keyframes story-page-turn-previous{0%{opacity:0;filter:sepia(.18) brightness(.93);transform-origin:100% 50%;transform:translate(-50%,-50%) translate(-1.65rem) translateY(.25rem) rotate(-8deg) rotateY(-18deg) skewY(1.8deg) scale(.975)}24%{opacity:1;filter:sepia(.16) brightness(.96);transform-origin:100% 50%}64%{filter:sepia(.08) brightness(.99);transform-origin:76% 50%;transform:translate(-50%,-50%) translate(.16rem) translateY(-.05rem) rotate(.6deg) rotateY(4deg) skewY(-.45deg) scale(1.003)}to{opacity:1;filter:sepia(0) brightness(1);transform-origin:50% 50%;transform:translate(-50%,-50%) translate(0) translateY(0) rotate(-1.1deg) rotateY(0) skewY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.story-card--turn-next,.story-card--turn-previous{animation:none}}.details-section{background:var(--section-background)}.details-inner{display:grid;gap:0}.details-grid,.rsvp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.25rem,4vw,3rem);align-items:start}.details-grid{--details-panel-radius: 1.75rem;grid-template-columns:minmax(0,.96fr) minmax(18rem,1.04fr);align-items:stretch}.rsvp-layout{grid-template-columns:minmax(0,min(100%,38rem));justify-content:center}.detail-panel{border:1px solid rgba(73,55,45,.14);border-radius:var(--details-panel-radius);padding:clamp(1.5rem,4vw,3rem);background:#fffaf5ad}.details-copy{position:relative;display:grid;gap:clamp(1rem,2.4vw,1.7rem);align-content:center;overflow:visible}.details-copy>:not(.section-decor){position:relative;z-index:1}.details-copy h3{margin:0;color:#362a24;font-size:clamp(1.45rem,2.5vw,1.8rem);font-weight:800;line-height:1.25}.details-copy p,.details-copy li{line-height:1.5}.detail-panel ul{margin:clamp(.9rem,2vw,1.35rem) 0 0;padding-left:1.1rem}.detail-panel li{font-size:clamp(1.28rem,1.7vw,1.42rem)}.directions-list{display:grid;gap:clamp(.9rem,2vw,1.35rem);margin-top:0}.directions-list p{margin:.25rem 0 0;font-size:clamp(1.4rem,2.35vw,1.7rem)}.detail-map-panel{position:relative;height:100%;min-height:clamp(20rem,42vw,32rem);overflow:hidden;border:1px solid rgba(73,55,45,.16);border-radius:var(--details-panel-radius);background:#fffaf5;box-shadow:0 1.4rem 3rem #49372d1f}.detail-map-panel iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.84) contrast(.94)}.detail-map-link{position:absolute;right:1rem;bottom:1rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;border:1px solid rgba(73,55,45,.18);border-radius:999px;padding:.35rem 1rem;background:#fffaf5eb;box-shadow:0 .6rem 1.6rem #49372d29;color:#744231;font-weight:800;text-decoration:none;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.detail-map-link:hover{background:#fffaf5;box-shadow:0 .8rem 1.8rem #49372d33;color:#5b392d;transform:translateY(-1px)}.detail-map-link:active{transform:scale(.98)}.detail-map-link:focus-visible{outline:0;box-shadow:0 .8rem 1.8rem #49372d33,0 0 0 4px #8a584629}.text-link{display:inline-flex;border-bottom:1px solid currentColor;color:#744231;font-weight:800}.schedule-section{background:var(--section-background)}.schedule-inner{width:min(980px,100%)}.schedule-heading{align-items:center}.schedule-list{--schedule-rail-x: clamp(1.8rem, 4.25vw, 3.55rem);--schedule-dot-size: clamp(1.25rem, 2.2vw, 1.6rem);--schedule-ending-offset: clamp(5.25rem, 12vw, 9rem);--schedule-ending-center-from-bottom: clamp(1.35rem, 3.4vw, 2.45rem);position:relative;display:grid;gap:clamp(1rem,3vw,1.8rem);padding:clamp(.5rem,1vw,1rem) 0 clamp(7rem,12vw,10rem)}.schedule-rail{position:absolute;top:0;left:0;z-index:0;width:calc(var(--schedule-rail-x) * 2);height:calc(100% - var(--schedule-ending-center-from-bottom));overflow:visible;pointer-events:none}.schedule-rail__path{vector-effect:non-scaling-stroke;fill:none;stroke:#2d2722;stroke-linecap:round;stroke-linejoin:round;stroke-width:14}.schedule-item{position:relative;z-index:1;display:grid;min-height:clamp(8.5rem,15vw,10.5rem);align-items:center;column-gap:clamp(1rem,3vw,2rem);grid-template-columns:clamp(4.5rem,9vw,7rem) minmax(13rem,1fr) minmax(9rem,.8fr)}.schedule-item:before,.schedule-ending:before{position:absolute;left:var(--schedule-rail-x);z-index:1;width:var(--schedule-dot-size);height:var(--schedule-dot-size);border:clamp(.25rem,.55vw,.38rem) solid #fffaf5;border-radius:999px;background:#2d2722;box-shadow:0 .35rem .75rem #37271e33;content:"";transform:translate(-50%,-50%)}.schedule-item:before{top:50%}.schedule-card{display:grid;gap:.45rem;grid-column:2;justify-self:start;width:min(100%,27rem);border:1px solid rgba(140,93,67,.18);border-radius:1.35rem;background:#ffffff8a;box-shadow:0 .9rem 2.2rem #714a3417;padding:clamp(.95rem,2vw,1.35rem)}.schedule-item:nth-of-type(2n) .schedule-card{justify-self:end}.schedule-item:nth-of-type(2n) .schedule-scene{justify-self:start}.schedule-photo-grid{display:grid;grid-column:3;justify-self:end;width:100%;gap:clamp(.45rem,1vw,.7rem);grid-template-columns:minmax(0,1fr)}.schedule-item:nth-of-type(2n) .schedule-photo-grid{justify-self:start}.schedule-photo-button{display:block;width:100%;border:0;background:transparent;cursor:zoom-in;padding:0;text-align:inherit;transition:filter .18s ease,transform .18s ease}.schedule-photo-button:hover{filter:brightness(1.03);transform:translateY(-2px)}.schedule-photo-button:active{transform:scale(.98)}.schedule-photo-button:focus-visible{border-radius:.9rem;outline:2px solid #8a5846;outline-offset:4px}.schedule-photo{display:block;width:100%;aspect-ratio:1.45;border:.28rem solid rgba(255,250,245,.86);border-radius:.9rem;background:#fffaf5ad;box-shadow:0 .75rem 1.8rem #62583d24;object-fit:cover}.schedule-item time{color:#2d2722;font-family:var(--font-main);font-size:clamp(1.55rem,3vw,2.1rem);font-weight:850;line-height:1}.schedule-item h3{color:#2d2722;font-family:var(--font-main);font-size:clamp(1.85rem,3.6vw,2.8rem);font-weight:650;line-height:1.05}.schedule-item p{margin:.25rem 0 0;color:#70594e;font-size:clamp(1.28rem,1.8vw,1.42rem);line-height:1.45}.schedule-scene{position:relative;grid-column:3;justify-self:end;width:min(100%,15rem);aspect-ratio:1.45;border:1px solid rgba(115,143,91,.2);border-radius:1.25rem;background:radial-gradient(circle at 22% 28%,rgba(255,213,111,.56) 0 1.5rem,transparent 1.55rem),linear-gradient(180deg,#b5d7e08c,#fffaf5ad 52%,#b6ca8b75);box-shadow:0 .75rem 1.8rem #62583d1a;overflow:hidden}.schedule-scene:before{position:absolute;right:-8%;bottom:-18%;left:-8%;height:45%;border-radius:50% 50% 0 0;background:#799e605c;content:""}.schedule-scene__blanket{position:absolute;right:22%;bottom:18%;width:34%;height:18%;border:2px solid rgba(150,86,68,.5);border-radius:.35rem;background:linear-gradient(90deg,transparent 48%,rgba(255,250,245,.7) 49% 52%,transparent 53%),linear-gradient(0deg,transparent 48%,rgba(255,250,245,.7) 49% 52%,transparent 53%),#e0896fb8;rotate:-7deg}.schedule-scene__flower,.schedule-scene__flower:before,.schedule-scene__flower:after{position:absolute;width:.9rem;height:.9rem;border-radius:999px 999px 999px 0;background:#e1909ee0;content:""}.schedule-scene__flower:before{top:-.45rem;left:.1rem;rotate:54deg}.schedule-scene__flower:after{top:.1rem;left:.45rem;rotate:104deg}.schedule-scene__flower--one{right:18%;bottom:44%}.schedule-scene__flower--two{right:9%;bottom:31%;scale:.78;background:#eab54ce0}.schedule-scene__grass{position:absolute;right:6%;bottom:17%;width:27%;height:26%;border-radius:50%;background:radial-gradient(ellipse at 18% 100%,rgba(70,129,82,.72) 0 .18rem,transparent .22rem),linear-gradient(69deg,transparent 45%,rgba(70,129,82,.72) 46% 52%,transparent 53%),linear-gradient(112deg,transparent 44%,rgba(70,129,82,.72) 45% 52%,transparent 53%)}.schedule-ending{position:relative;z-index:3;margin:clamp(.25rem,2vw,1.2rem) 0 0 var(--schedule-ending-offset);color:#2d2722;font-family:var(--font-main);font-size:clamp(2rem,5vw,3.4rem);font-weight:850;line-height:1}.schedule-ending:before{left:calc(var(--schedule-rail-x) - var(--schedule-ending-offset));top:50%}.image-viewer{--image-viewer-padding: clamp(.75rem, 4vw, 2rem);position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;padding:var(--image-viewer-padding);background:#2f2924b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out}.image-viewer img{display:block;width:auto;height:auto;max-width:min(72rem,calc(100svw - var(--image-viewer-padding) * 2));max-height:calc(100svh - var(--image-viewer-padding) * 2);border:.5rem solid rgba(255,250,245,.9);border-radius:1.35rem;box-shadow:0 1.5rem 4rem #1f171257;cursor:default;object-fit:contain}.image-viewer__close{position:fixed;top:clamp(1rem,3vw,1.75rem);right:clamp(1rem,3vw,1.75rem);display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(255,250,245,.44);border-radius:999px;background:#fffaf5e0;color:#2f2924;cursor:pointer;font:inherit;font-size:1.8rem;line-height:1;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.image-viewer__close:hover{background:#fffaf5;box-shadow:0 12px 28px #1f17123d}.image-viewer__close:active{transform:scale(.94)}.image-viewer__close:focus-visible{outline:0;box-shadow:0 12px 28px #1f17123d,0 0 0 4px #fffaf557}.puzzle-section{background:var(--section-background)}.puzzle-inner{display:grid;gap:clamp(1.4rem,3vw,2.2rem)}.puzzle-identify{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);gap:clamp(1rem,3vw,1.8rem);align-items:start;border:1px solid rgba(73,55,45,.14);border-radius:8px;padding:clamp(1rem,3vw,1.5rem);background:#fffaf5ad}.puzzle-identify h3{margin:0 0 .4rem;color:#2d2722;font-size:clamp(1.35rem,3vw,1.8rem)}.puzzle-identify p{margin:0 0 .7rem;color:#6a554b;line-height:1.65}.puzzle-identify a{color:#744231;font-weight:850}.puzzle-identify__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.puzzle-identify__primary,.puzzle-identify__secondary{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;border:1px solid rgba(73,55,45,.18);border-radius:999px;padding:.35rem 1rem;background:#fffaf5eb;box-shadow:0 .6rem 1.6rem #49372d29;color:#744231;cursor:pointer;font:inherit;font-weight:800;text-decoration:none;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.puzzle-identify__primary{background:#fffaf5eb;color:#744231}.puzzle-identify__primary:hover,.puzzle-identify__secondary:hover{background:#fffaf5;box-shadow:0 .8rem 1.8rem #49372d33;color:#5b392d;transform:translateY(-1px)}.puzzle-identify__secondary{border-color:#49372d1a;background:#fffaf580;box-shadow:none;color:#744231c7}.puzzle-identify__secondary:hover{border-color:#49372d29;background:#fffaf5b8;box-shadow:0 .45rem 1rem #49372d14}.puzzle-identify__primary:active,.puzzle-identify__secondary:active{transform:scale(.98)}.puzzle-identify__primary:focus-visible,.puzzle-identify__secondary:focus-visible{outline:0;box-shadow:0 .8rem 1.8rem #49372d33,0 0 0 4px #8a584629}.puzzle-identify form{display:grid;gap:.75rem}.puzzle-identify input{width:100%;border:1px solid rgba(73,55,45,.16);border-radius:8px;background:#fffaf5f5;color:#2d2722;font:inherit;padding:.8rem .92rem}.puzzle-identify form button,.puzzle-modal__primary,.puzzle-complete button{min-height:3rem;border:0;border-radius:999px;background:#2f2924;color:#fffaf5;cursor:pointer;font:inherit;font-weight:850;box-shadow:0 12px 28px #1f171200;transition:background .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.puzzle-identify form button:not(:disabled):hover,.puzzle-modal__primary:not(:disabled):hover,.puzzle-complete button:not(:disabled):hover{background:#3f352e;box-shadow:0 12px 28px #1f171229;transform:translateY(-1px)}.puzzle-identify form button:not(:disabled):active,.puzzle-modal__primary:not(:disabled):active,.puzzle-complete button:not(:disabled):active{transform:scale(.98)}.puzzle-identify form button:focus-visible,.puzzle-modal__primary:focus-visible,.puzzle-complete button:focus-visible{outline:0;box-shadow:0 12px 28px #1f171229,0 0 0 4px #8a584629}.puzzle-identify form button:disabled,.puzzle-modal__primary:disabled,.puzzle-complete button:disabled{background:#2f292461;cursor:not-allowed;opacity:.68}.puzzle-card__start,.puzzle-rank button{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;border:1px solid rgba(73,55,45,.18);border-radius:999px;padding:.35rem 1rem;background:#fffaf5eb;box-shadow:0 .6rem 1.6rem #49372d29;color:#744231;cursor:pointer;font:inherit;font-weight:800;text-decoration:none;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.puzzle-card__start:not(:disabled):hover,.puzzle-rank button:not(:disabled):hover{background:#fffaf5;box-shadow:0 .8rem 1.8rem #49372d33;color:#5b392d;transform:translateY(-1px)}.puzzle-card__start:not(:disabled):active,.puzzle-rank button:not(:disabled):active{transform:scale(.98)}.puzzle-card__start:focus-visible,.puzzle-rank button:focus-visible{outline:0;box-shadow:0 .8rem 1.8rem #49372d33,0 0 0 4px #8a584629}.puzzle-card__start:disabled,.puzzle-rank button:disabled{cursor:not-allowed;opacity:.68}.puzzle-message{margin:0;border-radius:8px;padding:.72rem .88rem;background:#8a584624;color:#7a3f31;font-weight:750}.puzzle-rank{display:grid;width:min(100%,28rem);justify-self:center;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.25fr) auto;gap:.9rem;align-items:center;border:1px solid rgba(73,55,45,.14);border-radius:8px;padding:clamp(.9rem,2.5vw,1.2rem);background:#fffaf5ad}.puzzle-rank div{display:grid;gap:.2rem}.puzzle-rank span{color:#8a5846;font-size:1.28rem;font-weight:850}.puzzle-rank strong{color:#2d2722;font-size:clamp(1.28rem,3vw,1.75rem);line-height:1.1}.puzzle-rank p{margin:0;color:#6a554b;font-weight:750;line-height:1.45}.puzzle-stage{display:grid;justify-items:center}.puzzle-card{display:grid;overflow:hidden;border:1px solid rgba(73,55,45,.14);border-radius:8px;background:#fffaf5c7;box-shadow:0 .75rem 1.8rem #62583d14}.puzzle-card--next{width:min(100%,28rem)}.puzzle-card__image{position:relative;display:block;width:100%;aspect-ratio:4 / 5;overflow:hidden;border:0;background:#e8dfd3;padding:0}.puzzle-card__image img{width:100%;height:100%;filter:blur(10px) saturate(.8);object-fit:cover;scale:1.08;transition:filter .22s ease,scale .22s ease}.puzzle-card__image:hover img{scale:1.12}.puzzle-card--next .puzzle-card__image{cursor:default}.puzzle-card--next .puzzle-card__image:hover img{scale:1.08}.puzzle-card--unlocked .puzzle-card__image img{filter:none}.puzzle-card__image span{position:absolute;inset:auto .7rem .7rem;display:inline-grid;min-height:2rem;place-items:center;border-radius:999px;background:#2f2924c7;color:#fffaf5;font-weight:850}.puzzle-card__body{display:grid;gap:.4rem;padding:1rem 1rem .8rem}.puzzle-card__body h3{margin:0;color:#8a5846;font-size:1.28rem;font-weight:850;line-height:1.2;text-transform:uppercase}.puzzle-card__body strong{color:#2d2722;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1.18}.puzzle-card__body p{max-width:16rem;min-height:0;margin:0;color:#6a554b;font-size:1.28rem;line-height:1.45}.puzzle-card__start{position:absolute;right:.7rem;bottom:.7rem;left:.7rem;z-index:1}.puzzle-complete{display:grid;width:min(100%,36rem);justify-items:center;gap:.7rem;border:1px solid rgba(73,55,45,.14);border-radius:8px;padding:clamp(1.2rem,4vw,2rem);background:radial-gradient(circle at 50% 0%,rgba(234,181,76,.2),transparent 38%),#fffaf5bd;color:#6a554b;text-align:center}.puzzle-complete h3{margin:0;color:#2d2722;font-size:clamp(1.5rem,4vw,2.2rem)}.puzzle-complete p{margin:0}.puzzle-modal{--puzzle-modal-padding: clamp(.65rem, 3vw, 1.5rem);position:fixed;inset:0;z-index:32;display:grid;place-items:center;overflow:hidden;padding:var(--puzzle-modal-padding);background:#2f2924b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.puzzle-closet{position:fixed;inset:0;z-index:32;display:grid;place-items:center;padding:clamp(.8rem,3vw,2rem);background:#2f2924b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.puzzle-modal__panel,.puzzle-closet__panel{position:relative;display:grid;width:min(100%,42rem);gap:1rem;border:1px solid rgba(255,250,245,.38);border-radius:8px;padding:clamp(1rem,3vw,1.4rem);background:#fffaf5f5;box-shadow:0 1.5rem 4rem #1f171257}.puzzle-modal__panel{--puzzle-board-max-height: max(7rem, min(44svh, calc(100svh - 19rem) ));max-height:calc(100svh - var(--puzzle-modal-padding) * 2);gap:clamp(.55rem,1.6svh,1rem);overflow:hidden;padding:clamp(.78rem,2.3svh,1.25rem)}.puzzle-closet__panel{width:min(100%,58rem);max-height:92svh;overflow-y:auto}.puzzle-modal__panel--solved{--puzzle-board-max-height: max(8rem, min(48svh, calc(100svh - 18rem) ));overflow:hidden;background:radial-gradient(circle at 50% 8%,rgba(234,181,76,.22),transparent 34%),#fffaf5fa}.puzzle-modal__close,.puzzle-modal__help{position:absolute;top:.75rem;display:grid;width:2.4rem;height:2.4rem;place-items:center;border:1px solid rgba(73,55,45,.12);border-radius:999px;background:#fffaf5eb;color:#2f2924;cursor:pointer;font:inherit;font-size:1.6rem;line-height:1;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.puzzle-modal__close{right:.75rem}.puzzle-modal__help{right:3.55rem;font-size:1.35rem;font-weight:900}.puzzle-modal__close:hover,.puzzle-modal__help:hover{background:#fffaf5;box-shadow:0 12px 28px #1f17123d}.puzzle-modal__close:active,.puzzle-modal__help:active{transform:scale(.94)}.puzzle-modal__close:focus-visible,.puzzle-modal__help:focus-visible{outline:0;box-shadow:0 12px 28px #1f17123d,0 0 0 4px #8a584629}.puzzle-modal__copy{padding-right:2.8rem}.puzzle-modal__copy h3{margin:0 0 .35rem;color:#2d2722;font-size:clamp(1.4rem,3vw,2rem)}.puzzle-modal__copy p{margin:0;color:#6a554b;line-height:1.55}.puzzle-help{position:absolute;inset:0;z-index:5;display:grid;place-items:center;border-radius:inherit;padding:1rem;background:#2f292461;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.puzzle-help__panel{position:relative;width:min(100%,27rem);border:1px solid rgba(255,250,245,.52);border-radius:8px;padding:1.2rem 3.4rem 1.2rem 1.2rem;background:#fffaf5fa;box-shadow:0 1rem 2.4rem #1f171242}.puzzle-help__panel h3{margin:0 0 .45rem;color:#2f2924;font-size:clamp(1.45rem,3vw,1.9rem)}.puzzle-help__panel p{margin:0;color:#6a554b;line-height:1.55}.puzzle-congrats{position:relative;display:grid;justify-items:center;min-height:clamp(2.8rem,6svh,3.6rem);place-content:center;overflow:hidden;border:1px solid rgba(234,181,76,.28);border-radius:8px;padding:.55rem 1rem;background:linear-gradient(135deg,#fffaf5b8,#eab54c33),#fffaf5d1;color:#744231;text-align:center;animation:congrats-pop .52s cubic-bezier(.2,.8,.2,1)}.puzzle-congrats strong{color:#2f2924;font-size:clamp(1.38rem,3vw,1.8rem);line-height:1}.puzzle-congrats__burst{position:absolute;inset:0;pointer-events:none}.puzzle-congrats__burst span{position:absolute;left:50%;top:50%;width:.38rem;height:1.05rem;border-radius:999px;background:#d99b72;opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--burst-index) * 30deg)) translateY(-2.4rem);animation:burst-ray .9s ease-out forwards}.puzzle-congrats__burst span:nth-child(1){--burst-index: 0;background:#d99b72}.puzzle-congrats__burst span:nth-child(2){--burst-index: 1;background:#d8b24f}.puzzle-congrats__burst span:nth-child(3){--burst-index: 2;background:#7f9a6f}.puzzle-congrats__burst span:nth-child(4){--burst-index: 3;background:#c97f8a}.puzzle-congrats__burst span:nth-child(5){--burst-index: 4;background:#d99b72}.puzzle-congrats__burst span:nth-child(6){--burst-index: 5;background:#d8b24f}.puzzle-congrats__burst span:nth-child(7){--burst-index: 6;background:#7f9a6f}.puzzle-congrats__burst span:nth-child(8){--burst-index: 7;background:#c97f8a}.puzzle-congrats__burst span:nth-child(9){--burst-index: 8;background:#d99b72}.puzzle-congrats__burst span:nth-child(10){--burst-index: 9;background:#d8b24f}.puzzle-congrats__burst span:nth-child(11){--burst-index: 10;background:#7f9a6f}.puzzle-congrats__burst span:nth-child(12){--burst-index: 11;background:#c97f8a}.puzzle-board{position:relative;display:grid;width:min(100%,34rem,calc(var(--puzzle-board-max-height) * var(--puzzle-photo-aspect)));max-height:var(--puzzle-board-max-height);justify-self:center;overflow:hidden;border:.42rem solid rgba(255,250,245,.96);border-radius:8px;background:#d8cfc3;box-shadow:0 1rem 2.2rem #49372d2e}.puzzle-modal__panel--solved .puzzle-board{box-shadow:0 1rem 2.2rem #49372d2e,0 0 0 .4rem #eab54c33;animation:solved-board-glow 1.1s ease-out}.puzzle-tile{min-width:0;min-height:0;border:1px solid rgba(255,250,245,.62);background-repeat:no-repeat;cursor:pointer;padding:0;transition:filter .16s ease,transform .16s ease}.puzzle-modal__panel--solved .puzzle-tile{pointer-events:none;animation:solved-tile-merge .9s cubic-bezier(.22,1,.36,1) forwards}.puzzle-board__solved-photo{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);filter:saturate(.94) contrast(.98);animation:solved-photo-reveal 1.1s cubic-bezier(.22,1,.36,1) .18s forwards;pointer-events:none}.puzzle-tile:hover{filter:brightness(1.04)}.puzzle-tile:active{filter:brightness(1.08);transform:scale(.97)}.puzzle-tile:focus-visible{outline:0;box-shadow:inset 0 0 0 4px #fffaf5d1}.puzzle-tile--selected{filter:brightness(1.08);transform:scale(.94);box-shadow:inset 0 0 0 4px #fffaf5db}.puzzle-modal__primary{justify-self:center;min-width:min(100%,12rem);padding:0 1.4rem}.puzzle-modal__next{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.8rem,.88fr);align-items:stretch;gap:.8rem;border:1px solid rgba(138,88,70,.14);border-radius:8px;padding:.8rem;background:#fffaf5c2}.puzzle-modal__next-action{display:grid;min-width:0;align-content:center;gap:.45rem}.puzzle-modal__next span{display:block;color:#8a5846;font-size:1.28rem;font-weight:850}.puzzle-modal__next strong{display:block;color:#2f2924;font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.15}.puzzle-modal__next .puzzle-modal__primary{justify-self:start;width:min(100%,13rem)}.puzzle-modal__next-photo{width:100%;height:100%;min-height:5.8rem;max-height:8.5rem;border:.28rem solid rgba(255,250,245,.96);border-radius:8px;object-fit:cover;filter:blur(5px) saturate(.82) brightness(.88);scale:1.04;box-shadow:0 .75rem 1.6rem #49372d29}.puzzle-closet__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.8rem,1fr));gap:.8rem}.puzzle-closet__photo{position:relative;display:block;min-height:0;border:0;overflow:hidden;border-radius:8px;padding:0;background:#e8dfd3;cursor:pointer;font:inherit;aspect-ratio:4 / 5;transition:box-shadow .18s ease,transform .18s ease}.puzzle-closet__photo img{width:100%;height:100%;object-fit:cover;transition:filter .18s ease,scale .18s ease}.puzzle-closet__photo:hover img{filter:brightness(1.04);scale:1.04}.puzzle-closet__photo:hover{box-shadow:0 12px 28px #1f171229;transform:translateY(-1px)}.puzzle-closet__photo:active{transform:scale(.98)}.puzzle-closet__photo:focus-visible{outline:0;box-shadow:0 12px 28px #1f171229,0 0 0 4px #8a584629}.puzzle-closet__photo span{position:absolute;right:.45rem;bottom:.45rem;left:.45rem;display:block;border-radius:999px;padding:.32rem .55rem;background:#2f2924c2;color:#fffaf5;font-size:1.28rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.puzzle-closet__empty{margin:0;border-radius:8px;padding:1rem;background:#8a58461a;color:#6a554b;font-weight:750}.admin-page{min-height:100vh;min-height:100svh;padding:clamp(1rem,3vw,2rem);background:#f6f3ee;color:#1f2933;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem}.admin-page button,.admin-page input,.admin-page select,.admin-page textarea,.admin-page table{font:inherit}.admin-page--login{display:grid;place-items:center}.admin-login{display:grid;width:min(100%,24rem);gap:1rem;border:1px solid #d7d1c7;border-radius:8px;padding:clamp(1.25rem,4vw,2rem);background:#fffdf9;box-shadow:0 18px 48px #1f29331a}.admin-kicker{color:#7b5f49;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-login h1,.admin-header h1,.admin-panel h2{margin:0;color:#1f2933;letter-spacing:0}.admin-login h1,.admin-header h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1}.admin-login label{display:grid;gap:.35rem;color:#4f5b66;font-weight:700}.admin-login input{min-height:2.8rem;border:1px solid #c9c2b8;border-radius:6px;padding:.7rem .85rem;background:#fff;color:#1f2933}.admin-page select{min-height:2.6rem;border:1px solid #c9c2b8;border-radius:6px;padding:.55rem 2rem .55rem .75rem;background:#fff;color:#1f2933}.admin-login button,.admin-header__actions button,.admin-panel__action{min-height:2.55rem;border:1px solid #2f5d62;border-radius:6px;padding:.65rem .95rem;background:#2f5d62;color:#fff;cursor:pointer;font-weight:800}.admin-login button:disabled,.admin-panel__action:disabled{border-color:#b8b1a8;background:#b8b1a8;cursor:not-allowed}.admin-header__actions button+button{border-color:#b7472a;background:#b7472a}.admin-login button:focus-visible,.admin-header__actions button:focus-visible,.admin-panel__action:focus-visible,.admin-sort:focus-visible{outline:3px solid rgba(47,93,98,.24);outline-offset:2px}.admin-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 auto 1rem}.admin-header p,.admin-panel__heading p{margin:.35rem 0 0;color:#66727e;line-height:1.45}.admin-header__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.admin-status{margin:1rem 0;border:1px solid #d7d1c7;border-radius:6px;padding:.75rem .9rem;background:#fffdf9;color:#4f5b66}.admin-status--error{border-color:#b7472a52;background:#fff4ee;color:#92351e}.admin-status--success{border-color:#2f5d6252;background:#eef8f3;color:#244f52}.admin-tabs{display:flex;gap:.45rem;margin:0 0 1rem;overflow-x:auto;padding-bottom:.1rem;-webkit-overflow-scrolling:touch}.admin-tab{min-height:2.5rem;flex:0 0 auto;border:1px solid #d7d1c7;border-radius:999px;padding:.55rem .9rem;background:#fffdf9;color:#4f5b66;cursor:pointer;font-weight:850}.admin-tab--active{border-color:#2f5d62;background:#2f5d62;color:#fff}.admin-tab:focus-visible{outline:3px solid rgba(47,93,98,.24);outline-offset:2px}.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.admin-metric{display:grid;gap:.2rem;border:1px solid #d7d1c7;border-radius:8px;padding:.9rem;background:#fffdf9}.admin-metric span{color:#66727e;font-size:.82rem;font-weight:800;text-transform:uppercase}.admin-metric strong{color:#1f2933;font-size:2rem;line-height:1}.admin-metric__breakdown{display:grid;gap:.28rem;margin:.45rem 0 0}.admin-metric__breakdown div{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.admin-metric__breakdown dt,.admin-metric__breakdown dd{margin:0;color:#4f5b66;font-size:.82rem;line-height:1.25}.admin-metric__breakdown dt{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-metric__breakdown dd{color:#1f2933;font-weight:900}.admin-panel{border:1px solid #d7d1c7;border-radius:8px;margin-top:1rem;background:#fffdf9;overflow:hidden}.admin-panel__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid #e5dfd6;padding:1rem}.admin-panel__heading>div{min-width:0}.admin-panel h2{font-size:1.35rem}.admin-table-wrap,.admin-progress-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.admin-mobile-controls,.admin-rsvp-cards{display:none}.admin-table,.admin-progress-table{width:100%;min-width:78rem;border-collapse:collapse}.admin-progress-table{min-width:max(44rem,100%)}.admin-table th,.admin-table td,.admin-progress-table th,.admin-progress-table td{border-bottom:1px solid #eee8df;padding:.7rem .75rem;text-align:left;vertical-align:top;white-space:nowrap}.admin-table th,.admin-progress-table th{position:sticky;top:0;z-index:1;background:#f9f6f1;color:#4f5b66;font-size:.78rem;font-weight:900;text-transform:uppercase}.admin-table tbody tr:hover,.admin-progress-table tbody tr:hover{background:#fbf8f3}.admin-table__message{max-width:22rem;white-space:normal}.admin-row-actions{display:flex;width:max-content;flex-wrap:nowrap;gap:.35rem}.admin-inline-action{min-height:1.85rem;border:1px solid #c9c2b8;border-radius:6px;padding:.25rem .55rem;background:#fff;color:#2f5d62;cursor:pointer;font-size:.82rem;font-weight:850;line-height:1.1;white-space:nowrap}.admin-inline-action--danger{color:#b7472a}.admin-inline-action:disabled{color:#8a8178;cursor:not-allowed}.admin-inline-action:focus-visible{outline:3px solid rgba(47,93,98,.24);outline-offset:2px}.admin-edit-form{display:grid;gap:.85rem;border-bottom:1px solid #e5dfd6;padding:1rem;background:#fbf8f3}.admin-edit-form h3{margin:0;color:#1f2933;font-size:1.05rem;line-height:1.25}.admin-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.admin-edit-field{display:grid;min-width:0;gap:.32rem;color:#66727e;font-size:.78rem;font-weight:850}.admin-edit-field--wide{grid-column:span 2}.admin-edit-field input,.admin-edit-field select,.admin-edit-field textarea{width:100%;min-height:2.55rem;border:1px solid #c9c2b8;border-radius:6px;padding:.6rem .75rem;background:#fff;color:#1f2933}.admin-edit-field textarea{min-height:5.2rem;resize:vertical}.admin-edit-actions{display:flex;flex-wrap:wrap;gap:.55rem}.admin-sort{display:inline-flex;align-items:center;gap:.35rem;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font-weight:inherit;text-transform:inherit}.admin-sort span{border-radius:999px;padding:.12rem .38rem;background:#e3eee9;color:#2f5d62;font-size:.68rem}.admin-progress-table th:not(.admin-progress-table__guest),.admin-progress-table td:not(.admin-progress-table__guest){text-align:center}.admin-leaderboard__rank{display:inline-flex;flex:0 0 auto;border-radius:999px;padding:.2rem .48rem;background:#e3eee9;color:#2f5d62;font-size:.78rem;font-weight:900}.admin-progress-table__guest{position:sticky;left:0;z-index:2;min-width:12rem;background:inherit}.admin-progress-table__guest-name{display:flex;min-width:0;align-items:center;gap:.45rem}.admin-progress-table__guest-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-progress-table thead .admin-progress-table__guest{z-index:3;background:#f9f6f1}.admin-progress-mark{display:inline-grid;width:1.05rem;height:1.05rem;place-items:center;border:1px solid #d7d1c7;border-radius:3px;background:#f1ece4;color:transparent;font-size:.85rem;font-weight:950;line-height:1}.admin-progress-mark--solved{border-color:#2f5d62;background:#2f5d62;color:#fff}.admin-activity-list{display:grid;gap:.65rem;padding:.9rem;background:#f6f3ee}.admin-activity{display:flex;align-items:start;justify-content:space-between;gap:1rem;border:1px solid #d7d1c7;border-radius:8px;padding:.85rem;background:#fffdf9}.admin-activity__sentence,.admin-activity time,.admin-activity-list__empty{margin:0;color:#66727e;line-height:1.45}.admin-activity__sentence{min-width:0;color:#1f2933;font-weight:750;overflow-wrap:anywhere}.admin-activity time{flex:0 0 auto;color:#4f5b66;font-size:.86rem;font-weight:750;text-align:right}.admin-activity-list__empty{border:1px solid #d7d1c7;border-radius:8px;padding:.85rem;background:#fffdf9}@media(max-width:760px){.admin-page{padding:.85rem;font-size:.95rem}.admin-login{width:min(100%,22rem)}.admin-header,.admin-panel__heading{align-items:stretch;flex-direction:column;gap:.7rem}.admin-header h1,.admin-login h1{font-size:clamp(1.9rem,11vw,2.65rem)}.admin-header__actions{justify-content:stretch}.admin-header__actions button{flex:1}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.admin-tabs{margin-inline:-.1rem}.admin-tab{min-height:2.35rem;padding:.5rem .78rem;font-size:.88rem}.admin-metric{padding:.75rem}.admin-metric span{font-size:.72rem}.admin-metric strong{font-size:1.65rem}.admin-metric__breakdown dt,.admin-metric__breakdown dd{font-size:.76rem}.admin-panel{border-radius:8px}.admin-panel__heading{padding:.9rem}.admin-panel__action{width:100%}.admin-panel h2{font-size:1.18rem}.admin-table-wrap{display:none}.admin-mobile-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;border-bottom:1px solid #eee8df;padding:.8rem .9rem;background:#fbf8f3}.admin-mobile-controls label{display:grid;gap:.3rem;color:#66727e;font-size:.78rem;font-weight:800}.admin-rsvp-cards{display:grid;gap:.75rem;padding:.85rem;background:#f6f3ee}.admin-rsvp-card{display:grid;gap:.75rem;border:1px solid #d7d1c7;border-radius:8px;padding:.85rem;background:#fffdf9}.admin-rsvp-card__header{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.admin-rsvp-card__header h3{margin:0;color:#1f2933;font-size:1.18rem;line-height:1.2}.admin-rsvp-card__header p{margin:.18rem 0 0;color:#66727e;line-height:1.45}.admin-rsvp-card__header strong{flex:0 0 auto;border-radius:999px;padding:.28rem .58rem;background:#e3eee9;color:#2f5d62;font-size:.9rem}.admin-rsvp-card .admin-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-rsvp-card .admin-inline-action{width:100%}.admin-rsvp-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;margin:0}.admin-rsvp-card__detail{min-width:0}.admin-rsvp-card__detail--wide{grid-column:1 / -1}.admin-rsvp-card dt{margin:0 0 .16rem;color:#66727e;font-size:.76rem;font-weight:800}.admin-rsvp-card dd{margin:0;color:#1f2933;line-height:1.45;overflow-wrap:anywhere}.admin-progress-wrap{max-width:100%}.admin-edit-form{padding:.85rem}.admin-edit-grid{grid-template-columns:1fr;gap:.65rem}.admin-edit-field--wide{grid-column:auto}.admin-edit-actions{display:grid;grid-template-columns:1fr}.admin-edit-actions .admin-panel__action,.admin-edit-actions .admin-inline-action{width:100%}.admin-progress-table{min-width:max(38rem,100%)}.admin-progress-table th,.admin-progress-table td{padding:.58rem .55rem}.admin-progress-table__guest{min-width:8.5rem;max-width:8.5rem;white-space:normal}.admin-progress-mark{width:.92rem;height:.92rem}.admin-activity-list{padding:.75rem}.admin-activity{display:grid;gap:.45rem}.admin-activity time{text-align:left}}@keyframes congrats-pop{0%{opacity:0;transform:translateY(.35rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes burst-ray{0%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--burst-index) * 30deg)) translateY(-1.2rem) scaleY(.4)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--burst-index) * 30deg)) translateY(-4.4rem) scaleY(1)}}@keyframes solved-board-glow{0%{transform:scale(.985)}55%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes solved-tile-merge{0%{border-color:#fffaf59e;filter:brightness(1);opacity:1}42%{border-color:#fffaf52e;filter:brightness(1.05) saturate(1.02);opacity:.72}to{border-color:transparent;filter:brightness(1.02) saturate(1);opacity:0}}@keyframes solved-photo-reveal{0%{opacity:0;transform:scale(1.035);filter:saturate(.94) contrast(.98)}55%{opacity:.92}to{opacity:1;transform:scale(1);filter:saturate(1) contrast(1)}}.rsvp-section{background:var(--section-background)}.rsvp-section h2,.rsvp-section h3{color:#2d2722}.rsvp-section p{max-width:32rem;color:#6a554b}.rsvp-inner{display:grid}.rsvp-form{position:relative;display:grid;width:100%;gap:1rem;font-size:clamp(1.28rem,1.45vw,1.42rem);overflow:visible;border:1px solid rgba(73,55,45,.14);border-radius:8px;padding:clamp(2.2rem,4.5vw,3.1rem) clamp(2.1rem,4.2vw,3rem) clamp(2.35rem,4.8vw,3.3rem) clamp(2.1rem,4.2vw,3rem);background:#fffaf5ad}.rsvp-form>:not(.section-decor){position:relative;z-index:1}.rsvp-field{display:grid;gap:.55rem;color:#443832;font-weight:750}.rsvp-field:focus-within{z-index:3}.rsvp-field__label{display:block;font-size:1.08em;line-height:1.35}.rsvp-field__required{margin-left:.25rem;color:#8a5846;font-weight:850}.rsvp-form input,.rsvp-form textarea{width:100%;min-height:3.42rem;border:1px solid rgba(73,55,45,.16);border-radius:8px;background:#fffaf5f5;color:#2d2722;font:inherit;line-height:1.35;padding:.94rem 1.05rem}.rsvp-form input[aria-invalid=true],.rsvp-form textarea[aria-invalid=true]{border-color:#8a5846b8;box-shadow:0 0 0 4px #8a58461f}.rsvp-form textarea{resize:vertical}.rsvp-select{position:relative;width:100%;font-weight:400}.rsvp-select__trigger{display:flex;width:100%;min-height:3.42rem;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(73,55,45,.16);border-radius:8px;padding:.94rem 1.05rem;background:#fffaf5f5;color:#2d2722;cursor:pointer;font:inherit;text-align:left;box-shadow:0 8px 20px #49372d00;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.rsvp-select__trigger:hover,.rsvp-select--open .rsvp-select__trigger{border-color:#8a58465c;background:#fffaf5;box-shadow:0 10px 24px #49372d14}.rsvp-select__trigger:focus-visible{outline:0;border-color:#8a58468a;box-shadow:0 10px 24px #49372d14,0 0 0 4px #8a584624}.rsvp-select__trigger:active{transform:scale(.99)}.rsvp-select__trigger--placeholder{color:#2d27228a}.rsvp-select--invalid .rsvp-select__trigger{border-color:#8a5846b8;box-shadow:0 0 0 4px #8a58461f}.rsvp-select__chevron{width:.6rem;height:.6rem;flex:0 0 auto;border-right:2px solid #8a5846;border-bottom:2px solid #8a5846;transform:translateY(-.16rem) rotate(45deg);transition:transform .18s ease}.rsvp-select--open .rsvp-select__chevron{transform:translateY(.12rem) rotate(225deg)}.rsvp-select__menu{position:absolute;top:calc(100% + .45rem);right:0;left:0;z-index:20;display:grid;max-height:min(17rem,42vh);overflow-y:auto;border:1px solid rgba(111,73,53,.18);border-radius:8px;padding:.38rem;background:#fffaf5fa;box-shadow:0 18px 42px #1f171229}.rsvp-select__option{width:100%;border:0;border-radius:6px;padding:.86rem .95rem;background:transparent;color:#2d2722;cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,color .16s ease}.rsvp-select__option:hover,.rsvp-select__option:focus-visible{outline:0;background:#8a58461a}.rsvp-select__option:active{background:#8a58462e}.rsvp-select__option--selected{background:#8a584629;color:#5b392d;font-weight:750}.rsvp-status{margin:0;border-radius:8px;padding:.84rem 1rem;font-size:1.04em;font-weight:750;line-height:1.5}.rsvp-status--success{background:#6d845829;color:#4f6540}.rsvp-status--error{background:#8a584629;color:#7a3f31}.rsvp-form>button{min-height:3.35rem;border:0;border-radius:999px;background:#2f2924;color:#fffaf5;cursor:pointer;font:inherit;font-size:1.04em;font-weight:850;box-shadow:0 12px 28px #1f171200;transition:background .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.rsvp-form>button:not(:disabled):hover{background:#3f352e;box-shadow:0 12px 28px #1f171229;transform:translateY(-1px)}.rsvp-form>button:not(:disabled):active{transform:scale(.98)}.rsvp-form>button:focus-visible{outline:0;box-shadow:0 12px 28px #1f171229,0 0 0 4px #8a584629}.rsvp-form>button:disabled{background:#2f292461;cursor:not-allowed;opacity:.68}@media(max-width:720px){:root{--hero-card-margin: clamp(1.35rem, 6vw, 2.25rem)}.hero{min-height:calc(100svh - var(--hero-card-margin) - var(--hero-card-margin));border-radius:1.15rem}.hero__overlay{background:linear-gradient(180deg,#1f17122e,#1f17127a 64%,#1f1712ad),linear-gradient(90deg,#3c251b38,#ffecda0f)}.hero__content{align-self:end;width:auto;margin:0;padding:7rem 1.25rem 5rem}.hero__decoration{opacity:.88}.hero__decoration--top{top:-1.15rem;right:-1.25rem;width:min(54vw,16.5rem)}.hero__decoration--bottom{bottom:-1rem;left:-1.2rem;width:min(68vw,20rem)}.hero__carousel-indicators{right:1rem;bottom:5.25rem}.welcome-inner{--welcome-copy-inset: clamp(.75rem, 5vw, 1.5rem)}.countdown-decor--branch{top:-2rem;left:50%;width:31rem;max-width:none;opacity:.65}.countdown-decor--picnic{right:-2.8rem;bottom:.2rem;width:min(24rem,76vw);opacity:.78}.countdown-display{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.countdown-unit{min-width:0}.section-decor{opacity:1}.section-decor--couple{left:-1.25rem;top:50%;bottom:auto;width:clamp(7.25rem,145%,11rem);opacity:.25;translate:0 -48%}.section-decor--details{right:-2.2rem;bottom:-2.1rem;width:7.4rem}.section-decor--schedule{right:-2.8rem;bottom:1rem;width:11.5rem}.section-decor--rsvp-mail{right:-3rem;bottom:-2.4rem;width:7rem}.section-decor--rsvp-ring{top:-2.4rem;left:-2.8rem;width:7.2rem}}@media(max-width:460px){.hero__actions{align-items:stretch;flex-direction:column}}@media(max-width:820px){.page-section{min-height:auto;padding-block:var(--section-padding-block)}.countdown-section{min-height:max(34rem,100svh)}.intro-section{min-height:100svh}.details-grid,.rsvp-layout{grid-template-columns:1fr}.story-card{grid-template-columns:1fr;justify-items:center;text-align:center}.story-card__copy{justify-items:center}.puzzle-identify{grid-template-columns:1fr}.puzzle-rank{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.puzzle-rank p,.puzzle-rank button{grid-column:1 / -1}.details-grid{gap:clamp(2.4rem,9vw,4rem)}.detail-map-panel{display:grid;height:auto;min-height:0;gap:.75rem;overflow:visible;padding:.75rem}.detail-map-panel iframe{height:clamp(18rem,72vw,24rem);border-radius:calc(var(--details-panel-radius) - .75rem)}.detail-map-link{position:static;width:100%;min-height:3rem}.couple-section{padding-top:calc(var(--section-padding-block) + clamp(1.5rem,6vw,3rem));--couple-pair-gap: clamp(.65rem, 3vw, 1rem)}.couple-person{grid-template-columns:minmax(0,.92fr) minmax(8.5rem,1fr);width:100%;text-align:left}.couple-person:nth-child(2){grid-template-columns:minmax(8.5rem,1fr) minmax(0,.92fr)}.couple-copy h3{font-size:clamp(2.6rem,13vw,4.8rem)}.couple-copy .couple-introduction{max-width:12rem}.couple-portrait{width:min(40vw,13.5rem)}.parents-card{grid-template-columns:minmax(0,.82fr) minmax(9.5rem,1.08fr);width:100%;text-align:left}.parents-card--groom{grid-template-columns:minmax(9.5rem,1.08fr) minmax(0,.82fr)}.parents-photo{width:min(46vw,15.5rem)}.parent-intro h4{font-size:clamp(1.75rem,8vw,2.8rem)}.parent-intro p{max-width:12rem}.detail-panel{min-height:auto}.schedule-item,.schedule-item:nth-of-type(2n){min-height:auto;grid-template-columns:3.4rem minmax(0,1fr) minmax(5.5rem,.46fr);column-gap:.85rem;padding-block:.45rem}.schedule-card,.schedule-item:nth-of-type(2n) .schedule-card{justify-self:stretch;padding:.85rem}.schedule-scene,.schedule-photo-grid,.schedule-item:nth-of-type(2n) .schedule-scene,.schedule-item:nth-of-type(2n) .schedule-photo-grid{justify-self:stretch;width:100%;min-width:5.5rem}.schedule-photo{border-width:.18rem;border-radius:.65rem}.schedule-ending{--schedule-ending-offset: 4rem}}@media(max-width:560px){.puzzle-card__image{aspect-ratio:4 / 5}.puzzle-card__body p{min-height:0}.puzzle-modal{align-items:center}.puzzle-modal__next{grid-template-columns:minmax(0,1fr) minmax(5.4rem,1fr);justify-items:stretch;gap:.6rem;padding:.65rem}.puzzle-modal__next .puzzle-modal__primary{width:100%}.puzzle-modal__next-photo{min-height:5.2rem;max-height:7rem}}@media(max-width:560px)and (max-height:720px){:root{--hero-card-margin: clamp(.75rem, 3.5vw, 1.2rem);--section-padding-block: clamp(2.4rem, 8svh, 3.5rem);--section-padding-inline: clamp(.9rem, 4vw, 1.25rem)}.page-section{padding-block:var(--section-padding-block)}.section-divider{padding-block:clamp(1.15rem,7vw,2rem)}.section-divider__art{width:min(32rem,86vw)}.hero{min-height:max(28rem,calc(100svh - var(--hero-card-margin) - var(--hero-card-margin)))}.hero:after{inset:.45rem}.hero__content{padding:4.15rem .9rem 2.9rem}.hero__decoration--top{width:min(44vw,12rem)}.hero__decoration--bottom{width:min(56vw,15rem)}.hero__carousel-indicators{right:.8rem;bottom:3.7rem;flex-direction:row}.hero__eyebrow,.hero__date{font-size:1.28rem}.hero__names{gap:clamp(.45rem,2.8vw,.85rem);font-size:clamp(1.75rem,12vw,3.15rem)}.hero__date{margin-top:1rem}.hero__message{max-width:28rem;margin-top:.9rem;font-size:clamp(1.28rem,5.6vw,1.42rem);line-height:1.45}.hero__actions{margin-top:1.35rem}.button{min-height:2.75rem;padding:.7rem 1.05rem;font-size:1.28rem}.music-widget{right:max(.8rem,env(safe-area-inset-right));bottom:max(.8rem,env(safe-area-inset-bottom))}.music-control{width:2.55rem;height:2.55rem}.page-section h2,.section-heading h2{font-size:clamp(2.2rem,13vw,3.75rem);line-height:1}.section-heading{gap:.65rem;margin-bottom:clamp(1.25rem,5svh,2rem)}.section-eyebrow{margin-bottom:.65rem;font-size:clamp(1.28rem,4.8vw,1.42rem)}.page-section p,.page-section li{font-size:clamp(1.28rem,5vw,1.42rem);line-height:1.62}.intro-section,.story-section{min-height:auto}.countdown-inner{min-height:max(26rem,calc(100svh - var(--section-padding-block) - var(--section-padding-block)))}.countdown-display{padding-block:.45rem}.countdown-unit strong{font-size:clamp(1.8rem,12vw,2.9rem)}.welcome-feature{width:min(11.5rem,48vw);margin-bottom:.8rem}.intro-section p:not(.section-eyebrow){padding-inline:.25rem}.details-grid{gap:clamp(1.4rem,7vw,2.3rem)}.detail-panel{border-radius:8px;padding:clamp(1rem,5vw,1.35rem)}.detail-map-panel{--details-panel-radius: 8px}.detail-map-panel iframe{height:clamp(15rem,64vw,19rem)}.schedule-list{--schedule-rail-x: 1.25rem;--schedule-dot-size: 1rem;gap:.85rem;padding-bottom:clamp(4.6rem,18vw,6rem)}.schedule-rail{width:calc(var(--schedule-rail-x) * 2)}.schedule-item,.schedule-item:nth-of-type(2n){grid-template-columns:2.35rem minmax(0,1fr);row-gap:.65rem}.schedule-card,.schedule-photo-grid,.schedule-scene,.schedule-item:nth-of-type(2n) .schedule-card,.schedule-item:nth-of-type(2n) .schedule-photo-grid,.schedule-item:nth-of-type(2n) .schedule-scene{grid-column:2}.schedule-photo-grid,.schedule-scene,.schedule-item:nth-of-type(2n) .schedule-photo-grid,.schedule-item:nth-of-type(2n) .schedule-scene{width:min(100%,12rem);justify-self:start}.schedule-card{gap:.32rem}.schedule-item time{font-size:clamp(1.28rem,6vw,1.65rem)}.schedule-item h3{font-size:clamp(1.45rem,7vw,2rem)}.schedule-ending{--schedule-ending-offset: 2.85rem;font-size:clamp(1.7rem,9vw,2.45rem)}.story-section .section-heading{margin-bottom:.75rem}.story-stage{gap:.9rem}.story-stack{width:min(100%,17rem);height:27.6rem}.story-card{width:min(100%,15.9rem);gap:.34rem;padding:.42rem .42rem .68rem}.story-card--cover{width:min(100%,15rem)}.story-card__copy h3{font-size:clamp(1.55rem,6.5svh,2rem)}.story-card__copy p{font-size:clamp(1.32rem,4.8svh,1.56rem);line-height:1.14}.story-card__copy span{font-size:1.08rem}.story-controls button,.story-control-spacer{width:2.45rem;height:2.45rem}.rsvp-form{gap:.85rem;font-size:clamp(1.28rem,4.8vw,1.38rem);padding:clamp(1.25rem,7vw,1.8rem) clamp(1rem,5vw,1.35rem)}.rsvp-form input,.rsvp-form textarea,.rsvp-select__trigger{min-height:3.18rem;padding:.82rem .9rem}.rsvp-select__menu{max-height:min(15rem,54svh)}.image-viewer{--image-viewer-padding: .75rem;padding:.75rem}.image-viewer img{border-width:.3rem;border-radius:8px}.puzzle-modal{--puzzle-modal-padding: .65rem;align-items:center;padding:var(--puzzle-modal-padding)}.puzzle-closet{align-items:start;padding:max(.65rem,env(safe-area-inset-top)) .65rem max(.65rem,env(safe-area-inset-bottom))}.puzzle-modal__panel{--puzzle-board-max-height: max(6rem, min(38svh, calc(100svh - 17rem) ));max-height:calc(100svh - 1.3rem);gap:.55rem}.puzzle-modal__panel--solved{--puzzle-board-max-height: max(6.4rem, min(36svh, calc(100svh - 17.5rem) ))}.puzzle-closet__panel{max-height:calc(100svh - 1.3rem);gap:.75rem}}
