/* KITSPAN inner-page visual system v3
   Scoped to .inner-v3 so the approved homepage remains untouched. */
.inner-v3{--v3-radius:22px;--v3-line:rgba(11,45,91,.10);--v3-shadow:0 22px 55px rgba(7,29,56,.12)}
.inner-v3 .hero{min-height:650px;overflow:hidden;background-position:center 42%;isolation:isolate}
.inner-v3 .hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 78% 18%,rgba(8,203,177,.18),transparent 28%),linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12))}
.inner-v3 .hero .container{position:relative;z-index:2}
.inner-v3 .hero .copy{padding:58px 0;max-width:720px}
.inner-v3 .hero .h1{text-wrap:balance;max-width:920px;text-shadow:0 5px 28px rgba(0,0,0,.2)}
.inner-v3 .hero p{max-width:650px}
.inner-v3 .hero-actions .btn{min-height:48px}

.inner-v3 .card{border-color:var(--v3-line);box-shadow:0 10px 30px rgba(7,29,56,.06);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.inner-v3 .card:hover{transform:translateY(-4px);box-shadow:var(--v3-shadow);border-color:rgba(8,203,177,.28)}
.inner-v3 .visual-card .visual{height:235px;background:#10283c;overflow:hidden;position:relative}
.inner-v3 .visual-card .visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform .45s ease,filter .35s ease;filter:saturate(.96) contrast(1.04)}
.inner-v3 .visual-card:hover .visual img{transform:scale(1.045)}
.inner-v3 .visual-card .visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,19,34,.38));pointer-events:none}
.inner-v3 .visual-card .visual-tag{position:absolute;left:18px;bottom:16px;z-index:2;color:#fff;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;padding:7px 10px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(5,19,34,.42);backdrop-filter:blur(8px)}

.inner-v3 .program{border-color:var(--v3-line);box-shadow:0 16px 38px rgba(7,29,56,.08);transition:transform .25s ease,box-shadow .25s ease}
.inner-v3 .program:hover{transform:translateY(-4px);box-shadow:var(--v3-shadow)}
.inner-v3 .program img{height:300px;object-fit:cover;filter:saturate(.96) contrast(1.04);transition:transform .45s ease}
.inner-v3 .program:hover img{transform:scale(1.035)}
.inner-v3 .program .body{position:relative;background:#fff}
.inner-v3 .program .number{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal2)}

.inner-v3 .story{min-height:460px;background:linear-gradient(135deg,#f7fbfd,#edf7f8);border-top:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line)}
.inner-v3 .story .photo{min-height:460px;overflow:hidden;background:#0b2d5b}
.inner-v3 .story .photo img{width:100%;height:100%;min-height:460px;object-fit:cover;filter:saturate(.94) contrast(1.05);transition:transform .55s ease}
.inner-v3 .story:hover .photo img{transform:scale(1.025)}
.inner-v3 .story .copy{padding:64px}

.inner-v3 .cta{position:relative;overflow:hidden;isolation:isolate;background-position:center 45%;background-size:cover;box-shadow:0 18px 50px rgba(7,29,56,.15)}
.inner-v3 .cta:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 84% 12%,rgba(8,203,177,.17),transparent 28%);pointer-events:none}

/* Sharp vector-like program graphics for pages whose cards were previously plain text. */
.inner-v3 .graphic-card{overflow:hidden;position:relative}
.inner-v3 .graphic-band{height:124px;position:relative;display:flex;align-items:flex-end;padding:18px 20px;color:#fff;background:linear-gradient(135deg,#071d38 0%,#0b2d5b 52%,#087f83 100%);overflow:hidden}
.inner-v3 .graphic-band:before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-54px;top:-86px;box-shadow:0 0 0 28px rgba(255,255,255,.04),0 0 0 58px rgba(8,203,177,.05)}
.inner-v3 .graphic-band:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--teal)}
.inner-v3 .graphic-band span{font-size:44px;line-height:1;font-weight:900;letter-spacing:-.04em;opacity:.26;margin-right:14px}
.inner-v3 .graphic-band b{position:relative;z-index:2;font-size:12px;line-height:1.25;letter-spacing:.14em;text-transform:uppercase;max-width:170px;padding-bottom:4px}

/* Products gets a stronger editorial grid, but no homepage styles are changed. */
.inner-v3.page-products .visual-card .visual{height:210px}
.inner-v3.page-products #categories .card .body{min-height:300px}
.inner-v3.page-sports #sports-grid .card .body{min-height:245px;display:flex;flex-direction:column}
.inner-v3.page-sports #sports-grid .card .body .btn{margin-top:auto;align-self:flex-start}

/* Capability cards are intentionally photo-free: crisp geometry replaces blurry filler imagery. */
.inner-v3.page-customization #capabilities .card{position:relative;padding-top:7px}
.inner-v3.page-customization #capabilities .card:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:linear-gradient(90deg,var(--navy),var(--teal))}
.inner-v3.page-customization #capabilities .card .body{min-height:190px}
.inner-v3.page-customization #capabilities .card .h3:after{content:"";display:block;width:42px;height:2px;background:var(--teal);margin-top:14px}

.inner-v3.page-resources .card{position:relative;overflow:hidden}
.inner-v3.page-resources .card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(var(--navy),var(--teal))}
.inner-v3.page-resources .card .body{padding-left:28px}

@media(max-width:900px){
  .inner-v3 .hero{min-height:590px;background:linear-gradient(90deg,rgba(5,19,34,.94),rgba(5,19,34,.72)),var(--hero-mobile,var(--hero)) 62% center/cover no-repeat}
  .inner-v3 .hero .copy{padding:42px 0}
  .inner-v3 .story .copy{padding:42px}
  .inner-v3 .story .photo,.inner-v3 .story .photo img{min-height:360px}
  .inner-v3 .visual-card .visual{height:220px}
}
@media(max-width:620px){
  .inner-v3 .hero{min-height:620px;background-position:64% center}
  .inner-v3 .hero .copy{padding:34px 0}
  .inner-v3 .program img{height:235px}
  .inner-v3 .story .photo,.inner-v3 .story .photo img{min-height:300px}
  .inner-v3 .story .copy{padding:30px 28px}
  .inner-v3 .visual-card .visual,.inner-v3.page-products .visual-card .visual{height:215px}
  .inner-v3 .graphic-band{height:108px}
}