/* =========================================================
   SHRI VIDHYABHARATHI CBSE SENIOR SECONDARY SCHOOL
   SPORTS & CO-CURRICULAR — UNIQUE COMPACT PAGE
   Requires styles.css
   ========================================================= */

:root{
  --sports-paper:#fffdf9;
  --sports-cream:#fff8ee;
  --sports-line:rgba(184,119,11,.18);
  --sports-shadow:0 14px 34px rgba(62,39,35,.09);
  --sports-shadow-lg:0 24px 54px rgba(62,39,35,.15);
  --sports-ease:cubic-bezier(.22,.75,.32,1);
}

/* =========================================================
   BASE
   ========================================================= */

.sports-page{
  background:#fff;
}

.sports-page .section{
  padding:68px 0;
}

.sports-page .content-prose{
  max-width:none;
}

.sports-page .content-prose p{
  margin:0 0 13px;
  color:var(--ink-2);
  font-size:16px;
  line-height:1.72;
}

.sports-page h2,
.sports-page h3,
.sports-page h4{
  text-wrap:balance;
}

.sports-media{
  position:relative;
  margin:0;
}

.sports-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.sports-kicker,
.sports-section-label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 15px;

  color:var(--sky-deep);

  font-family:var(--head);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.sports-kicker__icon,
.sports-section-label__icon{
  display:grid;
  place-items:center;

  width:32px;
  height:32px;

  border-radius:9px;

  background:rgba(245,166,35,.13);
  color:var(--navy);
}

.sports-kicker__icon .icon,
.sports-section-label__icon .icon{
  width:16px;
  height:16px;
}

.sports-section-label--dark{
  color:#ffd06e;
}

.sports-section-label--dark .sports-section-label__icon{
  background:rgba(245,166,35,.13);
  color:var(--gold);
}

.sports-card-icon{
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  border-radius:11px;
  background:rgba(245,166,35,.13);
  color:var(--navy);
}

.sports-card-icon .icon{
  width:18px;
  height:18px;
}

/* =========================================================
   01. INTRO — BALANCED TOP + FULL-WIDTH LOWER ROW
   ========================================================= */

.sports-page .sports-intro{
  position:relative;
  overflow:hidden;
  padding:60px 0 54px;

  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(245,166,35,.10),
      transparent 25%
    ),
    var(--cream);
}

.sports-intro::after{
  content:"";
  position:absolute;

  right:-60px;
  bottom:-70px;

  width:220px;
  height:220px;

  opacity:.18;

  background-image:
    radial-gradient(
      rgba(139,26,26,.24) 1.3px,
      transparent 1.3px
    );

  background-size:17px 17px;

  pointer-events:none;
}

.sports-intro__shell{
  position:relative;
  z-index:1;
}


/* ---------------------------------------------------------
   Top row
   --------------------------------------------------------- */

.sports-intro__top{
  display:grid;

  grid-template-columns:
    minmax(420px,.94fr)
    minmax(0,1.06fr);

  gap:42px;
  align-items:center;
}

.sports-intro__content{
  padding-top:2px;
}

.sports-intro__content h2{
  max-width:620px;

  margin:0 0 17px;

  color:var(--navy);

  font-size:clamp(34px,3.15vw,44px);
  line-height:1.09;
  letter-spacing:0;
}

.sports-intro__lead{
  max-width:640px;

  margin:0 !important;

  color:var(--ink) !important;

  font-size:15.5px !important;
  line-height:1.64 !important;
}


/* ---------------------------------------------------------
   Right-side mosaic
   --------------------------------------------------------- */

.sports-intro__mosaic{
  display:grid;

  grid-template-columns:
    1.24fr .76fr;

  grid-template-rows:
    188px 188px;

  gap:11px;
}

.sports-intro__mosaic .sports-media{
  overflow:hidden;

  border-radius:16px;

  box-shadow:var(--sports-shadow);
}

.sports-intro__main{
  grid-row:1 / 3;
}

.sports-intro__mosaic figcaption{
  position:absolute;

  left:13px;
  bottom:13px;

  display:inline-flex;
  align-items:center;
  gap:7px;

  padding:8px 10px;

  border-radius:10px;

  background:rgba(74,25,19,.78);
  backdrop-filter:blur(6px);

  color:#fff;

  font-size:10.5px;
  font-weight:700;
}

.sports-intro__mosaic figcaption .icon{
  width:14px;
  height:14px;

  color:var(--gold);
}


/* ---------------------------------------------------------
   Full-width bottom row
   --------------------------------------------------------- */

.sports-intro__bottom{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap:24px;
  align-items:center;

  margin-top:24px;
  padding-top:18px;

  border-top:1px solid rgba(184,119,11,.18);
}

.sports-intro__bottom > p{
  max-width:900px;

  margin:0;

  color:var(--ink-2);

  font-size:13.5px;
  line-height:1.58;
}

.sports-intro__tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;

  gap:7px;

  margin:0;
}

.sports-intro__tags span{
  display:inline-flex;
  align-items:center;
  gap:7px;

  min-height:34px;

  padding:7px 11px;

  border:1px solid var(--line);
  border-radius:999px;

  background:rgba(255,255,255,.76);

  color:var(--ink);

  font-size:11px;
  font-weight:600;
}

.sports-intro__tags .icon{
  width:14px;
  height:14px;

  color:var(--orange);
}


/* ---------------------------------------------------------
   Interaction
   --------------------------------------------------------- */

@media (hover:hover){

  .sports-intro__mosaic .sports-media img{
    transition:transform .55s var(--sports-ease);
  }

  .sports-intro__mosaic .sports-media:hover img{
    transform:scale(1.018);
  }

}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width:1100px){

  .sports-intro__top{
    grid-template-columns:
      minmax(0,.96fr)
      minmax(390px,1.04fr);

    gap:34px;
  }

  .sports-intro__mosaic{
    grid-template-rows:
      172px 172px;
  }

  .sports-intro__bottom{
    grid-template-columns:1fr;

    gap:17px;
  }

  .sports-intro__tags{
    justify-content:flex-start;
  }

}


/* ---------------------------------------------------------
   Small tablet
   --------------------------------------------------------- */

@media (max-width:900px){

  .sports-intro__top{
    grid-template-columns:1fr;

    gap:30px;
  }

  .sports-intro__mosaic{
    width:min(100%,680px);

    margin:0 auto;

    grid-template-rows:
      180px 180px;
  }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width:640px){

  .sports-intro__content h2{
    font-size:31px;
  }

  .sports-intro__lead{
    font-size:15px !important;
    line-height:1.68 !important;
  }

  .sports-intro__mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
  }

  .sports-intro__main{
    grid-column:1 / -1;
    grid-row:auto;
  }

  .sports-intro__mosaic .sports-media{
    height:150px;
  }

  .sports-intro__main{
    height:235px !important;
  }

  .sports-intro__bottom{
    margin-top:22px;
    padding-top:18px;
  }

  .sports-intro__bottom > p{
    font-size:13px;
    line-height:1.62;
  }

  .sports-intro__tags{
    gap:6px;
  }

  .sports-intro__tags span{
    width:auto;

    border-radius:999px;
  }

}

@media (max-width:430px){

  .sports-intro__mosaic .sports-media{
    height:135px;
  }

  .sports-intro__main{
    height:215px !important;
  }

}

/* =========================================================
   02. INDOOR GAMES
   ========================================================= */

.sports-indoor{
  background:#fff;
}

.sports-indoor__grid{
  display:grid;
  grid-template-columns:minmax(410px,.95fr) minmax(0,1.05fr);
  gap:58px;
  align-items:center;
}

.sports-indoor__media{
  height:390px;
}

.sports-indoor__media img{
  border-radius:26px 58px 26px 26px;
  box-shadow:var(--sports-shadow-lg);
}

.sports-media__badge{
  position:absolute;
  right:15px;
  top:15px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:var(--gold);
  color:var(--navy-deep);
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(62,39,35,.14);
}

.sports-media__badge .icon{
  width:14px;
  height:14px;
}

.sports-indoor__content h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.12;
}

.sports-game-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:21px;
}

.sports-game-pair > div{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--cream);
}

.sports-game-pair > div > span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:none;
  border-radius:10px;
  background:#fff;
  color:var(--navy);
}

.sports-game-pair .icon{
  width:16px;
  height:16px;
}

.sports-game-pair b,
.sports-game-pair small{
  display:block;
}

.sports-game-pair b{
  margin-bottom:2px;
  color:var(--navy);
  font-size:12px;
}

.sports-game-pair small{
  color:var(--ink-3);
  font-size:10px;
  line-height:1.35;
}

.sports-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:17px !important;
  padding:12px 13px;
  border-radius:11px;
  background:rgba(245,166,35,.09);
  font-size:12.5px !important;
  line-height:1.55 !important;
}

.sports-note .icon{
  width:16px;
  height:16px;
  flex:none;
  color:var(--orange);
}

/* =========================================================
   03. OUTDOOR GAMES
   ========================================================= */

.sports-outdoor{
  position:relative;
  overflow:hidden;
  padding:62px 0;
  color:#f7ece2;
  background:
    radial-gradient(circle at 90% 12%,rgba(245,166,35,.10),transparent 26%),
    linear-gradient(118deg,#4c1716 0%,#5d1d1c 48%,#70251f 100%);
}

.sports-outdoor__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,330px);
  gap:36px;
  align-items:center;
  margin-bottom:22px;
}

.sports-outdoor__content h2{
  max-width:780px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(32px,3.05vw,42px);
  line-height:1.1;
}

.sports-outdoor__content p{
  max-width:760px;
  color:#f1decf !important;
  font-size:15px !important;
  line-height:1.58 !important;
}

.sports-outdoor__games-panel{
  display:grid;
  gap:12px;
  align-self:center;
  padding:18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}

.sports-outdoor__label{
  margin:0;
  color:var(--gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.sports-outdoor__games{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.sports-outdoor__games span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff4e8;
  font-size:11.5px;
  font-weight:700;
}

.sports-outdoor__gallery{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  grid-template-rows:170px 170px;
  gap:12px;
}

.sports-outdoor__gallery .sports-media{
  height:100%;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 15px 34px rgba(31,5,5,.22);
}

.sports-outdoor__main{
  grid-row:1 / 3;
  height:100% !important;
}

.sports-outdoor__closing{
  max-width:none;
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
  color:#e8d4c2;
  font-size:13.5px;
  line-height:1.58;
}

/* =========================================================
   04. MARTIAL ARTS
   ========================================================= */

.sports-martial{
  background:linear-gradient(145deg,#fff5e5,var(--cream));
}

.sports-martial__head{
  max-width:700px;
  margin-bottom:28px;
}

.sports-martial__head h2{
  margin:0;
  color:var(--navy);
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.12;
}

.sports-martial__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.82fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}

.sports-martial__story{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.72);
}

.sports-martial__story small{
  margin:14px 0 5px;
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sports-martial__story h3{
  margin:0 0 11px;
  color:var(--navy);
  font-size:23px;
}

.sports-martial__story p{
  margin:0;
  color:var(--ink-2);
  font-size:13.5px;
  line-height:1.62;
}

.sports-martial__media{
  min-height:390px;
  overflow:hidden;
  border-radius:23px;
  box-shadow:var(--sports-shadow-lg);
}

/* =========================================================
   05. DANCE + SKATING
   ========================================================= */

.sports-dynamic{
  background:#fff;
}

.sports-dynamic__stack{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.sports-dynamic__feature{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--sports-paper);
  box-shadow:0 7px 20px rgba(62,39,35,.045);
}

.sports-dynamic__feature--reverse{
  grid-template-columns:none;
}

.sports-dynamic__feature--reverse .sports-media{
  order:0;
}

.sports-dynamic__feature .sports-media{
  height:285px;
  min-height:0;
}

.sports-dynamic__copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  flex:1;
  padding:26px 28px 28px;
}

.sports-dynamic__copy small{
  margin:14px 0 6px;
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sports-dynamic__copy h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:24px;
}

.sports-dynamic__copy p{
  margin:0;
  color:var(--ink-2);
  font-size:13.5px;
  line-height:1.6;
}

/* =========================================================
   06. PERFORMING ARTS
   ========================================================= */

.sports-performing{
  background:linear-gradient(145deg,#fff5e5,var(--cream));
}

.sports-performing__grid{
  display:grid;
  grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);
  gap:58px;
  align-items:center;
}

.sports-performing__media{
  height:430px;
  overflow:hidden;
  border-radius:26px;
  box-shadow:var(--sports-shadow-lg);
}

.sports-performing__media figcaption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:11px;
  background:rgba(74,25,19,.80);
  color:#fff;
  font-size:11px;
  font-weight:700;
  backdrop-filter:blur(7px);
}

.sports-performing__media figcaption .icon{
  width:15px;
  height:15px;
  color:var(--gold);
}

.sports-performing__content > h2{
  margin:0 0 20px;
  color:var(--navy);
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.12;
}

.sports-performing__list{
  border-top:1px solid var(--line);
}

.sports-performing__list article{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:13px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}

.sports-performing__list article > span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:9px;
  background:rgba(245,166,35,.13);
  color:var(--gold-deep);
  font-size:10px;
  font-weight:800;
}

.sports-performing__list h3{
  margin:0 0 5px;
  color:var(--navy);
  font-size:15px;
}

.sports-performing__list p{
  margin:0;
  color:var(--ink-2);
  font-size:12.5px;
  line-height:1.56;
}

/* =========================================================
   07. ROBOTICS
   ========================================================= */

.sports-robotics{
  position:relative;
  overflow:hidden;
  padding:70px 0;
  color:#f7ece2;
  background:
    radial-gradient(circle at 90% 12%,rgba(245,166,35,.10),transparent 26%),
    linear-gradient(118deg,#4c1716 0%,#5d1d1c 48%,#70251f 100%);
}

.sports-robotics__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:60px;
  align-items:center;
}

.sports-robotics__content h2{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(33px,3.6vw,48px);
  line-height:1.08;
}

.sports-robotics__content p{
  color:#f1decf !important;
  font-size:16px !important;
}

.sports-robotics__points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}

.sports-robotics__points span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff4e8;
  font-size:11.5px;
  font-weight:600;
}

.sports-robotics__points .icon{
  width:15px;
  height:15px;
  color:var(--gold);
}

.sports-robotics__media{
  height:390px;
  overflow:hidden;
  border:5px solid rgba(255,255,255,.92);
  border-radius:25px;
  box-shadow:0 25px 58px rgba(34,8,8,.28);
}

/* =========================================================
   08. CLUBS
   ========================================================= */

.sports-clubs{
  background:#fff;
}

.sports-clubs__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);
  gap:54px;
  align-items:end;
  margin-bottom:28px;
}

.sports-clubs__head h2{
  margin:0;
  color:var(--navy);
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.12;
}

.sports-clubs__head > p{
  margin:0 0 2px;
  color:var(--ink-2);
  font-size:14.5px;
  line-height:1.65;
}

.sports-clubs__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--sports-paper);
  box-shadow:0 12px 32px rgba(62,39,35,.06);
}

.sports-club{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-height:250px;
  padding:25px;
}

.sports-club + .sports-club{
  border-left:1px solid var(--line);
}

.sports-club__icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:none;
  border-radius:13px;
  background:rgba(139,26,26,.08);
  color:var(--navy);
}

.sports-club--eco .sports-club__icon{
  background:rgba(31,157,87,.10);
  color:var(--green);
}

.sports-club__icon .icon{
  width:20px;
  height:20px;
}

.sports-club small{
  display:block;
  margin-bottom:5px;
  color:var(--orange);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sports-club h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:18px;
}

.sports-club p{
  margin:0;
  color:var(--ink-2);
  font-size:13.5px;
  line-height:1.62;
}

.sports-clubs__closing{
  max-width:850px;
  margin:18px 0 0;
  color:var(--ink-2);
  font-size:13.5px;
  line-height:1.62;
}

/* =========================================================
   HOVER
   ========================================================= */

@media (hover:hover){
  .sports-media img{
    transition:transform .55s var(--sports-ease);
  }

  .sports-intro__mosaic .sports-media:hover img,
  .sports-indoor__media:hover img,
  .sports-outdoor__gallery .sports-media:hover img,
  .sports-martial__media:hover img,
  .sports-dynamic__feature:hover .sports-media img,
  .sports-performing__media:hover img,
  .sports-robotics__media:hover img{
    transform:scale(1.018);
  }

  .sports-dynamic__feature,
  .sports-club,
  .sports-martial__story{
    transition:
      transform .25s var(--sports-ease),
      border-color .25s ease,
      background .25s ease;
  }

  .sports-dynamic__feature:hover{
    transform:translateY(-3px);
    border-color:rgba(245,166,35,.30);
  }

  .sports-martial__story:hover{
    transform:translateY(-3px);
    border-color:rgba(245,166,35,.28);
    background:#fff;
  }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:1100px){
  .sports-intro__grid,
  .sports-indoor__grid,
  .sports-performing__grid,
  .sports-robotics__grid{
    gap:40px;
  }

  .sports-intro__grid{
    grid-template-columns:minmax(0,.9fr) minmax(410px,1.1fr);
  }

  .sports-martial__layout{
    grid-template-columns:minmax(0,1fr) minmax(300px,.78fr) minmax(0,1fr);
  }

  .sports-dynamic__feature,
  .sports-dynamic__feature--reverse{
    grid-template-columns:minmax(350px,.86fr) minmax(0,1.14fr);
  }
}

@media (max-width:900px){
  .sports-page .section{
    padding:58px 0;
  }

  .sports-intro__grid,
  .sports-indoor__grid,
  .sports-performing__grid,
  .sports-robotics__grid,
  .sports-clubs__head{
    grid-template-columns:1fr;
  }

  .sports-intro__mosaic,
  .sports-indoor__media,
  .sports-performing__media,
  .sports-robotics__media{
    width:min(100%,680px);
    margin:0 auto;
  }

  .sports-intro__mosaic{
    grid-template-rows:180px 180px;
  }

  .sports-indoor__media,
  .sports-performing__media,
  .sports-robotics__media{
    height:350px;
  }

  .sports-outdoor{
    padding:58px 0;
  }

  .sports-outdoor__head{
    grid-template-columns:1fr;
    gap:18px;
  }

  .sports-outdoor__games-panel{
    width:min(100%,520px);
  }

  .sports-outdoor__games{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .sports-outdoor__gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:280px 210px;
  }

  .sports-outdoor__gallery .sports-media{
    height:100%;
  }

  .sports-outdoor__main{
    grid-column:1 / -1;
    grid-row:auto;
    height:100% !important;
  }

  .sports-martial__layout{
    grid-template-columns:1fr 1fr;
  }

  .sports-martial__media{
    grid-column:1 / -1;
    grid-row:1;
    height:330px;
    min-height:0;
  }

  .sports-dynamic__feature,
  .sports-dynamic__feature--reverse{
    grid-template-columns:1fr;
  }

  .sports-dynamic__stack{
    grid-template-columns:1fr;
    gap:14px;
  }

  .sports-dynamic__feature--reverse .sports-media{
    order:0;
  }

  .sports-dynamic__feature .sports-media{
    height:280px;
    min-height:0;
  }

  .sports-robotics{
    padding:58px 0;
  }

  .sports-clubs__head{
    gap:10px;
  }
}

@media (max-width:640px){
  .sports-page .section{
    padding:48px 0;
  }

  .sports-page .content-prose p{
    font-size:15px;
    line-height:1.68;
  }

  .sports-intro__mosaic{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }

  .sports-intro__main{
    grid-row:auto;
  }

  .sports-intro__mosaic .sports-media{
    height:225px;
  }

  .sports-intro__tags span{
    width:100%;
    border-radius:10px;
  }

  .sports-indoor__media,
  .sports-performing__media,
  .sports-robotics__media{
    height:270px;
  }

  .sports-game-pair{
    grid-template-columns:1fr;
  }

  .sports-outdoor{
    padding:50px 0;
  }

  .sports-outdoor__games{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .sports-outdoor__gallery{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }

  .sports-outdoor__gallery .sports-media,
  .sports-outdoor__main{
    grid-column:auto;
    height:225px !important;
  }

  .sports-martial__layout{
    grid-template-columns:1fr;
  }

  .sports-martial__media{
    grid-column:auto;
    grid-row:auto;
    height:250px;
  }

  .sports-martial__story{
    padding:21px;
  }

  .sports-dynamic__feature .sports-media{
    height:225px;
  }

  .sports-dynamic__copy{
    padding:23px 20px;
  }

  .sports-performing__list article{
    grid-template-columns:36px 1fr;
  }

  .sports-robotics{
    padding:50px 0;
  }

  .sports-robotics__content h2{
    font-size:34px;
  }

  .sports-robotics__points span{
    width:100%;
    border-radius:10px;
  }

  .sports-clubs__grid{
    grid-template-columns:1fr;
  }

  .sports-club + .sports-club{
    border-left:0;
    border-top:1px solid var(--line);
  }

  .sports-club{
    min-height:0;
    padding:20px;
  }
}

@media (max-width:430px){
  .sports-intro__mosaic .sports-media,
  .sports-indoor__media,
  .sports-outdoor__gallery .sports-media,
  .sports-outdoor__main,
  .sports-martial__media,
  .sports-dynamic__feature .sports-media,
  .sports-performing__media,
  .sports-robotics__media{
    height:220px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .sports-page *,
  .sports-page *::before,
  .sports-page *::after{
    animation:none !important;
    transition:none !important;
  }
}


/* Final Sports Intro responsive overrides */
@media (max-width:900px){
  .sports-page .sports-intro__top{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .sports-page .sports-intro__tags span{
    width:auto;
    border-radius:999px;
  }

  .sports-page .sports-intro__mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
  }

  .sports-page .sports-intro__main{
    grid-column:1 / -1;
    grid-row:auto;
    height:235px !important;
  }

  .sports-page .sports-intro__mosaic .sports-media:not(.sports-intro__main){
    height:150px !important;
  }

  .sports-page .sports-outdoor__gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
  }

  .sports-page .sports-outdoor__main{
    grid-column:1 / -1;
    height:230px !important;
  }

  .sports-page .sports-outdoor__gallery .sports-media:not(.sports-outdoor__main){
    height:145px !important;
  }
}

@media (max-width:430px){
  .sports-page .sports-intro__main{
    height:215px !important;
  }

  .sports-page .sports-intro__mosaic .sports-media:not(.sports-intro__main){
    height:135px !important;
  }

  .sports-page .sports-outdoor__main{
    height:205px !important;
  }

  .sports-page .sports-outdoor__gallery .sports-media:not(.sports-outdoor__main){
    height:130px !important;
  }
}

/* Project typography polish */
.sports-page .content-prose p,
.sports-intro__lead,
.sports-intro__bottom > p,
.sports-outdoor__content p,
.sports-outdoor__closing,
.sports-martial__story p,
.sports-dynamic__copy p,
.sports-robotics__content p,
.sports-clubs__head > p,
.sports-club p,
.sports-clubs__closing{
  font-size:16px !important;
  line-height:1.7;
}

.sports-intro__lead,
.sports-intro__bottom > p,
.sports-outdoor__content p,
.sports-outdoor__closing,
.sports-martial__story p,
.sports-dynamic__copy p,
.sports-robotics__content p,
.sports-clubs__head > p,
.sports-club p,
.sports-clubs__closing{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

.sports-note,
.sports-performing__list p,
.sports-game-pair small,
.sports-outdoor__games span,
.sports-robotics__points span{
  font-size:14px !important;
  line-height:1.52;
}

.sports-kicker,
.sports-section-label,
.sports-intro__mosaic figcaption,
.sports-media__badge,
.sports-outdoor__label,
.sports-martial__story small,
.sports-dynamic__copy small,
.sports-performing__media figcaption,
.sports-performing__list article > span,
.sports-club small{
  font-size:12.5px !important;
  line-height:1.42;
  letter-spacing:.12em;
}

@media (max-width:640px){
  .sports-intro__lead,
  .sports-intro__bottom > p,
  .sports-outdoor__content p,
  .sports-outdoor__closing,
  .sports-martial__story p,
  .sports-dynamic__copy p,
  .sports-robotics__content p,
  .sports-clubs__head > p,
  .sports-club p,
  .sports-clubs__closing{
    text-align:left;
    hyphens:none;
  }
}
