
:root{--gmus-olive:#2c312c;--gmus-gold:#b2925b;--gmus-paper:#f7f5f0;--gmus-ink:#171916;--gmus-line:#ddd8cd}
html{scroll-behavior:smooth}body{overflow-x:hidden;font-family:"Segoe UI",Arial,sans-serif!important}
.global-header{height:88px;background:rgba(44,49,44,.99);color:#fff;display:flex;align-items:center;padding:0 4.2vw;gap:22px;position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.global-brand{display:flex;align-items:center;flex:0 0 auto}.global-brand img{width:118px;max-height:60px;object-fit:contain}.global-nav{margin-left:auto;display:flex;align-items:center;gap:17px}.global-nav a{color:#f3f1ea;text-decoration:none;font-size:12px;white-space:nowrap}.global-nav a:hover,.global-nav a.active{color:#d7bd8b}.global-lang{font-size:11px;border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:9px 12px;white-space:nowrap;color:#fff;text-decoration:none}.global-lang:hover{color:#d7bd8b;border-color:rgba(215,189,139,.55)}.nav-toggle{display:none;margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.22);color:white;border-radius:8px;width:42px;height:42px;font-size:20px;cursor:pointer}
.global-footer{background:#101411;color:#aaa;padding:46px 6vw 24px}.global-footer-grid{display:grid;grid-template-columns:1.45fr .75fr .9fr 1fr;gap:42px}.global-footer img{width:130px}.global-footer p{max-width:320px;font-size:12px;line-height:1.7}.global-footer b{display:block;color:white;margin-bottom:12px}.global-footer a,.global-footer span{display:block;color:#aaa;text-decoration:none;margin:7px 0;font-size:12px}.global-footer a:hover{color:#d7bd8b}.global-footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:30px;padding-top:17px;display:flex;justify-content:space-between;font-size:11px}
.page-photo-banner{position:relative;min-height:340px;overflow:hidden;background:#eee}.page-photo-banner img{display:block;width:100%;height:clamp(340px,36vw,520px);object-fit:cover}.page-photo-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,18,15,.58))}.page-photo-caption{position:absolute;left:6vw;bottom:34px;z-index:2;color:white;font-size:15px;max-width:650px;line-height:1.5}
/* Home hero image preserved and better on large screens */
body:has(main#top) .hero-art{background-image:linear-gradient(90deg,rgba(25,28,25,.12),rgba(25,28,25,.32)),url('assets/gmus-building-hero.jpg')!important;background-size:cover!important;background-position:62% center!important}
body:has(main#top) .hero-art .quote{position:relative;z-index:2}
/* make long Georgian headings breathe */
h1,h2,h3{overflow-wrap:break-word;word-break:normal}.hero h1,.school-hero h1{line-height:1.09!important;letter-spacing:-.025em!important}.section-head h2{line-height:1.12!important}
@media(max-width:1180px){
 .global-nav{position:fixed;top:88px;right:0;width:min(360px,88vw);height:calc(100vh - 88px);background:#202620;padding:28px;display:flex;flex-direction:column;align-items:stretch;gap:0;transform:translateX(105%);transition:.25s ease;box-shadow:-20px 0 45px rgba(0,0,0,.16);z-index:999}.global-nav.open{transform:translateX(0)}.global-nav a{font-size:14px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-toggle{display:block}.global-lang{display:none}
 .hero,.school-hero,.section-head,.stage-wrap,.outcome-grid,.intro,.note,.admin-feature,.course-grid,.assess-grid,.docs-head,.contact-grid{grid-template-columns:1fr!important}
 .hero-copy,.school-hero .hero-copy{padding-top:64px!important;padding-bottom:64px!important}
 .hero-side,.hero-panel{min-height:320px!important}
 .global-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 .global-header{height:78px;padding:0 22px}.global-brand img{width:104px}.global-nav{top:78px;height:calc(100vh - 78px)}
 .section,.wrap,.docs,.contact-wrap{padding-left:28px!important;padding-right:28px!important}
 .hero-copy,.school-hero .hero-copy{padding-left:28px!important;padding-right:28px!important}.hero h1,.school-hero h1{font-size:clamp(33px,6.32vw,46px)!important}
 .summary,.principles{grid-template-columns:1fr!important}.summary article,.principles>div{border-right:0!important;border-bottom:1px solid var(--gmus-line)}
 .pillars,.stages,.heart-grid,.core-grid,.questions-grid,.practice-grid,.subject-grid,.path-grid,.people,.grid,.cards,.docs-grid{grid-template-columns:1fr 1fr!important}
 .global-footer-grid{grid-template-columns:1fr 1fr}.page-photo-banner img{height:360px}
}
@media(max-width:560px){
 .global-header{padding:0 16px}.global-brand img{width:96px}.nav-toggle{width:40px;height:40px}
 .section,.wrap,.docs,.contact-wrap{padding-left:20px!important;padding-right:20px!important}.hero-copy,.school-hero .hero-copy{padding:54px 20px!important}.hero h1,.school-hero h1{font-size:32px!important;line-height:1.12!important}.hero p,.school-hero p{font-size:16px!important}.hero-side,.hero-panel{padding-left:22px!important;padding-right:22px!important}
 .pillars,.stages,.heart-grid,.core-grid,.questions-grid,.practice-grid,.subject-grid,.path-grid,.people,.grid,.cards,.docs-grid,.focus-grid,.promise-grid,.dim-grid{grid-template-columns:1fr!important}.card.feature,.card.wide{grid-column:auto!important}.admin-grid .card:first-child{grid-column:auto!important;display:flex!important}
 .global-footer{padding:40px 20px 22px}.global-footer-grid{grid-template-columns:1fr}.global-footer-bottom{flex-direction:column;gap:6px}
 .page-photo-banner img{height:270px}.page-photo-caption{left:20px;right:20px;bottom:20px;font-size:13px}
 .cta{padding-left:20px!important;padding-right:20px!important;flex-direction:column!important;align-items:flex-start!important}
}
/* Responsive refinement pass */
@media(max-width:1180px){
  .split,.signature,.section-head,.school-hero,.hero,.stage-wrap,.outcome-grid,.intro,.note,.admin-feature,.course-grid,.assess-grid,.docs-head,.contact-grid{grid-template-columns:1fr!important}
  .split>div,.section-head>div{min-width:0}
  .global-nav{overflow-y:auto}
}
@media(max-width:820px){
  .principles{grid-template-columns:1fr 1fr!important}
  .pillars,.stages,.heart-grid,.core-grid,.practice-grid,.people,.docs-grid{grid-template-columns:1fr!important}
  .question-grid,.questions-grid,.path-grid,.subject-grid,.promise-grid,.dim-grid{grid-template-columns:1fr 1fr!important}
  .signature{padding-left:28px!important;padding-right:28px!important}
  .signature-list{grid-template-columns:1fr 1fr!important}
  .stage-top{min-height:170px!important}
  .stage-body{min-height:auto!important}
}
@media(max-width:560px){
  .principles,.question-grid,.questions-grid,.path-grid,.subject-grid,.promise-grid,.dim-grid,.signature-list{grid-template-columns:1fr!important}
  .hero{min-height:auto!important}.hero-art{min-height:340px!important}.hero-copy{min-height:auto!important}
  .hero-line{white-space:normal!important}.hero h1{max-width:100%!important}
  .actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}.actions .btn{text-align:center!important}
  .section-head h2,.split h2,.questions h2,.signature h2{font-size:27px!important;line-height:1.12!important}
  .pillars article,.stage-body,.questions>div{min-width:0!important}
}
@media(max-width:1180px){.section-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:18px!important}.section-head>p{max-width:none!important}.section-head h2{margin-bottom:0!important}}
@media(max-width:560px){.section-head{margin-bottom:34px!important}.section-head h2{font-size:27px!important}.section-head p{font-size:15px!important;line-height:1.65!important}}


/* V26 — compact rhythm trial */
@media(min-width:821px){
  body.compact .global-header{height:78px}
  body.compact .global-brand img{width:108px;max-height:54px}
  body.compact .global-nav{gap:15px}
  body.compact .global-nav a{font-size:11.5px}
  body.compact .section{padding-top:72px!important;padding-bottom:72px!important}
  body.compact .hero-copy,body.compact .school-hero .hero-copy{padding-top:72px!important;padding-bottom:66px!important}
  body.compact .school-hero{min-height:520px!important}
  body.compact .school-hero .hero-side{padding-top:58px!important;padding-bottom:58px!important}
  body.compact .page-photo-banner{min-height:260px!important}
  body.compact .page-photo-banner img{height:clamp(260px,24vw,360px)!important}
  body.compact .section-head{margin-bottom:38px!important}
  body.compact .questions{padding-top:68px!important;padding-bottom:68px!important}
  body.compact .signature{padding-top:66px!important;padding-bottom:66px!important}
  body.compact .cta{padding-top:48px!important;padding-bottom:48px!important}
  body.compact .global-footer{padding-top:34px;padding-bottom:20px}
  body.compact .global-footer-grid{gap:34px}
  body.compact .global-footer-bottom{margin-top:22px}
  body.compact .facts div,body.compact .summary article{padding-top:23px!important;padding-bottom:23px!important}
  body.compact .promise-grid article{min-height:220px!important;padding-top:30px!important;padding-bottom:30px!important}
  body.compact .dim-grid article{min-height:205px!important;padding-top:28px!important;padding-bottom:28px!important}
  body.compact .heart-grid article{min-height:230px!important;padding-top:30px!important;padding-bottom:30px!important}
  body.compact .questions-grid article{min-height:215px!important;padding-top:30px!important;padding-bottom:30px!important}
  body.compact .practice-grid article{min-height:255px!important;padding-top:30px!important;padding-bottom:30px!important}
  body.compact .people{gap:18px!important}
  body.compact .card{min-height:340px!important}
  body.compact .portrait{height:155px!important}
  body.compact .admin-feature img{min-height:300px!important}
  body.compact .admin-feature .text{padding-top:44px!important;padding-bottom:44px!important}
  body.compact .hero-photo{min-height:400px!important}
  body.compact .hero{min-height:400px}
  body.compact .visit-info{padding-top:44px!important;padding-bottom:44px!important}
  body.compact .map{min-height:440px!important}
  body.compact .space-photo{min-height:380px!important}
  body.compact .space-copy{padding-top:50px!important;padding-bottom:50px!important}
}


/* V28 — refined, smaller display typography */
@media (min-width:821px){
  /* Home */
  body.page-index main#top .hero h1{font-size:clamp(35px,3.63vw,58px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
  body.page-index main#top h2{font-size:clamp(27px,2.92vw,44px)!important;line-height:1.09!important}
  body.page-index main#top .questions h2,body.page-index main#top .signature h2{font-size:clamp(27px,2.92vw,44px)!important}

  /* School / About */
  body.page-about .school-hero h1,body.page-about .hero-copy h1{font-size:clamp(36px,4.11vw,62px)!important;line-height:1.08!important;letter-spacing:-.03em!important}
  body.page-about .intro h2,body.page-about .principle h2,body.page-about .dimensions h2,body.page-about .community h2{font-size:clamp(28px,3.32vw,47px)!important;line-height:1.09!important}
  body.page-about .promise-head h2{font-size:clamp(28px,2.77vw,43px)!important}
  body.page-about .cta h2{font-size:30px!important}

  /* Our model */
  body.page-model .hero h1{font-size:clamp(33px,3.32vw,51px)!important;line-height:1.18!important;letter-spacing:0!important}
  body.page-model .section-head h2,body.page-model .course-intro h2,body.page-model .assess-left h2{font-size:clamp(25px,2.69vw,40px)!important;line-height:1.24!important;letter-spacing:0!important}
  body.page-model .cta h2{font-size:28px!important}

  /* Learning stages */
  body.page-stages .hero h1{font-size:clamp(32px,2.92vw,47px)!important;line-height:1.12!important;letter-spacing:-.01em!important}
  body.page-stages .hero-side h2{font-size:32px!important}
  body.page-stages .section-head h2{font-size:clamp(28px,3.32vw,47px)!important;line-height:1.09!important}
  body.page-stages .stage-title h2{font-size:clamp(28px,2.92vw,43px)!important;line-height:1.1!important}
  body.page-stages .outcome h2{font-size:clamp(28px,3.16vw,46px)!important;line-height:1.1!important}
  body.page-stages .cta h2{font-size:28px!important}

  /* Team */
  body.page-teachers .hero h1,body.page-administration .hero h1{font-size:44px!important}
  body.page-teachers .intro h2,body.page-administration .intro h2{font-size:31px!important}
  body.page-teachers .note h2,body.page-administration .note h2{font-size:32px!important}
  body.page-teachers .admin-feature h2,body.page-administration .admin-feature h2{font-size:27px!important}

  /* Documents */
  body.page-documents .hero h1{font-size:clamp(38px,3.48vw,57px)!important;line-height:1.08!important}
  body.page-documents .hero-side h2{font-size:28px!important}
  body.page-documents .docs-head h2{font-size:32px!important}

  /* Gallery */
  body.page-gallery .hero h1{font-size:clamp(38px,4.11vw,60px)!important;line-height:1.1!important}
  body.page-gallery .intro h2{font-size:clamp(25px,2.92vw,43px)!important;line-height:1.11!important}
  body.page-gallery .cta h2{font-size:27px!important}

  /* Contact */
  body.page-contact .hero h1{font-size:clamp(40px,4.11vw,60px)!important;line-height:1.1!important}
  body.page-contact .section-head h2{font-size:clamp(29px,3.32vw,47px)!important;line-height:1.1!important}
  body.page-contact .visit-info h3{font-size:27px!important}
  body.page-contact .space-copy .quote{font-size:28px!important}
  body.page-contact .cta h2{font-size:30px!important}
}
@media (max-width:820px){
  body.compact .hero h1,body.compact .school-hero h1,body.compact .hero-copy h1{font-size:clamp(30px,5.53vw,41px)!important;line-height:1.12!important}
  body.page-model .section-head h2,body.page-model .course-intro h2,body.page-model .assess-left h2,
  body.page-stages .section-head h2,body.page-stages .stage-title h2,body.page-stages .outcome h2,
  body.page-about .intro h2,body.page-about .principle h2,body.page-about .dimensions h2,body.page-about .community h2,
  body.page-gallery .intro h2,body.page-contact .section-head h2{font-size:clamp(24px,4.42vw,35px)!important;line-height:1.15!important}
}
@media (max-width:560px){
  body.compact .hero h1,body.compact .school-hero h1,body.compact .hero-copy h1{font-size:28px!important;line-height:1.14!important}
  body.compact .section-head h2,body.compact .split h2,body.compact .questions h2,body.compact .signature h2,
  body.page-model .course-intro h2,body.page-model .assess-left h2,
  body.page-stages .stage-title h2,body.page-stages .outcome h2,
  body.page-about .intro h2,body.page-about .principle h2,body.page-about .dimensions h2,body.page-about .community h2{font-size:31px!important;line-height:1.16!important}
}
