
:root{--paper:#f8f4eb;--ink:#444b38;--olive:#697052;--gold:#a18a59;--script:'Italianno',cursive}
body{background:#e8e3d7}.opening-story{height:240vh;height:240svh}.sticky-scene{background:radial-gradient(#faf7ef,#e5dfd2)}.envelope-scene{filter:drop-shadow(0 7px 13px #59513c18)}.emerging-letter{border:1px solid #b5a78344;box-shadow:0 10px 28px #514c302b}.emerging-letter:before{border-radius:45% 45% 0 0 / 20% 20% 0 0;inset:18px}.emerging-letter h1 i{font-family:var(--script);font-size:.7em}.scroll-cue{border:0;background:#fbf8efe8;padding:12px 22px;letter-spacing:.03em}
.invitation-flow{max-width:760px;box-shadow:0 0 70px #6a5d3512}.invitation-section{border:0}.invitation-section:before{opacity:.12;background-size:100% auto;background-repeat:no-repeat}.section-inner{padding:110px 45px;min-height:0}.invitation .section-inner{min-height:850px;padding:110px 42px}.invitation-section.invitation:before{opacity:.48;background-size:100% 100%}.invitation .section-inner:before{content:'';position:absolute;inset:38px 25px;border:1px solid #a28b575f;border-radius:48% 48% 0 0 / 20% 20% 0 0;pointer-events:none}.invitation .eyebrow{max-width:240px;line-height:1.9;margin-bottom:24px;font-size:.6875rem}.intro{font-size:1.2rem;color:#6b715a;line-height:1.5;max-width:330px}.names{font-size:clamp(3.6rem,13vw,5.6rem);letter-spacing:.035em;line-height:1.02;margin:20px 0}.names em{font-family:var(--script);font-size:.64em;line-height:1.1;margin:8px 0;color:#a28b57}.year{font-size:1.6rem;letter-spacing:.28em}.date-line{font-size:.75rem;letter-spacing:.17em}.gold-rule{width:50px;margin:26px 0;background:#ac986a}
#fecha{background:#eeeade}#fecha:before{background-position:center bottom;opacity:.12;transform:rotate(180deg)}#fecha .section-inner{padding-top:80px;padding-bottom:90px}#fecha .eyebrow{margin-bottom:18px}.script-heading{font:3.25rem/1 var(--script);color:#7c8064;margin:0 0 16px}.date-feature{margin:0 0 30px;display:flex;flex-direction:column;align-items:center}.date-feature>span{font-size:7rem;line-height:.85;font-weight:400;color:#626b4d;letter-spacing:-.07em;margin-left:-.06em}.date-feature small{font:.75rem/1.5 var(--sans);letter-spacing:.25em;margin-top:23px}.month{display:none}.calendar{max-width:315px;font-size:1.25rem;gap:8px 0}.weekday{font-size:.6875rem}.chosen{background:#f8f4eb;border-color:#ab935f;box-shadow:none}
.details .section-inner{padding:90px 25px 95px}.details h2{font-size:3.2rem;margin-bottom:38px}.details h2 em{font-family:var(--script);font-size:1.2em}.event{position:relative;width:100%;max-width:430px;margin:0 0 24px;padding:36px 28px 32px;background:#fbf8f0bf;border:1px solid #b2a68155;box-shadow:0 5px 22px #71644309;border-radius:100px 100px 4px 4px / 35px 35px 4px 4px}.event+.event{padding-top:36px;border-top:1px solid #b2a68155}.event-index{font:.65rem var(--sans);letter-spacing:.15em;color:#9e956f;margin:0 0 14px}.time{font-size:2.5rem;margin:0 0 14px;color:#a08c5e}.time span{font-size:1.1rem}h3{font-size:1.65rem;margin:0 0 10px}.pending{font-size:.875rem;line-height:1.6;margin:0 auto 22px;max-width:290px;color:#697257}.directions{font-size:.8125rem;min-height:46px;border-color:#899374;background:#eef0e5;padding:11px 27px;transition:background .2s,box-shadow .2s,transform .2s}.directions:hover{background:#e3e8d7;box-shadow:0 4px 12px #49533012;transform:translateY(-1px)}.dress{border:0;margin-top:14px;padding:22px 0 0}.dress .eyebrow{font-size:.6875rem;color:#777d65}.dress>p:last-child{font-size:2rem;font-style:italic}
.closing{background:#eee9de}.closing:before{opacity:.13}.closing .section-inner{min-height:760px;padding-top:230px;padding-bottom:90px}.closing .couple{opacity:.2;object-position:50% 38%}.photo-veil{background:linear-gradient(#f8f4eb 0%,#f8f4eb9e 25%,#f8f4eb55 48%,#eee9dec9 72%,#eee9de 100%)}.closing .eyebrow{top:80px;letter-spacing:.2em}.closing h2{font-size:2.8rem;line-height:1.12;margin:0}.closing h2 em{font-family:var(--script);font-size:1.3em;font-style:normal}.closing .signature{font-size:2.25rem!important;letter-spacing:.03em}.closing p:not(.eyebrow):not(.date-line):not(.signature){font-size:1.25rem;line-height:1.6;color:#657050}
.address-panel{border-radius:70px 70px 4px 4px / 24px 24px 4px 4px;padding-top:55px}.address-panel[open]{animation:panel-in .25s ease-out}.address-close{right:12px;top:12px}.address-panel::backdrop{background:#3b4335a6;backdrop-filter:blur(3px)}@keyframes panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.motion-ready .section-inner>*:not(.event),.motion-ready .event{transform:translateY(calc((1 - var(--enter,1))*22px));opacity:calc(.45 + var(--enter,1)*.55)}
@media(min-width:800px){.invitation .section-inner{min-height:930px;padding:130px 80px}.invitation .section-inner:before{inset:50px}.details .section-inner{padding-top:110px;padding-bottom:110px}.event{max-width:450px}.section-inner{padding-left:70px;padding-right:70px}}
@media(max-width:350px){.invitation .section-inner{padding-left:28px;padding-right:28px;min-height:760px}.invitation .section-inner:before{inset:28px 15px}.names{font-size:3.3rem}.details .section-inner{padding-left:18px;padding-right:18px}.event{padding-left:18px;padding-right:18px}.section-inner{padding-left:28px;padding-right:28px}}
@media(prefers-reduced-motion:reduce){.opening-story{height:100vh;height:100svh}.motion-ready .section-inner>*:not(.event),.motion-ready .event{transform:none;opacity:1}.address-panel[open]{animation:none}.directions{transition:none}}
.opening-story.art-failed{height:100vh;height:100svh}
