/* Flat school burgundy with very faint official FP marks, behind all content. */
.spirit-home,.spirit-home .morph-hero .hero-pin { background-color:var(--maroon);background-image:none; }
.spirit-home::before { content:"";position:fixed;inset:0;background:url('assets/fp-silhouette.svg') 80% 40%/min(72vw,850px) 85vh no-repeat;opacity:.035;pointer-events:none;z-index:0; }
.spirit-home main,.spirit-home .athletics-footer { position:relative;z-index:1; }
.hero-fp-marks { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0; }
.hero-fp-marks i { position:absolute;width:min(75vw,760px);height:90%;top:5%;left:18%;background:url('assets/fp-silhouette.svg') center/contain no-repeat;opacity:.045;rotate:-9deg; }
.hero-fp-marks i:nth-child(2) { width:25vw;height:40%;left:83%;top:3%;rotate:12deg;opacity:.025; }
.hero-fp-marks i:nth-child(3) { width:30vw;height:45%;left:-12%;top:56%;rotate:7deg;opacity:.025; }
.spirit-home .bag-open,.spirit-home .menu-toggle,.spirit-home .hero-tools .motion-toggle,.spirit-home .hero-progress { transition:opacity .3s ease,visibility .3s; }
.spirit-home.is-arrival .bag-open,.spirit-home.is-arrival .menu-toggle,.spirit-home.is-arrival .mini-brand,.spirit-home.is-arrival .hero-tools .motion-toggle,.spirit-home.is-arrival .hero-progress { visibility:hidden;opacity:0;pointer-events:none; }
.morph-heading { width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap; }
.spirit-home.is-arrival .hero-tools { justify-content:center;right:32px; }
.spirit-home.is-arrival .hero-tools>span:first-child { margin:0; }
.spirit-home.is-arrival .hero-tools .motion-toggle,.spirit-home.is-arrival .hero-progress { position:absolute; }
.athletics-footer { height:auto;display:block;background-color:#000;background-image:none;color:#fff;padding:36px 6% 22px; }
.athletics-footer-main { display:grid;grid-template-columns:1fr 2fr;gap:42px;align-items:center;padding-bottom:32px; }
.footer-school { display:flex;gap:20px;align-items:center;font:500 clamp(23px,2vw,32px)/1.2 var(--display);letter-spacing:.6px; }
.footer-school img { width:48px;height:61px;object-fit:contain; }
.footer-school strong { display:block;font-size:11px;letter-spacing:2px;font-weight:400;margin-top:7px;color:#ffffffa6; }
.footer-info { display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:24px; }
.footer-info h2 { font:11px/1.5 var(--display);letter-spacing:1px;margin:0 0 10px;color:#e8c05e; }
.footer-info address,.footer-info p { font:normal 12px/1.9 Arial,Helvetica,sans-serif;color:#ffffffb8; }
.footer-info a:hover { color:#f0c659; }
.athletics-footer-bottom { display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff22;padding-top:23px;font:12px/1.5 Arial,Helvetica,sans-serif;color:#ffffff83; }
.athletics-footer-bottom small { font-size:inherit; }
.athletics-footer-bottom a { color:#ffffffd6; }
.athletics-footer-bottom a:hover { text-decoration:underline;text-underline-offset:3px; }
.menu-toggle { position:fixed;top:26px;right:28px;z-index:45;width:44px;height:44px;border:1px solid #ffffff66;background:var(--maroon);color:white;display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;border-radius:50%;box-shadow:0 3px 14px #210c1929; }
.menu-toggle span { width:23px;height:1.5px;background:currentColor;transition:width .2s ease; }
.menu-toggle:hover span:nth-child(2) { width:16px; }
.product-header-actions { justify-self:end;display:flex;align-items:center;gap:16px; }
.product-header-actions .menu-toggle { position:static;background:#ffffff14;color:#fff;flex-shrink:0;box-shadow:none; }
.menu-toggle:focus-visible,.menu-close:focus-visible { outline:3px solid var(--gold);outline-offset:4px; }
.lifestyle-preview { position:relative;overflow:hidden;background:#fff; }
.lifestyle-photo { display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .4s ease; }
.product-detail #garment-preview { background:#fff; }
.product-detail #garment-preview.zoomed { transform:none; }
.product-detail #garment-preview.zoomed .lifestyle-photo { transform:scale(1.12); }
.bag-preview.lifestyle-preview { display:block;background:#fff;border-radius:6px; }
.style-photo-label { position:absolute;bottom:0;left:0;right:0;background:#ffffffed;color:#555;font:7px/1.5 Arial,sans-serif;text-align:center;padding:3px; }
#site-menu { position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--maroon);color:white;overflow:auto; }
#site-menu::backdrop { background:#210c1980; }
.site-menu-content { max-width:1200px;margin:auto;padding:28px 7% 80px; }
.site-menu-top { display:flex;justify-content:space-between;align-items:center; }
.site-menu-top img { width:44px;height:56px;object-fit:contain; }
.menu-close { background:transparent;color:white;border:0;width:44px;height:44px;font:32px/1 Arial,sans-serif; }
.menu-brand { display:flex;gap:16px;align-items:center; }
.menu-brand-copy { font:600 10px/1.5 var(--body);letter-spacing:1.3px;color:#ffffffb8; }
.menu-brand-copy strong { display:block;font:700 16px/1.4 var(--display);letter-spacing:.6px;color:#fff; }
.menu-actions { display:flex;align-items:center;gap:18px; }
.menu-bag { display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #ffffff55;background:transparent;color:#fff;font:600 13px/1.2 var(--body);cursor:pointer; }
.menu-bag svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5; }
.menu-bag span { color:var(--gold); }
.menu-bag:hover,.menu-bag:focus-visible { background:#ffffff12;outline:2px solid var(--gold);outline-offset:3px; }
.site-menu-content nav { display:flex;flex-direction:column;margin-top:clamp(50px,12svh,130px); }
.site-menu-content nav>a { display:flex;align-items:center;gap:28px;padding:25px 0;border-top:1px solid #ffffff33;font:500 clamp(38px,6vw,78px)/1.1 var(--display);text-transform:uppercase;letter-spacing:-.5px; }
.site-menu-content nav>a:last-child { border-bottom:1px solid #ffffff33; }
.site-menu-content nav>a>span { font:12px/1 var(--display);color:#ffffff80;letter-spacing:1px; }
.site-menu-content nav>a>i { margin-left:auto;font:34px/1 Arial,sans-serif;font-style:normal; }
.site-menu-content nav>a:hover { color:#f8d384; }
@media(max-width:809px){
 .spirit-home.is-arrival .hero-tools { left:22px;right:22px; }
 .athletics-footer { padding:34px 24px 22px; }
 .athletics-footer-main { grid-template-columns:1fr;gap:28px;padding-bottom:28px; }
 .footer-school { font-size:25px; }
 .footer-school img { width:48px;height:61px; }
 .footer-info { grid-template-columns:1fr 1fr;gap:20px 16px; }
 .footer-info>div:last-child { grid-column:1/-1; }
 .footer-info h2 { font-size:10px;letter-spacing:.6px; }
 .athletics-footer-bottom { gap:12px;font-size:10px;align-items:flex-end; }
 .athletics-footer-bottom small:last-child { text-align:right; }
 .menu-toggle { top:18px;right:18px; }
 .product-header-actions { gap:8px; }
 .site-menu-content { padding:22px 24px 50px; }
 .site-menu-content nav>a { gap:16px; }
}
@media(max-width:420px){.menu-brand{gap:10px;}.menu-brand-copy{font-size:8px;letter-spacing:.5px;}.menu-brand-copy strong{font-size:13px;}.menu-actions{gap:8px;}.menu-bag{padding:9px 10px;gap:6px;}.site-menu-top img{width:35px;height:46px;}}
