.announcement-bar{background:#17191d;color:#c9cbd0;font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}
.announcement-bar__inner{display:flex;justify-content:space-between;gap:20px;padding:7px 0}
.announcement-bar__inner span:first-child{color:#fff}
.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid #e8e9ec;background:#fffffffa;transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 7px 22px #17191d12}
.header__inner{display:flex;align-items:center;justify-content:space-between;min-height:79px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);line-height:1}
.brand__mark{display:grid;place-items:center;width:35px;height:35px;background:var(--blue);color:#fff;font-size:1.1rem;font-weight:700}
.brand__word strong,.brand__word small{display:block}
.brand__word strong{font-size:1rem;letter-spacing:.16em}
.brand__word small{margin-top:5px;font-size:.55rem;letter-spacing:.2em}
.brand__word i{font-size:.46rem;font-style:normal;vertical-align:top}
.primary-nav{display:flex;align-items:center;gap:21px;font-size:.76rem;font-weight:600}
.primary-nav>a:not(.button):hover,.nav-dropdown>button:hover{color:var(--blue)}
.nav-dropdown{position:relative}
.nav-dropdown>button{padding:12px 0;border:0;background:transparent;font-size:inherit;font-weight:600;cursor:pointer}
.nav-dropdown__panel{position:absolute;top:100%;left:-14px;display:none;min-width:255px;max-height:65vh;overflow:auto;padding:8px;border:1px solid var(--line);background:#fff}
.nav-dropdown.is-open .nav-dropdown__panel{display:grid}
.nav-dropdown__panel a{padding:9px 10px;font-size:.8rem}
.nav-dropdown__panel a:hover{background:#f5f6f8;color:var(--blue)}
.nav-search{display:flex;align-items:center}
.nav-search input{width:0;min-width:0;padding:0;border:0;transition:width .2s,padding .2s}
.nav-search:focus-within input,.nav-search:hover input{width:125px;padding:6px 8px;border:1px solid var(--line)}
.nav-search button{width:34px;height:34px;border:0;background:#f1f2f4;color:var(--ink);font-size:1.3rem;cursor:pointer}
.menu-toggle{display:none}
.home-hero{position:relative;overflow:hidden;padding:62px 0 0;background:#f4f5f7}
.home-hero__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center;min-height:560px}
.home-hero__copy{position:relative;z-index:2;padding:20px 0 52px}
.home-hero__copy .breadcrumb{margin-bottom:48px}
.home-hero .eyebrow{margin-bottom:18px}
.home-hero h1{max-width:770px;margin:0 0 22px;font-size:clamp(3.2rem,6vw,6.1rem);line-height:.99;font-weight:600;letter-spacing:-.082em}
.home-hero h1 em{color:var(--blue);font-style:normal}
.home-hero__copy>.lead{max-width:590px;margin-bottom:26px}
.hero-proof{display:flex;align-items:center;gap:17px;margin-top:36px}
.hero-proof__index{padding-right:17px;border-right:1px solid #cfd1d5;color:var(--blue);font-size:.7rem;font-weight:700;letter-spacing:.08em}
.hero-proof p{margin:0;font-size:.8rem;line-height:1.5}
.hero-proof small{color:var(--muted);font-size:.7rem}
.home-hero__visual{position:relative;min-height:560px;align-self:stretch;background:var(--blue)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.hero-blob{position:absolute;inset:0;background:#2457f52b;mix-blend-mode:multiply;z-index:1;pointer-events:none}
.home-hero__vertical{position:absolute;z-index:2;top:22px;left:18px;writing-mode:vertical-rl;color:#fff;font-size:.56rem;letter-spacing:.2em}
.hero-sticker{position:absolute;z-index:3;display:grid;gap:4px;min-width:170px;padding:14px 16px;background:#fff}
.hero-sticker strong{font-size:.82rem}
.hero-sticker small{color:var(--muted);font-size:.65rem}
.hero-sticker--one{top:64px;right:-26px}
.hero-sticker--one>span{color:var(--blue);font-size:.6rem;font-weight:700;letter-spacing:.12em}
.hero-sticker--two{bottom:66px;left:-28px}
.sticker-dot{width:8px;height:8px;background:var(--blue)}
.hero-image-caption{position:absolute;right:16px;bottom:16px;z-index:2;padding:6px 9px;background:#17191dd9;color:#fff;font-size:.57rem;letter-spacing:.1em}
.home-hero__bottom{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #dadce0;color:#6a6d74;font-size:.6rem;letter-spacing:.1em}
.home-hero__bottom a{color:var(--blue);font-weight:700}
.intro-grid,.reason-grid,.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.intro-visual,.reason-visual{position:relative}
.intro-photo,.reason-visual>img{width:100%;height:490px;object-fit:cover}
.intro-note{position:absolute;right:-18px;bottom:20px;display:grid;gap:4px;max-width:275px;padding:17px 20px;background:#fff;border-left:3px solid var(--blue);box-shadow:var(--shadow)}
.intro-note span{color:var(--blue);font-size:1.3rem}
.intro-note strong{font-size:.82rem}
.intro-note small{color:var(--muted);font-size:.7rem}
.intro-copy h2,.reason-grid h2,.story-grid h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08;font-weight:600;letter-spacing:-.07em}
.intro-copy>p:not(.eyebrow){color:var(--muted)}
.stat-row{display:flex;gap:28px;margin:28px 0}
.stat-row div{display:grid;gap:2px}
.stat-row strong{font-size:1.7rem;font-weight:600;color:var(--blue)}
.stat-row span{max-width:108px;color:var(--muted);font-size:.68rem;line-height:1.45}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#dedfe2;border:1px solid #dedfe2}
.category-card{position:relative;display:flex;min-height:235px;flex-direction:column;grid-column:span 2;padding:23px;background:#fff;transition:background .2s,color .2s}
.category-card:nth-child(4),.category-card:nth-child(5){grid-column:span 3}
.category-card:hover{background:var(--blue);color:#fff}
.category-card__icon{display:grid;place-items:center;width:39px;height:39px;border:1px solid #daddE4;color:var(--blue);font-size:1.12rem}
.category-card:hover .category-card__icon{border-color:#ffffff75;background:#ffffff16;color:#fff}
.category-card h3{margin:25px 0 6px;font-size:1.12rem;font-weight:600}
.category-card p{max-width:320px;margin-bottom:14px;color:var(--muted);font-size:.82rem}
.category-card:hover p{color:#e3e9ff}
.category-card .text-link{margin-top:auto}
.category-card:hover .text-link{color:#fff}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
.course-card,.article-card,.teacher-card{overflow:hidden;border:0;border-bottom:1px solid var(--line);background:#fff;transition:transform .2s}
.course-card:hover,.article-card:hover,.teacher-card:hover{transform:translateY(-3px)}
.course-card__image,.article-card__image{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#f0f1f3}
.course-card__image img,.article-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.course-card:hover .course-card__image img,.article-card:hover .article-card__image img{transform:scale(1.035)}
.course-card__image .pill{position:absolute;left:12px;top:12px}
.course-card__body,.article-card__body,.teacher-card__body{padding:17px 1px}
.course-card__body h3,.article-card h3,.teacher-card h3{margin:0 0 8px;font-size:1.06rem;line-height:1.38;font-weight:600;letter-spacing:-.025em}
.course-card__body>p:not(.eyebrow),.article-card__body>p,.teacher-card__body>p{color:var(--muted);font-size:.83rem}
.course-card__meta{display:flex;justify-content:space-between;gap:8px;padding:11px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.67rem}
.course-card__foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:3px}
.course-card__foot strong{font-size:.75rem}
.course-card__foot .text-link{font-size:.76rem}
.reason-section{overflow:hidden;background:#f5f6f8}
.reason-visual>img{height:550px}
.reason-badge{position:absolute;left:-12px;bottom:23px;padding:11px 14px;background:var(--blue);color:#fff;font-size:.69rem;font-weight:700;letter-spacing:.09em}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:30px;background:#dedfe2;border:1px solid #dedfe2}
.benefit-grid article{padding:17px;background:#fff}
.benefit-grid article>span{color:var(--blue);font-size:.7rem;font-weight:700}
.benefit-grid h3{margin:9px 0 4px;font-size:.93rem;font-weight:600}
.benefit-grid p{margin:0;color:var(--muted);font-size:.78rem}
.benefit-grid--wide{grid-template-columns:repeat(4,1fr)}
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:54px}
.timeline::before{position:absolute;top:19px;left:7%;right:7%;height:1px;background:#ffffff4a;content:""}
.timeline article{position:relative;z-index:1}
.timeline article>span{display:grid;place-items:center;width:39px;height:39px;margin-bottom:18px;border:1px solid #ffffff75;background:#17191d;color:#fff;font-size:.68rem}
.timeline h3{margin-bottom:5px;font-size:.96rem;font-weight:600}
.timeline p{max-width:230px;color:#b6bbc4;font-size:.8rem}
.teacher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.teacher-card__image{position:relative;display:block;overflow:hidden;aspect-ratio:3/3.65;background:#f0f1f3}
.teacher-card__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.teacher-card__image .image-note{position:absolute;left:9px;bottom:9px}
.teacher-card__body{padding:14px 0}
.teacher-card__body .eyebrow{font-size:.62rem}
.teacher-card__body h3{font-size:.88rem}
.teacher-card__body>p{margin-bottom:7px;font-size:.77rem}
.teacher-card__body .text-link{font-size:.77rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:8px}
.gallery-tile{position:relative;overflow:hidden;padding:0;border:0;background:#e7e9ed;text-align:left;cursor:pointer}
.gallery-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .35s,filter .35s}
.gallery-tile:hover img{transform:scale(1.04);filter:saturate(1)}
.gallery-tile>span{position:absolute;right:8px;bottom:8px;left:8px;padding:9px 11px;background:#fff;font-size:.77rem;font-weight:600}
.gallery-tile>span small{display:block;color:var(--muted);font-weight:400}
.gallery-grid--masonry{grid-auto-rows:210px}
.gallery-grid--masonry .gallery-tile:nth-child(5n+1){grid-row:span 2}
.gallery-grid--masonry .gallery-tile:nth-child(7n+3){grid-column:span 2}
.schedule-teaser{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.schedule-mini{display:grid;border-top:1px solid var(--ink)}
.schedule-mini>a{display:grid;grid-template-columns:70px 1fr 24px;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.schedule-date{display:grid;place-items:center;min-height:43px;background:#edf1ff;color:var(--blue);font-size:.68rem;font-weight:700}
.schedule-mini strong,.schedule-mini small{display:block}
.schedule-mini strong{font-size:.84rem}
.schedule-mini small{color:var(--muted);font-size:.7rem}
.schedule-mini b{color:var(--blue)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote-card{padding:21px;border-top:2px solid var(--blue);background:#fff}
.quote-card blockquote{margin:15px 0;font-size:.97rem;line-height:1.65}
.quote-card>p{margin:0;color:var(--muted);font-size:.75rem}
.quote-grid--full{grid-template-columns:repeat(2,1fr)}
.quote-card--large{padding:25px}
.quote-stars{margin-top:17px;color:var(--blue)}
.quote-author{display:flex;align-items:center;gap:12px}
.quote-author p,.quote-author strong,.quote-author small{display:block;margin:0}
.quote-author small{color:var(--muted)}
.avatar-placeholder{display:grid;place-items:center;width:40px;height:40px;background:#edf1ff;color:var(--blue);font-weight:700}
.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.article-grid--news{grid-template-columns:repeat(3,1fr)}
.article-card__body{padding:14px 0}
.article-card h3{font-size:.9rem}
.article-card__body>p{font-size:.77rem}
.article-card .text-link{font-size:.76rem}
.article-meta{justify-content:space-between;margin-bottom:9px;font-size:.66rem}
.faq-home-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.cta-band{position:relative;overflow:hidden;padding:65px 0;background:var(--blue);color:#fff}
.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-band h2{max-width:650px;margin:0 0 9px;font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.08;font-weight:600;letter-spacing:-.065em}
.cta-band p:not(.eyebrow){margin:0;color:#e1e8ff}
.cta-band .eyebrow{color:#d7e0ff}
.cta-band__index{position:absolute;right:3%;bottom:-40px;color:#ffffff14;font-size:7rem;font-weight:700;letter-spacing:-.1em}
.site-footer{padding:0;background:#17191d;color:#e8e9eb}
.footer-masthead{padding:65px 0 58px;border-bottom:1px solid #ffffff24}
.footer-masthead .eyebrow{color:#8ea8ff}
.footer-masthead__line{margin:0 0 16px;font-size:clamp(2.3rem,6vw,5rem);line-height:1.03;font-weight:600;letter-spacing:-.075em}
.footer-masthead__line span{color:#8ea8ff}
.footer-masthead__link{display:inline-flex;gap:12px;align-items:center;padding-bottom:5px;border-bottom:1px solid #ffffff70;font-size:.83rem}
.footer__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:42px;padding-top:42px;padding-bottom:40px}
.brand--light{color:#fff}
.footer__brand>p{max-width:300px;margin:17px 0;color:#c1c4cb;font-size:.83rem}
.footer__brand .demo-label{background:#ffffff13;color:#ccd6ff}
.footer__grid>div:not(:first-child){display:grid;align-content:start;gap:10px}
.footer__grid h2{margin:5px 0 9px;color:#fff;font-size:.82rem;font-weight:600}
.footer__grid>div>a:not(.brand){color:#bfc2c9;font-size:.76rem}
.footer__grid>div>a:hover{color:#fff}
.footer-contact{color:#bfc2c9;font-size:.72rem;line-height:1.5}
.social-links{display:flex;gap:8px;margin-top:14px}
.social-links span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #ffffff51;color:#fff;font-size:.8rem;font-weight:700}
.footer__bottom{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #ffffff24;color:#bfc2c9;font-size:.63rem;letter-spacing:.05em}
.page-hero{overflow:hidden;padding:30px 0 72px;background:#f4f5f7}
.page-hero>.container>.breadcrumb{padding-bottom:15px;border-bottom:1px solid #dfe1e4}
.page-hero__grid{display:grid;grid-template-columns:1fr .73fr;gap:64px;align-items:center;padding-top:27px}
.page-hero__copy{position:relative;padding:15px 0}
.page-hero h1,.article-hero h1{max-width:800px;margin:11px 0 17px;font-size:clamp(2.8rem,5.7vw,5.4rem);line-height:1.01;font-weight:600;letter-spacing:-.08em}
.page-hero__copy .lead{max-width:650px}
.page-hero__rule{display:block;width:56px;height:3px;margin-top:25px;background:var(--blue)}
.page-hero__visual{position:relative;padding:24px 0 0 25px}
.page-hero__visual img{width:100%;height:330px;object-fit:cover;filter:saturate(.75)}
.page-hero__image-index,.page-hero__image-caption{position:absolute;z-index:1;padding:6px 9px;background:#17191d;color:#fff;font-size:.57rem;letter-spacing:.11em}
.page-hero__image-index{top:0;left:0}
.page-hero__image-caption{right:0;bottom:0}
.page-hero__index{justify-self:end;color:#e0e4eb;font-size:clamp(3rem,8vw,7rem);font-weight:700;line-height:.88;letter-spacing:-.1em}
.course-detail-hero{padding:30px 0 58px;background:#f4f5f7}
.course-detail-hero__grid{display:grid;grid-template-columns:1fr .9fr;gap:52px;align-items:center}
.course-detail-hero h1{font-size:clamp(2.7rem,5.2vw,4.8rem);line-height:1.02;font-weight:600;letter-spacing:-.08em}
.course-detail-hero__image{position:relative}
.course-detail-hero__image img{width:100%;height:370px;object-fit:cover;filter:saturate(.75)}
.course-detail-hero__image .image-note{position:absolute;right:11px;bottom:11px}
.course-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.course-facts span{padding:7px 10px;border:1px solid #d8dade;background:#fff;font-size:.73rem}
.course-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:60px;align-items:start}
.course-detail-content>section{margin:48px 0}
.course-detail-content h2{font-size:1.7rem;font-weight:600;letter-spacing:-.04em}
.course-detail-content p{color:var(--muted)}
.module-list{display:grid;gap:0;border-top:1px solid var(--ink)}
.module-card{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:17px 4px;border-bottom:1px solid var(--line)}
.module-card>span{display:grid;place-items:center;width:34px;height:34px;background:#edf1ff;color:var(--blue);font-size:.72rem;font-weight:700}
.module-card h3{margin:2px 0 5px;font-size:.96rem;font-weight:600}
.module-card p{margin:0;font-size:.86rem}
.course-sidebar{position:sticky;top:106px}
.course-sidebar__card{padding:22px;border:1px solid var(--line);background:#fff}
.course-sidebar__card h2{font-size:1.15rem;font-weight:600}
.course-sidebar dl{margin:17px 0}
.course-sidebar dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.74rem}
.course-sidebar dt{color:var(--muted)}
.course-sidebar dd{margin:0;text-align:right;font-weight:600}
.course-sidebar .small-note{margin:12px 0 0;color:var(--muted);font-size:.71rem}
.filter-bar--compact label{min-width:200px}
.teacher-card__body .eyebrow{margin-bottom:8px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.profile-panel{padding:27px;background:#f4f5f7;border-left:3px solid var(--blue)}
.profile-panel p:last-child{margin-bottom:0}
.article-hero{padding:38px 0 48px;background:#f4f5f7}
.article-hero .container{max-width:950px}
.article-hero h1{font-size:clamp(2.5rem,4.8vw,4.5rem)}
.article-hero .lead{max-width:800px}
.article-hero .article-meta{justify-content:flex-start;margin-top:18px}
.story-quote{padding:33px;background:#17191d;color:#fff}
.story-quote>span{color:#8ea8ff;font-size:2rem}
.story-quote blockquote{margin:16px 0;font-size:1.4rem;line-height:1.48}
.story-quote small{color:#bfc2c9}
.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dedfe2;border:1px solid #dedfe2}
.value-grid article{padding:28px;background:#fff}
.value-grid h2{font-size:1.45rem;font-weight:600}
.value-grid p:last-child{margin-bottom:0;color:var(--muted)}
.fee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dedfe2;border:1px solid #dedfe2}
.fee-card{display:grid;align-content:start;gap:8px;padding:22px;background:#fff}
.fee-card h3{margin:0;font-size:1.04rem;font-weight:600}
.fee-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:.82rem}
.fee-card>strong{margin:12px 0;font-size:.86rem}
.fee-card .button{margin-top:auto}
.form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:55px;align-items:start}
.form-layout>div:first-child h2{font-size:1.9rem;line-height:1.2;font-weight:600;letter-spacing:-.05em}
.form-layout>div:first-child>p:not(.eyebrow){color:var(--muted)}
.not-found{display:grid;min-height:70vh;align-items:center;padding:80px 0;background:#f4f5f7}
.not-found__code{display:block;color:#e3e7f0;font-size:clamp(7rem,24vw,18rem);font-weight:700;line-height:.8;letter-spacing:-.1em}
.not-found h1{max-width:780px;font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.1;font-weight:600;letter-spacing:-.07em}
