:root{
  --black:#050506;
  --panel:#0c0c0f;
  --panel2:#121217;
  --white:#f7f7f5;
  --muted:#a6a6ad;
  --line:#292930;
  --red:#ef111c;
  --red-bright:#ff2430;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,sans-serif;
  background:var(--black);
  color:var(--white);
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{display:block;max-width:100%}

.landing-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:24px clamp(22px,5vw,74px);
}
.mini-brand{
  display:flex;
  align-items:center;
  gap:11px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.mini-brand img{
  width:44px;height:44px;
  object-fit:cover;
  border-radius:50%;
}
.enter-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 0;
  border-bottom:2px solid var(--red);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  transition:.2s ease;
}
.enter-link:hover{color:var(--red)}
.enter-link span{font-size:18px;line-height:0}

.hero{
  position:relative;
  min-height:760px;
  height:100vh;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  padding:120px clamp(24px,7vw,110px) 70px;
  background:
    linear-gradient(90deg,#050506 0%,#08080b 56%,#0b0b0f 100%);
}
.hero:after{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:-190px;bottom:-260px;
  border:1px solid rgba(239,17,28,.2);
  border-radius:50%;
}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:linear-gradient(to right,rgba(0,0,0,.15),#000);
}
.hero-glow{
  position:absolute;
  right:8%;top:26%;
  width:430px;height:430px;
  border-radius:50%;
  background:rgba(239,17,28,.13);
  filter:blur(90px);
}
.hero-copy{
  position:relative;
  z-index:3;
  max-width:760px;
}
.eyebrow{
  margin:0 0 17px;
  color:var(--red-bright);
  font-size:11px;
  font-weight:800;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.hero h1,
.championships h2,
.contact-section h2,
.password-card h1{
  margin:0;
  font-family:"Anton",sans-serif;
  font-weight:400;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.hero h1{
  font-size:clamp(76px,10vw,152px);
  line-height:.82;
}
.hero h1 span{color:var(--red)}
.team-type{
  margin:27px 0 0;
  font-family:"Anton",sans-serif;
  font-size:clamp(25px,3vw,41px);
  letter-spacing:.09em;
}
.intro{
  max-width:520px;
  margin:16px 0 38px;
  color:#bcbcc2;
  font-size:16px;
  line-height:1.7;
}
.hero-scroll{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#d8d8db;
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
}
.hero-scroll span{color:var(--red);font-size:18px}
.hero-logo-wrap{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  min-height:560px;
}
.hero-logo{
  position:relative;
  z-index:3;
  width:min(43vw,600px);
  max-height:620px;
  object-fit:contain;
  filter:drop-shadow(0 30px 55px rgba(0,0,0,.55));
}
.logo-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
}
.ring-one{width:500px;height:500px}
.ring-two{width:630px;height:630px;border-color:rgba(239,17,28,.14)}

.championships{
  position:relative;
  padding:115px clamp(24px,7vw,110px) 130px;
  background:#f4f4f2;
  color:#0b0b0e;
}
.section-intro{max-width:750px;margin-bottom:54px}
.section-intro h2,
.contact-section h2{
  font-size:clamp(60px,7vw,105px);
  line-height:.9;
}
.section-intro > p:last-child{
  max-width:570px;
  color:#6b6b72;
  line-height:1.7;
}
.wins-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.win-card{
  min-height:365px;
  padding:38px;
  border:1px solid #d5d5d5;
  background:#fff;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}
.win-card:after{
  content:"W";
  position:absolute;
  right:-20px;
  bottom:-75px;
  color:#f1f1f1;
  font-family:"Anton";
  font-size:275px;
  transform:skew(-7deg);
}
.win-card.featured{
  color:#fff;
  border-color:#16161b;
  background:
    linear-gradient(145deg,rgba(239,17,28,.14),transparent 48%),
    #0a0a0d;
}
.win-card.featured:after{color:rgba(255,255,255,.04)}
.trophy-mark{
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid var(--red);
  color:var(--red);
  font-size:15px;
  margin-bottom:54px;
}
.win-year{
  margin:0 0 8px;
  color:var(--red);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.win-card h3{
  position:relative;z-index:2;
  margin:0;
  font-family:"Anton";
  font-size:clamp(31px,3.2vw,49px);
  font-weight:400;
}
.win-title{
  position:relative;z-index:2;
  margin:6px 0 24px;
  max-width:440px;
  font-size:17px;
  line-height:1.45;
}
.card-line{
  position:relative;z-index:2;
  width:48px;height:3px;
  background:var(--red);
  margin-top:auto;
  margin-bottom:12px;
}
.win-card > span{
  position:relative;z-index:2;
  font-size:9px;
  letter-spacing:.18em;
  font-weight:900;
  color:#85858b;
}
.featured > span{color:#85858d}

.contact-section{
  padding:110px clamp(24px,7vw,110px);
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(50px,8vw,120px);
  background:
    linear-gradient(125deg,rgba(239,17,28,.07),transparent 45%),
    #08080a;
}
.contact-copy h2 span{color:var(--red)}
.contact-copy > p:last-child{
  max-width:480px;
  color:#aaaab0;
  line-height:1.7;
}
.contact-form{
  padding:32px;
  border:1px solid var(--line);
  background:#0c0c0f;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-form label{
  display:block;
  margin-bottom:18px;
}
.contact-form label > span,
.password-form > label{
  display:block;
  margin:0 0 8px;
  color:#8f8f96;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
}
.contact-form input,
.contact-form textarea,
.password-input-wrap input{
  width:100%;
  border:1px solid #303038;
  border-radius:0;
  outline:none;
  background:#111116;
  color:#fff;
  padding:14px 15px;
  transition:.2s;
}
.contact-form input:focus,
.contact-form textarea:focus,
.password-input-wrap input:focus{
  border-color:var(--red);
}
.contact-form textarea{resize:vertical}
.contact-form button,
.unlock-button{
  border:0;
  background:var(--red);
  color:#fff;
  min-height:50px;
  padding:0 23px;
  cursor:pointer;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}
.contact-form button span,
.unlock-button span{margin-left:8px;font-size:17px}
.form-note,
.password-message{
  margin:14px 0 0;
  color:#74747c;
  font-size:10px;
  line-height:1.5;
}

footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:32px clamp(22px,5vw,74px);
  border-top:1px solid #1f1f24;
  background:#050506;
  color:#77777f;
  font-size:10px;
}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:42px;height:42px;border-radius:50%}
.footer-brand > div{display:flex;flex-direction:column;gap:3px}
.footer-brand strong{color:#fff;font-family:"Anton";font-size:17px;font-weight:400;letter-spacing:.05em}

/* Password page */
.password-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 40%,rgba(239,17,28,.12),transparent 28%),
    #050506;
}
.back-home{
  position:absolute;
  top:28px;left:32px;
  z-index:10;
  font-size:9px;
  font-weight:900;
  letter-spacing:.17em;
  color:#8d8d94;
}
.back-home:hover{color:#fff}
.password-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:85px 22px 40px;
}
.password-card{
  width:min(100%,560px);
  text-align:center;
  border:1px solid #2b2b31;
  background:rgba(11,11,14,.9);
  padding:44px clamp(25px,5vw,54px);
  box-shadow:0 30px 90px rgba(0,0,0,.36);
}
.password-logo{
  width:135px;height:135px;
  object-fit:cover;
  border-radius:50%;
  margin:0 auto 27px;
}
.password-card h1{
  font-size:clamp(43px,6vw,70px);
  line-height:.92;
}
.password-card h1 span{color:var(--red)}
.password-copy{
  max-width:430px;
  margin:20px auto 30px;
  color:#9b9ba2;
  line-height:1.6;
  font-size:14px;
}
.password-form{text-align:left}
.password-input-wrap{
  display:grid;
  grid-template-columns:1fr auto;
  margin-bottom:13px;
}
.password-input-wrap input{border-right:0}
.password-input-wrap button{
  width:64px;
  border:1px solid #303038;
  border-left:0;
  background:#111116;
  color:#8d8d94;
  cursor:pointer;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}
.password-input-wrap button:hover{color:#fff}
.unlock-button{width:100%}

@media(max-width:900px){
  .hero{
    height:auto;
    min-height:920px;
    grid-template-columns:1fr;
    padding-top:145px;
    text-align:center;
  }
  .hero-copy{margin:auto}
  .intro{margin-left:auto;margin-right:auto}
  .hero-logo-wrap{min-height:390px}
  .hero-logo{width:min(78vw,500px)}
  .ring-one{width:390px;height:390px}
  .ring-two{width:490px;height:490px}
  .wins-grid{grid-template-columns:1fr}
  .contact-section{grid-template-columns:1fr}
}
@media(max-width:600px){
  .landing-header{padding:18px}
  .mini-brand span{display:none}
  .hero{min-height:850px;padding-left:20px;padding-right:20px}
  .hero h1{font-size:clamp(69px,22vw,101px)}
  .hero-logo-wrap{min-height:330px}
  .hero-logo{width:min(92vw,420px)}
  .ring-one{width:310px;height:310px}
  .ring-two{width:390px;height:390px}
  .championships,.contact-section{padding-left:20px;padding-right:20px}
  .win-card{padding:27px;min-height:335px}
  .trophy-mark{margin-bottom:40px}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-form{padding:22px}
  footer{flex-direction:column;align-items:flex-start}
}


/* =========================
   PRIVATE TEAM SITE
   ========================= */
.private-site{background:#08080a;color:#f7f7f5;padding-top:78px}
.private-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  min-height:78px;padding:0 clamp(20px,4.5vw,72px);
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(6,6,7,.95);border-bottom:1px solid #242429;
  backdrop-filter:blur(16px)
}
.private-brand{display:flex;align-items:center;gap:10px}
.private-brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.private-brand div{display:flex;flex-direction:column;line-height:.9}
.private-brand small{color:#9d9da4;font-size:8px;letter-spacing:.24em;font-weight:800}
.private-brand strong{font-family:"Anton";font-size:22px;font-weight:400;letter-spacing:.04em}
.private-nav{display:flex;align-items:center;gap:27px}
.private-nav>a,.nav-dropdown>button{
  color:#e7e7e9;background:none;border:0;padding:28px 0 26px;
  font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.private-nav>a:hover,.nav-dropdown>button:hover{color:var(--red)}
.nav-dropdown{position:relative}
.nav-dropdown>button span{margin-left:4px;color:var(--red)}
.dropdown-menu{
  display:none;position:absolute;top:67px;left:-20px;min-width:190px;
  padding:8px;background:#101014;border:1px solid #2b2b31;
  box-shadow:0 22px 50px rgba(0,0,0,.4)
}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a{
  display:flex;gap:9px;align-items:center;padding:10px 11px;
  color:#ceced3;font-size:10px;font-weight:700;border-bottom:1px solid #202026
}
.dropdown-menu a:last-child{border-bottom:0}
.dropdown-menu a:hover{background:#18181d;color:#fff}
.dropdown-menu a span{min-width:27px;color:var(--red);font-weight:900}
.player-menu{width:255px;max-height:430px;overflow:auto}
.private-nav-toggle{display:none;background:none;border:1px solid #34343b;color:#fff;padding:9px 12px;font-size:9px;font-weight:800;letter-spacing:.12em}

.private-hero{background:#050506}
.photo-slider{height:min(72vh,720px);min-height:520px;position:relative;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.slide.active{opacity:1}
.photo-placeholder{
  width:100%;height:100%;min-height:280px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    linear-gradient(135deg,transparent 42%,rgba(239,17,28,.35) 42% 45%,transparent 45%),
    radial-gradient(circle at 65% 38%,#313139 0 8%,transparent 8%),
    linear-gradient(145deg,#111116,#24242b 58%,#0c0c10);
  color:rgba(255,255,255,.18)
}
.photo-placeholder.action{background:linear-gradient(145deg,#17171c,#351217 54%,#0b0b0e)}
.photo-placeholder.dugout{background:linear-gradient(120deg,#0d0d10,#27272d)}
.photo-placeholder span{font-family:"Anton";font-size:clamp(55px,8vw,130px);line-height:1}
.photo-placeholder small{font-size:9px;letter-spacing:.18em;font-weight:800}
.slider-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.08) 65%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 55%)}
.private-hero-copy{position:absolute;left:clamp(25px,7vw,110px);bottom:80px;z-index:4}
.private-hero-copy h1,.interior-hero h1,.player-bio-panel h1{
  margin:0;font-family:"Anton";font-weight:400;text-transform:uppercase;line-height:.84
}
.private-hero-copy h1{font-size:clamp(78px,10vw,150px)}
.private-hero-copy h1 span,.interior-hero h1 span{color:var(--red)}
.slider-controls{
  position:absolute;z-index:5;right:clamp(25px,5vw,70px);bottom:42px;
  display:flex;align-items:center;gap:18px
}
.slider-controls>button{width:42px;height:42px;background:rgba(0,0,0,.45);border:1px solid #55555c;color:#fff;cursor:pointer}
.slider-dots{display:flex;gap:8px}
.slider-dots button{width:22px;height:3px;border:0;background:#68686f;padding:0;cursor:pointer}
.slider-dots button.active{background:var(--red)}

.dashboard-section{padding:100px clamp(22px,6.5vw,105px);background:#f4f4f2;color:#101014}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:60px}
.dashboard-heading h2{
  margin:0 0 35px;font-family:"Anton";font-size:clamp(42px,5vw,74px);font-weight:400;line-height:.94
}
.dashboard-heading h2 span{color:var(--red)}
.announcement-list{border-top:1px solid #d4d4d4}
.announcement-card{padding:28px 0;border-bottom:1px solid #d4d4d4}
.announcement-card time{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.16em}
.announcement-card h3{margin:7px 0;font-size:21px}
.announcement-card p{margin:0;color:#68686e;line-height:1.6}
.events-panel{padding:30px;background:#0b0b0e;color:#fff;align-self:start}
.events-panel .dashboard-heading h2{font-size:42px}
.event-card{display:grid;grid-template-columns:68px 1fr;gap:15px;align-items:center;padding:18px 0;border-top:1px solid #2a2a30}
.event-date{width:60px;height:60px;border:1px solid #3b3b42;display:flex;flex-direction:column;align-items:center;justify-content:center}
.event-date strong{color:var(--red);font-size:9px;letter-spacing:.1em}
.event-date span{font-family:"Anton";font-size:24px}
.event-card small{color:var(--red);font-size:8px;font-weight:900;letter-spacing:.15em}
.event-card h3{margin:3px 0;font-size:16px}
.event-card p{margin:0;color:#8f8f96;font-size:12px}

.interior-hero{
  padding:95px clamp(22px,7vw,110px) 75px;
  background:linear-gradient(120deg,#08080a,#16161c);
  border-bottom:1px solid #24242b
}
.interior-hero h1{font-size:clamp(70px,9vw,132px)}
.interior-hero>p:last-child{max-width:610px;color:#a7a7ad;line-height:1.65}
.interior-hero.compact{min-height:330px}
.practice-layout{
  padding:90px clamp(22px,7vw,110px);
  display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;
  background:#f5f5f3;color:#101014
}
.practice-info h2,.placeholder-panel h2,.player-bio-panel h2{
  margin:0;font-family:"Anton";font-size:clamp(50px,6vw,86px);font-weight:400;line-height:.95
}
.practice-info h2 span,.placeholder-panel h2 span,.player-bio-panel h2 span{color:var(--red)}
.practice-details{margin:36px 0;border-top:1px solid #d4d4d4}
.practice-details div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #d4d4d4}
.practice-details small{color:#86868c;font-size:9px;font-weight:900;letter-spacing:.16em}
.practice-details strong{font-size:14px}
.location-note{color:#696970;line-height:1.6}
.practice-map iframe{width:100%;height:420px;border:0;filter:grayscale(1) contrast(1.05)}
.practice-map a{display:inline-block;margin-top:12px;color:#111;font-size:10px;font-weight:900;letter-spacing:.14em;border-bottom:2px solid var(--red);padding-bottom:5px}
.practice-photos{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:6px;padding:6px;background:#0b0b0e}
.practice-photos .photo-placeholder{height:310px}

.placeholder-page{min-height:520px;display:grid;place-items:center;padding:70px 22px;background:#f4f4f2;color:#111}
.placeholder-panel{text-align:center;max-width:670px}
.placeholder-panel img{width:130px;height:130px;border-radius:50%;margin:0 auto 24px}
.placeholder-panel>p:last-child{color:#707076}

.player-page{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1fr 1fr;background:#f4f4f2;color:#111}
.player-photo-panel{min-height:700px;background:#0c0c0f;padding:38px;display:flex;align-items:stretch}
.player-page-photo{
  width:100%;min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#18181e,#2a1115 55%,#0b0b0e);
  border:1px solid #303037;color:rgba(255,255,255,.17)
}
.player-page-photo span{font-family:"Anton";font-size:clamp(120px,18vw,270px);line-height:.9}
.player-page-photo small{color:#777780;font-size:9px;font-weight:900;letter-spacing:.17em}
.player-bio-panel{padding:85px clamp(30px,6vw,90px)}
.player-bio-panel h1{font-size:clamp(64px,8vw,115px)}
.bio-rule{width:65px;height:4px;background:var(--red);margin:30px 0 42px}
.player-bio-panel h2{font-size:47px}
.fun-facts{margin:28px 0 0;border-top:1px solid #d1d1d1}
.fun-facts div{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:16px 0;border-bottom:1px solid #d1d1d1}
.fun-facts dt{color:#77777d;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.fun-facts dd{margin:0;font-weight:700}

.private-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px clamp(22px,5vw,70px);background:#050506;color:#77777f;font-size:10px;border-top:1px solid #202025}

@media(max-width:960px){
  .private-nav-toggle{display:block}
  .private-nav{
    display:none;position:absolute;top:78px;left:0;right:0;background:#08080a;
    padding:15px 24px 30px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #27272d
  }
  .private-nav.open{display:flex}
  .private-nav>a,.nav-dropdown>button{width:100%;text-align:left;padding:15px 0;border-bottom:1px solid #24242a}
  .dropdown-menu{position:static;display:none;box-shadow:none;width:100%;max-height:none;border:0;background:#101014}
  .nav-dropdown.open .dropdown-menu{display:block}
  .nav-dropdown:hover .dropdown-menu{display:none}
  .nav-dropdown.open:hover .dropdown-menu{display:block}
  .dashboard-grid,.practice-layout,.player-page{grid-template-columns:1fr}
  .events-panel{width:100%}
  .player-photo-panel{min-height:520px}
}
@media(max-width:650px){
  .private-site{padding-top:68px}
  .private-header{min-height:68px;padding:0 16px}
  .private-brand img{width:42px;height:42px}
  .private-brand strong{font-size:18px}
  .private-nav{top:68px}
  .photo-slider{min-height:560px;height:70vh}
  .private-hero-copy{left:20px;bottom:105px}
  .private-hero-copy h1{font-size:72px}
  .slider-controls{left:20px;right:auto;bottom:42px}
  .dashboard-section,.practice-layout,.interior-hero{padding-left:20px;padding-right:20px}
  .practice-photos{grid-template-columns:1fr}
  .practice-photos .photo-placeholder{height:240px}
  .practice-map iframe{height:330px}
  .player-photo-panel{padding:14px;min-height:420px}
  .player-page-photo{min-height:420px}
  .player-bio-panel{padding:55px 22px}
  .fun-facts div{grid-template-columns:1fr;gap:6px}
  .private-footer{flex-direction:column;align-items:flex-start}
}


/* =========================
   GAMES / FEES / FORMS V4
   ========================= */
.games-page,.fees-page,.forms-page{
  padding:90px clamp(22px,7vw,110px);
  background:#f4f4f2;color:#111
}
.page-toolbar{
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px
}
.page-toolbar h2,.additional-fees h2,.forms-heading h2,.fee-description h2{
  margin:0;font-family:"Anton";font-weight:400;line-height:.95;text-transform:uppercase;
  font-size:clamp(43px,5vw,76px)
}
.page-toolbar h2 span,.additional-fees h2 span,.forms-heading h2 span,.fee-description h2 span{color:var(--red)}
.gamechanger-button{
  display:inline-flex;align-items:center;gap:10px;
  background:#111;color:#fff;padding:15px 18px;
  font-size:10px;font-weight:900;letter-spacing:.13em
}
.gamechanger-button span{color:var(--red);font-size:16px}
.disabled-link{opacity:.5;pointer-events:none}

.schedule-table-wrap,.fee-table-wrap{overflow:auto;border:1px solid #d4d4d4;background:#fff}
.schedule-table,.fee-table{width:100%;border-collapse:collapse;min-width:820px}
.schedule-table th,.fee-table th{
  background:#0b0b0e;color:#fff;text-align:left;
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:15px 16px
}
.schedule-table td,.fee-table td{
  padding:18px 16px;border-bottom:1px solid #e2e2e2;font-size:13px
}
.schedule-table tbody tr:last-child td,.fee-table tbody tr:last-child td{border-bottom:0}
.schedule-status{
  display:inline-block;padding:7px 9px;background:#f4f4f4;
  font-size:8px;font-weight:900;letter-spacing:.1em;color:#777
}
.integration-note{color:#74747a;font-size:10px;line-height:1.5;margin-top:14px}

.fee-overview-card{
  display:grid;grid-template-columns:.7fr 1.3fr;
  background:#0b0b0e;color:#fff;border:1px solid #25252b;margin-bottom:24px
}
.fee-price{
  padding:46px;border-right:1px solid #29292f;
  background:linear-gradient(145deg,rgba(239,17,28,.12),transparent 55%)
}
.fee-price strong{
  display:block;font-family:"Anton";font-size:clamp(90px,10vw,150px);line-height:.85;color:var(--red)
}
.fee-price span{font-size:9px;font-weight:900;letter-spacing:.15em;color:#8e8e95}
.fee-description{padding:46px}
.fee-description h2{font-size:clamp(38px,4.5vw,65px)}
.fee-description ul{margin:25px 0 20px;padding-left:22px}
.fee-description li{margin:12px 0;font-size:16px}
.fee-description p{color:#92929a;line-height:1.6}
.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 65px}
.payment-card{padding:32px;background:#fff;border:1px solid #d7d7d7}
.payment-card.featured-payment{border-top:4px solid var(--red)}
.payment-card h3{font-size:25px;margin:7px 0 10px}
.payment-card p:not(.eyebrow){color:#6e6e74;line-height:1.55;min-height:50px}
.payment-button{
  margin-top:15px;border:0;background:var(--red);color:#fff;min-height:48px;padding:0 18px;
  font-size:9px;font-weight:900;letter-spacing:.13em;cursor:pointer
}
.payment-button span{font-size:16px;margin-left:7px}
.outline-payment{background:#111}
.additional-fees{margin-top:10px}
.additional-fees-heading{max-width:740px;margin-bottom:30px}
.additional-fees-heading>p:last-child{color:#6b6b72;line-height:1.6}
.small-pay-button{
  border:1px solid #d0d0d0;background:#f5f5f5;color:#94949a;padding:9px 10px;
  font-size:8px;font-weight:900;letter-spacing:.1em
}
.secure-payment-note{
  margin-top:28px;padding:20px 22px;border-left:4px solid var(--red);background:#e8e8e6
}
.secure-payment-note strong{font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.secure-payment-note p{margin:7px 0 0;color:#66666c;line-height:1.55;font-size:12px}

.forms-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.forms-heading{margin-bottom:28px}
.forms-heading h2{font-size:clamp(42px,4.8vw,70px)}
.forms-heading>p:last-child{color:#6d6d73;line-height:1.6}
.form-file-list{border-top:1px solid #d5d5d5}
.form-file-card{
  display:grid;grid-template-columns:58px 1fr auto;gap:16px;align-items:center;
  padding:19px 0;border-bottom:1px solid #d5d5d5
}
.file-icon{
  width:50px;height:50px;display:grid;place-items:center;
  background:#111;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.08em
}
.file-copy small{color:var(--red);font-size:8px;font-weight:900;letter-spacing:.13em}
.file-copy h3{margin:4px 0;font-size:16px}
.file-copy p{margin:0;color:#77777d;font-size:11px}
.form-file-card button{
  border:1px solid #d2d2d2;background:#f6f6f4;color:#a0a0a5;padding:9px 11px;
  font-size:8px;font-weight:900;letter-spacing:.1em
}

.upload-section{padding:30px;background:#0b0b0e;color:#fff;align-self:start}
.upload-section .forms-heading>p:last-child{color:#95959c}
.upload-form label{display:block;margin-bottom:17px}
.upload-form label>span{
  display:block;margin-bottom:7px;color:#8c8c94;
  font-size:8px;font-weight:900;letter-spacing:.15em
}
.upload-form input,.upload-form select,.upload-form textarea{
  width:100%;background:#111116;color:#fff;border:1px solid #303037;outline:none;
  padding:13px 14px;border-radius:0
}
.upload-form input:focus,.upload-form select:focus,.upload-form textarea:focus{border-color:var(--red)}
.file-drop input[type=file]{padding:10px;background:#0d0d10}
.file-drop div{
  margin-top:8px;padding:18px;border:1px dashed #3b3b42;text-align:center
}
.file-drop strong{display:block;font-size:12px}
.file-drop small{display:block;margin-top:5px;color:#7d7d84;font-size:9px}
.upload-form>button{
  width:100%;border:0;background:var(--red);color:#fff;min-height:49px;cursor:pointer;
  font-size:9px;font-weight:900;letter-spacing:.14em
}
.upload-form>button span{font-size:16px;margin-left:7px}
.payment-dialog-message{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%);
  z-index:300;background:#0b0b0e;color:#fff;border:1px solid #35353c;
  padding:15px 18px;box-shadow:0 18px 50px rgba(0,0,0,.35);
  font-size:11px;max-width:min(90vw,520px)
}

@media(max-width:850px){
  .page-toolbar,.fee-overview-card,.payment-grid,.forms-grid{grid-template-columns:1fr;display:grid}
  .page-toolbar{align-items:start}
  .fee-price{border-right:0;border-bottom:1px solid #29292f}
}
@media(max-width:600px){
  .games-page,.fees-page,.forms-page{padding-left:20px;padding-right:20px}
  .fee-price,.fee-description,.payment-card,.upload-section{padding:24px}
  .form-file-card{grid-template-columns:50px 1fr}
  .form-file-card button{grid-column:2}
}

/* V5 REAL PHOTO INTEGRATION */
.slider-photo{width:100%;height:100%;object-fit:cover;display:block}
.slider-photo.team-photo{object-position:center 42%}
.player-page-photo.has-photo{background:#0b0b0e;overflow:hidden}
.player-page-photo.has-photo img{width:100%;height:100%;object-fit:cover;display:block}
.practice-photo-item{overflow:hidden;background:#111;min-height:310px}
.practice-photo-item img{width:100%;height:100%;object-fit:cover;display:block}
.practice-photo-item.wide img{object-position:center 42%}
@media(max-width:650px){.practice-photo-item{min-height:240px}}
\n\n/* V7 public-home revisions */\n/* White backing keeps the intentional white counters/details in the supplied logo from showing against black. */\n.mini-brand img{\n  background:#fff;\n  border-radius:50%;\n  padding:3px;\n}\n.hero-logo{\n  background:#fff;\n  border-radius:50%;\n  padding:10px;\n  box-shadow:0 24px 70px rgba(0,0,0,.35);\n}\n.footer-brand img{\n  background:#fff;\n  border-radius:50%;\n  padding:3px;\n}\n\n/* Championship photos while retaining the existing card design */\n.win-card{\n  padding:0;\n  display:grid;\n  grid-template-rows:250px 1fr;\n}\n.win-photo-wrap{\n  position:relative;\n  z-index:2;\n  overflow:hidden;\n  background:#111;\n}\n.win-photo{\n  display:block;\n  width:100%;\n  height:100%;\n  object-fit:cover;\n}\n.win-card:first-child .win-photo{object-position:center 48%;}\n.win-card.featured .win-photo{object-position:center 48%;}\n.win-card-copy{\n  position:relative;\n  z-index:2;\n  padding:30px 38px 34px;\n  display:flex;\n  flex-direction:column;\n}\n.win-card .trophy-mark{margin-bottom:28px;}\n.win-card-copy > span{\n  position:relative;z-index:2;\n  font-size:9px;letter-spacing:.18em;font-weight:900;color:#85858b;\n}\n.win-card.featured .win-card-copy > span{color:#85858d;}\n@media(max-width:600px){\n  .win-card{grid-template-rows:220px 1fr;}\n  .win-card-copy{padding:25px 27px 29px;}\n  .hero-logo{padding:7px;}\n}\n

/* V8 public landing page revisions */
/* Summer championship appears first on white; First Colony appears second on black. */
.win-card{grid-template-rows:auto 1fr;}
.win-photo-wrap{aspect-ratio:7 / 5;height:auto;}
.win-photo{width:100%;height:100%;object-fit:cover;}
@media(max-width:600px){.win-card{grid-template-rows:auto 1fr;}.win-photo-wrap{aspect-ratio:7 / 5;height:auto;}}


/* V10 — explicit championship layout requested after V7/V8 */
/* First championship card: WHITE. Second championship card: BLACK. */
.wins-grid{
  align-items:stretch;
}
.win-card.win-card-light{
  background:#ffffff !important;
  color:#0b0b0e !important;
  border-color:#d5d5d5 !important;
}
.win-card.win-card-light:after{
  color:#f1f1f1 !important;
}
.win-card.win-card-dark{
  background:
    linear-gradient(145deg,rgba(239,17,28,.14),transparent 48%),
    #0a0a0d !important;
  color:#ffffff !important;
  border-color:#16161b !important;
}
.win-card.win-card-dark:after{
  color:rgba(255,255,255,.04) !important;
}

/* Both championship photos are exactly the same landscape 7:5 (5x7 turned landscape) frame. */
.win-card.win-card-light,
.win-card.win-card-dark{
  display:grid !important;
  grid-template-rows:auto 1fr !important;
  padding:0 !important;
}
.win-card.win-card-light .win-photo-wrap,
.win-card.win-card-dark .win-photo-wrap{
  width:100% !important;
  aspect-ratio:7 / 5 !important;
  height:auto !important;
  overflow:hidden !important;
  background:#111 !important;
}
.win-card.win-card-light .win-photo,
.win-card.win-card-dark .win-photo{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:7 / 5 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Keep copy treatment legible on each background. */
.win-card.win-card-light .win-card-copy > span{color:#85858b !important;}
.win-card.win-card-dark .win-card-copy > span{color:#9a9aa1 !important;}

.schedule-link-stack{display:flex;flex-direction:column;gap:10px;align-items:stretch}.signupgenius-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#fff;padding:15px 18px;font-size:10px;font-weight:900;letter-spacing:.13em}.coaches-page{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:80px clamp(22px,7vw,110px);background:#f4f4f2;color:#111}.coach-profile{background:#fff;border:1px solid #d9d9d9}.coach-photo{aspect-ratio:4/3;background:#111;overflow:hidden}.coach-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.coach-copy{padding:28px}.coach-copy h2{margin:0;font-family:"Anton";font-size:clamp(42px,5vw,68px);font-weight:400;line-height:.95}.coach-copy h2 span{color:var(--red)}.coach-facts{margin:24px 0 0;border-top:1px solid #ddd}.coach-facts div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #ddd}.coach-facts dt{font-size:8px;font-weight:900;letter-spacing:.13em;color:#777;text-transform:uppercase}.coach-facts dd{margin:0;font-weight:700}.practice-photos{grid-template-columns:1fr 1fr 1fr}.practice-crop-1 img{object-position:center 24%}.practice-crop-2 img{object-position:center 22%}.practice-crop-3 img{object-position:center 25%}.events-empty{color:#7e7e86;font-size:12px;line-height:1.5}.admin-site{margin:0;background:#0a0a0d;color:#fff;font-family:"Inter",sans-serif}.admin-header{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #27272d;background:#060607;position:sticky;top:0;z-index:20}.admin-brand{display:flex;align-items:center;gap:12px}.admin-brand img{width:48px;height:48px;object-fit:contain}.admin-brand div{display:flex;flex-direction:column}.admin-brand small{font-size:8px;letter-spacing:.17em;color:#909098}.admin-brand strong{font-family:"Anton";font-weight:400;font-size:20px}.admin-header>a{font-size:9px;font-weight:900;letter-spacing:.14em;color:#ddd}.admin-shell{padding:70px clamp(20px,6vw,90px)}.admin-intro{max-width:850px;margin-bottom:44px}.admin-intro h1{margin:0;font-family:"Anton";font-weight:400;font-size:clamp(62px,8vw,112px);line-height:.9}.admin-intro h1 span{color:var(--red)}.admin-intro>p:last-child{color:#9999a1;line-height:1.65}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-card{padding:25px;background:#111116;border:1px solid #2d2d34}.admin-card h2{margin:0 0 7px;font-family:"Anton";font-weight:400;font-size:28px}.admin-card p{color:#8f8f97;line-height:1.5;min-height:62px;font-size:12px}.admin-card button{border:1px solid #404047;background:#0b0b0e;color:#fff;padding:10px 12px;font-size:8px;font-weight:900;letter-spacing:.12em}.admin-preview-note{margin-top:28px;padding:22px;border-left:4px solid var(--red);background:#111116}.admin-preview-note p{color:#8f8f97;line-height:1.5;margin-bottom:0}@media(max-width:1000px){.admin-grid{grid-template-columns:repeat(2,1fr)}.coaches-page{grid-template-columns:1fr}}@media(max-width:650px){.practice-photos{grid-template-columns:1fr}.coach-facts div{grid-template-columns:1fr;gap:5px}.admin-grid{grid-template-columns:1fr}}


/* V15 — mobile centering fix for PUBLIC landing-page hero only */
@media (max-width: 600px) {
  body:not(.private-site):not(.password-page):not(.admin-site) {
    overflow-x: hidden;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .hero {
    width: 100%;
    max-width: 100vw;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .hero-copy {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .hero h1 {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .team-type,
  body:not(.private-site):not(.password-page):not(.admin-site) .intro {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .hero-scroll {
    justify-content: center;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .hero-logo-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .hero-logo {
    width: min(82vw, 360px);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .ring-one {
    width: 280px;
    height: 280px;
  }

  body:not(.private-site):not(.password-page):not(.admin-site) .ring-two {
    width: 340px;
    height: 340px;
  }
}


/* V16 — center the large red WOLVERINES title on mobile only */
@media (max-width: 600px) {
  body:not(.private-site):not(.password-page):not(.admin-site) .hero h1 span {
    display: block;
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
}

/* V17 functional admin */
.admin-header-actions{display:flex;align-items:center;gap:14px}
.admin-header-actions button{background:none;border:1px solid #38383f;color:#fff;padding:9px 11px;font-size:8px;font-weight:900;letter-spacing:.11em;cursor:pointer}
.admin-login-card{max-width:520px;margin:50px auto;padding:35px;background:#111116;border:1px solid #303037}
.admin-login-card h1{font-family:"Anton";font-weight:400;font-size:54px;margin:0 0 8px}.admin-login-card h1 span{color:var(--red)}
.admin-login-card>p{color:#8d8d95}
.admin-login-card label,.admin-field{display:block;margin:15px 0}.admin-login-card label span,.admin-field>span{display:block;margin-bottom:7px;color:#9999a1;font-size:8px;font-weight:900;letter-spacing:.14em}
.admin-login-card input,.admin-field input,.admin-field textarea,.admin-field select,.admin-row-card input,.admin-row-card textarea{width:100%;background:#0a0a0d;color:#fff;border:1px solid #34343b;padding:11px 12px;box-sizing:border-box}
.admin-login-card button{width:100%;background:var(--red);border:0;color:#fff;padding:13px;font-size:9px;font-weight:900;letter-spacing:.14em;cursor:pointer}
.admin-status{min-height:18px;color:#ff8087;font-size:11px}
.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 22px}.admin-tabs button{border:1px solid #34343b;background:#111116;color:#bcbcc2;padding:10px 12px;font-size:8px;font-weight:900;letter-spacing:.1em;cursor:pointer}.admin-tabs button.active{background:var(--red);border-color:var(--red);color:#fff}
.admin-panel{background:#111116;border:1px solid #2e2e34;padding:28px}.admin-panel h2{font-family:"Anton";font-weight:400;font-size:35px;margin:0 0 15px}.admin-panel h3{font-family:"Anton";font-weight:400;font-size:22px}
.admin-help,.admin-empty{color:#86868e;font-size:11px;line-height:1.5}
.admin-row-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:14px 0;padding:18px;background:#0b0b0e;border:1px solid #2b2b31}.admin-row-card>.admin-field{margin:0}
.admin-remove{grid-column:1/-1;justify-self:start;background:none;border:1px solid #493036;color:#ff7980;padding:8px 10px;font-size:8px;font-weight:900;cursor:pointer}
.admin-add{margin-top:12px;background:#1d1d23;border:1px solid #414149;color:#fff;padding:10px 13px;font-size:8px;font-weight:900;letter-spacing:.1em;cursor:pointer}
.admin-upload{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.admin-upload input{background:#111116;border:1px solid #33333a;color:#aaa;padding:8px}.admin-upload button{background:#25252b;border:1px solid #424249;color:#fff;padding:10px;font-size:8px;font-weight:900}.admin-upload small{grid-column:1/-1;color:#6f6f77;word-break:break-all}
.admin-check{grid-column:1/-1;color:#aaa;font-size:11px}.admin-check input{width:auto;margin-right:7px}
.admin-savebar{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:14px 0;background:linear-gradient(transparent,#0a0a0d 25%)}.admin-savebar button{background:var(--red);border:0;color:#fff;padding:13px 17px;font-size:9px;font-weight:900;letter-spacing:.12em;cursor:pointer}.admin-savebar span{font-size:11px;color:#aaa}
.fact-edit{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:1/-1}
.active-pay{display:inline-block;text-decoration:none}
.form-file-card>a{border:1px solid #d2d2d2;background:#f6f6f4;color:#555;padding:9px 11px;font-size:8px;font-weight:900;letter-spacing:.1em}
@media(max-width:700px){.admin-row-card,.fact-edit{grid-template-columns:1fr}.admin-upload{grid-template-columns:1fr}.admin-shell{padding-left:14px;padding-right:14px}}


/* V25 — keep the red WOLVERINES hero title fully visible and centered on phones */
@media (max-width: 600px) {
  body:not(.private-site):not(.password-page):not(.admin-site) .hero h1 span {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: clamp(56px, 16vw, 72px);
    line-height: .88;
    letter-spacing: 0;
    white-space: nowrap;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}


/* V43 visual cropper + image rendering */
.admin-cropper{
  grid-column:1/-1;
  border:1px solid #2f2f36;
  background:#0c0c10;
  padding:14px;
}
.admin-crop-preview{
  aspect-ratio:var(--crop-aspect,4/3);
  width:min(100%,720px);
  position:relative;
  overflow:hidden;
  background:#050507;
  border:1px solid #383840;
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.admin-crop-preview:active{cursor:grabbing}
.admin-crop-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  max-width:none;
  transition:transform .08s linear;
  pointer-events:none;
}
.crop-guide{
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  background:
    linear-gradient(to right,transparent 33.1%,rgba(255,255,255,.12) 33.2%,rgba(255,255,255,.12) 33.5%,transparent 33.6%,transparent 66.4%,rgba(255,255,255,.12) 66.5%,rgba(255,255,255,.12) 66.8%,transparent 66.9%),
    linear-gradient(to bottom,transparent 33.1%,rgba(255,255,255,.12) 33.2%,rgba(255,255,255,.12) 33.5%,transparent 33.6%,transparent 66.4%,rgba(255,255,255,.12) 66.5%,rgba(255,255,255,.12) 66.8%,transparent 66.9%);
}
.crop-controls{display:flex;gap:12px;align-items:end;margin-top:12px;flex-wrap:wrap}
.crop-controls label{display:grid;gap:6px;min-width:220px;color:#96969e;font-size:9px;font-weight:800;letter-spacing:.1em}
.crop-controls input[type="range"]{width:100%}
.crop-controls button{background:#1d1d23;border:1px solid #414149;color:#fff;padding:9px 12px;font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer}
.form-submission-card .submission-label{display:block;color:#777781;font-size:8px;font-weight:900;letter-spacing:.12em;margin-bottom:4px}
.slider .slide,.player-page-photo,.win-photo-wrap,.coach-photo{overflow:hidden}
.slider-photo,.player-page-photo img,.win-photo,.coach-photo img{will-change:transform}

/* V44 crop position sliders */
.crop-controls-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr)) auto;
  align-items:end;
}
@media (max-width:760px){
  .crop-controls-grid{grid-template-columns:1fr}
}

/* V45 submitted-form actions */
.submission-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.submission-actions .admin-delete{margin:0}


/* V46 responsive player bio photos */
.player-page-photo{
  overflow:hidden;
  background:#0a0a0d;
}
.player-page-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:none;
}

/* Desktop: retain the admin-selected crop/zoom. */
@media (min-width: 1025px){
  .player-page-photo{
    aspect-ratio:4/5;
    max-height:min(72vh,760px);
  }
}

/* Tablets: slightly wider portrait frame gives faces/shoulders more breathing room. */
@media (min-width: 641px) and (max-width: 1024px){
  .player-page-photo{
    aspect-ratio:5/6;
    max-height:68vh;
  }
}

/* Phones: use a shorter portrait window so the photo doesn't dominate the page.
   The saved object-position remains the focal point, so the selected face position
   is preserved across screen sizes. */
@media (max-width: 640px){
  .player-page-photo{
    aspect-ratio:4/5;
    width:100%;
    max-height:62vh;
  }
  .player-page-photo img{
    min-height:100%;
  }
}

/* V46 editable fun-fact controls */
.fact-edit{
  position:relative;
  grid-column:1/-1;
}
.fact-delete{
  align-self:end;
  margin-top:4px;
}
#bio-facts-list{
  display:grid;
  gap:12px;
  grid-column:1/-1;
}




/* V48 Team Store card — isolated to existing private home/navigation */
.team-store-nav{
  background:#111 !important;
  color:#fff !important;
  border:1px solid #e31b23;
  padding:10px 14px !important;
}
.team-store-nav:hover,
.team-store-nav:focus{
  background:#e31b23 !important;
  color:#fff !important;
}
.team-store-card{
  display:block;
  margin-top:24px;
  overflow:hidden;
  border:2px solid #e31b23;
  background:#111;
  color:#fff;
  text-decoration:none;
}
.team-store-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2048/508;
  object-fit:cover;
}
.team-store-card-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  background:#111;
  color:#fff;
}
.team-store-card-bar .eyebrow{
  display:block;
  margin:0 0 3px;
  color:#e31b23;
}
.team-store-card-bar strong{
  display:block;
  font-size:1.35rem;
  color:#fff;
}
.team-store-shop{
  flex:0 0 auto;
  padding:10px 14px;
  background:#e31b23;
  color:#fff;
  font-weight:800;
}
.team-store-card:hover .team-store-shop,
.team-store-card:focus .team-store-shop{
  background:#fff;
  color:#111;
}
@media(max-width:700px){
  .team-store-card{margin-top:18px}
  .team-store-card-bar{padding:13px 14px}
  .team-store-card-bar strong{font-size:1.15rem}
  .team-store-shop{padding:9px 11px;font-size:.85rem}
}
