/* ==========================================================
   Baby Girl 1st Birthday – pink, white & milky cream
   Animated teddies, floating balloons, scalloped edges.
   Every selector is prefixed .bt- so nothing leaks into the editor.
   Each section carries its own background so the editor can recolour it.
   ========================================================== */
.bt-sec, .bt-top {
  --pink: #F7A8BF;
  --pink-d: #E8789B;
  --rose: #D9507F;
  --blush: #FDE4EC;
  --blush-d: #F9C5D6;
  --milk: #FFF8F1;
  --cream: #FFF1E6;
  --ink: #7A3E55;
  --ink-s: #A5617C;
  --font-head: "Fredoka", "Quicksand", system-ui, sans-serif;
  --font-body: "Quicksand", system-ui, sans-serif;
  --font-script: "Pacifico", cursive;
  --font-hand: "Caveat", cursive;
}
.bt-sec, .bt-sec *, .bt-sec *::before, .bt-sec *::after { box-sizing: border-box; }

/* ---------- Section shell with scalloped top edge ---------- */
.bt-sec { position: relative; overflow: hidden; padding: 118px 24px 92px; font-family: var(--font-body); font-weight: 500; font-size: 17.5px; line-height: 1.7; color: var(--ink); background: #FFFFFF; }
.bt-sec::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 24px; z-index: 3; pointer-events: none; background: radial-gradient(circle at 22px 0, var(--edge, #fff) 20px, transparent 21px) repeat-x 0 0 / 44px 24px; }
.bt-sec.bt-white { background: #FFFFFF; }
.bt-sec.bt-milk { background: radial-gradient(circle at 15% 10%, #FFFFFF 0%, transparent 45%), linear-gradient(180deg, #FFF8F1, #FFF0E8); }
.bt-sec.bt-blush { background: radial-gradient(circle at 85% 0%, #FFF1F5 0%, transparent 50%), linear-gradient(180deg, #FDE4EC, #FBD3E0); }
.bt-sec.bt-pink { background: radial-gradient(circle at 50% 0%, #FBC3D3 0%, transparent 60%), linear-gradient(180deg, #F9B5CB, #F58CB0); color: #FFFFFF; }
.bt-sec p, .bt-sec h1, .bt-sec h2, .bt-sec h3 { margin: 0; }
.bt-sec img { max-width: 100%; }
.bt-sec a { color: var(--pink-d); }
.bt-inner { position: relative; z-index: 4; max-width: 1060px; margin: 0 auto; }
.bt-center { text-align: center; }

/* ---------- Type ---------- */
.bt-eyebrow { font-family: var(--font-head); font-weight: 500; font-size: .95rem; letter-spacing: .22em; text-transform: uppercase; color: var(--pink-d); margin-bottom: 6px !important; }
.bt-pink .bt-eyebrow, .bt-footer .bt-eyebrow { color: #FFFFFF; opacity: .95; }
.bt-title { font-family: var(--font-head); font-weight: 600; font-size: clamp(1.9rem, 4.6vw, 3rem); line-height: 1.2; color: var(--pink-d); }
.bt-pink .bt-title { color: #FFFFFF; text-shadow: 0 3px 0 rgba(217, 80, 127, .45); }
.bt-sub { max-width: 640px; margin: 10px auto 0 !important; color: var(--ink-s); font-size: 1.1rem; }
.bt-pink .bt-sub { color: #FFF3F7; }

/* ---------- Buttons ---------- */
.bt-btn { display: inline-block; cursor: pointer; font: 600 1.05rem/1 var(--font-head); letter-spacing: .06em; text-decoration: none; padding: 16px 38px; color: #FFFFFF !important; background: linear-gradient(180deg, #FBB4CA, #EF7FA2); border: 0; border-radius: 40px; box-shadow: 0 6px 0 #D9658B, 0 12px 22px rgba(217, 80, 127, .3); transition: transform .15s, box-shadow .15s; }
.bt-btn:hover { transform: translateY(3px); box-shadow: 0 3px 0 #D9658B, 0 6px 14px rgba(217, 80, 127, .3); }
.bt-btn.bt-btn-white { background: #FFFFFF; color: var(--pink-d) !important; box-shadow: 0 6px 0 rgba(217, 80, 127, .45); margin-top: 32px; }

/* ---------- Hero ---------- */
.bt-hero { min-height: 100vh; padding: 150px 24px 80px; background: radial-gradient(circle at 50% 38%, #FFFFFF 0%, transparent 55%), linear-gradient(180deg, #FFF8F1 0%, #FFEAF1 62%, #FFDDE8 100%); }
.bt-hero::before { display: none; }
.bt-bunting { position: absolute; left: 0; right: 0; top: 0; z-index: 3; display: flex; justify-content: center; padding-top: 4px; pointer-events: none; }
.bt-bunting::before { content: ""; position: absolute; left: 2%; right: 2%; top: 0; height: 52px; border-bottom: 2.5px solid #E9A1B8; border-radius: 0 0 50% 50% / 0 0 100% 100%; }
.bt-flag { position: relative; top: calc(14px + var(--sag, 0px)); width: clamp(30px, 5.6vw, 66px); height: clamp(40px, 7.2vw, 84px); margin: 0 clamp(1px, .35vw, 5px); clip-path: polygon(0 0, 100% 0, 50% 100%); transform-origin: 50% 0; animation: bt-sway 3.2s ease-in-out infinite; animation-delay: var(--d, 0s); display: flex; justify-content: center; padding-top: 5px; }
.bt-flag b { font: 700 clamp(.85rem, 2vw, 1.7rem)/1.2 var(--font-head); }
.bt-f1 { background: #F58CB0; } .bt-f1 b { color: #fff; }
.bt-f2 { background: #FFFFFF; } .bt-f2 b { color: #E8789B; }
.bt-f3 { background: #FBC3D3; } .bt-f3 b { color: #fff; }
.bt-sky { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.bt-float { position: absolute; width: clamp(40px, 6.2vw, 90px); animation: bt-bob 6s ease-in-out infinite; filter: drop-shadow(0 8px 8px rgba(217, 80, 127, .18)); z-index: 2; }
.bt-fl1 { left: 3%; top: 24%; } .bt-fl2 { left: 10%; top: 50%; animation-delay: -1.5s; } .bt-fl3 { left: 17%; top: 15%; animation-delay: -3s; }
.bt-fl4 { right: 3%; top: 22%; animation-delay: -2s; } .bt-fl5 { right: 11%; top: 48%; animation-delay: -4s; } .bt-fl6 { right: 18%; top: 14%; animation-delay: -.8s; }
.bt-cloud { position: absolute; width: clamp(90px, 15vw, 220px); opacity: .85; animation: bt-drift 22s ease-in-out infinite alternate; }
.bt-cl1 { left: 24%; top: 30%; } .bt-cl2 { right: 20%; top: 36%; animation-delay: -9s; }
.bt-one-balloon { position: absolute; left: 19%; top: 34%; width: clamp(60px, 8vw, 118px); z-index: 2; animation: bt-bob 5s ease-in-out infinite; filter: drop-shadow(0 10px 10px rgba(217, 80, 127, .25)); }
.bt-hero-text { z-index: 5; }
.bt-portrait { position: relative; width: clamp(240px, 33vw, 400px); aspect-ratio: 1; margin: 44px auto 8px; }
.bt-portrait-img { position: absolute; left: 12.5%; top: 12.5%; width: 75% !important; height: 75%; border-radius: 50%; object-fit: cover; }
.bt-scallop { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; filter: drop-shadow(0 12px 14px rgba(217, 80, 127, .3)); }
.bt-crown { position: absolute; z-index: 3; top: -9%; left: 36.5%; width: 27%; transform: rotate(-6deg); animation: bt-crown 4s ease-in-out infinite; filter: drop-shadow(0 6px 6px rgba(150, 100, 20, .3)); }
.bt-lead { font-family: var(--font-script); font-size: clamp(1.15rem, 2.3vw, 1.6rem); color: var(--pink-d); margin-top: 8px !important; }
.bt-hero-title { font-family: var(--font-head); font-weight: 700; line-height: 1.1; color: var(--pink-d); }
.bt-hero-title span { display: block; font-family: var(--font-script); font-weight: 400; font-size: clamp(2.8rem, 7.2vw, 5.4rem); color: var(--rose); text-shadow: 0 3px 0 #fff, 0 6px 0 #F9C5D6; }
.bt-hero-title em { display: block; font-style: normal; font-size: clamp(2rem, 5vw, 3.8rem); text-shadow: 0 3px 0 #fff, 0 6px 0 #F9C5D6; }
.bt-hero-date { font-family: var(--font-head); font-weight: 500; font-size: clamp(1.1rem, 2.2vw, 1.5rem); color: var(--ink); margin-top: 8px !important; }
.bt-hero-place { color: var(--ink-s); font-weight: 600; margin: 2px 0 24px !important; }

/* ---------- Teddy bears (animated) ---------- */
.bt-teddy { position: absolute; z-index: 3; animation: bt-bob 4.2s ease-in-out infinite; filter: drop-shadow(0 10px 10px rgba(122, 62, 85, .18)); }
.bt-body { display: block; width: 100%; height: auto; }
.bt-armwrap { position: absolute; left: 61.5%; top: 30.4%; width: 27%; transform-origin: 50% 92%; animation: bt-wave 1.8s ease-in-out infinite; z-index: 2; }
.bt-arm { display: block; width: 100%; height: auto; }
.bt-bal { position: absolute; z-index: -1; animation: bt-bob 5s ease-in-out infinite; }
.bt-bal-a { width: 150%; left: -95%; bottom: 76%; } .bt-bal-b { width: 135%; left: 8%; bottom: 84%; animation-delay: -2s; }
.bt-t-left { left: 6%; bottom: 3%; width: clamp(120px, 16vw, 240px); }
.bt-t-right { right: 9%; bottom: 3%; width: clamp(130px, 17vw, 250px); animation-delay: -2s; }
.bt-t-right .bt-armwrap { animation-name: bt-wave-s; animation-delay: -.6s; }
.bt-t-cd-l { left: 3%; bottom: -8%; width: clamp(110px, 15vw, 210px); }
.bt-t-cd-r { right: 3%; bottom: -8%; width: clamp(110px, 15vw, 210px); animation-delay: -2s; }
.bt-teddy-row { display: flex; justify-content: center; align-items: flex-end; gap: clamp(6px, 2vw, 30px); margin: 34px auto -92px; }
.bt-teddy-row .bt-teddy { position: relative; width: clamp(110px, 18vw, 210px); filter: drop-shadow(0 10px 10px rgba(217, 80, 127, .35)); }
.bt-t-f2 { width: clamp(130px, 21vw, 250px) !important; animation-delay: -1.4s; } .bt-t-f3 { animation-delay: -2.6s; }
.bt-teddy:hover .bt-armwrap { animation-duration: .6s; }
.bt-peek { position: absolute; top: -78px; left: 50%; width: 150px; transform: translateX(-50%); z-index: 3; animation: bt-peek 4s ease-in-out infinite; pointer-events: none; }

/* ---------- Polaroids ---------- */
.bt-polaroid { position: relative; background: #FFFFFF; padding: 14px 14px 58px; border-radius: 6px; box-shadow: 0 14px 26px rgba(217, 80, 127, .22), 0 0 0 1px #FBE3EB; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.bt-polaroid img { display: block; width: 100%; aspect-ratio: 5 / 6; object-fit: cover; border-radius: 3px; }
.bt-polaroid:hover { transform: rotate(0) scale(1.05) !important; z-index: 5; }
.bt-caption { position: absolute; left: 0; right: 0; bottom: 12px; text-align: center; font-family: var(--font-hand); font-weight: 700; font-size: 1.7rem; line-height: 1.1; color: var(--pink-d); }
.bt-tape { position: absolute; top: -14px; left: 50%; width: 112px; height: 30px; transform: translateX(-50%) rotate(-3deg); background: rgba(247, 168, 191, .6); box-shadow: 0 2px 4px rgba(0, 0, 0, .08); z-index: 2; clip-path: polygon(0 10%, 4% 0, 8% 10%, 12% 0, 16% 10%, 20% 0, 24% 10%, 28% 0, 32% 10%, 36% 0, 40% 10%, 44% 0, 48% 10%, 52% 0, 56% 10%, 60% 0, 64% 10%, 68% 0, 72% 10%, 76% 0, 80% 10%, 84% 0, 88% 10%, 92% 0, 96% 10%, 100% 0, 100% 90%, 96% 100%, 92% 90%, 88% 100%, 84% 90%, 80% 100%, 76% 90%, 72% 100%, 68% 90%, 64% 100%, 60% 90%, 56% 100%, 52% 90%, 48% 100%, 44% 90%, 40% 100%, 36% 90%, 32% 100%, 28% 90%, 24% 100%, 20% 90%, 16% 100%, 12% 90%, 8% 100%, 4% 90%, 0 100%); }
.bt-tilt-l { transform: rotate(-4deg); } .bt-tilt-r { transform: rotate(3.5deg); } .bt-tilt-l2 { transform: rotate(-2deg); } .bt-tilt-r2 { transform: rotate(5deg); }

/* ---------- About / profile ---------- */
.bt-about-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: center; max-width: 1000px; margin: 60px auto 0; }
.bt-about-grid .bt-polaroid { max-width: 380px; margin: 0 auto; }
.bt-profile { position: relative; margin-top: 56px; padding: 40px 34px 26px; background: #FFFDFB; border: 3px dashed var(--blush-d); border-radius: 30px; box-shadow: 0 0 0 8px #FFFFFF, 0 16px 28px rgba(217, 80, 127, .15); }
.bt-ribbon { position: relative; display: block; width: max-content; margin: 0 auto 18px; padding: 8px 44px; background: linear-gradient(180deg, #FBB4CA, #EF7FA2); color: #fff; font: 600 1.3rem/1.3 var(--font-head); clip-path: polygon(0 0, 100% 0, 95% 50%, 100% 100%, 0 100%, 5% 50%); }
.bt-prof { display: flex; align-items: baseline; gap: 10px; padding: 9px 2px; border-bottom: 2px dotted var(--blush-d); }
.bt-prof-dot { flex: none; width: 11px; height: 11px; border-radius: 50%; background: var(--pink); align-self: center; box-shadow: 0 0 0 3px var(--blush); }
.bt-prof-k { flex: none; min-width: 124px; font-family: var(--font-head); font-weight: 600; color: var(--pink-d); }
.bt-prof-v { color: var(--ink); font-weight: 600; }

/* ---------- Countdown ---------- */
.bt-cd-date { font-family: var(--font-head); font-size: 1.3rem; margin-bottom: 8px !important; }
.bt-countdown { display: flex; justify-content: center; gap: clamp(18px, 3.4vw, 40px); flex-wrap: wrap; margin-top: 30px; }
.bt-countdown > div { width: clamp(88px, 17vw, 132px); aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: #FFFFFF; color: var(--pink-d); outline: 3px dashed #FFFFFF; outline-offset: 7px; box-shadow: 0 12px 20px rgba(217, 80, 127, .35); animation: bt-bob 4s ease-in-out infinite; }
.bt-countdown > div:nth-child(2) { animation-delay: -1s; } .bt-countdown > div:nth-child(3) { animation-delay: -2s; } .bt-countdown > div:nth-child(4) { animation-delay: -3s; }
.bt-countdown b { font-family: var(--font-head); font-weight: 700; font-size: clamp(1.8rem, 4.6vw, 2.8rem); line-height: 1.1; }
.bt-countdown span { font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-s); }

/* ---------- Milestones ---------- */
.bt-stats { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin: 40px 0 10px; }
.bt-stat { width: 156px; padding: 18px 10px 14px; text-align: center; background: #FFFFFF; border: 3px solid var(--blush-d); border-radius: 34px 34px 22px 22px; box-shadow: 0 8px 0 rgba(247, 168, 191, .35); transition: transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.bt-stat:hover { transform: translateY(-6px) rotate(-2deg); }
.bt-stat-n { display: block; font-family: var(--font-head); font-weight: 700; font-size: 2.6rem; line-height: 1.1; color: var(--pink-d); }
.bt-stat-l { font-weight: 700; font-size: .9rem; color: var(--ink-s); }
.bt-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px 24px; margin-top: 60px; padding-bottom: 36px; }
.bt-step { position: relative; margin-top: 44px; padding: 62px 18px 24px; text-align: center; background: #FFFFFF; border: 3px solid #FADCE6; border-radius: 28px; box-shadow: 0 9px 0 rgba(247, 168, 191, .35); transition: transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.bt-step:nth-child(4n+2), .bt-step:nth-child(4n+4) { transform: translateY(34px); }
.bt-step:hover { transform: translateY(-6px) !important; }
.bt-step-ico { position: absolute; left: 50%; top: -44px; width: 88px; transform: translateX(-50%); filter: drop-shadow(0 6px 6px rgba(217, 80, 127, .25)); }
.bt-month { display: inline-block; margin-bottom: 8px; padding: 2px 16px; background: var(--pink); color: #fff; font: 600 .9rem/1.7 var(--font-head); border-radius: 20px; }
.bt-step-title { font-family: var(--font-head); font-weight: 600; font-size: 1.2rem; line-height: 1.3; color: var(--pink-d); margin-bottom: 4px !important; }
.bt-step-text { font-size: .98rem; color: var(--ink-s); }

/* ---------- Collage ---------- */
.bt-collage { display: grid; grid-template-columns: repeat(3, 1fr); gap: 52px 34px; max-width: 980px; margin: 56px auto 0; }
.bt-collage .bt-polaroid:nth-child(2), .bt-collage .bt-polaroid:nth-child(5) { margin-top: 30px; }
.bt-g1 { left: 2%; top: 14%; } .bt-g2 { right: 3%; top: 55%; animation-delay: -2s; }

/* ---------- Loved ones ---------- */
.bt-frames { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; margin-top: 54px; }
.bt-frame { position: relative; border-radius: 200px 200px 24px 24px; overflow: hidden; border: 6px solid #FFFFFF; box-shadow: 0 0 0 3px var(--blush-d), 0 16px 26px rgba(217, 80, 127, .22); transition: transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.bt-frame:hover { transform: translateY(-8px) rotate(-1.5deg); }
.bt-frame img { display: block; width: 100%; aspect-ratio: 5 / 6.4; object-fit: cover; }
.bt-frame-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 8px 12px; text-align: center; font: 600 1.15rem/1.2 var(--font-head); color: #fff; background: linear-gradient(180deg, transparent, rgba(232, 120, 155, .92)); }
.bt-note-box { max-width: 720px; margin: 54px auto 0; padding: 30px 28px 34px; background: var(--blush); border: 3px dashed var(--pink); border-radius: 34px; }
.bt-note-ico { width: 54px; margin: 0 auto 6px; display: block; animation: bt-bob 3s ease-in-out infinite; }
.bt-note-text { font-weight: 600; font-size: 1.12rem; margin-bottom: 18px !important; }

/* ---------- Party ---------- */
.bt-party-grid { display: grid; grid-template-columns: .9fr 1.25fr; gap: 56px; align-items: center; margin-top: 50px; }
.bt-cake-wrap { position: relative; max-width: 380px; margin: 0 auto; }
.bt-cake { display: block; width: 100%; height: auto; filter: drop-shadow(0 14px 14px rgba(217, 80, 127, .22)); }
.bt-flame { position: absolute; left: 50%; top: 6.4%; width: 14%; transform: translateX(-50%); transform-origin: 50% 90%; animation: bt-flicker 1.1s ease-in-out infinite; z-index: 2; }
.bt-cb1 { left: -16%; top: 4%; width: 22%; } .bt-cb2 { right: -14%; top: 14%; width: 20%; animation-delay: -2s; }
.bt-schedule { position: relative; }
.bt-schedule::before { content: ""; position: absolute; left: 62px; top: 10px; bottom: 10px; border-left: 3px dotted var(--pink); }
.bt-slot { position: relative; display: flex; gap: 22px; align-items: flex-start; padding: 12px 0; }
.bt-slot-time { flex: none; width: 126px; text-align: center; padding: 8px 6px; background: #FFFFFF; color: var(--pink-d); font: 600 1.05rem/1.2 var(--font-head); border: 3px solid var(--blush-d); border-radius: 30px; position: relative; z-index: 2; }
.bt-slot-title { font-family: var(--font-head); font-weight: 600; font-size: 1.35rem; color: var(--pink-d); line-height: 1.3; }
.bt-slot-text { color: var(--ink-s); }
.bt-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 56px; }
.bt-chip { padding: 22px 16px; text-align: center; background: #FFFFFF; border: 3px dashed var(--blush-d); border-radius: 26px; }
.bt-chip-h { font-family: var(--font-head); font-weight: 600; font-size: 1.15rem; color: var(--pink-d); margin-bottom: 2px !important; }
.bt-chip-p { font-size: .97rem; color: var(--ink-s); }

/* ---------- Venue ---------- */
.bt-venue-card { position: relative; max-width: 780px; margin: 82px auto 0; padding: 52px 36px 44px; background: #FFFFFF; color: var(--ink); border-radius: 36px; box-shadow: 0 0 0 8px rgba(255, 255, 255, .5), 0 20px 34px rgba(217, 80, 127, .35); }
.bt-venue-name { font-family: var(--font-head); font-weight: 600; font-size: clamp(1.7rem, 4vw, 2.4rem); color: var(--pink-d); line-height: 1.3; }
.bt-address { margin: 4px 0 22px !important; font-size: 1.12rem; line-height: 1.9; }
.bt-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 18px; max-width: 560px; margin: 0 auto 28px; }
.bt-fact { display: flex; flex-direction: column; padding: 12px 10px; background: var(--blush); border-radius: 20px; }
.bt-fact-k { font-family: var(--font-head); font-weight: 600; color: var(--pink-d); font-size: .95rem; }
.bt-fact-v { font-weight: 600; text-decoration: none; color: var(--ink); }
a.bt-fact-v { color: var(--rose); }

/* ---------- RSVP ---------- */
.bt-rsvp { position: relative; max-width: 760px; margin: 88px auto 0; padding: 48px 38px 34px; background: #FFFDFB; border: 3px dashed var(--blush-d); border-radius: 34px; box-shadow: 0 0 0 8px #FFFFFF, 0 18px 30px rgba(217, 80, 127, .16); }
.bt-rsvp .mt_popup_form_container { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.bt-rsvp .mt_form_input:last-child { grid-column: 1 / -1; }
.bt-rsvp input, .bt-rsvp textarea { display: block; width: 100%; padding: 14px 20px; font: 600 1rem var(--font-body); color: var(--ink); background: #FFFFFF; border: 2.5px solid var(--blush-d); border-radius: 30px; }
.bt-rsvp textarea { border-radius: 24px; }
.bt-rsvp input:focus, .bt-rsvp textarea:focus { outline: 0; border-color: var(--pink-d); box-shadow: 0 0 0 4px var(--blush); }
.bt-rsvp .mtdefaultformbtn { width: 100%; margin-top: 24px; }
.bt-form-note { text-align: center; font-weight: 700; color: var(--pink-d); min-height: 1.5em; margin-top: 12px !important; }
.bt-rsvp-contact { margin-top: 22px !important; color: var(--ink-s); }

/* ---------- Footer ---------- */
.bt-footer { padding: 118px 24px 0; background: radial-gradient(circle at 50% 0%, #FBC3D3 0%, transparent 60%), linear-gradient(180deg, #F9B5CB, #EF7FA2); color: #FFFFFF; }
.bt-f-b1 { left: 6%; top: 24%; } .bt-f-b2 { right: 7%; top: 18%; animation-delay: -2s; } .bt-f-b3 { left: 20%; top: 52%; animation-delay: -4s; }
.bt-thanks { font-family: var(--font-script); font-size: clamp(1.2rem, 2.6vw, 1.8rem); }
.bt-big { font-family: var(--font-head); font-weight: 700; font-size: clamp(2.1rem, 6vw, 3.8rem); line-height: 1.15; text-shadow: 0 4px 0 rgba(217, 80, 127, .5); margin: 4px 0 8px !important; }
.bt-hashtag { font-family: var(--font-head); font-weight: 600; font-size: 1.25rem; letter-spacing: .08em; color: #FFF3C8; }
.bt-tiny { font-size: .95rem; opacity: .9; }

/* ---------- Back to top ---------- */
.bt-top { position: fixed; right: 22px; bottom: 22px; z-index: 40; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(180deg, #FBB4CA, #EF7FA2); color: #fff !important; font: 700 1.3rem/50px var(--font-head); text-align: center; text-decoration: none; cursor: pointer; box-shadow: 0 5px 0 #D9658B, 0 10px 16px rgba(217, 80, 127, .35); opacity: 0; pointer-events: none; transition: opacity .3s; }
.bt-top.bt-show { opacity: 1; pointer-events: auto; }
.bt-confetti { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 30; pointer-events: none; }

@keyframes bt-crown { 0%, 100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-7px); } }
@keyframes bt-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes bt-sway { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@keyframes bt-wave-s { 0%, 100% { transform: rotate(8deg); } 50% { transform: rotate(26deg); } }
@keyframes bt-wave { 0%, 100% { transform: rotate(14deg); } 50% { transform: rotate(52deg); } }
@keyframes bt-flicker { 0%, 100% { transform: translateX(-50%) scale(1, 1) rotate(-2deg); } 35% { transform: translateX(-50%) scale(1.08, .94) rotate(3deg); } 70% { transform: translateX(-50%) scale(.94, 1.08) rotate(-3deg); } }
@keyframes bt-drift { from { transform: translateX(-24px); } to { transform: translateX(30px); } }
@keyframes bt-peek { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-10px); } }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .bt-steps { grid-template-columns: repeat(2, 1fr); gap: 44px 22px; }
  .bt-step:nth-child(4n+2), .bt-step:nth-child(4n+4) { transform: none; }
  .bt-step:nth-child(even) { transform: translateY(26px); }
  .bt-frames { grid-template-columns: repeat(2, 1fr); }
  .bt-chips { grid-template-columns: repeat(2, 1fr); }
  .bt-one-balloon { display: none; }
}
@media (max-width: 820px) {
  .bt-sec { padding-left: 16px; padding-right: 16px; }
  .bt-about-grid, .bt-party-grid { grid-template-columns: 1fr; gap: 40px; }
  .bt-collage { grid-template-columns: repeat(2, 1fr); gap: 40px 22px; }
  .bt-collage .bt-polaroid:nth-child(n) { margin-top: 0; }
  .bt-t-left { left: -3%; width: 26vw; } .bt-t-right { right: -3%; width: 28vw; }
  .bt-hero { padding-bottom: 140px; }
  .bt-cl1, .bt-cl2 { display: none; }
}
@media (max-width: 560px) {
  .bt-steps { grid-template-columns: 1fr; }
  .bt-step:nth-child(n) { transform: none; }
  .bt-facts { grid-template-columns: 1fr; }
  .bt-rsvp .mt_popup_form_container { grid-template-columns: 1fr; }
  .bt-schedule::before { display: none; }
  .bt-slot { flex-direction: column; gap: 6px; align-items: center; text-align: center; }
  .bt-prof { flex-wrap: wrap; }
  .bt-prof-k { min-width: 100px; }
  .bt-t-cd-l, .bt-t-cd-r { display: none; }
  .bt-profile { padding: 38px 18px 22px; }
}
@media (prefers-reduced-motion: reduce) { .bt-sec *, .bt-sec *::before, .bt-sec *::after { animation: none !important; transition: none !important; } }
