@font-face{font-family:'Montserrat';src:url('./assets/fonts/Montserrat-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Montserrat';src:url('./assets/fonts/Montserrat-SemiBold.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Montserrat';src:url('./assets/fonts/Montserrat-Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Montserrat';src:url('./assets/fonts/Montserrat-ExtraBold.woff') format('woff');font-style:normal;font-weight:800;font-display:swap}

:root{--red:#d71935;--red-dark:#a90d25;--ink:#090909;--paper:#f4f3ef;--white:#fff;--muted:#a3a3a3;--line:rgba(255,255,255,.16);--pad:clamp(1.25rem,4vw,5rem);--display:'Montserrat','Noto Sans Thai','Noto Sans SC',sans-serif;--body:'Montserrat','Noto Sans Thai','Noto Sans SC',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.site-header{height:80px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#090909;color:white;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--red);color:white;font:700 1.6rem/1 var(--display);font-style:italic;transform:skew(-8deg)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:700 1.12rem/1 var(--display);letter-spacing:.12em}.brand-copy small{font-size:.58rem;letter-spacing:.15em;margin-top:.35rem;color:#bbb}.desktop-nav{display:flex;gap:2rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.desktop-nav a{color:#c8c8c8;transition:.2s}.desktop-nav a:hover{color:white}.header-actions{display:flex;align-items:center;gap:.7rem}.language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.language-select{border:1px solid #444;background:#111;color:#fff;border-radius:0;padding:.68rem .55rem;font-size:.78rem}.button{border:0;min-height:48px;padding:.8rem 1.2rem;display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;font-size:.8rem;transition:.2s}.button-small{min-height:42px;padding:.6rem 1rem;background:var(--red);color:white}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:white}.button-primary:hover{background:var(--red-dark)}.button-outline{border:1px solid #bbb;background:transparent}.hero{height:calc(100svh - 80px);min-height:650px;position:relative;background:#111;color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url('./assets/sba-hero.png');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 45%)}.hero-content{position:relative;z-index:2;padding:clamp(5rem,13vh,9rem) var(--pad);max-width:900px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}.eyebrow{display:flex;align-items:center;gap:.8rem;color:#ddd}.eyebrow>span:first-child{width:34px;height:2px;background:var(--red)}.hero h1,.section h2,.booking-band h2{font-family:var(--display);text-transform:uppercase;letter-spacing:-.025em;line-height:.9;margin:.8rem 0}.hero h1{font-size:clamp(4.5rem,11vw,10rem);max-width:850px}.hero-content>p{max-width:590px;color:#d2d2d2;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.3rem}.text-link{display:flex;gap:1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.hero-stats{position:absolute;z-index:2;bottom:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(155px,1fr));background:rgba(7,7,7,.78);backdrop-filter:blur(10px);border-top:1px solid var(--line);border-left:1px solid var(--line)}.hero-stats div{padding:1.4rem 2rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.hero-stats strong{font:600 2rem/1 var(--display)}.hero-stats span{color:#aaa;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.45rem}.booking-band{background:var(--red);color:white;padding:2rem var(--pad);display:grid;grid-template-columns:minmax(220px,.8fr) 2.2fr;gap:2rem;align-items:end}.booking-intro h2{font-size:clamp(2rem,3.6vw,3.6rem);max-width:440px}.booking-intro .section-kicker{color:#ffd6dc}.booking-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1px;background:rgba(255,255,255,.22)}.booking-form label{background:#bd112a;padding:.55rem 1rem;display:flex;flex-direction:column;min-width:0}.booking-form label span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#ffdbe0}.booking-form input,.booking-form select{border:0;background:transparent;color:white;min-height:35px;outline:none;width:100%;font-weight:600}.booking-form option{color:#111}.booking-submit{background:#111;min-width:185px}.booking-note{grid-column:2;margin:0;color:#ffd6dc;font-size:.74rem}.section{padding:clamp(5rem,9vw,9rem) var(--pad)}.section-kicker{color:var(--red)}.story{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw}.story h2,.programs h2,.cta h2{font-size:clamp(3.2rem,7vw,7rem);max-width:900px}.story-copy{padding-top:2rem}.story-copy>p{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.75;max-width:600px}.champion-note{display:flex;gap:1.2rem;margin-top:3rem}.champion-line{width:3px;background:var(--red)}.champion-note p{margin:0;display:flex;flex-direction:column}.champion-note strong{text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}.champion-note span:last-child{color:#666;font-size:.85rem;margin-top:.4rem}.programs{background:white}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:430px;color:#666}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;border-left:1px solid #ddd}.program-card{min-height:390px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #ddd;border-bottom:1px solid #ddd;position:relative;transition:.25s}.program-card:hover{background:#f6f6f4;transform:translateY(-5px)}.program-card.featured{background:var(--red);color:white}.program-number{font:600 1rem var(--display);opacity:.55}.program-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;opacity:.65}.program-card h3{font:600 clamp(2.3rem,4vw,4rem)/.95 var(--display);text-transform:uppercase;margin:.4rem 0 1.2rem}.program-card p:last-child{font-size:.9rem;opacity:.72;max-width:330px}.program-card>a{align-self:flex-end;width:42px;height:42px;border:1px solid currentColor;display:grid;place-items:center}.courts{background:#101010;color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw;overflow:hidden}.court-visual{min-height:650px;background:linear-gradient(135deg,#c5112b,#6e0616);position:relative;transform:skew(-6deg);margin:-3rem 0 -3rem -8rem;overflow:hidden}.court-line{position:absolute;background:rgba(255,255,255,.75)}.line-a{width:2px;top:-10%;bottom:-10%;left:48%;transform:rotate(20deg)}.line-b{height:2px;left:0;right:0;top:60%;transform:rotate(-8deg)}.line-c{width:38%;height:55%;border:2px solid rgba(255,255,255,.5);background:transparent;left:30%;top:16%;transform:rotate(14deg)}.shuttle{position:absolute;right:19%;top:18%;font-size:2rem;transform:skew(6deg);filter:drop-shadow(0 10px 8px rgba(0,0,0,.3))}.shuttle i{display:block;width:40px;height:55px;border:3px solid white;border-radius:50% 50% 10% 10%;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);margin:-7px 0 0 -8px}.section-kicker.light{color:#ee7182}.court-content h2{font-size:clamp(3.5rem,6vw,6.5rem);max-width:600px}.court-content ul{list-style:none;margin:3rem 0;padding:0}.court-content li{display:flex;gap:1.2rem;padding:1.25rem 0;border-top:1px solid #343434}.court-content li>span{color:var(--red);font:600 1rem var(--display)}.court-content li p{display:flex;flex-direction:column;margin:0}.court-content li strong{font-size:1rem}.court-content li small{color:#888;font-size:.8rem;margin-top:.25rem}.vip-card{border:1px solid #343434;background:#171717;padding:1.4rem;display:flex;justify-content:space-between;gap:2rem}.vip-card>div:first-child{display:flex;flex-direction:column}.vip-card>div:first-child span{color:var(--red);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.vip-card>div:first-child strong{margin-top:.5rem;font-size:.86rem}.vip-prices{display:flex;gap:1.7rem}.vip-prices p{margin:0;display:flex;flex-direction:column}.vip-prices strong{font:600 1.7rem var(--display)}.vip-prices small{color:#777;font-size:.65rem}.cta{text-align:center}.cta h2{margin:1.5rem auto 2.5rem}.cta-actions{display:flex;justify-content:center;gap:.75rem}.contact-grid{max-width:900px;margin:5rem auto 0;padding-top:2rem;border-top:1px solid #ccc;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:left}.contact-grid div{display:flex;flex-direction:column}.contact-grid span{color:#888;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.contact-grid strong{margin-top:.55rem;font-size:.9rem}footer{background:#090909;color:white;padding:3rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem}footer p{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.08em}.footer-brand{color:white}.mobile-book{display:none}.toast{position:fixed;left:50%;bottom:2rem;transform:translate(-50%,20px);background:#111;color:white;padding:.85rem 1.2rem;opacity:0;pointer-events:none;transition:.25s;z-index:30;font-size:.83rem}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.desktop-nav{display:none}.booking-band{grid-template-columns:1fr}.booking-form,.booking-note{grid-column:1}.program-grid{grid-template-columns:1fr 1fr}.program-card:last-child{grid-column:span 2}.courts{grid-template-columns:.8fr 1.2fr}.vip-card{flex-direction:column}}
@media(max-width:700px){body{padding-bottom:68px}.site-header{height:68px;padding:0 1rem}.brand-mark{width:35px;height:35px}.brand-copy strong{font-size:.95rem}.brand-copy small{font-size:.5rem}.button-small{display:none}.hero{height:auto;min-height:720px}.hero-bg{background-position:66% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.35)),linear-gradient(0deg,#090909 2%,transparent 55%)}.hero-content{padding:6.5rem 1.2rem 13rem}.hero h1{font-size:clamp(4.3rem,21vw,6.5rem)}.hero-content>p{max-width:88%;font-size:.98rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.hero-stats{left:0;right:0;grid-template-columns:repeat(3,1fr)}.hero-stats div{padding:1rem .8rem}.hero-stats strong{font-size:1.45rem}.hero-stats span{font-size:.57rem}.booking-band{padding:2.5rem 1.2rem}.booking-form{grid-template-columns:1fr}.booking-submit{min-height:54px}.section{padding:5rem 1.2rem}.story{grid-template-columns:1fr;gap:1rem}.story h2,.programs h2,.cta h2{font-size:clamp(3.1rem,15vw,5.2rem)}.section-heading{align-items:flex-start;flex-direction:column;gap:1rem}.program-grid{grid-template-columns:1fr}.program-card,.program-card:last-child{grid-column:1;min-height:330px}.courts{grid-template-columns:1fr;padding-top:0}.court-visual{min-height:360px;margin:0 -5rem 1rem;transform:skew(-5deg)}.court-content h2{font-size:clamp(3.4rem,16vw,5.5rem)}.vip-prices{gap:1rem}.contact-grid{grid-template-columns:1fr;text-align:center}.cta-actions{flex-direction:column}.footer-brand{display:none}footer{padding:2.5rem 1.2rem;flex-direction:column;text-align:center}.mobile-book{display:flex;position:fixed;z-index:20;left:0;right:0;bottom:0;height:68px;background:var(--red);color:white;align-items:center;justify-content:space-between;padding:0 1.3rem;text-transform:uppercase;font-size:.82rem;letter-spacing:.08em;font-weight:700}.toast{bottom:5rem;width:calc(100% - 2rem);text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.program-card,.toast{transition:none}}

/* Authentic academy imagery and gallery */
.founder-photo{margin:0 0 2rem;overflow:hidden;background:#111;aspect-ratio:16/9}.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(1.05)}
.court-visual{min-height:650px;position:relative;margin:-3rem 0 -3rem -8rem;overflow:hidden;background:#080808;transform:none}
.court-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.55))}
.court-visual img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;transform:scale(1.08)}
.court-visual figcaption{position:absolute;z-index:2;left:9rem;bottom:4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#ddd}
.gallery{background:#e9e8e4}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.gallery-heading h2{font-size:clamp(3.2rem,7vw,7rem);margin-bottom:0}.gallery-heading>p{max-width:390px;color:#666}
.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2,minmax(260px,1fr));gap:1rem}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#111}.gallery-grid .gallery-main{grid-row:1/3}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:1rem;padding:3rem 1.25rem 1.2rem;background:linear-gradient(transparent,rgba(0,0,0,.82));color:white}.gallery-grid figcaption span{font:600 .85rem var(--display);color:#ef6073}.gallery-grid figcaption strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.photo-credit{margin:.8rem 0 0;color:#888;font-size:.7rem}
.map-link{margin-top:2rem;display:inline-flex;align-items:center;gap:.8rem;border-bottom:1px solid #999;padding:.3rem 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
@media(max-width:700px){.story h2,.programs h2,.cta h2,.gallery-heading h2{font-size:clamp(3.1rem,15vw,5.2rem)}.gallery-heading{align-items:flex-start;flex-direction:column;gap:1rem}.court-visual{min-height:360px;margin:0 -1.2rem 1rem;transform:none}.court-visual figcaption{left:1.2rem;bottom:1.2rem}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid .gallery-main{grid-row:auto}.gallery-grid figure{aspect-ratio:4/3}.gallery-grid .gallery-main{aspect-ratio:16/10}}

/* SBA 2025 visual identity */
:root{--red:#d30232;--red-dark:#a90027;--gold:#c9ba91}
.brand-logo{width:46px;height:46px;object-fit:cover;border-radius:50%;flex:0 0 auto}.footer-brand .brand-logo{width:54px;height:54px}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.7) 42%,rgba(0,0,0,.09) 78%),linear-gradient(0deg,rgba(0,0,0,.82),transparent 45%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.035) 48px),repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.035) 48px)}
.hero h1{max-width:1000px}.hero .eyebrow{color:var(--gold)}.hero .eyebrow>span:first-child{background:var(--gold)}
.founder-photo{aspect-ratio:4/5;max-height:680px}.founder-photo img{object-position:center center;filter:saturate(.88) contrast(1.03)}
.gallery{background-color:#e9e8e4;background-image:linear-gradient(rgba(211,2,50,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(211,2,50,.045) 1px,transparent 1px);background-size:48px 48px}
.champion-line{background:var(--gold)}
@media(max-width:700px){.brand-logo{width:40px;height:40px}.brand-copy{display:none}.founder-photo{max-height:none}.hero h1{font-size:clamp(3.8rem,18vw,5.8rem)}}

/* 2026 authentic venue media refresh */
.hero-bg{background-image:url('./assets/sba-hero-real.webp');background-position:center 38%;transform:scale(1.01)}
.tour{background:#0b0b0b;color:white;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(3rem,8vw,8rem);align-items:center;overflow:hidden}
.tour-copy{max-width:660px}.tour h2{font-size:clamp(4rem,9vw,8.5rem);margin:1rem 0 1.5rem}.tour-copy>p{max-width:560px;color:#b8b8b8;margin:0 0 2rem}
.tour-media{position:relative;justify-self:center;width:min(100%,430px);background:#161616;padding:.7rem;box-shadow:0 30px 80px rgba(0,0,0,.45)}.tour-media video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#050505}.tour-badge{position:absolute;right:-1px;bottom:-1px;background:var(--red);padding:.65rem .85rem;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:700}
.gallery-grid{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:none;grid-auto-rows:minmax(240px,28vw)}.gallery-grid .gallery-main{grid-row:span 2}.gallery-grid figure:nth-child(4){grid-row:span 2}.gallery-grid figure:nth-child(4) img{object-position:center 35%}
@media(max-width:700px){.hero-bg{background-position:59% center}.tour{grid-template-columns:1fr;gap:2.5rem}.tour h2{font-size:clamp(3.8rem,18vw,6rem)}.tour-media{width:min(88vw,390px)}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-auto-rows:auto}.gallery-grid .gallery-main,.gallery-grid figure:nth-child(4){grid-row:auto}}

/* Mobile-first booking experience */
@media(max-width:700px){
  html{scroll-padding-top:68px;overflow-x:hidden}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom));overflow-x:hidden}
  a,button,select,input{touch-action:manipulation}
  .site-header{position:sticky;top:0;z-index:50;height:68px;background:rgba(9,9,9,.96);backdrop-filter:blur(14px);gap:.65rem}
  .header-actions{margin-left:auto;gap:.45rem}.language-select{min-width:62px;min-height:44px;padding:.55rem .6rem;font-size:.875rem}
  .hero{height:clamp(620px,calc(100svh - 68px),760px);min-height:620px}
  .hero-bg{background-position:62% center;transform:scale(1.015)}
  .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.46) 72%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.94) 0%,transparent 55%)}
  .hero-content{padding:clamp(3.6rem,9vh,5rem) 1.15rem 9.5rem;max-width:100%}
  .eyebrow{font-size:.75rem;line-height:1.4;letter-spacing:.12em}.eyebrow>span:first-child{width:25px;flex:0 0 auto}
  .hero h1{font-size:clamp(3.7rem,17vw,5.3rem);line-height:.87;letter-spacing:-.035em;margin:1rem 0}
  .hero-content>p{max-width:22rem;font-size:1rem;line-height:1.55;color:#eee}
  .hero-actions{width:100%;margin-top:1.5rem}.hero-actions .button{width:min(100%,330px);min-height:52px;justify-content:space-between}.hero-actions .text-link{font-size:.8rem}
  .hero-stats{background:rgba(7,7,7,.9);backdrop-filter:blur(14px)}.hero-stats div{min-width:0;padding:1rem .65rem}.hero-stats strong{font-size:1.55rem}.hero-stats span{font-size:.68rem;line-height:1.25;letter-spacing:.06em}
  .booking-band{padding:2.2rem 1.15rem 2.5rem;gap:1.25rem}.booking-intro h2{font-size:2.65rem;line-height:.92;margin-top:.65rem}
  .booking-form{gap:2px}.booking-form label{min-height:66px;padding:.65rem .9rem}.booking-form label span{font-size:.75rem}.booking-form input,.booking-form select{font-size:1rem}.booking-submit{width:100%;min-height:54px;justify-content:space-between}.booking-note{font-size:.78rem;line-height:1.5}
  .section{padding:4.5rem 1.15rem}.section-kicker{font-size:.75rem;letter-spacing:.14em}
  .story{gap:1.5rem}.story-lead h2,.programs h2,.cta h2,.gallery-heading h2{font-size:clamp(3rem,14vw,4.6rem);line-height:.92}.story-copy{padding-top:0}.founder-photo{aspect-ratio:16/11;max-height:none;margin-bottom:1.5rem}.founder-photo img{object-position:center 38%}.story-copy>p{font-size:1rem;line-height:1.7}.champion-note{margin-top:2rem}.champion-note strong{font-size:.84rem}.champion-note span:last-child{font-size:.875rem;line-height:1.55}
  .programs{overflow:hidden}.section-heading{margin-bottom:2rem}.section-heading>p{font-size:.95rem;line-height:1.65}
  .program-grid{display:flex;overflow-x:auto;gap:.75rem;margin:0 -1.15rem;padding:0 1.15rem 1rem;border:0;scroll-snap-type:x mandatory;scrollbar-width:none}.program-grid::-webkit-scrollbar{display:none}.program-card,.program-card:last-child{flex:0 0 84vw;min-height:345px;border:1px solid #ddd;scroll-snap-align:center}.program-card:first-child{scroll-snap-align:start}.program-card h3{font-size:2.75rem}.program-card p:last-child{font-size:.95rem;line-height:1.6}
  .courts{padding-bottom:4.5rem}.court-visual{min-height:300px;margin:0 -1.15rem .5rem}.court-visual img{transform:scale(1.02)}.court-visual figcaption{font-size:.75rem}.court-content h2{font-size:clamp(3.1rem,14vw,4.7rem);line-height:.92}.court-content li{padding:1.1rem 0}.court-content li strong{font-size:1rem}.court-content li small{font-size:.875rem;line-height:1.5}.vip-card{padding:1.15rem}.vip-card>div:first-child span{font-size:.75rem}.vip-card>div:first-child strong{font-size:.9rem}.vip-prices{width:100%;justify-content:space-between}.vip-prices strong{font-size:1.65rem}.vip-prices small{font-size:.72rem}
  .tour{padding-top:4rem;padding-bottom:4.5rem}.tour h2{font-size:clamp(3.6rem,16vw,5.2rem);line-height:.9;margin:.85rem 0 1.25rem}.tour-copy>p{font-size:.95rem;line-height:1.65}.tour-copy .button{width:100%;justify-content:space-between}.tour-media{width:min(76vw,310px);padding:.5rem}.tour-badge{font-size:.68rem;padding:.6rem .7rem}
  .gallery{overflow:hidden}.gallery-heading{margin-bottom:2rem}.gallery-heading>p{font-size:.95rem;line-height:1.6}
  .gallery-grid{display:flex;overflow-x:auto;gap:.75rem;margin:0 -1.15rem;padding:0 1.15rem 1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-grid::-webkit-scrollbar{display:none}.gallery-grid figure,.gallery-grid .gallery-main,.gallery-grid figure:nth-child(4){flex:0 0 84vw;aspect-ratio:4/3;scroll-snap-align:center}.gallery-grid figure:first-child{scroll-snap-align:start}.gallery-grid figcaption{padding:3rem 1rem 1rem}.gallery-grid figcaption strong{font-size:.78rem;line-height:1.4}.photo-credit{font-size:.75rem;line-height:1.5;margin-top:.5rem}
  .cta-actions .button{width:100%;justify-content:space-between}.contact-grid{margin-top:3.5rem;gap:1.5rem}.contact-grid span{font-size:.75rem}.contact-grid strong{font-size:.95rem}.map-link{min-height:44px;font-size:.8rem}
  footer{padding-bottom:calc(2.5rem + env(safe-area-inset-bottom))}
  .mobile-book{height:calc(68px + env(safe-area-inset-bottom));padding:0 1.2rem env(safe-area-inset-bottom);font-size:.9rem;box-shadow:0 -10px 30px rgba(0,0,0,.22)}
}
@media(max-width:370px){.hero h1{font-size:3.45rem}.hero-content>p{font-size:.94rem}.hero-stats span{font-size:.62rem}.program-card,.gallery-grid figure,.gallery-grid .gallery-main,.gallery-grid figure:nth-child(4){flex-basis:88vw}}

/* Mobile refinement from real-device review */
@media(max-width:700px){
  .story{padding-top:3.25rem;padding-bottom:3.75rem;gap:1.15rem}
  .story-lead h2{font-size:clamp(2.55rem,11vw,3.05rem);line-height:.96;letter-spacing:-.02em;margin:.7rem 0 0;max-width:22rem}
  .story-copy{display:flex;flex-direction:column}
  .founder-photo{aspect-ratio:16/10;margin:0 0 1.25rem}
  .founder-photo img{object-position:center 34%}
  .story-copy>p{margin:.25rem 0 0;font-size:.98rem;line-height:1.62}
  .champion-note{margin-top:1.65rem}
}
@media(max-width:370px){.story-lead h2{font-size:2.45rem}}

/* Founder image: landscape composition keeps the full face visible */
.founder-photo{aspect-ratio:4/3;max-height:620px}.founder-photo img{object-position:center 30%}
@media(max-width:700px){.founder-photo{aspect-ratio:16/10}.founder-photo img{object-position:center 28%}}
.gallery-grid .gallery-portrait img{object-fit:cover;object-position:center 45%}
@media(max-width:700px){.gallery-grid .gallery-portrait img{object-fit:contain;background:#111}}

/* Training business */
.training-business{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:clamp(3rem,7vw,7rem);align-items:center;background:#f4f3ef;border-top:8px solid var(--red)}
.training-photo{margin:0;position:relative;overflow:hidden;min-height:680px;background:#111}.training-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.training-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 42%)}.training-photo figcaption{position:absolute;z-index:1;left:1.4rem;right:1.4rem;bottom:1.35rem;color:white;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700}
.training-content h2{font-size:clamp(3.4rem,6.5vw,6.8rem);max-width:850px;margin:1rem 0 1.5rem}.training-intro{font-size:1.05rem;line-height:1.75;color:#555;max-width:760px}
.training-paths{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#d5d2cc;margin-top:2.4rem;border:1px solid #d5d2cc}.training-paths article{background:#fff;padding:1.4rem;min-height:190px}.training-paths article>span{font:600 .9rem var(--display);color:var(--red)}.training-paths h3{font:600 1.7rem/1 var(--display);text-transform:uppercase;margin:1rem 0 .7rem}.training-paths p{margin:0;color:#666;font-size:.88rem;line-height:1.6}
.training-contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ccc}.training-contact>div{display:flex;flex-direction:column}.training-contact>div span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#888}.training-contact>div strong{font-size:.9rem;margin-top:.35rem}.training-contact .button{flex:0 0 auto}
@media(max-width:980px){.training-business{grid-template-columns:1fr}.training-photo{min-height:480px}.training-content h2{font-size:clamp(3.2rem,9vw,5.8rem)}}
@media(max-width:700px){.training-business{padding-top:0;gap:2.5rem}.training-photo{min-height:300px;margin:0 -1.15rem}.training-photo figcaption{font-size:.7rem;left:1.15rem;bottom:1rem}.training-content h2{font-size:clamp(3rem,14vw,4.5rem);line-height:.92;margin:.8rem 0 1.2rem}.training-intro{font-size:.98rem;line-height:1.65}.training-paths{gap:1px;margin-top:1.8rem}.training-paths article{padding:1rem;min-height:190px}.training-paths h3{font-size:1.45rem;line-height:1.02;margin:.75rem 0 .6rem}.training-paths p{font-size:.82rem;line-height:1.5}.training-contact{align-items:stretch;flex-direction:column;gap:1.1rem}.training-contact>div strong{font-size:.86rem;line-height:1.5}.training-contact .button{width:100%;justify-content:space-between}}
@media(max-width:370px){.training-paths{grid-template-columns:1fr}.training-paths article{min-height:auto}}

/* Official Montserrat brand typography */
.hero h1{font-size:clamp(3.8rem,8vw,7.2rem);font-weight:800;line-height:.9;letter-spacing:-.055em}.section h2,.booking-band h2{font-weight:800;letter-spacing:-.045em}.story h2,.programs h2,.cta h2,.gallery-heading h2{font-size:clamp(2.8rem,5vw,5.2rem)}.court-content h2{font-size:clamp(3rem,5vw,5.2rem)}.tour h2{font-size:clamp(3.5rem,7vw,6.6rem)}.training-content h2{font-size:clamp(3rem,5.2vw,5.4rem)}.program-card h3{font-size:clamp(2rem,3vw,3rem);font-weight:700}.training-paths h3{font-weight:700}.button,.desktop-nav,.section-kicker,.eyebrow{font-family:var(--display)}
html[lang^="zh"] .hero h1,html[lang^="zh"] .section h2,html[lang="th"] .hero h1,html[lang="th"] .section h2{letter-spacing:-.025em;line-height:1.06}
@media(max-width:700px){.hero h1{font-size:clamp(3rem,12vw,4rem);line-height:.92}.story-lead h2{font-size:clamp(2.15rem,8.8vw,2.65rem);line-height:1}.programs h2,.cta h2,.gallery-heading h2{font-size:clamp(2.4rem,10vw,3.2rem);line-height:.98}.court-content h2{font-size:clamp(2.65rem,11vw,3.6rem);line-height:.96}.tour h2{font-size:clamp(2.8rem,11.5vw,3.7rem);line-height:.95}.training-content h2{font-size:clamp(2.55rem,10.5vw,3.45rem);line-height:.96}.program-card h3{font-size:2.15rem}.training-paths h3{font-size:1.15rem;line-height:1.08}.brand-copy strong{font-family:var(--display)}}
@media(max-width:370px){.hero h1{font-size:2.8rem}.story-lead h2{font-size:2.05rem}}

/* Group classes and private coaching */
.course-enrollment{background:#e9e8e4}.course-enrollment-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.course-enrollment-heading h2{font-size:clamp(3rem,5vw,5.4rem);max-width:900px;margin:.8rem 0 0}.course-enrollment-heading>p{max-width:430px;color:#666}
.course-plan-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:1rem}.course-plan{padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column;min-height:670px}.group-plan{background:#101010;color:white}.private-plan{background:var(--red);color:white}.course-plan-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.25)}.course-type{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.course-plan-top>strong{font-size:.75rem;text-align:right}.course-plan h3{font:800 clamp(2.4rem,4vw,4.2rem)/.95 var(--display);text-transform:uppercase;letter-spacing:-.04em;margin:2rem 0 1rem}.course-plan>p{max-width:680px;color:rgba(255,255,255,.74);font-size:.95rem;line-height:1.7}
.class-schedule{border:1px solid #343434;margin-top:1.4rem}.class-schedule>span{display:block;background:var(--red);padding:.6rem 1rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700}.class-schedule p{display:grid;grid-template-columns:150px 1fr;gap:1rem;margin:0;padding:.75rem 1rem;border-top:1px solid #343434}.class-schedule p strong{color:#ef6073;text-transform:uppercase;font-size:.8rem}.class-schedule p b{font-size:.9rem}
.founding-offer{margin-top:1rem}.offer-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.offer-heading span{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:#ef6073;font-weight:700}.offer-heading small{color:#aaa;font-size:.72rem}.offer-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.6rem}.offer-prices p{position:relative;margin:0;border:1px solid #343434;padding:.85rem;display:flex;flex-direction:column}.offer-prices p>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#aaa}.offer-prices strong{font:700 1.65rem var(--display);margin-top:.35rem;color:white}.offer-prices strong small{font-size:.7rem}.offer-prices del{font-size:.68rem;color:#777}.course-plan>.button{margin-top:auto;align-self:flex-start}.group-plan>.button{margin-top:1.4rem}
.private-plan .button-outline{border-color:rgba(255,255,255,.65);color:white}.private-plan>ul{list-style:none;margin:2rem 0;padding:0}.private-plan li{padding:.9rem 0 .9rem 1.6rem;border-top:1px solid rgba(255,255,255,.25);position:relative;font-size:.9rem}.private-plan li:before{content:"+";position:absolute;left:0;color:white;font-weight:800}.private-note{display:flex;flex-direction:column;margin-bottom:1.5rem;padding:1rem;border:1px solid rgba(255,255,255,.3)}.private-note span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.private-note strong{font-size:.85rem;margin-top:.35rem;line-height:1.5}
@media(max-width:980px){.course-plan-grid{grid-template-columns:1fr}.course-plan{min-height:auto}}
@media(max-width:700px){.course-enrollment-heading{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:2rem}.course-enrollment-heading h2{font-size:clamp(2.4rem,10vw,3.2rem);line-height:.98}.course-enrollment-heading>p{font-size:.95rem;line-height:1.6}.course-plan{padding:1.25rem}.course-plan h3{font-size:2.3rem;line-height:.96;margin:1.5rem 0 .8rem}.course-plan-top{align-items:flex-start;flex-direction:column;gap:.4rem}.course-plan-top>strong{text-align:left}.class-schedule p{grid-template-columns:1fr;gap:.25rem}.offer-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.offer-prices{gap:.3rem}.offer-prices p{padding:.7rem .45rem}.offer-prices p>span{font-size:.75rem;letter-spacing:.04em}.offer-prices strong{font-size:1.15rem}.offer-prices strong small,.offer-prices del{font-size:.75rem}.course-plan>.button{width:100%;justify-content:space-between}.private-plan{margin-top:0}}

/* Formal launch: hero carousel and consolidated training section */
.hero-carousel{position:absolute;inset:0;background:#111}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%;transform:scale(1.01)}.hero-slide:nth-child(2) img{object-position:center}.hero-slide:nth-child(3) img{object-position:center 42%}.hero-carousel-controls{position:absolute;z-index:4;left:var(--pad);bottom:2rem;display:flex;align-items:center;gap:.55rem}.hero-dot{width:32px;height:4px;padding:0;border:0;background:rgba(255,255,255,.38);transition:width .25s ease,background .25s ease}.hero-dot.is-active{width:56px;background:var(--red)}
.training-overview{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.training-overview-copy h2{font-size:clamp(3rem,5.2vw,5.5rem);max-width:760px;margin:1rem 0 1.5rem}.training-overview-copy>p{max-width:620px;margin:0;color:#5e5e5e;font-size:1.05rem;line-height:1.75}.training-audiences{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.training-audiences span{border:1px solid #c9c7c1;background:rgba(255,255,255,.55);padding:.55rem .75rem;font-size:.72rem;line-height:1.25;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.training-image-strip{display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:repeat(2,minmax(160px,1fr));gap:.7rem;min-height:520px}.training-image-strip figure{margin:0;overflow:hidden;background:#111}.training-image-strip .training-image-main{grid-row:1/3}.training-image-strip img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.training-image-strip figure:hover img{transform:scale(1.025)}
.course-enrollment-heading{margin-top:clamp(4rem,8vw,7rem);padding-top:clamp(2rem,4vw,3.5rem);border-top:1px solid #c9c7c1}.course-enrollment-heading h2{max-width:780px}
@media(max-width:980px){.training-overview{grid-template-columns:1fr}.training-image-strip{min-height:460px}}
@media(max-width:700px){.hero-carousel-controls{left:1.15rem;bottom:6.4rem}.hero-dot{width:24px;height:3px}.hero-dot.is-active{width:42px}.hero-slide img{object-position:62% center}.hero-slide:nth-child(2) img{object-position:56% center}.hero-slide:nth-child(3) img{object-position:54% center}.training-overview{gap:2rem}.training-overview-copy h2{font-size:clamp(2.55rem,10.5vw,3.45rem);line-height:.96;margin:.8rem 0 1.1rem}.training-overview-copy>p{font-size:.98rem;line-height:1.65}.training-audiences{margin-top:1.4rem}.training-audiences span{font-size:.75rem}.training-image-strip{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:220px 130px;margin:0 -1.15rem}.training-image-strip .training-image-main{grid-row:auto;grid-column:1/3}.training-image-strip img{transform:none}.course-enrollment-heading{margin-top:3.5rem;padding-top:2.25rem}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot,.training-image-strip img{transition:none}}
