/* Shared layout contract: desktop >1100, tablet 601–1100, phone <=600.
   Deliberate !important rules supersede legacy per-page and inline sizing. */
:root{--ga-page-max:1200px;--ga-gutter:32px;--ga-gap:24px}
body .site-frame{width:100%!important;max-width:var(--ga-page-max)!important;margin-inline:auto!important}
.site-frame,.site-frame *{box-sizing:border-box}
.site-frame :is(main,section,article,aside,form,nav,div){min-width:0}
.site-frame :is(input,select,textarea){max-width:100%}
.site-frame :is(h1,h2,h3,p,a){overflow-wrap:break-word}
.site-frame .site-header{height:auto!important;min-height:94px;grid-template-columns:210px minmax(0,1fr) 125px!important;padding:18px var(--ga-gutter)!important;gap:18px!important}
.site-frame .primary-nav{gap:12px!important;flex-wrap:wrap;justify-content:space-between}
.site-frame .primary-nav a{font-size:10px!important}
.site-frame .site-footer{height:auto!important;min-height:0;padding:32px var(--ga-gutter)}
.site-frame .home-hero{grid-template-columns:minmax(0,36.6fr) minmax(0,44.9fr) minmax(0,18.5fr)}
.site-frame .learning-path{grid-template-columns:1.6fr repeat(4,minmax(0,1fr));height:auto}
.site-frame .program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ga-gap)}
.site-frame .program-card{width:100%}
.site-frame .institute-bottom{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
.site-frame .space-screen{max-width:100%}
.site-frame .trainer-card{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.site-frame .trainer-photo{max-width:100%}
.site-frame .text-article-content{width:calc(100% - 2 * var(--ga-gutter));max-width:740px}
.site-frame :is(.ga-table-wrap,.matrix-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
@media(max-width:1100px){
 :root{--ga-gutter:24px;--ga-gap:20px}
 .site-frame .site-header{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important}
 .site-frame .primary-nav{grid-column:1/-1;grid-row:2;order:3;justify-content:flex-start!important;gap:8px 22px!important;overflow:visible!important;padding:4px 0!important}
 .site-frame .primary-nav a{display:inline-flex;align-items:center;min-height:36px}
 .site-frame .student-link{grid-column:2;grid-row:1;min-height:40px}
 .site-frame .home-hero{height:auto;grid-template-columns:1fr 1fr}
 .site-frame .home-hero-art{min-height:340px;height:auto}
 .site-frame .home-quote{grid-column:1/-1;padding:24px var(--ga-gutter)}
 .site-frame :is(.home-hero-copy,.ga-hero-copy,.events-page-hero-copy,.trainers-page-hero-copy,.trainers-sketch-hero-copy,.texts-hero-copy){padding:32px var(--ga-gutter)!important}
 .site-frame :is(.events-page-hero,.trainers-page-hero,.trainers-sketch-hero,.texts-hero,.ga-hero){grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:0}
 .site-frame :is(.ga-hero h1,.home-hero h1,.events-page-hero h1,.trainers-page-hero h1,.trainers-sketch-hero h1,.texts-hero h1,.contacts-hero h1,.contact-hero h1){font-size:clamp(34px,4.5vw,48px)!important;white-space:normal!important}
 .site-frame .ga-hero-art{min-height:320px!important}
 .site-frame .events-page-quote,.site-frame .trainers-page-quote{grid-column:1/-1}
 .site-frame :is(.ga-card-grid,.trainers-catalog-grid,.texts-grid,.contact-practice-grid,.contact-specialist-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ga-gap)}
 .site-frame :is(.trainer-grid,.event-cards,.events-listing-cards){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ga-gap)}
 .site-frame :is(.ga-route-grid,.learning-path){grid-template-columns:repeat(2,minmax(0,1fr));height:auto}
 .site-frame .learning-intro{grid-column:1/-1}
 .site-frame :is(.ga-next-grid,.institute-bottom,.events-listing,.trainers-directory){grid-template-columns:1fr}
 .site-frame .ga-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .site-frame .ga-filters select{max-width:100%;font-size:16px}
 .site-frame :is(.trainers-filters,.texts-filters){grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-frame :is(.contacts-main,.contacts-commissions,.contacts-address,.contacts-form){grid-template-columns:1fr!important}
 .site-frame .contacts-training h2{white-space:normal!important;font-size:36px!important}
 .site-frame .contacts-hero{grid-template-columns:1fr 1fr!important;min-height:0}
 .site-frame .contacts-hero>div:first-child{padding:32px var(--ga-gutter)!important}
 .site-frame .site-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-frame :is(.footer-brand,.footer-subscribe){grid-column:1/-1}
 .site-frame .events-section{height:auto}
 .site-frame .event-card{height:auto;min-height:210px;grid-template-columns:40% minmax(0,1fr)}
 .site-frame .contact-section-heading,.site-frame .contact-specialists-title{grid-template-columns:1fr;gap:16px}
 .site-frame .contact-hero-copy{max-width:100%;width:60%;padding-left:var(--ga-gutter)}
}
@media(max-width:600px){
 :root{--ga-gutter:16px;--ga-gap:16px}
 .site-frame .brand-name{font-size:30px}
 .site-frame .primary-nav{gap:4px 16px!important}
 .site-frame :is(.home-hero,.events-page-hero,.trainers-page-hero,.trainers-sketch-hero,.texts-hero,.ga-hero,.contacts-hero,.week-text,.trainer-feature,.trainer-feature-andrey,.texts-featured,.texts-contact,.contacts-training,.ga-cta,.contact-invitation){grid-template-columns:minmax(0,1fr)!important;height:auto}
 .site-frame :is(.ga-card-grid,.trainers-catalog-grid,.texts-grid,.contact-practice-grid,.contact-specialist-grid,.trainer-grid,.event-cards,.events-listing-cards,.ga-route-grid,.learning-path,.program-grid,.trainers-filters,.texts-filters,.ga-faq-grid,.site-footer){grid-template-columns:minmax(0,1fr)}
 .site-frame .ga-hero-copy br{display:none}
 .site-frame .ga-hero-art{min-height:260px!important}
 .site-frame .ga-sheet{margin-inline:8px;padding-inline:var(--ga-gutter)}
 .site-frame :is(.programs-section,.trainers-section,.events-section,.contact-practices,.contact-specialists,.ga-matrix-intro){padding-left:var(--ga-gutter);padding-right:var(--ga-gutter)}
 .site-frame :is(.contacts-main,.contacts-commissions,.contacts-address,.contacts-form,.contacts-online,.contacts-training,.texts-featured,.texts-catalog,.texts-contact){margin-left:var(--ga-gutter)!important;margin-right:var(--ga-gutter)!important}
 .site-frame .contacts-form form{grid-template-columns:1fr!important}
 .site-frame .contacts-form form>*{grid-column:1!important;grid-row:auto!important;width:100%}
 .site-frame :is(input,select,textarea){font-size:16px}
 .site-frame .contact-hero-copy{width:100%;padding:36px var(--ga-gutter) 0}
 .site-frame .contact-hero{height:700px}
 .site-frame .contact-hero-quote{max-width:calc(100% - 32px)}
 .site-frame .hero-actions{flex-wrap:wrap}
 .site-frame .institute-hero-copy{padding:40px var(--ga-gutter)}
 .site-frame .institute-hero h1{font-size:36px}
 .site-frame .ga-item{min-height:0}
 .site-frame .ga-item h3,.site-frame .ga-item .ga-eyebrow{min-height:0}
}
