:root {
  --sporta-navy-950: #04111e;
  --sporta-navy-900: #071727;
  --sporta-navy-800: #0c263d;
  --sporta-cobalt: #1476ff;
  --sporta-cobalt-2: #2b9cff;
  --sporta-sky: #dff2ff;
  --sporta-orange: #ff6b3d;
  --sporta-orange-2: #ff9b52;
  --sporta-lime: #c8ff42;
  --sporta-ink: #0b1d2d;
  --sporta-muted: #5c6d7a;
  --sporta-line: #dce4ea;
  --sporta-surface: #f4f7f9;
  --sporta-white: #ffffff;
  --sporta-shadow: 0 28px 70px rgb(8 30 48 / 13%);
  --sporta-radius-sm: 14px;
  --sporta-radius: 24px;
  --sporta-radius-lg: 38px;
  --sporta-shell: 1240px;
  --sporta-pad: clamp(18px, 4vw, 42px);
  --sporta-ease: cubic-bezier(.2,.8,.2,1);
  --sporta-px: 0;
  --sporta-py: 0;
  --sporta-scroll: 0;
  --sporta-bg-x: 78%;
  --sporta-bg-y: 25%;
  --sporta-glint-x: 0%;
  --sporta-copy-x: 0px;
  --sporta-copy-y: 0px;
  --sporta-orbit-rotate: 10deg;
  --sporta-orbit-y: 0px;
}

/* Sporta 2.4: category hubs and deeper catalogue decisions. */
.sporta-category-directory {
  margin: 0 0 clamp(44px, 7vw, 88px);
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--sporta-line);
  border-radius: 32px;
  background: linear-gradient(145deg, #fff 0%, #f4f8fb 100%);
  box-shadow: 0 24px 70px rgb(4 25 43 / 8%);
}

.sporta-category-directory > div:first-child { max-width: 760px; margin-bottom: 24px; }
.sporta-category-directory > div:first-child h2 { margin: 5px 0 10px; font-size: clamp(28px, 4vw, 48px); }
.sporta-category-directory > div:first-child p:last-child { color: var(--sporta-muted); }
.sporta-category-directory__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sporta-category-directory__grid a {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-areas: "number title arrow" "number copy arrow";
  gap: 2px 12px;
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--sporta-line);
  border-radius: 18px;
  background: rgb(255 255 255 / 82%);
  color: var(--sporta-navy-900);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sporta-category-directory__grid a::before { content: ""; position: absolute; inset: auto -20px -45px auto; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, rgb(184 255 47 / 20%), transparent 70%); }
.sporta-category-directory__grid a:hover { transform: translateY(-3px); border-color: rgb(42 108 247 / 35%); box-shadow: 0 16px 34px rgb(4 25 43 / 9%); }
.sporta-category-directory__grid small { grid-area: number; align-self: center; color: var(--sporta-cobalt); font-weight: 850; }
.sporta-category-directory__grid strong { grid-area: title; min-width: 0; font-size: 18px; }
.sporta-category-directory__grid span { grid-area: copy; min-width: 0; color: var(--sporta-muted); font-size: 13px; }
.sporta-category-directory__grid i { grid-area: arrow; align-self: center; font-style: normal; font-size: 22px; }

.sporta-category-hub { padding-bottom: clamp(56px, 8vw, 110px); }
.sporta-category-hero {
  --sporta-px: 0;
  --sporta-py: 0;
  --sporta-scroll: 0;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(210px, .55fr);
  align-items: center;
  min-height: 420px;
  margin-bottom: 24px;
  padding: clamp(30px, 6vw, 78px);
  overflow: hidden;
  border-radius: 0 0 38px 38px;
  background-color: #061a2a;
  background-image:
    linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px),
    radial-gradient(circle at var(--sporta-bg-x) var(--sporta-bg-y), rgb(42 108 247 / 35%), transparent 33%),
    linear-gradient(135deg, #061a2a 0%, #0c2f49 100%);
  background-size: 58px 58px, 58px 58px, auto, auto;
  color: #fff;
  box-shadow: 0 30px 70px rgb(4 25 43 / 18%);
}
.sporta-category-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 35%, rgb(184 255 47 / 8%) 52%, transparent 70%); transform: translateX(var(--sporta-glint-x)); }
.sporta-category-hero__copy { position: relative; z-index: 2; max-width: 800px; transform: translate3d(var(--sporta-copy-x), var(--sporta-copy-y), 0); }
.sporta-category-hero__copy .sporta-kicker { color: var(--sporta-lime); }
.sporta-category-hero__copy h1 { margin: 8px 0 18px; color: #fff; font-size: clamp(42px, 7vw, 82px); line-height: .98; }
.sporta-category-hero__copy > p:last-child { max-width: 680px; color: #c8d7e2; font-size: clamp(17px, 2.1vw, 22px); line-height: 1.6; }
.sporta-category-hero__orbit { position: relative; z-index: 1; justify-self: center; width: clamp(180px, 23vw, 290px); aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; transform: perspective(700px) rotateX(62deg) rotateZ(var(--sporta-orbit-rotate)) translateY(var(--sporta-orbit-y)); box-shadow: 0 0 80px rgb(42 108 247 / 22%), inset 0 0 55px rgb(184 255 47 / 8%); }
.sporta-category-hero__orbit::before, .sporta-category-hero__orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgb(255 255 255 / 13%); }
.sporta-category-hero__orbit::before { inset: 17%; }
.sporta-category-hero__orbit::after { inset: 34%; background: radial-gradient(circle, var(--sporta-lime), #7cbc28 40%, transparent 42%); box-shadow: 0 0 45px rgb(184 255 47 / 60%); }
.sporta-category-hero__orbit span { position: absolute; width: 20px; aspect-ratio: 1; border-radius: 50%; background: var(--sporta-orange); box-shadow: 0 0 22px rgb(255 111 68 / 70%); }
.sporta-category-hero__orbit span:first-child { top: 8%; left: 25%; }
.sporta-category-hero__orbit span:nth-child(2) { right: 4%; bottom: 29%; background: #5f96ff; }
.sporta-category-hero__orbit strong { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: clamp(40px, 7vw, 74px); transform: rotateZ(-10deg) rotateX(-48deg) translateZ(20px); text-shadow: 0 10px 30px rgb(0 0 0 / 35%); }

.sporta-category-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 clamp(38px, 6vw, 70px); }
.sporta-category-stats > div { display: grid; gap: 2px; padding: 22px; border: 1px solid var(--sporta-line); border-radius: 20px; background: #fff; }
.sporta-category-stats strong { color: var(--sporta-navy-900); font-size: clamp(30px, 5vw, 52px); line-height: 1; }
.sporta-category-stats span { color: var(--sporta-muted); font-weight: 750; }
.sporta-category-fit { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(24px, 5vw, 64px); align-items: start; margin-bottom: 24px; padding: clamp(24px, 4vw, 44px); border-radius: 28px; background: #fff; border: 1px solid var(--sporta-line); }
.sporta-category-fit h2 { margin: 5px 0 0; font-size: clamp(28px, 4vw, 45px); }
.sporta-category-fit ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sporta-category-fit li { position: relative; padding: 15px 18px 15px 48px; border-radius: 16px; background: var(--sporta-surface); }
.sporta-category-fit li::before { content: "✓"; position: absolute; left: 17px; top: 14px; color: #4b8210; font-weight: 900; }
.sporta-category-compare-note { display: flex; gap: 18px; align-items: center; margin: 0 0 28px; padding: 20px 24px; border-radius: 20px; background: var(--sporta-navy-900); color: #fff; }
.sporta-category-compare-note > span { display: grid; flex: 0 0 48px; width: 48px; aspect-ratio: 1; place-items: center; border-radius: 15px; background: var(--sporta-lime); color: var(--sporta-navy-900); font-size: 25px; font-weight: 900; }
.sporta-category-compare-note p { margin: 3px 0 0; color: #bccbd6; }
.sporta-catalog__filters--compact { margin-top: 0; }
.sporta-catalog__filter-grid input[type="search"] { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid var(--sporta-line); border-radius: 10px; background: #fff; color: var(--sporta-ink); font: inherit; }
.sporta-compare-dialog__equipment ul { display: grid; gap: 5px; margin: 7px 0 0; padding-left: 19px; }
.sporta-compare-dialog__actions { display: flex !important; flex-wrap: wrap; gap: 8px; }
.sporta-compare-dialog__actions a { margin-top: 0 !important; padding: 9px 11px; border-radius: 9px; background: #eaf1ff; text-decoration: none; }

@media (max-width: 820px) {
  .sporta-category-directory__grid { grid-template-columns: 1fr; }
  .sporta-category-hero { grid-template-columns: 1fr; min-height: 0; padding-bottom: 42px; }
  .sporta-category-hero__orbit { position: absolute; right: -65px; bottom: -90px; width: 230px; opacity: .58; }
  .sporta-category-hero__copy { max-width: calc(100% - 35px); }
  .sporta-category-fit { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .sporta-category-directory { padding: 20px 16px; border-radius: 24px; }
  .sporta-category-directory__grid a { grid-template-columns: 30px minmax(0, 1fr) auto; padding: 15px 13px; }
  .sporta-category-hero { margin-inline: 0; padding: 30px 22px 42px; border-radius: 0 0 28px 28px; }
  .sporta-category-hero__copy { max-width: 100%; }
  .sporta-category-hero__copy h1 { overflow-wrap: anywhere; }
  .sporta-category-hero__orbit { display: none; }
  .sporta-category-stats { grid-template-columns: 1fr; gap: 8px; }
  .sporta-category-stats > div { grid-template-columns: auto 1fr; align-items: baseline; gap: 12px; padding: 15px 17px; }
  .sporta-category-stats strong { font-size: 32px; }
  .sporta-category-fit { padding: 22px 17px; }
  .sporta-category-compare-note { align-items: flex-start; padding: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .sporta-category-hero__copy, .sporta-category-hero__orbit, .sporta-category-directory__grid a { transform: none !important; transition: none !important; }
}

/* Hidden must always win over component display rules. */
[hidden] {
  display: none !important;
}

/* Sporta Core 1.1: filterable catalogue, comparison and structured sport pages. */
.sporta-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 26px 0 -24px;
  color: var(--sporta-muted);
  font-size: 13px;
  font-weight: 700;
}

.sporta-catalog__filters {
  position: relative;
  z-index: 2;
  margin: 0 0 34px;
  padding: clamp(22px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: var(--sporta-radius);
  background:
    radial-gradient(circle at 92% 0, rgb(43 156 255 / 28%), transparent 34%),
    linear-gradient(135deg, var(--sporta-navy-950), var(--sporta-navy-800));
  color: var(--sporta-white);
  box-shadow: var(--sporta-shadow);
}

.sporta-catalog__filters::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .18;
  background-image: linear-gradient(rgb(255 255 255 / 14%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 14%) 1px, transparent 1px);
  background-size: 48px 48px;
  transform: perspective(500px) rotateX(12deg) scale(1.08);
}

.sporta-catalog__filter-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.sporta-catalog__filter-heading h2,
.sporta-catalog__filter-heading p { margin: 0; }
.sporta-catalog__filter-heading p { color: #c6d7e4; }
.sporta-catalog__filter-heading strong { color: var(--sporta-lime); font-size: 24px; }

.sporta-catalog__filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.sporta-catalog__filter-grid label {
  color: #dbe8f1;
  font-size: 12px;
  font-weight: 820;
}

.sporta-catalog__filter-grid select {
  width: 100%;
  min-height: 50px;
  margin-top: 6px;
  padding: 10px 34px 10px 12px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 12px;
  background: #fff;
  color: var(--sporta-ink);
}

.sporta-catalog__reset,
.sporta-card__compare {
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.sporta-catalog__reset { margin-top: 18px; color: #dbe8f1; }
.sporta-card__compare { margin-top: 12px; padding: 7px 0; color: var(--sporta-cobalt); }
.sporta-card__compare[aria-pressed="true"] { color: #456400; }
.sporta-card__compare:disabled { color: #92a0aa; cursor: not-allowed; }
.sporta-card[hidden] { display: none !important; }

.sporta-catalog__empty {
  padding: 34px;
  border: 1px dashed #b7c7d2;
  border-radius: var(--sporta-radius);
  background: #fff;
  text-align: center;
}

.sporta-compare {
  position: sticky;
  z-index: 30;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(100%, 760px);
  margin: 34px auto 0;
  padding: 14px 16px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 18px;
  background: rgb(7 23 39 / 95%);
  color: #fff;
  box-shadow: 0 18px 54px rgb(0 0 0 / 25%);
  backdrop-filter: blur(16px);
}

.sporta-compare > div { min-width: 0; flex: 1; display: grid; }
.sporta-compare span { color: #bccbd6; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sporta-compare button { min-height: 42px; padding: 8px 13px; border: 1px solid rgb(255 255 255 / 20%); border-radius: 10px; background: rgb(255 255 255 / 9%); color: #fff; cursor: pointer; font-weight: 780; }
.sporta-compare button:disabled { opacity: .45; cursor: not-allowed; }

.sporta-compare-dialog {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--sporta-pad);
  background: rgb(2 11 20 / 78%);
  backdrop-filter: blur(10px);
}

.sporta-compare-dialog__surface {
  position: relative;
  width: min(920px, 100%);
  max-height: min(760px, 90vh);
  padding: clamp(24px, 4vw, 44px);
  overflow: auto;
  border-radius: var(--sporta-radius-lg);
  background: #fff;
  box-shadow: 0 35px 100px rgb(0 0 0 / 40%);
}

.sporta-compare-dialog__close { float: right; min-height: 42px; padding: 8px 14px; border: 0; border-radius: 10px; background: var(--sporta-navy-900); color: #fff; cursor: pointer; }
.sporta-compare-dialog [data-compare-content] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; clear: both; }
.sporta-compare-dialog article { padding: 22px; border: 1px solid var(--sporta-line); border-radius: 20px; background: var(--sporta-surface); }
.sporta-compare-dialog article > div { display: grid; gap: 2px; padding: 12px 0; border-top: 1px solid var(--sporta-line); }
.sporta-compare-dialog article small { color: var(--sporta-muted); font-weight: 750; }
.sporta-compare-dialog article a { display: inline-block; margin-top: 18px; color: var(--sporta-cobalt); font-weight: 820; }
body.sporta-dialog-open { overflow: hidden; }

/* v2.1.1: defensive containment for narrow iOS viewports and long Swedish labels. */
.sporta-main,
.sporta-article,
.sporta-sport-layout,
.sporta-sport-layout > *,
.sporta-fact-bar,
.sporta-fact-bar > span,
.sporta-equipment__grid > div,
.sporta-cost-map > *,
.sporta-glossary dl > div,
.sporta-source-list li,
.sporta-next-reading__links,
.sporta-compare-dialog__surface,
.sporta-compare-dialog article { min-width: 0; }
.sporta-article img,
.sporta-prose iframe,
.sporta-prose table { max-width: 100%; }
.sporta-sport-layout--step-only { grid-template-columns: minmax(0, 760px); justify-content: center; }

.sporta-fit-panel,
.sporta-decision-panel,
.sporta-depth-fit,
.sporta-thresholds,
.sporta-equipment,
.sporta-cost-map,
.sporta-cost-tool,
.sporta-glossary,
.sporta-faq,
.sporta-safety,
.sporta-related,
.sporta-next-reading,
.sporta-after-four,
.sporta-review-status {
  margin-block: clamp(30px, 6vw, 72px);
}

.sporta-fit-panel {
  display: grid;
  grid-template-columns: 1.25fr repeat(2, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--sporta-line);
  border-radius: var(--sporta-radius);
  background: var(--sporta-line);
  box-shadow: var(--sporta-shadow);
}

.sporta-fit-panel > div { padding: clamp(20px, 3vw, 30px); background: #fff; }
.sporta-fit-panel > div:first-child { background: var(--sporta-navy-900); color: #fff; }
.sporta-fit-panel h2 { margin: 4px 0 0; font-size: clamp(24px, 3vw, 36px); line-height: 1.08; }
.sporta-fit-panel small { display: block; margin-bottom: 10px; color: var(--sporta-muted); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.sporta-fit-panel strong { line-height: 1.45; }

.sporta-equipment {
  padding: clamp(24px, 5vw, 54px);
  border-radius: var(--sporta-radius-lg);
  background: linear-gradient(145deg, #fff, #edf4f8);
  box-shadow: var(--sporta-shadow);
}

.sporta-equipment > h2 { margin-top: 4px; font-size: clamp(30px, 4vw, 52px); line-height: 1.02; }
.sporta-equipment__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sporta-equipment__grid > div { position: relative; padding: 24px; overflow: hidden; border: 1px solid var(--sporta-line); border-radius: 20px; background: #fff; }
.sporta-equipment__grid > div > span { position: absolute; top: -22px; right: 5px; color: rgb(20 118 255 / 10%); font-size: 100px; font-weight: 950; line-height: 1; }
.sporta-equipment__grid h3 { position: relative; margin: 0 0 16px; }
.sporta-equipment__grid ul { position: relative; margin: 0; padding-left: 20px; }

.sporta-safety { padding: clamp(24px, 4vw, 42px); border-left: 7px solid var(--sporta-orange); border-radius: 0 var(--sporta-radius) var(--sporta-radius) 0; background: var(--sporta-navy-900); color: #fff; }
.sporta-safety h2 { margin: 4px 0 18px; }
.sporta-safety ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.sporta-safety li { padding: 7px 11px; border: 1px solid rgb(255 255 255 / 16%); border-radius: 999px; background: rgb(255 255 255 / 8%); font-size: 13px; font-weight: 760; }
.sporta-safety > p { margin-bottom: 0; color: #c1d0dc; font-size: 14px; }

.sporta-related__links { display: flex; flex-wrap: wrap; gap: 12px; }
.sporta-related__links a { min-width: 180px; display: flex; justify-content: space-between; gap: 20px; padding: 16px 18px; border: 1px solid var(--sporta-line); border-radius: 14px; background: #fff; color: var(--sporta-ink); font-weight: 820; text-decoration: none; }
.sporta-related__links a:hover { border-color: var(--sporta-cobalt); transform: translateY(-2px); }
.sporta-review-status { padding: 16px 18px; border: 1px solid #d8e0e6; border-radius: 14px; background: #f8fafb; color: var(--sporta-muted); font-size: 13px; }
.sporta-review-status p { margin: 4px 0 0; }

.sporta-source-panel {
  position: relative;
  overflow: hidden;
  margin-top: 34px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(9, 40, 62, .12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(192, 255, 41, .25), transparent 30%),
    linear-gradient(145deg, #fff 0%, #f3f7fa 100%);
  box-shadow: 0 22px 50px rgba(2, 27, 45, .1), inset 0 1px 0 rgba(255,255,255,.8);
}
.sporta-source-panel::after {
  content: "";
  position: absolute;
  right: -55px;
  top: -65px;
  width: 180px;
  aspect-ratio: 1;
  border: 28px solid rgba(16, 117, 255, .08);
  border-radius: 50%;
  transform: rotateX(62deg) rotateZ(-15deg);
  pointer-events: none;
}
.sporta-source-panel__header { position: relative; z-index: 1; }
.sporta-source-list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
  padding: 0;
  list-style: none;
}
.sporta-source-list li { padding: 15px 17px; border: 1px solid #dfe7ec; border-radius: 15px; background: rgba(255,255,255,.84); }
.sporta-source-list a { display: flex; justify-content: space-between; gap: 12px; color: var(--sporta-ink); font-weight: 800; text-decoration: none; }
.sporta-source-list a:hover { color: var(--sporta-blue); }
.sporta-source-list small { display: block; margin-top: 5px; color: var(--sporta-muted); }
.sporta-federation-link {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-radius: 17px;
  background: var(--sporta-ink);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(2, 27, 45, .18);
}
.sporta-federation-link small { display: block; color: #bdcbd5; }
.sporta-federation-link strong { display: block; margin-top: 2px; }
.sporta-federation-link > span:last-child { color: var(--sporta-lime); font-size: 28px; }

.sporta-program-header {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(30px, 5vw, 58px);
  border-radius: 0 0 34px 34px;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 88% 18%, rgba(192,255,41,.2), transparent 28%),
    #071e30;
  background-size: 54px 54px, 54px 54px, auto, auto;
  color: #fff;
  box-shadow: 0 28px 64px rgba(4, 31, 49, .2);
}
.sporta-program-header::after {
  content: "4";
  position: absolute;
  right: clamp(18px, 6vw, 78px);
  bottom: -42px;
  color: rgba(255,255,255,.045);
  font-size: clamp(180px, 34vw, 390px);
  font-weight: 950;
  line-height: .8;
  transform: translateZ(0) rotate(-7deg);
  pointer-events: none;
}
.sporta-program-header > * { position: relative; z-index: 1; }
.sporta-program-header .sporta-kicker { color: var(--sporta-lime); }
.sporta-program-header .sporta-page-header__lead { color: #cad6de; }
.sporta-program-header__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.sporta-program-header .sporta-button--dark { background: var(--sporta-lime); color: var(--sporta-ink); }
.sporta-program-header .sporta-button--outline { border-color: rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.07); }
.sporta-program-header button.sporta-button { cursor: pointer; font-family: inherit; }
.sporta-program-header__review { margin: 20px 0 0; color: #9eb1be; font-size: 13px; }
.sporta-program-content { max-width: 920px; margin-inline: auto; padding-top: clamp(30px, 6vw, 70px); }
.sporta-program-intro { font-size: clamp(20px, 2.6vw, 28px); line-height: 1.45; color: var(--sporta-ink); }
.sporta-program-scope,
.sporta-program-alert {
  margin: 28px 0;
  padding: 22px 24px;
  border-radius: 18px;
  background: #edf5fb;
  border-left: 5px solid var(--sporta-blue);
}
.sporta-program-scope p { margin-bottom: 0; }
.sporta-program-week {
  position: relative;
  isolation: isolate;
  margin: 28px 0;
  padding: clamp(25px, 4vw, 38px);
  border: 1px solid rgba(9, 40, 62, .12);
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #f4f7f9);
  box-shadow: 0 18px 38px rgba(3, 30, 48, .09);
  transform: perspective(900px) rotateX(.35deg);
}
.sporta-program-week::before {
  content: "";
  position: absolute;
  inset: 10px -8px -10px 8px;
  z-index: -1;
  border-radius: inherit;
  background: #dce6ec;
  opacity: .6;
}
.sporta-program-week > span { display: inline-flex; padding: 6px 11px; border-radius: 999px; background: var(--sporta-lime); color: var(--sporta-ink); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.sporta-program-week h2 { margin-top: 12px; }
.sporta-program-alert { border-left-color: var(--sporta-orange); background: #fff3ed; }
.sporta-program-alert h2 { margin-top: 0; }
.sporta-program-sources { padding-left: 1.2em; }
.sporta-program-sources a { font-weight: 800; }
.sporta-program-review { padding-top: 16px; border-top: 1px solid #d9e1e6; color: var(--sporta-muted); font-size: 14px; }

.sporta-program--simning .sporta-program-header {
  background:
    radial-gradient(ellipse at 85% 8%, rgba(105, 229, 255, .4), transparent 27%),
    radial-gradient(ellipse at 12% 105%, rgba(20, 118, 255, .45), transparent 42%),
    repeating-radial-gradient(ellipse at 80% 85%, transparent 0 24px, rgba(255,255,255,.045) 25px 27px),
    linear-gradient(145deg, #031c33, #075a83 62%, #0c87a5);
}
.sporta-program--simning .sporta-program-header .sporta-kicker { color: #9af0ff; }
.sporta-program--simning .sporta-program-header .sporta-button--dark { background: #9af0ff; }
.sporta-program--simning .sporta-program-week > span { background: #0d8fd0; color: #fff; }
.sporta-program--simning .sporta-program-week::before { background: #c9eaf3; }
.sporta-program--simning .sporta-program-scope { border-left-color: #0d8fd0; background: #eaf8fc; }

.sporta-program--vandring .sporta-program-header {
  background:
    linear-gradient(118deg, transparent 0 58%, rgba(255,255,255,.045) 58.2% 58.8%, transparent 59% 67%, rgba(255,255,255,.04) 67.2% 67.8%, transparent 68%),
    radial-gradient(circle at 88% 15%, rgba(255, 178, 73, .38), transparent 25%),
    linear-gradient(145deg, #071f1b, #164b36 62%, #38653c);
}
.sporta-program--vandring .sporta-program-header .sporta-kicker { color: #ffd083; }
.sporta-program--vandring .sporta-program-header .sporta-button--dark { background: #ffd083; }
.sporta-program--vandring .sporta-program-week > span { background: #d96e32; color: #fff; }
.sporta-program--vandring .sporta-program-week::before { background: #d8e4d7; }
.sporta-program--vandring .sporta-program-scope { border-left-color: #39754d; background: #eef6ee; }

.sporta-program--fotboll .sporta-program-header {
  background:
    radial-gradient(circle at 78% 54%, transparent 0 54px, rgba(255,255,255,.18) 55px 58px, transparent 59px),
    linear-gradient(90deg, transparent 0 74%, rgba(255,255,255,.14) 74.2% 74.7%, transparent 75%),
    repeating-linear-gradient(100deg, rgba(255,255,255,.025) 0 70px, rgba(0,0,0,.05) 70px 140px),
    linear-gradient(145deg, #052719, #087342 58%, #19a65d);
}
.sporta-program--fotboll .sporta-program-header .sporta-kicker { color: #c8ff48; }
.sporta-program--fotboll .sporta-program-header .sporta-button--dark { background: #c8ff48; }
.sporta-program--fotboll .sporta-program-week > span { background: #087342; color: #fff; }
.sporta-program--fotboll .sporta-program-week::before { background: #cfe9d8; }
.sporta-program--fotboll .sporta-program-scope { border-left-color: #087342; background: #edf8f0; }

.sporta-program--innebandy .sporta-program-header {
  background:
    linear-gradient(90deg, transparent 0 70%, rgba(255,255,255,.12) 70.2% 70.7%, transparent 71%),
    linear-gradient(transparent 0 69%, rgba(255,255,255,.12) 69.2% 69.7%, transparent 70%),
    radial-gradient(circle at 82% 14%, rgba(255,94,76,.52), transparent 25%),
    linear-gradient(145deg, #07182d, #143f69 57%, #742750);
}
.sporta-program--innebandy .sporta-program-header .sporta-kicker { color: #ffb496; }
.sporta-program--innebandy .sporta-program-header .sporta-button--dark { background: #ffb496; }
.sporta-program--innebandy .sporta-program-week > span { background: #e14954; color: #fff; }
.sporta-program--innebandy .sporta-program-week::before { background: #e5d8e5; }
.sporta-program--innebandy .sporta-program-scope { border-left-color: #e14954; background: #fff0f2; }

.sporta-program--padel .sporta-program-header {
  background:
    linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px),
    radial-gradient(circle at 82% 18%, rgba(200,255,72,.34), transparent 24%),
    linear-gradient(145deg, #071c3b, #174f8f 57%, #5d3cac);
  background-size: 62px 62px, 62px 62px, auto, auto;
}
.sporta-program--padel .sporta-program-header .sporta-kicker { color: #c8ff48; }
.sporta-program--padel .sporta-program-header .sporta-button--dark { background: #c8ff48; }
.sporta-program--padel .sporta-program-week > span { background: #5d3cac; color: #fff; }
.sporta-program--padel .sporta-program-week::before { background: #dcd8ef; }
.sporta-program--padel .sporta-program-scope { border-left-color: #5d3cac; background: #f3f0fb; }

.sporta-sport--fotboll .sporta-page-header--sport,
.sporta-sport--innebandy .sporta-page-header--sport,
.sporta-sport--padel .sporta-page-header--sport {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  max-width: none;
  padding: clamp(28px, 5vw, 58px);
  border-radius: 0 0 34px 34px;
  color: #fff;
  box-shadow: 0 28px 64px rgba(4,31,49,.2);
}
.sporta-sport--fotboll .sporta-page-header--sport > *,
.sporta-sport--innebandy .sporta-page-header--sport > *,
.sporta-sport--padel .sporta-page-header--sport > * { position: relative; z-index: 1; }
.sporta-sport--fotboll .sporta-page-header__lead,
.sporta-sport--innebandy .sporta-page-header__lead,
.sporta-sport--padel .sporta-page-header__lead { color: rgba(255,255,255,.78); }
.sporta-sport--fotboll .sporta-page-header--sport {
  background: repeating-linear-gradient(100deg, rgba(255,255,255,.025) 0 70px, rgba(0,0,0,.05) 70px 140px), linear-gradient(145deg, #052719, #087342 58%, #19a65d);
}
.sporta-sport--innebandy .sporta-page-header--sport {
  background: radial-gradient(circle at 84% 10%, rgba(255,94,76,.55), transparent 26%), linear-gradient(145deg, #07182d, #143f69 57%, #742750);
}
.sporta-sport--padel .sporta-page-header--sport {
  background: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(145deg, #071c3b, #174f8f 57%, #5d3cac);
  background-size: 58px 58px, 58px 58px, auto;
}
.sporta-sport--fotboll .sporta-page-header--sport .sporta-kicker,
.sporta-sport--padel .sporta-page-header--sport .sporta-kicker { color: #c8ff48; }
.sporta-sport--innebandy .sporta-page-header--sport .sporta-kicker { color: #ffb496; }
.sporta-sport--fotboll .sporta-fact-bar,
.sporta-sport--innebandy .sporta-fact-bar,
.sporta-sport--padel .sporta-fact-bar { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.16); }
.sporta-sport--fotboll .sporta-fact-bar > span,
.sporta-sport--innebandy .sporta-fact-bar > span,
.sporta-sport--padel .sporta-fact-bar > span { background: rgba(4,23,39,.7); color: #fff; backdrop-filter: blur(10px); }
.sporta-sport--fotboll .sporta-fact-bar small,
.sporta-sport--innebandy .sporta-fact-bar small,
.sporta-sport--padel .sporta-fact-bar small { color: rgba(255,255,255,.68); }

@media (max-width: 720px) {
  .sporta-source-list { grid-template-columns: 1fr; }
  .sporta-program-header__actions { display: grid; }
  .sporta-program-header__actions .sporta-button { width: 100%; }
  .sporta-program-week { transform: none; }
}

@media (max-width: 900px) {
  .sporta-catalog__filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sporta-fit-panel { grid-template-columns: 1fr 1fr; }
  .sporta-fit-panel > div:first-child { grid-column: 1 / -1; }
  .sporta-equipment__grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .sporta-catalog__filter-heading { align-items: start; flex-direction: column; }
  .sporta-catalog__filter-grid { grid-template-columns: 1fr; }
  .sporta-compare { align-items: stretch; flex-wrap: wrap; }
  .sporta-compare > div { flex-basis: 100%; }
  .sporta-compare-dialog [data-compare-content] { grid-template-columns: 1fr; }
  .sporta-fit-panel { grid-template-columns: 1fr; }
  .sporta-fit-panel > div:first-child { grid-column: auto; }
  .sporta-breadcrumbs { margin-top: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .sporta-related__links a { transform: none !important; }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  background: var(--sporta-surface);
  color: var(--sporta-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

body.sporta-menu-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid var(--sporta-lime);
  outline-offset: 4px;
}

.sporta-shell {
  width: min(100% - (var(--sporta-pad) * 2), var(--sporta-shell));
  margin-inline: auto;
}

.sporta-skip-link {
  position: fixed;
  z-index: 9999;
  top: 12px;
  left: 12px;
  padding: 12px 18px;
  border-radius: 10px;
  background: var(--sporta-lime);
  color: var(--sporta-navy-950);
  font-weight: 800;
  transform: translateY(-180%);
}

.sporta-skip-link:focus {
  transform: translateY(0);
}

.sporta-family {
  position: relative;
  z-index: 60;
  min-height: 34px;
  background: #03101c;
  color: #c9d5df;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .04em;
}

.sporta-family__inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.sporta-family__label {
  text-transform: uppercase;
  letter-spacing: .11em;
  color: #8194a4;
}

.sporta-family nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.sporta-family nav a {
  padding: 4px 10px;
  border-radius: 999px;
  color: #eaf1f6;
  text-decoration: none;
  transition: color .2s ease, background .2s ease;
}

.sporta-family nav a:hover,
.sporta-family nav a:focus-visible {
  background: rgb(255 255 255 / 9%);
  color: var(--sporta-lime);
}

.sporta-header {
  position: sticky;
  z-index: 50;
  top: 0;
  height: 76px;
  border-bottom: 1px solid rgb(255 255 255 / 8%);
  background: rgb(7 23 39 / 87%);
  color: var(--sporta-white);
  box-shadow: 0 10px 28px rgb(0 0 0 / 8%);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.sporta-header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.sporta-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--sporta-white);
  text-decoration: none;
}

.sporta-brand .custom-logo-link,
.sporta-brand .custom-logo {
  display: block;
  max-height: 48px;
  width: auto;
}

.sporta-brand__mark {
  position: relative;
  width: 36px;
  height: 36px;
  display: inline-block;
  transform: skewX(-10deg);
}

.sporta-brand__mark i {
  position: absolute;
  left: 1px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sporta-orange), var(--sporta-lime));
  box-shadow: 0 0 18px rgb(200 255 66 / 25%);
}

.sporta-brand__mark i:nth-child(1) { top: 4px; width: 25px; }
.sporta-brand__mark i:nth-child(2) { top: 15px; width: 34px; }
.sporta-brand__mark i:nth-child(3) { top: 26px; width: 19px; }

.sporta-brand__word {
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: 1;
}

.sporta-brand__word span {
  color: var(--sporta-orange);
}

.sporta-nav {
  display: flex;
  align-items: center;
  gap: 22px;
}

.sporta-nav__list {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sporta-nav__list a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: #dce8f1;
  font-size: 14px;
  font-weight: 720;
  text-decoration: none;
  transition: color .2s ease, background .2s ease;
}

.sporta-nav__list a:hover,
.sporta-nav__list .current-menu-item > a {
  background: rgb(255 255 255 / 8%);
  color: var(--sporta-white);
}

.sporta-nav-toggle {
  display: none;
  min-width: 48px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 12px;
  background: rgb(255 255 255 / 7%);
  color: var(--sporta-white);
  cursor: pointer;
}

.sporta-nav-toggle__label {
  font-size: 13px;
  font-weight: 780;
}

.sporta-nav-toggle__icon {
  width: 21px;
  display: grid;
  gap: 4px;
}

.sporta-nav-toggle__icon i {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .25s ease, opacity .2s ease;
}

.sporta-button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 840;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  transition: transform .22s var(--sporta-ease), background .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.sporta-button:hover {
  transform: translateY(-2px);
}

.sporta-button--small {
  min-height: 42px;
  padding: 9px 17px;
  background: var(--sporta-lime);
  color: var(--sporta-navy-950);
  font-size: 13px;
}

.sporta-button--primary {
  background: linear-gradient(135deg, var(--sporta-orange), #ff8154);
  color: #1f0c05;
  box-shadow: 0 16px 34px rgb(255 107 61 / 28%);
}

.sporta-button--primary:hover {
  box-shadow: 0 20px 40px rgb(255 107 61 / 38%);
}

.sporta-button--glass {
  border-color: rgb(255 255 255 / 25%);
  background: rgb(8 25 40 / 44%);
  color: var(--sporta-white);
  backdrop-filter: blur(12px);
}

.sporta-button--glass:hover {
  border-color: rgb(255 255 255 / 50%);
  background: rgb(8 25 40 / 62%);
}

.sporta-button--dark {
  background: var(--sporta-navy-950);
  color: var(--sporta-white);
  box-shadow: 0 15px 36px rgb(3 16 28 / 20%);
}

.sporta-hero {
  position: relative;
  min-height: min(900px, calc(100svh - 76px));
  overflow: clip;
  display: flex;
  align-items: stretch;
  isolation: isolate;
  background: var(--sporta-navy-950);
  color: var(--sporta-white);
}

.sporta-hero::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(3 15 27 / 97%) 0%, rgb(3 16 29 / 84%) 34%, rgb(3 16 29 / 17%) 69%, rgb(3 16 29 / 15%) 100%),
    linear-gradient(0deg, rgb(4 17 30 / 90%) 0%, transparent 38%);
  pointer-events: none;
}

.sporta-hero__scene,
.sporta-hero__layer,
.sporta-hero__noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sporta-hero__scene {
  z-index: 1;
  perspective: 1300px;
  transform-style: preserve-3d;
}

.sporta-hero__world {
  inset: -5%;
  transform: translate3d(calc(var(--sporta-px) * -8px), calc(var(--sporta-py) * -5px + var(--sporta-scroll) * 30px), -90px) scale(1.11);
  will-change: transform;
}

.sporta-hero__world img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.07) contrast(1.03);
}

.sporta-hero__glow {
  z-index: 1;
  inset: 8% -8% auto auto;
  width: 55vw;
  height: 55vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(255 161 83 / 26%) 0%, rgb(44 151 255 / 11%) 32%, transparent 67%);
  transform: translate3d(calc(var(--sporta-px) * 12px), calc(var(--sporta-py) * 9px), 10px);
  filter: blur(6px);
}

.sporta-hero__cyclist {
  z-index: 2;
  top: auto;
  right: 23%;
  bottom: 19%;
  left: auto;
  width: min(37vw, 610px);
  opacity: .82;
  transform: translate3d(calc(var(--sporta-px) * -19px), calc(var(--sporta-py) * -11px + var(--sporta-scroll) * -18px), 52px) rotate(-1.5deg);
  filter: drop-shadow(0 28px 36px rgb(0 0 0 / 28%));
  will-change: transform;
}

.sporta-hero__runner {
  z-index: 5;
  top: auto;
  right: 2.5%;
  bottom: -12%;
  left: auto;
  width: min(34vw, 520px);
  transform: translate3d(calc(var(--sporta-px) * -32px), calc(var(--sporta-py) * -21px + var(--sporta-scroll) * -34px), 130px);
  filter: drop-shadow(0 34px 46px rgb(0 0 0 / 40%));
  will-change: transform;
}

.sporta-hero__track-lines {
  z-index: 4;
  top: auto;
  right: -7%;
  bottom: -18%;
  left: auto;
  width: 72vw;
  height: 39vw;
  transform: perspective(800px) rotateX(68deg) rotateZ(-7deg) translate3d(calc(var(--sporta-px) * 8px), calc(var(--sporta-py) * 5px), 0);
  transform-origin: center bottom;
  opacity: .42;
}

.sporta-hero__track-lines i {
  position: absolute;
  inset: 0;
  border: 2px solid rgb(223 242 255 / 56%);
  border-radius: 50%;
  box-shadow: 0 0 22px rgb(40 150 255 / 25%);
}

.sporta-hero__track-lines i:nth-child(2) { inset: 8%; }
.sporta-hero__track-lines i:nth-child(3) { inset: 16%; }

.sporta-hero__noise {
  z-index: 6;
  opacity: .08;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.sporta-hero__inner {
  position: relative;
  z-index: 8;
  display: flex;
  align-items: center;
  min-height: inherit;
  padding-block: clamp(100px, 12vh, 150px) 140px;
}

.sporta-hero__copy {
  width: min(55%, 660px);
}

.sporta-eyebrow,
.sporta-kicker {
  margin: 0 0 17px;
  color: var(--sporta-cobalt);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.sporta-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--sporta-sky);
}

.sporta-eyebrow span {
  width: 38px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sporta-orange), var(--sporta-lime));
}

.sporta-hero h1,
.sporta-page-header h1,
.sporta-section-heading h2,
.sporta-local h2,
.sporta-family-panel h2,
.sporta-error h1 {
  margin: 0;
  font-weight: 930;
  letter-spacing: -.055em;
  line-height: .97;
  text-wrap: balance;
}

.sporta-hero h1 {
  max-width: 700px;
  font-size: clamp(58px, 7.8vw, 112px);
  text-shadow: 0 10px 36px rgb(0 0 0 / 20%);
}

.sporta-hero h1 em {
  display: block;
  color: var(--sporta-orange);
  font-style: normal;
}

.sporta-hero__lead {
  max-width: 610px;
  margin: 28px 0 0;
  color: #d5e1e9;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.48;
  text-wrap: pretty;
}

.sporta-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.sporta-hero__promises {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 26px 0 0;
  padding: 0;
  color: #b9c8d3;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}

.sporta-hero__promises li {
  display: flex;
  align-items: center;
  gap: 7px;
}

.sporta-hero__promises span {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border: 1px solid rgb(200 255 66 / 42%);
  border-radius: 50%;
  color: var(--sporta-lime);
  font-size: 11px;
}

.sporta-hero__scroll {
  position: absolute;
  z-index: 9;
  right: max(var(--sporta-pad), calc((100vw - var(--sporta-shell)) / 2));
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d4e1ea;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.sporta-hero__scroll i {
  position: relative;
  width: 28px;
  height: 43px;
  border: 1px solid rgb(255 255 255 / 36%);
  border-radius: 999px;
}

.sporta-hero__scroll i::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 50%;
  width: 4px;
  height: 8px;
  border-radius: 999px;
  background: var(--sporta-orange);
  transform: translateX(-50%);
  animation: sporta-scroll 1.8s ease-in-out infinite;
}

@keyframes sporta-scroll {
  0%, 100% { transform: translate(-50%, 0); opacity: .4; }
  50% { transform: translate(-50%, 12px); opacity: 1; }
}

.sporta-section {
  position: relative;
  padding-block: clamp(76px, 10vw, 140px);
}

.sporta-section-heading {
  max-width: 850px;
  margin-bottom: clamp(36px, 5vw, 62px);
}

.sporta-section-heading--split {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  align-items: end;
  gap: 50px;
}

.sporta-section-heading h2,
.sporta-local h2,
.sporta-family-panel h2 {
  font-size: clamp(42px, 5.5vw, 76px);
}

.sporta-section-heading > p,
.sporta-section-heading--split > p,
.sporta-local__copy > p,
.sporta-family-panel > div > p {
  margin: 0;
  color: var(--sporta-muted);
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.65;
}

.sporta-section--selector {
  background:
    radial-gradient(circle at 80% 20%, rgb(43 156 255 / 13%), transparent 36%),
    var(--sporta-surface);
}

.sporta-notice {
  grid-column: 1 / -1;
  padding: 20px 22px;
  border: 1px solid #cbd8e1;
  border-radius: var(--sporta-radius-sm);
  background: var(--sporta-white);
  color: var(--sporta-muted);
}

.sporta-selector {
  position: relative;
  overflow: hidden;
  border-radius: var(--sporta-radius-lg);
  background:
    radial-gradient(circle at 95% 0%, rgb(20 118 255 / 28%), transparent 34%),
    linear-gradient(145deg, #071727, #0b263d);
  color: var(--sporta-white);
  box-shadow: var(--sporta-shadow);
}

.sporta-selector::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 65%);
  pointer-events: none;
}

.sporta-selector__bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px clamp(22px, 4vw, 46px);
  border-bottom: 1px solid rgb(255 255 255 / 10%);
}

.sporta-selector__status {
  color: #a9bdca;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sporta-selector__progress {
  flex: 1 1 300px;
  max-width: 430px;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(255 255 255 / 10%);
}

.sporta-selector__progress span {
  display: block;
  width: var(--sporta-progress, 20%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sporta-orange), var(--sporta-lime));
  transition: width .45s var(--sporta-ease);
}

.sporta-selector__panel {
  position: relative;
  min-height: 410px;
  padding: clamp(32px, 5vw, 64px);
}

.sporta-selector__step[hidden],
.sporta-selector__results[hidden] {
  display: none;
}

.sporta-selector__step {
  animation: sporta-step-in .35s var(--sporta-ease) both;
}

@keyframes sporta-step-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.sporta-selector fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.sporta-selector legend,
.sporta-selector__results h3 {
  max-width: 850px;
  margin: 0 0 12px;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.1;
}

.sporta-selector__hint {
  margin: 0 0 30px;
  color: #b9c9d4;
}

.sporta-selector__options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.sporta-selector__option {
  position: relative;
  min-height: 92px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 18px;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 18px;
  background: rgb(255 255 255 / 6%);
  color: var(--sporta-white);
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s var(--sporta-ease);
}

.sporta-selector__option:hover,
.sporta-selector__option[aria-pressed="true"] {
  border-color: rgb(200 255 66 / 58%);
  background: rgb(200 255 66 / 11%);
  transform: translateY(-2px);
}

.sporta-selector__option-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: rgb(255 255 255 / 9%);
  color: var(--sporta-lime);
  font-size: 21px;
  font-weight: 900;
}

.sporta-selector__option-copy strong,
.sporta-selector__option-copy small {
  display: block;
}

.sporta-selector__option-copy strong {
  font-size: 16px;
}

.sporta-selector__option-copy small {
  margin-top: 2px;
  color: #aabcc8;
  font-size: 12px;
  line-height: 1.35;
}

.sporta-selector__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 30px;
}

.sporta-selector__back,
.sporta-selector__reset {
  min-height: 44px;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  color: #c4d1da;
  font-weight: 760;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.sporta-selector__all {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 11px;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.sporta-selector__result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.sporta-selector__result {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 24px;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 22px;
  background: rgb(255 255 255 / 7%);
}

.sporta-selector__result:first-child {
  border-color: rgb(255 107 61 / 50%);
  background: linear-gradient(145deg, rgb(255 107 61 / 18%), rgb(255 255 255 / 7%));
}

.sporta-selector__result span {
  color: var(--sporta-lime);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sporta-selector__result h4 {
  margin: 10px 0 8px;
  font-size: 25px;
  line-height: 1.12;
}

.sporta-selector__result p {
  flex: 1;
  margin: 0 0 20px;
  color: #bdccd6;
  font-size: 14px;
  line-height: 1.55;
}

.sporta-selector__result .sporta-selector__why {
  flex: 0 0 auto;
  margin-bottom: 12px;
  color: #e2f5af;
  font-weight: 720;
}

.sporta-selector__result a {
  align-self: flex-start;
  color: var(--sporta-white);
  font-weight: 850;
}

.sporta-section--journey {
  overflow: hidden;
  background: var(--sporta-white);
}

.sporta-section--journey::after {
  content: "SPORTA";
  position: absolute;
  right: -1vw;
  bottom: -5vw;
  color: #f1f5f7;
  font-size: clamp(100px, 20vw, 310px);
  font-weight: 950;
  letter-spacing: -.09em;
  line-height: .8;
  pointer-events: none;
}

.sporta-journey {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--sporta-line);
  border-radius: var(--sporta-radius);
  background: var(--sporta-line);
  overflow: hidden;
  list-style: none;
}

.sporta-journey li {
  min-height: 260px;
  padding: clamp(20px, 2.5vw, 32px);
  background: var(--sporta-white);
  transition: background .25s ease, transform .25s var(--sporta-ease);
}

.sporta-journey li:hover {
  background: var(--sporta-sky);
}

.sporta-journey li > span {
  display: block;
  margin-bottom: 44px;
  color: var(--sporta-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .15em;
}

.sporta-journey strong {
  display: block;
  font-size: clamp(22px, 2vw, 29px);
  letter-spacing: -.03em;
}

.sporta-journey p {
  margin: 10px 0 0;
  color: var(--sporta-muted);
  font-size: 14px;
  line-height: 1.55;
}

.sporta-section--sports {
  background: var(--sporta-surface);
}

.sporta-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--sporta-ink);
  font-weight: 850;
  text-decoration: none;
}

.sporta-text-link span,
.sporta-card__link span {
  color: var(--sporta-orange);
  transition: transform .2s ease;
}

.sporta-text-link:hover span,
.sporta-card__link:hover span {
  transform: translateX(4px);
}

.sporta-card-grid {
  display: grid;
  gap: 20px;
}

.sporta-card-grid--sports {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.sporta-card-grid--sports .sporta-card:nth-child(1),
.sporta-card-grid--sports .sporta-card:nth-child(2) {
  grid-column: span 3;
}

.sporta-card-grid--sports .sporta-card:nth-child(n+3) {
  grid-column: span 2;
}

.sporta-card-grid--archive .sporta-card:nth-child(n) {
  grid-column: span 2;
}

.sporta-card-grid--guides {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sporta-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--sporta-line);
  border-radius: var(--sporta-radius);
  background: var(--sporta-white);
  box-shadow: 0 16px 40px rgb(7 23 39 / 6%);
  transition: transform .3s var(--sporta-ease), box-shadow .3s ease, border-color .3s ease;
}

.sporta-card:hover {
  border-color: #c5d4df;
  box-shadow: 0 24px 52px rgb(7 23 39 / 12%);
  transform: translateY(-6px);
}

.sporta-card__media {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--sporta-navy-800);
}

.sporta-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--sporta-ease);
}

.sporta-card:hover .sporta-card__media img {
  transform: scale(1.045);
}

.sporta-card__placeholder {
  height: 100%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 75% 22%, rgb(200 255 66 / 33%), transparent 18%),
    linear-gradient(145deg, var(--sporta-navy-800), var(--sporta-cobalt));
  color: rgb(255 255 255 / 85%);
}

.sporta-card__placeholder span {
  font-size: clamp(64px, 9vw, 130px);
  font-weight: 950;
  letter-spacing: -.08em;
  transform: skewX(-7deg);
  text-shadow: 18px 20px 0 rgb(3 16 28 / 15%);
}

.sporta-card__body {
  padding: clamp(21px, 3vw, 32px);
}

.sporta-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--sporta-cobalt);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sporta-card h3 {
  margin: 11px 0 10px;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.sporta-card h3 a {
  text-decoration: none;
}

.sporta-card p {
  margin: 0;
  color: var(--sporta-muted);
  font-size: 15px;
  line-height: 1.6;
}

.sporta-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  color: var(--sporta-ink);
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
}

.sporta-section--local {
  padding-block: 0;
  background: linear-gradient(90deg, var(--sporta-cobalt), var(--sporta-cobalt-2));
  color: var(--sporta-white);
}

.sporta-local {
  min-height: 590px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(40px, 7vw, 100px);
}

.sporta-local__visual {
  position: relative;
  align-self: stretch;
  min-height: 500px;
}

.sporta-local__rings {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(42vw, 520px);
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%) rotateX(62deg) rotateZ(-17deg);
  transform-style: preserve-3d;
}

.sporta-local__rings::before {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, var(--sporta-lime), var(--sporta-orange) 42%, transparent 44%);
  filter: blur(1px) drop-shadow(0 26px 34px rgb(4 17 30 / 25%));
  transform: translateZ(74px);
}

.sporta-local__rings i {
  position: absolute;
  border: 2px solid rgb(255 255 255 / 36%);
  border-radius: 50%;
  animation: sporta-radar 3.8s ease-out infinite;
}

.sporta-local__rings i:nth-child(1) { inset: 5%; animation-delay: 0s; }
.sporta-local__rings i:nth-child(2) { inset: 18%; animation-delay: .8s; }
.sporta-local__rings i:nth-child(3) { inset: 31%; animation-delay: 1.6s; }

@keyframes sporta-radar {
  0% { opacity: .1; transform: scale(.82); }
  55% { opacity: .9; }
  100% { opacity: .05; transform: scale(1.08); }
}

.sporta-local__copy {
  padding-block: 80px;
}

.sporta-local .sporta-kicker {
  color: var(--sporta-lime);
}

.sporta-local h2 {
  max-width: 600px;
}

.sporta-local__copy > p {
  max-width: 630px;
  margin: 24px 0 30px;
  color: #e1eff8;
}

.sporta-section--guides {
  background: var(--sporta-white);
}

.sporta-ad-slot {
  margin-top: 36px;
  padding: 14px 18px;
  border: 1px solid var(--sporta-line);
  border-radius: var(--sporta-radius-sm);
  background: #f8fafb;
  color: var(--sporta-muted);
  font-size: 13px;
}

.sporta-ad-slot__label {
  display: inline-block;
  margin-right: 10px;
  color: #7a8994;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.sporta-ad-slot a {
  font-weight: 800;
}

.sporta-section--family {
  overflow: hidden;
  background: var(--sporta-navy-950);
  color: var(--sporta-white);
}

.sporta-section--family::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgb(255 107 61 / 18%), transparent 31%),
    radial-gradient(circle at 83% 84%, rgb(20 118 255 / 26%), transparent 34%);
}

.sporta-family-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: clamp(45px, 7vw, 100px);
}

.sporta-family-panel .sporta-kicker {
  color: var(--sporta-lime);
}

.sporta-family-panel > div > p {
  margin-top: 22px;
  color: #b8c8d3;
}

.sporta-family-cards {
  display: grid;
  gap: 12px;
}

.sporta-family-cards a {
  position: relative;
  display: grid;
  grid-template-columns: 120px 1fr 1.2fr;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  padding: 18px 24px;
  border: 1px solid rgb(255 255 255 / 11%);
  border-radius: 19px;
  background: rgb(255 255 255 / 5%);
  text-decoration: none;
  transition: border-color .22s ease, background .22s ease, transform .22s var(--sporta-ease);
}

.sporta-family-cards a::after {
  content: "→";
  position: absolute;
  right: 22px;
  color: var(--sporta-orange);
  font-size: 22px;
}

.sporta-family-cards a:hover {
  border-color: rgb(200 255 66 / 46%);
  background: rgb(255 255 255 / 9%);
  transform: translateX(5px);
}

.sporta-family-cards span,
.sporta-family-cards strong,
.sporta-family-cards em {
  display: block;
}

.sporta-family-cards span {
  color: var(--sporta-lime);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sporta-family-cards strong {
  font-size: 22px;
}

.sporta-family-cards em {
  padding-right: 30px;
  color: #a9bbc7;
  font-size: 14px;
  font-style: normal;
}

.sporta-footer {
  padding-top: 70px;
  background: #020b13;
  color: #b6c5d0;
}

.sporta-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr .8fr .9fr 1.2fr;
  gap: clamp(30px, 5vw, 70px);
}

.sporta-brand--footer {
  margin-bottom: 20px;
}

.sporta-footer p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}

.sporta-footer h2 {
  margin: 0 0 15px;
  color: var(--sporta-white);
  font-size: 14px;
  letter-spacing: .04em;
}

.sporta-footer ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sporta-footer li,
.sporta-footer a {
  font-size: 13px;
}

.sporta-footer a:hover {
  color: var(--sporta-lime);
}

.sporta-footer__family-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 16px;
}

.sporta-footer__family-links a {
  padding: 7px 10px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 999px;
  text-decoration: none;
}

.sporta-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 60px;
  padding-block: 22px;
  border-top: 1px solid rgb(255 255 255 / 9%);
  color: #738694;
}

.sporta-main {
  min-height: 60vh;
  padding-block: clamp(60px, 9vw, 120px);
}

.sporta-page-header {
  max-width: 900px;
  margin-bottom: clamp(38px, 6vw, 70px);
}

.sporta-page-header h1,
.sporta-error h1 {
  font-size: clamp(48px, 7vw, 94px);
}

.sporta-page-header__lead {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--sporta-muted);
  font-size: clamp(19px, 2.2vw, 25px);
  line-height: 1.55;
}

.sporta-article {
  max-width: 960px;
  margin-inline: auto;
}

.sporta-article--sport {
  max-width: none;
}

.sporta-page-header--sport {
  max-width: 1040px;
}

.sporta-fact-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  margin-top: 34px;
  overflow: hidden;
  border: 1px solid var(--sporta-line);
  border-radius: 17px;
  background: var(--sporta-line);
}

.sporta-fact-bar > span {
  min-width: 180px;
  display: grid;
  gap: 2px;
  padding: 15px 19px;
  background: var(--sporta-white);
}

.sporta-fact-bar small {
  color: var(--sporta-muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sporta-fact-bar strong {
  font-size: 14px;
}

.sporta-sport-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  align-items: start;
  gap: clamp(40px, 7vw, 90px);
}

.sporta-first-step {
  position: sticky;
  top: 110px;
  padding: 28px;
  border: 1px solid #cbd9e2;
  border-radius: var(--sporta-radius);
  background:
    radial-gradient(circle at 90% 5%, rgb(200 255 66 / 42%), transparent 25%),
    var(--sporta-white);
  box-shadow: 0 18px 46px rgb(7 23 39 / 9%);
}

.sporta-first-step h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.04em;
  line-height: 1.05;
}

.sporta-first-step p:not(.sporta-kicker) {
  margin: 17px 0 23px;
  color: var(--sporta-muted);
  font-size: 15px;
}

.sporta-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-top: 24px;
  color: var(--sporta-muted);
  font-size: 13px;
  font-weight: 760;
}

.sporta-article__hero {
  overflow: hidden;
  margin: 0 0 46px;
  border-radius: var(--sporta-radius);
}

.sporta-article__hero img {
  width: 100%;
}

.sporta-prose {
  max-width: 780px;
  font-size: 18px;
}

.sporta-prose > *:first-child {
  margin-top: 0;
}

.sporta-prose h2,
.sporta-prose h3 {
  margin-top: 2.2em;
  margin-bottom: .65em;
  letter-spacing: -.03em;
  line-height: 1.16;
}

.sporta-prose h2 { font-size: clamp(30px, 4vw, 44px); }
.sporta-prose h3 { font-size: clamp(24px, 3vw, 31px); }
.sporta-prose p,
.sporta-prose ul,
.sporta-prose ol { margin-block: 0 1.25em; }
.sporta-prose a { color: #075fca; }
.sporta-prose blockquote {
  margin: 2em 0;
  padding: 18px 26px;
  border-left: 5px solid var(--sporta-orange);
  background: var(--sporta-white);
  font-size: 1.12em;
}

.sporta-error {
  max-width: 760px;
  margin-inline: auto;
  padding-block: 60px;
  text-align: center;
}

.sporta-error p:not(.sporta-kicker) {
  margin: 24px auto 30px;
  color: var(--sporta-muted);
  font-size: 20px;
}

.nav-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
}

.page-numbers {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 7px 12px;
  border-radius: 10px;
  background: var(--sporta-white);
  text-decoration: none;
}

.page-numbers.current {
  background: var(--sporta-ink);
  color: var(--sporta-white);
}

@media (max-width: 1120px) {
  .sporta-nav__list a { padding-inline: 8px; font-size: 13px; }
  .sporta-nav { gap: 10px; }
  .sporta-hero__copy { width: min(61%, 630px); }
  .sporta-hero__runner { right: -5%; width: min(39vw, 480px); }
  .sporta-hero__cyclist { right: 18%; width: 37vw; opacity: .67; }
  .sporta-journey { grid-template-columns: repeat(3, 1fr); }
  .sporta-journey li:nth-child(n+4) { border-top: 1px solid var(--sporta-line); }
  .sporta-footer__grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .sporta-footer__family { grid-column: 1 / -1; }
}

@media (max-width: 930px) {
  .sporta-header { height: 70px; }
  .sporta-nav-toggle { display: inline-flex; }
  .sporta-nav {
    position: fixed;
    z-index: 90;
    top: 104px;
    right: 0;
    bottom: 0;
    width: min(88vw, 410px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
    padding: 26px var(--sporta-pad) 40px;
    background: rgb(4 17 30 / 98%);
    box-shadow: -20px 0 50px rgb(0 0 0 / 28%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(105%);
    transition:
      transform .3s var(--sporta-ease),
      opacity .2s ease,
      visibility 0s linear .3s;
    overflow-y: auto;
  }
  .sporta-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    transition-delay: 0s;
  }
  .sporta-nav__list { display: grid; align-items: stretch; gap: 4px; }
  .sporta-nav__list a { padding: 14px 12px; font-size: 17px; }
  .sporta-nav__cta { align-self: stretch; }
  .sporta-nav-toggle[aria-expanded="true"] .sporta-nav-toggle__icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .sporta-nav-toggle[aria-expanded="true"] .sporta-nav-toggle__icon i:nth-child(2) { opacity: 0; }
  .sporta-nav-toggle[aria-expanded="true"] .sporta-nav-toggle__icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .sporta-hero { min-height: 820px; }
  .sporta-hero__copy { width: min(67%, 600px); }
  .sporta-hero__cyclist { display: none; }
  .sporta-hero__runner { right: -10%; width: min(47vw, 450px); opacity: .9; }
  .sporta-section-heading--split { grid-template-columns: 1fr; align-items: start; gap: 20px; }
  .sporta-selector__options { grid-template-columns: repeat(2, 1fr); }
  .sporta-selector__result-grid { grid-template-columns: 1fr; }
  .sporta-selector__result { min-height: 0; }
  .sporta-card-grid--sports { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sporta-card-grid--sports .sporta-card:nth-child(n) { grid-column: span 1; }
  .sporta-card-grid--sports .sporta-card:first-child { grid-column: 1 / -1; }
  .sporta-card-grid--guides { grid-template-columns: repeat(2, 1fr); }
  .sporta-card-grid--guides .sporta-card:last-child { grid-column: 1 / -1; }
  .sporta-local { grid-template-columns: .85fr 1.15fr; }
  .sporta-family-panel { grid-template-columns: 1fr; }
  .sporta-sport-layout { grid-template-columns: 1fr; }
  .sporta-first-step { position: static; }
}

@media (max-width: 720px) {
  :root { --sporta-pad: 18px; }
  body { font-size: 16px; }
  .sporta-family__inner { justify-content: center; }
  .sporta-family__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sporta-family nav { width: 100%; justify-content: center; }
  .sporta-family nav a { padding-inline: 9px; }
  .sporta-header { height: 66px; }
  .sporta-nav { top: 100px; }
  .sporta-brand__mark { width: 31px; height: 32px; }
  .sporta-brand__mark i:nth-child(1) { width: 22px; }
  .sporta-brand__mark i:nth-child(2) { width: 30px; }
  .sporta-brand__mark i:nth-child(3) { width: 17px; }
  .sporta-brand__word { font-size: 27px; }
  .sporta-nav-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sporta-hero {
    min-height: 890px;
    align-items: flex-start;
  }
  .sporta-hero::before {
    background:
      linear-gradient(180deg, rgb(3 15 27 / 96%) 0%, rgb(3 15 27 / 86%) 48%, rgb(3 15 27 / 26%) 70%, rgb(3 15 27 / 84%) 100%),
      linear-gradient(90deg, rgb(3 15 27 / 55%), transparent);
  }
  .sporta-hero__inner {
    align-items: flex-start;
    padding-block: 70px 360px;
  }
  .sporta-hero__copy { width: 100%; }
  .sporta-hero h1 { max-width: 570px; font-size: clamp(54px, 17vw, 82px); }
  .sporta-hero__lead { max-width: 540px; font-size: 18px; }
  .sporta-hero__actions { align-items: stretch; }
  .sporta-hero__actions .sporta-button { flex: 1 1 220px; }
  .sporta-hero__promises { display: grid; }
  .sporta-hero__world { inset: -2%; transform: scale(1.06); }
  .sporta-hero__world img { object-position: 69% center; }
  .sporta-hero__runner {
    z-index: 2;
    right: 50%;
    bottom: -13%;
    width: min(68vw, 430px);
    opacity: .94;
    transform: translate3d(50%, 0, 0);
  }
  .sporta-hero__track-lines { right: -44%; bottom: -8%; width: 135vw; height: 70vw; opacity: .32; }
  .sporta-hero__scroll { display: none; }
  .sporta-section { padding-block: 74px; }
  .sporta-section-heading { margin-bottom: 34px; }
  .sporta-section-heading h2,
  .sporta-local h2,
  .sporta-family-panel h2 { font-size: clamp(38px, 11vw, 58px); }
  .sporta-selector { border-radius: 25px; }
  .sporta-selector__bar { align-items: flex-start; flex-direction: column; gap: 10px; padding: 20px; }
  .sporta-selector__progress { width: 100%; flex-basis: auto; }
  .sporta-selector__panel { min-height: 0; padding: 28px 20px 24px; }
  .sporta-selector__options { grid-template-columns: 1fr; }
  .sporta-selector__option { min-height: 78px; }
  .sporta-journey { grid-template-columns: 1fr; }
  .sporta-journey li { min-height: 0; padding: 24px; border-top: 1px solid var(--sporta-line); }
  .sporta-journey li:first-child { border-top: 0; }
  .sporta-journey li > span { margin-bottom: 18px; }
  .sporta-card-grid--sports,
  .sporta-card-grid--guides { grid-template-columns: 1fr; }
  .sporta-card-grid--sports .sporta-card:nth-child(n),
  .sporta-card-grid--guides .sporta-card:nth-child(n) { grid-column: 1; }
  .sporta-local { min-height: 0; grid-template-columns: 1fr; gap: 0; padding-block: 60px 74px; }
  .sporta-local__visual { min-height: 310px; order: 2; }
  .sporta-local__copy { padding-block: 0; }
  .sporta-local__rings { width: min(90vw, 390px); }
  .sporta-family-cards a { grid-template-columns: 1fr; gap: 3px; padding-right: 55px; }
  .sporta-family-cards em { padding-right: 0; }
  .sporta-footer__grid { grid-template-columns: 1fr 1fr; }
  .sporta-footer__grid > div:first-child,
  .sporta-footer__family { grid-column: 1 / -1; }
  .sporta-footer__bottom { flex-direction: column; }
}

@media (max-width: 410px) {
  .sporta-family nav { gap: 0; }
  .sporta-family nav a { padding-inline: 7px; font-size: 11px; }
  .sporta-hero { min-height: 930px; }
  .sporta-hero__inner { padding-top: 55px; padding-bottom: 350px; }
  .sporta-hero h1 { font-size: clamp(49px, 16vw, 66px); }
  .sporta-hero__actions { display: grid; }
  .sporta-hero__actions .sporta-button { width: 100%; }
  .sporta-footer__grid { grid-template-columns: 1fr; }
  .sporta-footer__grid > div { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  .sporta-hero__world,
  .sporta-hero__cyclist,
  .sporta-hero__runner,
  .sporta-hero__glow { transform: none; }
}

@media (max-width: 720px) and (prefers-reduced-motion: reduce) {
  .sporta-hero__runner {
    transform: translateX(50%);
  }
}

/* v1.5: three new visual systems, each derived from the sport environment. */
.sporta-program--yoga .sporta-program-header,
.sporta-sport--yoga .sporta-page-header--sport {
  background:
    radial-gradient(circle at 82% 20%, rgba(255,194,226,.46), transparent 22%),
    radial-gradient(circle at 72% 78%, rgba(159,230,220,.28), transparent 29%),
    linear-gradient(145deg, #251539, #623e7e 56%, #b76b8f);
}
.sporta-program--yoga .sporta-program-header .sporta-kicker,
.sporta-sport--yoga .sporta-page-header--sport .sporta-kicker { color: #ffd7e9; }
.sporta-program--yoga .sporta-program-header .sporta-button--dark { background: #ffd7e9; }
.sporta-program--yoga .sporta-program-week > span { background: #7a4a91; color: #fff; }
.sporta-program--yoga .sporta-program-week::before { background: #eaddea; }
.sporta-program--yoga .sporta-program-scope { border-left-color: #9d5f99; background: #fbf1f8; }

.sporta-program--langdskidor .sporta-program-header,
.sporta-sport--langdskidor .sporta-page-header--sport {
  background:
    linear-gradient(160deg, transparent 0 66%, rgba(255,255,255,.18) 66.2% 67%, transparent 67.2%),
    radial-gradient(circle at 82% 10%, rgba(206,252,255,.45), transparent 25%),
    linear-gradient(145deg, #061c33, #14668a 55%, #79cbd2);
}
.sporta-program--langdskidor .sporta-program-header .sporta-kicker,
.sporta-sport--langdskidor .sporta-page-header--sport .sporta-kicker { color: #d8ffff; }
.sporta-program--langdskidor .sporta-program-header .sporta-button--dark { background: #d8ffff; }
.sporta-program--langdskidor .sporta-program-week > span { background: #11708e; color: #fff; }
.sporta-program--langdskidor .sporta-program-week::before { background: #d4edf1; }
.sporta-program--langdskidor .sporta-program-scope { border-left-color: #11708e; background: #edf9fb; }

.sporta-program--klattring .sporta-program-header,
.sporta-sport--klattring .sporta-page-header--sport {
  background:
    linear-gradient(125deg, transparent 0 67%, rgba(255,181,93,.22) 67.3% 68.2%, transparent 68.5%),
    radial-gradient(circle at 84% 20%, rgba(255,132,55,.5), transparent 22%),
    linear-gradient(145deg, #16212a, #354c55 54%, #8b4b2d);
}
.sporta-program--klattring .sporta-program-header .sporta-kicker,
.sporta-sport--klattring .sporta-page-header--sport .sporta-kicker { color: #ffc07d; }
.sporta-program--klattring .sporta-program-header .sporta-button--dark { background: #ffc07d; }
.sporta-program--klattring .sporta-program-week > span { background: #b5542e; color: #fff; }
.sporta-program--klattring .sporta-program-week::before { background: #ead9cf; }
.sporta-program--klattring .sporta-program-scope { border-left-color: #b5542e; background: #fff4ee; }

.sporta-sport--yoga .sporta-page-header--sport,
.sporta-sport--langdskidor .sporta-page-header--sport,
.sporta-sport--klattring .sporta-page-header--sport {
  position: relative;
  overflow: hidden;
  max-width: none;
  padding: clamp(28px, 5vw, 58px);
  border-radius: 0 0 34px 34px;
  color: #fff;
  box-shadow: 0 28px 64px rgba(4,31,49,.2);
}
.sporta-sport--yoga .sporta-page-header--sport > *,
.sporta-sport--langdskidor .sporta-page-header--sport > *,
.sporta-sport--klattring .sporta-page-header--sport > * { position: relative; z-index: 1; }
.sporta-sport--yoga .sporta-page-header__lead,
.sporta-sport--langdskidor .sporta-page-header__lead,
.sporta-sport--klattring .sporta-page-header__lead { color: rgba(255,255,255,.8); }
.sporta-sport--yoga .sporta-fact-bar,
.sporta-sport--langdskidor .sporta-fact-bar,
.sporta-sport--klattring .sporta-fact-bar { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.15); }
.sporta-sport--yoga .sporta-fact-bar > span,
.sporta-sport--langdskidor .sporta-fact-bar > span,
.sporta-sport--klattring .sporta-fact-bar > span { background: rgba(4,23,39,.7); color: #fff; backdrop-filter: blur(10px); }
.sporta-sport--yoga .sporta-fact-bar small,
.sporta-sport--langdskidor .sporta-fact-bar small,
.sporta-sport--klattring .sporta-fact-bar small { color: rgba(255,255,255,.68); }

@media (max-width: 620px) {
  .sporta-sport--yoga .sporta-page-header--sport,
  .sporta-sport--langdskidor .sporta-page-header--sport,
  .sporta-sport--klattring .sporta-page-header--sport {
    width: 100%;
    padding: 24px 20px;
    border-radius: 0 0 24px 24px;
  }
  .sporta-sport--yoga .sporta-page-header--sport h1,
  .sporta-sport--langdskidor .sporta-page-header--sport h1,
  .sporta-sport--klattring .sporta-page-header--sport h1 {
    max-width: 100%;
    font-size: clamp(36px, 11vw, 56px);
    overflow-wrap: anywhere;
  }
}

/* v1.6: six additional identities with shared mobile-safe geometry. */
.sporta-program--golf .sporta-program-header,.sporta-sport--golf .sporta-page-header--sport{background:linear-gradient(145deg,#063c2d,#2d7445 55%,#86b947)}
.sporta-program--handboll .sporta-program-header,.sporta-sport--handboll .sporta-page-header--sport{background:linear-gradient(145deg,#451124,#a92f3e 55%,#f06445)}
.sporta-program--basket .sporta-program-header,.sporta-sport--basket .sporta-page-header--sport{background:linear-gradient(145deg,#321507,#a94712 55%,#f47b20)}
.sporta-program--tennis .sporta-program-header,.sporta-sport--tennis .sporta-page-header--sport{background:linear-gradient(145deg,#123244,#27748a 55%,#7ba83a)}
.sporta-program--badminton .sporta-program-header,.sporta-sport--badminton .sporta-page-header--sport{background:linear-gradient(145deg,#171449,#34448c 55%,#2f9fc4)}
.sporta-program--bordtennis .sporta-program-header,.sporta-sport--bordtennis .sporta-page-header--sport{background:linear-gradient(145deg,#30114f,#71357d 55%,#ce3b6b)}
.sporta-program--golf .sporta-program-week>span,.sporta-program--golf .sporta-program-header .sporta-button--dark{background:#b8e45d}.sporta-program--golf .sporta-program-scope{border-left-color:#39754d;background:#eef8ed}
.sporta-program--handboll .sporta-program-week>span,.sporta-program--handboll .sporta-program-header .sporta-button--dark{background:#ff8c66}.sporta-program--handboll .sporta-program-scope{border-left-color:#a92f3e;background:#fff0ed}
.sporta-program--basket .sporta-program-week>span,.sporta-program--basket .sporta-program-header .sporta-button--dark{background:#ff9b3d}.sporta-program--basket .sporta-program-scope{border-left-color:#c05518;background:#fff4e9}
.sporta-program--tennis .sporta-program-week>span,.sporta-program--tennis .sporta-program-header .sporta-button--dark{background:#c8ff48}.sporta-program--tennis .sporta-program-scope{border-left-color:#548733;background:#f4f9e9}
.sporta-program--badminton .sporta-program-week>span,.sporta-program--badminton .sporta-program-header .sporta-button--dark{background:#52c9e8}.sporta-program--badminton .sporta-program-scope{border-left-color:#34448c;background:#edf5fc}
.sporta-program--bordtennis .sporta-program-week>span,.sporta-program--bordtennis .sporta-program-header .sporta-button--dark{background:#ee78a0}.sporta-program--bordtennis .sporta-program-scope{border-left-color:#71357d;background:#fbf0fa}
.sporta-program--golf .sporta-program-week>span,.sporta-program--handboll .sporta-program-week>span,.sporta-program--basket .sporta-program-week>span,.sporta-program--tennis .sporta-program-week>span,.sporta-program--badminton .sporta-program-week>span,.sporta-program--bordtennis .sporta-program-week>span{color:#071d2c}
.sporta-sport--golf .sporta-page-header--sport,.sporta-sport--handboll .sporta-page-header--sport,.sporta-sport--basket .sporta-page-header--sport,.sporta-sport--tennis .sporta-page-header--sport,.sporta-sport--badminton .sporta-page-header--sport,.sporta-sport--bordtennis .sporta-page-header--sport{position:relative;overflow:hidden;max-width:none;padding:clamp(28px,5vw,58px);border-radius:0 0 34px 34px;color:#fff;box-shadow:0 28px 64px rgba(4,31,49,.2)}
.sporta-sport--golf .sporta-page-header__lead,.sporta-sport--handboll .sporta-page-header__lead,.sporta-sport--basket .sporta-page-header__lead,.sporta-sport--tennis .sporta-page-header__lead,.sporta-sport--badminton .sporta-page-header__lead,.sporta-sport--bordtennis .sporta-page-header__lead{color:rgba(255,255,255,.82)}
.sporta-sport--golf .sporta-fact-bar,.sporta-sport--handboll .sporta-fact-bar,.sporta-sport--basket .sporta-fact-bar,.sporta-sport--tennis .sporta-fact-bar,.sporta-sport--badminton .sporta-fact-bar,.sporta-sport--bordtennis .sporta-fact-bar{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.15)}
@media(max-width:620px){.sporta-sport--golf .sporta-page-header--sport,.sporta-sport--handboll .sporta-page-header--sport,.sporta-sport--basket .sporta-page-header--sport,.sporta-sport--tennis .sporta-page-header--sport,.sporta-sport--badminton .sporta-page-header--sport,.sporta-sport--bordtennis .sporta-page-header--sport{width:100%;padding:24px 20px;border-radius:0 0 24px 24px}.sporta-sport--golf .sporta-page-header--sport h1,.sporta-sport--handboll .sporta-page-header--sport h1,.sporta-sport--basket .sporta-page-header--sport h1,.sporta-sport--tennis .sporta-page-header--sport h1,.sporta-sport--badminton .sporta-page-header--sport h1,.sporta-sport--bordtennis .sporta-page-header--sport h1{max-width:100%;font-size:clamp(34px,10vw,54px);overflow-wrap:anywhere}}

/* v1.7: ten sport identities; shared geometry prevents narrow-screen overflow. */
.sporta-program--judo .sporta-program-header,.sporta-sport--judo .sporta-page-header--sport{background:linear-gradient(145deg,#22121a,#7e2434 56%,#d94b45)}
.sporta-program--boxning .sporta-program-header,.sporta-sport--boxning .sporta-page-header--sport{background:linear-gradient(145deg,#101722,#313b4b 52%,#c43a32)}
.sporta-program--karate .sporta-program-header,.sporta-sport--karate .sporta-page-header--sport{background:linear-gradient(145deg,#171719,#4b4540 55%,#c88e42)}
.sporta-program--brasiliansk-jiu-jitsu .sporta-program-header,.sporta-sport--brasiliansk-jiu-jitsu .sporta-page-header--sport{background:linear-gradient(145deg,#102235,#235684 55%,#6e9fcb)}
.sporta-program--kajak .sporta-program-header,.sporta-sport--kajak .sporta-page-header--sport{background:linear-gradient(145deg,#052c43,#087c91 55%,#4fc6b7)}
.sporta-program--sup .sporta-program-header,.sporta-sport--sup .sporta-page-header--sport{background:linear-gradient(145deg,#093548,#1690a1 55%,#efb550)}
.sporta-program--segling .sporta-program-header,.sporta-sport--segling .sporta-page-header--sport{background:linear-gradient(145deg,#05284e,#176da2 55%,#f2f0d3)}
.sporta-program--alpint .sporta-program-header,.sporta-sport--alpint .sporta-page-header--sport{background:linear-gradient(145deg,#10233d,#355f83 55%,#b8e9f2)}
.sporta-program--skridskor .sporta-program-header,.sporta-sport--skridskor .sporta-page-header--sport{background:linear-gradient(145deg,#152e4d,#4683ad 55%,#b8f0ee)}
.sporta-program--ishockey .sporta-program-header,.sporta-sport--ishockey .sporta-page-header--sport{background:linear-gradient(145deg,#101a32,#244f80 55%,#e34b48)}
.sporta-program--judo .sporta-program-week>span,.sporta-program--boxning .sporta-program-week>span,.sporta-program--karate .sporta-program-week>span,.sporta-program--brasiliansk-jiu-jitsu .sporta-program-week>span,.sporta-program--kajak .sporta-program-week>span,.sporta-program--sup .sporta-program-week>span,.sporta-program--segling .sporta-program-week>span,.sporta-program--alpint .sporta-program-week>span,.sporta-program--skridskor .sporta-program-week>span,.sporta-program--ishockey .sporta-program-week>span{background:#ff7a4d;color:#071d2c}
.sporta-program--judo .sporta-program-scope,.sporta-program--boxning .sporta-program-scope,.sporta-program--karate .sporta-program-scope,.sporta-program--brasiliansk-jiu-jitsu .sporta-program-scope{border-left-color:#9c3b42;background:#fff1ed}
.sporta-program--kajak .sporta-program-scope,.sporta-program--sup .sporta-program-scope,.sporta-program--segling .sporta-program-scope{border-left-color:#16899d;background:#eaf9f8}
.sporta-program--alpint .sporta-program-scope,.sporta-program--skridskor .sporta-program-scope,.sporta-program--ishockey .sporta-program-scope{border-left-color:#3e79a1;background:#edf7fb}
.sporta-sport--judo .sporta-page-header--sport,.sporta-sport--boxning .sporta-page-header--sport,.sporta-sport--karate .sporta-page-header--sport,.sporta-sport--brasiliansk-jiu-jitsu .sporta-page-header--sport,.sporta-sport--kajak .sporta-page-header--sport,.sporta-sport--sup .sporta-page-header--sport,.sporta-sport--segling .sporta-page-header--sport,.sporta-sport--alpint .sporta-page-header--sport,.sporta-sport--skridskor .sporta-page-header--sport,.sporta-sport--ishockey .sporta-page-header--sport{position:relative;overflow:hidden;max-width:none;padding:clamp(28px,5vw,58px);border-radius:0 0 34px 34px;color:#fff;box-shadow:0 28px 64px rgba(4,31,49,.2)}
.sporta-sport--judo .sporta-page-header__lead,.sporta-sport--boxning .sporta-page-header__lead,.sporta-sport--karate .sporta-page-header__lead,.sporta-sport--brasiliansk-jiu-jitsu .sporta-page-header__lead,.sporta-sport--kajak .sporta-page-header__lead,.sporta-sport--sup .sporta-page-header__lead,.sporta-sport--segling .sporta-page-header__lead,.sporta-sport--alpint .sporta-page-header__lead,.sporta-sport--skridskor .sporta-page-header__lead,.sporta-sport--ishockey .sporta-page-header__lead{color:rgba(255,255,255,.82)}
@media(max-width:620px){.sporta-sport--judo .sporta-page-header--sport,.sporta-sport--boxning .sporta-page-header--sport,.sporta-sport--karate .sporta-page-header--sport,.sporta-sport--brasiliansk-jiu-jitsu .sporta-page-header--sport,.sporta-sport--kajak .sporta-page-header--sport,.sporta-sport--sup .sporta-page-header--sport,.sporta-sport--segling .sporta-page-header--sport,.sporta-sport--alpint .sporta-page-header--sport,.sporta-sport--skridskor .sporta-page-header--sport,.sporta-sport--ishockey .sporta-page-header--sport{width:100%;padding:24px 20px;border-radius:0 0 24px 24px}.sporta-sport--judo .sporta-page-header--sport h1,.sporta-sport--boxning .sporta-page-header--sport h1,.sporta-sport--karate .sporta-page-header--sport h1,.sporta-sport--brasiliansk-jiu-jitsu .sporta-page-header--sport h1,.sporta-sport--kajak .sporta-page-header--sport h1,.sporta-sport--sup .sporta-page-header--sport h1,.sporta-sport--segling .sporta-page-header--sport h1,.sporta-sport--alpint .sporta-page-header--sport h1,.sporta-sport--skridskor .sporta-page-header--sport h1,.sporta-sport--ishockey .sporta-page-header--sport h1{max-width:100%;font-size:clamp(32px,9.5vw,52px);overflow-wrap:anywhere}}

/* v1.8: final nine catalogue identities. */
.sporta-program--funktionell-traning .sporta-program-header,.sporta-sport--funktionell-traning .sporta-page-header--sport{background:linear-gradient(145deg,#20203b,#6a3d55 55%,#db5a3f)}
.sporta-program--orientering .sporta-program-header,.sporta-sport--orientering .sporta-page-header--sport{background:linear-gradient(145deg,#14351e,#657229 55%,#d8a72d)}
.sporta-program--mountainbike .sporta-program-header,.sporta-sport--mountainbike .sporta-page-header--sport{background:linear-gradient(145deg,#15302c,#316a45 55%,#63a849)}
.sporta-program--ridning .sporta-program-header,.sporta-sport--ridning .sporta-page-header--sport{background:linear-gradient(145deg,#33251c,#755137 55%,#b77c46)}
.sporta-program--discgolf .sporta-program-header,.sporta-sport--discgolf .sporta-page-header--sport{background:linear-gradient(145deg,#172d3c,#27635d 55%,#4d9b78)}
.sporta-program--bagskytte .sporta-program-header,.sporta-sport--bagskytte .sporta-page-header--sport{background:linear-gradient(145deg,#2f2132,#6f354e 55%,#b45b72)}
.sporta-program--bowling .sporta-program-header,.sporta-sport--bowling .sporta-page-header--sport{background:linear-gradient(145deg,#1e2450,#403a88 55%,#6f5bd1)}
.sporta-program--dans .sporta-program-header,.sporta-sport--dans .sporta-page-header--sport{background:linear-gradient(145deg,#361740,#7c286c 55%,#d44d91)}
.sporta-program--gymnastik .sporta-program-header,.sporta-sport--gymnastik .sporta-page-header--sport{background:linear-gradient(145deg,#173345,#246d72 55%,#44a6a1)}
.sporta-program--funktionell-traning .sporta-program-week>span,.sporta-program--orientering .sporta-program-week>span,.sporta-program--mountainbike .sporta-program-week>span,.sporta-program--ridning .sporta-program-week>span,.sporta-program--discgolf .sporta-program-week>span,.sporta-program--bagskytte .sporta-program-week>span,.sporta-program--bowling .sporta-program-week>span,.sporta-program--dans .sporta-program-week>span,.sporta-program--gymnastik .sporta-program-week>span{background:#c6ff32;color:#071d2c}
.sporta-program--funktionell-traning .sporta-program-scope,.sporta-program--bagskytte .sporta-program-scope,.sporta-program--dans .sporta-program-scope{border-left-color:#b44c69;background:#fff0f4}
.sporta-program--orientering .sporta-program-scope,.sporta-program--mountainbike .sporta-program-scope,.sporta-program--ridning .sporta-program-scope,.sporta-program--discgolf .sporta-program-scope{border-left-color:#4e7c43;background:#f0f8eb}
.sporta-program--bowling .sporta-program-scope,.sporta-program--gymnastik .sporta-program-scope{border-left-color:#4b65a5;background:#edf5fa}
.sporta-sport--funktionell-traning .sporta-page-header--sport,.sporta-sport--orientering .sporta-page-header--sport,.sporta-sport--mountainbike .sporta-page-header--sport,.sporta-sport--ridning .sporta-page-header--sport,.sporta-sport--discgolf .sporta-page-header--sport,.sporta-sport--bagskytte .sporta-page-header--sport,.sporta-sport--bowling .sporta-page-header--sport,.sporta-sport--dans .sporta-page-header--sport,.sporta-sport--gymnastik .sporta-page-header--sport{position:relative;overflow:hidden;max-width:none;padding:clamp(28px,5vw,58px);border-radius:0 0 34px 34px;color:#fff;box-shadow:0 28px 64px rgba(4,31,49,.2)}
.sporta-sport--funktionell-traning .sporta-page-header__lead,.sporta-sport--orientering .sporta-page-header__lead,.sporta-sport--mountainbike .sporta-page-header__lead,.sporta-sport--ridning .sporta-page-header__lead,.sporta-sport--discgolf .sporta-page-header__lead,.sporta-sport--bagskytte .sporta-page-header__lead,.sporta-sport--bowling .sporta-page-header__lead,.sporta-sport--dans .sporta-page-header__lead,.sporta-sport--gymnastik .sporta-page-header__lead{color:rgba(255,255,255,.82)}
@media(max-width:620px){.sporta-sport--funktionell-traning .sporta-page-header--sport,.sporta-sport--orientering .sporta-page-header--sport,.sporta-sport--mountainbike .sporta-page-header--sport,.sporta-sport--ridning .sporta-page-header--sport,.sporta-sport--discgolf .sporta-page-header--sport,.sporta-sport--bagskytte .sporta-page-header--sport,.sporta-sport--bowling .sporta-page-header--sport,.sporta-sport--dans .sporta-page-header--sport,.sporta-sport--gymnastik .sporta-page-header--sport{width:100%;padding:24px 20px;border-radius:0 0 24px 24px}.sporta-sport--funktionell-traning .sporta-page-header--sport h1,.sporta-sport--orientering .sporta-page-header--sport h1,.sporta-sport--mountainbike .sporta-page-header--sport h1,.sporta-sport--ridning .sporta-page-header--sport h1,.sporta-sport--discgolf .sporta-page-header--sport h1,.sporta-sport--bagskytte .sporta-page-header--sport h1,.sporta-sport--bowling .sporta-page-header--sport h1,.sporta-sport--dans .sporta-page-header--sport h1,.sporta-sport--gymnastik .sporta-page-header--sport h1{max-width:100%;font-size:clamp(32px,9.2vw,52px);overflow-wrap:anywhere}}

@media print {
  .sporta-family,
  .sporta-header,
  .sporta-footer,
  .sporta-hero__scene,
  .sporta-hero__scroll,
  .sporta-breadcrumbs,
  .sporta-print-button,
  .sporta-ad-slot,
  .sporta-cost-tool__form > button { display: none !important; }
  body { background: #fff; color: #000; }
  .sporta-hero { min-height: 0; background: #fff; color: #000; }
  .sporta-hero::before { display: none; }
  .sporta-hero__inner { min-height: 0; padding: 30px 0; }
  .sporta-hero__copy { width: 100%; }
  .sporta-hero h1 em { color: #000; }
  .sporta-hero__lead,
  .sporta-hero__promises { color: #000; }
  .sporta-program-header { padding: 20px 0; border-radius: 0; background: #fff; color: #000; box-shadow: none; }
  .sporta-program-header::after { display: none; }
  .sporta-program-header .sporta-page-header__lead,
  .sporta-program-header__review { color: #333; }
  .sporta-program-header__actions { display: none; }
  .sporta-program-content { max-width: none; padding-top: 15px; }
  .sporta-program-week { break-inside: avoid; margin: 12px 0; padding: 14px 18px; transform: none; box-shadow: none; }
  .sporta-program-week::before { display: none; }
  .sporta-program-scope,
  .sporta-program-alert { break-inside: avoid; background: #fff; }
  .sporta-source-panel { box-shadow: none; }
  a { color: #000; }
}

/* Sporta 2.6: search, planning tools and shareable shortlists. */
.sporta-nav__services { display: flex; align-items: center; gap: 6px; margin-left: 6px; }
.sporta-nav__services a { display: inline-flex; align-items: center; gap: 5px; padding: 9px 11px; border: 1px solid rgb(255 255 255 / 14%); border-radius: 999px; color: #fff; font-size: 13px; font-weight: 850; text-decoration: none; }
.sporta-nav__services a:hover { border-color: var(--sporta-lime); color: var(--sporta-lime); }
.sporta-card__save { display: inline-block; margin-top: 10px; color: var(--sporta-muted); font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.sporta-prose:has(.sporta-service), .sporta-service-page .sporta-prose { max-width: none; }
.sporta-service { --service-x: 0; --service-y: 0; display: grid; gap: clamp(24px, 5vw, 52px); max-width: 1180px; margin: 0 auto clamp(70px, 10vw, 130px); }
.sporta-service * { box-sizing: border-box; }
.sporta-service__stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(180px, .5fr);
  align-items: center;
  min-height: 390px;
  padding: clamp(30px, 7vw, 76px);
  overflow: hidden;
  border-radius: 34px;
  background:
    linear-gradient(rgb(255 255 255 / 5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 5%) 1px, transparent 1px),
    radial-gradient(circle at calc(78% + var(--service-x) * 5%) calc(24% + var(--service-y) * 5%), rgb(192 255 41 / 30%), transparent 25%),
    linear-gradient(145deg, #04111e, #0a3553 58%, #071727);
  background-size: 54px 54px, 54px 54px, auto, auto;
  color: #fff;
  box-shadow: 0 38px 90px rgb(3 31 50 / 24%);
  transform-style: preserve-3d;
}
.sporta-service__stage::before { content: ""; position: absolute; z-index: -1; inset: 8% 36% -28% -14%; border: 1px solid rgb(255 255 255 / 14%); border-radius: 48%; background: linear-gradient(145deg, rgb(255 255 255 / 8%), transparent); transform: translate3d(calc(var(--service-x) * -12px), calc(var(--service-y) * -8px), 0) rotate(-11deg); transition: transform .25s ease-out; }
.sporta-service__stage h2 { max-width: 780px; margin: 8px 0 20px; color: #fff; font-size: clamp(42px, 7vw, 82px); line-height: .92; letter-spacing: -.055em; }
.sporta-service__stage p:not(.sporta-kicker) { max-width: 690px; color: #cedbe4; font-size: clamp(17px, 2vw, 22px); }
.sporta-service__stage .sporta-kicker { color: var(--sporta-lime); }
.sporta-service__stage-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.sporta-service__stage-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border: 1px solid rgb(255 255 255 / 24%); border-radius: 999px; background: rgb(255 255 255 / 8%); color: #fff; font-size: 14px; font-weight: 900; text-decoration: none; backdrop-filter: blur(10px); }
.sporta-service__stage-actions a:hover { border-color: var(--sporta-lime); color: var(--sporta-lime); transform: translateY(-2px); }
.sporta-service__orb { justify-self: end; display: grid; place-items: center; width: clamp(145px, 20vw, 245px); aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 25%); border-radius: 50%; background: rgb(255 255 255 / 8%); color: var(--sporta-lime); font-size: clamp(52px, 9vw, 106px); font-weight: 950; line-height: 1; box-shadow: 0 34px 70px rgb(0 0 0 / 25%), inset 0 0 0 22px rgb(255 255 255 / 3%); transform: translate3d(calc(var(--service-x) * 16px), calc(var(--service-y) * 12px), 30px) rotate(7deg); transition: transform .25s ease-out; }

.sporta-search-box, .sporta-tool-card { min-width: 0; padding: clamp(22px, 5vw, 48px); border: 1px solid var(--sporta-line); border-radius: 28px; background: #fff; box-shadow: var(--sporta-shadow); }
.sporta-search-box label, .sporta-shortlist-search { display: block; margin-bottom: 10px; color: var(--sporta-navy-900); font-weight: 900; }
.sporta-search-box input, .sporta-shortlist-search input { width: 100%; min-height: 60px; padding: 14px 18px; border: 2px solid #c8d5df; border-radius: 16px; background: #f8fafb; color: var(--sporta-navy-900); font: inherit; font-size: 18px; }
.sporta-search-box input:focus, .sporta-shortlist-search input:focus { border-color: var(--sporta-cobalt); outline: 4px solid rgb(20 118 255 / 16%); }
.sporta-search-types, .sporta-season-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.sporta-search-types button, .sporta-season-tabs button { padding: 10px 14px; border: 1px solid var(--sporta-line); border-radius: 999px; background: #fff; color: var(--sporta-navy-900); font: inherit; font-size: 14px; font-weight: 850; cursor: pointer; }
.sporta-search-types button[aria-pressed="true"], .sporta-season-tabs button[aria-pressed="true"] { border-color: var(--sporta-navy-900); background: var(--sporta-navy-900); color: #fff; }
.sporta-service__status { margin: 15px 0 0; color: var(--sporta-muted); font-size: 14px; }
.sporta-search-results, .sporta-tool-results, .sporta-shortlist-result { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sporta-search-result, .sporta-tool-result { min-width: 0; padding: 22px; border: 1px solid var(--sporta-line); border-radius: 18px; background: #fff; box-shadow: 0 13px 34px rgb(3 31 50 / 7%); transition: transform .2s ease, box-shadow .2s ease; }
.sporta-search-result:hover, .sporta-tool-result:hover { transform: translateY(-3px); box-shadow: 0 20px 45px rgb(3 31 50 / 11%); }
.sporta-search-result > span, .sporta-tool-result > span { color: var(--sporta-cobalt); font-size: 11px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.sporta-search-result h3, .sporta-tool-result h3 { margin: 7px 0 8px; font-size: clamp(21px, 3vw, 29px); line-height: 1.05; }
.sporta-search-result h3 a, .sporta-tool-result h3 a { color: var(--sporta-navy-900); text-decoration: none; }
.sporta-search-result p, .sporta-tool-result p { margin: 0; color: var(--sporta-muted); font-size: 14px; }
.sporta-service-result__actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--sporta-line); }
.sporta-service-result__actions a { display: inline-flex; align-items: center; min-height: 35px; padding: 7px 10px; border-radius: 9px; background: var(--sporta-surface); color: var(--sporta-cobalt); font-size: 12px; font-weight: 900; line-height: 1.2; text-decoration: none; }
.sporta-service-result__actions a:hover { background: var(--sporta-navy-900); color: #fff; }
.sporta-service-more { justify-self: center; min-height: 48px; padding: 11px 20px; border: 1px solid var(--sporta-navy-900); border-radius: 999px; background: #fff; color: var(--sporta-navy-900); font: inherit; font-weight: 900; cursor: pointer; box-shadow: 0 12px 28px rgb(3 31 50 / 8%); }
.sporta-service-more:hover { background: var(--sporta-navy-900); color: #fff; transform: translateY(-2px); }
.sporta-service-more[hidden] { display: none !important; }
.sporta-service__notice { padding: 22px; border: 1px dashed #b4c4d0; border-radius: 16px; background: var(--sporta-surface); color: var(--sporta-muted); }

.sporta-program-key { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 clamp(28px, 5vw, 52px); }
.sporta-program-key > div { display: grid; gap: 5px; min-width: 0; padding: 20px 22px; border: 1px solid var(--sporta-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgb(3 31 50 / 7%); }
.sporta-program-key > div:first-child { border-left: 5px solid var(--sporta-lime); }
.sporta-program-key > div:last-child { border-left: 5px solid var(--sporta-orange); background: linear-gradient(145deg, #fff, #fff7f3); }
.sporta-program-key strong { color: var(--sporta-navy-900); font-size: 18px; }
.sporta-program-key span { color: var(--sporta-muted); font-size: 14px; }
.sporta-card--general-program { border-color: rgb(255 111 67 / 28%); }
.sporta-card--general-program .sporta-card__meta { color: #b43f1d; }

.sporta-tool-jump { position: sticky; z-index: 5; top: 92px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 11px; border: 1px solid rgb(220 228 234 / 70%); border-radius: 999px; background: rgb(255 255 255 / 88%); box-shadow: 0 18px 44px rgb(3 31 50 / 10%); backdrop-filter: blur(14px); }
.sporta-tool-jump a { padding: 9px 14px; border-radius: 999px; color: var(--sporta-navy-900); font-size: 14px; font-weight: 850; text-decoration: none; }
.sporta-tool-jump a:hover { background: var(--sporta-navy-900); color: #fff; }
.sporta-tool-card { position: relative; scroll-margin-top: 160px; overflow: hidden; }
.sporta-tool-card::after { content: ""; position: absolute; right: -80px; top: -100px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgb(20 118 255 / 11%), transparent 70%); pointer-events: none; }
.sporta-tool-card__number { position: absolute; right: 22px; top: 12px; color: #e9eff3; font-size: clamp(70px, 11vw, 130px); font-weight: 950; line-height: 1; }
.sporta-tool-card__heading { position: relative; z-index: 1; max-width: 790px; }
.sporta-tool-card__heading h3 { margin: 4px 0 12px; font-size: clamp(34px, 5vw, 58px); line-height: .98; letter-spacing: -.04em; }
.sporta-tool-card__heading > p:last-child { color: var(--sporta-muted); }
.sporta-tool-controls { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 26px 0; }
.sporta-tool-controls label { padding: 18px; border: 1px solid var(--sporta-line); border-radius: 16px; background: var(--sporta-surface); color: var(--sporta-navy-900); font-weight: 850; }
.sporta-tool-controls input { width: 100%; margin: 18px 0 7px; accent-color: var(--sporta-cobalt); }
.sporta-tool-controls output { display: block; color: var(--sporta-cobalt); font-size: 23px; font-weight: 950; }
.sporta-tool-controls select { display: block; width: 100%; min-height: 50px; margin-top: 15px; padding: 10px; border: 1px solid #c7d3dc; border-radius: 12px; background: #fff; color: var(--sporta-navy-900); font: inherit; }
.sporta-season-tabs { margin: 24px 0 10px; }
.sporta-season-tabs button { min-width: 110px; padding-block: 14px; }
.sporta-shortlist-search { max-width: 620px; margin: 28px 0 18px; }
.sporta-shortlist-search input { display: block; margin-top: 8px; }
.sporta-shortlist-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-height: 500px; padding-right: 4px; overflow: auto; }
.sporta-shortlist-grid article { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 13px; border: 1px solid var(--sporta-line); border-radius: 14px; background: #fff; }
.sporta-shortlist-grid article div { min-width: 0; }
.sporta-shortlist-grid strong, .sporta-shortlist-grid small { display: block; min-width: 0; overflow-wrap: anywhere; }
.sporta-shortlist-grid small { margin-top: 3px; color: var(--sporta-muted); font-size: 11px; }
.sporta-shortlist-grid button { flex: 0 0 auto; padding: 8px 10px; border: 1px solid var(--sporta-cobalt); border-radius: 10px; background: #fff; color: var(--sporta-cobalt); font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.sporta-shortlist-grid button[aria-pressed="true"] { background: var(--sporta-cobalt); color: #fff; }
.sporta-shortlist-grid button:disabled { border-color: #cbd5dc; color: #8998a3; cursor: not-allowed; }
.sporta-shortlist-tray { position: sticky; z-index: 4; bottom: 12px; display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 22px 0; padding: 17px 20px; border-radius: 18px; background: var(--sporta-navy-900); color: #fff; box-shadow: 0 24px 60px rgb(3 31 50 / 25%); }
.sporta-shortlist-tray p { margin: 3px 0 0; color: #bdccd6; font-size: 13px; }
.sporta-shortlist-tray > div:last-child { display: flex; gap: 7px; }
.sporta-shortlist-tray button { padding: 10px 13px; border: 1px solid rgb(255 255 255 / 24%); border-radius: 11px; background: #fff; color: var(--sporta-navy-900); font: inherit; font-size: 13px; font-weight: 900; cursor: pointer; }
.sporta-shortlist-tray button:last-child { background: transparent; color: #fff; }
.sporta-shortlist-tray button:disabled { opacity: .45; cursor: not-allowed; }

@media (max-width: 930px) {
  .sporta-nav__services { display: grid; grid-template-columns: 1fr 1fr; margin: 8px 0; }
  .sporta-nav__services a { justify-content: center; padding: 13px; font-size: 16px; }
}
@media (max-width: 720px) {
  .sporta-service { gap: 22px; }
  .sporta-service__stage { grid-template-columns: 1fr; min-height: 0; padding: 34px 22px; border-radius: 24px; }
  .sporta-service__stage h2 { max-width: 100%; font-size: clamp(39px, 12vw, 58px); overflow-wrap: anywhere; }
  .sporta-service__orb { position: absolute; z-index: -1; right: -40px; bottom: -44px; width: 170px; opacity: .25; }
  .sporta-service__stage-actions { display: grid; grid-template-columns: 1fr; }
  .sporta-service__stage-actions a { justify-content: center; }
  .sporta-search-results, .sporta-tool-results, .sporta-shortlist-result { grid-template-columns: 1fr; }
  .sporta-tool-jump { position: static; border-radius: 20px; }
  .sporta-tool-jump a { flex: 1 1 100%; text-align: center; }
  .sporta-tool-card { padding: 24px 18px; border-radius: 22px; }
  .sporta-tool-card__number { right: 8px; top: 7px; font-size: 76px; }
  .sporta-tool-card__heading h3 { max-width: 90%; font-size: 37px; }
  .sporta-tool-controls { grid-template-columns: 1fr; }
  .sporta-season-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .sporta-season-tabs button { min-width: 0; }
  .sporta-shortlist-grid { grid-template-columns: 1fr; max-height: 430px; }
  .sporta-shortlist-tray { position: static; align-items: stretch; flex-direction: column; }
  .sporta-shortlist-tray > div:last-child { display: grid; grid-template-columns: 1fr; }
  .sporta-program-key { grid-template-columns: 1fr; }
  .sporta-service-result__actions a { flex: 1 1 140px; justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .sporta-service__stage::before, .sporta-service__orb, .sporta-search-result, .sporta-tool-result { transition: none; transform: none; }
}

@media print {
  .sporta-tool-jump, .sporta-shortlist-tray, .sporta-search-types, .sporta-service__orb, .sporta-service__stage-actions, .sporta-service-result__actions, .sporta-service-more { display: none !important; }
  .sporta-service__stage { min-height: 0; padding: 20px 0; background: #fff; color: #000; box-shadow: none; }
  .sporta-service__stage h2, .sporta-service__stage p:not(.sporta-kicker) { color: #000; }
}

/* v1.9: decision, cost and commercial utility layer. */
.sporta-decision-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
  gap: clamp(24px, 5vw, 64px);
  overflow: hidden;
  padding: clamp(28px, 5vw, 58px);
  border-radius: var(--sporta-radius-lg);
  background: radial-gradient(circle at 86% 18%, rgb(192 255 41 / 22%), transparent 28%), linear-gradient(145deg, #061b2a 0%, #0c304a 62%, #124c62 100%);
  color: #fff;
  box-shadow: 0 30px 75px rgb(3 31 50 / 24%);
}
.sporta-decision-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, transparent, #000); }
.sporta-decision-panel__intro,
.sporta-decision-panel__grid { position: relative; z-index: 1; min-width: 0; }
.sporta-decision-panel__intro h2 { margin: 5px 0 16px; max-width: 520px; font-size: clamp(30px, 4vw, 52px); line-height: 1.02; }
.sporta-decision-panel__intro > p:last-child { margin-bottom: 0; color: #c4d4df; }
.sporta-decision-panel__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sporta-decision-panel__grid > div { min-width: 0; padding: 20px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 18px; background: rgb(255 255 255 / 8%); backdrop-filter: blur(8px); }
.sporta-decision-panel__grid small { display: block; margin-bottom: 8px; color: #b8cbd7; font-size: 12px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.sporta-decision-panel__grid strong { display: block; overflow-wrap: anywhere; font-size: clamp(17px, 2vw, 22px); line-height: 1.2; }
.sporta-equipment-checklist { list-style: none; padding-left: 0 !important; }
.sporta-equipment-checklist li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; margin: 9px 0; }
.sporta-equipment-checklist input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--sporta-lime); }
.sporta-equipment-checklist label { min-width: 0; line-height: 1.4; cursor: pointer; }
.sporta-commercial-note { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 22px; padding: 18px 20px; border: 1px solid rgb(255 111 67 / 24%); border-radius: 16px; background: linear-gradient(100deg, rgb(255 111 67 / 10%), rgb(192 255 41 / 10%)); }
.sporta-commercial-note p { margin: 4px 0 0; color: var(--sporta-muted); font-size: 14px; }
.sporta-commercial-note a { flex: 0 0 auto; color: var(--sporta-cobalt); font-weight: 850; text-decoration: none; }
.sporta-commercial-note a span { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.sporta-commercial-note a:hover span { transform: translateX(4px); }
.sporta-cost-tool { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); overflow: hidden; border: 1px solid var(--sporta-line); border-radius: var(--sporta-radius-lg); background: #fff; box-shadow: var(--sporta-shadow); }
.sporta-cost-tool__intro { position: relative; overflow: hidden; padding: clamp(28px, 5vw, 54px); background: linear-gradient(145deg, #ff7048, #ff935b 55%, #ffd16a); color: var(--sporta-navy-900); }
.sporta-cost-tool__intro::after { content: "kr"; position: absolute; right: -12px; bottom: -55px; color: rgb(255 255 255 / 28%); font-size: 170px; font-weight: 950; line-height: 1; transform: rotate(-8deg); }
.sporta-cost-tool__intro > * { position: relative; z-index: 1; }
.sporta-cost-tool__intro h2 { margin: 5px 0 18px; font-size: clamp(34px, 4.6vw, 58px); line-height: .98; }
.sporta-cost-tool__privacy { font-size: 13px; font-weight: 800; }
.sporta-cost-tool__form { display: grid; gap: 13px; align-content: start; min-width: 0; padding: clamp(26px, 5vw, 52px); }
.sporta-cost-tool__form > label { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .7fr); gap: 14px; align-items: center; font-weight: 780; }
.sporta-cost-input { display: flex; align-items: center; overflow: hidden; min-width: 0; border: 1px solid var(--sporta-line); border-radius: 12px; background: var(--sporta-surface); }
.sporta-cost-input:focus-within { border-color: var(--sporta-cobalt); box-shadow: 0 0 0 3px rgb(20 118 255 / 15%); }
.sporta-cost-input input { width: 100%; min-width: 0; padding: 12px; border: 0; outline: 0; background: transparent; color: var(--sporta-ink); font: inherit; }
.sporta-cost-input small { padding-right: 12px; color: var(--sporta-muted); white-space: nowrap; }
.sporta-cost-tool__total { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-top: 8px; padding: 18px 20px; border-radius: 16px; background: var(--sporta-navy-900); color: #fff; }
.sporta-cost-tool__total span { color: #c4d4df; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.sporta-cost-tool__total strong { color: var(--sporta-lime); font-size: clamp(20px, 3vw, 30px); white-space: nowrap; }
.sporta-cost-tool__form > button { justify-self: start; }
.sporta-faq { padding: clamp(26px, 5vw, 54px); border: 1px solid var(--sporta-line); border-radius: var(--sporta-radius-lg); background: linear-gradient(145deg, #fff, #f2f6f8); }
.sporta-faq > h2 { margin: 5px 0 24px; font-size: clamp(30px, 4vw, 48px); line-height: 1.03; }
.sporta-faq__list { border-top: 1px solid var(--sporta-line); }
.sporta-faq details { border-bottom: 1px solid var(--sporta-line); }
.sporta-faq summary { position: relative; padding: 19px 48px 19px 0; cursor: pointer; font-size: clamp(17px, 2vw, 21px); font-weight: 850; list-style: none; }
.sporta-faq summary::-webkit-details-marker { display: none; }
.sporta-faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; width: 30px; height: 30px; border-radius: 50%; background: var(--sporta-navy-900); color: #fff; text-align: center; line-height: 28px; transform: translateY(-50%); }
.sporta-faq details[open] summary::after { content: "−"; background: var(--sporta-lime); color: var(--sporta-navy-900); }
.sporta-faq details p { max-width: 780px; margin: -2px 0 20px; color: var(--sporta-muted); }
.sporta-start-route { position: relative; isolation: isolate; overflow: hidden; padding: clamp(28px, 5vw, 56px); border-radius: var(--sporta-radius-lg); background: linear-gradient(135deg, #071a2a 0%, #0c3551 62%, #0d2940 100%); color: #fff; box-shadow: 0 30px 74px rgb(3 31 50 / 20%); }
.sporta-start-route::after { content: "→"; position: absolute; z-index: -1; right: -16px; top: -56px; color: rgb(192 255 41 / 8%); font-size: clamp(190px, 28vw, 360px); font-weight: 950; line-height: 1; transform: rotate(-10deg); }
.sporta-start-route__header { max-width: 790px; }
.sporta-start-route__header h2 { margin: 5px 0 14px; color: #fff; font-size: clamp(34px, 4.8vw, 58px); line-height: .98; }
.sporta-start-route__header > p:last-child { color: #c7d7e1; }
.sporta-start-route__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.sporta-start-route__steps li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-content: start; min-width: 0; padding: 21px 18px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 18px; background: rgb(255 255 255 / 7%); backdrop-filter: blur(8px); }
.sporta-start-route__steps li > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--sporta-lime); color: var(--sporta-navy-900); font-weight: 950; box-shadow: 0 10px 20px rgb(0 0 0 / 20%); }
.sporta-start-route__steps strong { display: block; margin: 5px 0 8px; color: #fff; font-size: 17px; }
.sporta-start-route__steps p { margin: 0; color: #d6e2e9; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.sporta-start-route__link { gap: 10px; margin-top: 20px; }
.sporta-start-route__link span { font-size: 20px; line-height: 1; }
.sporta-next-reading { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 24px; padding: clamp(26px, 5vw, 48px); border-radius: var(--sporta-radius-lg); background: var(--sporta-navy-900); color: #fff; }
.sporta-next-reading h2 { margin: 5px 0 0; font-size: clamp(28px, 4vw, 44px); line-height: 1.02; }
.sporta-next-reading__links { display: grid; gap: 8px; }
.sporta-next-reading__links a { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-width: 0; padding: 15px 17px; border: 1px solid rgb(255 255 255 / 12%); border-radius: 14px; background: rgb(255 255 255 / 7%); color: #fff; text-decoration: none; }
.sporta-next-reading__links a:hover { border-color: var(--sporta-lime); background: rgb(255 255 255 / 11%); transform: translateX(3px); }
.sporta-next-reading__links small { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--sporta-lime); color: var(--sporta-navy-900); font-weight: 900; }
.sporta-next-reading__links strong { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .sporta-decision-panel,
  .sporta-cost-tool,
  .sporta-next-reading { grid-template-columns: 1fr; }
  .sporta-start-route__steps { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .sporta-compare { bottom: max(10px, env(safe-area-inset-bottom)); gap: 8px; padding: 10px; }
  .sporta-compare > div { width: 100%; }
  .sporta-compare button { flex: 0 0 auto; padding-inline: 10px; }
  .sporta-compare-dialog { padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); }
  .sporta-compare-dialog__surface { width: 100%; max-height: calc(100dvh - 20px); padding: 20px 16px; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .sporta-compare-dialog [data-compare-content] { grid-template-columns: 1fr; gap: 12px; }
  .sporta-compare-dialog article { padding: 17px; }
  .sporta-fact-bar > span strong,
  .sporta-equipment label,
  .sporta-source-list a { overflow-wrap: anywhere; }
  .sporta-decision-panel,
  .sporta-cost-tool__intro,
  .sporta-cost-tool__form,
  .sporta-faq,
  .sporta-start-route,
  .sporta-next-reading { padding: 24px 20px; }
  .sporta-decision-panel__grid { grid-template-columns: 1fr; }
  .sporta-commercial-note { align-items: flex-start; flex-direction: column; }
  .sporta-cost-tool__form > label { grid-template-columns: 1fr; gap: 6px; }
  .sporta-cost-tool__total { align-items: flex-start; flex-direction: column; gap: 5px; }
  .sporta-cost-tool__total strong { white-space: normal; }
  .sporta-start-route__steps li { padding: 18px 16px; }
  .sporta-start-route__link { width: 100%; justify-content: center; text-align: center; }
}

/* v2.0: editorial depth for the twelve priority sports. */
.sporta-depth-fit {
  display: grid;
  grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
  gap: clamp(26px, 5vw, 64px);
  align-items: center;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid var(--sporta-line);
  border-radius: var(--sporta-radius-lg);
  background: linear-gradient(145deg, #fff 0%, #f0f5f8 100%);
  box-shadow: 0 28px 70px rgb(3 31 50 / 14%);
}
.sporta-depth-fit__intro h2 { margin: 5px 0 16px; font-size: clamp(34px, 4.6vw, 58px); line-height: .98; }
.sporta-depth-fit__intro > p:last-child { color: var(--sporta-muted); }
.sporta-depth-fit__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; }
.sporta-depth-fit__columns > div { position: relative; min-width: 0; overflow: hidden; padding: 26px 22px; border: 1px solid var(--sporta-line); border-radius: 20px; background: #fff; box-shadow: 0 16px 36px rgb(3 31 50 / 8%); }
.sporta-depth-fit__columns > div:last-child { background: linear-gradient(145deg, #fff, #fff4ef); }
.sporta-depth-fit__columns > div > span { position: absolute; right: 10px; top: -30px; color: rgb(20 118 255 / 10%); font-size: 130px; font-weight: 950; line-height: 1; }
.sporta-depth-fit__columns > div:last-child > span { color: rgb(255 111 67 / 13%); }
.sporta-depth-fit__columns h3,
.sporta-depth-fit__columns ul { position: relative; }
.sporta-depth-fit__columns h3 { margin: 0 0 14px; font-size: 21px; }
.sporta-depth-fit__columns ul { margin: 0; padding-left: 20px; }
.sporta-depth-fit__columns li + li { margin-top: 9px; }

.sporta-thresholds { position: relative; overflow: hidden; padding: clamp(28px, 5vw, 58px); border-radius: var(--sporta-radius-lg); background: radial-gradient(circle at 95% 5%, rgb(192 255 41 / 25%), transparent 25%), var(--sporta-navy-900); color: #fff; }
.sporta-thresholds::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 45%, rgb(255 255 255 / 4%)); }
.sporta-thresholds > div { position: relative; z-index: 1; }
.sporta-thresholds > div:first-child { display: flex; justify-content: space-between; gap: 22px; align-items: end; margin-bottom: 24px; }
.sporta-thresholds h2 { max-width: 680px; margin: 5px 0 0; font-size: clamp(32px, 4.6vw, 56px); line-height: 1; }
.sporta-thresholds__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.sporta-thresholds__grid article { min-width: 0; padding: 24px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 20px; background: rgb(255 255 255 / 8%); backdrop-filter: blur(8px); transition: transform .2s ease, background .2s ease; }
.sporta-thresholds__grid article:hover { background: rgb(255 255 255 / 12%); transform: translateY(-4px); }
.sporta-thresholds__grid small { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--sporta-lime); color: var(--sporta-navy-900); font-weight: 950; }
.sporta-thresholds__grid h3 { margin: 18px 0 10px; font-size: 20px; line-height: 1.18; }
.sporta-thresholds__grid p { margin: 0; color: #c4d4df; }

.sporta-cost-map { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: clamp(24px, 5vw, 58px); padding: clamp(28px, 5vw, 54px); border-radius: var(--sporta-radius-lg); background: linear-gradient(135deg, #fff8f3, #fff 50%, #f3fadf); box-shadow: var(--sporta-shadow); }
.sporta-cost-map__header h2 { margin: 5px 0 0; font-size: clamp(34px, 4.5vw, 54px); line-height: .98; }
.sporta-cost-map ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sporta-cost-map li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: start; padding: 17px; border: 1px solid rgb(9 40 62 / 10%); border-radius: 17px; background: rgb(255 255 255 / 80%); }
.sporta-cost-map li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--sporta-orange); color: var(--sporta-navy-900); font-size: 20px; font-weight: 950; box-shadow: 0 8px 20px rgb(255 111 67 / 28%); }
.sporta-cost-map li:nth-child(3) > span { background: var(--sporta-lime); box-shadow: 0 8px 20px rgb(192 255 41 / 25%); }
.sporta-cost-map strong { font-size: 17px; }
.sporta-cost-map p { margin: 4px 0 0; color: var(--sporta-muted); }

.sporta-glossary { position: relative; overflow: hidden; padding: clamp(28px, 5vw, 58px); border: 1px solid var(--sporta-line); border-radius: var(--sporta-radius-lg); background: #fff; box-shadow: var(--sporta-shadow); }
.sporta-glossary::after { content: "A–Ö"; position: absolute; right: -15px; top: -40px; color: rgb(20 118 255 / 6%); font-size: clamp(100px, 17vw, 230px); font-weight: 950; line-height: 1; transform: rotate(4deg); }
.sporta-glossary__header,
.sporta-glossary dl { position: relative; z-index: 1; }
.sporta-glossary__header { max-width: 760px; }
.sporta-glossary__header h2 { margin: 5px 0 14px; font-size: clamp(34px, 4.5vw, 54px); line-height: 1; }
.sporta-glossary__header > p:last-child { color: var(--sporta-muted); }
.sporta-glossary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 26px 0 0; border: 1px solid var(--sporta-line); border-radius: 20px; background: var(--sporta-line); }
.sporta-glossary dl > div { min-width: 0; padding: 20px; background: #fff; }
.sporta-glossary dt { margin-bottom: 5px; color: var(--sporta-cobalt); font-size: 17px; font-weight: 900; }
.sporta-glossary dd { margin: 0; color: var(--sporta-muted); line-height: 1.45; }

.sporta-after-four { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(18px, 4vw, 34px); align-items: center; overflow: hidden; padding: clamp(26px, 4vw, 44px); border-left: 7px solid var(--sporta-lime); border-radius: 0 var(--sporta-radius) var(--sporta-radius) 0; background: linear-gradient(135deg, #082338, #0d3c55); color: #fff; box-shadow: 0 22px 54px rgb(3 31 50 / 18%); }
.sporta-after-four > span { display: grid; place-items: center; width: clamp(68px, 9vw, 100px); height: clamp(68px, 9vw, 100px); border: 1px solid rgb(255 255 255 / 14%); border-radius: 24px; background: rgb(255 255 255 / 8%); color: var(--sporta-lime); font-size: clamp(40px, 6vw, 68px); font-weight: 950; transform: rotate(-4deg); }
.sporta-after-four h2 { margin: 3px 0 10px; font-size: clamp(27px, 4vw, 42px); line-height: 1.03; }
.sporta-after-four p:last-child { margin: 0; color: #c4d4df; }

@media (max-width: 900px) {
  .sporta-depth-fit,
  .sporta-cost-map { grid-template-columns: 1fr; }
  .sporta-thresholds__grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .sporta-depth-fit,
  .sporta-thresholds,
  .sporta-cost-map,
  .sporta-glossary { padding: 24px 20px; }
  .sporta-depth-fit__columns,
  .sporta-glossary dl { grid-template-columns: 1fr; }
  .sporta-thresholds > div:first-child { display: block; }
  .sporta-after-four { grid-template-columns: 1fr; padding: 24px 20px; }
}

@media print {
  .sporta-depth-fit,
  .sporta-thresholds,
  .sporta-cost-map,
  .sporta-glossary,
  .sporta-after-four { break-inside: avoid; box-shadow: none; }
  .sporta-thresholds,
  .sporta-after-four { background: #fff; color: #000; border: 1px solid #bbb; }
  .sporta-thresholds__grid p,
  .sporta-after-four p:last-child { color: #222; }
}

/* v1.4: keep the three new sport identities inside narrow iOS viewports. */
@media (max-width: 620px) {
  .sporta-sport--fotboll .sporta-page-header--sport,
  .sporta-sport--innebandy .sporta-page-header--sport,
  .sporta-sport--padel .sporta-page-header--sport {
    width: 100%;
    padding: 24px 20px;
    border-radius: 0 0 24px 24px;
  }

  .sporta-sport--fotboll .sporta-page-header--sport h1,
  .sporta-sport--innebandy .sporta-page-header--sport h1,
  .sporta-sport--padel .sporta-page-header--sport h1 {
    max-width: 100%;
    font-size: clamp(38px, 12vw, 58px);
    overflow-wrap: anywhere;
  }
}

/* v2.2: editorial equipment guides with commercial firewall and 2.5D depth. */
.sporta-guide-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin: -28px 0 42px;
  border: 1px solid var(--sporta-line);
  border-radius: 22px;
  background: var(--sporta-line);
  box-shadow: var(--sporta-shadow);
}
.sporta-guide-principles span { min-width: 0; padding: 22px; background: #fff; color: var(--sporta-muted); }
.sporta-guide-principles strong { display: block; margin-bottom: 4px; color: var(--sporta-navy-900); font-size: clamp(25px, 3vw, 38px); line-height: 1; }
.sporta-card--equipment { position: relative; overflow: hidden; border-color: rgb(20 118 255 / 22%); }
.sporta-card--equipment::after { content: "UTRUSTNING"; position: absolute; right: -16px; top: 20px; padding: 6px 20px; background: var(--sporta-lime); color: var(--sporta-navy-900); font-size: 10px; font-weight: 950; letter-spacing: .12em; transform: rotate(7deg); box-shadow: 0 8px 18px rgb(3 31 50 / 18%); }
.sporta-card--equipment .sporta-card__media { background: linear-gradient(145deg, #082338, #1476ff); }

.sporta-guide-filter { margin: 0 0 34px; padding: clamp(20px, 4vw, 32px); border: 1px solid var(--sporta-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 42px rgb(3 31 50 / 8%); }
.sporta-guide-filter > label { display: block; margin-bottom: 10px; color: var(--sporta-navy-900); font-weight: 900; }
.sporta-guide-filter__row { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 12px; align-items: center; }
.sporta-guide-filter input { width: 100%; min-width: 0; padding: 14px 16px; border: 1px solid var(--sporta-line); border-radius: 14px; background: var(--sporta-surface); color: var(--sporta-navy-900); font: inherit; }
.sporta-guide-filter__buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.sporta-guide-filter__buttons button { padding: 12px 14px; border: 1px solid var(--sporta-line); border-radius: 999px; background: #fff; color: var(--sporta-navy-900); font: inherit; font-weight: 850; cursor: pointer; }
.sporta-guide-filter__buttons button[aria-pressed="true"] { border-color: var(--sporta-navy-900); background: var(--sporta-navy-900); color: #fff; }
.sporta-guide-filter__status { margin: 10px 0 0; color: var(--sporta-muted); font-size: 14px; }
.sporta-guide-filter__empty { padding: 28px; border-radius: 18px; background: var(--sporta-surface); text-align: center; }
.sporta-card--guide[hidden] { display: none !important; }

.sporta-equipment-guide { --guide-accent: #1476ff; --guide-accent-2: #c0ff29; }
.sporta-equipment-guide--lopning { --guide-accent: #ff7048; --guide-accent-2: #ffd34f; }
.sporta-equipment-guide--styrketraning { --guide-accent: #7855ff; --guide-accent-2: #c0ff29; }
.sporta-equipment-guide--cykling { --guide-accent: #00a7a5; --guide-accent-2: #9dffcb; }
.sporta-equipment-guide--vandring { --guide-accent: #427a42; --guide-accent-2: #d9df73; }
.sporta-equipment-guide--simning { --guide-accent: #087bc1; --guide-accent-2: #59e6ff; }
.sporta-equipment-guide--fotboll { --guide-accent: #15934a; --guide-accent-2: #eaff66; }
.sporta-equipment-guide--innebandy { --guide-accent: #e43d70; --guide-accent-2: #7ee8ff; }
.sporta-equipment-guide--padel { --guide-accent: #d58b00; --guide-accent-2: #d8ff3f; }
.sporta-equipment-guide--yoga { --guide-accent: #a2529d; --guide-accent-2: #f5c9ee; }
.sporta-equipment-guide--langdskidor { --guide-accent: #3174a5; --guide-accent-2: #e8fbff; }
.sporta-equipment-guide--klattring { --guide-accent: #b3552c; --guide-accent-2: #f2cc79; }
.sporta-equipment-guide--golf { --guide-accent: #247848; --guide-accent-2: #bfee68; }
.sporta-equipment-guide--funktionell-traning { --guide-accent: #6a3d55; --guide-accent-2: #ff8a65; }
.sporta-equipment-guide--handboll { --guide-accent: #a92f3e; --guide-accent-2: #ff9b75; }
.sporta-equipment-guide--basket { --guide-accent: #a94712; --guide-accent-2: #ffab49; }
.sporta-equipment-guide--tennis { --guide-accent: #27748a; --guide-accent-2: #c8ff48; }
.sporta-equipment-guide--badminton { --guide-accent: #34448c; --guide-accent-2: #62d6f2; }
.sporta-equipment-guide--bordtennis { --guide-accent: #71357d; --guide-accent-2: #ee78a0; }
.sporta-equipment-guide--judo { --guide-accent: #7e2434; --guide-accent-2: #ff8a6b; }
.sporta-equipment-guide--boxning { --guide-accent: #c43a32; --guide-accent-2: #ffbb70; }
.sporta-equipment-guide--karate { --guide-accent: #8a642d; --guide-accent-2: #f0bd67; }
.sporta-equipment-guide--brasiliansk-jiu-jitsu { --guide-accent: #235684; --guide-accent-2: #8fc8f2; }
.sporta-equipment-guide--kajak { --guide-accent: #087c91; --guide-accent-2: #63e3cf; }
.sporta-equipment-guide--sup { --guide-accent: #1690a1; --guide-accent-2: #efc65f; }
.sporta-equipment-guide--segling { --guide-accent: #176da2; --guide-accent-2: #f2f0d3; }
.sporta-equipment-guide--alpint { --guide-accent: #355f83; --guide-accent-2: #c8f4ff; }
.sporta-equipment-guide--skridskor { --guide-accent: #4683ad; --guide-accent-2: #c4f7f5; }
.sporta-equipment-guide--ishockey { --guide-accent: #244f80; --guide-accent-2: #f06d69; }
.sporta-equipment-guide--orientering { --guide-accent: #657229; --guide-accent-2: #e6be45; }
.sporta-equipment-guide--mountainbike { --guide-accent: #316a45; --guide-accent-2: #8bd66c; }
.sporta-equipment-guide--ridning { --guide-accent: #755137; --guide-accent-2: #d69c61; }
.sporta-equipment-guide--discgolf { --guide-accent: #27635d; --guide-accent-2: #71c593; }
.sporta-equipment-guide--bagskytte { --guide-accent: #6f354e; --guide-accent-2: #db7891; }
.sporta-equipment-guide--bowling { --guide-accent: #403a88; --guide-accent-2: #9685f2; }
.sporta-equipment-guide--dans { --guide-accent: #7c286c; --guide-accent-2: #ef79b3; }
.sporta-equipment-guide--gymnastik { --guide-accent: #246d72; --guide-accent-2: #72d5cf; }

.sporta-page-header--equipment {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: none;
  min-height: 470px;
  padding: clamp(38px, 7vw, 82px) clamp(28px, 7vw, 92px);
  border-radius: 0 0 42px 42px;
  background: linear-gradient(135deg, #061a2b 0%, #104e6d 58%, #071624 100%);
  background:
    radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--guide-accent-2) 48%, transparent), transparent 24%),
    linear-gradient(135deg, #061a2b 0%, color-mix(in srgb, var(--guide-accent) 65%, #061a2b) 58%, #071624 100%);
  color: #fff;
  box-shadow: 0 34px 82px rgb(3 31 50 / 24%);
}
.sporta-page-header--equipment::before,
.sporta-page-header--equipment::after { content: ""; position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgb(255 255 255 / 13%); transform: rotate(-12deg); }
.sporta-page-header--equipment::before { inset: -35% 42% 20% -15%; border-radius: 45%; background: linear-gradient(145deg, rgb(255 255 255 / 7%), transparent); box-shadow: 35px 40px 0 rgb(255 255 255 / 3%); }
.sporta-page-header--equipment::after { right: -7%; bottom: -36%; width: 430px; height: 430px; border-radius: 50%; box-shadow: inset 0 0 0 38px rgb(255 255 255 / 3%), inset 0 0 0 76px rgb(255 255 255 / 2%); }
.sporta-page-header--equipment > :not(.sporta-equipment-orbit) { position: relative; z-index: 2; max-width: 780px; }
.sporta-page-header--equipment h1 { max-width: 840px; margin: 10px 0 20px; color: #fff; font-size: clamp(44px, 7vw, 88px); line-height: .93; overflow-wrap: anywhere; }
.sporta-page-header--equipment .sporta-page-header__lead { color: #d9e6ee; font-size: clamp(19px, 2.2vw, 25px); }
.sporta-page-header--equipment .sporta-article__meta { color: #d9e6ee; }
.sporta-equipment-orbit { position: absolute; z-index: 1; right: clamp(22px, 8vw, 100px); top: 50%; display: grid; place-items: center; width: clamp(130px, 19vw, 260px); aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 22%); border-radius: 50%; background: rgb(255 255 255 / 8%); box-shadow: 0 28px 70px rgb(0 0 0 / 24%), inset 0 0 0 18px rgb(255 255 255 / 3%); transform: translateY(-50%) rotate(7deg); backdrop-filter: blur(12px); }
.sporta-equipment-orbit::before { content: ""; position: absolute; inset: -24px; border: 2px dashed rgb(192 255 41 / 65%); border-color: color-mix(in srgb, var(--guide-accent-2) 70%, transparent); border-radius: inherit; transform: rotate(-20deg); }
.sporta-equipment-orbit span { color: var(--guide-accent-2); font-size: clamp(76px, 13vw, 170px); font-weight: 950; line-height: 1; text-shadow: 0 18px 34px rgb(0 0 0 / 26%); }
.sporta-equipment-trust { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.sporta-equipment-trust span { padding: 8px 12px; border: 1px solid rgb(255 255 255 / 15%); border-radius: 999px; background: rgb(255 255 255 / 8%); color: #fff; font-size: 12px; font-weight: 850; letter-spacing: .03em; }

.sporta-equipment-guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 330px); gap: clamp(28px, 5vw, 68px); align-items: start; margin-block: clamp(38px, 7vw, 82px); }
.sporta-guide-layout { max-width: 820px; margin-block: clamp(38px, 7vw, 82px); }
.sporta-prose--equipment { max-width: 820px; }
.sporta-prose--equipment > h2 { margin-top: clamp(42px, 7vw, 72px); padding-top: 8px; font-size: clamp(32px, 4vw, 48px); line-height: 1; }
.sporta-prose--equipment > ul,
.sporta-prose--equipment > ol { display: grid; gap: 10px; padding-left: 0; list-style: none; }
.sporta-prose--equipment > ul > li,
.sporta-prose--equipment > ol > li { position: relative; min-width: 0; padding: 17px 18px 17px 56px; border: 1px solid var(--sporta-line); border-radius: 16px; background: #fff; box-shadow: 0 12px 28px rgb(3 31 50 / 7%); }
.sporta-prose--equipment > ul > li::before,
.sporta-prose--equipment > ol > li::before { content: "✓"; position: absolute; left: 16px; top: 14px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--guide-accent-2); color: var(--sporta-navy-900); font-weight: 950; }
.sporta-prose--equipment > ol { counter-reset: equipment-step; }
.sporta-prose--equipment > ol > li { counter-increment: equipment-step; }
.sporta-prose--equipment > ol > li::before { content: counter(equipment-step); background: var(--guide-accent); color: #fff; }
.sporta-equipment-answer { position: relative; overflow: hidden; margin: 0 0 38px; padding: clamp(26px, 5vw, 44px); border-left: 7px solid var(--guide-accent-2); border-radius: 0 24px 24px 0; background: linear-gradient(135deg, #082338, #0d3c55); color: #fff; box-shadow: 0 22px 52px rgb(3 31 50 / 18%); }
.sporta-equipment-answer::after { content: "01"; position: absolute; right: -8px; bottom: -35px; color: rgb(255 255 255 / 7%); font-size: 150px; font-weight: 950; line-height: 1; }
.sporta-equipment-answer p { position: relative; z-index: 1; margin: 0; color: #fff; font-size: clamp(19px, 2.2vw, 25px); line-height: 1.45; }
.sporta-equipment-answer .sporta-equipment-answer__label { margin-bottom: 12px; color: var(--guide-accent-2); font-size: 12px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.sporta-equipment-check { margin: clamp(44px, 7vw, 74px) 0; padding: clamp(26px, 5vw, 48px); border-radius: 26px; background: linear-gradient(145deg, #fff9f4, #fff, #f5fbdc); box-shadow: var(--sporta-shadow); }
.sporta-equipment-check h2 { margin-top: 0; }
.sporta-equipment-check ul { display: grid; gap: 11px; padding: 0; list-style: none; }
.sporta-equipment-check li { position: relative; padding: 14px 16px 14px 48px; border-bottom: 1px solid var(--sporta-line); }
.sporta-equipment-check li::before { content: "?"; position: absolute; left: 4px; top: 10px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--guide-accent); color: #fff; font-weight: 950; }
.sporta-equipment-safety { margin: 36px 0; padding: 24px 26px; border: 1px solid #f3b7a4; border-radius: 20px; background: #fff4ef; }
.sporta-equipment-safety strong { color: #a1361d; font-size: 19px; }
.sporta-equipment-safety p { margin: 7px 0 0; }
.sporta-equipment-guide__sources { display: grid; gap: 9px; padding: 0; list-style: none; }
.sporta-equipment-guide__sources li { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--sporta-line); }
.sporta-equipment-guide__sources span { color: var(--sporta-muted); font-size: 13px; }
.sporta-equipment-guide__review { padding: 17px 19px; border-radius: 14px; background: var(--sporta-surface); color: var(--sporta-muted); font-size: 14px; }
.sporta-equipment-guide__next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 32px; }
.sporta-equipment-guide__next a { padding: 16px; border-radius: 14px; background: var(--sporta-navy-900); color: #fff; font-weight: 850; text-decoration: none; }
.sporta-equipment-guide-nav { position: sticky; top: 132px; min-width: 0; padding: 26px; border: 1px solid var(--sporta-line); border-radius: 24px; background: #fff; box-shadow: var(--sporta-shadow); }
.sporta-equipment-guide-nav h2 { margin: 7px 0 12px; font-size: 28px; line-height: 1; }
.sporta-equipment-guide-nav p:not(.sporta-kicker) { color: var(--sporta-muted); }
.sporta-equipment-guide-nav a { display: block; padding: 13px 0; border-top: 1px solid var(--sporta-line); color: var(--sporta-cobalt); font-weight: 820; text-decoration: none; }
.sporta-affiliate-cta { margin: 42px 0; padding: 24px; border: 2px solid var(--guide-accent); border-radius: 20px; background: #f6f9ff; background: color-mix(in srgb, var(--guide-accent) 6%, #fff); }
.sporta-affiliate-cta > span { display: inline-block; margin-bottom: 8px; padding: 5px 9px; border-radius: 999px; background: var(--guide-accent); color: #fff; font-size: 11px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.sporta-affiliate-cta p { color: var(--sporta-muted); }
.sporta-affiliate-cta a { display: inline-block; padding: 12px 17px; border-radius: 12px; background: var(--sporta-navy-900); color: #fff; font-weight: 850; text-decoration: none; }
.sporta-affiliate-cta--preview { border-style: dashed; opacity: .75; }

@media (max-width: 960px) {
  .sporta-equipment-guide-layout { grid-template-columns: 1fr; }
  .sporta-equipment-guide-nav { position: static; }
  .sporta-equipment-orbit { opacity: .45; }
}

@media (max-width: 620px) {
  .sporta-guide-principles { grid-template-columns: 1fr; margin-top: -12px; }
  .sporta-guide-filter__row { grid-template-columns: 1fr; }
  .sporta-guide-filter__buttons { display: grid; grid-template-columns: 1fr; }
  .sporta-guide-filter__buttons button { width: 100%; }
  .sporta-page-header--equipment { min-height: 0; width: 100%; padding: 34px 20px; border-radius: 0 0 26px 26px; }
  .sporta-page-header--equipment h1 { max-width: 100%; font-size: clamp(38px, 11.5vw, 58px); }
  .sporta-page-header--equipment > :not(.sporta-equipment-orbit) { max-width: 100%; }
  .sporta-equipment-orbit { right: -42px; top: 18%; width: 150px; transform: rotate(7deg); opacity: .26; }
  .sporta-equipment-orbit { animation: none !important; }
  .sporta-equipment-orbit span { font-size: 90px; }
  .sporta-equipment-trust { gap: 6px; }
  .sporta-equipment-trust span { padding: 6px 9px; font-size: 10px; }
  .sporta-equipment-guide-layout { margin-block: 32px 56px; }
  .sporta-equipment-answer,
  .sporta-equipment-check,
  .sporta-equipment-guide-nav,
  .sporta-affiliate-cta { padding: 22px 18px; }
  .sporta-prose--equipment > ul > li,
  .sporta-prose--equipment > ol > li { padding-right: 14px; overflow-wrap: anywhere; }
  .sporta-equipment-guide__sources li { align-items: flex-start; flex-direction: column; gap: 4px; }
  .sporta-equipment-guide__next { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  .sporta-equipment-orbit { animation: sporta-equipment-float 7s ease-in-out infinite; }
  @keyframes sporta-equipment-float { 0%, 100% { transform: translateY(-50%) rotate(7deg); } 50% { transform: translateY(calc(-50% - 10px)) rotate(3deg); } }
}

@media print {
  .sporta-equipment-orbit,
  .sporta-equipment-guide-nav,
  .sporta-ad-slot,
  .sporta-affiliate-cta { display: none !important; }
  .sporta-page-header--equipment { min-height: 0; padding: 20px 0; background: #fff; color: #000; box-shadow: none; }
  .sporta-page-header--equipment h1,
  .sporta-page-header--equipment .sporta-page-header__lead { color: #000; }
  .sporta-equipment-guide-layout { display: block; }
}

/* v2.10: source-reviewed, sport-specific route through the first session. */
.sporta-session-map {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: clamp(38px, 7vw, 78px) 0;
  padding: clamp(28px, 5vw, 54px);
  border-radius: 30px;
  background: linear-gradient(145deg, #061b2c 0%, #0b3952 62%, #0d2940 100%);
  color: #fff;
  box-shadow: 0 30px 72px rgb(3 31 50 / 22%);
}
.sporta-session-map::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -90px;
  top: -120px;
  width: 360px;
  height: 360px;
  border: 1px solid rgb(192 255 41 / 24%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(192 255 41 / 13%), transparent 67%);
  box-shadow: inset 0 0 0 42px rgb(255 255 255 / 2%), inset 0 0 0 84px rgb(255 255 255 / 2%);
}
.sporta-session-map .sporta-kicker { color: var(--sporta-lime); }
.sporta-session-map__header { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr); gap: clamp(24px, 5vw, 62px); align-items: end; }
.sporta-session-map__header h2 { max-width: 720px; margin: 5px 0 0; color: #fff; font-size: clamp(32px, 5vw, 58px); line-height: .98; }
.sporta-session-map__header > p { margin: 0; padding: 20px 22px; border-left: 4px solid var(--sporta-lime); border-radius: 0 16px 16px 0; background: rgb(255 255 255 / 7%); color: #e5eef3; font-size: clamp(17px, 2vw, 21px); line-height: 1.48; }
.sporta-session-map__check { display: grid; grid-template-columns: minmax(190px, .62fr) minmax(0, 1.38fr); gap: 24px; margin: 34px 0 16px; padding: 22px; border: 1px solid rgb(255 255 255 / 12%); border-radius: 20px; background: rgb(255 255 255 / 6%); }
.sporta-session-map__check h3 { margin: 0; color: #fff; font-size: 22px; }
.sporta-session-map__check ul,
.sporta-session-map__ready ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.sporta-session-map__check li,
.sporta-session-map__ready li { position: relative; padding-left: 25px; color: #d5e3eb; }
.sporta-session-map__check li::before,
.sporta-session-map__ready li::before { content: "✓"; position: absolute; left: 0; color: var(--sporta-lime); font-weight: 950; }
.sporta-session-map__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; padding: 0; list-style: none; counter-reset: none; }
.sporta-session-map__steps li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 15px; min-width: 0; padding: 22px; border: 1px solid rgb(255 255 255 / 11%); border-radius: 20px; background: rgb(255 255 255 / 7%); }
.sporta-session-map__steps li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--sporta-lime); color: var(--sporta-navy-900); font-size: 14px; font-weight: 950; }
.sporta-session-map__steps h3 { margin: 1px 0 7px; color: #fff; font-size: 20px; }
.sporta-session-map__steps p { margin: 0; color: #c7d8e2; line-height: 1.5; }
.sporta-session-map__ready { display: grid; grid-template-columns: minmax(190px, .62fr) minmax(0, 1.38fr); gap: 24px; margin-top: 16px; padding: 22px; border-radius: 20px; background: #fff; color: var(--sporta-navy-900); }
.sporta-session-map__ready h3 { margin: 3px 0 0; color: var(--sporta-navy-900); font-size: 23px; }
.sporta-session-map__ready li { color: var(--sporta-muted); }
.sporta-session-map__ready li::before { color: var(--sporta-cobalt); }
.sporta-session-map__stop { margin: 16px 0 0; padding: 18px 20px; border: 1px solid rgb(255 112 72 / 42%); border-radius: 16px; background: rgb(255 112 72 / 10%); color: #f4e5df; }
.sporta-session-map__stop strong { color: #ffae92; }
.sporta-session-map__review { display: flex; flex-wrap: wrap; gap: 7px 16px; align-items: baseline; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgb(255 255 255 / 12%); color: #b8ccd8; font-size: 13px; }
.sporta-session-map__review strong { color: #fff; }
.sporta-session-map__review small { margin-left: auto; color: #b8ccd8; }

@media (max-width: 760px) {
  .sporta-session-map__header,
  .sporta-session-map__check,
  .sporta-session-map__ready { grid-template-columns: 1fr; }
  .sporta-session-map__steps { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .sporta-session-map { width: 100%; padding: 24px 20px; border-radius: 24px; }
  .sporta-session-map__header > p,
  .sporta-session-map__check,
  .sporta-session-map__ready,
  .sporta-session-map__steps li { padding: 18px; }
  .sporta-session-map__steps li { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
  .sporta-session-map__steps li > span { width: 38px; height: 38px; }
  .sporta-session-map__review { display: grid; }
  .sporta-session-map__review small { margin-left: 0; }
}

@media print {
  .sporta-session-map { break-inside: avoid; background: #fff; color: #000; border: 1px solid #aaa; box-shadow: none; }
  .sporta-session-map::after { display: none; }
  .sporta-session-map .sporta-kicker,
  .sporta-session-map__header h2,
  .sporta-session-map__check h3,
  .sporta-session-map__steps h3,
  .sporta-session-map__ready h3,
  .sporta-session-map__review strong { color: #000; }
  .sporta-session-map__header > p,
  .sporta-session-map__check li,
  .sporta-session-map__steps p,
  .sporta-session-map__ready li,
  .sporta-session-map__stop,
  .sporta-session-map__review,
  .sporta-session-map__review small { color: #222; }
}
