:root{--navy:#0b1f3a;--navy-2:#13305a;--red:#c8102e;--yellow:#fcb426;--red-d:#a00c24;--ink:#1a1f2b;--muted:#5d6676;--line:#e3e7ee;--bg:#f5f7fa;--display:'Barlow Condensed',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800}h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}h3{font-size:1.5rem;font-weight:700}h4{font-size:1.1rem;font-weight:700;letter-spacing:.06em}
.muted{color:var(--muted)}
.eyebrow{font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-size:1rem;margin-bottom:.4em;display:block}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:1.1rem;padding:.75em 1.6em;border-radius:4px;border:2px solid var(--red);transition:.15s;cursor:pointer}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn-ghost{background:transparent;border-color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-small{padding:.45em 1.1em;font-size:1rem}
.topbar{background:var(--navy);color:#c9d3e3;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}
.topbar a{color:#fff;text-decoration:none}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:88px}
.brand-logo{height:72px;width:auto;display:block}
.site-footer .brand-logo{height:96px}
.hero .eyebrow,.page-hero .eyebrow{color:var(--yellow)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:1.5rem;width:46px;height:46px;display:grid;place-items:center;border-radius:6px;transform:skew(-8deg)}
.brand-name{font-family:var(--display);font-weight:800;font-size:1.55rem;text-transform:uppercase;line-height:.95;color:var(--navy)}
.brand-name small{display:block;font-size:.95rem;font-weight:700;letter-spacing:.12em;color:var(--navy)}
.site-header nav{display:flex;align-items:center;gap:30px}
.site-header nav a:not(.btn){text-decoration:none;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;color:var(--navy)}
.site-header nav a[aria-current]:not(.btn),.site-header nav a:not(.btn):hover{color:var(--red)}
.nav-toggle,.nav-burger{display:none}
.hero{background:linear-gradient(115deg,var(--navy) 0%,var(--navy) 55%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:0;bottom:0;width:340px;background:var(--red);transform:skew(-14deg);opacity:.9}
.hero .wrap{padding-top:64px;padding-bottom:72px;position:relative;z-index:1}
.hero-row{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start;margin-top:28px}
.hero h1{max-width:none}
.hero-photo{margin-top:40px}
.hero-photo img{width:100%;height:auto;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.hero p.lead{font-size:1.2rem;color:#d3dbe8;max-width:34em}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-photos img{border-radius:8px;box-shadow:0 18px 40px rgba(0,0,0,.35);aspect-ratio:546/428;object-fit:cover;width:100%}
.hero-photos img:nth-child(2){margin-top:40px}
section.block{padding:84px 0}section.alt{background:var(--bg)}
.section-head{max-width:720px;margin-bottom:40px}
.sport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sport-tile{position:relative;display:block;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--navy);text-decoration:none;box-shadow:0 4px 14px rgba(11,31,58,.12);transition:transform .2s,box-shadow .2s}
.sport-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sport-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,58,0) 35%,rgba(11,31,58,.92) 100%)}
.sport-label{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px 18px 16px;color:#fff;border-left:5px solid var(--red)}
.sport-label b{display:block;font-family:var(--display);font-weight:800;font-size:1.6rem;text-transform:uppercase;line-height:1;letter-spacing:.02em}
.sport-label small{display:block;margin-top:6px;font-size:.85rem;color:#d3dbe8;letter-spacing:.04em}
.sport-tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,31,58,.25)}
.sport-tile:hover img{transform:scale(1.07)}
.sport-tile:hover .sport-label small{color:var(--yellow)}
.brand-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:22px 30px;align-items:center}
.brand-strip img{max-height:56px;width:auto;margin:0 auto;filter:grayscale(1);opacity:.75;transition:.15s}
.brand-strip img:hover{filter:none;opacity:1}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--bg)}
.card .card-body{padding:16px 18px}
.card h3{margin:0;font-size:1.3rem;color:var(--navy)}
.clients{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.clients img{border-radius:6px;aspect-ratio:127/170;object-fit:cover;width:100%}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.checks{list-style:none;padding:0;margin:20px 0}
.checks li{padding-left:30px;position:relative;margin:.55em 0}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(-45deg)}
.page-hero{background:var(--navy);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-80px;top:0;bottom:0;width:220px;background:var(--red);transform:skew(-14deg)}
.page-hero p{color:#d3dbe8;font-size:1.15rem;max-width:40em;margin:0}
.page-hero .wrap{position:relative;z-index:1}
.sport{padding:40px 0;border-bottom:1px solid var(--line)}
.sport:last-child{border-bottom:0}
.sport-banner{border-radius:6px;overflow:hidden;margin-bottom:22px}
.sport-banner img{width:100%;aspect-ratio:1500/200;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.4em 1em;font-weight:500;font-size:.95rem;color:var(--navy)}
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:18px}
.cat-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cat-grid img{aspect-ratio:1;object-fit:contain;width:100%;background:#fff;padding:10px}
.cat-grid figcaption{font-family:var(--display);font-weight:700;text-transform:uppercase;text-align:center;padding:8px;color:var(--navy);font-size:1.1rem;border-top:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px}
.step b{font-family:var(--display);font-size:2.4rem;color:var(--red);line-height:1}
.offer{background:#fff;border:1px solid var(--line);border-top:5px solid var(--red);border-radius:8px;padding:30px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.team img{aspect-ratio:5/6;object-fit:cover;width:100%;object-position:top}
.team figcaption{padding:16px 18px}.team figcaption strong{font-family:var(--display);font-size:1.45rem;text-transform:uppercase;display:block;color:var(--navy)}
.team a{color:var(--red)}
.contact-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:start}
form.quote{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px;box-shadow:0 6px 24px rgba(11,31,58,.06)}
.field{margin-bottom:18px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label,.field legend{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--navy)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;font:inherit;padding:11px 13px;border:1px solid #cfd6e1;border-radius:6px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--navy-2);border-color:transparent}
.field textarea{min-height:130px;resize:vertical}
fieldset.field{border:0;padding:0;margin:0 0 18px}
.optgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.optgrid label{font-weight:400;display:flex;gap:8px;align-items:center;font-size:.95rem;color:var(--ink);margin:0}
.small{font-size:.82rem;color:var(--muted)}
.notice{padding:14px 18px;border-radius:6px;margin-bottom:20px;font-weight:500}
.notice.ok{background:#e7f6ec;color:#17603a}.notice.err{background:#fdecee;color:var(--red-d)}
.info-card{background:var(--navy);color:#fff;border-radius:10px;padding:30px}
.info-card a{color:#fff}.info-card h3{color:#fff}.info-card p{color:#d3dbe8}
.cta-band{background:var(--red);color:#fff}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:48px;padding-bottom:48px;flex-wrap:wrap}
.cta-band h2{margin:0 0 .2em}.cta-band p{margin:0;color:#ffe3e7}
.cta-actions{display:flex;gap:12px;flex-wrap:nowrap}
.cta-band .btn:not(.btn-ghost){background:#fff;color:var(--red);border-color:#fff}
.cta-band .btn:not(.btn-ghost):hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.site-footer{background:var(--navy);color:#c9d3e3;padding:56px 0 24px;font-size:.95rem}
.site-footer .brand-name{color:#fff}.site-footer h4{color:#fff}.site-footer a{color:#fff;text-decoration:none}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:30px}.footer-grid>*{min-width:0;overflow-wrap:anywhere}.site-footer img{max-width:100%;height:auto}
.social{display:flex;gap:16px}.social a{border-bottom:1px solid rgba(255,255,255,.3)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;font-size:.85rem}
@media (max-width:900px){
 .hero-row,.split,.contact-grid{grid-template-columns:1fr}
 .hero-photo{margin-top:0}
 .hero::after,.page-hero::after{width:120px;right:-90px}
 .sport-grid{gap:8px}.sport-tile{border-radius:6px}.sport-label{padding:6px 5px 6px 6px;border-left-width:3px}.sport-label b{font-size:.78rem;line-height:1.05;letter-spacing:0}.sport-label small{display:none}.cards{grid-template-columns:repeat(2,1fr)}
 .clients{grid-template-columns:repeat(4,1fr)}.brand-strip{grid-template-columns:repeat(3,1fr)}
 .cat-grid{grid-template-columns:repeat(2,1fr)}.steps,.team{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar span:first-child{display:none}
 .nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
 .nav-burger span{width:26px;height:3px;background:var(--navy);border-radius:2px}
 .site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 24px;gap:16px;border-bottom:1px solid var(--line)}
 .site-header.nav-open nav{display:flex}
 section.block{padding:60px 0}.row2,.optgrid{grid-template-columns:1fr}
}

html,body{overflow-x:clip}
@media(max-width:560px){.footer-grid{grid-template-columns:minmax(0,1fr)}}
/* Sport page layout: stacked sections with a jump bar */
.section-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:88px;z-index:15}
.section-nav .wrap{display:flex;gap:28px;overflow-x:auto}
.section-nav a{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);text-decoration:none;padding:14px 0;border-bottom:3px solid transparent;white-space:nowrap}
.section-nav a:hover{color:var(--red);border-bottom-color:var(--red)}
.page-section{padding:72px 0;scroll-margin-top:140px}.page-section.alt{background:var(--bg)}
.page-section .section-head{margin-bottom:28px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px}
.choice{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:8px;padding:28px 30px}
.choice-custom{border-top-color:var(--red)}
.choice h3{color:var(--navy);margin-bottom:.4em}.choice p{margin:0;color:var(--ink)}
.choice-tag{display:inline-block;font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;background:var(--navy);color:#fff;padding:.2em .7em;border-radius:3px;margin-bottom:12px}
.choice-custom .choice-tag{background:var(--red)}
.table-title{text-align:center;color:var(--navy);font-size:2rem;margin-bottom:18px}
.compare-wrap{border:1px solid var(--navy-2);border-radius:10px;overflow:hidden;overflow-x:auto;margin-bottom:56px}
.compare{width:100%;border-collapse:collapse;text-align:center;color:var(--navy)}
.compare th{background:var(--navy);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem;padding:20px 16px}
.compare td{padding:15px 16px;font-weight:500}
.compare tbody tr:nth-child(odd){background:#e8eaf0}
.compare td+td,.compare th+th{border-left:1px solid #7f93b5}
.brand-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.brand-links--five{grid-template-columns:repeat(5,1fr)}
.brand-links--four{grid-template-columns:repeat(4,1fr)}
.brand-links--compact{gap:12px;margin-top:20px}
.brand-link{display:flex;flex-direction:column;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 20px 22px;text-decoration:none;transition:.15s}
.brand-link img{height:64px;width:auto;object-fit:contain}
.brand-link span{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);font-size:1.1rem}
.brand-link:hover{border-color:var(--red);box-shadow:0 10px 24px rgba(11,31,58,.12);transform:translateY(-3px)}
.brand-link:hover span{color:var(--red)}
@media (max-width:900px){.section-nav{top:88px}.choice-grid,.brand-links{grid-template-columns:1fr}.page-section{padding:52px 0}.compare th{font-size:.95rem;padding:14px 8px}.compare td{padding:12px 8px;font-size:.92rem}}
.jump-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.jump-btns a{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:#fff;text-decoration:none;border:2px solid rgba(255,255,255,.6);border-radius:4px;padding:.35em .95em;transition:.15s}
.jump-btns a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}
.compare-brands{margin-bottom:10px}
.compare sup{font-size:.65em}
.footnotes{font-size:.85rem;color:var(--navy);margin:0}
.page-section{scroll-margin-top:96px}
.hat-grid{display:grid;grid-template-columns:repeat(auto-fill,155px);gap:16px;margin:0 0 24px}
.hat-card{background:#fff;border:1px solid #e3e6ee;border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hat-logo{display:flex;align-items:center;justify-content:center;height:36px;margin-bottom:8px}
.hat-logo img{max-height:30px;max-width:115px;width:auto}
.hat-photo{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;margin-bottom:8px}
.hat-name{font-weight:700;color:var(--navy);margin:10px 0 6px}
.hat-link{margin-top:auto;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;color:var(--red);text-decoration:none}
.hat-link:hover{text-decoration:underline}
.apparel-grid{grid-template-columns:repeat(auto-fill,250px)}
.apparel-photos{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;margin-bottom:10px}
.apparel-photos img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:4px;background:#fff}
@media(max-width:600px){.hat-grid{grid-template-columns:repeat(2,1fr)}.apparel-grid{grid-template-columns:1fr}}
.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin-bottom:32px}
.gear-card{background:#fff;border:1px solid #e3e6ee;border-radius:8px;overflow:hidden}
.gear-card img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;background:#fff;border-bottom:1px solid #e3e6ee}
.gear-card div{padding:14px 16px}
.gear-card h3{margin:0 0 4px;color:var(--navy)}
.gear-card p{margin:0;color:#5a6478;font-size:.95rem}
.gear-also{background:#f4f6fa;border-radius:8px;padding:20px 24px;margin-bottom:28px}
.gear-grid-boxes{grid-template-columns:repeat(auto-fill,200px)}
.gear-box .hat-name{font-size:.92rem;line-height:1.25;margin:2px 0 8px}
@media(max-width:600px){.gear-grid-boxes{grid-template-columns:repeat(2,1fr)}}
.hat-grid{align-items:stretch}
.hat-card .hat-logo{height:36px;flex:none}
.hat-card .hat-name{min-height:2.5em;display:flex;align-items:center;justify-content:center}
.hat-card .hat-link{margin-top:auto;padding-top:6px}
.uni-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;margin-bottom:56px;align-items:stretch}
.uni-info{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:8px;padding:20px 22px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.uni-item .choice-tag{font-size:.75rem;margin-bottom:6px}
.uni-item p{margin:0;font-size:.88rem;line-height:1.5;color:var(--ink)}
.tag-custom{background:var(--red)!important}
.specials{position:relative;border-radius:8px;overflow:hidden;border-top:5px solid var(--red);background:#0b1a3a}
.specials-track{position:relative;aspect-ratio:1.8/1}
.specials .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.specials .slide.active{opacity:1}
.specials-tag{position:absolute;top:10px;left:10px;z-index:2;background:var(--red);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;padding:.25em .7em;border-radius:3px}
.specials-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}
.specials-dots button{width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.specials-dots button.active{background:#fff}
@media(max-width:900px){.uni-top{grid-template-columns:1fr}.specials{order:-1}}
.hat-photo{object-fit:contain}
.hat-logo{gap:8px}.hat-logo img+img{border-left:1px solid #e3e6ee;padding-left:8px}
.quote-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.quote-row .hat-quote{flex:none}
.quote-info{flex:1;min-width:260px;max-width:720px;border-left:4px solid var(--red);padding:4px 0 4px 16px}
.quote-info p{margin:0 0 4px;font-size:.9rem;line-height:1.45;color:var(--ink)}
.quote-info .qi-head{font-size:1rem;color:var(--navy)}
.quote-info .qi-head span{font-weight:600}
.quote-info .qi-head strong{font-family:var(--display);color:var(--red);letter-spacing:.04em}
.quote-info .qi-local{font-size:.85rem;color:var(--muted,#555);margin:0}
.eq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:32px}
.eq-box{background:#fff;border:1px solid #e3e6ee;border-top:5px solid var(--navy);border-radius:8px;padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center}
.eq-box+.eq-box{border-top-color:var(--red)}
.eq-box .hat-logo img{max-height:38px;max-width:150px}
.eq-box img.eq-photo{width:100%;max-width:300px;aspect-ratio:1/1;object-fit:contain;margin:8px 0 12px}
.eq-box h3{color:var(--navy);margin:0 0 6px}.eq-box p{margin:0 0 14px;font-size:.95rem}
.eq-box .hat-link{margin-top:auto;display:block;padding:3px 0}
@media(max-width:700px){.eq-grid{grid-template-columns:1fr}}

.compare th.th-logo span{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;padding:8px 12px;height:52px;min-width:120px}
.compare th.th-logo img{max-height:36px;max-width:140px;width:auto;display:block}
.table-title .tt-note{font-size:.6em;font-weight:600;color:var(--red);text-transform:none;letter-spacing:0;margin-left:6px}
.brand-jerseys{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.brand-jerseys img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.brand-link span.brand-cta{font-size:.9rem}
@media (max-width:900px){.compare th.th-logo span{min-width:0;padding:6px;height:40px}.compare th.th-logo img{max-height:24px;max-width:80px}}
.brand-link{padding:16px 14px 14px;gap:10px}
.brand-link img{height:40px}
.brand-jerseys{gap:6px}
.brand-link span.brand-cta{font-size:.8rem}
.brand-link .brand-jerseys img{height:auto;width:100%}
.site-header nav{gap:22px}
.site-header nav a:not(.btn){font-size:1rem;white-space:nowrap}
@media (max-width:1240px){
 .site-header .wrap{position:relative}
 .nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
 .nav-burger span{width:26px;height:3px;background:var(--navy);border-radius:2px}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 24px;gap:16px;border-bottom:1px solid var(--line);z-index:30}
 .site-header.nav-open nav{display:flex}
}
.page-hero--baseball{background:#0b0b0d url(/img/baseball-hero.jpg?v=5) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--baseball::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.7) 40%,rgba(8,8,10,0) 70%)}
.page-hero--baseball::after{display:none}
.page-hero--baseball .eyebrow{color:#ff5a5a}
.page-hero--baseball p{color:#e9e2e2}
.page-hero--baseball .jump-btns a:hover{background:#c8102e;border-color:#c8102e;color:#fff}
@media (max-width:900px){.page-hero--baseball{background-position:70% center;padding:64px 0 56px}.page-hero--baseball::before{background:rgba(8,8,10,.72)}}
.page-hero--baseball{background-position:right 12%}
.nav-drop{position:relative}
.nav-drop .caret{font-size:.7em;margin-left:2px;vertical-align:2px}
.nav-sub{display:none;position:absolute;top:100%;left:-16px;padding-top:14px;z-index:30;min-width:190px}
.nav-sub a{display:block;background:#fff;padding:12px 18px;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 10px 24px rgba(11,31,58,.14)}
.nav-drop:hover .nav-sub,.nav-drop:focus-within .nav-sub{display:block}
@media (max-width:900px){.nav-sub{display:block;position:static;padding:8px 0 0 16px}.nav-sub a{border:0;box-shadow:none;padding:4px 0;background:none}}
.page-hero--fastpitch{background:#120a1c url(/img/fastpitch-hero.jpg?v=3) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--fastpitch::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,7,22,.92) 0%,rgba(14,7,22,.7) 40%,rgba(14,7,22,0) 70%)}
.page-hero--fastpitch::after{display:none}
.page-hero--fastpitch .eyebrow{color:#c49bff}
.page-hero--fastpitch p{color:#e6def0}
.page-hero--fastpitch .jump-btns a:hover{background:#7b3fc4;border-color:#7b3fc4;color:#fff}
@media (max-width:900px){.page-hero--fastpitch{background-position:75% center;padding:64px 0 56px}.page-hero--fastpitch::before{background:rgba(14,7,22,.72)}}
.brand-jerseys img:only-child{grid-column:1/-1;width:50%;justify-self:center}
.compare-brands ~ .footnotes + .quote-row{margin-top:20px}

.page-hero--slowpitch{background:#140d06 url(/img/slowpitch-hero.jpg?v=3) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--slowpitch::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,12,4,.92) 0%,rgba(20,12,4,.7) 40%,rgba(20,12,4,0) 70%)}
.page-hero--slowpitch::after{display:none}
.page-hero--slowpitch .eyebrow{color:#e8b56a}
.page-hero--slowpitch p{color:#efe4d4}
.page-hero--slowpitch .jump-btns a:hover{background:#b07a2e;border-color:#b07a2e;color:#fff}
@media (max-width:900px){.page-hero--slowpitch{background-position:75% center;padding:64px 0 56px}.page-hero--slowpitch::before{background:rgba(20,12,4,.72)}}

.page-hero--soccer{background:#04130b url(/img/soccer-hero.jpg?v=3) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--soccer::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,8,.92) 0%,rgba(3,14,8,.7) 40%,rgba(3,14,8,0) 70%)}
.page-hero--soccer::after{display:none}
.page-hero--soccer .eyebrow{color:#5fe39a}
.page-hero--soccer p{color:#dcefe3}
.page-hero--soccer .jump-btns a:hover{background:#1f9d57;border-color:#1f9d57;color:#fff}
@media (max-width:900px){.page-hero--soccer{background-position:75% center;padding:64px 0 56px}.page-hero--soccer::before{background:rgba(3,14,8,.72)}}

.section-head.sub-head{margin:8px 0 14px}.section-head.sub-head h3{font-family:var(--display, inherit);text-transform:uppercase;letter-spacing:.02em;font-size:1.4rem;margin:0}
.brand-link .brand-cta a{color:inherit;text-decoration:none}
.brand-link .brand-cta a:hover{color:var(--red)}
.compare th.th-stock span{color:var(--navy);font-size:1.35rem;letter-spacing:.06em}
#uniforms .footnotes + .brand-links--compact{margin-top:28px}

.wide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}
.sport-tile--wide{aspect-ratio:2/1}
.sport-tile--light img{object-fit:contain;background:#fff}
.sport-tile .tile-logo{position:absolute;inset:auto;top:14px;right:14px;width:30%;height:auto;object-fit:contain;z-index:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.sport-tile:hover .tile-logo{transform:none}
@media(max-width:700px){.wide-grid{grid-template-columns:1fr}}

.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.feature-media{position:relative}
.feature-media>img:first-child{width:100%;border-radius:14px;display:block;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.feature-logo{position:absolute;top:14px;right:14px;width:32%;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.feature-list{list-style:none;padding:0;margin:0 0 24px}
.feature-list li{padding:10px 0 10px 32px;border-bottom:1px solid #e3e7ee;position:relative;font-size:1.08rem}
.feature-list li::before{content:"";position:absolute;left:4px;top:17px;width:12px;height:12px;background:var(--red);transform:skew(-14deg)}
@media(max-width:900px){.feature-split{grid-template-columns:1fr;gap:28px}}
.compare th.th-logo.th-stock span,.compare th.th-logo.th-custom span{flex-direction:column;height:auto;min-height:52px;gap:4px;padding:8px 12px}
.compare th.th-stock b{font-weight:700;line-height:1}
.compare th.th-stock .th-mini{display:flex;gap:8px;align-items:center;justify-content:center;font-style:normal}
.compare th.th-stock .th-mini img{max-height:20px;max-width:64px}
.compare th.th-stock small,.compare th.th-custom small{display:block;color:var(--navy);font-size:.72rem;font-weight:800;letter-spacing:.14em;line-height:1;padding-top:5px;border-top:2px solid var(--red);width:100%;text-align:center}
@media(max-width:900px){.compare th.th-stock .th-mini{flex-direction:column;gap:4px}.compare th.th-stock .th-mini img{max-height:14px;max-width:56px}.compare th.th-stock small,.compare th.th-custom small{font-size:.55rem;letter-spacing:.06em}}
/* flipped comparison: brands down the side, items slanted across the top */
.compare-wrap:has(.compare-flip){overflow:visible;border:0;border-radius:0}
.compare-flip{table-layout:auto;width:100%}
.compare-flip thead th{background:none;color:var(--navy);border:0;padding:0}
.compare-flip th.rot{height:170px;vertical-align:bottom;position:relative;white-space:nowrap;min-width:44px}
.compare-flip th.rot>div{position:absolute;left:50%;bottom:8px;transform-origin:left bottom;transform:rotate(-55deg)}
.compare-flip th.rot span{font-size:.85rem;letter-spacing:.06em;border-bottom:2px solid var(--red);padding-bottom:2px}
.compare-flip tbody th{background:var(--navy);padding:8px 10px;border-bottom:1px solid #7f93b5;width:1%}
.compare-flip td{padding:10px 6px;font-size:.9rem;line-height:1.2;border-left:1px solid #d0d6e2}
.compare-flip tbody tr:nth-child(odd){background:#e8eaf0}
.compare-flip tbody tr:first-child th{border-top-left-radius:10px}
.compare-flip tbody tr:last-child th{border-bottom-left-radius:10px}
.compare-flip td+td,.compare-flip th+th{border-left:1px solid #d0d6e2}
@media(max-width:900px){
 .compare-flip th.rot{height:140px;min-width:0}
 .compare-flip th.rot span{font-size:.62rem;letter-spacing:.03em}
 .compare-flip td{padding:8px 2px;font-size:.66rem}
 .compare-flip tbody th{padding:5px 4px}
 .compare-flip th.th-logo span{padding:4px 5px;min-width:0}
 .compare-flip th.th-logo img{max-width:58px;max-height:18px}
 .compare-flip th.th-stock b{font-size:.8rem}
 .compare-flip th.th-stock small,.compare-flip th.th-custom small{font-size:.45rem}
}
@media(max-width:600px){
 .compare-wrap:has(.compare-flip){margin-left:-14px;margin-right:-14px}
 .compare-flip td{padding:6px 1px;font-size:.6rem}
 .compare-flip th.th-logo img{max-width:46px;max-height:15px}
 .compare-flip th.th-stock .th-mini img{max-width:40px;max-height:11px}
 .compare-flip th.rot span{font-size:.56rem}
}
/* vertical item headings */
.compare-flip th.rot{height:auto;vertical-align:bottom;padding:0 0 8px}
.compare-flip th.rot>div{position:static;transform:none;writing-mode:vertical-rl;rotate:180deg;margin:0 auto;display:inline-block}
.compare-flip th.rot span{font-size:1rem;border-bottom:0;border-left:3px solid var(--red);padding:0 0 0 0;padding-left:2px}
.compare-flip th.th-custom span a{display:flex;flex-direction:column;align-items:center;gap:4px;color:inherit;text-decoration:none;width:100%}
.compare-flip th.th-logo a:hover img{opacity:.75}
.compare-flip th.th-stock .th-mini a{display:inline-flex}
@media(max-width:900px){.compare-flip th.rot span{font-size:.78rem}}
@media(max-width:600px){.compare-flip th.rot span{font-size:.68rem}}
.compare-flip thead th.rot{height:1px;vertical-align:bottom;text-align:center;padding:0 0 8px;position:static}
.compare-flip th.rot>div{position:static;display:block;writing-mode:vertical-rl;rotate:none;transform:rotate(180deg);white-space:nowrap;margin:0 auto;width:max-content}
.compare-flip th.rot span{display:block;border-left:0;border-right:3px solid var(--red);padding:0 2px 0 0}
.compare-flip th.rot>div{writing-mode:horizontal-tb;transform:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:215px;width:auto}
.compare-flip th.rot span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
@media(max-width:900px){.compare-flip th.rot>div{height:170px}}
@media(max-width:600px){.compare-flip th.rot>div{height:145px}}
@media(max-width:900px){.brand-links--five{grid-template-columns:repeat(2,1fr)}}
.brand-link .fc-tag{display:block;color:var(--navy);font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1;padding-top:5px;margin-top:-2px;border-top:2px solid var(--red);width:60%;text-align:center}
.page-hero--basketball{background:#140a03 url(/img/basketball-hero.jpg?v=5) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--basketball::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,7,2,.92) 0%,rgba(14,7,2,.7) 40%,rgba(14,7,2,0) 70%)}
.page-hero--basketball::after{display:none}
.page-hero--basketball .eyebrow{color:#ff9a3c}
.page-hero--basketball p{color:#f3e6da}
.page-hero--basketball .jump-btns a:hover{background:#e3701a;border-color:#e3701a;color:#fff}
@media (max-width:900px){.page-hero--basketball{background-position:70% center;padding:64px 0 56px}.page-hero--basketball::before{background:rgba(14,7,2,.72)}}

.page-hero--hockey{background:#0b0b0c url(/img/hockey-hero.jpg?v=3) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--hockey::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,9,.92) 0%,rgba(8,8,9,.7) 40%,rgba(8,8,9,0) 70%)}
.page-hero--hockey::after{display:none}
.page-hero--hockey p{color:#e6e6e6}
@media (max-width:900px){.page-hero--hockey{background-position:72% center;padding:64px 0 56px}.page-hero--hockey::before{background:rgba(8,8,9,.72)}}
@media(max-width:900px){.brand-links--four{grid-template-columns:repeat(2,1fr)}}

.page-hero--football{background:#1a0708 url(/img/football-hero.jpg?v=2) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--football::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,5,6,.92) 0%,rgba(20,5,6,.7) 40%,rgba(20,5,6,0) 70%)}
.page-hero--football::after{display:none}
.page-hero--football .eyebrow{color:#ff8f8f}
.page-hero--football p{color:#f1e2e2}
@media (max-width:900px){.page-hero--football{background-position:72% center;padding:64px 0 56px}.page-hero--football::before{background:rgba(20,5,6,.72)}}

.page-hero--lax{background:#0b0f1a url(/img/lax-hero.jpg?v=3) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--lax::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,20,.92) 0%,rgba(8,10,20,.7) 40%,rgba(8,10,20,0) 70%)}
.page-hero--lax::after{display:none}
.page-hero--lax .eyebrow{color:#f2c14e}
.page-hero--lax p{color:#e8e6dc}
.page-hero--lax .jump-btns a:hover{background:#c99a1e;border-color:#c99a1e;color:#fff}
@media (max-width:900px){.page-hero--lax{background-position:75% center;padding:64px 0 56px}.page-hero--lax::before{background:rgba(8,10,20,.72)}}

/* Other Sports: smaller tiles */
.sport-grid--small{max-width:860px;margin:0 auto;gap:16px}
.sport-grid--small .sport-label{padding:12px 12px 11px}
.sport-grid--small .sport-label b{font-size:1.15rem}
.sport-grid--small .sport-label small{font-size:.75rem}
@media (max-width:700px){.sport-grid--small{grid-template-columns:repeat(2,1fr)}}
.section-intro{max-width:720px;margin:0 0 8px;color:var(--ink,#334)}

/* Volleyball page */
@media(max-width:900px){.brand-links--four{grid-template-columns:repeat(2,1fr)}}
.page-hero--volleyball{background:#0b1a33 url(/img/volleyball-hero.jpg?v=1) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--volleyball::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,51,.92) 0%,rgba(11,26,51,.7) 40%,rgba(11,26,51,0) 70%)}
.page-hero--volleyball::after{display:none}
.page-hero--volleyball .eyebrow{color:#f2c94c}
.page-hero--volleyball p{color:#e3e8f1}
@media (max-width:900px){.page-hero--volleyball{background-position:75% center;padding:64px 0 56px}.page-hero--volleyball::before{background:rgba(11,26,51,.72)}}
.page-hero--glow{background:#07040f url(/img/glow-hero.jpg?v=2) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--glow::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,4,15,.92) 0%,rgba(7,4,15,.7) 40%,rgba(7,4,15,0) 70%)}
.page-hero--glow::after{display:none}
.page-hero--glow .eyebrow{color:#b98cff}
.page-hero--glow p{color:#e4dcf2}
@media (max-width:900px){.page-hero--glow{background-position:75% center;padding:64px 0 56px}.page-hero--glow::before{background:rgba(7,4,15,.72)}}
.to-top{display:none}
@media (max-width:900px){.to-top{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:900;width:48px;height:48px;border-radius:50%;border:2px solid #fff;background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(11,31,58,.35);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}.to-top.show{opacity:1;visibility:visible;transform:none}.to-top:active{background:var(--red-d)}}

/* Baseball Sizes and Ordering form */
.order-block{padding-top:56px}
.order-form{max-width:1180px;margin:0 auto;padding:40px}
.order-step{display:flex;align-items:center;gap:14px;margin:44px 0 18px;padding-bottom:10px;border-bottom:3px solid var(--navy)}
.order-form > .order-step:first-of-type{margin-top:0}
.order-step h2{margin:0;color:var(--navy);font-size:1.8rem}
.step-no{flex:none;width:38px;height:38px;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:1.35rem;border-radius:4px;transform:skew(-8deg)}
.req{color:var(--red)}
.row3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.addr input,.addr select{width:100%;font:inherit;padding:11px 13px;border:1px solid #cfd6e1;border-radius:6px;background:#fff;margin-bottom:10px}
.addr .row3 input,.addr .row3 select{margin-bottom:0}
.guide-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.guide-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:8px;padding:18px 12px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.guide-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(11,31,58,.12)}
.guide-card img{height:54px;width:100%;object-fit:contain}
.guide-tag{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.guide-link{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--red)}
.order-warn{margin-top:22px;background:#fff8e6;border-left:5px solid var(--yellow);padding:16px 20px;border-radius:6px;font-size:.95rem;font-weight:500}
.order-img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line);margin-bottom:20px}
.optlist{display:grid;gap:10px}
.optlist label{display:flex;gap:10px;align-items:center;font-weight:400;font-size:.97rem;color:var(--ink);margin:0;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 14px;cursor:pointer}
.optlist label:has(input:checked){border-color:var(--navy);background:#eef2f8}
.optlist .other-opt input[type=text]{flex:1;font:inherit;padding:7px 10px;border:1px solid #cfd6e1;border-radius:5px;min-width:0}
.field-note{color:var(--muted);margin:0 0 12px}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.table-scroll.tall{max-height:640px;margin-bottom:24px}
.order-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.85rem}
.order-table thead th{position:sticky;top:0;z-index:2;background:var(--navy);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;padding:10px 8px;text-align:left;white-space:nowrap}
.order-table tbody th{position:sticky;left:0;z-index:1;background:var(--bg);color:var(--navy);font-weight:600;text-align:left;padding:6px 10px;white-space:nowrap;border-right:1px solid var(--line)}
.order-table thead th:first-child{left:0;z-index:3}
.order-table td{padding:4px;border-bottom:1px solid var(--line)}
.order-table tbody tr:nth-child(even) td{background:#fafbfd}
.order-table input[type=text],.order-table select{width:100%;min-width:120px;font:inherit;padding:7px 8px;border:1px solid #d7dde7;border-radius:4px;background:#fff}
.order-table td:has(input[type=checkbox]){text-align:center}
.order-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--red)}
.roster input[type=text]{min-width:160px}
.order-table input:focus,.order-table select:focus{outline:2px solid var(--navy-2);border-color:transparent}
.mini-tables{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mini-tables h3{color:var(--navy);font-size:1.3rem;margin-bottom:8px}
.mini-tables .order-table input{min-width:80px}
.fan-store{display:block;margin:40px 0 0}
.fan-store img{display:block;width:100%;height:auto;border-radius:8px}
.sign-box{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:22px}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;margin-bottom:18px;cursor:pointer}
.agree input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--red)}
.sig-input{font-family:'Brush Script MT','Segoe Script',cursive!important;font-size:1.6rem!important}
.order-terms{margin:20px 0 24px;color:var(--muted);font-size:.92rem}
.order-terms p{margin:0 0 6px}
.nav-sub a.nav-child{padding-left:34px;font-size:1rem;border-top:1px solid var(--line)}
.nav-sub a.nav-child::before{content:"\21B3  ";color:var(--red)}
@media (max-width:900px){.guide-grid{grid-template-columns:repeat(3,1fr)}.mini-tables{grid-template-columns:1fr}.order-form{padding:24px}.nav-sub a.nav-child{padding-left:16px}}
@media (max-width:560px){.guide-grid{grid-template-columns:repeat(2,1fr)}.row3{grid-template-columns:1fr}.addr .row3 input,.addr .row3 select{margin-bottom:10px}}

.order-table .design-row td{background:#fff4d6;border-bottom:2px solid var(--navy);padding:6px 4px}
.order-table .design-row td.design-label{position:sticky;left:0;z-index:1;color:var(--navy);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:6px 10px;border-right:1px solid var(--line)}
.order-table .design-row input{border-color:#e0c46a}
.roster thead th:not(:first-child){text-align:center}
.roster thead select.item-pick{width:100%;min-width:8.5rem;font-weight:600;text-align:center;text-align-last:center;padding:.35rem .4rem}
.roster .jersey-label{text-align:center;vertical-align:middle;white-space:nowrap}
.roster .jersey-label strong{display:block;font-size:.85rem}
.roster .jersey-label small{display:block;font-size:.75rem;font-weight:400;opacity:.75}
.roster th[hidden],.roster td[hidden]{display:none}
.order-table .fabric-row td{border-bottom:2px solid var(--navy)}
.info-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:4px;border-radius:50%;border:0;background:var(--navy);color:#fff;font:700 12px/1 Georgia,serif;font-style:italic;cursor:pointer;vertical-align:middle}
.info-dialog{max-width:640px;width:calc(100% - 32px);border:0;border-radius:12px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.info-dialog::backdrop{background:rgba(10,20,40,.55)}
.info-dialog h2{margin:0 0 12px;color:var(--navy)}
.info-dialog ul{padding-left:20px;line-height:1.6}
.dialog-close{position:absolute;top:10px;right:14px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#555}
.info-dialog .dialog-lead{margin:0 32px 14px 0;font-weight:600}
.info-dialog .dialog-title{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.info-dialog .dialog-title img{height:36px;width:auto;flex:none}
.roster thead td{position:sticky;z-index:2}
.roster thead td.design-label{left:0;z-index:3}
@media (max-width:700px){
.order-form{padding:16px}
.table-scroll.tall{max-height:75vh}
.roster tbody th,.roster thead th:first-child,.order-table .design-row td.design-label{white-space:normal;width:64px;min-width:64px;max-width:64px;padding:4px 6px;font-size:.68rem;line-height:1.15;letter-spacing:0;word-break:break-word}
.roster tbody th{font-size:.8rem;text-align:center}
.roster input[type=text],.roster select{min-width:110px}
.roster .jersey-label{white-space:normal;min-width:110px}
}
@media (max-width:700px){.quote.order-form{padding:14px}}
.mini-tables{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mini-tables>div{min-width:0}
.mini-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.mini-head h3{margin:0 4px 0 0}
.brand-tile{font-size:.75rem;font-weight:600;color:var(--navy);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:4px 10px;text-decoration:none;white-space:nowrap}.brand-tile:hover{border-color:var(--red);color:var(--red)}
.mini-tables .order-table input[type=text]{min-width:0}.mini-tables .order-table thead th{white-space:normal;font-size:.72rem;padding:8px 5px}
@media (max-width:900px){.mini-tables{grid-template-columns:minmax(0,1fr)}}
.mini-tables .order-table thead th:not(:first-child){text-align:center}
.page-hero--order{background:#0b0b0d url(/img/order-hero.jpg?v=2) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--order::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.7) 40%,rgba(8,8,10,0) 70%)}
.page-hero--order::after{display:none}.page-hero--order .eyebrow{color:#ff5a5a}.page-hero--order p{color:#e9e2e2}
@media (max-width:900px){.page-hero--order{background-position:72% center;padding:64px 0 56px}.page-hero--order::before{background:rgba(8,8,10,.72)}}
.order-table.roster thead tr td,.order-table.roster thead tr th{z-index:3}.order-table.roster thead tr>:first-child{z-index:4}
.guide-card .guide-logos{display:flex;gap:8px;width:100%;justify-content:center}.guide-card .guide-logos img{height:26px;flex:1;min-width:0}.guide-card .guide-logos-pair img{height:54px}
.guide-card .guide-stack{display:flex;flex-direction:column;gap:4px;height:54px;width:100%;justify-content:center}.guide-card .guide-stack>img{height:26px}.guide-card .guide-stack .guide-logos img{height:24px}
.table-note{font-size:.85rem;color:var(--navy);margin:8px 0 0;font-style:italic}
.match-note{font-size:.72rem;font-style:italic;color:var(--muted);flex:1 1 180px;line-height:1.3}
.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.promo-tile{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.promo-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(11,31,58,.12)}
.promo-tile img{width:100%;aspect-ratio:1;object-fit:cover}
.promo-tile figcaption{padding:14px 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-direction:row-reverse}
.promo-tile h3{margin:0;font-size:1.35rem;color:var(--navy)}
.promo-tag{font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding:.2em .7em;border-radius:999px;white-space:nowrap}
.promo-tag--team{background:var(--red);color:#fff}.promo-tag--business{background:var(--navy);color:#fff}
.promo-cta{text-align:center;margin:36px 0 0}
@media (max-width:900px){.promo-grid{grid-template-columns:repeat(2,1fr);gap:14px}.promo-tile h3{font-size:1.1rem}.promo-tile figcaption{flex-direction:column-reverse;align-items:flex-start;padding:10px 12px 12px;gap:6px}}
.promo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.promo-tile{flex:0 0 calc((100% - 54px)/4)}
.promo-tile figcaption{display:block;padding:10px 12px 12px;text-align:center}
.promo-tile h3{font-size:1.15rem}
@media (max-width:900px){.promo-grid{gap:12px}.promo-tile{flex-basis:calc((100% - 12px)/2)}.promo-tile figcaption{display:block;padding:8px 10px 10px}.promo-tile h3{font-size:1rem}}
.page-hero--promo{background:#0b1f3a url(/img/promo-hero.jpg) center 60%/cover no-repeat;padding:96px 0 88px}
.page-hero--promo::before{content:"";position:absolute;inset:0;background:rgba(8,8,10,.62)}
.page-hero--promo::after{display:none}
.page-hero--promo p{color:#eef1f6}
.promo-tile figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:10px 12px 12px}
.promo-tile h3{font-size:1.1rem;line-height:1.15}
.promo-quote{flex:none;font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;background:var(--red);color:#fff;padding:.4em .75em;border-radius:6px;text-decoration:none;white-space:nowrap}
.promo-quote:hover{background:var(--navy);color:#fff}
@media (max-width:900px){.page-hero--promo{padding:56px 0 48px}.promo-tile figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px 10px}.promo-tile h3{font-size:1rem}.promo-quote{font-size:.72rem}}
.promo-tile figcaption{flex-direction:row}
.promo-tile figcaption h3{margin-right:auto}
@media (max-width:900px){.promo-tile figcaption{flex-direction:column}.promo-quote{align-self:flex-end}}
.maxrep-note{display:flex;align-items:center;gap:16px;padding:14px 16px;margin:0 0 22px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:8px;background:#fff}
.maxrep-note img{width:140px;height:auto;flex:none}
.maxrep-note p{margin:0;font-size:1rem;line-height:1.45}
.glow-designs{background:#07060d;color:#fff}
.glow-designs h2{color:#fff}.glow-designs .section-head p{color:#c9c3e6}
.glow-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:28px}
.glow-grid .glow-tile{flex:0 1 calc(25% - 15px)}
.glow-tile{margin:0;border-radius:12px;overflow:hidden;background:#000;border:1px solid rgba(160,110,255,.35);box-shadow:0 0 28px rgba(140,80,255,.25)}
.glow-tile img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.glow-tile figcaption{padding:12px 14px;font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase;text-align:center;color:#b6ff3b;text-shadow:0 0 10px rgba(182,255,59,.6)}
@media (max-width:900px){.glow-grid .glow-tile{flex-basis:calc(50% - 10px)}.maxrep-note{flex-direction:column;align-items:flex-start}}
.glow-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}
.glow-intro-text p{color:#c9c3e6;font-size:1.1rem;margin:0 0 20px}
.glow-intro .maxrep-note{margin:0}.glow-intro .maxrep-note p{color:#1b2230;margin:0;font-size:1rem}
.glow-designs .feature-list{margin:0}
.glow-designs .feature-list li{color:#fff;border-bottom-color:rgba(185,140,255,.25)}
.glow-designs .feature-list li::before{background:#b6ff3b;box-shadow:0 0 8px rgba(182,255,59,.7)}
.glow-quote{margin-top:32px}
.glow-quote .quote-info p{color:#e4dcf2}
.glow-quote .qi-head span{color:#c9c3e6}.glow-quote .qi-head strong{color:#b6ff3b}
@media (max-width:900px){.glow-intro{grid-template-columns:1fr;gap:24px}}
.hero-bubble{--bub:182,255,59;--bub-text:#eaffb8;position:absolute;right:0;bottom:-30px;width:140px;height:140px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;box-sizing:border-box;border:3px solid rgb(var(--bub));background:radial-gradient(circle,rgba(var(--bub),.3) 0%,rgba(10,10,14,.85) 70%);color:var(--bub-text);font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.1;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;text-shadow:0 0 8px rgba(var(--bub),.8);transform:rotate(8deg);animation:bubPulse 2.4s ease-in-out infinite}
.hero-bubble:hover{background:rgb(var(--bub));color:#0b0716;text-shadow:none}
@keyframes bubPulse{0%,100%{box-shadow:0 0 10px rgba(var(--bub),.45),inset 0 0 8px rgba(var(--bub),.2)}50%{box-shadow:0 0 26px rgba(var(--bub),.85),inset 0 0 14px rgba(var(--bub),.35)}}
@media (prefers-reduced-motion:reduce){.hero-bubble{animation:none}}
@media (max-width:900px){.hero-bubble{position:static;width:116px;height:116px;font-size:.9rem;margin-top:22px;transform:rotate(-4deg)}}
.page-hero--baseball .hero-bubble{--bub:255,90,90;--bub-text:#ffe1e1}
.page-hero--fastpitch .hero-bubble{--bub:196,155,255;--bub-text:#f0e6ff}
.page-hero--slowpitch .hero-bubble{--bub:232,181,106;--bub-text:#fff0d9}
.page-hero--soccer .hero-bubble{--bub:95,227,154;--bub-text:#e1fbe9}
.page-hero--basketball .hero-bubble{--bub:255,154,60;--bub-text:#ffeedd}
.page-hero--hockey .hero-bubble{--bub:120,190,255;--bub-text:#e3f1ff}
.page-hero--football .hero-bubble{--bub:255,143,143;--bub-text:#ffe6e6}
.page-hero--lax .hero-bubble{--bub:242,193,78;--bub-text:#fff3d6}
.page-hero--volleyball .hero-bubble{--bub:255,214,74;--bub-text:#fff6d6}
@media (min-width:901px){.page-hero--volleyball .hero-bubble{right:330px}}

.page-hero--stores{background:#0b0b0d url(/img/stores-hero.jpg) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--stores::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.7) 40%,rgba(8,8,10,0) 70%)}
.page-hero--stores::after{display:none}
.page-hero--stores .eyebrow{color:#ff5a5a}
.page-hero--stores p{color:#e9e2e2}
.page-hero--stores .jump-btns a:hover{background:#c8102e;border-color:#c8102e;color:#fff}
@media (max-width:900px){.page-hero--stores{background-position:75% center;padding:64px 0 56px}.page-hero--stores::before{background:rgba(8,8,10,.72)}}

.store-list{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}
.store-list li{position:relative;padding-left:22px;font-weight:600}
.store-list li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:50%;background:#c8102e}
.offer-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
@media (max-width:700px){.offer-row{grid-template-columns:1fr}}
.offer-row--top{margin-top:0}
.page-hero--corporate{background:#1a1d24 url(/img/corporate-hero.jpg?v=4) center 24%/cover no-repeat;padding:96px 0 88px}
.page-hero--corporate::before{content:"";position:absolute;inset:0;background:rgba(8,8,10,.62)}
.page-hero--corporate::after{display:none}
.page-hero--corporate p{color:#eef1f6}
@media (max-width:900px){.page-hero--corporate{padding:56px 0 48px}}
.page-hero--corporate::before{background:linear-gradient(90deg,rgba(8,8,10,.88) 0%,rgba(8,8,10,.65) 45%,rgba(8,8,10,0) 72%)}
@media (max-width:900px){.page-hero--corporate::before{background:rgba(8,8,10,.62)}}

.corp-intro p{color:#4a5262;font-size:1.1rem;margin:0}
.corp-tiles{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
@media (max-width:900px){.corp-tiles{grid-template-columns:repeat(2,1fr)}}
.corp-quote{margin-top:32px}

.page-hero--tees{background:#1a1d24 url(/img/wide-tees-hoodies.jpg?v=2) center 30%/cover no-repeat;padding:96px 0 88px}
.page-hero--tees::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.88) 0%,rgba(8,8,10,.65) 45%,rgba(8,8,10,.15) 80%)}
.page-hero--tees::after{display:none}
.page-hero--tees p{color:#eef1f6}
@media (max-width:900px){.page-hero--tees{padding:56px 0 48px}.page-hero--tees::before{background:rgba(8,8,10,.62)}}
.tee-group{margin:36px 0 0;font-size:1.25rem;text-transform:uppercase;letter-spacing:.04em}
.tee-tiles{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:14px;max-width:760px}
.tee-row{grid-template-columns:repeat(4,1fr);max-width:none;margin-top:32px;gap:14px}
@media (max-width:900px){.tee-row{grid-template-columns:repeat(2,1fr)}}
.social{gap:10px;margin-top:14px}.social a{border:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);transition:background .2s}.social a:hover{background:rgba(255,255,255,.28)}
.footer-training a{border-bottom:1px solid rgba(255,255,255,.4)}
.about-photos{display:grid;gap:14px}.about-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.about-points{padding-left:1.2em;margin:0 0 1em}.about-points li{margin-bottom:.6em}
.about-lead{max-width:820px;font-size:1.1rem}
.about-package{background:#f3f5f9;border-left:4px solid var(--red,#c8102e);padding:14px 18px;border-radius:6px}
.about-logos{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin-top:24px}.about-logos .logo-blt{height:130px;width:auto}.about-logos .logo-mfw{height:62px;width:auto}
.page-hero--about{background:#0b1f3a url(/img/about-hero.jpg?v=2) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--about::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,58,.95) 0%,rgba(11,31,58,.75) 35%,rgba(11,31,58,0) 60%)}
.page-hero--about::after{display:none}
@media (max-width:900px){.page-hero--about{background-position:70% center;padding:64px 0 56px}.page-hero--about::before{background:rgba(11,31,58,.72)}}
.about-logos .logo-dfw{height:80px;width:auto}
.page-hero--about::before{background:linear-gradient(90deg,rgba(11,31,58,.95) 0%,rgba(11,31,58,.6) 30%,rgba(11,31,58,0) 48%)}
.photo-map{position:relative}.photo-map .map-inset{position:absolute;right:12px;bottom:12px;width:38%;aspect-ratio:auto;object-fit:contain;background:#fff;padding:6px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.page-hero--about{min-height:440px;display:flex;align-items:flex-end;padding:0 0 28px;background-position:right top}
.page-hero--about .wrap{width:100%}
.page-hero--about h1{margin:0;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.page-hero--about .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.6)}
.page-hero--about::before{background:linear-gradient(0deg,rgba(11,31,58,.92) 0%,rgba(11,31,58,.55) 22%,rgba(11,31,58,0) 42%)}
@media (max-width:900px){.page-hero--about{min-height:300px;padding:0 0 20px;background-position:right top}.page-hero--about::before{background:linear-gradient(0deg,rgba(11,31,58,.92) 0%,rgba(11,31,58,.5) 35%,rgba(11,31,58,0) 60%)}}
.wide-grid--4{grid-template-columns:repeat(4,1fr)}
.wide-grid--4 .sport-tile--sq{aspect-ratio:1/1}
.wide-grid--4 .sport-tile--wide{grid-column:span 2}
.fan-tile{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(11,31,58,.12);display:flex;flex-direction:column}
.fan-halves{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}
.fan-half{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 6px 8px;text-decoration:none;transition:background .2s}
.fan-half+.fan-half{border-left:1px solid #e6e9ef}
.fan-half:hover{background:#f4f6fa}
.fan-product{width:100%;flex:1;min-height:0;object-fit:contain;transition:transform .3s}
.fan-half:hover .fan-product{transform:scale(1.05)}
.fan-logo{width:92%;height:auto;max-height:46px;object-fit:contain;margin-top:6px}
.fan-label{background:var(--navy);color:#fff;padding:12px 14px 11px;border-left:4px solid var(--yellow)}
.fan-label b{display:block;font-size:1.05rem;line-height:1.15}
.fan-label small{display:block;font-size:.75rem;opacity:.85;margin-top:2px}
@media(max-width:700px){.wide-grid--4{grid-template-columns:1fr 1fr}.wide-grid--4 .sport-tile--wide{grid-column:span 2}.fan-label{padding:7px 8px}.fan-label b{font-size:.85rem}.fan-label small{font-size:.65rem}.fan-logo{max-height:28px}}
.fan-tile{display:grid;grid-template-rows:minmax(0,1fr) auto}
.fan-halves{grid-template-rows:minmax(0,1fr);overflow:hidden}
.fan-half{min-height:0;overflow:hidden}
.fan-product{flex:1 1 0;height:0;min-height:0}
/* Open menu scrolls on its own when taller than the window */
@media (max-width:1240px){.site-header nav{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;flex-wrap:nowrap}}

/* Header background (Oct 27): night field under stadium lights replaces the navy/red graphic */
.hero,.page-hero:not([class*="page-hero--"]){background:#070b12 url(/img/header-bg.jpg?v=2) center 40%/cover no-repeat}
.hero::before,.page-hero:not([class*="page-hero--"])::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,16,.88) 0%,rgba(5,9,16,.66) 50%,rgba(5,9,16,.35) 100%)}
.hero::after,.page-hero:not([class*="page-hero--"])::after{display:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px 14px;margin:.2em 0 0}
.hero-badges .badge{display:inline-block;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(1.5rem,3.4vw,2.7rem);line-height:1;letter-spacing:.02em;padding:.32em .7em;transform:skew(-12deg);box-shadow:0 8px 20px rgba(0,0,0,.35);color:#fff;border-left:6px solid var(--yellow)}
.hero-badges .b1{background:var(--red)}
.hero-badges .b2{background:#fff;color:var(--navy);border-left-color:var(--red)}
.hero-badges .b3{background:var(--yellow);color:var(--navy);border-left-color:#fff}
.hero-badges .b4{background:var(--navy-2);border:2px solid #fff;border-left:6px solid var(--red)}
.hero-photo img.hero-brands{display:block;width:100%;height:auto;border-radius:0;box-shadow:none;margin:0 0 22px}
@media (hover:none),(pointer:coarse){.brand-strip img{filter:none;opacity:1}}
.nav-burger{background:none;border:0;margin:0;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px;align-items:center;justify-content:center;position:relative;z-index:31}
.alt-bg{background:var(--bg)}
.save{color:var(--red)}
.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px}
.program-card{background:var(--navy);color:#fff;border-radius:10px;padding:26px 28px;border-left:6px solid var(--red)}
.program-card h3{color:var(--yellow);font-size:1.6rem;margin:0 0 .3em}
.program-card p{margin:0;color:#d3dbe8;font-size:1.08rem}
.program-split{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.perks-title{color:var(--navy);font-size:1.7rem}
.program-contact{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:10px;padding:22px 24px}
.program-contact h3{color:var(--navy);margin:0 0 .4em;font-size:1.4rem}
.program-contact p{margin:0 0 .4em;font-size:1.05rem}
.program-contact .btn{margin-top:10px}
.program-flyer{width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
@media (max-width:900px){.program-grid,.program-split{grid-template-columns:1fr}}
.order-table.roster .label-row td{background:var(--navy);color:#fff;border-bottom:2px solid var(--navy);padding:6px 4px}
.order-table.roster .label-row td.design-label{position:sticky;left:0}
.roster .label-row .jersey-label small{opacity:.85}
.roster .inseam{display:block;margin-top:4px;width:100%;box-sizing:border-box}.roster .inseam[hidden]{display:none}
.feature-list li.has-logo{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}
.inline-logo{height:2.6em;width:auto;vertical-align:middle}
.feature-list li.has-logo::before{top:50%;transform:translateY(-50%) skew(-14deg)}
.inline-logo.wide{height:1.3em}
@media (min-width:901px){.nav-sub{max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain}.nav-sub a{padding:9px 18px}}
.page-hero-brands{display:block;width:100%;max-width:1000px;height:auto;margin-top:28px}
.page-hero--corporate{padding-bottom:26px}.page-hero--corporate .page-hero-brands{margin-top:90px}
@media (max-width:900px){.page-hero--corporate{padding-bottom:20px}.page-hero--corporate .page-hero-brands{margin-top:48px}}
.roster thead input.item-other{display:block;width:100%;min-width:8.5rem;margin-top:4px;padding:.3rem .4rem;font-size:.85rem;text-align:center}
.roster thead input.item-other[hidden]{display:none}
.pack-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}
.pack-tile{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:2px solid var(--line);border-radius:10px;padding:10px 8px 8px;cursor:pointer;font:inherit;color:var(--navy);transition:border-color .15s,box-shadow .15s,transform .15s}
.pack-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,31,58,.1)}
.pack-tile img{width:100%;max-width:84px;aspect-ratio:1;object-fit:contain}
.pack-icon{display:flex;align-items:center;justify-content:center;width:84px;max-width:100%;aspect-ratio:1;color:var(--red)}
.pack-tile span{font-weight:700;font-size:.98rem;text-align:center}
.pack-tile small{font-size:.75rem;color:var(--red);font-weight:600}
.pack-tile[aria-expanded="true"]{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.12)}
.mini-tables>.pack-panel[hidden]{display:none}
@media (max-width:700px){.pack-tiles{grid-template-columns:repeat(3,1fr);gap:8px}}
.addr .same-addr{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;margin:2px 0 10px;cursor:pointer;color:var(--navy)}
.addr .same-addr input{width:18px;height:18px;margin:0;padding:0;accent-color:var(--red)}
.addr.is-same input[data-part],.addr.is-same select{background:#f3f5f8;color:#667}
/* Tighter spacing between main sections (site-wide), tighter still on phones */
section.block{padding:56px 0}
.page-section{padding:48px 0}
.section-head{margin-bottom:28px}
.page-section .section-head{margin-bottom:22px}
.order-step{margin:32px 0 16px}
.order-step:first-of-type{margin-top:0}
.site-footer{padding:44px 0 20px}
@media (max-width:900px){
  section.block{padding:40px 0}
  .page-section{padding:34px 0}
  .section-head,.page-section .section-head{margin-bottom:18px}
  .order-step{margin:26px 0 14px}
  .site-footer{padding:36px 0 18px}
}
@media (max-width:560px){
  section.block{padding:30px 0}
  .page-section{padding:26px 0}
  .section-head,.page-section .section-head{margin-bottom:14px}
  .order-step{margin:22px 0 12px}
}
.hat-logo--text{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);text-decoration:none;font-size:1.05rem}
@media (min-width:901px){.tee-row{grid-template-columns:repeat(5,1fr)}}
@media (min-width:901px){.corp-tiles{grid-template-columns:repeat(5,1fr)}}
/* "Have questions?" box: buttons centered, phone number on one line */
.cta-actions .btn{text-align:center;white-space:nowrap}
@media (max-width:600px){
  .cta-band .wrap{flex-direction:column;align-items:stretch;text-align:center;gap:20px}
  .cta-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%}
  .cta-actions .btn{display:block;width:100%;font-size:1rem;padding:.75em 1em}
}
/* Caps page: photo banner and decoration options */
.page-hero--caps{background:#15171c url(/img/caps-hero.jpg) right center/cover no-repeat;padding:96px 0 88px}
.page-hero--caps::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.9) 0%,rgba(8,8,10,.6) 45%,rgba(8,8,10,0) 75%)}
.page-hero--caps::after{display:none}
.page-hero--caps .wrap{position:relative}
.page-hero--caps p{color:#eef1f6;max-width:520px}
@media (max-width:900px){.page-hero--caps{padding:56px 0 48px}.page-hero--caps::before{background:rgba(8,8,10,.66)}}
.deco-section .section-head p{max-width:680px}
.deco-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.deco-card{margin:0;background:#fff;border:1px solid #e3e5ea;border-radius:12px;overflow:hidden}
.deco-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.deco-card figcaption{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.deco-card strong{font-size:1.1rem}
.deco-card span{color:#555b66;font-size:.95rem}
.deco-note{margin:18px 0 0;color:#555b66}
@media (max-width:640px){.deco-grid{grid-template-columns:1fr}}
.hat-logo--text{font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#c8102e;text-decoration:none;font-size:1.05rem;display:flex;align-items:center;justify-content:center}
/* Decoration cards: compact, small photo on the left */
.deco-grid{grid-template-columns:repeat(2,minmax(0,460px));justify-content:start;gap:16px}
.deco-card{display:flex;align-items:center}
.deco-card img{width:120px;height:120px;aspect-ratio:auto;flex:none}
.deco-card figcaption{padding:10px 16px}
@media (max-width:640px){.deco-grid{grid-template-columns:1fr}.deco-card img{width:96px;height:96px}}
/* Caps page: decoration options stacked on the left, Caps & Hats on the right */
.deco-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:start}
.deco-side .section-head h2{font-size:1.5rem}
.deco-side .section-head p{font-size:.95rem}
.deco-side .deco-grid{grid-template-columns:1fr;gap:14px}
.deco-side .deco-card{flex-direction:column;align-items:stretch}
.deco-side .deco-card img{width:100%;height:auto;aspect-ratio:4/3}
.deco-side .deco-note{font-size:.9rem}
@media (max-width:900px){.deco-split{grid-template-columns:1fr;gap:32px}
.deco-side .deco-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.deco-side .deco-grid{grid-template-columns:1fr}}
.deco-split{grid-template-columns:240px minmax(0,1fr)}
.caps-sub{margin-top:48px;padding-top:40px;border-top:1px solid #e3e6ee;scroll-margin-top:96px}
/* Caps page: quote box fills the empty space next to Promo Caps; tighter section spacing */
.hat-grid-quote{grid-column:3/-1;align-self:center;margin:0;padding-left:8px}
.hat-grid-quote .quote-info{min-width:200px}
@media(max-width:600px){.hat-grid-quote{grid-column:1/-1;padding-left:0}}
.deco-split-section{padding-top:36px;padding-bottom:36px}
.deco-split-section .hat-grid{margin-bottom:16px}
.caps-sub{margin-top:24px;padding-top:24px}
.hat-grid-quote{grid-column:auto/-1;padding-left:16px}@media(max-width:600px){.hat-grid-quote{grid-column:1/-1;padding-left:0}}
.hat-grid-quote{grid-column:span 4}@media(max-width:1200px){.hat-grid-quote{grid-column:1/-1;padding-left:0}}
.hat-grid-quote--2{grid-column:span 2}
@media (max-width:900px){.deco-split{grid-template-columns:minmax(0,1fr);gap:28px}.hat-grid-quote,.hat-grid-quote--2{grid-column:1/-1;padding-left:0}}
@media (max-width:760px){.topbar span:first-child{display:block}.topbar .wrap{flex-direction:column;align-items:center;gap:2px;text-align:center;font-size:.8rem;padding-top:6px;padding-bottom:6px}}
.hero--home{background:#070b12 url(/img/baseball-hero.jpg?v=5) right 15%/cover no-repeat}
.hero--home::before{background:linear-gradient(90deg,rgba(5,9,16,.92) 0%,rgba(5,9,16,.72) 42%,rgba(5,9,16,.1) 75%)}
.hero--home .wrap{padding-top:56px;padding-bottom:36px}
.hero--home .hero-text{margin-top:26px;max-width:560px}
.hero--home .hero-brands--home{display:block;width:100%;max-width:1000px;height:auto;margin-top:64px}
.covered-head{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:24px}
.covered-promo{flex:0 0 auto;width:min(340px,40%);display:block}
.covered-promo img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
@media (max-width:900px){.hero--home{background-position:72% center}.hero--home::before{background:rgba(5,9,16,.72)}.hero--home .hero-brands--home{margin-top:40px}}
@media (max-width:600px){.covered-head{flex-direction:column;align-items:flex-start}.covered-promo{width:100%;max-width:340px}}
.hero--home .hero-badges{max-width:640px}.hero--home .hero-badges .badge{font-size:clamp(1.3rem,2.5vw,2.05rem)}
.hero-pills{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:12px 14px;max-width:640px}
.hero-pills .hb{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.05rem,1.9vw,1.6rem);line-height:1;color:#fff;padding:14px 22px 14px 16px;background:rgba(8,14,26,.55);border:1px solid rgba(255,255,255,.22);border-left:5px solid var(--red);border-radius:8px;backdrop-filter:blur(4px);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.hero-pills .hb svg{width:1.35em;height:1.35em;flex:0 0 auto;color:var(--yellow)}
@media (max-width:600px){.hero-pills{grid-template-columns:1fr 1fr;gap:8px}.hero-pills .hb{padding:10px 10px 10px 10px;gap:8px;font-size:.92rem}}
.hero--home::before{z-index:1}.hero--home .wrap{z-index:2}
.hero-morph{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-morph span{position:absolute;inset:0;background:right 15%/cover no-repeat;opacity:0;animation:heroMorph 16s infinite ease-in-out both;will-change:opacity,transform,filter}
@keyframes heroMorph{0%{opacity:0;filter:blur(10px);transform:scale(1.06)}6%{opacity:1;filter:blur(0);transform:scale(1)}25%{opacity:1;filter:blur(0);transform:scale(1.03)}31%{opacity:0;filter:blur(10px);transform:scale(1.07)}100%{opacity:0}}
@media (max-width:900px){.hero-morph span{background-position:72% center}}
@media (prefers-reduced-motion:reduce){.hero-morph span{animation:none}.hero-morph span:last-child{opacity:1}}
.hero-morph span{animation:heroMorph8 32s infinite ease-in-out both}
@keyframes heroMorph8{0%{opacity:0;filter:blur(10px);transform:scale(1.06)}3%{opacity:1;filter:blur(0);transform:scale(1)}12.5%{opacity:1;filter:blur(0);transform:scale(1.03)}15.5%{opacity:0;filter:blur(10px);transform:scale(1.07)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.hero-morph span{animation:none}}
.hero-stack{margin:.25em 0 0;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;font-size:clamp(1.9rem,4.4vw,3.6rem);color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.45);max-width:none}
.hero-stack .hs-row{display:block;white-space:nowrap}
.hero-stack .hs-y{color:var(--yellow)}
.hero-stack i{color:var(--red);font-style:italic;margin:0 .22em;display:inline-block;transform:skew(-8deg)}
.hero-stack::after{content:"";display:block;width:120px;height:6px;margin-top:.35em;background:linear-gradient(90deg,var(--red) 0 60%,var(--yellow) 60% 100%);transform:skew(-20deg)}
@media (max-width:600px){.hero-stack{font-size:1.6rem}.hero-stack .hs-row{white-space:normal}}
.hero-morph span{animation:heroMorph9 36s infinite ease-in-out both}
@keyframes heroMorph9{0%{opacity:0;filter:blur(10px);transform:scale(1.06)}2.8%{opacity:1;filter:blur(0);transform:scale(1)}11.1%{opacity:1;filter:blur(0);transform:scale(1.03)}13.9%{opacity:0;filter:blur(10px);transform:scale(1.07)}100%{opacity:0}}
@media (max-width:900px){.hero-morph span:last-child{background-position:80% 22%!important}}
@media (prefers-reduced-motion:reduce){.hero-morph span{animation:none}}
.hero-stack{font-size:clamp(1.6rem,3.2vw,2.7rem)}
@media (min-width:901px){.hero-morph span.shift{right:-12%}}
.hero-logos{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:64px;width:100%}
.hero-logos img{display:block;width:auto;height:calc(var(--h) * .42px);max-width:15%;object-fit:contain}
@media (max-width:900px){.hero-logos{margin-top:40px;flex-wrap:wrap;justify-content:space-around;gap:16px 22px}.hero-logos img{height:calc(var(--h) * .26px);max-width:28%}}

/* Hockey header: ice hockey and roller hockey fade back and forth */
.hockey-morph{position:absolute;inset:0;z-index:0;overflow:hidden}
.hockey-morph span{position:absolute;inset:0;background:url(/img/roller-hockey-hero.jpg?v=2) right center/cover no-repeat;opacity:0;animation:hockeyMorph 12s infinite ease-in-out}
.page-hero--hockey::before{z-index:1}
.page-hero--hockey .wrap{z-index:2}
@keyframes hockeyMorph{0%,38%{opacity:0;transform:scale(1.04);filter:blur(4px)}50%,88%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.04);filter:blur(4px)}}
@media (max-width:900px){.hockey-morph span{background-position:72% center}}
@media (prefers-reduced-motion:reduce){.hockey-morph span{animation:none}}
