/* Design tokens: update typography, palette and spacing here. */
:root{--font:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;--ink:#142743;--navy:#101827;--blue:#245fe5;--sky:#91d5ff;--muted:#596a7f;--line:#d9e2ee;--light:#f3f6fa;--width:1160px;--form-width:600px;--gutter:clamp(20px,5vw,76px);--section-space:clamp(58px,7.5vw,106px);--heading:clamp(28px,3.2vw,44px);--body:16px;--radius:6px;--weight-title:600;--weight-body:400}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:white;color:var(--ink);font-family:var(--font);font-size:var(--body);font-weight:var(--weight-body);line-height:1.75;word-break:keep-all;overflow-wrap:break-word;font-synthesis:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:var(--weight-title);letter-spacing:-.045em;line-height:1.4}h2{font-size:var(--heading)}h3{font-size:23px}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ca8714;outline-offset:4px}strong{font-weight:600}.accent{color:var(--blue)}.section{padding:var(--section-space) var(--gutter);text-align:center}.description{font-size:18px;color:var(--muted);line-height:1.85;margin-top:22px}.description strong{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;min-height:54px;padding:15px 25px;border:0;border-radius:var(--radius);background:var(--blue);color:#fff;text-decoration:none;font-size:16px;font-weight:600;cursor:pointer;transition:background .16s,transform .16s}.button:hover{background:#184abb;transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.6;cursor:wait}.button span{font-size:22px;line-height:1}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:20}.skip-link:focus{top:10px}[hidden]{display:none!important}
/* Hero: text and CTA always present; the approved still is the motion fallback. */
.header{background:var(--navy);color:#fff;padding:21px var(--gutter) 10px}.brand{display:block;width:max-content;text-decoration:none;font-size:23px;font-weight:800;line-height:1.2;letter-spacing:-.8px}.brand-korean{display:block;font-size:10px;letter-spacing:2px;font-weight:400;margin-top:5px;color:#bdc9dc}.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);grid-template-rows:auto auto;column-gap:3%;row-gap:22px;background:var(--navy);color:white;padding-top:28px;padding-bottom:48px;text-align:left;align-items:center}.hero-copy{grid-column:1;grid-row:1;min-width:0}.hero-intro{display:block;font-size:clamp(23px,2.05vw,31px);font-weight:400;margin-bottom:16px}.hero-main{display:block;font-size:clamp(40px,4.2vw,64px);line-height:1.2;letter-spacing:-.06em}.hero .accent{color:var(--sky);white-space:nowrap}.hero .description{font-size:17px;margin-top:22px;color:#c5cfdd}.hero .description strong{color:white}.brand-scene{grid-column:2;grid-row:1/3;min-width:0;align-self:center}.brand-scene img{width:100%;height:auto;display:block;aspect-ratio:2048/1360;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in}.hero-conversion{grid-column:1;grid-row:2;align-self:start}.hero-offer{font-size:14px;margin-bottom:17px}.hero-offer strong{color:var(--sky)}.ebook-line{font-size:13px;color:#bdc9da;margin-top:3px}
/* A short pause before the wider comparison. */
.empathy{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;gap:30px;padding-top:47px;padding-bottom:47px;max-width:1440px;margin:auto}.empathy h2{font-size:25px;line-height:1.6;font-weight:400}.question{font-size:21px;line-height:1.7}.question strong{font-size:25px;font-weight:600}.conflict-chart{position:relative;min-width:0}.chart svg{display:block;width:100%;height:auto}.bubble{position:absolute;background:white;border:1px solid var(--line);padding:4px 13px;font-size:12px;border-radius:3px}.buy{left:14%;top:1%;color:#b83543}.wait{right:8%;bottom:4%;color:#2458bd}
.difference{background:#f1f5fb}.difference .comparison{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:22px;align-items:center;max-width:var(--width);margin:43px auto 0}.comparison figure{min-width:0;padding:20px 0;border-top:1px solid #bdcbe0;border-bottom:1px solid #bdcbe0}.chart-label{text-align:left;font-size:13px;color:var(--muted);margin-bottom:22px}.clear-chart .chart-label{color:var(--blue);font-weight:600}.comparison-arrow{font-size:27px;color:#7087a7}.indicator-layer path{transition:opacity 1s ease}.clear-chart.is-clean .indicator-layer path{opacity:0}.clear-chart.is-clean .indicator-layer path:nth-child(2){transition-delay:.15s}.clear-chart.is-clean .indicator-layer path:nth-child(3){transition-delay:.3s}.clear-chart.is-clean .indicator-layer path:nth-child(4){transition-delay:.45s}
/* Real lecture: single wide player, with explicit user playback. */
.preview{background:white;padding-bottom:60px}.lecture-player{max-width:1000px;margin:35px auto 0;position:relative;background:#101827;border:1px solid #d4deec;border-radius:var(--radius);overflow:hidden}.lecture-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.lecture-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:1px solid #ffffff90;border-radius:50%;background:#194cce;color:white;font-size:27px;cursor:pointer;box-shadow:0 3px 14px #0002}.lecture-start:hover{background:#163da7}.lecture-message{font-size:13px;color:var(--muted);margin:12px auto 0}
.curriculum-section{padding-top:20px;background:white}.curriculum-section h2{font-size:clamp(26px,2.8vw,38px)}.learning-steps{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:38px auto 0;text-align:left;gap:65px}.learning-step{border-top:2px solid var(--blue);padding:23px 0 0}.course-label{font-size:13px;letter-spacing:.02em;color:var(--blue);margin-bottom:12px}.learning-step h3{font-size:22px;margin-bottom:13px}.learning-step>p:last-child{font-size:15px;color:var(--muted);line-height:1.9}
/* Original supplied artwork; no invented cover or recreated mockup. */
.benefits.section{padding:0 0 var(--section-space);background:#f3f7fc}.benefit-artwork{container-type:inline-size;max-width:1100px;margin:auto;isolation:isolate}.benefit-heading{position:relative;z-index:1;min-height:40cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 22px 30px}.benefit-heading h2{font-size:clamp(28px,4cqw,44px)}.benefit-copy{margin-top:22px;font-size:clamp(17px,2cqw,22px);line-height:1.6}.benefit-copy .selection-note{font-size:14px;color:var(--blue);font-weight:600;margin-bottom:8px}.benefit-copy>span{display:block;font-size:18px;line-height:1.5}.benefit-copy strong{color:var(--blue)}.benefit-copy .benefit-ebook{font-size:clamp(15px,1.8cqw,19px)}.benefit-original{width:100%;height:auto;display:block;margin-top:-40cqw;position:relative;z-index:0}.benefit-original.is-revealed{animation:art-in .7s ease both}@keyframes art-in{from{translate:0 12px}to{translate:0 0}}.operations{max-width:900px;margin:30px auto 0;width:calc(100% - 2*var(--gutter));text-align:left;border-top:1px solid #cbd7e6}.operations>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;padding:22px 0;border-bottom:1px solid #cbd7e6;font-size:14px;line-height:1.9}.operations dt{font-weight:600}.operations dd{margin:0;min-width:0;color:var(--muted)}
/* Stable application layout: no entrances, transforms or animated field sizing. */
.application{background:#edf3fc}.application h2{font-size:clamp(28px,3.1vw,42px)}.application-offer{margin-top:20px;font-size:16px;color:var(--blue)}.application-ebook{display:block;font-size:14px;color:var(--muted);margin-top:4px}form{width:100%;max-width:var(--form-width);margin:35px auto 0;text-align:left}.application-selection{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:28px}.field{padding:0;margin:0 0 24px;min-width:0;border:0}.field>label,.field legend{display:block;margin-bottom:9px;font-size:14px;font-weight:600}.field>label>span,.field legend>span{font-size:12px;font-weight:400;color:var(--muted)}.field>input,.field>select,.field textarea{display:block;width:100%;padding:13px 15px;min-height:52px;border:1px solid #b4c5dd;border-radius:5px;background:white;color:var(--ink);font-size:16px}.field textarea{resize:vertical;min-height:110px}input::placeholder{color:#738196}input[type=radio],input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue);margin:0}.difficulty{margin-top:30px}.difficulty>label{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;margin:0 0 8px;background:#ffffff90;border:1px solid #c6d3e5;border-radius:5px;cursor:pointer;font-weight:400}.difficulty>label input{margin-top:3px}.difficulty>label>span{font-size:14px;color:var(--ink);line-height:1.65}.difficulty>label:has(input:checked){border-color:var(--blue);background:#e3edff}.other-field{margin-top:18px}.caption{font-size:13px;color:var(--muted);line-height:1.7;margin:5px 0}.error{font-size:13px;color:#a92339;margin-top:6px;line-height:1.65}.error:empty{display:none}[aria-invalid=true]{border-color:#a92339!important}.form-guidance{width:100%;margin-top:28px;text-align:left;font-size:14px;line-height:1.6;color:var(--muted)}.preview-notice{margin-bottom:20px}.consents{border-top:1px solid #bdcde2;padding-top:20px}.consent-note{margin-bottom:15px;overflow-wrap:anywhere;word-break:normal}.consent-note a{text-underline-offset:3px}.consent-note summary{cursor:pointer;color:var(--ink);padding-bottom:10px;font-weight:600}.consent-approved{white-space:pre-wrap;font-size:14px;line-height:1.6;word-break:normal;overflow-wrap:anywhere}.check-label{display:flex;align-items:flex-start;gap:11px;padding:10px 0;font-size:14px;line-height:1.65;cursor:pointer}.check-label input{margin-top:3px}.form-status:not(:empty){font-size:14px;padding:15px;background:white;border:1px solid #bdcde2;margin-top:20px}.application-success{padding:20px;background:#f3fcf7;border:1px solid #8cb29c;margin-top:20px;font-size:15px}.application-success p{margin-top:8px}form .button{width:100%;margin-top:25px}form .button:hover,form .button:active{transform:none}.site-footer{padding:36px var(--gutter);background:#f9fafc;color:var(--muted);font-size:12px;line-height:1.9;word-break:normal;overflow-wrap:anywhere}.footer-brand{display:block;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:12px}.site-footer p+p{margin-top:9px}.site-footer>a{display:inline-block;margin-top:15px;text-underline-offset:4px}
@media(min-width:1600px){.hero{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.hero-main{font-size:clamp(30px,4.4vw,44px)}.hero{column-gap:2%}.empathy{gap:20px}.empathy h2{font-size:22px}.question strong{font-size:22px}.learning-steps{gap:35px}}
@media(max-width:760px){.header{padding-top:18px;padding-bottom:4px}.hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:16px;padding-top:19px;padding-bottom:32px;text-align:center}.hero-copy{grid-column:1;grid-row:1}.hero-intro{font-size:23px;margin-bottom:11px}.hero-main{font-size:43px;line-height:1.2}.hero .description{font-size:15px;line-height:1.75;margin-top:15px}.brand-scene{grid-column:1;grid-row:2;width:100%;max-width:580px;justify-self:center}.hero-conversion{grid-column:1;grid-row:3}.hero-offer{font-size:13px;margin-bottom:13px}.ebook-line{font-size:12px}.hero .button{width:min(100%,340px)}.empathy{grid-template-columns:1fr 1fr;gap:18px;padding-top:36px;padding-bottom:36px}.conflict-chart{grid-column:1/3;grid-row:2;width:min(350px,100%);justify-self:center}.empathy h2{font-size:21px}.question{font-size:18px}.question strong{font-size:21px}.description{font-size:16px}.difference .comparison{grid-template-columns:1fr;gap:13px;margin-top:28px;max-width:580px}.comparison figure{padding:16px 0}.chart-label{margin-bottom:10px;font-size:12px}.comparison-arrow{transform:rotate(90deg);font-size:23px;line-height:1}.preview{padding-bottom:45px}.lecture-player{margin-top:26px}.lecture-start{width:55px;height:55px;font-size:22px}.learning-steps{grid-template-columns:1fr;gap:30px;margin-top:28px}.learning-step h3{font-size:21px}.learning-step>p:last-child{font-size:14px}.benefit-heading{padding-top:38px;padding-bottom:26px}.benefit-copy{margin-top:18px}.operations>div{grid-template-columns:1fr;gap:6px;font-size:14px;padding:18px 0}.operations{margin-top:24px}.application-offer{font-size:14px}.application-ebook{font-size:13px}form{margin-top:27px}.site-footer{font-size:11px}}
@media(max-width:400px){.hero-intro{font-size:21px}.hero-main{font-size:37px}.hero .description{font-size:14px}.hero .button{min-height:52px;font-size:15px}.brand{font-size:21px}.empathy{grid-template-columns:1fr}.empathy .question{grid-row:3}.conflict-chart{grid-column:1;grid-row:2}.benefit-heading h2{font-size:27px}.benefit-copy .benefit-ebook{font-size:14px}}
.motion-scene{position:relative}.motion-surface{position:relative;aspect-ratio:1088/720;background:var(--navy);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}.brand-scene .motion-poster{aspect-ratio:1088/720;mask-image:none;-webkit-mask-image:none}.hero-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}.is-playing .hero-motion{opacity:1}.hero-chart{position:absolute;left:51%;top:23%;width:46%;height:56%;display:flex;align-items:center}.hero-chart svg{width:100%;height:100%;overflow:visible}.hero-chart svg>line{stroke:#42536d;opacity:.4}.hero-chart svg g{filter:none}
/* Independent pure-black section, no gradient from the navy hero. */
.empathy{max-width:none;background:#000000;color:#e5ecf7;padding-top:90px;padding-bottom:96px;grid-template-columns:1fr 1fr 1.25fr;gap:36px}
.empathy h2{color:#b8c5d8}.empathy .question{font-size:18px;line-height:1.55;text-align:left}.empathy .question strong{display:inline-block;font-size:clamp(31px,3vw,43px);color:var(--sky);line-height:1.45;letter-spacing:-.05em}.empathy .bubble{background:#1b2940;border-color:#41536e}.empathy .buy{color:#ff919d}.empathy .wait{color:#99c7ff}
/* Keep the original art undistorted while awaiting a genuine wider background asset. */
.benefits.section{background:#f3f7fc}.benefit-artwork{max-width:980px;width:calc(100% - 48px)}.benefit-original{mask-image:none;-webkit-mask-image:none}
.learning-steps{grid-template-rows:auto auto auto;column-gap:60px;row-gap:0}.learning-step{display:grid;grid-template-rows:subgrid;grid-row:span 3}.learning-step h3{margin-bottom:18px}.learning-step>p:last-child{padding-bottom:8px}
@media(max-width:760px){.empathy{grid-template-columns:1fr;gap:26px;padding-top:62px;padding-bottom:68px}.empathy .conflict-chart{grid-column:1;grid-row:2}.empathy .question{grid-row:3;text-align:center;font-size:17px}.empathy .question strong{font-size:34px}.benefit-artwork{width:calc(100% - 24px)}.learning-steps{grid-template-rows:none;row-gap:32px}.learning-step{display:block;grid-row:auto}.learning-step h3{font-size:20px}.curriculum-section h2{font-size:clamp(25px,4.2vw,32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.clear-chart .indicator-layer path{opacity:0!important}}

/* Stronger question hierarchy. Keep words intact at every viewport width. */
.hero{grid-template-columns:minmax(0,1.12fr) minmax(0,1.13fr)}
.hero-main{font-size:clamp(48px,4.95vw,75px);font-weight:800;line-height:1.19;letter-spacing:-.055em;color:var(--sky)}
.hero-phrase{display:block;white-space:nowrap}
.empathy{display:block;background:#000000;padding-top:90px;padding-bottom:96px;text-align:center}
.empathy .empathy-question{color:var(--sky);font-size:inherit;line-height:1.25}
.empathy-question>span{display:block;font-size:19px;font-weight:400;color:#c0c9d7;letter-spacing:0;margin-bottom:18px}
.empathy-question>strong{display:block;font-size:clamp(38px,4.6vw,66px);font-weight:800;letter-spacing:-.055em}
.empathy-support{display:grid;grid-template-columns:auto minmax(0,350px);gap:46px;align-items:center;max-width:760px;margin:42px auto 0;text-align:left}
.empathy-support>p{font-size:21px;line-height:1.8;color:#b8c5d8}
.empathy .conflict-chart{grid-column:auto;grid-row:auto;width:100%;min-width:0}
@media(max-width:1000px) and (min-width:761px){.hero-main{font-size:clamp(40px,5.2vw,52px)}}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}.hero-main{font-size:51px}.hero-phrase{white-space:normal;word-break:keep-all}.empathy{padding-top:65px;padding-bottom:70px}.empathy-question>span{font-size:17px;margin-bottom:14px}.empathy-question>strong{font-size:clamp(35px,7.8vw,49px)}.empathy-support{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:30px;text-align:center;max-width:350px}.empathy-support>p{font-size:19px}.empathy .conflict-chart{grid-row:auto;grid-column:auto}}
@media(max-width:400px){.hero-main{font-size:43px}.empathy-question>strong{font-size:35px}}
/* One continuous background, original product pixels in a separate SVG layer. */
.benefit-scene{width:100%;background:#eff5fa url('assets/benefit-background-web.jpg') center bottom/cover no-repeat;padding:0 0 64px}
.benefit-scene .benefit-artwork{width:calc(100% - 48px);max-width:980px;container-type:inline-size}
.benefit-scene .benefit-heading{min-height:0;padding:70px 16px 32px}
.benefit-products{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 13px 12px #19395920)}
.benefit-products.is-revealed{animation:art-in .7s ease both}
@media(max-width:760px){.benefit-scene{padding-bottom:38px;background-position:center bottom}.benefit-scene .benefit-artwork{width:calc(100% - 24px)}.benefit-scene .benefit-heading{padding:46px 4px 28px}.benefit-products{filter:drop-shadow(0 6px 6px #19395920)}}
/* Hero candle remains separate from the exact comparison charts. */
.hero-chart{left:53%;top:15%;width:37%;height:74%;opacity:1}
.is-playing:not(.candle-settled) .hero-chart{opacity:.7}
.hero-chart{transition:opacity .35s ease}
.hero-chart svg{width:100%;height:100%}
.student-stories{background:#fff}.stories-context{max-width:780px;margin:20px auto 38px;color:var(--muted);font-size:14px;line-height:1.8}.stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:var(--width);margin:34px auto 0;text-align:left;align-items:start}.student-story{background:#f4f5f7;border:0;border-radius:7px;padding:28px;min-width:0;box-shadow:none}.student-story blockquote{margin:0;font-size:18px;font-weight:400;line-height:1.85;letter-spacing:-.025em}.review-attribution{margin:20px 0 10px}.review-course{font-size:12px;line-height:1.7;color:var(--muted);margin-top:5px}.review-byline{margin:0;font-size:14px;color:var(--ink)}.student-story summary{cursor:pointer;font-size:14px;color:var(--blue);padding:10px 0}.review-original{white-space:pre-line;margin:12px 0 16px;font-size:14px;line-height:1.9;color:var(--muted)}.student-story a,.record-item a{font-size:13px;color:var(--blue);text-underline-offset:4px}.shared-records{background:#f4f6fa}.records-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;max-width:1000px;margin:auto;text-align:left}.record-image-button{width:100%;height:300px;padding:18px 18px 42px;position:relative;background:white;border:1px solid var(--line);cursor:zoom-in}.record-image-button img{display:block;width:100%;height:100%;object-fit:contain}.record-image-button span{position:absolute;bottom:12px;right:18px;font-size:12px;color:var(--muted)}.record-item figcaption{padding-top:18px;font-size:15px}.record-item figcaption p{font-size:13px;color:var(--muted);margin:6px 0 12px}.record-disclaimer{font-size:14px;color:var(--muted);margin:32px auto 0}#record-viewer{width:min(1000px,94vw);max-height:92dvh;border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff;color:var(--ink)}#record-viewer::backdrop{background:#071321d9}.record-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-20px;background:white;padding:10px 0;z-index:1}.record-viewer-top h2{font-size:18px}.record-close{border:1px solid #8191a7;border-radius:4px;background:white;min-height:44px;padding:8px 18px;cursor:pointer}#record-viewer>img{display:block;width:auto;max-width:100%;height:auto;margin:15px auto}#record-viewer>p{font-size:13px;color:var(--muted);margin-top:18px}
@media(max-width:760px){.stories-grid,.records-grid{grid-template-columns:1fr;gap:34px}.student-story{padding:24px}.student-story blockquote{font-size:18px}.stories-context{font-size:13px}.record-image-button{height:290px}.record-disclaimer{font-size:13px}#record-viewer{padding:14px}.record-viewer-top{top:-14px}.record-viewer-top h2{font-size:16px}}.motion-panel-lines{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.is-playing .motion-panel-lines{display:block}
/* Review carousel: equal-height excerpts, fixed byline/footer rows, native touch scrolling. */
.review-carousel{max-width:var(--width);margin:28px auto 0}
.review-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:18px}
.review-controls button,.review-original-button,[data-review-close]{font-family:var(--font);font-size:14px;cursor:pointer;color:var(--ink);background:transparent;border:1px solid #c5ced9;border-radius:5px;min-height:44px;padding:9px 14px}
.review-controls button:disabled{opacity:.45;cursor:default}
.review-position{font-size:14px;font-variant-numeric:tabular-nums;min-width:70px}
.review-carousel .stories-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 44px)/3);align-items:stretch;gap:22px;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;margin:0;padding:5px 0 10px;overscroll-behavior-x:contain}
.review-carousel .stories-grid::-webkit-scrollbar{display:none}
.review-carousel .student-story{display:grid;grid-template-rows:1fr auto auto;gap:16px;padding:28px;background:#f4f5f7;border:0;border-radius:7px;scroll-snap-align:start;min-width:0;box-shadow:none}
.review-carousel .student-story blockquote{font-family:var(--font);font-size:18px;font-weight:400;line-height:1.85;margin:0;min-height:0}
.review-carousel .student-story blockquote strong{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:700}
.review-carousel .review-byline{margin:0;font-size:14px;font-weight:400}
.review-carousel .review-original-button{justify-self:start;padding:0;border:0;color:var(--blue);text-align:left}
.review-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#review-viewer{width:min(680px,94vw);max-height:88dvh;border:1px solid var(--line);border-radius:7px;padding:24px;color:var(--ink);background:#fff;text-align:left}
#review-viewer::backdrop{background:#071321c9}
.review-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:-24px;background:white;padding:8px 0 16px}
.review-viewer-header h2{font-size:21px}.review-viewer-body a{color:var(--blue);font-size:14px}
@media(max-width:1000px){.review-carousel .stories-grid{grid-auto-columns:calc((100% - 22px)/2)}}
@media(max-width:600px){.review-carousel .stories-grid{grid-auto-columns:86%}.review-carousel .student-story{padding:24px}.review-controls{gap:8px;justify-content:center}.review-controls button{padding:9px 11px;font-size:13px}.review-position{min-width:58px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.review-carousel .stories-grid{scroll-behavior:auto}}
/* Seamless review stream: one original set plus one accessibility-hidden visual set. */
.review-carousel .student-story{scroll-snap-align:none}
.review-carousel .review-manual [data-review-clone]{display:none}
.review-carousel .review-manual{scrollbar-width:thin}
.review-carousel .review-manual::-webkit-scrollbar{display:block;height:6px}

/* Profit records reuse the same continuous stream and viewport sizing as reviews. */
.records-carousel .record-item{min-width:0;display:grid;grid-template-rows:340px 1fr;background:white;border-radius:7px;overflow:hidden;text-align:left}
.records-carousel .record-image-button{height:340px;padding:16px 16px 38px;border:0;background:#fff}
.records-carousel .record-image-button img{object-fit:scale-down;width:100%;height:100%}
.records-carousel .record-item figcaption{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:18px;font-size:15px}
.records-carousel .record-item figcaption strong{font-weight:600}
.records-carousel .record-item figcaption a{align-self:flex-start}
@media(max-width:600px){.records-carousel .record-item{grid-template-rows:320px 1fr}.records-carousel .record-image-button{height:320px}}
/* Text is readable by default. Only an intersecting element receives a finite animation. */
:root{--text-enter-duration:.6s;--text-enter-distance:20px;--text-enter-gap:.1s}
.text-reveal-line{display:block}
.text-enter{animation:text-enter var(--text-enter-duration) cubic-bezier(.2,.65,.3,1) calc(var(--text-order,0)*var(--text-enter-gap)) both}
@keyframes text-enter{from{opacity:0;transform:translate3d(0,var(--text-enter-distance),0);filter:blur(1px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
.text-enter.text-enter-emphasis{animation-name:text-enter-emphasis}
@keyframes text-enter-emphasis{0%{opacity:0;transform:translate3d(0,var(--text-enter-distance),0);filter:blur(1px)}70%{opacity:1;filter:blur(0) brightness(1.08)}100%{opacity:1;transform:translate3d(0,0,0);filter:none}}
@media(max-width:600px){:root{--text-enter-duration:.5s;--text-enter-distance:12px;--text-enter-gap:.08s}}
@media(prefers-reduced-motion:reduce){.text-enter{animation:none!important;opacity:1;transform:none;filter:none}}
/* Keep the final still painted throughout repeat-seek; fade only the decoded video. */
.hero-motion{transition:opacity .22s linear}.motion-poster{visibility:visible}

/* Official mark: matching alpha masks; no background, shadow or stretching. */
.header .brand,.site-footer .footer-brand{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%}
.brand-logo{display:block;flex:0 0 auto;width:auto;height:30px;object-fit:contain}
.brand-wordmark{display:block;min-width:0}
@media(max-width:760px){.brand-logo{height:26px}.header .brand,.site-footer .footer-brand{gap:9px}}