/* Sakura: luminous red, midnight blue, glass and precise dimensional controls. */
:root{--red:#d81438;--navy:#101c38;--gray:#536078;--line:#dce2ed;--light:#f3f6fc}body{background:#f8faff;background-image:radial-gradient(ellipse at 5% 5%,#fae0e880,transparent 40%),radial-gradient(ellipse at 95% 45%,#dce8ff80,transparent 45%)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f8faffed,#f8faffdb),url('/photos/sakura.webp') center/cover}body.home>header,body.inner-page>header{position:sticky;top:0;z-index:50;padding:10px 0;background:#f8faffed;border-bottom:1px solid #d9dfed;backdrop-filter:blur(20px);box-shadow:0 8px 30px #101c3809}header .header-inner{min-height:76px;background:transparent;border-radius:0;box-shadow:none;padding-block:0}.brand{padding:8px 12px 8px 8px;border:1px solid #fff;border-radius:14px;background:linear-gradient(135deg,#fff,#eef2fa);box-shadow:inset 0 1px #fff,0 5px 16px #14234110}.brand img{width:47px;height:49px;filter:drop-shadow(0 3px 3px #b9133420)}header .brand>span{font-size:22px}header .brand small{font-size:9px;letter-spacing:1.4px}header nav a{color:var(--navy)}header nav a:hover{color:var(--red)}header .language-switch{background:#e8edf6;border:1px solid #d9e0eb;padding:4px;border-radius:10px}header .language-switch a{color:var(--navy);min-width:30px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}header .language-switch a[aria-current]{background:var(--navy);color:white;border-radius:7px;box-shadow:0 3px 8px #101c3824}.button,.button.small{border-radius:12px;background:linear-gradient(155deg,#f23b57 0%,#d00d32 65%,#a60b2a 100%);border:1px solid #f45c76;box-shadow:inset 0 1px 0 #ffffff60,0 5px 0 #8c0b26,0 12px 22px #c40c3025;transition:transform .22s,box-shadow .22s;gap:12px}.button:hover{background:linear-gradient(155deg,#fa4a64,#c30a2c);transform:translateY(-3px);box-shadow:inset 0 1px #ffffff70,0 7px 0 #8c0b26,0 17px 25px #c40c3030}.button:active{transform:translateY(3px);box-shadow:inset 0 1px #ffffff60,0 1px 0 #8c0b26}.button.outline{background:linear-gradient(135deg,#fff,#e9effa);border-color:#c8d3e6;color:var(--navy);box-shadow:inset 0 1px #fff,0 4px 0 #b2bfd4,0 10px 18px #12254510}a:focus-visible,button:focus-visible{outline:3px solid #316cd9;outline-offset:5px}.future-icon{display:inline-block;vertical-align:middle;width:24px;height:24px;flex-shrink:0}h2>.future-icon{width:32px;height:32px;color:var(--red);margin-right:12px;filter:drop-shadow(0 2px 4px #dc21462b)}.socials a{display:inline-flex;align-items:center;gap:12px;padding:14px 20px;border:1px solid #c9d5e8;border-radius:12px;background:linear-gradient(135deg,#fff,#eaf0fa);box-shadow:inset 0 1px #fff,0 4px 0 #b4c0d2;transition:transform .2s}.socials a:hover{transform:translateY(-3px)}a>.future-icon{margin-right:7px}.socials .future-icon{color:#ce173d;width:28px;height:28px}.hero.wrap{display:grid;width:min(1240px,calc(100% - 88px));padding-inline:0;background:transparent;overflow:visible;align-items:center;grid-template-columns:1fr 1fr;gap:56px;min-height:650px;padding-block:70px 90px}.hero h1,html[lang=ru] .hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.09;letter-spacing:-2px}.hero .eyebrow{color:#b70d30;line-height:1.6;letter-spacing:1.2px}.hero-copy>p{color:var(--gray);font-size:18px}.hero-visual{position:relative;inset:auto;z-index:0;padding:0;min-width:0}.hero-copy{color:var(--navy)}.photo-carousel{position:relative;isolation:isolate;overflow:hidden;border:1px solid #ffffff8c;border-radius:28px 28px 80px 28px;background:#101c38;box-shadow:0 25px 65px #12274520,0 0 0 8px #ffffff70;aspect-ratio:1/1.13}.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1s ease;pointer-events:none}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#09152ced)}.slide figcaption{position:absolute;z-index:1;bottom:95px;left:28px;right:28px;font-size:24px;font-weight:700;color:white;line-height:1.3}.carousel-controls{position:absolute;z-index:3;bottom:26px;left:28px;right:28px;display:flex;align-items:center;gap:10px;color:white}.carousel-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:42px;padding:7px 10px;border:1px solid #ffffff70;border-radius:9px;color:white;background:linear-gradient(135deg,#ffffff26,#ffffff0a);box-shadow:inset 0 1px #ffffff35,0 3px 0 #00000025;cursor:pointer;font-size:14px}.carousel-controls button:hover{background:#ffffff35}.slide-count{font-size:14px;font-variant-numeric:tabular-nums}.carousel-controls [data-pause]{margin-left:auto}.section{padding-block:78px}.eyebrow{letter-spacing:1.6px}.course,.teacher-card,.panel,.price-panel,.contact-card,.lead-form{border:1px solid #dbe2ee;background:linear-gradient(150deg,#ffffffef,#f4f7fdf2);box-shadow:0 10px 30px #101c3806;border-radius:18px}.teacher-card{transition:transform .25s,box-shadow .25s}.teacher-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #101c3815}.teacher-image{background:#eef2f9}.teacher-copy h3{font-size:23px}.teacher-copy{padding:24px}.home-teachers{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.about-section{position:relative;background:radial-gradient(ellipse at top right,#54283f70,transparent 55%),linear-gradient(135deg,#101c38,#0b1228);color:white;border-block:1px solid #53637d}.about-section .eyebrow{color:#ffa9b9}.about-section h2>.future-icon{color:#ff819a}.exam-grid{gap:24px}.exam-grid article{padding:0 0 24px;border:1px solid #ffffff26;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#ffffff0d,#ffffff03)}.exam-grid h3,.exam-grid p{margin-inline:24px}.exam-grid h3{margin-top:24px;font-size:24px}.exam-grid p{font-size:16px}.exam-cover{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .5s}.exam-grid article:hover .exam-cover{transform:scale(1.035)}.exam-gallery{margin-block:20px 64px}.exam-gallery h2{margin-bottom:28px}.exam-carousel{aspect-ratio:2.5;border-radius:24px}.gallery-note{font-size:14px;color:var(--gray);margin-top:18px}.inner-page .page-intro{padding-block:50px}.inner-page .page-intro h1{max-width:1000px}.footer-top{padding-top:35px}footer{border-top:1px solid #cbd5e6}.menu-button{border-radius:9px!important;background:linear-gradient(135deg,#fff,#e7edf7)!important;box-shadow:0 3px 0 #bcc8da}html{scroll-padding-top:120px}
@media(max-width:1100px){.hero.wrap{gap:32px}.hero h1,html[lang=ru] .hero h1{font-size:44px}.home-teachers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){header nav{max-height:calc(100dvh - 160px);overflow-y:auto}.header-inner{gap:10px!important}.hero.wrap{grid-template-columns:1fr 1fr}.hero h1,html[lang=ru] .hero h1{font-size:38px}.hero-copy>p{font-size:16px}.hero-actions{flex-wrap:wrap}.wrap,.hero.wrap{width:calc(100% - 40px)}.hero.wrap{min-height:0;padding-block:48px 60px}.photo-carousel{aspect-ratio:.78}.exam-carousel{aspect-ratio:1.8}.slide figcaption{font-size:21px}.carousel-controls{gap:6px;left:18px;right:18px}.slide figcaption{left:18px;right:18px}}
@media(max-width:700px){.hero.wrap{grid-template-columns:1fr;gap:36px}.hero h1,html[lang=ru] .hero h1{font-size:clamp(36px,8.5vw,50px);letter-spacing:-1.4px}.hero-carousel{aspect-ratio:1.12}.section{padding-block:52px}.section-head{align-items:flex-start;flex-direction:column;gap:18px}.home-teachers{grid-template-columns:1fr}.exam-carousel{aspect-ratio:1.15}.exam-grid{grid-template-columns:1fr}.header-inner .brand>span{font-size:18px}.header-inner .brand img{width:34px;height:38px}.brand{gap:7px;padding:7px}.header-inner .brand small{font-size:8px;letter-spacing:1px}header .header-inner{min-height:64px}.header-inner .language-switch{gap:0;padding:2px}header .language-switch a{min-width:27px;font-size:12px}h2{font-size:30px}.socials{gap:16px}.socials a{padding:12px 16px}.mobile-contact a>.future-icon{display:none}.inner-page .page-intro{padding-block:32px}.button{min-height:48px}body.home>header,body.inner-page>header{padding-block:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.teacher-card:hover,.button:hover,.socials a:hover{transform:none}}

body{background-image:linear-gradient(90deg,#f8faffed,#f8faffe0),url("/photos/sakura.webp");background-size:cover;background-attachment:fixed}body:before{display:none}.hero .eyebrow{font-size:14px}.course{overflow:hidden}.slide img[src="/photos/classroom.webp"]{object-position:center 35%}
/* Wide homepage photo campaign; the image's printed button is part of the link. */
body.home .hero.wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;width:min(1500px,calc(100% - 56px));padding:48px 0 84px;min-height:0}
body.home .hero-copy{max-width:none}
body.home .hero h1{max-width:1100px}
body.home .hero-visual{width:100%}
body.home .hero-carousel{aspect-ratio:1672/941;border-radius:22px;box-shadow:0 20px 55px #12274528,0 0 0 5px #ffffffaa}
body.home .hero-carousel .slide:after,body.home .hero-carousel .slide figcaption{display:none}
body.home .hero-carousel .slide-link{display:block;width:100%;height:100%;cursor:pointer}
body.home .hero-carousel .slide-link img{width:100%;height:100%;object-fit:contain}
body.home .hero-carousel .slide-link:focus-visible{outline:4px solid #316cd9;outline-offset:-6px}
body.home .hero-carousel .carousel-controls{left:auto;right:18px;bottom:16px;gap:8px;padding:5px 8px;border-radius:12px;background:#101c38b8;backdrop-filter:blur(8px)}
body.home .hero-carousel .carousel-controls [data-pause]{margin-left:0}
@media(max-width:700px){body.home .hero.wrap{width:calc(100% - 24px);padding-block:28px 48px;gap:22px}body.home .hero-copy{padding-inline:8px}body.home .hero-carousel{aspect-ratio:1672/941;border-radius:12px}body.home .hero-carousel .carousel-controls{position:relative;left:auto;right:auto;bottom:auto;justify-content:center;background:#101c38;padding:8px;border-radius:0 0 12px 12px}body.home .hero-carousel .carousel-controls button{min-height:38px;min-width:38px}body.home .hero-carousel{overflow:visible;margin-bottom:48px}body.home .hero-carousel .slide{overflow:hidden;border-radius:12px 12px 0 0}}
body.home .hero-carousel .slide-mobile-label{display:none}
@media(max-width:700px){body.home .hero-carousel .carousel-controls{position:absolute;top:100%;bottom:auto;left:0;right:0;min-height:48px}body.home .hero-carousel .slide-mobile-label{display:block;position:absolute;left:0;right:0;bottom:0;padding:7px 12px;background:#101c38d9;color:white;font-size:14px;font-weight:700;text-align:center}body.home .hero-carousel{margin-bottom:52px}}
body.home .hero-carousel .slide.active{pointer-events:auto}
