:root{--paper:#f4eee4;--paper-card:#fffaf2;--line:#7a2f2b;--line-strong:#5f211f;--shadow:rgba(58,25,24,.12);--bg-page-start:#fdf8f0;--bg-page-end:#ece4d9;--surface-frost-navy:rgba(245,249,255,.9);--navy-overlay:rgba(28,49,94,.72);--ornament-text:#f6f9f2;--ornament-text-muted:rgba(238,248,238,.95);--ornament-dot:rgba(238,247,236,.72);--ornament-shadow:rgba(15,37,26,.36);--navy-border:rgba(28,49,94,.95);--navy-tint:rgba(28,49,94,.07);--gold-soft:rgba(125,155,118,.94);--envelope-bg-start:#3d64b4;--envelope-bg-end:#2f519b;--envelope-panel-top-start:#3a60ad;--envelope-panel-top-end:#2f4f98;--envelope-panel-side-start:#4168b7;--envelope-panel-side-mid:#385eac;--envelope-panel-side-end:#30539d;--envelope-panel-bottom-start:#436bbb;--envelope-panel-bottom-mid:#3a61b0;--envelope-panel-bottom-end:#3258a4;--envelope-edge-width:clamp(7.5px,0.9vw,13px);--envelope-edge-half-width:clamp(3.75px,0.45vw,6.5px);--envelope-edge-shadow:rgba(18,28,64,.32);--envelope-edge-shadow-strong:rgba(9,17,42,.46);--envelope-text:#f6f8ff;--envelope-text-soft:rgba(246,248,255,.92);--envelope-stage-glow:rgba(184,209,255,.2);--envelope-shadow-top:rgba(14,28,64,.28);--envelope-shadow-side:rgba(13,24,56,.22);--envelope-shadow-bottom:rgba(11,22,52,.24);--envelope-seal-text:#2f2614;--envelope-seal-text-shadow:rgba(255,241,192,.3);--fold-top-y:42.8%;--fold-center-y:54.8%;--font-ui:"IBM Plex Sans","Segoe UI",sans-serif;--title-lg:clamp(2.15rem,6vw,3.5rem);--title-md:clamp(1.85rem,4.8vw,2.75rem);--space-xs:clamp(0.45rem,1.1vw,0.7rem);--space-sm:clamp(0.7rem,1.8vw,1.05rem);--section-gap:clamp(4.8rem,13vw,8rem);--text-xs:clamp(0.82rem,1.5vw,0.92rem);--text-sm:clamp(0.92rem,1.7vw,1rem);--text-base:clamp(1rem,1.9vw,1.1rem);--text-lg:clamp(1.35rem,3.2vw,1.72rem)}*{box-sizing:border-box}body,html{padding:0;overflow-x:hidden;background:radial-gradient(circle at 20% 10%,var(--bg-page-start) 0,var(--paper) 56%,var(--bg-page-end) 100%);color:var(--line-strong);font-family:var(--font-body);line-height:1.55}body:not(.invitation-visible) .invitation{display:none}body.scroll-locked,html.scroll-locked{overflow:hidden;overscroll-behavior:none}.language-switcher{right:clamp(1.25rem,3.4vw,2.1rem);display:inline-flex;align-items:center;gap:.12rem;padding:.16rem}.language-switcher,.music-toggle{position:fixed;top:clamp(.7rem,2.2vw,1.25rem);z-index:70;border:1px solid var(--navy-border);border-radius:999px;background:var(--surface-frost-navy);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.music-toggle{left:clamp(1.25rem,3.4vw,2.1rem);-webkit-appearance:none;-moz-appearance:none;appearance:none;width:clamp(2.34rem,4.1vw,2.62rem);aspect-ratio:1;color:var(--gold-strong);display:inline-grid;place-items:center;padding:0;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}.music-toggle:after{content:"";position:absolute;width:1px;height:1.15rem;background:currentColor;opacity:.72;transform:rotate(-45deg);transition:opacity .18s ease}.music-toggle:hover{background:var(--navy-tint)}.music-toggle:focus-visible{outline:2px solid var(--focus-ring-navy);outline-offset:1px}.music-toggle.is-playing{background:var(--gold-soft);color:#fffdf6}.music-toggle.is-playing:after{opacity:0}.music-icon-image{width:1.08rem;height:1.08rem;display:block;pointer-events:none;background:currentColor;-webkit-mask-image:url(/assets/musicIcon.png);mask-image:url(/assets/musicIcon.png);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transition:background-color .2s ease}.language-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:2.35rem;border:none;border-radius:999px;padding:.35rem .64rem;background:transparent;color:var(--ink-navy);font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:.08em;line-height:1;cursor:pointer;transition:background-color .18s ease,color .18s ease}.language-option:hover{background:var(--navy-tint)}.language-option.is-active{background:var(--gold-soft);color:#fffdf6}.language-option:focus-visible{outline:2px solid var(--focus-ring-navy);outline-offset:1px}.intro{position:fixed;inset:0;z-index:50;perspective:1800px;transition:opacity .85s ease,visibility .85s ease}.envelope-stage,.intro{background:linear-gradient(180deg,var(--envelope-bg-start) 0,var(--envelope-bg-end) 100%)}.envelope-stage{position:relative;width:100%;min-height:100svh;overflow:hidden;isolation:isolate}.envelope-stage:before{background-image:radial-gradient(circle at 50% 18%,var(--envelope-stage-glow),transparent 45%),radial-gradient(circle at 50% 86%,rgba(184,209,255,.08),transparent 46%);z-index:1}.envelope-stage:after,.envelope-stage:before{content:"";position:absolute;inset:0;pointer-events:none}.envelope-stage:after{background:radial-gradient(circle at 50% 50%,transparent 0,rgba(10,19,46,.03) 72%,rgba(9,17,41,.1) 100%);z-index:2}.flap{position:absolute;inset:0;isolation:isolate;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.9,.2,1),opacity .6s ease;will-change:transform}.flap-top{-webkit-clip-path:polygon(0 0,100% 0,50% var(--fold-top-y));clip-path:polygon(0 0,100% 0,50% var(--fold-top-y));background:radial-gradient(ellipse at 50% 101.5%,var(--envelope-edge-gold-light) 0,var(--envelope-edge-gold) 57%,var(--envelope-edge-gold-deep) 77%,transparent 80%) 50% 100% /calc(var(--envelope-edge-width) * 3.6) calc(var(--envelope-edge-width) * 2.4) no-repeat,linear-gradient(180deg,var(--envelope-panel-top-start) 0,var(--envelope-panel-top-end) 100%);box-shadow:inset 0 -18px 30px var(--envelope-shadow-top);transform-origin:center top;transition-delay:0s;z-index:7}.flap-bottom:after,.flap-bottom:before,.flap-top:after,.flap-top:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background-size:100% 100%;background-repeat:no-repeat;filter:drop-shadow(0 0 .6px var(--envelope-edge-gold-glow)) drop-shadow(0 1px 2px var(--envelope-edge-shadow)) drop-shadow(0 2px 5px var(--envelope-edge-shadow-strong))}.flap-top:before{background:linear-gradient(to bottom right,var(--envelope-edge-gold-light) 0,var(--envelope-edge-gold) 54%,var(--envelope-edge-gold-deep) 100%);clip-path:polygon(0 0,var(--envelope-edge-width) 0,calc(50% + var(--envelope-edge-half-width)) var(--fold-top-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-top-y));-webkit-clip-path:polygon(0 0,var(--envelope-edge-width) 0,calc(50% + var(--envelope-edge-half-width)) var(--fold-top-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-top-y))}.flap-top:after{background:linear-gradient(to bottom left,var(--envelope-edge-gold-light) 0,var(--envelope-edge-gold) 54%,var(--envelope-edge-gold-deep) 100%);clip-path:polygon(calc(100% - var(--envelope-edge-width)) 0,100% 0,calc(50% + var(--envelope-edge-half-width)) var(--fold-top-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-top-y));-webkit-clip-path:polygon(calc(100% - var(--envelope-edge-width)) 0,100% 0,calc(50% + var(--envelope-edge-half-width)) var(--fold-top-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-top-y))}.flap-left{-webkit-clip-path:polygon(0 0,50% var(--fold-center-y),0 100%);clip-path:polygon(0 0,50% var(--fold-center-y),0 100%);background:linear-gradient(140deg,var(--envelope-panel-side-start) 0,var(--envelope-panel-side-mid) 58%,var(--envelope-panel-side-end) 100%);box-shadow:inset -14px 0 25px var(--envelope-shadow-side);transform-origin:0 var(--fold-center-y)}.flap-left,.flap-right{transition-delay:.12s;z-index:5}.flap-right{-webkit-clip-path:polygon(100% 0,50% var(--fold-center-y),100% 100%);clip-path:polygon(100% 0,50% var(--fold-center-y),100% 100%);background:linear-gradient(220deg,var(--envelope-panel-side-start) 0,var(--envelope-panel-side-mid) 58%,var(--envelope-panel-side-end) 100%);box-shadow:inset 14px 0 25px var(--envelope-shadow-side);transform-origin:100% var(--fold-center-y)}.flap-bottom{-webkit-clip-path:polygon(0 100%,100% 100%,50% var(--fold-center-y));clip-path:polygon(0 100%,100% 100%,50% var(--fold-center-y));background:radial-gradient(ellipse at 50% -2.3%,var(--envelope-edge-gold-light) 0,var(--envelope-edge-gold) 54%,var(--envelope-edge-gold-deep) 74%,transparent 78%) 50% 0 /calc(var(--envelope-edge-width) * 3.8) calc(var(--envelope-edge-width) * 2.5) no-repeat,linear-gradient(0deg,var(--envelope-panel-bottom-start) 0,var(--envelope-panel-bottom-mid) 62%,var(--envelope-panel-bottom-end) 100%);box-shadow:inset 0 11px 22px var(--envelope-shadow-bottom),0 -1px 8px rgba(10,19,45,.16);transform-origin:center bottom;transition-delay:.2s;z-index:5}.flap-bottom:before{background:linear-gradient(to top right,var(--envelope-edge-gold-light) 0,var(--envelope-edge-gold) 54%,var(--envelope-edge-gold-deep) 100%);clip-path:polygon(0 100%,var(--envelope-edge-width) 100%,calc(50% + var(--envelope-edge-half-width)) var(--fold-center-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-center-y));-webkit-clip-path:polygon(0 100%,var(--envelope-edge-width) 100%,calc(50% + var(--envelope-edge-half-width)) var(--fold-center-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-center-y))}.flap-bottom:after{background:linear-gradient(to top left,var(--envelope-edge-gold-light) 0,var(--envelope-edge-gold) 54%,var(--envelope-edge-gold-deep) 100%);clip-path:polygon(calc(100% - var(--envelope-edge-width)) 100%,100% 100%,calc(50% + var(--envelope-edge-half-width)) var(--fold-center-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-center-y));-webkit-clip-path:polygon(calc(100% - var(--envelope-edge-width)) 100%,100% 100%,calc(50% + var(--envelope-edge-half-width)) var(--fold-center-y),calc(50% - var(--envelope-edge-half-width)) var(--fold-center-y))}.flap-note{top:clamp(3vh,5.8vw,10vh);color:var(--envelope-text);font-family:var(--font-display);font-size:clamp(2rem,5.5vw,4.8rem);line-height:.95;letter-spacing:.02em;text-shadow:0 1px 1px rgba(13,20,45,.22)}.flap-note,.flap-signature{position:absolute;left:50%;transform:translateX(-50%);z-index:2;margin:0;text-align:center;transition:transform .7s ease,opacity .45s ease}.flap-signature{bottom:clamp(5vh,6.8vw,8vh);color:var(--envelope-text-soft);font-size:clamp(1.25rem,2.7vw,2rem);letter-spacing:.04em;text-shadow:0 1px 1px rgba(12,18,43,.22)}.flap-signature strong{display:block;font-family:var(--font-heading);font-size:clamp(1.5rem,3.2vw,2.7rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.seal-button{position:absolute;left:50%;top:56%;z-index:12;transform:translate(-50%,-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;width:clamp(124px,16.4vw,188px);aspect-ratio:1326/1230;border:none;padding:0;background:transparent;display:grid;place-items:center;cursor:pointer;filter:drop-shadow(0 10px 14px var(--seal-shadow));transition:transform .24s ease,filter .24s ease,opacity .35s ease}.seal-button:before{content:"";position:absolute;inset:0;z-index:0;background:url("/assets/gold wax seal.png") 50% /contain no-repeat}.seal-button span{position:relative;z-index:1;color:var(--envelope-seal-text);font-family:var(--font-ui);font-size:clamp(1rem,1.65vw,1.35rem);font-weight:500;line-height:1.25;text-shadow:0 1px 1px var(--envelope-seal-text-shadow)}.seal-button:focus-visible,.seal-button:hover{transform:translate(-50%,-50%) scale(1.04);filter:drop-shadow(0 12px 16px var(--seal-shadow-hover))}.seal-button:focus-visible{outline:3px solid var(--envelope-seal-focus-ring);outline-offset:4px}.intro.opened .flap-top{transform:rotateX(-178deg)}.intro.opened .flap-left{transform:rotate(-7deg) translateX(-44%);opacity:.08}.intro.opened .flap-right{transform:rotate(7deg) translateX(44%);opacity:.08}.intro.opened .flap-bottom{transform:translateY(48%) rotate(2.5deg);opacity:.1}.intro.opened .flap-note{transform:translateX(-50%) translateY(-16px);opacity:0}.intro.opened .flap-signature{transform:translate(-50%,20px);opacity:0}.intro.opened .seal-button{opacity:0;transform:translate(-50%,-50%) scale(.76);pointer-events:none}.intro.fade-out{opacity:0;visibility:hidden}.invitation{--invitation-inline-padding:clamp(1rem,3.2vw,2rem);max-width:940px;min-width:min(940px,92vw);flex-shrink:0;margin:0 auto;padding:clamp(1.4rem,4vw,2.5rem) var(--invitation-inline-padding);border:1.5px solid var(--card-border);border-radius:26px;background:linear-gradient(180deg,var(--paper-card) 0,var(--paper) 100%);box-shadow:0 14px 28px var(--shadow);display:grid;grid-gap:var(--section-gap);gap:var(--section-gap);overflow-x:hidden;opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}body.invitation-visible .invitation{opacity:1;transform:translateY(0)}.calendar-section,.countdown-section,.letter-card,.letter-hero,.location-section{margin:0;padding:var(--space-sm) clamp(.3rem,1.2vw,.8rem);border:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.letter-card{gap:clamp(1.25rem,3.3vw,2rem)}.calendar-section:before,.countdown-section:before,.letter-card:before,.letter-hero:before,.location-section:before{content:none}.letter-hero{min-height:calc(100vh - clamp(1.5rem, 4vw, 2.8rem));min-height:calc(100svh - clamp(1.5rem, 4vw, 2.8rem));gap:clamp(1.1rem,3.6vw,2rem);padding-top:clamp(1.5rem,4vw,2.8rem);padding-bottom:clamp(3.8rem,8vw,5rem)}.ornament-hero{position:relative;width:min(100%,clamp(290px,60vw,560px));aspect-ratio:2/3;isolation:isolate;display:flex;align-items:stretch;justify-content:center;filter:drop-shadow(0 26px 34px var(--shadow))}.ornament-hero:before{content:"";position:absolute;inset:0;background:url("/assets/blue ornament .png") 50% /cover no-repeat}.ornament-content{position:absolute;inset:clamp(2.6rem,8.2vw,4.2rem) clamp(2.3rem,8.5vw,3.5rem) clamp(2.8rem,8.4vw,4rem);z-index:1;display:flex;flex-direction:column;text-align:center;color:var(--ornament-text);text-shadow:0 2px 8px var(--ornament-shadow)}.ornament-names{margin:clamp(.9rem,3.1vw,1.3rem) 0 0;font-family:var(--font-display);font-size:var(--title-lg);line-height:.9;color:var(--ornament-text)}.ornament-names span{display:inline-block;margin:clamp(.2rem,1vw,.45rem) 0;font-family:var(--font-serif);font-size:var(--title-lg);letter-spacing:.1em;text-transform:uppercase}.ornament-message{margin:clamp(1rem,2.6vw,1.35rem) 0 0;max-width:22ch;color:var(--ornament-text-muted);font-size:clamp(.92rem,2.15vw,1.25rem);line-height:1.44}.ornament-date{margin-top:auto;grid-gap:clamp(.3rem,1vw,.56rem);gap:clamp(.3rem,1vw,.56rem)}.ornament-date span{display:block;color:var(--ornament-text);font-family:var(--font-display);font-size:clamp(2rem,6.4vw,4.15rem);line-height:.86}.ornament-date i{width:5px;height:5px;border-radius:999px;background:var(--ornament-dot)}.scroll-indicator{bottom:calc(env(safe-area-inset-bottom) + clamp(.6rem, 2vw, 1.1rem));z-index:2;color:var(--line-muted)}.scroll-indicator__text{font-size:clamp(.72rem,1.5vw,.85rem);letter-spacing:.1em}.scroll-indicator__arrow{font-size:clamp(1.3rem,2.7vw,1.7rem)}h1,h2{margin:0;text-align:center;color:var(--line-strong);font-family:var(--font-heading);font-weight:600;line-height:1.12;letter-spacing:-.015em}h1{display:flex;align-items:center;justify-content:center;gap:clamp(.4rem,1.8vw,.85rem);font-size:var(--title-lg);font-weight:500;white-space:nowrap}.hero-title{--hero-title-size:clamp(1.62rem,7.4vw,3.72rem);display:block;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:pretty;line-height:.96;letter-spacing:.02em}.hero-title .no-break{white-space:nowrap}h2{font-size:var(--title-md)}.lead{margin:0;max-width:31ch;text-align:center;line-height:1.28;font-size:clamp(1.72rem,3.5vw,2.6rem)}.lead strong{font-weight:600}@keyframes scroll-indicator-bounce{0%,to{transform:translateY(0);opacity:.62}45%{transform:translateY(7px);opacity:1}}.calendar-section,.countdown-section,.location-section{text-align:center}.calendar-section+.location-section,.letter-card+.calendar-section,.location-section+.countdown-section{margin-top:0}.calendar-section{padding-top:clamp(.3rem,1.4vw,.8rem);padding-bottom:clamp(.8rem,2vw,1.2rem);gap:clamp(.9rem,2.1vw,1.4rem)}.calendar{width:min(720px,100%);margin:0 auto;padding:0;border:none;border-radius:0;background:transparent;display:flex;flex-direction:column;gap:clamp(.55rem,1.6vw,.95rem)}.calendar-head{order:3;padding:clamp(.35rem,1.5vw,.8rem) 0 0;color:var(--ink-navy);font-family:var(--font-script);font-size:clamp(3.35rem,8.5vw,6.05rem);letter-spacing:.012em;line-height:.88;text-transform:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:min(470px,100%);margin:0 auto;align-items:center;justify-items:center}.week-days span{padding:0;font-family:var(--font-serif);font-size:clamp(1.7rem,2.7vw,2.25rem);letter-spacing:.02em;font-weight:500}.week-days span:last-child{font-weight:500}.days span{min-height:clamp(48px,5.8vw,64px);font-family:var(--font-serif);font-size:clamp(2rem,3.8vw,2.65rem);line-height:1}.days .heart-cell,.days span{display:grid;place-items:center}.days .heart-cell{min-height:clamp(78px,10vw,114px)}.heart-day{width:clamp(76px,10.6vw,124px);height:clamp(68px,9.8vw,112px);background:none;isolation:isolate;animation:calendar-heart-pulse 2.8s ease-in-out infinite}.heart-day:before{content:"";position:absolute;inset:14%;border-radius:999px;background:radial-gradient(circle,rgba(125,155,118,.42) 0,rgba(125,155,118,.18) 46%,transparent 74%);z-index:0;animation:calendar-heart-halo 2.8s ease-out infinite}.heart-day:after{content:"";position:absolute;inset:0;z-index:1;background:url(/assets/gold\ heart.png) 50%/contain no-repeat;filter:saturate(.52) hue-rotate(46deg) brightness(.92) contrast(1.02);pointer-events:none}.heart-day>span{position:relative;z-index:2;color:var(--ink-navy);font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.75rem);font-weight:600}@keyframes calendar-heart-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(125,155,118,0))}50%{transform:scale(1.16);filter:drop-shadow(0 0 22px rgba(125,155,118,.36))}}@keyframes calendar-heart-halo{0%,to{transform:scale(.78);opacity:.52}60%{transform:scale(1.42);opacity:0}}.location-title{margin:0;padding:0;color:var(--ink-navy);font-family:var(--font-script);font-size:clamp(3.1rem,7.9vw,5.3rem);font-weight:400;line-height:.9;letter-spacing:.01em;text-transform:none;white-space:normal;max-width:min(16ch,100%)}.venue-address,.venue-name{color:var(--ink-navy);font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.15rem);font-weight:500;line-height:1.24}.venue-name{margin:0;max-width:16ch;font-size:clamp(2.2rem,4.8vw,3.65rem);letter-spacing:.06em;line-height:1.08}.venue-address{margin:0;max-width:26ch;font-size:clamp(1.45rem,3.2vw,2.3rem);letter-spacing:.01em}.venue-address+.venue-address{max-width:30ch;font-size:clamp(1.25rem,2.45vw,1.9rem);opacity:.9}.map-links{margin-top:clamp(1.15rem,3.1vw,2.2rem);width:min(720px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;grid-gap:clamp(.65rem,1.8vw,1rem);gap:clamp(.65rem,1.8vw,1rem)}.map-link{display:inline-grid;place-items:center;min-height:clamp(58px,7.4vw,78px);margin-top:0;padding:.75rem 1.3rem;border:2px solid var(--navy-border);border-radius:22px;text-decoration:none;color:var(--ink-navy);background:transparent;font-family:var(--font-serif);font-size:clamp(1.28rem,2.4vw,1.9rem);font-weight:500;letter-spacing:.03em;box-shadow:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}.map-link:focus-visible,.map-link:hover{transform:translateY(-2px);background:var(--navy-tint);box-shadow:none}.location-section{width:min(780px,100%);margin:0 auto;padding-top:clamp(1rem,2.4vw,1.7rem);gap:clamp(.72rem,2vw,1.35rem)}.location-section:before{content:"";display:block;width:min(700px,100%);height:clamp(250px,34vw,330px);margin:0 auto clamp(.12rem,.7vw,.35rem);border:none;border-radius:0;background:url(/assets/red\ building.png) top/100% auto no-repeat;box-shadow:none}.countdown{display:flex;align-items:flex-end;justify-content:center;gap:clamp(.38rem,1.5vw,1.1rem)}.time-unit{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-right:clamp(.26rem,.8vw,.62rem)}.time-unit:not(:last-child):after{content:":";position:absolute;top:clamp(.2rem,1vw,.7rem);right:calc(clamp(.32rem, 1vw, .7rem) * -1)}.time-unit span{display:block}.time-unit small{margin-top:clamp(.12rem,.45vw,.28rem);min-height:var(--label-row-height);display:flex;align-items:flex-start;line-height:1.1}.countdown-section h2{line-height:.9;font-size:clamp(3.15rem,9vw,7rem)}.countdown-message{margin:clamp(.8rem,2.2vw,1.4rem) 0 0}.countdown-section{padding-top:clamp(1rem,2.8vw,1.9rem)}.countdown-section:after{content:"";display:block;width:min(700px,100%);height:clamp(250px,34vw,330px);margin-top:clamp(1rem,3.2vw,2.1rem);background:url(/assets/red\ ring.png) 50%/100% auto no-repeat;opacity:.98}.invite-credit{margin:0;padding:var(--space-sm) 0 var(--space-xs);display:flex;align-items:center;justify-content:center;gap:.3rem;text-align:center;color:var(--line-strong);font-family:var(--font-ui);font-size:clamp(.84rem,1.7vw,.96rem);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.invite-credit-link{color:var(--line-strong);text-decoration:none;border-bottom:1px solid var(--credit-border);transition:color .18s ease,border-color .18s ease}.invite-credit-link:focus-visible,.invite-credit-link:hover{color:var(--line);border-bottom-color:var(--accent-tint-strong)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .78s ease,transform .78s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:860px){.flap-note{top:clamp(3vh,8vw,8vh);font-size:clamp(2rem,9vw,3.8rem)}.flap-signature{bottom:clamp(4.8vh,9vw,7vh);font-size:clamp(1rem,3.8vw,1.45rem)}.flap-signature strong{font-size:clamp(1.02rem,4.6vw,1.65rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase}}@media (max-width:740px){:root{--fold-top-y:44.6%;--fold-center-y:56.2%;--envelope-edge-width:clamp(5.4px,1.2vw,9.6px);--envelope-edge-half-width:clamp(2.7px,0.6vw,4.8px)}.seal-button{top:56.5%}.invitation{width:100%;max-width:none;margin:0;border-radius:0;padding:clamp(1rem,4vw,1.5rem);gap:clamp(3.8rem,15vw,5.8rem)}.letter-hero{min-height:calc(100svh - 1.2rem);justify-content:flex-start;padding-top:clamp(3.7rem,13vw,6rem);padding-bottom:clamp(4.2rem,10vw,5.6rem)}.ornament-hero{width:min(100%,470px)}.ornament-content{inset:clamp(2.25rem,9vw,3.4rem) clamp(2rem,9.8vw,3.1rem) clamp(2.35rem,10.3vw,3.5rem)}h1{font-size:clamp(1.68rem,8.1vw,2.35rem)}.hero-title{font-size:clamp(2.88rem,14.8vw,5.5rem)}.lead{max-width:24ch;font-size:clamp(1.58rem,6vw,2.1rem)}.week-days span{font-size:clamp(1.4rem,4.6vw,1.8rem)}.days span{min-height:clamp(42px,10.5vw,60px);font-size:clamp(1.7rem,6.2vw,2.4rem)}.days .heart-cell{min-height:clamp(70px,16vw,98px)}.heart-day{width:clamp(66px,14.5vw,94px);height:clamp(60px,13vw,86px)}.heart-day>span{font-size:clamp(1.7rem,6.4vw,2.3rem)}.calendar-head{font-size:clamp(2.75rem,13vw,4.8rem)}.location-section{width:min(640px,100%);gap:clamp(.62rem,1.8vw,1rem)}.location-section:before{width:min(620px,100%);height:clamp(200px,48vw,280px);margin-bottom:clamp(.08rem,.6vw,.28rem)}.location-title{font-size:clamp(2.55rem,12vw,4.4rem)}.venue-name{max-width:16ch;font-size:clamp(1.85rem,6.8vw,2.75rem);letter-spacing:.04em}.venue-address{max-width:23ch;font-size:clamp(1.18rem,5vw,1.78rem)}.venue-address+.venue-address{font-size:clamp(1.05rem,3.6vw,1.42rem)}.map-links{grid-template-columns:1fr;gap:.66rem}.map-link{min-height:clamp(52px,9.2vw,68px);font-size:clamp(1.02rem,4.2vw,1.42rem);border-radius:18px}.countdown{--label-row-height:clamp(18px,3.5vw,26px);gap:clamp(.28rem,1.3vw,.64rem)}.countdown-section{width:min(680px,100%);gap:clamp(.58rem,1.9vw,1rem)}.countdown-section h2{max-width:14ch;font-size:clamp(2.65rem,11.5vw,4.6rem)}.time-unit{min-width:clamp(52px,13vw,88px);padding-right:clamp(.18rem,.85vw,.44rem)}.time-unit:not(:last-child):after{top:clamp(.06rem,.5vw,.25rem);right:calc(clamp(.2rem, .7vw, .46rem) * -1)}.time-unit span,.time-unit:not(:last-child):after{font-size:clamp(2rem,7.2vw,3.5rem)}.time-unit small{font-size:clamp(.9rem,2.9vw,1.28rem)}.countdown-message{margin-top:clamp(.65rem,1.8vw,.95rem);font-size:clamp(.92rem,2.8vw,1.22rem)}.countdown-section:after{width:min(620px,100%);height:clamp(200px,48vw,280px);margin-top:clamp(.7rem,2.6vw,1.4rem)}}@media (max-width:480px){:root{--fold-top-y:46%;--fold-center-y:57.1%;--envelope-edge-width:clamp(4.2px,1.5vw,7.2px);--envelope-edge-half-width:clamp(2.1px,0.75vw,3.6px)}.language-switcher{top:.62rem;right:1.12rem}.music-toggle{top:.62rem;left:1.12rem}.language-option{min-width:2.18rem;padding:.33rem .55rem;font-size:.68rem}.flap-note{top:4.6vh;font-size:clamp(1.75rem,9vw,2.6rem)}.flap-signature{bottom:4.5vh;font-size:.98rem}.flap-signature strong{font-size:clamp(.86rem,5.8vw,1.35rem)}.letter-hero{min-height:calc(100svh - .7rem);padding-top:clamp(4.2rem,15vw,5.4rem)}.ornament-hero{width:min(100%,350px);filter:drop-shadow(0 16px 20px var(--shadow))}.ornament-content{inset:clamp(1.9rem,10vw,2.65rem) clamp(1.65rem,9vw,2.15rem) clamp(1.95rem,10.5vw,2.8rem)}.ornament-message{max-width:20ch;font-size:clamp(.8rem,3.6vw,.94rem)}.ornament-date span{font-size:clamp(1.72rem,9.7vw,2.5rem)}h1{font-size:clamp(1.4rem,8vw,1.95rem)}.hero-title{font-size:clamp(2.52rem,14.8vw,4.25rem)}.lead{max-width:22ch;line-height:1.3;font-size:clamp(1.38rem,7vw,1.76rem)}.week-days span{font-size:clamp(1.12rem,5vw,1.35rem)}.days span{min-height:clamp(38px,11vw,52px);font-size:clamp(1.42rem,6.5vw,1.9rem)}.days .heart-cell{min-height:clamp(62px,18vw,84px)}.heart-day{width:clamp(60px,16vw,80px);height:clamp(54px,14vw,72px)}.heart-day>span{font-size:clamp(1.36rem,7vw,1.78rem)}.calendar-head{font-size:clamp(2.45rem,12.8vw,3.7rem)}.location-section:before{height:clamp(165px,52vw,230px);border-radius:0}.location-title{font-size:clamp(2.18rem,14.2vw,3.55rem)}.venue-name{font-size:clamp(1.52rem,7.4vw,2.25rem);letter-spacing:.03em}.venue-address{max-width:21ch;font-size:clamp(1.03rem,5.4vw,1.42rem)}.venue-address+.venue-address{font-size:clamp(.95rem,4.5vw,1.16rem)}.map-link{min-height:clamp(47px,11vw,60px);font-size:clamp(.9rem,4.8vw,1.1rem);border-width:1.5px;border-radius:14px;letter-spacing:.02em}.countdown-section h2{font-size:clamp(2.2rem,14.8vw,3.45rem);line-height:.92}.countdown{--label-row-height:clamp(16px,3.8vw,20px);gap:clamp(.12rem,.8vw,.32rem);width:min(98vw,100%)}.time-unit{min-width:clamp(42px,12.2vw,68px);padding-right:clamp(.08rem,.5vw,.2rem)}.time-unit:not(:last-child):after{right:calc(clamp(.08rem, .5vw, .2rem) * -1);top:clamp(.1rem,.9vw,.24rem)}.time-unit span,.time-unit:not(:last-child):after{font-size:clamp(1.52rem,7.8vw,2.25rem)}.time-unit small{font-size:clamp(.72rem,3.2vw,.92rem);letter-spacing:0}.countdown-message{font-size:clamp(.8rem,3.8vw,1rem)}.countdown-section:after{width:min(100%,620px);height:clamp(165px,52vw,230px);margin-top:clamp(.5rem,2.1vw,1rem)}}:root{--paper:#fffdf6;--paper-card:#fffdf6;--bg-page-start:#fffdf6;--bg-page-end:#f6f2e7;--ink-navy:#262626;--ink-navy-soft:#4f4f4f;--line:#6c6c6c;--line-strong:#262626;--line-muted:rgba(84,84,84,.84);--accent-tint-strong:rgba(125,155,118,.72);--focus-ring-navy:rgba(125,155,118,.4);--gold-soft:rgba(125,155,118,.92);--gold-strong:rgba(112,142,106,.98);--navy-border:hsla(0,0%,42%,.72);--navy-tint:rgba(125,155,118,.08);--surface-frost-navy:rgba(255,253,246,.9);--shadow:rgba(23,32,24,.1);--seal-shadow:rgba(25,36,27,.28);--seal-shadow-hover:rgba(25,36,27,.34);--card-border:rgba(125,155,118,.16);--credit-border:rgba(125,155,118,.36);--envelope-bg-start:#3b507d;--envelope-bg-end:#2a4888;--envelope-panel-top-start:#3f5c92;--envelope-panel-top-end:#375189;--envelope-panel-side-start:#405d94;--envelope-panel-side-mid:#3b568e;--envelope-panel-side-end:#354f86;--envelope-panel-bottom-start:#3f5c93;--envelope-panel-bottom-mid:#39558c;--envelope-panel-bottom-end:#344e85;--envelope-edge-gold-light:#dbe3d3;--envelope-edge-gold:#9bb18f;--envelope-edge-gold-deep:#617756;--envelope-edge-gold-glow:hsla(98,20%,76%,.3);--envelope-seal-text:#262626;--envelope-seal-text-shadow:rgba(236,244,232,.28);--envelope-seal-focus-ring:rgba(125,155,118,.48);--font-body:"Cormorant Garamond","Times New Roman",serif;--font-heading:"Cormorant Garamond","Times New Roman",serif;--font-serif:"Cormorant Garamond","Times New Roman",serif;--font-script:"Great Vibes","Brush Script MT",cursive;--font-display:"Great Vibes","Brush Script MT",cursive;--font-ornament:"Corinthia","Great Vibes","Brush Script MT",cursive}body,html{background:#fffdf6;color:var(--ink-navy);letter-spacing:.01em}.language-switcher,.music-toggle{border:1px solid var(--navy-border);border-radius:10px;background:var(--surface-frost-navy);box-shadow:0 10px 26px rgba(17,34,80,.12);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.language-switcher{gap:.2rem;padding:.22rem}.music-toggle{border-radius:10px}.music-toggle:after{background:hsla(0,0%,42%,.85)}.language-option{border-radius:7px;padding:.36rem .66rem;color:#6c6c6c}.language-option:hover{background:rgba(17,34,80,.06)}.language-option.is-active,.music-toggle.is-playing{background:var(--gold-soft);color:#fffdf6}.envelope-stage,.intro{background:linear-gradient(180deg,var(--envelope-bg-start) 0,var(--envelope-bg-end) 100%)}.flap-note{top:clamp(4.8vh,6vw,9vh);width:min(92%,920px);display:flex;flex-direction:column;align-items:center;gap:clamp(.06rem,.55vw,.24rem);line-height:1}.flap-note-middle,.flap-note-top{font-family:var(--font-serif);font-weight:500;text-transform:uppercase;font-size:clamp(2.25rem,6.3vw,5.9rem);letter-spacing:.045em;line-height:.9}.flap-note-middle,.flap-note-script,.flap-note-top{display:block;color:var(--envelope-text);text-shadow:0 1px 1px rgba(13,20,45,.22)}.flap-note-script{font-family:var(--font-script);font-size:clamp(3.2rem,8vw,7.4rem);font-weight:400;line-height:.78;letter-spacing:.01em}.flap-signature{bottom:clamp(4.8vh,7vw,8vh);color:rgba(255,253,246,.95);font-size:clamp(1.04rem,2vw,1.24rem)}.flap-signature,.flap-signature strong{font-family:var(--font-serif);letter-spacing:.02em}.flap-signature strong{font-size:clamp(1.18rem,2.3vw,1.5rem);font-weight:600}.seal-button{width:clamp(174px,21vw,246px);filter:drop-shadow(0 10px 14px rgba(13,27,56,.32))}.seal-button span{font-family:var(--font-serif);color:#fff;font-size:var(--text-base);font-weight:600;letter-spacing:.04em;text-transform:none;text-transform:uppercase}.invitation{min-width:0;margin:0;padding:0 clamp(.9rem,2.8vw,1.8rem) clamp(2.4rem,6vh,4.2rem);border:none;gap:clamp(2.6rem,7vw,4.6rem);overflow:visible}.calendar-section,.countdown-section,.invitation,.letter-card,.letter-hero,.location-section{width:100%;max-width:none;border-radius:0;background:transparent;box-shadow:none;position:relative}.calendar-section,.countdown-section,.letter-card,.letter-hero,.location-section{margin:0 auto;padding:clamp(1rem,2.6vw,1.7rem) 0;gap:clamp(.8rem,2.2vw,1.32rem);z-index:1}.letter-hero{min-height:calc(100svh - clamp(2.4rem, 6vw, 4.2rem));justify-content:center;gap:clamp(.18rem,1.05vh,.62rem);padding-top:clamp(.5rem,2.2vh,1.2rem);padding-bottom:clamp(1.2rem,3.6vh,2.2rem)}.calendar-section,.countdown-section,.letter-card,.location-section{max-width:760px}.location-section{gap:clamp(.22rem,.8vw,.52rem)}.calendar-section,.countdown-section,.letter-card,.location-section{padding-top:clamp(2rem,5vw,3rem)}.letter-card{border-top:1px solid hsla(0,0%,42%,.2)}.calendar-section{border-top:1px solid hsla(0,0%,42%,.18);padding-bottom:clamp(.16rem,.6vw,.34rem)}.location-section{padding-top:clamp(.42rem,1.2vw,.72rem)}.countdown-section{border-top:1px solid hsla(0,0%,42%,.18)}.scroll-indicator{position:static;transform:none;margin-top:clamp(.2rem,1.4vh,.65rem);gap:.2rem;color:rgba(38,38,38,.68)}.scroll-indicator__text{font-size:clamp(.68rem,1.45vw,.8rem);letter-spacing:.14em}.ornament-hero{width:min(88vw,clamp(300px,52vh,560px));filter:drop-shadow(0 22px 28px rgba(17,34,80,.16))}.ornament-content{inset:clamp(3.2rem,9.6vw,4.35rem) clamp(1.9rem,7.3vw,2.75rem) clamp(2.9rem,8.5vw,4rem);display:grid;grid-template-rows:auto minmax(0,.08fr) auto minmax(0,.16fr) auto;align-items:center;justify-items:center;text-shadow:0 1px 6px rgba(14,30,67,.26)}.ornament-content>*{margin:0}.ornament-names{--ornament-name-fit-scale:1;grid-row:1;margin-top:clamp(1.45rem,3.55vw,2.3rem);width:min(100%,12.6ch);max-width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(.28rem,.95vw,.52rem);font-family:var(--font-ornament);font-size:calc(clamp(2.45rem, 6.2vw, 4.25rem) * var(--ornament-name-fit-scale));font-weight:400;letter-spacing:.01em;line-height:.96}.ornament-names .ornament-name-line{--line-base-scale:1;--line-fit-scale:1;display:block;width:100%;max-width:100%;margin:0;color:inherit;font-family:inherit;font-size:calc(1em * var(--line-base-scale) * var(--line-fit-scale));font-weight:inherit;letter-spacing:.01em;line-height:.9;padding-inline:.08em;text-align:center;white-space:nowrap;text-transform:none}.ornament-names .ornament-name-line:first-of-type{--line-base-scale:0.93}.ornament-names .ornament-name-amp{display:block;margin:0;font-family:var(--font-ornament);color:var(--gold-soft);font-size:clamp(.92rem,2.05vw,1.26rem);font-weight:400;letter-spacing:.01em;line-height:.9;text-transform:none}.ornament-message{grid-row:3;max-width:17ch;font-family:var(--font-serif);font-size:clamp(1.1rem,2.2vw,1.38rem);line-height:1.1;letter-spacing:.008em;text-wrap:balance}.ornament-date{grid-row:5;display:grid;justify-items:center;grid-gap:clamp(.45rem,1.3vw,.72rem);gap:clamp(.45rem,1.3vw,.72rem)}.ornament-date span{font-family:var(--font-ornament);font-size:clamp(2.45rem,6.1vw,4.1rem);font-weight:400;line-height:.82;letter-spacing:.01em}.ornament-date i{width:6px;height:6px;background:var(--gold-soft)}.calendar-head,.countdown-section h2,.hero-title,.location-title{color:var(--ink-navy);font-family:var(--font-script);font-weight:400;letter-spacing:.01em;text-transform:none}.hero-title{font-size:clamp(2.48rem,7.8vw,4.35rem);line-height:1.02}.lead{max-width:34ch;color:var(--ink-navy);font-family:var(--font-serif);font-size:clamp(1.02rem,2.1vw,1.28rem);line-height:1.45;letter-spacing:.01em}.calendar{width:min(740px,100%)}.calendar-head{padding-top:0;margin-bottom:clamp(.5rem,1.6vw,1rem);font-size:clamp(2.05rem,6.2vw,3.45rem);line-height:1}.week-days span{color:#6c6c6c;font-size:clamp(.9rem,1.8vw,1.2rem);letter-spacing:.12em;font-weight:600}.days span{min-height:clamp(44px,5.4vw,58px);color:var(--ink-navy);font-size:clamp(1.18rem,2.5vw,1.72rem);font-weight:500}.days .heart-cell{min-height:clamp(70px,9vw,100px)}.heart-day{width:clamp(68px,9.5vw,106px);height:clamp(60px,8.5vw,92px)}.heart-day>span{font-size:clamp(1.36rem,3vw,2rem)}.location-title{font-size:clamp(2.05rem,6.2vw,3.45rem);line-height:1}.venue-name{max-width:18ch;font-size:clamp(1rem,2.4vw,1.55rem);font-weight:600;line-height:1.18;letter-spacing:.04em;text-transform:uppercase}.venue-address,.venue-name{font-family:var(--font-serif)}.venue-address{max-width:30ch;color:#545252;font-size:clamp(1rem,2.1vw,1.25rem);line-height:1.35}.venue-address+.venue-address{font-size:clamp(.95rem,1.95vw,1.12rem)}.map-links{width:min(620px,100%);gap:clamp(.5rem,1.4vw,.8rem)}.map-link{min-height:52px;border:1px solid #6c6c6c;border-radius:8px;background:#fffdf6;color:#6c6c6c;font-family:var(--font-ui);font-size:clamp(.86rem,1.6vw,.98rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.map-link:focus-visible,.map-link:hover{background:var(--ink-navy);border-color:var(--ink-navy);color:var(--paper-card);transform:translateY(0)}.countdown-section{width:min(900px,100%);margin:0 auto;gap:clamp(.75rem,2.2vw,1.4rem)}.countdown-section h2{margin:0;padding:0;max-width:14ch;line-height:1;color:var(--ink-navy);font-family:var(--font-script);font-size:clamp(2.05rem,6.2vw,3.45rem);font-weight:400;letter-spacing:.01em;text-transform:none}.countdown{--label-row-height:clamp(22px,2.8vw,34px);width:min(880px,100%);margin-top:clamp(.5rem,1.8vw,1rem);padding:0;border-radius:0;background:transparent;box-shadow:none}.time-unit{min-width:clamp(62px,11vw,132px)}.time-unit span{color:var(--gold-strong);font-family:var(--font-serif);font-size:clamp(2.55rem,6.1vw,4.95rem);font-weight:500;line-height:1;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-unit small{font-size:clamp(1.08rem,2vw,1.78rem);font-weight:400;letter-spacing:.01em;text-transform:none}.time-unit small,.time-unit:not(:last-child):after{color:var(--gold-soft);font-family:var(--font-serif)}.time-unit:not(:last-child):after{font-size:clamp(2.55rem,6.1vw,4.95rem);font-weight:500;line-height:1}.countdown-message{margin-top:clamp(.8rem,2.2vw,1.4rem);color:var(--ink-navy);font-family:var(--font-serif);font-size:clamp(1.08rem,2.2vw,1.7rem);letter-spacing:.012em;text-transform:none}.countdown-section:after{width:min(380px,80%);height:clamp(150px,27vw,220px);margin-top:clamp(.6rem,2.1vw,1.3rem)}.invite-credit{color:#6c6c6c;letter-spacing:.08em}.invite-credit-link{color:#6c6c6c;border-bottom-color:hsla(0,0%,42%,.45)}.invite-credit-link:focus-visible,.invite-credit-link:hover{color:#262626;border-bottom-color:rgba(38,38,38,.55)}@media (min-width:741px){.flap-note-middle,.flap-note-top{font-size:clamp(1.75rem,4.8vw,4.5rem)}.flap-note-script{font-size:clamp(2.5rem,5.9vw,5.5rem)}.ornament-content{inset:clamp(3.55rem,8.9vh,5.1rem) clamp(2.05rem,6.6vw,3.1rem) clamp(3.05rem,8vh,4.3rem);grid-template-rows:auto minmax(0,.06fr) auto minmax(0,.14fr) auto}.ornament-names{margin-top:clamp(1.58rem,3.15vh,2.45rem);max-width:92%;width:min(100%,13ch);font-size:calc(clamp(2.25rem, 5.3vw, 3.95rem) * var(--ornament-name-fit-scale));line-height:.9}.ornament-names .ornament-name-amp{font-size:clamp(1.02rem,1.7vw,1.45rem)}.ornament-message{max-width:18ch;font-size:clamp(1.05rem,1.75vw,1.28rem);line-height:1.13}.ornament-date span{font-size:clamp(2.25rem,5.4vw,3.7rem)}}@media (max-width:740px){.invitation{border-radius:0;padding:0 clamp(.7rem,3.2vw,1rem) clamp(2rem,9vw,3.2rem);gap:clamp(1.7rem,7vw,2.8rem)}.calendar-section,.countdown-section,.letter-card,.letter-hero,.location-section{width:100%;padding:clamp(.85rem,3.4vw,1.25rem) 0}.calendar-section,.countdown-section,.letter-card,.location-section{padding-top:clamp(1.7rem,5.5vw,2.3rem)}.calendar-section{padding-bottom:clamp(.14rem,1.1vw,.3rem)}.location-section{padding-top:clamp(.38rem,2vw,.68rem)}.ornament-hero{width:min(90vw,clamp(258px,55vh,402px))}.ornament-content{inset:clamp(2.78rem,11.2vw,3.65rem) clamp(1.55rem,8vw,2.2rem) clamp(2.35rem,9.7vw,3.15rem);grid-template-rows:auto minmax(0,.05fr) auto minmax(0,.12fr) auto}.ornament-names{margin-top:clamp(1.06rem,3.2vw,1.66rem);width:min(100%,12.2ch);font-size:calc(clamp(1.95rem, 7.1vw, 3.05rem) * var(--ornament-name-fit-scale))}.ornament-names .ornament-name-amp{font-size:clamp(.86rem,3.3vw,1.12rem)}.ornament-message{max-width:21.5ch;font-size:clamp(.93rem,2.55vw,1.06rem);line-height:1.16}.ornament-date span{font-size:clamp(1.95rem,7.3vw,2.95rem)}.hero-title{font-size:clamp(2rem,9.5vw,3.42rem)}.calendar-head,.countdown-section h2,.location-title{font-size:clamp(1.85rem,8.8vw,3.05rem);line-height:1}.lead{max-width:30ch;font-size:clamp(.95rem,3.2vw,1.12rem)}.venue-name{font-size:clamp(.92rem,3.5vw,1.25rem)}.map-links{grid-template-columns:1fr}.countdown{--label-row-height:clamp(18px,3.5vw,26px);gap:clamp(.28rem,1.3vw,.64rem);width:min(680px,100%);border-radius:0;background:transparent;box-shadow:none;padding:0}.countdown-section{width:min(680px,100%);gap:clamp(.58rem,1.9vw,1rem)}.countdown-section h2{max-width:14ch;font-size:clamp(1.85rem,8.8vw,3.05rem);line-height:1}}@media (max-width:480px){.flap-note{top:4.8vh;width:min(94%,420px)}.flap-note-top{font-size:clamp(.92rem,4vw,1.15rem);letter-spacing:.1em}.flap-note-middle{font-size:clamp(1.58rem,7.4vw,2.4rem);letter-spacing:.04em}.flap-note-script{font-size:clamp(2.34rem,11vw,3.65rem)}.flap-signature{bottom:5.2vh;font-size:clamp(.88rem,3.4vw,1rem)}.flap-signature strong{font-size:clamp(.96rem,4vw,1.08rem);letter-spacing:.01em}.seal-button{width:clamp(148px,43.5vw,190px)}.seal-button span{font-size:clamp(.72rem,2.6vw,.86rem)}.ornament-hero{width:min(90vw,336px)}.ornament-content{inset:clamp(2.42rem,12.5vw,3rem) clamp(1.35rem,8.8vw,1.85rem) clamp(1.95rem,10.8vw,2.6rem);grid-template-rows:auto minmax(0,.04fr) auto minmax(0,.1fr) auto}.ornament-names{margin-top:clamp(.84rem,3.35vw,1.32rem);width:min(100%,11.6ch);font-size:calc(clamp(1.58rem, 8.6vw, 2.25rem) * var(--ornament-name-fit-scale))}.ornament-names .ornament-name-amp{font-size:clamp(.82rem,4vw,1.06rem)}.ornament-message{max-width:20.5ch;font-size:clamp(.86rem,3.2vw,.96rem);line-height:1.16}.ornament-date span{font-size:clamp(1.62rem,8.9vw,2.35rem)}.hero-title{font-size:clamp(1.72rem,10.4vw,2.72rem);letter-spacing:.03em}.calendar-head,.countdown-section h2,.location-title{font-size:clamp(1.65rem,9.2vw,2.45rem);line-height:1}.countdown{--label-row-height:clamp(16px,3.8vw,20px);gap:clamp(.12rem,.8vw,.32rem);width:min(98vw,100%);padding:0;border-radius:0;background:transparent;box-shadow:none}.time-unit{min-width:clamp(44px,16vw,66px);padding-right:clamp(.08rem,.4vw,.16rem)}.time-unit span,.time-unit:not(:last-child):after{font-size:clamp(1.36rem,7.2vw,1.95rem)}.time-unit small{font-size:clamp(.56rem,2.4vw,.7rem)}}.letter-hero{width:calc(100% + (var(--invitation-inline-padding) * 2));max-width:none;margin-inline:calc(var(--invitation-inline-padding) * -1);padding:0;align-items:stretch;justify-content:stretch;gap:0}.letter-hero,.photo-hero{min-height:100svh;overflow:hidden}.photo-hero{position:relative;width:100%;isolation:isolate;background:#14100f}.photo-hero:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 45%,rgba(0,0,0,.06) 0,rgba(0,0,0,.18) 34%,rgba(0,0,0,.54) 100%),linear-gradient(180deg,rgba(15,11,10,.2),rgba(15,11,10,.32) 42%,rgba(15,11,10,.48));pointer-events:none}.photo-hero__image{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 31%;image-orientation:from-image;transform:scale(1.015)}.photo-hero__content{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + clamp(13.5rem, 25vh, 17rem));z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:clamp(.38rem,.95vw,.72rem);width:min(calc(100% - clamp(1.6rem, 5vw, 3.8rem)),56rem);padding-inline:clamp(.2rem,1.2vw,.7rem);transform:translateX(-50%);text-align:center;pointer-events:none}.photo-hero__eyebrow{margin:0;color:rgba(255,249,244,.96);font-family:var(--font-heading);font-size:clamp(1.3rem,2.4vw,2.35rem);font-weight:500;letter-spacing:.12em;line-height:1;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.22)}.photo-hero .ornament-names{--ornament-name-fit-scale:1;margin:0;width:100%;max-width:100%;padding-inline:clamp(.2rem,1vw,.5rem);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:clamp(.62rem,1.6vw,1rem);color:rgba(255,249,244,.97);text-shadow:0 2px 16px rgba(0,0,0,.24);font-size:calc(clamp(4.55rem, 8.8vw, 7.55rem) * var(--ornament-name-fit-scale));line-height:.88}.photo-hero .ornament-names span{margin:0}.photo-hero .ornament-names .ornament-name-line{--line-base-scale:1;--line-fit-scale:1;display:block;width:max-content;max-width:none;margin-inline:auto;color:inherit;font-family:var(--font-heading);font-size:calc(1em * var(--line-base-scale) * var(--line-fit-scale));font-weight:400;letter-spacing:.07em;line-height:.92;text-align:center;white-space:nowrap;text-transform:uppercase}.photo-hero .ornament-names .ornament-name-amp{display:block;margin:0;color:rgba(255,249,244,.95);font-weight:500}.scroll-indicator{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + clamp(1rem, 3vh, 1.8rem));z-index:3;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;color:rgba(255,247,240,.92);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-indicator:before{content:"";width:1px;height:clamp(2rem,5vh,3rem);background:rgba(255,247,240,.7)}.scroll-indicator__text{font-family:var(--font-ui);font-size:clamp(.68rem,1vw,.84rem);letter-spacing:.18em;text-transform:uppercase}.scroll-indicator__arrow{display:block;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1;animation:scroll-indicator-bounce 1.8s ease-in-out infinite}@media (max-width:740px){.letter-hero,.photo-hero{min-height:100svh}.photo-hero__image{object-position:center 28%;transform:scale(1.03)}.photo-hero__content{bottom:calc(env(safe-area-inset-bottom) + clamp(10.8rem, 20vh, 13rem));width:min(calc(100% - 1.4rem),28rem)}.photo-hero__eyebrow{font-size:clamp(1rem,4vw,1.55rem);letter-spacing:.1em}.photo-hero .ornament-names{width:100%;max-width:100%;font-size:calc(clamp(3.05rem, 12.6vw, 4.95rem) * var(--ornament-name-fit-scale));gap:clamp(.55rem,2.2vw,.82rem)}.photo-hero .ornament-names .ornament-name-amp{font-size:clamp(.84rem,3.4vw,1.06rem);letter-spacing:.28em}.scroll-indicator{bottom:calc(env(safe-area-inset-bottom) + 1.2rem)}.scroll-indicator__text{font-size:.66rem;letter-spacing:.16em}}@media (max-width:480px){.photo-hero__image{object-position:center 25%;transform:scale(1.05)}.photo-hero__content{bottom:calc(env(safe-area-inset-bottom) + clamp(8.8rem, 17vh, 10.8rem));width:min(calc(100% - 1.2rem),19.4rem)}.photo-hero__eyebrow{font-size:clamp(.9rem,4.4vw,1.2rem);letter-spacing:.08em}.photo-hero .ornament-names{width:100%;max-width:100%;font-size:calc(clamp(2.42rem, 13.6vw, 3.7rem) * var(--ornament-name-fit-scale));gap:clamp(.44rem,2.8vw,.62rem)}.photo-hero .ornament-names .ornament-name-amp{font-size:clamp(.76rem,3.8vw,.92rem);letter-spacing:.24em}}:root{--intro-text:hsla(0,0%,100%,.98);--intro-text-soft:hsla(0,0%,100%,.84);--intro-stroke:hsla(0,0%,100%,.8);--intro-stroke-soft:hsla(0,0%,100%,.22);--intro-control-bg:hsla(0,0%,8%,.22);--intro-control-bg-strong:hsla(0,0%,100%,.18);--intro-shadow:rgba(0,0,0,.38)}body:not(.invitation-visible) .language-switcher,body:not(.invitation-visible) .music-toggle{border-color:hsla(0,0%,100%,.26);background:var(--intro-control-bg);box-shadow:0 12px 32px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body:not(.invitation-visible) .language-option{color:hsla(0,0%,100%,.82)}body:not(.invitation-visible) .language-option:hover,body:not(.invitation-visible) .music-toggle:hover{background:hsla(0,0%,100%,.12)}body:not(.invitation-visible) .language-option.is-active,body:not(.invitation-visible) .music-toggle.is-playing{background:var(--intro-control-bg-strong);color:#fff}body:not(.invitation-visible) .music-toggle{color:#fff}body:not(.invitation-visible) .music-toggle:after{background:currentColor}.intro{background:#090909;perspective:none;overflow:clip}.intro-stage{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;padding:clamp(5.5rem,11vh,8rem) clamp(1.4rem,4vw,3rem) clamp(2.5rem,6vh,4rem);isolation:isolate}.intro-stage:after,.intro-stage:before{content:"";position:absolute;inset:0;pointer-events:none}.intro-stage:before{z-index:1;background:radial-gradient(circle at 50% 18%,hsla(0,0%,100%,.16) 0,transparent 26%),linear-gradient(180deg,rgba(5,5,5,.3),rgba(5,5,5,.08) 28%,rgba(5,5,5,.52))}.intro-stage:after{z-index:2;background:linear-gradient(90deg,hsla(0,0%,100%,.04),transparent 18%,transparent 82%,hsla(0,0%,100%,.03)),radial-gradient(circle at 50% 42%,transparent 0,rgba(0,0,0,.16) 56%,rgba(0,0,0,.42) 100%)}.intro-stage__media-wrap{position:absolute;inset:-5%;z-index:0}.intro-stage__media{width:100%;height:100%;object-fit:cover;object-position:center center;filter:grayscale(1) contrast(1.08) brightness(.58) blur(10px);transform:scale(1.16);opacity:.94;transition:transform 1s ease,filter 1s ease,opacity .75s ease}.intro-stage__content{position:relative;z-index:3;width:min(100%,36rem);padding-inline:clamp(.2rem,.8vw,.45rem);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(1.4rem,4vh,2.5rem)}.intro-hanging-heart,.intro-title,.intro-unlock{transition:transform .72s ease,opacity .44s ease}.intro-hanging-heart{display:flex;flex-direction:column;align-items:center;gap:.7rem;animation:intro-heart-float 4.8s ease-in-out infinite}.intro-hanging-heart__line{width:1px;height:clamp(8rem,20vh,13rem);background:linear-gradient(180deg,hsla(0,0%,100%,.14),hsla(0,0%,100%,.92));box-shadow:0 0 10px hsla(0,0%,100%,.12)}.intro-hanging-heart__icon{width:clamp(1.9rem,3.5vw,2.6rem);aspect-ratio:1;object-fit:contain;filter:grayscale(1) brightness(4.2) drop-shadow(0 0 12px rgba(255,255,255,.2))}.intro-title{--intro-title-size:clamp(2.85rem,7.1vw,5.7rem);--intro-title-fit-scale:1;--intro-title-line-height:0.92;--intro-title-tracking:0.026em;margin:0;box-sizing:border-box;inline-size:-moz-fit-content;inline-size:fit-content;max-inline-size:min(100%,15.2ch);margin-inline:auto;padding-inline:clamp(.18rem,.7vw,.42rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.04rem,.35vw,.16rem);color:var(--intro-text);font-family:var(--font-heading);font-size:calc(var(--intro-title-size) * var(--intro-title-fit-scale));font-weight:400;text-transform:uppercase;text-wrap:balance;text-shadow:0 10px 32px var(--intro-shadow)}.intro-title__line{text-align:center}.intro-title__line,.intro-unlock__line{display:block;width:max-content;max-width:none;margin-inline:auto;white-space:nowrap}.intro-unlock{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--intro-text-soft);cursor:pointer;text-align:center}.intro-unlock__circle{width:clamp(5.7rem,9vw,6.9rem);aspect-ratio:1;display:grid;place-items:center;border:1.5px solid var(--intro-stroke);border-radius:999px;background:radial-gradient(circle at 32% 30%,hsla(0,0%,100%,.14) 0,hsla(0,0%,100%,.02) 48%,hsla(0,0%,100%,.04) 100%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.06),0 16px 34px rgba(0,0,0,.22);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease}.intro-unlock__icon{width:clamp(2.65rem,4.8vw,3.15rem);height:clamp(2.65rem,4.8vw,3.15rem);color:#fff;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.intro-unlock__text{--intro-unlock-text-size:clamp(1.3rem,2.6vw,1.95rem);--intro-unlock-fit-scale:1;display:block;max-inline-size:min(100%,18ch);padding-inline:clamp(.15rem,.5vw,.3rem);color:var(--intro-text-soft);font-family:var(--font-serif);font-size:calc(var(--intro-unlock-text-size) * var(--intro-unlock-fit-scale));font-weight:400;line-height:1.04;text-wrap:balance;text-shadow:0 10px 26px rgba(0,0,0,.28)}.intro-unlock:focus-visible,.intro-unlock:hover{transform:translateY(-2px)}.intro-unlock:focus-visible .intro-unlock__circle,.intro-unlock:hover .intro-unlock__circle{transform:scale(1.04);border-color:hsla(0,0%,100%,.96);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.1),0 20px 38px rgba(0,0,0,.26)}.intro-unlock:focus-visible{outline:none}.intro.opened .intro-stage__media{transform:scale(1.24);filter:grayscale(1) contrast(1.08) brightness(.48) blur(16px);opacity:.76}.intro.opened .intro-hanging-heart{opacity:0;transform:translateY(-24px)}.intro.opened .intro-title{opacity:0;transform:translateY(-22px)}.intro.opened .intro-unlock{opacity:0;transform:translateY(18px) scale(.94);pointer-events:none}.intro.fade-out{pointer-events:none}@keyframes intro-heart-float{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media (max-width:740px){.intro-stage{padding-top:clamp(4.5rem,12vh,6.5rem);padding-bottom:clamp(2rem,5.5vh,3rem)}.intro-stage__content{width:min(100%,24rem);gap:1.35rem}.intro-hanging-heart__line{height:clamp(6.7rem,16vh,9rem)}.intro-title{--intro-title-size:clamp(2.3rem,8.7vw,3.9rem);max-inline-size:min(100%,13.8ch)}.intro-unlock__circle{width:clamp(5rem,19vw,5.8rem)}.intro-unlock__text{--intro-unlock-text-size:clamp(1.08rem,4.4vw,1.5rem)}}@media (max-width:480px){.intro-stage__media{object-position:center 22%;transform:scale(1.2)}.intro-stage__content{width:min(100%,20.5rem)}.intro-title{--intro-title-size:clamp(1.92rem,8.9vw,2.9rem);--intro-title-line-height:0.94;--intro-title-tracking:0.022em;max-inline-size:min(100%,12.6ch)}.intro-unlock{gap:.8rem}.intro-unlock__circle{width:clamp(4.7rem,23vw,5.15rem)}.intro-unlock__icon{width:clamp(2.35rem,10.5vw,2.7rem);height:clamp(2.35rem,10.5vw,2.7rem)}.intro-unlock__text{--intro-unlock-text-size:clamp(0.98rem,4.1vw,1.22rem);max-inline-size:min(100%,16.5ch)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--font-body:"Montserrat","Helvetica Neue",Arial,sans-serif;--font-ui:"Montserrat","Helvetica Neue",Arial,sans-serif;--font-heading:"Forum","Times New Roman",serif;--font-serif:"Montserrat","Helvetica Neue",Arial,sans-serif;--font-script:"Forum","Times New Roman",serif;--font-display:"Forum","Times New Roman",serif;--font-ornament:"Forum","Times New Roman",serif}h1,h2{font-weight:400;letter-spacing:.03em}.hero-title,.intro-title{font-family:var(--font-heading);font-weight:400;text-transform:uppercase}.hero-title{font-size:clamp(2.58rem,6.85vw,4.85rem);line-height:.98;letter-spacing:.045em}.intro-title{line-height:var(--intro-title-line-height);letter-spacing:var(--intro-title-tracking)}.calendar-head,.countdown-section h2,.hero-title,.location-title,.ornament-date span,.time-unit span,.time-unit:not(:last-child):after{font-family:var(--font-heading);font-weight:400}.calendar-head,.countdown-section h2,.location-title{line-height:.96;letter-spacing:.04em}.countdown-message,.intro-unlock__text,.lead,.ornament-message,.venue-address{font-family:var(--font-body);font-weight:400;line-height:1.65;letter-spacing:.015em}.lead{max-width:38ch;font-size:clamp(1.02rem,2.05vw,1.38rem)}.intro-unlock__text{line-height:1.3;letter-spacing:.04em}.invite-credit,.invite-credit-link,.language-option,.map-link,.photo-hero__eyebrow,.scroll-indicator__text,.week-days span{font-family:var(--font-ui)}.language-option,.map-link,.photo-hero__eyebrow,.scroll-indicator__text,.week-days span{font-weight:500;letter-spacing:.14em;text-transform:uppercase}.photo-hero__eyebrow{font-size:clamp(.95rem,2vw,1.35rem)}.ornament-names{letter-spacing:.025em}.ornament-names .ornament-name-line{font-family:var(--font-heading);font-weight:400;letter-spacing:.035em;text-transform:uppercase}.photo-hero .ornament-names .ornament-name-line{letter-spacing:.08em}.ornament-names .ornament-name-amp{font-family:var(--font-ui);font-size:clamp(.92rem,1.8vw,1.12rem);line-height:1;letter-spacing:.14em;text-transform:uppercase}.photo-hero .ornament-names .ornament-name-amp{font-family:var(--font-ui);font-size:clamp(.96rem,1.85vw,1.24rem);line-height:1;letter-spacing:.34em;text-transform:uppercase}.time-unit small{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase}:root{--accent-reference:#da1e2e;--accent-reference-deep:#cb182b;--accent-reference-soft:rgba(218,30,46,.16);--accent-tint-strong:rgba(218,30,46,.72);--focus-ring-navy:rgba(218,30,46,.34);--gold-soft:rgba(218,30,46,.92);--gold-strong:#da1e2e;--navy-tint:rgba(218,30,46,.08);--seal-shadow:rgba(163,18,36,.26);--seal-shadow-hover:rgba(163,18,36,.34);--card-border:rgba(218,30,46,.16);--credit-border:rgba(218,30,46,.32)}.calendar{width:min(660px,100%);gap:clamp(.7rem,1.7vw,1.15rem)}.calendar-head{order:0;margin:0;padding:0;color:var(--ink-navy-soft);font-family:"Forum",var(--font-heading);font-size:clamp(2.3rem,7.4vw,4.3rem);font-weight:400;letter-spacing:.03em;line-height:.98;text-align:center;text-transform:uppercase}.calendar-grid{width:min(520px,calc(100% - clamp(2rem, 7vw, 4rem)));column-gap:clamp(.18rem,.55vw,.34rem)}.calendar-grid.week-days{order:1}.calendar-grid.days{order:2;row-gap:clamp(.5rem,1.35vw,.9rem)}.calendar-day,.heart-day>span,.week-days span{font-family:"Forum",var(--font-heading);font-weight:400}.week-days span{color:var(--ink-navy-soft);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase}.calendar-day,.days .heart-cell{min-height:clamp(34px,4.2vw,48px);display:grid;place-items:center}.calendar-day{color:var(--ink-navy-soft);font-size:var(--text-sm);line-height:1}.calendar-day--empty{visibility:hidden}.days .heart-cell{width:100%}.heart-day{width:clamp(52px,6.4vw,72px);height:clamp(46px,5.8vw,64px);position:relative;display:grid;place-items:center;background:50%/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 58'%3E%3Cpath fill='%23da1e2e' d='M32 56.2c-1.1-.8-27.8-18.7-27.8-35.2C4.2 11.3 11.8 4 21 4c5 0 9.4 2 11 5.3C33.6 6 38 4 43 4c9.2 0 16.8 7.3 16.8 17 0 16.5-26.7 34.4-27.8 35.2Z'/%3E%3C/svg%3E");filter:drop-shadow(0 8px 18px rgba(218,30,46,.12));transform-origin:center;will-change:transform,filter;animation:calendar-heart-reference-pulse 2.4s ease-in-out infinite}.heart-day:after,.heart-day:before{content:none}.heart-day>span{color:#fffdf6;font-size:var(--text-sm);line-height:1;transform:translateY(-.04em)}@keyframes calendar-heart-reference-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 8px 18px rgba(218,30,46,.12))}45%{transform:scale(1.12);filter:drop-shadow(0 12px 24px rgba(218,30,46,.24))}60%{transform:scale(1.06);filter:drop-shadow(0 10px 22px rgba(218,30,46,.18))}}@media (max-width:640px){.calendar{gap:clamp(.75rem,3.8vw,1rem)}.calendar-grid{width:100%;column-gap:clamp(.1rem,1.8vw,.4rem)}.week-days span{font-size:var(--text-sm);letter-spacing:.03em}.calendar-day,.days .heart-cell{min-height:clamp(32px,8.6vw,44px)}.calendar-day{font-size:var(--text-sm)}.heart-day{width:clamp(52px,13vw,68px);height:clamp(46px,11.6vw,60px)}.heart-day>span{font-size:var(--text-sm)}}.hero-title{--hero-title-size:clamp(2.95rem,7.5vw,5.35rem);--hero-title-fit-scale:1;width:100%;max-width:min(100%,20ch);margin-inline:auto;padding-inline:clamp(.12rem,.5vw,.28rem);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.06rem,.28vw,.16rem);color:var(--ink-navy);font-family:var(--font-script);font-weight:400;font-size:calc(var(--hero-title-size) * var(--hero-title-fit-scale));line-height:.88;letter-spacing:.012em;text-transform:none;text-wrap:balance}.hero-title__line{display:block;width:max-content;max-width:none;margin-inline:auto;text-align:center;white-space:nowrap}@media (max-width:740px){.hero-title{--hero-title-size:clamp(1.62rem,7.7vw,2.68rem);max-width:min(100%,18.6ch)}}@media (max-width:480px){.hero-title{--hero-title-size:clamp(1.45rem,8.1vw,2.16rem);max-width:min(100%,17.8ch)}}.calendar-head,.countdown-section h2,.location-title{font-size:clamp(3.35rem,8.5vw,6.05rem);line-height:.88;letter-spacing:.012em;text-transform:none}.location-title{margin-bottom:clamp(.55rem,2vw,1.15rem)}@media (max-width:740px){.calendar-head,.countdown-section h2,.location-title{font-size:clamp(1.85rem,8.8vw,3.05rem);line-height:1}}@media (max-width:480px){.calendar-head,.countdown-section h2,.location-title{font-size:clamp(1.65rem,9.2vw,2.45rem);line-height:1}.location-title{margin-bottom:clamp(.45rem,2.8vw,.8rem)}}.gift-section{width:min(760px,100%);margin:0 auto;padding:clamp(2rem,5vw,3rem) 0 0;border-top:1px solid hsla(0,0%,42%,.18);display:flex;flex-direction:column;align-items:center;gap:clamp(.9rem,2.2vw,1.4rem);position:relative;z-index:1;text-align:center}.gift-title{color:var(--ink-navy);font-family:var(--font-script);font-size:clamp(3.35rem,8.5vw,6.05rem);line-height:.88;letter-spacing:.012em;text-transform:none}.gift-lead,.gift-title{margin:0;font-weight:400}.gift-lead{max-width:34ch;color:var(--line-muted);font-family:var(--font-body);font-size:clamp(1.02rem,2.05vw,1.3rem);line-height:1.62;letter-spacing:.015em}.gift-card{position:relative;width:min(700px,100%);padding:clamp(1.5rem,3.8vw,2.35rem);border:1.5px solid hsla(0,60%,83%,.82);border-radius:34px;background:radial-gradient(circle at 94% 12%,hsla(0,100%,90%,.38),transparent 28%),radial-gradient(circle at 82% 54%,rgba(255,227,216,.18),transparent 30%),linear-gradient(180deg,rgba(255,254,251,.98),rgba(255,249,243,.98));box-shadow:0 12px 28px rgba(81,48,48,.05);display:grid;grid-gap:clamp(1rem,2.4vw,1.45rem);gap:clamp(1rem,2.4vw,1.45rem);overflow:hidden;text-align:left}.gift-card:after{content:none}.gift-card__note,.gift-card__row,.gift-copy-button{position:relative;z-index:1}.gift-card__row{display:grid;grid-gap:.42rem;gap:.42rem}.gift-card__row--number{margin-top:clamp(.18rem,.7vw,.35rem);padding-top:clamp(.85rem,1.8vw,1.15rem);border-top:1px solid hsla(0,0%,42%,.12)}.gift-card__label{color:#555;font-family:var(--font-ui);font-size:clamp(.9rem,1.45vw,1.02rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase}.gift-card__name,.gift-card__number{color:var(--ink-navy);font-family:"Forum",var(--font-heading);font-weight:400;text-transform:uppercase}.gift-card__name{font-size:clamp(2rem,3.8vw,2.8rem);letter-spacing:.07em;line-height:1.08}.gift-card__number{font-size:clamp(1.85rem,3.5vw,2.5rem);letter-spacing:.12em;line-height:1.08;word-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gift-card__note{margin:0;max-width:22ch;color:#727272;font-family:var(--font-body);font-size:clamp(1.2rem,2.35vw,1.7rem);font-weight:400;line-height:1.45;letter-spacing:.01em}.gift-copy-button{width:100%;min-height:52px;padding:.75rem 1.3rem;border:1px solid #6c6c6c;border-radius:8px;background:#fffdf6;color:#6c6c6c;font-family:var(--font-ui);font-size:clamp(.86rem,1.6vw,.98rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;justify-self:stretch}.gift-copy-button:focus-visible,.gift-copy-button:hover{background:var(--ink-navy);border-color:var(--ink-navy);color:var(--paper-card)}.gift-copy-button:focus-visible{outline:2px solid var(--focus-ring-navy);outline-offset:2px}.gift-copy-button[data-copy-state=success]{border-color:var(--ink-navy);background:var(--ink-navy);color:var(--paper-card)}.gift-copy-button[data-copy-state=error]{border-color:rgba(218,30,46,.36);background:rgba(218,30,46,.1);color:var(--accent-reference)}@media (max-width:740px){.gift-section{width:100%;padding-top:clamp(1.7rem,5.5vw,2.3rem);gap:clamp(.9rem,3.6vw,1.15rem)}.gift-title{font-size:clamp(1.85rem,8.8vw,3.05rem);line-height:1}.gift-lead{max-width:30ch;font-size:clamp(.95rem,3.2vw,1.08rem)}.gift-card{padding:clamp(1.1rem,5.2vw,1.45rem);border-radius:28px}.gift-card__name{font-size:clamp(1.55rem,6vw,2rem)}.gift-card__number{font-size:clamp(1.35rem,5.8vw,1.8rem);letter-spacing:.08em;word-spacing:.04em}.gift-card__note{max-width:100%;font-size:clamp(1rem,4.2vw,1.28rem);line-height:1.48}.gift-copy-button{min-height:52px;font-size:clamp(.86rem,3.7vw,.98rem)}}@media (max-width:480px){.gift-title{font-size:clamp(1.65rem,9.2vw,2.45rem);line-height:1}.gift-card__label{letter-spacing:.14em}.gift-card__number{font-size:clamp(1.08rem,5.4vw,1.28rem);letter-spacing:.05em}.gift-copy-button{min-height:52px;letter-spacing:.06em}}.guest-personal{margin:0 auto clamp(.65rem,2.2vw,1.15rem);text-align:center;color:var(--title-color,#1a1a1a);font-family:var(--font-display,"Forum","Times New Roman",serif);font-size:clamp(1.85rem,6vw,3.2rem);font-weight:500;line-height:1.2;width:100%;max-width:42ch}.guest-personal--under-hero{margin-top:clamp(.4rem,1.6vw,.95rem);margin-bottom:0}.guest-personal__line{display:inline-block;letter-spacing:.04em}.guest-personal[hidden]{display:none!important}body,html{margin:0;min-height:100%;background-color:#f5f0e8}