/* Launch pass: visible navigation action, the teacher, and two clear form groups. */
.hero h1.hero-title{font-size:clamp(48px,4.9vw,72px);line-height:1.06}
.hero-title .hero-prefix{display:block}
.hero-format{white-space:nowrap}
.hero .hero-note{margin-top:16px;font-size:14px;line-height:1.45;color:var(--cold)}
.nav{display:grid;grid-template-columns:auto 1fr auto;gap:32px;min-height:80px;padding-block:10px}
.navlinks{justify-self:end;gap:28px}
.header-actions{display:flex;align-items:center;gap:20px}
.header-actions .langs{position:static;margin:0;gap:0}
.header-actions .langs button{min-width:40px;min-height:44px}
.nav-cta{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:11px 18px;border:1px solid var(--acid);border-radius:9px;background:var(--acid);color:var(--ground);font-size:13px;font-weight:600;line-height:1.2;letter-spacing:.025em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .18s,border-color .18s}
.nav-cta:hover,.nav-cta[aria-current="location"]{background:var(--acid-hover);border-color:var(--acid-hover);color:var(--ground)}
.nav-cta>span:last-child{font-size:20px;line-height:1;font-weight:400}
.navlinks>a{display:flex;align-items:center;min-height:44px}
.navlinks>a[aria-current="location"]::before{left:0;top:auto;bottom:5px;width:100%;height:1px;border-radius:0}
#guthrie{padding:0 0 40px}
.teacher-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:clamp(64px,9vw,140px);align-items:center;padding-block:64px;border-block:1px solid var(--rule-strong)}
.teacher-copy{min-width:0}
.teacher-copy .section-head{margin-bottom:28px}
.teacher-bio{display:grid;gap:20px;max-width:620px}
.teacher-bio p{font-size:var(--copy-size);line-height:1.5;letter-spacing:-.01em;color:var(--cold)}
.teacher-quote{margin:30px 0 0;padding:0;border:0;max-width:620px}
.teacher-quote p{font-size:var(--h3);font-weight:450;line-height:1.2;letter-spacing:-.035em;color:var(--acid);text-wrap:balance}
.teacher-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:20px}
.teacher-source{display:inline-flex;align-items:center;max-width:100%;min-height:44px;gap:7px;font-size:16px;line-height:1.4;text-decoration:none;color:var(--muted)}
.teacher-source>span[aria-hidden]{flex-shrink:0}
.teacher-source:focus-visible{outline:2px solid var(--acid);outline-offset:4px;border-radius:2px}
.teacher-source:hover{color:var(--ink)}
.teacher-portrait{position:relative;isolation:isolate;overflow:hidden;margin:0;max-width:350px;justify-self:end;width:100%;border-radius:4px}
.teacher-portrait img{display:block;width:100%;height:auto;aspect-ratio:2497/3746;filter:grayscale(1) contrast(1.03)}
.teacher-portrait::after{content:"";position:absolute;inset:0;background:var(--acid);mix-blend-mode:multiply;opacity:.42;pointer-events:none}
.teacher-signature{aspect-ratio:2497/3746;background:#27322d;color:var(--acid);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,4vw,48px)}
.teacher-signature span{font:italic 400 clamp(48px,6vw,82px)/.93 'Instrument Serif',Georgia,serif;letter-spacing:-.035em}
.teacher-signature i{font:500 clamp(18px,2vw,26px)/1.1 Inter,sans-serif;font-style:normal;letter-spacing:-.04em;text-transform:uppercase}
.teacher-signature::after{display:none}
#registration{background:var(--acid)}
#registration::before{content:none}
#registration .signup-copy .signup-reassurance{margin-top:24px}
#registration .form-group{min-width:0;margin:0;padding:0;border:0}
#registration .form-group legend{width:100%;padding:0;margin-bottom:20px;font-size:19px;font-weight:500;line-height:1.25;letter-spacing:-.025em;color:#263018}
#registration .required-mark{color:#354226;font-weight:500}
#registration .optional-group legend{padding-top:28px;background:repeating-linear-gradient(to right,rgba(66,83,29,.38) 0 2px,transparent 2px 8px) left top/100% 1px no-repeat}
#registration .waitlist-form{gap:28px}
#registration .form-field.wide:first-of-type{margin-top:0}
#registration .consent{position:relative;align-items:start;gap:14px;padding:18px 0 10px 8px}
#registration .consent input{width:20px;height:20px;margin-top:1px}
#registration .form-field input,#registration .form-field select,#registration .form-field textarea{scroll-margin-top:calc(var(--nav-height) + 24px)}
@media(max-width:1150px){
 .nav{gap:24px}.navlinks{gap:20px}.header-actions{gap:12px}
 .teacher-grid{gap:56px;padding-block:48px}
}
@media(max-width:860px){
 .hero h1.hero-title{font-size:clamp(50px,8vw,68px)}
 .nav{grid-template-columns:auto 1fr;gap:0 24px;padding:10px 0 0}
 .header-actions{grid-column:2;grid-row:1;justify-self:end;gap:14px}
 .navlinks{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:space-between;gap:24px;width:100%;margin:6px 0 0}
 .navlinks>a{justify-content:center;padding:12px 0;font-size:12px}
 .header-actions .langs button{min-width:40px}
 .teacher-grid{grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:32px;align-items:start}
 .teacher-portrait{margin-top:42px}
}
@media(max-width:600px){
 .hero h1.hero-title{font-size:clamp(38px,10.6vw,58px)}
 .nav{gap:0 12px;padding-top:10px}
 .header-actions{gap:10px}
 .header-actions .langs button{min-width:32px;min-height:44px;font-size:11px}
 .nav-cta{padding:10px 12px;font-size:11px;gap:8px;border-radius:8px;min-height:44px}
 .nav-cta>span:last-child{font-size:18px}
 .navlinks{margin-top:4px;gap:24px}
 .navlinks>a{font-size:11px;letter-spacing:.025em;padding-block:12px}
 .navlinks>a[aria-current="location"]::before{bottom:5px}
 #guthrie{padding-bottom:8px}
 .teacher-grid{grid-template-columns:1fr;gap:28px;padding-block:40px}
 .teacher-copy .section-head{margin-bottom:24px}
 .teacher-bio{gap:18px}
 .teacher-quote{margin-top:24px}
 .teacher-links{margin-top:12px}
 .teacher-portrait{margin:0;width:100%;max-width:340px;justify-self:start}
 #registration .form-group legend{font-size:19px}
 #registration .optional-group legend{padding-top:25px}
 #registration .form-group legend{margin-bottom:18px}
 #registration .signup-copy .signup-reassurance{margin-top:20px}
 #registration .waitlist-form{gap:25px}
 #registration .form-status{padding:14px 16px;border:1px solid rgba(44,62,13,.28);border-radius:8px;max-width:100%}
}
@media(max-width:360px){
 .hero h1.hero-title{font-size:36px}
 .nav{gap:0 8px}.header-actions{gap:6px}.header-actions .langs button{min-width:30px}
 .nav-cta{padding-inline:9px;font-size:10px;gap:6px}
 .brand-mark{width:66px;height:14.5px}.brand-mark img{width:78px;left:-8.4px;top:-6.55px}
}

/* Separate the two introductory paragraphs in either language. */
.ifs-intro .intro-continuation{margin-top:.8em}

/* Recognisable situations and a clear learning aim, following the launch review. */
.hero .hero-promise {
  margin-top: 18px;
  max-width: 560px;
  font-size: var(--copy-size);
  line-height: var(--copy-leading);
  color: var(--cold);
}
.audience { margin-bottom: 72px; scroll-margin-top: calc(var(--nav-height) + 32px); }
.audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.audience-item { min-width: 0; padding-top: 24px; border-top: 1px solid var(--rule-strong); }
.audience-item h3 { margin-bottom: 18px; font-size: 26px; line-height: 1.2; text-wrap: balance; }
.audience-item p { font-size: var(--copy-size); line-height: var(--copy-leading); color: var(--cold); }
@media (max-width: 860px) {
  .audience-grid { grid-template-columns: 1fr; gap: 28px; }
  .audience-item { padding-top: 22px; }
  .audience-item h3 { font-size: var(--h3); max-width: 650px; }
  .audience-item p { max-width: 650px; }
  .audience { margin-bottom: 56px; }
}
@media (max-width: 600px) {
  .hero .hero-promise { margin-top: 16px; }
  .audience-item h3 { font-size: 25px; margin-bottom: 14px; text-wrap: initial; }
  .audience { margin-bottom: 48px; }
}
