:root{--cover-photo:none;--landscape-photo:none;--jade-600:#477267}
[hidden]{display:none!important}
[inert]{user-select:none}
.is-loading .gate{visibility:hidden}
#loadStatus{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ivory);color:var(--jade-900);padding:24px;text-align:center}
#loadStatus button{padding:14px 28px;border:1px solid var(--jade-900);background:transparent;color:inherit}
.skip-link{position:fixed;top:-100px;left:12px;z-index:1100;background:var(--paper);padding:12px}.skip-link:focus{top:12px}
.read-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--wheat);z-index:1100;transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero-title,.gate-content h1{letter-spacing:-.045em;line-height:.98;overflow-wrap:anywhere}
.hero-title em{line-height:1.06}.hero-grid{grid-template-columns:minmax(0,1fr) 245px}
.hero-title{font-size:clamp(4rem,10vw,9rem)}
h2{white-space:pre-line}.hero-content{padding-top:150px}
.quick-nav{position:sticky;top:0;z-index:40;display:flex;justify-content:center;gap:clamp(12px,4vw,52px);background:rgba(248,246,239,.96);border-bottom:1px solid var(--line);padding:8px 16px;backdrop-filter:blur(12px)}
.quick-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--jade-900);font-size:.75rem}
section[id]{scroll-margin-top:70px}
.preview-notice{text-align:center;font-size:.7rem;color:#fff;background:rgba(16,45,40,.72);padding:6px 12px;margin:18px auto 0;width:fit-content;max-width:90%}
.gallery-grid{grid-auto-rows:280px}.gallery-item{min-width:0}.gallery-item img{background:var(--jade-100)}
.intro-main,.intro-small{background:var(--jade-100)}
.rsvp{background:var(--jade-100)}
.field select{font:inherit;width:100%;min-height:48px;padding:12px;border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:0}
.field input,.field textarea{font-size:16px}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{font-size:.85rem;line-height:1.6}.submit-wish:disabled{cursor:wait;opacity:.55}
.text-button{color:var(--jade-900);text-decoration:none}.qr img{object-fit:contain}
.music-toggle{font-size:22px}.music-toggle.playing{box-shadow:0 0 0 6px rgba(198,168,106,.25)}
.dialog-close,.lightbox-nav{font-size:28px}.dialog-panel{overscroll-behavior:contain}
.lightbox-image{min-height:240px}.gift-dialog-image{background-image:var(--cover-photo)}
.gate{overflow-y:auto}.gate-content{min-width:0}.gate-photo{background-color:var(--jade-800)}
.hero{background-color:var(--jade-950)}.eyebrow{line-height:1.7}
.hero-media{background-image:var(--hero-photo)}
.event-time small{display:block;margin-top:8px;font:500 .68rem/1.5 var(--sans);color:var(--muted);white-space:nowrap}
.couple-names{font-family:var(--serif);font-size:1.4rem;color:var(--jade-800)}
.intro-copy h2{font-size:clamp(3.2rem,5.5vw,5rem);line-height:1.02}
@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-title{font-size:clamp(4rem,14vw,8rem)}.hero-title em{margin-left:24px}.gallery-grid{grid-auto-rows:240px}}
@media(max-width:620px){.hero{min-height:100svh}.hero-title{font-size:clamp(3.8rem,17vw,6rem)}.quick-nav{gap:18px}.quick-nav a{font-size:.68rem}.gate-photo{min-height:150px}.gate-content h1{font-size:3.3rem}.gallery-grid{grid-auto-rows:180px}.preview-notice{font-size:.63rem}.wish-form{padding:24px 20px}.section-heading h2{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){.hero-media{transform:none}.reveal{opacity:1;transform:none}}
