:root{--green:#123b2c;--deep:#09271c;--sage:#b9d2ad;--cream:#f5f2e9;--ink:#18231d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"Noto Sans Thai","Noto Sans SC","PingFang SC","Microsoft YaHei","Leelawadee UI",Arial,sans-serif;font-optical-sizing:auto}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.site{overflow:hidden}.lang-zh{font-family:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif}
.topbar{height:84px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(245,242,233,.97);position:absolute;z-index:20;width:100%;border-bottom:1px solid rgba(18,59,44,.14)}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:650;letter-spacing:.13em;line-height:1.2;white-space:nowrap}.brand small{display:block;font-size:7px;letter-spacing:.32em;margin-top:5px;font-weight:500}.brand-mark{width:38px;height:38px;background:var(--green);color:white;display:grid;place-items:center;font:700 20px/1 Arial,sans-serif}.topbar nav{display:flex;gap:24px;font-size:12px}.topbar nav a:hover{color:#4f7865}.header-tools{display:flex;align-items:center;gap:14px}.languages{display:flex;border:1px solid rgba(18,59,44,.24);padding:3px}.languages button{border:0;background:transparent;padding:7px 8px;font-size:10px;cursor:pointer;color:#516159}.languages button.active{background:var(--green);color:white}.call-button{border:1px solid var(--green);padding:11px 14px;font-size:12px}
.hero{height:min(900px,100vh);min-height:720px;position:relative;color:white}.hero>img{height:100%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,19,.9),rgba(6,27,19,.55) 48%,rgba(6,27,19,.06) 78%)}.hero-copy{position:absolute;left:6.5vw;top:52%;transform:translateY(-43%);max-width:790px}.eyebrow,.kicker{font-size:10px;letter-spacing:.23em;font-weight:700}.hero h1,h2{font-family:Inter,"Noto Sans Thai","Noto Sans SC",sans-serif;font-weight:450;margin:0;line-height:1.16;letter-spacing:-.035em}.hero h1{font-size:clamp(52px,6vw,90px);max-width:820px}.lead{font-size:16px;line-height:1.85;color:rgba(255,255,255,.76);margin:25px 0 30px}.hero-actions,.contact-actions{display:flex;align-items:center;gap:26px}.primary{background:var(--sage);color:var(--deep);padding:16px 20px;font-size:13px;font-weight:700}.primary span{margin-left:28px}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:5px}.price-card{position:absolute;right:4vw;bottom:4vw;width:185px;aspect-ratio:1;background:rgba(245,242,233,.94);color:var(--green);padding:26px;display:flex;flex-direction:column;justify-content:center;backdrop-filter:blur(12px)}.price-card span{font-size:11px}.price-card strong{font:500 56px/1 Inter,sans-serif;margin-top:8px;letter-spacing:-.06em}.price-card b{font-size:14px}.price-card small{margin-top:15px;letter-spacing:.12em}
.section{padding:110px 6.5vw}.kicker{color:#5b806d;margin:0 0 22px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.intro h2,.spaces h2,.teaching h2,.gallery-section h2,.plans h2,.potential h2,.location h2,.contact h2{font-size:clamp(39px,4.8vw,68px)}.intro-copy{font-size:21px;line-height:1.85;padding-top:40px;color:#47564e}.feature-image{height:680px;position:relative;margin:0 3.5vw}.feature-image>img{height:100%}.image-note{position:absolute;bottom:0;left:0;background:var(--cream);padding:22px 34px;display:flex;gap:24px;align-items:center}.image-note span{font-size:38px;font-weight:300;color:#6e907f}.image-note p{font-size:10px;line-height:1.8;letter-spacing:.1em}.image-note b{font-size:13px;letter-spacing:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding-top:65px;padding-bottom:80px}.stats div{border-left:1px solid #b9c3ba;padding-left:26px;display:flex;flex-direction:column}.stats strong{font-size:clamp(42px,5vw,68px);font-weight:350;color:var(--green);letter-spacing:-.06em}.stats span{font-size:12px;color:#68746c;margin-top:8px}
.teaching{background:var(--deep);color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.teaching .kicker{color:var(--sage)}.teaching-copy>p:not(.kicker){font-size:16px;line-height:1.85;color:rgba(255,255,255,.65);max-width:650px}.teach-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.teach-grid article{padding:20px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.teach-grid span{font-size:10px;color:var(--sage)}.teach-grid h3{font-size:17px;margin:14px 0 7px}.teach-grid p{font-size:11px!important;margin:0}.teaching-images{display:grid;grid-template-rows:1.2fr .8fr;gap:16px}.teaching-images img{height:100%;min-height:0}
.spaces{background:#e0e8dc}.spaces-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.floor-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.floor-cards article{background:var(--cream)}.floor-cards img{height:420px}.floor-cards article div{padding:28px}.floor-cards span{font-size:10px;letter-spacing:.18em;color:#63806f}.floor-cards h3{font-size:25px;font-weight:550;margin:12px 0}.floor-cards p{color:#68746c;line-height:1.8;font-size:14px}
.gallery-section{background:#0a2118;color:white;padding:110px 3.5vw}.gallery-head{display:flex;align-items:end;justify-content:space-between;padding:0 3vw 45px}.gallery-head .kicker{color:var(--sage)}.gallery-head>p{font-size:12px;color:rgba(255,255,255,.55)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid button{border:0;padding:0;background:#16392d;color:white;cursor:pointer;position:relative;overflow:hidden;text-align:left}.gallery-grid img{height:270px;transition:transform .45s}.gallery-grid button:nth-child(1),.gallery-grid button:nth-child(6){grid-column:span 2}.gallery-grid button:nth-child(1) img,.gallery-grid button:nth-child(6) img{height:360px}.gallery-grid button:hover img{transform:scale(1.025)}.gallery-grid button:focus-visible{outline:3px solid var(--sage);outline-offset:3px}.gallery-grid span{position:absolute;left:0;right:0;bottom:0;padding:35px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:13px}.gallery-grid b{font-size:9px;letter-spacing:.12em;margin-right:12px;color:var(--sage)}
.plans{background:#ece9df}.plan-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.plan-grid button{border:0;background:white;padding:18px;cursor:zoom-in;text-align:left}.plan-grid img{height:520px;object-fit:contain}.plan-grid span{display:block;border-top:1px solid #d7d7d1;padding:16px 4px 2px;font-size:13px;color:#486052}.potential{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.use-list{border-top:1px solid #aeb9b0}.use-list div{display:grid;grid-template-columns:48px 1fr 30px;align-items:center;border-bottom:1px solid #aeb9b0;padding:17px 0}.use-list span{font-size:10px;color:#66806f}.use-list p{font-size:18px;margin:0}.use-list b{font-weight:400;color:#66806f}
.location{background:linear-gradient(rgba(8,37,26,.86),rgba(8,37,26,.92)),url('../office-new/garden-pond.png') center/cover;color:white;padding:120px 6.5vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.location .kicker{color:var(--sage)}.location-copy>p:last-child{line-height:1.8;color:rgba(255,255,255,.65);margin-top:32px}.times{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28)}.times div{padding:25px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);display:flex;align-items:end;gap:14px}.times strong{font-size:55px;font-weight:350;color:var(--sage)}.times span{font-size:11px;line-height:1.65}.contact{text-align:center;background:var(--green);color:white;padding:120px 6.5vw}.contact .kicker{color:var(--sage)}.contact-actions{justify-content:center;margin:42px 0 20px}.primary.light{background:var(--cream)}.phone{font-size:22px;border-bottom:1px solid var(--sage);padding-bottom:6px}.contact-person{color:rgba(255,255,255,.55);font-size:12px}footer{padding:46px 3.5vw;display:flex;align-items:center;justify-content:space-between;background:#061b13;color:white}footer p{font-size:10px;line-height:1.8;color:rgba(255,255,255,.5)}footer>a{font-size:11px}.inverse .brand-mark{background:var(--sage);color:var(--deep)}.mobile-contact{display:none}
.map-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center;background:#e7eadf}.map-copy h2{font-size:clamp(39px,4.8vw,68px)}.map-copy>p:not(.kicker){font-size:16px;line-height:1.85;color:#5d6b63;margin:28px 0}.map-copy>a{display:inline-block;border-bottom:1px solid var(--green);padding-bottom:6px;color:var(--green);font-size:13px;font-weight:700}.map-frame{height:570px;position:relative;overflow:hidden;background:#d8ddd4;box-shadow:0 24px 60px rgba(12,39,29,.14)}.map-frame iframe{width:100%;height:100%;border:0;filter:saturate(.78) contrast(.95)}.map-frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(18,59,44,.16)}.map-pulse{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);pointer-events:none}.map-pulse i{position:absolute;left:50%;top:50%;width:90px;height:90px;border:2px solid rgba(18,89,62,.65);border-radius:50%;transform:translate(-50%,-50%);animation:mapwave 3s ease-out infinite}.map-pulse i:nth-child(2){animation-delay:1s}.map-pulse i:nth-child(3){animation-delay:2s}.map-pulse b{position:absolute;left:50%;top:50%;width:20px;height:20px;border:5px solid white;background:#195d43;border-radius:50% 50% 50% 0;transform:translate(-50%,-75%) rotate(-45deg);box-shadow:0 4px 14px rgba(0,0,0,.3)}.map-label{position:absolute;left:50%;top:calc(50% + 48px);transform:translateX(-50%);background:var(--deep);color:white;padding:10px 14px;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.22);pointer-events:none;white-space:nowrap}.map-label strong{display:block;font-size:10px;letter-spacing:.12em}.map-label span{display:block;font-size:8px;color:var(--sage);margin-top:3px}@keyframes mapwave{0%{width:22px;height:22px;opacity:.85}100%{width:210px;height:210px;opacity:0}}
.lightbox{position:fixed;inset:0;background:rgba(2,12,8,.94);z-index:100;display:flex;align-items:center;justify-content:center;padding:4vw}.lightbox>img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(255,255,255,.1);color:white;cursor:pointer;z-index:2}.lightbox-close{top:18px;right:22px;font-size:31px;width:48px;height:48px}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:42px;width:48px;height:72px}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}
@media(max-width:1050px){.topbar nav{display:none}.gallery-grid{grid-template-columns:1fr 1fr}.teaching{gap:4vw}.plan-grid img{height:420px}}
@media(max-width:800px){.topbar{height:70px;padding:0 4vw}.call-button{display:none}.brand{font-size:11px}.brand-mark{width:34px;height:34px}.hero{height:820px}.hero-copy{left:6vw;right:6vw;top:44%}.hero h1{font-size:52px;line-height:1.18}.lead{font-size:13px}.price-card{right:18px;bottom:18px;width:145px;padding:18px}.price-card strong{font-size:44px}.section{padding:75px 6vw}.intro,.potential,.location,.teaching,.map-section{grid-template-columns:1fr}.intro{gap:15px}.intro-copy{font-size:17px;padding-top:15px}.feature-image{height:480px;margin:0}.image-note{padding:14px 18px}.stats{grid-template-columns:1fr 1fr;gap:30px 0}.teaching-images{grid-template-columns:1fr 1fr;grid-template-rows:none}.teaching-images img{height:260px}.spaces-heading,.plan-heading{display:block}.floor-cards,.plan-grid{grid-template-columns:1fr}.floor-cards img{height:290px}.gallery-section{padding:75px 4vw}.gallery-head{padding:0 2vw 30px;display:block}.gallery-head>p{margin-top:16px}.gallery-grid button:nth-child(n) {grid-column:span 1}.gallery-grid button:nth-child(n) img{height:220px}.plan-grid img{height:390px}.times{margin-top:18px}.map-frame{height:430px}.contact-actions{flex-direction:column}.contact h2{font-size:39px}footer{padding-bottom:90px}.brand.inverse{display:none}.mobile-contact{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:30;box-shadow:0 -8px 30px rgba(0,0,0,.15)}.mobile-contact a{padding:16px;text-align:center;font-size:13px;font-weight:700;background:var(--cream);color:var(--deep)}.mobile-contact a:last-child{background:#8bc66a;color:#102a1f}.lightbox-nav{bottom:20px;top:auto;transform:none}.lightbox-nav.prev{left:calc(50% - 58px)}.lightbox-nav.next{right:calc(50% - 58px)}}
@media(max-width:500px){.languages button{padding:6px 7px}.hero h1{font-size:43px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.feature-image{height:390px}.image-note p{display:none}.teach-grid{grid-template-columns:1fr}.teaching-images{display:block}.teaching-images img{height:240px;margin-top:12px}.gallery-grid{grid-template-columns:1fr}.gallery-grid button:nth-child(n) img{height:260px}.plan-grid img{height:280px}.times div{padding:16px}.times strong{font-size:42px}.location{padding:80px 6vw}footer p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img{transition:none}}
