:root{
  --pink:#d84f8b;
  --pink-deep:#b83268;
  --pink-soft:#f7c9dc;
  --pink-pale:#fff1f7;
  --gold-v2:#c89a51;
  --ink-v2:#533844;
}
body{background:#f9f1f5}
.page{background:#fffdfd}
.hero{
  background-image:
    linear-gradient(to top,rgba(75,20,45,.66) 0%,rgba(121,47,83,.18) 44%,rgba(255,255,255,0) 72%),
    url('../images/Valeria Pre XV Santo Domingo (9).jpg');
  background-position:center center,center 30%;
}
.hero::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(to top,rgba(216,79,139,.22),transparent);
  pointer-events:none;
}
.hero::after{border-color:rgba(255,255,255,.78)}
.kicker,.subname{letter-spacing:.32em}
.big15{color:#fff7fb;text-shadow:0 8px 30px rgba(94,18,50,.3)}
.anos{color:#ffd4e5;text-shadow:0 4px 18px rgba(94,18,50,.28)}
.name{color:#fff}
.section{overflow:hidden}
.section.soft{
  background:
    radial-gradient(circle at 0% 4%,rgba(216,79,139,.12),transparent 24%),
    radial-gradient(circle at 100% 100%,rgba(200,154,81,.10),transparent 24%),
    linear-gradient(180deg,#fff 0%,#fff3f8 100%);
}
.section:not(.soft){
  background:
    radial-gradient(circle at 100% 2%,rgba(216,79,139,.13),transparent 26%),
    radial-gradient(circle at 4% 82%,rgba(247,201,220,.34),transparent 28%),
    #fff;
}
.section::before{color:rgba(216,79,139,.42);font-size:1.15rem}
.section::after{color:rgba(200,154,81,.4);font-size:1rem}
.section .eyebrow{color:var(--pink);font-weight:600}
.section h2{color:#8f365d}
.quote{color:#63434f}
.card{
  background:linear-gradient(145deg,#fff 0%,#fff4f8 100%);
  border-color:rgba(216,79,139,.22);
  box-shadow:0 14px 34px rgba(164,53,101,.08);
}
.parents .card:nth-child(2){background:linear-gradient(145deg,#fffdfa,#fff2f7)}
.label{color:var(--gold-v2);font-weight:600}
.value{color:#6c3d51}
.datebox-elegant .date-side{color:#8d3b60;border-color:#d3a96d}
.datebox-elegant .num{color:var(--pink);text-shadow:0 8px 24px rgba(216,79,139,.16)}
.datebox-elegant .year{color:#805060}
.datebox-elegant + .time{color:#5f3747;font-weight:600}
.count-item{
  background:linear-gradient(180deg,#fff 0%,#fff0f6 100%);
  border-color:rgba(216,79,139,.24);
  box-shadow:0 10px 24px rgba(178,61,110,.08);
}
.count-num{color:var(--pink)}
.countdown-message{color:#a63d6c}
.details .card{position:relative;overflow:hidden}
.details .card::after{
  content:"";
  position:absolute;
  width:120px;height:120px;
  border-radius:50%;
  right:-60px;top:-60px;
  background:radial-gradient(circle,rgba(216,79,139,.14),transparent 68%);
}
.details .icon{color:var(--pink);font-size:1.85rem}
.detail-card-1{background:linear-gradient(145deg,#fff,#ffeaf2)}
.detail-card-2{background:linear-gradient(145deg,#fffdfb,#fff4ea)}
.detail-card-3{background:linear-gradient(145deg,#fff,#fdeaf2)}
.badge{background:#fff0f5;border-color:rgba(216,79,139,.26);color:#a33b68}
.rsvp-note{
  background:linear-gradient(135deg,#fff 0%,#ffeaf3 100%);
  border-color:rgba(216,79,139,.28);
  box-shadow:0 12px 30px rgba(171,60,105,.08);
}
.rsvp-note strong,.rsvp-heart{color:var(--pink-deep)}
.btn.primary{
  background:linear-gradient(135deg,#df5a94,#b9356b);
  box-shadow:0 12px 28px rgba(183,53,107,.24);
}
.btn.secondary{
  background:#fff5f9;
  border-color:#d85a8f;
  color:#b63769;
}
.music-fab{
  background:linear-gradient(145deg,#e7669d,#bd3f70);
  box-shadow:0 10px 28px rgba(179,55,104,.28);
}
.footer{background:linear-gradient(135deg,#943a62,#5d2d43)}
.envelope-gate{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.98),rgba(255,234,244,.98) 48%,rgba(236,174,201,.98) 100%);
}
.env-back{background:linear-gradient(145deg,#ffddeb,#eba5c2)}
.env-back::before,.env-back::after{background:#f4bfd4}
.env-flap{background:linear-gradient(160deg,#f7c8da,#de8aae)}
.env-seal{background:linear-gradient(145deg,#d84f8b,#ad3264)}
.envelope-title{color:#8e365d}
.envelope-sub,.envelope-hint{color:#8a596c}
@media(max-width:420px){
  .hero{background-position:center center,center 28%}
  .section{padding-left:20px;padding-right:20px}
}
