/* Readability revision: comfortable text sizes at every breakpoint. */
:root{--muted:#505b70}
body{font-size:18px;line-height:1.6}
.hero-description,.course-hero .hero-description,.section-heading>p,
.core-content>p,.theme-tagline,.theme-description,.approach-heading>p:last-child,
.values p,.faq-note,details>p,.course-section-head>p,.direction p,
.experience-copy>p:not(.eyebrow),.exercise-prompt,.example-answer p,
.together-block p,.consult-intro,.consult-strip p,.privacy-page p,
.dialog-intro,.dialog-list li{font-size:18px;line-height:1.85}
.desktop-nav,.mobile-nav,.path-nav a,.course-link-strip .wrap,
.button,.button.small,.hero-buttons .button,.hero-buttons .text-link,
.course-hero .button,.course-hero .text-link,.closing .button,
.text-link,.light-link,.growth-links a,.interest-options button,
.dialog-actions .button,.dialog-dismiss,.example-answer summary{font-size:18px}
summary{font-size:19px;line-height:1.7}
.button{white-space:normal;min-height:48px;text-align:center}
.button>span{flex-shrink:0}
.hero-buttons,.course-hero .hero-buttons,.dialog-actions{flex-wrap:wrap;row-gap:18px}
.hero-buttons .button,.course-hero .button{gap:16px}
.brand small,.footer .brand small{font-size:16px;letter-spacing:5px;color:#505b70}
.site-header{height:106px}
.desktop-nav{gap:24px}
.header-inner{gap:18px}
.header-actions{gap:12px}
.preview-label{display:none}
.eyebrow,.card-kicker,.dialog-eyebrow{letter-spacing:1px;line-height:1.6}
.card-kicker{opacity:1;flex-wrap:wrap;gap:8px}
.card-kicker>span:last-child,.core-card .card-kicker>span:last-child{font-size:16px}
.tags{gap:8px}
.tags span{font-size:16px;line-height:1.6;padding:6px 10px}
.core-content{padding:28px}
.core-content>p{min-height:0}
.core-content h3{line-height:1.5}
.card-bottom{align-items:flex-end}
.round-link,.dialog-close,.back-top,.menu-toggle{min-width:44px;min-height:44px}
.dialog-close{top:10px;right:10px}
.theme-description{opacity:1}
.theme-content{padding:36px;min-width:0}
.theme-photo img{max-height:none}
.craft .theme-content{background:#b93243}
.paper-flower,.globe-art,.stage-star{opacity:.28}
.light-link{min-height:44px}
.content-note,.course-note,.dual-note,.photo-caption,.dialog-note,
.footer>div,.footer small,.small-en,.course-breadcrumb{color:#596478}
.shared-space{font-size:18px;line-height:1.8}
.shared-space strong{font-size:18px}
.shared-space p{font-size:16px;color:#505b70}
.shared-space>span{flex-shrink:0}
.window-label{padding-top:48px;background:linear-gradient(transparent,#142852f2)}
.window-label small,.window-identity,.dual-note{font-size:16px}
.window-label strong{line-height:1.4}
.classroom-window{min-height:225px}
.dual-hero-visual{padding-bottom:38px}
.dual-note{line-height:1.7;letter-spacing:0}
.hero-footnote{font-size:18px;line-height:1.7;align-items:baseline;flex-wrap:wrap}
.dot{flex-shrink:0;align-self:center}
.path-nav{display:flex;flex-wrap:wrap;gap:12px 0;justify-content:space-between}
.path-nav a{padding:10px 15px;min-height:48px;flex:1 0 auto;gap:8px}
.path-nav a:first-child{justify-content:center}
.path-nav span{color:#5e687c}
.path-nav i{color:#505b70}
.course-link-strip .wrap{flex-wrap:wrap;row-gap:15px}
.course-link-strip .sibling-link{font-size:18px}
.direction ul{font-size:16px;line-height:1.8}
.exercise-top{flex-wrap:wrap;gap:10px;font-size:16px;letter-spacing:0}
.exercise-illustration{flex-wrap:wrap}
.exercise-illustration .word small{font:16px/1.7 system-ui,sans-serif;letter-spacing:0}
.sibling-card{flex-wrap:wrap}
.sibling-card small,.sibling-card b{font-size:16px;line-height:1.8}
.sibling-card>div{min-width:0;flex:1 1 180px}
.footer .footer-tagline,.privacy-link,.course-footline{font-size:16px}
.footer{gap:24px}
.footer>div{margin-left:0}
dialog{width:min(680px,calc(100% - 32px));padding:52px 32px 32px}
.dialog-title{padding-right:22px;line-height:1.5}
.dialog-list strong{font-size:18px}
.dialog-note{font-size:16px}
#consult-dialog{width:min(700px,calc(100% - 32px));padding:52px 32px 32px}
.consult-field{font-size:18px;line-height:1.6;margin-bottom:20px}
.consult-field input,.consult-field select,.consult-field textarea{font-size:18px;line-height:1.6;min-height:50px}
.consult-consent{font-size:16px;line-height:1.9}
.consult-consent input{width:22px;height:22px}
.consult-submit{font-size:18px}
#consult-result{font-size:18px}
.consult-strip{flex-wrap:wrap}
.mobile-consult span{font-size:16px;line-height:1.5}
.mobile-consult .button{font-size:18px;flex-shrink:0;padding:12px 18px}

@media(max-width:1100px){
  .desktop-nav{display:none}.menu-toggle{display:block}
  .theme-content{padding:28px}
  .course-growth .wrap{flex-wrap:wrap}
  .path-nav a{flex:1 1 30%;border:0}
}
@media(max-width:900px){
  .hero,.course-hero{grid-template-columns:1fr;gap:32px}
  .hero-copy{max-width:650px}
  .dual-hero-visual{width:100%;max-width:650px;margin-inline:auto}
  .course-photo{aspect-ratio:1.4;max-height:420px}
  .core-programmes,.theme-card{grid-template-columns:1fr}
  .theme-photo{min-height:260px;height:320px}
  .theme-photo img{height:100%}
  .core-content{padding:28px}
  .card-photo{height:320px}
  .learning-directions{grid-template-columns:1fr}
  .values{grid-template-columns:1fr}
  .values p br{display:none}
  .course-hero .hero-buttons{flex-direction:row;align-items:center}
  .course-growth h2{max-width:none}
}
@media(max-width:600px){
  .site-header{height:88px}
  .brand strong{font-size:22px}
  .hero-buttons,.course-hero .hero-buttons{gap:16px 24px}
  .hero-buttons .button,.course-hero .button{padding:15px 18px}
  .core-content{padding:24px}
  .card-photo{height:245px}
  .classroom-window{min-height:225px}
  .window-label strong{font-size:22px}
  .window-label{padding-inline:16px}
  .window-identity{top:12px;left:12px}
  .window-english{margin-right:8px}.window-math{margin-left:8px}
  .path-nav{display:grid;grid-template-columns:1fr 1fr;width:calc(100% - 40px);padding-block:16px;gap:8px;overflow:visible}
  .path-nav a,.path-nav a:first-child{white-space:normal;text-align:left;justify-content:flex-start;padding:10px 8px;line-height:1.6;border:0;min-width:0;font-size:16px}
  .path-nav a:first-child{grid-column:1/-1}
  .path-nav span{flex-shrink:0}
  .explore-heading{align-items:flex-start}
  .explore-heading h3{font-size:21px;line-height:1.6}
  .theme-photo,.theme-photo img{height:235px;min-height:235px}
  .theme-content{padding:28px 24px}
  .theme-description br{display:none}
  .shared-space{align-items:flex-start}
  .shared-space p{margin-left:0}
  .section-space{padding-block:52px}
  .course-link-strip .wrap{overflow:visible;white-space:normal;gap:16px 24px;font-size:18px}
  .direction ul{grid-template-columns:1fr}
  .consult-strip{padding:24px}
  #consult-dialog,dialog{padding:54px 20px 26px}
  .consult-grid{grid-template-columns:1fr;gap:0}
  .mobile-consult{gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .has-consult{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
  .footer{grid-template-columns:minmax(0,1fr) auto}
  .footer>div{grid-column:1/-1}
}
