@font-face{font-family:Bitter;src:url('/assets/fonts/bitter-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#221812;--muted:#6d625a;--accent:#9d4204;--accent-dark:#723002;--paper:#fff;--wash:#faf5ef;--line:#e5d9cb;--court:#f0dec5;--focus:#176b82;--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s6:3rem;--s8:4rem;--radius:1rem;--body:1.125rem;--small:.875rem;--label:1rem;--h3:1.375rem;--h2:2rem;--card-title:1.25rem;--collection-title:clamp(2rem,3.3vw,3rem);--h1:clamp(2.25rem,4.4vw,3.75rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);background:var(--paper);font:var(--body)/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}h1,h2,h3,h4,p,figure,ul,ol,dl{margin:0}h1,h2,h3,h4{font-family:Bitter,Georgia,serif;font-weight:700;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:var(--h3)}h4{font-size:1.125rem}p{max-width:70ch}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}img,svg{max-width:100%;display:block}img{height:auto}button,select,input{min-height:2.75rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a,button{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}::selection{background:#efd5b6}main{min-height:65vh}.wrap{width:min(80rem,calc(100% - 4rem));margin-inline:auto}.narrow{max-width:52rem;margin-inline:auto}.section{padding-block:var(--s6)}.section+.section{border-top:1px solid var(--line)}.stack>*+*{margin-top:var(--s3)}.eyebrow{font-size:var(--small);line-height:1.4;font-weight:750;letter-spacing:.075em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--muted)}.lede{font-size:1.25rem;line-height:1.6;color:var(--muted)}.skip{position:absolute;top:-6rem;left:1rem;padding:.75rem 1rem;background:var(--ink);color:white;z-index:100}.skip:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:white}.header-inner{min-height:4.5rem;display:flex;gap:2rem;align-items:center;justify-content:space-between}.brand img{width:13.5rem;max-width:100%;height:2.5rem;object-fit:contain;object-position:left}.main-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:var(--label);font-weight:650}.main-nav a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem .875rem;border-radius:.5rem;white-space:nowrap}.main-nav a:hover{background:var(--wash);color:var(--accent)}.main-nav a[aria-current=page]{background:#f6e7d7;color:var(--accent-dark)}.breadcrumb{font-size:var(--small);color:var(--muted);padding-top:var(--s2);display:flex;gap:.5rem;flex-wrap:wrap}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.page-head{padding-block:var(--s6);display:grid;gap:var(--s2)}.page-head .lede{max-width:52ch}.hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:center;padding-block:var(--s6)}.hero-copy{display:grid;gap:var(--s3);justify-items:start}.hero h1{max-width:17ch}.hero p{max-width:38ch}.hero img{width:100%;aspect-ratio:1.22;object-fit:cover;border-radius:var(--radius)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3rem;padding:.75rem 1.25rem;border:1px solid var(--accent);border-radius:.5rem;background:var(--accent);color:#fff;font-size:var(--label);font-weight:700;line-height:1.4;text-align:center}.button:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;box-shadow:0 3px 0 #22181214}.button.secondary{background:white;color:var(--accent)}.button.secondary:hover{background:var(--wash);color:var(--accent-dark)}.arrow{font-family:system-ui,sans-serif;font-size:1.5rem;line-height:1;flex-shrink:0}.text-link{color:var(--accent);font-weight:700;display:inline-flex;align-items:center;gap:.75rem;font-size:var(--label);border-radius:.3rem;padding:.25rem 0}.text-link:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:.25rem}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}.section-title p{font-size:var(--label);color:var(--muted)}.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.path-card{display:grid;grid-template-rows:auto 1fr auto;padding:var(--s3);gap:var(--s2);border:1px solid var(--line);border-radius:var(--radius)}.path-card:hover{border-color:var(--accent);background:var(--wash);box-shadow:0 3px 12px #22181209}.path-card p{color:var(--muted);font-size:var(--label)}.path-card .path-visual{height:7rem;color:var(--accent);display:grid;align-items:center;margin-bottom:.5rem}.path-visual svg{height:7rem;width:100%}.card-end{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--accent);font-size:var(--label);font-weight:700}.practice-band{padding:var(--s6);background:var(--ink);color:white;border-radius:var(--radius);display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s6);align-items:center}.practice-band p{color:#dfcec0;margin-block:var(--s2) var(--s3)}.practice-band .eyebrow{color:#f3bc87}.practice-band .button{background:#eac39b;color:var(--ink);border-color:#eac39b}.practice-band .button:hover{background:#f8daba}.practice-preview{list-style:none;display:grid;gap:1rem}.practice-preview li{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #ffffff2e;font-size:var(--label)}.practice-preview b{color:#eac39b;font-size:1.5rem}.practice-preview span:last-child{font-size:var(--small);color:#dfcec0}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s2);padding:var(--s2);border:1px solid var(--line);background:var(--wash);border-radius:var(--radius);margin-bottom:var(--s3);align-items:end}.field{display:grid;gap:.5rem;font-size:var(--label);min-width:0}.field>span,.field>label{font-weight:650}.field input,.field select{width:100%;min-width:0;background:white;border:1px solid #bbae9e;border-radius:.4rem;padding:.6rem .75rem;color:var(--ink)}input[type=search]{appearance:none}input::placeholder{color:#82776b}.result-heading{display:flex;gap:var(--s2);justify-content:space-between;align-items:center;margin-bottom:var(--s3);flex-wrap:wrap}.result-heading p{font-size:var(--label);color:var(--muted)}.clear-button{border:1px solid transparent;background:transparent;color:var(--accent);font-size:var(--label);padding:.3rem .5rem;border-radius:.35rem}.clear-button:hover{background:var(--wash)}[hidden]{display:none!important}.drill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.drill-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:clip;display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;background:white}.drill-card:hover{border-color:var(--accent);box-shadow:0 4px 16px #2218120d;background:#fffcf8}.drill-card:focus-visible{outline-offset:4px}.drill-card>img{width:100%;aspect-ratio:1.6;object-fit:cover;border-bottom:1px solid var(--line);background:var(--wash)}.drill-card>.eyebrow{padding:var(--s3) var(--s3) .5rem}.drill-card>h3{padding:0 var(--s3) var(--s2)}.drill-card>.summary{padding:0 var(--s3) var(--s3);font-size:var(--label);color:var(--muted);line-height:1.55}.drill-card>.card-facts{padding:0 var(--s3) var(--s3);font-size:var(--small);display:flex;gap:.75rem;align-items:center;justify-content:space-between;color:var(--muted)}.card-facts .arrow{color:var(--accent)}.empty{padding:var(--s6);border:1px dashed var(--line);border-radius:var(--radius);background:var(--wash)}.empty p{margin-block:var(--s2)}.detail-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s6);padding-block:var(--s6);align-items:center}.detail-hero h1{font-size:clamp(2rem,3.5vw,3rem)}.detail-hero>img{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--wash)}.detail-hero .stack{min-width:0}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);font-size:var(--label);padding-block:var(--s3);border-block:1px solid var(--line)}dt{color:var(--muted);font-size:var(--small);margin-bottom:.25rem}dd{margin:0}.instruction-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--s6);padding-bottom:var(--s6)}.steps{padding:0;list-style:none;counter-reset:step;display:grid;gap:var(--s3);margin-top:var(--s3)}.steps li{counter-increment:step;display:grid;grid-template-columns:2.5rem 1fr;gap:var(--s2);align-items:start}.steps li:before{content:counter(step);font-weight:750;color:var(--accent);border-radius:50%;border:1px solid var(--line);height:2.5rem;display:grid;place-items:center}.coaching-note{padding:var(--s3);background:var(--wash);border:1px solid var(--line);border-radius:var(--radius);align-self:start}.coaching-note h2{font-size:var(--h3)}.coaching-note p{font-size:var(--label);margin-top:var(--s2)}.variants{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding-block:var(--s3) var(--s6)}.variants>div{border-top:1px solid var(--line);padding-top:var(--s3)}.variants p{font-size:var(--label);margin-top:var(--s2)}.learn-grid{container-type:inline-size;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.lesson-card{display:grid;grid-template-columns:6rem 1fr;gap:var(--s3);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3);align-items:center}.lesson-card:hover{background:var(--wash);border-color:var(--accent)}.lesson-card .number{width:6rem;aspect-ratio:1;background:var(--court);border-radius:50%;display:grid;place-items:center;font:700 2rem/1 Bitter,Georgia,serif;color:var(--accent-dark)}.lesson-card p{font-size:var(--label);color:var(--muted);margin-top:.75rem}.lesson-card .card-end{margin-top:1rem}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s6);align-items:start;padding-bottom:var(--s6)}.court-frame{background:#f2e4d1;border-radius:var(--radius);padding:var(--s3);border:1px solid var(--line)}.court-frame svg{width:100%;height:auto}.choice-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--s3)}.choice{min-height:2.75rem;display:inline-flex;gap:.6rem;align-items:center;border:1px solid var(--line);border-radius:.5rem;background:white;padding:.5rem .9rem;font-size:var(--label);color:var(--ink);font-weight:600;line-height:1.5}.choice:hover{background:var(--wash);border-color:var(--accent)}.choice[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.choice-list.vertical{display:grid}.choice-list.vertical .choice{justify-content:space-between;text-align:left}.explanation{padding:var(--s3);border:1px solid var(--line);background:var(--wash);border-radius:var(--radius)}.explanation h2{font-size:1.75rem}.explanation p{margin-top:var(--s2)}.lesson-next{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-block:var(--s3);border-top:1px solid var(--line);margin-top:var(--s4)}.lesson-next p{font-size:var(--small);color:var(--muted)}.lesson-next a{font-weight:700;color:var(--accent);padding:.75rem 0}.clock-panel{background:var(--ink);color:white;border-radius:var(--radius);padding:var(--s6);display:grid;gap:var(--s3);justify-items:center;text-align:center}.clock-value{font:700 clamp(5rem,10vw,8rem)/1 system-ui,sans-serif;color:#f5c596;font-variant-numeric:tabular-nums}.clock-panel .eyebrow{color:#dfcec0}.clock-panel p{font-size:var(--label);max-width:33ch;color:#dfcec0}.reference-note{font-size:var(--small);color:var(--muted);margin-top:var(--s3)}.reference-note a{border-bottom:1px solid #b6a89b}.reference-note a:hover{color:var(--accent)}.builder{display:grid;grid-template-columns:19rem minmax(0,1fr);gap:var(--s6);align-items:start}.builder-controls{padding:min(var(--s3),4vw);border:1px solid var(--line);border-radius:var(--radius);background:var(--wash);display:grid;gap:var(--s3);position:sticky;top:1.5rem}.builder-controls h2{font-size:var(--h3)}.builder-result{min-width:0}.plan-title{display:flex;align-items:baseline;gap:var(--s3);justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--s3)}.plan-title p{color:var(--muted);font-size:var(--label)}.plan-rows{display:grid;gap:var(--s2);list-style:none;padding:0}.plan-row{padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:7rem minmax(0,1fr) 5rem;gap:var(--s3);align-items:start}.plan-row>img{width:100%;border-radius:.5rem;background:var(--wash)}.plan-row h3{font-size:1.25rem}.plan-row h3 a:hover{color:var(--accent)}.plan-row .plan-steps{margin-top:.75rem;padding-left:1.2rem;font-size:var(--label);color:var(--muted)}.plan-row .field{font-size:var(--small)}.plan-row .field input{font-size:var(--label)}.plan-actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}.library-filter{grid-template-columns:2fr 1fr}.guide-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.guide-card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3);display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--s3);align-items:start}.guide-card:hover{border-color:var(--accent);background:var(--wash)}.guide-card img{width:7rem;aspect-ratio:1;object-fit:cover;border-radius:.6rem;background:var(--wash)}.guide-card h2,.guide-card h3{font-size:1.25rem;margin-block:.5rem 1rem}.guide-card time{color:var(--muted);font-size:var(--small)}.article-header{padding-block:var(--s4) var(--s6);max-width:63rem;display:grid;gap:var(--s2)}.article-header h1{font-size:clamp(2rem,3.25vw,3rem)}.article-grid{display:grid;grid-template-columns:12rem minmax(0,1fr) 10rem;grid-template-areas:'toc body meta';gap:var(--s4);align-items:start;padding-bottom:var(--s8)}.article-toc{grid-area:toc}.article-toc,.article-meta{position:sticky;top:1.5rem;max-height:calc(100svh - 3rem);overflow:auto;scrollbar-width:thin;align-self:start;font-size:var(--small)}.article-toc h2{font:700 var(--label)/1.4 system-ui,sans-serif;margin-bottom:1rem}.article-toc ol{list-style:none;display:grid;gap:.2rem;padding:0;border-left:1px solid var(--line)}.article-toc a{display:block;padding:.5rem .75rem;color:var(--muted);border-left:2px solid transparent;margin-left:-1px;line-height:1.5}.article-toc a:hover{background:var(--wash);color:var(--accent)}.article-toc a[aria-current=location]{border-color:var(--accent);color:var(--accent);background:var(--wash)}.article-meta{grid-area:meta}.article-meta dl{display:grid;gap:var(--s3)}.article-meta dt{font-weight:700;color:var(--ink);font-size:var(--small)}.article-meta dd{color:var(--muted);margin-top:.35rem}.article-body{grid-area:body;min-width:0;max-width:48rem;font-size:var(--body);line-height:1.8}.article-body>img{width:100%;max-height:30rem;object-fit:cover;border-radius:var(--radius);margin-bottom:var(--s4)}.article-body p{margin-bottom:var(--s3)}.article-body h2{font-size:1.75rem;margin-block:var(--s6) var(--s3);scroll-margin-top:2rem}.article-body h3{font-size:1.3rem;margin-block:var(--s4) var(--s2);scroll-margin-top:2rem}.article-body h4{margin-block:var(--s3) var(--s2)}.article-body ul,.article-body ol{padding-left:1.4rem;margin-block:var(--s2) var(--s3)}.article-body li{margin-bottom:.5rem}.article-body a{color:var(--accent);text-decoration:underline;text-decoration-color:#9d420455;text-underline-offset:.2em}.article-body a:hover{text-decoration-color:var(--accent)}.article-body figure{margin-block:var(--s3)}.article-body blockquote{margin:var(--s3) 0;padding:1rem 1.5rem;background:var(--wash);border-left:3px solid var(--accent)}.article-body .table-scroll{max-width:100%;overflow-x:auto;margin-block:var(--s3)}table{border-collapse:collapse;line-height:1.5;font-size:var(--label);width:100%}td,th{padding:.85rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--wash);font-weight:700}.article-body img{max-width:100%;height:auto}.article-body details{border:1px solid var(--line);padding:1rem;border-radius:.5rem}.article-body summary{font-weight:700;cursor:pointer}.about-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s6);align-items:start;padding-block:var(--s6)}.about-hero h1{max-width:16ch}.contact-panel{padding:var(--s4);border:1px solid var(--line);background:var(--wash);border-radius:var(--radius)}.contact-panel h2{font-size:var(--h3)}.contact-panel a{overflow-wrap:anywhere}.contact-panel p{font-size:var(--label);margin-block:var(--s2)}.site-footer{margin-top:var(--s6);padding-block:var(--s4);border-top:1px solid var(--line);background:var(--wash);font-size:var(--small);color:var(--muted)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.site-footer nav{display:flex;gap:var(--s3);flex-wrap:wrap}.site-footer a:hover{color:var(--accent);text-decoration:underline}.site-footer strong{font-weight:750;color:var(--ink)}.legal{padding-block:var(--s6);max-width:50rem}.legal h1{margin-bottom:2rem}.legal h2{font-size:var(--h3);margin-block:2rem 1rem}.legal p{margin-block:1rem}.legal a{text-decoration:underline;overflow-wrap:anywhere}.legal ul{padding-left:1.5rem}.badge{font-size:var(--small);background:var(--wash);border:1px solid var(--line);border-radius:2rem;display:inline-block;padding:.2rem .6rem;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:68rem){.article-grid{grid-template-columns:11rem minmax(0,1fr);grid-template-areas:'meta meta' 'toc body'}.article-meta{position:static;max-height:none}.article-meta dl{display:flex;gap:var(--s4);flex-wrap:wrap}.filters{grid-template-columns:1fr 1fr}.drill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder{grid-template-columns:16rem minmax(0,1fr);gap:var(--s3)}.plan-row{grid-template-columns:5rem minmax(0,1fr);gap:1rem}.plan-row>.field{grid-column:2;max-width:8rem}.header-inner{gap:1rem}.main-nav{gap:0}.main-nav a{padding:.5rem .65rem}}
@media(max-width:48rem){:root{--h2:1.75rem;--h3:1.25rem}.wrap{width:calc(100% - 2rem)}.header-inner{padding-block:.75rem;display:block}.brand{display:inline-block}.brand img{width:12rem;height:2rem}.main-nav{margin-top:.5rem;gap:0;justify-content:space-between}.main-nav a{font-size:.9375rem;padding:.35rem .4rem}.hero,.detail-hero,.about-hero,.lesson-layout,.instruction-grid{grid-template-columns:1fr;gap:var(--s4)}.hero{padding-block:var(--s4)}.hero h1{max-width:18ch}.hero img{aspect-ratio:1.6}.hero .lede{max-width:45ch}.path-grid{grid-template-columns:1fr}.path-card{grid-template-columns:5rem minmax(0,1fr);gap:1rem}.path-card .path-visual{grid-row:1 / span 2;align-self:start;height:5rem;margin:0}.path-card .path-visual svg{height:5rem}.path-card .card-end{grid-column:2}.practice-band{padding:var(--s3);grid-template-columns:1fr;gap:var(--s3)}.page-head{padding-block:var(--s4)}.section{padding-block:var(--s4)}.learn-grid,.guide-list,.variants{grid-template-columns:1fr}.lesson-card{grid-template-columns:4rem minmax(0,1fr);gap:var(--s2)}.lesson-card .number{width:4rem;font-size:1.5rem}.builder{grid-template-columns:1fr}.builder-controls{position:static;grid-template-columns:1fr 1fr;gap:1rem}.builder-controls h2,.builder-controls .button{grid-column:1/-1}.article-grid{display:flex;flex-direction:column;gap:var(--s3)}.article-header{padding-block:var(--s4);gap:1rem}.article-meta{order:0;width:100%}.article-meta dl{gap:1.5rem}.article-toc{order:1;position:static;width:100%;max-height:none}.article-toc ol{display:flex;overflow-x:auto;border-left:0;border-bottom:1px solid var(--line);padding-bottom:.4rem;gap:.5rem}.article-toc li{flex:0 0 9.5rem}.article-toc a{border-left:0;border-bottom:2px solid transparent;margin:0;font-size:var(--small);height:100%;background:var(--wash);border-radius:.4rem .4rem 0 0}.article-toc a[aria-current=location]{border-bottom-color:var(--accent)}.article-body{order:2;width:100%}.article-body h2{font-size:1.5rem}.detail-hero{padding-block:var(--s4)}.detail-hero>img{order:1}.instruction-grid{padding-bottom:var(--s4)}.coaching-note{padding:var(--s3)}.variants{padding-bottom:var(--s4)}.lesson-next{align-items:start}.contact-panel{padding:var(--s3)}.site-footer{margin-top:var(--s4)}.clock-panel{padding:var(--s4)}.guide-card{grid-template-columns:5rem minmax(0,1fr);gap:1rem}.guide-card img{width:5rem}}
@media(max-width:34rem){.drill-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr;padding:var(--s2)}.builder-controls{grid-template-columns:1fr}.plan-row{grid-template-columns:4rem minmax(0,1fr);padding:var(--s2)}.plan-row h3{font-size:1.125rem}.plan-row>.field{grid-column:1/-1}.plan-row .plan-steps{font-size:var(--small)}.detail-facts{grid-template-columns:1fr 1fr;font-size:var(--small)}.section-title{align-items:start;flex-direction:column;gap:.5rem}.lesson-card{padding:var(--s2)}.guide-card{grid-template-columns:1fr}.guide-card img{width:100%;aspect-ratio:2.5;object-fit:cover}.path-card{padding:var(--s2);grid-template-columns:4rem minmax(0,1fr)}.path-card .path-visual{height:4rem}.path-card .path-visual svg{height:4rem}.lesson-next{flex-direction:column;gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{body{font-size:11pt;background:white;color:black}.site-header,.site-footer,.breadcrumb,.builder-controls,.plan-actions,.article-toc,.lesson-next,.no-print{display:none!important}.wrap{width:100%;max-width:none}.page-head{padding:0 0 1rem}.page-head h1{font-size:24pt}.builder{display:block}.plan-row{break-inside:avoid;grid-template-columns:5rem 1fr 4rem;padding:1rem;gap:1rem}.plan-row>.field{grid-column:auto}.plan-row input{border:0;padding:0;min-height:0}.plan-row h3{font-size:13pt}.plan-steps{font-size:10pt!important}.article-grid{display:block}.article-meta{position:static;margin-bottom:1rem}.article-body{max-width:none}.article-body img{max-height:18rem;object-fit:contain}.section{padding-block:1rem}.reference-note{font-size:9pt}a{color:inherit!important;text-decoration:none!important}h2,h3{break-after:avoid}.article-body .table-scroll{overflow:visible}}

.field>span{line-height:1.5}.field input,.field select{height:3rem;line-height:1.5}.article-body a{overflow-wrap:anywhere}.article-body table{min-width:34rem}

@media(min-width:22rem) and (max-width:34rem){.builder-controls{grid-template-columns:1fr 1fr}.filters:not(.library-filter){grid-template-columns:1fr 1fr}.filters:not(.library-filter) .field:first-child,.filters:not(.library-filter) .field:last-child{grid-column:1/-1}}

/* Long headings must reflow when the reader enlarges text. */
main{overflow-wrap:anywhere}.page-head,.hero-copy,.stack{min-width:0}.page-head>*{min-width:0}

@media(max-width:34rem){.filters{padding:clamp(.5rem,3vw,1rem)}.field input,.field select{padding-inline:clamp(.375rem,2vw,.75rem)}}

/* Article reference contract: summary + contents / reading / details. Both rails remain usable. */
.article-glance{padding-bottom:var(--s3);margin-bottom:var(--s3);border-bottom:1px solid var(--line)}
.article-glance p{line-height:1.65;color:var(--ink)}
.article-meta dd,.article-toc a{color:var(--ink)}
.article-meta a{display:inline-block;border-radius:.25rem;padding:.15rem .25rem;margin-left:-.25rem}
.article-meta a:hover{color:var(--accent-dark);background:var(--wash)}
.article-meta dt{font-size:var(--label)}
.article-meta dd{font-size:var(--label);line-height:1.5}
.copy-article{display:flex;gap:.75rem;align-items:center;margin-top:var(--s3);border:1px solid var(--line);border-radius:.5rem;background:var(--paper);color:var(--ink);padding:.5rem .75rem;font-size:var(--small);font-weight:650}
.copy-article:hover{background:var(--wash);border-color:var(--accent);color:var(--accent-dark)}
.copy-feedback{font-size:var(--small);margin-top:.5rem;overflow-wrap:anywhere}
.copy-feedback input{width:100%;font-size:var(--small)}
@media(min-width:68.001rem) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (prefers-contrast:no-preference){
 .article-toc,.article-meta{transition:opacity .2s ease}
 .article-grid.is-reading>.article-toc:not(:hover):not(:focus-within),.article-grid.is-reading>.article-meta:not(:hover):not(:focus-within){opacity:.17}
}
@media(max-width:68rem){.article-meta{display:flex;gap:var(--s3);align-items:start;flex-wrap:wrap}.copy-article{margin:0}.copy-feedback{flex-basis:100%}.copy-feedback:empty{display:none}}
@media(max-width:48rem){.article-glance{display:none}.article-meta dl{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:1rem}.article-toc ol{max-width:100%}}
@media(prefers-reduced-motion:reduce),(prefers-contrast:more){.article-toc,.article-meta{transition:none;opacity:1!important}}
@media print{.copy-article,.copy-feedback{display:none}.article-meta{opacity:1!important}}

/* Shared finder rhythm: same fields, spacing and actions for one result or hundreds. */
.path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.path-card{grid-template-rows:subgrid;grid-row:span 3}
.path-card h2{font-size:var(--h3);margin-bottom:.6rem}
.finder-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.location-feedback{font-size:var(--small);margin-bottom:1rem;color:var(--muted)}
.location-feedback:empty{display:none}
.finder-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);align-items:start}
.finder-layout.with-map{grid-template-columns:minmax(0,1fr) minmax(22rem,1fr)}
.finder-results{min-width:0}.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.with-map .location-grid{grid-template-columns:1fr}
.location-card,.program-card{min-width:0;display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3);background:var(--paper)}
.location-card:hover,.program-card:hover{border-color:var(--accent);background:var(--wash);box-shadow:none}
.location-type{display:flex;align-items:center;gap:.5rem;font-size:var(--small);line-height:1.5;color:var(--muted);padding-bottom:1rem;flex-wrap:wrap}
.location-type svg{flex-shrink:0;color:var(--accent)}.location-type span:last-child:not(:first-of-type){margin-left:auto}
.location-card h2,.program-card h2{font-family:inherit;font-size:var(--card-title);font-weight:700;letter-spacing:-.015em;line-height:1.35;text-wrap:pretty;padding-bottom:.75rem}
.location-card>p,.program-card>p{font-size:var(--label);line-height:1.55;color:var(--muted);padding-bottom:1.25rem}
.location-card .card-facts,.program-card .card-facts{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:var(--small);color:var(--muted);padding-top:.75rem;border-top:1px solid var(--line)}
.map-panel{position:sticky;top:1.5rem;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#f1f3eb;overflow:hidden}
.court-map{height:34rem;max-height:calc(100svh - 5rem);min-height:20rem;z-index:0}
.map-feedback{background:var(--wash);padding:.65rem 1rem;font-size:var(--small);color:var(--muted)}.map-feedback:empty{display:none}
.leaflet-container{font-family:system-ui,sans-serif}.leaflet-popup-content{line-height:1.5;font-size:.9rem}.leaflet-popup-content a{font-weight:700;color:var(--accent-dark)}
.leaflet-control-attribution a{color:#334d48!important}.leaflet-container .leaflet-control-attribution{color:#334d48!important;background:#ffffffed}
.leaflet-popup-content p{margin:.5rem 0 0}.load-more{margin-top:var(--s3)}
.dataset-note{font-size:var(--small);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s4);max-width:75ch}
.venue-layout{display:grid;grid-template-columns:23rem minmax(0,1fr);gap:var(--s6);align-items:start}
.venue-information h2{font-size:var(--h3)}.venue-address{margin-block:1rem 1.5rem}
.venue-facts{display:grid;gap:1.5rem;padding-block:var(--s4);margin-top:var(--s4);border-top:1px solid var(--line);font-size:var(--label)}
.venue-facts dt,.program-join dt,.program-card dt{font-size:var(--small);line-height:1.5}
.access-note{border-top:1px solid var(--line);padding-top:var(--s4)}.access-note p{font-size:var(--label);margin-block:1rem}
.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.program-card{grid-row:span 5}.program-card dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:var(--small);padding-bottom:1.25rem}
.program-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);gap:var(--s6);align-items:start}
.program-detail article{display:grid;gap:var(--s6)}.program-detail article h2{font-size:var(--h3);margin-bottom:1rem}
.program-join{position:sticky;top:1.5rem;padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--wash)}
.program-join dl{display:grid;gap:var(--s3);margin-bottom:var(--s4);font-size:var(--label)}.program-join .button{width:100%}
@media(min-width:68rem){.header-inner{gap:1rem}.main-nav a{padding:.5rem .6rem}}
@media(max-width:68rem){.header-inner{align-items:flex-start;padding-block:1rem;flex-wrap:wrap}.main-nav{gap:.2rem}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.with-map .location-grid{grid-template-columns:1fr}}
@media(max-width:60rem){.finder-layout.with-map{grid-template-columns:1fr}.finder-layout .map-panel{grid-row:1;position:relative;top:0}.location-grid,.with-map .location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-layout,.program-detail{grid-template-columns:1fr;gap:var(--s4)}.venue-layout .map-panel{position:relative;top:0}.program-join{position:static}.court-map{height:26rem;min-height:20rem}}
@media(max-width:48rem){.path-grid{grid-template-columns:1fr}.path-card{grid-template-rows:auto auto;grid-row:auto}.map-toggle{min-height:2.75rem}.result-heading{align-items:flex-start}.venue-layout{display:flex;flex-direction:column}.venue-layout .map-panel{width:100%}.program-grid{grid-template-columns:1fr}.program-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:34rem){.location-grid,.with-map .location-grid{grid-template-columns:1fr}.finder-actions{gap:.25rem}.finder-actions .clear-button{padding-inline:.3rem}.court-map{height:23rem}.program-join{padding:var(--s3)}}
@media print{.map-panel,.finder-actions,.load-more,.court-filters{display:none!important}.finder-layout.with-map,.venue-layout,.program-detail{display:block}.location-grid,.program-grid{grid-template-columns:1fr 1fr}.location-card,.program-card{break-inside:avoid}.program-join{position:static}}

.article-toc a[aria-current=location]{color:var(--accent-dark)}
/* Narrow screens keep usable text width when the reader enlarges type. */
@media(max-width:34rem){
 .wrap{width:calc(100% - min(2rem,8vw))}
 .location-card,.program-card{padding:clamp(16px,4vw,24px)}
 .location-card .card-facts,.program-card .card-facts{gap:.5rem}
 .program-card dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
 .article-meta dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
 .article-toc li{max-width:100%}
}
.venue-layout:not(:has(.map-panel)){grid-template-columns:minmax(0,40rem)}
.venue-access{font-size:var(--label);line-height:1.6;margin-top:1rem}
.venue-actions{display:grid;justify-items:start;gap:.75rem;margin-top:1.5rem}
.venue-actions .button{width:100%}


/* Task hierarchy: editorial titles and collection controls have separate roles. */
[data-page-family="collection"] .page-head,
[data-page-family="curriculum"] .page-head,
[data-page-family="practice"] .page-head{padding-block:var(--s4);gap:.75rem}
[data-page-family="collection"] .page-head h1,
[data-page-family="curriculum"] .page-head h1,
[data-page-family="practice"] .page-head h1{font-size:var(--collection-title)}
[data-page-family="collection"] .page-head .lede,
[data-page-family="curriculum"] .page-head .lede,
[data-page-family="practice"] .page-head .lede{font-size:var(--body);max-width:65ch}
.page-head-action{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.page-head-action>div{display:grid;gap:.75rem}
.path-card h2,.drill-card h3,.guide-card h2,.guide-card h3,
.plan-row h3,.lesson-card h2{font-family:inherit;font-weight:700;letter-spacing:-.015em;font-size:var(--card-title);line-height:1.35}
.path-card .path-visual{height:9rem;background:var(--wash);border-radius:.6rem;overflow:hidden}
.path-card .path-visual svg{height:100%;width:100%;object-fit:contain}
.path-card .arrow,.drill-card .arrow,.location-card .arrow,.program-card .arrow,.lesson-card .arrow{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;transition:background-color .16s,color .16s}
:is(.path-card,.drill-card,.location-card,.program-card,.lesson-card):is(:hover,:focus-visible) .arrow{background:var(--accent);color:white}
.result-heading p{color:var(--ink);font-weight:600}
.clear-button{border-radius:.4rem}
.clear-button:hover{background:var(--wash);color:var(--accent-dark)}

/* Map results use rows; list-only results retain the same decision fields. */
.finder-layout.with-map{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .location-card{grid-row:span 3}
.with-map .location-card{grid-row:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding:1.25rem;gap:.5rem}
.with-map .location-card h2,.with-map .location-card>p{padding:0}
.with-map .location-card .card-facts{border:0;padding:0;gap:1rem;align-items:center}
.with-map .location-grid{gap:.75rem}
.location-card.is-map-active{border-color:var(--accent);background:var(--wash);box-shadow:none}

/* The ordered curriculum previews the actual subject of each lesson. */
.learn-grid{container-type:inline-size;display:grid;grid-template-columns:1fr;gap:0;list-style:none;padding:0;border-top:1px solid var(--line)}
.lesson-card{grid-template-columns:10rem 2rem minmax(0,1fr) 2rem;gap:var(--s3);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:var(--s3) .5rem;align-items:center}
.lesson-card .lesson-preview{display:block;overflow:hidden;border-radius:.6rem;background:var(--wash);aspect-ratio:1.6}
.lesson-preview svg{width:100%;height:100%}
.lesson-card .number{width:auto;aspect-ratio:auto;background:none;border-radius:0;font:650 var(--label)/1.5 system-ui,sans-serif;color:var(--muted)}
.lesson-card p{margin-top:.4rem}
.plan-actions{margin-top:0;margin-bottom:var(--s3)}
#copy-status:empty{display:none}
.plan-row{border-radius:.75rem}
.article-deck{display:none}
.program-identity{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:var(--s3)}
.program-mark{width:8.5rem;max-width:100%;height:4.5rem;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:.5rem;padding:.4rem;flex-shrink:0}
.program-mark img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.program-mark.dark{background:#252b31}
.program-kind{color:var(--muted);font-size:var(--small);line-height:1.5}
.program-heading:has(.program-mark){grid-template-columns:10rem minmax(0,1fr);align-items:center;gap:var(--s4)}
.program-heading>div{display:grid;gap:.75rem}
.program-heading h1{font-size:clamp(2rem,3.3vw,3rem)}
.map-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;background:var(--paper);padding:.75rem 1rem;border-top:1px solid var(--line);font-size:.75rem;line-height:1.5}
.map-legend span{display:inline-flex;gap:.4rem;align-items:center}
.map-legend i{width:.6rem;height:.6rem;border-radius:50%;background:#9d4204}
.map-legend .indoor{background:#375851}

@media(max-width:60rem){.finder-layout.with-map{grid-template-columns:1fr}}
@media(max-width:48rem){
 .page-head-action{grid-template-columns:1fr;justify-items:start;gap:1rem}
 .path-card .path-visual,.path-card .path-visual svg{height:5rem}
 .lesson-card{grid-template-columns:5rem minmax(0,1fr) 1.5rem;gap:1rem;padding:1rem 0}
 .lesson-card .number{display:none}
 .lesson-card .lesson-preview{aspect-ratio:1;height:5rem}
 .lesson-card h2{font-size:1.125rem}
 .lesson-card p{font-size:.9375rem}
 .article-header{padding-bottom:var(--s3)}
 .article-deck{display:block;font-size:var(--label);line-height:1.6;color:var(--muted)}
 .article-meta{gap:.75rem;padding-block:var(--s2);border-block:1px solid var(--line)}
 .article-meta dt{font-size:.75rem;color:var(--muted);font-weight:600}
 .article-meta dd{font-size:.875rem;margin-top:.15rem}
 .article-meta dl{gap:.75rem}
 .copy-article{min-height:2.75rem;padding:.35rem .65rem}
 .article-toc h2{margin-bottom:.6rem;font-size:.875rem}
 .article-toc ol{gap:.5rem}
 .article-toc a{padding:.6rem;font-size:.8125rem}
 .program-heading:has(.program-mark){grid-template-columns:6rem minmax(0,1fr);gap:1rem}
 .program-heading .program-mark{width:6rem}
}
@media(max-width:34rem){
 .with-map .location-card{padding:1rem;gap:.4rem .5rem}
 .with-map .location-card .card-facts{max-width:6rem}
 .main-nav a{font-size:.875rem;padding-inline:.25rem}
 .plan-actions{display:grid;grid-template-columns:1fr;gap:.6rem}
 .lesson-card{grid-template-columns:4.5rem minmax(0,1fr) 1.5rem;gap:.75rem}
 .lesson-card .lesson-preview{height:4.5rem}
}

/* Reflow against the actual text size, so enlarged text keeps whole words readable. */
@container (max-width:18em){
 .lesson-card{grid-template-columns:minmax(0,1fr) auto}
 .lesson-card .lesson-preview{grid-column:1/-1;width:min(100%,12rem);height:auto;aspect-ratio:1.6}
}

/* Measured with the collection's longest ordinary sport word at 320px / 200% text.
   Keep a shared scalable heading role rather than breaking off one final letter. */
@media(max-width:24rem){:root{--collection-title:1.75rem;--h1:1.75rem}.article-header h1,.detail-hero h1,.program-heading h1{font-size:var(--h1)}}

.newsletter{display:grid;gap:.5rem;max-width:30rem;flex-basis:100%}.newsletter label{font-weight:650}.newsletter>div{display:flex;flex-wrap:wrap;gap:.5rem}.newsletter input[type=email]{min-width:0;flex:1 1 12rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.5rem}.honeypot{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden;clip:rect(0,0,0,0)}.guide-placeholder{width:7rem;aspect-ratio:1;background:var(--wash);border-radius:.5rem}.article-body{overflow-wrap:anywhere;min-width:0}.article-body :is(img,iframe,svg){max-width:100%}.article-body table{display:block;overflow-x:auto;max-width:100%}.footer-inner{flex-wrap:wrap}

.table-scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto}.table-scroll table{display:table}
.article-body pre{max-width:100%;overflow-x:auto;white-space:pre}
