/* Incremental polish. Keep the approved pink artwork, copy and desktop composition. */
:root{--phone-gutter:18px;--surface-radius:20px;--surface-border:#f3d4e2;--text-secondary:#435a7b;--entry-duration:420ms;--header-offset:96px}
html{scroll-padding-top:var(--header-offset);-webkit-text-size-adjust:100%;text-size-adjust:100%}
.skip-link{position:fixed;left:16px;top:10px;z-index:100;background:#0a1c50;color:#fff;padding:13px 20px;border-radius:10px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
main:focus{outline:0}
button,a,summary{-webkit-tap-highlight-color:#ed09651a;touch-action:manipulation}
.cta{background-color:#df005b;transition:transform .18s ease,box-shadow .18s ease}
.cta:active{transform:translateY(2px)}
.soft-enter{animation:soft-entry var(--entry-duration) cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--entry-delay,0ms)}
@keyframes soft-entry{from{opacity:.75;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* Hidden slides reserve the same grid cell, preventing a page jump at each auto transition. */
.review-stage{display:grid;touch-action:pan-y pinch-zoom}
.evidence-reviews .review-slide{grid-area:1/1;min-width:0}
.evidence-reviews .review-stage .review-slide[hidden]{display:grid;visibility:hidden;pointer-events:none}
.review-stage .review-slide[hidden] *{pointer-events:none}
.evidence-reviews .review-slide:not([hidden]){animation:case-entry .3s ease both}
@keyframes case-entry{from{opacity:.75;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
.evidence-reviews .carousel-controls button{min-width:44px;min-height:44px}
.review-case-tabs button{min-height:48px}
.dialog-close{width:44px;height:44px}
dialog{overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
@media(hover:hover) and (pointer:fine){
 .resource-grid>article{transition:box-shadow .22s ease,border-color .22s ease}
 .resource-grid>article:hover{border-color:#e5a6c3;box-shadow:0 10px 30px #b9275814}
}
@media(max-width:760px){
 :root{--header-offset:124px}
 .container{width:calc(100% - var(--phone-gutter)*2)}
 .site-header{height:auto;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px;padding:9px 14px 0;background:#fff4f9f5;backdrop-filter:blur(10px)}
 .site-header .brand{grid-column:1;grid-row:1}.site-header>.cta{grid-column:2;grid-row:1;justify-self:end}
 .site-header .cta.small{min-height:44px;font-size:13px;padding:12px 13px;gap:4px;white-space:nowrap}
 .site-header .brand img{width:116px!important}
 .site-header nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;min-width:0;border-top:1px solid #f5dce7}
 .site-header nav a{display:grid;place-items:center;text-align:center;min-height:44px;font-size:12px;line-height:1.3;padding:5px 1px;color:#34466b}
 .site-header nav a[aria-current=location]{color:#cf0757;box-shadow:inset 0 -2px #ed0965}
 .section{padding-block:38px}.section-heading{margin-bottom:24px}
 .section-heading h2,.mobile-template-heading{font-size:clamp(26px,6.8vw,31px);line-height:1.4;letter-spacing:-.035em}
 .section-heading p{font-size:16px;line-height:1.8;color:var(--text-secondary)}
 .eyebrow{font-size:12px;letter-spacing:.09em}
 .mobile-hero{padding-top:21px}.mobile-hero-line{font-size:17px}.mobile-hero-promise{font-size:16px}
 .mobile-hero-benefits p{font-size:13px;line-height:1.75}.mobile-hero-benefits{gap:10px}
 .video-grid{gap:18px}.video-card{border-radius:var(--surface-radius);overflow:hidden;box-shadow:0 8px 24px #b2255810}
 .video-title{padding:13px 16px}.video-title b{font-size:23px}.video-title span{font-size:13px}
 .video-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
 /* Portrait and credentials get independent rows so Chinese copy can use the full phone width. */
 .mobile-teacher{padding:34px 0 12px}
 .mobile-teacher-sub{font-size:16px;line-height:1.75;margin-bottom:8px}
 .mobile-teacher-layout{grid-template-columns:1fr;gap:0}
 .mobile-teacher-photo{width:100%;height:245px;margin:0;background-image:url('assets/teacher-cutout.png');background-size:auto 330px;background-position:center 3%;mask-image:linear-gradient(to bottom,#000 88%,transparent)}
 .mobile-teacher-credentials{gap:12px;position:relative;margin-top:-12px}
 .mobile-teacher-credentials article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:5px 12px;padding:19px;border-radius:var(--surface-radius);border-color:var(--surface-border);box-shadow:0 7px 25px #b2255808}
 .mobile-teacher-credentials svg{grid-row:1/3;width:48px;height:48px;margin:0}
 .mobile-teacher-credentials h3{grid-column:2;font-size:19px;line-height:1.45;margin:0 0 4px;overflow-wrap:normal}
 .mobile-teacher-credentials h3 br{display:none}
 .mobile-teacher-credentials p{grid-column:2;font-size:16px;line-height:1.8;margin:0;color:var(--text-secondary)}
 .evidence-reviews{padding-block:34px}.evidence-reviews .section-heading{margin-bottom:22px}
 .evidence-reviews .review-slide{min-height:0;padding:22px 19px;gap:18px;grid-template-rows:auto 1fr;align-content:stretch}
 .evidence-reviews .review-copy h3{font-size:28px;line-height:1.35}
 .evidence-reviews .review-copy blockquote{font-size:18px;line-height:1.75}
 .evidence-reviews .case-context{font-size:15px;line-height:1.75}
 .evidence-reviews .review-name{font-size:14px}.evidence-reviews .review-name span{font-size:12px}
 .evidence-reviews .review-image img,.evidence-reviews .review-image .review-privacy>img{max-height:140px}
 .review-source{padding:12px;justify-content:center;height:246px;min-height:246px}
 .source-label{font-size:11px}.evidence-reviews .review-image>span:last-child{font-size:13px}
 .review-case-tabs button{font-size:14px;min-height:60px}.review-case-tabs button span{font-size:11px}
 .evidence-reviews .carousel-controls{padding:12px 14px}.evidence-reviews .carousel-controls .pause{font-size:13px;padding:0 14px}
 .review-support>article{padding:20px}.review-support blockquote{font-size:16px}
 .review-support .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 .fine-print{font-size:13px;line-height:1.8;color:#5b6e88}
 .mobile-method-card p,.mobile-method-card strong{font-size:16px}.mobile-method-card{gap:12px}
 .mobile-package-cards article{padding:20px 12px;border-radius:var(--surface-radius)}
 .mobile-package-cards h3{font-size:18px;line-height:1.5;overflow-wrap:normal}
 .mobile-package-cards p{font-size:16px;line-height:1.75}
 .resource-grid h3{font-size:21px;line-height:1.5}.resource-grid p{font-size:16px;line-height:1.8;color:var(--text-secondary)}
 .resource-grid .text-link,.schedule-card .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
 .resource-grid>article{border-radius:var(--surface-radius)}
 .subject p{font-size:15px;line-height:1.8}.subject h4{font-size:18px}.schedule-card{padding:24px 20px}
 .subject{padding:18px 15px}.schedule-card>header>.course-start{font-size:15px}
 .results-gallery.clear-results span{font-size:15px;padding:4px 8px}.results-gallery.clear-results button{border-radius:var(--surface-radius)}
 .center-cta .cta,.final-cta .cta{min-height:54px;justify-content:center}
 .faq-grid summary{min-height:58px;font-size:17px;line-height:1.6;align-items:center}
 .faq-grid details p{font-size:16px;color:var(--text-secondary)}
 dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:15px;border-radius:18px;box-sizing:border-box}
 .dialog-content .review-privacy{width:100%;max-width:100%!important}
 .dialog-content>img{width:100%;height:auto;max-height:none;max-width:100%;object-fit:contain}
 .dialog-content video{width:100%;max-width:100%;max-height:72dvh}
 .poster-only{width:100%;max-width:100%}
 .organ-hotspot{width:44px;height:44px;font-size:15px}.organ-list button{min-height:44px}
}
@media(min-width:761px) and (max-width:1024px){
 .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .resource-grid h3{font-size:20px}.resource-grid p{font-size:16px}.resource-grid .text-link{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:520px){
 .resource-grid{grid-template-columns:1fr;gap:18px}
 .resource-grid>article,.resource-grid article:last-child{display:block;padding:10px 10px 22px}
 .resource-visual{height:auto;aspect-ratio:4/3}.resource-visual img{object-fit:contain;background:#fff}
 .resource-visual.lab-art{aspect-ratio:4/5;max-height:460px}.resource-visual.game-art{aspect-ratio:4/3}
 .resource-visual.game-art img{object-fit:cover;object-position:center 38%}
 .resource-grid h3,.resource-grid p,.resource-grid .text-link{margin-left:9px;margin-right:9px}
}
@media(max-width:360px){
 :root{--phone-gutter:16px}
 .site-header{padding-inline:12px;column-gap:5px}.site-header .brand img{width:104px!important}
 .site-header .cta.small{font-size:12px;padding-inline:10px;gap:2px}
 .mobile-teacher-credentials article{grid-template-columns:40px minmax(0,1fr);gap:6px 10px;padding:16px}
 .mobile-teacher-credentials svg{width:40px;height:43px}.mobile-teacher-credentials h3{font-size:18px}
 .mobile-package-cards article{padding-inline:10px}.mobile-package-cards h3{font-size:17px}.mobile-package-cards p{font-size:15px}
 .evidence-reviews .review-slide{padding-inline:15px}.evidence-reviews .review-copy h3{font-size:25px}
 .subject p{font-size:14px}.schedule-card{padding:22px 17px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .soft-enter,.evidence-reviews .review-slide:not([hidden]){animation:none}
 .cta,.resource-grid>article,.review-case-tabs button{transition:none}
}
