@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');

body.tp-placepage-v2-celebrations-body {
    --tp-pv2-bg: #f8f6f8;
    --tp-pv2-panel: rgba(255, 255, 255, 0.94);
    --tp-pv2-line: rgba(67, 44, 79, 0.13);
    --tp-pv2-text: #251c2b;
    --tp-pv2-muted: rgba(64, 49, 72, 0.72);
    --tp-pv2-warm: #d7808e;
    --tp-pv2-warm-soft: rgba(215, 128, 142, 0.17);
    --tp-pv2-leaf: #42a39b;
    --tp-pv2-shadow: 0 24px 72px rgba(54, 37, 64, 0.13);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 246, 250, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #e09a70 0%, #d7808e 52%, #42a39b 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(29, 16, 37, 0.66) 0%, rgba(78, 41, 89, 0.28) 44%, rgba(255, 255, 255, 0.1) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 24% 28%, rgba(224, 154, 112, 0.3) 0 8%, transparent 9%), radial-gradient(circle at 70% 35%, rgba(66, 163, 155, 0.24) 0 7%, transparent 8%), radial-gradient(circle at 46% 72%, rgba(215, 128, 142, 0.24) 0 9%, transparent 10%);
    background:
        linear-gradient(135deg, rgba(66, 163, 155, 0.08) 0%, transparent 38%),
        linear-gradient(180deg, #fbf8fb 0%, #f5eff6 52%, #f7faf7 100%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2 {
    font-family: "Manrope", "Segoe UI", sans-serif;
}

body.tp-placepage-v2-celebrations-body .tp-pv2__title,
body.tp-placepage-v2-celebrations-body .tp-pv2__tagline,
body.tp-placepage-v2-celebrations-body .tp-pv2__sectionTitle,
body.tp-placepage-v2-celebrations-body .tp-pv2__panelHeader h3,
body.tp-placepage-v2-celebrations-body .tp-pv2__planCard h3,
body.tp-placepage-v2-celebrations-body .tp-pv2__aroundBody h3,
body.tp-placepage-v2-celebrations-body .tp-pv2__zoomBody h3,
body.tp-placepage-v2-celebrations-body .tp-pv2__contentCard h3,
body.tp-placepage-v2-celebrations-body .tp-pv2__ctaPanel h3,
body.tp-placepage-v2-celebrations-body .tp-pv2__reasonCard h4,
body.tp-placepage-v2-celebrations-body .tp-pv2__signatureTop h4,
body.tp-placepage-v2-celebrations-body .tp-pv2__faqItem summary {
    font-family: "Playfair Display", Georgia, serif;
}

body.tp-placepage-v2-celebrations-body .tp-pv2__heroShade {
    background:
        linear-gradient(96deg, rgba(29, 16, 37, 0.66) 0%, rgba(78, 41, 89, 0.28) 44%, rgba(255, 255, 255, 0.1) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(33, 19, 41, 0.28) 100%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2__brandMark,
body.tp-placepage-v2-celebrations-body .tp-pv2__btn--feature,
body.tp-placepage-v2-celebrations-body .tp-pv2__metaPill--warm {
    background: linear-gradient(135deg, #e09a70 0%, #d7808e 52%, #42a39b 100%);
    color: #241723;
}

body.tp-placepage-v2-celebrations-body .tp-pv2__railCard,
body.tp-placepage-v2-celebrations-body .tp-pv2__mapCard,
body.tp-placepage-v2-celebrations-body .tp-pv2__panel,
body.tp-placepage-v2-celebrations-body .tp-pv2__planCard,
body.tp-placepage-v2-celebrations-body .tp-pv2__aroundCard,
body.tp-placepage-v2-celebrations-body .tp-pv2__zoomCard,
body.tp-placepage-v2-celebrations-body .tp-pv2__contentCard,
body.tp-placepage-v2-celebrations-body .tp-pv2__ctaPanel,
body.tp-placepage-v2-celebrations-body .tp-pv2__newsPanel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 246, 250, 0.94) 100%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2[class*="tp-pv2--vertical-"] .tp-pv2__heroCopy {
    position: relative;
    overflow: hidden;
    background: var(--tp-celebration-surface);
    border-color: var(--tp-pv2-line);
}

body.tp-placepage-v2-celebrations-body .tp-pv2[class*="tp-pv2--vertical-"] .tp-pv2__heroCopy::before {
    content: "";
    position: absolute;
    top: -44px;
    right: -34px;
    z-index: 0;
    width: clamp(112px, 13vw, 178px);
    height: clamp(112px, 13vw, 178px);
    border-radius: 36% 64% 48% 52%;
    background: var(--tp-celebration-pattern);
    opacity: 0.58;
    pointer-events: none;
    transform: rotate(14deg);
}

body.tp-placepage-v2-celebrations-body .tp-pv2[class*="tp-pv2--vertical-"] .tp-pv2__heroCopy > * {
    position: relative;
    z-index: 1;
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-general_celebration_service {
    --tp-pv2-text: #251929;
    --tp-pv2-muted: rgba(69, 50, 73, 0.72);
    --tp-pv2-line: rgba(111, 75, 134, 0.15);
    --tp-pv2-warm: #c76e80;
    --tp-pv2-warm-soft: rgba(199, 110, 128, 0.16);
    --tp-pv2-leaf: #42a39b;
    --tp-pv2-accent-strong: #7d548f;
    --tp-pv2-panel: rgba(255, 250, 253, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(67, 44, 79, 0.13);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 252, 254, 0.97) 0%, rgba(249, 245, 251, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f0a26f 0%, #c76e80 50%, #42a39b 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(35, 18, 43, 0.72) 0%, rgba(112, 58, 123, 0.35) 46%, rgba(255, 230, 244, 0.1) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 24% 28%, rgba(240, 162, 111, 0.32) 0 8%, transparent 9%), radial-gradient(circle at 70% 35%, rgba(66, 163, 155, 0.26) 0 7%, transparent 8%), radial-gradient(circle at 46% 72%, rgba(199, 110, 128, 0.26) 0 9%, transparent 10%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-florist_decor,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-event_design_wedding_styling {
    --tp-pv2-text: #321726;
    --tp-pv2-muted: rgba(74, 38, 57, 0.74);
    --tp-pv2-line: rgba(202, 78, 139, 0.18);
    --tp-pv2-warm: #d94f91;
    --tp-pv2-warm-soft: rgba(217, 79, 145, 0.18);
    --tp-pv2-leaf: #4f9f72;
    --tp-pv2-accent-strong: #b93578;
    --tp-pv2-panel: rgba(255, 249, 252, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(118, 47, 83, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 251, 253, 0.97) 0%, rgba(253, 244, 249, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f6a7ca 0%, #d94f91 48%, #6caf7d 100%);
    --tp-celebration-hero-shade: linear-gradient(95deg, rgba(49, 14, 34, 0.72) 0%, rgba(148, 48, 98, 0.38) 45%, rgba(255, 221, 235, 0.12) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 32% 30%, rgba(255, 255, 255, 0.88) 0 10%, transparent 11%), radial-gradient(circle at 50% 50%, rgba(217, 79, 145, 0.26) 0 16%, transparent 17%), radial-gradient(circle at 68% 30%, rgba(108, 175, 125, 0.28) 0 13%, transparent 14%), radial-gradient(circle at 34% 70%, rgba(246, 167, 202, 0.32) 0 15%, transparent 16%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-cake_bakery_desserts,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-catering_cakes,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-celebration_catering,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-celebrationbakeryandcustomorders {
    --tp-pv2-text: #2d2119;
    --tp-pv2-muted: rgba(82, 57, 42, 0.72);
    --tp-pv2-line: rgba(190, 126, 72, 0.18);
    --tp-pv2-warm: #d28a4f;
    --tp-pv2-warm-soft: rgba(210, 138, 79, 0.17);
    --tp-pv2-leaf: #b84f7a;
    --tp-pv2-accent-strong: #a6652e;
    --tp-pv2-panel: rgba(255, 251, 245, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(112, 72, 42, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 252, 247, 0.97) 0%, rgba(251, 242, 230, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f3c37e 0%, #d28a4f 48%, #b84f7a 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(46, 28, 15, 0.74) 0%, rgba(140, 82, 38, 0.38) 46%, rgba(255, 230, 192, 0.12) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 22% 28%, rgba(243, 195, 126, 0.36) 0 15%, transparent 16%), radial-gradient(circle at 62% 44%, rgba(184, 79, 122, 0.22) 0 9%, transparent 10%), linear-gradient(90deg, rgba(210, 138, 79, 0.13) 0 5px, transparent 5px 14px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-kids_party_play,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-kids_birthday_party {
    --tp-pv2-text: #18283f;
    --tp-pv2-muted: rgba(39, 56, 82, 0.72);
    --tp-pv2-line: rgba(49, 121, 190, 0.17);
    --tp-pv2-warm: #f08f45;
    --tp-pv2-warm-soft: rgba(240, 143, 69, 0.18);
    --tp-pv2-leaf: #35a9c6;
    --tp-pv2-accent-strong: #307bd0;
    --tp-pv2-panel: rgba(248, 252, 255, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(38, 74, 113, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(251, 253, 255, 0.97) 0%, rgba(238, 248, 252, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #ffca5f 0%, #f08f45 38%, #35a9c6 72%, #8f6be8 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(15, 27, 47, 0.72) 0%, rgba(33, 86, 147, 0.36) 46%, rgba(255, 230, 126, 0.12) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 25% 28%, rgba(255, 202, 95, 0.38) 0 12%, transparent 13%), radial-gradient(circle at 72% 36%, rgba(53, 169, 198, 0.32) 0 10%, transparent 11%), radial-gradient(circle at 46% 74%, rgba(143, 107, 232, 0.26) 0 8%, transparent 9%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-park_garden_outdoor_events {
    --tp-pv2-text: #17291f;
    --tp-pv2-muted: rgba(38, 73, 51, 0.72);
    --tp-pv2-line: rgba(63, 131, 82, 0.18);
    --tp-pv2-warm: #ca9655;
    --tp-pv2-warm-soft: rgba(202, 150, 85, 0.16);
    --tp-pv2-leaf: #3f8352;
    --tp-pv2-accent-strong: #2f7444;
    --tp-pv2-panel: rgba(249, 253, 248, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(37, 85, 48, 0.13);
    --tp-celebration-surface: linear-gradient(180deg, rgba(252, 255, 250, 0.97) 0%, rgba(239, 248, 237, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #b8d98e 0%, #3f8352 52%, #ca9655 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(12, 35, 23, 0.74) 0%, rgba(45, 99, 55, 0.38) 48%, rgba(225, 244, 192, 0.12) 100%);
    --tp-celebration-pattern: radial-gradient(ellipse at 30% 38%, rgba(63, 131, 82, 0.25) 0 16%, transparent 17%), radial-gradient(ellipse at 62% 62%, rgba(184, 217, 142, 0.34) 0 14%, transparent 15%), linear-gradient(135deg, rgba(202, 150, 85, 0.12) 0 9px, transparent 9px 20px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-photography_video {
    --tp-pv2-text: #171d2c;
    --tp-pv2-muted: rgba(37, 46, 65, 0.72);
    --tp-pv2-line: rgba(53, 74, 111, 0.16);
    --tp-pv2-warm: #5f7fd7;
    --tp-pv2-warm-soft: rgba(95, 127, 215, 0.15);
    --tp-pv2-leaf: #18a7a0;
    --tp-pv2-accent-strong: #315ec5;
    --tp-pv2-panel: rgba(248, 251, 255, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(29, 51, 91, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(250, 252, 255, 0.97) 0%, rgba(238, 244, 252, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #8fb4ff 0%, #315ec5 50%, #18a7a0 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(12, 18, 32, 0.72) 0%, rgba(42, 70, 124, 0.36) 46%, rgba(214, 232, 255, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(90deg, rgba(49, 94, 197, 0.2) 0 8px, transparent 8px 18px), linear-gradient(0deg, rgba(24, 167, 160, 0.18) 0 8px, transparent 8px 18px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-event_attire_fashion_textiles,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwear,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-wedding_bridal,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwear_and_fittings,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwear_shop,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwear_wedding_planning,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwear_wedding,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwearboutique,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridal_boutique {
    --tp-pv2-text: #2b2011;
    --tp-pv2-muted: rgba(75, 57, 26, 0.74);
    --tp-pv2-line: rgba(180, 124, 38, 0.18);
    --tp-pv2-warm: #d09a2d;
    --tp-pv2-warm-soft: rgba(208, 154, 45, 0.17);
    --tp-pv2-leaf: #7e4eb8;
    --tp-pv2-accent-strong: #9a6d12;
    --tp-pv2-panel: rgba(255, 252, 244, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(105, 71, 16, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 252, 246, 0.97) 0%, rgba(252, 246, 232, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f0c66a 0%, #c3831b 45%, #7e4eb8 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(42, 27, 8, 0.72) 0%, rgba(128, 80, 15, 0.36) 46%, rgba(255, 236, 178, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(135deg, rgba(208, 154, 45, 0.15) 0 12px, transparent 12px 24px), linear-gradient(45deg, rgba(126, 78, 184, 0.12) 0 8px, transparent 8px 20px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-wedding_planner,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-wedding_planning,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-wedding_planning_services,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-bridalwear_wedding_planning,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-celebrant_ceremony {
    --tp-pv2-text: #2a211e;
    --tp-pv2-muted: rgba(82, 63, 58, 0.72);
    --tp-pv2-line: rgba(173, 135, 101, 0.18);
    --tp-pv2-warm: #c99b78;
    --tp-pv2-warm-soft: rgba(201, 155, 120, 0.17);
    --tp-pv2-leaf: #799b77;
    --tp-pv2-accent-strong: #9d6e58;
    --tp-pv2-panel: rgba(255, 252, 249, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(91, 64, 55, 0.13);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 253, 250, 0.97) 0%, rgba(249, 244, 238, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f0d7b5 0%, #c99b78 48%, #799b77 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(42, 30, 27, 0.72) 0%, rgba(121, 86, 72, 0.36) 46%, rgba(255, 241, 223, 0.12) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 24% 34%, rgba(240, 215, 181, 0.34) 0 15%, transparent 16%), radial-gradient(circle at 70% 58%, rgba(121, 155, 119, 0.24) 0 12%, transparent 13%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-event_venue,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-conference_meeting_space {
    --tp-pv2-text: #1f2028;
    --tp-pv2-muted: rgba(52, 52, 67, 0.74);
    --tp-pv2-line: rgba(101, 84, 134, 0.17);
    --tp-pv2-warm: #8b6db8;
    --tp-pv2-warm-soft: rgba(139, 109, 184, 0.16);
    --tp-pv2-leaf: #c08650;
    --tp-pv2-accent-strong: #6f55a8;
    --tp-pv2-panel: rgba(251, 250, 255, 0.95);
    --tp-pv2-shadow: 0 28px 80px rgba(56, 45, 82, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(252, 251, 255, 0.97) 0%, rgba(245, 242, 252, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #c1a8ee 0%, #7a5fb2 52%, #c08650 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(28, 22, 42, 0.72) 0%, rgba(92, 70, 132, 0.36) 46%, rgba(236, 226, 255, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(90deg, rgba(122, 95, 178, 0.16) 0 2px, transparent 2px 24px), linear-gradient(0deg, rgba(192, 134, 80, 0.14) 0 2px, transparent 2px 24px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-hotel_resort_guesthouse_events,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-cafe_brunch_showers {
    --tp-pv2-text: #162630;
    --tp-pv2-muted: rgba(40, 67, 78, 0.72);
    --tp-pv2-line: rgba(47, 139, 142, 0.16);
    --tp-pv2-warm: #d69d63;
    --tp-pv2-warm-soft: rgba(214, 157, 99, 0.16);
    --tp-pv2-leaf: #2f8b8e;
    --tp-pv2-accent-strong: #1e7880;
    --tp-pv2-panel: rgba(248, 253, 253, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(29, 82, 91, 0.13);
    --tp-celebration-surface: linear-gradient(180deg, rgba(251, 255, 255, 0.97) 0%, rgba(238, 248, 249, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #8ed3d2 0%, #2f8b8e 50%, #d69d63 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(10, 34, 43, 0.72) 0%, rgba(36, 102, 109, 0.36) 46%, rgba(218, 250, 247, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(135deg, rgba(47, 139, 142, 0.16) 0 10px, transparent 10px 22px), radial-gradient(circle at 72% 28%, rgba(214, 157, 99, 0.26) 0 10%, transparent 11%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-rentals_equipment,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-party_equipment_hire,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-party_rental,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-party_rentals,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-event_hire {
    --tp-pv2-text: #1d2227;
    --tp-pv2-muted: rgba(52, 60, 67, 0.74);
    --tp-pv2-line: rgba(76, 88, 99, 0.17);
    --tp-pv2-warm: #d29b3a;
    --tp-pv2-warm-soft: rgba(210, 155, 58, 0.17);
    --tp-pv2-leaf: #4f7e98;
    --tp-pv2-accent-strong: #a97822;
    --tp-pv2-panel: rgba(250, 251, 252, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(39, 48, 56, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(252, 253, 254, 0.97) 0%, rgba(242, 245, 247, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f0bd54 0%, #d29b3a 45%, #4f7e98 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(18, 23, 28, 0.74) 0%, rgba(69, 79, 90, 0.36) 46%, rgba(255, 215, 128, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(90deg, rgba(76, 88, 99, 0.16) 0 2px, transparent 2px 18px), linear-gradient(0deg, rgba(210, 155, 58, 0.16) 0 2px, transparent 2px 18px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-party_bar_lounge_wine {
    --tp-pv2-text: #241321;
    --tp-pv2-muted: rgba(69, 40, 63, 0.72);
    --tp-pv2-line: rgba(125, 48, 87, 0.18);
    --tp-pv2-warm: #b94a73;
    --tp-pv2-warm-soft: rgba(185, 74, 115, 0.18);
    --tp-pv2-leaf: #3ba7a0;
    --tp-pv2-accent-strong: #8a2c58;
    --tp-pv2-panel: rgba(255, 249, 253, 0.95);
    --tp-pv2-shadow: 0 28px 80px rgba(76, 25, 55, 0.15);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 251, 254, 0.97) 0%, rgba(248, 240, 246, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #d77ba0 0%, #8a2c58 50%, #3ba7a0 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(36, 14, 32, 0.76) 0%, rgba(112, 39, 79, 0.4) 46%, rgba(255, 190, 220, 0.1) 100%);
    --tp-celebration-pattern: radial-gradient(circle at 33% 38%, rgba(215, 123, 160, 0.32) 0 15%, transparent 16%), linear-gradient(135deg, rgba(59, 167, 160, 0.16) 0 7px, transparent 7px 18px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-beauty_grooming,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-celebrations_boutique_appointments {
    --tp-pv2-text: #301d29;
    --tp-pv2-muted: rgba(77, 48, 66, 0.72);
    --tp-pv2-line: rgba(190, 96, 136, 0.18);
    --tp-pv2-warm: #d8899f;
    --tp-pv2-warm-soft: rgba(216, 137, 159, 0.17);
    --tp-pv2-leaf: #8a6cbe;
    --tp-pv2-accent-strong: #b86184;
    --tp-pv2-panel: rgba(255, 250, 253, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(113, 55, 84, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(255, 252, 254, 0.97) 0%, rgba(252, 243, 248, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #f2b3c1 0%, #d8899f 48%, #8a6cbe 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(48, 22, 39, 0.72) 0%, rgba(129, 64, 99, 0.36) 46%, rgba(255, 221, 229, 0.1) 100%);
    --tp-celebration-pattern: radial-gradient(ellipse at 36% 34%, rgba(242, 179, 193, 0.34) 0 18%, transparent 19%), radial-gradient(circle at 70% 62%, rgba(138, 108, 190, 0.2) 0 11%, transparent 12%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-entertainment_mc_dj {
    --tp-pv2-text: #17172d;
    --tp-pv2-muted: rgba(43, 43, 75, 0.72);
    --tp-pv2-line: rgba(107, 75, 204, 0.18);
    --tp-pv2-warm: #7b5cff;
    --tp-pv2-warm-soft: rgba(123, 92, 255, 0.16);
    --tp-pv2-leaf: #44c778;
    --tp-pv2-accent-strong: #5b45d6;
    --tp-pv2-panel: rgba(249, 249, 255, 0.95);
    --tp-pv2-shadow: 0 28px 82px rgba(60, 44, 132, 0.15);
    --tp-celebration-surface: linear-gradient(180deg, rgba(252, 251, 255, 0.97) 0%, rgba(243, 241, 253, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #b189ff 0%, #5b45d6 50%, #44c778 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(16, 14, 43, 0.76) 0%, rgba(74, 48, 145, 0.42) 46%, rgba(195, 245, 196, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(90deg, rgba(91, 69, 214, 0.22) 0 6px, transparent 6px 14px), radial-gradient(circle at 70% 35%, rgba(68, 199, 120, 0.26) 0 9%, transparent 10%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-invitation_stationery {
    --tp-pv2-text: #17253a;
    --tp-pv2-muted: rgba(42, 57, 78, 0.72);
    --tp-pv2-line: rgba(58, 91, 135, 0.16);
    --tp-pv2-warm: #d38b61;
    --tp-pv2-warm-soft: rgba(211, 139, 97, 0.16);
    --tp-pv2-leaf: #3f75aa;
    --tp-pv2-accent-strong: #2f5e96;
    --tp-pv2-panel: rgba(250, 252, 255, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(31, 55, 86, 0.13);
    --tp-celebration-surface: linear-gradient(180deg, rgba(253, 254, 255, 0.97) 0%, rgba(243, 247, 252, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #9bbce0 0%, #3f75aa 52%, #d38b61 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(15, 31, 51, 0.72) 0%, rgba(43, 83, 128, 0.36) 46%, rgba(229, 240, 255, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(0deg, rgba(63, 117, 170, 0.15) 0 1px, transparent 1px 12px), linear-gradient(90deg, rgba(211, 139, 97, 0.13) 0 1px, transparent 1px 12px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-event_staffing_protocol {
    --tp-pv2-text: #172027;
    --tp-pv2-muted: rgba(47, 59, 68, 0.73);
    --tp-pv2-line: rgba(42, 69, 88, 0.17);
    --tp-pv2-warm: #c99a4b;
    --tp-pv2-warm-soft: rgba(201, 154, 75, 0.16);
    --tp-pv2-leaf: #4b7c87;
    --tp-pv2-accent-strong: #29485a;
    --tp-pv2-panel: rgba(250, 252, 253, 0.95);
    --tp-pv2-shadow: 0 26px 76px rgba(35, 52, 64, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(253, 254, 255, 0.97) 0%, rgba(242, 246, 248, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #d8b36b 0%, #29485a 58%, #4b7c87 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(14, 25, 34, 0.76) 0%, rgba(38, 65, 83, 0.4) 46%, rgba(245, 218, 155, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(90deg, rgba(41, 72, 90, 0.17) 0 8px, transparent 8px 18px), linear-gradient(0deg, rgba(201, 154, 75, 0.14) 0 2px, transparent 2px 18px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-event_transport {
    --tp-pv2-text: #19242e;
    --tp-pv2-muted: rgba(43, 59, 73, 0.73);
    --tp-pv2-line: rgba(50, 90, 124, 0.17);
    --tp-pv2-warm: #d8a33d;
    --tp-pv2-warm-soft: rgba(216, 163, 61, 0.17);
    --tp-pv2-leaf: #3279ad;
    --tp-pv2-accent-strong: #25608e;
    --tp-pv2-panel: rgba(250, 252, 254, 0.95);
    --tp-pv2-shadow: 0 26px 78px rgba(35, 62, 86, 0.14);
    --tp-celebration-surface: linear-gradient(180deg, rgba(253, 254, 255, 0.97) 0%, rgba(241, 247, 252, 0.94) 100%);
    --tp-celebration-accent: linear-gradient(135deg, #77aee0 0%, #3279ad 55%, #d8a33d 100%);
    --tp-celebration-hero-shade: linear-gradient(96deg, rgba(14, 29, 42, 0.74) 0%, rgba(44, 91, 128, 0.38) 46%, rgba(255, 220, 126, 0.1) 100%);
    --tp-celebration-pattern: linear-gradient(90deg, rgba(50, 121, 173, 0.15) 0 3px, transparent 3px 16px), linear-gradient(0deg, rgba(216, 163, 61, 0.17) 0 2px, transparent 2px 26px);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-florist_decor),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-event_design_wedding_styling) {
    background:
        radial-gradient(540px 360px at 12% 18%, rgba(217, 79, 145, 0.12), transparent 68%),
        radial-gradient(520px 420px at 86% 14%, rgba(79, 159, 114, 0.12), transparent 65%),
        linear-gradient(180deg, #fff8fc 0%, #fbf0f6 54%, #f5fbf6 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-cake_bakery_desserts),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-catering_cakes),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-celebration_catering),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-celebrationbakeryandcustomorders) {
    background:
        radial-gradient(520px 340px at 14% 18%, rgba(210, 138, 79, 0.11), transparent 68%),
        radial-gradient(460px 380px at 84% 10%, rgba(184, 79, 122, 0.1), transparent 65%),
        linear-gradient(180deg, #fffaf4 0%, #f8efe4 58%, #fff8fb 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-kids_party_play),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-kids_birthday_party) {
    background:
        radial-gradient(520px 340px at 12% 16%, rgba(255, 202, 95, 0.12), transparent 70%),
        radial-gradient(500px 360px at 84% 12%, rgba(53, 169, 198, 0.12), transparent 66%),
        linear-gradient(180deg, #f7fcff 0%, #eef7fb 52%, #fff7e9 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-park_garden_outdoor_events) {
    background:
        radial-gradient(560px 380px at 14% 18%, rgba(63, 131, 82, 0.13), transparent 68%),
        radial-gradient(520px 380px at 84% 12%, rgba(202, 150, 85, 0.1), transparent 64%),
        linear-gradient(180deg, #fbfff8 0%, #eef8ec 58%, #fbf7ee 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-photography_video) {
    background:
        radial-gradient(560px 380px at 14% 18%, rgba(49, 94, 197, 0.1), transparent 68%),
        radial-gradient(520px 380px at 86% 12%, rgba(24, 167, 160, 0.11), transparent 64%),
        linear-gradient(180deg, #f7fbff 0%, #edf3fb 54%, #f3fbfa 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-event_attire_fashion_textiles),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-bridalwear),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-wedding_bridal),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-bridalwear_and_fittings),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-bridalwear_shop),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-bridalwear_wedding),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-bridalwearboutique),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-bridal_boutique) {
    background:
        radial-gradient(540px 360px at 12% 18%, rgba(208, 154, 45, 0.12), transparent 68%),
        radial-gradient(500px 380px at 86% 12%, rgba(126, 78, 184, 0.1), transparent 64%),
        linear-gradient(180deg, #fffcf5 0%, #f8f0df 58%, #f6f1fb 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-wedding_planner),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-wedding_planning),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-wedding_planning_services),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-celebrant_ceremony) {
    background:
        radial-gradient(540px 360px at 12% 18%, rgba(201, 155, 120, 0.12), transparent 68%),
        radial-gradient(500px 380px at 86% 12%, rgba(121, 155, 119, 0.1), transparent 64%),
        linear-gradient(180deg, #fffdf9 0%, #f6efe8 56%, #f3f8ef 100%);
}

body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-party_bar_lounge_wine),
body.tp-placepage-v2-celebrations-body:has(.tp-pv2--vertical-entertainment_mc_dj) {
    background:
        radial-gradient(560px 380px at 14% 18%, rgba(123, 92, 255, 0.09), transparent 68%),
        radial-gradient(520px 380px at 86% 12%, rgba(185, 74, 115, 0.11), transparent 64%),
        linear-gradient(180deg, #faf8ff 0%, #f4edf7 54%, #eefbf8 100%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-florist_decor,
    .tp-pv2--vertical-event_design_wedding_styling,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-photography_video,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-bridalwear_and_fittings,
    .tp-pv2--vertical-bridalwear_shop,
    .tp-pv2--vertical-bridalwear_wedding_planning,
    .tp-pv2--vertical-bridalwear_wedding,
    .tp-pv2--vertical-bridalwearboutique,
    .tp-pv2--vertical-bridal_boutique,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-celebrant_ceremony,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-hotel_resort_guesthouse_events,
    .tp-pv2--vertical-cafe_brunch_showers,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_equipment_hire,
    .tp-pv2--vertical-party_rental,
    .tp-pv2--vertical-party_rentals,
    .tp-pv2--vertical-event_hire,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-celebrations_boutique_appointments,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery,
    .tp-pv2--vertical-event_staffing_protocol,
    .tp-pv2--vertical-event_transport
) .tp-pv2__heroShade {
    background:
        var(--tp-celebration-hero-shade),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(24, 17, 31, 0.26) 100%);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-florist_decor,
    .tp-pv2--vertical-event_design_wedding_styling,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-photography_video,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-bridalwear_and_fittings,
    .tp-pv2--vertical-bridalwear_shop,
    .tp-pv2--vertical-bridalwear_wedding_planning,
    .tp-pv2--vertical-bridalwear_wedding,
    .tp-pv2--vertical-bridalwearboutique,
    .tp-pv2--vertical-bridal_boutique,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-celebrant_ceremony,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-hotel_resort_guesthouse_events,
    .tp-pv2--vertical-cafe_brunch_showers,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_equipment_hire,
    .tp-pv2--vertical-party_rental,
    .tp-pv2--vertical-party_rentals,
    .tp-pv2--vertical-event_hire,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-celebrations_boutique_appointments,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery,
    .tp-pv2--vertical-event_staffing_protocol,
    .tp-pv2--vertical-event_transport
) :is(.tp-pv2__brandMark, .tp-pv2__btn--feature, .tp-pv2__metaPill--warm) {
    background: var(--tp-celebration-accent);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-florist_decor,
    .tp-pv2--vertical-event_design_wedding_styling,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-photography_video,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-bridalwear_and_fittings,
    .tp-pv2--vertical-bridalwear_shop,
    .tp-pv2--vertical-bridalwear_wedding_planning,
    .tp-pv2--vertical-bridalwear_wedding,
    .tp-pv2--vertical-bridalwearboutique,
    .tp-pv2--vertical-bridal_boutique,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-celebrant_ceremony,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-hotel_resort_guesthouse_events,
    .tp-pv2--vertical-cafe_brunch_showers,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_equipment_hire,
    .tp-pv2--vertical-party_rental,
    .tp-pv2--vertical-party_rentals,
    .tp-pv2--vertical-event_hire,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-celebrations_boutique_appointments,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery,
    .tp-pv2--vertical-event_staffing_protocol,
    .tp-pv2--vertical-event_transport
) :is(.tp-pv2__railCard, .tp-pv2__mapCard, .tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard, .tp-pv2__zoomCard, .tp-pv2__contentCard, .tp-pv2__ctaPanel, .tp-pv2__newsPanel) {
    background: var(--tp-celebration-surface);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-florist_decor,
    .tp-pv2--vertical-event_design_wedding_styling,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-photography_video,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-bridalwear_and_fittings,
    .tp-pv2--vertical-bridalwear_shop,
    .tp-pv2--vertical-bridalwear_wedding_planning,
    .tp-pv2--vertical-bridalwear_wedding,
    .tp-pv2--vertical-bridalwearboutique,
    .tp-pv2--vertical-bridal_boutique,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-celebrant_ceremony,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-hotel_resort_guesthouse_events,
    .tp-pv2--vertical-cafe_brunch_showers,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_equipment_hire,
    .tp-pv2--vertical-party_rental,
    .tp-pv2--vertical-party_rentals,
    .tp-pv2--vertical-event_hire,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-celebrations_boutique_appointments,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery,
    .tp-pv2--vertical-event_staffing_protocol,
    .tp-pv2--vertical-event_transport
) :is(.tp-pv2__heroGrid, .tp-pv2__sectionIntro, .tp-pv2__railCard, .tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard, .tp-pv2__menuVisual) {
    position: relative;
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery
) :is(.tp-pv2__railCard, .tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard) {
    overflow: hidden;
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery
) :is(.tp-pv2__railCard, .tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard)::before {
    content: "";
    position: absolute;
    right: -32px;
    bottom: -32px;
    z-index: 0;
    width: 118px;
    height: 118px;
    border-radius: 34px;
    background: var(--tp-celebration-pattern);
    opacity: 0.72;
    pointer-events: none;
    transform: rotate(-8deg);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(
    .tp-pv2--vertical-general_celebration_service,
    .tp-pv2--vertical-cake_bakery_desserts,
    .tp-pv2--vertical-catering_cakes,
    .tp-pv2--vertical-celebration_catering,
    .tp-pv2--vertical-celebrationbakeryandcustomorders,
    .tp-pv2--vertical-kids_party_play,
    .tp-pv2--vertical-kids_birthday_party,
    .tp-pv2--vertical-park_garden_outdoor_events,
    .tp-pv2--vertical-event_attire_fashion_textiles,
    .tp-pv2--vertical-bridalwear,
    .tp-pv2--vertical-wedding_bridal,
    .tp-pv2--vertical-wedding_planner,
    .tp-pv2--vertical-wedding_planning,
    .tp-pv2--vertical-wedding_planning_services,
    .tp-pv2--vertical-event_venue,
    .tp-pv2--vertical-conference_meeting_space,
    .tp-pv2--vertical-rentals_equipment,
    .tp-pv2--vertical-party_bar_lounge_wine,
    .tp-pv2--vertical-beauty_grooming,
    .tp-pv2--vertical-entertainment_mc_dj,
    .tp-pv2--vertical-invitation_stationery
) :is(.tp-pv2__railCard, .tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard) > * {
    position: relative;
    z-index: 1;
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(.tp-pv2--vertical-florist_decor, .tp-pv2--vertical-event_design_wedding_styling) :is(.tp-pv2__sectionIntro, .tp-pv2__railCard, .tp-pv2__menuVisual)::before {
    content: "";
    position: absolute;
    pointer-events: none;
    width: 78px;
    height: 78px;
    border-radius: 54% 46% 58% 42%;
    background: var(--tp-celebration-pattern);
    opacity: 0.74;
    z-index: 1;
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(.tp-pv2--vertical-florist_decor, .tp-pv2--vertical-event_design_wedding_styling) .tp-pv2__sectionIntro::before {
    top: 14px;
    right: clamp(18px, 5vw, 86px);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(.tp-pv2--vertical-florist_decor, .tp-pv2--vertical-event_design_wedding_styling) .tp-pv2__railCard::before {
    right: 18px;
    bottom: 14px;
    transform: rotate(-18deg) scale(0.82);
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(.tp-pv2--vertical-florist_decor, .tp-pv2--vertical-event_design_wedding_styling) .tp-pv2__menuVisual::before {
    right: 16px;
    top: 16px;
    transform: rotate(20deg) scale(0.72);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-photography_video .tp-pv2__heroGrid {
    z-index: 1;
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-photography_video .tp-pv2__hero::after,
body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-photography_video .tp-pv2__menuVisual::before {
    content: "";
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.42);
    box-shadow: inset 0 0 0 9px rgba(255, 255, 255, 0.08), 0 18px 50px rgba(49, 94, 197, 0.18);
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-photography_video .tp-pv2__hero::after {
    right: clamp(22px, 5vw, 76px);
    bottom: clamp(24px, 6vw, 88px);
    z-index: 0;
    width: 138px;
    height: 92px;
    border-radius: 18px;
}

body.tp-placepage-v2-celebrations-body .tp-pv2--vertical-photography_video .tp-pv2__menuVisual::before {
    right: 18px;
    top: 18px;
    z-index: 1;
    width: 86px;
    height: 58px;
    border-radius: 14px;
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(.tp-pv2--vertical-event_attire_fashion_textiles, .tp-pv2--vertical-bridalwear, .tp-pv2--vertical-wedding_bridal, .tp-pv2--vertical-bridalwear_and_fittings, .tp-pv2--vertical-bridalwear_shop, .tp-pv2--vertical-bridalwear_wedding, .tp-pv2--vertical-bridalwearboutique, .tp-pv2--vertical-bridal_boutique) :is(.tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard) {
    background:
        var(--tp-celebration-pattern),
        var(--tp-celebration-surface);
    background-size: 24px 24px, auto;
}

body.tp-placepage-v2-celebrations-body .tp-pv2:is(.tp-pv2--vertical-event_venue, .tp-pv2--vertical-conference_meeting_space) :is(.tp-pv2__panel, .tp-pv2__planCard, .tp-pv2__aroundCard) {
    border-color: rgba(123, 97, 174, 0.2);
}
