@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500;1,600&display=swap');

:root {
  --gold:  #7a1a2a;
  --goldl: #9e2a3a;
  --rose:  #5c0f1c;
  --dark:  #0d0608;
  --text:  #2a1018;
  --bdr:   #c0a0a8;
  --cream: #ffffff;
  --wine:  #6b1020;
  --wine-light: #a03040;
  --wine-pale:  #f5eaed;
  --black: #0d0608;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Cormorant Garamond', serif;
  background:#f5e6e8;
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ══════════════════════════════════════════════════
   ENVELOPE SCREEN — Realistic burgundy envelope
══════════════════════════════════════════════════ */
#env-screen {
  position:fixed;
  inset:0;
  z-index:900;
  overflow:hidden;
  background:#1a0008;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity 1.5s ease, visibility 1.5s ease;
  cursor:pointer;
}
#env-screen.fadeout {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

#env-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  display:block;
}

.seal-flash {
  position:absolute;
  inset:0;
  z-index:25;
  pointer-events:none;
  opacity:0;
}
.seal-flash.burst {
  animation:flashBurst 1.5s ease-out forwards;
}
@keyframes flashBurst {
  0%   { opacity:0; background:white; }
  20%  { opacity:1; background:white; }
  100% { opacity:0; background:white; }
}

.tap-hint {
  position:absolute;
  bottom:8%;
  left:50%;
  transform:translateX(-50%);
  z-index:18;
  pointer-events:none;
  text-align:center;
  white-space:nowrap;
  transition:opacity 0.5s;
}
.tap-hint p {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(0.80rem,2.3vw,1.02rem);
  color:rgba(255,205,185,0.75);
  letter-spacing:3px;
  animation:hintBreath 2.8s ease-in-out infinite;
}
@keyframes hintBreath { 0%,100%{opacity:0.38;} 50%{opacity:0.90;} }
.tap-hint.gone {
  opacity:0;
  pointer-events:none;
}


/* ══════════════════════════════════════════════════
   MAIN SITE
══════════════════════════════════════════════════ */
#main-site { opacity:0; transition:opacity 1.8s ease; background:#f5e6e8;}
#main-site.visible { opacity:1; }

.music-btn { position:fixed;bottom:24px;right:24px;z-index:300;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,0.96);border:1px solid var(--wine);box-shadow:0 4px 20px rgba(107,16,32,0.15);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;color:var(--wine);backdrop-filter:blur(8px);transition:transform 0.2s; }
.music-btn:hover { transform:scale(1.08); }
.music-btn.playing { background:var(--wine); color:#fff; }
#confetti-canvas { position:fixed;inset:0;pointer-events:none;z-index:500; }

nav {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  padding:15px 36px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:transparent;
  border-bottom:none;
  transition: background 0.4s ease;
}.nav-logo { font-family:'Great Vibes',cursive;font-size:1.9rem;color:var(--wine); }
.nav-links { display:flex;gap:26px;list-style:none; }
.nav-links a { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.95rem;letter-spacing:1px;color:var(--text);text-decoration:none;transition:color .2s; }
.nav-links a:hover { color:var(--wine); }
@media(max-width:580px){ .nav-links{display:none;} }

.hero { position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 60px;overflow:hidden; }
.hero-video { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0; }
.hero-overlay { position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,0,2,0.72) 0%,rgba(10,0,4,0.38) 50%,rgba(5,0,2,0.80) 100%); }
.hero-content { position:relative;z-index:2; }

.hero-content > * { opacity:0; animation:heroItemReveal 0.9s ease forwards; }
.hero-content .hero-monogram    { animation-delay:5.0s; }
.hero-content .hero-eyebrow     { animation-delay:5.5s; }
.hero-content .hero-name-1      { animation-delay:6.1s; }
.hero-content .hero-amp         { animation-delay:6.6s; }
.hero-content .hero-name-2      { animation-delay:7.0s; }
.hero-content .hero-date        { animation-delay:7.5s; }
.hero-content .hero-loc         { animation-delay:7.9s; }
.hero-content .couple-imgs      { animation-delay:8.4s; }
.hero-content .hero-cta         { animation-delay:8.9s; }
@keyframes heroItemReveal { from{opacity:0;transform:translateY(16px);} to{opacity:1;transform:translateY(0);} }

.hero-monogram { width:112px;height:112px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#8e1a28,#3e0812);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(160,50,70,0.5),0 0 0 7px rgba(107,16,32,0.10),0 12px 44px rgba(0,0,0,0.6);margin:0 auto 26px; }
.hero-monogram span { font-family:'Great Vibes',cursive;font-size:2.4rem;color:rgba(255,245,248,0.96); }
.hero-eyebrow { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.96rem;letter-spacing:3px;color:rgba(220,160,170,0.85);margin-bottom:12px; }
.hero-names { font-family:'Great Vibes',cursive;font-size:clamp(3rem,10vw,6.2rem);color:#fff;line-height:1.1;text-shadow:0 4px 30px rgba(0,0,0,0.55); }
.hero-amp { font-family:'Great Vibes',cursive;font-size:clamp(1.5rem,4vw,2.6rem);color:rgba(220,140,155,0.90);display:block;margin:2px 0; }
.hero-date { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.96rem;letter-spacing:4px;color:rgba(220,160,170,0.80);margin:13px 0 6px; }
.hero-loc { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.96rem;color:rgba(255,255,255,0.60);margin-bottom:34px; }
.couple-imgs { display:flex;gap:18px;justify-content:center;align-items:flex-end;margin-bottom:34px; }
.c-frame { width:126px;height:162px;border-radius:50% 50% 48% 48%/60% 60% 40% 40%;overflow:hidden;border:1px solid rgba(184,136,40,0.52);box-shadow:0 14px 46px rgba(0,0,0,0.5); }
.c-frame img { width:100%;height:100%;object-fit:cover; }
.c-div { font-family:'Great Vibes',cursive;font-size:1.9rem;color:var(--goldl);align-self:center;margin-bottom:12px;opacity:0.72; }
@media(max-width:460px){ .c-frame{width:98px;height:128px;} }
.hero-cta { display:flex;gap:13px;justify-content:center;flex-wrap:wrap; }
.btn-g { display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--wine);color:#fff;border:none;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;letter-spacing:2px;cursor:pointer;box-shadow:0 6px 22px rgba(107,16,32,0.35);transition:all .24s;text-decoration:none; }
.btn-g:hover { transform:translateY(-2px);box-shadow:0 10px 30px rgba(107,16,32,0.50);background:var(--wine-light); }
.btn-ol { display:inline-flex;align-items:center;gap:8px;padding:11px 26px;background:transparent;color:rgba(255,255,255,0.90);border:1px solid rgba(255,255,255,0.45);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;letter-spacing:2px;cursor:pointer;transition:all .24s; }
.btn-ol:hover { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.80); }
.btn-r { display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:transparent;border:1px solid var(--wine);color:var(--wine);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.98rem;letter-spacing:1px;cursor:pointer;transition:all .2s;text-decoration:none; }
.btn-r:hover { background:var(--wine);color:#fff; }

.sect { padding:84px 24px;text-align:center; }
.slbl { font-family:'Great Vibes',cursive;font-size:2rem;color:var(--wine);margin-bottom:6px;text-shadow:0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff; }
.stitle { font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(1.9rem,5vw,2.9rem);color:var(--dark);margin-bottom:42px;text-shadow:0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff; }
.ssub { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--text);line-height:1.9;text-shadow:0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff; }
.prog-bg .slbl {
  font-size:3rem;
  font-weight:700;
}

.prog-bg .stitle {
  font-size:4rem;
  font-weight:700;
}

.prog-bg .ssub {
  font-size:1.3rem;
  font-weight:600;
}
.od { width:4px;height:4px;border-radius:50%;background:var(--wine); }
.odm { width:6px;height:6px;border-radius:50%;background:var(--wine); }
.sep2 { display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0; }
.sep2-ln { flex:1;max-width:180px;height:1px;background:linear-gradient(90deg,transparent,rgba(107,16,32,0.25),transparent); }
.sep2-d { width:3px;height:3px;border-radius:50%;background:var(--wine);opacity:0.45; }
.sep2-d.b { width:5px;height:5px;opacity:0.65; }

.cd-bg { background:#f5e6e8; }
.cd-grid { display:flex;justify-content:center;gap:clamp(18px,5vw,52px);flex-wrap:wrap; }
.cd-box { display:flex;flex-direction:column;align-items:center; }
.cd-num { font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,9vw,5.2rem);font-weight:300;color:var(--wine);line-height:1; }
.cd-lbl { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.88rem;letter-spacing:2px;color:var(--dark);margin-top:5px; }

.story-bg { background:#f5e6e8;padding:84px 24px; }
.story-intro { font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(1.1rem,2.4vw,1.3rem);line-height:2.1;color:var(--text);max-width:570px;margin:0 auto 68px;text-align:center; }
.story-tl { max-width:710px;margin:0 auto;position:relative; }
.story-tl::before { content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(107,16,32,0.25) 12%,rgba(107,16,32,0.25) 88%,transparent);transform:translateX(-50%); }
@media(max-width:600px){ .story-tl::before{left:14px;} }
.si { display:flex;margin-bottom:68px;position:relative;align-items:flex-start; }
.si:nth-child(even) { flex-direction:row-reverse; }
.si-img { width:176px;height:220px;min-width:176px;border-radius:50% 50% 46% 46%/58% 58% 42% 42%;overflow:hidden;border:1px solid rgba(107,16,32,0.28);box-shadow:0 10px 38px rgba(20,0,8,0.18);margin:0 30px; }
.si-img img { width:100%;height:100%;object-fit:cover; }
.si-ph { width:100%;height:100%;background:linear-gradient(145deg,#f8e8ec,#f0d0d8);display:flex;align-items:center;justify-content:center; }
.si-dot { position:absolute;left:50%;top:24px;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--wine);box-shadow:0 0 0 4px rgba(107,16,32,0.12);transform:translateX(-50%);z-index:2; }
@media(max-width:600px){ .si-dot{left:14px;} .si,.si:nth-child(even){flex-direction:column;padding-left:42px;} .si-img{width:138px;min-width:138px;height:172px;margin:0 0 16px;} }
.si-c { flex:1;padding-top:4px;text-align:left; }
.si:nth-child(even) .si-c { text-align:right; }
@media(max-width:600px){ .si:nth-child(even) .si-c{text-align:left;} }
.si-yr { font-family:'Great Vibes',cursive;font-size:2.7rem;color:var(--wine);line-height:1; }
.si-ch { font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.5rem;color:var(--dark);margin:5px 0 11px; }
.si-tx { font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(1.05rem,2vw,1.16rem);line-height:2.08;color:var(--text); }

/* ══════════════════════════════════════════════════
   PROGRAMME — dark wine background
══════════════════════════════════════════════════ */
.prog-bg {
  background: url('images/prog-bg.jpg') center center / cover no-repeat;
  position: relative;
}
.prog-bg .slbl,
.prog-bg .stitle,
.prog-bg .ssub {
  color: #3e0812;
  background: none;
  padding: 4px 18px;
  display: block;
  position: relative;
  z-index: 2;
  text-shadow: 
    0px 0px 8px rgba(255,255,255,1),
    0px 0px 8px rgba(255,255,255,1),
    0px 0px 8px rgba(255,255,255,1);
}

.programme-card-wrap { display:flex;justify-content:center;align-items:center;padding:20px 24px 60px; }

.programme-card {
  position:relative;
  width:min(400px,90vw);
  background:#fff;
  padding:52px 44px 48px;
  text-align:center;
  border:none;
  box-shadow: none;
}



.programme-card-inner { position:relative; z-index:1; }

.prog-bow { display:flex;justify-content:center;margin-bottom:20px; }
.prog-bow svg { width:90px;height:50px;stroke:var(--wine);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }

.prog-title-script { font-family:'Great Vibes',cursive;font-size:2.6rem;color:var(--dark);line-height:1.1;margin-bottom:6px; }
.prog-title-serif { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.78rem;letter-spacing:5px;color:rgba(107,16,32,0.50);text-transform:uppercase;margin-bottom:28px; }

.prog-divider { display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0; }
.prog-divider::before,.prog-divider::after { content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(107,16,32,0.25),transparent); }
.prog-divider-dot { width:4px;height:4px;border-radius:50%;background:var(--wine);opacity:0.5; }

.prog-entry { margin-bottom:20px; }
.prog-entry-time { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.76rem;letter-spacing:3px;color:rgba(107,16,32,0.55);text-transform:uppercase;margin-bottom:3px; }
.prog-entry-title { font-family:'Great Vibes',cursive;font-size:1.9rem;color:var(--dark);line-height:1.1;margin-bottom:2px; }
.prog-entry-sub { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.88rem;color:rgba(107,16,32,0.65);letter-spacing:1px; }

.prog-illustration { margin-top:24px;display:flex;justify-content:center; }
.prog-illustration svg { width:160px;height:auto;stroke:rgba(107,16,32,0.35);fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round; }

/* ══════════════════════════════════════════════════
   VENUE — dark wine background
══════════════════════════════════════════════════ */
.venue-bg {
  background: url('images/venue-bg.jpg') center center / cover no-repeat;
}

.venue-bg .slbl {
  font-size:3rem;
  font-weight:700;
  color:#3e0812;
}

.venue-bg .stitle {
  font-size:3.5rem;
  font-weight:500;
  color:#3e0812;
}

.venue-bg .v-name {
  font-size:2.5rem;
  font-weight:500;
  color:#3e0812;
}

.venue-bg .v-det {
  font-size:1.3rem;
  font-weight:500;
  color:#3e0812;
}
.dc-bg .slbl,
.dc-bg .stitle,
.dc-bg .dc-ti,
.dc-bg .dc-su,
.dc-bg .dc-no { color:#fff; }

.v-card {
  max-width:400px;
  margin:0 auto;
  background:none;
  border:none;
  padding:50px 42px;
  box-shadow:none;
  position:relative; 
  text-align:center;
}
.v-name { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.8rem;color:var(--dark);margin-bottom:7px; }
.v-det { font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text);line-height:1.9;margin-bottom:22px; }
.v-btns { display:flex;gap:11px;justify-content:center;flex-wrap:wrap;background:var(--wine); }

/* ══════════════════════════════════════════════════
   DRESS CODE — dark wine background
══════════════════════════════════════════════════ */
.dc-bg {
  background: url('images/dresscode-bg.jpg') center center / 100% auto no-repeat;
  background-size: 100% 900px;
  position: relative;
}

.dc-bg .slbl,
.dc-bg .stitle { color:#fff; }
.dc-bg .slbl,
.dc-bg .stitle,
.dc-bg .dc-ti,
.dc-bg .dc-su,
.dc-bg .dc-no { color:#110101; }

.dc-card {
  max-width:450px;
  margin:0 auto;
  background:transparent;
  border:none;
  padding:50px 42px;
  text-align:center;
}
.dc-ti { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:2.1rem;color:var(--white);margin-bottom:9px; }
.dc-su { font-family:'Great Vibes',cursive;font-size:1.95rem;color:var(--wine);margin-bottom:14px; }
.dc-no { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--text);line-height:1.85; }

/* ── GIFTS ── */
.gft-bg { background:#f5e6e8;padding:84px 24px;text-align:center; }

/* ── RSVP ── */

.rsvp-bg {
  background: url('images/RSVP.jpg') center top / cover no-repeat;
  background-color: #f5e6e8;
  padding:84px 24px;
  text-align:center;
  position:relative;
}

@media(max-width:768px){
  .rsvp-bg {
    background: url('images/RSVP.jpg') center top / 100% auto no-repeat;
    background-color: #f5e6e8;
    background-attachment: scroll;
    padding-top: 40px;
  }

  .rsvp-frm {
    margin-top: 20px;
  }
}
.rsvp-bg .slbl,
.rsvp-bg .stitle,
.rsvp-bg .ssub {
  position: relative;
  z-index: 2;
  background: transparent;
  padding: 4px 16px;
  display: block;
}
.rsvp-bg .slbl {
  font-size:3rem;
  font-weight:700;
}

.rsvp-bg .stitle {
  font-size:4rem;
  font-weight:700;
}

.rsvp-bg .ssub {
  font-size:1.3rem;
  font-weight:600;
}
.rsvp-frm { max-width:470px;margin:0 auto;background: rgba(245,230,232,0.88);;border:1px solid rgba(107,16,32,0.18);padding:42px 34px;box-shadow:0 12px 48px rgba(20,0,8,0.07);position:relative; }
.rsvp-frm::before,.rsvp-frm::after { content:'';position:absolute;width:20px;height:20px;border-color:rgba(107,16,32,0.22);border-style:solid; }
.rsvp-frm::before { top:9px;left:9px;border-width:1px 0 0 1px; }
.rsvp-frm::after { bottom:9px;right:9px;border-width:0 1px 1px 0; }
.fg { margin-bottom:20px;text-align:left; }
.fg label { display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.9rem;letter-spacing:2px;color:var(--text);margin-bottom:7px; }
.fg input,.fg textarea { width:100%;padding:12px 15px;border:1px solid rgba(107,16,32,0.20);font-family:'Cormorant Garamond',serif;font-size:0.98rem;color:var(--dark);background:#fff;outline:none;transition:border-color 0.2s; }
.fg input:focus,.fg textarea:focus { border-color:var(--wine);background:#fff; }
.rg { display:flex;gap:12px; }
.ro { flex:1;border:1px solid rgba(107,16,32,0.20);padding:13px;cursor:pointer;transition:all 0.2s;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.98rem;color:var(--text); }
.ro.sel { border-color:var(--wine);background:rgba(107,16,32,0.05);color:var(--wine); }
.sub-btn { width:100%;padding:15px;background:var(--wine);color:#fff;border:none;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.02rem;letter-spacing:2px;cursor:pointer;box-shadow:0 5px 18px rgba(107,16,32,0.30);transition:all 0.2s;margin-top:9px; }
.sub-btn:hover { transform:translateY(-2px);box-shadow:0 9px 26px rgba(107,16,32,0.42);background:var(--wine-light); }
.ok-msg { display:none;border:1px solid rgba(107,16,32,0.22);padding:17px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.02rem;color:var(--dark);margin-top:14px;background:rgba(107,16,32,0.03);text-align:center; }

.scroll-nudge { display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 0 8px;pointer-events:none; }
.scroll-nudge-txt { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.78rem;letter-spacing:4px;text-transform:uppercase;color:rgba(107,16,32,0.50);animation:nudgeFade 2.4s ease-in-out infinite; }
.scroll-nudge-chevron { display:flex;flex-direction:column;align-items:center;gap:2px;animation:nudgeBounce 2.4s ease-in-out infinite; }
.scroll-nudge-chevron span { display:block;width:18px;height:9px;border-right:1.5px solid rgba(107,16,32,0.40);border-bottom:1.5px solid rgba(107,16,32,0.40);transform:rotate(45deg);margin-top:-5px; }
.scroll-nudge-chevron span:nth-child(2) { opacity:0.5; }
.scroll-nudge-chevron span:nth-child(3) { opacity:0.25; }
@keyframes nudgeFade  { 0%,100%{opacity:0.45;} 50%{opacity:0.85;} }
@keyframes nudgeBounce { 0%,100%{transform:translateY(0);} 50%{transform:translateY(5px);} }

.story-banner {
  width:100%;
  padding:20px 0;
  text-align:center;
  background:transparent;
}
.story-banner img {
  width:200px;
  height:200px;
  object-fit:contain;
  display:block;
  margin:0 auto;
}
.story-banner img {
  width:150px;
  height:150px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  mix-blend-mode:multiply;
  opacity:0.85;
}
.story-banner::before,.story-banner::after { content:'';position:absolute;left:0;right:0;height:1px;pointer-events:none;z-index:1; }
.story-banner::before,
.story-banner::after { 
  display: none;
}

footer { background:var(--dark);text-align:center;padding:52px 24px; }
.ft-names { font-family:'Great Vibes',cursive;font-size:3rem;color:rgba(220,160,170,0.90);display:block;margin-bottom:10px; }
.ft-dt { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.88rem;letter-spacing:3px;color:rgba(255,255,255,0.35); }
.ft-lc { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.88rem;color:rgba(255,255,255,0.25);margin-top:3px; }

.rev { opacity:0;transform:translateY(26px);transition:opacity 0.72s ease,transform 0.72s ease; }
.rev.on { opacity:1;transform:translateY(0); }

.separator-img {
  text-align:center;
  padding:10px 0;
  background:transparent;
}
.separator-img img {
  width:120px;
  height:120px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  mix-blend-mode:multiply;
  opacity:0.85;
}

.intro-bg {
  background:#f5e6e8;
  padding:84px 0;
  text-align:center;
  overflow:hidden;
}

.intro-bg .slbl,
.intro-bg .stitle {
  padding:0 24px;
}

.intro-scroll {
  display:flex;
  flex-direction:row;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:20px 40px 30px;
  scrollbar-width:none;
}

.intro-scroll::-webkit-scrollbar {
  display:none;
}

.intro-card {
  flex-shrink:0;
  scroll-snap-align:center;
  width:220px;
}

.intro-img-wrap {
  width:220px;
  height:280px;
  border-radius:50% 50% 48% 48%/60% 60% 40% 40%;
  overflow:hidden;
  border:2px solid rgba(107,16,32,0.30);
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
}

.intro-img-wrap img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:768px){
  .hero {
    min-height:100svh;
    padding:60px 16px 40px;
  }

  .hero-video {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    min-width:100vw;
    min-height:100vh;
    width:auto;
    height:auto;
    object-fit:cover;
    z-index:0;
  }

  .hero-overlay {
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,
      rgba(5,0,2,0.80) 0%,
      rgba(10,0,4,0.50) 50%,
      rgba(5,0,2,0.85) 100%);
  }

  .hero-content {
    position:relative;
    z-index:3;
    width:100%;
  }

  .hero-names {
    font-size:clamp(2rem,9vw,3.5rem);
  }
}
.contacts-bg { background:#f5e6e8; padding:84px 24px; text-align:center; }

.contacts-grid {
  display:flex;
  gap:24px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:20px;
}

.contact-card {
  background:#fff;
  border:1px solid rgba(107,16,32,0.18);
  border-radius:12px;
  padding:32px 40px;
  text-align:center;
  box-shadow:0 4px 20px rgba(107,16,32,0.08);
  min-width:180px;
}

.contact-icon {
  font-size:2rem;
  margin-bottom:10px;
}

.contact-label {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--wine);
  margin-bottom:8px;
  letter-spacing:2px;
}

.contact-number {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  color:var(--dark);
  text-decoration:none;
  font-weight:500;
  display:block;
}

.contact-number:hover {
  color:var(--wine);
}
