:root{--ivory:#f6f0e5;--paper:#fbf7ef;--burgundy:#6b1733;--wine:#4e1026;--champagne:#b69250;--olive:#68704b;--pink:#d9a0a4;--ink:#2a2522;--muted:#625a54;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--script:"Mrs Saint Delafield",cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.75;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,#fffaf0 0,#f7f0e4 48%,#e8dcc8 100%)}.hero:before{content:"";position:absolute;inset:20px;border:1px solid rgba(107,23,51,.24)}.nav{position:absolute;z-index:4;left:clamp(28px,5vw,80px);right:clamp(28px,5vw,80px);top:32px;display:flex;align-items:center;justify-content:space-between}.monogram,.footer-mark,.entourage-mark{color:var(--burgundy);font-family:var(--serif);font-size:22px;letter-spacing:.12em;text-decoration:none}.monogram i,.footer-mark i,.entourage-mark i{font-family:var(--script);font-weight:400}.nav-links{display:flex;gap:32px}.nav-links a{color:var(--ink);font-size:11px;font-weight:500;letter-spacing:.18em;text-decoration:none;text-transform:uppercase}.music-toggle{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--burgundy);cursor:pointer;font:500 10px var(--sans);letter-spacing:.16em;text-transform:uppercase}.music-bars{height:14px;display:flex;align-items:flex-end;gap:2px}.music-bars i{display:block;width:2px;height:6px;background:currentColor}.music-toggle.playing .music-bars i{animation:bars .7s ease-in-out infinite alternate}.music-toggle.playing .music-bars i:nth-child(2){animation-delay:.2s}.music-toggle.playing .music-bars i:nth-child(3){animation-delay:.4s}@keyframes bars{to{height:14px}}.hero-content{position:relative;z-index:2;text-align:center;padding:130px 24px 70px}.eyebrow,.kicker{color:var(--burgundy);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.hero h1{margin:12px 0 10px;color:var(--burgundy);font-family:var(--serif);font-weight:400;font-size:clamp(74px,13vw,174px);line-height:.72;letter-spacing:-.05em}.hero h1 span{display:inline-block}.hero h1 em{display:inline-block;margin:0 .08em;color:var(--champagne);font-family:var(--script);font-size:.7em;font-weight:400;transform:translateY(.08em)}.invitation-line{font-family:var(--serif);font-size:clamp(15px,2vw,21px);letter-spacing:.02em}.date-lockup{width:min(470px,88vw);margin:28px auto 8px;display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;color:var(--burgundy);text-transform:uppercase}.date-lockup span{padding:9px 20px;border-top:1px solid var(--champagne);border-bottom:1px solid var(--champagne);font-size:10px;font-weight:500;letter-spacing:.22em;line-height:1.5}.date-lockup strong{font:400 56px/1 var(--serif)}.hero-time{margin:8px 0;color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.scroll-cue{position:absolute;left:50%;bottom:0;display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:9px;letter-spacing:.2em;text-decoration:none;text-transform:uppercase;transform:translateX(-50%)}.scroll-cue i{height:42px;border-left:1px solid var(--champagne);margin-top:12px}.hero-botanical{position:absolute;width:330px;height:500px;opacity:.5}.hero-botanical:before,.hero-botanical:after{content:"";position:absolute;inset:0;border-radius:100% 0;background:repeating-radial-gradient(ellipse at bottom left,transparent 0 23px,rgba(104,112,75,.26) 24px 25px,transparent 26px 47px);transform:rotate(-22deg)}.botanical-left{left:-150px;bottom:-90px;transform:rotate(-14deg)}.botanical-right{right:-160px;top:-90px;transform:scale(-1) rotate(-24deg)}.section{padding:clamp(90px,12vw,160px) clamp(24px,8vw,130px)}.countdown-section{padding:70px 24px;text-align:center;background:var(--burgundy);color:#fff}.script{margin:0;color:var(--champagne);font:400 42px/1 var(--script)}.countdown-section h2{margin:10px 0 40px;font:400 clamp(26px,3vw,40px) var(--serif)}.countdown{display:flex;justify-content:center;gap:clamp(20px,7vw,90px)}.countdown div{min-width:70px}.countdown strong{display:block;font:400 clamp(34px,5vw,64px)/1 var(--serif);font-variant-numeric:tabular-nums}.countdown span{font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:#dcc5c9}.story{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:clamp(60px,10vw,150px);align-items:center;background:var(--paper)}.story-visual{position:relative}.photo-frame{position:relative;aspect-ratio:4/5;border:1px solid var(--champagne);padding:13px;background:#eee3d2;box-shadow:22px 24px 0 rgba(107,23,51,.08)}.photo-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#d8c6ad,#a6a88f);position:relative;overflow:hidden}.photo-placeholder:before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.48)}.photo-placeholder span{color:#fff;font:400 clamp(40px,7vw,80px) var(--serif);text-shadow:0 2px 18px rgba(0,0,0,.2)}.photo-placeholder span i{font-family:var(--script)}.photo-placeholder small{position:absolute;bottom:10%;color:#fff;font-size:8px;letter-spacing:.3em}.photo-caption{display:block;margin-top:30px;color:var(--muted);font:italic 14px var(--serif);text-align:center}.story-copy h2,.section-heading h2,.dress-copy h2,.rsvp-intro h2{margin:12px 0 28px;font:400 clamp(38px,5.2vw,70px)/1.08 var(--serif);color:var(--burgundy)}.story-copy h2 em{font-family:var(--script);font-size:1.25em;font-weight:400;color:var(--champagne)}.story-copy>p:not(.kicker){max-width:650px;color:#5d5550;font-size:14px}.story-ending{padding-top:16px;color:var(--burgundy)!important;font-family:var(--serif);font-size:17px!important}.details{background:#eee4d5}.section-heading{text-align:center;max-width:760px;margin:0 auto 60px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1050px;margin:auto}.venue-card{position:relative;min-height:440px;padding:70px 50px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--paper);border:1px solid rgba(107,23,51,.12)}.venue-number{position:absolute;top:24px;left:28px;color:var(--champagne);font:400 14px var(--serif)}.line-icon{margin-bottom:12px;color:var(--burgundy);font-size:40px}.venue-card h3{margin:5px 0 18px;color:var(--burgundy);font:400 34px var(--serif)}.venue-card p:not(.kicker){font-size:13px;color:var(--muted)}.text-link{display:inline-block;margin-top:20px;color:var(--burgundy);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:7px}.burgundy-card{background:var(--burgundy);color:#fff}.burgundy-card .venue-number,.burgundy-card .line-icon,.burgundy-card .kicker,.burgundy-card h3,.burgundy-card .text-link{color:var(--champagne)}.burgundy-card p:not(.kicker){color:#e5d4d8}.dress-code{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:var(--paper)}.dress-copy>p:not(.kicker){max-width:570px}.palette{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px}.palette span{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.palette i{display:block;width:44px;height:44px;border-radius:50%;background:var(--swatch);border:4px solid #fff;box-shadow:0 0 0 1px #d8cdbf}.attire-card{min-height:410px;display:flex;justify-content:center;align-items:flex-end;gap:16px;padding:50px 30px 35px;text-align:center;border:1px solid var(--champagne);background:linear-gradient(160deg,#eee3d5,#d9c9b2)}.attire-card div{align-self:flex-start;margin-top:18px}.attire-card strong{display:block;color:var(--burgundy);font:400 26px var(--serif)}.attire-card small{font-size:8px;letter-spacing:.16em;text-transform:uppercase}.attire-figure{position:relative;width:120px;height:280px;display:block}.attire-figure:before{content:"";position:absolute;top:0;left:50%;width:38px;height:38px;border-radius:50%;background:#c4a787;transform:translateX(-50%)}.woman:after{content:"";position:absolute;top:37px;left:50%;width:125px;height:240px;background:var(--burgundy);clip-path:polygon(42% 0,58% 0,65% 15%,62% 43%,100% 100%,0 100%,38% 43%,35% 15%);transform:translateX(-50%)}.man:after{content:"";position:absolute;top:37px;left:50%;width:95px;height:243px;background:var(--olive);clip-path:polygon(32% 0,68% 0,80% 16%,68% 48%,83% 100%,53% 100%,50% 50%,47% 100%,17% 100%,32% 48%,20% 16%);transform:translateX(-50%)}.entourage{background:var(--burgundy);color:#f8efe6}.entourage .section-heading .kicker,.entourage h2{color:var(--champagne)}.parents-grid{display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;max-width:1000px;margin:0 auto 55px;text-align:center}.parents-grid div:not(.entourage-mark){display:flex;flex-direction:column;gap:5px}.parents-grid span,.entourage h3{color:var(--champagne);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.parents-grid strong{font:400 19px var(--serif)}.entourage-mark{font-size:30px;color:var(--champagne)}.entourage-columns{max-width:1000px;margin:auto;border-top:1px solid rgba(198,167,109,.4)}.entourage-group,.role-pair{padding:40px 0;border-bottom:1px solid rgba(198,167,109,.3);text-align:center}.entourage h3{margin:0 0 18px}.names{display:grid;gap:10px;font-family:var(--serif);font-size:16px}.two-col{grid-template-columns:1fr 1fr}.role-pair{display:grid;grid-template-columns:1fr 1fr}.role-pair>div:first-child{border-right:1px solid rgba(198,167,109,.3)}.role-pair p{margin:0;font:400 16px/1.8 var(--serif)}.gallery{background:#eee4d5}.gallery-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:250px 250px;gap:14px}.gallery-photo{position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#cfc0a8,#8f967e);overflow:hidden}.gallery-photo:before{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.36)}.gallery-photo span{color:rgba(255,255,255,.8);font:400 48px var(--serif)}.gallery-photo.tall{grid-row:1/3}.gallery-photo.wide{grid-column:2/4}.asset-note{text-align:center;color:var(--muted);font:italic 14px var(--serif)}.rsvp{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,10vw,140px);background:var(--paper)}.rsvp-intro{align-self:start;position:sticky;top:120px}.rsvp-intro>p:not(.script){color:var(--muted);max-width:430px}.rsvp-date{margin-top:40px;display:flex;align-items:center;gap:18px;color:var(--burgundy)}.rsvp-date strong{font:400 68px/1 var(--serif)}.rsvp-date span{padding-left:18px;border-left:1px solid var(--champagne);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.rsvp-form{display:grid;grid-template-columns:1fr 1fr;gap:28px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label,.field legend{color:var(--burgundy);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.field input:not([type=radio]),.field textarea{width:100%;padding:14px 2px;border:0;border-bottom:1px solid #b9a994;outline:0;background:transparent;border-radius:0;color:var(--ink);font:300 14px var(--sans)}.field input:focus,.field textarea:focus{border-color:var(--burgundy)}.attendance{border:0;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.attendance legend{width:100%;margin-bottom:4px}.attendance label{cursor:pointer}.attendance input{position:absolute;opacity:0}.attendance span{display:block;padding:11px 18px;border:1px solid #cdbfae;color:var(--muted);transition:.25s}.attendance input:checked+span{background:var(--burgundy);border-color:var(--burgundy);color:#fff}.guest-count{display:flex;gap:8px}.guest-count button{width:45px;height:45px;border:1px solid #cdbfae;background:transparent;color:var(--ink);cursor:pointer;font:400 14px var(--serif)}.guest-count button.active{background:var(--burgundy);border-color:var(--burgundy);color:#fff}.submit-btn{grid-column:1/-1;margin-top:8px;padding:17px 25px;border:0;background:var(--burgundy);color:#fff;cursor:pointer;font:600 10px var(--sans);letter-spacing:.17em;text-transform:uppercase}.submit-btn span{margin-left:10px;color:var(--champagne)}.form-note{grid-column:1/-1;margin:0;color:#95897f;font-size:10px;text-align:center}.rsvp-success{align-self:center;padding:70px 40px;text-align:center;border:1px solid var(--champagne)}.rsvp-success span{color:var(--burgundy);font-size:42px}.rsvp-success h3{margin:0;color:var(--burgundy);font:400 48px var(--serif)}.rsvp-success button{border:0;border-bottom:1px solid var(--burgundy);background:transparent;color:var(--burgundy);cursor:pointer;font:600 9px var(--sans);letter-spacing:.15em;text-transform:uppercase}footer{padding:70px 24px;text-align:center;background:var(--wine);color:#dbcdd0;position:relative}.footer-mark{color:var(--champagne);font-size:40px}footer p{font-size:10px;letter-spacing:.15em;text-transform:uppercase}footer>a{position:absolute;right:40px;bottom:40px;color:var(--champagne);text-decoration:none}.toast{position:fixed;z-index:120;left:50%;bottom:30px;padding:12px 20px;background:var(--ink);color:#fff;font-size:11px;transform:translate(-50%,120px);transition:.35s;box-shadow:0 6px 25px rgba(0,0,0,.2)}.toast.show{transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:820px){.nav-links{display:none}.hero h1 span{display:block}.hero h1 em{margin:-.1em 0}.hero h1{line-height:.62}.story,.dress-code,.rsvp{grid-template-columns:1fr}.story-visual{max-width:520px;margin:auto}.venue-grid{grid-template-columns:1fr}.parents-grid{grid-template-columns:1fr}.entourage-mark{padding:25px}.rsvp-intro{position:static}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 220px}.gallery-photo.tall{grid-row:1/3}.gallery-photo.wide{grid-column:1/3}.attire-card{min-height:340px}.attire-figure{height:220px}.woman:after,.man:after{height:185px}.countdown{gap:12px}.countdown div{min-width:60px}}
@media(max-width:520px){.section{padding:90px 22px}.hero:before{inset:10px}.nav{top:25px}.date-lockup{grid-template-columns:1fr 74px 1fr}.date-lockup span{padding:7px 5px;font-size:8px}.date-lockup strong{font-size:44px}.countdown strong{font-size:32px}.countdown span{font-size:7px}.venue-card{min-height:390px;padding:60px 28px}.palette{gap:13px}.palette i{width:38px;height:38px}.attire-card{gap:0;padding-left:10px;padding-right:10px}.attire-figure{width:92px}.two-col{grid-template-columns:1fr}.role-pair{grid-template-columns:1fr;gap:30px}.role-pair>div:first-child{border-right:0;border-bottom:1px solid rgba(198,167,109,.3);padding-bottom:30px}.attendance{flex-direction:column}.attendance label{width:100%;text-align:center}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 170px 180px}.rsvp-form{grid-template-columns:1fr}.guest-count{justify-content:space-between}.guest-count button{width:17%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.music-toggle.playing .music-bars i{animation:none}}

/* Readability refinement: warmer contrast, stronger type, and roomier mobile text. */
body{font-size:16px;font-weight:400;line-height:1.78}.grain{opacity:.1}
.nav-links a,.music-toggle{font-size:12px}.eyebrow,.kicker{font-size:11px;letter-spacing:.24em}
.hero h1{font-weight:500;letter-spacing:-.035em}.invitation-line{font-size:clamp(18px,2vw,23px);font-weight:500}.hero-time{font-size:12px;color:#5f554e}
.story-copy h2,.section-heading h2,.dress-copy h2,.rsvp-intro h2{font-weight:500;letter-spacing:-.015em}
.story-copy>p:not(.kicker){color:#4f4944;font-size:16px;line-height:1.9}.story-ending{font-size:19px!important;font-weight:500}
.countdown-section h2{font-weight:500}.countdown strong{font-weight:500}
.venue-card h3{font-weight:500;font-size:38px}.venue-card p:not(.kicker){font-size:15px;line-height:1.8}.text-link{font-size:11px}
.ceremony-icon{width:58px;height:58px;margin:0 auto 17px;display:grid;place-items:center;border:1px solid var(--champagne);border-radius:50%;font-size:28px}.ceremony-icon span{transform:translateY(-1px)}
.dress-copy>p:not(.kicker){font-size:16px;color:#4f4944}.palette span{font-size:9px;font-weight:600}
.parents-grid span,.entourage h3{font-size:10px}.parents-grid strong{font-size:22px;font-weight:500}.names{font-size:19px;line-height:1.55}.role-pair p{font-size:19px;line-height:1.75}.entourage-columns{color:#fffaf3}
.rsvp-intro>p:not(.script){font-size:16px;color:#554e49}.field label,.field legend{font-size:10px}.field input:not([type=radio]),.field textarea{font-size:16px;font-weight:400}.form-note{font-size:11px}
@media(max-width:520px){body{font-size:15px}.eyebrow,.kicker{font-size:10px;letter-spacing:.2em}.hero h1{font-size:74px}.invitation-line{padding:0 20px;font-size:17px}.story-copy>p:not(.kicker){font-size:15px;line-height:1.85}.story-copy h2,.section-heading h2,.dress-copy h2,.rsvp-intro h2{font-size:43px}.venue-card h3{font-size:34px}.parents-grid strong{font-size:20px}.names,.role-pair p{font-size:18px}.countdown-section h2{font-size:29px}}

/* Photo-led palette and responsive image treatment. Original photos are never filtered. */
:root{--ivory:#f4efe6;--paper:#fbf8f1;--burgundy:#741d36;--wine:#471827;--champagne:#b99a62;--olive:#405b3c;--pink:#d7a3a3;--ink:#292622;--muted:#655f58}
.hero{background:linear-gradient(135deg,#fbf8f1 0%,#efe5d7 100%);place-items:stretch}
.hero:before{z-index:3;border-color:rgba(116,29,54,.34)}
.hero-photo{position:absolute;z-index:0;top:0;right:0;width:61%;height:100%;overflow:hidden;background:#284a36;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 12%,#000 35%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 12%,#000 35%)}
.hero-photo:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(120deg,rgba(64,91,60,.17),transparent 48%,rgba(116,29,54,.08));mix-blend-mode:color}
.hero-photo:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(244,239,230,.34),transparent 31%),linear-gradient(0deg,rgba(20,42,29,.28),transparent 48%)}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 72%}
.hero-content{width:55%;margin:0;padding-left:clamp(45px,8vw,130px);padding-right:clamp(28px,5vw,70px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.hero h1{font-size:clamp(68px,9vw,132px);line-height:.74}.hero h1 span{display:block}.hero h1 em{position:absolute;margin:.05em 0 0 .55em;font-size:.62em}
.invitation-line{max-width:490px}.date-lockup{width:min(440px,100%);margin:28px 0 8px;text-align:center}.hero-time{text-align:center;width:min(440px,100%)}
.scroll-cue{left:27.5%}.hero-botanical{opacity:.14}.botanical-right{display:none}
.nav{padding:11px 16px;background:rgba(251,248,241,.86);border:1px solid rgba(116,29,54,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.photo-frame{background:#d7d9cf;box-shadow:22px 24px 0 rgba(64,91,60,.11),0 24px 60px rgba(41,38,34,.12)}.photo-frame:after{content:"";position:absolute;inset:13px;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgba(23,55,40,.18));box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}.photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 68%}
.gallery-grid {
  max-width: 920px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
}

.gallery-photo {
  margin: 0;
  aspect-ratio: 4 / 5;
  background: #294a35;
}

.gallery-grid .gallery-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
}

.gallery-grid .gallery-photo:nth-child(2) img {
  object-position: center 52%;
}

.gallery-grid .gallery-photo--garden img {
  object-position: center bottom;
}

.guest-reservation {
  padding: .65rem 1rem;
  background: var(--paper);
  color: var(--wine);
  border-left: 2px solid var(--champagne);
  line-height: 1.4;
}

.guest-reservation strong {
  display: block;
  overflow-wrap: anywhere;
}

.admin-panel {
  width: min(100% - 2rem, 34rem);
  margin: clamp(2rem, 10vh, 6rem) auto;
  padding: clamp(1.5rem, 5vw, 3rem);
  background: var(--paper);
  border: 1px solid var(--champagne);
}

.admin-panel h1 {
  margin: 0 0 1.5rem;
  color: var(--wine);
  font: 500 clamp(2rem, 8vw, 3rem)/1.05 var(--serif);
}

.admin-panel .field {
  margin: 1rem 0;
}

.admin-panel button {
  margin-bottom: .5rem;
}

.admin-panel a {
  color: var(--wine);
}
.gallery-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(64,91,60,.05),rgba(23,55,40,.16));box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);pointer-events:none}.gallery-photo:before{z-index:2}
.asset-note{margin-top:28px;color:var(--burgundy);font-size:17px}
.countdown-section,.entourage{background:linear-gradient(145deg,#173728,#294d37)}.burgundy-card{background:linear-gradient(145deg,#62182f,#7a243e)}
footer{background:linear-gradient(145deg,#37101d,#55182b)}
@media(max-width:820px){.hero{place-items:center}.hero-photo{width:100%;-webkit-mask-image:none;mask-image:none}.hero-photo:after{background:linear-gradient(90deg,rgba(244,239,230,.94),rgba(244,239,230,.72) 58%,rgba(244,239,230,.45)),linear-gradient(0deg,rgba(244,239,230,.55),transparent 55%)}.hero-content{width:100%;padding:135px 34px 85px;align-items:flex-start}.hero h1{font-size:clamp(68px,17vw,106px)}.date-lockup{max-width:440px}.scroll-cue{left:50%}.nav{left:22px;right:22px}.photo-frame img{object-position:center 68%}}
@media(max-width:520px){.hero-photo img{object-position:61% 68%}.hero-photo:after{background:linear-gradient(90deg,rgba(244,239,230,.94),rgba(244,239,230,.72)),linear-gradient(0deg,rgba(244,239,230,.48),transparent)}.hero-content{padding:130px 25px 75px;align-items:center;text-align:center}.hero h1{font-size:76px}.hero h1 em{position:static;margin:-.12em 0}.date-lockup{margin-left:auto;margin-right:auto}.hero-time{width:100%}.gallery-photo:nth-child(1) img{object-position:center 73%}.gallery-photo:nth-child(2) img{object-position:center 78%}.gallery-photo:nth-child(3) img{object-position:center 70%}.gallery-photo:nth-child(4) img{object-position:center bottom}}
@media (max-width: 520px) {
  .gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.background-audio{display:none}
.welcome-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:#183528;overflow:hidden;transition:opacity .75s ease,visibility .75s ease}.welcome-gate.dismissed{opacity:0;visibility:hidden}.welcome-gate-photo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,43,31,.3),rgba(16,43,31,.78)),url('assets/garden-walk.jpg') center 70%/cover no-repeat;filter:saturate(.82)}.welcome-gate:before{content:"";position:absolute;z-index:1;inset:18px;border:1px solid rgba(244,239,230,.5);pointer-events:none}.welcome-gate-card{position:relative;z-index:2;width:min(510px,90vw);padding:58px 36px;text-align:center;color:var(--ivory);background:rgba(20,48,35,.72);border:1px solid rgba(244,239,230,.35);box-shadow:0 26px 80px rgba(0,0,0,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.welcome-gate-card .kicker{color:#d8bd89}.gate-monogram{margin:12px 0;color:#fff;font:500 clamp(60px,10vw,96px)/1 var(--serif);letter-spacing:.04em}.gate-monogram i{color:#d8bd89;font-family:var(--script);font-weight:400}.welcome-gate-card h2{margin:8px 0;color:#fff;font:500 clamp(34px,6vw,54px)/1.05 var(--serif)}.welcome-gate-card>p:not(.kicker){margin:14px 0 30px;color:#eee7dc;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.welcome-gate-card button{min-width:230px;padding:15px 24px;border:1px solid #d8bd89;background:#f4efe6;color:var(--burgundy);cursor:pointer;font:600 11px var(--sans);letter-spacing:.15em;text-transform:uppercase;transition:transform .25s,background .25s}.welcome-gate-card button:hover{transform:translateY(-2px);background:#fff}.welcome-gate-card button span{display:block;margin-top:4px;color:var(--olive);font-size:8px;letter-spacing:.12em}
@media(max-width:520px){.welcome-gate{padding:18px}.welcome-gate:before{inset:9px}.welcome-gate-card{padding:44px 22px}.welcome-gate-photo{background-position:60% 68%}}
