/* Per-page adaptation. Loaded after the legacy and approved catalogue layers. */
:root{--page-pad:clamp(16px,3vw,40px);--page-gap:24px}
.site-frame main :is(section,article,div,aside){min-width:0;box-sizing:border-box}
.site-frame main :is(h1,h2,h3){word-break:normal!important;overflow-wrap:normal!important;hyphens:none;max-width:100%}
.site-frame main :is(p,li){font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
.site-frame main :is(.eyebrow,.contact-eyebrow,small,.reading-time,.event-month){font-size:14px;line-height:1.5}
.site-frame main :is(input,select,textarea){font:16px/1.5 Arial,Helvetica,sans-serif;max-width:100%}
.site-frame main :is(.button,.text-link,.trainer-copy a,.catalog-trainer a,.text-card a,.event-info a,.event-feature-copy a,.contact-specialist-card a){font-size:14px;line-height:1.4;height:auto;white-space:normal}
.site-frame main [hidden]{display:none!important}
/* Institute: text cards replace the text baked into reference crops. */
.institute-frame .institute-hero{height:auto;min-height:400px;background-image:url('../catalog/responsive-institute-hero.svg');background-size:45% 100%;background-position:right center}
.institute-frame .institute-hero-copy{padding:48px var(--page-pad);max-width:70%}
.institute-frame .institute-hero h1{font-size:clamp(30px,4.6vw,53px)!important;line-height:1.12}
.institute-frame .hero-actions{flex-wrap:wrap}
.institute-frame :is(.programs-section,.trainers-section){padding:32px var(--page-pad);min-height:0}
.institute-frame .institute-section-title{height:auto;min-height:44px}
.institute-frame .institute-section-title h2{white-space:normal;font-size:14px}
.institute-frame :is(.program-grid,.trainer-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--page-gap)}
.institute-frame .program-card{height:auto;min-height:250px;margin:0;padding:26px;background-size:cover;background-position:center}
.institute-frame .program-one{background-image:url('../catalog/responsive-institute-light.svg')}
.institute-frame .program-two{background-image:url('../catalog/responsive-institute-paper.svg');color:#fff}
.institute-frame .program-three{background-image:url('../catalog/responsive-institute-special.svg')}
.institute-frame .program-card .screen-reader-text{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important;display:block;font:26px/1.2 Georgia,serif}
.institute-frame .program-card::before{content:'I';display:block;font:64px/1 Georgia,serif;margin-bottom:24px;color:var(--rust)}
.institute-frame .program-two::before{content:'II';color:inherit}
.institute-frame .program-three::before{content:'+'}
.institute-frame .trainer-card{height:auto;grid-template-columns:minmax(0,1fr);gap:16px}
.institute-frame .trainer-photo{width:180px;max-width:100%;height:216px;justify-self:center}
.institute-frame .trainer-copy{padding:0 8px 16px}
.institute-frame .trainer-copy h3{font-size:26px;line-height:1.15}
.institute-frame .institute-bottom{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.institute-frame :is(.institute-events-board,.student-space){min-width:0;padding:32px var(--page-pad)}
.institute-frame .institute-event{height:auto;min-height:110px;grid-template-columns:100px minmax(0,1fr) 20px}
.institute-frame .institute-event span{font-size:16px;line-height:1.5}
.institute-frame .space-screen{width:100%;max-width:520px}
/* Trainer pages. */
.site-frame :is(.trainers-featured,.trainers-catalog){width:calc(100% - 2 * var(--page-pad));margin-inline:auto}
.site-frame .trainers-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--page-gap);border:0}
.site-frame .trainers-featured .trainer-feature,.site-frame .trainers-featured .trainer-feature-andrey{display:flex;min-height:100%;flex-direction:column;border:1px solid rgba(25,26,24,.16);background:rgba(250,247,241,.72)}
.site-frame .trainers-featured .trainer-feature+.trainer-feature{border-top:1px solid rgba(25,26,24,.16)}
.site-frame .trainers-featured .trainer-feature>img{order:1;width:100%;height:260px;min-height:260px;object-fit:cover;object-position:center 34%}
.site-frame .trainers-featured .trainer-feature-copy{display:flex;order:2!important;min-height:300px;flex:1;flex-direction:column;padding:24px!important;text-align:left}
.site-frame .trainers-featured .trainer-feature-copy h2{font-size:clamp(30px,2.7vw,42px);line-height:1}
.site-frame .trainers-featured .trainer-feature-copy p{max-width:none;font-size:16px;line-height:1.5}
.site-frame .trainers-featured .trainer-feature-copy a{margin-top:auto;align-self:flex-start;color:var(--rust);font-size:14px}
.site-frame .trainers-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--page-gap)}
.site-frame :is(.trainers-sketch-hero,.trainers-page-hero){grid-template-columns:minmax(0,40%) minmax(0,60%);height:auto}
.site-frame :is(.trainers-sketch-hero-copy,.trainers-page-hero-copy){padding:40px var(--page-pad)!important}
.site-frame :is(.trainer-feature,.trainer-feature-andrey){grid-template-columns:repeat(2,minmax(0,1fr))}
.site-frame .trainer-feature-copy{padding:28px var(--page-pad)}
.site-frame .catalog-trainer{display:flex;height:auto;min-height:100%;flex-direction:column}
.site-frame .catalog-trainer img{width:100%;aspect-ratio:1.61;object-fit:cover;object-position:center top}
.site-frame .catalog-trainer>div{display:flex;min-height:164px;flex:1;flex-direction:column;padding:18px 20px 20px}
.site-frame .catalog-trainer p,.site-frame .catalog-trainer small{margin-bottom:10px}
.site-frame .catalog-trainer a{margin-top:auto;align-self:flex-start;color:var(--rust)}
.site-frame .catalog-trainer h3{font-size:24px;line-height:1.2}
.site-frame .trainers-filters{grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(140px,1fr))!important;gap:16px}
.site-frame .trainers-collage{display:grid;height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:32px var(--page-pad)}
.site-frame .trainers-collage-heading{position:static;grid-column:1/-1}
.site-frame .trainer-collage-card{position:static!important;display:flex;min-height:100%;flex-direction:column;width:auto!important;height:auto!important;margin:0!important;border:1px solid rgba(25,26,24,.16);background:rgba(250,247,241,.72)}
.site-frame .trainer-collage-card img{position:static!important;width:100%!important;height:260px!important;object-fit:cover}
.site-frame .trainer-collage-card>div{position:static!important;display:flex;min-height:230px;flex:1;flex-direction:column;width:auto!important;margin:0!important;padding:24px!important;text-align:left!important}
.site-frame .trainer-collage-card>div>a{margin-top:auto;align-self:flex-start}
.site-frame .trainers-variant-invitation{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
/* Events: separate feature cards, catalogue and month grids. */
.site-frame .events-listing{display:block}
.site-frame .events-listing{padding-left:var(--page-pad);padding-right:var(--page-pad)}
.site-frame .events-listing-heading{padding:24px var(--page-pad) 0}
.site-frame .events-listing-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:24px 0;gap:24px}
.site-frame .event-feature-card{display:flex;flex-direction:column;min-width:0;height:auto}
.site-frame .event-feature-image{height:220px;flex:none}
.site-frame .event-feature-copy{padding:24px}
.site-frame .event-feature-copy h3{min-height:0;font-size:26px;line-height:1.2}
.site-frame :is(.events-catalog,.events-calendar>div,.events-past>div){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.site-frame :is(.events-catalog,.events-calendar,.events-past,.events-filters,.events-registration){margin-inline:var(--page-pad)}
.site-frame .events-catalog article{height:auto;min-height:300px;grid-template-columns:minmax(0,1fr)}
.site-frame .events-catalog article>div{padding:24px;position:relative;z-index:1}
.site-frame .events-catalog h3{font-size:26px;line-height:1.2}
.gestalt-events-page main :is(.events-calendar h2,.events-registration h2){font-size:32px;line-height:1.15}
.gestalt-events-page main .events-past>.eyebrow{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.15;letter-spacing:normal}
.gestalt-events-page main :is(.event-feature-copy h3,.events-catalog h3){font-size:26px;line-height:1.2}
.gestalt-events-page main :is(.eyebrow,.event-month,.events-filters label){font-size:14px;line-height:1.5}
.gestalt-events-page main :is(.events-page-hero-copy>p:last-child,.event-feature-copy>p,.events-catalog p:not(.eyebrow),.events-catalog b,.events-calendar p,.events-past article,.events-registration-copy>p){font-size:16px;line-height:1.5}
.site-frame .events-catalog .event-art{display:block;min-height:120px;width:100%;position:static}
.site-frame .events-filters{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(140px,1fr));min-width:0;gap:16px;overflow:visible}
.site-frame .events-filters>div{display:contents}
.site-frame .events-filters>div>a{grid-column:5;grid-row:2;justify-self:end;align-self:center}
.site-frame .events-filters>small{grid-column:1/5;grid-row:2;align-self:center;margin-top:0}
.site-frame .events-filters label{font-size:14px;font-weight:500;line-height:1.5}
.site-frame .events-filters input,.site-frame .events-filters select{font-size:16px;line-height:1.4}
.site-frame .events-calendar nav{display:flex;flex-wrap:wrap;gap:8px}
.site-frame .events-registration{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
/* Text library and article. */
.site-frame .texts-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px}
.site-frame :is(.texts-featured,.texts-catalog,.texts-contact){margin-inline:var(--page-pad)}
.site-frame .text-card{height:auto;display:flex;flex-direction:column}
.site-frame .text-card>div:first-child{padding:24px}
.site-frame .text-card-art{height:140px;width:100%}
.site-frame .text-card h3{font-size:26px;line-height:1.2}
.site-frame :is(.text-card a,.texts-featured-copy a){position:static;display:inline-block;margin-top:18px}
.site-frame .texts-featured{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.site-frame .text-article-content{width:calc(100% - 2 * var(--page-pad));max-width:740px;margin-inline:auto}
.site-frame .text-article-hero{padding:48px var(--page-pad)}
.site-frame .generic-content{max-width:800px;padding:40px var(--page-pad);margin-inline:auto}
/* Earlier contact concept and interactive spaces page. */
.site-frame :is(.contact-practice-grid,.contact-specialist-grid){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px}
.site-frame .contact-practice{height:auto;min-height:320px;grid-template-columns:minmax(0,1fr);gap:24px}
.site-frame .contact-specialist-card{height:auto;grid-template-columns:minmax(0,1fr)}
.site-frame .contact-specialist-photo{justify-self:center}
.site-frame .contact-invitation{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.site-frame .contact-invitation-copy{padding:32px var(--page-pad)}
.site-frame .contact-hero-copy{width:60%;padding:48px var(--page-pad)}
.site-frame .contact-hero h1{font-size:clamp(34px,5vw,60px)!important}
.site-frame .ga-catalog:not([data-mode]) .ga-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-frame .ga-matrix-frame{width:100%;max-width:100%;min-width:0}
/* Home: individually bounded artwork, normal document flow, no page transform. */
body.home .site-frame{width:100%!important;max-width:1200px!important;transform:none!important;margin-inline:auto;box-sizing:border-box}
body.home .home-hero{height:auto;display:grid;grid-template-columns:minmax(0,37fr) minmax(0,45fr) minmax(0,18fr)}
body.home .home-hero-copy{padding:48px 24px}
body.home .home-hero h1{font-size:clamp(34px,3.7vw,48px);line-height:1.1}
body.home .home-hero-art{height:auto;min-height:400px;background:url('../catalog/responsive-home-hero.svg') center/cover no-repeat}
body.home .home-quote{padding:48px 18px;margin:0}
body.home .section-nav{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--page-pad)}
body.home .section-nav-item{grid-column:auto;min-height:160px;padding:24px 16px}
body.home .section-nav-item strong{font-size:24px}
body.home .section-nav-item span{font-size:16px;line-height:1.6}
body.home .week-text{height:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
body.home .week-copy{padding:32px var(--page-pad)}
body.home .week-copy h2{font-size:32px;line-height:1.15}
body.home .week-art{height:auto;min-height:280px;background:url('../catalog/responsive-home-week.svg') center/cover no-repeat}
body.home .events-section{height:auto;padding:32px var(--page-pad)}
body.home .event-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body.home .event-card{height:auto;display:flex;flex-direction:column}
body.home .event-thumb{height:220px;width:100%;background-size:cover;background-position:center}
body.home .event-thumb-one{background-image:url('../catalog/responsive-home-event-1.svg')}
body.home .event-thumb-two{background-image:url('../catalog/responsive-home-event-2.svg')}
body.home .event-thumb-three{background-image:url('../catalog/responsive-home-event-3.svg')}
body.home .event-info{padding:24px}
body.home .event-info h3{font-size:26px;line-height:1.2}
body.home .learning-path{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
body.home .learning-intro{grid-column:1/-1;padding:32px var(--page-pad)}
body.home .learning-intro h2{font-size:32px}
body.home .learning-step{height:auto;min-height:220px;padding:32px;background:url('../catalog/responsive-home-paper.svg') center/cover;color:#222}
body.home .learning-step:nth-of-type(2){background:linear-gradient(#111b,#111b),url('../catalog/responsive-home-paper.svg') center/cover;color:#fff}
body.home .learning-step:nth-of-type(3){background:linear-gradient(#b44728cc,#b44728cc),url('../catalog/responsive-home-paper.svg') center/cover;color:#fff}
body.home .learning-step:nth-of-type(4){background:#171a19;color:#fff}
body.home .learning-step .screen-reader-text{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important;display:block;font:26px/1.3 Georgia,serif}
/* Footer retains the previously approved mobile-polish layout. */
/* Shared breakpoints, with page-specific heroes rather than whole-page scaling. */
@media(max-width:1100px){
 body.home :is(.section-nav,.event-cards,.learning-path){grid-template-columns:repeat(2,minmax(0,1fr))}
 body.home .home-hero{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.home .home-quote{grid-column:1/-1;padding:24px var(--page-pad)}
 .institute-frame :is(.program-grid,.trainer-grid),.site-frame :is(.trainers-catalog-grid,.trainers-collage,.events-listing-cards,.events-catalog,.events-calendar>div,.events-past>div,.texts-grid,.contact-practice-grid,.contact-specialist-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .site-frame .trainers-featured{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-frame .trainers-featured>.trainer-feature:last-child{grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
 .site-frame :is(.trainers-catalog-grid,.trainers-collage)>:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
 .site-frame .trainers-collage>.trainer-collage-card:last-child{grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
 .site-frame :is(.events-listing-cards,.events-catalog,.events-past>div)>:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
 .site-frame .events-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .site-frame .events-filters>div>a{grid-column:3;grid-row:auto}
 .site-frame .events-filters>small{grid-column:1/3;grid-row:auto}
 .site-frame .trainers-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .site-frame .ga-catalog:not([data-mode]) .ga-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:800px){
 body.home :is(.home-hero,.week-text){grid-template-columns:minmax(0,1fr)}
 body.home .home-hero-art{min-height:320px}
 .institute-frame .institute-hero-copy{max-width:100%}
 .institute-frame .institute-hero{background-size:100% 240px;background-position:center bottom;padding-bottom:240px}
 .institute-frame .institute-hero::after{background:linear-gradient(#f1ede5 0 50%,transparent 70%)}
 .institute-frame .institute-bottom,.site-frame :is(.trainers-sketch-hero,.trainers-page-hero,.trainer-feature,.trainer-feature-andrey,.trainers-variant-invitation,.events-page-hero,.events-registration,.texts-hero,.texts-featured,.texts-contact,.contact-invitation){grid-template-columns:minmax(0,1fr)!important;height:auto}
 .site-frame :is(.trainer-feature-copy,.texts-hero-copy,.texts-featured-copy,.events-page-hero-copy,.events-registration-copy){padding:32px var(--page-pad)!important}
 .site-frame .contact-hero{height:auto;display:flex;flex-direction:column}
 .site-frame .contact-hero::after{display:none}
 .site-frame .contact-hero-copy{order:0;width:100%;padding:36px var(--page-pad)}
 .site-frame .contact-hero-art{position:relative;inset:auto;order:1;width:100%;height:300px;clip-path:none}
 .site-frame .contact-hero-quote{position:relative;inset:auto;order:2;margin:0;width:100%;max-width:none}
 .site-frame :is(.contact-section-heading,.contact-specialists-title){grid-template-columns:minmax(0,1fr);gap:20px}
 .site-frame .trainers-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .site-frame .events-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-frame .events-filters>div>a{grid-column:2}
 .site-frame .events-filters>small{grid-column:1}
}
@media(max-width:600px){
 body.home :is(.section-nav,.event-cards,.learning-path){grid-template-columns:minmax(0,1fr)}
 body.home .section-nav-item:last-child{grid-column:auto}
 .institute-frame :is(.program-grid,.trainer-grid),.site-frame :is(.trainers-catalog-grid,.trainers-collage,.events-listing-cards,.events-catalog,.events-calendar>div,.events-past>div,.texts-grid,.contact-practice-grid,.contact-specialist-grid,.trainers-filters,.ga-catalog:not([data-mode]) .ga-route-grid){grid-template-columns:minmax(0,1fr)!important}
 .site-frame .trainers-featured{grid-template-columns:minmax(0,1fr)}
 .site-frame .trainers-featured>.trainer-feature:last-child{grid-column:auto;width:100%;justify-self:stretch}
 .site-frame :is(.trainers-catalog-grid,.trainers-collage)>:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}
 .site-frame .trainers-collage>.trainer-collage-card:last-child{grid-column:auto;width:100%;justify-self:stretch}
 .site-frame :is(.events-listing-cards,.events-catalog,.events-past>div)>:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}
 .site-frame .events-filters{grid-template-columns:minmax(0,1fr)}
 .site-frame .events-filters>div>a,.site-frame .events-filters>small{grid-column:1}
 .site-frame main :is(.events-page-hero h1,.trainers-sketch-hero h1,.trainers-page-hero h1,.texts-hero h1,.text-article-hero h1){font-size:clamp(34px,8vw,46px)!important;line-height:1.1;white-space:normal!important}
 .site-frame :is(.trainers-catalog-heading,.section-heading-row){flex-wrap:wrap}
}
