@font-face{font-family:StudentSans;src:url("assets/student-sans.woff2?v=20261111-guides") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
:root{color-scheme:light;--ink:#071a37;--muted:#526079;--blue:#0868ed;--line:#dce6f3;--surface:#f4f8ff;--radius:24px;--gutter:48px;font-family:StudentSans,"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:#f7faff;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:24px}
body{margin:0;-webkit-font-smoothing:antialiased}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;cursor:pointer;color:inherit;border:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0055d5;outline-offset:5px}
.container{width:min(1600px,calc(100% - var(--gutter)*2));margin-inline:auto;min-width:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:30;padding:12px 20px;border-radius:10px;background:#fff;box-shadow:0 2px 12px #183b6626;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.landing-page{width:100%;overflow:clip}
.site-header{position:relative;z-index:5;background:#e6f2ff}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px}
.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:29px;font-weight:900;letter-spacing:-1px;color:#003779;flex:none;min-height:44px}
.brand img{width:48px;height:48px;aspect-ratio:1;object-fit:contain;flex:none}
.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2vw,36px)}
.desktop-nav a,.desktop-nav button{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:0;background:none;font-size:15px;font-weight:500;white-space:nowrap;transition:color .18s}
.nav-icon{width:24px;height:24px;object-fit:contain;flex:none}
.desktop-nav a::after,.desktop-nav button::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.desktop-nav a:hover,.desktop-nav button:hover{color:var(--blue)}
.desktop-nav a:hover::after,.desktop-nav button:hover::after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:11px 24px;background:#fff;border:1px solid #99bcf5;border-radius:999px;color:#064194;font-size:16px;font-weight:600;line-height:1.5;text-align:center;transition:transform .18s,box-shadow .18s,background .18s;max-width:100%}
.button:hover{transform:translateY(-2px);background:#edf5ff;box-shadow:0 5px 16px #2676e21a}
.button:active{transform:translateY(1px)}
.button-primary{color:#fff;background:#0868ed;border-color:#0868ed;box-shadow:0 5px 20px #0868ed26}
.button-primary:hover{color:#fff;background:#0058d5}
.button-primary img{width:28px;height:28px;object-fit:contain}
.header-action{min-height:44px;padding:8px 20px;font-size:14px;flex:none}
.chevron{width:7px;height:7px;border-right:1.8px solid currentColor;border-top:1.8px solid currentColor;transform:rotate(45deg);flex:none;margin-right:3px}
.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;background:linear-gradient(180deg,#e6f2ff 0%,#f0f7ff 55%,#e7f0fd 100%)}
.hero-art{position:absolute;right:0;top:0;width:min(76%,1450px);height:100%;object-fit:cover;object-position:right center;z-index:-1;mask-image:linear-gradient(to right,transparent,#000 30%)}
.hero-inner{display:flex;align-items:center;min-height:clamp(560px,39vw,740px);padding-top:40px;padding-bottom:108px}
.hero-copy{width:53%;max-width:740px;position:relative;z-index:1}
.eyebrow{font-size:14px;line-height:1.6;font-weight:600;color:#1c63b4;letter-spacing:.03em}
.eyebrow{margin-bottom:20px}
h1{font-size:clamp(54px,4.8vw,88px);line-height:1.2;font-weight:900;letter-spacing:-2px;white-space:nowrap}
h1 span{display:inline-block;font-size:.82em;color:#0062dc;transform:skewX(-4deg);transform-origin:left center}
.headline-swoosh{width:clamp(275px,29vw,490px);height:22px;object-fit:fill;margin-top:2px}
.hero-description{font-size:clamp(17px,1.1vw,21px);line-height:1.8;max-width:32em;margin-top:16px;font-weight:500}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.hero-actions .button{min-height:54px;padding-inline:28px;font-size:17px}
.hero-notes{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:22px;color:#476384;font-size:13px;line-height:1.6}
.hero-notes span{display:flex;align-items:center;gap:7px}
.hero-notes span::before{content:"";width:5px;height:5px;border-radius:50%;background:#4a98f7}
.panel{border:1px solid #e6edf7;border-radius:var(--radius);background:#fff;box-shadow:0 4px 22px #3277ca09}
.shortcuts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:-42px;padding:24px 12px;box-shadow:0 8px 28px #2572d516}
.shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;padding:2px 10px;background:none;transition:transform .18s}
.shortcut+.shortcut{border-left:1px solid var(--line)}
.shortcut:hover{transform:translateY(-3px)}
.shortcut img{width:44px;height:46px;object-fit:contain;margin-bottom:6px}
.shortcut strong{font-size:18px;font-weight:700;line-height:1.5}
.shortcut>span{font-size:14px;line-height:1.6;color:var(--muted);text-align:center}
.content{display:flex;flex-direction:column;gap:64px;padding-block:48px 72px}
.intro-grid,.service-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.feature{min-width:0;overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"copy photo";align-items:center}
.feature-copy{grid-area:copy;min-width:0;padding:clamp(28px,2.6vw,48px);display:flex;flex-direction:column;align-items:flex-start}
h2{font-size:clamp(28px,2.35vw,42px);line-height:1.4;font-weight:800;letter-spacing:-.8px;text-wrap:balance}
.feature h2{margin-top:0}
.feature-copy>p{margin-top:18px;font-size:17px;line-height:1.85;color:var(--muted);max-width:36em}
.feature-points{list-style:none;display:grid;gap:16px;margin-top:24px;margin-bottom:28px;max-width:36em}
.feature-points:last-child{margin-bottom:0}
.feature-points li{position:relative;padding-left:18px}
.feature-points li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:18px;border-radius:4px;background:#1477f3}
.feature-points strong{display:block;font-size:16px;line-height:1.6;font-weight:600}
.feature-points span{display:block;margin-top:3px;font-size:15px;line-height:1.8;color:var(--muted)}
.feature-copy>.button{margin-top:auto}
.feature-photo{grid-area:photo;width:calc(100% - 32px);height:auto;object-fit:contain;object-position:center;align-self:center;margin:24px 32px 24px 0;border-radius:16px}
.intro-grid>.feature:nth-child(even),.service-grid>.feature:nth-child(even){grid-template-areas:"photo copy"}
@media(min-width:901px){.intro-grid>.feature:nth-child(even)>.feature-photo,.service-grid>.feature:nth-child(even)>.feature-photo{margin:24px 0 24px 32px}}
.campus-photo{object-position:center 68%}
.coach-photo{object-position:center 48%}
.section-heading{margin-bottom:28px;max-width:920px}
.section-heading h2{margin-top:0}
.section-heading>p:last-child{font-size:17px;line-height:1.8;margin-top:16px;color:var(--muted);max-width:46em}



h3{font-size:21px;font-weight:700;line-height:1.5;letter-spacing:-.2px}





.enrollment{position:relative;isolation:isolate;padding:40px 44px;background:linear-gradient(110deg,#edf5ff,#deedff);overflow:hidden}
.enrollment .section-heading{padding-right:175px}
.enrollment h2{font-size:clamp(28px,2.25vw,40px)}
.enrollment-art{position:absolute;right:20px;top:16px;width:160px;height:152px;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 30%);z-index:-1}
.enrollment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:28px;margin-top:32px}
.enrollment-steps li{min-width:0;padding-right:16px}
.step-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.step-top img{width:38px;height:40px;object-fit:contain}
.step-top>span{font-size:23px;color:#5c96dd;font-weight:500}
.enrollment-steps h3{font-size:18px}
.enrollment-steps p{font-size:15px;line-height:1.8;color:#476282;margin-top:10px;max-width:22em}
.enrollment-note{font-size:14px;line-height:1.8;margin-top:28px;padding-top:20px;border-top:1px solid #c2d8f3;color:#3f5c80}
.feature-learning{background:#edf5ff}
.learning-art{object-fit:contain;background:#dfedff;object-position:center}
.booking-photo{object-position:center 55%}
.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 12px}
.record-grid article{padding:0 28px;min-width:0}
.record-grid article+article{border-left:1px solid var(--line)}
.record-number{font-size:14px;color:#2872cc;font-weight:600}
.record-grid h3{margin-top:12px}
.record-grid p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:12px;max-width:34em}











.site-footer{background:#eaf3ff;border-top:1px solid #deebfc;padding:56px 0 0}
.footer-main{display:grid;grid-template-columns:1.2fr 1.25fr 190px;align-items:center;gap:48px;padding-bottom:44px}
.footer-intro h2{font-size:clamp(28px,2.1vw,38px);margin-top:0}
.footer-intro>p{font-size:16px;line-height:1.9;color:var(--muted);margin-top:18px}
.footer-intro .button{margin-top:24px}
.support-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.support-links>button{display:flex;flex-direction:column;align-items:flex-start;padding:4px 0;background:transparent;min-height:102px;transition:transform .18s}
.support-links>button:hover{transform:translateY(-3px)}
.support-links img{width:36px;height:36px;object-fit:contain;margin-bottom:10px}
.support-links strong{font-size:16px;font-weight:600;line-height:1.6}
.support-links span{font-size:13px;color:var(--muted);line-height:1.7;margin-top:3px;text-align:left}
.qr-block{justify-self:end;text-align:center}
.miniapp-code{padding:10px;border-radius:18px;background:#fff;transition:transform .18s}
.miniapp-code:hover{transform:scale(1.025)}
.miniapp-code img{width:160px;height:160px;object-fit:contain}
.qr-block p{font-size:12px;line-height:1.8;color:#586c88;margin-top:10px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:18px 0;border-top:1px solid #cddff5;color:#586d8a;font-size:12px;line-height:1.8}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#245da3}
.service-dialog{width:min(500px,calc(100% - 32px));max-height:85dvh;border:1px solid #d3e4ff;border-radius:20px;padding:24px;color:var(--ink);background:#fff;box-shadow:0 20px 80px #031d5250;font-family:inherit;overflow-y:auto}
.service-dialog::backdrop{background:#071c4480;backdrop-filter:blur(4px)}
body:has(.service-dialog[open]){overflow:hidden}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.dialog-heading h2{font-size:23px;line-height:1.45;font-weight:800}
.dialog-close{width:44px;height:44px;flex:none;border-radius:50%;background:#edf4ff;font-size:30px;line-height:1;color:#183b71}
.service-dialog>p{font-size:16px;line-height:1.8;margin-top:12px;color:#43516a}
.dialog-content{margin-top:18px;font-size:15px;line-height:1.8}
.dialog-content:empty{display:none}
.dialog-content>p+p{margin-top:12px}
.dialog-content img{width:190px;height:190px;object-fit:contain;margin:0 auto 16px}
.scan-instruction{text-align:center;color:#284c7a;font-weight:600;text-wrap:balance}
.scan-help{font-size:13px;line-height:1.8;text-align:center;color:#64738b}
.dialog-done{width:100%;min-height:46px;font-size:16px;margin-top:24px;color:#fff;background:#0868ef}
.dialog-done:hover{background:#0058d2;color:#fff}
@media(min-width:1800px){.hero-inner{min-height:740px}.hero-copy{width:48%}}
@media(max-width:1150px){
 :root{--gutter:32px}.header-inner{min-height:84px;gap:20px}.desktop-nav{display:none}.header-action{margin-left:auto}
 .mobile-menu{display:block;position:relative}.mobile-menu>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;border-radius:10px;border:1px solid #bed4ef;cursor:pointer;list-style:none;background:#f3f8ff}
 .mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary span{width:19px;height:2px;background:#194d8f;border-radius:2px}
 .mobile-menu>nav{position:absolute;right:0;top:54px;display:flex;flex-direction:column;width:220px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px #173f7020}
 .mobile-menu:not([open])>nav{display:none}.mobile-menu nav a,.mobile-menu nav button{display:flex;align-items:center;gap:10px;padding:14px 16px;min-height:48px;font-size:15px;border-radius:8px;text-align:left;background:none}.mobile-menu nav a:hover,.mobile-menu nav button:hover{background:#eff6ff}
 .hero-copy{width:58%}.hero-inner{min-height:570px;padding-bottom:96px}h1{font-size:clamp(50px,5.5vw,64px)}.hero-art{width:82%;mask-image:linear-gradient(to right,transparent,#000 43%)}
 .hero-actions{gap:12px}.hero-actions .button{font-size:15px;padding-inline:20px;min-height:50px}.hero-notes{font-size:12px;gap:8px 16px}
 .shortcut strong{font-size:16px}.shortcut>span{font-size:12px}.intro-grid,.service-grid{gap:24px}.feature-copy{padding:28px}.feature h2{font-size:29px}.feature-copy>p{font-size:16px}
 .content{gap:48px}.enrollment{padding:32px}.enrollment-steps{gap:20px}.enrollment-steps h3{font-size:16px}.enrollment-steps p{font-size:14px}
 .footer-main{grid-template-columns:1fr 1fr 155px;gap:28px}.miniapp-code img{width:135px;height:135px}.support-links{gap:22px 14px}
}
@media(max-width:900px){
 .hero-copy{width:100%;max-width:700px}.hero-description{font-size:16px}.hero-art{top:auto;bottom:0;width:100%;height:auto;aspect-ratio:866/466;object-fit:contain;object-position:bottom;mask-image:linear-gradient(transparent,#000 22%)}.hero-inner{display:block;min-height:0;padding-top:32px;padding-bottom:calc(44vw + 40px)}
 .shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px;padding:22px 6px}.shortcut{padding-inline:6px}.shortcut:nth-child(4){border-left:0}.shortcut img{width:38px;height:40px}.shortcut>span{font-size:13px}.intro-grid,.service-grid{grid-template-columns:1fr}
 .feature{display:flex;flex-direction:column}.feature-copy{padding:30px}.feature h2{font-size:29px}.feature h2 br{display:none}.feature-photo{width:100%;height:auto;min-height:0;aspect-ratio:2.4;object-fit:cover;margin:0;border-radius:0}.learning-art{object-fit:contain}
 .feature-points{gap:14px}.enrollment-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}.enrollment-steps h3{font-size:18px}.enrollment-steps p{font-size:15px}.record-grid{padding:24px 4px}.record-grid article{padding-inline:20px}.record-grid h3{font-size:18px}
 
 .footer-main{grid-template-columns:1fr 160px;gap:32px}.footer-intro{grid-column:1}.support-links{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr))}.qr-block{grid-column:2;grid-row:1}.support-links>button{align-items:center}.support-links span{text-align:center}
}
@media(max-width:760px){
 :root{--gutter:16px;--radius:18px}.header-inner{min-height:76px;gap:10px}.brand{gap:10px;font-size:23px;letter-spacing:-.6px}.brand img{width:40px;height:40px}.header-action{font-size:12px;padding:8px 12px;min-height:42px;gap:9px}
 .mobile-menu>nav{right:0;width:min(260px,calc(100vw - 32px))}
 .hero{background:#e6f2ff}.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#eaf4ff 0%,#eaf4ffcc 21%,#eaf4ff00 42%)}.hero-inner{display:flex;align-items:stretch;min-height:clamp(500px,133.333vw,820px);padding-top:28px;padding-bottom:32px}
 .hero-copy{display:flex;flex-direction:column;width:100%;max-width:none}.hero .eyebrow,.hero-description{display:none}h1{font-size:clamp(36px,10vw,56px);letter-spacing:-1px;line-height:1.18}
 .headline-swoosh{width:min(310px,76%);height:14px;margin-top:2px}
 .hero-actions{gap:10px;margin-top:auto;padding-top:24px;flex-wrap:nowrap}.hero-actions .button{font-size:14px;padding:12px;min-height:48px;min-width:0;flex:1;max-width:none;gap:8px;white-space:nowrap}.hero-actions .button-primary img{width:22px;height:22px}
 .hero-notes{font-size:11px;margin-top:12px;color:#284c72}.hero-notes span+span{display:none}
 .hero-art{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:right top;mask-image:none}
 .shortcuts{margin-top:-20px;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 5px;row-gap:20px}.shortcut{padding:0 4px}.shortcut:nth-child(4){border-left:0}.shortcut img{width:38px;height:40px;margin-bottom:3px}.shortcut strong{font-size:15px}.shortcut>span{font-size:11px;line-height:1.5}
 .content{padding-top:28px;padding-bottom:40px;gap:36px}.intro-grid,.service-grid{gap:20px}.feature{display:flex;flex-direction:column}.feature-copy{padding:26px 24px}
 h2,.feature h2,.enrollment h2{font-size:clamp(25px,5.5vw,32px);line-height:1.45;letter-spacing:-.6px}.feature h2{margin-top:0}.feature-copy>p{font-size:15px;line-height:1.9;margin-top:14px}
 .feature-points{margin-top:20px;margin-bottom:24px;gap:16px}.feature-points strong{font-size:15px}.feature-points span{font-size:14px}.button{font-size:14px;min-height:46px;padding:10px 20px}
 .feature-photo{height:auto;min-height:0;aspect-ratio:2.2;object-fit:cover}.coach-photo{aspect-ratio:2.15}.booking-photo{aspect-ratio:2.05}.learning-art{aspect-ratio:2.25;object-fit:contain}
 .section-heading{margin-bottom:20px}.section-heading>p:last-child{font-size:15px;line-height:1.9;margin-top:12px}
 .enrollment{padding:26px 24px}.enrollment .section-heading{padding-right:0}.enrollment-art{display:none}.enrollment-steps{gap:26px 20px;margin-top:26px}.enrollment-steps li{padding-right:0}.step-top{margin-bottom:12px}.step-top img{width:33px;height:35px}.step-top>span{font-size:19px}.enrollment-steps h3{font-size:16px}.enrollment-steps p{font-size:13px;line-height:1.85;margin-top:8px}.enrollment-note{font-size:13px;margin-top:24px;padding-top:18px}
 .record-grid{grid-template-columns:1fr;padding:4px 24px}.record-grid article{padding:22px 0}.record-grid article+article{border-left:0;border-top:1px solid var(--line)}.record-number{font-size:12px}.record-grid h3{font-size:20px;margin-top:8px}.record-grid p{font-size:14px;margin-top:10px}
 
 .site-footer{padding-top:32px}.footer-main{grid-template-columns:minmax(0,1fr) 140px;gap:26px 18px;padding-bottom:28px}.footer-intro h2{font-size:26px}.footer-intro>p{font-size:14px;margin-top:14px}.footer-intro>p br{display:none}.footer-intro .button{margin-top:20px}.miniapp-code{padding:7px;border-radius:14px}.miniapp-code img{width:126px;height:126px}.qr-block p{font-size:11px;margin-top:8px}.support-links{gap:20px 10px}.support-links img{width:31px;height:32px}.support-links strong{font-size:14px}.support-links span{font-size:11px}.footer-bottom{font-size:11px;gap:6px 16px;padding:16px 0}.footer-bottom span:nth-child(2){order:3;flex-basis:100%;max-width:35em}.footer-bottom a{margin-left:auto}
 .service-dialog{padding:20px}.dialog-heading h2{font-size:21px}
}
@media(max-width:380px){
 .brand{font-size:21px}.header-action{display:none}.mobile-menu{margin-left:auto}.hero-actions{gap:8px}.hero-actions .button{font-size:12px;padding-inline:9px;gap:6px}.hero-actions .button-primary img{width:20px;height:20px}
 .feature-copy{padding:24px 20px}.enrollment{padding:24px 20px}.enrollment-steps{gap:24px 16px}.enrollment-steps h3{font-size:15px}.step-top>span{font-size:17px}.enrollment-steps p{font-size:13px}
 .footer-main{grid-template-columns:1fr 112px;gap:24px 12px}.footer-intro h2{font-size:23px}.miniapp-code img{width:98px;height:98px}.footer-intro .button{font-size:12px;padding-inline:13px}.qr-block p{font-size:10px}.support-links span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
