/* Observer-only layout. Do not load this stylesheet on other site pages. */
.header { height:88px; }
.logo img { display:block; width:158px; height:auto; }
.hy-hero__inner,.hy-section__inner,.hy-final__inner,.footer-inner {
  width:min(1280px,calc(100% - 96px)); margin-inline:auto;
}
.hy-hero__inner { padding-top:20px; padding-bottom:90px; }
.hy-hero h1 { margin:0 0 36px; font-size:112px; }
.hy-hero__lead { max-width:580px; font-size:34px; line-height:1.25; text-wrap:balance; }
.hy-hero__text { max-width:440px; }
.hy-hero__facts { font-size:12px; }
.hy-section--states { padding-top:88px; }
.hy-section__head,.hy-section--formats .hy-section__head,
.observer-intro .hy-split__title { display:block; text-align:center; margin:0 auto 56px; max-width:1000px; }
.hy-section__head h2 { font-size:52px; line-height:1.15; }
.hy-section__lead { max-width:640px; margin:24px auto 0; }
.hy-split { display:block; }
.hy-split__title h2 { font-size:52px; margin:0 0 48px; text-align:center; }
.observer-intro h2 { font-size:64px; }
.observer-intro .hy-copy { margin:0 auto; max-width:960px; }
.observer-thesis { text-align:center; }
.hy-section--effect .hy-copy { max-width:960px; margin:auto; font-size:24px; }
.hy-benefit,.hy-tool,.hy-format { min-width:0; }
.hy-benefit h3 { min-height:2.5em; }
.hy-benefit p,.hy-tool p { max-width:none; }
.hy-tool h3 { min-height:1.25em; }
.hy-section--program .hy-section__inner { display:block; }
.hy-section--program .hy-section__head { position:static; max-width:1000px; margin:0 auto 56px; padding:0; }
.hy-section--program .hy-section__head h2 { font-size:52px; margin:0; }
.hy-program,.hy-program-note { max-width:1000px; margin-inline:auto; }
.hy-program-card { grid-template-columns:64px minmax(0,1fr); }
.hy-program-card h3 { font-size:32px; }
.hy-program-card.is-current h3 { transform:none; color:var(--ink); }
.hy-format-options { justify-content:center; text-align:center; }
.hy-format-grid { max-width:1000px; margin:auto; }
.hy-format-cta { max-width:1000px; margin-inline:auto; }
.hy-teacher { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
.observer-portrait-image { clip-path:none; aspect-ratio:1; }
.observer-portrait-image img { object-position:center center; }
.hy-teacher__text { min-width:0; }
.hy-teacher__text h2 { font-size:48px; margin-top:20px; }
.hy-teacher__text p:not(.hy-kicker):not(.observer-teacher-name) { max-width:none; }
.hy-faq { max-width:1000px; margin:0 auto; }
.hy-faq summary { display:block; position:relative; padding-right:50px; }
.hy-faq summary::after { position:absolute; right:0; top:27px; }
.hy-faq summary[contenteditable] { white-space:pre-wrap; }
.hy-final__inner { text-align:center; }
.hy-final h2 { max-width:1050px; margin:0 auto 32px; font-size:64px; }
.hy-final p:not(.hy-kicker) { max-width:640px; margin-inline:auto; }
.hy-actions--center { justify-content:center; }
.footer { padding:40px 0; }
.footer-inner { display:grid; grid-template-columns:200px minmax(0,1fr) auto; align-items:center; gap:32px; }
.footer-logo img { display:block; width:180px; height:auto; }
.footer p { color:#b7b9b5; font-size:13px; max-width:340px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:16px 24px; max-width:340px; }
.footer-links a { color:#f3f2f3; font-size:12px; text-underline-offset:4px; }
.hy-modal__dialog { width:min(680px,100%); padding:56px 36px 36px; }
.hy-modal__head h2 { font-size:34px; margin:0 0 28px; }
.hy-form { display:grid; gap:22px; }
.hy-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.hy-form label { min-width:0; }
.hy-form label:not(.hy-consent) { display:grid; gap:8px; }
.hy-form label>span { font-size:13px; }
.hy-form input:not([type="checkbox"]):not(.hy-form__trap) {
  width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #8c8b91;
  border-radius:4px; background:#fff; color:#18191a; font:16px/1.4 Onest,Arial,sans-serif;
}
.hy-form input::placeholder { color:#737078; }
.hy-form__trap { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.hy-consent { display:flex; gap:12px; align-items:flex-start; }
.hy-consent input { flex:none; margin:3px 0 0; width:18px; height:18px; accent-color:#18191a; }
.hy-consent span { font-size:12px!important; color:#545258; }
.hy-consent a { color:#18191a; text-underline-offset:3px; }
.hy-form__actions { display:flex; flex-wrap:wrap; gap:12px; }
.hy-form__status { font-size:14px; color:#9d263a; }
.hy-form__status:empty { display:none; }
[data-form-success] h2 { font-size:34px; }
[data-form-success] p { margin:20px 0 28px; }
@media(min-width:1800px) { .hy-hero h1 { font-size:140px; } }
@media(max-width:1100px) {
  .hy-hero h1 { font-size:96px; }
  .hy-hero__lead { font-size:30px; max-width:500px; }
  .hy-teacher { gap:36px; }
  .hy-teacher__text h2 { font-size:38px; }
  .footer-inner { grid-template-columns:180px minmax(0,1fr); }
  .footer-links { grid-column:1/-1; justify-content:flex-start; max-width:none; }
}
@media(max-width:960px) {
  .hy-hero__inner,.hy-section__inner,.hy-final__inner,.footer-inner { width:calc(100% - 56px); }
  .hy-hero h1 { font-size:76px; }
  .hy-section__head h2,.hy-section--program .hy-section__head h2,.hy-split__title h2 { font-size:44px; }
  .hy-final h2 { font-size:52px; }
}
@media(max-width:640px) {
  .header { height:76px; }
  .logo img { width:112px; }
  .hy-hero__inner,.hy-section__inner,.hy-final__inner,.footer-inner { width:calc(100% - 40px); }
  .hy-hero { min-height:740px; }
  .hy-hero__inner { padding:28px 0 180px; }
  .hy-hero h1 { font-size:42px; margin:0 0 28px; }
  .hy-hero__lead { font-size:27px; max-width:360px; }
  .hy-hero__text { font-size:14px; max-width:340px; }
  .hy-hero__detail { display:inline; }
  .hy-hero__facts { font-size:10px; gap:14px; margin:24px 0; }
  .hy-section--states { padding-top:64px; }
  .hy-section__head,.hy-section--formats .hy-section__head,.observer-intro .hy-split__title,
  .hy-section--program .hy-section__head { margin-bottom:36px; }
  .hy-section__head h2,.hy-section--program .hy-section__head h2,.hy-split__title h2 { font-size:34px; margin-top:0; }
  .observer-intro h2 { font-size:40px; }
  .hy-benefit h3 { min-height:0; }
  .hy-section--effect .hy-copy { font-size:21px; }
  .hy-program-card { grid-template-columns:30px minmax(0,1fr); }
  .hy-program-card h3 { font-size:27px; }
  .hy-teacher { gap:36px; }
  .hy-teacher__text h2 { font-size:36px; }
  .hy-faq summary { padding-right:36px; }
  .hy-faq summary::after { top:22px; }
  .hy-final h2 { font-size:36px; }
  .footer-inner { grid-template-columns:1fr; gap:24px; }
  .footer-logo img { width:156px; }
  .footer-links { grid-column:auto; gap:16px 22px; }
  .hy-modal__dialog { padding:54px 22px 28px; }
  .hy-modal__head h2,[data-form-success] h2 { font-size:28px; }
  .hy-form__grid { grid-template-columns:1fr; gap:16px; }
  .hy-form__actions { flex-direction:column; }
  .hy-form__actions .hy-button { justify-content:center; }
}
@media(max-width:360px) {
  .hy-hero h1 { font-size:36px; }
  .hy-hero__lead { font-size:25px; }
  .hy-section__head h2,.hy-final h2 { font-size:30px; }
}

/* The portrait is a full-bleed part of the teacher section, not an inset card. */
.hy-section--teacher { padding:0; background:#9eafc3; --ink:#172430; --muted:#344655; }
.hy-section--teacher .hy-teacher {
  width:100%; max-width:none; display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; align-items:center;
}
.hy-section--teacher .hy-teacher__portrait { width:100%; max-width:none; margin:0; }
.hy-section--teacher .observer-portrait-image {
  aspect-ratio:606/615; background:#9eafc3;
  -webkit-mask-image:linear-gradient(to right,#000 92%,transparent);
  mask-image:linear-gradient(to right,#000 92%,transparent);
}
.hy-section--teacher .observer-portrait-image img {
  object-position:center 54%; transform:scale(1.25); transform-origin:35% center;
}
.hy-section--teacher .hy-teacher__text { padding:64px; max-width:740px; }
.hy-section--teacher .hy-teacher__text h2 { margin-top:20px; font-size:44px; }
.hy-section--teacher .hy-teacher__text .observer-teacher-name { margin-top:28px; }
.hy-section--teacher .hy-teacher__text p:not(.hy-kicker):not(.observer-teacher-name) { margin-top:22px; }
@media(min-width:1800px) {
  .hy-section--teacher .hy-teacher__text { padding:80px; }
  .hy-section--teacher .hy-teacher__text h2 { font-size:52px; }
}
@media(max-width:1300px) {
  .hy-section--teacher .hy-teacher__text { padding:40px; }
  .hy-section--teacher .hy-teacher__text h2 { font-size:36px; }
}
@media(max-width:1200px) {
  .hy-section--teacher .hy-teacher { grid-template-columns:minmax(0,1fr); }
  .hy-section--teacher .observer-portrait-image {
    -webkit-mask-image:linear-gradient(to bottom,#000 98%,transparent);
    mask-image:linear-gradient(to bottom,#000 98%,transparent);
  }
  .hy-section--teacher .hy-teacher__text { width:100%; max-width:740px; margin:auto; padding:48px 28px 64px; }
}
@media(max-width:640px) {
  .hy-section--teacher .hy-teacher__text { padding:36px 20px 52px; }
  .hy-section--teacher .hy-teacher__text h2 { font-size:34px; }
}
