/* Opening experience */
.opening{display:none;position:fixed;z-index:1000;inset:0;place-items:center;overflow:auto;padding:clamp(1rem,4vw,2rem);background:radial-gradient(circle at 18% 15%,rgba(177,142,86,.14),transparent 30rem),radial-gradient(circle at 90% 82%,rgba(126,144,126,.14),transparent 30rem),var(--color-pina-100)}
html.js .opening{display:grid}.opening.is-open{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}
.opening__texture{position:absolute;inset:0;opacity:.38;background:repeating-linear-gradient(14deg,rgba(103,77,61,.035) 0 1px,transparent 1px 11px),repeating-linear-gradient(104deg,rgba(255,255,255,.18) 0 1px,transparent 1px 15px);pointer-events:none}
.opening__card{position:relative;width:min(92vw,700px);min-height:min(84vh,720px);display:grid;place-items:center;align-content:center;padding:clamp(2.4rem,7vw,5.6rem) clamp(1.45rem,6vw,4.5rem);border:1px solid var(--color-line-gold);background:rgba(255,253,248,.82);box-shadow:var(--shadow-soft);text-align:center;backdrop-filter:blur(8px)}
.opening__card::before,.opening__card::after{content:"";position:absolute;pointer-events:none}.opening__card::before{inset:12px;border:1px solid rgba(16,43,35,.09)}.opening__card::after{inset:24px;border:1px solid rgba(177,142,86,.14)}
.opening__corner{position:absolute;width:92px;height:92px;opacity:.33;background:radial-gradient(circle at 50% 50%,transparent 48%,var(--color-gold-500) 49% 50%,transparent 51%),linear-gradient(45deg,transparent 48%,var(--color-heritage-700) 49% 50%,transparent 51%)}.opening__corner--tl{top:-35px;left:-35px}.opening__corner--br{bottom:-35px;right:-35px;transform:rotate(180deg)}
.filipiniana-mark{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 1rem;position:relative}.filipiniana-mark::before,.filipiniana-mark::after,.filipiniana-mark span::before,.filipiniana-mark span::after{content:"";position:absolute;width:20px;height:28px;border:1px solid var(--color-gold-500);border-radius:70% 30% 70% 30%;transform-origin:50% 100%}.filipiniana-mark::before{transform:translateY(-10px) rotate(-5deg)}.filipiniana-mark::after{transform:translateX(10px) rotate(85deg)}.filipiniana-mark span::before{transform:translateY(10px) rotate(175deg)}.filipiniana-mark span::after{transform:translateX(-10px) rotate(265deg)}.filipiniana-mark--light{filter:brightness(1.35)}
.opening h1{position:relative;z-index:1;margin:0;color:var(--color-heritage-900);font-size:clamp(2.65rem,7vw,5rem);line-height:.98;letter-spacing:-.045em}.opening h1>span{display:block}.opening h1 em{display:block;margin:.14em 0;color:var(--color-gold-500);font-size:.55em;font-weight:400}.opening__surnames{margin:.95rem auto .45rem;color:var(--color-walnut-700);font-size:.75rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase}.opening__date{margin:0 auto 1.15rem;color:var(--color-muted);font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.opening__line{margin:0 auto 1.7rem;max-width:420px;color:var(--color-muted);font-family:var(--font-display);font-size:1.08rem;font-style:italic}.button--opening{min-width:190px}
/* Header */
.site-header{position:sticky;z-index:100;top:0;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem max(1.25rem,calc((100vw - var(--content-max))/2 + 1.5rem));border-bottom:1px solid rgba(16,43,35,.075);background:rgba(251,248,240,.88);backdrop-filter:blur(18px) saturate(130%)}
.brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-heritage-900);text-decoration:none}.brand__monogram{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--color-gold-300);border-radius:50%;font-family:var(--font-display);font-size:.86rem;letter-spacing:-.04em}.brand__text{font-family:var(--font-display);font-size:.94rem}.brand__text i{color:var(--color-gold-500);font-weight:400}
.nav{display:flex;align-items:center;gap:1.35rem}.nav a{position:relative;color:var(--color-heritage-900);font-size:.79rem;font-weight:760;text-decoration:none;letter-spacing:.02em}.nav a:not(.nav__cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--color-gold-500);transition:right var(--transition)}.nav a:not(.nav__cta):hover::after,.nav a[aria-current="true"]::after{right:0}.nav__cta{border-radius:var(--radius-pill);background:var(--color-heritage-800);color:white!important;padding:.6rem 1rem}.nav-toggle{display:none}
.music-toggle[hidden]{display:none}.music-toggle{position:fixed;z-index:130;right:22px;bottom:22px;width:52px;height:52px;display:grid;place-items:center;padding:0;border:1px solid rgba(211,187,140,.48);border-radius:50%;background:rgba(16,43,35,.94);color:var(--color-pina-50);box-shadow:var(--shadow-float);cursor:pointer;backdrop-filter:blur(12px);transition:transform var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)}.music-toggle:hover{transform:translateY(-2px);background:var(--color-heritage-700)}.music-toggle__icon{display:block;color:var(--color-gold-300);font-family:var(--font-display);font-size:1.35rem;line-height:1;transform:translateY(-1px)}.music-toggle[aria-pressed="true"]{border-color:rgba(211,187,140,.9);box-shadow:0 0 0 5px rgba(177,142,86,.12),var(--shadow-float)}
/* Hero */
.hero{min-height:calc(100svh - var(--header-height));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.68fr);align-items:center;gap:clamp(3rem,5vw,4.75rem);position:relative;padding-block:clamp(3.25rem,6vw,5.5rem)}.hero::before{content:"";position:absolute;left:-110px;top:15%;width:270px;height:270px;border:1px solid rgba(177,142,86,.15);border-radius:50%;box-shadow:0 0 0 36px rgba(177,142,86,.025),0 0 0 72px rgba(177,142,86,.018);pointer-events:none}.hero__content{position:relative;z-index:2;min-width:0;max-width:620px;container-type:inline-size}.hero__kicker{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;color:var(--color-muted);font-size:.7rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase}.hero__kicker i{width:26px;height:1px;background:var(--color-gold-500)}
.hero h1{max-width:100%;margin:0;color:var(--color-heritage-900);font-size:clamp(3.2rem,4.75vw,5rem);line-height:.92;letter-spacing:-.052em}.hero h1:focus{outline:none}.hero h1>span{display:block;white-space:normal;overflow-wrap:anywhere}.hero h1 em{display:block;margin:.13em 0 .1em .66em;color:var(--color-gold-500);font-size:.46em;font-weight:400}.hero__surnames{margin:.9rem 0 .65rem;color:var(--color-walnut-700);font-size:.76rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase}.hero__statement{max-width:540px;margin-bottom:1.45rem;color:var(--color-muted);font-size:clamp(1rem,1.25vw,1.1rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:.72rem}
.portrait-frame{position:relative;width:min(100%,390px);justify-self:center;margin:0;padding:12px;border:1px solid var(--color-line-gold);background:rgba(255,253,248,.7);box-shadow:var(--shadow-soft)}.portrait-frame__inner{position:relative;aspect-ratio:4/5;overflow:hidden}.portrait-frame__inner::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);pointer-events:none}.portrait-image{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.92) contrast(.98)}.portrait-frame__seal{position:absolute;left:-28px;bottom:84px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;gap:.2rem;border:5px double var(--color-gold-300);border-radius:50%;background:var(--color-heritage-800);color:var(--color-pina-50);box-shadow:var(--shadow-float);font-family:var(--font-display);font-size:.94rem}.portrait-frame__seal i{color:var(--color-gold-300);font-size:.75rem}.portrait-frame figcaption{display:flex;justify-content:center;gap:.5rem;padding:1rem .25rem .2rem;color:var(--color-muted);font-family:var(--font-display);font-size:.78rem;text-align:center}.portrait-frame figcaption i{color:var(--color-gold-500)}
/* Invitation band + countdown */
.invitation-band{background:var(--color-heritage-800);color:var(--color-pina-100)}.invitation-band__inner{width:min(100%,var(--content-max));margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;gap:clamp(2.5rem,7vw,6rem);padding:clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3rem)}.invitation-band__message p{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.4rem);line-height:1;color:var(--color-pina-50)}.invitation-band__message small{color:var(--color-sage-300)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(211,187,140,.28);border-bottom:1px solid rgba(211,187,140,.28)}.countdown div{position:relative;padding:1.3rem .75rem;text-align:center}.countdown div+div::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:rgba(211,187,140,.22)}.countdown strong{display:block;color:var(--color-pina-50);font-family:var(--font-display);font-size:clamp(2.25rem,5vw,4rem);font-weight:400;line-height:1}.countdown span{display:block;margin-top:.4rem;color:var(--color-sage-300);font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
/* Story */
.story__layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(400px,1fr);gap:clamp(3rem,8vw,7rem);align-items:start}.story__copy{position:sticky;top:calc(var(--header-height) + 2.5rem)}.story__lead{color:var(--color-heritage-800);font-family:var(--font-display);font-size:1.55rem}.story__copy>p:not(.story__lead){color:var(--color-muted)}.story blockquote{margin:2rem 0 0;padding-left:1.25rem;border-left:1px solid var(--color-gold-500);color:var(--color-walnut-700);font-family:var(--font-display);font-size:1.14rem;font-style:italic}.story-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-line)}.story-steps li{display:grid;grid-template-columns:64px 1fr;gap:1.2rem;padding:1.6rem 0;border-bottom:1px solid var(--color-line)}.story-steps>li>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--color-line-gold);border-radius:50%;color:var(--color-gold-600);font-size:.72rem;font-weight:800}.story-steps small{display:block;margin-bottom:.2rem;color:var(--color-muted);font-size:.7rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.story-steps strong{display:block;color:var(--color-heritage-900);font-family:var(--font-display);font-size:1.45rem;font-weight:400}.story-steps p{margin:.4rem 0 0;color:var(--color-muted);font-size:.92rem}
/* Wedding details */
.details__layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,5vw,4rem);align-items:stretch}.venue-portrait{position:relative;margin:0;min-height:650px;overflow:hidden;background:var(--color-heritage-900);box-shadow:var(--shadow-card)}.venue-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.98) brightness(.94)}.venue-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,33,26,.76),transparent 48%)}.venue-portrait figcaption{position:absolute;z-index:2;left:1.5rem;right:1.5rem;bottom:1.4rem;color:var(--color-pina-50)}.venue-portrait figcaption span{display:block;color:var(--color-gold-300);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.venue-portrait figcaption strong{font-family:var(--font-display);font-size:1.65rem;font-weight:400}.event-stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:1rem}.event-card{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.6rem,4vw,2.7rem);border:1px solid var(--color-line-gold);background:var(--color-capiz);box-shadow:var(--shadow-card)}.event-card__topline{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.event-card__topline span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--color-gold-300);border-radius:50%;color:var(--color-gold-600);font-size:.7rem;font-weight:800}.event-card__topline small{color:var(--color-muted);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.event-card h3{margin-bottom:.65rem;color:var(--color-heritage-900);font-size:clamp(1.8rem,3vw,2.65rem)}.event-card>p{margin-bottom:1.25rem;color:var(--color-muted)}.event-card dl{display:grid;gap:.55rem;margin:0 0 1.4rem}.event-card dl div{display:flex;gap:.75rem}.event-card dt{min-width:78px;color:var(--color-muted);font-size:.85rem}.event-card dd{margin:0;color:var(--color-heritage-900);font-size:.9rem;font-weight:720}.event-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.action-link{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.45rem .72rem;border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-heritage-800);font-size:.76rem;font-weight:760;text-decoration:none;transition:border-color var(--transition),background var(--transition)}.action-link:hover{border-color:var(--color-gold-500);background:var(--color-pina-50)}.action-link b{color:var(--color-gold-600);font-weight:500}
/* Attire */
.attire__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.attire-card{position:relative;overflow:hidden;min-height:350px;padding:clamp(1.7rem,4vw,2.7rem);border:1px solid var(--color-line-gold);background:linear-gradient(145deg,rgba(255,253,248,.84),rgba(242,235,221,.68))}.attire-card__monogram{position:absolute;right:-.02em;bottom:-.21em;color:rgba(16,43,35,.035);font-family:var(--font-display);font-size:17rem;line-height:1}.attire-card h3{position:relative;max-width:450px;color:var(--color-heritage-900);font-size:clamp(1.8rem,3vw,2.55rem)}.attire-card p{position:relative;max-width:520px;color:var(--color-muted)}.attire-card>small{position:relative;color:var(--color-walnut-700);font-size:.72rem;font-weight:700;letter-spacing:.06em}.palette-block{margin-top:2rem;padding:1.3rem 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);text-align:center}.palette-block__label{display:block;margin-bottom:1rem;color:var(--color-muted);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.palette{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}.palette>span{display:grid;justify-items:center;gap:.35rem}.palette i{width:42px;height:42px;display:block;border:3px solid var(--color-capiz);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--color-line)}.palette small{color:var(--color-muted);font-size:.66rem}.palette-block p{margin:.9rem auto 0;color:var(--color-muted);font-size:.84rem}
/* Entourage */
.family-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.5rem,4vw,2.5rem) 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);text-align:center}.family-pair article small,.honor-grid span,.party-grid span{display:block;margin-bottom:.45rem;color:var(--color-muted);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.family-pair h3{margin:0;color:var(--color-heritage-900);font-size:clamp(1.5rem,2.6vw,2.15rem)}.family-pair h3 i{color:var(--color-gold-500);font-weight:400}.family-pair__divider{width:1px;height:72px;background:var(--color-line-gold)}.honor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:2rem;background:var(--color-line)}.honor-grid article{padding:1.4rem;background:var(--color-capiz);text-align:center}.honor-grid strong{color:var(--color-heritage-900);font-family:var(--font-display);font-size:1.18rem;font-weight:400}.party-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.party-grid article{padding:1.6rem;border:1px solid var(--color-line);text-align:center}.party-grid p{margin:0 auto;color:var(--color-heritage-900);font-family:var(--font-display);font-size:1.1rem;line-height:1.75}
.primary-sponsors{margin-top:2rem;padding:clamp(1.6rem,4vw,2.6rem);border:1px solid var(--color-line-gold);background:rgba(255,253,248,.58)}.primary-sponsors__heading{text-align:center}.primary-sponsors__heading .eyebrow{margin-bottom:.45rem}.primary-sponsors__heading h3{margin-bottom:1.6rem;color:var(--color-heritage-900);font-size:clamp(2rem,3.4vw,2.9rem)}.primary-sponsors__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-line)}.primary-sponsors__grid article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.85rem;padding:1.35rem;background:var(--color-capiz);text-align:center}.primary-sponsors__grid article>span{min-width:0}.primary-sponsors__grid small{display:block;margin-bottom:.28rem;color:var(--color-muted);font-size:.65rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.primary-sponsors__grid strong{display:block;color:var(--color-heritage-900);font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.2rem);font-weight:400;overflow-wrap:anywhere}.primary-sponsors__grid article>i{color:var(--color-gold-500);font-family:var(--font-display);font-size:1.1rem;font-weight:400}
.primary-sponsors__grid article{display:block}.primary-sponsors__grid article>span{display:block;margin-bottom:.85rem;color:var(--color-muted);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.primary-sponsors__grid ul,.honor-grid__names{list-style:none;margin:0;padding:0}.primary-sponsors__grid li{padding:.5rem .35rem;border-top:1px solid var(--color-line);color:var(--color-heritage-900);font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.2rem);overflow-wrap:anywhere}.honor-grid__names{display:grid;gap:.22rem;color:var(--color-heritage-900);font-family:var(--font-display);font-size:1.08rem;line-height:1.35}
/* Traditions */
.traditions__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--color-line-gold)}.tradition{min-height:285px;position:relative;padding:1.65rem;background:var(--color-pina-50)}.tradition>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:2.4rem;border:1px solid var(--color-line-gold);border-radius:50%;color:var(--color-gold-600);font-family:var(--font-display);font-size:1.4rem}.tradition>small{position:absolute;right:1.5rem;top:1.5rem;color:rgba(16,43,35,.28);font-size:.68rem;font-weight:800}.tradition h3{color:var(--color-heritage-900)}.tradition p{color:var(--color-muted);font-size:.9rem}
/* Gallery */
.gallery__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.gallery__heading>*{min-width:0}.gallery__heading .section-heading{flex:1 1 0;margin-bottom:0;container-type:inline-size}.gallery__heading>p{max-width:360px;margin:0;color:var(--color-sage-300);font-size:.9rem}.gallery-editorial{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;align-items:end}.gallery-photo{position:relative;overflow:hidden;border:0;padding:0;background:var(--color-heritage-800);cursor:zoom-in;color:white}.gallery-photo--couple{aspect-ratio:4/3}.gallery-photo--venue{aspect-ratio:3/4}.gallery-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.98);transition:transform .6s ease,filter .6s ease}.gallery-photo--couple img{object-position:center 35%}.gallery-photo--venue img{object-position:center 48%}.gallery-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,33,26,.68),transparent 48%)}.gallery-photo:hover img{transform:scale(1.025);filter:saturate(.94) contrast(1)}.gallery-photo>span{position:absolute;z-index:2;left:1.3rem;bottom:1.15rem;font-family:var(--font-display);font-size:1.45rem;text-align:left}.gallery-photo>span small{display:block;margin-bottom:.2rem;color:var(--color-gold-300);font-family:var(--font-body);font-size:.65rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.lightbox{width:min(92vw,900px);border:1px solid rgba(177,142,86,.38);padding:1rem;background:var(--color-heritage-950);color:var(--color-pina-50)}.lightbox::backdrop{background:rgba(5,12,10,.86);backdrop-filter:blur(3px)}.lightbox__close{position:absolute;z-index:3;right:.65rem;top:.45rem;width:44px;height:44px;border:0;border-radius:50%;background:rgba(11,33,26,.72);color:white;font-size:1.8rem;cursor:pointer}.lightbox__visual{min-height:min(65vh,650px);display:grid;place-items:center;background:var(--color-heritage-800)}.lightbox__visual img{width:100%;max-height:min(72vh,760px);object-fit:contain}.lightbox p{margin:.8rem 0 0;font-family:var(--font-display)}
.gallery-editorial{display:block;columns:2 360px;column-gap:1rem}.gallery-photo{display:block;width:100%;margin:0 0 1rem;break-inside:avoid}.gallery-photo--portrait{aspect-ratio:3/4}.gallery-photo--landscape{aspect-ratio:4/3}.lightbox{width:min(96vw,1100px)}.lightbox__stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:.75rem}.lightbox__nav{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(211,187,140,.4);border-radius:50%;background:rgba(23,56,46,.78);color:var(--color-pina-50);font-size:1.35rem;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.lightbox__nav:hover{border-color:var(--color-gold-300);background:var(--color-heritage-700);transform:scale(1.04)}.lightbox__visual{min-height:min(70vh,700px)}.lightbox p{text-align:center}
/* RSVP */
.rsvp{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,8vw,7rem);align-items:start}.rsvp>*{min-width:0}.rsvp__intro{position:sticky;top:calc(var(--header-height) + 2rem);container-type:inline-size}.rsvp__intro h2{max-width:100%;font-size:clamp(3rem,5vw,4.8rem);overflow-wrap:break-word}.rsvp__question{margin:-.5rem 0 .9rem;color:var(--color-walnut-700);font-family:var(--font-display);font-size:1.25rem;font-style:italic}.rsvp__intro>p:not(.rsvp__question){color:var(--color-muted)}.privacy-note{display:grid;grid-template-columns:30px 1fr;gap:.65rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--color-line)}.privacy-note>span{color:var(--color-gold-600)}.privacy-note p{margin:0;color:var(--color-muted);font-size:.82rem}.rsvp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;padding:clamp(1.35rem,4vw,2.5rem);border:1px solid var(--color-line-gold);background:var(--color-capiz);box-shadow:var(--shadow-card)}.field--full{grid-column:1/-1}.form-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-line)}.form-heading span{color:var(--color-heritage-900);font-family:var(--font-display);font-size:1.35rem}.form-heading small{color:var(--color-muted);font-size:.72rem}.button--submit{min-height:54px}.submission-note{padding:.8rem 1rem;border:1px solid var(--color-line-gold);border-radius:.7rem;background:var(--color-pina-50);color:var(--color-muted);font-size:.82rem}
/* Gift + reminders */
.after-rsvp{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,7rem);align-items:start}.after-rsvp>*{min-width:0;container-type:inline-size}.gift-note h2,.reminder-list h2{max-width:100%;font-size:clamp(2.2rem,4vw,3.5rem);overflow-wrap:break-word}.gift-note p{color:var(--color-muted)}.reminder-list>div h2{margin-bottom:1.2rem}.reminder-list ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-line)}.reminder-list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-line)}.reminder-list li>span{color:var(--color-gold-600);font-size:.68rem;font-weight:800}.reminder-list p{margin:0;color:var(--color-muted);font-size:.9rem}.reminder-list strong{color:var(--color-heritage-900)}
/* Closing + footer */
.closing h2{max-width:900px;color:var(--color-pina-50);font-size:clamp(3.1rem,7vw,6rem)}.closing h2 span{display:block}.closing h2 em{display:block;margin:.12em 0;color:var(--color-gold-300);font-size:.55em;font-weight:400}.closing p{margin-inline:auto;color:var(--color-sage-300);font-size:1.02rem}.footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem max(1.25rem,calc((100vw - var(--content-max))/2 + 1.5rem));background:#071A14;color:var(--color-sage-300);font-size:.75rem}.footer>div:first-child{display:flex;align-items:center;gap:.8rem}.footer p{margin:0}.footer>div:last-child{display:flex;gap:1.2rem}.footer a{color:var(--color-sage-300);text-underline-offset:4px}
/* Responsive */
@media(max-width:980px){.brand__text{display:none}.nav{gap:1rem}.hero{grid-template-columns:minmax(0,.95fr) minmax(330px,.78fr);gap:2.5rem}.hero h1{font-size:clamp(3.1rem,5.9vw,5rem)}.invitation-band__inner{grid-template-columns:1fr;gap:2rem}.details__layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.honor-grid{grid-template-columns:repeat(2,1fr)}.traditions__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.nav-toggle{width:44px;height:44px;display:grid;place-content:center;gap:7px;border:0;background:transparent;cursor:pointer}.nav-toggle span{width:23px;height:1.5px;background:var(--color-heritage-900);transition:transform var(--transition)}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.25px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:.15rem;padding:.75rem 1.25rem 1.25rem;background:rgba(251,248,240,.98);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-card)}.nav.is-open{display:flex}.nav a{min-height:46px;display:flex;align-items:center}.nav__cta{justify-content:center;margin-top:.35rem}.hero{min-height:auto;grid-template-columns:1fr;padding-top:4rem}.hero__content{text-align:center}.hero__kicker,.hero__actions{justify-content:center}.hero h1{font-size:clamp(3.4rem,13vw,6rem)}.hero h1>span{white-space:normal}.hero h1 em{margin-inline:0}.hero__statement{margin-inline:auto}.hero__surnames{text-align:center}.portrait-frame{width:min(100%,620px);margin-inline:auto}.portrait-frame__seal{left:20px;bottom:84px}.story__layout,.details__layout,.rsvp,.after-rsvp{grid-template-columns:1fr}.story__copy,.rsvp__intro{position:static}.venue-portrait{min-height:520px;max-height:720px}.gallery__heading{display:block}.gallery__heading>p{margin-top:1rem}.gallery-editorial{grid-template-columns:1.25fr .75fr}.family-pair{grid-template-columns:1fr}.family-pair__divider{width:72px;height:1px;margin:auto}.attire__grid{grid-template-columns:1fr}}
@media(max-width:600px){.opening{padding:.75rem}.opening__card{width:100%;min-height:calc(100svh - 1.5rem);padding:3rem 1.5rem}.opening__card::after{inset:18px}.opening h1{font-size:clamp(2.75rem,13vw,4rem)}.opening__date{font-size:.69rem;letter-spacing:.08em}.site-header{min-height:64px}.brand__monogram{width:38px;height:38px}.hero{padding-top:3rem;gap:2.2rem}.hero::before{display:none}.hero__kicker{font-size:.63rem}.hero h1{font-size:clamp(3.25rem,16vw,5.1rem)}.hero__surnames{font-size:.68rem;letter-spacing:.2em}.hero__actions{display:grid}.hero__actions .button{width:100%}.portrait-frame{padding:8px}.portrait-frame__seal{width:60px;height:60px;left:14px;bottom:74px}.portrait-frame figcaption{display:block;line-height:1.45}.portrait-frame figcaption i{margin:0 .25rem}.invitation-band__inner{padding:2.8rem 1.25rem}.invitation-band__message{text-align:center}.countdown div{padding:1rem .3rem}.countdown strong{font-size:2.4rem}.countdown span{font-size:.55rem}.story__layout{gap:2rem}.story-steps li{grid-template-columns:50px 1fr}.venue-portrait{min-height:460px}.event-card dl div{display:grid;grid-template-columns:70px 1fr;gap:.25rem}.event-card__actions{display:grid;grid-template-columns:repeat(2,1fr)}.action-link{justify-content:center}.attire-card{min-height:auto}.attire-card__monogram{font-size:13rem}.palette{gap:.7rem}.palette i{width:38px;height:38px}.family-pair{gap:1.2rem}.honor-grid,.party-grid,.traditions__grid{grid-template-columns:1fr}.gallery-editorial{grid-template-columns:1fr}.gallery-photo--couple{aspect-ratio:4/5}.gallery-photo--venue{aspect-ratio:4/5;width:84%;margin-left:auto;margin-top:-12%;border:8px solid var(--color-heritage-950);box-shadow:var(--shadow-float)}.rsvp-form{grid-template-columns:1fr}.field--full{grid-column:auto}.form-heading{align-items:start;flex-direction:column;gap:.25rem}.footer{align-items:flex-start;flex-direction:column}.footer>div:last-child{width:100%;justify-content:space-between}}
@media(min-width:801px){.hero{padding-block:clamp(2.5rem,7svh,5rem)}.hero h1{font-size:clamp(2.65rem,4.75vw,5rem);font-size:clamp(2.65rem,12cqi,5rem)}.portrait-frame{width:min(100%,370px,max(240px,calc(80svh - 10.5rem)))}.gallery__heading h2{max-width:100%;font-size:clamp(2.35rem,5vw,4.6rem);font-size:clamp(2.35rem,8.5cqi,4.6rem);overflow-wrap:break-word}.rsvp__intro h2{font-size:clamp(2.75rem,5vw,4.8rem);font-size:clamp(2.75rem,15cqi,4.8rem)}.gift-note h2,.reminder-list h2{font-size:clamp(2.2rem,4vw,3.5rem);font-size:clamp(2.2rem,12cqi,3.5rem)}}
@media(max-width:600px){.primary-sponsors{padding:1.25rem}.primary-sponsors__grid{grid-template-columns:1fr}.primary-sponsors__grid article{padding:1.15rem .85rem}}
@media(max-width:600px){.gallery-editorial{columns:1}.lightbox{width:96vw;padding:.65rem}.lightbox__stage{grid-template-columns:1fr}.lightbox__nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);background:rgba(11,33,26,.78)}.lightbox__nav:hover{transform:translateY(-50%) scale(1.04)}.lightbox__nav--previous{left:.85rem}.lightbox__nav--next{right:.85rem}.lightbox__visual{min-height:min(68vh,620px)}.music-toggle{right:14px;bottom:14px;width:48px;height:48px}}
@media(max-width:600px){.traditions.section{padding-block:3rem}.traditions .section-heading{margin-bottom:1.75rem}.traditions .section-heading .eyebrow{margin-bottom:.75rem}.traditions .section-heading h2{margin-bottom:1rem}.tradition{min-height:0;padding:1.15rem 1.25rem 1.25rem}.tradition>span{width:42px;height:42px;margin-bottom:.85rem;font-size:1.2rem}.tradition>small{right:1.25rem;top:1.25rem}.tradition h3{margin-bottom:.35rem;font-size:1.35rem}.tradition p{margin-bottom:0;line-height:1.5}}
@media(max-width:600px){.footer{align-items:center;text-align:center}.footer>div:first-child{justify-content:center}.footer>div:last-child{justify-content:center}}
