/* Botanical editorial direction. Layout primitives remain in style.css. */
.intro{overflow-y:auto}.intro-form{display:flex;flex-direction:column;gap:12px;width:min(100%,320px);transition:opacity .4s}.intro-form label{font-size:.68rem;letter-spacing:.05em;color:#e4cfc2;text-align:left}.intro-form input{width:100%;min-height:49px;padding:13px 16px;border:1px solid #c4a89a88;border-radius:2px;background:#fffbf50c;color:#fff6ee;font-size:16px;outline-offset:3px}.intro-form input::placeholder{color:#c2a99f}.intro-form input:focus{border-color:#f1d6c3;outline:1px solid #f1d6c3}.intro-form .button{width:100%}.intro.is-opening .intro-form{opacity:0;pointer-events:none}@media(max-height:800px){.intro .envelope{height:170px;width:270px;margin:20px 0}.intro .intro-inner{padding:24px 20px}.intro .intro-title{font-size:2.5rem}.intro .intro-note{margin-top:12px}}@media(max-height:590px){.intro{place-items:start center}.intro .envelope{height:130px;width:210px;margin:15px 0}.intro .intro-inner{gap:0}.intro .intro-title{font-size:2rem}}
:root{--forest:#582d3b;--forest-deep:#361f2a;--olive:#877866;--sage:#e4d6cc;--paper:#f9f4eb;--cream:#eee3d6;--ink:#462e34;--muted:#8b7775;--gold:#af865e;--line:#dacbc2}
body{background:var(--paper)}body.invite-closed{overflow:hidden}h1,h2,h3,.signature,.footer-mark,.hero-date{font-family:"Cormorant Garamond",Georgia,serif}h2{font-weight:400;letter-spacing:-.045em;line-height:1.04}em{color:#9c5f62}::selection{background:#d9b8b5;color:#462e34}.button{border-radius:2px;font-size:.63rem;letter-spacing:.19em;min-height:57px;transition:background .3s,box-shadow .3s,transform .3s}.button:hover{box-shadow:0 9px 22px #582d3b22}.button-primary:hover{background:#733e4d}.button-light{background:transparent;color:var(--paper);border:1px solid #b49b8f88}.button-light:hover{background:#f9f4eb;color:var(--forest)}.eyebrow{font-size:.59rem;letter-spacing:.25em}.site-header{height:86px;background:#f9f4ebeb;padding:0 5vw;border-bottom:1px solid #dacbc270}.site-header nav a,.header-rsvp{font-size:.57rem}.monogram{font-family:"Cormorant Garamond",serif;font-size:2.4rem}.header-rsvp{padding:12px 0}.site-header nav{gap:40px}
.intro{background:radial-gradient(ellipse at 50% 20%,#794a57 0,#4f2a39 48%,#301d28 100%);transition:opacity .9s ease,visibility .9s}.intro:before{content:"";position:absolute;inset:22px;border:1px solid #c9ad8b35;pointer-events:none}.intro:after{content:"❦";position:absolute;font-size:500px;color:#c6a88a06;right:-80px;bottom:-160px;pointer-events:none}.intro-inner{position:relative;z-index:1;gap:5px;width:100%;padding:35px 20px}.intro .eyebrow{font-size:.55rem;margin-bottom:16px;color:#d7c1af}.intro-title{font-size:clamp(2.4rem,5vw,4.2rem);color:#f9f4eb;letter-spacing:-.04em;margin:0 0 8px}.intro-title em{color:#d9b5a7}.intro-note{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem;letter-spacing:.03em;color:#dcc5b9;margin-top:20px}.envelope{width:min(73vw,385px);height:250px;margin:35px 0 35px;perspective:1000px;transform:rotate(-4deg);filter:drop-shadow(0 25px 25px #150c1f55);transition:transform 1s}.envelope-back{background:#c9b3a1;border-radius:3px}.envelope-front{background:linear-gradient(25deg,#e4d2ba,#f3e5ce 55%,#e4d4be);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);border-radius:3px}.envelope-front:after{content:"CLARA & MIGUEL";position:absolute;bottom:28px;width:100%;left:0;color:#a18c73;letter-spacing:.3em;font-size:8px}.envelope-flap{height:56%;background:linear-gradient(#f8efdf,#e6d7c0);transform-origin:top;transition:transform .9s cubic-bezier(.4,0,.2,1);backface-visibility:visible}.letter{top:8%;height:85%;background:var(--paper) url('/assets/floral.webp') center/cover;transform:rotate(0);font-size:2.7rem;border:0;transition:transform .9s .6s cubic-bezier(.2,.7,.2,1)}.letter span{background:#f9f4ebaa;padding:10px;border-radius:50%;font-family:"Cormorant Garamond",serif}.seal{display:flex;align-items:center;justify-content:center;width:62px;height:62px;left:calc(50% - 31px);top:calc(52% - 31px);background:radial-gradient(circle at 30% 20%,#a46a72,#7e4354 60%,#5b2939);border:3px double #ad7783;border-radius:45% 49% 46% 48%;box-shadow:2px 4px 8px #3e1f3544,inset 0 0 0 3px #8d5260;transition:opacity .3s,transform .5s}.seal span{color:#d5a4aa;font-size:19px;letter-spacing:-.08em;text-shadow:0 1px #512333}.intro.is-opening .envelope{transform:rotate(0)}.intro.is-opening .seal{opacity:0;transform:scale(1.3)}.intro.is-opening .envelope-flap{transform:rotateX(180deg);z-index:0}.intro.is-opening .letter{transform:translateY(-115px);z-index:1}.intro.is-open .letter{animation:none}.intro.is-opening .button,.intro.is-opening .intro-note{opacity:0;transition:opacity .4s}
.hero{min-height:860px;height:calc(100svh - 86px);max-height:1100px;background:#f9f4eb;isolation:isolate;position:relative;padding:90px 20px 100px}.hero:before,.hero:after{content:"";position:absolute;inset:0;pointer-events:none}.hero:before{background:url('/assets/floral.webp') center 48%/100% auto no-repeat;z-index:-2;animation:botanical-breathe 18s ease-in-out infinite alternate}.hero:after{background:radial-gradient(ellipse at center,#faf5eaa8 0,#faf5ea55 30%,transparent 63%);z-index:-1}.hero-ornament{display:none}.hero-content{width:min(660px,85%)}.hero .eyebrow{margin-bottom:26px;color:#7e6056}.hero h1{font-size:clamp(5rem,8vw,9rem);line-height:.81;letter-spacing:-.05em;white-space:normal;display:flex;flex-direction:column;margin:0 0 29px;font-weight:400}.hero h1 em{font-size:.43em;line-height:1.2;font-weight:400;font-style:italic;color:#a67664;margin:3px 0}.hero-invitation{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.35rem;color:#866b62;margin-bottom:20px}.hero-rule{margin:15px auto;height:18px}.hero-rule:before,.hero-rule:after{width:36px;background:#bca17e}.hero-date{font-size:1.25rem;font-weight:500;margin:15px 0 9px;letter-spacing:.015em}.hero-place{font-size:.59rem;letter-spacing:.2em;margin-bottom:28px;color:#8b7364}.hero .button{padding:17px 31px}.hero-scroll{font-size:.51rem;bottom:24px;color:#725e52}.hero-scroll span{animation:arrow-float 2s ease-in-out infinite}.hero-content>*{opacity:0;transform:translateY(25px)}.invite-open .hero-content>*{animation:hero-enter 1.1s cubic-bezier(.2,.65,.2,1) forwards}.invite-open .hero-content>:nth-child(2){animation-delay:.15s}.invite-open .hero-content>:nth-child(3){animation-delay:.3s}.invite-open .hero-content>:nth-child(4){animation-delay:.4s}.invite-open .hero-content>:nth-child(5){animation-delay:.5s}.invite-open .hero-content>:nth-child(6){animation-delay:.6s}.invite-open .hero-content>:nth-child(7){animation-delay:.7s}
.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.petals i{position:absolute;left:var(--x);top:-30px;width:11px;height:18px;border-radius:80% 10% 70% 30%;background:linear-gradient(45deg,#b8838744,#e7b9ab88);animation:petal-fall var(--duration) var(--delay) linear infinite}.countdown{background:#f0e6dc;padding-top:75px;padding-bottom:80px;position:relative}.countdown:before{content:"❦";font-size:30px;color:#ad866f;display:block;margin-bottom:20px}.countdown h2{font-size:clamp(2.6rem,4.5vw,4.3rem);margin:10px 0 35px}.countdown-grid strong{font-family:"Cormorant Garamond",serif;font-size:4.5rem;font-style:italic}.countdown-grid div{border-color:#cab7ac;padding:0 40px}.countdown-grid span{font-size:.51rem;color:#927c6c}.story{max-width:1380px;padding-top:145px;padding-bottom:145px;gap:10vw}.story-art{background:#ede1ce url('/assets/floral.webp') center/cover;min-height:620px;border-radius:48% 48% 1px 1px;box-shadow:15px 20px 0 #eee2d6;transform:rotate(-3deg)}.story-art svg{display:none}.story-art:before{inset:16px;border:1px solid #a8856255;border-radius:48% 48% 0 0}.story-art-caption{text-align:center;padding:30px;transform:rotate(3deg)}.story-art-caption small{display:block;font-size:.5rem;letter-spacing:.2em;color:#8f6d5c}.story-art-caption strong{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:400;font-size:3.7rem;line-height:1.1;margin:30px 0;color:#693c46}.story-art-caption span{position:static;font-size:1.2rem;color:#a58262}.story-copy h2{font-size:clamp(3.5rem,6vw,5.6rem)}.story-copy p:not(.eyebrow):not(.signature){font-size:.85rem;line-height:2;color:#8b7775}.signature{font-style:italic;color:#9c5f62;font-size:1.8rem}.details{background:#522c3b;position:relative;overflow:hidden}.details:before{content:"❦";position:absolute;right:-100px;top:-150px;font-size:700px;color:#d7b7a506;pointer-events:none}.section-heading h2{font-size:clamp(3.3rem,6vw,5.5rem)}.section-heading>p:last-child{color:#c8aaa8;font-size:.8rem}.event-grid{gap:30px;grid-template-columns:repeat(2,minmax(0,370px))}.event-card{position:relative;border:1px solid #b68b8066;border-radius:180px 180px 3px 3px;padding:58px 35px 38px;background:linear-gradient(#ffffff06,#ffffff02);transition:transform .5s,background .5s}.event-card:hover{transform:translateY(-8px);background:#ffffff09}.event-number{text-align:center;font-size:.52rem;color:#c7a489}.event-icon{margin:28px 0 10px;color:#d0a67e}.event-card h3{font-size:2.8rem;margin-bottom:16px}.event-card p{color:#dec9c5;font-size:.78rem}.event-divider{background:#c09a7b;margin:20px auto}.details-disclaimer{color:#b79998;font-size:.62rem}.quote-band{background:#f0e6dc;padding:95px 20px}.quote-band p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(2.3rem,4.5vw,4.1rem);color:#79545a}.rsvp{padding-top:135px;padding-bottom:135px}.rsvp-intro h2{font-size:clamp(3.7rem,6vw,5.5rem)}.rsvp-intro>p:not(.eyebrow){font-size:.86rem;color:#8b7775}.rsvp-deadline{display:inline-block;font-family:"Cormorant Garamond",serif;font-size:1.2rem;border-bottom:1px solid #c7ab96;padding-bottom:12px;margin-top:12px;color:#9c7770}.rsvp-deadline strong{font-weight:500;color:#582d3b}.rsvp-flower{color:#d5bbb0;font-size:8rem;margin-top:35px}.rsvp-form{position:relative;background:#fffbf5;border:1px solid #dfcfc3;box-shadow:10px 12px 0 #eee3d7;padding:45px}.rsvp-form:before{content:"R S V P";position:absolute;top:-15px;right:30px;background:#582d3b;color:#f4e5d9;padding:9px 15px;font-family:"Cormorant Garamond",serif;font-size:.85rem}.rsvp-form h3{font-size:2.3rem}.rsvp-form>p{font-size:.72rem}.rsvp-form label,.rsvp-form legend{font-size:.68rem}.rsvp-form input:not([type=radio]),.rsvp-form select,.rsvp-form textarea{background:#fffdf9;border-color:#ddcfc3;font-size:.79rem;padding:14px}.radio-row label span{border-color:#ddcfc3;font-size:.65rem}.rsvp-form .form-footnote{font-size:.61rem;color:#a38c82}.faq{background:#efe4da}.faq-list details{border-color:#d4bfb1}.faq-list summary{font-family:"Cormorant Garamond",serif;font-size:1.6rem}.faq-list details p{color:#8b7775;font-size:.8rem}footer{background:#3f2531;padding:75px 20px}.footer-mark{font-size:4.5rem}footer p{font-family:"Cormorant Garamond",serif;font-style:italic;color:#e1c7ba}footer small{color:#a98589;font-size:.53rem}.reveal{opacity:0;translate:0 35px;transition:opacity 1s var(--reveal-delay),translate 1s cubic-bezier(.2,.7,.2,1) var(--reveal-delay)}.reveal.is-visible{opacity:1;translate:0 0}
@keyframes hero-enter{to{opacity:1;transform:translateY(0)}}@keyframes botanical-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes arrow-float{50%{transform:translateY(5px)}}@keyframes petal-fall{0%{transform:translate3d(0,-30px,0) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}100%{transform:translate3d(60px,950px,0) rotate(440deg);opacity:0}}
@media(min-width:1100px){.hero:before{background-size:100% 155%;background-position:center 48%}.hero-content{padding:25px 0}.hero h1{font-size:8.3rem}}
@media(max-width:800px){.site-header{height:74px}.hero{height:calc(100svh - 74px);min-height:730px}.hero:before{background-size:cover}.hero h1{font-size:7.2rem}.hero-content{width:85%}.story{gap:70px;padding-top:85px;padding-bottom:85px}.story-art{width:min(100%,460px);min-height:540px;justify-self:center}.story-copy{max-width:530px;margin:auto}.rsvp{padding-top:85px;padding-bottom:85px;gap:35px}.rsvp-intro{max-width:500px}.rsvp-form{padding:35px}.countdown-grid div{padding:0 24px}.intro-title{font-size:3.1rem}.rsvp-flower{display:none}}
@media(max-width:600px){.site-header{height:67px;padding:0 22px}.hero{min-height:720px;height:calc(100svh - 67px);padding:72px 15px 85px}.hero:before{background-size:auto 100%;background-position:center}.hero:after{background:radial-gradient(ellipse at center,#faf5eac9 0,#faf5ea80 25%,transparent 62%)}.hero h1{font-size:6rem}.hero h1 em{line-height:1.1;font-size:.4em;margin:8px 0}.hero .eyebrow{font-size:.47rem;letter-spacing:.19em;max-width:100%;margin-bottom:28px}.hero-invitation{font-size:1.1rem;max-width:240px;margin:0 auto 16px}.hero-date{font-size:1.05rem;white-space:nowrap}.hero-place{font-size:.49rem}.hero .button{font-size:.56rem;padding:14px 22px;min-height:50px;gap:18px}.hero-scroll{font-size:.44rem}.hero-rule{margin:15px auto}.intro-title{font-size:2.6rem}.intro .eyebrow{font-size:.42rem}.intro:before{inset:12px}.envelope{height:210px;margin:42px 0}.intro-note{font-size:1rem}.countdown{padding-top:60px;padding-bottom:65px}.countdown h2{font-size:2.8rem}.countdown-grid div{padding:0 8px}.countdown-grid strong{font-size:3.1rem}.countdown-grid span{font-size:.45rem}.story-art{min-height:460px;width:calc(100% - 20px)}.story-art-caption strong{font-size:3.2rem}.story-copy h2{font-size:4rem}.event-grid{grid-template-columns:1fr;max-width:340px;margin:auto}.event-card{padding-top:50px}.rsvp-form{padding:30px 22px}.rsvp-form h3{font-size:2rem}.radio-row{flex-direction:row}.radio-row label span{font-size:.6rem}.rsvp-intro h2{font-size:3.5rem}.faq-list summary{font-size:1.35rem}}
.hero-date{background:#faf5eade;display:inline-block;padding:5px 10px;box-shadow:0 0 20px 10px #faf5ea99}.hero-invitation{filter:drop-shadow(0 0 4px #faf5ea)}
@media(prefers-reduced-motion:reduce){.reveal,.hero-content>*{opacity:1;translate:none;transform:none}.petals{display:none}.intro.is-opening .letter{transform:none}}
