/* Red velvet edition. The imagery and interactions follow The Velvet Box. */
:root{--accent:#850d24;--emerald:#850d24;--emerald-d:#450513;--kit-accent:#850d24;--kit-dock-bg:rgba(69,5,19,.96)}
.gate.op .op-top{background:linear-gradient(135deg,rgba(119,4,25,.9),rgba(62,0,13,.94)),url('../img/velvetbox/velvet.webp') center/240px;border:1px solid #e8cf94;box-shadow:0 10px 30px -12px #0009,inset 0 0 0 2px #740c20,inset 0 0 0 3px #c9a45c80}
.gate.op .op-top p{margin-bottom:0;line-height:1.3}
.gate.op .op-hint{background:rgba(90,0,18,.9);border:1px solid var(--gold);color:#f7eedc}
.op-bg::after{background:radial-gradient(ellipse 70% 65% at 50% 55%,transparent,rgba(25,5,1,.25))}
.op-skip{color:#f3dfa2!important}
.gate .op-card .op-sub{margin-top:15px}
.hname .kick{color:#f7eedc}
.hero .where{max-width:32ch;margin-inline:auto}
.hero .names{letter-spacing:.015em}
.ecards{gap:32px clamp(16px,3vw,34px)}
.ecard .etx{top:21%;bottom:10%;gap:5px}
.ecard h3{font-size:clamp(25px,6.5vw,29px)}
.ecard small{font-size:10px;line-height:1.6;letter-spacing:.11em}
.person h3{font-size:clamp(29px,7.5vw,40px);letter-spacing:.015em}
.person .pline{max-width:29ch;margin-inline:auto;line-height:1.6}
.person .pabout:empty{display:none}
.person.bride .pframe .ph img{object-position:50% 12%}
.person.groom .pframe .ph img{object-position:50% 25%}
.card .parents{font-size:max(13px,calc(var(--cw) * .032));line-height:1.55}
.card .pre{max-width:27ch}
.cnames{letter-spacing:.02em}
.reply .sig{color:#850d24}
.rsvp-edit{display:block;margin:18px auto 0;color:var(--gold-2);font-size:16px;text-decoration:underline;text-underline-offset:4px}
.kit-dock{--kit-dock-bg:rgba(69,5,19,.96)}
.kit-credit{background:#30050e}
.finale .fbless{margin-top:20px;font-family:var(--f-d);font-size:clamp(22px,5.4vw,34px);font-weight:500;font-style:normal;line-height:1.4;letter-spacing:.025em;text-transform:none;white-space:nowrap;color:var(--gold-2);text-shadow:none}
.noscript-message{padding:30px;text-align:center;font-size:22px}
.vph{border:0;background:none;color:inherit;font:inherit;padding:0;text-align:inherit}
.vph:focus-visible{outline:2px solid var(--gold-2);outline-offset:8px}
@media(max-width:600px){
  .gate.op .op-top{top:max(64px,9svh);width:min(88vw,460px)}
  .gate.op .op-top small{font-size:15px;letter-spacing:.24em}
  .gate.op .op-top p{font-size:clamp(19px,5.2vw,25px);margin-top:6px}
  .op-skip{top:max(16px,env(safe-area-inset-top))}
  .gate.op .op-hint{font-size:16px;max-width:90vw;bottom:max(22px,4svh)}
  .vbox{--bw:min(96vw,460px,calc((100svh - 260px) * .8));top:calc(50% + 44px)}
  .hero .names{flex-direction:column;align-items:center;font-size:clamp(52px,14vw,80px);gap:4px}
  .hero .names i{font-size:.58em}
  .hero .in{gap:18px;padding-top:55px}
  .hbox{--bw:min(76vw,330px,calc((100svh - 370px) * .8))}
  .vb-roses{width:62vw;right:-15%;top:0}
  .count-sec .title{font-size:clamp(32px,8vw,46px)}
  .events-sec .title{max-width:18ch;margin-inline:auto;line-height:1.15}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv,.ecard,.vph{transition:none!important}.vb-trail,.vb-flakes{display:none!important}}
