:root{--milk:#f7efe7;--beige:#e7d1b5;--sand:#c5a985;--blue:#36a8ff;--purple:#7b5cff;--dark:#241b18;--card:rgba(247,239,231,.13);--line:rgba(231,209,181,.36)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;min-width:320px;color:var(--milk);font-family:Manrope,system-ui,sans-serif;background:radial-gradient(circle at 85% 10%,rgba(54,168,255,.18),transparent 26rem),radial-gradient(circle at 10% 45%,rgba(123,92,255,.14),transparent 25rem),linear-gradient(180deg,#372b25,#211916 45%,#34261f);overflow-x:hidden}.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.045;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 baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}.glow{position:fixed;border-radius:999px;filter:blur(55px);opacity:.24;pointer-events:none;z-index:-1}.glow-blue{width:17rem;height:17rem;background:var(--blue);right:-5rem;top:25vh}.glow-purple{width:18rem;height:18rem;background:var(--purple);left:-6rem;bottom:12vh}.preloader{position:fixed;inset:0;z-index:100;background:#2a211d;display:grid;place-content:center;gap:16px;text-align:center;transition:.8s}.preloader.hide{opacity:0;visibility:hidden}.preloader p{font-family:"Cormorant Garamond",serif;font-size:2rem;color:var(--beige);margin:0}.preloader-rings,.rings{display:flex;justify-content:center}.preloader-rings span,.rings span{width:46px;height:46px;border:1px solid var(--beige);border-radius:50%;box-shadow:0 0 28px rgba(231,209,181,.35),inset 0 0 18px rgba(54,168,255,.16)}.preloader-rings span+span,.rings span+span{margin-left:-8px}.section{padding:76px 18px}.section-full{min-height:100svh}.hero,.final{position:relative;display:grid;place-items:center;overflow:hidden}.hero video,.final video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,12,.25),rgba(30,22,18,.68) 68%,rgba(37,27,22,.94))}.hero-content,.final-content{position:relative;z-index:2;text-align:center;padding:24px;max-width:720px}.label{margin:0 0 12px;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--beige);font-weight:600}h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:300;line-height:.96;margin:0}h1{font-size:clamp(4rem,18vw,7.2rem);letter-spacing:-.06em}h1 span{font-size:.62em;color:var(--beige);margin:0 .04em}h2{font-size:clamp(2.7rem,12vw,5rem);letter-spacing:-.04em}h3{font-size:2.3rem;letter-spacing:-.03em}.date{font-size:1.05rem;letter-spacing:.28em;color:var(--beige);margin:18px 0}.story{min-height:160px;margin:20px 0}.story-line{opacity:0;transform:translateY(24px);margin:10px 0;color:rgba(247,239,231,.9)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid rgba(231,209,181,.54);background:linear-gradient(135deg,rgba(54,168,255,.28),rgba(123,92,255,.2),rgba(231,209,181,.16));color:var(--milk);text-decoration:none;font-size:.92rem;box-shadow:0 18px 50px rgba(0,0,0,.18);cursor:pointer}.btn-soft{background:rgba(247,239,231,.1)}.btn.small{min-height:42px;padding:0 18px;font-size:.86rem}.scroll{position:absolute;z-index:3;bottom:26px;left:50%;transform:translateX(-50%);font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:rgba(247,239,231,.55)}.glass,.place-widget,.program-card{max-width:980px;margin:0 auto;border:1px solid rgba(247,239,231,.18);background:linear-gradient(145deg,rgba(247,239,231,.13),rgba(231,209,181,.08));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:34px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.glass{padding:34px 22px}.center{text-align:center}.lead{font-size:1.02rem;line-height:1.78;color:rgba(247,239,231,.8);max-width:34rem;margin:20px auto 0}.timer{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:28px 0}.timer div{padding:15px 5px;border-radius:22px;background:rgba(247,239,231,.1);border:1px solid rgba(247,239,231,.12)}.timer strong{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.1rem;display:block}.timer span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--beige)}.program-card{position:relative;overflow:hidden;min-height:720px;background:#191513}.program-bg{position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(231,209,181,.3),transparent 12rem),radial-gradient(circle at 93% 20%,rgba(231,209,181,.24),transparent 9rem),radial-gradient(circle at 95% 82%,rgba(231,209,181,.22),transparent 8rem),linear-gradient(90deg,rgba(231,209,181,.12),transparent 26%,transparent 72%,rgba(231,209,181,.1)),url("data:image/svg+xml,%3Csvg width='320' height='720' viewBox='0 0 320 720' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23e7d1b5' opacity='.8'%3E%3Cellipse cx='35' cy='165' rx='34' ry='24' transform='rotate(-22 35 165)'/%3E%3Cellipse cx='282' cy='112' rx='22' ry='34' transform='rotate(28 282 112)'/%3E%3Cellipse cx='291' cy='485' rx='24' ry='34' transform='rotate(42 291 485)'/%3E%3Cpath d='M38 430c18 28 27 55 28 91-28-20-42-50-28-91z'/%3E%3Ccircle cx='255' cy='355' r='4'/%3E%3Ccircle cx='268' cy='372' r='3'/%3E%3Ccircle cx='246' cy='376' r='2.5'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;background-position:center;opacity:.95}.program-shade{position:absolute;inset:28px 18px;background:rgba(12,12,11,.64);border:1px solid rgba(231,209,181,.12)}.program-content{position:relative;z-index:2;padding:72px 26px 46px;text-align:center}.timeline{position:relative;margin:54px auto 0;max-width:430px;text-align:left}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:1px;background:linear-gradient(var(--line),rgba(231,209,181,.08))}.timeline-item{position:relative;padding:0 0 58px 64px}.timeline-item:last-child{padding-bottom:0}.dot{position:absolute;left:13px;top:8px;width:15px;height:15px;border-radius:50%;background:var(--sand);box-shadow:0 0 18px rgba(231,209,181,.35)}time{font-family:"Cormorant Garamond",serif;color:var(--beige);font-size:1.75rem;line-height:1} .timeline p{font-family:"Cormorant Garamond",serif;font-size:1.35rem;margin:4px 0 4px}.timeline small{color:rgba(247,239,231,.58);line-height:1.45}.section-title{text-align:center;margin:0 auto 24px}.place-widget{overflow:hidden;margin-bottom:22px}.place-info{padding:26px 22px}.place-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.place-tags span{border:1px solid rgba(231,209,181,.36);border-radius:999px;padding:7px 12px;color:var(--beige);background:rgba(231,209,181,.1);font-size:.8rem}.place-info p{line-height:1.65;color:rgba(247,239,231,.8)}.muted{color:rgba(247,239,231,.58)!important;font-size:.86rem}.place-widget iframe{width:100%;height:330px;border:0;display:block;padding:0 12px 12px;border-radius:0 0 30px 30px}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}.palette div{height:94px;background:var(--c);border-radius:22px;border:1px solid rgba(247,239,231,.18);position:relative}.palette span{position:absolute;left:9px;right:9px;bottom:9px;font-size:.65rem;text-shadow:0 1px 8px rgba(0,0,0,.42)}.rsvp{display:grid;gap:13px;margin-top:26px}.rsvp input,.rsvp select,.rsvp textarea{width:100%;border:1px solid rgba(247,239,231,.17);border-radius:18px;background:rgba(255,255,255,.08);color:var(--milk);padding:14px 15px;font:inherit;outline:0}.rings{margin-bottom:24px}.rings span{width:64px;height:64px;animation:ring 3.8s ease-in-out infinite}.rings span+span{animation-delay:.24s}@keyframes ring{50%{transform:translateY(-7px) scale(1.04);box-shadow:0 0 36px rgba(54,168,255,.32),0 0 46px rgba(231,209,181,.28)}}@media(min-width:760px){.glass{padding:48px}.place-widget{display:grid;grid-template-columns:.86fr 1.14fr}.place-widget iframe{height:auto;min-height:350px;padding:12px 12px 12px 0;border-radius:0 30px 30px 0}.program-content{padding:86px 70px}.program-card{min-height:760px}.timeline{max-width:520px}.timeline-item{padding-left:86px}.timeline:before{left:24px}.dot{left:16px}}@media(max-width:430px){.section{padding:64px 14px}.timer{gap:7px}.timer strong{font-size:1.65rem}.timer span{font-size:.55rem}.palette{grid-template-columns:repeat(2,1fr)}.palette div:last-child{grid-column:1/-1}.program-card{border-radius:30px;min-height:690px}.program-shade{inset:22px 14px}.program-content{padding:66px 22px 42px}}

.calendar-actions{display:grid;place-items:center;gap:10px;margin-top:6px}
.calendar-note{max-width:28rem;margin:0 auto;color:rgba(247,239,231,.62);font-size:.82rem;line-height:1.55}
.palette-title{
  margin:30px 0 0;
  color:var(--beige);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.74rem;
  font-weight:600;
}


.quote-card{overflow:hidden}
.quote-photo{
  margin:-14px -8px 28px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(247,239,231,.18);
  box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 46px rgba(231,209,181,.16);
  background:rgba(0,0,0,.18);
}
.quote-photo img{
  width:100%;
  display:block;
  aspect-ratio:16/10;
  object-fit:cover;
  transform:scale(1.035);
  filter:saturate(.96) contrast(1.02);
}
@media(min-width:760px){
  .quote-photo{margin:-18px -16px 34px;border-radius:34px}
  .quote-photo img{aspect-ratio:16/8.8}
}

.quote-kicker{
margin:10px 0 14px;
color:rgba(231,209,181,.9);
letter-spacing:.18em;
text-transform:uppercase;
font-size:.78rem;
font-weight:600;
}


.wedding-calendar{
  width:min(100%, 390px);
  margin:30px auto 0;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(231,209,181,.25);
  background:
    radial-gradient(circle at 50% 0%, rgba(231,209,181,.18), transparent 15rem),
    linear-gradient(145deg, rgba(247,239,231,.13), rgba(231,209,181,.07));
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.035);
}
.calendar-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 4px 16px;
  color:var(--beige);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.8rem;
  font-weight:600;
}
.calendar-weekdays,.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.calendar-weekdays span{
  color:rgba(247,239,231,.54);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding-bottom:8px;
}
.calendar-grid span{
  min-height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:rgba(247,239,231,.78);
  background:rgba(255,255,255,.035);
  border:1px solid rgba(247,239,231,.05);
  font-size:.9rem;
}
.calendar-grid .wedding-day{
  color:#2a211d;
  background:linear-gradient(135deg,#f7efe7,#e7d1b5);
  box-shadow:0 0 0 4px rgba(231,209,181,.14),0 0 34px rgba(231,209,181,.34);
  font-weight:700;
  position:relative;
}
.calendar-grid .wedding-day::after{
  content:"♥";
  position:absolute;
  right:5px;
  top:2px;
  font-size:.55rem;
  color:#7b5cff;
}
.calendar-caption{
  display:grid;
  gap:4px;
  margin-top:18px;
  color:rgba(247,239,231,.8);
}
.calendar-caption strong{
  font-family:"Cormorant Garamond",serif;
  font-size:1.45rem;
  font-weight:400;
  color:var(--milk);
}
.calendar-caption span{
  color:var(--beige);
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:430px){
  .wedding-calendar{padding:14px;border-radius:26px}
  .calendar-weekdays,.calendar-grid{gap:4px}
  .calendar-grid span{min-height:34px;border-radius:12px;font-size:.82rem}
}


.rsvp-extended{gap:18px}
.rsvp fieldset{border:0;padding:0;margin:0}
.rsvp legend{margin:0 0 12px;color:rgba(247,239,231,.72);font-size:.82rem}
.children-grid{display:grid;gap:13px}
.radio-pills,.alcohol-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.radio-pills label,.alcohol-pills label{display:block}
.radio-pills input,.alcohol-pills input{position:absolute;opacity:0;pointer-events:none}
.radio-pills span,.alcohol-pills span{
  min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:999px;
  border:1px solid rgba(231,209,181,.38);color:rgba(247,239,231,.76);background:rgba(247,239,231,.045);
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease
}
.radio-pills input:checked + span,.alcohol-pills input:checked + span{
  background:linear-gradient(135deg,#f7efe7,#e7d1b5);color:#2a211d;border-color:rgba(231,209,181,.9);
  box-shadow:0 0 28px rgba(231,209,181,.2)
}
.radio-pills span:hover,.alcohol-pills span:hover{transform:translateY(-1px)}
.other-input{margin-top:12px;text-align:center}
.rsvp.is-sending{opacity:.72;pointer-events:none}
@media(min-width:720px){.children-grid{grid-template-columns:1fr 1fr}}


/* RSVP final: мягкие pill-кнопки вместо стандартных radio/checkbox */
.rsvp-extended{
  gap:20px;
}
.rsvp-extended .choice-block{
  border:0!important;
  padding:0!important;
  margin:2px 0!important;
  min-inline-size:0;
}
.rsvp-extended .choice-block legend{
  float:none!important;
  width:100%!important;
  padding:0!important;
  margin:0 0 14px!important;
  text-align:center;
  color:rgba(247,239,231,.74);
  font-size:.95rem;
  line-height:1.45;
}
.rsvp-extended .radio-pills,
.rsvp-extended .alcohol-pills{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px 12px!important;
  width:100%;
}
.rsvp-extended .radio-pills label,
.rsvp-extended .alcohol-pills label{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  color:inherit!important;
  font-size:inherit!important;
}
.rsvp-extended .radio-pills input,
.rsvp-extended .alcohol-pills input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.rsvp-extended .radio-pills span,
.rsvp-extended .alcohol-pills span{
  min-height:44px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  border:1px solid rgba(231,209,181,.42);
  color:rgba(247,239,231,.78);
  background:rgba(247,239,231,.045);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
  white-space:nowrap;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.rsvp-extended .radio-pills input:checked + span,
.rsvp-extended .alcohol-pills input:checked + span{
  background:linear-gradient(135deg,rgba(247,239,231,.96),rgba(231,209,181,.92));
  color:#2a211d;
  border-color:rgba(231,209,181,.95);
  box-shadow:0 0 28px rgba(231,209,181,.22), inset 0 0 0 1px rgba(255,255,255,.18);
}
.rsvp-extended .radio-pills span:hover,
.rsvp-extended .alcohol-pills span:hover{
  transform:translateY(-1px);
  border-color:rgba(231,209,181,.7);
}
.rsvp-extended .alcohol-pills{
  max-width:430px;
  margin:0 auto;
}
.rsvp-extended .other-input{
  max-width:320px;
  margin:12px auto 0;
  text-align:center;
  display:block;
}
.rsvp-extended input[type="radio"],
.rsvp-extended input[type="checkbox"]{
  accent-color:transparent;
}
@media(max-width:430px){
  .rsvp-extended .radio-pills span,
  .rsvp-extended .alcohol-pills span{
    min-height:42px;
    padding:0 20px;
  }
}

.guest-menu-section{margin:2px 0 0}
.guest-menu-title{margin:0;text-align:center;color:rgba(247,239,231,.84);font-size:1rem}
.guest-menu-subtitle{margin:6px 0 18px;text-align:center;color:rgba(247,239,231,.56);font-size:.82rem}
.guest-menu-list{display:grid;gap:18px}
.guest-menu-card{padding:18px 14px;border:1px solid rgba(231,209,181,.22);border-radius:24px;background:rgba(247,239,231,.045)}
.guest-menu-card h3{margin:0 0 14px;font-family:Manrope,system-ui,sans-serif;font-size:.95rem;font-weight:500;text-align:center;color:rgba(247,239,231,.82);letter-spacing:0}
.dish-pills{display:grid;gap:10px}
.dish-pills label{display:block!important;width:100%;margin:0!important;padding:0!important}
.dish-pills input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important;appearance:none!important;-webkit-appearance:none!important}
.dish-pills span{min-height:58px;width:100%;display:flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:20px;border:1px solid rgba(231,209,181,.34);background:rgba(247,239,231,.045);color:rgba(247,239,231,.78);font-size:.88rem;line-height:1.35;text-align:center;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.dish-pills input:checked + span{background:linear-gradient(135deg,rgba(247,239,231,.96),rgba(231,209,181,.92));color:#2a211d;border-color:rgba(231,209,181,.95);box-shadow:0 0 28px rgba(231,209,181,.2)}
.dish-pills span:hover{transform:translateY(-1px);border-color:rgba(231,209,181,.68)}


/* RSVP: длинные названия блюд */
.dish-pills span{
  min-height:66px;
  padding:14px 16px;
}


/* Safari reliability: content visible by default */
.reveal,
.rsvp-section-block,
.rsvp-section-block .glass,
.rsvp-section-block .rsvp,
.final,
.footer-credit-section{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

/* Static guest cards: max 5 */
.guest-menu-card[data-guest-card="2"],
.guest-menu-card[data-guest-card="3"],
.guest-menu-card[data-guest-card="4"],
.guest-menu-card[data-guest-card="5"]{
  display:none;
}
.dish-pills input{
  position:absolute!important;
  left:-9999px!important;
}

/* Footer / credits */
.footer-credit-section{
  padding:36px 18px 18px;
}
.footer-credit{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  color:rgba(247,239,231,.52);
  font-size:.82rem;
  line-height:1.8;
}
.footer-credit p{margin:0}
.author-signature{
  margin:0 auto 20px;
  text-align:center;
  font-size:.68rem;
  line-height:1.65;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(247,239,231,.38);
}

.organizer-card{display:grid;gap:28px;align-items:center}
.organizer-text .lead{margin-left:0;margin-right:0}
.organizer-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.organizer-qr-wrap{justify-self:center;text-align:center;padding:14px;border:1px solid rgba(247,239,231,.16);border-radius:28px;background:rgba(255,255,255,.08)}
.organizer-qr{display:block;width:min(260px,70vw);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.organizer-qr-wrap .muted{margin:12px 0 0}
@media(min-width:760px){.organizer-card{grid-template-columns:1.3fr .7fr}.organizer-qr-wrap{justify-self:end}}

/* Мягкие плавающие частицы */
.floating-particles{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.floating-particles span{position:absolute;bottom:-8vh;width:4px;height:4px;border-radius:50%;background:rgba(231,209,181,.78);box-shadow:0 0 16px rgba(231,209,181,.55);opacity:.45;animation:particleFloat 16s linear infinite}
.floating-particles span:nth-child(1){left:8%;animation-duration:18s;animation-delay:-2s}
.floating-particles span:nth-child(2){left:16%;width:3px;height:3px;animation-duration:22s;animation-delay:-11s}
.floating-particles span:nth-child(3){left:24%;animation-duration:19s;animation-delay:-6s}
.floating-particles span:nth-child(4){left:34%;width:5px;height:5px;animation-duration:24s;animation-delay:-14s}
.floating-particles span:nth-child(5){left:43%;animation-duration:17s;animation-delay:-8s}
.floating-particles span:nth-child(6){left:52%;width:3px;height:3px;animation-duration:26s;animation-delay:-18s}
.floating-particles span:nth-child(7){left:61%;animation-duration:20s;animation-delay:-5s}
.floating-particles span:nth-child(8){left:70%;width:5px;height:5px;animation-duration:23s;animation-delay:-15s}
.floating-particles span:nth-child(9){left:78%;animation-duration:18s;animation-delay:-9s}
.floating-particles span:nth-child(10){left:86%;width:3px;height:3px;animation-duration:25s;animation-delay:-20s}
.floating-particles span:nth-child(11){left:92%;animation-duration:21s;animation-delay:-4s}
.floating-particles span:nth-child(12){left:48%;width:5px;height:5px;animation-duration:28s;animation-delay:-22s}
@keyframes particleFloat{0%{transform:translate3d(0,0,0) scale(.75);opacity:0}12%{opacity:.42}50%{transform:translate3d(18px,-54vh,0) scale(1)}88%{opacity:.34}100%{transform:translate3d(-14px,-108vh,0) scale(.55);opacity:0}}

/* Красивое подтверждение RSVP */
.rsvp-success{display:none;margin-top:20px;padding:24px 18px;border:1px solid rgba(231,209,181,.32);border-radius:28px;background:linear-gradient(145deg,rgba(247,239,231,.16),rgba(231,209,181,.08));text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.22)}
.rsvp-success.show{display:block;animation:successIn .75s ease both}
.rsvp-success h3{font-size:2.4rem;margin:4px 0 10px}
.rsvp-success p{margin:0 auto;max-width:34rem;color:rgba(247,239,231,.78);line-height:1.7}
.success-heart{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(247,239,231,.96),rgba(231,209,181,.88));color:#332620;box-shadow:0 0 36px rgba(231,209,181,.24)}
@keyframes successIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.confetti-piece{position:fixed;top:-12px;z-index:120;width:8px;height:14px;border-radius:999px;background:rgba(231,209,181,.92);pointer-events:none;animation:confettiFall 1.35s ease-in forwards}
.confetti-piece:nth-child(3n){background:rgba(247,239,231,.95)}
.confetti-piece:nth-child(4n){background:rgba(189,167,242,.9)}
@keyframes confettiFall{to{transform:translate3d(var(--x),105vh,0) rotate(520deg);opacity:0}}

.final-content h2{line-height:1.03}.final-date{color:var(--beige)!important;letter-spacing:.08em}
@media(max-width:430px){.floating-particles span{opacity:.32}.rsvp-success{padding:22px 14px}.rsvp-success h3{font-size:2rem}}


/* v17: аккуратные контурные иконки в едином золотистом стиле */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.section-icon{width:54px;height:54px;margin:0 auto 18px;border:1px solid rgba(231,209,181,.42);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,rgba(247,239,231,.18),rgba(231,209,181,.07));box-shadow:0 0 34px rgba(231,209,181,.13),inset 0 0 20px rgba(247,239,231,.05)}
.section-icon svg{width:25px;height:25px;fill:none;stroke:var(--beige);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.program-content .section-icon{margin-bottom:20px}
.place-info .icon-heading{display:flex;align-items:center;gap:12px;line-height:1.05}
.mini-icon{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:var(--beige);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(231,209,181,.18))}
.guest-menu-title,.rsvp legend,.form-label-icon{display:flex;align-items:center;gap:10px}
.form-label-icon{margin-bottom:8px;color:rgba(247,239,231,.82)}
.rsvp label .form-label-icon + input,.rsvp label .form-label-icon + textarea{margin-top:0}
.quote-card .section-icon{margin-top:8px}
.final .section-icon{margin-bottom:22px}
@media(max-width:430px){.section-icon{width:48px;height:48px;margin-bottom:14px}.section-icon svg{width:22px;height:22px}.mini-icon{width:19px;height:19px;flex-basis:19px}}
