:root{--font-cormorant: "Cormorant Garamond", Georgia, serif;--font-montserrat: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--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-heading: var(--font-cormorant), Georgia, serif;--font-body: var(--font-montserrat), -apple-system, sans-serif;--font-script: var(--font-great-vibes), cursive;--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}body{margin:0;padding-left:var(--safe-left);padding-right:var(--safe-right);font-family:var(--font-body);font-weight:400;font-size:1rem;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:1.1rem}.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(62vw,220px);min-width:0;min-height:0;padding:10px 10px 18px;flex-shrink:0}.screen-hero .polaroid__img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.screen-hero .polaroid--bride{margin-right:-15%;z-index:1}.screen-hero .polaroid--groom{margin-top:15rem;margin-left:-15%;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,.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:3.5rem;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-heading);font-size:clamp(2rem,7vw,3.25rem);font-weight:600;font-style:italic;margin:0;color:var(--color-text);letter-spacing:.04em;line-height:1.35;flex-shrink:0}.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;top:-3rem;left:1rem;z-index:100;padding:.5rem 1rem;background:var(--color-accent);color:var(--color-on-accent);text-decoration:none;border-radius:4px;transition:top .2s}.skip-link:focus{top:1rem}.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{margin-top:clamp(4rem,18vh,7rem);padding-top:var(--safe-top);font-family:var(--font-body);font-size:clamp(.9rem,4.5vw,1.5em);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);line-height:1.3;text-align:center}.envelope-flap-line2{font-family:var(--font-heading);font-size:clamp(2rem,12vw,3.5em);font-style:italic;font-weight:600;color:var(--color-text);letter-spacing:.02em;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(.9rem,5vw,1.35em);font-weight:400;line-height:1.4;text-align:center;color:var(--color-text);max-width:min(24ch,90vw);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:.42}}@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-heading);font-size:clamp(1.15rem,5vw,2.1rem);font-style:italic;font-weight:600;letter-spacing:.05em;line-height:1.15;color:var(--color-text);opacity:0;text-shadow:0 0 10px rgba(255,255,255,.75),0 1px 3px rgba(255,255,255,.65);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:.8rem;font-weight:400;line-height:1.3;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:.9rem}}.btn-music{min-height:44px;min-width:44px;padding:.6rem 1.25rem;font-family:var(--font-body);font-size:.9rem;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.5rem,4vw,2rem);font-weight:600;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:1rem;font-weight:500;letter-spacing:.08em;color:var(--color-accent);margin:0 0 1.5rem}.calendar-wrap{max-width:320px;margin:0 auto;padding: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)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-family:var(--font-body);font-size:.9rem}.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.1rem;font-weight:600;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-size:clamp(1rem,2.5vw,1.2rem);font-style:italic;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.75rem,4vw,2.25rem);font-weight:600;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(2rem,8vw,3.5rem);font-weight:600;text-align:center;margin:0;color:var(--color-text);line-height:1.2;letter-spacing:.02em}.story-text{max-width:42ch;margin:0 auto;text-align:center;font-size:1rem;line-height:1.6;color:var(--color-text)}.invite-section{padding-top:10rem}.invite-section .poem{max-width:min(90vw,58ch);margin:0 auto .75rem;padding:.5rem 0;text-align:center;color:var(--color-text)}.invite-section .poem p{margin:0 0 .35em}.invite-section .poem p:last-child{margin-bottom:0}.engagement-photo-wrap{margin:1.5rem auto 0;max-width:min(90vw,520px);overflow:hidden}.engagement-photo{display:block;max-width:100%;max-height:min(48vh,360px);width:auto;height:auto;margin-left:auto;margin-right:auto;vertical-align:middle;border-radius:12px;box-shadow:0 4px 20px #0000001a,0 2px 8px #0000000f}.invite-intro-section .screen-inner,.invite-intro-section .container{padding-left:var(--safe-left);padding-right:var(--safe-right)}.invite-intro-section .poem{margin-bottom:.5rem}.invite-cta{text-align:center;font-family:var(--font-heading);font-size:clamp(1.25rem,6vw,14rem);font-weight:600;margin:0;color:var(--color-text)}@media(min-width:1024px){.invite-cta{font-size:clamp(1.35rem,1.8vw,1.85rem)}.invite-section .section-title{margin-top:-.5rem;margin-bottom:1rem}.invite-section .poem{margin-bottom:.5rem;padding:.4rem .6rem}.invite-section .date-value{font-size:clamp(2rem,4vw,3rem)}.invite-section .calendar-wrap,.calendar-section .calendar-wrap{padding:1rem 0;margin-top:.5rem}.calendar-section.invite-section{padding:1.5rem 0}.invite-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(2rem,14vw,5rem);font-weight:400;margin:0;color:var(--color-accent)}.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:1.35rem;font-weight:600;margin:0 0 .35em;color:var(--color-text);text-align:center}.venue-desc{margin:0;font-size:1rem;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;border:0;vertical-align:top}.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:.95rem;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-size:1.5rem;line-height:1.3;color:var(--color-text);letter-spacing:.01em;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--img-left .wish-block__img-wrap{margin-left:0}.wish-block:first-child .wish-block__img-wrap{width:240px;max-width:240px;margin-left:-48px;justify-self:start}.wish-block--img-right .wish-block__img-wrap{margin-right:0}.wish-block:nth-child(2).wish-block--img-right .wish-block__img-wrap{width:240px;max-width:240px;margin-left:0;margin-right:-24px;justify-self:end}.wish-block:last-child.wish-block--img-left .wish-block__img-wrap{width:240px;max-width:240px;margin-left:-48px;margin-right:0;justify-self:start}}.wish-block{display:grid;grid-template-columns:4fr 9fr;gap:0 1.5rem;align-items:start;margin:0}.wish-block--img-left .wish-block__img-wrap{order:1}.wish-block--img-left .wish-block__content{order:2}.wish-block--img-right{grid-template-columns:9fr 4fr}.wish-block--img-right .wish-block__content{order:1}.wish-block--img-right .wish-block__img-wrap{order:2}.wish-block__img-wrap{position:relative;border-radius:12px;overflow:hidden;width:100%;aspect-ratio:1}.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:.25rem 0}.wish-block__title{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text);margin:0 0 .75rem;line-height:1.2}.wish-block__text{margin:0;font-size:1rem;line-height:1.6;color:var(--color-text)}@media(max-width:640px){.wish-block{grid-template-columns:4fr 9fr;gap:0 1rem;align-items:center}.wish-block--img-right{grid-template-columns:9fr 4fr}.wish-block--img-left .wish-block__img-wrap{margin-left:-24px}.wish-block:first-child .wish-block__img-wrap{width:185%;max-width:320px;margin-left:-100px}.wish-block:last-child.wish-block--img-left .wish-block__img-wrap{width:185%;max-width:320px;margin-left:-100px}.wish-block--img-right .wish-block__img-wrap{margin-right:-24px}.wish-block:nth-child(2).wish-block--img-right .wish-block__img-wrap{width:185%;max-width:320px;margin-right:-72px}.wish-block__img-wrap{width:100%;aspect-ratio:1}.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:1rem;line-height:1.6;color:var(--color-text)}.contact-telegram-chat{margin:1.5rem 0;padding:1rem 0;border-top:1px solid var(--color-border, rgba(0, 0, 0, .1));border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1))}.contact-telegram-chat-desc{margin:0 0 .75rem;font-size:.95rem;line-height:1.6;color:var(--color-text);max-width:42ch;margin-left:auto;margin-right:auto}.contact-telegram-chat-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1rem;font-size:1.1rem;font-weight:500;color:var(--color-accent);text-decoration:none}.contact-telegram-chat-link:hover{text-decoration:underline}.contact-telegram-chat-link .contact-telegram-icon{flex-shrink:0}.contact-info{margin-top:1rem}.contact-name{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;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:42ch;font-size:1rem;line-height:1.6;color:var(--color-text)}.dresscode-palette-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--color-text);text-align:center;margin:0 0 1rem;letter-spacing:.02em}.dresscode-palette{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;margin-bottom:2rem;list-style:none;padding:0}.dresscode-color{display:flex;align-items:center;justify-content:center;margin-left:-1.25rem}.dresscode-color:first-child{margin-left:0}.dresscode-color-circle{display:block;width:3.75rem;height:3.75rem;border-radius:50%;background-color:var(--dresscode-color);box-shadow:0 2px 10px #0000001a,inset 0 1px #fff3;transition:transform .2s ease,box-shadow .2s ease}@media(max-width:599px){.dresscode-palette{flex-wrap:nowrap;justify-content:center}.dresscode-color-circle{width:2.75rem;height:2.75rem}.dresscode-color{margin-left:-.9rem}}.dresscode-color:hover .dresscode-color-circle{transform:scale(1.08);box-shadow:0 4px 16px #00000026,inset 0 1px #ffffff40}.dresscode-guidelines{display:grid;gap:1.25rem;max-width:36ch;margin:0 auto 1.5rem}@media(min-width:500px){.dresscode-guidelines{grid-template-columns:1fr 1fr;max-width:none}}.dresscode-guideline{padding:1rem 1.25rem;background:var(--color-bg-alt);border-radius:8px;border:1px solid var(--color-border)}.dresscode-guideline-label{display:block;font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--color-accent);margin-bottom:.35rem}.dresscode-guideline p{margin:0;font-size:.9rem;line-height:1.5;color:var(--color-text)}.dresscode-avoid{text-align:center;margin:0;font-size:.9rem;color:var(--color-text-soft);font-style:italic}.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-heading);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;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-heading);font-size:1.5rem;font-weight:700;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:1rem;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:.9rem;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:1rem;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:1rem;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:1rem;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:.8rem;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:1rem;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:1rem;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:.9rem;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:600;font-style:italic;margin:0;color:var(--color-text);letter-spacing:.02em}.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:.9rem}}@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{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}.countdown-grid>.countdown-item:not(:first-child){min-width:2.5rem}}@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}}
