/* Keep page gutters outside the text measure, including on wide monitors. */
.visual-break .visual-copy {
  width:min(calc(100% - 48px),var(--max));
  max-width:var(--max);
  margin-inline:auto;
  padding:clamp(64px,7vw,100px) 0;
  min-width:0;
}
.visual-copy h2 {max-width:18ch;font-size:clamp(2rem,4.4vw,4.6rem);line-height:1.08}
.visual-copy p:last-child {max-width:58ch;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.65}
h1,h2,h3,.hero-copy h1,.needs-grid h3 {word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
h2 {font-size:clamp(2rem,4vw,4.5rem);line-height:1.08}
p,li,.detail-list span {text-wrap:pretty}
.section-grid,.contact-section {column-gap:clamp(24px,5vw,80px)}
.section-grid>*,.contact-section>*,.section-heading>*,.ecosystem-heading>* {min-width:0}
.section-grid {grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.contact-section {grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
.section-heading>div,.ecosystem-heading>div {flex:1}
.section-heading>p,.ecosystem-heading>p {flex:0 1 340px}
.hero-copy h1 {font-size:clamp(2.5rem,5.4vw,5.4rem);line-height:1.04}
.contact-directory strong,.contact-directory span,.footer-meta a {overflow-wrap:anywhere;line-height:1.5}
.course-group summary {line-height:1.4}.course-group table {table-layout:fixed}
.course-group th:last-child,.course-group td {width:100px}
.course-group tbody th {overflow-wrap:break-word}
.main-nav a {white-space:nowrap}
@media(max-width:1000px) and (min-width:821px){
  .nav-shell{flex-wrap:wrap;gap:12px;justify-content:center}
  .main-nav{gap:12px;flex-wrap:wrap;justify-content:center}
  .hero{padding-top:180px}
  .needs-grid{grid-template-columns:1fr}
  .needs-grid>a{min-height:0}
}
@media(max-width:820px){
  .section-grid,.contact-section{grid-template-columns:minmax(0,1fr)}
  .visual-break .visual-copy{width:calc(100% - 40px)}
  .visual-break{min-height:0}
  .visual-copy h2{max-width:20ch}
  .section-heading>p,.ecosystem-heading>p{max-width:60ch}
  .main-nav>a{font-size:1rem;white-space:normal}
  .contact-intro h2,.detail-copy h2{max-width:22ch}
}
@media(max-width:470px){
  .hero-copy h1{font-size:clamp(2rem,9vw,2.7rem);line-height:1.08}
  h2,.ecosystem-heading h2,.needs-heading h2{font-size:clamp(1.85rem,7.5vw,2.3rem);line-height:1.12}
  .visual-copy h2{font-size:clamp(1.85rem,7.5vw,2.3rem)}
  .lede{font-size:1rem;line-height:1.65}
  .needs-grid h3,.contact-invitation h3,.visual-service-label{font-size:1.6rem;line-height:1.2}
  .course-group th,.course-group td{font-size:.875rem}
  .course-group th:last-child,.course-group td{width:80px}
  .course-group summary span{margin-left:0}
  .eyebrow{line-height:1.6;letter-spacing:.1em}
}
