:root{--bg:#f8fafc;--paper:#ffffffdb;--ink:#0f172a;--text:#475569;--muted:#64748b;--line:#16a34a33;--blue:#3b82f6;--blue-strong:#2563eb;--blue-deep:#1d4ed8;--orange:#f97316;--green:#22c55e;--green-strong:#16a34a;--green-deep:#166534;--amber:#f59e0b;--green-soft:#ecfdf5;--warm-soft:#fff7ed;--radius:10px;--shadow:0 24px 70px #0f172a1a;--focus-ring:0 0 0 3px #16a34a38;--surface:#fff;--surface-soft:#f8fafc;--card-border:#0f172a1a;--card-shadow:0 16px 40px #0f172a12;--card-shadow-hover:0 22px 50px #0f172a1a}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;overflow-x:hidden}body{color:var(--ink);letter-spacing:0;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline-offset:4px;outline:2px solid #16a34ae0}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px;width:17px;height:17px}section{scroll-margin-top:96px}.hero-section{background:radial-gradient(circle at 16% 18%,#22c55e2e,#0000 29%),radial-gradient(circle at 86% 12%,#3b82f61f,#0000 23%),linear-gradient(135deg,#fff 0%,#f8fafc 48%,#ecfdf5 100%);min-height:100vh;padding:104px clamp(22px,4vw,58px) 58px;position:relative;overflow:hidden}.background-grid{pointer-events:none;background-image:linear-gradient(#2563eb12 1px,#0000 1px),linear-gradient(90deg,#2563eb12 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000006b 48%,#0000 82%);mask-image:linear-gradient(#000 0%,#0000006b 48%,#0000 82%)}.hero-orbit{pointer-events:none;filter:blur(8px);opacity:.62;border-radius:999px;position:absolute}.hero-orbit-one{border:1px solid #22c55e33;width:58vw;height:58vw;bottom:-18vh;right:-10vw;box-shadow:inset 0 0 80px #22c55e1a,0 0 110px #22c55e21}.hero-orbit-two{border-top:1px solid #2563eb24;width:78vw;height:38vw;bottom:-34vh;left:24vw;transform:rotate(-7deg)}.nav,.hero-inner{z-index:2;width:min(100%,1440px);margin:0 auto;position:relative}.nav{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border:1px solid #0f172a14;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;width:min(100% - 40px,1440px);min-height:64px;margin:0;padding:8px 12px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #082f4917}.brand{align-items:center;gap:12px;min-width:max-content;display:inline-flex}.brand span{color:#fff;background:linear-gradient(135deg, var(--blue), var(--blue-strong));border-radius:8px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:950;display:grid;box-shadow:0 12px 30px #2563eb3d}.brand strong{color:var(--ink);font-size:20px;font-weight:950}.nav-links{color:var(--text);justify-content:flex-end;align-items:center;gap:clamp(14px,3vw,34px);font-size:15px;font-weight:800;display:flex}.nav-links a{padding:10px 0;position:relative}.nav-links a:after{content:"";background:var(--green-strong);opacity:0;border-radius:999px;height:2px;transition:opacity .18s,transform .18s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(.36)}.nav-links a:hover:after,.nav-links a:focus-visible:after{opacity:1;transform:scaleX(1)}.hero-inner{grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr);align-items:center;gap:clamp(28px,5vw,74px);min-height:calc(100vh - 162px);padding-top:0;display:grid}.hero-copy{min-width:0;max-width:720px}.program-pill{min-height:38px;color:var(--green-deep);background:var(--surface);border:1px solid #16a34a38;border-radius:999px;align-items:center;gap:9px;margin-bottom:26px;padding:0 14px;font-size:14px;font-weight:820;display:inline-flex;box-shadow:0 10px 28px #082f490f}.program-pill svg{width:18px;color:var(--orange)}.hero-copy h1{max-width:760px;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(42px,4.8vw,64px);font-weight:850;line-height:1.12}.hero-copy h1 span{color:var(--green-strong);white-space:nowrap}.hero-copy p{max-width:640px;color:var(--text);margin:26px 0 0;font-size:clamp(18px,2vw,23px);font-weight:560;line-height:1.66}.hero-note{max-width:590px;color:var(--text);border-left:3px solid #f9731694;margin-top:20px;padding-left:14px;font-size:clamp(15px,1.35vw,18px);font-weight:580;line-height:1.78}.case-stage{min-height:590px;position:relative}.case-deck{position:absolute;inset:10px 0 62px}.case-card{transform-origin:50%;background:#0f172a;border:1px solid #ffffffc7;border-radius:12px;width:min(440px,70%);height:488px;transition:transform .52s cubic-bezier(.22,1,.36,1),opacity .42s,filter .42s;position:absolute;top:22px;left:50%;overflow:hidden;box-shadow:0 22px 60px #0f172a29}.case-card img{object-fit:cover;filter:saturate(.96)contrast(.98);width:100%;height:100%}.case-shade{background:linear-gradient(#082f4905 8%,#082f4924 48%,#020617d1 100%),linear-gradient(90deg,#0206172e,#0000 58%);position:absolute;inset:0}.case-content{z-index:2;color:#fff;position:absolute;inset:auto 24px 24px}.metric{border-radius:999px;align-items:center;min-height:38px;margin-bottom:18px;padding:0 14px;font-size:16px;font-weight:850;display:inline-flex;box-shadow:0 10px 24px #02061733}.metric.orange{background:linear-gradient(135deg, var(--amber), var(--orange))}.metric.green{background:linear-gradient(135deg, var(--green-strong), var(--green))}.metric.blue{background:linear-gradient(135deg, var(--blue), var(--blue-strong))}.case-content span:not(.metric){color:#e2e8f0e6;letter-spacing:.02em;margin-bottom:8px;font-size:12px;font-weight:900;display:block}.case-content h2{text-wrap:balance;margin:0;font-size:clamp(25px,2.6vw,34px);font-weight:850;line-height:1.16}.case-content p{color:#f1f5f9e6;margin:12px 0 0;font-size:15px;font-weight:650;line-height:1.65}.case-card.active{z-index:4;opacity:1;filter:saturate(1.04);transform:translate(-50%)scale(1)rotate(0)}.case-card.next{z-index:3;opacity:.62;filter:saturate(.84);transform:translate(-7%)translateY(38px)scale(.88)}.case-card.prev{z-index:2;opacity:.5;filter:saturate(.78);transform:translate(-93%)translateY(44px)scale(.86)}.carousel-controls{z-index:6;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;bottom:0;left:0;right:0}.carousel-controls>button{width:46px;height:46px;color:var(--green-deep);background:var(--surface);cursor:pointer;border:1px solid #16a34a2e;border-radius:50%;place-items:center;transition:border-color .18s,box-shadow .18s,color .18s,transform .18s;display:grid;box-shadow:0 12px 28px #082f491a}.carousel-controls>button:hover{color:var(--green-strong);border-color:#16a34a57;transform:translateY(-1px);box-shadow:0 16px 38px #082f4929}.carousel-controls>button:active{transform:translateY(0)scale(.98)}.dots{align-items:center;gap:8px;display:flex}.dots button{cursor:pointer;background:0 0;border:0;border-radius:999px;width:36px;height:36px;padding:0;position:relative}.dots button:after{content:"";background:#64748b42;border-radius:999px;transition:background .18s,inset .18s;position:absolute;inset:14px}.dots button.is-active{background:0 0;width:44px}.dots button.is-active:after{background:var(--green-strong);inset:14px 6px}.dots button:hover:after{background:#22c55e85}.works-section{background:radial-gradient(circle at 15% 0,#22c55e17,#0000 28%),linear-gradient(#f8fafc 0%,#fff 42%);min-height:auto;padding:88px clamp(22px,4vw,58px) 96px;position:relative;overflow:hidden}.works-section:before{content:none}.works-section:after{content:"";background:linear-gradient(90deg,#0000,#22c55e38,#0000);height:1px;position:absolute;top:0;left:clamp(22px,4vw,58px);right:clamp(22px,4vw,58px)}.works-section{scroll-margin-top:96px}.section-shell{z-index:1;width:min(100%,1440px);margin:0 auto;position:relative}.works-section .section-shell{width:min(100%,1280px)}.section-heading{max-width:760px;margin-bottom:36px}.section-heading>span{min-height:30px;color:var(--green-deep);background:var(--surface);border:1px solid #16a34a2e;border-radius:999px;align-items:center;margin-bottom:13px;padding:0 11px;font-size:14px;font-weight:780;display:inline-flex;box-shadow:0 8px 20px #082f490d}.section-heading>span:after{content:none}h1{color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(30px,3.2vw,44px);font-weight:850;line-height:1.16}h1 span{color:var(--green-strong)}.section-heading h1{max-width:820px;font-size:clamp(30px,3vw,42px);font-weight:850;line-height:1.18}.section-heading p{max-width:700px;color:var(--text);margin:14px 0 0;font-size:16px;font-weight:560;line-height:1.72}.works-grid{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0;display:grid}.work-card{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);min-height:auto;box-shadow:var(--card-shadow);grid-template-rows:auto auto;gap:14px;padding:14px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid}.work-card:hover{box-shadow:var(--card-shadow-hover);border-color:#16a34a4d;transform:translateY(-3px)}.card-copy{flex-direction:column;align-items:flex-start;min-width:0;padding:0 2px 3px;display:flex}.card-copy h2{color:var(--ink);margin:7px 0 0;font-size:clamp(18px,1.55vw,22px);font-weight:760;line-height:1.15}.card-copy>span{min-height:25px;color:var(--green-deep);background:var(--green-soft);border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:720;display:inline-flex}.poem-card-shell .card-copy>span,.idiom-card-shell .card-copy>span{color:#9a3412;background:#ffedd5}.math-card-shell .card-copy>span{color:var(--blue-deep);background:#eff6ff}.preview{aspect-ratio:1.08;border-radius:var(--radius);background:linear-gradient(#f8fafc,#fff);border:1px solid #0f172a14;min-width:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.game-topbar{min-height:33px;color:var(--green-deep);justify-content:space-between;align-items:center;gap:9px;padding:7px 8px;font-size:11px;font-weight:760;display:flex}.game-topbar span{background:#ffffffdb;border-radius:999px;align-items:center;gap:5px;min-height:23px;padding:0 7px;display:inline-flex;box-shadow:0 10px 22px #082f491a}.word-preview{background:linear-gradient(#dbeafec7,#ffffff29 38%),linear-gradient(#ecfdf5,#bbf7d0 62%,#86efac);padding:0}.word-board{padding:1px 10px 10px}.word-card{border:2px solid var(--green-strong);color:#0f172a;background:#ffffffeb;border-radius:10px;place-items:center;width:min(100%,168px);min-height:46px;margin:0 auto 8px;font-size:23px;font-weight:820;display:grid;box-shadow:0 12px 26px #16a34a24}.holes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:3px 16px 10px;display:grid}.holes span{color:#7c2d12;background:radial-gradient(#4a220d 0 42%,#9a5b24 43% 62%,#0000 63%);border-radius:50%;place-items:center;height:21px;font-size:18px;font-weight:950;display:grid;position:relative}.holes .is-up:before{content:"";background:#a16207;border-radius:44% 44% 50% 50%;width:29px;height:29px;animation:1.8s ease-in-out infinite mole-pop;position:absolute;bottom:8px;box-shadow:inset 0 11px #d6a15c}.holes .is-up{color:#fff}.holes .is-up:after{content:attr(class);display:none}.combo-bar{background:#ffffffd1;border-radius:999px;align-items:center;gap:10px;width:min(100%,430px);min-height:25px;margin:0 auto;padding:0 12px;display:flex}.combo-bar strong{color:var(--orange);font-size:11px}.combo-bar i{background:linear-gradient(90deg, var(--orange) 0 44%, #94a3b83d 44%);background-size:180% 100%;border-radius:999px;flex:1;height:7px;animation:2.6s ease-in-out infinite bar-glow}.poem-preview{background:radial-gradient(circle at 90% 12%,#f973161f,#0000 26%),linear-gradient(135deg,#fffaf2,#fff);padding:10px}.poem-progress{color:#9a3412;text-align:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:900;display:grid}.poem-progress i{background:linear-gradient(90deg, var(--orange) 0 62%, #fed7aa 62%);border-radius:999px;width:min(100%,330px);height:8px;margin:0 auto;animation:3s ease-in-out infinite poem-progress;display:block}.poem-paper{border-radius:var(--radius);text-align:center;background:linear-gradient(#fb923c14,#fb923c00),#fffaf0;border:1px solid #fed7aa;min-height:136px;padding:13px 12px 10px}.poem-paper strong,.poem-paper p{color:#111827;margin:0;font-family:KaiTi,STKaiti,Songti SC,serif;font-size:17px;font-weight:600;line-height:1.8;display:block}.poem-paper p span{border-bottom:2px solid #0f172a;min-width:56px;display:inline-block}.answer-row,.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px;display:grid}.answer-row span,.choice-grid span{min-height:34px;color:var(--ink);background:#ffffffc7;border:1px solid #f9731680;border-radius:10px;place-items:center;font-size:14px;font-weight:760;display:grid}.math-preview{background:linear-gradient(#eff6ff,#fff);padding:0 10px 10px}.math-question{border-radius:var(--radius);color:#0f172a;background:#ffffffbd;border:2px solid #3b82f642;place-items:center;min-height:62px;margin:5px 0 8px;font-size:23px;font-weight:820;animation:2.4s ease-in-out infinite math-pulse;display:grid}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-grid span{color:#172554;border-color:#3b82f657;min-height:36px;font-size:15px}.choice-grid .is-correct{color:#fff;border-color:var(--green-strong);background:linear-gradient(135deg, var(--green), var(--green-strong));box-shadow:0 16px 30px #16a34a38}.score-strip{min-height:25px;color:var(--green-deep);background:#ffffffc7;border-radius:999px;place-items:center;margin:8px auto 0;font-size:11px;font-weight:950;display:grid}.idiom-preview{background:linear-gradient(135deg,#fff7ed,#fff);padding:8px}.idiom-preview .game-topbar{color:#c2410c;min-height:36px;padding:0 0 9px}.match-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.match-grid span{color:#7c2d12;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;place-items:center;min-height:46px;padding:5px;font-size:10px;font-weight:700;line-height:1.45;display:grid}.match-grid .matched{background:linear-gradient(#f0fdf4,#dcfce7);border-color:#22c55e}.match-grid .back{color:#c08457;background-color:#ffedd5;background-image:linear-gradient(45deg,#c2410c14 25%,#0000 25%),linear-gradient(-45deg,#c2410c14 25%,#0000 25%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;font-size:18px;animation:2.7s ease-in-out infinite card-breathe}.course-section{background:radial-gradient(circle at 88% 8%,#22c55e14,#0000 30%),linear-gradient(#fff 0%,#f8fafc 100%);padding:96px clamp(22px,4vw,58px);position:relative;overflow:hidden}.course-section:before{content:none}.course-shell{z-index:1;width:min(100%,1280px);margin:0 auto;position:relative}.course-head{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;margin-bottom:44px;display:grid}.course-kicker{min-height:30px;color:var(--green-deep);background:var(--surface);border:1px solid #16a34a2e;border-radius:999px;align-items:center;margin-bottom:13px;padding:0 11px;font-size:14px;font-weight:780;display:inline-flex;box-shadow:0 8px 20px #082f490d}.course-head h2{max-width:820px;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(30px,3vw,42px);font-weight:850;line-height:1.18}.course-head h2 span{color:var(--green-strong)}.course-head p{max-width:780px;color:var(--text);margin:14px 0 0;font-size:16px;font-weight:560;line-height:1.72}.course-head .course-lead{max-width:900px;color:var(--ink);text-wrap:balance;margin-top:0;margin-bottom:0;font-size:clamp(36px,4.2vw,58px);font-weight:850;line-height:1.16}.course-sublead{max-width:760px;color:var(--text);margin:18px 0 0;font-size:clamp(20px,2vw,28px);font-weight:650;line-height:1.5}.course-chips{flex-wrap:wrap;justify-content:flex-end;gap:12px;padding-top:40px;display:flex}.course-chips span{border-radius:var(--radius);min-height:46px;color:var(--green-deep);background:var(--surface);border:1px solid #16a34a24;align-items:center;padding:0 18px;font-size:16px;font-weight:760;display:inline-flex;box-shadow:0 10px 28px #082f490f}.timeline{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;padding-top:48px;display:grid;position:relative}.timeline-line{background:linear-gradient(90deg, #22c55e33, var(--green-strong) 72%, #f59e0bc7);border-radius:999px;height:3px;position:absolute;top:18px;left:7%;right:7%}.course-day{border:1px solid var(--card-border);border-radius:var(--radius);text-align:center;background:var(--surface);min-height:238px;box-shadow:var(--card-shadow);padding:22px 18px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative}.course-day:hover{box-shadow:var(--card-shadow-hover);border-color:#16a34a47;transform:translateY(-2px)}.timeline-dot{background:var(--green-strong);border:6px solid #dcfce7;border-radius:50%;width:28px;height:28px;position:absolute;top:-39px;left:50%;transform:translate(-50%);box-shadow:0 10px 22px #16a34a2e}.day-label{color:var(--green-strong);margin-bottom:18px;font-size:16px;font-weight:850;display:block}.day-icon{width:58px;height:58px;color:var(--green-strong);background:var(--green-soft);border-radius:12px;place-items:center;margin:0 auto 18px;font-size:22px;font-weight:900;display:grid}.day-icon svg,.term-icon svg{stroke-width:2px;width:24px;height:24px}.day-icon .ai-glyph{font-size:20px;font-weight:850;line-height:1}.course-day h3{color:var(--ink);margin:0 0 12px;font-size:21px;font-weight:850}.course-day p{color:var(--text);white-space:pre-line;margin:0;font-size:14px;font-weight:560;line-height:1.72}.course-day.is-featured{background:linear-gradient(#fff7ed,#fff);border-color:#f9731680;box-shadow:0 18px 42px #f973161c}.course-day.is-featured .timeline-dot{background:var(--orange);border-color:#ffedd5}.course-day.is-featured .day-label,.course-day.is-featured .day-icon{color:var(--orange)}.course-day.is-featured .day-icon{background:var(--warm-soft)}.course-outcomes{border:1px solid var(--card-border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:12px;margin-top:40px;padding:26px}.course-outcomes h3{color:var(--ink);margin:0 0 20px;font-size:clamp(24px,2.4vw,34px);font-weight:850;line-height:1.2}.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.outcome-item{border-radius:var(--radius);background:var(--green-soft);border:1px solid #16a34a24;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:14px;display:grid}.outcome-item span{color:#fff;background:var(--green-strong);border-radius:50%;place-items:center;width:28px;height:28px;font-size:15px;font-weight:900;display:grid}.outcome-item strong{color:var(--ink);font-size:17px;font-weight:760;line-height:1.55}.outcome-item:nth-child(3){background:var(--warm-soft);border-color:#f9731638}.outcome-item:nth-child(3) span{background:linear-gradient(135deg, var(--amber), var(--orange))}.teacher-section{background:linear-gradient(#f8fafc 0%,#fff 56%,#f8fafc 100%);padding:96px clamp(22px,4vw,58px);position:relative;overflow:hidden}.teacher-section:before{content:none}.teacher-shell{z-index:1;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(46px,7vw,96px);width:min(100%,1280px);margin:0 auto;display:grid;position:relative}.teacher-kicker{min-height:30px;color:var(--green-deep);background:var(--surface);border:1px solid #16a34a2e;border-radius:999px;align-items:center;margin-bottom:18px;padding:0 11px;font-size:14px;font-weight:780;display:inline-flex;box-shadow:0 8px 20px #082f490d}.teacher-copy h2{max-width:620px;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(32px,3.4vw,48px);font-weight:850;line-height:1.18}.teacher-copy p{max-width:560px;color:var(--text);margin:24px 0 0;font-size:18px;font-weight:560;line-height:1.86}.experience-list{gap:52px;padding-left:44px;display:grid;position:relative}.experience-list:before{content:"";background:linear-gradient(#22c55e1f,#16a34a8f,#22c55e1f);border-radius:999px;width:2px;position:absolute;top:10px;bottom:10px;left:13px}.experience-item{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:28px;display:grid;position:relative}.experience-dot{background:var(--green-strong);border:6px solid #dcfce7;border-radius:50%;width:28px;height:28px;position:absolute;top:8px;left:-43px;box-shadow:0 10px 22px #16a34a2e}.experience-item>span{color:var(--green-strong);font-size:clamp(34px,4vw,54px);font-weight:900;line-height:1}.experience-item h3{color:var(--ink);margin:0 0 12px;font-size:clamp(24px,2.2vw,33px);font-weight:850;line-height:1.18}.experience-item p{max-width:620px;color:var(--text);white-space:pre-line;margin:0;font-size:17px;font-weight:540;line-height:1.78}.class-section{background:radial-gradient(circle at 92% 20%,#f59e0b1a,#0000 28%),linear-gradient(#fff 0%,#fff7ed 100%);padding:78px clamp(22px,4vw,58px);position:relative;overflow:hidden}.class-section:before{content:none}.class-shell{z-index:1;width:min(100%,1120px);margin:0 auto;position:relative}.class-head{max-width:760px;margin-bottom:30px}.class-head>span{color:#9a3412;background:var(--warm-soft);border:1px solid #f59e0b42;border-radius:999px;align-items:center;min-height:28px;margin-bottom:11px;padding:0 10px;font-size:13px;font-weight:760;display:inline-flex;box-shadow:0 8px 20px #082f490d}.class-head h2{color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(34px,3.7vw,52px);font-weight:850;line-height:1.16}.class-head p{max-width:680px;color:var(--text);margin:16px 0 0;font-size:clamp(18px,1.8vw,24px);font-weight:650;line-height:1.55}.term-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.term-card{border:1px solid var(--card-border);text-align:center;background:var(--surface);min-height:420px;box-shadow:var(--card-shadow);border-radius:10px;padding:38px 24px 24px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden}.term-card:hover{box-shadow:var(--card-shadow-hover);border-color:#f59e0b6b;transform:translateY(-2px)}.term-ribbon{color:#fff;background:linear-gradient(135deg, var(--amber), var(--orange));border-radius:0 0 16px;justify-content:center;align-items:center;min-width:168px;min-height:34px;font-size:15px;font-weight:850;display:inline-flex;position:absolute;top:0;left:0}.term-icon{width:44px;height:44px;color:var(--orange);background:var(--warm-soft);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:22px;font-weight:900;display:grid}.term-card h3{color:var(--ink);margin:0;font-size:clamp(25px,2.5vw,32px);font-weight:850;line-height:1.2}.time-table{border-radius:var(--radius);background:#fff7edb8;border:1px solid #f9731629;margin-top:18px;overflow:hidden}.time-table div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:44px;padding:0 18px;display:grid}.time-table div+div{border-top:1px solid #f9731624}.time-table span{color:var(--ink);text-align:left;font-size:15px;font-weight:760}.time-table time{color:var(--ink);font-size:16px;font-weight:850}.term-highlights{text-align:left;gap:10px;margin-top:18px;display:grid}.term-highlights div,.class-prep div{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;display:grid}.term-highlights span,.class-prep span{color:#fff;background:var(--green-strong);border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid}.term-highlights strong,.class-prep strong{color:var(--ink);font-size:16px;font-weight:760;line-height:1.5}.term-highlights div:nth-child(2) span,.term-highlights div:last-child span{background:linear-gradient(135deg, var(--amber), var(--orange))}.term-highlights div:nth-child(2) strong,.term-highlights div:last-child strong{color:#9a3412}.reserve-button{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--amber), var(--orange));cursor:pointer;border:0;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:20px;font-size:17px;font-weight:850;transition:box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 14px 28px #f973163d}.reserve-button:hover{transform:translateY(-1px);box-shadow:0 18px 36px #f973164d}.reserve-button:active{transform:translateY(0)scale(.99)}.class-prep{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);max-width:620px;box-shadow:var(--card-shadow);gap:12px;margin-top:22px;padding:22px 24px;display:grid}.class-prep h3{color:var(--ink);margin:0 0 4px;font-size:clamp(22px,2vw,28px);font-weight:850;line-height:1.2}.class-notices{gap:10px;margin-top:16px;display:grid}.notice{border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;min-height:46px;padding:0 18px;display:flex;box-shadow:0 8px 22px #082f490d}.notice.info{border:1px solid #16a34a33}.notice.warn{background:#fff7edc2;border:1px solid #fed7aa}.notice strong{font-size:16px;font-weight:850}.notice.info strong{color:var(--green-strong)}.notice.warn strong{color:#ea580c}.notice span{color:var(--text);font-size:14px;font-weight:520}@keyframes mole-pop{0%,to{transform:translateY(3px)}50%{transform:translateY(-2px)}}@keyframes bar-glow{0%,to{filter:saturate()}50%{filter:saturate(1.4)}}@keyframes poem-progress{0%,to{opacity:.72}50%{opacity:1}}@keyframes math-pulse{0%,to{box-shadow:none}50%{box-shadow:0 12px 26px #2563eb1a}}@keyframes card-breathe{0%,to{transform:rotateY(0)}50%{transform:rotateY(8deg)}}@keyframes section-rise{0%{opacity:.72;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.section-shell,.course-shell,.teacher-shell,.class-shell{animation:both section-rise;animation-timeline:view();animation-range:entry cover 24%}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.case-card.next,.case-card.prev{transform:translate(-50%)scale(.96)}}.placeholder-section{background:#fff;place-items:center;min-height:56vh;padding:80px clamp(22px,4vw,58px);display:grid}.placeholder-section:nth-of-type(odd){background:var(--bg)}.placeholder-section div{border:1px solid var(--line);border-radius:var(--radius);width:min(100%,1100px);box-shadow:var(--shadow);background:#ffffffd1;padding:40px}.placeholder-section span{color:var(--green-strong);font-weight:950}.placeholder-section h2{margin:12px 0 0;font-size:clamp(32px,4vw,54px)}@media (max-width:1160px){.hero-inner{grid-template-columns:1fr;align-items:start;min-height:auto}.hero-copy{max-width:820px;padding-top:32px}.case-stage{min-height:570px}.case-card{width:min(430px,62%)}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.work-card{min-height:auto}.course-head{grid-template-columns:1fr}.course-chips{justify-content:flex-start;padding-top:0}.timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 18px}.timeline-line{display:none}.teacher-shell,.term-grid{grid-template-columns:1fr}}@media (max-width:720px){section,.works-section{scroll-margin-top:78px}.hero-section{min-height:auto;padding:88px 16px 40px}.nav{border-radius:10px;align-items:center;gap:10px;width:calc(100% - 24px);min-height:58px;padding:8px 10px;top:12px}.brand span{width:42px;height:42px;font-size:21px}.brand strong{font-size:18px}.nav-links{white-space:nowrap;flex:1;justify-content:flex-end;gap:10px;min-width:0;font-size:13px;font-weight:760;display:flex}.nav-links a{padding:8px 0}.hero-inner{gap:24px;min-width:0;padding-top:0}.hero-copy{width:100%;min-width:0;max-width:calc(100vw - 32px)}.program-pill{min-height:34px;margin-bottom:18px;padding-inline:12px;font-size:13px}.hero-copy h1{overflow-wrap:break-word;max-width:100%;font-size:clamp(31px,8.8vw,36px);line-height:1.16}.hero-copy p{overflow-wrap:anywhere;max-width:100%;margin-top:16px;font-size:15px;line-height:1.66}.hero-copy h1 span{white-space:normal}.hero-note{max-width:100%;margin-top:14px;padding-right:2px;font-size:14px;line-height:1.64}.case-stage{min-height:auto;margin-top:4px}.case-deck{height:min(420px,112vw);position:relative;inset:auto}.case-card{width:min(100%,360px);height:min(420px,112vw);max-height:420px;top:0}.case-card.next,.case-card.prev{opacity:0;pointer-events:none;transform:translate(-50%)scale(.96)}.case-content{inset:auto 18px 18px}.case-content h2{font-size:28px}.case-content p{font-size:14px}.carousel-controls{margin-top:14px;position:relative;bottom:auto}.works-section{padding:44px 14px 48px}.works-grid{grid-template-columns:1fr;gap:16px}h1{font-size:32px}.section-heading p{font-size:17px}.work-card{padding:14px}.course-section{padding:56px 14px}.course-head .course-lead{font-size:32px;line-height:1.2}.course-sublead{margin-top:14px;font-size:20px;line-height:1.5}.timeline{grid-template-columns:1fr;gap:14px;padding-top:0}.timeline-dot{display:none}.course-day{text-align:left;min-height:auto}.day-icon{margin-left:0}.course-outcomes{margin-top:24px;padding:18px}.outcome-grid{grid-template-columns:1fr}.outcome-item{padding:12px}.outcome-item strong{font-size:16px}.teacher-section{padding:58px 14px}.teacher-copy h2{font-size:31px}.teacher-copy p{font-size:16px}.experience-list{gap:30px;padding-left:34px}.experience-item{grid-template-columns:64px minmax(0,1fr);gap:16px}.experience-item>span{font-size:31px}.experience-item h3{font-size:22px}.experience-item p{font-size:15px}.class-section{padding:52px 14px}.class-head h2{font-size:31px}.term-card{min-height:auto;padding:34px 16px 18px}.term-card h3{font-size:27px}.time-table div{padding:0 16px}.time-table span,.time-table time{font-size:16px}.notice{padding:12px 14px}.holes{gap:16px;padding-inline:12px}.choice-grid,.match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poem-paper strong,.poem-paper p{font-size:26px}.math-question{font-size:34px}}@media (max-width:430px){.brand{gap:0}.brand strong{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-links{gap:12px;font-size:13px}}@media (max-width:360px){.nav-links{gap:8px;font-size:12px}}
