:root{--paper:#08090b;--ink:#f5f5f1;--accent:#d8ff3e;--accent2:#a6a8af;--font-display:'Anton',Impact,sans-serif;--font-body:'Karla',sans-serif;--pad:clamp(18px,3vw,80px)}html{background:var(--paper);overflow-x:clip}body{background:var(--paper);color:var(--ink);font:400 clamp(17px,.7vw + 13px,24px)/1.6 var(--font-body);overflow-x:clip}::selection{background:var(--accent);color:var(--paper)}button,input,select,textarea,a{touch-action:manipulation}a,button,summary{min-height:44px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p{max-width:65ch}.scene{position:relative;padding:clamp(72px,10vw,220px) var(--pad);border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.scene>*{min-width:0}.v-h{font:400 clamp(48px,12vw,240px)/1.08 var(--font-display);text-transform:uppercase;overflow-wrap:anywhere;max-width:14ch;margin-bottom:40px}.v-kicker{font-size:clamp(20px,3vw,44px);text-transform:uppercase;letter-spacing:.04em}.v-prose{max-width:60ch}.v-prose p+p{margin-top:28px}.v-small{font-size:1em}.v-dl{max-width:1200px}.v-dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px 48px;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding-block:28px}.v-dl dt{color:var(--accent);font:400 clamp(24px,3vw,48px)/1.1 var(--font-display);text-transform:uppercase}.v-dl dd{max-width:60ch}.v-link,.v-copy{display:inline-flex;min-height:54px;padding:12px 24px;background:var(--accent);color:var(--paper);font-weight:700;text-transform:uppercase;border:0;border-radius:0;text-decoration:none;margin-top:28px;cursor:pointer}.v-iban{overflow-wrap:anywhere;letter-spacing:.04em;margin-top:36px}.v-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}.v-gallery img{width:100%;height:auto}.v-extra__img{max-width:min(100%,900px);height:auto;margin-block:32px}
.scene--hero{padding:22px var(--pad) 0;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;gap:16px;border:0}.hero__top,.hero__foot{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;font-size:clamp(13px,1.1vw,18px);font-weight:700;text-transform:uppercase;position:relative;z-index:3;letter-spacing:.04em}.hero__top>span,.hero__foot>span{background:var(--paper);max-width:65ch}.hero__top .date-chip{background:var(--accent);color:var(--paper);padding:5px 10px}.hero__names{display:grid;align-content:space-between;gap:0;flex:1;width:100%;font:400 min(37vw,41svh)/1.15 var(--font-display);letter-spacing:-.025em;text-transform:uppercase;position:relative;z-index:1;padding-block:0 20px}.name-row{display:block;width:max-content;max-width:100%;white-space:nowrap;padding:0 3px}.name-row--1{justify-self:end}.hero__names--event{align-content:center;font-size:clamp(70px,19vw,340px);line-height:1.1}.hero__names--event .name-row{white-space:normal;max-width:12ch;width:100%;overflow-wrap:normal}.chrome{position:absolute;inset:40px 0 65px;pointer-events:none;z-index:2}.chrome__static,.chrome__canvas{position:absolute;inset:0;width:100%;height:100%}.chrome__canvas{opacity:0}.is-3d .chrome__canvas{opacity:1}.is-3d .chrome__static{visibility:hidden}.chrome__letter{position:absolute;display:block;font:400 min(38vw,51svh)/1.2 var(--font-display);color:#d4d7df;background-image:url('./chrome-env.webp');background-size:130% 100%;background-position:center;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #c1c4cf;filter:drop-shadow(3px 5px 0 #3b3e48);transform:rotate(9deg);text-shadow:none}.chrome__letter--0{left:69%;top:-2%}.chrome__letter--1{left:2%;bottom:-5%;transform:rotate(-12deg)}.chrome__letter:only-child{left:40%;top:25%}
.ticker{margin:0 calc(-1*var(--pad));background:var(--accent);color:var(--paper);overflow:hidden;white-space:nowrap;font:400 clamp(24px,3.3vw,64px)/1.35 var(--font-display);text-transform:uppercase;position:relative;z-index:3}.ticker>div{display:flex;width:max-content;animation:roll 40s linear infinite}.ticker span{padding-right:.6em}@keyframes roll{to{transform:translateX(-50%)}}
.scene--countdown{min-height:85svh;display:flex;flex-direction:column;justify-content:center;gap:36px}.v-count{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,48px)}.v-count__cell{display:grid;align-content:start;gap:8px}.v-count__n{font:400 clamp(40px,14vw,280px)/1.15 var(--font-display);font-variant-numeric:tabular-nums}.v-count__l{font-weight:700;text-transform:uppercase;color:var(--accent);font-size:clamp(14px,1.7vw,28px)}.v-timeline{display:grid;gap:16px}.v-timeline li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 48px;align-items:baseline;padding-block:28px;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.v-timeline time{font:400 clamp(48px,9vw,170px)/1 var(--font-display)}.v-timeline__label{font:400 clamp(28px,5vw,90px)/1.1 var(--font-display);text-transform:uppercase;color:var(--accent)}.v-timeline p{grid-column:2}.scene--story .v-prose{font-size:clamp(26px,3.8vw,64px);line-height:1.3;max-width:34ch}.scene--story .v-h{font-size:clamp(30px,4vw,72px);color:var(--accent)}.scene--venue .v-h{font-size:clamp(20px,3vw,44px);color:var(--accent)}.v-venue__name{font:400 clamp(64px,16vw,320px)/1.08 var(--font-display);max-width:11ch;text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:36px}.v-venue__loc{font-size:clamp(24px,3vw,48px)}.scene--dress .v-prose{font-size:clamp(24px,3vw,48px)}.questions{max-width:1400px}.questions details{border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}.questions summary{padding:24px 0;list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;font:400 clamp(24px,3vw,48px)/1.2 var(--font-display)}.questions summary::-webkit-details-marker{display:none}.questions summary::after{content:'+';color:var(--accent);font:400 1.5em var(--font-body);flex:none}.questions details[open] summary::after{content:'−'}.questions details p{padding-bottom:32px;max-width:65ch}.scene--rsvp .v-h{color:var(--accent)}.scene--rsvp .v-rsvp{max-width:900px;margin-top:44px;margin-left:auto}.vf-root{--paper:#111316;--ink:#f5f5f1;--accent:#d8ff3e;--ink-soft:#d4d5d0;--accent-ink:#d8ff3e;--paper-2:#24272d;--line:#74777d;border:1px solid #74777d;padding:clamp(20px,4vw,56px);background:var(--paper)}.vf-input,.vf-area,.vf-select{min-height:52px!important;border-radius:0!important}.vf-btn{border-radius:0!important;min-height:48px!important}.vf-btn--primary{min-height:60px!important}.scene--gift .v-h{font-size:clamp(48px,9vw,180px)}
.poster-mode .scene:not(.scene--hero){display:none}.poster-mode .scene--hero{height:100svh}.poster-mode .ticker>div,.is-capture .ticker>div{animation:none}
@media(max-width:759px){.scene--hero{padding-top:16px}.hero__names{font-size:min(39vw,22svh);padding-bottom:0}.hero__names--event{font-size:clamp(66px,19vw,140px)}.hero__foot{font-size:12px;gap:6px}.hero__foot>span{max-width:52%}.hero__foot>span:last-child{text-align:right;max-width:46%}.hero__top>span:first-child{max-width:60%}.chrome{inset:23% 0 20%}.chrome__letter{font-size:min(65vw,37svh)}.chrome__letter--0{left:25%;top:0}.chrome__letter--1{left:36%;bottom:-6%}.chrome__letter:only-child{left:32%;top:15%}.v-count{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 8px}.v-count__cell:first-child{grid-column:1/-1}.v-count__n{font-size:25vw}.v-count__cell:first-child .v-count__n{font-size:50vw}.v-timeline li{gap:12px 20px;grid-template-columns:auto minmax(0,1fr)}.v-timeline p{grid-column:1/-1}.v-dl>div{grid-template-columns:1fr;gap:14px}.v-h{margin-bottom:32px}.v-venue__name{font-size:20vw}}
@media(prefers-reduced-motion:reduce){.ticker>div{animation:none}.chrome__canvas{display:none}.chrome__static{visibility:visible!important}}
.scene--hero.is-event .hero__names{align-content:start;padding-top:5svh}.scene--hero.is-event .chrome{inset:44% 0 12%}
/* Liquid monogram: a full-screen ray-marched canvas sits behind the page; the big type blends against it, the small text keeps solid chips. */
.gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:none;pointer-events:none}
.is-gl .gl{display:block}.is-gl .chrome{display:none}
.is-gl,.is-gl body{background:#000}
.is-gl .hero__names{z-index:auto}
.is-gl .name-row,.is-gl .v-count__n,.is-gl .v-timeline time,.is-gl .v-venue__name,.is-gl .v-h,.is-gl .scene--gift .v-h{color:#fff;mix-blend-mode:difference}
.is-gl .scene--story .v-h,.is-gl .scene--venue .v-h,.is-gl .scene--rsvp .v-h{color:#fff}
.is-gl .v-count__l,.is-gl .v-timeline__label,.is-gl .v-kicker,.is-gl .v-venue__loc,.is-gl .v-prose,.is-gl .v-dl>div,.is-gl .questions,.is-gl .v-iban,.is-gl .v-small{background:#000;box-decoration-break:clone;-webkit-box-decoration-break:clone;width:fit-content;max-width:100%}.is-gl .v-count__cell>.v-count__l{width:fit-content}
.is-gl .v-prose,.is-gl .v-dl>div{padding-inline:clamp(14px,2vw,28px)}.is-gl .v-dl{width:100%}
.is-gl .v-timeline li{background:transparent}
.is-gl .v-link,.is-gl .v-copy{position:relative}
.is-gl .scene{border-bottom-color:color-mix(in srgb,var(--ink) 30%,transparent)}
@keyframes tear{0%,91%,100%{transform:none;clip-path:none}92%{transform:translateX(-.05em) skewX(-6deg);clip-path:inset(12% 0 56% 0)}93%{transform:translateX(.08em);clip-path:inset(46% 0 8% 0)}94%{transform:translateX(-.02em);clip-path:none}96%{transform:translateX(.03em) skewX(3deg);clip-path:inset(0 0 72% 0)}}
.is-gl:not(.is-reduced):not(.is-capture) .name-row{animation:tear 6.5s steps(1) infinite}.is-gl .name-row--1{animation-delay:-2.4s}
.ticker{transform:rotate(-1.4deg) scale(1.03);transform-origin:center}
.poster-mode.is-gl .gl{display:block}
.is-gl .hero__top>span,.is-gl .hero__foot>span{background:#000}.is-gl .hero__top .date-chip{background:var(--accent)}
.is-gl .scene :is(p,dd,dt,summary,address){background:#000;box-decoration-break:clone;-webkit-box-decoration-break:clone}.is-gl .questions summary{padding-inline:6px}.is-gl .vf-root p,.is-gl .vf-root dd,.is-gl .vf-root summary{background:transparent}
