:root{--paper:#ffe9a8;--ink:#24130f;--accent:#a82c13;--accent2:#ff3fa4;--font-display:'Abril Fatface',Georgia,serif;--font-body:'Karla',sans-serif;--tomato:#ee3a18;--mustard:#e9ae12;--pad:clamp(18px,4.4vw,96px)}
html{background:var(--paper);overflow-x:clip}body{background:var(--paper);color:var(--ink);font:400 clamp(17px,1vw + 12px,24px)/1.5 var(--font-body);overflow-x:clip}::selection{background:var(--accent2);color:var(--ink)}
a,button,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}button{cursor:pointer}p{max-width:65ch}img{user-select:none}.scene{position:relative;isolation:isolate;padding:clamp(64px,10vw,180px) var(--pad);overflow:clip}.scene>*{min-width:0}.v-h{font:400 clamp(44px,8vw,160px)/1.08 var(--font-display);overflow-wrap:anywhere;margin-bottom:32px;max-width:18ch}.v-prose{max-width:65ch}.v-prose p+p{margin-top:24px}.v-small{font-size:1em}.v-kicker{text-transform:uppercase;font-weight:700;letter-spacing:.06em}.v-dl{display:grid;gap:24px;max-width:900px}.v-dl>div{padding-block:20px;border-top:1px solid currentColor}.v-dl dt{font:400 clamp(26px,3.4vw,56px)/1.15 var(--font-display);margin-bottom:10px}.v-dl dd{max-width:60ch}.v-iban{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:30px}.v-link,.v-copy{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:700;text-decoration:none;margin-top:24px}.flower{width:90px;aspect-ratio:1;object-fit:contain;pointer-events:none}.sun{aspect-ratio:1;object-fit:contain;pointer-events:none}
.scene--hero{min-height:100svh;padding:0;display:flex;flex-direction:column}.hero__meta{display:flex;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;padding:24px var(--pad) 0;font:400 clamp(17px,2.3vw,36px)/1.15 var(--font-display);position:relative;z-index:3}.hero__art{position:relative;flex:1;display:flex;align-items:center;min-height:440px;padding:44px var(--pad) 60px;overflow:hidden}.hero__names{width:100%;display:grid;gap:10px;position:relative;z-index:1;font:400 min(29vw,38svh)/1.15 var(--font-display);letter-spacing:-.03em}.name-row{display:block;white-space:nowrap;width:max-content;max-width:100%;padding-inline:3px;min-width:0;color:var(--accent);transform-origin:left center}.name-row--1{justify-self:end;color:#a21959;text-shadow:.018em .018em 0 var(--accent2);transform-origin:right center}.letter{display:inline-block;transition:transform .45s cubic-bezier(.16,1,.3,1)}.letter:hover{transform:translateY(-.08em) rotate(calc(var(--turn)*8deg))}.hero__sun{position:absolute;width:min(112vw,125svh);max-width:none;left:50%;bottom:0;transform:translate(-50%,42%);z-index:0}.hero__join{position:absolute;z-index:2;left:76%;top:28%;width:clamp(100px,17vw,260px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}.hero__join .flower{position:absolute;inset:0;width:100%;height:100%}.hero__join span{z-index:1;font:400 clamp(44px,7vw,110px)/1 var(--font-display)}.hero__names--event{font-size:clamp(70px,15vw,240px)}.hero__names--event .name-row{white-space:normal;overflow-wrap:normal;width:100%;max-width:13ch;line-height:1.02}.hero__names--event+.hero__join{left:85%;top:80%;width:clamp(80px,14vw,210px)}
.ticker{position:relative;overflow:hidden;background:var(--mustard);font:400 clamp(28px,5.4vw,90px)/1.25 var(--font-display);z-index:4;white-space:nowrap}.ticker>div{display:flex;width:max-content;animation:ticker 45s linear infinite}.ticker span{display:flex;align-items:center;gap:.4em;padding-inline:.2em}.ticker img{width:.85em;height:.85em}@keyframes ticker{to{transform:translateX(-50%)}}
.scene--countdown{background:var(--tomato);color:var(--ink);min-height:95svh;display:grid;align-content:center;gap:28px}.scene--countdown>.v-kicker{font:400 clamp(36px,7vw,100px)/1 var(--font-display)}.v-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2vw,36px)}.v-count__cell{display:grid;justify-items:center;background:var(--paper);border-radius:999px 999px 0 0;padding:40px 8px 24px;color:var(--ink)}.v-count__cell:nth-child(2){background:var(--accent2)}.v-count__cell:nth-child(3){background:var(--mustard)}.v-count__n{font:400 clamp(38px,9vw,170px)/1.2 var(--font-display)}.v-count__l{font-weight:700;font-size:clamp(13px,1.4vw,24px)}
.scene--timeline{padding-inline:0}.scene--timeline .v-h{padding-inline:var(--pad)}.v-timeline{display:grid;gap:16px}.v-timeline li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px 36px;width:94%;border-radius:999px;padding:24px clamp(24px,5vw,96px);background:var(--accent2);transform:rotate(var(--lean,0deg));transform-origin:center}.v-timeline li:nth-child(even){margin-left:auto;background:var(--mustard)}.v-timeline time{font:400 clamp(34px,7vw,120px)/1.1 var(--font-display)}.v-timeline__label{font:400 clamp(26px,4vw,65px)/1.1 var(--font-display)}.v-timeline p{grid-column:2;font-size:.95em}
.scene--story{background:var(--ink);color:var(--paper);border-radius:50% 50% 0 0 / 90px 90px 0 0}.scene--story .v-h{color:var(--accent2)}.scene--story .v-prose{font-size:clamp(22px,2.3vw,38px);max-width:48ch}.scene--venue{background:var(--accent2);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(24px,6vw,120px);align-items:end}.venue-art{aspect-ratio:4/5;background:var(--ink);border-radius:999px 999px 0 0;position:relative;overflow:hidden}.venue-art img{position:absolute;width:140%;max-width:none;bottom:-30%;left:-20%}.scene--venue .v-h{font:700 .9em var(--font-body);text-transform:uppercase;letter-spacing:.08em}.v-venue__name{font:400 clamp(48px,8vw,145px)/1 var(--font-display);overflow-wrap:anywhere;margin-bottom:32px}.scene--venue .v-venue__loc{font-weight:700}.scene--menu{background:var(--ink);color:var(--paper);border-radius:38vw 38vw 0 0 / 120px 120px 0 0}.scene--menu .v-h{color:var(--mustard)}.scene--menu dt{color:var(--accent2)}.scene--dress{background:var(--mustard)}.scene--dress .v-prose{font-size:clamp(22px,3vw,42px)}.scene--transport{background:var(--accent2)}.scene--faq{background:var(--mustard)}.questions{display:grid;gap:16px}.questions details{border-radius:40px;background:var(--paper);overflow:hidden}.questions summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;cursor:pointer;font:400 clamp(24px,3.4vw,54px)/1.15 var(--font-display);list-style:none}.questions summary::-webkit-details-marker{display:none}.questions summary img{width:clamp(40px,5vw,70px);flex:none;transition:transform .5s}.questions details[open] img{transform:rotate(90deg)}.questions details>div{padding:0 32px 32px;max-width:65ch}
.scene--rsvp{background:var(--ink);color:var(--paper);padding-bottom:clamp(220px,34vw,550px);transition:background .6s,color .6s}.rsvp-copy{position:relative;z-index:2;max-width:1000px}.rsvp-copy>.v-h{color:var(--paper)}.rsvp-sun{position:absolute;bottom:0;left:50%;width:min(80vw,1000px);transform:translate(-50%,82%);transition:transform 1.2s cubic-bezier(.16,1,.3,1);z-index:0}.rsvp-flower{position:absolute;bottom:0;right:2%;width:clamp(110px,20vw,300px);z-index:1}.scene--rsvp.is-sunny{background:var(--mustard);color:var(--ink)}.is-sunny .rsvp-sun{transform:translate(-50%,25%)}.is-sunny .v-h{color:var(--ink)}.scene--rsvp .vf-root{--paper:#fff6dc;--ink:#24130f;--accent:#a82c13;--ink-soft:#5b4036;--line:#ad8e65;--paper-2:#fff0bc;--accent-ink:#82230f;background:var(--paper);color:var(--ink);padding:clamp(20px,4vw,54px);border-radius:40px;margin-top:32px}.vf-input,.vf-area,.vf-select{min-height:52px!important;border-radius:24px!important}.vf-btn{min-height:48px!important;border-radius:999px!important}.vf-btn--primary{min-height:60px!important;font-weight:700}.scene--gift{background:var(--tomato)}.scene--gift .v-copy{display:flex}.v-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px}.v-gallery img{width:100%;height:auto;border-radius:40px}.v-extra__img{max-width:600px;height:auto;margin-block:24px}
.poster-mode .scene:not(.scene--hero){display:none}.poster-mode .scene--hero{height:100svh}.poster-mode .ticker>div{animation:none}.is-capture .ticker>div{animation:none}
@media(max-width:759px){.hero__meta{font-size:17px;padding-top:22px;gap:8px}.hero__meta span:nth-child(2){order:3;flex-basis:100%;text-align:center;font-size:clamp(22px,6.5vw,30px)}.hero__meta span:last-child{max-width:50%;text-align:right}.hero__art{min-height:420px;padding-block:90px 130px}.hero__names{font-size:min(34vw,23svh);gap:100px}.hero__join{left:50%;top:49%;width:clamp(100px,33vw,150px)}.hero__names--event{font-size:clamp(72px,20vw,140px)}.hero__names--event+.hero__join{left:77%;top:78%}.v-count{grid-template-columns:repeat(3,minmax(0,1fr))}.v-count__cell:first-child{grid-column:1/-1;background:none;padding:0}.v-count__cell:first-child .v-count__n{font-size:48vw}.v-count__cell:first-child .v-count__l{font:400 13vw var(--font-display)}.v-count__n{font-size:13vw}.v-timeline li{border-radius:38px;gap:8px 16px;padding:22px}.v-timeline p{grid-column:1/-1}.scene--venue{grid-template-columns:1fr}.venue-art{width:75%;max-height:360px;justify-self:end}.v-venue__name{font-size:clamp(54px,15vw,100px)}.scene--story{border-radius:30% 30% 0 0 / 50px 50px 0 0}.scene--menu{border-radius:50vw 50vw 0 0 / 60px 60px 0 0}.questions summary{padding:20px;gap:16px}.questions details>div{padding:0 20px 24px}}
@media(prefers-reduced-motion:reduce){.letter,.v-timeline li{transform:none!important}.flower{rotate:none!important}.ticker>div{animation:none}.hero__sun{transform:translate(-50%,42%)!important}}
/* Keep the decorative artwork square as it scales from its intrinsic dimensions. */
.sun,.flower{height:auto}
