/* ==============================
   KK Imotski — Main Stylesheet
   ============================== */

@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-400.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-500.ttf") format("truetype");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}

@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-600.ttf") format("truetype");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-700.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/barlow-condensed-600.ttf") format("truetype");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/barlow-condensed-700.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/barlow-condensed-800.ttf") format("truetype");
  font-style:normal;
  font-weight:800;
  font-display:swap;
}

:root {
  --blue: #114AA1;
  --blue-dark: #0c3678;
  --blue-darker: #091f4a;
  --blue-light: #1a5ec9;
  --red: #ED1B24;
  --red-dark: #c5161e;
  --red-soft: #ff5a5f;

  --dark: #0f1923;
  --dark-800: #162230;
  --dark-700: #1e2f40;
  --dark-600: #284055;
  --gray-50: #f8f9fb;
  --gray-100: #f0f2f5;
  --gray-200: #e2e5ea;
  --gray-300: #ccd0d7;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --white: #ffffff;
  --sand: #f4efe7;
  --line: rgba(255,255,255,.12);

  --font-body: "Barlow", "Segoe UI", sans-serif;
  --font-display: "Barlow Condensed", "Barlow", "Segoe UI", sans-serif;
  --font: var(--font-body);
  --max-w: 1200px;
  --header-h: 72px;
  --transition: 0.2s ease;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 30px rgba(0,0,0,.12);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
}

/* --- Reset ---------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);color:var(--dark);background:var(--white);
  line-height:1.6;padding-top:var(--header-h);-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--blue-light)}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit}
h1,h2,h3,h4{line-height:1.2;font-weight:700}

/* --- Container ------------------------------------------------ */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}

/* ==============================
   HEADER
   ============================== */
.site-header{
  position:fixed;top:0;left:0;right:0;height:var(--header-h);
  background:rgba(10,18,32,.88);z-index:1000;border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(0,0,0,.18);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:100%}

.site-logo{display:flex;align-items:center;flex-shrink:0}
.site-logo img{height:48px;width:auto;border-radius:14px;box-shadow:0 10px 25px rgba(0,0,0,.18)}

/* --- Nav ------------------------------------------------------ */
.site-nav > ul{display:flex;align-items:center}
.site-nav>ul>li>a{
  display:block;padding:.5rem .85rem;color:var(--gray-300);
  font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  transition:color var(--transition),background var(--transition);border-radius:var(--radius-sm);
}
.site-nav>ul>li>a:hover,
.site-nav>ul>li.active>a{color:var(--white);background:rgba(255,255,255,.08)}

/* dropdown */
.has-dropdown{position:relative}
.has-dropdown>a::after{
  content:"";display:inline-block;width:0;height:0;
  border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;
  margin-left:6px;vertical-align:middle;transition:transform var(--transition);
}
.dropdown{
  position:absolute;top:100%;left:0;display:block;min-width:220px;max-width:280px;width:max-content;
  background:var(--dark-800);border-radius:0 0 var(--radius-md) var(--radius-md);
  box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;
  transform:translateY(-8px);transition:all var(--transition);padding:.5rem 0;
}
.dropdown li{display:block;width:100%}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;width:100%;padding:.6rem 1.25rem;color:var(--gray-300);font-size:.875rem;line-height:1.45;white-space:normal;transition:all var(--transition)}
.dropdown a:hover{color:var(--white);background:rgba(255,255,255,.06);padding-left:1.5rem}

/* --- Hamburger ------------------------------------------------ */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;z-index:1010}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--white);border-radius:2px;transition:all .3s ease;transform-origin:center}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* overlay */
.nav-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;
  opacity:0;visibility:hidden;transition:all .3s ease;
}
.nav-overlay.active{opacity:1;visibility:visible}

/* ==============================
   HERO
   ============================== */
.hero{
  position:relative;
  margin-top:calc(-1 * var(--header-h));padding-top:var(--header-h);
  min-height:100vh;min-height:100dvh;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:url('/assets/images/hero.jpg') center/cover no-repeat;
  overflow:hidden;
}

/* dark overlay for text readability */
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(15,25,35,.88) 0%,rgba(9,31,74,.8) 50%,rgba(12,54,120,.72) 100%);
  pointer-events:none;z-index:0;
}

/* bottom fade into next section */
.hero::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:120px;
  background:linear-gradient(to top,var(--gray-50),transparent);
  pointer-events:none;z-index:1;
}

.hero-content{position:relative;z-index:2;padding:3rem 1.5rem}
.hero-logo{width:160px;height:auto;margin:0 auto 2rem;filter:drop-shadow(0 4px 20px rgba(0,0,0,.3))}
.hero-title{
  font-size:clamp(1.5rem,4vw,2.75rem);color:var(--white);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;font-weight:800;
}
.hero-tagline{
  font-size:clamp(1rem,2.5vw,1.35rem);color:var(--gray-400);
  font-style:italic;margin-bottom:2.5rem;font-weight:300;
}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* scroll hint */
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  z-index:3;animation:hero-bounce 2s ease infinite;
}
@keyframes hero-bounce{
  0%,100%{transform:translateX(-50%) translateY(0);opacity:.5}
  50%{transform:translateX(-50%) translateY(10px);opacity:1}
}

/* ==============================
   BUTTONS
   ============================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.8rem 2rem;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  border-radius:999px;transition:all var(--transition);
}
.btn-primary{background:var(--red);color:var(--white)}
.btn-primary:hover{background:var(--red-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 15px rgba(237,27,36,.4)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3)}
.btn-outline:hover{border-color:var(--white);color:var(--white);transform:translateY(-2px)}
.btn-outline-light{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.28)}
.btn-outline-light:hover{background:rgba(255,255,255,.08);color:var(--white);border-color:rgba(255,255,255,.55);transform:translateY(-2px)}
.btn-dark{background:var(--dark);color:var(--white)}
.btn-dark:hover{background:var(--dark-800);color:var(--white);transform:translateY(-2px)}
.btn-outline-dark{background:transparent;color:var(--dark);border:1px solid rgba(15,25,35,.18)}
.btn-outline-dark:hover{border-color:var(--dark);color:var(--dark);transform:translateY(-2px)}

/* ==============================
   SECTIONS
   ============================== */
.section{padding:5rem 0}
.section-alt{background:var(--gray-50)}
.section-dark{
  background:linear-gradient(rgba(15,25,35,.93),rgba(15,25,35,.93)),url('/assets/images/hoop_blue_sky.jpg') center/cover no-repeat;
  color:var(--white);
}

.section-header{text-align:center;margin-bottom:3rem}
.section-header h2{
  font-size:clamp(1.5rem,3vw,2.25rem);text-transform:uppercase;letter-spacing:.03em;
  position:relative;display:inline-block;
}
.section-dark .section-header h2{color:var(--white)}
.section-header h2::after{content:"";display:block;width:60px;height:3px;background:var(--red);margin:.75rem auto 0;border-radius:2px}
.section-header p{color:var(--gray-500);margin-top:.75rem;font-size:1.05rem}
.section-dark .section-header p{color:var(--gray-400)}

.section-cta{text-align:center;margin-top:2.5rem}

/* ==============================
   NEWS CARDS
   ============================== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

.news-card{
  background:var(--white);border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:all var(--transition);display:flex;flex-direction:column;
}
.section-alt .news-card{box-shadow:var(--shadow-md)}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

.news-card-image{
  width:100%;height:200px;
  background:url('/assets/images/hoop.jpg') center/cover no-repeat;
  position:relative;overflow:hidden;
}
.news-card-image img{width:100%;height:100%;object-fit:cover}

.news-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.news-card-date{font-size:.8rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.news-card-title{font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:.5rem;line-height:1.3}
.news-card-title a{color:inherit}
.news-card-title a:hover{color:var(--blue)}
.news-card-excerpt{font-size:.9rem;color:var(--gray-500);line-height:1.5;margin-bottom:1rem;flex:1}
.news-card-link{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--red)}
.news-card-link:hover{color:var(--red-dark)}

/* ==============================
   ABOUT
   ============================== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-text h2{font-size:clamp(1.5rem,3vw,2rem);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1.25rem}
.about-text h2::after{content:"";display:block;width:60px;height:3px;background:var(--red);margin-top:.75rem;border-radius:2px}
.about-text p{color:var(--gray-600);margin-bottom:1rem;line-height:1.7}
.about-text .btn{margin-top:1rem}

.about-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.about-image img{width:100%;height:380px;object-fit:cover;display:block}

.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}
.about-stat{background:var(--dark);color:var(--white);border-radius:var(--radius-md);padding:1.5rem;text-align:center}
.about-stat-number{font-size:2rem;font-weight:800;color:var(--red);line-height:1}
.about-stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-top:.35rem;opacity:.7}

/* ==============================
   PROGRAMS
   ============================== */
.programs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}

.program-card{
  background:var(--dark-800);border-radius:var(--radius-md);padding:2rem 1.5rem;
  text-align:center;transition:all var(--transition);border:1px solid rgba(255,255,255,.06);
  display:block;color:var(--white);
}
.program-card:hover{background:var(--dark-700);color:var(--white);transform:translateY(-4px);border-color:var(--red)}

.program-icon{
  width:56px;height:56px;background:rgba(237,27,36,.12);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;
  transition:background var(--transition);
}
.program-card:hover .program-icon{background:rgba(237,27,36,.25)}

.program-card h3{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}
.program-card p{font-size:.85rem;opacity:.6;line-height:1.4}

/* ==============================
   SPONSORS
   ============================== */
.sponsors-grid{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:3rem}
.sponsor-placeholder{
  width:120px;height:60px;background:var(--gray-200);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--gray-400);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;
}

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .65s ease, transform .65s ease;
}

.reveal.reveal-visible{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion: reduce){
  .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }

  .btn{
    transition:none;
  }
}

/* ==============================
   HOMEPAGE V2
   ============================== */
.home-page{
  --home-gray-950:#171b22;
  --home-gray-900:#242b35;
  --home-gray-800:#3a4452;
  --home-gray-700:#586577;
  --home-gray-200:#dbe1e7;
  --home-gray-100:#ebeff3;
  --home-gray-050:#f5f7f9;
  background:
    radial-gradient(circle at top left, rgba(88,101,119,.22), transparent 24rem),
    radial-gradient(circle at top right, rgba(17,74,161,.12), transparent 20rem),
    linear-gradient(180deg, #cfd5dc 0%, #e1e6eb 18%, #f0f3f6 56%, #dde3e8 100%);
}

.home-page h1,
.home-page h2,
.home-page h3,
.home-page .btn{
  font-family:var(--font-display);
}

.home-page .btn{
  letter-spacing:.08em;
}

.home-scene{
  position:relative;
  padding:5.5rem 0;
}

.home-tag{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.55rem .95rem;
  border-radius:999px;
  background:rgba(88,101,119,.12);
  border:1px solid rgba(88,101,119,.18);
  color:var(--home-gray-900);
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;
  box-shadow:none;
}

.home-tag-light{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.12);
  color:var(--white);
}

.home-scene-intro .home-tag{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.14);
  color:var(--white);
}

.home-inline-link{
  color:var(--red);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
}

.home-scene:not(.home-scene-intro):not(.home-scene-closing) .home-inline-link{
  color:var(--red);
}

.home-scene:not(.home-scene-intro):not(.home-scene-closing) .home-inline-link:hover{
  color:var(--red-dark);
}

.home-scene-intro{
  margin-top:calc(-1 * var(--header-h));
  padding:calc(var(--header-h) + 3.2rem) 0 5rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.16), transparent 17rem),
    linear-gradient(122deg, rgba(23,27,34,.97) 8%, rgba(36,43,53,.94) 44%, rgba(17,74,161,.78) 78%, rgba(237,27,36,.16) 100%),
    url('/assets/images/hero.jpg') center/cover no-repeat;
}

.home-scene-intro::before{
  content:"";
  position:absolute;
  top:5rem;
  right:-8rem;
  width:28rem;
  height:28rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  box-shadow:0 0 0 4rem rgba(255,255,255,.03), 0 0 0 8rem rgba(255,255,255,.02);
  pointer-events:none;
}

.home-intro-marquee{
  display:flex;
  gap:2rem;
  font-family:var(--font-display);
  font-size:clamp(3.2rem, 10vw, 8rem);
  line-height:.85;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(255,255,255,.11);
  white-space:nowrap;
}

.home-intro-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr);
  gap:2.5rem;
  align-items:center;
  margin-top:1.2rem;
}

.home-intro-copy{
  color:var(--white);
  max-width:42rem;
}

.home-intro-copy h1{
  margin:1.2rem 0 1rem;
  font-size:clamp(3.6rem, 8vw, 7rem);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.home-intro-copy p{
  max-width:36rem;
  color:rgba(255,255,255,.82);
  font-size:1.1rem;
}

.home-intro-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin:2rem 0;
}

.home-intro-meter{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.home-meter-card{
  padding:1.15rem 1.2rem;
  border-radius:1.4rem;
  background:rgba(222,228,235,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  box-shadow:0 24px 56px rgba(15,18,24,.16);
}

.home-meter-card strong{
  display:block;
  font-family:var(--font-display);
  font-size:2rem;
  line-height:.9;
  text-transform:uppercase;
}

.home-meter-card span{
  display:block;
  margin-top:.45rem;
  color:rgba(255,255,255,.72);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.home-intro-poster{
  position:relative;
  min-height:38rem;
}

.home-poster-frame{
  position:absolute;
  overflow:hidden;
  border-radius:1.8rem;
  box-shadow:0 28px 70px rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.16);
  background:var(--home-gray-200);
}

.home-poster-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-poster-main{
  inset:0 5rem 4rem 0;
  transform:rotate(-4deg);
}

.home-poster-side{
  width:40%;
  height:15rem;
  top:1.4rem;
  right:0;
  transform:rotate(7deg);
}

.home-poster-stamp{
  position:absolute;
  left:-1.5rem;
  bottom:5rem;
  display:grid;
  gap:.25rem;
  padding:1rem 1.2rem;
  border-radius:1.2rem;
  background:var(--red);
  color:var(--white);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:700;
  transform:rotate(-8deg);
  box-shadow:0 20px 40px rgba(237,27,36,.35);
}

.home-poster-quote{
  position:absolute;
  right:1.25rem;
  bottom:0;
  max-width:18rem;
  padding:1.25rem;
  border-radius:1.4rem;
  background:rgba(235,239,244,.96);
  border:1px solid rgba(36,43,53,.08);
  color:var(--dark);
  box-shadow:0 24px 44px rgba(0,0,0,.18);
}

.home-poster-quote strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.4rem;
  line-height:.95;
  text-transform:uppercase;
  margin-bottom:.6rem;
}

.home-scene-playbook,
.home-scene-manifesto,
.home-scene-news,
.home-scene-partners{
  background:transparent;
}

.home-playbook-shell{
  display:grid;
  grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr);
  gap:2rem;
  align-items:center;
  padding:2.2rem;
  border-radius:2.2rem;
  background:linear-gradient(180deg, rgba(226,232,238,.78) 0%, rgba(214,221,228,.72) 100%);
  border:1px solid rgba(88,101,119,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}

.home-playbook-copy h2{
  margin:1rem 0;
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  line-height:.9;
  text-transform:uppercase;
}

.home-playbook-copy p{
  color:var(--gray-600);
  max-width:24rem;
  margin-bottom:1.25rem;
}

.home-court{
  position:relative;
  min-height:34rem;
  border-radius:2rem;
  background:linear-gradient(180deg, #1d232c 0%, #2b3440 56%, #3a4553 100%);
  overflow:hidden;
}

.home-court::before{
  content:"";
  position:absolute;
  inset:1.4rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:1.6rem;
}

.home-court::after{
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  width:15rem;
  height:15rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  transform:translate(-50%, -50%);
}

.home-court-stop{
  position:absolute;
  width:min(16rem, 42%);
  padding:1.2rem;
  border-radius:1.4rem;
  background:rgba(246,248,250,.95);
  border:1px solid rgba(36,43,53,.08);
  box-shadow:0 22px 45px rgba(0,0,0,.18);
}

.home-court-stop h3{
  margin:.7rem 0;
  font-size:1.4rem;
  line-height:.95;
  text-transform:uppercase;
}

.home-court-stop p{
  color:var(--gray-600);
  margin-bottom:1rem;
  font-size:.95rem;
}

.home-court-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.3rem;
  height:2.3rem;
  border-radius:50%;
  background:var(--blue-dark);
  color:var(--white);
  font-family:var(--font-display);
  font-size:.95rem;
}

.home-court-stop-a{top:2rem;left:2rem;transform:rotate(-3deg)}
.home-court-stop-b{top:50%;right:2rem;transform:translateY(-50%) rotate(3deg)}
.home-court-stop-c{left:3rem;bottom:2rem;transform:rotate(-2deg)}

.home-court-orbit{
  position:absolute;
  inset:50% auto auto 50%;
  width:19rem;
  height:19rem;
  transform:translate(-50%, -50%);
  border:1px dashed rgba(255,255,255,.22);
  border-radius:50%;
  display:grid;
  place-items:center;
}

.home-court-core{
  width:7.5rem;
  height:7.5rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  background:linear-gradient(180deg, #516174 0%, #243241 100%);
  color:var(--white);
  box-shadow:0 20px 50px rgba(17,74,161,.22);
}

.home-court-core span,
.home-court-core strong{
  display:block;
  font-family:var(--font-display);
  line-height:.88;
  text-transform:uppercase;
}

.home-court-core strong{font-size:1.25rem}

.home-manifesto-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:2.5rem;
  align-items:center;
}

.home-manifesto-poster{
  padding:1.5rem;
  border-radius:2rem;
  background:linear-gradient(180deg, rgba(224,230,236,.82) 0%, rgba(212,219,226,.76) 100%);
  border:1px solid rgba(88,101,119,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
  transform:rotate(-2deg);
}

.home-manifesto-banner{
  display:inline-flex;
  margin-bottom:1rem;
  padding:.55rem .85rem;
  border-radius:999px;
  background:var(--home-gray-900);
  color:var(--white);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  font-weight:700;
}

.home-manifesto-collage{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:1rem;
}

.home-collage-panel{
  overflow:hidden;
  border-radius:1.5rem;
  box-shadow:0 18px 42px rgba(23,27,34,.14);
}

.home-collage-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-collage-panel-tall{
  grid-row:span 2;
  min-height:29rem;
}

.home-collage-panel-logo{
  min-height:12rem;
  display:grid;
  place-items:center;
  padding:1.6rem;
  background:linear-gradient(135deg, #1d232d 0%, #314255 60%, #1a5ec9 100%);
}

.home-collage-panel-logo img{
  width:72%;
  height:auto;
  object-fit:contain;
  border-radius:1rem;
}

.home-collage-panel-wide{
  min-height:16rem;
}

.home-manifesto-copy h2{
  margin:1rem 0 1rem;
  font-size:clamp(2.5rem, 5vw, 4.8rem);
  line-height:.9;
  text-transform:uppercase;
}

.home-manifesto-copy p{
  color:var(--gray-600);
  max-width:38rem;
  margin-bottom:1rem;
}

.home-manifesto-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin:1.7rem 0;
}

.home-manifesto-stats article{
  padding:1.1rem;
  border-radius:1.3rem;
  background:rgba(248,249,251,.96);
  border:1px solid rgba(36,43,53,.08);
  box-shadow:0 18px 40px rgba(23,27,34,.08);
}

.home-manifesto-stats strong{
  display:block;
  font-family:var(--font-display);
  font-size:2rem;
  line-height:.9;
  text-transform:uppercase;
}

.home-manifesto-stats span{
  display:block;
  margin-top:.4rem;
  color:var(--gray-500);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem;
}

.home-manifesto-links{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

.home-chip-link{
  display:inline-flex;
  align-items:center;
  padding:.75rem 1rem;
  border-radius:999px;
  background:rgba(88,101,119,.12);
  border:1px solid rgba(88,101,119,.12);
  color:var(--blue-darker);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.8rem;
}

.home-chip-link:hover{
  color:var(--white);
  background:var(--home-gray-900);
  border-color:var(--home-gray-900);
}

.home-news-head{
  max-width:46rem;
  margin:0 auto 2.5rem;
  text-align:center;
}

.home-news-head h2{
  margin:1rem 0;
  font-size:clamp(2.5rem, 6vw, 4.6rem);
  line-height:.9;
  text-transform:uppercase;
}

.home-news-head p{
  color:var(--gray-600);
}

.home-news-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.4rem;
}

.home-news-card{
  overflow:hidden;
  border-radius:1.8rem;
  background:rgba(241,245,248,.92);
  color:var(--dark);
  border:1px solid rgba(88,101,119,.14);
  box-shadow:0 18px 38px rgba(23,27,34,.08);
}

.home-news-card-media{
  display:block;
}

.home-news-card-media img{
  width:100%;
  height:15rem;
  object-fit:cover;
}

.home-news-card-body{
  padding:1.45rem;
}

.home-news-date{
  display:inline-flex;
  padding:.42rem .75rem;
  border-radius:999px;
  background:rgba(88,101,119,.14);
  color:var(--home-gray-900);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.home-news-card-body h3,
.home-partners-copy h2,
.home-closing-shell h2{
  margin:.95rem 0 .8rem;
  font-size:clamp(1.45rem, 3vw, 2.3rem);
  line-height:.94;
  text-transform:uppercase;
}

.home-news-card-body h3 a{
  color:inherit;
}

.home-news-card-body p{
  color:var(--gray-600);
  margin-bottom:1rem;
}

.home-news-actions{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}

.home-partners-shell{
  display:grid;
  grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr);
  gap:2rem;
  align-items:start;
  padding:2rem;
  border-radius:2rem;
  background:linear-gradient(180deg, rgba(225,231,237,.8) 0%, rgba(213,220,227,.74) 100%);
  border:1px solid rgba(88,101,119,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}

.home-partners-copy p{
  color:var(--gray-600);
  max-width:24rem;
}

.home-partner-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.home-partner-chip{
  min-height:5.25rem;
  padding:1rem;
  border-radius:1.1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:rgba(88,101,119,.08);
  border:1px dashed rgba(88,101,119,.28);
  color:var(--home-gray-900);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}

.home-scene-closing{
  background:linear-gradient(135deg, #181d25 0%, #262f3b 52%, #143f7a 100%);
  color:var(--white);
}

.home-closing-shell{
  max-width:58rem;
  margin:0 auto;
  padding:2.5rem;
  border-radius:2rem;
  text-align:center;
  background:rgba(219,225,231,.1);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
}

.home-closing-shell h2{
  color:var(--white);
}

.home-closing-shell p{
  color:rgba(255,255,255,.72);
  margin-bottom:1.2rem;
}

.home-final-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
}

/* ==============================
   NEWS ARCHIVE
   ============================== */
.news-archive{
  padding:4.5rem 0 5.5rem;
  background:
    radial-gradient(circle at top left, rgba(88,101,119,.18), transparent 22rem),
    radial-gradient(circle at top right, rgba(17,74,161,.08), transparent 18rem),
    linear-gradient(180deg, #d7dde3 0%, #eef2f5 100%);
}

.news-archive .container{
  max-width:1260px;
}

.news-archive-hero{
  max-width:48rem;
  margin:0 auto 2.75rem;
  text-align:center;
}

.news-archive-hero .home-tag{
  margin-bottom:1rem;
}

.news-archive-hero p:last-child{
  color:var(--gray-600);
  font-size:1.05rem;
}

.news-archive-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.5rem;
}

.news-archive-card{
  overflow:hidden;
  border-radius:1.8rem;
  background:linear-gradient(180deg, rgba(231,236,241,.9) 0%, rgba(219,226,232,.84) 100%);
  border:1px solid rgba(88,101,119,.14);
  box-shadow:0 18px 38px rgba(23,27,34,.08);
}

.news-archive-card-media{
  display:block;
}

.news-archive-card-media img{
  width:100%;
  height:16rem;
  object-fit:cover;
}

.news-archive-card-body{
  padding:1.45rem;
}

.news-archive-card-body h2{
  margin:.95rem 0 .8rem;
  font-family:var(--font-display);
  font-size:clamp(1.45rem, 3vw, 2.1rem);
  line-height:.94;
  text-transform:uppercase;
}

.news-archive-card-body h2 a{
  color:var(--dark);
}

.news-archive-card-body p{
  color:var(--gray-600);
  margin-bottom:1rem;
}

.news-archive-empty{
  grid-column:1 / -1;
  padding:2.25rem;
  border-radius:1.8rem;
  text-align:center;
  background:linear-gradient(180deg, rgba(231,236,241,.9) 0%, rgba(219,226,232,.84) 100%);
  border:1px solid rgba(88,101,119,.14);
  box-shadow:0 18px 38px rgba(23,27,34,.08);
}

.news-archive-empty h2{
  margin-bottom:.8rem;
  font-family:var(--font-display);
  font-size:clamp(1.8rem, 4vw, 2.8rem);
  text-transform:uppercase;
}

.news-archive-empty p{
  color:var(--gray-600);
}

.news-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:2.25rem;
}

.news-pagination-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:8rem;
  padding:.8rem 1.1rem;
  border-radius:999px;
  background:var(--home-gray-900);
  color:var(--white);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}

.news-pagination-link:hover{
  color:var(--white);
  background:var(--blue-dark);
}

.news-pagination-link.is-disabled{
  background:rgba(88,101,119,.12);
  color:var(--gray-500);
}

.news-pagination-status{
  color:var(--gray-600);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}

/* ==============================
   NEWS ARTICLE
   ============================== */
.page-news-article{
  background:#e7edf1;
}

.page-news-article .site-header{
  background:rgba(231,237,241,.84);
  border-bottom:1px solid rgba(15,25,35,.08);
  box-shadow:none;
  backdrop-filter:blur(16px);
}

.page-news-article .site-logo img{
  box-shadow:none;
}

.page-news-article .site-nav>ul>li>a{
  color:var(--dark-600);
}

.page-news-article .site-nav>ul>li>a:hover,
.page-news-article .site-nav>ul>li.active>a{
  color:var(--dark);
  background:rgba(15,25,35,.06);
}

.page-news-article .nav-toggle span{
  background:var(--dark);
}

.news-article{
  padding:5rem 0 6rem;
  background:
    radial-gradient(circle at top left, rgba(17,74,161,.08), transparent 25rem),
    radial-gradient(circle at top right, rgba(88,101,119,.12), transparent 24rem),
    linear-gradient(180deg, rgba(231,237,241,0) 0%, rgba(231,237,241,.96) 7rem, #dde5ea 100%);
}

.news-article-hero{
  max-width:980px;
  margin:0 auto;
  padding-top:1.4rem;
}

.news-article-shell-missing{
  max-width:760px;
  text-align:center;
}

.news-article-back{
  margin-bottom:1rem;
}

.news-article-back a{
  color:var(--blue-dark);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.8rem;
}

.news-article-hero-meta{
  display:flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap;
  margin-bottom:1.35rem;
}

.news-article-hero .home-tag{
  background:transparent;
  border-color:rgba(15,25,35,.12);
  color:var(--dark-600);
  padding:.45rem .75rem;
  letter-spacing:.14em;
}

.news-article-date{
  color:var(--gray-500);
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.news-article-header{
  max-width:860px;
}

.news-article-header h1,
.news-article-missing h1{
  max-width:11ch;
  margin-bottom:1rem;
  font-family:var(--font-display);
  font-size:clamp(3.4rem, 8vw, 6.4rem);
  font-weight:800;
  line-height:.9;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.news-article-meta{
  margin-bottom:.85rem;
}

.news-article-excerpt{
  max-width:42rem;
  color:var(--dark-600);
  font-size:1.12rem;
  line-height:1.78;
}

.news-article-media{
  margin:2.9rem 0 0;
}

.news-article-media .container{
  max-width:1320px;
}

.news-article-media img{
  display:block;
  width:100%;
  max-height:38rem;
  object-fit:cover;
  border-radius:.9rem;
}

.news-article-layout{
  display:grid;
  grid-template-columns:minmax(11rem, 13rem) minmax(0, 1fr);
  gap:3.5rem;
  max-width:1100px;
  margin:3.25rem auto 0;
  align-items:start;
}

.news-article-rail{
  position:sticky;
  top:calc(var(--header-h) + 2rem);
  align-self:start;
}

.news-article-rail-kicker{
  margin-bottom:1.1rem;
  color:var(--gray-500);
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.news-article-back-rail{
  margin-bottom:1rem;
}

.news-article-rail-block{
  display:grid;
  gap:.3rem;
  padding:1rem 0;
  border-top:1px solid rgba(15,25,35,.12);
}

.news-article-rail-label{
  color:var(--gray-500);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.news-article-rail-value{
  color:var(--dark);
  font-size:.98rem;
  line-height:1.5;
}

.news-article-body{
  max-width:72ch;
  font-family:var(--font);
  font-size:1.18rem;
  line-height:1.82;
  color:#223140;
}

.news-article-body > * + *{
  margin-top:1.35rem;
}

.news-article-body h2,
.news-article-body h3{
  margin-top:3rem;
  color:var(--dark);
  font-family:var(--font-display);
  font-weight:700;
  line-height:.95;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.news-article-body h2{
  font-size:clamp(2rem, 4vw, 3.05rem);
}

.news-article-body h3{
  font-size:clamp(1.55rem, 3vw, 2.2rem);
}

.news-article-body p{
  color:#223140;
}

.news-article-body ul,
.news-article-body ol{
  margin-left:1.35rem;
  color:#223140;
  list-style:revert;
}

.news-article-body li + li{
  margin-top:.55rem;
}

.news-article-body blockquote{
  margin:2.4rem 0;
  padding:1.5rem 0;
  border-top:1px solid rgba(15,25,35,.18);
  border-bottom:1px solid rgba(15,25,35,.18);
  color:var(--dark);
  font-size:1.45rem;
  font-style:italic;
  line-height:1.5;
}

.news-article-body a{
  color:var(--blue-dark);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  font-weight:600;
}

.news-article-body img{
  width:100%;
  height:auto;
  margin:1rem 0;
  border-radius:.65rem;
  box-shadow:none;
}

.news-article-body p:empty{
  display:none;
}

.news-article-actions{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.8rem;
}

/* ==============================
   PLACEHOLDER PAGES
   ============================== */
.placeholder-home-page .home-scene-intro{
  min-height:calc(100vh - var(--header-h));
  display:flex;
  align-items:center;
}

.placeholder-home-page .home-intro-grid{
  margin-top:0;
}

.placeholder-home-page .home-intro-copy h1{
  max-width:12ch;
}

.placeholder-home-page .home-intro-copy p{
  max-width:34rem;
}

.placeholder-home-page .home-intro-poster{
  min-height:32rem;
}

@media (prefers-reduced-motion: reduce){
  .home-chip-link,
  .home-poster-main,
  .home-poster-side,
  .home-manifesto-poster{
    transition:none;
    transform:none;
  }
}

/* ==============================
   FOOTER
   ============================== */
.site-footer{background:var(--dark);color:var(--gray-400);padding:4rem 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem}

.footer-brand p{margin-top:1rem;font-style:italic;font-size:.9rem;line-height:1.5}
.footer-logo{height:56px;width:auto}

.site-footer h4{
  color:var(--white);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem;
}
.site-footer h4::after{content:"";display:block;width:30px;height:2px;background:var(--red);margin-top:.6rem}

.footer-links li{margin-bottom:.6rem}
.footer-links a{color:var(--gray-400);font-size:.9rem;transition:all var(--transition)}
.footer-links a:hover{color:var(--white);padding-left:4px}

.footer-contact p{font-size:.9rem;margin-bottom:.5rem;line-height:1.5}
.footer-contact a{color:var(--gray-400)}
.footer-contact a:hover{color:var(--white)}

.footer-bottom{
  margin-top:3rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.08);
  text-align:center;font-size:.8rem;
}

/* ==============================
   CMS CONTENT (news pages)
   ============================== */
.site-main>article:not(.news-article),
.site-main>section:not(.hero):not(.section):not(.news-archive):not(.news-article) {
  max-width:760px;margin:2rem auto;padding:2rem 1.5rem;line-height:1.7;
}
.site-main>article:not(.news-article) h1{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:.5rem}
.site-main>article:not(.news-article) a{color:var(--blue)}
.site-main>article:not(.news-article) img{border-radius:var(--radius-md);margin:1.5rem 0}

/* ==============================
   RESPONSIVE
   ============================== */
@media(max-width:1024px){
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .programs-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .home-intro-grid,
  .home-playbook-shell,
  .home-manifesto-grid,
  .home-partners-shell{grid-template-columns:1fr}
  .home-intro-meter,
  .home-manifesto-stats,
  .home-news-row,
  .home-partner-grid,
  .news-archive-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .home-intro-poster{min-height:34rem}
  .home-court{min-height:40rem}
  .news-article-header h1,
  .news-article-missing h1{max-width:12ch}
  .news-article-layout{grid-template-columns:minmax(10rem, 11.5rem) minmax(0, 1fr);gap:2.4rem}
}

@media(max-width:768px){
  :root{--header-h:64px}

  .nav-toggle{display:flex}

  .page-news-article .site-nav{
    background:rgba(231,237,241,.98);
  }
  .page-news-article .site-nav>ul>li>a{
    color:var(--dark);
    border-bottom:1px solid rgba(15,25,35,.08);
  }
  .page-news-article .dropdown a{
    color:var(--dark-600);
    border-bottom:1px solid rgba(15,25,35,.06);
  }

  .site-nav{
    position:fixed;top:0;right:0;bottom:0;width:300px;max-width:85vw;height:100dvh;max-height:100dvh;
    background:var(--dark);transform:translateX(100%);transition:transform .3s ease;
    padding:calc(var(--header-h) + 1rem) 1.5rem 2rem;overflow-y:auto;z-index:1005;
    box-shadow:-4px 0 20px rgba(0,0,0,.3);
    overscroll-behavior:contain;
  }
  .site-nav.open{transform:translateX(0)}
  .site-nav>ul{
    display:block;
    width:100%;
    padding-bottom:2rem;
  }
  .site-nav>ul>li{display:block;width:100%;margin:0}
  .site-nav>ul>li>a{padding:.75rem 0;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .has-dropdown>a::after{float:right;margin-top:4px}

  .dropdown{
    position:static;display:block;opacity:1;visibility:visible;transform:none;
    background:transparent;box-shadow:none;padding:0 0 0 1rem;
    max-width:none;width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .dropdown li{width:100%}
  .has-dropdown.open .dropdown{max-height:24rem}
  .has-dropdown.open>a::after{transform:rotate(180deg)}
  .dropdown a{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.03)}
  .dropdown a:hover{padding-left:.5rem}

  .hero-logo{width:120px}
  .hero-actions{flex-direction:column;align-items:center}
  .hero-actions .btn{width:100%;max-width:250px}

  .news-grid{grid-template-columns:1fr}
  .programs-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .section{padding:3rem 0}
  .about-stats{grid-template-columns:repeat(2,1fr)}
  .site-logo img{height:42px}

  .home-scene{padding:4rem 0}
  .home-scene-intro{padding:calc(var(--header-h) + 2rem) 0 4rem}
  .home-intro-marquee{font-size:clamp(2.2rem, 13vw, 4.6rem);gap:1rem}
  .home-intro-grid{gap:1.5rem}
  .home-intro-copy h1,
  .home-playbook-copy h2,
  .home-manifesto-copy h2,
  .home-news-head h2,
  .home-partners-copy h2,
  .home-closing-shell h2{font-size:clamp(2.2rem, 14vw, 4rem)}
  .home-intro-copy p,
  .home-playbook-copy p,
  .home-manifesto-copy p,
  .home-news-head p,
  .home-partners-copy p,
  .home-closing-shell p{font-size:1rem}
  .home-intro-actions{flex-direction:column;align-items:stretch}
  .home-intro-actions .btn{width:100%}
  .home-intro-meter,
  .home-manifesto-stats,
  .home-partner-grid,
  .home-news-row,
  .news-archive-grid{grid-template-columns:1fr}
  .home-intro-poster{min-height:auto}
  .home-poster-frame{position:relative}
  .home-poster-main{inset:auto;height:20rem;transform:rotate(-2deg)}
  .home-poster-side{
    width:78%;
    height:10rem;
    top:auto;
    right:auto;
    margin:-2rem 0 0 auto;
    transform:rotate(4deg);
  }
  .home-poster-stamp{
    position:relative;
    left:auto;
    bottom:auto;
    width:max-content;
    margin-top:1rem;
  }
  .home-poster-quote{
    position:relative;
    right:auto;
    bottom:auto;
    max-width:none;
    margin-top:1rem;
  }
  .home-playbook-shell,
  .home-manifesto-poster,
  .home-partners-shell,
  .home-closing-shell{padding:1.35rem}
  .home-court{
    min-height:auto;
    display:grid;
    gap:1rem;
    padding:1.2rem;
  }
  .home-court::before{inset:.9rem}
  .home-court::after{
    width:10rem;
    height:10rem;
  }
  .home-court-stop{
    position:relative;
    width:auto;
  }
  .home-court-stop-a,
  .home-court-stop-b,
  .home-court-stop-c{
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    transform:none;
  }
  .home-court-orbit{
    position:relative;
    inset:auto;
    width:12rem;
    height:12rem;
    margin:0 auto;
    transform:none;
  }
  .home-manifesto-poster{transform:none}
  .home-manifesto-collage{grid-template-columns:1fr}
  .home-collage-panel-tall{grid-row:auto;min-height:20rem}
  .home-collage-panel-wide{min-height:12rem}
  .home-news-card-media img{height:14rem}
  .news-archive{padding:3.5rem 0 4.5rem}
  .news-archive-card-media img{height:14rem}
  .news-pagination{align-items:stretch}
  .news-pagination-link{min-width:0;width:100%}
  .news-article{padding:3rem 0 4rem}
  .news-article .container{padding:0 1rem}
  .news-article-hero{padding-top:1rem}
  .news-article-hero-meta{gap:.7rem;margin-bottom:1.05rem}
  .news-article-header h1,
  .news-article-missing h1{
    max-width:none;
    font-size:clamp(2.6rem, 15vw, 4rem);
  }
  .news-article-excerpt{font-size:1.02rem;line-height:1.72}
  .news-article-media{margin-top:2rem}
  .news-article-media .container{padding:0}
  .news-article-media img{
    max-height:22rem;
    border-radius:0;
  }
  .news-article-layout{
    grid-template-columns:1fr;
    gap:1.75rem;
    margin-top:2rem;
  }
  .news-article-rail{
    position:static;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1rem;
    padding-bottom:1.1rem;
    border-bottom:1px solid rgba(15,25,35,.12);
  }
  .news-article-rail-kicker{
    grid-column:1 / -1;
    margin-bottom:0;
  }
  .news-article-back-rail{
    grid-column:1 / -1;
    margin-bottom:0;
  }
  .news-article-rail-block{
    padding:.85rem 0 0;
  }
  .news-article-body{
    max-width:none;
    font-size:1.04rem;
    line-height:1.78;
  }
  .news-article-body blockquote{
    font-size:1.22rem;
  }
  .news-article-actions{flex-direction:column}
  .news-article-actions .btn{width:100%}
  .home-final-actions{flex-direction:column}
  .home-final-actions .btn{width:100%}
  .placeholder-home-page .home-scene-intro{
    min-height:auto;
  }
}

@media(max-width:480px){
  .news-article{padding:2.6rem 0 3.5rem}
  .news-article .container{padding:0 .85rem}
  .news-article-header h1,
  .news-article-missing h1{font-size:clamp(2.15rem, 13vw, 3rem)}
  .news-article-hero-meta{align-items:flex-start}
  .news-article-date{font-size:.75rem}
  .news-article-media{margin-top:1.65rem}
  .news-article-media img{max-height:16rem}
  .news-article-rail{
    grid-template-columns:1fr;
    gap:.55rem;
  }
  .news-article-excerpt,
  .news-article-body{font-size:1rem}
  .news-article-body h2{font-size:clamp(1.65rem, 8vw, 2.35rem)}
  .news-article-body h3{font-size:clamp(1.35rem, 7vw, 1.85rem)}
  .news-article-body blockquote{font-size:1.08rem}
}
