.practice-page h1,.practice-page h2,.practice-page h3,.practice-page p,.practice-page a,.practice-page li,.practice-page .plan-check span,.practice-page figcaption { overflow-wrap:anywhere; }
.practice-page .site-header,.practice-page .nav-links { flex-wrap:wrap; gap:1rem; }
.practice-page .button { max-width:100%; text-align:center; font-size:1.0625rem; min-height:2.75rem; }
.practice-page .button-primary { background:var(--brown); color:var(--paper); }
.practice-page a:focus-visible,.practice-page button:focus-visible,.practice-page input:focus-visible { outline:3px solid var(--brown); outline-offset:4px; }
.plan-skip { position:absolute; top:0; left:1rem; z-index:10; max-width:calc(100% - 2rem); transform:translateY(-150%); background:var(--brown); color:white; padding:1rem; }
.plan-skip:focus { transform:translateY(0); }
.plan-intro { max-width:1180px; margin:0 auto; padding:3rem 1.5rem; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr); align-items:start; gap:3rem; }
.practice-page h1 { font-size:clamp(2.6rem,5vw,4.8rem); line-height:1.06; letter-spacing:-.045em; }
.plan-lede { color:var(--muted); font-size:1.35rem; line-height:1.5; }
.plan-intro p { max-width:45rem; }
.practice-page .microcopy { font-size:.9rem; }
.plan-capture { margin:0; max-width:19rem; justify-self:center; }
.plan-capture img { width:100%; height:auto; border:6px solid var(--brown); border-radius:2rem; box-shadow:var(--shadow); }
.plan-capture figcaption { margin-top:1rem; font-size:.85rem; color:var(--muted); }
.plan-safety,.practice-plan,.plan-next { max-width:1180px; margin:0 auto; padding:1.5rem; }
.plan-safety { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.practice-page h2 { font-size:clamp(1.65rem,3vw,2.3rem); line-height:1.2; }
.plan-safety p { max-width:64rem; }
.practice-plan { padding-top:3rem; }
.plan-heading { max-width:48rem; }
.plan-progress:not([hidden]) { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin:1.5rem 0; border:1px solid var(--line); border-radius:1rem; background:var(--paper); padding:1.25rem; }
.plan-progress p { margin:0 0 .5rem; font-weight:750; }
.plan-progress progress { display:block; width:min(24rem,100%); height:1rem; accent-color:var(--brown); }
.plan-progress button { border:1px solid var(--brown); border-radius:.75rem; padding:.75rem 1rem; min-height:2.75rem; background:var(--paper); color:var(--brown); font:inherit; cursor:pointer; }
.plan-local { color:var(--muted); font-size:.95rem; }
.plan-session-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.plan-session { min-width:0; background:var(--paper); border:1px solid var(--line); border-radius:1.5rem; padding:1.5rem; }
.plan-number { color:#8b3c19; font-size:.9rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.plan-session h3 { font-size:1.45rem; line-height:1.3; margin-bottom:1rem; }
.plan-session li+li { margin-top:.6rem; }
.plan-session ul { padding-left:1.25rem; }
.plan-lesson { font-weight:750; text-underline-offset:3px; }
.plan-notice { font-size:.95rem; color:var(--muted); }
.plan-check { display:flex; align-items:start; gap:.75rem; cursor:pointer; border-top:1px solid var(--line); padding-top:1rem; min-height:2.75rem; font-weight:700; }
.plan-check input { flex:0 0 auto; width:1.35rem; height:1.35rem; margin:.15rem 0 0; accent-color:var(--brown); }
.plan-check span { min-width:0; }
.plan-next { padding-top:3rem; padding-bottom:4rem; }
.plan-next p { max-width:48rem; }
@media(max-width:800px) { .plan-intro { grid-template-columns:1fr; gap:2rem; padding-top:2rem; } .plan-capture { max-width:15rem; } .plan-session-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .practice-page { scroll-behavior:auto; } .practice-page .button { transition:none; } }
@media print { .practice-page .site-header,.practice-page .site-footer,.plan-progress,.plan-capture,.plan-skip,.plan-next .actions { display:none; } .practice-page { background:white; color:black; } .plan-intro { display:block; padding:0; } .plan-session-grid { display:block; } .plan-session { break-inside:avoid; margin-bottom:1rem; box-shadow:none; } }
