
/* NSSF KAMPALA HILLS RUN — COMPLETE V4 STYLESHEET
   All selectors are scoped to .hills-run-modern.
   Site navigation, default NSSF font and footer stay unchanged.
*/
.hills-run-modern {
  --run-blue:#005ca9; --run-navy:#073767; --run-deep:#062e5a;
  --run-hero-blue:#245de8; --run-yellow:#ffeb00; --run-green:#8cc63f;
  --run-text:#0b3158; --run-muted:#526b81; --run-border:#dce8f4;
  --run-pale:#f0f7ff; --run-shadow:0 20px 52px rgba(0,48,105,.09);
  background:#fff; color:var(--run-text); width:100%; overflow:hidden;
  font-family:inherit; font-kerning:normal; font-feature-settings:'kern' 1;
}
.hills-run-modern *, .hills-run-modern *::before, .hills-run-modern *::after {box-sizing:border-box}
.hills-run-modern img {display:block; max-width:100%}
.hills-run-modern a {text-decoration:none}
.hills-run-modern button {font:inherit;cursor:pointer}
.hills-run-modern .run-container {width:min(1240px,calc(100% - 48px));margin-inline:auto;position:relative}
.hills-run-modern section[id] {scroll-margin-top:96px}
.hills-run-modern p {margin-top:0}
.hills-run-modern .run-eyebrow {display:block;margin:0 0 13px;color:var(--run-blue);font-size:12px;letter-spacing:.15em;font-weight:800;line-height:1.35;text-transform:uppercase}
.hills-run-modern .run-section-heading {margin-bottom:31px}
.hills-run-modern .run-section-heading h2,
.hills-run-modern .run-about h2,
.hills-run-modern .run-package__title,
.hills-run-modern .run-training h2,
.hills-run-modern .run-faqs h2 {margin:0;color:var(--run-deep);font-family:inherit;font-size:clamp(34px,3.5vw,54px);font-weight:800;line-height:1.15;letter-spacing:0;word-spacing:normal;font-kerning:normal}
.hills-run-modern .run-arrow {display:inline-block;transition:transform .22s ease}
.hills-run-modern a:hover .run-arrow {transform:translateX(6px)}
.hills-run-modern a:focus-visible,.hills-run-modern button:focus-visible {outline:3px solid #ffeb00;outline-offset:4px}
.hills-run-modern .run-btn {display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:0 23px;border-radius:30px;font-size:14px;font-weight:800;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.hills-run-modern .run-btn:hover {transform:translateY(-3px)}
.hills-run-modern .run-btn--outline-blue {color:var(--run-blue);border:2px solid var(--run-blue);background:#fff}
.hills-run-modern .run-btn--outline-blue:hover {background:var(--run-blue);color:#fff}

/* HERO — uncropped image in natural document flow.
   The desktop blue safe area keeps faces clear of the site navigation. */
.hills-run-modern .run-hero--tribe {padding:0;background:#fff}
.hills-run-modern .run-tribe-hero {display:grid;position:relative;isolation:isolate;background:var(--run-hero-blue);width:100%}
.hills-run-modern .run-tribe-hero__media {grid-area:1 / 1;display:block;width:100%;height:auto;margin:0;padding:56px 0 0;line-height:0;background:var(--run-hero-blue);z-index:0}
.hills-run-modern .run-tribe-hero__media img {display:block!important;width:100%!important;height:auto!important;max-height:none!important;max-width:100%!important;object-fit:contain!important;object-position:center top!important;transform:none!important;clip-path:none!important;position:static!important}
.hills-run-modern .run-tribe-hero__overlay {grid-area:1 / 1;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(29,77,217,.97) 0%,rgba(29,77,217,.92) 20%,rgba(29,77,217,.67) 37%,rgba(29,77,217,.24) 57%,transparent 75%)}
.hills-run-modern .run-tribe-hero__inner {grid-area:1 / 1;z-index:2;width:min(1280px,calc(100% - 56px));margin:auto;align-self:stretch}
.hills-run-modern .run-tribe-hero__content {display:flex;flex-direction:column;justify-content:center;width:49%;height:100%;padding:46px 0 50px}
.hills-run-modern .run-tribe-hero__eyebrow {margin:0 0 20px;color:#fff;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;line-height:1.35}
.hills-run-modern .run-tribe-hero__strap {align-self:flex-start;max-width:100%;padding:10px 16px;border-radius:10px 20px 10px 20px;background:var(--run-yellow);color:#173b9c;font-family:'Anton',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(16px,1.25vw,22px);line-height:1.15;box-shadow:5px 6px 0 rgba(9,38,135,.9);transform:rotate(-2deg);margin-bottom:20px}
.hills-run-modern .run-tribe-hero__title {display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0 0 24px;max-width:100%;font-family:'Anton',Impact,'Arial Narrow',sans-serif}
.hills-run-modern .run-tribe-hero__title-line {display:block;color:var(--run-yellow);font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-size:clamp(44px,4.3vw,77px);line-height:1.035;letter-spacing:0;font-weight:400;text-transform:uppercase;white-space:nowrap;text-shadow:5px 6px 0 #173a9c}
.hills-run-modern .run-tribe-hero__description {max-width:450px;margin:0 0 24px;color:#fff;font-size:16px;line-height:1.55}
.hills-run-modern .run-tribe-hero__description p {margin:0}
.hills-run-modern .run-tribe-hero__actions {display:flex;flex-wrap:wrap;gap:15px}
.hills-run-modern .run-tribe-btn {display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;min-width:205px;padding:0 24px;border:3px solid var(--run-yellow);border-radius:16px;font-family:'Anton',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:18px;line-height:1.2;box-shadow:6px 7px 0 #153aa5;transition:transform .24s ease,background .24s ease,box-shadow .24s ease,color .24s ease}
.hills-run-modern .run-tribe-btn .run-arrow {font-family:Arial,sans-serif;font-size:23px}
.hills-run-modern .run-tribe-btn:hover {transform:translateY(-5px);box-shadow:7px 12px 0 #153aa5}
.hills-run-modern .run-tribe-btn:active {transform:translateY(1px);box-shadow:3px 3px 0 #153aa5}
.hills-run-modern .run-tribe-btn--primary {background:var(--run-yellow);color:#123889}
.hills-run-modern .run-tribe-btn--primary:hover {background:#fff48a;color:#123889}
.hills-run-modern .run-tribe-btn--secondary {background:rgba(10,41,145,.55);color:var(--run-yellow)}
.hills-run-modern .run-tribe-btn--secondary:hover {background:var(--run-yellow);color:#123889}

/* RACE DETAILS — larger typography; clean blue accents, no green bars */
.hills-run-modern .run-tribe-details {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;z-index:4;width:min(1160px,calc(100% - 10px));margin:-43px auto 0;background:#fff;border-radius:24px;border:1px solid var(--run-border);overflow:hidden;box-shadow:0 20px 52px rgba(8,57,111,.15)}
.hills-run-modern .run-tribe-detail {display:flex;align-items:center;gap:18px;min-width:0;min-height:145px;padding:29px 24px;border-right:1px solid var(--run-border);border-top:0;transition:background .2s ease}
.hills-run-modern .run-tribe-detail:hover {background:#f3f9ff}
.hills-run-modern .run-tribe-detail:last-child {border-right:0}
.hills-run-modern .run-tribe-detail__icon {display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;border:1px solid #d8eafa;border-radius:19px;color:var(--run-blue);background:var(--run-pale)}
.hills-run-modern .run-tribe-detail__icon svg {width:32px;height:32px}
.hills-run-modern .run-tribe-detail__copy {min-width:0}
.hills-run-modern .run-tribe-detail__label {display:block;margin-bottom:8px;color:var(--run-blue);font-size:11px;letter-spacing:.1em;font-weight:800;text-transform:uppercase;line-height:1.25}
.hills-run-modern .run-tribe-detail strong {display:block;color:var(--run-deep);font-size:clamp(17px,1.42vw,23px);font-weight:800;line-height:1.23;overflow-wrap:anywhere}
.hills-run-modern .run-tribe-detail__meta {display:block;margin-top:7px;font-size:14px;line-height:1.4;color:var(--run-muted)}

/* ABOUT */
.hills-run-modern .run-about {padding:110px 0 76px}
.hills-run-modern .run-about__grid {display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}
.hills-run-modern .run-about__content h2 {margin:0 0 19px}
.hills-run-modern .run-about__body {margin-bottom:28px;color:var(--run-muted);font-size:17px;line-height:1.75}
.hills-run-modern .run-about__body p {margin:0 0 14px}
.hills-run-modern .run-about__visual {position:relative;margin:0;aspect-ratio:8/5;border-radius:21px;overflow:hidden;background:var(--run-pale);box-shadow:var(--run-shadow)}
.hills-run-modern .run-about__visual img {height:100%;width:100%;object-fit:cover}
.hills-run-modern .run-about__caption {position:absolute;bottom:22px;left:22px;max-width:78%;padding:13px 17px;background:rgba(3,34,76,.86);border-left:4px solid var(--run-green);color:#fff;font-size:14px;font-weight:800;line-height:1.3}

/* IMPACT — OPTION 3 / SIGNATURE SPLIT (no green lines) */
.hills-run-modern .run-impact--signature {padding:75px 0 88px;background:#fff}
.hills-run-modern .run-impact__heading {display:flex;align-items:end;justify-content:space-between;gap:32px;margin:0 0 28px}
.hills-run-modern .run-impact__heading-main {min-width:0;max-width:820px}
.hills-run-modern .run-impact__heading h2 {margin:0;color:var(--run-deep);font-family:inherit;font-size:clamp(38px,4.2vw,62px);font-weight:800;line-height:1.10;letter-spacing:0;word-spacing:normal;font-kerning:normal}
.hills-run-modern .run-impact__intro {max-width:275px;flex:0 0 auto;margin:0 0 3px;color:var(--run-muted);font-size:15px;line-height:1.6}
.hills-run-modern .run-impact__signature {display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:16px;min-height:365px}
.hills-run-modern .run-impact__signature--single {grid-template-columns:1fr}
.hills-run-modern .run-impact__featured {position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:365px;overflow:hidden;padding:38px;border-radius:22px;color:#fff;background:#092f5d}
.hills-run-modern .run-impact__featured::before {content:"";position:absolute;right:-150px;bottom:-230px;z-index:-1;width:490px;height:490px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 45px rgba(255,255,255,.04),0 0 0 105px rgba(255,255,255,.025);pointer-events:none}
.hills-run-modern .run-impact__featured-overline {display:block;color:#b9d9f5;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;overflow-wrap:anywhere}
.hills-run-modern .run-impact__featured-value {display:block;max-width:100%;color:#fff;font-size:clamp(76px,8.2vw,142px);font-weight:800;line-height:1.02;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.hills-run-modern .run-impact__featured-value.is-long {font-size:clamp(62px,6.3vw,96px)}
.hills-run-modern .run-impact__featured-caption {max-width:375px;margin:0;color:#f2f8ff;font-size:clamp(19px,1.85vw,25px);font-weight:650;line-height:1.25}
.hills-run-modern .run-impact__mosaic {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.hills-run-modern .run-impact__mosaic--one {grid-template-columns:1fr;grid-template-rows:1fr}
.hills-run-modern .run-impact__mosaic--two {grid-template-rows:1fr}
.hills-run-modern .run-impact__tile {display:flex;flex-direction:column;justify-content:space-between;gap:9px;min-width:0;min-height:173px;padding:27px 24px;border-radius:20px;background:#eaf4ff}
.hills-run-modern .run-impact__tile:nth-child(2) {background:#f1f5fc}
.hills-run-modern .run-impact__tile:nth-child(3) {background:#eff6ff}
.hills-run-modern .run-impact__tile--wide {grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:27px;row-gap:8px}
.hills-run-modern .run-impact__tile-index {display:block;color:#6397c5;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.11em;text-transform:uppercase}
.hills-run-modern .run-impact__tile-value {display:block;min-width:0;color:var(--run-blue);font-size:clamp(42px,4.5vw,68px);font-weight:800;line-height:1.06;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.hills-run-modern .run-impact__tile-value.is-long {font-size:clamp(32px,3.6vw,52px)}
.hills-run-modern .run-impact__tile-label {display:block;color:var(--run-deep);font-size:clamp(17px,1.5vw,20px);font-weight:650;line-height:1.25}
.hills-run-modern .run-impact__tile--wide .run-impact__tile-label {max-width:310px}

/* TVC + COUNTDOWN */
.hills-run-modern .run-media {padding:75px 0 80px}
.hills-run-modern .run-media__grid {display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.hills-run-modern .run-tvc {display:block;position:relative;width:100%;min-height:350px;padding:0;border:0;border-radius:22px;overflow:hidden;color:#fff;background:var(--run-navy);text-align:left;box-shadow:var(--run-shadow)}
.hills-run-modern .run-tvc img {width:100%;height:100%;min-height:350px;object-fit:cover;position:absolute;inset:0;transition:transform .4s ease}
.hills-run-modern button.run-tvc:hover img {transform:scale(1.035)}
.hills-run-modern .run-tvc__overlay {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;position:absolute;inset:0;padding:24px;background:linear-gradient(180deg,rgba(0,25,60,.05),rgba(0,24,58,.81));text-align:center}
.hills-run-modern .run-tvc__play {display:grid;place-items:center;width:82px;height:82px;border:3px solid #fff;border-radius:50%;color:#fff;transition:transform .2s ease,background .2s ease}
.hills-run-modern .run-tvc__play svg {width:32px;height:32px;margin-left:4px}
.hills-run-modern button.run-tvc:hover .run-tvc__play {transform:scale(1.09);background:rgba(255,255,255,.2)}
.hills-run-modern .run-tvc__copy strong {display:block;color:#fff;font-size:clamp(23px,2vw,32px);font-weight:800;line-height:1.22;letter-spacing:0}
.hills-run-modern .run-tvc__copy span {display:block;margin-top:7px;color:#e8f2ff;font-size:16px;line-height:1.5}
.hills-run-modern .run-countdown {display:flex;flex-direction:column;justify-content:center;min-height:350px;padding:32px;border-radius:22px;background:#edf5ff}
.hills-run-modern .run-countdown h2 {max-width:430px;margin:0 0 28px;font-size:clamp(28px,2.8vw,42px);line-height:1.16;letter-spacing:0;font-weight:800;color:var(--run-deep)}
.hills-run-modern .run-countdown__units {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hills-run-modern .run-countdown__unit {display:grid;gap:5px;place-items:center;min-width:0;padding:17px 3px 14px;background:#fff;border-radius:12px}
.hills-run-modern .run-countdown__unit strong {color:var(--run-deep);font-size:clamp(24px,2.15vw,34px);line-height:1.2;font-variant-numeric:tabular-nums}
.hills-run-modern .run-countdown__unit span {font-size:10px;color:var(--run-muted);text-transform:uppercase;font-weight:800}

/* VIDEO MODAL — stays on page */
.hills-run-modern .run-video-modal {position:fixed;inset:0;width:min(960px,calc(100vw - 32px));max-width:none;max-height:min(90vh,850px);margin:auto;padding:0;border:1px solid #d1e2ef;border-radius:22px;background:#fff;color:var(--run-deep);box-shadow:0 32px 100px rgba(0,15,45,.45);overflow:auto}
.hills-run-modern .run-video-modal::backdrop {background:rgba(1,20,48,.82);backdrop-filter:blur(4px)}
.hills-run-modern .run-video-modal__top {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;background:#fff}
.hills-run-modern .run-video-modal__top h2 {margin:0;font-size:clamp(17px,1.8vw,24px);line-height:1.3;letter-spacing:0;font-weight:800}
.hills-run-modern .run-video-modal__close {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;color:var(--run-deep);background:#edf5ff;font-size:28px;line-height:1}
.hills-run-modern .run-video-modal__close:hover {background:#dcecff}
.hills-run-modern .run-video-modal__player {width:100%;aspect-ratio:16/9;min-height:180px;background:#08234b;color:#fff;display:grid;place-items:center}
.hills-run-modern .run-video-modal__player iframe,.hills-run-modern .run-video-modal__player video {width:100%;height:100%;border:0;display:block}
.hills-run-modern .run-video-modal__player p {padding:20px;text-align:center}
.hills-run-modern .run-video-modal__hint {margin:0;padding:12px 18px;text-align:center;font-size:13px;color:var(--run-muted)}

/* RACE OPTIONS / THREE PHOTOS SIDE BY SIDE */
.hills-run-modern .run-package {padding:72px 0 86px}
.hills-run-modern .run-package__heading {display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:27px}
.hills-run-modern .run-package__intro {margin:12px 0 0;color:var(--run-muted);font-size:17px;line-height:1.48}
.hills-run-modern .run-package__contents-link {display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;white-space:nowrap;color:var(--run-blue);font-size:14px;font-weight:800}
.hills-run-modern .run-package-card {display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.95fr);overflow:hidden;border:1px solid var(--run-border);border-radius:24px;box-shadow:var(--run-shadow);background:#fff;min-height:290px}
.hills-run-modern .run-package-card__price {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:34px;background:linear-gradient(155deg,#0772c1,#004986);color:#fff}
.hills-run-modern .run-package-card__kicker {display:block;font-size:18px;font-weight:650;color:#f0f7ff;margin-bottom:8px;line-height:1.35}
.hills-run-modern .run-package-card__amount {display:block;color:#fff;font-size:clamp(30px,2.65vw,42px);line-height:1.2;letter-spacing:0;font-weight:850;margin-bottom:13px}
.hills-run-modern .run-package-card__price-copy {font-size:15px;line-height:1.52;color:#edf5ff;margin:0 0 23px}
.hills-run-modern .run-package-card__button {display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,260px);min-height:54px;padding:0 20px;border-radius:13px;background:var(--run-green);color:var(--run-navy);font-size:15px;font-weight:800;transition:transform .2s ease,background .2s ease}
.hills-run-modern .run-package-card__button:hover {transform:translateY(-3px);background:#a5d95d}
.hills-run-modern .run-kit-gallery {min-width:0;padding:25px 26px 20px}
.hills-run-modern .run-kit-gallery__top {display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.hills-run-modern .run-kit-gallery__top .run-eyebrow {font-size:10px;margin-bottom:4px;color:#69ad2b}
.hills-run-modern .run-kit-gallery__top h3 {margin:0;color:var(--run-deep);font-size:clamp(20px,1.85vw,27px);font-weight:800;line-height:1.18;letter-spacing:0}
.hills-run-modern .run-kit-gallery__count {display:inline-block;white-space:nowrap;color:var(--run-muted);font-size:12px;font-weight:700}
.hills-run-modern .run-kit-gallery__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hills-run-modern .run-kit-product {min-width:0;padding:9px;background:#f4f8fe;border:1px solid #e1ebf6;border-radius:14px;text-align:center}
.hills-run-modern .run-kit-product__art {display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;overflow:hidden;background:#fff;border-radius:10px;margin-bottom:9px}
.hills-run-modern .run-kit-product__art img {width:100%;height:100%;object-fit:contain;padding:6px;transition:transform .25s ease}
.hills-run-modern .run-kit-product:hover img {transform:scale(1.055)}
.hills-run-modern .run-kit-product__placeholder {font-size:50px;color:#a9c0d5}
.hills-run-modern .run-kit-product__name {display:block;min-height:35px;color:var(--run-deep);font-size:clamp(11px,1vw,14px);line-height:1.32;letter-spacing:0;font-weight:800;overflow-wrap:anywhere}
.hills-run-modern .run-kit-gallery__note {margin:11px 2px 0;color:var(--run-muted);font-size:12px}
.hills-run-modern .run-kit-gallery__empty {color:var(--run-muted);font-size:14px}

/* SPONSOR LOGOS — neutral, not a second blue panel */
.hills-run-modern .run-sponsors {padding:70px 0 28px;background:#fff}
.hills-run-modern .run-sponsors-band {display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:46px;align-items:center;padding-bottom:35px;border-bottom:1px solid var(--run-border)}
.hills-run-modern .run-sponsors-band__intro h2 {margin:0 0 13px;color:var(--run-deep);font-size:clamp(29px,2.75vw,42px);font-weight:800;line-height:1.17;letter-spacing:0}
.hills-run-modern .run-sponsors-band__intro p {font-size:15px;color:var(--run-muted);line-height:1.55;margin:0}
.hills-run-modern .run-sponsors-band__logos {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 26px;align-items:center}
.hills-run-modern .run-sponsor-card {display:flex;align-items:center;justify-content:center;min-height:82px;padding:9px 12px;color:var(--run-deep);font-weight:800}
.hills-run-modern .run-sponsor-card img {max-width:150px;max-height:57px;width:auto;height:auto;object-fit:contain}
.hills-run-modern a.run-sponsor-card {transition:transform .2s ease,opacity .2s ease}
.hills-run-modern a.run-sponsor-card:hover {transform:translateY(-3px);opacity:.78}

/* SPONSORSHIP — solid NSSF blue */
.hills-run-modern .run-partner {padding:26px 0 26px}
.hills-run-modern .run-partner-banner {display:grid;grid-template-columns:minmax(0,1.22fr) minmax(250px,.78fr);gap:38px;align-items:center;padding:43px 46px;background:var(--run-blue);border-radius:24px;box-shadow:0 22px 45px rgba(0,73,143,.15);color:#fff}
.hills-run-modern .run-partner-banner__eyebrow {display:block;margin-bottom:12px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:#e4f4ff}
.hills-run-modern .run-partner-banner__title {margin:0 0 15px;color:#fff;font-size:clamp(34px,3.2vw,53px);font-weight:800;letter-spacing:0;line-height:1.14}
.hills-run-modern .run-partner-banner__body {margin:0 0 24px;color:#eaf5ff;font-size:17px;line-height:1.57}
.hills-run-modern .run-partner-banner__body p {margin:0}
.hills-run-modern .run-partner-banner__button {display:inline-flex;align-items:center;justify-content:space-between;gap:15px;padding:0 22px;min-height:53px;border-radius:29px;background:var(--run-green);color:var(--run-deep);font-size:14px;font-weight:850;transition:background .2s ease,transform .2s ease}
.hills-run-modern .run-partner-banner__button:hover {background:#a3d95e;transform:translateY(-3px)}
.hills-run-modern .run-partner-banner__contact {border-left:1px solid rgba(255,255,255,.24);padding:8px 0 8px 30px;min-width:0}
.hills-run-modern .run-partner-banner__contact-label {display:block;color:#dcefff;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin-bottom:20px}
.hills-run-modern .run-partner-banner__contact-item {display:flex;gap:12px;align-items:center;color:#fff;font-size:16px;line-height:1.4;font-weight:650;margin:12px 0;overflow-wrap:anywhere}
.hills-run-modern .run-partner-banner__contact-item:hover {color:#fff2a7}
.hills-run-modern .run-partner-banner__contact-icon {display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.15);font-size:20px}

/* DOWNLOAD — separate approachable asset download CTA */
.hills-run-modern .run-download {padding:32px 0 68px;background:#fff}
.hills-run-modern .run-download__card {display:flex;align-items:center;gap:23px;padding:22px 25px;background:#f1f7ff;border:1px solid #dbe9f6;border-radius:20px}
.hills-run-modern .run-download__icon {display:grid;place-items:center;flex:0 0 67px;width:67px;height:67px;border-radius:17px;background:#fff;color:var(--run-blue)}
.hills-run-modern .run-download__icon svg {width:33px;height:33px}
.hills-run-modern .run-download__copy {flex:1;min-width:0}
.hills-run-modern .run-download__copy .run-eyebrow {font-size:10px;margin-bottom:5px}
.hills-run-modern .run-download__copy h2 {margin:0;color:var(--run-deep);font-weight:800;line-height:1.2;letter-spacing:0;font-size:clamp(22px,2vw,30px)}
.hills-run-modern .run-download__copy p {margin:5px 0 0;color:var(--run-muted);font-size:15px;line-height:1.4}
.hills-run-modern .run-download__button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:51px;padding:0 22px;border-radius:12px;background:var(--run-blue);color:#fff;font-size:14px;font-weight:800;white-space:nowrap;transition:background .2s ease,transform .2s ease}
.hills-run-modern .run-download__button:hover {background:#003f80;transform:translateY(-3px)}
.hills-run-modern .run-download__button-icon {font-size:24px;line-height:1}

/* EDITORIAL TRAINING CARDS */
.hills-run-modern .run-training {padding:70px 0 88px;background:linear-gradient(180deg,#fff,#f7faff)}
.hills-run-modern .run-training__heading {display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:27px}
.hills-run-modern .run-training__helper {max-width:340px;color:var(--run-muted);font-size:16px;line-height:1.45;margin:0}
.hills-run-modern .run-training__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hills-run-modern .run-training-card {display:block;position:relative;aspect-ratio:1.48/1;min-height:255px;overflow:hidden;border-radius:19px;background:#062e5a;isolation:isolate;color:#fff;box-shadow:0 15px 34px rgba(0,35,80,.13)}
.hills-run-modern .run-training-card > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hills-run-modern .run-training-card:hover > img {transform:scale(1.05)}
.hills-run-modern .run-training-card__shade {position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,45,.14) 10%,rgba(0,24,60,.83) 100%)}
.hills-run-modern .run-training-card__content {display:flex;flex-direction:column;justify-content:space-between;position:absolute;inset:0;padding:22px}
.hills-run-modern .run-training-card__number {align-self:flex-start;padding:6px 11px;border-radius:7px;background:var(--run-yellow);color:var(--run-deep);text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:900}
.hills-run-modern .run-training-card__bottom {display:flex;align-items:end;justify-content:space-between;gap:16px}
.hills-run-modern .run-training-card__bottom strong {max-width:83%;font-size:clamp(22px,1.8vw,30px);line-height:1.16;letter-spacing:0;font-weight:850}
.hills-run-modern .run-training-card__arrow {display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;background:#fff;color:var(--run-blue);font-size:23px;transition:transform .2s ease}
.hills-run-modern a.run-training-card:hover .run-training-card__arrow {transform:translateX(4px)}

/* FAQ — approved V4 clean open state: no transient click border */
.hills-run-modern .run-faqs {padding:73px 0 93px;background:#f7faff;border-top:1px solid #e7eef6}
.hills-run-modern .run-faqs__heading {display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:27px}
.hills-run-modern .run-faqs h2 {font-size:clamp(42px,4.7vw,64px);line-height:1.08}
.hills-run-modern .run-faqs__helper {max-width:285px;margin:0 0 4px;color:#728aa0;font-size:14px;line-height:1.5;text-align:right}
.hills-run-modern .run-faq-list {background:transparent;border:0;border-top:1px solid #dbe6f1;border-radius:0;box-shadow:none;overflow:visible}
.hills-run-modern .run-faq {border-bottom:1px solid #dbe6f1;background:transparent;transition:background .18s ease}
.hills-run-modern .run-faq:last-child {border-bottom:1px solid #dbe6f1}
.hills-run-modern .run-faq.is-open {background:#eaf3fd}
.hills-run-modern .run-faq__heading {margin:0!important;padding:0!important;font-size:inherit!important;line-height:inherit!important}
.hills-run-modern .run-faq__question {appearance:none;display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:84px;margin:0;padding:18px 16px 18px 19px;border:0!important;border-radius:0;background:transparent;color:#123b68;text-align:left;font-weight:750;font-size:clamp(19px,1.6vw,24px);line-height:1.3;letter-spacing:0;box-shadow:none!important;cursor:pointer}
.hills-run-modern .run-faq.is-open .run-faq__question {color:var(--run-blue);background:transparent}
.hills-run-modern .run-faq__question:hover .run-faq__question-text {color:var(--run-blue)}
.hills-run-modern .run-faq__question:focus:not(:focus-visible) {outline:0!important;outline-offset:0!important;box-shadow:none!important}
.hills-run-modern .run-faq__question:focus-visible {outline:3px solid #ffdc44!important;outline-offset:-5px!important;box-shadow:none!important}
.hills-run-modern .run-faq__toggle {position:relative;flex:0 0 42px;width:42px;height:42px;border:1px solid #cadff2;border-radius:50%;background:#e3eefb;color:var(--run-blue);transition:background .2s ease,color .2s ease,border-color .2s ease}
.hills-run-modern .run-faq__toggle::before,.hills-run-modern .run-faq__toggle::after {content:"";position:absolute;left:50%;top:50%;width:15px;height:2px;border-radius:3px;background:currentColor;transform:translate(-50%,-50%)}
.hills-run-modern .run-faq__toggle::after {transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s ease}
.hills-run-modern .run-faq.is-open .run-faq__toggle {color:#fff;background:var(--run-blue);border-color:var(--run-blue)}
.hills-run-modern .run-faq.is-open .run-faq__toggle::after {opacity:0}
.hills-run-modern .run-faq__answer-inner {max-width:940px;padding:0 78px 26px 19px;color:#365676;font-size:17px;line-height:1.7}
.hills-run-modern .run-faq__answer-inner p {margin:0 0 12px}
.hills-run-modern .run-faq__answer-inner p:last-child {margin-bottom:0}
.hills-run-modern .run-faq__answer[hidden] {display:none!important}

/* TABLET */
@media (max-width:1100px) {
  .hills-run-modern .run-tribe-hero__content {width:51%;padding:37px 0 40px}
  .hills-run-modern .run-tribe-hero__title-line {font-size:clamp(36px,4.2vw,64px)}
  .hills-run-modern .run-tribe-btn {min-width:170px;min-height:52px;font-size:15px;padding:0 18px}
  .hills-run-modern .run-tribe-detail {gap:12px;padding:23px 16px;min-height:128px}
  .hills-run-modern .run-tribe-detail__icon {flex-basis:54px;width:54px;height:54px}
  .hills-run-modern .run-tribe-detail strong {font-size:18px}
  .hills-run-modern .run-package-card {grid-template-columns:250px minmax(0,1fr)}
  .hills-run-modern .run-kit-gallery {padding:21px 18px}
  .hills-run-modern .run-kit-gallery__count {display:none}
}
@media (max-width:900px) {
  .hills-run-modern .run-about__grid,.hills-run-modern .run-media__grid {grid-template-columns:1fr}
  .hills-run-modern .run-about__grid {gap:30px}
  .hills-run-modern .run-media__grid {gap:18px}
  .hills-run-modern .run-partner-banner {grid-template-columns:1fr;gap:25px}
  .hills-run-modern .run-partner-banner__contact {border-left:0;border-top:1px solid rgba(255,255,255,.24);padding:23px 0 0}
  .hills-run-modern .run-sponsors-band {grid-template-columns:1fr;gap:20px}
  .hills-run-modern .run-tribe-details {grid-template-columns:1fr;margin-top:12px;width:100%}
  .hills-run-modern .run-tribe-detail {min-height:100px;border-right:0;border-bottom:1px solid var(--run-border);border-top:0;border-left:0}
  .hills-run-modern .run-tribe-detail:last-child {border-bottom:0}
  .hills-run-modern .run-training__grid {gap:13px}
  .hills-run-modern .run-training-card {min-height:210px}
}

/* Mobile: live text on the darkened lower portion of the runner artwork.
   The remaining landing-page sections keep their existing responsive rules. */
@media (max-width:767px) {
  .hills-run-modern .run-container {width:calc(100% - 28px)}
  .hills-run-modern .run-tribe-hero {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    overflow:hidden;
    background:var(--run-hero-blue);
  }
  .hills-run-modern .run-tribe-hero__media {
    grid-area:1 / 1;
    width:100%;height:auto;padding:0;margin:0;min-width:0;
  }
  .hills-run-modern .run-tribe-hero__media img {
    display:block!important;width:100%!important;max-width:100%!important;
    height:auto!important;object-fit:contain!important;
    object-position:center top!important;transform:none!important;
  }
  .hills-run-modern .run-hero--tribe.has-mobile-art .run-tribe-hero__overlay {
    display:block;grid-area:1 / 1;z-index:1;
    background:linear-gradient(to bottom,
      rgba(27,72,207,0) 34%,
      rgba(23,66,195,.16) 46%,
      rgba(22,65,192,.62) 65%,
      rgba(22,63,183,.96) 85%,
      var(--run-hero-blue) 100%);
  }
  .hills-run-modern .run-hero--tribe:not(.has-mobile-art) .run-tribe-hero__overlay {display:none;}
  .hills-run-modern .run-tribe-hero__inner {
    position:relative;z-index:2;
    grid-area:2 / 1;
    display:block;align-self:auto;
    width:100%;max-width:none;min-width:0;
    min-height:0;margin:0;background:transparent;
  }
  .hills-run-modern .run-hero--tribe.has-mobile-art .run-tribe-hero__inner {
    margin-top:calc(-1 * clamp(108px,37vw,205px));
  }
  .hills-run-modern .run-tribe-hero__content {
    display:flex;flex-direction:column;align-items:center;
    position:static;width:100%;max-width:620px;height:auto;
    margin:0 auto;
    padding:0 clamp(16px,5vw,28px) 28px;
    text-align:center;
  }
  .hills-run-modern .run-hero--tribe:not(.has-mobile-art) .run-tribe-hero__content {padding-top:22px;}
  .hills-run-modern .run-tribe-hero__eyebrow {
    display:block;margin:0 0 10px;
    color:#fff;font-size:clamp(10px,2.7vw,12px);
    line-height:1.35;letter-spacing:.16em;
  }
  .hills-run-modern .run-tribe-hero__strap {
    display:table;align-self:center;max-width:100%;
    margin:0 auto 14px;padding:8px 12px;
    border-radius:12px 19px 11px 18px;
    font-size:clamp(13px,3.65vw,20px);line-height:1.13;
    white-space:normal;text-align:center;
    box-shadow:4px 5px 0 #173a9c;
    transform:rotate(-1.3deg);
  }
  .hills-run-modern .run-tribe-hero__title {
    display:flex;flex-direction:column;align-items:center;
    gap:1px;width:100%;max-width:100%;margin:0 0 18px;
    line-height:1.055;text-align:center;
  }
  .hills-run-modern .run-tribe-hero__title-line {
    display:block;max-width:100%;
    color:var(--run-yellow);
    font-size:clamp(29px,9.1vw,53px);
    line-height:1.055;letter-spacing:0;
    white-space:normal;overflow-wrap:anywhere;
    word-break:normal;text-wrap:balance;
    text-shadow:3px 4px 0 #173a9c;
  }
  .hills-run-modern .run-tribe-hero__description {
    display:block;max-width:410px;
    margin:0 auto 16px;
    font-size:clamp(12px,3.35vw,15px);
    line-height:1.4;text-align:center;
  }
  .hills-run-modern .run-tribe-hero__actions {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(9px,2.5vw,14px);
    width:100%;max-width:540px;margin:0 auto;
  }
  .hills-run-modern .run-tribe-btn {
    display:inline-flex;justify-content:space-between;align-items:center;
    gap:5px;width:100%;min-width:0;min-height:55px;
    padding:0 clamp(9px,2.7vw,17px);
    border-radius:14px;
    font-size:clamp(13px,3.9vw,18px);line-height:1.12;
    box-shadow:4px 5px 0 #173a9c;
    white-space:nowrap;
  }
  .hills-run-modern .run-tribe-btn .run-arrow {font-size:clamp(18px,5vw,24px);}
  .hills-run-modern .run-tribe-detail {padding:17px 20px;min-height:95px}
  .hills-run-modern .run-tribe-detail strong {font-size:19px}
  .hills-run-modern .run-tribe-detail__meta {font-size:13px}
  .hills-run-modern .run-about {padding:58px 0 50px}
  .hills-run-modern .run-impact,.hills-run-modern .run-media,.hills-run-modern .run-package,.hills-run-modern .run-training,.hills-run-modern .run-faqs {padding:55px 0}
  .hills-run-modern .run-sponsors {padding:45px 0 23px}
  .hills-run-modern .run-partner {padding:15px 0}
  .hills-run-modern .run-download {padding:18px 0 46px}
  .hills-run-modern .run-eyebrow {font-size:10px}
  .hills-run-modern .run-section-heading h2,.hills-run-modern .run-about h2,.hills-run-modern .run-package__title,.hills-run-modern .run-training h2,.hills-run-modern .run-faqs h2 {font-size:clamp(30px,7.5vw,40px);line-height:1.16}
  .hills-run-modern .run-tvc,.hills-run-modern .run-tvc img {min-height:270px}
  .hills-run-modern .run-countdown {min-height:280px;padding:24px}
  .hills-run-modern .run-countdown h2 {font-size:31px}
  .hills-run-modern .run-package__heading {display:block}
  .hills-run-modern .run-package__contents-link {margin-top:13px}
  .hills-run-modern .run-package-card {grid-template-columns:1fr}
  .hills-run-modern .run-package-card__price {padding:24px}
  .hills-run-modern .run-package-card__amount {font-size:38px}
  .hills-run-modern .run-kit-gallery {padding:18px 12px 16px}
  .hills-run-modern .run-kit-gallery__top h3 {font-size:23px}
  .hills-run-modern .run-kit-gallery__grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .hills-run-modern .run-kit-product {padding:5px;border-radius:10px}
  .hills-run-modern .run-kit-product__art {border-radius:7px;margin-bottom:6px}
  .hills-run-modern .run-kit-product__art img {padding:2px}
  .hills-run-modern .run-kit-product__name {font-size:11px;min-height:36px;line-height:1.22}
  .hills-run-modern .run-sponsors-band__logos {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .hills-run-modern .run-partner-banner {padding:28px 23px;border-radius:19px}
  .hills-run-modern .run-partner-banner__title {font-size:35px}
  .hills-run-modern .run-partner-banner__contact-item {font-size:14px}
  .hills-run-modern .run-download__card {display:grid;grid-template-columns:55px 1fr;gap:12px;padding:18px}
  .hills-run-modern .run-download__icon {width:55px;height:55px;flex-basis:55px}
  .hills-run-modern .run-download__button {grid-column:1/-1;width:100%}
  .hills-run-modern .run-training__heading {display:block}
  .hills-run-modern .run-training__helper {margin-top:10px}
  .hills-run-modern .run-training__grid {display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 9px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hills-run-modern .run-training__grid::-webkit-scrollbar {display:none}
  .hills-run-modern .run-training-card {flex:0 0 85%;aspect-ratio:1.28/1;min-height:240px;scroll-snap-align:start}
  .hills-run-modern .run-faqs__heading {display:block}
  .hills-run-modern .run-faqs__helper {display:block;text-align:left;margin-top:9px}
  .hills-run-modern .run-faq__question {padding:14px 16px 14px 18px;min-height:75px;font-size:17px}
  .hills-run-modern .run-faq__toggle {flex-basis:39px;width:39px;height:39px}
  .hills-run-modern .run-faq__answer-inner {padding:0 22px 20px 18px;font-size:15px}
}
@media (max-width:390px) {
  .hills-run-modern .run-container {width:calc(100% - 20px)}
  .hills-run-modern .run-tribe-hero__title-line {font-size:clamp(29px,9vw,36px);}
  .hills-run-modern .run-kit-gallery {padding:15px 9px}
  .hills-run-modern .run-kit-gallery__grid {gap:5px}
  .hills-run-modern .run-kit-product__name {font-size:10px}
  .hills-run-modern .run-countdown {padding:17px}
  .hills-run-modern .run-countdown__unit strong {font-size:22px}
  .hills-run-modern .run-training-card {flex-basis:91%}
}
@media (prefers-reduced-motion:reduce) {
  .hills-run-modern *, .hills-run-modern *::before, .hills-run-modern *::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* V4 signature impact and FAQ: responsive overrides (after all legacy media rules). */
@media (max-width:1100px) {
  .hills-run-modern .run-impact__signature {gap:12px}
  .hills-run-modern .run-impact__mosaic {gap:12px}
  .hills-run-modern .run-impact__featured {padding:30px}
  .hills-run-modern .run-impact__tile {padding:22px 18px}
}
@media (max-width:900px) {
  .hills-run-modern .run-impact__intro {max-width:230px}
  .hills-run-modern .run-impact__signature {grid-template-columns:1fr;min-height:0}
  .hills-run-modern .run-impact__featured {min-height:260px}
  .hills-run-modern .run-impact__featured-value {font-size:clamp(80px,12vw,128px)}
  .hills-run-modern .run-impact__featured-value.is-long {font-size:clamp(62px,9vw,92px)}
  .hills-run-modern .run-impact__mosaic {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .hills-run-modern .run-impact__tile {min-height:170px}
  .hills-run-modern .run-impact__mosaic--one {grid-template-columns:1fr}
}
@media (max-width:767px) {
  .hills-run-modern .run-impact--signature {padding:55px 0 62px}
  .hills-run-modern .run-impact__heading {display:block;margin-bottom:22px}
  .hills-run-modern .run-impact__heading h2 {font-size:clamp(34px,8vw,43px);line-height:1.15}
  .hills-run-modern .run-impact__intro {max-width:none;margin-top:12px;font-size:14px}
  .hills-run-modern .run-impact__signature {gap:11px}
  .hills-run-modern .run-impact__featured {min-height:245px;padding:24px;border-radius:20px}
  .hills-run-modern .run-impact__featured-value {font-size:clamp(74px,18vw,103px)}
  .hills-run-modern .run-impact__featured-value.is-long {font-size:clamp(48px,11.5vw,75px)}
  .hills-run-modern .run-impact__featured-caption {font-size:21px}
  .hills-run-modern .run-impact__featured-overline {font-size:11px}
  .hills-run-modern .run-impact__mosaic {gap:11px}
  .hills-run-modern .run-impact__tile {min-height:145px;padding:18px 16px;border-radius:16px}
  .hills-run-modern .run-impact__tile-value {font-size:clamp(33px,9.2vw,48px)}
  .hills-run-modern .run-impact__tile-value.is-long {font-size:clamp(26px,7vw,38px)}
  .hills-run-modern .run-impact__tile-label {font-size:16px;line-height:1.25}
  .hills-run-modern .run-impact__tile-index {font-size:9px}
  .hills-run-modern .run-impact__tile--wide {grid-template-columns:auto minmax(0,1fr);column-gap:18px;min-height:116px}
  .hills-run-modern .run-faqs {padding:55px 0 70px;background:#f7faff}
  .hills-run-modern .run-faqs__heading {display:block;margin-bottom:22px}
  .hills-run-modern .run-faqs h2 {font-size:clamp(36px,8.6vw,46px);line-height:1.12}
  .hills-run-modern .run-faqs__helper {display:block;text-align:left;margin:12px 0 0;max-width:none;font-size:13px}
  .hills-run-modern .run-faq__question {min-height:76px;padding:18px 7px;font-size:19px}
  .hills-run-modern .run-faq__toggle {flex-basis:38px;width:38px;height:38px}
  .hills-run-modern .run-faq__answer-inner {padding:0 28px 23px 7px;font-size:16px}
  .hills-run-modern .run-tribe-detail {border-left:0;border-top:0}
}
@media (max-width:390px) {
  .hills-run-modern .run-impact__tile--wide {column-gap:12px}
  .hills-run-modern .run-impact__tile--wide .run-impact__tile-value {font-size:33px}
  .hills-run-modern .run-faq__question {font-size:18px}
}

/* FAQ hyperlinks: clear visual signifiers without changing global NSSF links. */
.hills-run-modern .run-faq__answer-inner a {
  color: #005ca9;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  transition: color .18s ease, text-decoration-thickness .18s ease;
}
.hills-run-modern .run-faq__answer-inner a:hover {
  color: #003b70;
  text-decoration-thickness: 3px;
}
.hills-run-modern .run-faq__answer-inner a:focus-visible {
  outline: 3px solid #ffeb00;
  outline-offset: 3px;
  border-radius: 2px;
}
