/* One 24px vector canvas keeps the head and shaft joined at every icon size. */
:root { --ui-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ui-arrow { display:inline-block; width:1.1em; height:1.1em; flex:none; vertical-align:middle; font-style:normal; line-height:1; background:currentColor; -webkit-mask:var(--ui-arrow-shape) center/contain no-repeat; mask:var(--ui-arrow-shape) center/contain no-repeat; }
.ui-arrow::before,.ui-arrow::after { content:none; }
.ui-arrow[data-direction="left"] { --ui-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 12H5m7-7-7 7 7 7' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ui-arrow[data-direction="right"] { --ui-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-7-7 7 7-7 7' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ui-arrow[data-direction="down"] { --ui-arrow-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14m-7-7 7 7 7-7' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.entry-button .arrow,.card-arrow,.cta>span[aria-hidden="true"] { display:inline-flex; align-items:center; justify-content:center; line-height:1; flex:none; }
.ig-arrow,.coach-controls button { display:inline-flex; align-items:center; justify-content:center; padding:0; line-height:1; font-size:22px; }
.back-button,.jersey-search button { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.login-button { display:inline-flex; align-items:center; gap:12px; }
.entry-button .arrow { font-size:clamp(22px,3vw,32px); }
.cta { color:#fff; background:linear-gradient(110deg,#e5007e,#ff008c 65%,#ff48ac); box-shadow:0 8px 35px #ff008c35; position:relative; transition:box-shadow .2s,transform .2s; }
.cta:hover { color:#fff; transform:translateY(-2px); box-shadow:0 12px 40px #ff008c65; }
h1[tabindex="-1"]:focus { outline:none; }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--pink-light); outline-offset:3px; }
.ig-link { display:inline-flex; align-items:center; gap:.5em; }
.ig-link::after { content:""; display:block; width:1em; height:1em; flex:none; background:currentColor; -webkit-mask:var(--ui-arrow-shape) center/contain no-repeat; mask:var(--ui-arrow-shape) center/contain no-repeat; }
#home-page { position:relative; isolation:isolate; background:#090d0e; }
#home-page::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:url('../assets/pitch.svg') center / 100% 100% no-repeat; opacity:.18; }
#home-page .hero { background:radial-gradient(ellipse at 90% 40%,#65033245,transparent 65%); }
#home-page .district-strip { background:#09090c55; }
#home-instagram { border-top:1px solid var(--line); margin-inline:auto; margin-bottom:0; }
.gateway-map { position:absolute; inset:0; width:100%; height:100%; z-index:-1; opacity:.5; pointer-events:none; }
.district-light { fill:#fff; filter:drop-shadow(0 0 7px #fff); animation:district-pulse 1.5s ease-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes district-pulse { 0%,100% { opacity:.25; } 20% { opacity:1; } 65% { opacity:.35; } }
.gateway-logo { animation:gateway-fade 2.8s ease-out both; }
.gateway-kicker { font-size:clamp(20px,2.5vw,28px); font-weight:700; letter-spacing:.15em; line-height:1.5; margin:0 0 22px; color:#f7f7fa; }
.gateway-brand .location-badges { gap:12px; }
.gateway-brand .location-badges span { font-size:16px; padding:12px 20px; min-height:46px; }
.asset-credit { font-size:11px; }
.hero-grid { grid-template-columns:minmax(0,1fr); min-height:0; gap:40px; }
#home-page .hero { background:transparent; }
#home-instagram.instagram-showcase { margin:0; padding:clamp(18px,3vw,32px); border:1px solid #70425c; background:linear-gradient(145deg,#20131eeb,#090d10f5 55%); box-shadow:inset 0 0 0 5px #ffffff04,0 20px 60px #0005; position:relative; min-width:0; }
.instagram-showcase::before { content:""; position:absolute; left:24px; right:24px; top:-1px; height:2px; background:linear-gradient(90deg,transparent,#ff79bd,transparent); box-shadow:0 0 18px #ff008b88; }
.instagram-showcase .ig-heading { margin-bottom:24px; }
.instagram-showcase .ig-track { scroll-snap-type:none; scrollbar-width:none; }
.instagram-showcase .ig-track::-webkit-scrollbar { display:none; }
.instagram-showcase .ig-controls { margin-bottom:18px; }
.ig-motion-toggle { padding:8px 14px; font:inherit; font-size:13px; min-height:44px; border:1px solid #706074; background:#20141e; color:#fff; cursor:pointer; margin-right:auto; }
.emblem-stage { width:min(100%,520px); margin-inline:auto; justify-self:center; align-self:center; }
.hero-logo { grid-area:1 / 1; display:block; width:86%; height:86%; margin:0; object-position:center; }
.emblem-stage::after { width:108%; }
@media(max-width:700px) {
  .hero-grid { grid-template-columns:minmax(0,1fr); }
  .emblem-stage { width:min(360px,100%); }
  .gateway-brand .location-badges { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .gateway-brand .location-badges span { justify-content:center; font-size:14px; padding:11px 5px; gap:5px; letter-spacing:0; }
}
@keyframes gateway-fade { from { opacity:0; } to { opacity:1; } }
.tv-noise { position:absolute; inset:7%; border-radius:50%; z-index:3; pointer-events:none; background:url('../assets/tv-noise.svg'); opacity:0; }
.tv-start .tv-noise { animation:tv-snow 1.8s steps(6,end) both; }
.tv-start .hero-logo { animation:tv-reveal 1.8s both; }
@keyframes tv-snow { 0%,30% { opacity:.65; transform:translateX(0); } 40% { opacity:.3; transform:translateX(2px); } 55% { opacity:.5; transform:translateX(-2px); } 70%,100% { opacity:0; } }
@keyframes tv-reveal { 0%,20% { filter:brightness(0); } 38% { filter:brightness(.3) grayscale(1); } 52% { filter:brightness(.15); } 70%,100% { filter:none; } }
.motion-toggle { position:absolute; right:20px; top:16px; border:1px solid #ffffff30; color:#ccc; background:#09090c80; padding:10px 14px; border-radius:30px; font-size:12px; min-height:44px; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation:none!important; }
@media(max-width:700px) { .gateway { padding-top:76px; } .entry-button { min-height:82px; font-size:25px; } .cta { min-height:58px; font-size:17px; } .footer-row { justify-content:center; text-align:center; } .footer-social { justify-content:center; width:100%; } .ig-heading { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .gateway-logo,.district-light,.tv-noise,.tv-start .hero-logo { animation:none!important; } .cta { transition:none; } .motion-toggle { display:none; } }

