.teacher-page { background:#f3f0e8; color:#182721; }
.teacher-wrap { width:min(1040px,calc(100% - 64px)); margin-inline:auto; padding:48px 0 80px; font-size:17px; line-height:1.65; }
.teacher-wrap *, .teacher-wrap *::before, .teacher-wrap *::after { box-sizing:border-box; }
.teacher-wrap [hidden] { display:none!important; }
.teacher-wrap h1,.teacher-wrap h2,.teacher-wrap h3 { color:#182721; text-wrap:balance; }
.teacher-wrap h1 { max-width:800px; margin:8px 0 22px; font-family:var(--font-heading); font-size:clamp(32px,4vw,46px); font-weight:700; line-height:1.12; letter-spacing:-.8px; }
.teacher-wrap h2 { margin:8px 0 16px; font-size:clamp(25px,3vw,32px); font-weight:600; line-height:1.22; letter-spacing:-.4px; }
.teacher-wrap h3 { margin:0 0 14px; font-size:21px; line-height:1.3; font-weight:600; }
.teacher-wrap p { margin:0 0 18px; }
.teacher-wrap a,.teacher-wrap button,.teacher-wrap select,.teacher-wrap textarea { font:inherit; }
.teacher-wrap a:focus-visible,.teacher-wrap button:focus-visible,.teacher-wrap select:focus-visible,.teacher-wrap textarea:focus-visible,.teacher-wrap summary:focus-visible { outline:3px solid #ba542f; outline-offset:4px; }
.teacher-kicker,.teacher-section-title>span { display:block; font-size:16px; font-weight:600; color:#315c48; }
.teacher-intro { padding-bottom:40px; border-bottom:2px solid #182721; }
.teacher-intro-actions,.teacher-tool-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.teacher-lead { max-width:690px; font-size:20px; color:#4a5650; }
.teacher-primary,.teacher-secondary { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 20px; border:1px solid #315c48; border-radius:3px; text-decoration:none; font-weight:600; line-height:1.35; text-align:center; cursor:pointer; }
.teacher-primary { color:#fff!important; background:#315c48; }
.teacher-primary:hover { background:#254b39; }
.teacher-secondary { color:#182721; background:transparent; border-color:#a8b0a6; }
.teacher-secondary:hover { background:#e8e7dd; }
.teacher-use { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:36px 0; border-bottom:1px solid #c6c9be; }
.teacher-use h2 { font-size:22px; margin-top:0; }
.teacher-use p { color:#4a5650; }
.teacher-builder { padding:44px 0; scroll-margin-top:88px; border-bottom:1px solid #c6c9be; }
.teacher-section-title { max-width:760px; margin-bottom:25px; }
.teacher-section-title p { color:#4a5650; }
.teacher-fields { display:grid; grid-template-columns:1.2fr 1.2fr 1fr; gap:20px; }
.teacher-fields label,.teacher-output>label { display:grid; gap:8px; font-weight:600; min-width:0; }
.teacher-fields select { width:100%; max-width:100%; min-height:50px; padding:10px 34px 10px 12px; color:#182721; background:#fffdf7; border:1px solid #8c988e; border-radius:3px; font-size:16px; text-overflow:ellipsis; }
.teacher-scope { margin:18px 0 24px!important; max-width:760px; color:#5b625b; font-size:16px; }
.teacher-output { margin-top:32px; padding:28px; border:1px solid #8d9c8c; background:#faf8f1; scroll-margin-top:92px; }
.teacher-output>p { color:#4a5650; }
.teacher-output textarea { width:100%; min-height:330px; resize:vertical; padding:16px; border:1px solid #a5afa3; border-radius:2px; background:#fffdf7; color:#182721; font-size:16px; line-height:1.6; font-weight:400; }
.teacher-output-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.teacher-output .teacher-local-note { font-size:16px; }
.teacher-feedback { min-height:1.65em; color:#315c48!important; font-size:16px; font-weight:600; }
.teacher-lesson { padding:42px 0; }
.teacher-context { margin:0 0 28px; }
.teacher-context>div { padding:15px 0; border-top:1px solid #c6c9be; }
.teacher-context dt { font-weight:600; margin-bottom:8px; }
.teacher-context dd { margin:0; color:#4a5650; max-width:850px; }
.teacher-plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.teacher-plan-grid ol { margin:0; padding-left:24px; }
.teacher-plan-grid li { padding-left:5px; margin-bottom:14px; }
.teacher-plan-grid p { color:#4a5650; }
.teacher-answer { margin-top:24px; border-top:1px solid #8d9c8c; border-bottom:1px solid #8d9c8c; }
.teacher-answer summary { min-height:56px; padding:14px 5px; font-weight:600; color:#315c48; cursor:pointer; }
.teacher-answer>div { padding:12px 5px 20px; max-width:850px; }
.teacher-answer ul { padding-left:24px; }
.teacher-answer li { margin-bottom:10px; }
.teacher-boundaries { padding:34px 0 0; border-top:2px solid #182721; }
.teacher-boundaries dl { margin:0 0 24px; }
.teacher-boundaries dl>div { display:grid; grid-template-columns:230px 1fr; gap:24px; padding:16px 0; border-bottom:1px solid #c6c9be; }
.teacher-boundaries dt { font-weight:600; }
.teacher-boundaries dd { margin:0; color:#4a5650; }
.teacher-text-link { display:inline-flex; align-items:center; min-height:44px; color:#315c48; text-decoration:underline; text-underline-offset:4px; font-weight:600; }
@media(max-width:800px) {
  .teacher-fields { grid-template-columns:1fr; gap:18px; }
  .teacher-use,.teacher-plan-grid { gap:24px; }
  .teacher-boundaries dl>div { grid-template-columns:1fr; gap:6px; }
}
@media(max-width:560px) {
  .teacher-wrap { width:calc(100% - 36px); padding:28px 0 45px; font-size:16px; }
  .teacher-wrap h1 { font-size:36px; letter-spacing:-.6px; }
  .teacher-lead { font-size:18px; }
  .teacher-intro { padding-bottom:28px; }
  .teacher-use,.teacher-plan-grid { grid-template-columns:1fr; gap:22px; }
  .teacher-use { padding:26px 0; }
  .teacher-builder,.teacher-lesson { padding:30px 0; }
  .teacher-output { margin-top:24px; padding:18px 14px; }
  .teacher-output textarea { min-height:380px; padding:12px; }
  .teacher-output-actions { display:grid; grid-template-columns:1fr; }
  .teacher-primary { width:100%; }
  .teacher-answer summary { padding-block:16px; }
}
@media(prefers-reduced-motion:reduce) { .teacher-wrap { scroll-behavior:auto; } }
