:root{--wine:#681a27;--wine2:#8d2b3d;--deep:#25080e;--gold:#d3ad58;--gold2:#f6dfa0;--ivory:#fffaf1;--cream:#f5e9da;--ink:#392723;--muted:#74645e;--shadow:0 28px 75px rgba(51,12,20,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.container{width:min(1160px,calc(100% - 36px));margin:auto}.section{padding:105px 0}.eyebrow{margin:0 0 14px;color:var(--gold);font-family:Cinzel,serif;font-size:.72rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase}.eyebrow.light{color:var(--gold2)}.section-heading{text-align:center;max-width:720px;margin:0 auto 45px}.section-heading h2,.story-copy h2{margin:0;color:var(--wine);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(3rem,7vw,5.5rem);line-height:.96;font-weight:600}.section-heading>p:last-child{color:var(--muted);line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:0;border-radius:999px;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.button:hover{transform:translateY(-3px)}.button-primary{color:#fff;background:linear-gradient(135deg,var(--wine),var(--wine2));box-shadow:0 14px 30px rgba(104,26,39,.24)}.button-ivory{color:var(--wine);background:rgba(255,255,255,.9);border:1px solid rgba(104,26,39,.14);box-shadow:0 12px 26px rgba(60,20,20,.1)}
.opening{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:#c59525;contain:layout paint style;touch-action:manipulation;transition:opacity .48s ease,visibility .48s ease}.opening.is-open{opacity:0;visibility:hidden}.door{position:absolute;inset-block:0;width:50%;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent),repeating-linear-gradient(90deg,rgba(72,43,0,.06) 0 3px,transparent 3px 28px),linear-gradient(#e4bf50,#bf8612);transition:transform .88s cubic-bezier(.4,0,.2,1);will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}.door-left{left:0}.door-right{right:0}.opening.is-opening .door-left{transform:translate3d(-102%,0,0)}.opening.is-opening .door-right{transform:translate3d(102%,0,0)}.door-art{position:absolute;inset:4%;border:2px solid rgba(255,255,255,.28);background:radial-gradient(circle at 50% 22%,transparent 0 13%,rgba(255,255,255,.08) 13.5% 14%,transparent 14.5%),repeating-linear-gradient(135deg,transparent 0 32px,rgba(255,255,255,.05) 33px 36px)}.opening-center{position:relative;z-index:2;text-align:center;color:#fff9df;padding:25px;transform:translateZ(0)}.opening-kicker{font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase}.wax-seal{width:142px;height:142px;border:6px double var(--gold2);border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 25%,#a84657,#681623 68%,#360810);box-shadow:0 18px 45px rgba(67,26,0,.35);cursor:pointer;font-family:Cinzel,serif;font-size:1.45rem;font-weight:600}.wax-seal i{margin:0 5px;font-family:Georgia,serif;font-weight:400}.opening-center h1{margin:20px 0 4px;font-family:Parisienne,"Brush Script MT",cursive;font-size:clamp(3.1rem,10vw,6.6rem);font-weight:400;text-shadow:0 8px 22px rgba(50,25,0,.2)}.opening-center h1 small{font-size:.45em}.tap-open{border:0;border-radius:999px;padding:11px 18px;color:#fff9df;background:rgba(47,17,9,.36);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.floating-button{position:fixed;right:18px;top:max(18px,env(safe-area-inset-top));z-index:30;width:48px;height:48px;border-radius:50%;border:1px solid rgba(211,173,88,.45);color:var(--wine);background:rgba(255,255,255,.93);box-shadow:0 12px 28px rgba(62,17,25,.14);cursor:pointer}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(rgba(255,250,241,.1),rgba(255,250,241,.9)),radial-gradient(circle at 50% 20%,#fff 0 17%,transparent 57%),linear-gradient(135deg,#f2d8ce,#fff7e9 48%,#ead7ae)}.hero-content{position:relative;z-index:3;text-align:center;padding:95px 20px 80px}.monogram{width:92px;height:92px;display:grid;place-items:center;margin:0 auto 25px;border:1px solid rgba(211,173,88,.75);border-radius:50%;color:var(--wine);background:rgba(255,255,255,.76);font-family:Cinzel,serif;font-size:1.45rem}.monogram span{color:var(--gold);margin:0 4px}.invitation-line{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-style:italic}.couple-names{display:flex;flex-direction:column;align-items:center;margin:22px 0 28px;color:var(--wine);font-family:Parisienne,"Brush Script MT",cursive;font-size:clamp(4.7rem,13vw,9.5rem);font-weight:400;line-height:.78;text-shadow:0 8px 22px rgba(104,26,39,.07)}.couple-names b{margin:.23em 0;color:var(--gold);font-family:"Cormorant Garamond",Georgia,serif;font-size:.3em;font-weight:500}.wedding-date{font-family:Cinzel,serif;font-size:clamp(1.05rem,3vw,1.55rem);letter-spacing:.18em;text-transform:uppercase}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.botanical{position:absolute;top:-20px;width:360px;height:530px;opacity:.68;background:radial-gradient(ellipse at 22% 20%,#2e5d48 0 7%,transparent 8%),radial-gradient(ellipse at 58% 25%,#4d8063 0 8%,transparent 9%),radial-gradient(ellipse at 81% 47%,#315e48 0 7%,transparent 8%),radial-gradient(circle at 55% 58%,#dca33a 0 4%,transparent 5%);transform:rotate(-16deg)}.botanical-left{left:-135px}.botanical-right{right:-135px;transform:scaleX(-1) rotate(-16deg)}.scroll-cue{position:absolute;left:50%;bottom:28px;z-index:3;width:27px;height:43px;border:1px solid rgba(104,26,39,.35);border-radius:999px;transform:translateX(-50%)}.scroll-cue span{position:absolute;left:50%;top:9px;width:4px;height:7px;border-radius:5px;background:var(--wine);transform:translateX(-50%);animation:scrollDot 1.8s infinite}@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,15px)}}
.countdown-wrap{position:relative;z-index:5;margin-top:-48px}.countdown-card{width:min(900px,calc(100% - 28px));margin:auto;padding:28px;border-radius:28px;color:#fff;text-align:center;background:linear-gradient(135deg,var(--deep),var(--wine));box-shadow:var(--shadow)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.countdown div{padding:15px 8px;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:rgba(255,255,255,.055)}.countdown strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:2.55rem}.countdown span{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7}.story-section{background:linear-gradient(180deg,var(--ivory),#fff)}.story-card{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;padding:28px;border:1px solid rgba(104,26,39,.08);border-radius:30px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.framed-photo{position:relative;min-height:540px;overflow:hidden;border-radius:23px;background:#eee}.framed-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.framed-photo:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.7);border-radius:17px}.story-copy{padding:25px 20px}.story-copy>p:not(.eyebrow){color:var(--muted);line-height:1.9}.story-copy blockquote{margin:28px 0;color:var(--wine);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;font-style:italic}.gold-divider{display:flex;align-items:center;color:var(--gold)}.gold-divider:before,.gold-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}.gold-divider:after{background:linear-gradient(90deg,var(--gold),transparent)}.gold-divider span{margin:0 12px}.events-section{background:linear-gradient(180deg,#fffaf1,#f3e5d4)}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.event-card{position:relative;overflow:hidden;padding:32px;border:1px solid rgba(104,26,39,.09);border-radius:27px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.event-icon{font-size:2.1rem;color:var(--gold)}.event-card h3{margin:10px 0;color:var(--wine);font-family:"Cormorant Garamond",Georgia,serif;font-size:2.35rem}.event-details{display:grid;gap:12px;margin:23px 0}.event-detail{display:grid;grid-template-columns:90px 1fr;gap:10px;line-height:1.55}.event-detail strong{color:var(--wine);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.event-actions{display:flex;gap:10px;flex-wrap:wrap}.mini-button{border:1px solid rgba(104,26,39,.14);border-radius:999px;padding:11px 16px;color:var(--wine);background:#fff;cursor:pointer;font-weight:600}.gallery-section{background:#fff}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:265px;gap:14px}.gallery-item{position:relative;overflow:hidden;padding:0;border:0;border-radius:19px;background:#eee;cursor:zoom-in;box-shadow:0 14px 31px rgba(55,12,20,.12)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-feature{grid-row:span 2}.family-section{padding-top:55px;background:#fff}.family-card{padding:55px 25px;border-radius:30px;color:#fff;text-align:center;background:linear-gradient(135deg,var(--deep),var(--wine));box-shadow:var(--shadow)}.family-card h2{margin:5px 0 30px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.7rem,6vw,4.7rem)}.team-row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.team-button{min-width:220px;padding:18px 25px;border:1px solid rgba(246,223,160,.5);border-radius:18px;color:#fff;background:rgba(255,255,255,.06);cursor:pointer;font-family:Cinzel,serif;font-size:1rem}.team-button small{display:block;margin-top:5px;color:var(--gold2);font-family:Montserrat,sans-serif;font-size:.67rem;letter-spacing:.15em;text-transform:uppercase}.team-button.selected{color:var(--deep);background:var(--gold2);transform:translateY(-3px)}.team-button.selected small{color:var(--wine)}.team-heart{color:var(--gold2);font-size:1.8rem}.team-message{margin-top:25px;opacity:.78}.rsvp-section{background:linear-gradient(135deg,#f2ddd6,#fff7e8)}.rsvp-card{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:810px;margin:auto;padding:35px;border:1px solid rgba(104,26,39,.09);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.rsvp-card label{display:flex;flex-direction:column;gap:8px}.rsvp-card label span{font-size:.76rem;font-weight:600}.rsvp-card input,.rsvp-card select,.rsvp-card textarea{width:100%;padding:14px;border:1px solid rgba(104,26,39,.15);border-radius:13px;color:var(--ink);background:#fff;outline:none}.rsvp-card input:focus,.rsvp-card select:focus,.rsvp-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(211,173,88,.14)}.field-wide{grid-column:1/-1}.form-note{margin:0;text-align:center;color:var(--muted);font-size:.73rem}footer{padding:65px 20px;color:#fff;text-align:center;background:var(--deep)}.footer-names{margin:0 0 8px;color:var(--gold2);font-family:Parisienne,"Brush Script MT",cursive;font-size:3.8rem}.lightbox{width:min(920px,94vw);max-width:none;padding:0;border:0;border-radius:20px;background:transparent}.lightbox::backdrop{background:rgba(20,4,8,.88)}.lightbox img{max-width:100%;max-height:86vh;margin:auto;border-radius:16px}.lightbox button{position:fixed;right:25px;top:20px;width:48px;height:48px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.13);font-size:2rem;cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;z-index:1200;max-width:calc(100% - 32px);padding:12px 18px;border-radius:999px;color:#fff;background:var(--deep);box-shadow:var(--shadow);opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}.petal{position:fixed;top:-35px;z-index:25;pointer-events:none;will-change:transform,opacity;animation:petalFall linear forwards}@keyframes petalFall{to{transform:translate3d(var(--drift),110vh,0) rotate(540deg);opacity:.15}}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:780px){.section{padding:75px 0}.botanical{opacity:.34}.story-card{grid-template-columns:1fr;padding:18px}.framed-photo{min-height:430px}.story-copy{padding:20px 10px}.event-grid,.rsvp-card{grid-template-columns:1fr}.field-wide{grid-column:auto}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:205px}.gallery-feature{grid-column:1/-1;grid-row:auto}.countdown{gap:6px}.countdown div{padding:13px 4px}.countdown strong{font-size:1.95rem}.event-detail{grid-template-columns:80px 1fr}.team-row{gap:10px}.team-heart{width:100%}.opening-center h1{line-height:.9}}
@media(max-width:430px){.container{width:min(100% - 24px,1160px)}.couple-names{font-size:4.55rem}.countdown-card{padding:22px 12px}.countdown span{font-size:.55rem}.gallery-grid{grid-auto-rows:180px}.rsvp-card{padding:23px}.wax-seal{width:126px;height:126px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.door,.opening,.reveal,.gallery-item img{transition-duration:.01ms!important}.petal,.scroll-cue{display:none}}

/* ── SCRATCH CARD ── */
.scratch-modal{width:min(400px,94vw);padding:0;border:0;border-radius:28px;background:transparent;overflow:visible}.scratch-modal::backdrop{background:rgba(20,4,8,.82);backdrop-filter:blur(4px)}.scratch-inner{position:relative;padding:32px 24px 28px;border-radius:28px;text-align:center;background:linear-gradient(145deg,var(--deep),var(--wine));box-shadow:0 32px 80px rgba(20,4,8,.5)}.scratch-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.13);font-size:1.4rem;cursor:pointer;line-height:1;z-index:10}.scratch-hint{margin:0 0 16px;color:var(--gold2);font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;opacity:.9}.scratch-wrap{position:relative;width:340px;height:340px;max-width:100%;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.35)}.scratch-reveal-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:18px}.scratch-canvas{position:absolute;inset:0;border-radius:18px;cursor:crosshair;touch-action:none}.scratch-caption{margin:18px 0 0;color:var(--gold2);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-style:italic;min-height:1.8em}.scratch-reveal-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(211,173,88,.5);border-radius:999px;padding:10px 18px;color:var(--wine);background:#fff;cursor:pointer;font-weight:600;font-size:.82rem;transition:transform .2s,box-shadow .2s}.scratch-reveal-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(104,26,39,.18)}

/* ── LOGO ── */
.monogram-logo{margin:0 auto 20px;display:flex;justify-content:center}
.monogram-logo img{width:min(380px,88vw);height:auto;filter:drop-shadow(0 4px 18px rgba(104,26,39,.18))}
.opening-logo{margin:12px auto 0;display:flex;justify-content:center}
.opening-logo img{width:min(300px,78vw);height:auto;filter:brightness(1.15) drop-shadow(0 4px 22px rgba(255,230,100,.22))}
.footer-logo{display:flex;justify-content:center;margin-bottom:12px}
.footer-logo img{width:min(260px,70vw);height:auto;filter:brightness(1.1) drop-shadow(0 2px 12px rgba(200,160,40,.3))}

/* ── EVENT SUBTITLE ── */
.event-subtitle{margin:0 0 18px;color:var(--muted);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.05rem;font-style:italic;line-height:1.6}

/* ── WAX SEAL HIDDEN (redundant on opening page) ── */
.wax-seal-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;overflow:hidden}

/* ── HERO INLINE COUNTDOWN ── */
.hero-countdown{margin:22px auto 0;text-align:center}
.hero-countdown-label{font-family:Cinzel,serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:.85;margin:0 0 12px}
.hero-countdown-boxes{display:inline-flex;align-items:center;gap:0;background:linear-gradient(135deg,var(--deep),var(--wine));border-radius:18px;padding:16px 28px;box-shadow:0 18px 50px rgba(51,12,20,.22)}
.hc-box{display:flex;flex-direction:column;align-items:center;min-width:54px}
.hc-box strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,6vw,2.8rem);color:var(--gold2);line-height:1;font-weight:600}
.hc-box span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:3px}
.hc-sep{font-family:"Cormorant Garamond",serif;font-size:2rem;color:rgba(232,192,64,.35);padding:0 6px;line-height:1;align-self:flex-start;margin-top:4px}
@media(max-width:430px){.hero-countdown-boxes{padding:14px 16px}.hc-box{min-width:44px}.hc-box strong{font-size:1.7rem}.hc-sep{font-size:1.5rem;padding:0 3px}}

/* ── WAX SEAL — centred on opening screen ── */
.opening-center{display:flex;flex-direction:column;align-items:center;justify-content:center}
.wax-seal{display:flex;align-items:center;justify-content:center;margin:0 auto}

/* ── HERO COUNTDOWN — wider, more breathing room ── */
.hero-countdown{margin:28px auto 0;width:100%;max-width:560px}
.hero-countdown-label{font-family:Cinzel,serif;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:.85;margin:0 0 14px;text-align:center}
.hero-countdown-boxes{display:flex;align-items:stretch;justify-content:center;background:linear-gradient(135deg,var(--deep),var(--wine));border-radius:20px;padding:22px 36px;box-shadow:0 20px 55px rgba(51,12,20,.25);gap:0;width:100%}
.hc-box{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;padding:8px 4px}
.hc-box strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.4rem,7vw,3.6rem);color:var(--gold2);line-height:1;font-weight:600;letter-spacing:.02em}
.hc-box span{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:5px}
.hc-sep{font-family:"Cormorant Garamond",serif;font-size:2.5rem;color:rgba(232,192,64,.3);padding:0 2px;line-height:1;align-self:center;flex-shrink:0}
@media(max-width:520px){.hero-countdown-boxes{padding:18px 20px;border-radius:16px}.hc-box strong{font-size:2rem}.hc-sep{font-size:1.8rem}}
@media(max-width:360px){.hc-box strong{font-size:1.7rem}.hc-box span{font-size:.5rem;letter-spacing:.12em}}

/* ══ OPENING PAGE FIXES ══ */
/* Center everything in opening */
.opening-center{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff9df;
  padding:25px;
  gap:18px;
}
/* Mandala behind the seal, not in flow */
.o-mandala-wrap{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:260px;
  height:260px;
  z-index:0;
  pointer-events:none;
}
.o-mandala-svg{
  width:100%;
  height:100%;
  animation:slowSpin 35s linear infinite;
}
@keyframes slowSpin{to{transform:rotate(360deg)}}

/* Wax seal centred */
.wax-seal{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
}

/* ══ HERO COUNTDOWN — wide & prominent ══ */
.hero-countdown{
  width:min(560px, calc(100% - 32px));
  margin:28px auto 0;
}
.hero-countdown-label{
  font-family:Cinzel,serif;
  font-size:.65rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 14px;
  text-align:center;
  opacity:.85;
}
.hero-countdown-boxes{
  display:grid !important;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  width:100%;
  background:linear-gradient(135deg,var(--deep),var(--wine));
  border-radius:20px;
  padding:24px 32px;
  box-shadow:0 22px 60px rgba(51,12,20,.28);
}
.hc-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:4px 0;
}
.hc-box strong{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.6rem,7vw,3.8rem);
  color:var(--gold2);
  line-height:1;
  font-weight:600;
}
.hc-box span{
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:6px;
}
.hc-sep{
  font-family:"Cormorant Garamond",serif;
  font-size:2.8rem;
  color:rgba(232,192,64,.28);
  line-height:1;
  padding:0 6px;
  align-self:center;
  margin-bottom:14px;
}
@media(max-width:480px){
  .hero-countdown-boxes{padding:18px 16px;border-radius:16px}
  .hc-box strong{font-size:2.1rem}
  .hc-sep{font-size:2rem;padding:0 2px}
}

/* ── GALLERY PLACEHOLDERS ── */
.gallery-placeholder{background:linear-gradient(135deg,#f2ddd6,#ead7ae);cursor:default;display:flex;align-items:center;justify-content:center}
.gallery-placeholder.gallery-feature{grid-row:span 2}
.gp-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center}
.gp-icon{font-size:2.2rem;opacity:.45}
.gp-text{font-family:Cinzel,serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.7}

/* ── STORY SLIDESHOW ── */
.story-slideshow{
  position:relative;
  width:100%;
  min-height:540px;
  border-radius:23px;
  overflow:hidden;
  box-shadow:0 28px 75px rgba(51,12,20,.22);
}
.ss-frame{
  position:absolute;
  inset:0;
  border-radius:23px;
  overflow:hidden;
}
.ss-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center top;
  opacity:0;
  transition:opacity 1.2s ease;
  animation:none;
  /* warm vintage overlay */
  filter:brightness(0.95) saturate(1.1);
}
.ss-slide::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(201,160,48,.08) 0%,
    transparent 40%,
    rgba(44,24,16,.25) 100%
  );
}
.ss-slide.ss-active{
  opacity:1;
  animation:kenBurns 8s ease-in-out infinite alternate;
}
@keyframes kenBurns{
  from{transform:scale(1)   translate(0,0)}
  to  {transform:scale(1.07) translate(-1%,-1%)}
}

/* Gold frame borders */
.ss-border-outer{
  position:absolute;
  inset:10px;
  border:2px solid rgba(201,160,48,.55);
  border-radius:18px;
  pointer-events:none;
  z-index:2;
}
.ss-border-inner{
  position:absolute;
  inset:16px;
  border:1px solid rgba(201,160,48,.25);
  border-radius:14px;
  pointer-events:none;
  z-index:2;
}

/* Corner ornaments on frame */
.ss-border-outer::before,.ss-border-outer::after,
.ss-border-inner::before,.ss-border-inner::after{
  content:'✦';
  position:absolute;
  font-size:.7rem;
  color:rgba(201,160,48,.7);
  line-height:1;
}
.ss-border-outer::before{top:-8px;left:-8px;background:transparent}
.ss-border-outer::after {bottom:-8px;right:-8px;background:transparent}

/* Navigation dots */
.ss-dots{
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:5;
}
.ss-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  border:1px solid rgba(201,160,48,.7);
  background:rgba(255,255,255,.25);
  cursor:pointer;
  padding:0;
  transition:background .3s, transform .3s;
}
.ss-dot.ss-dot-active{
  background:var(--gold);
  transform:scale(1.3);
}

@media(max-width:780px){
  .story-slideshow{min-height:380px}
}

/* ── SPLASH SCREEN ── */
.splash{
  position:fixed;inset:0;z-index:2000;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at 50% 40%, #3d1c0e 0%, #1a0a05 70%);
  transition:opacity .6s ease, visibility .6s ease;
}
.splash.hide{opacity:0;visibility:hidden;pointer-events:none;}
.splash-inner{
  text-align:center;padding:2rem;
  display:flex;flex-direction:column;align-items:center;gap:18px;
}
.splash-logo{
  width:min(280px,75vw);height:auto;
  filter:drop-shadow(0 4px 24px rgba(232,192,64,.35));
  animation:splashLogoGlow 2.5s ease-in-out infinite alternate;
}
@keyframes splashLogoGlow{
  from{filter:drop-shadow(0 4px 24px rgba(232,192,64,.25))}
  to  {filter:drop-shadow(0 4px 36px rgba(232,192,64,.6))}
}
.splash-sub{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.4rem,4vw,2rem);
  font-style:italic;color:#f6dfa0;
  margin:0;letter-spacing:.06em;
}
.splash-btn{
  position:relative;
  padding:16px 40px;
  border:1px solid rgba(232,192,64,.6);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(104,26,39,.8),rgba(37,8,14,.9));
  color:#f6dfa0;
  font-family:Cinzel,serif;font-size:.85rem;
  letter-spacing:.2em;text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 8px 32px rgba(0,0,0,.4);
  transition:transform .2s,box-shadow .2s;
  overflow:hidden;
}
.splash-btn:hover{transform:scale(1.04);box-shadow:0 12px 40px rgba(0,0,0,.5);}
.splash-btn-ring{
  position:absolute;inset:-2px;
  border-radius:999px;
  border:1px solid rgba(232,192,64,.4);
  animation:splashRing 2s ease-out infinite;
}
.splash-btn-ring2{animation-delay:1s;}
@keyframes splashRing{
  0%{transform:scale(1);opacity:.6}
  100%{transform:scale(1.25);opacity:0}
}
.splash-hint{
  font-family:Montserrat,sans-serif;
  font-size:.68rem;letter-spacing:.2em;
  color:rgba(246,223,160,.45);
  text-transform:uppercase;margin:0;
}

/* ── SEAL MUSIC HINT ── */
.seal-music-hint{
  margin:0;
  font-family:Cinzel,serif;
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(246,223,160,.4);
  animation:hintFade 2.5s ease-in-out infinite alternate;
}
@keyframes hintFade{from{opacity:.3} to{opacity:.75}}

/* ── SEAL + MANDALA CENTRED TOGETHER ── */
.seal-mandala-wrap{
  position:relative;
  width:320px;
  height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  flex-shrink:0;
}
.seal-mandala-wrap .o-mandala-wrap{
  position:absolute;
  inset:0;
  width:320px;
  height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.seal-mandala-wrap .o-mandala-svg{
  width:320px;
  height:320px;
  animation:slowSpin 35s linear infinite;
}
.seal-mandala-wrap .wax-seal{
  position:relative;
  z-index:2;
  margin:0;
  flex-shrink:0;
}
@media(max-width:400px){
  .seal-mandala-wrap{width:260px;height:260px}
  .seal-mandala-wrap .o-mandala-wrap{width:260px;height:260px}
  .seal-mandala-wrap .o-mandala-svg{width:260px;height:260px}
}

/* ══ SEAL + MANDALA — definitive clean override ══ */
.seal-mandala-wrap{
  position:relative !important;
  width:320px !important;
  height:320px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
  flex-shrink:0;
}
.seal-mandala-svg{
  position:absolute !important;
  inset:0 !important;
  width:320px !important;
  height:320px !important;
  animation:slowSpin 35s linear infinite !important;
}
.seal-mandala-wrap .wax-seal{
  position:relative !important;
  z-index:2 !important;
  margin:0 !important;
}
/* Hide any old standalone mandala wraps on the opening page */
.opening .o-mandala-wrap{ display:none !important; }
@media(max-width:380px){
  .seal-mandala-wrap,.seal-mandala-svg{width:270px !important;height:270px !important}
}

/* ══ SEAL MANDALA — BIGGER ══ */
.seal-mandala-wrap,
.seal-mandala-svg{
  width:min(460px, 82vw) !important;
  height:min(460px, 82vw) !important;
}

/* ── CONTACT SECTION ── */
.contact-section{background:linear-gradient(180deg,#fff,var(--ivory))}
.contact-card{max-width:480px;margin:0 auto;text-align:center;background:#fff;border:1px solid rgba(104,26,39,.09);border-radius:28px;padding:40px 32px;box-shadow:var(--shadow)}
.contact-family-name{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;font-style:italic;color:var(--wine);margin-bottom:12px}
.contact-gold-line{width:50px;height:1px;background:var(--gold);margin:0 auto 24px;opacity:.6}
.contact-numbers{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.contact-num-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border:1px solid rgba(104,26,39,.15);border-radius:999px;color:var(--wine);background:#fff;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}
.contact-num-btn:hover{background:var(--cream);transform:translateY(-2px)}
.contact-divider{font-size:.72rem;letter-spacing:.15em;color:var(--muted);margin:4px 0 16px;opacity:.6}
.contact-wa-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border:0;border-radius:999px;color:#fff;background:#25d366;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 8px 24px rgba(37,211,102,.3);transition:transform .2s,box-shadow .2s}
.contact-wa-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(37,211,102,.4)}
.contact-note{margin:18px 0 0;font-size:.75rem;color:var(--muted);font-style:italic}
@media(max-width:520px){.contact-card{padding:28px 20px}}
