.teaching-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    padding: clamp(3.5rem, 9vw, 7.5rem) max(1.25rem, calc((100% - 74rem) / 2));
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(245, 34, 25, .2), transparent 24rem),
        linear-gradient(135deg, #111719 0%, #172522 100%);
}
.teaching-hero-copy { min-width: 0; }
.teaching-hero .eyebrow { color: #ff938c; }
.teaching-hero h1 { max-width: 16ch; margin: 0; font-size: clamp(2.7rem, 6vw, 5.4rem); line-height: 1.01; letter-spacing: -.045em; text-wrap: balance; }
.teaching-lead { max-width: 43rem; margin: 1.4rem 0 0; color: #d8e1de; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.65; }
.teaching-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.4rem; margin-top: 2rem; }
.teaching-hero .public-text-link { color: #fff; }
.teaching-hero-copy > small { display: block; max-width: 38rem; margin-top: 1.1rem; color: #b8c7c2; line-height: 1.5; }
.teaching-start-card { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid rgba(255, 255, 255, .18); border-radius: 1rem; background: rgba(255, 255, 255, .07); box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .2); }
.teaching-start-card > strong { display: block; max-width: 14ch; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.15; }
.teaching-start-card ul { margin: 1.5rem 0; padding: 0; list-style: none; }
.teaching-start-card li { position: relative; padding: .7rem 0 .7rem 1.75rem; border-bottom: 1px solid rgba(255, 255, 255, .12); color: #edf2f0; }
.teaching-start-card li::before { position: absolute; left: 0; content: "✓"; color: #ff938c; font-weight: 800; }
.teaching-start-card > p:last-child { margin: 1.25rem 0 0; color: #c8d4d0; line-height: 1.55; }
.teaching-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 74rem; margin: 0 auto; padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem; }
.teaching-principles article { min-width: 0; padding: 0 clamp(1rem, 3vw, 2.2rem); border-left: 1px solid #d7dfdc; }
.teaching-principles article:first-child { padding-left: 0; border-left: 0; }
.teaching-principles span { display: block; color: #b5201d; font-size: .78rem; font-weight: 800; letter-spacing: .14em; }
.teaching-principles strong { display: block; margin-top: .6rem; font-size: 1.3rem; }
.teaching-principles p { margin: .55rem 0 0; color: #53615e; line-height: 1.6; }
.teaching-steps { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 7rem); padding: clamp(3.5rem, 8vw, 7rem) max(1.25rem, calc((100% - 74rem) / 2)); background: #eef3f1; }
.teaching-steps h2, .teaching-product-map h2 { margin: .35rem 0 1rem; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1; letter-spacing: -.03em; }
.teaching-steps header > p:last-child { color: #53615e; line-height: 1.65; }
.teaching-steps ol { margin: 0; padding: 0; list-style: none; }
.teaching-steps li { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 1rem; padding: 1.35rem 0; border-top: 1px solid #cdd8d4; }
.teaching-steps li > span { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; color: #fff; background: #111719; font-weight: 800; }
.teaching-steps strong { font-size: 1.2rem; }
.teaching-steps li p { margin: .4rem 0 0; color: #53615e; line-height: 1.55; }
.teaching-product-map { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 7rem); padding: clamp(3.5rem, 8vw, 7rem) max(1.25rem, calc((100% - 74rem) / 2)); }
.teaching-product-map nav { display: grid; gap: .75rem; }
.teaching-product-map a { display: grid; grid-template-columns: minmax(8rem, .45fr) minmax(0, 1fr); gap: 1.2rem; padding: 1.25rem; border: 1px solid #d5ddda; border-radius: .75rem; color: #111719; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.teaching-product-map a:hover, .teaching-product-map a:focus-visible { border-color: #b5201d; transform: translateY(-2px); }
.teaching-product-map a.is-current { color: #fff; border-color: #111719; background: #111719; }
.teaching-product-map a span { color: #53615e; line-height: 1.5; }
.teaching-product-map a.is-current span { color: #ced8d4; }
@media (max-width: 800px) {
    .teaching-hero, .teaching-steps, .teaching-product-map { grid-template-columns: minmax(0, 1fr); }
    .teaching-hero { gap: 2.5rem; }
    .teaching-hero h1 { max-width: 19ch; }
    .teaching-principles { grid-template-columns: 1fr; }
    .teaching-principles article, .teaching-principles article:first-child { padding: 1.25rem 0; border-top: 1px solid #d7dfdc; border-left: 0; }
    .teaching-principles article:first-child { border-top: 0; }
}
@media (max-width: 520px) {
    .teaching-actions { align-items: stretch; flex-direction: column; }
    .teaching-actions a { justify-content: center; width: 100%; }
    .teaching-product-map a { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
}
@media (prefers-reduced-motion: reduce) {
    .teaching-product-map a { transition: none; }
}
