/* Game-day surfaces. Typography, catalog imagery and interactions stay in style.css/app.js. */
body{background:#f7f9fc}
header{box-shadow:0 3px 18px #102a5605}
.hero{box-shadow:0 16px 35px #102e5710}
.hero-copy,.tennessee-banner{
  background-color:#0754c7;
  background-image:radial-gradient(ellipse at 5% 0%,#3888f5a6,transparent 65%),repeating-linear-gradient(130deg,transparent 0 44px,#ffffff0c 44px 45px),linear-gradient(130deg,#0754c7,#003b9d);
}
.hero-copy::after{
  content:"";position:absolute;pointer-events:none;right:-105px;bottom:-115px;width:260px;height:480px;
  border:32px solid #ffffff09;transform:rotate(29deg);
}
.hero-copy>*{position:relative;z-index:1}
.hero-image{
  isolation:isolate;
  background:radial-gradient(ellipse at 44% 35%,#fff 0%,#eaf1fc 52%,#cbdcf5 100%);
}
.hero-image::before{
  content:"";position:absolute;pointer-events:none;inset:-35% -30% -30% 62%;transform:rotate(27deg);
  background:linear-gradient(90deg,#0754c710 0 12%,transparent 12% 17%,#0754c717 17% 63%,transparent 63% 69%,#0754c70b 69%);
}
.hero-image::after{
  content:"";position:absolute;pointer-events:none;inset:0;
  background-image:radial-gradient(#0b4e9e35 .8px,transparent 1px);background-size:7px 7px;
  mask-image:linear-gradient(145deg,transparent 45%,#000 100%);
}
.hero-mockup{position:relative;z-index:1}
.hero-image .image-caption{z-index:2;background:#ffffffed;border-top:1px solid #ffffff}

.fan-favorites{
  position:relative;isolation:isolate;background:linear-gradient(180deg,#eef3fb66,transparent 200px),#fff;
}
.fan-favorites::after{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;right:0;width:240px;height:110px;background:radial-gradient(#0754c726 .7px,transparent .9px) 0 0/8px 8px;mask-image:linear-gradient(135deg,transparent,#000)}
.section-top{position:relative;padding-top:20px}
.section-top::before{content:"";position:absolute;left:0;top:0;width:45px;height:4px;background:#0754c7;box-shadow:9px 0 0 #bdd3f1}
.collection{background:linear-gradient(180deg,#edf2f9 0,#fff 310px)}
.product-image{outline:1px solid #102a5608;outline-offset:-1px}
.view-toggle,.card-swatch{background:transparent}
.ticker{background:#102443;color:#fff;border-block:1px solid #254466}
.ticker span{color:#80b6ff}

.tennessee-banner,.blackout-banner{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 10px 25px #1024430a}
.tennessee-banner>*,.blackout-banner>*{position:relative;z-index:1}
.tennessee-banner::before{
  content:"";position:absolute;pointer-events:none;top:-90px;bottom:-90px;right:24%;width:165px;
  transform:skew(-27deg);border-inline:28px solid #ffffff0b;background:#ffffff08;
}
.tennessee-banner::after{
  content:"";position:absolute;pointer-events:none;right:0;bottom:0;width:230px;height:120px;
  background:radial-gradient(#ffffff38 .8px,transparent 1px) 0 0/7px 7px;
  mask-image:linear-gradient(135deg,transparent,#000);
}
.blackout-banner{
  border-left-color:#357df2;
  background:radial-gradient(ellipse at 90% 110%,#12468b80,transparent 65%),repeating-linear-gradient(135deg,#ffffff04 0 1px,transparent 1px 9px),#0b101b;
}
.blackout-banner::after{
  content:"";position:absolute;pointer-events:none;width:310px;height:310px;right:17%;top:-110px;
  border:1px solid #8ab6ef26;border-radius:50%;box-shadow:0 0 0 28px #8ab6ef08,0 0 0 56px #8ab6ef06,0 0 0 84px #8ab6ef04;
}
.feature{box-shadow:0 15px 35px #1024430d}
.feature-copy{
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse at 100% 100%,#165bc18c,transparent 75%),repeating-linear-gradient(130deg,transparent 0 55px,#ffffff08 55px 56px),#10213b;
}
.feature-copy::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;right:-60px;bottom:-120px;width:180px;height:450px;
  border-inline:28px solid #ffffff08;transform:rotate(27deg);
}
.feature-image{background:radial-gradient(ellipse at 50% 35%,#fff,#e6edf8 78%,#dce7f6)}
.story{
  position:relative;isolation:isolate;overflow:hidden;margin-top:60px;
  background:radial-gradient(ellipse at 50% 50%,#fff 10%,#edf3fc 70%);
  border-block:1px solid #dce5f2;
}
.story::before,.story::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;top:-45%;height:190%;width:170px;
  border-inline:22px solid #0754c709;background:#0754c704;transform:rotate(28deg);
}
.story::before{left:4%}.story::after{right:4%}
.story>.eyebrow{color:#0754c7}
.site-footer{
  color:#f4f7ff;border-top:4px solid #0754c7;
  background:radial-gradient(ellipse at 0 100%,#163e7180,transparent 65%),#0b182d;
}
.site-footer p,.site-footer small,.site-footer .footer-help,.footer-social .social-arrow{color:#aebed4}
.site-footer h2{color:#89b6f5}
.site-footer .footer-bottom{border-color:#ffffff21}
.site-footer .footer-message{border-color:#91b2de50}
.site-footer a:hover{color:#9fc5ff}

@media(max-width:650px){
  .hero-copy::after{right:-130px;bottom:-175px}
  .hero-image::before{left:65%}
  .fan-favorites::after{width:120px;height:75px}
  .section-top{padding-top:16px}
  .tennessee-banner::before{right:-45px}
  .blackout-banner::after{right:-150px;top:-80px}
  .story{margin-top:35px}
  .story::before{left:-120px}.story::after{right:-120px}
}
@media(forced-colors:active){
  .hero-copy::after,.hero-image::before,.hero-image::after,.fan-favorites::after,.section-top::before,.tennessee-banner::before,.tennessee-banner::after,.blackout-banner::after,.feature-copy::after,.story::before,.story::after{display:none}
}
