:root {
  --tour3-plum: #35102f;
  --tour3-wine: #6f1648;
  --tour3-pink: #bf1f6c;
  --tour3-gold: #f2b63f;
  --tour3-cream: #fff9ef;
  --tour3-ink: #251421;
}

.tour3-home { background: var(--tour3-cream); color: var(--tour3-ink); overflow: hidden; scroll-behavior:smooth; }
.tour3-home * { box-sizing: border-box; }
html { scroll-behavior:smooth; }
#kumkum-ratri-home, #pune-tour-3, #tour3-locations, #more-from-rohini, .tour3-batch[id], .tour3-journey[id] { scroll-margin-top:92px; }
.kumkum-home-header { min-height:100svh; position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr); align-items:center; gap:clamp(32px,6vw,92px); padding:clamp(110px,12vw,170px) clamp(22px,7vw,110px) clamp(76px,9vw,120px); overflow:hidden; isolation:isolate; color:#fff8df; background:radial-gradient(circle at 82% 18%,rgba(255,178,55,.24),transparent 27%),radial-gradient(circle at 17% 70%,rgba(210,50,30,.28),transparent 31%),linear-gradient(135deg,#2b0904 0%,#651409 48%,#a52c13 100%); }
.kumkum-home-header::before,.kumkum-home-header::after { content:""; position:absolute; z-index:-1; pointer-events:none; }
.kumkum-home-header::before { inset:0; opacity:.28; background-image:radial-gradient(circle,#f5c45c 1px,transparent 1px); background-size:25px 25px; mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent); }
.kumkum-home-header::after { width:56vw; height:56vw; max-width:780px; max-height:780px; right:-18vw; top:-22vw; border:1px solid rgba(242,182,63,.28); border-radius:50%; box-shadow:0 0 0 70px rgba(242,182,63,.035),0 0 0 140px rgba(242,182,63,.025); }
.kumkum-home-nav { position:absolute; z-index:5; top:0; left:0; right:0; height:82px; padding:0 clamp(22px,7vw,110px); display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(255,224,156,.17); background:linear-gradient(180deg,rgba(45,8,3,.82),rgba(45,8,3,.08)); backdrop-filter:blur(8px); }
.kumkum-home-brand { display:flex; align-items:center; gap:11px; color:white; text-decoration:none; }
.kumkum-home-brand img { width:46px; height:46px; object-fit:contain; filter:drop-shadow(0 3px 12px rgba(0,0,0,.3)); }
.kumkum-home-brand span { display:flex; flex-direction:column; }
.kumkum-home-brand b { font-size:.92rem; }
.kumkum-home-brand small { color:#d8bfcf; font-size:.62rem; letter-spacing:.06em; }
.kumkum-home-nav > div { display:flex; align-items:center; gap:clamp(10px,1.5vw,22px); }
.kumkum-home-nav > div a { color:#f8eaf1; text-decoration:none; font-size:.78rem; font-weight:850; }
.kumkum-home-nav > div a.nav-book { padding:10px 16px; color:#35102f; background:var(--tour3-gold); border-radius:999px; }
.kumkum-home-image { position:relative; min-height:640px; order:2; }
.kumkum-home-image img { width:100%; height:100%; min-height:640px; object-fit:cover; object-position:center; border-radius:50% 50% 18px 18px; filter:saturate(1.08) contrast(1.03); box-shadow:0 36px 90px rgba(0,0,0,.5); }
.kumkum-home-image::before { content:""; position:absolute; inset:-13px; z-index:-1; border:1px solid rgba(242,182,63,.72); border-radius:50% 50% 25px 25px; }
.kumkum-home-image::after { content:"GARBA · MUSIC · FAMILY · CELEBRATION"; position:absolute; left:50%; bottom:22px; transform:translateX(-50%); width:max-content; max-width:90%; padding:10px 16px; color:#321126; background:rgba(255,247,222,.92); border-radius:999px; font-size:.67rem; font-weight:950; letter-spacing:.13em; }
.kumkum-home-copy { position:relative; z-index:2; }
.kumkum-home-kicker { display:block; color:#f6c85f; font-size:.74rem; font-weight:950; letter-spacing:.18em; }
.kumkum-home-wordmark { display:flex; align-items:baseline; gap:12px; margin:18px 0 16px; }
.kumkum-home-wordmark b { color:#ffd36f; font-size:clamp(2.3rem,5vw,4.6rem); line-height:1; }
.kumkum-home-wordmark em { color:#fff; font-size:clamp(2.1rem,4.6vw,4.2rem); font-family:Georgia,serif; }
.kumkum-home-copy h1 { margin:0; max-width:780px; font-size:clamp(3.4rem,7vw,7rem); line-height:.92; letter-spacing:-.06em; }
.kumkum-home-copy h1 strong { color:#ffd36f; font-weight:inherit; }
.kumkum-home-copy > p { max-width:690px; margin:24px 0; color:#f1dce9; font-size:clamp(1rem,1.45vw,1.22rem); line-height:1.68; }
.kumkum-home-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:680px; margin:28px 0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.kumkum-home-facts span { padding:16px 12px 16px 0; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.18); }
.kumkum-home-facts span + span { padding-left:18px; }
.kumkum-home-facts span:last-child { border-right:0; }
.kumkum-home-facts small { color:#dcb9cf; font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.kumkum-home-facts b { margin-top:5px; color:#fff; font-size:1.15rem; }
.kumkum-home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; }
.kumkum-home-actions a { padding:16px 21px; border-radius:999px; color:#481006; background:linear-gradient(135deg,#ffe39a,#e9a52b); box-shadow:0 14px 34px rgba(0,0,0,.28); text-decoration:none; font-weight:950; }
.kumkum-home-actions a.secondary { color:#fff2d0; background:transparent; border:1px solid rgba(255,255,255,.42); box-shadow:none; }
.kumkum-home-note { display:block; max-width:660px; margin-top:18px; color:#dcb9cf; line-height:1.5; }
.kumkum-home-seal { position:absolute; right:clamp(18px,3vw,50px); bottom:28px; width:132px; height:132px; display:grid; place-content:center; text-align:center; border:1px solid rgba(255,211,111,.76); border-radius:50%; color:#ffd36f; transform:rotate(5deg); background:rgba(72,16,6,.8); backdrop-filter:blur(8px); }
.kumkum-home-seal span { font-size:.56rem; letter-spacing:.16em; }
.kumkum-home-seal b { margin-top:5px; font-size:1rem; line-height:1.05; }
.kumkum-to-tour { padding:15px clamp(22px,7vw,110px); display:flex; justify-content:center; align-items:center; gap:14px; color:#35102f; background:#f5b82e; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.kumkum-to-tour i { width:38px; height:1px; background:rgba(53,16,47,.5); }
.kumkum-to-tour b { font-weight:950; }
.tour3-hero { min-height: 82vh; padding: clamp(92px, 10vw, 144px) clamp(22px, 7vw, 110px) 72px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); align-items: center; gap: clamp(30px, 6vw, 90px); color: white; background: radial-gradient(circle at 78% 24%, rgba(191,31,108,.44), transparent 31%), linear-gradient(135deg, #240b23 0%, #511139 56%, #8e1b55 100%); position: relative; isolation: isolate; }
.tour3-hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.16; background-image: radial-gradient(circle, #f2b63f 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(90deg, #000, transparent 66%); }
.tour3-kicker, .tour3-section-head > span { display:block; color:var(--tour3-gold); font-size:.74rem; font-weight:900; letter-spacing:.16em; }
.tour3-hero h1 { margin:.35rem 0 0; font-size:clamp(4rem, 9vw, 8.5rem); line-height:.82; letter-spacing:-.07em; }
.tour3-hero h1 em { color:var(--tour3-gold); font-style:normal; }
.tour3-hero h2 { margin:1.15rem 0 1rem; font-size:clamp(1.55rem, 3vw, 2.8rem); font-weight:650; }
.tour3-hero p { max-width:650px; font-size:clamp(1rem, 1.4vw, 1.2rem); line-height:1.65; color:#f8eafa; }
.tour3-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:28px; }
.tour3-primary, .tour3-book { text-decoration:none; font-weight:900; border-radius:999px; }
.tour3-primary { background:var(--tour3-gold); color:#321126; padding:16px 24px; box-shadow:0 12px 34px rgba(0,0,0,.24); }
.tour3-actions > span { color:#f8dceb; font-size:.9rem; }
.tour3-actions > span b { color:white; font-size:1.25rem; }
.tour3-hero-art { position:relative; min-height:520px; }
.tour3-hero-art img { width:100%; height:100%; min-height:520px; object-fit:cover; border-radius:40px 40px 160px 40px; box-shadow:0 32px 80px rgba(0,0,0,.38); }
.tour3-hero-art::after { content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.45); border-radius:30px 30px 150px 30px; pointer-events:none; }
.tour3-hero-art > div { position:absolute; left:-34px; bottom:32px; display:flex; align-items:center; gap:12px; padding:18px 22px; border-radius:20px; background:white; color:var(--tour3-plum); box-shadow:0 20px 44px rgba(0,0,0,.25); }
.tour3-hero-art b { font-size:2.5rem; color:var(--tour3-pink); }
.tour3-hero-art span { font-size:.8rem; font-weight:800; line-height:1.3; text-transform:uppercase; letter-spacing:.06em; }
.tour3-urgency { background:var(--tour3-gold); color:#35102f; padding:14px clamp(22px, 7vw, 110px); display:flex; justify-content:center; gap:14px; text-align:center; }
.tour3-urgency strong { font-weight:950; }
.tour3-locations, .tour3-other { padding:clamp(64px, 8vw, 110px) clamp(18px, 7vw, 110px); }
.tour3-section-head { max-width:760px; margin-bottom:38px; }
.tour3-section-head h2 { margin:.3rem 0 .65rem; color:var(--tour3-plum); font-size:clamp(2.25rem, 5vw, 4.8rem); line-height:1; letter-spacing:-.045em; }
.tour3-section-head p { margin:0; color:#6d5866; font-size:1.05rem; line-height:1.6; }
.tour3-month-block + .tour3-month-block { margin-top:56px; }
.tour3-month { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.tour3-month > span { display:grid; place-items:center; width:56px; height:56px; border-radius:16px; background:var(--tour3-plum); color:var(--tour3-gold); font-size:1.35rem; font-weight:950; }
.tour3-month div { display:flex; flex-direction:column; }
.tour3-month small { color:var(--tour3-pink); font-weight:900; letter-spacing:.12em; }
.tour3-month b { color:var(--tour3-plum); }
.tour3-outstation { padding:clamp(24px,4vw,42px); border:1px solid #e5c78f; border-radius:30px; background:linear-gradient(145deg,#fff9ec,#f8ead5); }
.tour3-outstation-intro { max-width:720px; margin:-3px 0 24px 70px; color:#6d5866; line-height:1.55; }
.tour3-outstation .tour3-month > span { background:#821f13; color:#ffd36f; }
.tour3-city-links { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px 70px; }
.tour3-city-links a { padding:9px 15px; border:1px solid #d7b77c; border-radius:999px; color:#6e1a12; background:#fffaf1; font-size:.78rem; font-weight:900; text-decoration:none; }
.tour3-city-links a:hover { color:white; background:#821f13; border-color:#821f13; }
.tour3-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.tour3-batch { min-height:360px; display:grid; grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr); background:white; border:1px solid #ecdaca; border-radius:28px; overflow:hidden; box-shadow:0 18px 60px rgba(68,17,50,.08); transition:transform .2s ease, box-shadow .2s ease; }
.tour3-batch:hover { transform:translateY(-4px); box-shadow:0 24px 70px rgba(68,17,50,.14); }
.tour3-photo { background:linear-gradient(0deg,rgba(53,16,47,.28),transparent), var(--batch-image) center/cover; }
.tour3-batch-copy { padding:28px; display:flex; flex-direction:column; }
.tour3-live { color:#8c174f; font-size:.72rem; text-transform:uppercase; font-weight:950; letter-spacing:.1em; }
.tour3-live i { display:inline-block; width:8px; height:8px; margin-right:8px; border-radius:50%; background:#e42d64; box-shadow:0 0 0 5px rgba(228,45,100,.12); }
.tour3-batch h3 { margin:12px 0 5px; color:var(--tour3-plum); font-size:clamp(1.7rem,3vw,2.5rem); }
.tour3-batch p { color:#6d5866; line-height:1.5; }
.tour3-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:8px 0 16px; }
.tour3-contact-grid a { min-width:0; padding:12px; border:1px solid #eaded3; border-radius:14px; color:var(--tour3-plum); background:#fffaf5; text-decoration:none; }
.tour3-contact-grid small,.tour3-contact-grid b,.tour3-contact-grid span { display:block; }
.tour3-contact-grid small { margin-bottom:4px; color:#a52468; font-size:.58rem; font-weight:950; letter-spacing:.11em; }
.tour3-contact-grid b { overflow:hidden; font-size:.77rem; line-height:1.3; text-overflow:ellipsis; }
.tour3-contact-grid span { margin-top:5px; color:#7b596d; font-size:.66rem; font-weight:800; }
.tour3-contact-grid a:hover { border-color:#bf1f6c; background:#fff3f8; }
.tour3-price { display:flex; gap:22px; align-items:end; padding:18px 0 14px; border-top:1px solid #f0e4db; border-bottom:1px solid #f0e4db; }
.tour3-price > span { display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:4px; }
.tour3-price small { grid-column:1/-1; color:#816d79; font-weight:900; letter-spacing:.08em; font-size:.62rem; }
.tour3-price strong { color:var(--tour3-pink); font-size:2rem; }
.tour3-price b { color:#8b7783; font-size:1.25rem; text-decoration:line-through; }
.tour3-price em { font-style:normal; font-size:.72rem; color:#816d79; }
.tour3-live-offer { display:flex; flex-direction:column; gap:4px; margin-top:4px; padding:15px 16px; border:1px solid #ead6b3; border-radius:15px; background:linear-gradient(135deg,#fff9ec,#fff2dc); }
.tour3-live-offer small { color:#a52468; font-size:.62rem; font-weight:950; letter-spacing:.1em; }
.tour3-live-offer b { color:var(--tour3-plum); font-size:.9rem; }
.tour3-live-offer span { color:#735f6b; font-size:.72rem; line-height:1.42; }
.tour3-cue { margin:.85rem 0 1rem; font-size:.82rem; font-weight:750; color:#8c174f !important; }
.tour3-book { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 16px; color:white; background:linear-gradient(90deg,var(--tour3-wine),var(--tour3-pink)); }
.tour3-reassurance { padding:28px clamp(18px,7vw,110px); display:grid; grid-template-columns:repeat(3,1fr); background:#36112f; color:white; }
.tour3-reassurance > div { padding:18px clamp(14px,3vw,36px); display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.14); }
.tour3-reassurance > div:last-child { border-right:0; }
.tour3-reassurance b { color:var(--tour3-gold); font-size:1.05rem; }
.tour3-reassurance span { margin-top:5px; color:#eadce6; font-size:.85rem; }
.tour3-other { background:#f5ecdf; }
.tour3-section-head.compact h2 { font-size:clamp(2rem,4vw,3.5rem); }
.tour3-other-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.tour3-journey { min-height:250px; padding:24px; border-radius:22px; display:flex; flex-direction:column; background:white; border:1px solid #ead9cb; }
.tour3-journey small { color:var(--tour3-pink); font-weight:900; letter-spacing:.1em; }
.tour3-journey h3 { margin:14px 0 8px; color:var(--tour3-plum); font-size:1.45rem; }
.tour3-journey p { color:#6d5866; line-height:1.5; }
.tour3-journey a { margin-top:auto; color:var(--tour3-wine); font-weight:900; text-decoration:none; }
.tour3-primary:focus-visible, .tour3-book:focus-visible, .tour3-journey a:focus-visible { outline:3px solid white; outline-offset:3px; }

@media (max-width: 980px) {
  .kumkum-home-nav > div a { font-size:.7rem; }
  .kumkum-home-nav > div a[href="#more-from-rohini"] { display:none; }
  .kumkum-home-header { grid-template-columns:1fr; padding-top:122px; background:linear-gradient(90deg,rgba(43,9,4,.98) 0%,rgba(101,20,9,.92) 62%,rgba(165,44,19,.69) 100%),url('/images/rohini-shakti-hero-v2.png') center/cover; }
  .kumkum-home-copy { order:1; }
  .kumkum-home-image { display:none; }
  .kumkum-home-copy { max-width:760px; }
  .kumkum-home-seal { top:auto; bottom:28px; }
  .tour3-hero { display:flex; flex-direction:column; align-items:stretch; width:100%; height:auto !important; min-height:0 !important; max-height:none !important; margin:0; padding:76px clamp(22px,7vw,64px) 68px; overflow:visible; }
  .tour3-hero-copy { position:static !important; width:100%; max-width:760px; transform:none !important; }
  .tour3-actions { position:static !important; }
  .tour3-hero-art { display:none; }
  .tour3-urgency { position:relative; z-index:2; }
  .tour3-locations { position:relative; z-index:1; clear:both; }
  .tour3-grid { grid-template-columns:1fr; }
  .tour3-other-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 640px) {
  .kumkum-home-header { min-height:auto; padding:86px 18px 62px; gap:42px; }
  .kumkum-home-nav { height:68px; padding:0 16px; }
  .kumkum-home-brand img { width:38px; height:38px; }
  .kumkum-home-brand small { display:none; }
  .kumkum-home-nav > div { gap:8px; }
  .kumkum-home-nav > div a:not(.nav-book):not(.nav-location) { display:none; }
  .kumkum-home-nav > div a.nav-location { display:inline-flex; }
  .kumkum-home-nav > div a.nav-book { padding:9px 13px; }
  .kumkum-home-wordmark { margin-top:10px; }
  .kumkum-home-copy h1 { font-size:3.65rem; }
  .kumkum-home-facts { grid-template-columns:1fr; }
  .kumkum-home-facts span,.kumkum-home-facts span + span { padding:12px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .kumkum-home-facts span:last-child { border-bottom:0; }
  .kumkum-home-actions { align-items:stretch; flex-direction:column; }
  .kumkum-home-actions a { text-align:center; }
  .kumkum-home-seal { display:none; }
  .kumkum-home-seal b { font-size:.77rem; }
  .kumkum-to-tour { flex-wrap:wrap; gap:7px; text-align:center; }
  .kumkum-to-tour i { display:none; }
  .tour3-hero { padding:64px 18px 52px; gap:24px; }
  .tour3-hero h1 { font-size:clamp(3.65rem,20vw,5.3rem); }
  .tour3-hero h2 { margin-top:.85rem; }
  .tour3-actions { align-items:stretch; flex-direction:column; }
  .tour3-primary { text-align:center; }
  .tour3-hero-art { min-height:310px; }
  .tour3-hero-art img { min-height:310px; border-radius:26px 26px 88px 26px; }
  .tour3-hero-art::after { border-radius:18px 18px 80px 18px; }
  .tour3-hero-art > div { left:12px; bottom:-16px; }
  .tour3-urgency { align-items:center; flex-direction:column; gap:2px; font-size:.84rem; }
  .tour3-locations, .tour3-other { padding:58px 14px; }
  .tour3-outstation { padding:22px 12px; border-radius:22px; }
  .tour3-outstation-intro { margin:0 2px 20px; }
  .tour3-city-links { margin:0 2px 20px; }
  .tour3-section-head { padding:0 5px; }
  .tour3-section-head h2 { font-size:2.7rem; }
  .tour3-batch { grid-template-columns:1fr; min-height:0; }
  .tour3-photo { min-height:190px; }
  .tour3-batch-copy { padding:22px; }
  .tour3-contact-grid { grid-template-columns:1fr; }
  .tour3-price { justify-content:space-between; }
  .tour3-reassurance { grid-template-columns:1fr; padding:12px 20px; }
  .tour3-reassurance > div { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .tour3-reassurance > div:last-child { border-bottom:0; }
  .tour3-other-grid { grid-template-columns:1fr; }
  .tour3-journey { min-height:210px; }
}

@media (prefers-reduced-motion: reduce) {
  .tour3-batch { transition:none; }
}

.tour-offer-gate-copy { max-width:720px; color:#6e5a68; line-height:1.6; }
.tour-live-booking .tour-booking-shell { position:relative; }
html.tour-deep-link-resolving .tour-live-booking .tour-booking-stage { opacity:0; pointer-events:none; }
html.tour-deep-link-resolving .tour-live-booking .tour-booking-shell::after {
  content:"Preparing your selected offer…";
  position:absolute;
  z-index:20;
  inset:82px 24px 24px;
  display:grid;
  place-items:center;
  min-height:340px;
  border-radius:22px;
  color:#5b2148;
  background:linear-gradient(115deg,#fff8ee 20%,#f8e9f1 45%,#fff8ee 70%);
  background-size:220% 100%;
  box-shadow:inset 0 0 0 1px #ead9e2;
  font:900 clamp(1rem,2vw,1.25rem) Manrope,sans-serif;
  animation:tour-deep-link-loading 1.25s linear infinite;
}
@keyframes tour-deep-link-loading { to { background-position:-220% 0; } }
.tour-price-strip-hidden-at-gate { display:none !important; }
.tour-generic-rate-hidden { display:none !important; }
.tour-card-progress { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; margin:-2px 0 15px; }
.tour-card-progress::before { content:""; grid-column:1/-1; grid-row:1; height:9px; border-radius:999px; background:#eadfd5; }
.tour-card-progress i { position:relative; z-index:1; grid-column:1/-1; grid-row:1; display:block; min-width:50%; height:9px; border-radius:999px; background:linear-gradient(90deg,#f1b73f,#c51c69); }
.tour-card-progress small { grid-column:1/-1; color:#7d6574; font-size:.65rem; text-align:right; }
.tour-card-confetti { position:fixed; z-index:99999; inset:0; overflow:hidden; pointer-events:none; }
.tour-card-confetti i { position:absolute; top:-16px; left:calc(var(--x) * 1%); width:8px; height:14px; border-radius:2px; background:hsl(calc(var(--x) * 3.6),78%,55%); animation:tour-card-confetti-fall 2s ease-in var(--d) forwards; }
@keyframes tour-card-confetti-fall { to { transform:translateY(105vh) rotate(620deg); opacity:.85; } }
.tour-unlock-notice {
  position:fixed;
  z-index:100000;
  top:50%;
  left:50%;
  width:min(calc(100% - 32px),430px);
  padding:24px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,211,111,.72);
  border-radius:24px;
  color:#fff;
  background:linear-gradient(145deg,rgba(53,16,47,.97),rgba(126,24,76,.97));
  box-shadow:0 30px 100px rgba(34,7,28,.45);
  text-align:center;
  backdrop-filter:blur(16px);
  pointer-events:none;
  animation:tour-unlock-arrive .38s cubic-bezier(.2,.85,.25,1.2) both;
}
.tour-unlock-notice small { display:block; color:#ffd36f; font-size:.7rem; font-weight:950; letter-spacing:.14em; }
.tour-unlock-notice strong { display:block; margin:10px 0 5px; color:#fff; font-size:clamp(2.5rem,8vw,4rem); line-height:1; }
.tour-unlock-notice strong span { color:#ead9e3; font-size:.8rem; }
.tour-unlock-notice p { margin:11px 0 0; color:#ffe8f3; font-size:.9rem; font-weight:800; }
.tour-unlock-notice.leaving { animation:tour-unlock-leave .45s ease forwards; }
@keyframes tour-unlock-arrive { from { opacity:0; transform:translate(-50%,-42%) scale(.88); } }
@keyframes tour-unlock-leave { to { opacity:0; transform:translate(-50%,-58%) scale(.96); } }

@media (prefers-reduced-motion:reduce) {
  .tour-card-confetti { display:none; }
  .tour-unlock-notice { animation:none; }
  .tour-unlock-notice.leaving { animation:none; opacity:0; }
  html.tour-deep-link-resolving .tour-live-booking .tour-booking-shell::after { animation:none; }
}

/* Focused unlocked-offer state: one decision, no dead grid space. */
.tour-live-booking.tour-single-offer .tour-booking-shell {
  width:min(100% - 32px, 780px);
  padding:clamp(18px,4vw,34px);
}
.tour-live-booking.tour-single-offer .tour-booking-tools {
  margin-bottom:18px;
}
.tour-live-booking.tour-single-offer .tour-studio-link {
  margin:0 0 10px;
}
.tour-live-booking.tour-single-offer .tour-booking-stage {
  text-align:center;
}
.tour-live-booking.tour-single-offer .tour-booking-stage > .tour-back {
  margin:0 auto 7px;
  padding:6px 10px;
  color:#876c7d;
  font-size:.72rem;
}
.tour-live-booking.tour-single-offer .tour-booking-stage > h2 {
  margin:0 0 16px;
  font-size:clamp(2rem,5vw,3rem);
}
.tour-live-booking.tour-single-offer .tour-workshop-cards {
  display:block;
  width:100%;
}
.tour-live-booking.tour-single-offer .tour-workshop-card:not([hidden]) {
  width:min(100%, 650px);
  margin:0 auto;
  padding:clamp(22px,4vw,34px);
  display:flex;
  flex-direction:column;
  text-align:left;
  border:1px solid #ead5df;
  border-radius:24px;
  background:linear-gradient(145deg,#fff 55%,#fff7fb);
  box-shadow:0 22px 60px rgba(70,18,51,.13);
}
.tour-live-booking.tour-single-offer .tour-workshop-card > header { order:1; }
.tour-live-booking.tour-single-offer .tour-workshop-card > .tour-card-price { order:2; margin:18px 0 9px; padding:20px; display:grid !important; grid-template-columns:1fr !important; gap:0; border:1px solid #efd9ad; border-radius:18px; background:linear-gradient(135deg,#fff8e7,#fff0f7); }
.tour-live-booking.tour-single-offer .tour-card-price > div { width:100%; }
.tour-live-booking.tour-single-offer .tour-workshop-card > .tour-seat-alert { order:3; margin:4px 0 8px; color:#a31c59; font-weight:900; }
.tour-live-booking.tour-single-offer .tour-workshop-card > .tour-card-progress { order:4; margin:0 0 20px; }
.tour-live-booking.tour-single-offer .tour-workshop-card > h3 { order:5; margin-top:0; }
.tour-live-booking.tour-single-offer .tour-workshop-card > p:not(.tour-seat-alert) { order:6; }
.tour-live-booking.tour-single-offer .tour-workshop-card > .tour-instructor-contact { order:7; }
.tour-live-booking.tour-single-offer .tour-workshop-card > .tour-participant-picker { order:8; }
.tour-live-booking.tour-single-offer .tour-workshop-card > .tour-next { order:9; width:100%; margin-top:14px; justify-content:center; padding:16px 20px; font-size:1rem; }
.tour-live-booking.tour-single-offer .tour-card-price strong { font-size:clamp(2.3rem,6vw,3.5rem); line-height:1; }
.tour-live-booking.tour-single-offer .tour-card-price > div > small { color:#9a255e; font-weight:950; letter-spacing:.1em; }
.tour-rate-tiers { grid-column:1 !important; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100% !important; min-width:0; max-width:none !important; margin-top:18px; }
.tour-rate-tiers > span { display:grid; gap:2px; padding:11px 10px; border:1px solid #e5d9df; border-radius:13px; color:#6f5b68; background:rgba(255,255,255,.76); text-align:left; transition:.18s ease; }
.tour-rate-tiers small { color:#8d7684; font-size:.56rem; font-weight:950; letter-spacing:.08em; white-space:nowrap; }
.tour-rate-tiers b { color:#4a173b; font-size:1.05rem; white-space:nowrap; }
.tour-rate-tiers em { color:#89727f; font-size:.6rem; font-style:normal; }
.tour-rate-tiers > span.active { transform:translateY(-2px); border-color:#c32670; background:#fff; box-shadow:0 8px 22px rgba(151,25,90,.13); }
.tour-rate-tiers > span.active small { color:#b01e63; }
.tour-rate-tiers > span[data-tier="best"] { border-color:#e5c16b; background:#fffaf0; }
.tour-rate-tiers > span[data-tier="best"]::after { content:"SAVE MOST"; width:max-content; margin-top:4px; padding:3px 6px; border-radius:999px; color:#64234c; background:#f7ca61; font-size:.5rem; font-weight:950; letter-spacing:.08em; }
.tour-participant-picker { margin-top:18px; padding-top:18px; border-top:1px solid #eadfe5; }
.tour-participant-picker > label { display:block; margin-bottom:9px; color:#35102f; font-size:.78rem; font-weight:950; }
.tour-participant-picker > div { display:grid; grid-template-columns:110px 1fr; gap:12px; align-items:center; }
.tour-participant-picker select { width:100%; min-height:52px; padding:0 14px; border:1px solid #d9c8d2; border-radius:13px; color:#35102f; background:#fff; font:900 1rem Manrope,sans-serif; }
.tour-booking-total { display:flex; align-items:baseline; justify-content:flex-end; gap:8px; }
.tour-booking-total b { color:#a31c59; font-size:1.5rem; }
.tour-booking-total span { color:#806b78; font-size:.72rem; }
.tour-participant-picker > small { display:block; margin-top:7px; color:#806b78; font-size:.66rem; }
.tour-back-floating {
  position:fixed !important;
  z-index:999;
  top:18px;
  left:18px;
  width:auto !important;
  min-height:42px;
  margin:0 !important;
  padding:10px 15px !important;
  border:1px solid rgba(255,255,255,.35) !important;
  border-radius:999px !important;
  color:#fff !important;
  background:rgba(53,16,47,.92) !important;
  box-shadow:0 10px 30px rgba(35,8,30,.25);
  backdrop-filter:blur(10px);
  font-size:.76rem !important;
  font-weight:900 !important;
}
.tour-back-floating:hover { transform:translateY(-1px); background:#5c1747 !important; }
.tour-participant-count-confirmed label:has(.group-size-control),
.tour-participant-count-confirmed label:has(.group-size-control) + p { display:none !important; }

@media (max-width:640px) {
  .tour-live-booking.tour-single-offer .tour-booking-shell { width:calc(100% - 20px); padding:14px; border-radius:22px; }
  .tour-live-booking.tour-single-offer .tour-booking-tools { padding:12px; font-size:.7rem; }
  .tour-live-booking.tour-single-offer .tour-studio-link { text-align:center; font-size:.78rem; }
  .tour-live-booking.tour-single-offer .tour-workshop-card:not([hidden]) { padding:20px 16px; border-radius:20px; }
  .tour-live-booking.tour-single-offer .tour-workshop-card > .tour-card-price { padding:16px; }
  .tour-live-booking.tour-single-offer .tour-card-price > span { font-size:.7rem; line-height:1.45; }
  .tour-rate-tiers { grid-template-columns:1fr; }
  .tour-rate-tiers > span { grid-template-columns:1fr auto; align-items:center; }
  .tour-rate-tiers > span em { grid-column:1/-1; }
  .tour-participant-picker > div { grid-template-columns:92px 1fr; }
  .tour-booking-total { flex-direction:column; align-items:flex-end; gap:0; }
  .tour-back-floating { top:10px; left:10px; min-height:40px; padding:9px 13px !important; }
}
