/*
  Standalone SWOT view. The section rhythm and controls follow the shared
  Tubalytics analytical interface contract.
*/
body.swot-page {
  --pulse-rd-ink: #101917;
  --pulse-rd-muted: #66716e;
  --pulse-rd-muted-2: #87918e;
  --pulse-rd-accent: #087665;
  --pulse-rd-line: #dce4e1;
  --pulse-rd-line-strong: #aab8b3;
  --pulse-rd-surface: #ffffff;
  --pulse-rd-content: var(--ui-content-max);
  --swot-band-base: #ffffff;
  --swot-band-tinted: #f4f7f6;
  --swot-section-space: 72px;
  color: var(--pulse-rd-ink);
  background: var(--swot-band-base);
}

html[data-theme="dark"] body.swot-page {
  --pulse-rd-ink: #edf5f2;
  --pulse-rd-muted: #a7b6b1;
  --pulse-rd-muted-2: #81928c;
  --pulse-rd-accent: #63cdb9;
  --pulse-rd-line: #30413b;
  --pulse-rd-line-strong: #536b63;
  --pulse-rd-surface: #101b17;
  --swot-band-base: #0e1814;
  --swot-band-tinted: #14231e;
  background: var(--swot-band-base);
}

body.swot-page .site-footer {
  position: relative;
  z-index: 1;
  color: var(--pulse-rd-ink);
  background: var(--swot-band-base) !important;
  --ui-muted: var(--pulse-rd-muted);
  --ui-rule: var(--pulse-rd-line);
}

body.swot-page .site-footer .site-footer-inner {
  border-top: 0;
}

.swot-page,
.swot-page button,
.swot-page input,
.swot-page select {
  font-family: var(--ui-font-sans);
}

.swot-page .page-shell.swot-shell {
  display: block;
  width: min(var(--pulse-rd-content), calc(100% - 64px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
  color: var(--pulse-rd-ink);
  background: transparent;
}

.swot-page .swot-controls-band,
.swot-page .swot-hero-band,
.swot-page .swot-map-band,
.swot-page .swot-register-band {
  position: relative;
  padding-block: var(--swot-section-space);
}

.swot-page :is(.swot-controls-band, .swot-hero-band, .swot-map-band, .swot-register-band)::before {
  position: absolute;
  z-index: 0;
  inset-block: 0;
  left: 50%;
  width: 100vw;
  background: var(--swot-section-band);
  content: "";
  transform: translateX(-50%);
  pointer-events: none;
}

.swot-page :is(.swot-controls-band, .swot-hero-band, .swot-map-band, .swot-register-band) > * {
  position: relative;
  z-index: 1;
}

.swot-page .swot-controls-band,
.swot-page .swot-map-band {
  --swot-section-band: var(--swot-band-base);
}

.swot-page .swot-hero-band,
.swot-page .swot-register-band {
  --swot-section-band: var(--swot-band-tinted);
}

.swot-page .swot-controls-band {
  z-index: 4;
  padding-top: 46px;
  padding-bottom: 34px;
}

.swot-page .swot-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(130px, 180px);
  gap: 34px;
  align-items: end;
  margin: 0;
  padding: 0;
}

.swot-page .swot-toolbar > * {
  min-width: 0;
}

.swot-page .swot-toolbar > :is(.single-picker, .year-field) {
  display: grid;
  grid-template-rows: 11px 48px;
  gap: 8px;
  align-items: stretch;
}

.swot-page .swot-toolbar label {
  display: block;
  height: 11px;
  min-height: 0;
  margin: 0;
  color: var(--pulse-rd-muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.16em;
  line-height: 11px;
  text-transform: uppercase;
}

.swot-page .swot-toolbar .select-field,
.swot-page .swot-toolbar .country-combobox {
  min-height: 48px;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pulse-rd-line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.swot-page .swot-toolbar :is(.select-field, .country-combobox):is(:hover, :focus-within) {
  border-bottom-color: var(--pulse-rd-accent) !important;
}

.swot-page .swot-toolbar :is(select, input[type="search"]) {
  min-height: 47px !important;
  padding: 0 42px 0 0 !important;
  color: var(--pulse-rd-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 19px;
  font-weight: 760;
}

.swot-page .swot-toolbar .combo-toggle {
  right: -6px;
  color: var(--pulse-rd-ink);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.swot-page .swot-toolbar .country-options {
  background: var(--pulse-rd-surface);
}

.swot-page .swot-page-loading {
  display: grid;
  gap: 10px;
  width: min(420px, 100%);
  min-height: 54px;
  margin-top: 26px;
  align-content: end;
}

.swot-page .swot-page-loading[hidden] {
  display: none !important;
}

.swot-page .swot-page-loading strong {
  color: var(--pulse-rd-ink);
  font-size: 13px;
  font-weight: 720;
}

.swot-page .swot-loading-line {
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  overflow: hidden;
  background: var(--pulse-rd-line);
}

.swot-page .swot-loading-line i {
  position: absolute;
  inset-block: 0;
  left: 0;
  width: 42%;
  background: var(--pulse-rd-accent);
  animation: swot-loading 1.15s ease-in-out infinite alternate;
}

@keyframes swot-loading {
  from { transform: translateX(-20%); }
  to { transform: translateX(160%); }
}

.swot-page #swotAnalysis[hidden] {
  display: none;
}

.swot-page .swot-hero-band .pulse-swot-heading,
.swot-page .swot-map-band .pulse-swot-sources,
.swot-page .swot-register-band .pulse-swot-register {
  margin-top: 0;
}

.swot-page .swot-map-band .pulse-swot-sources {
  margin-bottom: 28px;
}

.swot-page .swot-register-band .pulse-swot-method {
  margin-top: 24px;
}

.swot-page .pulse-swot-section {
        --pulse-rd-section-band: var(--pulse-rd-band-base);
      }

      .swot-page .pulse-hero {
        margin-bottom: 0;
      }

      .swot-page .pulse-summary-grid {
        margin-bottom: 0;
      }

      .swot-page .pulse-rhythm-section .pulse-latest-rhythm {
        margin: 0;
      }

      .swot-page .pulse-workspace {
        display: block;
      }

      .swot-page .pulse-map-events-section {
        display: grid;
        grid-template-columns: minmax(0, 1.75fr) minmax(300px, 0.75fr);
        gap: 56px;
        align-items: start;
      }

      .swot-page .pulse-map-panel,
      .swot-page .pulse-side-panel {
        grid-column: auto;
        grid-row: auto;
        padding-top: 0 !important;
        border-top: 0 !important;
      }

      .swot-page .pulse-indicator-panel {
        grid-column: auto;
        grid-row: auto;
        padding-block: var(--pulse-rd-section-space) !important;
        border-top: 0 !important;
      }

      .swot-page .pulse-swot-section {
        --pulse-swot-strength: #087665;
        --pulse-swot-weakness: #b07b1f;
        --pulse-swot-opportunity: #23788a;
        --pulse-swot-threat: #b65346;
        grid-column: auto;
        grid-row: auto;
        overflow: visible;
      }

      html[data-theme="dark"] .swot-page .pulse-swot-section {
        --pulse-swot-strength: #63cdb9;
        --pulse-swot-weakness: #e2b849;
        --pulse-swot-opportunity: #6bc2d1;
        --pulse-swot-threat: #ef8d7e;
      }

      .swot-page .pulse-swot-heading {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(460px, 0.85fr);
        gap: 64px;
        align-items: end;
        margin-bottom: 0;
      }

      .swot-page .pulse-swot-heading-copy {
        min-width: 0;
      }

      .swot-page .pulse-swot-eyebrow {
        display: flex;
        gap: 14px;
        align-items: center;
        margin: 0 0 22px;
        color: var(--pulse-rd-accent);
        font-size: 12px;
        font-weight: 850;
        letter-spacing: 0.18em;
        line-height: 1.2;
        text-transform: uppercase;
      }

      .swot-page .pulse-swot-eyebrow::before,
      .swot-page .swot-section-heading > span::before {
        width: 34px;
        height: 1px;
        flex: 0 0 34px;
        background: currentColor;
        content: "";
      }

      .swot-page .pulse-swot-heading :is(h1, h2) {
        max-width: 760px;
        margin: 0;
        color: var(--pulse-rd-ink);
        font-size: clamp(54px, 5.5vw, 92px);
        font-weight: 770;
        letter-spacing: -0.062em;
        line-height: 0.95;
      }

      .swot-page .pulse-swot-heading-copy > p {
        max-width: 740px;
        margin: 26px 0 0;
        color: var(--pulse-rd-muted);
        font-size: clamp(18px, 1.45vw, 23px);
        font-weight: 450;
        letter-spacing: -0.016em;
        line-height: 1.4;
      }

      .swot-page .swot-section-heading {
        margin: 0 0 30px;
      }

      .swot-page .swot-section-heading > span {
        display: flex;
        gap: 14px;
        align-items: center;
        margin: 0 0 14px;
        color: var(--pulse-rd-accent);
        font-size: 11px;
        font-weight: 850;
        letter-spacing: 0.15em;
        line-height: 1.2;
        text-transform: uppercase;
      }

      .swot-page .swot-section-heading h2 {
        max-width: 860px;
        margin: 0;
        color: var(--pulse-rd-ink);
        font-size: clamp(30px, 3vw, 46px);
        font-weight: 720;
        letter-spacing: -0.035em;
        line-height: 1;
      }

      .swot-page .pulse-swot-metrics {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        align-self: end;
        border-top: 1px solid var(--pulse-rd-line);
      }

      .swot-page .pulse-swot-metrics > span {
        min-width: 0;
        padding: 15px 18px 0 0;
      }

      .swot-page .pulse-swot-metrics > span + span {
        padding-left: 18px;
        border-left: 1px solid var(--pulse-rd-line);
      }

      .swot-page .pulse-swot-metrics :is(b, small) {
        display: block;
      }

      .swot-page .pulse-swot-metrics b {
        color: var(--pulse-rd-ink);
        font-size: 12px;
        font-weight: 760;
        letter-spacing: 0.1em;
        line-height: 1.2;
        text-transform: uppercase;
      }

      .swot-page .pulse-swot-metrics small {
        margin-top: 6px;
        color: var(--pulse-rd-muted);
        font-size: 13px;
        line-height: 1.4;
      }

      .swot-page .pulse-swot-sources {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 18px;
        align-items: center;
        min-height: 25px;
        margin: 0 0 28px;
        color: var(--pulse-rd-muted);
        font-size: 12px;
      }

      .swot-page .pulse-swot-sources > strong {
        margin-right: 4px;
        color: var(--pulse-rd-ink);
        font-size: 12px;
        font-weight: 760;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .swot-page .pulse-swot-sources > span {
        display: inline-flex;
        gap: 6px;
        align-items: center;
        white-space: nowrap;
      }

      .swot-page .pulse-swot-sources > span i {
        width: 7px;
        height: 7px;
        background: var(--pulse-rd-muted-2);
        border-radius: 50%;
      }

      .swot-page .pulse-swot-sources > span.is-pulse i { background: var(--pulse-rd-accent); }
      .swot-page .pulse-swot-sources > span.is-structure i { background: var(--pulse-swot-strength); }
      .swot-page .pulse-swot-sources > span.is-forecast i { background: var(--pulse-swot-opportunity); }
      .swot-page .pulse-swot-sources > span.is-event i { background: var(--pulse-swot-weakness); }
      .swot-page .pulse-swot-sources > span.is-conflict i { background: var(--pulse-swot-threat); }
      .swot-page .pulse-swot-sources > span.is-dashboard i { background: #7563a8; }

      .swot-page .pulse-swot-sources > span b {
        color: var(--pulse-rd-ink);
        font-size: 10px;
        font-variant-numeric: tabular-nums;
      }

      .swot-page .pulse-swot-map-shell {
        position: relative;
        min-width: 0;
        height: clamp(650px, 52vw, 780px);
        border-block: 1px solid var(--pulse-rd-line);
      }

      .swot-page .pulse-swot-map {
        width: 100%;
        height: 100%;
        min-height: 0;
      }

      .swot-page .pulse-swot-quadrant-label,
      .swot-page .pulse-swot-axis-label {
        position: absolute;
        z-index: 2;
        pointer-events: none;
        user-select: none;
      }

      .swot-page .pulse-swot-quadrant-label {
        display: flex;
        gap: 9px;
        align-items: center;
        color: var(--pulse-rd-muted);
        font-size: 12px;
        font-weight: 760;
        letter-spacing: 0.02em;
      }

      .swot-page .pulse-swot-quadrant-label b {
        display: grid;
        place-items: center;
        width: 24px;
        height: 24px;
        color: currentColor;
        border: 1px solid currentColor;
        border-radius: 50%;
        font-size: 10px;
        font-weight: 900;
      }

      .swot-page .pulse-swot-quadrant-label.is-weakness {
        top: 20px;
        left: 24px;
        color: var(--pulse-swot-weakness);
      }

      .swot-page .pulse-swot-quadrant-label.is-strength {
        top: 20px;
        right: 24px;
        color: var(--pulse-swot-strength);
      }

      .swot-page .pulse-swot-quadrant-label.is-threat {
        bottom: 20px;
        left: 24px;
        color: var(--pulse-swot-threat);
      }

      .swot-page .pulse-swot-quadrant-label.is-opportunity {
        right: 24px;
        bottom: 20px;
        color: var(--pulse-swot-opportunity);
      }

      .swot-page .pulse-swot-axis-label {
        display: inline-flex;
        min-height: 24px;
        padding: 0 9px;
        align-items: center;
        color: var(--pulse-rd-muted-2);
        background: var(--pulse-rd-surface);
        border: 1px solid var(--pulse-rd-line-strong);
        border-radius: 2px;
        box-shadow: none;
        font-size: 10px;
        font-weight: 850;
        letter-spacing: 0.13em;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
      }

      .swot-page .pulse-swot-axis-label.is-pressure {
        top: 50%;
        left: 18px;
        transform: translateY(-50%);
      }

      .swot-page .pulse-swot-axis-label.is-support {
        top: 50%;
        right: 18px;
        transform: translateY(-50%);
      }

      .swot-page .pulse-swot-axis-label.is-internal {
        top: 14px;
        left: 50%;
        transform: translateX(-50%);
      }

      .swot-page .pulse-swot-axis-label.is-external {
        bottom: 14px;
        left: 50%;
        transform: translateX(-50%);
      }

      .swot-page .pulse-swot-method {
        max-width: 820px;
        margin: 22px 0 0;
        color: var(--pulse-rd-muted-2);
        font-size: 13px;
        line-height: 1.55;
      }

      .swot-page .pulse-swot-loading {
        display: grid;
        place-content: center;
        width: 100%;
        height: 100%;
        padding: 32px;
        text-align: center;
      }

      .swot-page .pulse-swot-loading > span {
        width: 32px;
        height: 32px;
        margin: 0 auto 16px;
        border: 2px solid var(--pulse-rd-line);
        border-top-color: var(--pulse-rd-accent);
        border-radius: 50%;
        animation: pulse-swot-spin 0.9s linear infinite;
      }

      .swot-page .pulse-swot-loading b {
        color: var(--pulse-rd-ink);
        font-size: 13px;
      }

      .swot-page .pulse-swot-loading small {
        max-width: 420px;
        margin-top: 7px;
        color: var(--pulse-rd-muted);
        font-size: 11px;
        line-height: 1.45;
      }

      @keyframes pulse-swot-spin {
        to { transform: rotate(360deg); }
      }

      .swot-page .pulse-swot-register {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .swot-page .pulse-swot-register-quadrant {
        min-width: 0;
        padding: 24px 22px 26px 0;
      }

      .swot-page .pulse-swot-register-quadrant + .pulse-swot-register-quadrant {
        padding-left: 22px;
        border-left: 1px solid var(--pulse-rd-line);
      }

      .swot-page .pulse-swot-register-quadrant h3 {
        display: flex;
        gap: 18px;
        align-items: baseline;
        justify-content: space-between;
        margin: 0 0 22px;
        color: var(--pulse-rd-muted);
        font-size: 18px;
        font-weight: 670;
        letter-spacing: -0.015em;
        line-height: 1.25;
      }

      .swot-page .pulse-swot-register-quadrant.is-strength h3 { color: var(--pulse-swot-strength); }
      .swot-page .pulse-swot-register-quadrant.is-weakness h3 { color: var(--pulse-swot-weakness); }
      .swot-page .pulse-swot-register-quadrant.is-opportunity h3 { color: var(--pulse-swot-opportunity); }
      .swot-page .pulse-swot-register-quadrant.is-threat h3 { color: var(--pulse-swot-threat); }

      .swot-page .pulse-swot-register-quadrant h3 b {
        color: inherit;
        font-size: 12px;
        font-weight: 760;
        font-variant-numeric: tabular-nums;
      }

      .swot-page .pulse-swot-register-quadrant ol {
        display: grid;
        gap: 18px;
        margin: 0;
        padding: 0;
        list-style: none;
        counter-reset: swot-factor;
      }

      .swot-page .pulse-swot-register-quadrant li {
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr);
        gap: 2px 8px;
        min-width: 0;
        counter-increment: swot-factor;
      }

      .swot-page .pulse-swot-register-quadrant li::before {
        grid-row: 1 / span 2;
        color: var(--pulse-rd-muted-2);
        font-size: 11px;
        line-height: 1.45;
        font-variant-numeric: tabular-nums;
        content: counter(swot-factor, decimal-leading-zero);
      }

      .swot-page .pulse-swot-register-quadrant li strong {
        color: var(--pulse-rd-ink);
        font-size: 15px;
        font-weight: 590;
        letter-spacing: -0.012em;
        line-height: 1.35;
      }

      .swot-page .pulse-swot-register-quadrant li small {
        color: var(--pulse-rd-muted-2);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.45;
      }

      .pulse-swot-tooltip-inner {
        display: grid;
        gap: 10px;
        min-width: min(290px, calc(100vw - 40px));
        white-space: normal;
      }

      body.swot-page .pulse-swot-tooltip {
        max-width: min(360px, calc(100vw - 20px));
        padding: 14px 16px !important;
        color: var(--pulse-rd-ink) !important;
        white-space: normal !important;
        background: var(--pulse-rd-surface, #ffffff) !important;
        border: 1px solid var(--pulse-rd-line) !important;
        border-radius: 0 !important;
        box-shadow: 0 18px 46px rgba(16, 25, 23, 0.16) !important;
        pointer-events: auto;
      }

      .pulse-swot-tooltip-inner > strong {
        max-width: 320px;
        color: var(--pulse-rd-ink, #101917);
        font-size: 14px;
        line-height: 1.3;
      }

      .pulse-swot-tooltip-classification {
        display: flex;
        gap: 8px;
        align-items: center;
        color: var(--pulse-rd-muted, #66716e);
        font-size: 11px;
        font-weight: 820;
        letter-spacing: 0.09em;
        text-transform: uppercase;
      }

      .pulse-swot-tooltip-classification i {
        width: 9px;
        height: 9px;
        background: var(--series-color);
        border-radius: 50%;
      }

      .pulse-swot-tooltip-inner > p {
        max-width: 320px;
        margin: 0;
        color: var(--pulse-rd-muted, #66716e);
        font-size: 12px;
        line-height: 1.45;
      }

      .pulse-swot-tooltip-evidence {
        display: grid;
        gap: 3px;
        max-width: 320px;
        padding: 9px 10px;
        background: color-mix(in srgb, var(--pulse-rd-ink, #101917) 4%, transparent);
        border-left: 2px solid var(--pulse-rd-line, #dce4e1);
      }

      .pulse-swot-tooltip-evidence b {
        color: var(--pulse-rd-ink, #101917);
        font-size: 9px;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .pulse-swot-tooltip-evidence span {
        color: var(--pulse-rd-muted, #66716e);
        font-size: 11px;
        line-height: 1.4;
      }

      .pulse-swot-tooltip-inner .tooltip-row {
        grid-template-columns: 10px minmax(116px, 1fr) auto;
      }

      .pulse-swot-tooltip-inner .tooltip-row b {
        color: var(--pulse-rd-ink);
      }

      .pulse-swot-tooltip-inner .tooltip-row span {
        color: var(--pulse-rd-muted);
      }

      .pulse-swot-tooltip-inner .pulse-swot-meter {
        display: inline-grid;
        position: relative;
        justify-self: end;
      }

      .pulse-swot-tooltip-inner .pulse-swot-meter-segments {
        display: grid;
        grid-template-columns: repeat(4, 16px);
        gap: 4px;
      }

      .pulse-swot-tooltip-inner .pulse-swot-meter-segment {
        width: 16px;
        height: 8px;
        background: transparent;
        border: 1px solid var(--pulse-rd-line-strong);
        border-radius: 1px;
      }

      .pulse-swot-tooltip-inner .pulse-swot-meter-segment.is-filled {
        background: var(--swot-meter-color);
        border-color: var(--swot-meter-color);
      }

      .pulse-swot-tooltip-inner .pulse-swot-meter-value {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

@media (min-width: 1200px) {
  .swot-page .pulse-swot-heading {
    grid-template-rows: auto auto auto;
    column-gap: 64px;
    row-gap: 0;
  }

  .swot-page .pulse-swot-heading-copy {
    display: contents;
  }

  .swot-page .pulse-swot-eyebrow {
    grid-row: 1;
    grid-column: 1 / -1;
  }

  .swot-page .pulse-swot-heading :is(h1, h2) {
    grid-row: 2;
    grid-column: 1 / -1;
    max-width: none;
    white-space: nowrap;
  }

  .swot-page .pulse-swot-heading-copy > p {
    grid-row: 3;
    grid-column: 1;
    align-self: start;
  }

  .swot-page .pulse-swot-metrics {
    grid-row: 3;
    grid-column: 2;
    align-self: start;
    margin-top: 26px;
  }
}

@media (max-width: 900px) {
  .swot-page .pulse-swot-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .swot-page .pulse-swot-metrics {
    max-width: 720px;
  }

  .swot-page .pulse-swot-register {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swot-page .pulse-swot-register-quadrant:nth-child(3) {
    padding-left: 0;
    border-top: 1px solid var(--pulse-rd-line);
    border-left: 0;
  }

  .swot-page .pulse-swot-register-quadrant:nth-child(4) {
    border-top: 1px solid var(--pulse-rd-line);
  }
}

@media (max-width: 860px) {
  body.swot-page {
    --swot-section-space: 56px;
  }
}

@media (max-width: 620px) {
  body.swot-page {
    --swot-section-space: 48px;
  }

  .swot-page .page-shell.swot-shell {
    width: min(var(--pulse-rd-content), calc(100% - 36px));
  }

  .swot-page .swot-controls-band {
    padding-top: 34px;
    padding-bottom: 26px;
  }

  .swot-page .swot-toolbar {
    grid-template-columns: 1fr;
  }

  .swot-page .pulse-swot-heading {
    margin-bottom: 0;
  }

  .swot-page .pulse-swot-heading :is(h1, h2) {
    font-size: clamp(46px, 14vw, 66px);
    line-height: 0.96;
  }

  .swot-page .pulse-swot-heading-copy > p {
    font-size: 17px;
  }

  .swot-page .swot-section-heading h2 {
    font-size: 34px;
  }

  .swot-page .pulse-swot-metrics {
    grid-template-columns: 1fr;
  }

  .swot-page .pulse-swot-metrics > span {
    display: grid;
    grid-template-columns: minmax(104px, 0.42fr) 1fr;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--pulse-rd-line);
  }

  .swot-page .pulse-swot-metrics > span + span {
    padding-left: 0;
    border-left: 0;
  }

  .swot-page .pulse-swot-metrics small {
    margin-top: 0;
  }

  .swot-page .pulse-swot-sources {
    gap: 7px 14px;
  }

  .swot-page .pulse-swot-map-shell {
    height: 740px;
  }

  .swot-page .pulse-swot-register {
    grid-template-columns: 1fr;
  }

  .swot-page .pulse-swot-register-quadrant,
  .swot-page .pulse-swot-register-quadrant + .pulse-swot-register-quadrant,
  .swot-page .pulse-swot-register-quadrant:nth-child(3) {
    padding: 20px 0;
    border-top: 1px solid var(--pulse-rd-line);
    border-left: 0;
  }

  .swot-page .pulse-swot-register-quadrant:first-child {
    border-top: 0;
  }

  .swot-page .pulse-swot-quadrant-label {
    gap: 6px;
    font-size: 10px;
  }

  .swot-page .pulse-swot-quadrant-label b {
    width: 20px;
    height: 20px;
    font-size: 9px;
  }

  .swot-page .pulse-swot-quadrant-label:is(.is-weakness, .is-threat) {
    left: 10px;
  }

  .swot-page .pulse-swot-quadrant-label:is(.is-strength, .is-opportunity) {
    right: 10px;
  }

  .swot-page .pulse-swot-axis-label.is-pressure {
    left: 8px;
  }

  .swot-page .pulse-swot-axis-label.is-support {
    right: 8px;
  }

  .swot-page .pulse-swot-axis-label.is-internal {
    top: 50px;
  }

  .swot-page .pulse-swot-axis-label.is-external {
    bottom: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .swot-page .swot-loading-line i,
  .swot-page .pulse-swot-loading > span {
    animation: none;
  }
}
