:root {
  --oas-black: #0a0a0a;
  --oas-paper: #f5f5f5;
  --oas-volt: #c6f432;
  --oas-grey: #4a4a4a;
  --oas-dim: #a8a8a8;
  --oas-panel: #141414;
  --oas-head: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
  --oas-body: "Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.oas-dark {
  margin: 0;
  background: var(--oas-black);
  color: var(--oas-paper);
  font-family: var(--oas-body);
  font-size: 1.02rem;
  line-height: 1.62;
}

.oas-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.oas-skip {
  position: absolute;
  left: -9999px;
  background: var(--oas-volt);
  color: var(--oas-black);
  padding: 0.7rem 1.2rem;
  font-family: var(--oas-head);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  z-index: 40;
}
.oas-skip:focus { left: 0.6rem; top: 0.6rem; }

.oas-lim { box-sizing: border-box; width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1.2rem; }

.oas-bar { border-block-end: 1px solid #202020; }
.oas-bar-in {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-block: 0.9rem;
}
.oas-sign { display: inline-flex; align-items: center; gap: 0.5rem; text-decoration: none; color: var(--oas-volt); }
.oas-sign-tx {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--oas-paper);
}
.oas-nav { display: flex; flex-wrap: wrap; gap: 1.3rem; }
.oas-nav-a {
  font-family: var(--oas-head);
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--oas-dim);
  text-decoration: none;
}
.oas-nav-a:hover { color: var(--oas-volt); }

/* diagonal split hero */
.oas-open { position: relative; overflow: hidden; }
.oas-wedge {
  position: absolute;
  inset-block: -20% 0;
  inset-inline-end: -30%;
  width: 85%;
  background: var(--oas-volt);
  transform: skewX(-14deg);
  opacity: 0.12;
}
.oas-open-in { position: relative; padding-block: 3rem 3.4rem; }
.oas-tag {
  margin: 0 0 1rem;
  font-family: var(--oas-head);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--oas-volt);
}
.oas-open-h {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: clamp(2.3rem, 8.5vw, 4.6rem);
  line-height: 0.98;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  margin: 0 0 1.2rem;
  max-width: 17ch;
}
.oas-open-p { margin: 0; max-width: 58ch; color: #d2d2d2; }
.oas-open-cta { margin-block-start: 1.8rem; }

.oas-btn {
  display: inline-block;
  background: var(--oas-volt);
  color: var(--oas-black);
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1.08rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.72rem 1.7rem;
}
.oas-btn:hover { background: #d8ff4d; }

/* metric strip */
.oas-metrics { border-block: 1px solid #202020; background: var(--oas-panel); }
.oas-metrics-row { display: grid; gap: 1.6rem; padding-block: 2rem; }
.oas-metric-fig {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: clamp(3rem, 11vw, 5rem);
  line-height: 0.9;
  color: var(--oas-volt);
  margin: 0 0 0.5rem;
}
.oas-metric-cap { margin: 0; color: var(--oas-dim); font-size: 0.95rem; max-width: 34ch; }

.oas-h2 {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: clamp(1.8rem, 5.4vw, 2.8rem);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
}
.oas-h2-sub { margin: 0 0 1.8rem; max-width: 58ch; color: var(--oas-dim); }
.oas-plain { max-width: 66ch; margin: 0 0 1rem; color: #d2d2d2; }

/* 2x2 quadrant grid */
.oas-programmes { padding-block: 2.6rem; }
.oas-quad { display: grid; gap: 0; }
.oas-cell {
  box-sizing: border-box;
  padding: 1.5rem 0;
  border-block-start: 2px solid var(--oas-grey);
}
.oas-cell-no {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.24em;
  color: var(--oas-volt);
  margin: 0 0 0.4rem;
}
.oas-cell-h {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1.55rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
}
.oas-cell p { margin: 0; color: #cfcfcf; max-width: 54ch; }

.oas-approach { padding-block: 2.4rem; border-block-start: 1px solid #202020; }

.oas-reach { padding-block: 2.6rem 3.2rem; border-block-start: 1px solid #202020; }
.oas-reach-grid { display: grid; gap: 1.8rem; }
.oas-mail { margin-block: 1.2rem 0.4rem; font-size: 1.18rem; }
.oas-small { color: var(--oas-dim); font-size: 0.9rem; }
.oas-reach-box {
  border: 2px solid var(--oas-grey);
  border-block-start: 4px solid var(--oas-volt);
  padding: 1.2rem;
  align-self: start;
}
.oas-box-h {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--oas-dim);
  margin: 0 0 0.7rem;
}
.oas-addr { font-style: normal; line-height: 1.7; }
.oas-addr-run { font-size: 0.9rem; color: var(--oas-dim); margin-block-start: 0.3rem; }

.oas-a { color: var(--oas-volt); text-underline-offset: 3px; }
.oas-a:hover { color: var(--oas-paper); }
.oas-a-lead { font-family: var(--oas-head); font-weight: 700; font-size: 1.25em; letter-spacing: 0.03em; }

.oas-foot { border-block-start: 2px solid var(--oas-grey); padding-block: 2rem; }
.oas-foot-grid { display: grid; gap: 1.2rem; }
.oas-foot-name {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0;
}
.oas-foot-l { margin: 0.26rem 0; font-size: 0.88rem; color: var(--oas-dim); }

/* privacy page */
.oas-doc { padding-block: 2.4rem 3.2rem; }
.oas-doc-h1 {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: clamp(2rem, 6.4vw, 3.2rem);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin: 0 0 0.9rem;
}
.oas-doc-open {
  box-sizing: border-box;
  max-width: 62ch;
  margin: 0 0 2.2rem;
  padding-inline-start: 1rem;
  border-inline-start: 4px solid var(--oas-volt);
  color: #d2d2d2;
}
.oas-doc-h2 {
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--oas-volt);
  margin: 2rem 0 0.5rem;
}
.oas-doc p { max-width: 66ch; margin: 0 0 0.85rem; color: #d2d2d2; }
.oas-doc-back { margin-block-start: 2.4rem; }

:focus-visible { outline: 3px solid var(--oas-volt); outline-offset: 3px; }

@media (min-width: 640px) {
  .oas-bar-in { flex-direction: row; align-items: center; justify-content: space-between; }
  .oas-metrics-row { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
  .oas-foot-grid { grid-template-columns: 1fr auto; align-items: end; }
  .oas-foot-side { text-align: end; }
}

@media (min-width: 960px) {
  .oas-open-in { padding-block: 5rem 5.4rem; }
  .oas-programmes, .oas-approach { padding-block: 3.6rem; }
  .oas-reach { padding-block: 3.6rem 4.4rem; }
  .oas-quad { grid-template-columns: 1fr 1fr; column-gap: 3rem; }
  .oas-cell { padding: 2rem 0; }
  .oas-cell:nth-child(even) { border-inline-start: 2px solid var(--oas-grey); padding-inline-start: 3rem; }
  .oas-reach-grid { grid-template-columns: minmax(0, 1.5fr) minmax(16rem, 0.8fr); gap: 3rem; }
}

.oas-rights { max-width: 66ch; margin: 0 0 1.1rem; }
.oas-rt { margin: 0 0 0.6rem; padding-inline-start: 0.9rem; border-inline-start: 2px solid var(--oas-grey); }
.oas-rt-k {
  display: inline;
  font-family: var(--oas-head);
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: 0.14em;
  color: var(--oas-volt);
}
.oas-rt-v { display: inline; margin: 0; color: #d2d2d2; }
.oas-rt-note { max-width: 66ch; margin: 1.1rem 0 0; color: var(--oas-dim); font-size: 0.94rem; }
