/* LIVE 01: scoped public landing page; existing brand tokens remain authoritative. */
.live-class-page { background: #fffdf9; }
.live-class-page main { font-size: 17px; line-height: 1.85; }
.live-class-page .wrap { max-width: 1160px; }
.live-class-page h1 { font-size: clamp(30px, 3.5vw, 48px); line-height: 1.5; margin: 16px 0 20px; text-wrap: balance; }
.live-class-page h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.6; margin: 10px 0 26px; text-wrap: balance; }
.live-class-page h3 { font-size: 21px; line-height: 1.65; }
.live-class-page p + p { margin-top: 16px; }
.live-class-page a:focus-visible, .live-class-page summary:focus-visible { outline: 3px solid #145eaa; outline-offset: 5px; }
.live-class-page [id] { scroll-margin-top: 110px; }
.live-eyebrow { color: var(--teal-deep); font: 600 12px/1.7 'Space Grotesk','IBM Plex Sans Thai',sans-serif; letter-spacing: .12em; }
.live-hero { padding: 22px 0 52px; background: radial-gradient(ellipse at 85% 22%, #f5e8cc 0, transparent 42%), linear-gradient(135deg,#fffdf9,var(--cream)); }
.live-hero .crumbs { font-size: 14px; margin-bottom: 26px; }
.live-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items: center; }
.live-subheading { color: var(--teal-deep); font-size: 21px; font-weight: 500; }
.live-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.live-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 13px 22px; border: 1px solid var(--teal-deep); border-radius: 15px; color: #fff; background: var(--teal-deep); box-shadow: inset 0 1px 0 #ffffff55, 0 4px 0 #0f5268, 0 9px 18px #0f2a3814; text-decoration: none; font-size: 16px; font-weight: 600; line-height: 1.6; transition: transform .18s,box-shadow .18s; }
.live-button:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 #ffffff55,0 5px 0 #0f5268,0 12px 20px #0f2a3820; }
.live-button:active { transform: translateY(2px); box-shadow: 0 1px 0 #0f5268; }
/* Dark navy on the approved LINE green retains accessible contrast. */
.live-button.live-line { background: var(--line-green); color: var(--ink); border-color: #069843; box-shadow: inset 0 1px 0 #ffffff66,0 4px 0 #069843,0 9px 18px #0f2a3814; }
.live-classroom-hero { margin:0; padding:10px 10px 16px; background:#fffdf7; border:1px solid #e9d9bc; border-radius:30px; box-shadow:0 16px 42px #795e321a; }
.live-classroom-hero img { display:block; width:100%; height:auto; border-radius:22px; }
.live-classroom-hero figcaption { margin:12px 8px 0; text-align:center; font-size:14px; color:#675842; }
.live-introduction { max-width: 900px; margin: 36px auto 0; padding-top: 28px; border-top: 1px solid #dfd2b7; }
.live-section { padding: 54px 0; }
.live-ivory { background: var(--cream); border-block: 1px solid #ede4d5; }
.live-section-lead { max-width: 850px; margin: -10px 0 26px; }
.live-section-lead svg { vertical-align: middle; color: var(--teal-deep); margin-right: 5px; }
.live-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.live-benefits article { border-top:1px solid #ddcfb4; padding-top:22px; }
.live-benefits h3 { margin:14px 0 10px; font-size:19px; }
.live-benefits p { font-size:16px; }
.live-icon { display:inline-flex; padding:12px; background:#eaf6f8; color:var(--teal-deep); border-radius:14px; border:1px solid #cde7ec; box-shadow:0 3px 0 #e1eff1; }
.live-two-days, .live-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.live-day { padding:28px; background:#fff; border:1px solid #d1e4e8; border-radius:24px; box-shadow:0 6px 20px #0f2a3808; }
.live-day:nth-child(2) { border-color:#e4d6b9; }
.live-day-heading { display:flex; align-items:center; gap:20px; padding-bottom:22px; margin-bottom:20px; border-bottom:1px solid #e3e9e9; }
.live-day-heading h3 { font-family:'Space Grotesk',sans-serif; font-size:19px; }
.live-day-number { display:grid; text-align:center; color:var(--teal-deep); font:600 12px/1.5 'Space Grotesk',sans-serif; }
.live-day-number b { font-size:38px; }
.live-day:nth-child(2) .live-day-number { color:var(--gold-deep); }
.live-day ul,.live-pricing ul { padding-left:23px; }
.live-day li+li,.live-pricing li+li { margin-top:9px; }
.live-day li::marker { color:var(--teal-deep); }
.live-included-grid { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-bottom:16px; }
.live-included-grid li { display:flex; gap:10px; align-items:flex-start; }
.live-included-grid svg { flex-shrink:0; color:var(--teal-deep); margin-top:4px; }
.live-note { font-size:15px; color:#57636a; line-height:1.8; }
.live-option { display:flex; flex-direction:column; min-width:0; padding:28px; background:#fffdf9; border:1px solid #d4e4e7; border-radius:24px; box-shadow:inset 0 1px 0 #fff,0 4px 0 #e7e3d5,0 12px 24px #795e3210; }
.live-option img { width:112px; height:112px; object-fit:contain; flex-shrink:0; }
.live-option h3 { margin:4px 0 8px; font-size:22px; }
.live-option p { font-size:16px; }
.live-options+.live-note { margin-top:22px; }
.live-text-link { display:inline-flex; align-items:center; min-height:44px; color:var(--teal-deep); font-size:16px; font-weight:600; text-underline-offset:4px; }
.live-refresh { max-width:850px; border-left:3px solid #d9b766; padding-left:26px; }
.live-benefit-label { display:inline-block; color:var(--gold-deep); background:#fcf2d9; border:1px solid #ead7a9; border-radius:30px; padding:6px 14px; font-size:14px; font-weight:600; margin-bottom:12px; }
.live-date-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.live-date { position:relative; padding:18px 20px 24px; background:linear-gradient(145deg,#fffefa,#faf2e2); border:1px solid #e0d2b4; border-radius:25px; box-shadow:inset 0 1px 0 #fff,0 5px 0 #e9dfcb,0 15px 26px #795e3212; }
.live-calendar { position:relative; margin:10px 0 20px; padding:0 0 20px; border:1px solid #c9e1e5; border-radius:18px; background:#fffdfa; box-shadow:0 3px 0 #e3edf0,0 6px 14px #0f2a3809; text-align:center; }
.live-calendar::before,.live-calendar::after { content:""; position:absolute; top:-10px; width:12px; height:23px; border:1px solid #aebfc1; border-radius:7px; background:linear-gradient(90deg,#d2e4e6,#fff,#b7cdd0); box-shadow:0 2px 3px #0f2a381a; }
.live-calendar::before { left:25%; } .live-calendar::after { right:25%; }
.live-calendar-month { border-radius:17px 17px 0 0; padding:17px 8px 12px; background:linear-gradient(120deg,#e1f2f4,#f0f8f6); border-bottom:1px solid #c9e1e5; color:var(--teal-deep); font-size:15px; font-weight:600; }
.live-date h3 { margin:18px 0 12px; font-family:'IBM Plex Sans Thai',sans-serif; font-size:18px; }
.live-date h3 time { display:grid; gap:8px; }
.live-date h3 strong { font:600 44px/1.2 'Space Grotesk',sans-serif; color:var(--ink); }
.live-calendar-time { font-size:15px; line-height:1.85; }
.live-calendar-time span { color:var(--teal-deep); font-weight:600; }
.live-date .live-deadline { margin-top:0; margin-bottom:18px; padding:12px 8px; border:1px solid #e6d4a7; border-radius:13px; background:#fcf3df; color:var(--gold-deep); text-align:center; font-size:15px; }
.live-deadline>span,.live-deadline>time { display:block; } .live-deadline>time { margin-top:3px; font-weight:600; }
.live-date .live-round-enquiry { display:flex; padding:12px 10px; font-size:15px; border-radius:13px; }
.live-venue { margin-top:30px; display:grid; grid-template-columns:1fr 1.3fr; gap:30px; align-items:center; }
.live-venue h3 { margin:10px 0; }
.live-venue figure { margin:0; }
.live-venue img { display:block; width:100%; height:auto; border-radius:22px; box-shadow:0 10px 26px #795e3214; }
.live-venue figcaption { margin-top:8px; font-size:14px; }
.live-pricing { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:42px; background:linear-gradient(115deg,#fcf2dd,#fffdf9); border:1px solid #e5d3a8; padding:36px; border-radius:26px; box-shadow:0 8px 30px #795e3210; }
.live-price { margin:0 0 8px; color:var(--ink); }
.live-price strong { font:600 clamp(38px,4vw,54px)/1.4 'Space Grotesk',sans-serif; color:var(--teal-deep); }
.live-pricing .live-button { margin-top:22px; }
.live-register-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-left:24px; gap:36px; margin-bottom:30px; }
.live-register-steps li::marker { color:var(--gold-deep); font-weight:600; }
.live-register-steps strong,.live-register-steps span { display:block; }
.live-register-steps strong { color:var(--ink); margin-bottom:10px; }
.live-register-steps span { font-size:16px; }
.live-faq-list { max-width:900px; }
.live-faq-list details { border-bottom:1px solid #ded9ce; }
.live-faq-list summary { padding:20px 0; cursor:pointer; color:var(--ink); font-weight:600; }
.live-faq-list details>div { padding:0 18px 24px 0; }
.live-skip { position:fixed; top:-100px; left:20px; padding:12px; background:white; z-index:100; }
.live-skip:focus { top:10px; }
/* Only the three discovery headers gain an extra item. Preserve their existing mobile menu. */
@media(min-width:901px) and (max-width:1190px) { .live-class-page .site-nav,.course-catalogue .site-nav { gap:12px; } }
@media(max-width:1000px) { .live-benefits,.live-included-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .live-class-page main { font-size:16px; }
 .live-hero-grid,.live-two-days,.live-options,.live-date-grid,.live-venue,.live-pricing,.live-register-steps { grid-template-columns:1fr; }
 .live-hero-grid { gap:28px; }
 .live-hero { padding-bottom:36px; }
 .live-classroom-hero { width:100%; border-radius:24px; padding:7px 7px 12px; }
 .live-classroom-hero img { border-radius:18px; }
 .live-subheading { font-size:19px; }
 .live-section { padding:38px 0; }
 .live-actions { flex-direction:column; align-items:stretch; }
 .live-benefits { gap:22px 18px; }
 .live-benefits h3 { font-size:18px; }
 .live-day,.live-pricing { padding:24px; }
 .live-options { gap:18px; }
 .live-option { padding:20px; }
 .live-option img { width:84px; height:84px; }
 .live-option h3 { font-size:19px; }
 .live-refresh { padding-left:18px; }
 .live-date-grid { gap:16px; }
 .live-date h3 strong { font-size:44px; }
 .live-register-steps { gap:20px; }
}
@media(prefers-reduced-motion:reduce) { .live-class-page { scroll-behavior:auto; } .live-button { transition:none; } .live-button:hover,.live-button:active { transform:none; } }
.live-class-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(prefers-reduced-motion:reduce) { html:has(.live-class-page) { scroll-behavior:auto; } }
.live-hero .crumbs a { display:inline-flex; min-height:44px; align-items:center; }
.live-class-page .nav-toggle { min-width:44px; min-height:44px; }
.live-venue-invitation { margin-top:18px; }
.live-venue-levels { list-style:none; display:grid; gap:14px; margin:22px 0 24px; }
.live-venue-levels li { display:flex; align-items:flex-start; gap:14px; }
.live-venue-levels li>span { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:38px; height:38px; border-radius:12px; border:1px solid #dfcfae; background:#fcf2d9; color:var(--gold-deep); font:600 14px 'Space Grotesk',sans-serif; }
.live-venue-levels strong { color:var(--ink); font-size:17px; }
.live-venue-levels p { margin:4px 0 0; font-size:15px; }
.live-venue .live-map+.live-note { margin-top:16px; }

/* Owner-supplied photo story: full authentic compositions, no overlays or fabricated spaces. */
.live-lounge-gallery { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; margin-top:32px; }
.live-lounge-gallery figure,.live-hospitality-grid figure { margin:0; }
.live-lounge-gallery img,.live-hospitality-grid img { display:block; width:100%; height:auto; border-radius:22px; border:1px solid #e4d6b9; box-shadow:0 8px 24px #795e3210; }
.live-lounge-gallery figcaption,.live-hospitality-grid figcaption { margin-top:10px; font-size:14px; line-height:1.7; color:#57636a; }
.live-gallery-note { margin-top:18px; }
.live-hospitality-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:start; gap:32px; }
#live-atmosphere .live-venue { margin-top:0; }
@media(max-width:700px) { .live-lounge-gallery,.live-hospitality-grid { grid-template-columns:1fr; gap:22px; } .live-lounge-gallery { margin-top:26px; } }
@media(max-width:700px) {
 .live-hero-grid>div { display:contents; }
 .live-hero-grid { row-gap:16px; }
 .live-hero-grid>.live-classroom-hero { grid-row:4; }
 .live-hero-grid h1,.live-hero-grid p,.live-hero-grid .live-actions { margin-top:0; margin-bottom:0; }
}

/* Luxury enhancement: compact, owner-confirmed arrival amenities and warm hospitality. */
.live-amenities { list-style:none; display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; padding:18px; background:#fffaf0; border:1px solid #e5d7b9; border-radius:18px; }
.live-amenities li { display:flex; align-items:center; gap:9px; padding:5px 10px; font-size:15px; color:var(--ink); }
.live-amenities li>span { font-size:21px; }
.live-schedule-offer { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:28px; margin-bottom:30px; padding:28px; border:1px solid #dcc99f; border-radius:24px; background:linear-gradient(115deg,#fcf1d8,#fffefa); box-shadow:inset 0 1px 0 #fff,0 7px 20px #795e320a; }
.live-schedule-offer .live-schedule-price { margin-top:5px; color:var(--ink); }
.live-schedule-price strong { font:600 clamp(36px,4vw,48px)/1.35 'Space Grotesk',sans-serif; color:var(--teal-deep); }
.live-schedule-price>span { font-size:16px; }
.live-schedule-value { font-size:15px; }
.live-schedule-value>span { display:inline-block; margin-left:10px; color:var(--gold-deep); font-weight:600; }
.live-schedule-offer>div:nth-child(2) { border-left:1px solid #dfcfaa; padding-left:28px; font-size:16px; }
.live-schedule-offer strong { color:var(--ink); }
.live-schedule-offer .live-schedule-price strong { color:var(--teal-deep); }
.live-round-note { margin-top:24px; font-size:15px; }
.live-hospitality-grid { background:linear-gradient(115deg,#fcf4e6,#fffdfa); padding:28px; border:1px solid #e8d8bc; border-radius:26px; box-shadow:0 7px 24px #795e320a; }
.live-hospitality-note { margin-top:18px; padding:13px 18px; border-radius:14px; border:1px solid #e8d8bc; color:#66513b; background:#fffaf1; font-size:15px; line-height:1.8; }
@media(max-width:700px) {
 .live-schedule-offer { grid-template-columns:1fr; gap:20px; padding:22px; }
 .live-schedule-offer>div:nth-child(2) { border-left:0; border-top:1px solid #dfcfaa; padding:18px 0 0; }
 .live-hospitality-grid { padding:20px; }
 .live-amenities { padding:14px; gap:6px; }
 .live-amenities li { padding:6px; }
}

/* Owner's corrected exterior and morning photo pair; preserve full photo proportions. */
.live-welcome-photos { display:contents; }
.live-hospitality-grid>.live-refresh { grid-column:1; grid-row:1; }
.live-welcome-bakery { grid-column:2; grid-row:1 / span 2; align-self:center; }
.live-welcome-drinks { grid-column:1; grid-row:2; width:88%; justify-self:center; }
.live-welcome-drinks figcaption { font-size:13px; }
@media(max-width:900px) {
 .live-hospitality-grid { grid-template-columns:1fr; }
 .live-hospitality-grid>.live-refresh { grid-column:auto; grid-row:auto; }
 .live-welcome-photos { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:18px; min-width:0; }
 .live-welcome-bakery,.live-welcome-drinks { grid-column:auto; grid-row:auto; width:100%; }
}
@media(max-width:700px) { .live-welcome-photos { grid-template-columns:1fr; } }

/* One included online course: owner-approved Exclusive Learning Gift. */
.live-learning-gift { background:radial-gradient(ellipse at 10% 0,#fcf0d6,transparent 50%),linear-gradient(130deg,#fffaf0,var(--cream)); }
.live-gift-heading { display:flex; align-items:center; gap:22px; }
.live-gift-heading>img { width:96px; height:96px; object-fit:contain; flex-shrink:0; }
.live-gift-heading h2 { margin-bottom:0; }
.live-gift-lead { margin-top:24px; color:var(--ink); font-size:clamp(21px,2.3vw,28px); font-weight:600; line-height:1.65; }
.live-gift-lead strong { color:var(--teal-deep); }
.live-gift-included { margin-top:12px; }
.live-gift-guidance { padding:18px 22px; border:1px solid #cbe2e6; border-left:4px solid var(--teal); border-radius:16px; background:#f2f9f8; color:var(--ink); margin:24px 0; }
.live-gift-course-header { display:flex; align-items:center; gap:18px; margin-bottom:20px; }
.live-gift-course-header>div { min-width:0; }
.live-option .live-course-value { margin-top:8px; font-size:16px; color:var(--gold-deep); }
.live-course-value strong { font:600 21px/1.5 'Space Grotesk','IBM Plex Sans Thai',sans-serif; }
.live-course-focus { padding:8px 12px; border:1px solid #cce4e8; border-radius:12px; background:#edf7f8; font-weight:600; color:var(--teal-deep); }
.live-option:nth-child(2) { border-color:#d7e2ec; }
.live-option>.live-text-link { margin-top:auto; padding-top:18px; }
.live-gift-vocabulary { margin-top:26px; padding:17px 22px; border:1px solid #e4d2ab; border-radius:16px; background:#fffaf0; color:var(--ink); font-weight:500; }
.live-gift-vocabulary+.live-note { margin-top:18px; }
@media(max-width:900px) and (min-width:701px) { .live-gift-course-header { flex-direction:column; align-items:flex-start; gap:12px; } }
@media(max-width:700px) {
 .live-gift-heading { align-items:flex-start; gap:12px; }
 .live-gift-heading>img { width:64px; height:64px; }
 .live-gift-heading h2 { font-size:24px; }
 .live-gift-course-header { gap:14px; }
 .live-gift-guidance,.live-gift-vocabulary { padding:16px; }
}

/* LIVE 02: compact essential-foundations journey, inside the existing FAQ. */
.live-faq-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:18px 16px;margin:22px 0 0;border:1px solid #e5d6b9;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#f1faf7);box-shadow:inset 0 1px 0 #fff,0 5px 14px #153d4610}
.live-faq-journey li{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:var(--ink);font-size:16px;font-weight:500;line-height:1.6;min-width:0}
.live-faq-journey li+li::before{content:"→";position:absolute;left:-18px;top:18px;color:var(--teal-deep);font-size:18px}
.live-faq-journey__icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #bddedc;border-radius:16px;background:linear-gradient(150deg,#fff,#dff3ef);color:var(--teal-deep);box-shadow:inset 0 2px 0 #fff,0 3px 0 #c9e3dd,0 7px 10px #16495712}
.live-faq-journey svg{width:40px;height:40px;filter:drop-shadow(0 1px 0 #fff)}
@media(max-width:430px){.live-faq-journey{gap:14px;padding:15px 8px}.live-faq-journey li{font-size:14px;gap:8px}.live-faq-journey li+li::before{left:-13px;top:14px;font-size:16px}.live-faq-journey__icon{width:50px;height:50px;border-radius:14px}.live-faq-journey svg{width:34px;height:34px}}

/* Owner-approved café editorial introduction; classroom and hospitality unchanged. */
.live-cafe-intro{margin-top:38px;max-width:48em}
.live-cafe-intro h3{font-size:clamp(23px,2.3vw,29px);line-height:1.65;margin:10px 0 16px;color:var(--ink);text-wrap:balance}
.live-cafe-intro+.live-lounge-gallery{margin-top:24px;align-items:start}

/* LIVE 03/03A: owner-authorised Premium 3D included-benefit cards. */
#live-included .live-included-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}
#live-included .live-included-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;align-items:center;padding:26px 24px;border:1px solid #e3d7bd;border-radius:24px;background:linear-gradient(135deg,#fffef9,#fffaf0);box-shadow:inset 0 1px 0 #fff,0 4px 0 #eee6d6,0 14px 24px -22px #71542766;min-width:0}
#live-included .live-included-card--gift{border-color:#a7d5d4;background:linear-gradient(135deg,#f2fbf8,#eaf6f4);box-shadow:inset 0 1px 0 #fff,0 4px 0 #d5e9e3,0 14px 24px -22px #17586b66}
.live-benefit-visual{margin:0;width:140px;min-width:0;align-self:center}
.live-benefit-visual img{display:block;width:100%;height:auto;border-radius:18px}
.live-benefit-visual figcaption{font:600 11px/1.5 'Space Grotesk',sans-serif;color:var(--teal-deep);text-align:center;padding:5px 3px;border:1px solid #c5ded9;border-radius:8px;background:#fffefa;margin-top:7px}
.live-included-copy{min-width:0}
#live-included .live-included-copy h3{margin:0 0 10px;font-size:20px;line-height:1.65;color:var(--ink)}
#live-included .live-included-card--gift h3{color:var(--teal-deep)}
#live-included .live-included-copy p{font-size:16px;line-height:1.85;margin:0;color:var(--body)}
.live-included-confirmation{margin-top:28px;text-align:center;color:var(--teal-deep);font-weight:500}
@media(max-width:1000px){#live-included .live-included-card{grid-template-columns:110px minmax(0,1fr);padding:22px 18px;gap:16px}.live-benefit-visual{width:110px}#live-included .live-included-copy h3{font-size:19px}}
@media(max-width:800px){#live-included .live-included-grid{grid-template-columns:1fr;gap:20px}#live-included .live-included-card{grid-template-columns:120px minmax(0,1fr);padding:22px;gap:20px}.live-benefit-visual{width:120px}}
@media(max-width:430px){#live-included .live-included-card{grid-template-columns:90px minmax(0,1fr);padding:20px 16px;gap:15px;border-radius:20px}.live-benefit-visual{width:90px}.live-benefit-visual figcaption{font-size:10px}#live-included .live-included-copy h3{font-size:18px;margin-bottom:8px}}
