:root{--color-berry:#8e1f5e;--color-blush:#f2cfd6;--color-peach:#f3dcc8;--color-olive:#767b4e;--color-gold:#c9a66b;--color-rose:#b9707f;--color-berry-deep:#5c1240;--color-berry-night:#1e0b17;--color-olive-night:#232719;--color-olive-deep:#4a4e2e;--color-olive-soft:#5a5f38;--color-olive-light:#b8bd8e;--color-gold-deep:#8a6a34;--color-peach-soft:#f7ebdf;--color-ivory:#fbf6f0;--color-white:#fffdfb;--on-dark:var(--color-ivory);--on-dark-soft:#fbf6f0c7;--on-dark-faint:#fbf6f059;--on-dark-accent:var(--color-peach);--on-gold:var(--color-berry-night);--scrim-rgb:30 11 23;--band:var(--color-olive-night);--band-glow:#8e1f5e73;--foil-1:#efe2c6;--foil-2:#d8bd8a;--foil-3:#c9a66b;--foil-4:#f2e8d3;--foil-5:#d6ba85;--foil-6:#b8955a;--foil-gradient:linear-gradient(135deg, var(--foil-1) 0%, var(--foil-2) 28%, var(--foil-3) 46%, var(--foil-4) 62%, var(--foil-5) 80%, var(--foil-6) 100%);--foil-glow:#c9a66b47;--shine:#fff8eb73;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--theme-bg:var(--color-ivory);--theme-bg-alt:var(--color-peach-soft);--theme-surface:var(--color-white);--theme-surface-tint:var(--color-blush);--theme-text:var(--color-olive-deep);--theme-text-soft:var(--color-olive-soft);--theme-heading:var(--color-olive);--theme-names:var(--color-berry);--theme-accent:var(--color-berry);--theme-hover:var(--color-rose);--theme-label:var(--color-gold-deep);--theme-detail:var(--color-gold);--theme-leaf:var(--color-olive);--theme-line:#767b4e38;--theme-wash-1:#f2cfd6a6;--theme-wash-2:#a6ae7a38;--theme-art-glow:transparent;--theme-btn:var(--color-berry);--theme-btn-text:var(--color-white);--theme-btn-hover:var(--color-berry-deep);--theme-nav:#fbf6f0e0;--theme-footer:var(--color-berry-night);--theme-footer-glow:#767b4e59;--theme-shadow-rgb:74 78 46;--shadow-card:0 30px 60px -28px rgb(var(--theme-shadow-rgb) / .35), 0 8px 18px -10px rgb(var(--theme-shadow-rgb) / .18);--focus-ring:0 0 0 3px var(--theme-bg), 0 0 0 5px var(--theme-accent);--font-display:"Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;--font-script:"Pinyon Script", "Snell Roundhand", cursive;--font-sans:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--tracking-label:.28em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--gutter:clamp(1.25rem, 5vw, 3rem);--tap-min:44px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-bg:var(--color-berry-night);--theme-bg-alt:#29101f;--theme-surface:#33142a;--theme-surface-tint:#4b1b3b;--theme-text:#f6eadf;--theme-text-soft:#c9b6aa;--theme-heading:var(--color-peach);--theme-names:var(--color-blush);--theme-accent:#e3a0b6;--theme-hover:var(--color-gold);--theme-label:var(--color-gold);--theme-detail:var(--color-gold);--theme-leaf:var(--color-olive-light);--theme-line:#f3dcc829;--theme-wash-1:#8e1f5e61;--theme-wash-2:#f2cfd612;--theme-art-glow:#f3dcc829;--theme-btn:var(--color-gold);--theme-btn-text:var(--color-berry-night);--theme-btn-hover:var(--color-peach);--theme-nav:#1e0b17d6;--theme-footer:#12060e;--theme-footer-glow:#8e1f5e59;--theme-shadow-rgb:0 0 0}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--theme-bg);color:var(--theme-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:300;line-height:1.6}img{max-width:100%;display:block}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{box-shadow:var(--focus-ring);outline:none}.nowrap{white-space:nowrap}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.section{padding:clamp(4.5rem, 12vw, 8rem) var(--gutter);scroll-margin-top:88px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.eyebrow{font-family:var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:.7rem;font-weight:400}.rule{background:var(--theme-detail);border:0;width:72px;height:1px;margin-inline:auto;display:block}.btn{min-height:var(--tap-min);font-family:var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:.85rem 1.75rem;font-size:.72rem;font-weight:400;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn--solid{background:var(--theme-btn);color:var(--theme-btn-text)}.btn--solid:hover{background:var(--theme-btn-hover)}.btn--outline{border-color:var(--theme-text);color:var(--theme-text);background:0 0}.btn--outline:hover{background:var(--theme-text);color:var(--theme-bg)}.btn--link{min-height:var(--tap-min);color:var(--theme-text-soft);text-underline-offset:.35em;text-decoration:underline;-webkit-text-decoration-color:var(--theme-line);text-decoration-color:var(--theme-line);background:0 0;border:0;padding:.5rem .75rem;font-size:.68rem}.btn--link:hover{color:var(--theme-hover)}.amp{font-family:var(--font-display);padding-inline:.06em;font-size:.78em;font-style:italic;font-weight:300}.scratch-reveal{width:100%;height:100%;position:relative;overflow:hidden}.scratch-reveal__content{z-index:0;position:absolute;inset:0}.scratch-reveal__canvas{z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair;background:var(--foil-gradient);width:100%;height:100%;display:block;position:absolute;inset:0}.scratch-reveal__canvas.is-painted{background:0 0}.theme-toggle{width:var(--tap-min);height:var(--tap-min);color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:color .2s;display:inline-grid}.theme-toggle:hover{color:var(--color-gold)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.gate{min-height:100svh;padding:var(--space-6) var(--gutter);text-align:center;background:radial-gradient(ellipse 55% 45% at 50% 50%, var(--theme-wash-1), transparent 70%), radial-gradient(ellipse 40% 35% at 100% 0%, var(--theme-wash-2), transparent 70%), radial-gradient(ellipse 40% 35% at 0% 100%, var(--theme-wash-2), transparent 70%), var(--theme-bg);flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.25rem,3.5svh,2.25rem);display:flex;position:relative;overflow:hidden}.gate__headline,.gate__card,.gate__controls,.gate__after{visibility:hidden}.gate__theme{top:var(--space-3);right:var(--space-3);color:var(--theme-text-soft);position:absolute}.gate__headline{max-width:14ch;font-family:var(--font-display);color:var(--theme-heading);font-size:clamp(2rem,5.5vw,3.4rem);font-style:italic;font-weight:400;line-height:1.12}.gate__card{aspect-ratio:3/4;background:var(--theme-surface);border:1px solid var(--theme-line);width:min(90vw,480px,75svh - 213.75px);min-width:240px;box-shadow:var(--shadow-card);padding:10px;position:relative}.gate__window{width:100%;height:100%;position:relative}.gate__panel{background:var(--color-berry-night);width:100%;height:100%;position:relative;overflow:hidden}.gate__photo{object-fit:cover;object-position:center 30%;width:100%;height:100%}.gate__panel:after{content:"";background:linear-gradient(to top, rgb(var(--scrim-rgb) / .82) 0%, rgb(var(--scrim-rgb) / .35) 38%, transparent 62%);position:absolute;inset:0}.gate__panel-text{z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);color:var(--on-dark);flex-direction:column;display:flex;position:absolute;inset:auto 0 0;container-type:inline-size}.gate__rule{background:var(--on-dark-accent);opacity:.8;width:44px}.gate__names{font-family:var(--font-script);white-space:nowrap;font-size:clamp(1.5rem,10.6383cqi - .212766rem,3.2rem);line-height:1.1}.gate__amp{color:var(--on-dark-accent)}.gate__hint-line{font-family:var(--font-display);opacity:.92;font-size:1.05rem;font-style:italic}.gate__date{color:var(--on-dark-accent);font-size:.62rem}.gate__shine{z-index:2;visibility:hidden;pointer-events:none;background:linear-gradient(105deg, transparent 35%, var(--shine) 50%, transparent 65%);position:absolute;inset:-10% -40%}.gate__confetti{z-index:3;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gate__petal{visibility:hidden;background:var(--color-berry);border-radius:80% 0;width:12px;height:16px;position:absolute;top:-8px;left:-6px}.gate__petal:nth-child(4n+1){background:var(--color-berry-deep)}.gate__petal:nth-child(4n+2){background:var(--color-rose)}.gate__petal:nth-child(4n+3){background:var(--color-gold)}.gate__petal:nth-child(5n){background:var(--color-olive);width:9px;height:14px}.gate__controls{justify-items:center;min-height:92px;display:grid}.gate__hint-group,.gate__after{align-items:center;gap:var(--space-2);flex-direction:column;grid-area:1/1;display:flex}.gate__hint{color:var(--theme-text-soft)}.gate__hint:after{content:"";width:140px;height:1px;margin:var(--space-3) auto 0;background:var(--theme-line);display:block}@media (width>=900px){.gate__headline{max-width:none}}.nav{z-index:50;color:var(--on-dark);padding-top:0;transition:padding-top .3s,color .3s;position:fixed;inset:0 0 auto}.nav.is-scrolled,.nav.is-open{color:var(--theme-text);padding-top:12px}.nav__bar{justify-content:space-between;align-items:center;gap:var(--space-5);width:100%;max-width:1200px;height:64px;padding-inline:var(--gutter);border:1px solid #0000;margin-inline:auto;transition:width .3s,background-color .3s,border-color .3s,box-shadow .3s;display:flex;position:relative}.nav.is-scrolled .nav__bar,.nav.is-open .nav__bar{background:var(--theme-nav);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--theme-line);width:calc(100% - 24px);max-width:1080px;box-shadow:0 14px 30px -22px rgb(var(--theme-shadow-rgb) / .45);padding-inline:clamp(1rem,3vw,1.75rem)}.nav__monogram{min-height:var(--tap-min);font-family:var(--font-display);letter-spacing:.08em;color:inherit;align-items:center;font-size:1.45rem;text-decoration:none;display:inline-flex}.nav__amp{color:var(--color-gold);margin-inline:.15em;font-style:italic}.nav__links{margin:0;padding:0;list-style:none;display:none}.nav__link{min-height:var(--tap-min);padding-inline:var(--space-3);letter-spacing:var(--tracking-label);text-transform:uppercase;color:inherit;align-items:center;font-size:.68rem;font-weight:400;text-decoration:none;display:inline-flex}.nav__link:hover{color:var(--color-gold)}.nav__actions{align-items:center;gap:var(--space-1);display:flex}.nav__rsvp{min-height:40px;padding:.6rem 1.2rem}.nav__toggle{width:var(--tap-min);height:var(--tap-min);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.nav__toggle-bar{background:currentColor;height:1px;transition:transform .25s;position:absolute;top:50%;left:11px;right:11px}.nav__toggle-bar--top{transform:translateY(-4px)}.nav__toggle-bar--bottom{transform:translateY(4px)}.nav.is-open .nav__toggle-bar--top{transform:rotate(45deg)}.nav.is-open .nav__toggle-bar--bottom{transform:rotate(-45deg)}@media (width<=899px){.nav.is-open .nav__links{padding:var(--space-4) var(--gutter) var(--space-6);background:var(--theme-bg);border:1px solid var(--theme-line);box-shadow:0 12px 24px -16px rgb(var(--theme-shadow-rgb) / .3);flex-direction:column;align-items:center;display:flex;position:absolute;inset:calc(100% + 8px) -1px auto}}@media (width>=900px){.nav__links{gap:var(--space-2);display:flex}.nav__toggle{display:none}}.hero{min-height:100svh;padding:var(--space-8) var(--gutter) clamp(3.5rem, 12svh, 7rem);color:var(--on-dark);text-align:center;background:var(--color-berry-night);justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero__bg,.hero__backdrop{object-fit:cover;object-position:center 30%;width:100%;height:100%;position:absolute;inset:0}.hero__backdrop{display:none}@media (aspect-ratio>=3/4){.hero__backdrop{filter:blur(28px)saturate(1.1);display:block;transform:scale(1.15)}.hero__bg{object-fit:contain;object-position:center}}.hero:after{content:"";background:linear-gradient(to bottom, rgb(var(--scrim-rgb) / .55) 0, transparent 140px), linear-gradient(to top, rgb(var(--scrim-rgb) / .85) 0%, rgb(var(--scrim-rgb) / .45) 45%, rgb(var(--scrim-rgb) / .2) 100%);position:absolute;inset:0}.hero__content{z-index:1;align-items:center;gap:var(--space-4);flex-direction:column;display:flex;position:relative}.hero__item,.hero__rule{visibility:hidden}.hero__names{font-family:var(--font-script);font-weight:400;font-size:clamp(1.8rem, calc((100vw - 2 * var(--gutter)) / 9.4), 6.5rem);white-space:nowrap;line-height:1.05}.hero__amp{color:var(--on-dark-accent)}.hero__rule{background:var(--on-dark-accent);opacity:.85;transform-origin:50%;width:96px}.hero__invite{max-width:28ch;font-family:var(--font-display);font-size:clamp(1.15rem,2.6vw,1.5rem);font-style:italic}.hero__date{color:var(--on-dark-accent);font-weight:500}.section-header{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.section-header--start{text-align:left;align-items:flex-start}.section-header--start .section-header__rule{transform-origin:0;margin-inline:0}.section-header__eyebrow{color:var(--theme-label)}.section-header__title{font-family:var(--font-display);color:var(--theme-heading);padding-bottom:.08em;font-size:clamp(2.4rem,7vw,4.25rem);font-weight:400;line-height:1.05;overflow:hidden}.section-header__title-inner{display:inline-block}.section-header--dark .section-header__title{color:var(--on-dark)}.section-header--dark .section-header__eyebrow{color:var(--on-dark-accent)}.wcard{text-align:left;background:radial-gradient(ellipse 75% 60% at 100% 100%, var(--theme-surface-tint), transparent 70%), radial-gradient(ellipse 45% 35% at 0% 0%, var(--theme-wash-1), transparent 70%), var(--theme-surface);border:1px solid var(--theme-detail);width:min(100%,720px);box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;margin:clamp(2.5rem,7vw,4.5rem) auto 0;display:flex;position:relative;container-type:inline-size}.wcard__inner{align-items:center;gap:var(--space-5);flex-direction:column;padding:clamp(2rem,7vw,3.75rem) clamp(1.5rem,6vw,3.75rem);display:flex;position:relative}.wcard__std{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.wcard__monogram{font-family:var(--font-display);letter-spacing:-.08em;color:var(--theme-names);font-size:clamp(3.2rem,11vw,4.6rem);font-weight:300;line-height:1}.wcard__title{font-family:var(--font-display);color:var(--theme-heading);font-size:clamp(2rem,6vw,2.8rem);line-height:1.1}.wcard__eyebrow{margin-top:var(--space-2);color:var(--theme-label)}.wcard__invite{max-width:30ch;font-family:var(--font-display);color:var(--theme-text-soft);font-size:clamp(1.1rem,2.6vw,1.3rem);font-style:italic}.wcard__names{font-family:var(--font-script);white-space:nowrap;color:var(--theme-names);font-size:clamp(1.5rem,10.6383cqi - .319149rem,3.6rem);font-weight:400;line-height:1.15}.wcard__date{align-items:center;gap:var(--space-4);font-family:var(--font-display);letter-spacing:.08em;color:var(--theme-heading);font-size:clamp(1.3rem,4vw,1.7rem);display:flex}.wcard__day{padding-inline:var(--space-4);border-inline:1px solid var(--theme-detail);font-size:1.9em;line-height:1}.wcard__rule{width:64px}.wcard__rows{gap:var(--space-5);flex-direction:column;width:min(100%,440px);margin:0;display:flex}.wcard__row{gap:var(--space-4);grid-template-columns:22px 1fr;align-items:start;display:grid}.wcard__icon{fill:none;width:22px;height:22px;stroke:var(--theme-detail);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;margin-top:.1rem}.wcard__label{margin-bottom:var(--space-1);color:var(--theme-text-soft)}.wcard__rows dd{color:var(--theme-text-soft);margin:0}.wcard__rows .wcard__strong{color:var(--theme-text);font-weight:400}.wcard__note{text-align:center;font-family:var(--font-display);color:var(--theme-accent);font-size:clamp(1.2rem,3vw,1.45rem);font-style:italic}.wedding__calendar{justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-top:clamp(2rem,6vw,3rem);display:flex}@media (width>=900px){.wcard{width:800px;min-height:800px}.wcard__rows{gap:var(--space-5);grid-template-columns:repeat(3,1fr);width:100%;display:grid}}.details{overflow-x:clip}.details__list{flex-direction:column;gap:clamp(3.5rem,9vw,6.5rem);max-width:1100px;margin:clamp(3rem,8vw,5.5rem) auto 0;display:flex}.venue{gap:var(--space-6);align-items:center;display:grid}.venue__art{background:radial-gradient(closest-side, var(--theme-art-glow), transparent);place-items:center;width:100%;max-width:440px;margin-inline:auto;display:grid}.venue__img{object-fit:contain;width:100%;height:auto;max-height:460px}.venue__text{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.venue__numeral{letter-spacing:var(--tracking-label);color:var(--theme-text-soft);font-size:.72rem}.venue__title{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.8rem);font-weight:400;line-height:1.05}.venue__rule{margin-block:var(--space-2)}.venue__name{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.8rem);line-height:1.2}.venue__address{max-width:26ch;color:var(--theme-text-soft)}.venue__time{margin-top:var(--space-2);color:var(--theme-accent);font-weight:500}.venue__map{margin-top:var(--space-3)}@media (width>=800px){.venue{grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,6rem)}.venue__text{text-align:left;align-items:flex-start}.venue__rule{margin-inline:0}.venue--flip .venue__art{order:2}}.order{background:var(--theme-bg-alt)}.order__art{background:radial-gradient(closest-side, var(--theme-art-glow), transparent);place-items:center;width:min(62vw,300px);margin:clamp(2rem,6vw,3.5rem) auto 0;display:grid}.order__img{width:100%;height:auto}.order__list{max-width:880px;margin:clamp(2.5rem,7vw,4.5rem) auto 0;padding:0;list-style:none}.order__row{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--theme-line);grid-template-columns:5.5rem 2.25rem 1fr;padding-block:clamp(1.1rem,3vw,1.9rem);display:grid}.order__row:first-child{border-top:1px solid var(--theme-line)}.order__time{color:var(--theme-accent);white-space:nowrap;font-weight:500}.order__sprig{width:2.25rem;height:2.25rem;color:var(--theme-leaf)}.order__title{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.9rem);line-height:1.1}@media (width>=700px){.order__row{gap:var(--space-6);grid-template-columns:9rem 3rem 1fr}.order__sprig{width:3rem;height:3rem}}.std{text-align:center;background:radial-gradient(ellipse 50% 40% at 100% 0%, var(--theme-wash-2), transparent 70%), radial-gradient(ellipse 50% 40% at 0% 100%, var(--theme-wash-2), transparent 70%), var(--theme-bg)}.std__sub{margin-top:var(--space-4);color:var(--theme-text-soft)}.std__card{background:linear-gradient(160deg, var(--theme-surface) 55%, var(--theme-surface-tint));border:1px solid var(--theme-line);width:min(100%,420px);box-shadow:var(--shadow-card);margin:clamp(2.5rem,6vw,3.5rem) auto 0;padding:clamp(1.5rem,5vw,2.25rem)}.std__grid{border-collapse:collapse;table-layout:fixed;width:100%}.std__grid th{padding-bottom:var(--space-3);letter-spacing:.15em;color:var(--theme-text-soft);font-size:.65rem;font-weight:500}.std__grid td{text-align:center;height:2.6rem;color:var(--theme-heading);padding:0;font-size:.9rem}.std__day{border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;display:inline-grid}.std__day.is-wedding{color:var(--on-gold);background:var(--foil-gradient);box-shadow:0 0 0 4px var(--foil-glow), 0 0 0 9px #c9a66b1f;font-weight:600}.std__note{margin-top:var(--space-5);font-family:var(--font-display);color:var(--theme-accent);font-size:1.2rem;font-style:italic}.std__countdown{margin-top:clamp(2.5rem,7vw,4rem)}.std__countdown-label{color:var(--theme-label)}.std__units{margin:var(--space-5) 0 0;grid-template-columns:repeat(4,minmax(0,5.5rem));justify-content:center;gap:clamp(.5rem,3vw,1.5rem);display:grid}.std__unit{gap:var(--space-1);flex-direction:column-reverse;display:flex}.std__unit dd{font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;color:var(--theme-heading);margin:0;font-size:clamp(2.2rem,8vw,3.4rem);line-height:1}.std__unit dt{color:var(--theme-text-soft);font-size:.58rem}.std__thanks{font-family:var(--font-display);color:var(--theme-accent);margin-top:clamp(2.5rem,7vw,4rem);font-size:1.6rem;font-style:italic}.gallery{--slide-w:74vw;padding-inline:0}.gallery__stage{margin-top:clamp(2.5rem,7vw,4.5rem)}.gallery__track{padding:0 0 var(--space-2);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:clamp(1rem,3vw,2.25rem);margin:0;list-style:none;display:flex;position:relative;overflow-x:auto}.gallery__track:before,.gallery__track:after{content:"";width:calc(50% - var(--slide-w) / 2 - clamp(1rem, 3vw, 2.25rem));flex:none}.gallery__track::-webkit-scrollbar{display:none}.gallery__slide{width:var(--slide-w);aspect-ratio:3/4;scroll-snap-align:center;opacity:.5;flex:none;transition:opacity .5s,transform .5s;overflow:hidden;transform:scale(.92)}.gallery__slide.is-active{opacity:1;transform:none}.gallery__slide img{object-fit:cover;width:100%;height:100%}.gallery__controls{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-6);padding-inline:var(--gutter);display:flex}.gallery__arrow{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--theme-line);color:var(--theme-text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:border-color .2s,color .2s;display:grid}.gallery__arrow:hover:not(:disabled){border-color:var(--theme-detail);color:var(--theme-accent)}.gallery__arrow:disabled{opacity:.35;cursor:default}.gallery__arrow svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.gallery__dots{display:flex}.gallery__dot{width:28px;height:var(--tap-min);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.gallery__dot:after{content:"";background:var(--theme-line);border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;transition:background-color .3s,transform .3s;position:absolute;top:50%;left:50%}.gallery__dot.is-active:after{background:var(--theme-detail);transform:scale(1.3)}@media (width>=800px){.gallery{--slide-w:min(30vw, 440px)}}@media (prefers-reduced-motion:reduce){.gallery__slide,.gallery__dot:after{transition:none}}.palette{text-align:center;color:var(--on-dark);background:radial-gradient(ellipse 60% 45% at 50% 0%, var(--band-glow), transparent 70%), var(--band)}.palette__note{margin-top:var(--space-5);font-family:var(--font-display);color:var(--on-dark-soft);font-size:1.25rem;font-style:italic}.palette__board{flex-direction:column;align-items:center;gap:clamp(2.5rem,7vw,4rem);margin-top:clamp(2.5rem,7vw,4rem);display:flex}.palette__frame{background:var(--foil-gradient);width:min(80vw,520px);padding:clamp(10px,2.4vw,18px);box-shadow:0 40px 70px -35px #000000b3}.palette__photo{aspect-ratio:4/5;margin:0;position:relative;overflow:hidden}.palette__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.palette__img--mono{filter:grayscale()contrast(1.05)}.palette__curtain{z-index:1;background:var(--color-berry-deep);transform-origin:top;position:absolute;inset:0}.palette__list{justify-content:center;gap:var(--space-5) clamp(1.25rem, 6vw, 2.5rem);grid-template-columns:repeat(3,auto);margin:0;padding:0;list-style:none;display:grid}.palette__item{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.palette__swatch{aspect-ratio:1;width:clamp(4rem,17vw,5.5rem);box-shadow:0 0 0 1px var(--on-dark-faint), 0 0 0 6px #fbf6f00f;border-radius:50%}.palette__name{color:var(--on-dark-accent)}@media (width>=800px){.palette__list{gap:var(--space-6);grid-template-columns:repeat(6,auto)}}.faq__list{border-top:1px solid var(--theme-line);max-width:760px;margin:clamp(2.5rem,7vw,4rem) auto 0}.faq__item{border-bottom:1px solid var(--theme-line)}.faq__q{font:inherit;margin:0}.faq__button{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:var(--tap-min);padding:var(--space-5) 0;text-align:left;font-family:var(--font-display);cursor:pointer;background:0 0;border:0;font-size:clamp(1.3rem,3.5vw,1.7rem);line-height:1.25;display:flex}.faq__button:hover{color:var(--theme-hover)}.faq__icon{flex:none;width:16px;height:16px;transition:transform .25s;position:relative}.faq__icon:before,.faq__icon:after{content:"";background:currentColor;height:1px;position:absolute;inset:50% 0 auto}.faq__icon:after{transform:rotate(90deg)}.faq__item.is-open .faq__icon{transform:rotate(45deg)}.faq__panel{padding:0 2.5rem var(--space-5) 0;color:var(--theme-text-soft)}@media (prefers-reduced-motion:reduce){.faq__icon{transition:none}}.registry{text-align:center;background:radial-gradient(ellipse 40% 50% at 100% 0%, var(--theme-wash-2), transparent 70%), var(--theme-bg);position:relative;overflow:hidden}.registry__sprig{width:clamp(3.5rem,10vw,6rem);height:auto;color:var(--theme-leaf);opacity:.7;position:absolute;top:clamp(1.5rem,5vw,3rem);right:clamp(1rem,5vw,4rem);rotate:18deg}.registry__inner{flex-direction:column;align-items:center;gap:clamp(1.75rem,5vw,2.75rem);max-width:880px;margin-inline:auto;display:flex}.registry__eyebrow{color:var(--theme-label);margin:0}.registry__quote{margin:0}.registry__quote p{max-width:26ch;font-family:var(--font-display);color:var(--theme-text);margin-inline:auto;font-size:clamp(1.7rem,5vw,3.1rem);font-style:italic;font-weight:300;line-height:1.35}.registry__gift{align-items:center;gap:var(--space-5);flex-direction:column;width:min(100%,440px);display:flex}.registry__panel{background:radial-gradient(ellipse 80% 70% at 100% 100%, var(--theme-surface-tint), transparent 70%), var(--theme-surface);border:1px solid var(--theme-detail);width:100%;box-shadow:var(--shadow-card);padding:clamp(1.5rem,5vw,2.25rem)}.registry__soon{font-family:var(--font-display);color:var(--theme-text-soft);font-size:1.2rem;font-style:italic}.registry__bank{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.registry__label{color:var(--theme-label)}.registry__rows{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.registry__rows dt{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--theme-text-soft);font-size:.65rem}.registry__rows dd{font-family:var(--font-display);color:var(--theme-text);margin:0;font-size:1.35rem}.registry__rows .registry__number{letter-spacing:.08em;font-variant-numeric:lining-nums tabular-nums;color:var(--theme-heading);-webkit-user-select:all;user-select:all;font-size:1.9rem}.registry__copy{min-height:var(--tap-min)}.registry__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.registry__bank+.registry__actions{padding-top:var(--space-5);border-top:1px solid var(--theme-line)}.rsvp{text-align:center;background:var(--theme-bg-alt)}.rsvp__intro{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.rsvp__art{width:min(52vw,220px);margin-bottom:var(--space-3);background:radial-gradient(closest-side, var(--theme-art-glow), transparent)}.rsvp__img{width:100%;height:auto}.rsvp__eyebrow{color:var(--theme-label)}.rsvp__lead{font-family:var(--font-display);color:var(--theme-text-soft);font-size:clamp(1.15rem,3vw,1.35rem);font-style:italic}.rsvp__form,.rsvp__done{width:min(100%,480px);margin:clamp(2rem,6vw,3rem) auto 0}.rsvp__progress{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);display:flex}.rsvp__dash{background:var(--theme-line);width:28px;height:2px;transition:background-color .3s}.rsvp__dash.is-done{background:var(--theme-detail)}.rsvp__step{border:0;min-width:0;margin:0;padding:0}.rsvp__legend{align-items:center;gap:var(--space-2);width:100%;margin-bottom:var(--space-6);flex-direction:column;padding:0;display:flex}.rsvp__count{color:var(--theme-text-soft)}.rsvp__title{font-family:var(--font-display);color:var(--theme-heading);font-size:clamp(2rem,6vw,2.6rem);font-weight:400;line-height:1.1}.rsvp__title:focus{outline:none}.rsvp__title--big{font-size:clamp(2.6rem,9vw,3.6rem)}.rsvp__fields{gap:var(--space-6);flex-direction:column;display:flex}.rsvp__field{gap:var(--space-2);text-align:left;flex-direction:column;display:flex}.rsvp__label{color:var(--theme-text-soft)}.rsvp__field input,.rsvp__field textarea{width:100%;padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--theme-line);font:inherit;color:var(--theme-text);background:0 0;border-radius:0;font-size:1.05rem;transition:border-color .2s}.rsvp__field textarea{resize:vertical}.rsvp__field input::placeholder,.rsvp__field textarea::placeholder{color:var(--theme-text-soft);opacity:.6}.rsvp__field input:focus,.rsvp__field textarea:focus{box-shadow:none;border-bottom-color:var(--theme-accent);outline:none}.rsvp__choices{gap:var(--space-3);flex-direction:column;display:flex}.rsvp__choice{min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--theme-line);font-family:var(--font-display);color:var(--theme-text);cursor:pointer;justify-content:center;align-items:center;font-size:1.2rem;transition:background-color .2s,border-color .2s,color .2s;display:flex;position:relative}.rsvp__choice input{opacity:0;pointer-events:none;position:absolute}.rsvp__choice:hover{border-color:var(--theme-detail)}.rsvp__choice.is-selected{background:var(--theme-btn);border-color:var(--theme-btn);color:var(--theme-btn-text)}.rsvp__choice:has(input:focus-visible){box-shadow:var(--focus-ring)}.rsvp__stepper{justify-content:center;align-items:center;gap:var(--space-6);grid-template-columns:auto auto auto;display:grid}.rsvp__step-btn{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--theme-line);color:var(--theme-text);cursor:pointer;background:0 0;padding:0;font-size:1.3rem;line-height:1}.rsvp__step-btn:hover:not(:disabled){border-color:var(--theme-detail)}.rsvp__step-btn:disabled{opacity:.35;cursor:default}.rsvp__guests{min-width:2ch;font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums;color:var(--theme-heading);font-size:3rem;line-height:1}.rsvp__hint{color:var(--theme-text-soft);grid-column:1/-1;font-size:.85rem}.rsvp__bot{position:absolute;left:-9999px}.rsvp__error{min-height:1.6em;margin-top:var(--space-4);color:var(--theme-accent);font-size:.9rem}.rsvp__nav{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-3);display:flex}.rsvp__back{padding-left:0;text-decoration:none}.rsvp__deadline{margin-top:var(--space-6);color:var(--theme-text-soft)}.rsvp__done{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.rsvp__text{max-width:34ch;font-family:var(--font-display);color:var(--theme-text-soft);font-size:1.2rem;font-style:italic}.rsvp__sign{margin-top:var(--space-3);font-family:var(--font-script);color:var(--theme-names);font-size:2rem}.footer{align-items:center;gap:var(--space-4);padding:clamp(4.5rem, 12vw, 8rem) var(--gutter) clamp(3rem, 8vw, 5rem);text-align:center;color:var(--on-dark);background:radial-gradient(ellipse 60% 50% at 50% 100%, var(--theme-footer-glow), transparent 70%), var(--theme-footer);flex-direction:column;display:flex}.footer__lead{color:var(--on-dark-accent)}.footer__names{font-family:var(--font-script);font-size:clamp(1.8rem, calc((100vw - 2 * var(--gutter)) / 9.4), 5rem);white-space:nowrap;line-height:1.1}.footer__amp{color:var(--color-gold)}.footer__rule{background:var(--color-gold)}.footer__meta{color:var(--on-dark-soft)}.footer__rsvp{margin-top:var(--space-4);background:var(--color-gold);color:var(--on-gold)}.footer__rsvp:hover{background:var(--color-peach)}.footer__sprig{width:2.5rem;height:2.5rem;margin-top:var(--space-6);color:var(--color-olive-light)}.music{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:40;min-height:var(--tap-min);background:var(--theme-nav);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--theme-line);box-shadow:0 10px 24px -16px rgb(var(--theme-shadow-rgb) / .5);color:var(--theme-text);cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;padding:0 1.1rem 0 .95rem;transition:border-color .2s;display:inline-flex;position:fixed}.music:hover{border-color:var(--theme-detail)}.music__note{fill:none;width:15px;height:15px;stroke:var(--theme-accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:opacity .3s}.music__note circle{fill:var(--theme-accent)}.music__label{letter-spacing:.24em;font-size:.6rem}.music.is-playing .music__note{opacity:1;animation:1.6s ease-in-out infinite alternate music-sway}@keyframes music-sway{0%{transform:rotate(-8deg)translateY(1px)}to{transform:rotate(8deg)translateY(-1px)}}@media (prefers-reduced-motion:reduce){.music.is-playing .music__note{animation:none}}
