:root{--ink:#1d1d1f;--muted:#68686d;--soft:#f5f5f7;--line:#dedee3;--blue:#0066cc;--white:#fff;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #0071e3;outline-offset:5px;border-radius:4px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;font-weight:750;letter-spacing:-.035em}h1,h2,h3{text-wrap:balance}strong{font-weight:700}button{border:0}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:#0066cc;color:#fff;padding:10px 18px}.skip-link:focus{top:12px}[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:30;background:#ffffffed;border-bottom:1px solid #e8e8ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:baseline;gap:13px;flex-shrink:0}.brand-cn{font-size:1.625rem;font-weight:800;letter-spacing:-.035em}.brand-en{font-size:.75rem;font-weight:650;letter-spacing:.13em}.header-nav{display:flex;align-items:center;gap:35px}.header-nav a{font-size:.875rem;color:#414146;white-space:nowrap}.header-nav a:hover{color:var(--blue)}.header-nav a:last-child{border:1px solid #d2d2d7;border-radius:30px;padding:7px 17px}.menu-toggle{display:none;background:transparent;color:var(--ink);padding:8px;font-size:.875rem}
.home-hero{padding:89px 0 47px;text-align:center}.eyebrow{font-size:.875rem;font-weight:650;letter-spacing:.06em;color:#626269}.home-hero .eyebrow{font-size:.9375rem;letter-spacing:.16em;color:#424248}.home-hero h1{font-size:clamp(3.5rem,6.4vw,6.1rem);line-height:1.15;letter-spacing:-.06em;font-weight:800;margin:29px 0 27px}.home-hero h1 span{display:block}.hero-description{font-size:1.25rem;color:#6e6e73;line-height:1.75;max-width:660px;margin:auto;text-wrap:balance}.hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 25px;border-radius:50px;background:#0071e3;color:#fff;font-size:1rem;font-weight:500;line-height:1.5;text-align:center}.button:hover{background:#0077ed}.button-light{background:#f5f5f7;color:#0066cc}.button-light:hover{background:#ebebee}.hero-facts{display:flex;justify-content:center;align-items:center;gap:0;margin-top:52px;color:#77777d;font-size:.875rem}.hero-facts span{padding:0 25px}.hero-facts span+span{border-left:1px solid #dedee3}.hero-facts strong{font-size:1rem;color:#424248;font-weight:600;margin-right:4px}
.section{padding-block:86px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:clamp(2.1rem,3.4vw,3rem);line-height:1.23;letter-spacing:-.045em}.section-heading>p{font-size:1rem;color:var(--muted);line-height:1.9;padding-bottom:4px;max-width:420px}.team-section{padding-top:62px;padding-bottom:90px}.teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.teacher-card{min-width:0}.teacher-card-image{display:block;overflow:hidden;border-radius:22px;background:#eeeef1;aspect-ratio:4/4.7;position:relative}.portrait{width:100%;height:100%;object-fit:cover}.portrait-ou-ge{object-position:43% 45%}.portrait-wendy{object-position:66% 39%}.portrait-chen-youchun{object-position:49% 26%}.teacher-card-copy{padding:26px 4px 0}.teacher-card h3{font-size:1.7rem;line-height:1.25}.teacher-card-role{font-size:.875rem;color:#62626a;margin-top:11px;min-height:3rem;line-height:1.6}.teacher-card-summary{font-size:1rem;color:#68686d;line-height:1.8;min-height:3.6rem;margin:11px 0 19px}.text-link{color:var(--blue);font-size:1rem;font-weight:500;line-height:1.5;display:inline-block}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.catalog-section,.related-section{background:var(--soft)}.catalog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{display:inline-flex;align-items:center;gap:10px;border-radius:50px;padding:10px 17px;background:transparent;border:1px solid #d8d8de;color:#4d4d55;font-size:.875rem;min-height:43px}.filter span{font-size:.75rem;color:#7f7f85}.filter[aria-pressed="true"]{color:#fff;background:#1d1d1f;border-color:#1d1d1f}.filter[aria-pressed="true"] span{color:#dddde1}.filter:not([aria-pressed="true"]):hover{background:#eaeaf0}.catalog-bar>p{color:#6f6f76;font-size:.875rem;white-space:nowrap}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.course-card{background:#fff;min-width:0;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8e8ed;transition:box-shadow .2s,border-color .2s}.course-card-top{padding:30px 28px 0}.course-tag{font-size:.875rem;font-weight:600;color:#76767c;margin-bottom:20px}.course-card h3{font-size:1.55rem;line-height:1.45;min-height:4.5rem;letter-spacing:-.035em}.course-card h3 a:hover{color:var(--blue)}.course-excerpt{font-size:1rem;color:#6b6b71;margin-top:15px;line-height:1.85;min-height:5.6rem}.course-card-bottom{padding:25px 28px 29px;margin-top:auto}.course-mini-meta{font-size:.875rem;display:flex;flex-direction:column;gap:4px;color:#616169;line-height:1.7;border-top:1px solid #ececf0;padding-top:20px}.course-teachers{font-size:.875rem;color:#616169;margin-top:8px;min-height:2rem}.course-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px;margin-top:18px}.course-price strong{font-size:1.75rem;letter-spacing:-.04em;line-height:1.35;font-weight:700}.course-price span{color:#7a7a80;font-size:.875rem}.course-price-note{font-size:.75rem;color:#686870;line-height:1.75;min-height:1.75rem;margin-top:4px}.course-card .text-link{margin-top:22px;font-size:.9375rem}.catalog-note{font-size:.8125rem;color:#7a7a81;line-height:1.85;margin-top:26px;max-width:840px}.related-section .section-heading h2{font-size:2.5rem}.related-section .section-heading .text-link{white-space:nowrap}
.site-footer{padding:34px 0;border-top:1px solid #e5e5e9;background:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-inner p{font-size:.8125rem;color:#77777c}.footer-link{font-size:.875rem;color:#56565c}.footer-link:hover{color:var(--blue)}.site-footer .brand-cn{font-size:1.4rem}.site-footer .brand-en{font-size:.75rem}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.8125rem;color:#808087;padding:25px 0 0;line-height:1.8}.breadcrumb a{color:#67676e}.breadcrumb a:hover{color:var(--blue)}.breadcrumb>span:last-child{color:#424249}.profile-hero{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding:53px 0 52px}.profile-intro h1{font-size:clamp(2.75rem,4.5vw,4.5rem);line-height:1.18;margin:19px 0 22px;letter-spacing:-.055em;overflow-wrap:anywhere}.profile-role{font-size:1rem;color:#595960;line-height:1.9}.profile-description{font-size:1.125rem;color:#69696e;line-height:1.95;margin-top:26px}.expertise-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.expertise-tags span{font-size:.8125rem;color:#5d5d65;background:var(--soft);border-radius:20px;padding:6px 12px}.profile-intro .button{margin-top:32px}.profile-photo{border-radius:25px;overflow:hidden;background:#f5f5f7;aspect-ratio:1/1.14}.profile-credentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:31px 0}.profile-credentials p{font-size:.9375rem;font-weight:600;line-height:1.75;padding:0 12px;text-align:center}.profile-credentials p+p{border-left:1px solid var(--line)}.profile-story{padding-block:81px 92px;display:grid;grid-template-columns:1fr 2fr;gap:85px;align-items:start}.profile-story aside{position:sticky;top:120px}.profile-story aside h2{font-size:2.5rem;line-height:1.3;margin-top:16px}.bio-content{max-width:780px}.bio-block+.bio-block{margin-top:52px;padding-top:38px;border-top:1px solid var(--line)}.bio-block h2{font-size:1.625rem;line-height:1.5;margin-bottom:23px}.bio-block p,.bio-block li{font-size:1rem;color:#5e5e66;line-height:2}.bio-block p+p{margin-top:23px}.bio-block ul{padding-left:20px;margin:16px 0 0}.bio-block li+li{margin-top:11px}.bio-block strong{color:#37373f;font-weight:600}
.course-hero{padding:62px 0 55px;max-width:930px}.course-hero h1{font-size:clamp(2.4rem,4.2vw,3.8rem);line-height:1.25;margin:20px 0 26px;letter-spacing:-.05em}.course-hero>p:last-child{font-size:1.2rem;color:#717177;line-height:1.85;max-width:800px;text-wrap:pretty}.course-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:80px;padding-bottom:92px;align-items:start}.course-main{min-width:0}.content-block+.content-block{border-top:1px solid var(--line);margin-top:44px;padding-top:38px}.content-block h2{font-size:1.65rem;line-height:1.4;margin-bottom:23px}.content-block>p{font-size:1.0625rem;line-height:1.95;color:#64646c}.content-block>p+p{margin-top:20px}.content-block strong{color:#35353b}.course-sidebar{background:#f5f5f7;padding:31px;border-radius:24px;position:sticky;top:105px;min-width:0}.course-sidebar .eyebrow{color:#64646b;font-size:.875rem}.detail-price{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-top:16px}.detail-price strong{font-size:3rem;font-weight:750;letter-spacing:-.05em;line-height:1.2}.detail-price span{font-size:.9375rem;color:#6e6e77}.price-annotation{font-size:.875rem;line-height:1.8;color:#6e6e73;margin-top:10px}.course-facts{margin:24px 0 0}.course-facts>div{border-top:1px solid #dcdce2;padding:15px 0;display:grid;grid-template-columns:74px 1fr;gap:14px;font-size:.875rem;line-height:1.85}.course-facts dt{color:#77777e}.course-facts dd{margin:0;color:#383840}.course-instructors{padding-top:16px;border-top:1px solid #dcdce2}.course-instructors h2{font-size:.875rem;font-weight:500;letter-spacing:0;color:#77777e;margin-bottom:18px}.instructor-chip{display:flex;gap:12px;align-items:center;font-size:.9375rem;padding:8px 0}.instructor-chip .portrait{width:43px;height:43px;border-radius:50%;flex-shrink:0}.instructor-chip:hover span{color:var(--blue)}.syllabus{list-style:none;padding:0;margin:0}.syllabus li{display:flex;gap:22px;padding:19px 0;border-top:1px solid #e8e8ed;align-items:baseline}.syllabus li:last-child{border-bottom:1px solid #e8e8ed}.syllabus-number{font-size:.875rem;font-weight:500;color:#98989f;flex-shrink:0;min-width:22px}.syllabus p{font-size:1.0625rem;line-height:1.8;color:#46464e}.pricing-options{display:grid;gap:12px}.pricing-options>div{border:1px solid #e2e2e8;padding:20px 22px;border-radius:15px;display:grid;grid-template-columns:1fr auto;gap:10px 15px;align-items:center}.pricing-options h3{font-size:1rem;letter-spacing:0;font-weight:600}.pricing-options strong{font-size:1.375rem}.pricing-options p{font-size:.875rem;color:#6e6e75;grid-column:1/-1}.benefit-grid{display:grid;gap:14px}.benefit-grid>div{background:var(--soft);padding:25px;border-radius:18px}.benefit-grid span{font-size:.75rem;color:#888891}.benefit-grid h3{font-size:1.125rem;line-height:1.5;margin-top:9px;font-weight:650;letter-spacing:0}.benefit-grid p{font-size:1rem;color:#686871;margin-top:8px;line-height:1.8}
@media(min-width:1500px){.home-hero{padding-top:106px}.home-hero h1{font-size:6.1rem}.profile-hero{gap:90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.teacher-grid{gap:23px}.teacher-card h3{font-size:1.45rem}.course-grid{gap:20px}.course-card-top{padding:26px 23px 0}.course-card-bottom{padding:23px}.course-card h3{font-size:1.4rem;min-height:6.1rem}.course-excerpt{min-height:7.4rem}.course-mini-meta{font-size:.8125rem}.profile-hero{gap:45px}.profile-story{gap:55px}.course-layout{gap:45px}.course-sidebar{padding:26px}.section-heading h2{font-size:2.6rem}.profile-intro h1{font-size:3.25rem}}
@media(max-width:840px){.wrap{width:calc(100% - 48px)}.home-hero{padding-top:65px;padding-bottom:35px}.home-hero h1{font-size:4.9rem}.hero-description{font-size:1.125rem;max-width:620px}.hero-facts{margin-top:43px}.section{padding-block:66px}.team-section{padding-top:44px}.section-heading{gap:30px}.section-heading h2{font-size:2.35rem}.section-heading>p{font-size:.9375rem}.teacher-grid{gap:20px}.teacher-card h3{font-size:1.25rem}.teacher-card-role{min-height:4.4rem}.teacher-card-summary{font-size:.9375rem;min-height:5.6rem}.teacher-card-copy{padding-top:20px}.teacher-card-image{border-radius:17px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card h3{min-height:4.2rem}.course-excerpt{min-height:5.6rem}.catalog-bar{flex-direction:column;align-items:start;gap:16px}.profile-hero{gap:35px;padding-top:38px}.profile-intro h1{font-size:2.75rem}.profile-description{font-size:1rem}.profile-photo{aspect-ratio:1/1.35}.profile-credentials{gap:17px}.profile-credentials p{font-size:.875rem;padding-inline:7px}.profile-story{grid-template-columns:1fr;gap:38px;padding-block:56px}.profile-story aside{position:static}.profile-story aside h2 br{display:none}.profile-story aside h2{font-size:2.2rem}.course-layout{grid-template-columns:minmax(0,1fr) 280px;gap:28px}.course-sidebar{padding:22px}.course-facts>div{grid-template-columns:1fr;gap:4px}.course-hero{padding-block:46px}.course-hero h1{font-size:3rem}.content-block>p{font-size:1rem}.footer-inner{gap:17px}.footer-inner p{font-size:.75rem}}
@media(max-width:640px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.header-inner{height:68px}.brand-cn{font-size:1.45rem}.brand-en{font-size:.75rem;letter-spacing:.1em}.brand{gap:10px}.menu-toggle{display:block}.header-nav{display:none;position:absolute;top:67px;left:0;right:0;background:#fffffff5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #dcdce2;padding:16px 24px 24px;box-shadow:0 16px 24px #00000006;flex-direction:column;align-items:stretch;gap:0}.header-nav.is-open{display:flex}.header-nav a{padding:13px 0;font-size:1rem}.header-nav a:last-child{border:0;border-radius:0;padding:13px 0}.home-hero{padding:59px 0 29px}.home-hero .eyebrow{font-size:.8125rem}.home-hero h1{font-size:clamp(2.9rem,11.6vw,4.6rem);line-height:1.2;margin:26px 0 24px}.hero-description{font-size:1.0625rem;line-height:1.85;max-width:480px}.hero-actions{gap:12px;margin-top:26px}.button{font-size:.9375rem;padding:11px 22px;min-height:46px}.hero-facts{margin-top:40px;font-size:.75rem}.hero-facts span{padding:0 13px}.hero-facts strong{font-size:.875rem;margin-right:1px}.section{padding-block:49px}.team-section{padding-top:34px;padding-bottom:52px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:2.1rem}.section-heading .eyebrow{margin-bottom:13px;font-size:.8125rem}.section-heading>p{font-size:.9375rem;margin-top:19px;padding:0}.teacher-grid{grid-template-columns:1fr;gap:41px}.teacher-card-image{aspect-ratio:1/1.03;border-radius:20px}.teacher-card h3{font-size:1.65rem}.teacher-card-copy{padding:22px 2px 0}.teacher-card-role{min-height:0;font-size:.875rem;margin-top:9px}.teacher-card-summary{min-height:0;font-size:1rem;margin-top:13px;margin-bottom:17px}.portrait-wendy{object-position:65% 40%}.portrait-ou-ge{object-position:43% 40%}.portrait-chen-youchun{object-position:50% 25%}.filter{padding:9px 13px;gap:7px;font-size:.8125rem;min-height:41px}.filter span{font-size:.75rem}.filters{gap:7px}.catalog-bar>p{font-size:.8125rem}.catalog-bar{gap:13px;margin-bottom:23px}.course-grid{grid-template-columns:1fr;gap:18px}.course-card{border-radius:20px}.course-card-top{padding:27px 25px 0}.course-card-bottom{padding:22px 25px 28px}.course-tag{font-size:.8125rem;margin-bottom:17px}.course-card h3{min-height:0;font-size:1.5rem}.course-excerpt{min-height:0;margin-top:16px}.course-mini-meta{font-size:.875rem}.course-teachers{min-height:0}.course-price-note{min-height:0;font-size:.8125rem}.course-card .text-link{margin-top:21px}.catalog-note{font-size:.8125rem}.footer-inner{flex-wrap:wrap;justify-content:space-between}.footer-inner p{order:3;flex-basis:100%;margin-top:1px;font-size:.75rem}.site-footer{padding-block:28px}.site-footer .brand-en{font-size:.75rem}.breadcrumb{padding-top:20px;gap:7px;font-size:.75rem}.profile-hero{grid-template-columns:1fr;gap:32px;padding:37px 0 32px}.profile-intro h1{font-size:3rem;margin-block:17px 20px}.profile-description{font-size:1.0625rem;margin-top:21px}.profile-role{font-size:.9375rem}.expertise-tags{margin-top:23px}.profile-intro .button{margin-top:26px}.profile-photo{aspect-ratio:1/1.15;border-radius:20px}.profile-credentials{grid-template-columns:1fr;gap:0;padding:9px 0}.profile-credentials p{padding:15px 0;text-align:left;font-size:.9375rem}.profile-credentials p+p{border-left:none;border-top:1px solid #e5e5ea}.profile-story{padding-block:44px 54px;gap:32px}.profile-story aside h2{font-size:2rem;line-height:1.4}.bio-block h2{font-size:1.45rem;margin-bottom:18px}.bio-block+.bio-block{margin-top:32px;padding-top:28px}.bio-block p,.bio-block li{font-size:1rem;line-height:1.95}.related-section .section-heading h2{font-size:2rem}.related-section .section-heading .text-link{margin-top:19px}.course-hero{padding:35px 0 31px}.course-hero h1{font-size:2.5rem;line-height:1.3;margin-block:17px 23px}.course-hero>p:last-child{font-size:1.0625rem;line-height:1.85}.course-layout{display:flex;flex-direction:column-reverse;gap:38px;padding-bottom:53px}.course-sidebar{width:100%;position:static;padding:26px;border-radius:21px}.course-facts>div{grid-template-columns:76px 1fr;gap:15px}.detail-price strong{font-size:2.75rem}.course-main{width:100%}.content-block h2{font-size:1.5rem;margin-bottom:20px}.content-block>p{font-size:1rem}.content-block+.content-block{margin-top:33px;padding-top:29px}.syllabus li{gap:18px;padding:17px 0}.syllabus p{font-size:1rem}.benefit-grid>div{padding:23px}.pricing-options>div{padding:19px}.pricing-options strong{font-size:1.25rem}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero-facts span{padding-inline:9px}.hero-facts{font-size:.75rem}.course-card-top{padding-inline:21px}.course-card-bottom{padding-inline:21px}.course-sidebar{padding:22px}.course-hero h1{font-size:2.2rem}.profile-intro h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{html{scroll-behavior:auto}.site-header{position:static;backdrop-filter:none}.menu-toggle,.header-nav,.hero-actions,.filters,.footer-link,.skip-link{display:none!important}.wrap{width:100%}.home-hero{padding:20px 0}.home-hero h1{font-size:3rem}.hero-facts{margin-top:20px}.section{padding-block:25px}.section-heading h2{font-size:2rem}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{break-inside:avoid;border:1px solid #ccc}.course-card h3,.course-excerpt{min-height:0}.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-card{break-inside:avoid}.teacher-card h3{font-size:1.25rem}.teacher-card-summary,.teacher-card-role{min-height:0}.profile-hero{gap:30px;padding:30px 0}.profile-intro h1{font-size:2.5rem}.profile-story aside,.course-sidebar{position:static}.profile-story,.course-layout{gap:30px;padding-block:25px}.profile-story{grid-template-columns:1fr}.profile-photo{max-height:460px}.course-hero{padding-block:25px}.course-hero h1{font-size:2.5rem}.course-layout{grid-template-columns:1.5fr 1fr}.course-sidebar{background:#f2f2f2}.course-facts>div{grid-template-columns:1fr}.text-link{color:#333}.site-footer{padding-block:15px}}

/* Shared card interactions: one link covers every card, including its padding. */
.interactive-card {
  cursor:pointer;
  transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease;
  -webkit-tap-highlight-color:rgba(0,113,227,.08);
}
.teacher-card {
  display:flex;flex-direction:column;overflow:hidden;background:#fff;
  border:1px solid #e8e8ed;border-radius:24px;
}
.teacher-card .teacher-card-image {border-radius:0;flex-shrink:0;}
.teacher-card .teacher-card-copy {padding:26px;display:flex;flex:1;flex-direction:column;}
.teacher-card-copy .text-link {margin-top:auto;}
.card-arrow {display:inline-block;margin-left:5px;transition:transform 220ms ease;}
.interactive-card:focus-visible {border-radius:24px;box-shadow:0 14px 36px #1d1d1f14;}
@media (hover:hover) and (pointer:fine) {
  .interactive-card:hover {transform:translateY(-6px);border-color:#bfc6d0;box-shadow:0 18px 42px #1d1d1f16;}
  .interactive-card:hover .card-arrow {transform:translate(2px,-2px);}
}
.interactive-card:active {transform:scale(.985);box-shadow:0 5px 16px #1d1d1f10;}
.instructor-chip {padding:12px;background:#fff;border:1px solid #e8e8ed;border-radius:16px;}
.instructor-chip+.instructor-chip {margin-top:10px;}
.instructor-chip .card-arrow {margin-left:auto;color:#6e6e77;}
.instructor-chip:focus-visible {border-radius:16px;}
.instructor-guest {cursor:default;}
.instructor-guest:hover span {color:inherit;}
.guest-avatar {width:43px;height:43px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.guest-avatar .portrait {object-position:50% 0;transform:scale(2.4);transform-origin:25% 13%;border-radius:0;}
.consultation-button {width:100%;margin-top:24px;}
.pricing-jump {display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;font-size:.9375rem;}

.contact-section {background:#fff;padding:72px 0;}
.contact-inner {display:flex;align-items:center;justify-content:space-between;gap:60px;max-width:940px;}
.contact-copy h2 {font-size:2.5rem;line-height:1.3;margin:16px 0 21px;}
.contact-copy>p:last-of-type {color:var(--muted);font-size:1rem;line-height:1.85;}
.qr-download {display:inline-flex;gap:8px;align-items:center;min-height:44px;margin-top:17px;}
.contact-qr {margin:0;flex:0 0 290px;text-align:center;}
.contact-qr img {width:236px;height:auto;aspect-ratio:1;object-fit:contain;margin:auto;}
.contact-qr figcaption {font-size:.8125rem;line-height:1.7;color:var(--muted);margin-top:14px;}

/* Tablet: keep both portrait cards and navigation comfortably readable. */
@media (min-width:641px) and (max-width:950px) {
  .header-inner {gap:20px;}
  .header-nav {gap:20px;}
  .teacher-card .teacher-card-copy {padding:20px;}
  .teacher-grid {gap:16px;}
  .teacher-card h3 {font-size:1.35rem;}
  .teacher-card-role {min-height:4.4rem;}
  .teacher-card-summary {font-size:.9375rem;}
  .contact-inner {gap:35px;}
  .contact-copy h2 {font-size:2.2rem;}
}
@media (max-width:760px) {
  .header-nav {gap:13px;}
  .header-nav a {font-size:.8125rem;}
  .header-nav a:last-child {padding:7px 12px;}
  .course-layout {grid-template-columns: minmax(0,1fr) 260px;gap:24px;}
}
/* Phone: one-column cards, touch-sized controls, fluid type and an uncropped QR. */
@media (max-width:640px) {
  html {scroll-padding-top:84px;}
  body {overflow-wrap:break-word;}
  .header-inner {padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top));}
  .header-nav {top:calc(67px + env(safe-area-inset-top));max-height:calc(100dvh - 68px - env(safe-area-inset-top));overflow-y:auto;}
  .header-nav a,.header-nav a:last-child {font-size:1rem;min-height:48px;padding:12px 0;}
  .menu-toggle {min-width:48px;min-height:44px;}
  .hero-facts {flex-wrap:wrap;row-gap:12px;}
  .hero-facts span {padding-inline:11px;white-space:nowrap;}
  .teacher-grid {gap:24px;}
  .teacher-card {border-radius:20px;}
  .teacher-card .teacher-card-copy {padding:24px;}
  .teacher-card-copy .text-link {margin-top:0;}
  .interactive-card:focus-visible {border-radius:20px;}
  .filter {min-height:44px;}
  .filters {gap:8px;}
  .course-card .course-excerpt {line-height:1.85;}
  .course-mini-meta span,.course-price-note {overflow-wrap:anywhere;}
  .breadcrumb {font-size:.8125rem;column-gap:8px;}
  .breadcrumb a {padding-block:6px;}
  .course-hero h1 {font-size:clamp(2rem,8.8vw,2.5rem);}
  .syllabus p {overflow-wrap:anywhere;}
  .pricing-options>div {grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;}
  .pricing-options h3 {font-size:.9375rem;}
  .pricing-options strong {white-space:nowrap;font-variant-numeric:tabular-nums;}
  .contact-section {padding:48px 0 42px;}
  .contact-inner {flex-direction:column;align-items:center;gap:24px;text-align:center;}
  .contact-copy h2 {font-size:2rem;margin-bottom:18px;}
  .contact-copy {width:100%;}
  .contact-qr {flex:0 1 auto;width:100%;}
  .contact-qr img {width:min(250px,100%);}
  .contact-qr figcaption {font-size:.8125rem;}
  .qr-download {margin-top:12px;}
  .footer-link {display:inline-flex;align-items:center;min-height:44px;}
  .site-footer {padding-bottom:calc(28px + env(safe-area-inset-bottom));}
}
@media (prefers-reduced-motion:reduce) {
  .interactive-card,.card-arrow {transition:none!important;}
  .interactive-card:hover,.interactive-card:active,.interactive-card:hover .card-arrow {transform:none;}
}
@media print {
  .interactive-card {transform:none!important;box-shadow:none!important;}
  .contact-section {padding-block:25px;break-inside:avoid;}
  .contact-inner {gap:30px;}
  .contact-copy h2 {font-size:1.75rem;}
  .contact-qr img {width:160px;}
  .consultation-button,.qr-download {display:none;}
}
