@charset "UTF-8";
:root{--bg:#f7f8f2;--paper:#fff;--green:#183e30;--ink:#202a24;--muted:#7d8278;--lime:#d8f58a;--line:#e3e6dc;--radius:20px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--bg);font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #8aac52;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}button svg,a svg{flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.icon.small{width:18px;height:18px}.sport-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.container{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.site-header{height:100px;background:var(--bg);position:relative;z-index:10}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{position:relative;width:43px;height:44px;display:inline-block;transform:rotate(-23deg)}.brand-mark span{position:absolute;width:23px;height:34px;border:4.5px solid var(--green);border-radius:50%;top:3px;left:1px;transform:rotate(20deg)}.brand-mark span:nth-child(2){left:17px;top:8px;transform:rotate(-18deg)}.brand-mark span:nth-child(3){width:8px;height:8px;border:0;left:18px;top:18px;background:var(--lime);border-radius:50%}.brand-name{font-size:24px;font-weight:750;letter-spacing:3px;line-height:1.25;color:var(--green)}.brand-name small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:650;margin-top:5px}.desktop-nav{display:flex;gap:35px;align-self:stretch;align-items:center}.desktop-nav a{font-size:14px;color:#747a70;position:relative;line-height:44px;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--green);font-weight:600}.desktop-nav a.active:after{content:"";width:4px;height:4px;background:var(--green);border-radius:50%;position:absolute;bottom:0;left:calc(50% - 2px)}.header-contact{display:flex;gap:9px;align-items:center;padding:11px 17px;border:1px solid #cbd4c5;border-radius:100px;color:var(--green);font-size:13px;font-weight:600;transition:background .2s}.header-contact:hover{background:var(--lime);border-color:var(--lime)}.header-contact>.small{margin-left:7px}.hero{display:grid;grid-template-columns:.91fr 1.09fr;gap:36px;padding-top:24px;align-items:center}.hero-copy{padding:10px 0 8px 2px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:2px;color:#5f6b59;margin-bottom:25px}.live-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#6c9958;box-shadow:0 0 0 4px #709b5a12}h1{font-size:clamp(52px,5.25vw,78px);font-weight:750;letter-spacing:1px;line-height:1.26;position:relative;width:fit-content}h1>span:first-of-type{color:var(--green)}.heading-star{position:absolute;font-size:50px;right:-56px;top:7px;line-height:1;color:#a1bb63;font-family:Arial,sans-serif;font-weight:400;transform:rotate(-10deg)}.hero-description{font-size:14px;line-height:2;color:#737b6e;margin-top:24px;letter-spacing:.4px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:16px 23px;border-radius:9px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#285840}.button-dark .icon{width:19px;height:19px}.text-button{display:inline-flex;align-items:center;gap:10px;padding:8px 0;color:var(--green);font-size:12px;font-weight:550;white-space:nowrap}.text-button:hover{color:#6c893e}.hero-footnote{display:flex;align-items:center;gap:12px;margin-top:39px;color:#989e91;font-size:10px;letter-spacing:.2px}.hero-footnote strong{font-weight:500;color:#788370;margin-left:6px}.little-court{display:inline-block;width:28px;height:19px;border:1px solid #9aa68e;position:relative}.little-court:before{content:"";position:absolute;inset:3px;border-top:1px solid #9aa68e;border-bottom:1px solid #9aa68e}.little-court:after{content:"";height:25px;width:1px;background:#9aa68e;position:absolute;left:50%;top:-4px}.hero-visual{height:457px;border-radius:23px;position:relative;isolation:isolate;min-width:0}.hero-visual:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,#0000000d 20%,transparent 45%,#1227195e)}.hero-visual>img{border-radius:inherit;position:absolute;inset:0;z-index:-2;object-position:49% 49%}.photo-index{position:absolute;left:25px;top:23px;color:#fffc;font-size:8px;font-weight:600;letter-spacing:2.1px}.play-sticker{position:absolute;top:24px;right:25px;width:90px;height:90px;background:var(--lime);color:var(--green);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(11deg);border-radius:50%;box-shadow:0 3px 10px #00000012}.play-sticker .icon{width:15px;height:15px;stroke-width:1.5;margin-bottom:2px}.play-sticker span{font-family:Arial,sans-serif;font-size:21px;font-weight:800;line-height:.95;letter-spacing:-.5px;text-align:center}.photo-caption{position:absolute;left:22px;right:22px;bottom:54px;background:#ffffffed;backdrop-filter:blur(16px);border:1px solid #ffffffbb;border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:15px 17px}.photo-caption>div>span{font-size:8px;letter-spacing:1.7px;color:#868b79;display:block}.photo-caption strong{display:block;font-size:14px;letter-spacing:1px;font-weight:600;color:var(--green);margin-top:6px}.circle-button{width:35px;height:35px;background:var(--green);color:var(--lime);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s}.circle-button:hover{transform:rotate(45deg)}.circle-button .icon{width:19px;height:19px}.photo-counter{position:absolute;bottom:22px;left:25px;color:#fff9;font-size:8px;display:flex;align-items:center;gap:7px;letter-spacing:1px}.photo-counter b{color:#fff;font-size:10px}.photo-counter>span{width:24px;height:1px;background:#ffffff70;margin:0 5px}.service-strip{margin-top:34px;padding:22px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-strip>div{display:flex;align-items:center;gap:10px;font-size:11px;color:#68705f;letter-spacing:.6px}.service-strip .icon{width:18px;height:18px;color:#7f8b69}.service-strip>div+div{border-left:1px solid var(--line);padding-left:30px}.service-strip .strip-note{font-size:8px;letter-spacing:1.2px;gap:4px;color:#9caa88;border:0;padding:0}.strip-note span{color:#56694c}.sports-section{padding-top:58px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.section-kicker{display:inline-flex;align-items:center;gap:22px;font-size:9px;letter-spacing:1.6px;color:#77866a;font-weight:600}.section-kicker>span{color:#a5ae9b;font-size:8px}h2{font-weight:650;font-size:30px;letter-spacing:1px;line-height:1.45}.section-heading h2{margin-top:11px}.green-period{color:#719451;margin-left:3px}.section-heading p{color:#8a9084;font-size:12px;line-height:1.9;margin-top:11px;letter-spacing:.2px}.subtle-link{display:flex;align-items:center;gap:8px;color:#7c8471;font-size:10px;padding-bottom:5px}.subtle-link:hover{color:var(--green)}.course-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:30px;margin-bottom:23px}.filter-tabs{display:flex;align-items:center;gap:8px}.filter-tab{padding:10px 19px;border:1px solid #e1e5d9;border-radius:8px;font-size:12px;display:flex;gap:7px;align-items:center;justify-content:center;color:#6e7863;transition:background .2s,color .2s,border .2s;white-space:nowrap;min-height:43px}.filter-tab:hover{background:#ebefdf}.filter-tab.selected{color:#fff;background:var(--green);border-color:var(--green)}.filter-tab>span{font-size:9px;opacity:.6;padding-left:3px}.filter-tab .sport-icon{width:19px;height:19px}.course-count{font-size:10px;letter-spacing:1px;color:#a1a892}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:start}.course-card{background:var(--paper);border:1px solid #e6e9df;border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s;animation:card-in .35s ease both}.course-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #183e300b}.card-image-wrap{position:relative;height:218px;overflow:hidden;background:#e6e9df}.card-image-link{display:block;height:100%;width:100%;padding:0;cursor:pointer}.card-image-link img{transition:transform .6s}.course-card:hover .card-image-link img{transform:scale(1.045)}.course-card[data-sport="badminton"] .card-image-link img{object-position:50% 43%}.course-card[data-sport="ski"] .card-image-link img{object-position:37% 50%}.card-tag{position:absolute;left:15px;top:15px;padding:6px 10px;border-radius:5px;background:#f4f8e6f2;color:#365334;font-size:9px;letter-spacing:.5px;pointer-events:none}.card-tag.lime{background:#d8f58af5}.card-tag.ice{background:#edf5fbf2;color:#425b69}.favorite-button{position:absolute;right:14px;top:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffdd;backdrop-filter:blur(10px);color:#526049;transition:background .2s}.favorite-button .icon{width:15px;height:15px;stroke-width:1.5}.favorite-button[aria-pressed="true"]{background:var(--lime);color:var(--green)}.favorite-button[aria-pressed="true"] .icon{fill:currentColor}.image-sport-name{position:absolute;left:16px;bottom:15px;color:#fff;font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:2.2px;text-shadow:0 1px 10px #0005;pointer-events:none}.card-content{padding:21px 20px 0}.card-heading{display:flex;justify-content:space-between;align-items:center}.card-heading h3{font-size:19px;font-weight:650;letter-spacing:.7px}.card-heading .sport-icon{width:24px;height:24px;color:#7e8b6f}.card-description{font-size:10px;color:#92988b;line-height:1.9;margin-top:9px;letter-spacing:.2px}.card-features{display:flex;gap:6px;margin-top:15px}.card-features span{font-size:9px;background:#f3f5ed;color:#7f8a72;border-radius:4px;padding:5px 8px}.card-bottom{border-top:1px solid #eef0e7;padding:15px 0 17px;margin-top:19px;display:flex;justify-content:space-between;align-items:center}.card-bottom>span{font-size:9px;color:#a0a797;display:flex;align-items:center;gap:5px}.card-bottom>span:before{content:"";height:4px;width:4px;background:#8c9e74;border-radius:50%}.card-bottom .text-button{font-size:11px;padding:0;gap:6px}.card-bottom .icon{width:16px;height:16px}.course-help{display:flex;justify-content:center;align-items:center;gap:19px;margin-top:21px;padding:12px;border:1px dashed #dce2d0;border-radius:9px}.course-help>span{font-size:10px;color:#8b947f;display:flex;align-items:center;gap:8px}.course-help .text-button{font-size:10px;padding:0}.course-help .icon{width:15px;height:15px}.about-section{display:grid;grid-template-columns:.9fr 1.1fr;margin-top:76px;gap:76px;align-items:center}.about-art{height:326px;background:#e6eddb;border-radius:18px;position:relative;overflow:hidden}.art-label{position:absolute;top:26px;left:28px;font-size:11px;font-weight:650;letter-spacing:1.5px;color:#72835e;line-height:1.6}.court-art{position:absolute;width:245px;height:145px;border:2px solid #90a376;transform:rotate(-23deg);top:112px;left:calc(50% - 122px)}.court-art:before,.court-art:after{content:"";position:absolute;left:0;right:0;height:1px;background:#90a376}.court-art:before{top:18px}.court-art:after{bottom:18px}.court-inner{position:absolute;left:54px;right:54px;top:18px;bottom:18px;border-left:1px solid #90a376;border-right:1px solid #90a376}.court-inner:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#90a376}.court-net{width:1px;height:177px;background:#90a376;position:absolute;left:50%;top:-18px}.court-ball{position:absolute;width:48px;height:48px;background:#d8f58a;border:1px solid #c1d976;border-radius:50%;left:148px;top:5px;box-shadow:14px 17px 18px #546d4520;z-index:2;transform:rotate(15deg);overflow:hidden}.court-ball:after,.court-ball:before{content:"";width:38px;height:58px;border:1.5px solid #f7ffdb;border-radius:50%;position:absolute;top:-6px}.court-ball:before{left:-25px}.court-ball:after{right:-25px}.ball-trail{position:absolute;left:203px;top:-20px;width:110px;height:1px;background:#b3c299;transform:rotate(-24deg)}.art-bottom{position:absolute;bottom:21px;left:28px;color:#899978;font-size:9px;letter-spacing:2px}.about-copy h2{margin-top:15px;font-size:32px;line-height:1.55}.about-copy>p{color:#92998a;font-size:11px;line-height:2.1;margin-top:18px;letter-spacing:.3px}.about-values{display:flex;gap:20px;margin-top:19px}.about-values>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#6e805d}.about-values .icon{width:14px;height:14px}.about-copy>.text-button{margin-top:18px;font-size:11px}.about-copy>.text-button .icon{width:17px;height:17px}.booking-section{padding-top:77px}.booking-intro{padding-bottom:5px}.booking-steps{margin-top:29px;display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr;padding:29px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step-number{font-size:11px;color:#7e916b;letter-spacing:1px;display:inline-flex;width:33px;height:33px;justify-content:center;align-items:center;background:#e9efdc;border-radius:50%;margin-bottom:17px}.booking-steps h3{font-size:15px;letter-spacing:.5px;font-weight:600}.booking-steps p{font-size:10px;color:#949b8a;line-height:2;margin-top:9px}.step-arrow{color:#b4bf9f;align-self:center;justify-self:center;font-size:26px;font-weight:200}.cta-section{margin-top:62px;background:var(--green);border-radius:17px;color:#fff;padding:37px 42px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}.cta-section .section-kicker{color:#b5c79c;font-size:8px;letter-spacing:1.8px}.cta-section h2{margin-top:10px;font-size:28px;font-weight:600;letter-spacing:1.5px}.cta-section p{margin-top:10px;font-size:10px;color:#a7baa0;letter-spacing:.7px}.button-lime{background:var(--lime);color:var(--green);z-index:1;font-size:12px;padding:15px 20px;gap:20px}.button-lime:hover{background:#e6ffaf}.button-lime .icon{width:18px;height:18px}.cta-spark{width:250px;height:250px;position:absolute;left:49%;top:-30px;fill:#78935b;opacity:.15;z-index:-1;transform:rotate(-8deg)}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:38px 0 35px;gap:20px}.footer-brand{transform:scale(.8);transform-origin:left center;margin-right:-35px}.footer-brand .brand-name{font-size:21px;letter-spacing:2px}.footer-brand .brand-name small{font-size:7px;letter-spacing:1.3px}.site-footer>p{font-size:9px;color:#959e87;letter-spacing:.6px}.site-footer>p>span{margin:0 8px}.footer-copyright{font-size:9px;color:#a0a794;display:flex;align-items:center;gap:11px}.preview-tag{font-size:8px;border:1px solid #dfe5d5;border-radius:4px;padding:3px 5px;color:#9ca58d}.mobile-nav,.mobile-only{display:none}
dialog{background:var(--bg);color:var(--ink);border:1px solid #f1f2eb;border-radius:22px;padding:0;max-height:calc(100dvh - 48px);width:calc(100% - 40px);overscroll-behavior:contain;box-shadow:0 25px 100px #0b241e30}dialog[open]{animation:dialog-in .25s ease}dialog::backdrop{background:#10291e8c;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:16px;background:#fffffff0;width:36px;height:36px;border-radius:50%;display:flex;justify-content:center;align-items:center;z-index:4;box-shadow:0 2px 10px #0000000c}.dialog-close .icon{width:19px;height:19px}.course-dialog{max-width:740px}.detail-image{height:242px;position:relative;overflow:hidden}.detail-image img{object-position:center 45%}.detail-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,#162e226e)}.detail-image>span{position:absolute;left:30px;bottom:22px;color:#fff;font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;z-index:1}.detail-body{padding:28px 32px 30px}.detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.detail-title-row h2{font-size:26px}.detail-title-row .sport-icon{width:33px;height:33px;color:#819369}.detail-description{font-size:12px;line-height:1.9;color:#7e8973;margin-top:9px}.detail-label{font-size:11px;font-weight:600;display:block;margin:23px 0 11px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-option{border:1px solid #dce2d2;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;padding:13px 16px;background:#fff;transition:background .2s}.mode-option strong{font-size:12px;font-weight:600}.mode-option span{font-size:10px;color:#8a957d;margin-top:5px}.mode-option.selected{background:#eaf0dd;border-color:#708958}.detail-includes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-includes li{display:flex;gap:7px;align-items:center;font-size:11px;color:#77846b}.detail-includes .icon{color:#62874c;width:15px;height:15px}.detail-notice{font-size:10px;color:#96a187;line-height:1.9;margin-top:22px;padding:12px 15px;background:#eef1e7;border-radius:7px}.detail-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.detail-actions>span{color:#7e8b70;font-size:10px}.detail-actions .button{padding:12px 19px;font-size:12px;gap:15px}.detail-actions .icon{width:18px;height:18px}.contact-dialog{max-width:440px;text-align:center;padding:35px 32px 28px}.contact-symbol{position:relative;width:60px;height:60px;border-radius:18px;background:#e7edda;color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transform:rotate(-5deg)}.contact-symbol>.icon{width:30px;height:30px}.contact-symbol>.live-dot{position:absolute;right:4px;bottom:3px;box-shadow:0 0 0 3px var(--bg);background:#92b76c}.contact-dialog h2{font-size:24px;margin-top:11px}.contact-subtitle{font-size:11px;color:#8a957d;line-height:1.9;margin-top:10px}.contact-summary{text-align:left;background:#eef2e5;border:1px solid #e2e8d6;padding:16px;border-radius:12px;margin-top:24px}.contact-summary>span{font-size:9px;letter-spacing:.5px;color:#8c9b7a}.contact-summary>p{font-size:12px;line-height:1.9;color:#4f6341;margin-top:9px;white-space:pre-wrap;overflow-wrap:anywhere}.copy-inquiry{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;border-top:1px solid #dce4ce;padding:12px 0 0;width:100%;color:var(--green);font-size:11px}.contact-unavailable{margin-top:17px;background:#fff;border:1px solid #e7eade;border-radius:10px;padding:17px}.contact-unavailable strong{font-size:12px;font-weight:500}.contact-unavailable p{font-size:10px;color:#939d87;line-height:1.9;margin-top:6px}.contact-tip{font-size:9px;color:#a2ac94;margin-top:19px}.contact-channel{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:13px 15px;border-radius:9px;margin-top:12px;font-size:12px;background:#fff;gap:15px}.contact-channel button{color:var(--green);font-size:10px;background:var(--lime);border-radius:5px;padding:7px 11px}.wechat-qr{width:155px;height:155px;object-fit:contain;margin:20px auto 0;border-radius:8px}.toast{position:fixed;left:50%;bottom:35px;transform:translate(-50%,20px);background:#173d30ed;color:#fff;border:1px solid #ffffff30;backdrop-filter:blur(12px);font-size:12px;padding:13px 22px;border-radius:10px;box-shadow:0 5px 25px #163e3020;z-index:99;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 40px);text-align:center;white-space:pre-line}.toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{gap:60px;padding-top:33px}.hero-visual{height:500px}.hero-description{font-size:15px}.hero-copy{padding-left:10px}.card-image-wrap{height:245px}.hero-footnote{margin-top:45px}.service-strip{margin-top:42px}.sports-section{padding-top:66px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.desktop-nav{gap:24px}.hero{gap:30px;grid-template-columns:.95fr 1.05fr}.hero-visual{height:420px}h1{font-size:60px}.heading-star{font-size:40px;right:-43px;top:9px}.hero-actions{gap:18px}.button{padding:15px 19px;gap:16px}.hero-description{font-size:13px}.hero-footnote{font-size:9px;gap:9px}.hero-footnote strong{display:block;margin:5px 0 0}.hero-footnote{margin-top:26px}.service-strip>div+div{padding-left:20px}.service-strip .strip-note{display:none}.service-strip>div{flex:1;justify-content:center}.service-strip>div:first-child{justify-content:flex-start}.service-strip>div:nth-child(3){justify-content:flex-end}.card-image-wrap{height:190px}.card-heading h3{font-size:17px}.card-content{padding:19px 16px 0}.card-description{font-size:9px;letter-spacing:0}.card-features span{font-size:8px}.about-section{gap:50px}.about-copy h2{font-size:29px}.about-copy>p{font-size:10px}.footer-copyright{gap:6px}.footer-brand{margin-right:-30px}.site-footer>p{font-size:8px}.cta-section h2{font-size:25px}.booking-steps{grid-template-columns:1fr 35px 1fr 35px 1fr}}
@media(max-width:850px){.container{width:calc(100% - 48px)}.site-header{height:86px}.brand-name{font-size:21px}.brand-mark{transform:scale(.9) rotate(-23deg);margin-right:-4px}.desktop-nav{gap:20px}.desktop-nav a{font-size:12px}.desktop-nav a:nth-child(4){display:none}.header-contact{padding:10px 13px;font-size:11px;gap:6px}.header-contact>.small{display:none}.hero{padding-top:18px;gap:23px}.hero-visual{height:380px}h1{font-size:49px;letter-spacing:0}.heading-star{font-size:32px;right:-32px;top:3px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:22px}.hero-description{font-size:11px;margin-top:20px}.hero-actions{gap:13px;margin-top:24px}.hero-actions>.button{font-size:11px;padding:13px 15px;gap:12px}.hero-actions>.text-button{font-size:10px;gap:6px}.hero-footnote{margin-top:25px}.photo-caption{left:15px;right:15px;padding:13px;bottom:48px}.photo-caption strong{font-size:11px;letter-spacing:0}.photo-caption>div>span{font-size:6px;letter-spacing:1px}.circle-button{width:30px;height:30px}.photo-index{font-size:6px;letter-spacing:1.2px;left:18px;top:19px}.play-sticker{width:68px;height:68px;right:17px;top:18px}.play-sticker span{font-size:17px}.play-sticker .icon{height:12px;width:12px}.photo-counter{left:18px;bottom:20px;font-size:7px}.service-strip{margin-top:25px;padding:19px 0}.service-strip>div{font-size:9px;gap:7px;letter-spacing:0}.service-strip>div+div{padding-left:15px}h2{font-size:25px}.sports-section{padding-top:47px}.subtle-link{font-size:9px}.section-heading p{font-size:10px}.course-grid{gap:15px}.card-image-wrap{height:170px}.card-heading h3{font-size:15px}.card-content{padding:16px 13px 0}.card-description{font-size:9px;min-height:34px}.card-features{gap:4px;flex-wrap:wrap;margin-top:12px}.card-features span{font-size:8px;padding:4px 5px}.card-tag{left:10px;top:10px;font-size:8px;padding:5px 7px}.favorite-button{right:10px;top:10px;width:28px;height:28px}.card-bottom{padding:13px 0;margin-top:16px}.card-bottom>span{font-size:8px}.card-bottom .text-button{font-size:10px}.card-heading .sport-icon{width:19px;height:19px}.about-section{gap:35px;margin-top:58px}.about-art{height:300px}.about-copy h2{font-size:25px}.about-copy>p{font-size:10px}.about-values{gap:10px}.about-values>span{font-size:9px;gap:3px}.about-copy>.text-button{font-size:10px}.booking-section{padding-top:58px}.booking-steps h3{font-size:13px}.booking-steps p{font-size:9px}.booking-steps{grid-template-columns:1fr 25px 1fr 25px 1fr}.step-arrow{font-size:22px}.cta-section{padding:32px}.cta-section h2{font-size:24px}.cta-section p{font-size:9px}.button-lime{font-size:11px;padding:14px 17px;gap:10px}.site-footer{flex-wrap:wrap;row-gap:8px;padding:24px 0 30px}.footer-copyright{margin-left:auto}.site-footer>p{display:none}}
@media(max-width:640px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.site-header{height:78px}.brand{gap:7px}.brand-name{font-size:21px;letter-spacing:2px}.brand-name small{font-size:6px;letter-spacing:1.7px;margin-top:4px}.brand-mark{transform:scale(.84) rotate(-23deg);margin-left:-3px;margin-right:-4px}.desktop-nav{display:none}.header-contact{font-size:11px;padding:9px 13px;border-color:#d4dccb;gap:6px}.header-contact>.icon{width:17px;height:17px}.hero{grid-template-columns:1fr;gap:28px;padding-top:19px}.hero-copy{padding:0 4px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:19px;gap:9px}h1{font-size:clamp(46px,11.3vw,66px);line-height:1.23;letter-spacing:1px}.heading-star{font-size:40px;right:-49px;top:2px}.hero-description{font-size:12px;line-height:1.9;margin-top:20px;letter-spacing:.6px}.hero-actions{margin-top:23px;gap:24px}.hero-actions>.button{padding:14px 20px;font-size:12px;gap:21px;border-radius:8px}.hero-actions>.button .icon{width:19px;height:19px}.hero-actions>.text-button{font-size:11px;gap:10px}.hero-footnote{display:none}.hero-visual{height:278px;border-radius:17px}.hero-visual>img{object-position:50% 49%}.photo-index{left:18px;top:18px;font-size:6px;letter-spacing:1.5px}.play-sticker{width:66px;height:66px;right:18px;top:16px}.play-sticker span{font-size:16px}.photo-caption{left:15px;right:15px;bottom:42px;padding:12px 14px;border-radius:10px}.photo-caption>div>span{font-size:6px;letter-spacing:1.3px}.photo-caption strong{font-size:11px;margin-top:5px;letter-spacing:.5px}.photo-caption .circle-button{width:30px;height:30px}.photo-counter{left:19px;bottom:16px;font-size:6px;gap:5px}.photo-counter b{font-size:8px}.service-strip{margin-top:24px;padding:16px 0;gap:0}.service-strip>div{font-size:8px;flex:1;justify-content:center!important;gap:5px;white-space:nowrap;letter-spacing:0}.service-strip .icon{width:13px;height:13px}.service-strip>div+div{padding-left:0}.service-strip>div:first-child{justify-content:flex-start!important}.service-strip>div:nth-child(3){justify-content:flex-end!important}.service-strip>div:first-child>span{font-size:0}.service-strip>div:first-child>span:after{content:"零基础友好";font-size:8px}.service-strip>div:nth-child(2)>span{font-size:0}.service-strip>div:nth-child(2)>span:after{content:"培训 · 陪练";font-size:8px}.service-strip>div:nth-child(3)>span{font-size:0}.service-strip>div:nth-child(3)>span:after{content:"灵活预约";font-size:8px}.sports-section{padding-top:38px}.section-kicker{font-size:8px;gap:20px;letter-spacing:1.3px}.section-kicker>span{font-size:7px}h2{font-size:24px;letter-spacing:.5px}.section-heading h2{margin-top:11px}.section-heading p{font-size:10px;margin-top:8px;line-height:1.8}.subtle-link{display:none}.course-toolbar{margin-top:23px;margin-bottom:19px}.filter-tabs{gap:7px;width:100%;justify-content:space-between}.filter-tab{flex:1;padding:9px 10px;gap:5px;min-height:40px;font-size:10px;border-radius:7px}.filter-tab>span{display:none}.filter-tab .sport-icon{width:17px;height:17px}.course-count{display:none}.course-grid{grid-template-columns:1fr;gap:21px}.course-card{border-radius:14px}.card-image-wrap{height:215px}.card-tag{left:14px;top:14px;font-size:9px;padding:6px 9px}.favorite-button{right:14px;top:14px;width:31px;height:31px}.image-sport-name{left:17px;bottom:16px;font-size:9px;letter-spacing:2px}.card-content{padding:21px 20px 0}.card-heading h3{font-size:20px;letter-spacing:.7px}.card-heading .sport-icon{width:26px;height:26px}.card-description{font-size:10px;min-height:0;margin-top:9px;letter-spacing:.2px}.card-features{margin-top:14px;gap:7px}.card-features span{font-size:9px;padding:5px 8px}.card-bottom{margin-top:20px;padding:15px 0 18px}.card-bottom>span{font-size:9px}.card-bottom .text-button{font-size:11px;gap:7px}.course-help{padding:12px 10px;gap:10px;justify-content:space-between;margin-top:18px}.course-help>span{font-size:8px;gap:5px}.course-help>span .icon{width:13px;height:13px}.course-help .text-button{font-size:9px;gap:3px}.course-help .text-button .icon{width:13px;height:13px}.about-section{grid-template-columns:1fr;gap:27px;margin-top:48px}.about-art{height:235px}.art-label{top:23px;left:25px;font-size:9px}.court-art{top:66px;left:calc(50% - 110px);transform:rotate(-23deg) scale(.85)}.art-bottom{bottom:19px;left:25px;font-size:8px}.about-copy{padding:0 3px}.about-copy h2{font-size:27px;margin-top:13px;line-height:1.5}.about-copy>p{font-size:11px;line-height:2.1;margin-top:16px}.desktop-only{display:none}.about-values{gap:23px;margin-top:20px}.about-values>span{font-size:10px;gap:5px}.about-copy>.text-button{font-size:11px;margin-top:17px}.booking-section{padding-top:45px}.booking-intro{display:none}.booking-steps{display:flex;flex-direction:column;gap:26px;margin-top:24px;padding:26px 0 29px}.booking-steps>div{display:grid;grid-template-columns:39px 1fr;column-gap:16px}.step-number{grid-row:1/3;width:35px;height:35px;font-size:10px;margin-bottom:0}.booking-steps h3{font-size:14px;line-height:1.5;padding-top:7px}.booking-steps p{grid-column:2;font-size:10px;line-height:1.9;margin-top:8px}.booking-steps p br{display:none}.step-arrow{display:none}.cta-section{margin-top:36px;padding:30px 26px;display:block;border-radius:14px}.cta-section .section-kicker{font-size:7px;letter-spacing:1.5px}.cta-section h2{font-size:27px;line-height:1.5;margin-top:12px;letter-spacing:1px}.cta-section p{font-size:10px;line-height:1.9;max-width:230px;margin-top:10px}.cta-section .button{margin-top:23px;padding:13px 17px;gap:22px;font-size:11px}.cta-spark{left:58%;top:30px;width:210px;height:210px;opacity:.18}.site-footer{padding:26px 0 108px;row-gap:10px;display:flex;align-items:center}.footer-brand{transform:scale(.7);margin-right:-50px}.footer-brand .brand-name{font-size:21px}.footer-copyright{font-size:8px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.preview-tag{font-size:7px;padding:2px 5px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;background:#fcfdf8f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #e2e7d9;z-index:15}.mobile-nav>a,.mobile-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:70px;color:#929d83;font-size:9px;padding:0 12px}.mobile-nav .icon{width:21px;height:21px;stroke-width:1.5}.mobile-nav .active{color:var(--green)}.mobile-nav .active:after{content:"";position:absolute;bottom:calc(5px + env(safe-area-inset-bottom));width:3px;height:3px;border-radius:50%;background:var(--green)}.mobile-only{display:block}dialog{max-height:calc(100dvh - 26px);width:100%;max-width:100%;margin:0;top:auto;bottom:0;border-radius:21px 21px 0 0;border-bottom:0}.course-dialog{max-width:100%;padding-bottom:env(safe-area-inset-bottom)}.detail-image{height:210px}.detail-image>span{left:23px;font-size:9px;bottom:20px}.detail-body{padding:24px 23px 27px}.detail-title-row h2{font-size:24px}.detail-description{font-size:11px}.detail-label{font-size:11px;margin-top:21px}.mode-options{gap:10px}.mode-option{padding:12px}.mode-option strong{font-size:12px}.mode-option span{font-size:9px}.detail-includes{gap:11px}.detail-includes li{font-size:10px;gap:5px}.detail-notice{font-size:9px;margin-top:19px;padding:11px}.detail-actions{padding-top:18px;gap:10px}.detail-actions>span{font-size:9px}.detail-actions .button{font-size:11px;padding:13px 15px;gap:11px}.contact-dialog{padding:31px 26px calc(27px + env(safe-area-inset-bottom));max-width:100%}.contact-symbol{height:52px;width:52px;border-radius:15px;margin-bottom:17px}.contact-dialog h2{font-size:24px;margin-top:11px}.contact-subtitle{font-size:11px}.contact-summary{margin-top:21px}.toast{bottom:calc(82px + env(safe-area-inset-bottom));font-size:11px;min-width:190px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero-actions{gap:16px}.hero-actions>.button{padding:13px 16px;gap:15px}.hero-actions>.text-button{font-size:10px}.hero-visual{height:248px}.heading-star{right:-42px;font-size:34px}.course-help>span{font-size:7px}.about-values{gap:16px}.filter-tab{padding-inline:7px}.contact-dialog{padding-inline:22px}}
.favorite-button:after,.dialog-close:after{content:"";position:absolute;inset:-6px;border-radius:50%}.card-bottom .text-button{position:relative}.card-bottom .text-button:after{content:"";position:absolute;inset:-12px -4px}.copy-inquiry{min-height:44px}.filter-tab{position:relative}.filter-tab:after{content:"";position:absolute;inset:-2px 0}.mobile-nav>a,.mobile-nav>button{position:relative}
@media(max-width:640px){.header-contact{min-height:44px}.filter-tab{min-height:44px}.dialog-close{width:40px;height:40px}.favorite-button:after{inset:-7px}.detail-actions .button{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
