
/* Thailand section structure, with the existing Thermoland palette. */
.page { padding-bottom:0; }
.hero { margin-top:0; border:0; border-radius:0; min-height:calc(100svh - 86px); box-shadow:none; }
.hero-content { max-width:1000px; margin:auto; padding:70px 28px 100px; min-height:calc(100svh - 86px); align-items:center; justify-content:center; text-align:center; }
.hero-copy h1 { max-width:18ch; margin:0 auto; font-size:clamp(42px,5.6vw,82px); line-height:1.02; }
.hero-topline { justify-content:center; margin:0 0 24px; }
.event-series { font-size:13px; font-weight:800; letter-spacing:.24em; margin:0 0 20px; }
.hero-meta { position:static; margin:26px 0 12px; letter-spacing:.04em; font-size:19px; }
.hero-meta i { font-style:normal; color:var(--accent); padding:0 10px; }
.hero-subtitle { max-width:none; margin:0 0 28px; font-size:19px; color:var(--muted); }
.hero-overlay, body.theme-petersburg .hero-overlay { background:linear-gradient(180deg,rgba(4,7,17,.14),rgba(4,7,17,.25) 45%,rgba(4,7,17,.68)); }
.hero-bottom { position:absolute; z-index:3; bottom:24px; left:5%; right:5%; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }
.hero-bottom > span { letter-spacing:.16em; }
.video-control { border:1px solid var(--line); background:rgba(3,7,17,.5); color:white; padding:10px 18px; border-radius:30px; cursor:pointer; }
.ticker { padding:20px; overflow:hidden; background:var(--accent); color:#060915; text-align:center; font-weight:900; letter-spacing:.1em; font-size:13px; }
.ticker span { white-space:nowrap; }
.section { margin-top:0; padding:100px 0; border:0; border-radius:0; background:transparent; box-shadow:none; scroll-margin-top:100px; }
.about-top { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.eyebrow { margin:0 0 24px; color:var(--accent); font-size:12px; letter-spacing:.15em; font-weight:800; }
.about h2 { margin:0; font-size:clamp(42px,5vw,72px); line-height:.98; text-transform:uppercase; letter-spacing:-.04em; }
.about h2 span { color:var(--accent); }
.about-intro { margin:0; color:var(--muted); font-size:23px; line-height:1.5; }
.stats-numbers { margin:60px 0 40px; border:0; border-radius:0; grid-template-columns:repeat(5,minmax(0,1fr)); }
.stat { background:none; padding:0 18px; }
.stat:first-child { padding-left:0; }
.stat strong { font-size:clamp(26px,3.1vw,46px); }
.stat span { font-size:12px; }
.city-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:auto; gap:16px; }
.city-card:nth-child(n) { grid-column:auto; grid-row:auto; height:320px; min-height:0; border-radius:18px; }
.city-card img { position:absolute; inset:0; }
.city-card span { font-size:17px; }
.cities-note { color:var(--muted); margin:20px 0 0; font-size:13px; }
.expect { border-top:1px solid var(--line); }
.expect-top { margin-bottom:36px; }
.app-section { margin:0 auto 60px; padding:60px 28px; }
.site-footer { border-top:1px solid var(--line); padding:36px 0 40px; }
.assistant-fab { position:fixed; bottom:24px; right:24px; z-index:50; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:999px; background:#111a30; padding:14px 20px; color:#fff; font-size:13px; box-shadow:0 8px 28px #0005; }
@media(max-width:820px){
 .hero,.hero-content { min-height:calc(100svh - 114px); }
 .hero-content { padding:60px 24px 110px; }
 .hero-copy h1 { font-size:clamp(36px,7vw,58px); }
 .section { padding:64px 0; }
 .about-top { grid-template-columns:1fr; gap:28px; }
 .about-intro { font-size:19px; max-width:40ch; }
 .stats-numbers { margin:40px 0 30px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 12px; }
 .stat { padding:0; }
 .stat + .stat::before { display:none; }
 .stat:last-child { grid-column:auto; }
 .city-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .city-card:nth-child(n) { height:280px; }
 .hero-bottom > span { display:none; }
 .app-section { padding:40px 24px; }
}
@media(max-width:480px){
 .hero-topline { gap:8px; }
 .hero-copy h1 { font-size:clamp(30px,8.6vw,42px); max-width:17ch; }
 .hero-meta { font-size:15px; max-width:26ch; line-height:1.7; margin-top:20px; }
 .hero-subtitle { font-size:15px; }
 .hero-actions .btn { width:auto; font-size:14px; padding:0 22px; }
 .hero-bottom { left:20px; right:20px; bottom:20px; font-size:11px; }
 .event-series { font-size:11px; }
 .stats-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .stat strong { font-size:34px; }
 .stat:last-child { grid-column:1 / -1; }
 .city-grid { gap:10px; }
 .city-card:nth-child(n) { height:240px; }
 .city-card span { left:12px; bottom:14px; font-size:13px; }
 .assistant-fab { bottom:16px; right:16px; padding:12px 16px; }
 .site-footer { padding-bottom:90px; }
}

/* Transparent header over the video, dark frosted surface after scrolling. */
.header { position:fixed; inset:0 0 auto; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:1px solid transparent; transition:background .25s,border-color .25s,backdrop-filter .25s; }
.header.is-scrolled { background:rgba(4,8,18,.78); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom-color:rgba(255,255,255,.08); }
.logo { display:inline-flex; align-items:center; width:132px; flex-shrink:0; }
.logo img { display:block; width:100%; height:auto; }
.hero,.hero-content { min-height:100svh; }
.hero-content { padding-top:130px; }
.tickets-section { border-top:1px solid var(--line); }
.tickets-section h2 { font-size:clamp(40px,5vw,70px); text-transform:uppercase; margin:0 0 12px; }
.tickets-intro { color:var(--muted); margin-bottom:32px; font-size:20px; }
.ticket-row { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); }
.ticket-row h3 { font-size:24px; margin:0 0 10px; }
.ticket-row p { color:var(--muted); font-size:15px; line-height:1.5; max-width:60ch; }
.ticket-price { color:var(--accent); font-size:22px; }
.ticket-count { display:flex; align-items:center; gap:20px; }
.ticket-count button { width:40px; height:40px; border:1px solid var(--line); border-radius:50%; background:#111a30; color:white; font-size:24px; cursor:pointer; }
.ticket-count button:disabled { opacity:.35; cursor:default; }
.ticket-count output { min-width:20px; text-align:center; font-weight:800; }
.ticket-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px 0; }
.ticket-summary strong { display:block; font-size:36px; margin-top:5px; }
.ticket-summary span,.ticket-status { color:var(--muted); }
button:disabled { opacity:.45; cursor:default; }
#checkout-dialog { width:min(560px,calc(100% - 24px)); max-height:90svh; overflow:auto; border:1px solid var(--line); border-radius:24px; background:#0b1224; color:var(--text); padding:40px; }
#checkout-dialog::backdrop { background:rgba(0,0,0,.7); backdrop-filter:blur(8px); }
#checkout-dialog h2 { font-size:32px; line-height:1.05; margin:0 0 28px; }
.checkout-close { position:absolute; right:16px; top:12px; color:white; background:none; border:0; font-size:30px; cursor:pointer; }
#checkout-form > label,.buyer-grid label { display:flex; flex-direction:column; gap:8px; margin:0 0 18px; font-size:14px; }
#checkout-form input:not([type=radio]):not([type=checkbox]) { width:100%; min-height:48px; padding:12px; background:#060b17; border:1px solid var(--line); border-radius:10px; color:white; font:inherit; }
#checkout-form input:focus-visible { outline:2px solid var(--accent); }
.buyer-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.buyer-note { color:var(--muted); font-size:13px; }
#checkout-form fieldset { border:1px solid var(--line); border-radius:12px; display:flex; gap:20px; margin:20px 0; padding:16px; font-size:14px; }
#checkout-form .consent { flex-direction:row; align-items:flex-start; line-height:1.5; font-size:12px; }
.consent a { text-decoration:underline; }
.checkout-total { font-size:24px; font-weight:800; }
#checkout-error { color:#ffb8c2; font-size:14px; line-height:1.5; }
@media(max-width:620px){ .logo { width:110px; } .hero-content { padding-top:145px; } .ticket-row { grid-template-columns:1fr; gap:12px; } .ticket-count { justify-content:flex-start; } .ticket-summary { align-items:flex-start; flex-direction:column; } .ticket-summary .btn { width:100%; } #checkout-dialog { padding:32px 22px; } .buyer-grid { grid-template-columns:1fr; gap:0; } }

/* Pool-party artwork supplied by STAYA, with matching side decorations. */
.pool-event-logo { width:clamp(280px,31vw,430px); height:auto; margin:0 auto 20px; filter:drop-shadow(0 16px 36px #0b031b88); }
.hero-content { padding-top:114px; padding-bottom:90px; }
.hero-topline { margin-bottom:14px; }
.event-series { margin-bottom:12px; }
.hero-copy h1 { font-size:clamp(28px,2.8vw,42px); max-width:27ch; line-height:1.06; }
.hero-meta { margin:20px 0 10px; }
.hero-subtitle { margin-bottom:22px; font-size:16px; }
.pool-decor { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.pool-prop { position:absolute; height:auto; object-fit:contain; filter:drop-shadow(0 18px 26px #02040c66); pointer-events:none; }
.prop-umbrella { width:clamp(190px,21vw,330px); left:-60px; top:19%; transform:rotate(-18deg); }
.prop-flamingo { width:clamp(220px,24vw,390px); right:-68px; top:37%; transform:rotate(14deg); }
.prop-cocktail { width:clamp(150px,16vw,250px); left:2%; bottom:8%; transform:rotate(-12deg); }
@media(min-width:1600px){ .prop-umbrella { left:4%; } .prop-flamingo { right:2%; } .prop-cocktail { left:11%; } }
@media(max-width:820px){
 .pool-event-logo { width:340px; max-width:73vw; }
 .hero-content { padding-top:145px; }
 .hero-copy h1 { font-size:32px; max-width:24ch; }
 .prop-umbrella { width:180px; left:-85px; top:24%; }
 .prop-flamingo { width:210px; right:-100px; top:46%; }
 .prop-cocktail { width:135px; left:-50px; bottom:12%; }
}
@media(max-width:480px){
 .pool-event-logo { width:280px; max-width:77vw; margin-bottom:20px; }
 .hero-copy h1 { font-size:clamp(23px,6.3vw,30px); max-width:24ch; }
 .hero-content { padding:136px 24px 90px; }
 .hero-meta { margin-top:18px; }
 .prop-umbrella { width:130px; left:-74px; top:23%; opacity:.85; }
 .prop-flamingo { width:155px; right:-102px; top:43%; opacity:.9; }
 .prop-cocktail { display:none; }
}

.prop-flamingo { transform:scaleX(-1) rotate(14deg); }

/* Spread pool decorations through the page, outside the reading column. */
main { overflow:clip; }
.about,.expect,.tickets-section { position:relative; isolation:isolate; }
.section-pool-prop { position:absolute; pointer-events:none; user-select:none; z-index:-1; height:auto; max-width:none; filter:drop-shadow(0 15px 24px #02040c66); }
.section-prop-umbrella { width:300px; right:calc(100% + 16px); top:100px; transform:scaleX(-1) rotate(-32deg); }
.section-prop-flamingo { width:340px; left:calc(100% + 12px); top:280px; transform:scaleX(-1) rotate(12deg); }
.section-prop-cocktail { width:240px; right:calc(100% + 14px); bottom:20px; transform:rotate(-14deg); }
@media(max-width:1500px){
 .section-prop-umbrella { right:calc(100% + 8px); width:245px; top:120px; }
 .section-prop-flamingo { left:calc(100% + 8px); width:280px; top:310px; }
 .section-prop-cocktail { right:calc(100% + 8px); width:200px; }
}
@media(max-width:820px){
 .section-prop-umbrella { width:170px; right:auto; left:-150px; top:0; opacity:.8; }
 .section-prop-flamingo { width:190px; left:auto; right:-170px; top:140px; opacity:.8; }
 .section-prop-cocktail { width:130px; right:-110px; bottom:22px; opacity:.8; }
}

@media(min-width:1100px){ .about,.expect,.tickets-section { width:min(calc(100% - 64px),1080px); } }

/* Original STAYA typography and three-step ticket panel. */
:root { --display:'Unbounded',Arial,sans-serif; --body:'Manrope',Arial,sans-serif; --font:var(--body); --purple:#bca2ed; }
body { font-family:var(--body); font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased; }
h1,h2,h3,.stat strong { font-family:var(--display); font-weight:600; }
button,input { font-family:var(--body); }
[hidden] { display:none !important; }
.header-login { border:1px solid var(--line); color:#fff; background:transparent; border-radius:99px; padding:10px 18px; cursor:pointer; font-size:13px; font-weight:800; }
.hero-copy h1 { font-weight:600; font-size:clamp(23px,2.2vw,34px); max-width:31ch; line-height:1.3; }
.section-heading h2,.about h2 { font-weight:600; font-size:clamp(32px,3.6vw,52px); line-height:1.15; }
.stat strong { font-size:clamp(25px,2.65vw,40px); letter-spacing:-.05em; }
.lp-tickets-section { padding:100px 0; scroll-margin-top:100px; }
.lp-tickets-section h2 { font:600 clamp(32px,4vw,54px)/1.15 var(--display); letter-spacing:-.05em; margin:0; text-transform:none; }
.lp-tickets-section h2 span { color:var(--lp-violet); }
.lp-tickets-section p,.lp-tickets-section button { font-family:var(--body); }
.lp-checkout,.auth-dialog { font:400 14px/1.6 var(--body); }
.lp-checkout h2,.lp-checkout h3,.auth-dialog h2 { text-transform:none; }
.lp-checkout h2,.lp-checkout h3,.lp-checkout p { margin-bottom:0; }
.lp-btn { cursor:pointer; }
.lp-ticket-row h3,.lp-choice h3 { margin:0; }
.lp-tickets-note p { margin:0; }
@media(max-width:620px){ .header-actions { gap:7px; } .header-login { padding:8px 12px; font-size:12px; } .hero-copy h1 { font-size:22px; } .lp-tickets-section { padding:64px 0; } .stat strong { font-size:28px; } }

/* Let the longest statistic determine its space, keeping every number separate. */
.stats-numbers { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,2fr) minmax(0,1fr) minmax(0,1.25fr); gap:24px; overflow:visible; }
.stats-numbers .stat { min-width:0; padding:0; }
.stats-numbers .stat strong { font-size:clamp(22px,2.6vw,36px); letter-spacing:-.05em; white-space:nowrap; line-height:1.2; }
.stat + .stat::before { left:-13px; top:4px; bottom:4px; }
button,.btn,.lp-btn,.lp-next,.lp-secondary,.auth-primary,.assistant-fab { border-radius:9999px !important; }
@media(max-width:1000px){
 .stats-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; }
 .stats-numbers .stat:nth-child(3) { grid-column:1 / -1; }
 .stats-numbers .stat:last-child { grid-column:auto; }
 .stats-numbers .stat strong { font-size:clamp(24px,4vw,34px); }
 .stat + .stat::before { display:none; }
}
@media(max-width:480px){
 .stats-numbers { gap:24px 16px; }
 .stats-numbers .stat strong { font-size:clamp(23px,6.5vw,30px); }
 .header-actions .btn { padding-inline:15px; }
}

/* Match the original header controls and clip the gradient cleanly to the pill. */
.btn-primary { border:0; background-clip:padding-box; background-origin:padding-box; overflow:hidden; isolation:isolate; appearance:none; -webkit-appearance:none; }
.btn-primary::before,.btn-primary::after { content:none !important; }
.buy-arrow { display:block; flex:0 0 22px; width:22px; height:22px; }
.header-actions .header-login { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 29px; font-size:13px; font-weight:800; line-height:1; white-space:nowrap; }
.header-actions .btn-primary { display:inline-flex; min-height:48px; padding:0 24px; gap:28px; font-size:13px; font-weight:800; line-height:1; white-space:nowrap; }
.header-actions { gap:12px; }
@media(max-width:760px){
 .header-actions .header-login { min-height:38px; padding:0 19px; font-size:11px; }
 .header-actions .btn-primary { min-height:40px; padding:0 18px; gap:18px; font-size:11px; }
 .header-actions { gap:8px; }
 .header-actions .buy-arrow { width:19px; height:19px; flex-basis:19px; }
}

/* Share section edges and center the navigation independently of action widths. */
.header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px; width:min(calc(100% - 32px),1200px); }
.header-inner .logo { justify-self:start; }
.header-inner .nav { position:static; transform:none; justify-self:center; margin:0; width:auto; }
.header-inner .header-actions { justify-self:end; margin:0; }
@media(min-width:1100px){ .header-inner { width:min(calc(100% - 64px),1080px); } }
@media(max-width:1000px){
 .header-inner { grid-template-columns:1fr auto; gap:12px 18px; padding:12px 0; }
 .header-inner .nav { grid-column:1 / -1; grid-row:2; justify-self:center; order:initial; }
 .header-inner .header-actions { grid-column:2; grid-row:1; }
}
@media(max-width:620px){ .header-inner { width:calc(100% - 20px); } }

/* Keep the header and every lower content block on one horizontal grid. */
:root { --page-content-width:min(calc(100% - 64px),1200px); }
.header-inner,.about,.expect,.tickets-section,.site-footer { width:var(--page-content-width); margin-left:auto; margin-right:auto; }
.hero-bottom { left:max(32px,calc((100% - 1200px)/2)); right:max(32px,calc((100% - 1200px)/2)); }
.hero-actions .btn-primary { background:#fff; color:#10121a; box-shadow:none; border:0; }
.hero-actions .btn-primary:hover { background:#f1f1f5; }
@media(max-width:820px){ :root { --page-content-width:calc(100% - 32px); } .hero-bottom { left:16px; right:16px; } }
@media(max-width:620px){ :root { --page-content-width:calc(100% - 20px); } }

/* Full-width header with the edge inset from the original STAYA reference. */
.header-inner { width:auto; max-width:none; margin-left:clamp(24px,6vw,105px); margin-right:clamp(24px,6vw,105px); }
@media(max-width:620px){ .header-inner { width:auto; margin-left:18px; margin-right:18px; } }

/* Match the two hero footer labels to the full-width header edge insets. */
.hero-bottom { left:clamp(24px,6vw,105px); right:clamp(24px,6vw,105px); justify-content:space-between; }
@media(max-width:620px){ .hero-bottom { left:18px; right:18px; } }

.ui-svg-icon { display:inline-block; width:1em; height:1em; vertical-align:-.12em; flex-shrink:0; overflow:visible; }
.hero-meta .ui-svg-icon { width:16px; height:16px; }
.hero-meta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0; }
.hero-meta i { display:inline-flex; align-items:center; }
.hero-bottom a { display:inline-flex; align-items:center; gap:6px; }
.ticker .ui-svg-icon { margin-inline:4px; }
.lp-x .ui-svg-icon,.auth-close .ui-svg-icon { width:18px; height:18px; }
.lp-qty button { display:inline-flex; align-items:center; justify-content:center; }
.lp-qty button .ui-svg-icon { width:16px; height:16px; }

/* Compact navigation remains available at every screen width. */
.menu-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--line); background:rgba(4,8,18,.3); color:#fff; cursor:pointer; }
.menu-toggle svg { width:22px; height:22px; }
.menu-toggle .menu-close { display:none; }
.menu-toggle[aria-expanded="true"] .menu-bars { display:none; }
.menu-toggle[aria-expanded="true"] .menu-close { display:block; }
.menu-toggle:focus-visible,.nav a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.header.is-menu-open { background:rgba(4,8,18,.94); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom-color:rgba(255,255,255,.12); }
@media(max-width:1000px) {
 .header-inner { grid-template-columns:minmax(0,1fr) auto auto; min-height:76px; gap:12px; padding:12px 0; }
 .header-inner .logo { grid-column:1; grid-row:1; width:130px; }
 .header-inner .header-actions { grid-column:2; grid-row:1; width:auto; flex-direction:row; }
 .header-inner .menu-toggle { display:inline-flex; grid-column:3; grid-row:1; }
 .header-inner .nav { display:none !important; grid-column:1 / -1; grid-row:2; width:100%; justify-self:stretch; flex-direction:column; align-items:stretch; gap:0; padding:8px 0 4px; border-top:1px solid var(--line); }
 .header.is-menu-open .nav { display:flex !important; }
 .header-inner .nav a { display:flex; align-items:center; min-height:48px; padding:10px 4px; font-size:15px; color:#fff; }
}
@media(max-width:620px) {
 .header-inner { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
 .header-inner .logo { width:110px; }
 .header-inner .menu-toggle { grid-column:2; }
 .header-inner .header-actions { grid-column:1 / -1; grid-row:2; justify-self:stretch; display:flex; gap:10px; }
 .header-actions .header-login { min-height:42px; padding:0 22px; font-size:12px; }
 .header-actions .btn-primary { flex:1; min-height:44px; padding:0 18px; font-size:12px; gap:16px; }
 .header-inner .nav { grid-row:3; }
 .hero-content { padding-top:160px; }
}

/* A floating pool flamingo replaces the large atmosphere photograph. */
.expect-top { align-items:center; gap:48px; }
.expect-scape { display:flex; align-items:center; justify-content:center; min-height:340px; padding:28px 12px; overflow:visible; border:0; border-radius:0; background:none; }
.expect-scape .expect-flamingo { width:min(100%,400px); height:auto; object-fit:contain; filter:drop-shadow(0 24px 30px rgba(0,0,0,.22)); animation:flamingo-float 5s ease-in-out infinite; }
@keyframes flamingo-float { 0%,100% { transform:translateY(12px) rotate(-3deg) scaleX(-1); } 50% { transform:translateY(-12px) rotate(2deg) scaleX(-1); } }
@media(max-width:1120px) { .expect-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; } }
@media(max-width:620px) { .expect-top { grid-template-columns:1fr; gap:12px; } .expect-scape { min-height:220px; padding:18px 0; } .expect-scape .expect-flamingo { width:min(72%,260px); } }
@media(prefers-reduced-motion:reduce) { .expect-scape .expect-flamingo { animation:none; } }

/* Preserve the established STAYA ticket section and checkout layout. */
.lp-tickets-section { width:min(1320px,calc(100% - 64px)); padding:70px 64px; margin-bottom:135px; border:0; border-radius:24px; background:#211b2c; color:#f4f3f7; }
.lp-tickets-section h2 { font:800 clamp(36px,5.5vw,82px)/1.12 var(--display); letter-spacing:-.075em; margin:0; text-transform:none; }
.lp-tickets-section .eyebrow { color:#a5a3b0; font-size:10px; font-weight:800; letter-spacing:.17em; }
.lp-tickets-section p { margin:0; }
.lp-tickets-note p { margin-top:14px; }
.lp-ticket-row p { margin-top:7px; }
.lp-checkout h2 { margin:10px 0 0; }
.lp-checkout h3,.lp-checkout p { margin:0; }
.lp-checkout .lp-dialog-lead { margin-bottom:27px; }
.lp-checkout .lp-choice p { margin-top:7px; }
.lp-checkout .lp-login-prompt p { margin-top:3px; }
.lp-checkout .lp-form-note { margin-top:11px; }
.lp-checkout .lp-error { margin-top:22px; }
.lp-checkout .lp-x { display:flex; align-items:center; justify-content:center; }
.lp-ticket-row button { display:inline-flex; align-items:center; justify-content:center; gap:4px; }
@media(max-width:1050px) { .lp-tickets-section { width:calc(100% - 40px); } }
@media(max-width:760px) { .lp-tickets-section { width:calc(100% - 32px); padding:36px 23px; border-radius:17px; margin-bottom:85px; } }

/* Ticket purchase palette — colour changes only. */
.lp-tickets-section,.lp-checkout {
 --lp-violet:var(--accent);
 --lp-green:var(--accent);
 --lp-white:#f4f7ff;
 color:#f4f7ff;
}
.lp-tickets-section { background:#10192b; }
.lp-checkout { background:#0b1221; border-color:var(--line); }
.lp-checkout::backdrop { background:rgba(3,7,17,.74); }
.lp-checkout .lp-checkout-bottom { background:#10192b; border-color:var(--line); }
.lp-checkout .lp-choice,.lp-checkout .lp-summary,.lp-checkout .lp-methods label { background:#152238; border-color:var(--line); }
.lp-checkout .lp-x,.lp-checkout .lp-qty button { background:#1a2c45; border-color:rgba(123,210,255,.3); color:#fff; }
.lp-checkout .lp-login-prompt { background:#172b43; }
.lp-checkout .lp-customer-form input { background:#122137; border-color:rgba(123,210,255,.3); }
.lp-checkout .lp-customer-form input:focus { border-color:var(--accent); }
.lp-checkout .lp-customer-form input::placeholder { color:#7c8ca4; }
.lp-checkout .lp-steps { border-color:var(--line); }
.lp-checkout .lp-steps span { color:#7c8ca4; }
.lp-checkout .lp-steps span.is-current { color:var(--accent); }
.lp-checkout .lp-methods label:has(input:checked) { border-color:var(--accent); }
.lp-tickets-section .lp-ticket-list,.lp-tickets-section .lp-ticket-row,.lp-checkout .lp-summary div:last-child { border-color:var(--line); }
.lp-tickets-section .lp-small-tag,.lp-tickets-section .lp-ticket-row button,.lp-checkout .lp-login-prompt button { border-color:rgba(123,210,255,.35); }
.lp-tickets-section .eyebrow,.lp-tickets-section .lp-ticket-row p,.lp-tickets-section .lp-tickets-note p,
.lp-tickets-section .lp-ticket-bottom>span,.lp-tickets-section .lp-loading,.lp-tickets-section .lp-ticket-empty,
.lp-checkout .lp-dialog-lead,.lp-checkout .lp-choice p,.lp-checkout .lp-form-note,.lp-checkout .lp-login-prompt p,
.lp-checkout .lp-summary span,.lp-checkout .lp-methods small,.lp-checkout .lp-checkout-bottom small,.lp-checkout .lp-secondary { color:var(--muted); }
.lp-tickets-section .lp-btn,.lp-checkout .lp-next,
.lp-tickets-section .lp-btn:hover,.lp-checkout .lp-next:hover:not(:disabled) { background:linear-gradient(90deg,#ff59cb,#4fcbff); color:#fff; }
.lp-tickets-section .lp-ticket-row button:hover { background:var(--accent); color:#0b1221; }

/* Compact, consistent experience section. */
.expect-top { grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); gap:32px; }
.expect-top .section-heading { min-width:0; }
.expect-top .section-heading h2 { font-size:clamp(32px,3.4vw,48px); }
.expect-top .section-heading p { max-width:52ch; }
.expect .card-grid { width:100%; max-width:1120px; margin-inline:auto; gap:18px; }
.expect .expect-card { height:auto; min-height:0; aspect-ratio:4 / 5; }
.expect .expect-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media(min-width:1001px) { .expect-top .section-heading h2 { white-space:nowrap; } }
@media(max-width:1000px) { .expect-top { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; } }
@media(max-width:620px) {
 .expect-top { grid-template-columns:1fr; gap:12px; }
 .expect-top .section-heading h2 { font-size:clamp(25px,6vw,36px); }
 .expect .card-grid { max-width:420px; gap:16px; }
}

/* Keep the experience grid compact on tablets and phones. */
@media(max-width:1120px) {
 .expect .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
 .expect .expect-card-label { left:14px; right:14px; bottom:14px; }
 .expect .expect-card-label strong { font-size:clamp(19px,2.5vw,26px); }
 .expect .expect-card-label span { font-size:13px; }
}
@media(max-width:620px) {
 .expect { padding-block:44px; }
 .expect-top { margin-bottom:24px; }
 .expect-scape { min-height:160px; padding:8px 0; }
 .expect-scape .expect-flamingo { width:min(50%,180px); }
 .expect .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:10px; }
 .expect .expect-card { min-height:220px; border-radius:16px; }
 .expect .expect-card-label { left:10px; right:10px; bottom:12px; }
 .expect .expect-card-label strong { font-size:clamp(16px,4vw,22px); line-height:1.2; }
 .expect .expect-card-label span { font-size:12px; line-height:1.35; }
}
