@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--red:#c31927;--ink:#261c19;--paper:#fff;--warm:#f6f2ed;--muted:#655952;--line:#d9cec5;--body:1.0625rem;--meta:.875rem;--lede:1.25rem;--h1:clamp(2.25rem,1.6rem + 3vw,3.5rem);--h2:1.75rem;--h3:1.375rem;--article-h2:var(--h2);--article-h3:var(--h3);--gutter:1.25rem;--gap:1.5rem}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:light;scroll-padding-block-start:1.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Archivo,Arial,sans-serif;font-size:var(--body);line-height:1.55;overflow-wrap:anywhere}
img,svg{display:block;max-inline-size:100%;block-size:auto}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a{color:var(--red);text-decoration:none;text-underline-offset:.2em;text-decoration-thickness:.08em}
.article-body p a,.article-body li a,.utility-page p a,.utility-page li a,.size-source a{ text-decoration:underline }
a:hover{color:#981722}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.65}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-weight:700;line-height:1.15;text-wrap:balance}
h1{font-size:var(--h1);letter-spacing:-.025em;max-inline-size:22ch}
h2{font-size:var(--h2);letter-spacing:-.015em}
h3{font-size:var(--h3)}
p{margin-block-end:1em}
p:last-child{margin-block-end:0}
.wrap{inline-size:100%;max-inline-size:75rem;margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-block-start:1rem;inset-inline-start:var(--gutter);z-index:100;padding:.75rem 1rem;background:var(--paper);color:var(--red);transform:translateY(-200%)}
.skip-link:focus{transform:none}
.site-header{border-block-end:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;padding-block:1.25rem}
.brand{display:inline-block;max-inline-size:100%;flex:0 1 auto}
.brand img{inline-size:12.5rem;block-size:auto}
.primary-nav,.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center}
.primary-nav a{display:inline-block;padding:.5rem .65rem;color:var(--ink);text-decoration:none;font-weight:700;border-radius:.25rem}
.primary-nav a:hover,.primary-nav a[aria-current='page']{color:var(--red);background:var(--warm);text-decoration:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding-block:3rem}
.hero-copy>*+*{margin-block-start:1.25rem}
.eyebrow,.topic,.step-number{font-size:var(--meta);font-weight:700;line-height:1.4;color:var(--red)}
.eyebrow{letter-spacing:.06em;text-transform:uppercase;margin-block-end:.75rem}
.lede{font-size:var(--lede);line-height:1.5;max-inline-size:58ch}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}
.button,button:not(.shell-option){display:inline-flex;align-items:center;justify-content:center;min-block-size:2.75rem;padding:.65rem 1.125rem;border:2px solid var(--red);border-radius:.125rem;background:var(--red);color:#fff;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;max-inline-size:100%;white-space:normal}
.button:hover,.button:focus-visible{background:#a71420;border-color:#a71420;color:#fff;box-shadow:0 2px 6px #261c1920}
.button:active{background:#89101a;border-color:#89101a;color:#fff;box-shadow:none}
.button.secondary{background:transparent;color:var(--red);border-color:var(--red)}
.button.secondary:hover,.button.secondary:focus-visible{background:var(--warm);color:#981722;border-color:#981722}.button.secondary:active{background:#f2eae2;color:#981722}
.text-link,.card-action{font-weight:700;text-decoration:none}.text-link{display:inline-flex;align-items:center;padding:.4rem .6rem;margin-inline-start:-.6rem;border-radius:.25rem}.text-link:hover{background:var(--warm);text-decoration:none}
.hero-visual img{inline-size:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
figcaption,.byline,.board-note{font-size:var(--meta);line-height:1.5;color:var(--muted)}
figcaption{margin-block-start:.625rem}
.section{padding-block:2.5rem}
.section+.section{border-block-start:1px solid var(--line)}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-block-end:1.5rem}
.path-grid,.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.path-card,.guide-card{min-inline-size:0;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:var(--paper);border-radius:.125rem;display:flex;flex-direction:column}
.path-card{padding:1.5rem;gap:.875rem;border-block-start:3px solid var(--red)}
.path-card p,.guide-card p{margin:0}
.path-card .card-action{margin-block-start:auto;padding-block-start:.5rem}
.card-action{color:var(--red)}
.path-card:hover,.guide-card:hover,.path-card:focus-visible,.guide-card:focus-visible{border-color:var(--red);background:var(--warm);text-decoration:none}
.guide-card>img,.guide-mark{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
.guide-mark{display:flex;align-items:flex-end;padding:1.5rem;background:var(--ink);color:var(--paper);font-size:var(--h3);font-weight:700;line-height:1.25;border-block-end:4px solid var(--red)}
.guide-card-body{display:flex;flex:1;flex-direction:column;gap:.875rem;padding:1.5rem;min-inline-size:0}
.guide-card-body .card-action{margin-block-start:auto;padding-block-start:.5rem}
@supports(grid-template-rows:subgrid){.path-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:.875rem}.path-card .card-action{margin-block-start:0;align-self:end}.guide-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}.guide-card-body{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:.875rem}.guide-card-body .card-action{margin-block-start:0;align-self:end}}
.page-heading{padding-block:2.75rem 2rem}
.page-heading h1,.article-header h1{margin-block-end:1rem}
.page-heading+.path-grid{margin-block-end:2.5rem}
.callout{margin-block:2.5rem;padding-block:1.5rem;padding-inline-start:1.5rem;border-inline-start:4px solid var(--red);max-inline-size:65ch}
.callout h2{margin-block-end:.75rem}
.search-controls{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-block-end:1rem;padding-block:1.25rem;border-block:1px solid var(--line)}
.search-controls>div,.search-controls>label{flex:1 1 14rem;min-inline-size:0}
label{display:block;font-weight:700;margin-block-end:.375rem}
input:not([type='hidden']):not([type='checkbox']):not([type='radio']),select,textarea{inline-size:100%;max-inline-size:100%;min-inline-size:0;min-block-size:2.75rem;border:1px solid var(--muted);border-radius:.125rem;background:var(--paper);padding:.625rem .75rem}
.search-controls>input,.search-controls>select{flex:1 1 14rem;inline-size:auto}
textarea{resize:vertical;min-block-size:9rem}
#results-count{font-size:var(--meta);margin-block:1rem 1.5rem}
#guide-results{margin-block-end:3rem}
.empty-state{padding-block:2rem 3rem;max-inline-size:55ch}
.empty-state h2{margin-block-end:.75rem}
.honeypot{display:none!important}
.article-header{padding-block:2.5rem 2rem}
.breadcrumb{font-size:var(--meta);margin-block-end:1.5rem}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;padding:0;margin:0}
.article-header .lede{margin-block-end:1rem}
.article-cover{margin-block-end:2rem}
.article-cover img{inline-size:100%;max-block-size:36rem;object-fit:cover}
.article-layout{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;padding-block-end:3rem}
.article-aside{min-inline-size:0;font-size:var(--meta);border-block-start:3px solid var(--red);padding-block-start:1rem}
.article-aside nav>*+*{margin-block-start:.75rem}
.article-aside ul,.article-aside ol{padding-inline-start:1.25rem}
.article-aside li+li{margin-block-start:.5rem}
summary{cursor:pointer;font-weight:700;padding-block:.5rem}
.article-body{min-inline-size:0;max-inline-size:70ch;line-height:1.65}
.article-body h2{font-size:var(--article-h2);margin-block:2.5rem 1rem;scroll-margin-block-start:1.5rem}
.article-body h3{font-size:var(--article-h3);margin-block:2rem .875rem}
.article-body>:first-child{margin-block-start:0}
.article-body p,.article-body ul,.article-body ol{margin-block:0 1.25rem}
.article-body ul,.article-body ol{padding-inline-start:1.5rem}
.article-body li+li{margin-block-start:.375rem}
.article-body blockquote{margin-block:1.75rem;padding-inline-start:1.25rem;border-inline-start:3px solid var(--red)}
.article-body figure,.article-body>img{margin-block:1.75rem}
.article-body img{block-size:auto}
.table-scroll{max-inline-size:100%;overflow-x:auto;margin-block:1.75rem;overscroll-behavior-inline:contain}
table{inline-size:100%;border-collapse:collapse;font-size:var(--meta);text-align:start}
caption{text-align:start;font-weight:700;margin-block-end:.5rem}
th,td{padding:.75rem;border-block-end:1px solid var(--line);vertical-align:top}
th{background:var(--warm);font-weight:700}
.footnotes,[role='doc-endnotes']{font-size:var(--meta);border-block-start:1px solid var(--line);margin-block-start:2rem;padding-block-start:1rem}
.utility-page.wrap{max-inline-size:50rem;padding-block:2.75rem 3rem;line-height:1.65}
.utility-page h1{margin-block-end:1.25rem}
.utility-page h2{margin-block:2rem 1rem}
.utility-page h3{margin-block:1.5rem .75rem}
.utility-page form>*+*,.newsletter form>*+*{margin-block-start:.75rem}
.coverage-board{margin-block:2rem;padding-block:1.5rem;border-block:1px solid var(--line)}
.board-heading h2{margin-block:0 .75rem}
.shell-controls{display:flex;flex-wrap:wrap;gap:.75rem;margin-block:1.25rem}
.shell-option{min-block-size:2.75rem;max-inline-size:100%;padding:.625rem 1rem;border:2px solid var(--ink);border-radius:.125rem;background:var(--paper);color:var(--ink);font-weight:700;white-space:normal;line-height:1.4}
.shell-option:hover{background:var(--warm)}
.shell-option[aria-pressed='true']{background:var(--ink);color:var(--paper)}
.field-frame{background:var(--ink);padding:clamp(.5rem,2vw,1.25rem);color:var(--paper)}
.field-frame svg{inline-size:100%;block-size:auto;margin-inline:auto}
.field-frame svg text{font-family:Archivo,Arial,sans-serif}
.coverage-board #shell-title{font-size:var(--h3);margin-block:1.25rem .75rem}
.coverage-board #shell-description{margin-block-end:.75rem}
.site-footer{background:var(--warm);border-block-start:1px solid var(--line);margin-block-start:2rem}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:2rem;padding-block:2.25rem;font-size:var(--meta)}
.footer-brand{max-inline-size:28ch}
.footer-brand img{inline-size:12.5rem}
.footer-links{align-items:flex-start}
.footer-links a{padding-block:.375rem}
.newsletter{flex:0 1 22rem;min-inline-size:0;max-inline-size:100%}
.newsletter form{margin-block-start:1rem}
@media(max-width:48rem){:root{--h2:1.5rem}.hero{grid-template-columns:minmax(0,1fr);padding-block:2rem}.hero-copy{max-inline-size:62ch}.hero-visual{max-inline-size:38rem}.path-grid,.guide-grid{grid-template-columns:minmax(0,1fr)}.article-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.article-body{inline-size:100%}.article-aside{max-inline-size:70ch}.section{padding-block:2rem}.page-heading,.article-header{padding-block-start:2rem}}
@media(max-width:22rem){:root{--gutter:1rem}.header-inner{gap:.75rem}.primary-nav{gap:.5rem 1rem}.path-card,.guide-card-body{padding:1.125rem}.footer-inner{gap:1.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{margin:15mm}body{font-size:11pt;background:#fff;color:#000}.skip-link,.site-header,.site-footer,nav,.actions,.search-controls,#results-count,.empty-state,.shell-controls{display:none!important}.wrap,.utility-page.wrap{max-inline-size:none;padding-inline:0}.hero,.article-layout{display:block}.hero,.section,.page-heading,.article-header{padding-block:1rem}.article-aside{display:none}.article-body{max-inline-size:none}.hero-visual{max-inline-size:28rem;margin-block-start:1rem}.path-grid,.guide-grid{display:block}.path-card,.guide-card{display:block;margin-block-end:1rem;break-inside:avoid}.guide-card>img,.guide-mark{max-inline-size:16rem}.guide-card-body{display:block}.guide-card-body>*+*,.path-card>*+*{margin-block-start:.5rem}a{color:inherit}.button{background:transparent;color:#000;border-color:#000}.field-frame{background:var(--ink)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact;break-inside:avoid}.coverage-board{break-inside:avoid}.table-scroll{overflow:visible}table{table-layout:fixed}th,td{overflow-wrap:anywhere}h1,h2,h3{break-after:avoid}p,li{orphans:3;widows:3}}
/* Site-specific structures supplied by the football content model. */
.definition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-block:1.5rem 0}.definition-grid>div{border-inline-start:3px solid var(--line);padding-inline-start:1.25rem}.definition-grid dt{font-size:var(--h3);font-weight:700;line-height:1.25;margin-block-end:.75rem}.definition-grid dd{margin:0}.breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem}.article-return{padding-block:0 2rem}.copyright{flex-basis:100%;color:var(--muted)}.button,.card-action,.text-link{gap:.5em}.card-action{display:flex;align-items:center;justify-content:space-between}.hero-visual img{border-radius:.375rem}.coverage-board{padding-top:0;border-top:0}.guide-card img{border-radius:.1rem .1rem 0 0}.foundations{background:var(--warm)}
@media(max-width:48rem){.definition-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}}
.article-body pre{max-inline-size:100%;overflow:auto;white-space:pre;background:var(--warm);padding:1rem;font-size:var(--meta);line-height:1.4;border:1px solid var(--line)}.article-body pre code{white-space:pre;overflow-wrap:normal}.field-stage{position:relative}.field-caption{color:#e8ddd3;font-size:var(--meta);line-height:1.4;margin:0!important}.field-offense{text-align:center}.scrimmage-label{position:absolute;inset-inline-start:5%;inset-block-start:calc(75% - 1.6em);font-size:var(--meta);line-height:1.3;color:#f4d58c;background:#261c19;padding-inline:.25em}.field-frame{padding:1rem}
@supports(grid-template-rows:subgrid){.guide-card,.guide-card-body,.path-card{grid-template-columns:minmax(0,1fr)}}.guide-mark,.guide-card-body>*,.path-card>*{min-inline-size:0}
/* Refinement: a continuous reading sequence, with each lesson using the same row. */
.lesson-sequence{padding-block:0 3rem}.lesson-list{border-block-start:1px solid var(--line)}.lesson-row{display:grid;grid-template-columns:10rem minmax(0,1fr) 2rem;gap:2rem;align-items:center;padding:1.5rem;border-block-end:1px solid var(--line);color:var(--ink);text-decoration:none}.lesson-row:hover,.lesson-row:focus-visible{background:var(--warm);text-decoration:none}.lesson-art{inline-size:100%;border-radius:.25rem}.lesson-summary{min-inline-size:0}.lesson-summary .lesson-stage{font-size:var(--meta);font-weight:700;color:var(--red);margin-block:0 .5rem}.lesson-summary h3{font-size:var(--h3);margin-block:0 .625rem}.lesson-summary>p:last-child{max-inline-size:62ch;margin:0}.lesson-arrow{font-size:1.5rem;color:var(--red)}.foundation-lesson{max-inline-size:66rem;padding-bottom:1rem}.lesson-intro{max-inline-size:70ch;margin-bottom:2rem}.watch-next{max-inline-size:70ch;margin-block:2.5rem}.watch-next h2{margin-bottom:.75rem}
@media(max-width:48rem){.lesson-row{grid-template-columns:4rem minmax(0,1fr) 1.25rem;gap:1rem;padding:1.25rem 0;align-items:start}.lesson-art{margin-top:.25rem}.lesson-arrow{font-size:1.25rem}.lesson-summary h3{font-size:var(--h3)}}
@media(max-width:24rem){.lesson-row{grid-template-columns:3rem minmax(0,1fr);gap:1rem}.lesson-arrow{display:none}}
.foundation-header,.foundation-lesson{max-inline-size:64rem}

/* Owner feedback: visible controls, restrained links, and a community-first About page. */
.newsletter{flex:0 1 25rem;font-size:var(--body)}.newsletter-title{font-weight:700;margin:0 0 .875rem}.newsletter label{font-size:var(--meta)}.newsletter-fields{display:flex;align-items:stretch;gap:.5rem}.newsletter-fields input{flex:1;min-width:0}.newsletter-fields button{flex:0 0 auto}.footer-links a{border-radius:.2rem;padding:.25rem .375rem;margin-inline-start:-.375rem}.footer-links a:hover{background:#e9e0d7;text-decoration:none}.contents-title{font-size:var(--body);font-weight:700;margin-bottom:.5rem}.contents-links a{display:inline-block;padding:.25rem 0}.contents-links a:hover{color:#981722;background:var(--warm)}
.search-controls{display:block}.search-controls>div{max-width:40rem}.topic-filters{border:0;padding:0;margin:1.25rem 0 0;min-inline-size:0}.topic-filters legend{font-weight:700;margin-bottom:.625rem}.topic-options{display:flex;flex-wrap:wrap;gap:.5rem}.topic-options button{background:var(--paper);border:1px solid var(--line);border-radius:.25rem;color:var(--ink);font-size:var(--meta);font-weight:400;padding:.5rem .8rem;min-height:2.75rem}.topic-options button:hover{background:var(--warm);border-color:var(--ink)}.topic-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}
.card-action span,.lesson-arrow,.text-link span{transition:transform 140ms ease}.guide-card:hover .card-action span,.lesson-row:hover .lesson-arrow,.text-link:hover span{transform:translateX(3px)}.guide-card:hover{box-shadow:0 2px 8px #261c1910}.breadcrumb a:hover{background:var(--warm)}
.about-page.utility-page{max-inline-size:72rem;padding-block:3.5rem 4rem}.about-page>.lede{max-inline-size:58ch}.about-mission,.about-invitation{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1rem 3rem;margin-block-start:3rem;padding-block-start:2rem;border-block-start:1px solid var(--line)}.about-page section h2{margin:0;max-inline-size:18ch}.about-mission p{max-inline-size:60ch}.about-invitation .text-link{grid-column:2;justify-self:start}
@media(max-width:48rem){.primary-nav{gap:.25rem .5rem}.primary-nav a{font-size:1rem;padding:.45rem .35rem}.newsletter{flex-basis:100%}.about-page.utility-page{padding-block:2rem 3rem}.about-mission,.about-invitation{grid-template-columns:1fr;gap:1rem}.about-invitation .text-link{grid-column:1}.contents-links ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.contents-links li+li{margin:0}.contents-links a{border:1px solid var(--line);border-radius:.2rem;padding:.5rem .65rem}.article-aside{border-top:1px solid var(--line)}}
@media(max-width:22rem){.newsletter-fields{flex-wrap:wrap}.newsletter-fields input{flex-basis:100%}.newsletter-fields button{width:100%}}
@media(prefers-reduced-motion:reduce){.guide-card:hover .card-action span,.lesson-row:hover .lesson-arrow,.text-link:hover span{transform:none}}

.equipment-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem 3rem;border-block:1px solid var(--line)}.equipment-entry h2{margin-bottom:.75rem}.equipment-entry p:last-child{max-width:56ch}.equipment-entry>.button{justify-self:start}
@media(max-width:48rem){.equipment-entry{grid-template-columns:1fr;gap:1rem}}

/* Text enlargement must preserve usable inputs and natural word wrapping. */
h1,h2,h3{hyphens:auto}.newsletter-fields{flex-wrap:wrap}.newsletter-fields input{flex:1 1 12rem}.newsletter-fields button{flex:1 0 auto}
/* Keep the original 20px page gutter when text is enlarged. */
:root{--gutter:min(1.25rem,20px)}
