:root{--ink: #414143;--muted: #727072;--paper: #ffffff;--champagne: #a79a7d;--wine: #99151f;--wine-dark: #68131a;--line: rgba(65, 65, 67, .18);font-family:Manrope,sans-serif;color:var(--ink);background:#f1f0ee;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}html,body{min-width:320px;margin:0;background:#f1f0ee}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}.site-shell{overflow:hidden}.invitation-page{width:min(100%,1080px);margin:0 auto;background:var(--paper);box-shadow:0 0 4rem #27241f14}.hero{min-height:clamp(760px,100svh,930px);position:relative;display:grid;grid-template-rows:auto 1fr;justify-items:center;overflow:hidden;padding:clamp(4rem,7vw,6rem) 1rem 3.5rem;background:#fff}.hero-heading{position:relative;z-index:4;text-align:center}.hero-heading h1{margin:0;font-weight:400}.names-lockup{display:flex;align-items:center;justify-content:center;gap:clamp(.4rem,1.5vw,1.1rem);color:#4c4a4c;font:400 clamp(3.55rem,8vw,6.8rem)/.92 "Parisienne",cursive;white-space:nowrap}.names-lockup b{font:400 .55em/1 Italiana,serif;color:#555154}.hero-heading p{margin:.65rem 0 0;color:#5c595b;font:400 clamp(1.25rem,2.8vw,2rem)/1 "Italiana",serif;letter-spacing:.08em}.envelope-scene{width:min(82vw,620px);aspect-ratio:1 / 1.06;position:relative;align-self:center;margin-top:1rem}.hero-lilies{position:absolute;z-index:1;width:65%;right:-10%;top:0;transform:rotate(2deg)}.hero-envelope{position:absolute;z-index:2;width:72%;left:10%;top:14%;transform:rotate(8deg);filter:drop-shadow(0 1.2rem 1rem rgba(70,57,37,.1))}.hero-seal{position:absolute;z-index:3;width:17%;left:40%;top:48%;transform:rotate(-9deg);filter:drop-shadow(0 .6rem .5rem rgba(68,7,12,.2))}.hero-cta{position:absolute;z-index:5;right:clamp(1rem,4vw,3.5rem);bottom:1.8rem;color:var(--wine-dark);text-decoration:none;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:.25rem}.countdown{min-height:210px;display:grid;place-content:center;justify-items:center;padding:2.5rem 1rem;color:#fff;background:var(--champagne)}.countdown>p{margin:0 0 1.25rem;font:400 2.3rem/1 Parisienne,cursive}.countdown-grid{display:flex;align-items:flex-start;justify-content:center;gap:clamp(.65rem,2.5vw,1.6rem)}.countdown-grid span{min-width:clamp(4.2rem,12vw,7rem);display:grid;justify-items:center}.countdown-grid strong{font:400 clamp(2.25rem,6vw,4.2rem)/.9 "Italiana",serif;font-variant-numeric:tabular-nums}.countdown-grid small{margin-top:.65rem;font-size:.6rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.countdown-grid i{padding-top:.15rem;font:400 clamp(1.8rem,4vw,3rem)/1 "Italiana",serif;opacity:.72}.countdown--complete p{margin:0;font-size:clamp(2.5rem,7vw,5rem)}.formal-section{min-height:clamp(700px,76vw,830px);position:relative;display:grid;place-items:center;isolation:isolate;padding:4rem 1.25rem;background:#fff}.polaroid-stack{position:absolute;z-index:-1;width:min(72%,620px);left:4%;top:12%;opacity:.72}.polaroid-stack img{position:absolute;width:72%}.polaroid-stack img:first-child{transform:rotate(-5deg)}.polaroid-stack img:last-child{transform:translate(1.7rem,8rem) rotate(3deg)}.formal-card{width:min(57vw,520px);min-height:min(65vw,590px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1.1rem,2.5vw,2rem);padding:clamp(3rem,6vw,5rem) clamp(1.2rem,5vw,4rem);margin-left:23%;text-align:center;background:#e8e8e8;box-shadow:.8rem .7rem .8rem #00000052}.formal-card p{margin:0;font-size:clamp(.63rem,1.45vw,.9rem);line-height:1.55}.formal-card .formal-overline{font-size:clamp(.63rem,1.35vw,.82rem)}.parents-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left;font:400 clamp(1rem,2.3vw,1.5rem)/1.25 "Italiana",serif}.parents-grid p:last-child{text-align:right}.formal-card h2{margin:0;font:400 clamp(1.8rem,4.4vw,3rem)/1.05 "Italiana",serif}.formal-card time{font-size:clamp(.68rem,1.3vw,.85rem)}.paperclip{position:absolute;width:clamp(1.7rem,4vw,2.8rem);left:4%;top:-1.2rem;filter:drop-shadow(.15rem .2rem .1rem rgba(0,0,0,.28))}.story-section{min-height:clamp(760px,80vw,900px);position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(1.2rem,4vw,4rem);padding:clamp(5rem,9vw,8rem) clamp(1.25rem,5vw,4.5rem) 7rem;background:#fff}.schedule-card{min-height:490px;position:relative;padding:clamp(4rem,7vw,6.4rem) clamp(1.35rem,4vw,3.8rem) 3rem;background:#e8e8e8;box-shadow:-.25rem .65rem .9rem #00000040}.schedule-card h2{margin:0 0 3.5rem;font:400 clamp(2.1rem,5vw,3.6rem)/1 "Italiana",serif;letter-spacing:.03em;text-transform:uppercase}.schedule-card ol{list-style:none;display:grid;gap:2.25rem;margin:0;padding:0}.schedule-card li{display:grid;gap:.2rem;font-size:clamp(.67rem,1.45vw,.9rem)}.schedule-card strong{font-style:italic}.rings{position:absolute;right:13%;top:1.9rem;width:3.8rem;height:3.8rem}.rings span{position:absolute;width:2.2rem;height:3rem;border:2px solid #7c7a79;border-radius:50%;transform:rotate(-24deg)}.rings span:last-child{left:1.2rem;top:.55rem;transform:rotate(24deg)}.story-section blockquote{align-self:center;margin:2.5rem 0 0;text-align:center;font:400 clamp(1.8rem,4vw,3.15rem)/1.22 "Italiana",serif}.story-section blockquote em{display:block;font:400 1.2em/1 Parisienne,cursive}.story-seal{position:absolute;z-index:4;width:clamp(5.3rem,11vw,8.2rem);left:47%;top:4.2rem;transform:translate(-50%) rotate(7deg);filter:drop-shadow(0 .5rem .5rem rgba(65,6,11,.2))}.monogram{position:absolute;z-index:5;width:clamp(11rem,28vw,19rem);aspect-ratio:.78;left:47%;bottom:1rem;display:grid;place-content:center;color:#fff;background:var(--champagne);border-radius:50%;transform:translate(-50%) rotate(-4deg);font:400 clamp(4.8rem,12vw,8.5rem)/.55 "Parisienne",cursive}.monogram span:last-child{padding-left:2.8rem}.dress-section{min-height:clamp(790px,88vw,960px);position:relative;display:grid;align-content:center;padding:8rem clamp(1rem,5vw,4.5rem) 5rem;background:#fff}.dress-badge{position:absolute;z-index:2;width:clamp(13rem,31vw,21rem);aspect-ratio:1.25;top:4rem;left:1.8rem;display:grid;place-items:center;color:#fff;background:var(--champagne);clip-path:polygon(18% 0,82% 0,88% 15%,100% 22%,91% 40%,92% 67%,80% 75%,72% 100%,50% 90%,27% 100%,19% 76%,6% 69%,8% 43%,0 24%,13% 15%)}.dress-badge h2{margin:0;text-align:center;font:400 clamp(2.4rem,6vw,4.3rem)/.82 "Italiana",serif;text-transform:uppercase}.dress-badge span{display:block}.dress-layout{display:grid;grid-template-columns:.3fr minmax(0,1fr) .3fr;align-items:end;gap:clamp(.75rem,2.5vw,2rem);margin-top:4rem}.dress-card{min-height:clamp(430px,55vw,590px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1rem,3vw,2rem);background:#e8e8e8;box-shadow:.7rem .8rem 1.5rem #00000042}.dress-illustration{width:100%;flex:1}.dress-line{fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.dress-line--red{stroke:#c22a37}.dress-line--gold{stroke:#bba685}.dress-labels{display:flex;justify-content:space-between;gap:1rem;font:400 clamp(.72rem,1.45vw,.94rem)/1.2 "Italiana",serif}.palette{display:grid;justify-content:center;gap:1.4rem;padding-bottom:2rem}.palette i{width:clamp(3.2rem,7vw,5rem);aspect-ratio:1;border-radius:50%;background:var(--swatch)}.dress-note{margin:3.25rem 0 0;text-align:center;font-size:clamp(.68rem,1.3vw,.84rem)}.gifts-section{min-height:clamp(630px,70vw,760px);position:relative;display:grid;place-items:center;padding:5rem 1.25rem;background:#fff}.gift-scene{width:min(92%,880px);position:relative;display:grid;place-items:center}.gift-lilies{position:absolute;z-index:1;width:52%;left:-3%;top:-36%;transform:rotate(-9deg)}.gift-card{z-index:2;width:min(72%,650px);min-height:clamp(230px,29vw,330px);position:relative;display:grid;place-content:center;justify-items:center;margin-left:12%;padding:2rem;text-align:center;background:#e8e8e8;box-shadow:1rem .9rem 1.3rem #0000004d}.gift-card img{position:absolute;z-index:3;width:clamp(5rem,12vw,8.4rem);left:-5%;top:-23%;transform:rotate(-7deg)}.gift-card h2{margin:0;font:400 clamp(2.7rem,7vw,5.2rem)/1 "Italiana",serif;letter-spacing:.04em;text-transform:uppercase}.gift-card p{margin:.45rem 0;color:var(--champagne);font:400 clamp(2.5rem,7vw,5.4rem)/1 "Parisienne",cursive}.gift-card small{margin-top:.75rem;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.rsvp-section{min-height:980px;position:relative;display:grid;place-items:center;overflow:hidden;padding:clamp(7rem,12vw,10rem) 1rem;background:linear-gradient(180deg,#f7f5f1,#ebe5da)}.rsvp-section:before{content:"";position:absolute;width:34rem;aspect-ratio:1;left:-22rem;bottom:-12rem;border:1px solid rgba(167,154,125,.35);border-radius:50%}.rsvp-flower{position:absolute;width:min(43rem,74vw);right:-23%;top:-8%;opacity:.88;transform:rotate(12deg)}.rsvp-card{width:min(92%,680px);position:relative;z-index:2;padding:clamp(4rem,8vw,6rem) clamp(1.3rem,6vw,4.8rem) clamp(2.5rem,6vw,4.5rem);background:#ffffffe6;box-shadow:1rem 1.1rem 2rem #41311b2e}.rsvp-seal{position:absolute;width:clamp(5.4rem,13vw,8rem);left:50%;top:-4.1rem;transform:translate(-50%) rotate(5deg)}.rsvp-kicker{margin:0 0 .75rem;text-align:center;color:var(--wine);font-size:.72rem;font-weight:600;letter-spacing:.22em}.rsvp-card h2{margin:0;text-align:center;font:400 clamp(2.3rem,6vw,4.2rem)/1.05 "Italiana",serif}.rsvp-intro{max-width:31rem;margin:1rem auto 2.8rem;text-align:center;color:var(--muted);font:400 clamp(1.15rem,2.5vw,1.45rem)/1.45 "Italiana",serif}.lookup-message{margin:-1.3rem 0 2rem;padding:.8rem 1rem;text-align:center;color:#675f50;background:#f0ebdf;font-size:.78rem}.lookup-message--error{color:var(--wine-dark);background:#f6e7e8}.rsvp-card form,.guest-fields{display:grid;gap:1.4rem}.guest-fields--double{grid-template-columns:1fr 1fr}.rsvp-card label>span,.rsvp-card legend{display:block;margin-bottom:.45rem;color:#504e4f;font-size:.67rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.rsvp-card label small{font-weight:400;letter-spacing:0;text-transform:none}.rsvp-card input:not([type=radio]),.rsvp-card textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:none;padding:.85rem .2rem;color:var(--ink);background:transparent}.rsvp-card input:focus,.rsvp-card textarea:focus{border-color:var(--wine);box-shadow:0 1px 0 var(--wine)}.rsvp-card textarea{resize:vertical}.rsvp-card fieldset{display:grid;gap:.75rem;margin:0;padding:1rem 1.1rem;border:1px solid var(--line)}.rsvp-card legend{margin:0;padding:0 .4rem}.choice{display:flex;align-items:center;gap:.65rem;cursor:pointer}.choice span{margin:0!important;font-size:.88rem!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important}.choice input{accent-color:var(--wine)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rsvp-card button{min-height:3.6rem;border:0;margin-top:.4rem;padding:.9rem 1.2rem;color:#fff;background:var(--wine);cursor:pointer;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:transform .18s ease,background .18s ease}.rsvp-card button:hover{background:var(--wine-dark);transform:translateY(-2px)}.rsvp-card button:disabled{opacity:.55;cursor:wait;transform:none}.form-status{min-height:1.3rem;margin:0;text-align:center;font-size:.8rem}.form-status.is-success{color:#236339}.form-status.is-error{color:var(--wine-dark)}.site-footer{min-height:190px;display:grid;place-content:center;justify-items:center;color:#fff;background:#3f3d3f}.footer-monogram{font:400 3.5rem/1 Parisienne,cursive}.footer-monogram span{padding:0 .4rem;color:var(--champagne);font-family:Italiana,serif;font-size:.6em}.site-footer small{margin-top:.55rem;opacity:.72;font-size:.68rem;letter-spacing:.18em}@media(max-width:700px){.invitation-page{box-shadow:none}.hero{min-height:700px;padding-top:4.3rem}.names-lockup{flex-wrap:wrap;gap:0 .45rem;max-width:22rem}.names-lockup span:first-child{width:100%}.hero-heading p{margin-top:.85rem}.envelope-scene{width:min(100%,500px);margin-top:0}.hero-lilies{width:70%;right:-13%;top:4%}.hero-envelope{width:78%;left:5%;top:19%}.hero-seal{width:19%;left:38%;top:51%}.hero-cta{right:50%;transform:translate(50%);white-space:nowrap}.formal-section{min-height:660px;padding:5rem 1rem}.polaroid-stack{width:84%;left:-8%;top:8%}.formal-card{width:min(86%,430px);min-height:480px;margin-left:10%;padding:3.4rem 1.4rem;gap:1.3rem}.parents-grid{font-size:1rem}.story-section{grid-template-columns:1fr;min-height:1230px;padding:6rem 1.2rem 16rem}.schedule-card{width:84%;min-height:445px;padding:5.4rem 1.5rem 2.7rem}.schedule-card h2{margin-bottom:2.7rem;font-size:2.3rem}.story-section blockquote{width:70%;justify-self:end;margin:1.5rem 0 0;font-size:1.65rem}.story-seal{width:5.6rem;left:78%;top:4.4rem}.monogram{width:12rem;left:43%;bottom:1.5rem;font-size:5.5rem}.dress-section{min-height:820px;padding:10rem .7rem 4rem}.dress-badge{width:14rem;left:-.8rem;top:2rem}.dress-layout{grid-template-columns:.22fr minmax(0,1fr) .22fr;gap:.55rem;margin-top:0}.dress-card{min-height:440px;padding:.8rem}.palette{gap:1rem;padding-bottom:1.5rem}.palette i{width:2.6rem}.dress-labels{font-size:.63rem}.dress-note{margin-top:2.3rem}.gifts-section{min-height:580px}.gift-scene{width:100%}.gift-lilies{width:63%;left:-15%;top:-47%}.gift-card{width:87%;min-height:260px;margin-left:7%;padding:1.3rem}.gift-card img{left:-5%;top:-18%}.gift-card small{max-width:15rem}.rsvp-section{min-height:1020px;padding-top:8rem}.rsvp-flower{width:34rem;max-width:none;right:-22rem;top:-2rem}.rsvp-card{width:96%;padding:4.7rem 1.2rem 2.5rem}.guest-fields--double{grid-template-columns:1fr}}@media(max-width:380px){.names-lockup{font-size:3.1rem}.formal-card{width:92%;margin-left:5%}.story-section blockquote{width:76%;font-size:1.5rem}.dress-layout{grid-template-columns:.17fr minmax(0,1fr) .17fr}.palette i{width:2.25rem}.gift-card h2{font-size:2.5rem}.gift-card p{font-size:2.65rem}}@media(prefers-reduced-motion:no-preference){.hero-heading,.envelope-scene{animation:reveal .85s both}.envelope-scene{animation-delay:.12s}@keyframes reveal{0%{opacity:0;transform:translateY(14px)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
