/* Independent-teacher landing page. Shared company chrome keeps its existing tokens. */
body.teachers-page { --muted: #5f6665; overflow-wrap: break-word; }
body.teachers-page .wrap { width: min(76rem, calc(100% - 4rem)); }
body.teachers-page .teacher-eyebrow { color: var(--primary); font-size: .6875rem; font-weight: 650; line-height: 1.6; letter-spacing: .1em; }
body.teachers-page .teacher-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 4rem; padding-block: 4.5rem; }
body.teachers-page .teacher-hero h1 { margin-block: 1.125rem 1.5rem; font-size: clamp(2rem, 4.1vw, 3.5rem); letter-spacing: -.06em; line-height: 1.18; }
body.teachers-page .teacher-hero h1 span { color: var(--primary); }
body.teachers-page .teacher-lede { max-width: 33rem; color: var(--muted); font-size: 1.0625rem; line-height: 1.7; }
body.teachers-page .teacher-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 1.75rem; }
body.teachers-page .teacher-actions .button { gap: 1rem; }
body.teachers-page .text-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 2.75rem; color: var(--primary); font-size: .8125rem; white-space: normal; }
body.teachers-page .teacher-hero-note { margin-top: 1.5rem; font-size: .8125rem; color: var(--muted); }
body.teachers-page .teacher-week { padding: 1.75rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); box-shadow: .65rem .65rem 0 var(--accent-soft); }
body.teachers-page .teacher-week-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-bottom: 1.25rem; }
body.teachers-page .teacher-example-label { display: block; font-size: .6875rem; letter-spacing: .035em; }
body.teachers-page .teacher-week h2 { margin-top: .375rem; font-family: var(--body); font-size: 1.5rem; line-height: 1.3; letter-spacing: -.04em; }
body.teachers-page .teacher-week-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .75rem; background: var(--lavender); color: var(--primary); flex: none; }
body.teachers-page .teacher-week-list { margin: 0; padding: 0; list-style: none; }
body.teachers-page .teacher-week-list li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1rem; padding-block: 1.125rem; border-top: 1px solid var(--line); }
body.teachers-page .teacher-day { display: flex; flex-direction: column; gap: .375rem; align-items: center; padding-top: .15rem; font-size: .75rem; color: var(--primary); }
body.teachers-page .teacher-day b { font-size: .6875rem; letter-spacing: .06em; }
body.teachers-page .teacher-week-list h3 { font-size: 1rem; }
body.teachers-page .teacher-week-list p { margin-top: .25rem; font-size: .75rem; color: var(--muted); }
body.teachers-page .teacher-pill { display: inline-block; padding: .25rem .5rem; border-radius: .25rem; background: var(--accent-soft); color: var(--ink); font-size: .6875rem; line-height: 1.5; }
body.teachers-page .teacher-week-list .teacher-pill { margin-top: .5rem; }
body.teachers-page .teacher-week-footer { display: flex; align-items: center; gap: .5rem; padding-top: .5rem; font-size: .75rem; color: var(--primary); }
body.teachers-page .teacher-flow-section { padding-block: 3.5rem; background: var(--lavender); }
body.teachers-page .teacher-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2.5rem; margin-bottom: 1.75rem; }
body.teachers-page .teacher-section-heading h2, body.teachers-page .teacher-newsletter h2, body.teachers-page .teacher-close h2 { margin-top: .75rem; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.35; letter-spacing: -.05em; }
body.teachers-page .teacher-section-heading > div { max-width: 39rem; }
body.teachers-page .teacher-section-heading > p { max-width: 23rem; color: var(--muted); font-size: .9375rem; }
body.teachers-page .teacher-flow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
body.teachers-page .teacher-flow-card { min-width: 0; padding: .75rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--paper); }
body.teachers-page .teacher-flow-art { min-height: 17rem; border-radius: .375rem; overflow: hidden; }
body.teachers-page .teacher-mini-site { position: relative; display: flex; flex-direction: column; align-items: start; padding: 1.5rem; background: var(--accent-soft); }
body.teachers-page .teacher-mini-site > p { position: relative; font-size: .6875rem; font-weight: 550; }
body.teachers-page .teacher-mini-site h3 { position: relative; max-width: 10rem; margin-top: 2rem; font-family: var(--display); font-size: 1.625rem; letter-spacing: -.065em; line-height: 1.18; }
body.teachers-page .teacher-mini-site h3 + p { margin-top: .65rem; }
body.teachers-page .teacher-mini-site-pattern { position: absolute; right: -2rem; top: 2.5rem; width: 8rem; height: 8rem; border: 1.6rem solid var(--paper); border-radius: 50%; }
body.teachers-page .teacher-mini-site-pattern::after { content: ""; position: absolute; left: -1.25rem; bottom: -5rem; width: 5rem; height: 5rem; background: var(--lavender); border-radius: 50% 50% 0 0; transform: rotate(-35deg); }
body.teachers-page .teacher-static-action { position: relative; display: inline-flex; gap: .5rem; align-items: center; margin-top: auto; padding-top: 1.25rem; font-size: .6875rem; font-weight: 600; }
body.teachers-page .teacher-mini-booking { display: flex; flex-direction: column; align-items: start; padding: 1.25rem; background: var(--ground); }
body.teachers-page .teacher-mini-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-bottom: .75rem; border-radius: .5rem; background: var(--lavender); color: var(--primary); }
body.teachers-page .teacher-mini-booking h3 { font-size: 1rem; }
body.teachers-page .teacher-mini-booking > p { margin-top: .25rem; font-size: .75rem; color: var(--muted); }
body.teachers-page .teacher-mini-booking dl { width: 100%; margin-block: .75rem 0; font-size: .6875rem; }
body.teachers-page .teacher-mini-booking dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem .75rem; padding-block: .5rem; border-top: 1px solid var(--line); }
body.teachers-page .teacher-mini-booking dd { margin: 0; font-weight: 600; }
body.teachers-page .teacher-mini-booking .teacher-static-action { padding-top: .75rem; color: var(--primary); }
body.teachers-page .teacher-mini-roster { padding: 1.25rem; background: var(--ground); }
body.teachers-page .teacher-mini-roster-head { display: flex; justify-content: space-between; gap: .75rem; align-items: center; margin-bottom: 1rem; }
body.teachers-page .teacher-mini-roster-head h3 { font-size: 1rem; }
body.teachers-page .teacher-mini-roster-head > svg { color: var(--primary); }
body.teachers-page .teacher-mini-roster ul { padding: 0; margin: 0; list-style: none; }
body.teachers-page .teacher-mini-roster li { display: flex; gap: .625rem; align-items: center; padding-block: .65rem; border-top: 1px solid var(--line); }
body.teachers-page .teacher-avatar { display: inline-grid; place-items: center; width: 2rem; height: 2rem; flex: none; border-radius: 50%; background: var(--lavender); color: var(--primary); font-size: .6875rem; }
body.teachers-page .teacher-mini-roster b { display: block; font-size: .75rem; }
body.teachers-page .teacher-mini-roster small { display: block; font-size: .6875rem; color: var(--muted); }
body.teachers-page .teacher-mini-roster li > svg { width: 1rem; height: 1rem; margin-left: auto; color: var(--primary); flex: none; }
body.teachers-page .teacher-mini-roster > p { margin-top: .75rem; color: var(--muted); font-size: .6875rem; }
body.teachers-page .teacher-flow-caption { display: flex; gap: .75rem; padding: 1.25rem .5rem .5rem; }
body.teachers-page .teacher-flow-caption > span { color: var(--primary); font-size: .6875rem; font-weight: 600; }
body.teachers-page .teacher-flow-caption h3 { font-size: 1rem; }
body.teachers-page .teacher-flow-caption p { margin-top: .5rem; color: var(--muted); font-size: .8125rem; }
body.teachers-page .teacher-section-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: 1.25rem; }
body.teachers-page .teacher-section-footer p { max-width: 43rem; color: var(--muted); font-size: .75rem; }
body.teachers-page .teacher-formats { padding-block: 3.5rem; }
body.teachers-page .teacher-format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
body.teachers-page .teacher-format-card { min-width: 0; border: 1px solid var(--line); border-radius: .75rem; overflow: hidden; background: var(--paper); }
body.teachers-page .teacher-format-visual { padding: 1.75rem; min-height: 14.75rem; }
body.teachers-page .teacher-membership { background: var(--accent-soft); }
body.teachers-page .teacher-member-card { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: 1rem; margin-top: 1rem; border-radius: .5rem; background: var(--paper); font-size: .8125rem; }
body.teachers-page .teacher-member-card p { color: var(--muted); font-size: .75rem; }
body.teachers-page .teacher-member-card > .teacher-pill { margin-left: auto; }
body.teachers-page .teacher-member-next { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; font-size: .6875rem; }
body.teachers-page .teacher-member-next > svg { color: var(--primary); flex: none; }
body.teachers-page .teacher-member-next b { display: block; margin-top: .2rem; font-size: .75rem; }
body.teachers-page .teacher-workshop { background: var(--primary); color: var(--paper); }
body.teachers-page .teacher-workshop-title { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; }
body.teachers-page .teacher-workshop-title h3 { max-width: 20rem; font-family: var(--display); font-size: 1.75rem; letter-spacing: -.05em; }
body.teachers-page .teacher-workshop-title > svg { width: 2.5rem; height: 2.5rem; flex: none; }
body.teachers-page .teacher-workshop-details { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; padding-top: .75rem; border-top: 1px solid currentColor; font-size: .6875rem; }
body.teachers-page .teacher-workshop > p { margin-top: .5rem; font-size: .6875rem; }
body.teachers-page .teacher-workshop-flow { display: flex; align-items: center; flex-wrap: wrap; gap: .25rem; }
body.teachers-page .teacher-workshop-flow > svg { width: .875rem; height: .875rem; }
body.teachers-page .teacher-format-copy { padding: 1.5rem 1.75rem; }
body.teachers-page .teacher-format-copy h3 { font-size: 1.125rem; }
body.teachers-page .teacher-format-copy p { margin-top: .625rem; color: var(--muted); font-size: .875rem; }
body.teachers-page .teacher-format-link { margin-top: 1rem; }
body.teachers-page .teacher-newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; padding: 2.5rem; background: var(--accent-soft); border-radius: 1rem; }
body.teachers-page .teacher-newsletter-copy > p:not(.teacher-eyebrow) { margin-top: 1rem; color: var(--muted); font-size: .9375rem; }
body.teachers-page .teacher-newsletter-copy > a { margin-top: .75rem; }
body.teachers-page .teacher-newsletter-preview { border: 1px solid var(--line); border-radius: .5rem; background: var(--paper); overflow: hidden; }
body.teachers-page .teacher-newsletter-subject { display: flex; align-items: center; gap: .625rem; padding: .75rem 1.25rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .6875rem; }
body.teachers-page .teacher-newsletter-body { padding: 1.5rem; }
body.teachers-page .teacher-letter-brand { color: var(--primary); font-size: .6875rem; font-weight: 650; }
body.teachers-page .teacher-newsletter-body h3 { margin-top: 1rem; max-width: 15rem; font-family: var(--display); font-size: 1.375rem; letter-spacing: -.04em; line-height: 1.3; }
body.teachers-page .teacher-newsletter-body > p:not(.teacher-letter-brand) { margin-top: .75rem; color: var(--muted); font-size: .75rem; }
body.teachers-page .teacher-newsletter-event { display: flex; flex-direction: column; align-items: start; gap: .25rem; padding: 1rem; margin-top: 1rem; background: var(--lavender); border-radius: .25rem; font-size: .75rem; }
body.teachers-page .teacher-newsletter-event b { margin-top: .375rem; font-size: 1rem; }
body.teachers-page .teacher-letter-link { display: inline-flex; align-items: center; gap: .5rem; margin-top: .375rem; color: var(--primary); font-weight: 600; }
body.teachers-page .teacher-start { padding-block: 3.5rem; }
body.teachers-page .teacher-start-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; padding: 0; margin: 0; list-style: none; }
body.teachers-page .teacher-start-steps li { border-top: 1px solid var(--line); padding-top: 1rem; }
body.teachers-page .teacher-start-steps li > span { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--lavender); color: var(--primary); font-size: .75rem; }
body.teachers-page .teacher-start-steps h3 { margin-top: 1rem; font-size: 1.0625rem; }
body.teachers-page .teacher-start-steps p { margin-top: .5rem; max-width: 22rem; color: var(--muted); font-size: .875rem; }
body.teachers-page .teacher-start .teacher-section-footer { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1.75rem; }
body.teachers-page .teacher-questions { display: grid; grid-template-columns: 1fr 1.6fr; gap: 3rem; padding-block: 1rem 3.5rem; }
body.teachers-page .teacher-questions h2 { font-size: 1.5rem; letter-spacing: -.05em; line-height: 1.4; }
body.teachers-page .teacher-question-list details { border-top: 1px solid var(--line); }
body.teachers-page .teacher-question-list details:last-child { border-bottom: 1px solid var(--line); }
body.teachers-page .teacher-question-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.75rem; padding-block: .875rem; list-style: none; cursor: pointer; font-size: .9375rem; font-weight: 600; }
body.teachers-page .teacher-question-list summary::-webkit-details-marker { display: none; }
body.teachers-page .teacher-question-list summary > svg { flex: none; }
body.teachers-page .teacher-question-list details[open] summary > svg { transform: rotate(180deg); }
body.teachers-page .teacher-question-list details p { max-width: 38rem; padding-bottom: 1rem; color: var(--muted); font-size: .875rem; }
body.teachers-page .teacher-question-list details .text-link { margin-bottom: .75rem; }
body.teachers-page .teacher-close { display: flex; justify-content: space-between; align-items: center; gap: 2.5rem; padding-block: 2.5rem 3.5rem; border-top: 1px solid var(--line); }
body.teachers-page .teacher-close > div:first-child { max-width: 39rem; }
body.teachers-page .teacher-close p:not(.teacher-eyebrow) { margin-top: 1rem; font-size: .9375rem; color: var(--muted); }
body.teachers-page .teacher-close .teacher-actions { flex-direction: column; align-items: start; flex: none; margin-top: 0; }
@media (max-width: 1050px) {
  body.teachers-page .teacher-hero { gap: 2rem; }
  body.teachers-page .teacher-section-heading { align-items: start; }
  body.teachers-page .teacher-newsletter { gap: 2rem; }
  body.teachers-page .teacher-flow-art { min-height: 18rem; }
  body.teachers-page .teacher-mini-roster, body.teachers-page .teacher-mini-booking, body.teachers-page .teacher-mini-site { padding: 1rem; }
}
@media (max-width: 760px) {
  body.teachers-page .wrap { width: calc(100% - 2rem); }
  body.teachers-page .teacher-hero { grid-template-columns: 1fr; gap: 2.25rem; padding-block: 2.5rem; }
  body.teachers-page .teacher-hero h1 { font-size: clamp(2rem, 7.5vw, 3.5rem); }
  body.teachers-page .teacher-week { box-shadow: .35rem .35rem 0 var(--accent-soft); padding: 1.25rem; }
  body.teachers-page .teacher-flow-section, body.teachers-page .teacher-formats, body.teachers-page .teacher-start { padding-block: 2.5rem; }
  body.teachers-page .teacher-section-heading { display: block; }
  body.teachers-page .teacher-section-heading > p { margin-top: 1rem; max-width: none; }
  body.teachers-page .teacher-flow-grid, body.teachers-page .teacher-format-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  body.teachers-page .teacher-flow-art { min-height: 16rem; }
  body.teachers-page .teacher-mini-site { padding: 1.5rem; }
  body.teachers-page .teacher-mini-site-pattern { right: 2rem; width: 10rem; height: 10rem; }
  body.teachers-page .teacher-mini-booking, body.teachers-page .teacher-mini-roster { padding: 1.5rem; }
  body.teachers-page .teacher-newsletter { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.5rem; }
  body.teachers-page .teacher-start-steps { grid-template-columns: 1fr; gap: 1.25rem; }
  body.teachers-page .teacher-start-steps p { max-width: none; }
  body.teachers-page .teacher-questions { grid-template-columns: 1fr; gap: 1.5rem; padding-block: .5rem 2.5rem; }
  body.teachers-page .teacher-close { display: block; padding-block: 2rem 2.5rem; }
  body.teachers-page .teacher-close .teacher-actions { margin-top: 1.5rem; }
}
@media (max-width: 380px) {
  body.teachers-page .teacher-week { padding: 1rem; }
  body.teachers-page .teacher-week h2 { font-size: 1.25rem; }
  body.teachers-page .teacher-week-list li { grid-template-columns: 2.75rem minmax(0, 1fr); gap: .625rem; }
  body.teachers-page .teacher-format-visual, body.teachers-page .teacher-format-copy, body.teachers-page .teacher-newsletter { padding: 1.25rem; }
  body.teachers-page .teacher-workshop-title h3 { font-size: 1.5rem; }
  body.teachers-page .teacher-workshop-title > svg { width: 2rem; height: 2rem; }
  body.teachers-page .teacher-newsletter-body { padding: 1.125rem; }
}
