/* Mobile layout: Figma DZw1ug40DeN89YwXDl8zju / 573:439, 393 px.
   This stylesheet is loaded only below 768 px. Desktop geometry stays in styles.css. */
:root{--body:20px;--radius:50px;--u:1px;-webkit-font-smoothing:antialiased}
.container{width:calc(100% - 32px);max-width:560px}
.mobile-only{display:inline}.desktop-only{display:none}
.hero{min-height:0}
.site-header{display:flex;flex-direction:column;align-items:flex-start;gap:26px;padding:24px 0 0}
.site-header .logo{width:72px;order:0}
.site-header .logo img{width:72px;height:24px}
.header-nav{order:1;flex-direction:column;align-items:flex-start;gap:10px;width:100%;font-size:14px}
.header-nav .pill{font-size:14px;min-height:40px;line-height:1.2;padding:8px 23px;white-space:nowrap}
.max-link,.hero-eyebrow{display:none}
.hero-layout{display:flex;flex-direction:column;gap:0;padding:18px 0 44px}
.hero-content{display:contents}
.hero-photo{display:block;order:0;position:relative;width:100%;aspect-ratio:361/196;overflow:hidden;border-radius:500px}
.hero-image{position:absolute;width:100%;max-width:none;height:auto;aspect-ratio:auto;left:0;top:-77.6315%;border-radius:0;margin:0}
.hero h1{order:1;margin:20px 0 0;font-size:62px;line-height:.9;letter-spacing:.048em;font-weight:500}
.hero-description{order:2;margin-top:18px;font-size:14px;font-weight:400;line-height:1.3;max-width:320px}
.hero-actions{order:3;gap:12px;margin-top:24px;padding:0}
.hero-actions .round-button{width:147px;font-size:20px;line-height:1.1;letter-spacing:0}
.statistics{display:flex;flex-direction:column;gap:50px;min-height:0;padding:44px 0 43px}
.stat{display:block;font-size:20px;font-weight:400;line-height:1.3}
.stat-number{font-size:156px;line-height:.9;font-weight:500;letter-spacing:0;margin-bottom:0}
.stat:last-child>p:last-child{max-width:240px;text-align:justify;text-align-last:justify}
.principles{display:block;padding:0;min-height:81px;height:81px;overflow-x:auto;overflow-y:hidden;font-size:18px;letter-spacing:.02em;scrollbar-width:none}
.principles::-webkit-scrollbar{display:none}
.principles>.principles-track{display:flex;width:max-content;height:100%;align-items:center;gap:40px}
.principles-track>div{display:flex;flex:none;align-items:center;gap:40px;white-space:nowrap;line-height:1.3}
.academy{display:flex;flex-direction:column;gap:0;padding:54px 0 43px;min-height:0}
.academy-copy{display:contents}
.academy h2{order:0;font-size:32px;font-weight:400;line-height:1.2;letter-spacing:.02em}
.academy-media{order:1;width:100%;margin:32px 0 0}
.academy-photo{width:100%;aspect-ratio:361/270;border-radius:500px}
.academy-photo img{position:absolute;width:112.188%;height:100%;max-width:none;left:-6.09418%;top:0;object-fit:cover;object-position:center}
.academy-media .photo-arrow{margin-top:2px;padding:12px;min-height:44px}
.prose{font-size:20px;line-height:1.3;text-align:justify;font-weight:500}
.prose p+p{margin-top:26px}
.academy .prose{order:2;max-width:none;margin-top:8px}
.academy-address{order:3;width:100%;margin-top:26px;min-height:62px;font-size:14px;line-height:1.2;letter-spacing:0;text-align:center;padding:12px 24px;white-space:normal}
.program{padding:52px 0 71px;background:var(--blue)}
.program .display-title{font-size:48px;line-height:1.1;letter-spacing:.02em;max-width:360px}
.program-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:34px}
.program-card,.program-cta{min-height:290px;padding:40px 24px;border-radius:50px;gap:16px}
.program-number{font-size:24px;font-weight:400;line-height:1.1}
.program-card h3{font-size:32px;font-weight:400;line-height:1.1}
.date-pill{min-height:46px;padding:8px 16px;font-size:16px;font-weight:700;line-height:1.2;letter-spacing:.02em}
.program-card--past .date-pill{padding-inline:24px;font-weight:500}
.program-cta{grid-column:auto;width:100%;min-height:369px;padding:40px 32px}
.program-cta h3{font-size:32px;font-weight:500;line-height:1.1}
.program-cta .round-button{width:122px;font-size:20px;line-height:1.1;letter-spacing:0;align-self:flex-end}
.testimonials{width:100%;max-width:none;display:flex;flex-direction:column;gap:0;min-height:0;padding:22px 0 34px}
.testimonial-copy{display:contents}
.testimonials h2{order:0;font-size:48px;font-weight:500;line-height:1.1;letter-spacing:.02em;white-space:normal;width:calc(100% - 32px);max-width:560px;margin-inline:auto}
.testimonial-image{order:1;width:100%;height:auto;min-height:0;aspect-ratio:393/460;object-fit:cover;object-position:center;margin:26px 0 0;align-self:auto}
.testimonials blockquote{order:2;font-size:20px;font-weight:500;line-height:1.3;text-align:justify;margin:24px auto 0;width:calc(100% - 32px);max-width:560px}
.testimonials cite{width:100%;min-height:72px;max-width:none;margin-top:26px;padding:12px 22px;font-size:20px;font-weight:500;line-height:1.2;letter-spacing:0;text-align:center;white-space:normal}
.testimonial-copy .photo-arrow{order:3;margin:12px auto 0;min-height:44px;padding:12px}
.teachers{padding:32px 0 15px;min-height:0}
.teachers .display-title{font-size:40px;font-weight:700;line-height:1.1;letter-spacing:0;text-align:center;white-space:nowrap}
.teacher-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:29px 0 0;padding:0;align-items:flex-start}
.teacher-grid::-webkit-scrollbar{display:none}
.teacher{display:flex;flex-direction:column;gap:10px;min-width:100%;width:100%;flex:0 0 100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.teacher img{order:0;width:100%;height:auto;aspect-ratio:361/364;object-fit:cover;object-position:center;border-radius:50px;background:white}
.teacher-copy,.teacher--andrey .teacher-copy{order:1;width:100%;min-height:375px;padding:24px 24px 36px;border-radius:50px;overflow-wrap:normal}
.teacher h3,.teacher--andrey h3{font-size:32px;font-weight:500;line-height:1.1;margin-bottom:24px;overflow-wrap:normal}
.teacher p{max-width:298px;font-size:20px;font-weight:400;line-height:1.3;text-align:justify}
.teacher p+p,.teacher--andrey p+p{margin-top:16px}
.teacher-next{display:flex;margin:10px auto 0;min-height:44px;padding:12px}
.seminar{padding:32px 0 53px;min-height:0}
.seminar-layout{display:flex;flex-direction:column;gap:0;padding:0}
.seminar .outline-pill{width:100%;min-height:47px;padding:8px 14px;font-size:13px;line-height:1.2;letter-spacing:0;white-space:nowrap}
.seminar h2{font-size:32px;font-weight:500;line-height:1.2;letter-spacing:0;margin-top:32px;white-space:normal}
.seminar-time{justify-content:flex-end;align-items:baseline;gap:8px;margin:0;font-size:32px;line-height:1.2}
.seminar-time span{font-size:96px;line-height:1.1}
.seminar .prose{font-size:16px;line-height:1.3;font-weight:500;max-width:none;margin-top:34px}
.seminar .prose p+p{margin-top:20px}
.seminar .cyan-text{font-weight:700}
.seminar-pdf,.seminar-media .photo-arrow{display:none}
.seminar-media{width:100%;margin:32px 0 0}
.seminar-media>picture>img{width:100%;height:auto;aspect-ratio:361/486;object-fit:cover;object-position:center;border-radius:500px}
.why{padding:32px 0;min-height:0}
.why h2{font-size:40px;font-weight:500;line-height:1.1;letter-spacing:0}
.why-grid{display:flex;flex-direction:column;gap:18px;margin-top:28px;font-size:16px;font-weight:500;line-height:1.3}
.why-item{max-width:none;margin:0;text-align:justify}
.why .round-button{width:129px;font-size:16px;line-height:1.1;letter-spacing:0;margin:4px 0 0;align-self:flex-end}
.registration{padding:48px 0 50px;min-height:0}
.registration>.container>.outline-pill{display:none}
.registration h2{font-size:32px;font-weight:500;line-height:1.2;letter-spacing:0;margin:0}
.registration-description{font-size:16px;font-weight:500;line-height:1.3;text-align:justify;margin-top:32px;max-width:none}
.registration-bottom{display:flex;flex-direction:column;gap:24px;align-items:stretch;margin-top:32px}
.contact-card{width:100%;max-width:none;padding:40px 33px;border-radius:50px;font-size:20px;line-height:1.3}
.contact-card h3{font-size:32px;font-weight:500;line-height:1.3;margin-bottom:8px}
.contact-card>p{color:var(--ink)}
.contact-card address{font-size:24px;line-height:1.3;margin-top:14px}
.contact-card address br{display:none}
.contact-name,.contact-phone,.contact-email{display:block;overflow-wrap:normal}
.contact-phone{font-size:32px;white-space:nowrap}
.contact-email{font-size:20px;line-height:1.3;margin-top:4px;overflow-wrap:anywhere}
.registration-bottom .round-button{width:129px;align-self:flex-end;font-size:16px;line-height:1.1;letter-spacing:0}
.location{padding:24px 0 50px}
.location-map{width:100%;aspect-ratio:361/429;border-radius:50px}
.location-map img{width:460.942%;height:387.91%;max-width:none;left:-97.7839%;top:-33.1002%}
.location>p{display:none}
.footer-inner{position:relative;padding:50px 0 24px}
.footer-grid{display:flex;flex-direction:column;gap:0;margin-top:40px;font-size:14px;font-weight:400;line-height:1.2;letter-spacing:.02em}
.footer-grid h2{font-size:20px;font-weight:500;line-height:.9;letter-spacing:-.013em;margin-bottom:16px}
.footer-links{display:flex;flex-direction:column;gap:32px}
.footer-links>div{gap:8px;display:flex;flex-direction:column}
.footer-links a{max-width:none;white-space:normal}
.footer-sections{order:0}
.footer-info{order:1;margin-top:60px}
.footer-contacts{order:2;margin-top:48px}
.footer-office{order:3;margin-top:82px}
.footer-production{order:4;margin-top:40px}
.footer-contacts .footer-phone{font-size:20px;line-height:1.2}
.footer-contacts .muted{margin-top:4px;color:#ffffff80}
.footer-youtube{margin-top:14px;margin-bottom:14px}
.footer-question{position:absolute;top:50px;right:0;margin:0;width:149px;height:149px}
.copyright{font-size:14px;font-weight:400;line-height:1.2;letter-spacing:.02em;margin-top:28px}
@media(max-width:374px){
  .stat-number{font-size:min(156px,44vw)}
  .hero h1{font-size:clamp(48px,15.78vw,62px)}
  .header-nav .pill{font-size:12px;padding-inline:18px}
  .hero-actions .round-button{width:min(147px,calc((100vw - 44px)/2))}
  .program .display-title,.testimonials h2{font-size:44px}
  .teachers .display-title{font-size:34px}
  .program-card h3,.program-cta h3,.teacher h3,.teacher--andrey h3{font-size:28px}
  .seminar .outline-pill{font-size:11px}
  .contact-card{padding-inline:24px}
  .contact-phone{font-size:clamp(24px,8.14vw,32px)}
  .contact-card h3{font-size:29px}
  .footer-question{width:128px;height:128px;font-size:14px}
  .footer-question>img{width:128px;height:128px}
}
@media(max-width:359px){.contact-card h3{font-size:28px}}

/* The mobile frame only specifies Natalia; preserve the other faces when sliding. */
.teacher:not(.teacher--natalia) img{object-position:center top}
