@font-face{font-family:Futura Now Script;src:url(../../../static/fonts/futura-now-script/zhuan_FuturaNowScript-XLt.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Futura Now Script;src:url(../../../static/fonts/futura-now-script/zhuan_FuturaNowScript-Lt.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Futura Now Script;src:url(../../../static/fonts/futura-now-script/zhuan_FuturaNowScript-Rg.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Futura Now Script;src:url(../../../static/fonts/futura-now-script/zhuan_FuturaNowScript-Bd.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Futura Now Script;src:url(../../../static/fonts/futura-now-script/zhuan_FuturaNowScript-XBd.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}:root{--font-cormorant: "Cormorant", Georgia, "Times New Roman", serif;--font-cormorant-garamond: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-futura-now-script: "Futura Now Script", cursive;--font-great-vibes: "Great Vibes", cursive;--bright-snow: #f8f9faff;--platinum: #e9ecefff;--alabaster-grey: #dee2e6ff;--pale-slate: #ced4daff;--pale-slate-2: #adb5bdff;--slate-grey: #6c757dff;--iron-grey: #495057ff;--gunmetal: #343a40ff;--carbon-black: #212529ff;--color-bg: var(--bright-snow);--color-bg-alt: var(--platinum);--color-text: var(--carbon-black);--color-text-soft: var(--slate-grey);--color-accent: var(--iron-grey);--color-accent-light: var(--pale-slate);--color-border: var(--alabaster-grey);--color-on-accent: var(--bright-snow);--accent-red: rgb(183, 32, 15);--font-body: var(--font-futura-now-script), cursive;--font-heading: var(--font-body);--font-script: var(--font-great-vibes);--font-size-base: 1.25rem;--container-max: 720px;--section-padding: 1.5rem 1.25rem;--safe-top: env(safe-area-inset-top, 0);--safe-right: env(safe-area-inset-right, 0);--safe-bottom: env(safe-area-inset-bottom, 0);--safe-left: env(safe-area-inset-left, 0)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;background-color:var(--color-bg)}body{margin:0;padding-left:var(--safe-left);padding-right:var(--safe-right);font-family:var(--font-body);font-weight:500;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);min-width:280px;min-height:100vh;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(../../../static/img/silk.jpeg);background-size:cover;background-position:center;opacity:.35;z-index:0;pointer-events:none}.screens-wrapper{position:relative;z-index:1;overflow-x:hidden}.screen{display:block;box-sizing:border-box}.screen-inner{display:block;padding:1rem 1.25rem;padding-left:max(1.25rem,var(--safe-left));padding-right:max(1.25rem,var(--safe-right));padding-bottom:max(1.25rem,var(--safe-bottom));padding-top:max(1.25rem,var(--safe-top))}.screen-hero .screen-inner{position:relative;z-index:1;padding-top:1.5rem;padding-bottom:1.5rem}.screen-hero .polaroid-header{padding:0;flex-shrink:0;margin-top:2rem;background:transparent}.screen-hero .hero-names{margin-top:2rem}@media(max-width:599px){body{font-size:clamp(1.1875rem,2.8vw + .78rem,1.375rem)}.screen-hero .polaroid-header-inner{flex-wrap:nowrap;gap:0;max-width:100%;align-items:flex-start;justify-content:center}.screen-hero .polaroid__frame{width:min(58vw,14.25rem);min-width:0;min-height:0;padding:max(.5rem,2vw) max(.5rem,2vw) max(.75rem,3vw);flex-shrink:0}.screen-hero .polaroid__img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.screen-hero .polaroid__caption{font-size:clamp(calc(var(--font-size-base) * .86),3.1vw,calc(var(--font-size-base) * 1.02));padding-top:max(.25rem,1vw);line-height:1.25}.screen-hero .polaroid--bride{margin-right:clamp(-2.5rem,-11vw,-.85rem);z-index:1}.screen-hero .polaroid--groom{margin-top:clamp(7.35rem,37vh,16rem);margin-left:clamp(-2.5rem,-11vw,-.85rem);z-index:0}}@media(min-width:600px){.screen-inner{padding-left:max(1.25rem,var(--safe-left));padding-right:max(1.25rem,var(--safe-right))}.container{padding-left:var(--safe-left);padding-right:var(--safe-right)}.invite-intro-section .container{padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right))}.polaroid-header{padding-left:var(--safe-left);padding-right:var(--safe-right)}.screen-hero .polaroid-header-inner{flex-wrap:wrap;gap:2rem}.screen-hero .polaroid__frame{width:280px;min-height:336px;padding:16px 16px 28px}.screen-hero .polaroid__img{width:248px;height:248px}.screen-hero .polaroid--bride{margin-right:0;z-index:auto}.screen-hero .polaroid--groom{margin-top:5.65rem;margin-left:0;z-index:auto}}.hero-names{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;font-family:var(--font-cormorant-garamond);font-size:clamp(1.65rem,6.5vw + .25rem,3.25rem);font-weight:600;font-style:italic;margin:0;color:var(--color-text);letter-spacing:.03em;line-height:1.3;flex-shrink:0;column-gap:.15em}.hero-names-left{flex:1;text-align:right;padding-right:.4em}.hero-names-heart{flex-shrink:0;width:1em;height:1em;margin:0;object-fit:contain}.hero-names-right{flex:1;text-align:left;padding-left:.4em}.skip-link{position:absolute;left:1rem;top:-100vh;z-index:100;padding:.5rem 1rem;background:var(--color-accent);color:var(--color-on-accent);text-decoration:none;border-radius:4px}.skip-link:focus{position:fixed;top:max(1rem,var(--safe-top));left:max(1rem,var(--safe-left));z-index:2147483647;outline:2px solid var(--bright-snow);outline-offset:2px}.envelope-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);cursor:pointer;overflow:hidden}.envelope-overlay.envelope-open{cursor:default}.envelope-overlay.envelope-gone{visibility:hidden;opacity:0;pointer-events:none;transition:visibility .6s,opacity .6s}.envelope-wrapper{position:relative;width:100%;height:100%}.envelope-flap-text{position:absolute;top:0;left:0;right:0;height:20%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;pointer-events:none;padding:0 1rem}.envelope-flap-line1,.envelope-flap-line2{font-family:var(--font-cormorant);font-weight:600;color:var(--color-text)}.envelope-flap-line1{margin-top:clamp(4rem,18vh,7rem);padding-top:var(--safe-top);font-size:clamp(calc(var(--font-size-base) * 1.12),5.5vw,1.9rem);letter-spacing:.04em;text-transform:uppercase;line-height:1.3;text-align:center}.envelope-flap-line2{font-size:clamp(2rem,12vw,3.5em);margin-top:.15em}.envelope-flap-text-bottom{top:auto;bottom:0;height:20%;justify-content:center;padding-bottom:max(1rem,var(--safe-bottom));font-family:var(--font-body);font-style:italic;font-size:clamp(calc(var(--font-size-base) * 1.03),5.85vw,1.62em);font-weight:500;line-height:1.42;text-align:center;color:var(--color-text);max-width:min(26ch,91vw);margin:0 auto;margin-bottom:2.3rem}.envelope-open .envelope-flap-text{opacity:0;transition:opacity .5s ease}@keyframes envelope-tap-hint-fade-in{0%{opacity:0}to{opacity:.92}}@keyframes envelope-tap-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}.envelope-tap-hint{position:absolute;left:50%;top:50%;z-index:4;margin:0;max-width:min(10ch,78vw);text-align:center;pointer-events:none;font-family:var(--font-cormorant);font-weight:600;line-height:1.15;color:var(--carbon-black);text-shadow:0 1px 0 rgba(255,255,255,.65);opacity:0;transform:translate(-50%,-50%)}.envelope-tap-hint--visible{animation:envelope-tap-hint-fade-in .55s ease forwards,envelope-tap-pulse 1.75s ease-in-out .55s infinite}.envelope-open .envelope-tap-hint{opacity:0;animation:none;transition:opacity .45s ease,transform .9s cubic-bezier(.25,.1,.25,1) .35s;transform:translate(-50%,-50%) scale(.3)}.envelope-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.envelope-flap{fill:var(--platinum);stroke:var(--pale-slate);stroke-width:.6;transition:transform 2.5s cubic-bezier(.25,.1,.25,1);will-change:transform;filter:drop-shadow(0 4px 20px rgba(0,0,0,.08))}.envelope-flap-left,.envelope-flap-right{fill:var(--alabaster-grey)}.envelope-open .envelope-flap-top{transform:translateY(-50vh)}.envelope-open .envelope-flap-bottom{transform:translateY(50vh)}.envelope-open .envelope-flap-left{transform:translate(-50vw)}.envelope-open .envelope-flap-right{transform:translate(50vw)}.envelope-seal{position:absolute;left:50%;top:50%;width:clamp(112px,28vw,176px);height:clamp(112px,28vw,176px);transform:translate(-50%,-50%);border-radius:50%;background:url(../../../static/img/sticker.webp) center center/cover no-repeat;pointer-events:none;transition:opacity .7s ease .35s,transform .9s cubic-bezier(.25,.1,.25,1) .35s;will-change:opacity,transform}.envelope-open .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(.3)}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.25rem;padding-left:max(1.25rem,var(--safe-left));padding-right:max(1.25rem,var(--safe-right))}.polaroid-header{padding:2rem 1.25rem 1.5rem;padding-left:max(1.25rem,var(--safe-left));padding-right:max(1.25rem,var(--safe-right));background:var(--color-bg)}.polaroid-header-inner{max-width:var(--container-max);margin:0 auto;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:1rem}.polaroid{margin:0;flex-shrink:0}.polaroid--bride{align-self:flex-start;transform:rotate(-4deg)}.polaroid--groom{align-self:flex-end;margin-top:1.5rem;transform:rotate(4deg)}.polaroid__frame{width:165px;min-height:198px;padding:10px 10px 18px;background:var(--bright-snow);box-shadow:0 4px 16px #21252926,0 2px 6px #00000014;border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}.polaroid__caption{margin:0;padding:6px 2px 0;font-family:var(--font-body);font-size:calc(var(--font-size-base) * 1.02);font-weight:500;line-height:1.35;color:var(--color-text-soft);text-align:center;flex-shrink:0}.polaroid__img{width:145px;height:145px;object-fit:cover;display:block}@media(min-width:600px){.polaroid-header-inner{gap:2rem}.polaroid__frame{width:230px;min-height:276px;padding:14px 14px 24px}.polaroid__img{width:202px;height:202px}.polaroid--bride{align-self:flex-start;margin-bottom:0;transform:rotate(-3deg)}.polaroid--groom{align-self:flex-end;margin-top:2.5rem;transform:rotate(3deg)}.polaroid__caption{padding:8px 4px 0;font-size:calc(var(--font-size-base) * 1.14)}}.btn-music{min-height:44px;min-width:44px;padding:.6rem 1.25rem;font-family:var(--font-body);font-size:calc(var(--font-size-base) * .9);font-weight:500;color:var(--color-accent);background:transparent;border:2px solid var(--color-accent);border-radius:999px;cursor:pointer;transition:background .2s,color .2s}.btn-music:hover,.btn-music:focus{background:var(--color-accent);color:var(--color-on-accent);outline:none}.btn-music.playing{background:var(--color-accent);color:var(--color-on-accent)}.calendar-section{padding:1.5rem 1.25rem}.calendar-title{font-family:var(--font-heading);font-size:clamp(1.62rem,4.2vw,2.15rem);font-weight:450;text-align:center;margin:0 0 .35em;color:var(--color-text);line-height:1.3}.calendar-subtitle{text-align:center;font-family:var(--font-body);font-size:var(--font-size-base);font-weight:500;letter-spacing:.08em;color:var(--color-accent);margin:0 0 1.5rem}.calendar-wrap{max-width:min(320px,calc(100vw - (2*max(1.25rem,var(--safe-left),var(--safe-right)))));margin:0 auto;padding:clamp(1rem,3.5vw,1.5rem);background:var(--bright-snow);border-radius:16px;box-shadow:0 8px 32px #2125291f,0 2px 8px #0000000f;border:1px solid var(--color-border);box-sizing:border-box}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-family:var(--font-body);font-size:calc(var(--font-size-base) * .9)}.calendar-weekday{text-align:center;font-weight:500;color:var(--color-text-soft);padding:.25rem 0;font-size:.75rem;letter-spacing:.02em}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:500;color:var(--color-text)}.calendar-day--empty{visibility:hidden;pointer-events:none}.calendar-day--other{color:var(--color-text-soft)}.calendar-day--heart-wrap{position:relative;padding:0;background:transparent}.calendar-day--special{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.15rem;font-weight:450;color:var(--color-accent);border-radius:10px}.calendar-heart{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);margin:auto;pointer-events:none}.calendar-heart-stroke{fill:none;stroke:var(--accent-red);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;animation:calendar-heart-pulse 2.5s ease-in-out infinite}@keyframes calendar-heart-pulse{0%,to{opacity:1;stroke-width:1.8}50%{opacity:.85;stroke-width:3}}.calendar-legend{text-align:center;font-family:var(--font-heading);font-weight:450;font-size:clamp(1rem,2.5vw,1.2rem);color:var(--color-text-soft);margin:1.25rem 0 0}.section{padding:var(--section-padding)}.section-title{font-family:var(--font-heading);font-size:clamp(1.85rem,4.25vw,2.45rem);font-weight:450;text-align:center;margin:0 0 1.5rem;color:var(--color-text);line-height:1.3}.names-section{padding-top:1.5rem;padding-bottom:1.5rem}.names-title{font-family:var(--font-heading);font-size:clamp(2.1rem,8.5vw,3.65rem);font-weight:450;text-align:center;margin:0;color:var(--color-text);line-height:1.2}.story-text{max-width:42ch;margin:0 auto;text-align:center;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}.invite-intro-section{padding-top:2.75rem;padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right))}.invite-intro-section .section-title{text-align:center;font-size:clamp(2rem,4.6vw,2.65rem);font-weight:520}.invite-intro-section .container{padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right))}.invite-section .poem{max-width:min(100%,62ch);margin:0 0 .75rem;padding:.5rem 0;text-align:left;color:var(--color-text)}.invite-section .poem p{margin:0 0 .35em;text-indent:1.5em}.invite-section .poem p:last-child{margin-bottom:0}.engagement-photo-wrap{margin:1.5rem auto 0;width:100%;max-width:650px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a,0 2px 8px #0000000f}.engagement-photo-stack{margin:1.5rem auto 0;display:flex;flex-direction:column;gap:1.25rem;align-items:center;width:100%;max-width:650px}.engagement-photo-stack .engagement-photo-wrap{margin-top:0}.engagement-photo{display:block;width:100%;height:auto;margin:0;vertical-align:top}.invite-intro-section .poem{margin-bottom:.5rem}.invite-cta{text-align:center;font-family:var(--font-heading);font-size:clamp(1.85rem,4.25vw,2.45rem);font-weight:450;margin:0;color:var(--color-text);line-height:1.3;padding-inline:.25rem}@media(min-width:1024px){.invite-section .poem{margin-bottom:.5rem;padding:.4rem 0}.date-section .date-value{font-size:clamp(2rem,4vw,3rem)}.calendar-section .calendar-wrap{padding:1rem 0;margin-top:.5rem}.calendar-section.date-section{padding:1.5rem 0}.date-section .screen-inner{padding-top:1.25rem;padding-bottom:1.25rem}.calendar-section .calendar-subtitle{margin-bottom:1rem}}.date-value{text-align:center;font-family:var(--font-script);font-size:clamp(1.85rem,12vw + .5rem,5rem);font-weight:400;margin:0;color:var(--color-accent);line-height:1.15}.venue-block{margin-bottom:2.5rem;padding:0;background:none;border:none;border-radius:0}.venue-block:last-child{margin-bottom:0}.venue-title{font-family:var(--font-heading);font-size:clamp(1.28rem,.92rem + 1.65vw,1.54rem);font-weight:450;margin:0 0 .35em;color:var(--color-text);text-align:center}.venue-title--futura-script{font-family:var(--font-futura-now-script),cursive;font-weight:450}.venue-desc{margin:0;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);text-align:center}.venue-note{display:inline-block;margin-top:.65em;font-size:.95em;opacity:.92}.venue-photo-wrap{margin:1.25rem auto 0;max-width:100%;border-radius:12px;overflow:hidden}.venue-photo{display:block;width:100%;max-width:700px;height:auto;margin:0 auto;vertical-align:top}.venue-map{margin-top:1.5rem;max-width:100%;border-radius:12px;overflow:hidden}.venue-map iframe{display:block;width:100%;max-width:600px;height:450px;margin-inline:auto;border:0;vertical-align:top}@media(max-width:599px){.venue-map iframe{max-width:100%;height:min(450px,52vmin);min-height:200px}}.venue-map a{display:block;line-height:0}.venue-map__img{display:block;width:100%;max-width:500px;height:auto;border:0;vertical-align:top}.venue-map-btn{display:inline-block;margin-top:1rem;padding:.65rem 1.25rem;font-family:var(--font-body);font-size:calc(var(--font-size-base) * .95);font-weight:500;line-height:1.3;color:var(--color-accent);background:transparent;border:2px solid var(--color-accent);border-radius:8px;text-decoration:none;transition:background .2s,color .2s,transform .1s}.venue-map-btn:hover{background:var(--color-accent);color:var(--color-on-accent)}.venue-map-btn:active{transform:scale(.98)}.venue-map-btn:focus{outline:none;box-shadow:0 0 0 3px var(--pale-slate-2)}.venue-map-actions{margin:1rem 0 0;text-align:center}.timeline-list{list-style:none;margin:0 auto;padding:0;display:grid;gap:1.25rem;width:100%;max-width:min(440px,100%);box-sizing:border-box}.timeline-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;min-width:0;background-image:url(../../../static/img/clouds.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:8px;border:4px solid rgba(255,255,255,.95);box-shadow:0 1px 3px #0000000f}.timeline-item__content{display:flex;flex-direction:row;align-items:center;gap:.4rem;min-width:0;text-align:left}.timeline-time{font-family:var(--font-script);font-weight:400;font-size:2rem;color:var(--color-accent);line-height:1.2;letter-spacing:.02em;min-width:4.5rem}.timeline-label{font-family:var(--font-heading);font-weight:450;font-size:1.55rem;line-height:1.3;color:var(--color-text);min-width:0}.wishes-section.section{padding-left:0;padding-right:0}.wishes-section .container--wishes{max-width:900px;padding-left:0;padding-right:0}.wishes-list{display:flex;flex-direction:column;gap:2.5rem;margin-top:1.5rem}@media(min-width:641px){.wishes-list{max-width:720px;margin-left:auto;margin-right:auto}.wish-block:first-child .wish-block__img-wrap{width:300px;max-width:300px;margin-left:-48px}.wish-block:nth-child(2).wish-block--img-right .wish-block__img-wrap{width:300px;max-width:300px;margin-right:-24px}.wish-block:last-child.wish-block--img-left .wish-block__img-wrap{width:300px;max-width:300px;margin-left:-48px}}.wish-block{display:flow-root;margin:0}.wish-block__img-wrap{position:relative;border-radius:12px;overflow:hidden;width:300px;max-width:min(300px,52vw);aspect-ratio:1}.wish-block--img-left .wish-block__img-wrap{float:left;margin-right:1.25rem;margin-bottom:.25rem}.wish-block--img-right .wish-block__img-wrap{float:right;margin-left:1.25rem;margin-bottom:.25rem}.wish-block:first-child .wish-block__img-wrap{border-top-left-radius:24px}.wish-block:nth-child(2) .wish-block__img-wrap{border-top-right-radius:24px;border-bottom-right-radius:24px}.wish-block:last-child .wish-block__img-wrap{border-bottom-left-radius:24px}.wish-block__img{width:100%;height:100%;object-fit:cover;display:block}.wish-block__content{min-width:0;padding:0}.wish-block__title{font-family:var(--font-heading);font-size:clamp(1.55rem,3.1vw,2.05rem);font-weight:450;text-transform:uppercase;color:var(--color-text);width:100%;clear:both;margin:0 0 1rem;line-height:1.2;text-align:center}.wish-block__text{margin:0;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}@media(max-width:640px){.wishes-list{overflow-x:clip;gap:2rem}.wish-block{isolation:isolate}.wish-block__img-wrap{width:min(9rem,42vw);max-width:9rem}.wish-block--img-left .wish-block__img-wrap{margin-right:.75rem}.wish-block--img-right .wish-block__img-wrap{margin-left:.75rem}.wish-block:first-child .wish-block__img-wrap,.wish-block:nth-child(2) .wish-block__img-wrap,.wish-block:last-child .wish-block__img-wrap{border-radius:16px}.wish-block__title{font-size:clamp(1.25rem,4vw,1.5rem)}}.contact-section{text-align:center}.contact-intro{margin:0 0 .5rem;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}.contact-info{margin-top:1rem}.contact-name{font-family:var(--font-heading);font-size:1.55rem;font-weight:450;margin:0 0 .25rem}.contact-links{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.25rem}.contact-phone{display:inline-block;min-height:44px;line-height:44px;padding:0 .5rem;margin:0 -.5rem;font-size:1.25rem;font-weight:500;color:var(--color-accent);text-decoration:none}.contact-phone:hover{text-decoration:underline}.contact-telegram{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .5rem;margin:0 -.5rem;font-size:1.25rem;font-weight:500;color:var(--color-accent);text-decoration:none}.contact-telegram:hover{text-decoration:underline}.contact-telegram-icon{flex-shrink:0}.dresscode-section .section-title{margin-bottom:1rem}.dresscode-text{text-align:center;margin:0 auto 1.5rem;max-width:min(52ch,100%);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}.dresscode-palette{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.25rem;margin-bottom:2rem;list-style:none;padding:0}.dresscode-color{display:flex;align-items:center;justify-content:center}.dresscode-color-thumb{display:block;width:7rem;height:7rem;border-radius:50%;overflow:hidden;box-shadow:0 2px 10px #0000001a,inset 0 1px #fff3;transition:transform .2s ease,box-shadow .2s ease}.dresscode-color-thumb img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:599px){.dresscode-palette{gap:.85rem 1rem}.dresscode-color-thumb{width:5.25rem;height:5.25rem}}.dresscode-color:hover .dresscode-color-thumb{transform:scale(1.08);box-shadow:0 4px 16px #00000026,inset 0 1px #ffffff40}.dresscode-dress-strip{margin-top:1.25rem;margin-left:calc(-1*max(1.25rem,var(--safe-left)));margin-right:calc(-1*max(1.25rem,var(--safe-right)));box-sizing:border-box;width:auto}.dresscode-dress-intro{margin:0 auto .9rem;padding-left:max(1.25rem,var(--safe-left));padding-right:max(1.25rem,var(--safe-right));max-width:min(52ch,100%);text-align:center;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}.dresscode-dress-scroll{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;justify-content:safe center;align-items:flex-start;gap:.85rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:max(1.25rem,var(--safe-left));scroll-padding-right:max(1.25rem,var(--safe-right));padding-block:.35rem .6rem;padding-left:max(1.25rem,var(--safe-left));padding-right:max(1.25rem,var(--safe-right));-webkit-overflow-scrolling:touch;scrollbar-width:thin}.dresscode-dress-card{flex:0 0 auto;scroll-snap-align:center;width:min(78vw,17.5rem);margin:0;border-radius:.65rem;overflow:hidden;box-shadow:0 2px 12px #0000001f}.dresscode-dress-img{display:block;width:100%;height:auto}@media(max-width:599px){.dresscode-dress-scroll{gap:.7rem}.dresscode-dress-card{width:min(82vw,16rem)}}.date-section .countdown-title{margin-top:2rem;margin-bottom:.75rem}.countdown-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;margin-top:1rem}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:4rem}.countdown-value{font-family:var(--font-script);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:400;color:var(--color-accent);line-height:1.2}.countdown-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);margin-top:.25rem}.countdown-sep{font-family:var(--font-script);font-size:1.5rem;font-weight:400;color:var(--color-accent);margin:0 .15rem;text-shadow:0 0 .5em rgba(73,80,87,.35)}.form-section .section-title{margin-bottom:.5rem}.form-deadline{text-align:center;margin:0 0 1.5rem;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}.guest-form{max-width:420px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group>label:first-child,.form-label{display:block;font-size:clamp(var(--font-size-base),2.8vw,calc(var(--font-size-base) * 1.15));font-weight:500;margin-bottom:.5rem;color:var(--color-text);overflow-wrap:break-word;word-wrap:break-word}.required{color:#b34}.guest-form input[type=text]{width:100%;padding:.65rem .85rem;font-family:var(--font-body);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text)}.guest-form input[type=text]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #49505740}.guest-form input[type=text].invalid{border-color:#c44}.form-hint{display:block;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);margin-bottom:.5rem}.guest-form textarea{width:100%;min-height:120px;padding:.65rem .85rem;font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.5;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);resize:vertical}.guest-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #49505740}.form-error{display:block;font-size:calc(var(--font-size-base) * .8);color:#c44;margin-top:.35rem}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.radio-label,.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);cursor:pointer}.radio-label input,.checkbox-label input{margin:0;width:1.1em;height:1.1em;accent-color:var(--color-accent)}.btn-submit{width:100%;min-height:48px;padding:.85rem 1.5rem;font-family:var(--font-body);font-size:var(--font-size-base);font-weight:500;color:var(--color-on-accent);background:var(--color-accent);border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s}.btn-submit:hover{background:var(--gunmetal)}.btn-submit:active{transform:scale(.98)}.btn-submit:focus{outline:none;box-shadow:0 0 0 3px var(--pale-slate-2)}.footer{padding:var(--section-padding);padding-bottom:max(2.5rem,var(--safe-bottom));color:var(--color-text);text-align:center}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-polaroid{margin:0}.footer-polaroid__frame{width:min(72vw,240px);padding:12px 12px 22px;background:var(--bright-snow);box-shadow:0 4px 16px #21252926,0 2px 6px #00000014;border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden;transform:none}.footer-polaroid__img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.footer-polaroid__caption{margin:0;padding:10px 6px 0;font-family:var(--font-body);font-size:calc(var(--font-size-base) * .9);font-weight:500;line-height:1.3;color:var(--color-text-soft);text-align:center}.footer-signature{font-family:var(--font-heading);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:450;margin:0;color:var(--color-text)}.footer-names{margin:0}@media(min-width:600px){.footer-polaroid__frame{width:340px;padding:18px 18px 32px}.footer-inner{gap:1.75rem}.footer-signature{font-size:1.25rem}.footer .footer-names.hero-names{font-size:clamp(1.75rem,5vw,2.35rem)}.footer-polaroid__caption{font-size:calc(var(--font-size-base) * .9)}}@media(max-width:599px){.countdown-grid{flex-wrap:wrap;justify-content:center;gap:.5rem .75rem}.countdown-grid>.countdown-sep:nth-of-type(2){flex-basis:100%;width:100%;height:0;overflow:hidden;padding:0;margin:0;font-size:0;border:none}.countdown-grid>.countdown-item:first-child .countdown-value,.countdown-grid>.countdown-item:nth-child(3) .countdown-value{font-size:clamp(2rem,8vw,2.75rem)}.countdown-grid>.countdown-item:first-child .countdown-label,.countdown-grid>.countdown-item:nth-child(3) .countdown-label{font-size:.85rem}.countdown-item{min-width:3rem}.countdown-item .countdown-value{font-size:clamp(1.6rem,5vw,2rem)}.countdown-item .countdown-label{font-size:.75rem}.countdown-sep{font-size:1.35rem;margin:0 .15rem}}@media(max-width:380px){:root{--section-padding: 1.25rem .75rem}.container,.screen-inner{padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right))}.names-title{font-size:1.75rem}.timeline-item{gap:.75rem 1rem;padding:1rem 1.15rem}.timeline-time{font-size:clamp(1.5rem,11vw,2rem);min-width:3.75rem}.timeline-label{font-size:clamp(1.15rem,4.5vw,1.5rem)}.countdown-grid>.countdown-item:not(:first-child){min-width:2.5rem}.dresscode-palette{gap:.75rem .9rem;max-width:100%}}@media(max-width:599px){.timeline-section .container{width:100%;max-width:100%;padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right))}.timeline-section .timeline-list{width:100%;max-width:100%;margin-left:auto;margin-right:auto}.timeline-section{overflow-x:hidden}}@media(max-height:500px)and (orientation:landscape){.envelope-flap-line1{margin-top:2rem}.envelope-flap-text-bottom{margin-bottom:1rem}}@media(min-width:600px){:root{--section-padding: 2rem 0}.timeline-list{max-width:520px}.countdown-grid{gap:1rem 1.25rem}.countdown-sep{margin:0 .25rem}}@media(min-width:900px){.venue-map iframe{max-width:100%}}@media(min-width:1200px){:root{--section-padding: 2.5rem 0}}
