:root{--color-bg: #f4eee6;--color-ink: #72484d;--color-ink-soft: #544c45;--color-sage: #a1717b;--color-sage-deep: #525f73;--color-rose: #a1717b;--color-gold: #dec8af;--color-line: #d5c1b2;--color-card: #fffaf4;--font-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1: .5rem;--space-2: 1rem;--space-3: 1.75rem;--space-4: 3rem;--space-5: 5rem;--max-w: 62rem}@font-face{font-family:Rouge Script;src:url(/_astro/RougeScript-Regular.C12SUUqj.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Caveat;src:url(/_astro/Caveat-VariableFont_wght.D9WNzp_c.ttf) format("truetype");font-style:normal;font-weight:400 700;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}html[lang=ru]{--font-body: "Lora", Georgia, serif}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}body.invitation-locked{overflow:hidden}.envelope-cover{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 50% 28%,rgba(255,250,244,.65),transparent 62%),var(--color-bg);animation:envelope-fade-in .55s ease both;transition:opacity 1.1s ease,transform 1.1s ease}.envelope-cover.is-opening{opacity:0;transform:translateY(-1.5rem) scale(.98);pointer-events:none}@keyframes envelope-fade-in{0%{opacity:0}to{opacity:1}}.envelope-card{position:relative;z-index:1;width:min(100%,38rem);min-height:19rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:7rem clamp(1.5rem,7vw,4rem) 2.5rem;border:1px solid rgba(114,72,77,.3);border-radius:.15rem;background:var(--color-card);box-shadow:0 2rem 4rem #525f7338,0 0 0 1px #ffffff80 inset;text-align:center;animation:envelope-card-in .65s .15s cubic-bezier(.22,1,.36,1) both}@keyframes envelope-card-in{0%{opacity:0;transform:translateY(.75rem) scale(.97)}to{opacity:1;transform:none}}.envelope-card:before{position:absolute;inset:0 0 auto;height:8rem;content:"";background:linear-gradient(155deg,#eadac2 0%,var(--color-gold) 45%,#c9a877 100%);clip-path:polygon(0 0,100% 0,50% 100%);transition:transform .55s ease,opacity .55s ease;transform-origin:top center}.envelope-card:after{position:absolute;inset:0;content:"";border:1px solid rgba(114,72,77,.16);clip-path:polygon(0 100%,50% 54%,100% 100%);pointer-events:none}.envelope-card.is-open:before{opacity:0;transform:translateY(-1.25rem) scaleY(.85)}.wax-seal{position:absolute;top:8rem;left:50%;z-index:2;display:grid;place-items:center;width:2.7rem;height:2.7rem;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 32% 28%,#a3625b,#72242c 78%);box-shadow:0 .3rem .65rem #2b141459,inset 0 .1rem .2rem #ffffff4d;color:#f6e6d8;font-family:var(--font-display);font-size:.8rem;transition:opacity .35s ease,transform .35s ease}.envelope-card.is-open .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(12deg)}.envelope-monogram{margin:0;color:var(--color-sage-deep);font-family:var(--font-display);font-size:.8rem;letter-spacing:.32em;text-transform:uppercase}.envelope-card h1{max-width:24rem;margin:0;color:var(--color-ink);font-family:Rouge Script,Cormorant Garamond,cursive;font-size:clamp(2.4rem,8vw,4.2rem);font-weight:400;line-height:1.05}.open-invitation{position:absolute;top:8rem;left:50%;z-index:2;width:5.25rem;height:5.25rem;padding:.5rem;border:2px solid rgba(255,250,244,.7);border-radius:50%;background:radial-gradient(circle at 32% 28%,#a3625b,#72242c 78%);color:#f6e6d8;font-family:var(--font-body);font-size:.68rem;line-height:1.15;cursor:pointer;transform:translate(-50%,-50%);box-shadow:0 .3rem .65rem #2b141459,inset 0 .1rem .2rem #ffffff4d;transition:transform .18s ease,box-shadow .18s ease,opacity .35s ease}.open-invitation:hover,.open-invitation:focus-visible{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 .45rem .8rem #2b141466,inset 0 .1rem .2rem #ffffff59}.envelope-card.is-open .open-invitation{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(12deg)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--color-ink);margin:0}h1{font-size:clamp(2.5rem,6vw,4.4rem);line-height:.95}h2{font-size:clamp(2rem,5vw,3rem);line-height:1}h3{font-size:1.65rem;line-height:1.05}a{color:var(--color-sage-deep)}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}.hairline{border:none;border-top:1px solid var(--color-line);width:3rem;margin:var(--space-3) auto}.sprig{display:block;margin:0 auto;color:var(--color-gold)}.hero{padding:0;margin-inline:calc(50% - 50vw)}.invite-intro{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0 2rem;text-align:center}.invite-intro h1{max-width:36rem;color:var(--color-ink);font-family:Rouge Script,Cormorant Garamond,cursive;font-size:clamp(3rem,8vw,6rem);font-weight:400;line-height:1.05}html[lang=ru] .invite-intro h1,html[lang=ru] .hero-copy .eyebrow-name{font-family:Caveat,cursive;font-weight:400}.scroll-arrow{width:5.5rem;height:11rem;margin-top:2rem;color:var(--color-sage-deep)}.scroll-arrow svg{display:block;width:100%;height:100%;overflow:visible}.scroll-arrow path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;stroke-dasharray:220;stroke-dashoffset:220;animation:draw-arrow 2.2s ease-in-out .4s forwards}@keyframes draw-arrow{to{stroke-dashoffset:0}}.hero-image-wrap{position:relative;min-height:min(78vh,50rem);overflow:hidden;background:var(--color-sage-deep);border-radius:.2rem .2rem 7rem;box-shadow:0 1.5rem 3rem #525f7324}.hero-image{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:25% center;filter:saturate(.72) sepia(.12)}.hero-wash{position:absolute;inset:0;background:linear-gradient(180deg,#525f731f 15%,#2b2223cc)}.hero-copy{position:absolute;inset:auto 1.5rem 18%;color:#fffaf4;text-align:center}.hero-names{margin:0 auto 1.25rem;color:var(--color-ink);text-align:center}.hero-names:after{display:none}.hero-names h1{color:var(--color-ink);font-family:Rouge Script,Cormorant Garamond,cursive;font-size:clamp(3rem,8vw,6rem);font-weight:500;font-style:italic;line-height:.9;letter-spacing:-.02em}.hero-copy .eyebrow-name,.hero-copy .sprig{color:var(--color-gold)}.hero-copy .eyebrow-name{margin:0;font-family:Rouge Script,Cormorant Garamond,cursive;font-size:clamp(2rem,5vw,3.2rem);font-style:normal}.hero-invitation{max-width:36rem;margin:1rem auto 0;font-family:var(--font-display);font-size:clamp(1.3rem,3vw,2rem);line-height:1.12}.colour-options-preview{display:none;max-width:47rem;margin:0 auto;padding:2rem 0}.colour-options-preview.is-visible{display:block}.colour-options-preview h2{margin-bottom:1.5rem}.colour-option-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.colour-option{padding:1rem .5rem;border:1px solid var(--color-line);background:var(--color-card);text-align:center}.colour-option span{display:block;color:var(--preview-colour);font-family:Rouge Script,Cormorant Garamond,cursive;font-size:2.2rem;line-height:1}.colour-option small{display:block;margin-top:.75rem;color:var(--color-ink-soft);font-size:.7rem;line-height:1.2}.section-kicker,.detail-label{margin:0 0 .7rem;color:var(--color-sage-deep);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.details h2{max-width:22rem}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,8vw,8rem);margin-top:2.5rem}.detail{padding-top:1rem;border-top:1px solid var(--color-line)}.detail h3{margin:1.5rem 0 .75rem}.detail p{margin:0}[data-reveal]{opacity:0;transform:translateY(1.25rem);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.timeline{max-width:47rem;margin-inline:auto}.timeline-list{position:relative;margin-top:2.5rem}.timeline-list:before{content:"";position:absolute;top:1rem;bottom:1rem;left:1.25rem;width:1px;background:var(--color-line)}.timeline-item{position:relative;display:grid;grid-template-columns:2.5rem 1fr;gap:1.5rem;padding-bottom:2.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-sage);border-radius:50%;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-display);font-size:1rem}.timeline-content{padding-top:.3rem}.timeline-time{color:var(--color-sage-deep);font-size:.78rem;font-weight:600;letter-spacing:.14em}.timeline-content h3{margin:.8rem 0 .5rem}.timeline-content p{margin:0;max-width:32rem}.dress-code{max-width:47rem;margin-inline:auto}.dress-intro{max-width:38rem;margin:1.5rem 0 0;font-family:var(--font-display);font-size:1.4rem;line-height:1.3}.dress-guidance{margin-top:2.5rem}.dress-row{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.5rem;align-items:start;padding:1.5rem 0;border-top:1px solid var(--color-line)}.palette{display:flex;gap:.35rem;padding-top:.2rem}.palette span{display:block;width:1.4rem;height:1.4rem;border-radius:50%;border:2px solid var(--color-bg);outline:1px solid var(--color-line)}.dress-row h3{margin:.8rem 0 .5rem}.dress-row p{max-width:38rem;margin:0}.countdown{text-align:center}.countdown h2{margin-bottom:2rem;font-family:Lora,Georgia,serif;font-weight:300}.countdown-date{margin:1.25rem 0 0;color:var(--color-ink);font-size:.95rem;font-weight:300}.countdown-display{display:flex;align-items:start;justify-content:center;gap:clamp(.35rem,1.5vw,.75rem);width:fit-content;max-width:100%;margin:0 auto;text-align:center}.countdown-display div{display:flex;flex-direction:column;align-items:center;gap:.35rem}.countdown-display strong{width:2ch;font-family:Lora,Georgia,serif;color:var(--color-ink);font-size:clamp(1.8rem,6vw,3rem);font-variant-numeric:tabular-nums;font-weight:300;line-height:1;letter-spacing:.04em;text-align:center}.countdown-display span{color:var(--color-ink);font-size:.9rem;font-weight:300;line-height:1}.countdown-display .countdown-separator{align-self:flex-start;margin-top:.25rem;font-family:Lora,Georgia,serif;font-size:clamp(1.8rem,6vw,3rem);font-weight:400}.rsvp-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,6rem);align-items:start}.rsvp-heading{position:sticky;top:2rem}.rsvp-form{background:var(--color-card);padding:clamp(1.25rem,4vw,2.5rem);border:1px solid var(--color-line)}.eyebrow-name{text-align:center;font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--color-sage-deep)}.section{position:relative;padding:var(--space-4) 0}.section+.section{border-top:0}.section+.section:before,.details.section:before{position:absolute;top:0;left:50%;width:min(100%,30rem);height:1px;background:var(--color-line);content:"";transform:translate(-50%)}.section+.section:after,.details.section:after{position:absolute;top:-.28rem;left:50%;width:.55rem;height:.55rem;border:1px solid var(--color-sage);background:var(--color-bg);content:"";transform:translate(-50%) rotate(45deg)}.center{text-align:center}.muted{color:var(--color-ink-soft);font-size:.95rem}.rsvp-form{display:flex;flex-direction:column;gap:var(--space-3)}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.85rem;color:var(--color-ink-soft)}.field input[type=text],.field input[type=number],.field select,.field textarea{font-family:var(--font-body);font-size:1rem;padding:.7rem .85rem;border:1px solid var(--color-line);border-radius:2px;background:var(--color-card);color:var(--color-ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-sage);outline-offset:1px}.field textarea{resize:vertical;min-height:5rem}.radio-row{display:flex;gap:var(--space-3)}.radio-option{display:flex;align-items:center;gap:.4rem;font-size:1rem}.radio-option input{accent-color:var(--color-sage-deep);width:1.1rem;height:1.1rem}.submit-btn{font-family:var(--font-body);font-size:1rem;letter-spacing:.02em;padding:.85rem;background:var(--color-ink);color:#fff;border:none;border-radius:2px;cursor:pointer;transition:background .15s ease}.submit-btn:hover{background:var(--color-sage-deep)}.submit-btn:disabled{opacity:.6;cursor:default}.submit-btn:focus-visible,a:focus-visible{outline:2px solid var(--color-sage-deep);outline-offset:2px}.form-note{text-align:center;font-size:.9rem;min-height:1.2rem}.form-note[data-state=success]{margin:.5rem 0 0;color:var(--color-sage-deep);font-size:1.2rem;font-weight:600;line-height:1.35}.form-note[data-state=error]{color:#a44848}.hidden{display:none}@media (max-width: 640px){.hero-image-wrap{min-height:38rem;border-radius:.2rem .2rem 4.5rem}.hero-copy{inset-inline:1rem}.colour-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid,.rsvp-section{grid-template-columns:1fr}.details-grid{gap:2.5rem}.dress-row{grid-template-columns:1fr;gap:1rem}.rsvp-heading{position:static}}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}
