:root{--ink:#173153;--blue:#1678c8;--deep-blue:#0c4d8d;--sky:#eaf7ff;--aqua:#b9f0ea;--turquoise:#37c9c1;--lavender:#ddd7ff;--violet:#7867d8;--pink:#ffd5e7;--coral:#ff8fa8;--gold:#ffd36b;--cream:#fffaf2;--white:#fff;--muted:#5e7087;--serif:"Playfair Display",serif;--sans:"DM Sans",sans-serif;--shadow:0 18px 50px rgba(36,76,121,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:white;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:74px;position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.1rem,4vw,4rem);color:white;border-bottom:1px solid rgba(255,255,255,.24);background:linear-gradient(180deg,rgba(10,46,89,.68),transparent)}.brand{display:flex;gap:.7rem;align-items:center}.brand-mark{font-size:1.7rem;color:var(--gold);filter:drop-shadow(0 0 10px rgba(255,211,107,.8))}.brand strong{font:600 1.15rem var(--serif)}.brand small{display:block;font-size:.55rem;text-transform:uppercase;letter-spacing:.16em;opacity:.8}.nav{display:flex;align-items:center;gap:1.55rem;font-size:.72rem;font-weight:700;letter-spacing:.04em}.nav-cta{background:var(--gold);color:var(--ink);padding:.72rem 1.15rem;border-radius:999px;box-shadow:0 5px 20px rgba(255,211,107,.3)}.menu-toggle{display:none}.hero{min-height:76vh;position:relative;display:flex;align-items:flex-end;color:white;overflow:hidden}.hero-video,.hero-shade,.hero-sparkles{position:absolute;inset:0;width:100%;height:100%}.hero-video{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(9,44,86,.83) 0%,rgba(17,90,142,.52) 50%,rgba(71,111,180,.14) 82%),linear-gradient(0deg,rgba(9,43,78,.56),transparent 58%)}.hero-sparkles{background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.8px);background-size:74px 74px;opacity:.18;animation:drift 18s linear infinite}.hero-content{position:relative;z-index:2;width:min(780px,91%);padding:0 0 clamp(4rem,8vh,6rem) clamp(1.2rem,6vw,6rem)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:700;color:#fff2bd}.eyebrow.dark{color:var(--violet)}.hero h1,.quick-answer h2,.section-heading h2,.story-copy h2,.birthday-copy h2,.parent-copy h2,.booking h2{font-family:var(--serif);font-weight:600;line-height:1.02;margin:.55rem 0 1.1rem}.hero h1{font-size:clamp(3.1rem,6.5vw,6.2rem);letter-spacing:-.035em}.hero h1 em{font-weight:600;color:#baf8ef}.hero-copy{max-width:650px;font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.66;color:rgba(255,255,255,.92)}.actions{display:flex;gap:.85rem;margin-top:1.55rem;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:.95rem 1.35rem;border-radius:999px;font-size:.76rem;font-weight:700}.btn-primary{background:linear-gradient(135deg,var(--gold),#ffe69b);color:var(--ink);box-shadow:0 8px 25px rgba(255,211,107,.32)}.btn-light,.btn-white{background:white;color:var(--deep-blue);box-shadow:0 8px 25px rgba(21,81,135,.16)}.quick-answer{padding:clamp(3.5rem,6vw,5.5rem) 1.2rem;background:linear-gradient(135deg,#fff,#f2fbff 45%,#f7f2ff)}.quick-answer-inner{max-width:980px;margin:auto;text-align:center}.quick-answer h2{font-size:clamp(2.35rem,4vw,4.2rem);color:var(--deep-blue)}.quick-answer p:last-child{max-width:850px;margin:0 auto;line-height:1.75;color:var(--muted);font-size:1.02rem}.chooser{padding:clamp(4rem,7vw,7rem) clamp(1.1rem,5vw,5rem);background:linear-gradient(180deg,#f7f2ff 0,#fff 16%,#fff 88%,#eaf9ff)}.section-heading{text-align:center;max-width:790px;margin:0 auto 2.8rem}.section-heading h2{font-size:clamp(2.6rem,4.6vw,4.8rem);color:var(--deep-blue)}.section-heading>p:last-child{color:var(--muted)}.path-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.path-card{background:white;border:1px solid rgba(38,118,179,.12);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.path-card:hover,.path-card:focus-visible{transform:translateY(-5px);box-shadow:0 24px 60px rgba(36,76,121,.18)}.path-image{display:block;height:210px;overflow:hidden}.path-copy{display:block;padding:1.25rem 1.25rem 1.45rem}.path-copy small{display:block;color:var(--violet);font-weight:700;font-size:.68rem;line-height:1.4;margin-bottom:.4rem}.path-copy strong{display:block;font:600 1.55rem var(--serif);color:var(--deep-blue);margin-bottom:.4rem}.path-copy span{display:block;color:var(--muted);line-height:1.55;font-size:.9rem}.path-birthday{grid-column:span 2;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(135deg,#eaf8ff,#f7efff)}.path-birthday .path-image{height:100%;min-height:300px}.path-birthday .path-copy{display:flex;flex-direction:column;justify-content:center;padding:2rem}.path-birthday .path-copy strong{font-size:clamp(2rem,3vw,3.1rem)}.story-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,7vw,7rem);background:linear-gradient(135deg,#dff9f4,#eef7ff 55%,#f8eefe)}.story-media{height:520px;border-radius:42% 42% 26px 26px;overflow:hidden;box-shadow:var(--shadow)}.story-copy h2{font-size:clamp(2.6rem,4.5vw,4.7rem);color:var(--deep-blue)}.story-copy p:last-child{font-size:1.04rem;line-height:1.8;color:var(--muted);max-width:590px}.birthday-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;background:linear-gradient(135deg,#1d75c4,#5a60c8 58%,#8a63cb);color:white}.birthday-image{min-height:620px}.birthday-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.birthday-copy h2{font-size:clamp(3rem,5.2vw,5.5rem)}.birthday-copy p:not(.eyebrow){line-height:1.75;color:rgba(255,255,255,.86);max-width:620px}.birthday-copy .btn{align-self:flex-start;margin-top:1rem}.parent-note{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,7vw,7rem);background:linear-gradient(135deg,#fff8e8,#fff0f6)}.parent-image{height:470px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.parent-copy h2{font-size:clamp(2.8rem,4.5vw,4.7rem);color:var(--deep-blue)}.parent-copy p:not(.eyebrow){font-size:1.05rem;line-height:1.8;color:var(--muted);max-width:620px}.other-worlds{padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,6vw,6rem);background:linear-gradient(160deg,#0a4b86,#343c91 55%,#6a3c8b);color:white}.other-worlds .section-heading h2{color:white}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:1200px;margin:auto}.world-card{position:relative;min-height:500px;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(7,23,55,.28)}.world-card img{position:absolute;inset:0}.world-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,35,67,.92),rgba(8,42,73,.03) 70%)}.world-card>div:last-child{position:absolute;z-index:2;left:2rem;right:2rem;bottom:2rem}.world-card p{text-transform:uppercase;letter-spacing:.15em;font-size:.62rem;color:#ffe7a3}.world-card h3{font:600 clamp(2.6rem,4vw,4rem) var(--serif);margin:.2rem 0 .5rem}.world-card span{display:block;color:rgba(255,255,255,.82);line-height:1.65}.world-card a{display:inline-block;margin-top:1rem;background:white;color:var(--deep-blue);padding:.72rem 1rem;border-radius:999px;font-size:.72rem;font-weight:700}.world-card.christmas{background:radial-gradient(circle at 50% 25%,#b53e64,#742045 48%,#17365b)}.christmas-art{position:absolute;inset:0;display:grid;place-items:center;font-size:8rem;color:#ffe49c;opacity:.42}.booking{padding:clamp(5rem,8vw,7rem) 1.2rem;text-align:center;background:linear-gradient(135deg,#ecfbff,#f4efff 52%,#fff1f6)}.booking-inner{max-width:980px;margin:auto}.booking h2{font-size:clamp(3rem,5vw,5.2rem);color:var(--deep-blue)}.booking-links{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.booking-links a{background:white;border:1px solid rgba(59,111,169,.16);box-shadow:0 8px 22px rgba(36,76,121,.08);padding:.92rem 1.15rem;border-radius:999px;font-size:.74rem;font-weight:700;color:var(--deep-blue)}.booking-links a:first-child{background:linear-gradient(135deg,var(--gold),#ffe69b);border-color:transparent;color:var(--ink)}footer{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding:4rem clamp(1.2rem,6vw,6rem);background:#0b345f;color:white;position:relative}footer h4{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;color:#ffe49c}footer a{display:block;color:rgba(255,255,255,.76);font-size:.78rem;margin:.65rem 0}.footer-brand strong{font:600 2rem var(--serif)}.footer-brand p{color:rgba(255,255,255,.64)}.copyright{position:absolute;bottom:1rem;left:clamp(1.2rem,6vw,6rem);font-size:.62rem;color:rgba(255,255,255,.45)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes drift{from{transform:translateY(0)}to{transform:translateY(-74px)}}@media(max-width:950px){.site-header{height:68px}.menu-toggle{display:flex;flex-direction:column;gap:7px;background:none;border:0;padding:1rem}.menu-toggle span{width:25px;height:1px;background:white}.nav{position:absolute;top:68px;left:0;right:0;background:#0b4f8d;display:none;flex-direction:column;align-items:flex-start;padding:2rem}.nav.open{display:flex}.path-grid{grid-template-columns:1fr 1fr}.path-birthday{grid-column:span 2}.story-section,.parent-note,.birthday-feature{grid-template-columns:1fr}.birthday-image{min-height:430px}.world-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:620px){.brand strong{font-size:1rem}.hero{min-height:82vh}.hero h1{font-size:3.05rem}.hero-content{padding-left:1.2rem}.quick-answer,.chooser,.story-section,.parent-note,.other-worlds{padding-left:1rem;padding-right:1rem}.path-grid{grid-template-columns:1fr}.path-birthday{grid-column:auto;display:block}.path-birthday .path-image{min-height:0;height:230px}.path-image{height:220px}.story-media,.parent-image{height:390px}.birthday-feature,.birthday-image{min-height:0}.birthday-image{height:390px}.birthday-copy{padding:3rem 1.2rem}.world-card{min-height:440px}.booking-links{flex-direction:column}.booking-links a{width:100%}footer{grid-template-columns:1fr;padding-bottom:6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-sparkles{animation:none}.hero-video{display:none}.hero{background:url('assets/images/group-mermaids.jpg') center/cover}}

/* v4 — luminous first-screen redesign */
:root{
  --ink:#17324f;
  --deep-blue:#135e9e;
  --sky:#dff7ff;
  --aqua:#bdf5ed;
  --coral:#ff8da1;
  --blush:#fff0f6;
  --lavender:#eee8ff;
  --gold:#f6c95f;
  --muted:#52677b;
}
body{background:#fff;color:var(--ink)}
.announcement{position:absolute;z-index:30;top:0;left:0;right:0;height:38px;display:grid;place-items:center;padding:0 1rem;background:linear-gradient(90deg,#fff7d8,#f6efff,#e9fbff);color:#3d5d7b;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;font-weight:800;border-bottom:1px solid rgba(28,88,133,.08)}
.site-header{top:50px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));height:76px;padding:0 1.35rem;border:1px solid rgba(255,255,255,.66);border-radius:22px;background:rgba(255,255,255,.76);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);box-shadow:0 18px 48px rgba(38,95,140,.14);color:var(--ink)}
.site-header .brand small{color:#6b8195;opacity:1}.site-header .brand-mark{color:#f2b93f}.nav{color:#244a6b}.nav a:not(.nav-cta){padding:.7rem .2rem}.nav-cta{background:linear-gradient(135deg,#ffcf70,#ffe8a6);color:#24415e;box-shadow:0 8px 20px rgba(230,174,55,.22)}
.hero{min-height:88vh;align-items:center;padding-top:150px;color:white;background:#7ad9e9}
.hero-video{filter:saturate(1.08) brightness(1.06)}
.hero-shade{background:linear-gradient(90deg,rgba(24,91,139,.48) 0%,rgba(28,128,166,.24) 46%,rgba(255,255,255,.03) 78%),linear-gradient(0deg,rgba(40,112,154,.26),transparent 54%)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:180px;background:linear-gradient(0deg,#f9feff 0%,rgba(249,254,255,.92) 18%,rgba(249,254,255,0) 100%);z-index:1;pointer-events:none}
.hero-content{width:min(760px,88%);padding:2rem 0 6.5rem clamp(1.25rem,6vw,6rem);text-shadow:0 2px 20px rgba(11,67,99,.28)}
.hero h1{font-size:clamp(3.4rem,6.2vw,6.25rem);line-height:.98;letter-spacing:-.04em;margin:.7rem 0 1.15rem}.hero h1 em{color:#fff2b0;text-shadow:0 2px 18px rgba(35,91,122,.24)}
.hero .eyebrow{color:#fff7cf}.hero-copy{font-size:clamp(1.02rem,1.45vw,1.18rem);max-width:690px;color:#fff;line-height:1.65}
.btn-primary{background:linear-gradient(135deg,#ffd36f,#ffeaa7);color:#214564;box-shadow:0 10px 28px rgba(166,114,20,.22)}.btn-light{background:rgba(255,255,255,.93);color:#215d8a;border:1px solid rgba(255,255,255,.8)}
.quick-answer{background:linear-gradient(135deg,#fffdf6,#f4fdff 45%,#fbf5ff)}
.chooser{background:linear-gradient(180deg,#fbfeff 0,#fff 20%,#fff8fb 88%,#effcff)}
.path-card{border-color:rgba(78,151,195,.12);box-shadow:0 14px 40px rgba(47,103,145,.11)}
.path-birthday{background:linear-gradient(135deg,#e9fbff,#fff1f6 52%,#f3efff)}
.story-section{background:linear-gradient(135deg,#e8fbf7,#edf8ff 50%,#f7efff)}
.birthday-feature{background:linear-gradient(135deg,#2398c4,#6b73d8 58%,#b35bc1)}
.parent-note{background:linear-gradient(135deg,#fffaf0,#fff1f6 50%,#f2f6ff)}
.other-worlds{background:linear-gradient(160deg,#1e8fbd,#576bd3 55%,#8e57b4)}
.booking{background:linear-gradient(135deg,#effdff,#f7f3ff 52%,#fff3f7)}
footer{background:linear-gradient(135deg,#17689c,#3158a4 58%,#6c4a9b)}
@media(max-width:950px){.site-header{top:46px;height:68px}.menu-toggle span{background:#244a6b}.nav{top:76px;background:rgba(255,255,255,.98);color:#244a6b;border-radius:18px;box-shadow:0 20px 50px rgba(25,76,112,.16)}.hero{padding-top:130px}}
@media(max-width:620px){.announcement{height:34px;font-size:.48rem;letter-spacing:.11em;text-align:center}.site-header{top:42px;width:calc(100% - 18px);border-radius:18px;padding:0 .9rem}.hero{min-height:84vh;padding-top:118px;align-items:flex-end}.hero-content{padding:0 1rem 6rem}.hero h1{font-size:3.05rem}.hero-copy{font-size:.98rem}.site-header .brand small{display:none}}

/* v5 — three primary worlds moved near the top */
.worlds-first{padding:clamp(4rem,7vw,7rem) clamp(1rem,5vw,5rem);background:linear-gradient(180deg,#f8fdff 0%,#f4fbff 42%,#fff8fd 100%)}
.worlds-first .section-heading{margin-bottom:2.25rem}
.worlds-first-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1rem}
.world-first-card{position:relative;min-height:540px;border-radius:30px;overflow:hidden;box-shadow:0 22px 55px rgba(37,92,143,.17);isolation:isolate;background:#72cde2}
.world-first-card img,.world-first-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.world-first-card.flagship{min-height:600px}
.world-first-card.cove img{object-position:50% 48%}
.world-first-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,49,88,.94) 0%,rgba(12,67,110,.35) 55%,rgba(15,92,128,.04) 78%);z-index:1}
.world-first-copy{position:absolute;z-index:3;left:clamp(1.35rem,2.5vw,2.25rem);right:clamp(1.35rem,2.5vw,2.25rem);bottom:clamp(1.4rem,2.5vw,2.4rem);color:white}
.world-first-copy p{text-transform:uppercase;letter-spacing:.14em;font-size:.61rem;font-weight:700;color:#fff1b6;margin:0 0 .45rem}
.world-first-copy h3{font:600 clamp(2.3rem,3.7vw,4rem)/1 var(--serif);margin:0 0 .75rem}
.world-first-copy span{display:block;line-height:1.62;color:rgba(255,255,255,.9);font-size:.9rem;max-width:620px}
.world-first-copy a{display:inline-flex;margin-top:1rem;padding:.76rem 1rem;border-radius:999px;background:rgba(255,255,255,.95);color:var(--deep-blue);font-size:.7rem;font-weight:700;box-shadow:0 8px 24px rgba(3,32,62,.15)}
.world-first-card.christmas{background:radial-gradient(circle at 48% 18%,#f8d5de 0%,#be5f7a 31%,#72295a 64%,#173e63 100%)}
.world-first-card.christmas:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 75% 33%,rgba(255,244,194,.9) 0 2px,transparent 3px),radial-gradient(circle at 42% 48%,rgba(255,255,255,.72) 0 1px,transparent 2px);background-size:96px 96px,135px 135px,72px 72px;opacity:.72}
.christmas-sky{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:space-around;padding-top:18%;font-size:clamp(2.8rem,5vw,5.5rem);color:#fff0b6;text-shadow:0 0 28px rgba(255,240,182,.75)}
.christmas-sky span:nth-child(2){margin-top:28%;font-size:.65em}.christmas-sky span:nth-child(3){margin-top:7%;font-size:.45em}
@media(max-width:1050px){.worlds-first-grid{grid-template-columns:1fr 1fr}.world-first-card.flagship{grid-column:1/-1;min-height:560px}.world-first-card{min-height:500px}}
@media(max-width:680px){.worlds-first-grid{grid-template-columns:1fr}.world-first-card.flagship{grid-column:auto}.world-first-card,.world-first-card.flagship{min-height:500px}.world-first-copy h3{font-size:2.55rem}}

/* v6 surgical polish: brighter navigation, whimsical dividers, stronger hierarchy and social proof */
.site-header{
  background:linear-gradient(135deg,rgba(22,121,189,.88),rgba(91,93,198,.84));
  border-color:rgba(255,255,255,.58);
  box-shadow:0 16px 42px rgba(31,91,147,.2), inset 0 1px 0 rgba(255,255,255,.28);
  color:#fff;
}
.site-header .brand,.site-header .brand strong,.site-header .brand small,.site-header .nav,.site-header .nav a{color:#fff}
.site-header .brand small{color:rgba(255,255,255,.76)}
.site-header .brand-mark{color:#ffe28a;text-shadow:0 0 16px rgba(255,226,138,.65)}
.nav a:not(.nav-cta):after{background:#ffe28a}
.nav-cta{background:rgba(255,255,255,.94);color:#27618b!important}

.magic-divider{height:72px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 clamp(1rem,5vw,5rem);background:#fff;color:#83bfe4;position:relative;overflow:hidden}
.magic-divider span{height:2px;flex:1;max-width:960px;background:linear-gradient(90deg,transparent,#79b9e1 18%,#79b9e1 82%,transparent)}
.magic-divider b,.magic-divider i{font-style:normal;display:inline-block;text-shadow:0 0 18px rgba(108,185,230,.4)}
.magic-divider b{font-size:1.65rem;animation:twinkle 3.2s ease-in-out infinite}
.magic-divider i{font-size:.9rem;margin-left:-8px;margin-top:-24px;animation:twinkle 3.2s .6s ease-in-out infinite}
@keyframes twinkle{0%,100%{transform:scale(.82) rotate(0);opacity:.55}50%{transform:scale(1.18) rotate(12deg);opacity:1}}

.section-heading .eyebrow,.quick-answer .eyebrow,.story-copy .eyebrow,.parent-copy .eyebrow,.booking .eyebrow,.birthday-copy .eyebrow{
  font-size:clamp(.78rem,1.1vw,.95rem);letter-spacing:.13em;margin-bottom:.8rem;
}
.world-first-copy p{font-size:.72rem}

.press-proof{padding:3.4rem clamp(1rem,5vw,5rem);background:#fff;display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap}
.press-proof>p{font:600 clamp(1.35rem,2vw,2rem) var(--serif);margin:0;padding-right:2.25rem;border-right:1px solid rgba(24,69,104,.28)}
.press-logos{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,4.5rem);flex-wrap:wrap}
.press-logos strong{font-size:clamp(1.3rem,2.3vw,2.55rem);letter-spacing:-.04em;color:#244d80}
.press-logos strong:nth-child(2){color:#e92370}.press-logos strong:nth-child(3){font-family:var(--serif);color:#111}.press-logos strong:nth-child(4),.press-logos strong:nth-child(5){color:#174ca0}

.path-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1180px}
.path-birthday{grid-column:1/-1;min-height:460px}
.path-birthday .path-image{height:100%;min-height:460px}
.path-birthday .path-copy{padding:clamp(2rem,4vw,4rem)}
.path-birthday .path-copy strong{font-size:clamp(2.4rem,4vw,4.6rem)}
.path-cove{grid-column:1/-1;display:grid;grid-template-columns:1.12fr .88fr;background:linear-gradient(135deg,#dffcff,#f7efff)}
.path-cove .path-image{height:360px}.path-cove .path-copy{padding:clamp(2rem,4vw,3.7rem)}
.path-cove .path-copy strong{font-size:clamp(2rem,3vw,3.35rem)}

.legacy-proof{padding:clamp(4.5rem,8vw,8rem) clamp(1rem,5vw,5rem);background:linear-gradient(145deg,#fff9ee,#eefcff 48%,#f8f0ff)}
.legacy-grid{max-width:1180px;margin:2.5rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.legacy-grid article{padding:2.6rem 2rem;border-radius:26px;background:rgba(255,255,255,.82);border:1px solid rgba(69,142,190,.15);box-shadow:0 16px 42px rgba(49,99,145,.1);position:relative;overflow:hidden}
.legacy-grid article:before{content:"";position:absolute;right:-20px;top:-35px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(255,218,122,.46),transparent 68%)}
.legacy-grid strong{display:block;font:600 clamp(2.4rem,4vw,4.5rem)/1 var(--serif);color:#277db1;margin-bottom:.7rem}
.legacy-grid span{display:block;color:#52677b;line-height:1.55}

/* subtle classy sparkle whooshes */
.worlds-first:before,.chooser:before,.legacy-proof:before{content:"✦   ·   ✧";position:absolute;font-size:clamp(1rem,2vw,1.7rem);letter-spacing:.4em;color:rgba(80,166,215,.25);transform:rotate(-12deg);pointer-events:none}
.worlds-first,.chooser,.legacy-proof{position:relative;overflow:hidden}
.worlds-first:before{right:5%;top:5%}.chooser:before{left:4%;top:8%;transform:rotate(10deg)}.legacy-proof:before{right:8%;bottom:8%}

@media(max-width:950px){
  .site-header{background:linear-gradient(135deg,rgba(22,121,189,.96),rgba(91,93,198,.95))}
  .menu-toggle span{background:#fff}.nav{background:linear-gradient(135deg,#1579bd,#5b5dc6);color:#fff}.nav a{color:#fff!important}
  .legacy-grid{grid-template-columns:1fr}.path-cove{grid-template-columns:1fr}.path-cove .path-image{height:280px}
}
@media(max-width:620px){
  .press-proof{gap:1.5rem}.press-proof>p{width:100%;text-align:center;border-right:0;padding-right:0}.press-logos{gap:1.2rem 1.8rem}.press-logos strong{font-size:1.25rem}
  .path-grid{grid-template-columns:1fr}.path-birthday,.path-cove{grid-column:auto}.path-birthday .path-image{min-height:300px}.path-birthday{min-height:0}.magic-divider{height:58px}
}

/* Surgical media-carousel upgrade */
.media-carousel{position:relative;background:#dcecff}
.media-carousel .media-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity .85s ease,transform 4.8s ease;pointer-events:none}
.media-carousel .media-slide.active{opacity:1;transform:scale(1.045)}
.media-carousel video.media-slide{background:#0d3f73}
.carousel-dots{position:absolute;z-index:4;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(8,38,72,.35);backdrop-filter:blur(5px)}
.carousel-dots i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);transition:width .25s ease,background .25s ease}
.carousel-dots i.active{width:15px;background:#fff}
.path-card:hover .media-carousel .media-slide.active{transform:scale(1.065)}
@media(prefers-reduced-motion:reduce){.media-carousel .media-slide{transition:none;transform:none}.media-carousel .media-slide.active{transform:none}}

/* v9 final surgical correction — birthday remains hero; every other experience uses an uncropped square media frame */
.path-grid{align-items:start}
.path-card:not(.path-birthday){display:block}
.path-card:not(.path-birthday) .path-image{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  background:linear-gradient(135deg,#eefaff,#f8f2ff);
}
.path-card:not(.path-birthday) .media-slide{
  object-fit:contain;
  object-position:center;
  transform:none;
  background:linear-gradient(135deg,#eefaff,#f8f2ff);
}
.path-card:not(.path-birthday) .media-slide.active,
.path-card:not(.path-birthday):hover .media-carousel .media-slide.active{transform:none}
.path-cove{grid-column:auto;display:block;background:white}
.path-cove .path-image{width:100%;height:auto;aspect-ratio:1 / 1}
.path-cove .path-copy{padding:1.25rem 1.25rem 1.45rem}
.path-cove .path-copy strong{font-size:1.55rem}
.path-birthday .media-slide{object-fit:cover}
@media(max-width:950px){.path-cove{display:block}.path-cove .path-image{height:auto}}
@media(max-width:620px){.path-card:not(.path-birthday) .path-image,.path-cove .path-image{height:auto;aspect-ratio:1 / 1}}

/* v13 compact chooser — uniform, scannable service cards */
.chooser{padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.chooser .section-heading{margin-bottom:2rem}
.path-grid{
  max-width:1280px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
}
.path-card,
.path-card.path-birthday,
.path-card.path-cove{
  grid-column:auto;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#fff;
}
.path-card .path-image,
.path-card.path-birthday .path-image,
.path-card.path-cove .path-image{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1 / 1;
  background:linear-gradient(135deg,#eefaff,#f8f2ff);
}
.path-card .media-slide,
.path-card.path-birthday .media-slide,
.path-card.path-cove .media-slide,
.path-card video.media-slide{
  object-fit:contain;
  object-position:center;
  transform:none;
  background:linear-gradient(135deg,#eefaff,#f8f2ff);
}
.path-card .media-slide.active,
.path-card:hover .media-carousel .media-slide.active{transform:none}
.path-card .path-copy,
.path-card.path-birthday .path-copy,
.path-card.path-cove .path-copy{
  display:block;
  padding:1rem 1rem 1.15rem;
}
.path-card .path-copy small,
.path-card.path-birthday .path-copy small{font-size:.61rem;margin-bottom:.3rem}
.path-card .path-copy strong,
.path-card.path-birthday .path-copy strong,
.path-card.path-cove .path-copy strong{
  font-size:1.28rem;
  line-height:1.08;
  margin-bottom:.32rem;
}
.path-card .path-copy span{font-size:.79rem;line-height:1.42}
@media(max-width:1050px){.path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){
  .path-grid{grid-template-columns:1fr;gap:.85rem}
  .path-card .path-image,.path-card.path-birthday .path-image,.path-card.path-cove .path-image{aspect-ratio:1 / 1}
}

/* Premium hover/tap video behavior */
.world-first-card video.hover-video,
.media-carousel video.hover-video{
  transition:opacity .3s ease, transform .3s ease;
}
.world-first-card video.hover-video{opacity:.94}
.world-first-card:hover video.hover-video{opacity:1}
@media (hover:hover) and (pointer:fine){
  .media-carousel video.hover-video{opacity:0}
  .path-card:hover .media-carousel video.hover-video.active{opacity:1}
}
@media (hover:none), (pointer:coarse){
  .media-carousel video.hover-video.active{opacity:1}
}

/* Parent luxury carousel */
.parent-image.media-carousel{position:relative;background:#fff;isolation:isolate}
.parent-image.media-carousel .media-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.parent-image.media-carousel .media-slide.active{opacity:1}
.parent-image.media-carousel .carousel-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;display:flex;gap:7px;background:rgba(25,42,74,.35);padding:7px 10px;border-radius:999px;backdrop-filter:blur(8px)}
.parent-image.media-carousel .carousel-dots i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.parent-image.media-carousel .carousel-dots i.active{width:20px;border-radius:999px;background:#fff}
.parent-copy p+p{margin-top:1rem}

/* v14 hero + quick-answer copy accommodations (no design changes) */
.hero-sub{font:italic 600 clamp(1.05rem,1.7vw,1.3rem) var(--serif);color:#baf8ef;margin:.5rem 0 0;text-shadow:0 2px 18px rgba(35,91,122,.24)}
.quick-answer-inner>p:not(.eyebrow){max-width:850px;margin:0 auto 1.1rem;line-height:1.75;color:var(--muted);font-size:1.02rem}
.quick-answer-inner>p:last-child{margin-bottom:0}

/* v15 — flagship landing page + homepage founder story */
.flag-hero{min-height:68vh}
.flag-hero .hero-content{padding-bottom:4.5rem}
.flag-hero h1{font-size:clamp(2.9rem,5.6vw,5.4rem)}
.flag-section{padding:clamp(3.5rem,6vw,6rem) clamp(1.1rem,5vw,5rem);position:relative;overflow:hidden}
.flag-section .section-heading{margin-bottom:2.2rem;max-width:860px}
.flag-section .section-heading>p:last-child{color:var(--muted);line-height:1.75;font-size:1.02rem}
.bg-shell{background:linear-gradient(180deg,#fbfeff,#fff6fa 60%,#fff)}
.bg-daily{background:linear-gradient(180deg,#fff,#effbff 55%,#f6f1ff)}
.bg-events{background:linear-gradient(135deg,#fffdf4,#f2fbff 60%,#fbf3ff)}
.bg-travel{background:linear-gradient(180deg,#fff,#fff3f8 55%,#f0faff)}
.bg-shell:before,.bg-daily:before,.bg-events:before,.bg-travel:before{content:"✦   ·   ✧";position:absolute;right:5%;top:6%;font-size:clamp(1rem,2vw,1.7rem);letter-spacing:.4em;color:rgba(80,166,215,.22);transform:rotate(-12deg);pointer-events:none}
.svc-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.svc-grid.duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px}
.svc-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.svc-card:hover,.svc-card:focus-visible{transform:translateY(-5px);box-shadow:0 24px 60px rgba(36,76,121,.18)}
.svc-media{display:block;position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#eefaff,#f8f2ff)}
.svc-copy{display:block;padding:1.2rem 1.2rem 1.4rem}
.svc-copy small{display:block;color:var(--violet);font-weight:700;font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.42rem}
.svc-copy strong{display:block;font:600 1.48rem var(--serif);color:var(--deep-blue);margin-bottom:.4rem;line-height:1.1}
.svc-copy>span{display:block;color:var(--muted);line-height:1.58;font-size:.89rem}
.svc-hero-card{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.08fr .92fr;background:linear-gradient(135deg,#e9fbff,#fff1f6 52%,#f3efff);border:1px solid rgba(38,118,179,.12);border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(36,76,121,.15);transition:transform .25s ease,box-shadow .25s ease}
.svc-hero-card:hover,.svc-hero-card:focus-visible{transform:translateY(-5px);box-shadow:0 28px 70px rgba(36,76,121,.2)}
.svc-hero-card .svc-media{height:100%;min-height:440px;aspect-ratio:auto}
.svc-hero-card .svc-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem)}
.svc-hero-card .svc-copy strong{font-size:clamp(2.3rem,3.6vw,3.9rem);line-height:1.02}
.svc-hero-card .svc-copy>span{font-size:1rem;line-height:1.72;max-width:560px}
.svc-cta{display:inline-flex;margin-top:1.25rem;padding:.85rem 1.2rem;border-radius:999px;background:linear-gradient(135deg,#ffd36f,#ffeaa7);color:#214564!important;font-size:.74rem;font-weight:700;box-shadow:0 8px 24px rgba(166,114,20,.2);align-self:flex-start}
.founder-story{padding:clamp(4rem,7vw,7rem) clamp(1.1rem,5vw,5rem);background:linear-gradient(180deg,#f7f2ff 0,#fff 18%,#fff 82%,#eaf9ff);position:relative;overflow:hidden}
.founder-story:before{content:"✦   ·   ✧";position:absolute;left:4%;top:8%;font-size:clamp(1rem,2vw,1.7rem);letter-spacing:.4em;color:rgba(80,166,215,.25);transform:rotate(10deg);pointer-events:none}
.founder-lead{max-width:860px;margin:0 auto;text-align:center}
.founder-lead h2{font-family:var(--serif);font-weight:600;line-height:1.02;margin:.55rem 0 1.4rem;font-size:clamp(2.6rem,4.6vw,4.8rem);color:var(--deep-blue)}
.founder-lead p:not(.eyebrow){color:var(--muted);line-height:1.85;font-size:1.04rem;margin:0 0 1.15rem}
.founder-worlds{max-width:1180px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.founder-world{background:rgba(255,255,255,.88);border:1px solid rgba(69,142,190,.15);border-radius:26px;padding:2.2rem 1.9rem;box-shadow:0 16px 42px rgba(49,99,145,.1);position:relative;overflow:hidden}
.founder-world:before{content:"";position:absolute;right:-24px;top:-38px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(255,218,122,.4),transparent 68%)}
.founder-world small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:700;color:var(--violet);margin-bottom:.6rem}
.founder-world h3{font:600 1.72rem var(--serif);color:var(--deep-blue);margin:0 0 .7rem}
.founder-world p{color:var(--muted);line-height:1.72;font-size:.92rem;margin:0}
.founder-sign{margin:2.9rem auto 0;text-align:center}
.founder-sign strong{display:block;font:italic 600 1.8rem var(--serif);color:var(--deep-blue)}
.founder-sign span{display:block;margin-top:.4rem;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;font-weight:700;color:var(--violet)}
@media(max-width:980px){.svc-grid,.founder-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-hero-card{grid-template-columns:1fr}.svc-hero-card .svc-media{min-height:340px}}
@media(max-width:620px){.svc-grid,.svc-grid.duo,.founder-worlds{grid-template-columns:1fr}.flag-hero{min-height:74vh}.flag-section{padding-left:1rem;padding-right:1rem}.svc-hero-card .svc-media{min-height:0;height:260px}}

/* v15.1 — uncropped video in service cards + tidy dots for longer carousels */
.svc-card .svc-media video.media-slide{object-fit:contain;object-position:center;background:linear-gradient(135deg,#eefaff,#f8f2ff)}
.svc-media .carousel-dots{max-width:82%;flex-wrap:wrap;justify-content:center;row-gap:4px}

/* v15.2 — failsafe: content reveals even if script.js is missing or fails */
@keyframes revealFallback{to{opacity:1;transform:none}}
.reveal{animation:revealFallback .7s ease 1.1s forwards}
.reveal.visible{animation:none}

/* v16 — founder story sparkle timeline */
.founder-timeline{max-width:1180px;margin:3.4rem auto 0;position:relative}
.timeline-swoosh{position:absolute;top:0;left:0;width:100%;height:92px;overflow:visible;pointer-events:none}
.tl-spark{position:absolute;font-style:normal;color:#a58fe0;pointer-events:none;text-shadow:0 0 14px rgba(165,143,224,.6);animation:twinkle 3.4s ease-in-out infinite}
.tl-spark-1{left:31%;top:2px;font-size:.95rem;animation-delay:.9s}
.tl-spark-2{left:66%;top:64px;font-size:.8rem;color:#79b9e1;animation-delay:1.8s}
.timeline-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;position:relative}
.timeline-stop{text-align:center;padding-top:88px;position:relative}
.tl-star{position:absolute;top:24px;left:50%;transform:translateX(-50%);font-size:1.9rem;color:#f2b93f;text-shadow:0 0 20px rgba(255,211,107,.85);animation:twinkle 3.2s ease-in-out infinite}
.timeline-stop:nth-child(2) .tl-star{animation-delay:.6s}
.timeline-stop:nth-child(3) .tl-star{animation-delay:1.2s}
.tl-year{display:block;font:600 clamp(2.2rem,3.2vw,3.1rem)/1 var(--serif);color:var(--deep-blue)}
.timeline-stop h3{font:600 1.42rem var(--serif);color:var(--violet);margin:.45rem 0 .7rem}
.timeline-stop p{color:var(--muted);line-height:1.72;font-size:.92rem;margin:0 auto;max-width:340px}
@media(max-width:900px){
  .timeline-swoosh,.tl-spark{display:none}
  .timeline-stops{grid-template-columns:1fr;gap:0}
  .timeline-stop{text-align:left;padding:0 0 2.4rem 2.5rem}
  .timeline-stop:before{content:"";position:absolute;left:.62rem;top:.5rem;bottom:-.3rem;border-left:2px dashed rgba(121,185,225,.55)}
  .timeline-stop:last-child:before{display:none}
  .timeline-stop:last-child{padding-bottom:.4rem}
  .tl-star{position:absolute;left:0;top:-2px;transform:none;font-size:1.45rem}
  .timeline-stop p{max-width:none;margin:0}
}
@media(prefers-reduced-motion:reduce){.tl-star,.tl-spark{animation:none}}

/* v16.1 — founder photo + story grid */
.founder-story .founder-lead{margin-bottom:2.4rem}
.founder-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.founder-photo{margin:0;transform:rotate(-2.25deg);justify-self:center;max-width:340px}
.founder-photo img{width:100%;height:auto;border-radius:14px;border:9px solid #fff;box-shadow:0 24px 55px rgba(36,76,121,.22)}
.founder-photo figcaption{margin-top:.8rem;text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet)}
.founder-photo figcaption em{font-style:normal}
.founder-copy p{color:var(--muted);line-height:1.82;font-size:1.02rem;margin:0 0 1.05rem;text-align:left}
.founder-copy p:last-child{margin-bottom:0}
.founder-copy em{font-style:italic;color:var(--deep-blue)}
.founder-timeline{margin-top:4rem}
@media(max-width:900px){
  .founder-grid{grid-template-columns:1fr;gap:2.2rem}
  .founder-photo{max-width:290px}
}

/* v16.2 — reviews replace the third stat box */
.legacy-grid.legacy-duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.reviews{max-width:1180px;margin:3rem auto 0;text-align:center}
.reviews-kicker{font:italic 600 clamp(1.3rem,2.2vw,1.9rem) var(--serif);color:var(--deep-blue);margin:0 0 1.6rem}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,420px));gap:1rem;justify-content:center}
.review-card{position:relative;display:flex;flex-direction:column;background:rgba(255,255,255,.92);border:1px solid rgba(69,142,190,.15);border-radius:24px;padding:2.5rem 1.9rem 1.9rem;box-shadow:0 16px 42px rgba(49,99,145,.1);text-align:left;overflow:hidden}
.review-card:before{content:"\201C";position:absolute;left:1.1rem;top:-.4rem;font:600 4.6rem var(--serif);color:rgba(121,185,225,.35);line-height:1;pointer-events:none}
.review-stars{position:relative;z-index:1;color:#f2b93f;font-size:1.05rem;letter-spacing:.22em;text-shadow:0 0 12px rgba(255,211,107,.5);margin-bottom:.9rem}
.review-text{position:relative;z-index:1;color:var(--muted);line-height:1.75;font-size:.94rem;margin:0 0 1.3rem;flex:1}
.review-meta{position:relative;z-index:1;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;border-top:1px solid rgba(69,142,190,.14);padding-top:1rem;background:none}
.review-meta strong{font:600 1.05rem var(--serif);color:var(--deep-blue)}
.review-meta span{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--violet)}
@media(max-width:620px){.legacy-grid.legacy-duo{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr}}

/* v16.3 — six curated reviews with accordion */
.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.review-text.clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review-toggle{align-self:flex-start;background:none;border:0;padding:0;margin:-.6rem 0 1.2rem;font:700 .74rem var(--sans);color:var(--deep-blue);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(19,94,158,.3);position:relative;z-index:1}
.review-toggle:hover{text-decoration-color:var(--deep-blue)}
@media(max-width:980px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.reviews-grid{grid-template-columns:1fr}}

/* v16.4 — familiar review-header anatomy (no avatars) */
.review-card:before{display:none}
.review-card{padding:1.7rem 1.6rem 1.6rem}
.yr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}
.yr-name{display:block;font:700 1.04rem var(--sans);color:#1f2933}
.yr-elite{display:inline-block;background:#d32323;color:#fff;font:700 .62rem var(--sans);padding:.18rem .45rem;border-radius:6px;margin-left:.4rem;vertical-align:2px}
.yr-loc{display:block;color:#5a6570;font-size:.83rem;margin:.14rem 0 .34rem}
.yr-stats{display:flex;gap:.85rem;color:#6e7072;font-size:.78rem;font-weight:600}
.yr-stats>span{display:inline-flex;align-items:center;gap:3px}
.yri{width:14px;height:14px;fill:#8a9096;flex:none}
.yr-source{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--violet);white-space:nowrap;padding-top:.2rem}
.yr-rating{display:flex;align-items:center;gap:.6rem;margin-bottom:.55rem}
.yr-stars{display:inline-flex;gap:3px}
.yr-stars b{width:19px;height:19px;border-radius:4px;background:#d32323;color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:400;line-height:1}
.yr-date{color:#5a6570;font-size:.83rem}
.yr-photocount{display:inline-flex;align-items:center;gap:5px;color:#3b4147;font-size:.8rem;font-weight:700;margin-bottom:.8rem}
.yr-photocount .yri{fill:#3b4147}
.review-text{margin-top:.2rem}

/* v16.5 — review quote ticker in the announcement bar */
.quote-ticker{display:block;padding:0;overflow:hidden}
.ticker-track{display:inline-flex;height:38px;align-items:center;white-space:nowrap;animation:tickerScroll 95s linear infinite;will-change:transform}
.ticker-half{display:inline-flex;align-items:center}
.quote-ticker:hover .ticker-track{animation-play-state:paused}
.quote-ticker .tq{text-transform:none;letter-spacing:.01em;font-size:.72rem;font-weight:600;color:#3d5d7b;padding:0 1.1rem}
.quote-ticker .tq b{color:var(--violet);font-weight:800;font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;margin-left:.3rem}
.quote-ticker i{font-style:normal;color:#f2b93f;font-size:.72rem;text-shadow:0 0 8px rgba(255,211,107,.6)}
@keyframes tickerScroll{to{transform:translateX(-50%)}}
@media(max-width:620px){.ticker-track{height:34px}.quote-ticker .tq{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* v16.6 — ticker stays pinned above the floating header */
.announcement.quote-ticker{position:fixed;top:0;left:0;right:0;z-index:40;box-shadow:0 6px 20px rgba(31,76,115,.08)}

/* v17 — flagship page: params lines, academy section, pull quotes */
.svc-copy>.svc-params{display:block;margin-top:.6rem;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7a8ba0;line-height:1.6}
.svc-hero-card .svc-copy>.svc-params{font-size:.7rem}
.bg-academy{background:linear-gradient(135deg,#effefb,#eef7ff 55%,#fdf4ff)}
.svc-grid.solo{grid-template-columns:minmax(280px,620px);justify-content:center}
.svc-quote{max-width:720px;margin:2.4rem auto 0;text-align:center}
.svc-quote-stars{display:block;color:#f2b93f;letter-spacing:.25em;font-size:.95rem;text-shadow:0 0 12px rgba(255,211,107,.5);margin-bottom:.6rem}
.svc-quote p{font:italic 600 clamp(1.2rem,2vw,1.6rem) var(--serif);color:var(--deep-blue);line-height:1.45;margin:0 0 .55rem}
.svc-quote>span:last-child{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
@media(max-width:620px){.svc-grid.solo{grid-template-columns:1fr}}

/* v17.1 — standout value line in Shellebrate */
.flag-section .section-heading p.value-line{margin-top:1.3rem;font:italic 600 clamp(1.15rem,1.9vw,1.5rem) var(--serif);color:var(--deep-blue);line-height:1.5}
.flag-section .section-heading p.value-line i{font-style:normal;color:#f2b93f;font-size:.8em;text-shadow:0 0 10px rgba(255,211,107,.6);margin:0 .35rem;vertical-align:1px}

/* v17.2 — vertical video letterboxes cleanly inside horizontal hero cards */
.svc-hero-card .svc-media video.media-slide{object-fit:contain;object-position:center;background:linear-gradient(135deg,#eefaff,#f8f2ff)}

/* v18 — birthdays page: FAQ accordion + four-up review grid */
.reviews-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px;margin:0 auto}
.faq{max-width:860px;margin:0 auto}
.faq-item{background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:18px;box-shadow:0 10px 30px rgba(36,76,121,.08);margin-bottom:.8rem;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;font:600 1.12rem var(--serif);color:var(--deep-blue)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";font:400 1.5rem var(--sans);color:var(--violet);flex:none;transition:transform .25s ease}
.faq-item[open] summary:after{transform:rotate(45deg)}
.faq-item>div{padding:0 1.4rem 1.25rem}
.faq-item>div p{margin:0 0 .8rem;color:var(--muted);line-height:1.75;font-size:.95rem}
.faq-item>div p:last-child{margin-bottom:0}
@media(max-width:900px){.reviews-grid.four{grid-template-columns:1fr}}

/* v18.1 — private character breakfasts: sunrise palette + inclusions list */
.bg-morning{background:linear-gradient(135deg,#fff7ec,#ffeef5 55%,#f3f6ff)}
.bg-morning:before{content:"\2726   \00b7   \2727";position:absolute;right:5%;top:6%;font-size:clamp(1rem,2vw,1.7rem);letter-spacing:.4em;color:rgba(242,185,63,.32);transform:rotate(-12deg);pointer-events:none}
.includes-list{list-style:none;margin:.9rem 0 0;padding:0}
.includes-list li{position:relative;padding-left:1.4rem;margin-bottom:.45rem;color:var(--muted);font-size:.9rem;line-height:1.55}
.includes-list li:before{content:"\2726";position:absolute;left:0;top:0;color:#f2b93f;font-size:.8rem;text-shadow:0 0 8px rgba(255,211,107,.5)}

/* v18.2 — breakfast duo + includes strip */
.breakfast-includes{max-width:860px;margin:1.8rem auto 0;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8a795a;line-height:1.9}

/* v18.3 — forthcoming pricing */
.svc-copy>.svc-price{display:block;margin:.15rem 0 .55rem;font:600 1.55rem var(--serif);color:var(--deep-blue);letter-spacing:-.01em}
.svc-copy>.svc-price em{font:700 .62rem var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.11em;color:var(--violet);margin-left:.45rem;vertical-align:3px}
.svc-hero-card .svc-copy>.svc-price{font-size:clamp(1.8rem,2.6vw,2.4rem)}

/* v18.4 — trending party collection: engraved luxury cards */
.bg-trending{background:linear-gradient(160deg,#fffaf1,#fff0f4 55%,#fbf6ff)}
.trend-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fffdf8;border:1px solid rgba(200,158,66,.45);border-radius:20px;padding:2.4rem 2rem 2rem;box-shadow:0 16px 42px rgba(120,90,40,.1);transition:transform .25s ease,box-shadow .25s ease}
.trend-card:after{content:"";position:absolute;inset:9px;border:1px solid rgba(200,158,66,.28);border-radius:14px;pointer-events:none}
.trend-card:hover,.trend-card:focus-visible{transform:translateY(-5px);box-shadow:0 24px 60px rgba(120,90,40,.16)}
.trend-icon{font-size:1.6rem;color:#c89e42;text-shadow:0 0 14px rgba(242,185,63,.5);margin-bottom:.6rem}
.trend-card strong{font:600 clamp(1.7rem,2.4vw,2.2rem) var(--serif);color:#17324f;margin-bottom:.55rem}
.trend-desc{color:var(--muted);line-height:1.7;font-size:.93rem;max-width:400px;margin-bottom:.7rem}
.trend-card .svc-price{font:600 1.7rem var(--serif);color:#d1447c;margin:.1rem 0 .5rem}
.svc-price em.pre{font:700 .6rem var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.13em;color:#8a795a;margin:0 .45rem 0 0;vertical-align:4px}
.trend-card .svc-params{font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8a795a;margin-bottom:1rem}
.trend-card .svc-cta{margin-top:auto}

/* v19 — whimsy pass: world-colored packages, engraved price menus, hour medallions */
.pkg{--accent:#37c9c1;border-top:3px solid var(--accent)}
.pkg-mermaid{--accent:#2fb9c9}
.pkg-princess{--accent:#ff6ea0}
.pkg-ultimate{--accent:#c0399f}
.pkg-neverland{--accent:#2fae7d}
.pkg-vip{--accent:#c89e42}
.pkg .svc-copy small{color:var(--accent)}
.pkg-tag{display:block;font:italic 600 1.05rem var(--serif);color:var(--accent);margin:-.15rem 0 .5rem}
.svc-hero-card .pkg-tag{font-size:1.25rem}
.price-tiers{display:block;margin-top:.9rem;border-top:1px dashed rgba(200,158,66,.45)}
.tier-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px dashed rgba(200,158,66,.4)}
.tier-hrs{flex:none;width:46px;height:46px;border-radius:50%;border:2px solid var(--accent,#f2b93f);display:grid;place-items:center;font:800 .78rem/1 var(--sans);color:var(--accent,#c89e42);font-style:normal;background:#fff;box-shadow:0 3px 10px rgba(36,76,121,.08)}
.tier-hrs em{display:block;font:700 .5rem var(--sans);font-style:normal;letter-spacing:.06em;color:#9aa7b5;text-align:center}
.tier-info{flex:1;min-width:0;font-size:.74rem;color:var(--muted);line-height:1.45}
.tier-info strong{display:block;font:700 .82rem var(--sans);color:var(--ink)}
.tier-info i{font-style:italic;color:#8a96a5}
.tier-price{flex:none;font:600 1.3rem var(--serif);color:#d1447c;text-align:right;position:relative}
.tier-pop{display:block;font:800 .5rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#ff6ea0,#d1447c);border-radius:999px;padding:.18rem .5rem;margin-top:.25rem}
.svc-hero-card .tier-price{font-size:1.55rem}
.pkg-note{display:block;margin:.3rem 0 .2rem;font-size:.72rem;color:#8a96a5;font-style:italic}

/* v19.1 — money-page whimsy: fix accents, collection headers, pixie dust, floating charms */
.pkg .svc-copy>span.pkg-tag{color:var(--accent);font:italic 600 1.08rem var(--serif);margin:-.15rem 0 .5rem}
.pkg-pirate{--accent:#d1583c}
.collection-head{position:relative;text-align:center;margin:3rem auto 1.4rem;max-width:760px}
.collection-head .col-icon{display:block;font-size:1.7rem;margin-bottom:.3rem;filter:drop-shadow(0 4px 10px rgba(36,76,121,.2))}
.col-title{display:inline-block;font:600 clamp(1.8rem,3vw,2.5rem) var(--serif);line-height:1.1;margin:0 0 .35rem;background-clip:text;-webkit-background-clip:text;color:transparent}
.col-sig{background-image:linear-gradient(100deg,#1a9db4,#7a5fd0)}
.col-classic{background-image:linear-gradient(100deg,#e0559b,#8a5fd0)}
.col-lux{background-image:linear-gradient(100deg,#b8860b,#e0a52e 45%,#c0399f)}
.collection-head p{color:var(--muted);font-size:.95rem;margin:0}
.collection-head:before,.collection-head:after{content:"";position:absolute;top:2.6rem;width:14%;height:1px;background:linear-gradient(90deg,transparent,rgba(200,158,66,.6))}
.collection-head:before{left:-4%}
.collection-head:after{right:-4%;transform:scaleX(-1)}
.pixie{position:absolute;top:22px;right:3%;width:min(420px,42vw);height:auto;opacity:.65;pointer-events:none}
.pixie-flip{right:auto;left:3%;transform:scaleX(-1)}
.fdeco{position:absolute;font-size:1.7rem;opacity:.45;pointer-events:none;animation:charmBob 7s ease-in-out infinite;filter:saturate(.9)}
.fd-shell{left:3.5%;top:38%;animation-delay:1.2s}
.fd-tea{right:4%;top:62%;font-size:1.5rem;animation-delay:2.6s}
.fd-sun{right:5%;top:14%;animation-delay:.6s}
@keyframes charmBob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-14px) rotate(7deg)}}
.tier-price{background-image:linear-gradient(120deg,#d1447c,#b8860b);background-clip:text;-webkit-background-clip:text;color:transparent}
.tier-price .tier-pop{background-clip:border-box;-webkit-background-clip:border-box;color:#fff}
@media(prefers-reduced-motion:reduce){.fdeco{animation:none}}
@media(max-width:620px){.pixie{display:none}.fdeco{font-size:1.3rem}}

/* v20 — birthdays page fireworks: play-strips, gradient type, sparkle waves */
.page-bday .hero h1 em{background-image:linear-gradient(100deg,#ffd36f,#ff8fb8 40%,#8fd8ff 75%,#ffd36f);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shimmerText 6s linear infinite}
@keyframes shimmerText{to{background-position:250% 0}}
.sparkle-wave{position:absolute;left:0;right:0;bottom:-8px;width:100%;height:clamp(110px,16vw,200px);pointer-events:none;z-index:2}
.sparkle-wave .tw{animation:twinkle 3.2s ease-in-out infinite}
.sparkle-wave .t2{animation-delay:1.1s}.sparkle-wave .t3{animation-delay:2.2s}
.page-bday .flag-section h2,.page-bday .booking h2,.page-bday .section-heading h2{background-image:linear-gradient(100deg,#1a9db4,#8a5fd0 45%,#e0559b);background-clip:text;-webkit-background-clip:text;color:transparent}
.page-bday #inclusive h2{background-image:linear-gradient(100deg,#e0559b,#b8860b)}
.page-bday #reviews h2,.page-bday #faq h2{background-image:linear-gradient(100deg,#7a5fd0,#1a9db4)}
.h2-aurora{background-image:linear-gradient(100deg,#ffb038,#e0559b 35%,#8a5fd0 65%,#1a9db4)!important;background-size:180% 100%;animation:shimmerText 9s linear infinite}
.play-strips{max-width:1180px;margin:0 auto}
.play-strip{margin-bottom:1rem;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(38,118,179,.14);box-shadow:0 16px 44px rgba(36,76,121,.12);--accent:#2fb9c9}
.st-mermaid{--accent:#1a9db4}.st-princess{--accent:#e0559b}.st-adventure{--accent:#2fae7d}.st-glam{--accent:#c0399f}.st-breakfast{--accent:#f0913a}
.strip-head{display:flex;align-items:stretch;width:100%;border:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,#fff),#fff 65%);cursor:pointer;text-align:left;padding:0;min-height:118px}
.strip-img{flex:0 0 clamp(120px,24%,280px);background-size:cover;background-position:center;position:relative}
.strip-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,color-mix(in srgb,var(--accent) 10%,#fff))}
.strip-title{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1.1rem 1.2rem}
.strip-title strong{font:600 clamp(1.5rem,3vw,2.3rem)/1.12 var(--serif);color:#17324f}
.strip-title strong em{font-style:italic;background-image:linear-gradient(100deg,var(--accent),#b8860b);background-clip:text;-webkit-background-clip:text;color:transparent}
.strip-title small{margin-top:.35rem;font-size:.8rem;color:var(--muted);line-height:1.5}
.strip-plus{flex:none;align-self:center;margin:0 1.3rem;width:44px;height:44px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);display:grid;place-items:center;font:400 1.7rem/1 var(--sans);transition:transform .35s ease;background:#fff;box-shadow:0 4px 14px rgba(36,76,121,.12)}
.play-strip:not(.collapsed) .strip-plus{transform:rotate(45deg)}
.strip-body{overflow:hidden;transition:max-height .6s ease}
.strip-inner{padding:0 clamp(.8rem,2vw,1.6rem)}
.play-strip:not(.collapsed) .strip-inner{padding-bottom:1.4rem}
.strip-inner>.svc-grid{margin-top:1rem}
.strip-note{max-width:760px;margin:1rem auto .2rem;text-align:center;color:var(--muted);line-height:1.7;font-size:.95rem}
.strip-note b{color:#f0913a}
@media(max-width:680px){.strip-img{flex-basis:96px}.strip-plus{width:36px;height:36px;margin:0 .8rem;font-size:1.4rem}.strip-title{padding:.9rem .8rem}}

/* v21 — jewel typography + flyer-style vertical price columns + pearls */
.page-bday .pkg .svc-copy strong{background-image:linear-gradient(180deg,#7fe3ea,#12a2bd 55%,#0a6f8c);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px rgba(10,80,100,.25))}
.page-bday .trend-card strong{background-image:linear-gradient(180deg,#f6d878,#cf9a2f 50%,#916517);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px rgba(90,60,10,.3))}
.strip-title strong{background-image:linear-gradient(180deg,#8fe6ec,#0f96b2 60%,#0a6f8c);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px rgba(10,80,100,.22))}
.strip-title strong em{background-image:linear-gradient(180deg,#f6d878 0%,#d5a133 45%,#8a5f14 58%,#eec95e 100%);filter:drop-shadow(0 2px 1px rgba(90,60,10,.35))}
.pkg .svc-copy small:before,.pkg .svc-copy small:after{content:"\2727";color:#c89e42;margin:0 .4rem;font-size:.9em}
.price-tiers.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;border-top:0;margin-top:1rem}
.tier-col{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fffdf8;border:1px solid rgba(200,158,66,.5);border-radius:16px;padding:1.5rem .6rem 1rem;gap:.1rem}
.tier-col.pop{border-color:#e0559b;box-shadow:0 8px 24px rgba(224,85,155,.18)}
.tier-ribbon{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#ff6ea0,#d1447c);color:#fff;font:800 .56rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px rgba(209,68,124,.35)}
.tc-name{font:700 .74rem/1.35 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:#5b3fae;min-height:2.7em;display:flex;align-items:center}
.tier-col:nth-child(2) .tc-name{color:#0e8fae}
.tc-price{font:600 clamp(1.7rem,2.6vw,2.2rem)/1 var(--serif);background-image:linear-gradient(180deg,#2ab5c9,#0e7f9d);background-clip:text;-webkit-background-clip:text;color:transparent;margin:.25rem 0 .1rem}
.tc-hours{font:800 .62rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#e0559b}
.tc-div{display:flex;align-items:center;gap:.4rem;width:70%;margin:.45rem 0;font-style:normal}
.tc-div:before,.tc-div:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(200,158,66,.7))}
.tc-div:after{transform:scaleX(-1)}
.tc-div b{color:#ff5f9e;font-size:.66rem;filter:drop-shadow(0 1px 2px rgba(209,68,124,.4))}
.tc-line{font-size:.7rem;color:#4a5a6a;font-weight:600;line-height:1.5}
.tc-line:first-of-type{font-weight:800;color:#2c3e50}
.pearl{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff 0 16%,#ffeaf4 42%,#e9d7f0 68%,#d8c4e6);box-shadow:inset -4px -6px 10px rgba(150,110,175,.35),0 6px 14px rgba(120,80,140,.16);opacity:.75;pointer-events:none;animation:charmBob 9s ease-in-out infinite}
@media(max-width:680px){.price-tiers.cols{grid-template-columns:1fr;gap:1rem}.tc-name{min-height:0}}
@media(prefers-reduced-motion:reduce){.pearl{animation:none}}

/* v22 — inclusions tiles, shell list, plaque CTA, wave edge */
.inc-tiles{max-width:1180px;margin:2.2rem auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.inc-tile{background:#fffdf8;border:1px solid rgba(200,158,66,.45);border-radius:16px;padding:1.2rem .9rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem;transition:transform .25s ease}
.inc-tile:hover{transform:translateY(-4px)}
.inc-icon{font-size:1.7rem;filter:drop-shadow(0 3px 8px rgba(36,76,121,.2))}
.inc-tile strong{font:800 .68rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#5b3fae}
.inc-tile:nth-child(2n) strong{color:#0e8fae}
.inc-tile>span:last-child{font-size:.72rem;color:var(--muted);line-height:1.5}
.shell-list{list-style:none;margin:.4rem 0 1rem;padding:0}
.shell-list li{position:relative;padding-left:1.7rem;margin-bottom:.5rem;line-height:1.55}
.shell-list li:before{content:"\1F41A";position:absolute;left:0;top:0;font-size:.95rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.booking-links .plaque{background:linear-gradient(135deg,#128fa0,#0e7f9d);background:linear-gradient(135deg,#18a3b8,#0e7f9d);color:#fff;border:2px solid rgba(246,216,120,.9);box-shadow:0 10px 26px rgba(14,127,157,.4),inset 0 0 0 1px rgba(255,255,255,.25);font-size:.9rem;padding:1.05rem 2rem}
.urgency{margin:1.4rem 0 0;text-align:center;font:800 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#8a5f14}
.urgency span{margin:0 .5rem}
.wave-edge{display:block;width:100%;height:clamp(34px,6vw,70px);margin-bottom:-1px}
.page-bday footer{padding-top:3rem}
@media(max-width:900px){.inc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v22.1 — VIP gets its own strip */
.st-vip{--accent:#c89e42}
.st-vip .strip-title strong em{background-image:linear-gradient(100deg,#f6d878,#c0399f 60%,#8a5fd0);background-clip:text;-webkit-background-clip:text;color:transparent}

/* v22 — whimsical what's-included rows: starfish & shells */
.inc-row{max-width:1180px;margin:1.2rem auto .4rem}
.inc-title{text-align:center;font:800 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5b3fae;margin:0 0 .8rem}
.inc-title i{color:#c89e42;font-style:normal;margin:0 .5rem}
.inc-grid{display:grid;gap:.5rem}
.inc-grid.cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}
.inc-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr));max-width:900px;margin:0 auto}
.inc-cell{background:#fffdfb;border:1px solid rgba(224,85,155,.25);border-radius:14px;padding:.9rem .5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem;box-shadow:0 6px 18px rgba(120,80,140,.08)}
.inc-ic{width:26px;height:26px;filter:drop-shadow(0 2px 4px rgba(120,80,140,.3))}
.inc-ic.c-pink{fill:#ff6ea0}.inc-ic.c-teal{fill:#2fb9c9}.inc-ic.c-lav{fill:#a58fe0}
.inc-cell strong{font:700 .62rem/1.35 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#5b3fae}
.inc-cell span{font-size:.62rem;line-height:1.45;color:#6b7a89}
@media(max-width:1080px){.inc-grid.cols-8{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.inc-grid.cols-8,.inc-grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v22.1 — inclusion cells graduate to photo tiles */
#inclusive .inc-cell{padding:.9rem .6rem 1rem}
.inc-ph{display:block;width:100%;aspect-ratio:4/3;border-radius:10px;background-size:cover;background-position:center;margin:.45rem 0 .1rem;box-shadow:inset 0 0 0 1px rgba(200,158,66,.25)}
.inc-ph-soon{background:linear-gradient(140deg,#fdeef6,#eef8fd 55%,#f4effc);position:relative}
.inc-ph-soon:after{content:"\2727";position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;color:rgba(165,143,224,.55);text-shadow:0 0 12px rgba(165,143,224,.4)}

/* v22.2 — nine photo-tile inclusions */
.inc-grid.cols-9{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:1180px}
@media(max-width:640px){.inc-grid.cols-9{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v22.3 — inclusions grid: 4 centered on top, 5 below */
.inc-grid.row4{grid-template-columns:repeat(4,minmax(0,1fr));max-width:940px;margin:0 auto .5rem}
.inc-grid.row5{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1180px;margin:0 auto}
@media(max-width:900px){.inc-grid.row4,.inc-grid.row5{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v22.4 — photo lightbox */
.lightbox{position:fixed;inset:0;background:rgba(12,26,44,.86);backdrop-filter:blur(6px);display:grid;place-items:center;padding:4vmin;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:99}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:16px;border:6px solid #fff;box-shadow:0 30px 90px rgba(0,0,0,.5);transform:scale(.94);transition:transform .3s ease}
.lightbox.open img{transform:scale(1)}
.lb-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#17324f;font:400 1.5rem/1 var(--sans);cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3)}

/* v23 — strips: bigger, all-folded, pink-lavender keywords (gold retired) */
.strip-head{min-height:172px}
.strip-img{flex:0 0 clamp(150px,32%,360px)}
.strip-title{padding:1.3rem 1.5rem}
.strip-title strong{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.strip-title strong em{background-image:linear-gradient(115deg,#ff6ea0,#c76fc0 45%,#a58fe0);filter:drop-shadow(0 2px 2px rgba(122,95,208,.32))}
.strip-title small{font-size:.9rem;margin-top:.45rem}
.strip-plus{width:50px;height:50px;font-size:1.9rem}
@media(max-width:680px){.strip-head{min-height:120px}.strip-img{flex-basis:112px}.strip-title strong{font-size:clamp(1.3rem,5.4vw,1.7rem)}}

/* v24 — mermaid & pirate strip + flyer deck carousel */
.st-mp{--accent:#c05a3a}
.flyer-carousel{position:relative;max-width:880px;margin:1.3rem auto 0}
.fc-track{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(36,76,121,.18);background:linear-gradient(135deg,#eefaff,#f8f2ff)}
.fc-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;cursor:zoom-in}
.fc-slide.active{opacity:1}
.fc-prev,.fc-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:2px solid var(--accent,#c05a3a);background:rgba(255,255,255,.94);color:var(--accent,#c05a3a);font:400 1.8rem/1 var(--sans);cursor:pointer;box-shadow:0 6px 18px rgba(36,76,121,.2);display:grid;place-items:center}
.fc-prev{left:-14px}.fc-next{right:-14px}
.fc-prev:hover,.fc-next:hover{background:#fff;transform:translateY(-50%) scale(1.07)}
.fc-dots{display:flex;justify-content:center;gap:7px;margin-top:.8rem}
.fc-dots i{width:9px;height:9px;border-radius:50%;background:rgba(122,95,208,.3);cursor:pointer;transition:all .25s ease}
.fc-dots i.on{background:var(--accent,#c05a3a);transform:scale(1.25)}
@media(max-width:960px){.fc-prev{left:8px}.fc-next{right:8px}}

/* v24.1 — taller strips, main-art header, wide flyer content */
.strip-head{min-height:206px}
.st-mp .strip-img{flex:0 0 clamp(220px,44%,540px);background-position:left center}
.mp-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1120px;margin:1.3rem auto 0}
.flyer-card{width:100%;border-radius:16px;box-shadow:0 16px 44px rgba(36,76,121,.16);display:block}
.fc-cta-row{text-align:center;margin:1.1rem 0 .2rem}
.fc-cta-row .svc-cta{align-self:center}
.flyer-carousel.wide{max-width:1120px}
.fc-count{display:block;text-align:center;margin-top:.6rem;font:700 .7rem var(--sans);letter-spacing:.1em;color:#8a96a5}
@media(max-width:760px){.mp-cards{grid-template-columns:1fr}.strip-head{min-height:130px}.st-mp .strip-img{flex-basis:44%}}

/* v24.2 — mini square deck up top, price card as live booking link */
.flyer-carousel.fc-mini{max-width:480px;margin:1.2rem auto 0}
.fc-mini .fc-track{aspect-ratio:1/1}
.fc-mini .fc-slide.fc-card{object-fit:contain}
.fc-mini .fc-prev,.fc-mini .fc-next{width:38px;height:38px;font-size:1.4rem}
.flyer-book{display:block;border-radius:16px;overflow:hidden;box-shadow:0 16px 44px rgba(36,76,121,.16);transition:transform .25s ease,box-shadow .25s ease}
.flyer-book img{width:100%;display:block}
.flyer-book:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(36,76,121,.24)}

/* v25 — tiered collection boxes around the strips */
.collection{max-width:1220px;margin:0 auto 1.8rem;padding:1.5rem clamp(.8rem,2vw,1.8rem) .9rem;border-radius:30px;border:1px solid transparent}
.col-box-flagship{background:linear-gradient(165deg,#ecf9f4,#e6f6f2);border-color:rgba(31,158,128,.22)}
.col-box-classic{background:linear-gradient(165deg,#f4f0ff,#efeafd);border-color:rgba(122,95,208,.2)}
.col-box-lux{background:linear-gradient(165deg,#fdf8ea,#fbf3e2);border-color:rgba(200,158,66,.3)}
.col-box-trend{background:linear-gradient(165deg,#fff0f6,#fdebf3);border-color:rgba(224,85,155,.22)}
.collection .collection-head{margin:0 auto 1.2rem}
.collection .collection-head:before,.collection .collection-head:after{display:none}
.col-trendg{background-image:linear-gradient(100deg,#e0559b,#c0399f 55%,#7a5fd0)}
.st-ultimate{--accent:#c0399f}
.st-spa{--accent:#d1447c}
.st-kpop{--accent:#7a5fd0}
.collection .play-strip{margin-bottom:.9rem;box-shadow:0 12px 34px rgba(36,76,121,.1)}
.collection .play-strip:last-child{margin-bottom:.4rem}

/* v26 — collections become accordions; character breakfast collection */
.collection{padding:0;overflow:hidden}
.col-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;border:0;background:none;cursor:pointer;text-align:left;padding:1.5rem clamp(1rem,2.5vw,2rem)}
.col-head-text .col-title{margin-bottom:.3rem}
.col-head-text p{color:var(--muted);font-size:.92rem;line-height:1.55;margin:0;max-width:820px}
.col-plus{flex:none}
.col-box-flagship{--accent:#1f9e80}
.col-box-classic{--accent:#7a5fd0}
.col-box-lux{--accent:#c89e42}
.col-box-trend{--accent:#e0559b}
.col-box-breakfast{--accent:#f0913a;background:linear-gradient(165deg,#fff6ec,#ffeede);border-color:rgba(240,145,58,.3)}
.col-morning{background-image:linear-gradient(100deg,#f0913a,#e0559b)}
.st-bkp{--accent:#e0559b}
.col-body{overflow:hidden;transition:max-height .6s ease}
.col-inner{padding:0 clamp(.8rem,2vw,1.6rem) 1rem}
.collection:not(.collapsed) .col-plus{transform:rotate(45deg)}
.collection .collection-head{display:none}
@media(max-width:680px){.col-head{padding:1.1rem 1rem}.col-head-text .col-title{font-size:1.45rem}}

/* v26.1 — quad layout: twin half-width decks */
.mp-decks{margin-top:1rem}
.flyer-carousel.fc-half{max-width:none;margin:0}
.fc-half .fc-track{aspect-ratio:4/3}
.fc-half .fc-slide.fc-card{object-fit:contain}
.fc-half .fc-prev{left:8px}.fc-half .fc-next{right:8px}
.fc-half .fc-prev,.fc-half .fc-next{width:38px;height:38px;font-size:1.4rem;opacity:.85}

/* v26.2 — deck titles */
.deck-title{text-align:center;font:800 .72rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#5b3fae;margin:0 0 .6rem}
.deck-title i{color:#c89e42;font-style:normal;margin:0 .45rem}

/* v26.3 — arrows center on the track, not track+counter */
.fc-half .fc-prev,.fc-half .fc-next{top:calc(50% - 16px)}

/* v27 — collection heads: eyebrow, connector line, tappable play chips */
.col-eyebrow{font:800 .66rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#8a795a);margin:.1rem 0 .5rem!important}
.col-plays{font:italic 600 1.06rem var(--serif)!important;color:var(--deep-blue)!important;margin:0 0 .65rem!important}
.chip-row{display:flex;flex-wrap:wrap;gap:.55rem}
.play-chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1.5px solid var(--accent,#7a5fd0);border-radius:999px;padding:.42rem .95rem;font:600 .95rem var(--serif);color:#17324f;cursor:pointer;box-shadow:0 4px 14px rgba(36,76,121,.1);transition:transform .2s ease,box-shadow .2s ease}
.play-chip:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(36,76,121,.16)}
.play-chip i{font-style:normal;color:var(--accent,#c89e42);font-size:.75rem}
.play-chip em{font-style:italic;background-image:linear-gradient(115deg,#ff6ea0,#c76fc0 45%,#a58fe0);background-clip:text;-webkit-background-clip:text;color:transparent}
@media(max-width:680px){.play-chip{font-size:.85rem;padding:.35rem .75rem}}

/* collection tagline prices + mama note */
.col-title .col-tagprice{display:inline-block;font:800 .62rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--accent,#8a795a);background-image:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;margin-left:.7rem;vertical-align:.35em;white-space:nowrap}
@media(max-width:680px){.col-title .col-tagprice{display:block;margin:.25rem 0 0;vertical-align:baseline;white-space:normal}}
.mama-note{font:italic 600 1.02rem var(--serif);color:var(--deep-blue);background:#fff6f9;border:1.5px solid #f6cfe0;border-radius:16px;padding:.85rem 1.15rem;margin:0 0 1rem;box-shadow:0 4px 14px rgba(36,76,121,.08)}
/* fix: wide desc cards no longer crop — cells center instead of stretch */
.mp-cards{align-items:center}
.mp-cards .flyer-card,.flyer-book img{height:auto;object-fit:initial}
/* compare parties feature */
.cmp-pick{position:absolute;right:3.4rem;top:.65rem;z-index:3;display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1.5px solid rgba(122,95,208,.45);border-radius:999px;padding:.28rem .7rem;font:700 .62rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#5a4ab0;cursor:pointer;box-shadow:0 4px 12px rgba(36,76,121,.12);transition:background .2s,color .2s,transform .2s}
.cmp-pick:hover{transform:translateY(-1px)}
.cmp-pick.on{background:linear-gradient(115deg,#ff6ea0,#a58fe0);border-color:transparent;color:#fff}
.play-strip{position:relative}
@media(max-width:760px){.cmp-pick{right:2.6rem;top:.45rem;padding:.22rem .55rem;font-size:.56rem}}
.cmp-tray{position:fixed;left:50%;bottom:1.1rem;transform:translate(-50%,140%);z-index:900;display:flex;align-items:center;gap:.7rem;background:#fff;border:1.5px solid rgba(122,95,208,.35);border-radius:999px;padding:.55rem .6rem .55rem 1.1rem;box-shadow:0 18px 50px rgba(36,76,121,.28);transition:transform .35s ease}
.cmp-tray.show{transform:translate(-50%,0)}
.cmp-tray span{font:700 .78rem var(--sans);color:var(--deep-blue)}
.cmp-tray .cmp-go{background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border:0;border-radius:999px;padding:.6rem 1.1rem;font:700 .72rem var(--sans);letter-spacing:.06em;cursor:pointer}
.cmp-tray .cmp-clear{background:none;border:0;font:700 .66rem var(--sans);color:#8a96a5;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.cmp-overlay{position:fixed;inset:0;z-index:950;background:rgba(12,40,70,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:1rem}
.cmp-overlay.open{display:flex}
.cmp-card{background:#fffdfb;border-radius:22px;box-shadow:0 30px 80px rgba(7,23,55,.4);max-width:min(1060px,96vw);max-height:88vh;overflow:auto;position:relative;padding:1.6rem 1.4rem 1.4rem}
.cmp-card h3{font:600 1.7rem var(--serif);color:var(--deep-blue);margin:.1rem 0 1rem;text-align:center}
.cmp-card table{border-collapse:collapse;min-width:640px;width:100%}
.cmp-card th,.cmp-card td{padding:.75rem .8rem;vertical-align:top;text-align:left;border-top:1px solid rgba(59,111,169,.14);font:400 .86rem var(--sans);color:var(--ink);line-height:1.5}
.cmp-card thead th{border-top:0;font:600 1.02rem var(--serif);color:var(--deep-blue)}
.cmp-card td:first-child,.cmp-card th:first-child{font:700 .64rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8a795a;white-space:nowrap;padding-top:.9rem}
.cmp-card .cmp-price{font:700 1rem var(--sans);color:var(--deep-blue)}
.cmp-close{position:sticky;float:right;top:0;background:#fff;border:1.5px solid rgba(122,95,208,.4);border-radius:999px;width:34px;height:34px;font-size:1.1rem;color:#5a4ab0;cursor:pointer;line-height:1}
@media(max-width:760px){.cmp-card{padding:1.1rem .8rem}.cmp-card table{min-width:560px}}
.cmp-book{display:inline-block;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border-radius:999px;padding:.55rem 1rem;font:700 .7rem var(--sans);letter-spacing:.05em;box-shadow:0 6px 18px rgba(199,111,192,.35);transition:transform .2s}
.cmp-book:hover{transform:translateY(-1px)}
/* all-inclusive section: collapsed grid with invite toggle */
.inc-toggle{display:flex;align-items:center;gap:.55rem;margin:0 auto 0;background:#fff;border:1.5px solid rgba(122,95,208,.4);border-radius:999px;padding:.85rem 1.5rem;font:700 .8rem var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#5a4ab0;cursor:pointer;box-shadow:0 8px 24px rgba(36,76,121,.12);transition:transform .2s,box-shadow .2s}
.inc-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(36,76,121,.18)}
.inc-toggle em{font-style:italic;text-transform:none;font:italic 700 .95rem var(--serif);background-image:linear-gradient(115deg,#ff6ea0,#a58fe0);background-clip:text;-webkit-background-clip:text;color:transparent}
.inc-toggle span{font-size:1.15rem;line-height:1;transition:transform .3s ease}
.inc-toggle.on span{transform:rotate(45deg)}
.inc-collapse{overflow:hidden;max-height:0;transition:max-height .55s ease}
.inc-collapse.open{max-height:none}
.inc-collapse-inner{padding-top:1.6rem}
/* inclusive section: strip-style reveal bar + compact mom review box */
.inc-bar{display:flex;align-items:stretch;width:100%;max-width:980px;margin:0 auto;border:0;border-radius:22px;overflow:hidden;background:linear-gradient(90deg,#f2ecff,#fff 62%);cursor:pointer;text-align:left;min-height:150px;padding:0;box-shadow:0 16px 44px rgba(36,76,121,.14);transition:transform .25s ease,box-shadow .25s ease}
.inc-bar:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(36,76,121,.2)}
.inc-bar-img{flex:0 0 clamp(140px,30%,330px);position:relative;overflow:hidden}
.inc-bar-img .ib-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.inc-bar-img .ib-slide.active{opacity:1}
.inc-bar-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#faf7ff)}
.inc-bar-title{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1.1rem 1.2rem}
.inc-bar-title strong{font:600 clamp(1.35rem,2.6vw,2rem)/1.15 var(--serif);color:#17324f}
.inc-bar-title strong em{font-style:italic;background-image:linear-gradient(115deg,#ff6ea0,#c76fc0 45%,#a58fe0);background-clip:text;-webkit-background-clip:text;color:transparent}
.inc-bar-title small{margin-top:.35rem;color:var(--muted);font-size:.85rem;line-height:1.45}
.inc-bar.on .strip-plus{transform:rotate(45deg)}
@media(max-width:680px){.inc-bar{min-height:118px}.inc-bar-img{flex-basis:104px}.inc-bar-title{padding:.85rem .8rem}}
.mom-box{max-width:640px;margin:2.2rem auto 0;background:#fff;border:1.5px solid rgba(199,111,192,.28);border-radius:20px;padding:1.3rem 1.5rem 1.4rem;text-align:center;box-shadow:0 14px 40px rgba(36,76,121,.1)}
.mom-box-title{font:800 .64rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#a05fb8;margin:0 0 .5rem}
.mom-box-title i{font-style:normal;color:#c89e42}
.mom-stars{color:#ffb84d;font-size:.95rem;letter-spacing:.15em}
.mom-quote{font:italic 600 1.02rem/1.6 var(--serif);color:var(--deep-blue);margin:.55rem 0 .5rem}
.mom-attr{display:block;font:700 .66rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8a96a5}
.mom-more{display:inline-block;margin-top:.75rem;font:700 .72rem var(--sans);letter-spacing:.06em;color:#5a4ab0;border-bottom:1.5px solid rgba(122,95,208,.45);padding-bottom:.15rem}
.inc-most{display:block;font:italic 600 .62rem var(--serif);color:var(--muted);margin-top:.1rem;letter-spacing:.03em}
/* homepage pass: ticker, editorial, locations, founder fold */
.announcement{height:48px}
.quote-ticker .tq{font-size:.84rem}
.quote-ticker .tq b{font-size:.72rem}
.quote-ticker i{font-size:.84rem}
.site-header{top:60px}
.edit-cols{text-align:left;max-width:920px;margin:0 auto 1.2rem}
@media(min-width:760px){.edit-cols{columns:2;column-gap:3rem}.edit-cols p{break-inside:avoid-column;margin-top:0}}
.edit-cols p{line-height:1.8;color:var(--muted);font-size:1.02rem}
.pull-line{font:italic 600 clamp(1.6rem,3vw,2.3rem)/1.3 var(--serif);margin:1.6rem auto;max-width:860px;background-image:linear-gradient(100deg,#e0559b,#8a5fd0 60%,#1a9db4);background-clip:text;-webkit-background-clip:text;color:transparent}
.pull-glow{font:italic 600 clamp(1.15rem,2vw,1.5rem)/1.5 var(--serif);color:var(--deep-blue);max-width:760px;margin:1.4rem auto 0;position:relative;padding-bottom:.7rem}
.pull-glow:after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:180px;height:3px;border-radius:3px;background:linear-gradient(90deg,#ffd36f,#ff8fb8,#a58fe0)}
.qa-aside{font:italic 600 1.1rem var(--serif);color:#7867d8;margin:1rem 0}
.fold{overflow:hidden;max-height:0;transition:max-height .5s ease}
.fold.open{max-height:none}
.fold-toggle{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1.5px solid rgba(122,95,208,.4);border-radius:999px;padding:.7rem 1.2rem;font:700 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#5a4ab0;cursor:pointer;box-shadow:0 6px 18px rgba(36,76,121,.1);margin:.4rem 0 .2rem}
.fold-toggle span{font-size:1.05rem;line-height:1;transition:transform .3s ease}
.fold-toggle.on span{transform:rotate(45deg)}
.pull-line-sm{font:italic 600 1.25rem/1.5 var(--serif);background-image:linear-gradient(100deg,#e0559b,#8a5fd0);background-clip:text;-webkit-background-clip:text;color:transparent;margin:1.1rem 0}
.bday-lead{font:italic 600 1.12rem/1.65 var(--serif);color:#ffe9c4;max-width:620px;margin:0 0 .9rem}
/* locations page */
.loc-wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:1.6rem;padding:0 1.1rem}
.loc-bar{display:grid;grid-template-columns:1.05fr 1fr .95fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow);min-height:300px}
.loc-media{position:relative;min-height:240px}
.loc-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.loc-copy{padding:1.8rem 1.6rem;display:flex;flex-direction:column;justify-content:center;gap:.35rem}
.loc-copy .eyebrow{margin:0}
.loc-copy h3{font:600 clamp(1.7rem,2.6vw,2.3rem)/1.1 var(--serif);color:var(--deep-blue);margin:.15rem 0 .3rem}
.loc-copy address{font-style:normal;color:#33415e;line-height:1.55;font-size:.95rem}
.loc-links{display:flex;flex-direction:column;gap:.2rem;margin-top:.5rem;font-size:.9rem}
.loc-links a{color:#5a4ab0;font-weight:700}
.loc-links a:hover{text-decoration:underline}
.loc-ig{margin-top:.55rem;font:700 .74rem var(--sans);letter-spacing:.05em}
.loc-ig a{color:#c2247c}
.loc-map{position:relative;display:block;min-height:240px}
.loc-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.loc-map:hover img{transform:scale(1.04)}
.loc-map span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(255,255,255,.92);border-radius:999px;padding:.4rem .9rem;font:700 .64rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#17506e;box-shadow:0 6px 16px rgba(36,76,121,.18);white-space:nowrap}
@media(max-width:900px){.loc-bar{grid-template-columns:1fr}.loc-media{min-height:210px}.loc-map{min-height:230px}}
/* fix: aurora must clip into letters everywhere; pulls must win specificity */
.h2-aurora{background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent}
.quick-answer-inner .pull-line,.founder-copy .pull-line-sm{background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.quick-answer-inner .qa-aside{color:#7867d8!important;text-align:center}
.quick-answer-inner .pull-glow{color:var(--deep-blue)!important}
.edit-cols p{break-inside:auto}
.qa-body{max-width:780px;margin:0 auto;line-height:1.8;color:var(--muted);font-size:1.02rem}
/* Experience the Magic dropdown */
.nav-drop{position:relative}
.nav-drop>button{background:none;border:0;cursor:pointer;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:.35rem;padding:.7rem .2rem;letter-spacing:inherit}
.nav-drop>button i{font-style:normal;font-size:.6rem;transition:transform .25s ease}
.nav-drop.open>button i{transform:rotate(180deg)}
.nav-drop-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:250px;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:16px;box-shadow:0 18px 48px rgba(38,95,140,.2);backdrop-filter:blur(14px);padding:.5rem;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:40}
.nav-drop-menu::before{content:"";position:absolute;left:-10px;right:-10px;top:-14px;height:14px}
.nav-drop.open .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
@media(hover:hover){.nav-drop:hover .nav-drop-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}}
.nav .nav-drop-menu a{display:block;padding:.65rem .85rem;border-radius:10px;font-size:.74rem;font-weight:700;color:#244a6b!important;text-transform:none;letter-spacing:.02em;white-space:nowrap}
.nav-drop-menu a:hover{background:linear-gradient(90deg,#fff3d6,#f4ecff)}
@media(max-width:950px){.nav-drop-menu{position:static;transform:none;min-width:0;box-shadow:none;border:0;background:transparent;padding:.1rem 0 .3rem .9rem;display:none;opacity:1;pointer-events:auto}
.nav-drop.open .nav-drop-menu{display:flex}
.nav .nav-drop-menu{background:transparent}
.nav .nav-drop-menu a{color:#fff!important}}
/* flagship page: section accordions */
.sec-acc{padding-top:clamp(2.4rem,4vw,3.6rem);padding-bottom:clamp(2.4rem,4vw,3.6rem)}
.sec-head{position:relative;max-width:900px;margin:0 auto;text-align:center;cursor:pointer;padding:0 3.4rem}
.sec-head-text .eyebrow{margin-bottom:.3rem}
.sec-head-text h2{margin:.3rem 0 .5rem}
.sec-preview{color:var(--muted);font-size:.98rem;line-height:1.6;max-width:640px;margin:0 auto}
.sec-plus{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.sec-acc:not(.collapsed) .sec-plus{transform:translateY(-50%) rotate(45deg)}
.sec-body{overflow:hidden;max-height:0;transition:max-height .6s ease}
.sec-acc:not(.collapsed) .sec-body{max-height:none}
.sec-inner{padding-top:1.8rem}
@media(max-width:680px){.sec-head{padding:0 2.6rem}.sec-plus{width:36px;height:36px;font-size:1.4rem}}
/* flagship page: party-style section strips */
.svc-strip{max-width:1120px;margin:0 auto;border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.strip-title h2{font:600 clamp(1.5rem,3vw,2.3rem)/1.12 var(--serif);color:#17324f;margin:0}
.strip-title h2 em{font-style:italic;background-image:linear-gradient(115deg,#ff6ea0,#c76fc0 45%,#a58fe0);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.flag-section{padding-top:clamp(2rem,3.5vw,3rem);padding-bottom:clamp(2rem,3.5vw,3rem)}
.chip-row a.play-chip{text-decoration:none}
/* "Let us help" guided finder */
.helper-tab{position:fixed;left:1rem;bottom:1.1rem;z-index:890;display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border:0;border-radius:999px;padding:.8rem 1.15rem;font:700 .74rem var(--sans);letter-spacing:.05em;cursor:pointer;box-shadow:0 14px 36px rgba(199,111,192,.4);transition:transform .25s ease}
.helper-tab:hover{transform:translateY(-2px)}
.helper-tab i{font-style:normal}
.helper-overlay{position:fixed;inset:0;z-index:940;background:rgba(12,40,70,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:1rem}
.helper-overlay.open{display:flex}
.helper-card{background:#fffdfb;border-radius:24px;box-shadow:0 30px 80px rgba(7,23,55,.4);width:min(560px,94vw);max-height:86vh;overflow:auto;padding:1.7rem 1.6rem 1.5rem;position:relative;text-align:center}
.helper-close{position:absolute;top:.9rem;right:.9rem;background:#fff;border:1.5px solid rgba(122,95,208,.4);border-radius:999px;width:32px;height:32px;font-size:1.05rem;color:#5a4ab0;cursor:pointer;line-height:1}
.helper-eyebrow{font:800 .62rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#a05fb8;margin:0 0 .4rem}
.helper-q{font:600 1.45rem/1.3 var(--serif);color:var(--deep-blue);margin:.2rem 0 1.1rem}
.helper-opts{display:flex;flex-direction:column;gap:.6rem}
.helper-opts button{background:#fff;border:1.5px solid rgba(122,95,208,.4);border-radius:14px;padding:.85rem 1rem;font:600 .95rem var(--serif);color:#17324f;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;text-align:center}
.helper-opts button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(36,76,121,.14);border-color:#c76fc0}
.helper-back{margin-top:1rem;background:none;border:0;font:700 .68rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#8a96a5;cursor:pointer}
.helper-rec-name{font:600 1.7rem/1.2 var(--serif);background-image:linear-gradient(115deg,#e0559b,#8a5fd0);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin:.3rem 0 .6rem}
.helper-rec-why{color:var(--muted);line-height:1.7;font-size:.98rem;max-width:430px;margin:0 auto 1.2rem}
.helper-cta{display:inline-block;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border-radius:999px;padding:.85rem 1.5rem;font:700 .78rem var(--sans);letter-spacing:.06em;box-shadow:0 10px 26px rgba(199,111,192,.35)}
@media(max-width:680px){.helper-tab{left:.7rem;bottom:.8rem;padding:.7rem .95rem;font-size:.68rem}}
/* booking fairy nav pill */
.fairy-nav{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border:0;border-radius:999px;padding:.72rem 1.05rem;font:700 .72rem var(--sans);letter-spacing:.04em;cursor:pointer;box-shadow:0 8px 20px rgba(199,111,192,.35);transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}
.fairy-nav:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(199,111,192,.45)}
.fairy-nav i{font-style:normal;animation:fairyTwinkle 2.2s ease-in-out infinite}
@keyframes fairyTwinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.25)}}
@media(max-width:950px){.fairy-nav{align-self:flex-start;margin:.4rem 0}}
.helper-alt-lead{font:italic 600 1.02rem var(--serif);color:#a05fb8;margin:1.4rem 0 .7rem}
.helper-alt-lead em{font-style:italic;background-image:linear-gradient(115deg,#e0559b,#8a5fd0);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.helper-alt{background:#fdf6fb;border:1.5px solid rgba(199,111,192,.28);border-radius:16px;padding:1rem 1.1rem;margin:0 0 .7rem}
.helper-alt-name{font:600 1.15rem var(--serif);color:#c2247c;margin:0 0 .35rem}
.helper-alt-cta{display:inline-block;font:700 .7rem var(--sans);letter-spacing:.06em;color:#5a4ab0;border-bottom:1.5px solid rgba(122,95,208,.45);padding-bottom:.12rem}
/* fairy whisper: one-time homepage nudge */
.fairy-whisper{position:fixed;right:1.1rem;bottom:1.1rem;z-index:880;width:min(330px,88vw);background:#fff;border:1.5px solid transparent;border-radius:18px;padding:1.05rem 1.1rem;box-shadow:0 18px 48px rgba(38,95,140,.22),0 0 0 1.5px rgba(199,111,192,.35);opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.fairy-whisper.show{opacity:1;transform:translateY(0)}
.fairy-whisper p{margin:0 0 .7rem;font:600 .92rem/1.55 var(--serif);color:var(--deep-blue)}
.fairy-whisper p i{font-style:normal;color:#c89e42}
.fairy-whisper .fw-cta{display:inline-block;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border:0;border-radius:999px;padding:.6rem 1rem;font:700 .7rem var(--sans);letter-spacing:.05em;cursor:pointer}
.fairy-whisper .fw-close{position:absolute;top:.45rem;right:.55rem;background:none;border:0;font-size:1rem;color:#8a96a5;cursor:pointer;padding:.2rem}
.helper-opts button b{display:block;font:600 1rem var(--serif);color:#17324f}
.helper-opts button small{display:block;margin-top:.3rem;font:500 .78rem var(--sans);color:var(--muted);line-height:1.5}
/* transformation experience blocks */
.xp-lead{max-width:820px;margin:.4rem auto 1.4rem;text-align:center;color:var(--muted);line-height:1.75;font-size:1.02rem}
.xp-lead b{color:var(--deep-blue)}
.xp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1000px;margin:0 auto 1.3rem}
@media(max-width:760px){.xp-grid{grid-template-columns:1fr}}
.xp-block{background:#fff;border:1.5px solid rgba(122,95,208,.22);border-radius:18px;padding:1.15rem 1.25rem;box-shadow:0 10px 28px rgba(36,76,121,.08)}
.xp-block h3{font:600 1.2rem var(--serif);color:var(--deep-blue);margin:0 0 .55rem}
.xp-block h3 i{font-style:normal;color:#c89e42;margin-right:.3rem}
.xp-block p{color:var(--muted);line-height:1.6;font-size:.92rem;margin:.2rem 0 .5rem}
.xp-list{list-style:none;margin:.2rem 0 0;padding:0}
.xp-list li{position:relative;padding-left:1.25rem;margin:.4rem 0;color:#33415e;line-height:1.55;font-size:.92rem}
.xp-list li:before{content:"\2727";position:absolute;left:0;color:#e0559b;font-size:.8rem}
.xp-gift{max-width:1000px;margin:0 auto 1.2rem;background:#fdf6fb;border:1.5px solid rgba(199,111,192,.3);border-radius:16px;padding:.95rem 1.15rem;color:#33415e;line-height:1.6;font-size:.95rem;text-align:center}
.xp-gift b{color:#c2247c}
.xp-price{text-align:center;font:500 1rem var(--sans);color:#33415e;margin:.4rem 0 1rem}
.xp-price b{font:700 2rem var(--serif);color:#d63384;margin-right:.35rem}
.xp-price span{color:var(--muted)}
.xp-cta{display:inline-block;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff;border-radius:999px;padding:.95rem 1.7rem;font:700 .8rem var(--sans);letter-spacing:.06em;box-shadow:0 12px 30px rgba(199,111,192,.4);transition:transform .2s ease}
.xp-cta:hover{transform:translateY(-2px)}
.strip-inner{text-align:center}
.strip-inner .xp-grid,.strip-inner .xp-list{text-align:left}
.xp-feature{width:100%;border-radius:14px;margin:.2rem 0 .7rem;box-shadow:0 10px 26px rgba(36,76,121,.16)}
.xp-block-img{display:flex;flex-direction:column}
.xp-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:.7rem}
.xp-faq details{background:#fff;border:1.5px solid rgba(122,95,208,.24);border-radius:16px;padding:.15rem .35rem;box-shadow:0 8px 22px rgba(36,76,121,.08)}
.xp-faq summary{cursor:pointer;list-style:none;padding:.95rem 2.2rem .95rem 1.1rem;font:600 1.05rem var(--serif);color:var(--deep-blue);position:relative}
.xp-faq summary::-webkit-details-marker{display:none}
.xp-faq summary:after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font:400 1.4rem/1 var(--sans);color:#a05fb8;transition:transform .25s ease}
.xp-faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.xp-faq p{margin:0 1.1rem 1rem;color:var(--muted);line-height:1.7;font-size:.95rem}
.xp-faq a{color:#5a4ab0;font-weight:700;border-bottom:1.5px solid rgba(122,95,208,.4)}

.xp-shots{max-width:620px;margin:0 auto 1.4rem}
.xp-shots .flyer-carousel{margin:0}
.xp-shots .fc-track{aspect-ratio:16/10;border-radius:16px}
@media(max-width:680px){.xp-shots{max-width:100%}}


@media(max-width:680px){.xp-gift-img{grid-template-columns:1fr;text-align:center}.xp-gift-img img{max-width:260px;margin:0 auto}}

/* full-width showcase gallery */
.fc-showcase{max-width:min(1400px,96vw);margin:0 auto;position:relative}
.fc-showcase .fc-track{aspect-ratio:21/9;border-radius:22px}
.fc-showcase .fc-slide{object-fit:cover}
.fc-showcase .fc-prev,.fc-showcase .fc-next{width:46px;height:46px;font-size:1.6rem}
@media(max-width:760px){.fc-showcase .fc-track{aspect-ratio:4/3}}
/* gift card: floating transparent cutout */


/* experience blocks: title, then centered copy + image row */
.xp-block{padding:1.3rem 1.4rem}
.xp-row{display:flex;gap:1.2rem;align-items:center}
.xp-copy{flex:1;min-width:0}
.xp-copy>*:first-child{margin-top:0}
.xp-copy>*:last-child{margin-bottom:0}
.xp-thumb{flex:0 0 auto;width:186px;height:auto!important;object-fit:contain!important;border-radius:12px;display:block}
.xp-thumbs{flex:0 0 auto;display:grid;gap:.55rem;width:150px}
.xp-thumbs .xp-thumb{width:100%}
@media(max-width:760px){.xp-row{flex-direction:column;align-items:center}.xp-thumb{width:min(240px,72%)}.xp-thumbs{width:min(240px,72%);grid-template-columns:1fr 1fr}}


@media(max-width:680px){}

/* tier blocks: tidy, content-height cards */
.xp-grid{align-items:start}
.xp-block{padding:1.35rem 1.45rem}
.xp-row{display:flex;gap:1.25rem;align-items:center}
.xp-copy{flex:1;min-width:0}
.xp-thumb{flex:0 0 auto;width:215px;height:auto!important;object-fit:contain!important;border-radius:12px;display:block}
.xp-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}
.xp-strip img{width:100%;height:120px!important;object-fit:cover!important;border-radius:11px;display:block}
@media(max-width:760px){.xp-row{flex-direction:column;align-items:center}.xp-thumb{width:min(260px,78%)}.xp-strip img{height:96px!important}}
/* shared feature box: take-home moments */
.xp-feature-box{display:flex;align-items:center;gap:2rem;max-width:1000px;margin:0 auto 1.3rem;background:#fdf6fb;border:1.5px solid rgba(199,111,192,.3);border-radius:20px;padding:1.5rem 1.7rem;text-align:left}
.xp-feature-photo,.xp-feature-product{flex:0 0 auto;height:auto!important;object-fit:contain!important;background:transparent;box-shadow:none;border-radius:0}
.xp-feature-photo{width:auto;max-width:200px;max-height:330px}
.xp-feature-product{width:auto;max-width:215px;max-height:330px}
.xp-feature-copy{flex:1}
.xp-feature-title{font:600 clamp(1.7rem,3vw,2.4rem)/1.1 var(--serif);margin:0 0 .5rem}
.xp-feature-copy p{margin:0;color:#33415e;line-height:1.7;font-size:1rem}
@media(max-width:680px){.xp-feature-box{flex-direction:column;text-align:center}.xp-feature-photo,.xp-feature-product{max-width:min(230px,64%);max-height:300px}}
/* dressed-up block titles */
.xp-block h3{font:600 1.3rem/1.3 var(--serif);letter-spacing:.005em;position:relative;padding-bottom:.6rem;margin:0 0 .75rem;
  background-image:linear-gradient(100deg,#1b3a63 0%,#6a4ec4 52%,#c2247c 100%);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.xp-block h3 i{-webkit-text-fill-color:#e0a93c;color:#e0a93c;background:none;font-style:normal;margin-right:.35rem;font-size:.95em}
.xp-block h3:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:2.5px;border-radius:3px;
  background:linear-gradient(90deg,#ffd36f,#ff8fb8 55%,#a58fe0)}
/* block rows: copy hugs the title; images capped for even rhythm */
.xp-row{align-items:flex-start}
.xp-thumb{width:auto;max-width:215px;max-height:290px}
.xp-copy>p:first-child,.xp-copy>ul:first-child{margin-top:0}
.xp-feature-copy p.xp-feature-banner{font:600 clamp(2.3rem,4.6vw,3.5rem)/1.05 var(--serif);margin:0 0 .25rem;letter-spacing:.005em;color:transparent}
.xp-feature-sub{background-image:linear-gradient(100deg,#1b3a63,#6a4ec4 55%,#c2247c)!important;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:none!important;font-size:clamp(1.35rem,2.3vw,1.75rem);margin:0 0 .7rem}

/* mermaid transformation hero: video + gradient veil */
.hero-mermaid{background:linear-gradient(90deg,rgba(9,44,86,.82) 0%,rgba(14,70,120,.5) 45%,rgba(30,90,150,.12) 80%),linear-gradient(0deg,rgba(255,250,242,.92),transparent 26%)}
@media(max-width:680px){.hero-mermaid{background:linear-gradient(180deg,rgba(9,44,86,.72) 0%,rgba(14,70,120,.45) 45%,rgba(255,250,242,.92) 100%)}}

/* ============ ONCE UPON A CHRISTMAS — its own world ============ */
.page-xmas{--x-pine:#0d3b2c;--x-deep:#08251c;--x-red:#b8253a;--x-berry:#8f1b2d;--x-gold:#e0b451;--x-snow:#fbf7f0;--x-night:#0a1b2e;
  background:var(--x-snow);color:#1d2b26}
.page-xmas .site-header{background:linear-gradient(180deg,rgba(6,26,20,.82),transparent)}
.page-xmas .brand-mark{color:var(--x-gold);filter:drop-shadow(0 0 10px rgba(224,180,81,.75))}
.page-xmas .nav-cta{background:linear-gradient(135deg,#c62b41,#8f1b2d);color:#fff;box-shadow:0 8px 22px rgba(143,27,45,.4)}
.page-xmas .hero-shade{background:linear-gradient(90deg,rgba(6,24,18,.86) 0%,rgba(10,45,34,.6) 45%,rgba(12,60,44,.16) 80%),linear-gradient(0deg,rgba(251,247,240,.95),transparent 30%)}
.page-xmas .hero h1 em{color:#f4d68a}
.page-xmas .eyebrow{color:#f0cf86}
.page-xmas .eyebrow.dark{color:var(--x-berry)}
.page-xmas .btn-primary{background:linear-gradient(135deg,#c62b41,#8f1b2d);color:#fff;box-shadow:0 10px 26px rgba(143,27,45,.35)}
.page-xmas .btn-light{background:#fff;color:var(--x-pine)}
/* falling snow */
.xmas-snow{position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.6px,transparent 2.4px),radial-gradient(circle,rgba(255,255,255,.6) 0 1.1px,transparent 2px);
  background-size:150px 150px,90px 90px;opacity:.5;animation:snowfall 22s linear infinite}
@keyframes snowfall{from{background-position:0 0,0 0}to{background-position:60px 150px,-40px 90px}}
/* christmas shimmer title */
.h2-xmas{background-image:linear-gradient(100deg,#e0b451,#c62b41 38%,#0d6b45 72%,#e0b451)!important;background-size:180% 100%;
  background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:shimmerText 9s linear infinite}
.page-xmas .quick-answer{background:linear-gradient(135deg,#fbf7f0,#f3f8f4 50%,#fdf1f2)}
.page-xmas .quick-answer h2{color:var(--x-pine)}
/* journey stops */
.xj{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.8rem,5vw,4.5rem);
  padding:clamp(2.6rem,5vw,4.4rem) clamp(1.2rem,6vw,6rem);max-width:1240px;margin:0 auto}
.xj:nth-child(even) .xj-media{order:2}
.xj-media{border-radius:24px;overflow:hidden;min-height:340px;box-shadow:0 20px 50px rgba(8,37,28,.18);background:linear-gradient(150deg,#0d3b2c,#123f2e 60%,#0a1b2e);position:relative}
.xj-media img,.xj-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xj-copy .x-step{display:inline-flex;align-items:center;gap:.5rem;font:800 .62rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--x-berry);margin-bottom:.5rem}
.xj-copy .x-step b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#c62b41,#8f1b2d);color:#fff;font-size:.7rem}
.xj-copy h3{font:600 clamp(1.9rem,3.4vw,3rem)/1.1 var(--serif);color:var(--x-pine);margin:.1rem 0 .7rem}
.xj-copy p{color:#40544c;line-height:1.8;font-size:1.01rem;margin:0 0 .6rem}
@media(max-width:820px){.xj{grid-template-columns:1fr}.xj:nth-child(even) .xj-media{order:0}.xj-media{min-height:240px}}
/* ticket tiers */
.x-tiers{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;padding:0 1.2rem}
@media(max-width:900px){.x-tiers{grid-template-columns:1fr}}
.x-tier{background:#fff;border:1.5px solid rgba(13,59,44,.16);border-radius:22px;padding:1.6rem 1.5rem;display:flex;flex-direction:column;box-shadow:0 14px 38px rgba(8,37,28,.1)}
.x-tier.gold{border-color:rgba(224,180,81,.75);box-shadow:0 18px 46px rgba(224,180,81,.24)}
.x-tier h3{font:600 1.9rem var(--serif);margin:0 0 .2rem;color:var(--x-pine)}
.x-tier .x-price{font:700 1.05rem var(--sans);color:var(--x-berry);margin:.1rem 0 .9rem}
.x-tier ul{list-style:none;margin:0 0 1.2rem;padding:0;flex:1}
.x-tier li{position:relative;padding-left:1.35rem;margin:.5rem 0;color:#40544c;line-height:1.55;font-size:.93rem}
.x-tier li:before{content:"\2726";position:absolute;left:0;color:var(--x-gold)}
.x-tier .x-book{display:inline-block;text-align:center;background:linear-gradient(135deg,#c62b41,#8f1b2d);color:#fff;border-radius:999px;padding:.9rem 1.2rem;font:700 .76rem var(--sans);letter-spacing:.05em}
.x-tier.gold .x-book{background:linear-gradient(135deg,#e0b451,#c19334);color:#2b1d05}
.x-ribbon{display:inline-block;background:linear-gradient(135deg,#e0b451,#c19334);color:#2b1d05;border-radius:999px;padding:.2rem .7rem;font:800 .58rem var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}
/* good to know */
.x-facts{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:0 1.2rem}
@media(max-width:760px){.x-facts{grid-template-columns:1fr}}
.x-fact{background:#fff;border:1.5px solid rgba(13,59,44,.14);border-radius:16px;padding:1rem 1.15rem;color:#40544c;line-height:1.6;font-size:.94rem}
.x-fact b{display:block;color:var(--x-pine);font:600 1.02rem var(--serif);margin-bottom:.25rem}
/* nice list capture */
.x-list{background:linear-gradient(140deg,#0d3b2c,#0a2a20 55%,#0a1b2e);color:#fff;padding:clamp(3rem,6vw,5rem) 1.2rem;position:relative;overflow:hidden}
.x-list-inner{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:2}
.x-list h2{font:600 clamp(2.2rem,4.4vw,3.6rem)/1.08 var(--serif);margin:.3rem 0 .6rem}
.x-list p.x-sub{color:rgba(255,255,255,.82);line-height:1.75;max-width:560px;margin:0 auto 1.6rem}
.x-form{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;text-align:left}
.x-form label{display:block;font:700 .62rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#f0cf86;margin:0 0 .3rem}
.x-form input[type=text],.x-form input[type=email],.x-form input[type=tel]{width:100%;border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:.8rem .9rem;font:500 .95rem var(--sans)}
.x-form input::placeholder{color:rgba(255,255,255,.45)}
.x-form input:focus{outline:none;border-color:var(--x-gold);background:rgba(255,255,255,.14)}
.x-form .x-wide{grid-column:1/-1}
.x-consent{grid-column:1/-1;display:flex;gap:.6rem;align-items:flex-start;color:rgba(255,255,255,.78);font-size:.8rem;line-height:1.55}
.x-consent input{margin-top:.25rem;accent-color:var(--x-gold)}
.x-form button{grid-column:1/-1;background:linear-gradient(135deg,#e0b451,#c19334);color:#2b1d05;border:0;border-radius:999px;padding:1rem 1.4rem;font:800 .78rem var(--sans);letter-spacing:.08em;cursor:pointer;box-shadow:0 12px 30px rgba(224,180,81,.3)}
.x-fine{grid-column:1/-1;font-size:.68rem;color:rgba(255,255,255,.5);line-height:1.5;margin:.2rem 0 0}
@media(max-width:640px){.x-form{grid-template-columns:1fr}}
.x-tier .x-price{font:700 1.5rem var(--serif);color:var(--x-berry);margin:.15rem 0 .1rem}
.x-tier .x-price span{display:block;font:600 .62rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7d8f88;margin-top:.15rem}
.x-tier .x-per{font:600 .84rem var(--sans);color:#40544c;margin:.35rem 0 .1rem}
.x-tier .x-dur{font:600 .62rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#9aa8a2;margin:0 0 .9rem}
.x-tier li em{font-style:italic}
.x-bands{max-width:1000px;margin:1.6rem auto .4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding:0 1.2rem}
@media(max-width:780px){.x-bands{grid-template-columns:1fr}}
.x-band{background:#fff;border:1.5px solid rgba(13,59,44,.16);border-radius:14px;padding:.85rem 1rem;text-align:center}
.x-band.peak{border-color:rgba(184,37,58,.4);background:#fff7f7}
.x-band b{display:block;font:600 1.05rem var(--serif);color:var(--x-pine)}
.x-band span{display:block;font:600 .6rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#9aa8a2;margin:.15rem 0 .35rem}
.x-band i{font-style:normal;font:600 .84rem var(--sans);color:var(--x-berry)}
.x-tier .x-price span{display:block;font:600 .6rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#7d8f88;margin-top:.2rem}

/* ===== Christmas: the floating bar becomes cranberry & pine ===== */
.page-xmas .site-header{
  background:linear-gradient(135deg,rgba(168,29,48,.93),rgba(112,20,36,.9) 55%,rgba(13,59,44,.92));
  border-color:rgba(224,180,81,.42);
  box-shadow:0 16px 42px rgba(84,15,26,.32), inset 0 1px 0 rgba(255,255,255,.22)}
.page-xmas .site-header .brand-mark{color:#f3d489;text-shadow:0 0 18px rgba(243,212,137,.7)}
.page-xmas .nav-cta{background:linear-gradient(135deg,#e8c46a,#c9a03f);color:#3a1d0a;box-shadow:0 8px 22px rgba(201,160,63,.34)}
.page-xmas .announcement{background:linear-gradient(90deg,#0d3b2c,#8f1b2d 50%,#0d3b2c);color:#f7e6c4}
.page-xmas .announcement b,.page-xmas .announcement span{color:#f3d489}
@media(max-width:950px){.page-xmas .nav{background:rgba(120,22,38,.98);color:#fff}
  .page-xmas .menu-toggle span{background:#fff}}
/* three pillars */
.x-pillars{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.2rem}
@media(max-width:860px){.x-pillars{grid-template-columns:1fr}}
.x-pillar{background:#fff;border:1.5px solid rgba(13,59,44,.14);border-radius:20px;padding:1.5rem 1.5rem;box-shadow:0 14px 36px rgba(8,37,28,.08)}
.x-pillar b{display:block;font:600 1.35rem var(--serif);color:var(--x-pine);margin-bottom:.55rem;position:relative;padding-bottom:.5rem}
.x-pillar b:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:2.5px;border-radius:3px;background:linear-gradient(90deg,#e0b451,#b8253a)}
.x-pillar p{margin:0;color:#40544c;line-height:1.75;font-size:.96rem}
/* the real santa */
.x-santa{position:relative;overflow:hidden;background:linear-gradient(140deg,#0a1b2e,#0d3b2c 48%,#08251c);color:#fff;padding:clamp(3.4rem,7vw,6rem) 1.2rem;margin-top:2.4rem}
.x-santa-inner{position:relative;z-index:2;max-width:820px;margin:0 auto;text-align:center}
.x-santa h2{font:600 clamp(2.6rem,5.4vw,4.6rem)/1.04 var(--serif);margin:.35rem 0 1.2rem;
  background-image:linear-gradient(100deg,#f3d489,#e8b3bd 45%,#f3d489);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.x-santa p{color:rgba(255,255,255,.85);line-height:1.85;font-size:1.03rem;max-width:700px;margin:0 auto 1rem}
.x-santa-kicker{color:#f3d489!important;font-style:italic;font-family:var(--serif);font-size:1.12rem!important;line-height:1.7!important;padding-top:.6rem}
/* ===== journey timeline ===== */
.x-timeline{position:relative;max-width:940px;margin:0 auto;padding:.5rem 1.2rem 1rem 1.2rem}
.x-line{position:absolute;left:calc(1.2rem + 27px);top:12px;bottom:12px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,rgba(224,180,81,.15),#e0b451 12%,#b8253a 50%,#0d6b45 82%,rgba(13,107,69,.15));
  overflow:hidden}
.x-line:after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(180deg,transparent 0 14px,rgba(255,255,255,.95) 14px 20px);
  animation:xsparkle 5.5s linear infinite;opacity:.75}
@keyframes xsparkle{from{transform:translateY(-34px)}to{transform:translateY(0)}}
.x-stop{position:relative;display:grid;grid-template-columns:56px 1fr;gap:1.1rem;align-items:start;
  padding:.55rem 0 1.35rem;cursor:pointer}
.x-node{grid-row:1/3;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(140deg,#fff,#f6efe0);border:2px solid rgba(224,180,81,.85);
  box-shadow:0 0 0 6px var(--x-snow),0 10px 26px rgba(8,37,28,.16);position:relative;z-index:2;transition:transform .3s ease,box-shadow .3s ease}
.x-node b{font:700 .84rem var(--sans);color:#b8253a;letter-spacing:.02em}
.x-stop:hover .x-node,.x-stop.open .x-node{transform:scale(1.08);
  background:linear-gradient(140deg,#b8253a,#8f1b2d);border-color:#e0b451;box-shadow:0 0 0 6px var(--x-snow),0 0 26px rgba(224,180,81,.6)}
.x-stop:hover .x-node b,.x-stop.open .x-node b{color:#fff}
.x-stop-copy h3{font:600 clamp(1.35rem,2.4vw,1.9rem) var(--serif);color:var(--x-pine);margin:.35rem 0 .3rem}
.x-stop.open .x-stop-copy h3,.x-stop:hover .x-stop-copy h3{color:var(--x-berry)}
.x-stop-copy p{margin:0;color:#40544c;line-height:1.7;font-size:.98rem;max-width:56ch}
.x-stop-media{grid-column:2;max-height:0;opacity:0;overflow:hidden;border-radius:18px;
  transition:max-height .55s cubic-bezier(.22,1,.36,1),opacity .4s ease,margin .4s ease;
  background:linear-gradient(150deg,#0d3b2c,#123f2e 55%,#0a1b2e);position:relative}
.x-stop-media img,.x-stop-media video{width:100%;height:100%;object-fit:cover;display:block}
.x-stop.open .x-stop-media{max-height:340px;opacity:1;margin-top:.85rem;min-height:210px}
@media(hover:hover) and (pointer:fine){.x-stop:hover .x-stop-media{max-height:340px;opacity:1;margin-top:.85rem;min-height:210px}}
.x-stop:focus-visible{outline:2px solid var(--x-gold);outline-offset:6px;border-radius:12px}
@media(max-width:620px){.x-line{left:calc(1.2rem + 22px)}.x-stop{grid-template-columns:46px 1fr;gap:.9rem}
  .x-node{width:46px;height:46px}.x-node b{font-size:.74rem}.x-stop.open .x-stop-media{max-height:260px;min-height:170px}}
/* pillar images */
.x-pillar{padding:0;overflow:hidden}
.x-pillar-img{display:block;height:190px;overflow:hidden}
.x-pillar-img img{width:100%;height:100%;object-fit:cover;display:block}
.x-pillar b{padding:1.3rem 1.4rem 0;margin-bottom:.5rem}
.x-pillar p{padding:0 1.4rem 1.4rem}
/* santa section backdrop */
.x-santa-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;filter:saturate(.9)}
.x-santa:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,27,46,.86),rgba(8,37,28,.9))}
.x-santa-inner{position:relative;z-index:3}
.x-santa .xmas-snow{z-index:2}
/* testimonial */
.x-proof{padding:clamp(2.8rem,6vw,4.6rem) 1.2rem;background:linear-gradient(135deg,#fdf1f2,#fbf7f0 55%,#f3f8f4)}
.x-proof-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media(max-width:820px){.x-proof-inner{grid-template-columns:1fr}}
.x-proof blockquote{margin:.5rem 0 .7rem;font:italic 600 clamp(1.35rem,2.6vw,2rem)/1.45 var(--serif);color:var(--x-pine)}
.x-proof cite{font-style:normal;font:700 .72rem var(--sans);letter-spacing:.06em;color:var(--x-berry)}
.x-proof-note{margin:1.1rem 0 0;color:#40544c;line-height:1.75;font-size:.98rem;max-width:52ch}
.x-proof-shot{display:block;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(8,37,28,.18);border:1.5px solid rgba(13,59,44,.12)}
.x-proof-shot img{width:100%;height:auto;display:block}
/* film */
.x-film{padding:clamp(2.6rem,5vw,4rem) 1.2rem 1rem;text-align:center}
.x-film-inner{max-width:900px;margin:0 auto}
.x-film-video{width:100%;height:auto!important;border-radius:20px;box-shadow:0 20px 52px rgba(8,37,28,.24);margin-top:1.2rem;display:block;background:#08251c}
/* seasons-past gallery */
.x-gallery{padding:clamp(2.6rem,5vw,4.2rem) clamp(1.1rem,4vw,3rem) clamp(2rem,4vw,3rem)}
.x-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:.7rem}
.x-tile{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(8,37,28,.14);position:relative}
.x-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.x-tile:hover img{transform:scale(1.05)}
.x-tile.tall{grid-row:span 2}
.x-tile.wide{grid-column:span 2}
@media(max-width:900px){.x-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:165px}.x-tile.wide{grid-column:span 2}}
@media(max-width:560px){.x-grid{grid-auto-rows:140px}}

/* ===== christmas: never crop the framed plates ===== */
.x-stop-media{background:transparent}
.x-stop.open .x-stop-media{max-height:680px;min-height:0}
@media(hover:hover) and (pointer:fine){.x-stop:hover .x-stop-media{max-height:680px;min-height:0}}
.x-stop-media img{width:100%;height:auto!important;object-fit:contain!important;display:block;border-radius:16px}
.x-stop-media video{width:auto;max-width:100%;max-height:440px;height:auto!important;object-fit:contain!important;
  display:block;margin:0 auto;border-radius:16px;background:#08251c}
/* pillar + gallery plates show whole, on cream */
.x-pillar-img.plate{height:auto;background:#fbf7f0}
.x-pillar-img.plate img{height:auto!important;object-fit:contain!important}
.x-tile.plate{background:#fbf7f0}
.x-tile.plate img{object-fit:contain!important}

/* ===== masonry gallery: nothing cropped, nothing squeezed ===== */
.x-masonry{display:none}
@media(max-width:900px){.x-masonry{column-count:2}}
@media(max-width:560px){.x-masonry{column-count:1}}
.x-shot{break-inside:avoid;margin:0 0 .9rem;border-radius:18px;overflow:hidden;position:relative;cursor:zoom-in;
  box-shadow:0 12px 32px rgba(8,37,28,.14);background:#fbf7f0;transition:transform .35s ease,box-shadow .35s ease}
.x-shot:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(8,37,28,.22)}
.x-shot img{width:100%;height:auto!important;object-fit:contain!important;display:block}
.x-shot:after{content:"\2295";position:absolute;right:.7rem;bottom:.6rem;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;background:rgba(8,37,28,.55);color:#f3d489;font-size:.9rem;opacity:0;transition:opacity .3s ease}
.x-shot:hover:after{opacity:1}
/* lightbox */
.x-lightbox{position:fixed;inset:0;z-index:120;background:rgba(6,20,15,.94);display:none;place-items:center;padding:3vmin;cursor:zoom-out}
.x-lightbox.open{display:grid}
.x-lightbox img{max-width:94vw;max-height:88vh;width:auto!important;height:auto!important;object-fit:contain!important;
  border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.x-lightbox button{position:absolute;top:2vmin;right:2vmin;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(243,212,137,.5);
  background:rgba(0,0,0,.35);color:#f3d489;font-size:1.4rem;line-height:1;cursor:pointer}
.x-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  border:1.5px solid rgba(243,212,137,.4);background:rgba(0,0,0,.32);color:#f3d489;font-size:1.6rem;cursor:pointer;display:grid;place-items:center}
.x-lb-prev{left:2vmin}.x-lb-next{right:2vmin}

/* ===== christmas hero: stop cropping the video ===== */
.page-xmas .hero.flag-hero{min-height:0!important;aspect-ratio:16/9;max-height:90vh;align-items:flex-end}
.page-xmas .hero-video{object-position:center 42%}
@media(max-width:900px){.page-xmas .hero.flag-hero{aspect-ratio:auto;min-height:72vh!important}}
.page-xmas .hero-shade{background:linear-gradient(90deg,rgba(6,24,18,.8) 0%,rgba(10,45,34,.42) 42%,rgba(12,60,44,.06) 72%),
  linear-gradient(0deg,rgba(6,24,18,.92),rgba(6,24,18,.25) 34%,transparent 62%)}

/* ===== full-bleed film band ===== */
.x-band{position:relative;height:clamp(300px,42vw,520px);overflow:hidden;margin:0}
.x-band video,.x-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.x-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,18,.72),rgba(6,24,18,.2) 55%,rgba(6,24,18,.6))}
.x-band-copy{position:relative;z-index:2;height:100%;display:grid;place-items:center;text-align:center;padding:1.5rem}
.x-band-copy p{margin:0;max-width:780px;color:#fff;font:italic 600 clamp(1.4rem,3vw,2.5rem)/1.4 var(--serif);
  text-shadow:0 2px 24px rgba(0,0,0,.55)}
.x-band-copy p b{font-style:normal;color:#f3d489;font-weight:600}

/* ===== nice list on a real photograph ===== */
.x-list{position:relative;overflow:hidden}
.x-list-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.26}
.x-list:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(13,59,44,.93),rgba(10,27,46,.95));z-index:1}
.x-list .xmas-snow{z-index:2}
.x-list-inner{z-index:3}

/* ===== tickets on a soft workshop wash ===== */
#tickets{position:relative;overflow:hidden}
#tickets .x-ticket-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.09;filter:saturate(.7)}
#tickets>*:not(.x-ticket-bg){position:relative;z-index:2}

/* ===== christmas hero: full width at every size, minimal crop ===== */
.page-xmas .hero.flag-hero{aspect-ratio:auto!important;width:100%;
  height:min(56.25vw,88vh)!important;min-height:520px!important;max-height:none!important}
.page-xmas .hero-video{object-fit:cover;object-position:center 40%}
@media(max-width:900px){.page-xmas .hero.flag-hero{height:auto!important;min-height:70vh!important}}
/* title scaled back so the film reads */
.page-xmas .hero h1{font-size:clamp(2.1rem,3.9vw,3.9rem)!important;letter-spacing:-.02em;line-height:1.06}
.page-xmas .hero-copy{font-size:clamp(.95rem,1.15vw,1.06rem);max-width:540px}
.page-xmas .hero-content{width:min(680px,92%);padding-bottom:clamp(2.4rem,5vh,3.6rem)}
/* header: cranberry everywhere, nothing can override it */
body.page-xmas .site-header{
  background:linear-gradient(135deg,rgba(168,29,48,.94),rgba(112,20,36,.92) 52%,rgba(13,59,44,.94))!important;
  border-color:rgba(224,180,81,.45)!important}
body.page-xmas .site-header .nav a{color:#fff!important}
@media(max-width:950px){
  body.page-xmas .nav{background:linear-gradient(135deg,#a81d30,#0d3b2c)!important;color:#fff!important}}
.x-santa-inner{max-width:760px}
.x-santa h2{margin-bottom:1.4rem}
.x-santa p em{font-style:italic;color:rgba(255,255,255,.7)}
.x-santa-rule{margin:1.8rem auto!important;max-width:200px}
.x-santa-rule span{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(243,212,137,.7),transparent)}
.x-santa-lead{font:italic 600 clamp(1.2rem,2.3vw,1.65rem)/1.5 var(--serif)!important;color:#fff!important;max-width:640px!important}
.x-santa-kicker{color:#f3d489!important;font-style:normal!important;font-family:var(--serif);font-weight:600;
  font-size:clamp(1.3rem,2.6vw,1.95rem)!important;line-height:1.4!important;padding-top:1.4rem}
.x-santa-coda{color:rgba(255,255,255,.72)!important;font-size:.98rem!important;max-width:600px!important;padding-top:.4rem}
/* founder story */
.x-founder{padding:clamp(3rem,6vw,5rem) 1.2rem;background:linear-gradient(150deg,#fbf7f0,#f7f1e6 55%,#fdf1f2);position:relative}
.x-founder:before,.x-founder:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:min(560px,80%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,37,58,.28),transparent)}
.x-founder:before{top:0}.x-founder:after{bottom:0}
.x-founder-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center;text-align:left}
.x-founder h2{font-size:clamp(1.9rem,3.5vw,3rem)!important;margin:.4rem 0 1.3rem;line-height:1.12}
.x-founder p{color:#40544c;line-height:1.85;font-size:1rem;margin:0 0 1rem}
.x-founder-lead{font-size:1.08rem!important;color:#2c4038!important}
.x-founder-close{margin-top:1.5rem!important;padding-top:1.3rem;border-top:1px solid rgba(13,59,44,.14);
  font:italic 600 clamp(1.05rem,2vw,1.3rem)/1.6 var(--serif)!important;color:var(--x-berry)!important}
@media(max-width:820px){.x-founder-inner{grid-template-columns:1fr;text-align:left}}
.x-founder-cover{margin:0}
.x-founder-cover img{width:100%;height:auto;display:block;border-radius:6px;
  box-shadow:0 26px 60px rgba(8,37,28,.32),0 2px 0 rgba(255,255,255,.6);transform:rotate(-1.6deg);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.x-founder-cover:hover img{transform:rotate(0deg) scale(1.015)}
.x-founder-cover figcaption{margin-top:.9rem;text-align:center;font:600 .7rem/1.5 var(--sans);color:#7d8f88;letter-spacing:.02em}
.x-founder-cover figcaption em{font-style:italic}
.x-founder h2{margin:.4rem 0 1.1rem}
.x-founder-close{text-align:left}
@media(max-width:820px){.x-founder-cover img{transform:none;max-width:340px;margin:0 auto}
  .x-founder-cover figcaption{max-width:340px;margin-left:auto;margin-right:auto}}
.x-founder-wide{grid-column:1/-1;margin:1.6rem 0 0}
.x-founder-wide img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 20px 48px rgba(8,37,28,.2)}
.x-founder-wide figcaption{margin-top:.8rem;text-align:center;font:italic 600 .95rem/1.5 var(--serif);color:var(--x-berry)}
/* package cards, rebuilt */
.x-tiers{align-items:start}
.x-tier{padding:1.7rem 1.6rem 1.6rem}
.x-tier-mins{font:800 .6rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#9aa8a2;margin:0 0 .1rem}
.x-tier h3{font:600 clamp(1.65rem,2.4vw,2.05rem) var(--serif);color:var(--x-pine);margin:0 0 .15rem}
.x-tier-tag{font:italic 600 1rem/1.4 var(--serif);color:var(--x-berry);margin:0 0 .8rem}
.x-tier-lede{color:#40544c;line-height:1.72;font-size:.95rem;margin:0 0 1.1rem;padding-bottom:1rem;
  border-bottom:1px solid rgba(13,59,44,.12)}
.x-tier-sub{font:800 .58rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--x-berry);margin:0 0 .6rem}
.x-tier ul{list-style:none;margin:0 0 1.3rem;padding:0;flex:1}
.x-tier li{position:relative;padding-left:1.3rem;margin:0 0 .75rem;color:#4a5f57;line-height:1.62;font-size:.9rem}
.x-tier li b{color:var(--x-pine);font-weight:600}
.x-tier li:before{content:"\2726";position:absolute;left:0;top:.05rem;color:var(--x-gold);font-size:.8rem}
.x-choose{max-width:840px;margin:1.8rem auto 0;padding:1.4rem 1.6rem;border-radius:18px;text-align:center;
  background:rgba(255,255,255,.72);border:1.5px solid rgba(224,180,81,.4)}
.x-choose p:last-child{margin:0;color:#40544c;line-height:1.8;font-size:1rem}
.x-choose b{color:var(--x-pine);font-weight:600}
/* compare pills on the christmas cards */
.x-tier{position:relative}
.page-xmas .cmp-pick{position:absolute;right:1.1rem;top:1.15rem;background:rgba(13,59,44,.07);
  border:1px solid rgba(13,59,44,.18);color:var(--x-pine);border-radius:999px;padding:.34rem .7rem;
  font:700 .6rem var(--sans);letter-spacing:.04em;cursor:pointer;user-select:none;transition:all .2s ease}
.page-xmas .cmp-pick:hover{background:rgba(184,37,58,.1);border-color:rgba(184,37,58,.4);color:var(--x-berry)}
.page-xmas .cmp-pick.on{background:linear-gradient(135deg,#c62b41,#8f1b2d);border-color:transparent;color:#fff}
.page-xmas .cmp-tray{background:linear-gradient(135deg,rgba(168,29,48,.96),rgba(13,59,44,.96));border-color:rgba(224,180,81,.4)}
.page-xmas .cmp-go{background:linear-gradient(135deg,#e8c46a,#c9a03f);color:#3a1d0a}
.page-xmas .cmp-card h3{color:var(--x-pine)}
.page-xmas .cmp-book{background:linear-gradient(135deg,#c62b41,#8f1b2d);color:#fff}
/* ribbon and compare pill must not collide */
.x-tier .x-ribbon{position:absolute;top:1.1rem;left:1.5rem;margin:0}
.x-tier.gold{padding-top:3.1rem}
.x-tier.gold .x-tier-mins{margin-top:0}
.page-xmas .x-tier .cmp-pick{top:1.05rem;right:1.1rem}
@media(max-width:520px){
  .x-tier.gold{padding-top:4.4rem}
  .page-xmas .x-tier .cmp-pick{top:2.6rem}
  .x-tier .x-ribbon{left:1.2rem}}

/* ===== gallery reel: continuous, refined, nothing cropped ===== */
.x-reel{position:relative;overflow:hidden;padding:.4rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.x-reel-track{display:flex;gap:1rem;width:max-content;animation:xreel 72s linear infinite}
.x-reel:hover .x-reel-track,.x-reel:focus-within .x-reel-track{animation-play-state:paused}
@keyframes xreel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.x-reel .x-shot{flex:0 0 auto;height:clamp(220px,26vw,330px);margin:0;border-radius:16px;overflow:hidden;
  background:#fbf7f0;box-shadow:0 14px 34px rgba(8,37,28,.16);cursor:zoom-in;
  transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}
.x-reel .x-shot:hover{transform:translateY(-6px);box-shadow:0 24px 52px rgba(8,37,28,.26)}
.x-reel .x-shot img{height:100%!important;width:auto!important;max-width:none;object-fit:contain!important;display:block}
.x-reel .x-shot:after{display:none}
@media(prefers-reduced-motion:reduce){.x-reel-track{animation:none}
  .x-reel{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}
/* touch devices: swipe the reel instead of chasing it */
@media(hover:none){
  .x-reel{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:none;mask-image:none;padding-bottom:.6rem}
  .x-reel-track{animation:none;width:auto}
  .x-reel .x-shot{scroll-snap-align:center}
  .x-reel .x-dupe{display:none}
  .x-reel::-webkit-scrollbar{height:4px}
  .x-reel::-webkit-scrollbar-thumb{background:rgba(13,59,44,.25);border-radius:4px}
}

/* ===== collapsibles: open on desktop, tap-to-open on mobile ===== */
.x-collapse-btn{display:none;width:100%;align-items:center;justify-content:space-between;gap:.8rem;
  background:none;border:0;padding:.9rem 0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.x-collapse-btn i{font-style:normal;font-size:.8rem;color:var(--x-berry);transition:transform .3s ease;flex:0 0 auto}
.x-collapse.open>.x-collapse-btn i{transform:rotate(180deg)}
@media(max-width:820px){
  .x-collapse-btn{display:flex}
  .x-collapse>.x-collapse-body{max-height:0;overflow:hidden;opacity:.4;
    transition:max-height .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}
  .x-collapse.open>.x-collapse-body{max-height:1600px;opacity:1}
  /* packages */
  .x-tier .x-collapse-btn{border-top:1px solid rgba(13,59,44,.14);margin-top:.2rem}
  .x-tier .x-collapse-btn span{font:800 .62rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--x-berry)}
  .x-tier.x-collapse.open .x-collapse-body{padding-top:.4rem}
  /* good to know */
  .x-fact{padding:.2rem 1.15rem}
  .x-fact-head span{font:600 1rem var(--serif);color:var(--x-pine)}
  .x-fact .x-collapse-body p{margin:0 0 .9rem;color:#40544c;line-height:1.6;font-size:.93rem}
  /* pillars */
  .x-pillar-head{padding:1rem 1.4rem!important}
  .x-pillar-head span{font:600 1.25rem var(--serif);color:var(--x-pine)}
  .x-pillar .x-collapse-body p{padding:0 1.4rem 1.3rem}
  .x-pillar-img{height:150px}
}

/* v=20260721bj — Christmas reviews: dedicated grid + peppered pull-quotes */
.x-reviews .reviews{margin:1.2rem auto 0}
body.page-xmas .review-card{border-color:rgba(224,180,81,.42);box-shadow:0 16px 42px rgba(8,37,28,.1)}
body.page-xmas .review-toggle{color:var(--x-berry);text-decoration-color:rgba(143,27,45,.35)}
body.page-xmas .review-toggle:hover{text-decoration-color:var(--x-berry)}
.x-pull{max-width:660px;margin:2.6rem auto;padding:0 1.4rem;text-align:center;position:relative;z-index:1}
.x-pull-glyph{display:block;color:var(--x-gold,var(--violet));font-size:1.15rem;margin-bottom:.55rem}
.x-pull blockquote{margin:0 0 .85rem;font:italic 500 clamp(1.06rem,1.9vw,1.28rem)/1.65 var(--serif);color:var(--x-deep,var(--deep-blue))}
.x-pull cite{display:inline-flex;align-items:center;gap:.55rem;font:600 .78rem var(--sans);font-style:normal;color:#5a6570;letter-spacing:.02em}
.x-pull cite .yr-stars b{width:15px;height:15px;font-size:.56rem;border-radius:3px}
#tickets .x-pull{margin:0 auto 2.4rem}

/* v=20260721bk — Christmas FAQ scoping */
body.page-xmas .faq-item{border-color:rgba(224,180,81,.4);box-shadow:0 10px 30px rgba(8,37,28,.08)}
body.page-xmas .faq-item summary{color:var(--x-pine)}
body.page-xmas .faq-item summary:after{color:var(--x-berry)}
body.page-xmas .faq-item>div ul{margin:0 0 .8rem;padding-left:1.3rem;color:var(--muted);line-height:1.75;font-size:.95rem}
body.page-xmas .faq-item>div ul li{margin-bottom:.2rem}
body.page-xmas .ticker-track{animation-duration:127s}

/* v=20260721bl — scarcity CTAs */
.x-cta{text-align:center;margin:2.6rem auto 0;padding:0 1.2rem;position:relative;z-index:1}
.x-cta-line{max-width:560px;margin:0 auto .95rem;font:italic 500 .98rem/1.65 var(--serif);color:var(--x-berry)}
.x-scarcity{max-width:660px;margin:1.1rem auto 0;text-align:center;font:italic 500 clamp(.98rem,1.7vw,1.08rem)/1.7 var(--serif);color:var(--x-berry);padding:0 1.2rem;position:relative;z-index:1}
/* v=20260721bo — anchors clear the fixed ticker + floating header on ALL pages */
[id]{scroll-margin-top:145px}
#top{scroll-margin-top:0}

/* princess page crop + note (br) */
.page-princess .hero-video{object-position:50% 30%}
.xp-note{font-size:.82rem;color:var(--muted);margin:.5rem 0 0}

/* princess-upgrade header crossfade (bs) */
.strip-fade::before{content:"";position:absolute;inset:0;background:var(--fade-img) center/cover no-repeat;opacity:0;animation:stripFade 4s ease-in-out infinite}
@keyframes stripFade{0%,40%{opacity:0}50%,90%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.strip-fade::before{animation:none}}

/* private princess take-home feature (bt) */
.xp-feature-stack{flex-direction:column;gap:1.2rem}
.xp-feature-stack .xp-feature-row{display:flex;align-items:center;gap:2rem;width:100%}
.xp-feature-plate{width:100%;max-width:780px;height:auto;object-fit:contain;display:block;margin:0 auto;border-radius:14px}
@media(max-width:680px){.xp-feature-stack .xp-feature-row{flex-direction:column;text-align:center}}

/* princess gallery reel tint (bu) */
.page-princess .x-reel .x-shot{background:var(--cream);box-shadow:0 14px 34px rgba(36,76,121,.15)}
.page-princess .x-reel .x-shot:hover{box-shadow:0 24px 52px rgba(36,76,121,.24)}
@media(hover:none){.page-princess .x-reel::-webkit-scrollbar-thumb{background:rgba(120,103,216,.35)}}

/* mermaid cove page (by) */
.cove-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:22px;box-shadow:var(--shadow);padding:1.8rem 2rem}
.cove-upgrades{color:#33415e;font-size:.95rem;margin:.4rem 0 1.1rem}
.cove-facts{max-width:1020px;margin:1.6rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.2rem}
.cove-fact{background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:18px;padding:1.2rem 1.3rem;box-shadow:0 10px 26px rgba(36,76,121,.08)}
.cove-fact b{display:block;font:600 1.15rem var(--serif);color:var(--deep-blue);margin-bottom:.35rem}
.cove-fact p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}
.cove-compare{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:0 1.2rem}
.cove-col{background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:22px;box-shadow:var(--shadow);padding:1.6rem 1.8rem;display:flex;flex-direction:column}
.cove-col h3{font:600 1.6rem var(--serif);color:var(--deep-blue);margin:0 0 .15rem}
.cove-col h3 small{display:block;font:700 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--violet);margin-top:.3rem}
.cove-col-tag{color:var(--muted);font-weight:600;margin:.5rem 0 .8rem}
.cove-col .xp-cta{margin-top:auto}
.cove-hint{max-width:720px;margin:1.8rem auto 0;text-align:center;color:var(--muted);line-height:1.75;padding:0 1.2rem}
.cove-visit{max-width:760px;margin:0 auto;text-align:center;color:#33415e;line-height:1.8;padding:0 1.2rem}
@media(max-width:820px){.cove-facts,.cove-compare{grid-template-columns:1fr}.cove-card{padding:1.4rem 1.2rem}}

/* cove difference film (bz) */
.cove-film{max-width:380px;margin:0 auto 2rem;padding:0 1.2rem}
.cove-film-video{width:100%;aspect-ratio:9/16;border-radius:22px;background:#0c2c47;box-shadow:var(--shadow);display:block}
.cove-film-cap{text-align:center;color:var(--muted);font-size:.85rem;margin:.7rem 0 0}

/* cove asset drop (cb) */
.cove-card-row{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:1.8rem;align-items:start;max-width:980px}
.cove-menu{width:100%;height:auto!important;object-fit:contain!important;border-radius:14px;box-shadow:0 12px 30px rgba(36,76,121,.14)}
.cove-clips{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.2rem}
.cove-clips video{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);display:block;background:#0c2c47}
.cove-reels{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.2rem}
.cove-reel video{width:100%;aspect-ratio:9/16;border-radius:20px;box-shadow:var(--shadow);display:block;background:#0c2c47}
.cove-visit-wrap{position:relative;overflow:hidden}
.cove-visit-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.13;pointer-events:none}
.cove-visit-wrap>*:not(.cove-visit-bg){position:relative}
.cove-storefront{max-width:760px;margin:0 auto 1.8rem;padding:0 1.2rem}
.cove-storefront img{width:100%;height:auto!important;object-fit:contain!important;border-radius:22px;box-shadow:var(--shadow)}
@media(max-width:820px){.cove-card-row{grid-template-columns:1fr;justify-items:center}.cove-menu{width:min(320px,86%)}.cove-clips,.cove-reels{grid-template-columns:1fr;max-width:420px}}

/* gretchen credit (cc) */
.cove-reel-cap{text-align:center;margin:.6rem 0 0}
.cove-reel-cap b{display:block;font:600 1.05rem var(--serif);color:var(--deep-blue)}
.cove-reel-cap span{display:block;font-size:.78rem;color:var(--muted);margin-top:.1rem}

/* compare: 3-across with video centered (cd) */
.cove-compare-3{grid-template-columns:1fr minmax(225px,285px) 1fr;align-items:stretch}
.cove-compare-mid{display:flex;flex-direction:column;justify-content:center}
.cove-compare-mid video{width:100%;aspect-ratio:9/16;border-radius:20px;box-shadow:var(--shadow);background:#0c2c47;display:block}
@media(max-width:960px){.cove-compare-3{grid-template-columns:1fr}.cove-compare-mid{max-width:340px;margin:0 auto}}

/* pirate page (ci) */
.page-pirate{background:#0a1b2e}
.page-pirate .site-header{background:linear-gradient(180deg,rgba(4,14,26,.8),transparent)}
.pirate-deck{width:100%;margin:0;padding:172px 0 2rem;display:flex;flex-direction:column;align-items:stretch}
.pirate-link{display:block;width:100%;cursor:pointer}
.pirate-panel{width:100%;height:auto!important;object-fit:contain!important;display:block;border-radius:0;box-shadow:none}
.pirate-venue-wrap{position:relative}
.pirate-venue-video{position:absolute;left:43.5%;top:19%;width:47.5%;height:65%;object-fit:cover;border-radius:6px;box-shadow:0 8px 26px rgba(0,0,0,.35)}
.rope-line{width:100%;height:clamp(30px,3.4vw,52px);margin:2.2rem 0;background:url('assets/images/flyers/pirate/rope-tile.png') repeat-x center;background-size:auto 100%}
.pirate-fact{color:#cfe0ef;margin:1.1rem 0 0;text-align:center}
.pirate-fact a{color:#ffd36b;text-decoration:underline}
.pirate-glow{margin-top:2.6rem;color:#e8f1fa}

.pirate-fact{margin:1rem auto 2rem}
@media(max-width:680px){.pirate-deck{padding-top:142px}}

/* clickable location titles (cl) */
.loc-title-link{color:inherit;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .2s ease}
.loc-title-link:hover,.loc-title-link:focus-visible{border-bottom-color:currentColor}

/* ===== 20260722pt: corporate pages, partnerships form, sticky party CTA, ticker motion ===== */
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none!important}}
.cp-hero{padding:10rem 1.2rem 3.2rem;text-align:center;background:linear-gradient(135deg,#fff,#f2fbff 45%,#f7f2ff)}
.cp-hero h1{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;line-height:1.06;font-size:clamp(2.5rem,5.4vw,4.5rem);color:var(--deep-blue);margin:.6rem auto 1rem;max-width:900px}
.cp-hero .cp-lead{max-width:760px;margin:0 auto;line-height:1.75;color:var(--muted);font-size:1.06rem}
.cp-section{max-width:1080px;margin:0 auto;padding:clamp(2.6rem,5vw,4.6rem) 1.2rem}
.cp-section h2{font-family:var(--serif);font-weight:600;color:var(--deep-blue);font-size:clamp(1.9rem,3.4vw,2.9rem);margin:0 0 1rem}
.cp-section>p{line-height:1.8;color:var(--muted);max-width:820px}
.cp-alt{background:linear-gradient(135deg,#fff8e8,#fff0f6)}
.cp-alt-inner{max-width:1080px;margin:0 auto;padding:clamp(2.6rem,5vw,4.6rem) 1.2rem}
.cp-alt-inner h2{font-family:var(--serif);font-weight:600;color:var(--deep-blue);font-size:clamp(1.9rem,3.4vw,2.9rem);margin:0 0 1rem}
.cp-alt-inner p{line-height:1.8;color:var(--muted);max-width:820px}
.cp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.8rem}
.cp-card{background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:20px;padding:1.45rem;box-shadow:var(--shadow)}
.cp-card h3{font-family:var(--serif);color:var(--deep-blue);margin:.15rem 0 .5rem;font-size:1.32rem}
.cp-card p{font-size:.93rem;line-height:1.62;color:var(--muted);margin:0}
.cp-card .cp-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:700;color:var(--violet)}
.cp-form{max-width:660px;margin:2.2rem auto 0;background:#fff;border:1px solid rgba(38,118,179,.14);border-radius:24px;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:var(--shadow);display:grid;gap:1rem;text-align:left}
.cp-form label{font-weight:700;font-size:.82rem;color:var(--ink);display:grid;gap:.4rem;letter-spacing:.02em}
.cp-form input,.cp-form select,.cp-form textarea{font:inherit;font-size:.96rem;padding:.85rem .95rem;border:1.5px solid rgba(59,111,169,.25);border-radius:12px;background:#fbfdff;color:var(--ink);width:100%}
.cp-form textarea{min-height:130px;resize:vertical}
.cp-form input:focus,.cp-form select:focus,.cp-form textarea:focus{outline:2px solid var(--turquoise);outline-offset:1px;border-color:transparent}
.cp-form button{font:700 .92rem var(--sans);letter-spacing:.03em;background:linear-gradient(135deg,var(--gold),#ffe69b);color:var(--ink);border:0;border-radius:999px;padding:1.05rem 1.4rem;cursor:pointer;box-shadow:0 8px 25px rgba(255,211,107,.32)}
.cp-form button:hover{transform:translateY(-1px)}
.cp-form small{color:var(--muted);line-height:1.5;font-size:.74rem}
.cp-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:620px){.cp-two{grid-template-columns:1fr}}
.cp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1.6rem 0}
.cp-stats article{background:#fff;border:1px solid rgba(38,118,179,.12);border-radius:18px;padding:1.2rem;text-align:center;box-shadow:var(--shadow)}
.cp-stats strong{display:block;font:600 2.1rem var(--serif);color:var(--deep-blue)}
.cp-stats span{font-size:.8rem;color:var(--muted)}
.cp-press-video{max-width:860px;margin:1.6rem auto 0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.cp-press-video video{display:block;width:100%;height:auto}
.cp-outlets{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.cp-outlets span{background:#fff;border:1px solid rgba(38,118,179,.14);border-radius:999px;padding:.6rem 1.05rem;font-weight:700;font-size:.82rem;color:var(--deep-blue);box-shadow:0 6px 18px rgba(36,76,121,.07)}
.party-sticky-cta{display:none}
@media(max-width:620px){
.party-sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:930;justify-content:center;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--gold),#ffe69b);color:var(--ink);font:700 .95rem var(--sans);letter-spacing:.03em;padding:1.05rem 1rem calc(1.05rem + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(36,76,121,.24)}
.sticky-cta-page .helper-tab{bottom:4.9rem}
.sticky-cta-page .fairy-whisper{bottom:4.9rem}
.sticky-cta-page .cmp-tray{bottom:4.9rem}
.sticky-cta-page footer{padding-bottom:8rem}
}

.cp-card-media{display:block;margin:-1.45rem -1.45rem 1rem;border-radius:20px 20px 0 0;overflow:hidden;aspect-ratio:16/11}
.cp-card-media img{width:100%;height:100%;object-fit:cover;object-position:top}

.cp-leader-media{aspect-ratio:4/5}
.cp-leaders{grid-template-columns:repeat(auto-fit,minmax(230px,280px));justify-content:start}

/* ===== 20260722sz: readable text floor + calmer section backgrounds ===== */
.nav{font-size:.8rem}
.eyebrow{font-size:.72rem}
.btn{font-size:.85rem}
.booking-links a{font-size:.82rem}
footer a{font-size:.85rem}
footer h4{font-size:.74rem}
.brand small{font-size:.6rem}
.nav .nav-drop-menu a{font-size:.82rem}
.path-copy small{font-size:.74rem}
.world-card p{font-size:.68rem}
.copyright{font-size:.7rem}
.cp-card .cp-kicker{font-size:.68rem}
.review-toggle,.fold-toggle{font-size:.85rem}
/* calmer canvas: flatten two mid-page tints so remaining gradients read intentional */
.quick-answer{background:#fffdf8}
.booking{background:linear-gradient(180deg,#fdfbff,#f4f9ff)}
.parent-note{background:#fff8f0}

.cp-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;padding:0 1.2rem 2.2rem;background:linear-gradient(135deg,#fff,#f2fbff 45%,#f7f2ff)}
.cp-jump a{background:#fff;border:1px solid rgba(59,111,169,.18);border-radius:999px;padding:.72rem 1.1rem;font-size:.82rem;font-weight:700;color:var(--deep-blue);box-shadow:0 6px 18px rgba(36,76,121,.08);transition:transform .2s ease}
.cp-jump a:hover{transform:translateY(-2px)}
#our-story,#timeline,#behind-the-magic,#leadership{scroll-margin-top:110px}

/* ===== 20260723mb: mobile fixes — menu, toggles, strip rows ===== */
@media(max-width:950px){
/* dropdown was inheriting a desktop translateX(-50%) in its open state -> slid off-screen */
.nav-drop.open .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{transform:none}
.nav-drop{width:100%}
.nav-drop>button{width:100%;justify-content:flex-start}
/* compact, consistent menu rhythm regardless of inherited margins */
.nav{gap:.35rem;padding:1.5rem 1.6rem;align-items:stretch}
.nav>a,.nav .nav-drop>button{margin:0;padding:.7rem .1rem;font-size:.95rem}
.nav .nav-drop-menu{padding:.15rem 0 .5rem 1rem}
.nav .nav-drop-menu a{margin:0;padding:.55rem .4rem;font-size:.9rem}
/* Book Now pill: force readable gold-on-ink on every page theme */
.nav .nav-cta{background:linear-gradient(135deg,var(--gold),#ffe69b)!important;color:var(--ink)!important;margin-top:.6rem;text-align:center}
.nav .fairy-whisper,.nav .booking-fairy{margin-top:.6rem}
}
@media(max-width:640px){
/* collection / experience strip rows: stop viewport overflow, keep + inside */
.play-strip,.collection,.col-head,.strip-head{max-width:100%}
.strip-head,.col-head{gap:.55rem;padding-right:.4rem}
.strip-img{width:92px;min-width:92px}
.strip-title,.col-head-text{min-width:0}
.strip-title strong{font-size:1.35rem;line-height:1.12}
.strip-title small{white-space:normal;line-height:1.35}
.strip-plus,.col-plus{margin:0 .35rem 0 .2rem;width:36px;height:36px;font-size:1.35rem}
.col-title{font-size:1.3rem;line-height:1.15}
.col-tagprice{display:block;margin-top:.25rem}
.tier-hrs{width:40px;height:40px}
}

/* ===== 20260723ql: pink Quick Links dropdown ===== */
.nav-drop-quick>button{background:linear-gradient(135deg,#ff8fb3,#c68cf0);color:#fff;border-radius:999px;padding:.62rem 1rem;box-shadow:0 6px 18px rgba(214,109,168,.35)}
.nav-drop-quick>button:hover{transform:translateY(-1px)}
@media(max-width:950px){.nav .nav-drop-quick>button{width:auto;justify-content:center;margin:.5rem 0 0;padding:.7rem 1.2rem}}

/* ===== 20260723ph: tap-to-call in header ===== */
.header-call{display:none}
.nav-call{display:inline-flex;align-items:center;gap:.4rem}
.nav-call svg{flex:none}
@media(max-width:950px){
.header-call{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;margin-left:auto;margin-right:.1rem}
.header-call:active{background:rgba(255,255,255,.32)}
.nav .nav-call{padding:.7rem .1rem}
}

/* ===== 20260723tk: Christmas nav — Tickets is the gold action ===== */
.nav-tickets{background:linear-gradient(135deg,var(--gold),#ffe69b);color:var(--ink)!important;padding:.62rem 1.05rem;border-radius:999px;box-shadow:0 5px 20px rgba(255,211,107,.35);font-weight:800}
.nav-tickets:hover{transform:translateY(-1px)}
.nav-cta-frost{background:rgba(255,255,255,.92)!important;color:#8c2440!important;box-shadow:0 5px 18px rgba(0,0,0,.18)!important}
@media(max-width:950px){.nav .nav-tickets{align-self:flex-start;margin:.4rem 0}}

/* ===== 20260723ld: leadership rows — photo leads top, compact quartet below ===== */
.cp-leaders-mini{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem;align-items:start}
.cp-leaders-mini .cp-card{padding:1.15rem}
.cp-leaders-mini h3{font-size:1.12rem;margin:.1rem 0 .35rem}
.cp-leaders-mini p{font-size:.85rem}
.cp-leaders{align-items:start}

/* ===== 20260723lz: leadership layout polish ===== */
.cp-leaders{justify-content:center;grid-template-columns:repeat(auto-fit,minmax(250px,310px))}
.cp-leaders-mini{grid-template-columns:repeat(4,1fr);align-items:stretch;margin-top:1.2rem}
.cp-leaders-mini .cp-card{display:flex;flex-direction:column}
.cp-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:600 1.2rem var(--serif);color:#fff;margin-bottom:.7rem;background:linear-gradient(135deg,#37c9c1,#2676b3);box-shadow:0 6px 16px rgba(36,76,121,.18)}
.cp-leaders-mini .cp-card:nth-child(2) .cp-avatar{background:linear-gradient(135deg,#ff8fb3,#c05a8f)}
.cp-leaders-mini .cp-card:nth-child(3) .cp-avatar{background:linear-gradient(135deg,#7867d8,#4b55b8)}
.cp-leaders-mini .cp-card:nth-child(4) .cp-avatar{background:linear-gradient(135deg,#f2b93f,#e08a3c)}
@media(max-width:900px){.cp-leaders-mini{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cp-leaders-mini{grid-template-columns:1fr}}

/* ===== 20260723th: unified thumbnail leadership cards ===== */
.cp-leaders-mini{grid-template-columns:repeat(3,1fr)}
.cp-leaders-mini .cp-card .cp-avatar{width:68px;height:68px}
.cp-avatar-photo{padding:0;overflow:hidden;background:#eef4fb}
.cp-avatar-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.cp-leaders-mini .cp-card .cp-avatar.av-teal{background:linear-gradient(135deg,#37c9c1,#2676b3)}
.cp-leaders-mini .cp-card .cp-avatar.av-pink{background:linear-gradient(135deg,#ff8fb3,#c05a8f)}
.cp-leaders-mini .cp-card .cp-avatar.av-violet{background:linear-gradient(135deg,#7867d8,#4b55b8)}
.cp-leaders-mini .cp-card .cp-avatar.av-gold{background:linear-gradient(135deg,#f2b93f,#e08a3c)}
@media(max-width:900px){.cp-leaders-mini{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cp-leaders-mini{grid-template-columns:1fr}}

/* ===== 20260723sn: slim page-section bar under the main header ===== */
.subnav{position:absolute;z-index:19;top:136px;left:50%;transform:translateX(-50%);display:flex;gap:.2rem;align-items:center;max-width:min(94vw,880px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:.3rem .5rem;box-shadow:0 10px 30px rgba(21,60,105,.18)}
.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:.5rem .85rem;border-radius:999px;font-size:.74rem;font-weight:700;color:var(--deep-blue);white-space:nowrap}
.subnav a:hover{background:linear-gradient(90deg,#fff3d6,#f4ecff)}
body[data-subnav] main [id]{scroll-margin-top:170px}
@media(max-width:950px){.subnav{top:118px}}

/* ===== 20260723sb: subnav visibility + Birthday Club chip ===== */
.subnav{background:#fff;border:1.5px solid rgba(59,111,169,.28);box-shadow:0 12px 34px rgba(21,60,105,.24),0 2px 0 rgba(255,255,255,.9) inset}
.subnav a{color:#12406e}
.subnav a:hover{background:linear-gradient(90deg,#ffeec4,#efe4ff)}
.subnav-club{background:linear-gradient(135deg,#ffe3ee,#f3e6ff);color:#a12d68!important;box-shadow:0 3px 10px rgba(214,109,168,.25)}

/* ===== 20260723ft: soft footer transition (replaces purple wave) ===== */
footer{background:linear-gradient(180deg,#1d4a7c 0,#0b345f 140px)}

/* ===== 20260723sp2: tighten collection head-to-includes spacing ===== */
.col-head{padding-bottom:1rem}
.col-inner>.inc-row:first-child{margin-top:0}
.inc-row{margin-top:.4rem}
.inc-title{margin:.4rem 0 .8rem}

/* ===== 20260723f12: global 12px minimum font floor (per-selector max) ===== */
.announcement{font-size:0.76rem}
.booking-links a{font-size:0.82rem}
.brand small{font-size:0.76rem}
.breakfast-includes{font-size:0.76rem}
.cmp-book{font-size:0.76rem}
.cmp-card td:first-child,.cmp-card th:first-child{font-size:0.76rem}
.cmp-pick{font-size:0.76rem}
.cmp-tray .cmp-clear{font-size:0.76rem}
.cmp-tray .cmp-go{font-size:0.76rem}
.col-eyebrow{font-size:0.76rem}
.col-title .col-tagprice{font-size:0.76rem}
.copyright{font-size:0.76rem}
.cove-col h3 small{font-size:0.76rem}
.cp-card .cp-kicker{font-size:0.76rem}
.cp-form small{font-size:0.76rem}
.deck-title{font-size:0.76rem}
.eyebrow{font-size:0.76rem}
.fairy-nav{font-size:0.76rem}
.fairy-whisper .fw-cta{font-size:0.76rem}
.fc-count{font-size:0.76rem}
.fold-toggle{font-size:0.76rem}
.founder-photo figcaption{font-size:0.76rem}
.founder-sign span{font-size:0.76rem}
.founder-world small{font-size:0.76rem}
.helper-alt-cta{font-size:0.76rem}
.helper-back{font-size:0.76rem}
.helper-eyebrow{font-size:0.76rem}
.helper-tab{font-size:0.76rem}
.inc-cell span{font-size:0.76rem}
.inc-cell strong{font-size:0.76rem}
.inc-most{font-size:0.76rem}
.inc-tile strong{font-size:0.76rem}
.inc-tile>span:last-child{font-size:0.76rem}
.loc-ig{font-size:0.76rem}
.loc-map span{font-size:0.76rem}
.mom-attr{font-size:0.76rem}
.mom-box-title{font-size:0.76rem}
.mom-more{font-size:0.76rem}
.nav{font-size:0.80rem}
.nav .nav-drop-menu a{font-size:0.90rem}
.nav-drop>button i{font-size:0.76rem}
.page-xmas .cmp-pick{font-size:0.76rem}
.path-card.path-birthday .path-copy small{font-size:0.76rem}
.path-copy small{font-size:0.76rem}
.pkg-note{font-size:0.76rem}
.quote-ticker .tq{font-size:0.84rem}
.quote-ticker .tq b{font-size:0.76rem}
.quote-ticker i{font-size:0.84rem}
.review-meta span{font-size:0.76rem}
.review-toggle{font-size:0.76rem}
.subnav a{font-size:0.76rem}
.svc-card.pkg-vip .svc-copy small{font-size:0.76rem}
.svc-copy small{font-size:0.76rem}
.svc-copy>.svc-params{font-size:0.76rem}
.svc-copy>.svc-price em{font-size:0.76rem}
.svc-cta{font-size:0.76rem}
.svc-hero-card .svc-copy>.svc-params{font-size:0.76rem}
.svc-price em.pre{font-size:0.76rem}
.svc-quote>span:last-child{font-size:0.76rem}
.tc-div b{font-size:0.76rem}
.tc-hours{font-size:0.76rem}
.tc-line{font-size:0.76rem}
.tc-name{font-size:0.76rem}
.tier-hrs em{font-size:0.76rem}
.tier-info{font-size:0.76rem}
.tier-pop{font-size:0.76rem}
.tier-ribbon{font-size:0.76rem}
.trend-card .svc-params{font-size:0.76rem}
.urgency{font-size:0.76rem}
.world-card a{font-size:0.76rem}
.world-card p{font-size:0.76rem}
.world-first-copy a{font-size:0.76rem}
.world-first-copy p{font-size:0.76rem}
.x-band span{font-size:0.76rem}
.x-fine{font-size:0.76rem}
.x-form label{font-size:0.76rem}
.x-founder-cover figcaption{font-size:0.76rem}
.x-node b{font-size:0.84rem}
.x-proof cite{font-size:0.76rem}
.x-pull cite .yr-stars b{font-size:0.76rem}
.x-ribbon{font-size:0.76rem}
.x-tier .x-collapse-btn span{font-size:0.76rem}
.x-tier .x-dur{font-size:0.76rem}
.x-tier .x-price span{font-size:0.76rem}
.x-tier-mins{font-size:0.76rem}
.x-tier-sub{font-size:0.76rem}
.xj-copy .x-step{font-size:0.76rem}
.xj-copy .x-step b{font-size:0.76rem}
.yr-elite{font-size:0.76rem}
.yr-source{font-size:0.76rem}
.yr-stars b{font-size:0.76rem}
footer h4{font-size:0.76rem}

/* ===== 20260723pt2: Ultimate desc + pricing cards (tea-style) ===== */
.ptc-row{align-items:stretch}
.ptc-desc{background:linear-gradient(140deg,#fdeaf1,#fbdfe9 60%,#f9e6f4);border-radius:22px;padding:clamp(1.8rem,3.5vw,3rem) clamp(1.4rem,3vw,2.6rem);text-align:center;display:flex;flex-direction:column;justify-content:center;box-shadow:0 14px 38px rgba(150,60,110,.12)}
.ptc-eyebrow{color:#b9962e;font:800 .78rem var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 .9rem}
.ptc-title{font-family:var(--serif);font-weight:700;line-height:1.04;margin:0;letter-spacing:.01em}
.ptc-title span{display:block;text-transform:uppercase}
.ptc-t1{color:#d6437f;font-size:clamp(2rem,3.4vw,3rem)}
.ptc-t2{color:#1e7d8c;font-size:clamp(2.1rem,3.6vw,3.2rem)}
.ptc-gem{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1rem 0}
.ptc-gem:before,.ptc-gem:after{content:"";height:1.5px;width:90px;background:linear-gradient(90deg,transparent,#caa64a);}
.ptc-gem:after{background:linear-gradient(90deg,#caa64a,transparent)}
.ptc-gem i{width:16px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9dbd,#e34b83);box-shadow:0 0 0 2.5px #e9c76a}
.ptc-tag{font:italic 700 clamp(1.2rem,1.9vw,1.6rem) var(--serif);color:#8b64c9;margin:.1rem 0 .9rem}
.ptc-body{color:#3c3550;line-height:1.75;font-size:1rem;max-width:520px;margin:0 auto}
.ptc-price{background:#fdf3f6;border-radius:22px;padding:clamp(1.3rem,2.5vw,2rem);box-shadow:0 14px 38px rgba(150,60,110,.12);display:flex;flex-direction:column;justify-content:center}
.ptc-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.ptc-tier{position:relative;background:#fffdf6;border:1.5px solid #ecd9a8;border-radius:16px;padding:1.5rem .9rem 1.1rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.ptc-tier.pop{border-color:#e78ab1}
.ptc-ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#f0568f,#d1447c);color:#fff;font:800 .76rem var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:.3rem .8rem;border-radius:6px;white-space:nowrap;clip-path:polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%)}
.ptc-tname{font:700 .95rem var(--serif);color:#3a2f6b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;min-height:2.4em;display:flex;align-items:center}
.ptc-tier.pop .ptc-tname{color:#c23a72}
.ptc-dot{width:22px;height:26px;border-radius:50%;margin:.1rem 0 .5rem;box-shadow:0 0 0 2px #e9c76a}
.d-purple{background:radial-gradient(circle at 35% 30%,#a98fe0,#6b4fb8)}
.d-pink{background:radial-gradient(circle at 35% 30%,#ff9dbd,#e34b83)}
.ptc-amount{font:700 clamp(1.7rem,2.4vw,2.2rem) var(--serif);color:#d6437f;margin:.1rem 0}
.ptc-hours{color:#8b64c9;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin:0 0 .4rem}
.ptc-chars{font-weight:800;color:#2a2450;font-size:.9rem;margin:0}
.ptc-kids{color:#4a4066;font-size:.8rem;line-height:1.4;margin:.35rem 0 .9rem}
.ptc-kids em{color:#8b7ba6;font-style:normal}
.ptc-cta{margin-top:auto;display:inline-block;background:linear-gradient(135deg,#5b3fae,#4230a0);color:#fff;font:800 .8rem var(--serif);letter-spacing:.05em;text-transform:uppercase;padding:.7rem 1rem;border-radius:10px;box-shadow:0 6px 16px rgba(66,48,160,.3)}
.ptc-cta.cta-pink{background:linear-gradient(135deg,#f0568f,#d1447c);box-shadow:0 6px 16px rgba(209,68,124,.3)}
.ptc-cta:hover{transform:translateY(-1px)}
.ptc-note{text-align:center;color:#6b5f85;font-size:.85rem;margin:1rem 0 0}
.ptc-note:before{content:""}
@media(max-width:900px){.ptc-tiers{grid-template-columns:1fr}.ptc-tier{padding-top:1.7rem}}

/* ===== 20260722hw: wider floating header — every nav item stays on one line ===== */
.site-header{width:min(1360px,calc(100% - 32px));padding:0 1.5rem}
.site-header .nav a,.site-header .nav-drop>button,.site-header .fairy-nav,.site-header .nav-cta{white-space:nowrap}
@media(min-width:951px){
.site-header .nav{flex-wrap:nowrap;gap:clamp(.7rem,1.5vw,1.55rem)}
}
@media(min-width:951px) and (max-width:1310px){
.site-header .nav{font-size:.68rem}
.site-header .fairy-nav{font-size:.68rem;padding:.68rem .9rem}
.site-header .nav-cta{padding:.68rem 1rem}
.site-header .brand strong{font-size:1.05rem}
}
@media(min-width:951px) and (max-width:1120px){
.site-header .nav .nav-call{display:none}
.site-header .header-call{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;margin-left:auto;margin-right:.6rem}
}

/* ===== 20260722xh: Christmas header — Tickets lives on the floater, Nice List readable ===== */
body.page-xmas .site-header .nav a.nav-cta-frost{color:#8c2440!important}
.subnav .subnav-tickets{background:linear-gradient(135deg,var(--gold),#ffe69b);color:var(--ink)!important;font-weight:800;box-shadow:0 4px 14px rgba(230,174,55,.4)}
.subnav .subnav-tickets:hover{background:linear-gradient(135deg,var(--gold),#ffe69b);filter:brightness(1.05)}

/* ===== 20260722xd: Christmas header — dropdown menu links readable on white card ===== */
@media(min-width:951px){
body.page-xmas .site-header .nav .nav-drop-menu a{color:#0d3b2c!important}
body.page-xmas .site-header .nav .nav-drop-menu a:hover{background:linear-gradient(90deg,#fdeecb,#f6e2e6)}
}

/* ===== 20260722tp: tea party hero video, salon gradient band, transformation preview boxes ===== */
.xp-tea-wrap{max-width:1000px;margin:0 auto 1.1rem}
.xp-tea-hero{gap:clamp(1.4rem,3vw,2.6rem)}
.xp-tea-video{flex:0 0 auto;width:min(360px,44%);height:auto;border-radius:20px;box-shadow:0 18px 44px rgba(36,76,121,.22);display:block;background:#000}
@media(max-width:760px){.xp-tea-video{width:min(340px,92%)}}
.xp-salon-band{display:flex;gap:1.3rem;align-items:center;max-width:1000px;margin:0 auto 1.3rem;background:linear-gradient(115deg,#ffe1ef,#f6e6ff 60%,#ffeef7);border:1.5px solid rgba(255,110,160,.28);border-radius:20px;padding:1.15rem 1.3rem;box-shadow:0 10px 28px rgba(199,111,192,.14)}
.xp-salon-band img{flex:none;width:150px;height:150px;object-fit:cover;border-radius:16px;box-shadow:0 8px 20px rgba(199,111,192,.25)}
.xp-salon-band h3{font:600 1.15rem var(--serif);color:var(--deep-blue);margin:0 0 .4rem}
.xp-salon-band h3 i{font-style:normal;color:#e0559b;margin-right:.3rem}
.xp-salon-band p{margin:0;color:#5a4a6e;line-height:1.65;font-size:.95rem}
@media(max-width:620px){.xp-salon-band{flex-direction:column;text-align:center}.xp-salon-band img{width:100%;height:200px}}
.up-prev{display:flex;flex-direction:column}
.up-prev-img{width:100%;height:230px;object-fit:cover;border-radius:14px;margin:.2rem 0 .8rem}
.up-prev-sub{margin:0 0 .4rem;font-weight:700;color:var(--deep-blue);font-size:.92rem}
.up-prev .xp-list{margin-bottom:1rem}
.up-prev-cta{display:block;margin-top:auto;text-align:center;background:linear-gradient(115deg,#ff6ea0,#a58fe0);color:#fff!important;border-radius:999px;padding:.85rem 1.1rem;font:700 .76rem var(--sans);letter-spacing:.04em;box-shadow:0 10px 26px rgba(199,111,192,.35);transition:transform .2s ease}
.up-prev-cta:hover{transform:translateY(-2px)}
.up-prev-more{display:block;text-align:center;margin-top:.6rem;font:700 .68rem var(--sans);letter-spacing:.06em;color:#5a4ab0}

/* ===== 20260722bd: birthday CTAs centered & rotated, includes grids centered, breakfast tweaks ===== */
.svc-cta{align-self:center}
.fb-cta-row{text-align:center;margin:1.25rem 0 .2rem}
.ptc-cta{display:block;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center}
.inc-grid.cols-8,.inc-grid.cols-5{display:flex;flex-wrap:wrap;justify-content:center;max-width:1140px;margin-left:auto;margin-right:auto}
.inc-grid.cols-8 .inc-cell{flex:0 1 152px}
.inc-grid.cols-5 .inc-cell{flex:0 1 182px}
#col-breakfast .inc-row{margin-bottom:2rem}

/* ===== 20260722pp: Private Princess — compact four-column stage layout ===== */
.pp-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:1120px;margin:0 auto 1.3rem}
.pp-stage{background:#fff;border:1.5px solid rgba(122,95,208,.22);border-radius:16px;padding:.85rem .9rem 1rem;box-shadow:0 10px 28px rgba(36,76,121,.08);display:flex;flex-direction:column}
.pp-img{width:100%;height:172px;object-fit:cover;border-radius:12px}
.pp-cap{font:600 1.04rem/1.25 var(--serif);color:var(--deep-blue);margin:.65rem 0 .45rem;padding:0;position:relative}
.pp-cap i{font-style:normal;color:#e0a93c;margin-right:.3rem;font-size:.92em}
.pp-stage p{font-size:.87rem;line-height:1.58;color:#33415e;margin:0 0 .45rem}
.pp-stage .xp-list li{font-size:.84rem;margin:.32rem 0}
@media(max-width:980px){.pp-stages{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pp-stages{grid-template-columns:1fr}.pp-img{height:190px}}

/* ===== 20260722ac: accordion opens anchor to the clicked strip, clear of the floating header ===== */
.play-strip,.collection,.sec-acc{scroll-margin-top:150px}

/* ===== 20260722bh: breakfast collection title sized so its tagline sits inline ===== */
.col-title.col-morning{font-size:clamp(1.55rem,2.3vw,1.95rem)}

/* ===== 20260722bi: breakfast includes — always one centered row ===== */
.inc-grid.cols-5{flex-wrap:nowrap}
.inc-grid.cols-5 .inc-cell{flex:1 1 0;min-width:0}
@media(max-width:700px){.inc-grid.cols-5{flex-wrap:wrap}.inc-grid.cols-5 .inc-cell{flex:1 1 44%}}

/* ===== 20260722vx: VIP Bespoke — luxury description & pricing boxes (palette from inclusion cards) ===== */
.vpx-row{align-items:stretch}
.vpx-desc{background:linear-gradient(140deg,#f6ece6,#f1e2da 60%,#f4e6de);border-radius:22px;padding:clamp(1.8rem,3.5vw,3rem) clamp(1.4rem,3vw,2.6rem);text-align:center;display:flex;flex-direction:column;justify-content:center;box-shadow:0 14px 38px rgba(120,60,70,.14)}
.vpx-eyebrow{color:#b8863e;font:800 .78rem var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 .9rem}
.vpx-title{font-family:var(--serif);font-weight:700;line-height:1.04;margin:0;letter-spacing:.01em}
.vpx-title span{display:block;text-transform:uppercase}
.vpx-t1{color:#a64955;font-size:clamp(2rem,3.4vw,3rem)}
.vpx-t2{color:#3e2b3e;font-size:clamp(2.1rem,3.6vw,3.2rem)}
.vpx-gem{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1rem 0}
.vpx-gem:before,.vpx-gem:after{content:"";height:1.5px;width:90px;background:linear-gradient(90deg,transparent,#c39a55)}
.vpx-gem:after{background:linear-gradient(90deg,#c39a55,transparent)}
.vpx-gem i{width:16px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d98a97,#a64955);box-shadow:0 0 0 2.5px #d8b878}
.vpx-tag{font:italic 700 clamp(1.2rem,1.9vw,1.6rem) var(--serif);color:#a4638d;margin:.1rem 0 .9rem}
.vpx-body{color:#463a3a;line-height:1.75;font-size:1rem;max-width:520px;margin:0 auto}
.vpx-price{background:#f7ede8;border-radius:22px;padding:clamp(1.3rem,2.5vw,2rem);box-shadow:0 14px 38px rgba(120,60,70,.14);display:flex;flex-direction:column;justify-content:center}
.vpx-tier{position:relative;background:#fffaf5;border:1.5px solid #d8b878;border-radius:16px;padding:1.7rem 1.5rem 1.4rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.vpx-tname{font:700 .95rem var(--serif);color:#5a2f38;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .4rem}
.vpx-pre{font:800 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#8a6a3f;margin:0}
.vpx-amount{font:700 clamp(1.9rem,2.8vw,2.5rem) var(--serif);color:#a64955;margin:.05rem 0 .2rem}
.vpx-note2{color:#6d5a56;font-size:.82rem;line-height:1.45;margin:.2rem 0 .9rem;max-width:380px}
.vpx-list{list-style:none;margin:.1rem auto 1rem;padding:0;text-align:left;max-width:440px}
.vpx-list li{position:relative;padding-left:1.25rem;margin:.44rem 0;color:#3f3340;line-height:1.5;font-size:.9rem}
.vpx-list li:before{content:"\2727";position:absolute;left:0;color:#b8863e;font-size:.85rem}
.vpx-cta{margin-top:auto;display:block;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;background:linear-gradient(135deg,#a64955,#7e2f42);color:#fff;font:800 .8rem var(--serif);letter-spacing:.05em;text-transform:uppercase;padding:.78rem 1.35rem;border-radius:10px;box-shadow:0 6px 16px rgba(126,47,66,.35);text-align:center;transition:transform .2s ease}
.vpx-cta:hover{transform:translateY(-1px)}
.fc-vipcards .fc-track{aspect-ratio:3/2}

/* ===== 20260722pw: luxury party rows — balanced columns, no min-content blowout ===== */
.ptc-row,.vpx-row{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.ptc-tiers{grid-template-columns:repeat(3,minmax(0,1fr))}
.ptc-kids{font-size:.76rem}
.ptc-t1{font-size:clamp(1.8rem,2.9vw,2.6rem)}
.ptc-t2{font-size:clamp(1.9rem,3.1vw,2.8rem)}
@media(max-width:760px){.ptc-row,.vpx-row{grid-template-columns:1fr}}

/* ===== 20260722sb2: salon band lives inside the tea card, filling the space beside the video ===== */
.xp-copy .xp-salon-band{margin:1.3rem 0 0;max-width:none;text-align:left;padding:1rem 1.1rem;gap:1.1rem}
.xp-copy .xp-salon-band img{width:120px;height:120px}
.xp-copy .xp-salon-band h3{font-size:1.08rem}
.xp-copy .xp-salon-band p{font-size:.92rem}
@media(max-width:620px){.xp-copy .xp-salon-band{flex-direction:column;text-align:center}.xp-copy .xp-salon-band img{width:100%;height:180px}}

/* ===== 20260722ni: Neverland includes — same rule, one centered row ===== */
.inc-grid.cols-8{flex-wrap:nowrap}
.inc-grid.cols-8 .inc-cell{flex:1 1 0;min-width:0}
@media(max-width:760px){.inc-grid.cols-8{flex-wrap:wrap}.inc-grid.cols-8 .inc-cell{flex:1 1 44%}}

/* ===== 20260722fb: package CTA buttons — bigger type, pulled up closer to the card ===== */
.fb-cta-row{margin:.5rem 0 0}
.fb-cta-row .svc-cta{font-size:.94rem;padding:1.05rem 1.7rem;margin-top:.2rem;box-shadow:0 10px 28px rgba(166,114,20,.28)}
