:root {
  --oa-ink: #1d1d1f;
  --oa-muted: #55565a;
  --oa-soft: #f5f7fa;
  --oa-sky: #edf5fa;
  --oa-blue: #2f5f80;
  --oa-red: #b6422d;
  --oa-red-dark: #8f2f20;
  --oa-white: #ffffff;
  --oa-focus: #0b65c2;
  --oa-max: 1180px;
  --oa-copy: 780px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.sc-opportunity-page {
  margin: 0;
  background: var(--oa-white);
  color: var(--oa-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.sc-opportunity-page :where(h1, h2, h3, p, ul, ol, figure) { margin-top: 0; }

body.sc-opportunity-page :where(h1, h2, h3) {
  color: var(--oa-ink);
  font-family: inherit;
  font-weight: 700;
  letter-spacing: -0.035em;
}

body.sc-opportunity-page h1 {
  max-width: 16ch;
  margin-bottom: 24px;
  font-size: clamp(2.35rem, 4.7vw, 3.25rem);
  line-height: 1.02;
}

body.sc-opportunity-page h2 {
  max-width: 22ch;
  margin-bottom: 22px;
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  line-height: 1.08;
}

body.sc-opportunity-page h3 {
  margin-bottom: 8px;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  line-height: 1.22;
  letter-spacing: -0.02em;
}

body.sc-opportunity-page p { margin-bottom: 1.1em; }

body.sc-opportunity-page a {
  color: var(--oa-blue);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

body.sc-opportunity-page a:hover { color: var(--oa-red-dark); }

body.sc-opportunity-page :focus-visible {
  outline: 3px solid var(--oa-focus);
  outline-offset: 4px;
}

.oa-skip {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
  padding: 10px 14px;
  background: var(--oa-ink);
  color: var(--oa-white) !important;
  transform: translateY(-160%);
}

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

.oa-shell {
  width: min(var(--oa-max), calc(100% - 48px));
  margin-inline: auto;
}

.oa-copy { max-width: var(--oa-copy); }

.oa-route {
  margin-top: 30px;
  color: var(--oa-muted);
  font-size: 1rem !important;
}

.oa-nav {
  background: rgba(255, 255, 255, .96);
  color: var(--oa-ink);
}

.oa-nav-inner {
  min-height: 82px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
}

.oa-brand {
  width: 54px;
  height: 54px;
  display: block;
}

.oa-brand img { display: block; width: 100%; height: 100%; object-fit: contain; }

.oa-menu {
  display: flex;
  justify-content: center;
  gap: 28px;
}

.oa-menu a {
  color: var(--oa-ink) !important;
  font-size: .9rem;
  font-weight: 650;
  text-decoration: none;
}

.oa-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  background: var(--oa-red);
  color: var(--oa-white) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.oa-button:hover { background: var(--oa-red-dark); color: var(--oa-white) !important; }

.oa-hero {
  padding: clamp(58px, 8vw, 112px) 0;
  background: var(--oa-soft);
}

.oa-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items: center;
  gap: clamp(44px, 7vw, 92px);
}

.oa-kicker,
.oa-section-label,
.oa-check-date {
  margin-bottom: 18px;
  color: var(--oa-red);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.oa-dek {
  max-width: 38em;
  margin-bottom: 28px;
  color: var(--oa-muted);
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  line-height: 1.48;
}

.oa-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--oa-muted);
  font-size: .85rem;
}

.oa-hero figure { margin: 0; }

.oa-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.oa-hero figcaption {
  margin-top: 12px;
  color: var(--oa-muted);
  font-size: .82rem;
  line-height: 1.45;
}

.oa-toc-wrap {
  padding: 30px 0 4px;
  background: var(--oa-white);
}

.oa-toc-wrap .oa-section-label { margin-bottom: 12px; }

.oa-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
}

.oa-toc a {
  color: var(--oa-blue) !important;
  font-size: .9rem;
  font-weight: 680;
  text-decoration: none;
}

.oa-toc a:hover { color: var(--oa-red-dark) !important; }

.oa-answer {
  padding: clamp(56px, 7vw, 92px) 0;
}

.oa-answer-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, var(--oa-copy));
  gap: 44px;
}

.oa-answer p:not(.oa-section-label) {
  color: var(--oa-ink);
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  line-height: 1.48;
}

.oa-section { padding: clamp(64px, 8vw, 108px) 0; }
.oa-section-soft { background: var(--oa-soft); }
.oa-section-sky { background: var(--oa-sky); }

.oa-section-head {
  max-width: 820px;
  margin-bottom: 42px;
}

.oa-section-head > p:last-child {
  max-width: 55em;
  color: var(--oa-muted);
  font-size: 1.06rem;
}

.oa-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(26px, 4vw, 54px);
}

.oa-step-number {
  margin-bottom: 14px;
  color: var(--oa-red);
  font-size: 1rem;
  font-weight: 780;
}

.oa-flow p,
.oa-fact-list p,
.oa-decision-list p { color: var(--oa-muted); }

.oa-fact-list,
.oa-decision-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 64px;
}

.oa-fact-list article,
.oa-decision-list article { min-width: 0; }

.oa-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 58px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: checklist;
}

.oa-checklist li {
  position: relative;
  min-height: 58px;
  padding-left: 54px;
  color: var(--oa-ink);
  counter-increment: checklist;
}

.oa-checklist li::before {
  content: counter(checklist, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  color: var(--oa-red);
  font-size: .84rem;
  font-weight: 780;
  letter-spacing: .06em;
}

.oa-table-wrap { overflow-x: auto; }

.oa-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
  color: var(--oa-ink);
  font-size: .94rem;
}

.oa-table :where(th, td) {
  padding: 16px 18px;
  border: 0;
  text-align: left;
  vertical-align: top;
}

.oa-table th {
  background: var(--oa-blue);
  color: var(--oa-white);
  font-size: .77rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.oa-table td { background: var(--oa-white); }

.oa-note {
  max-width: 900px;
  margin: 42px 0 0;
  padding: 30px 34px;
  background: var(--oa-sky);
  color: var(--oa-ink);
  font-size: 1.08rem;
}

.oa-metric-visual,
.oa-placement-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 900px;
  margin: 30px 0 0;
}

.oa-metric-visual p,
.oa-placement-map p {
  margin: 0;
  padding: 24px;
  background: var(--oa-white);
}

.oa-metric-visual strong,
.oa-metric-visual span,
.oa-placement-map strong,
.oa-placement-map span { display: block; }

.oa-metric-visual strong,
.oa-placement-map strong { color: var(--oa-ink); }

.oa-metric-visual span,
.oa-placement-map span { margin-top: 7px; color: var(--oa-muted); }

.oa-note strong { color: var(--oa-red-dark); }

.oa-sources {
  margin: 0;
  padding-left: 1.3em;
}

.oa-sources li { margin: 0 0 14px; padding-left: 8px; }
.oa-sources span { display: block; color: var(--oa-muted); font-size: .88rem; }

.oa-related {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.oa-related a { font-weight: 680; }

.oa-cta {
  padding: clamp(68px, 9vw, 118px) 0;
  background: var(--oa-sky);
}

.oa-cta-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  align-items: end;
  gap: 56px;
}

.oa-cta h2 { margin-bottom: 0; }
.oa-cta p { color: var(--oa-muted); }

.oa-footer {
  padding: 72px 0 40px;
  background: var(--oa-soft);
}

.oa-footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(160px, .5fr));
  gap: 48px;
}

.oa-footer-mark { display: block; width: 56px; height: 56px; margin-bottom: 24px; }
.oa-footer-mark img { display: block; width: 56px; height: 56px; object-fit: contain; }
.oa-footer-statement { max-width: 24em; font-size: 1.25rem; font-weight: 650; }
.oa-footer h2 { margin-bottom: 14px; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }
.oa-footer nav { display: grid; gap: 8px; }
.oa-footer a { color: var(--oa-ink); }
.oa-footer-base { margin-top: 54px; color: var(--oa-muted); font-size: .82rem; }

body.sc-opportunity-page .sc-consent,
body.sc-opportunity-page .sc-consent-reopen {
  font-family: inherit !important;
  border-radius: 0 !important;
}

@media (max-width: 880px) {
  .oa-hero-grid,
  .oa-answer-grid,
  .oa-cta-grid { grid-template-columns: 1fr; }
  .oa-answer-grid { gap: 12px; }
  .oa-flow { grid-template-columns: 1fr; }
  .oa-fact-list,
  .oa-decision-list { grid-template-columns: 1fr; }
  .oa-footer-top { grid-template-columns: 1fr 1fr; }
  .oa-footer-intro { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  body.sc-opportunity-page { font-size: 17px; }
  .oa-shell { width: min(var(--oa-max), calc(100% - 32px)); }
  .oa-nav-inner { min-height: 70px; grid-template-columns: auto 1fr; gap: 16px; }
  .oa-menu { justify-content: end; gap: 16px; }
  .oa-menu a:nth-child(2) { display: none; }
  .oa-nav .oa-button { display: none; }
  .oa-brand { width: 46px; height: 46px; }
  body.sc-opportunity-page h1 { max-width: 19ch; font-size: clamp(2.45rem, 12vw, 3.4rem); }
  .oa-hero { padding-top: 44px; }
  .oa-hero-grid { gap: 34px; }
  .oa-checklist { grid-template-columns: 1fr; }
  .oa-metric-visual,
  .oa-placement-map { grid-template-columns: 1fr; }
  .oa-table { min-width: 680px; }
  .oa-note { padding: 24px 22px; }
  .oa-footer-top { grid-template-columns: 1fr; }
  .oa-footer-intro { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
