.rhero {
  position: relative;
  padding: clamp(140px,14vw,180px) var(--pad) clamp(60px,8vw,100px);
  background: var(--ink); color: #fff;
  overflow: hidden; isolation: isolate;
}
.rhero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(ellipse 70% 60% at 15% 30%, rgba(74,122,96,0.35) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 85% 80%, rgba(199,217,176,0.15) 0%, transparent 60%);
}
.rhero__grid {
  position: absolute; inset: 0; z-index: -1; opacity: 0.12;
  background-image:
    linear-gradient(to right, rgba(199,217,176,0.4) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(199,217,176,0.4) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 60% 70% at 50% 50%, #000 30%, transparent 80%);
}
.rhero__inner {
  max-width: var(--max); margin: 0 auto;
  display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: end;
}
.rhero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.75); margin-bottom: 22px;
}
.rhero__eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--forest-3); }
.rhero__title {
  font-weight: 800; line-height: 0.94; letter-spacing: -0.032em;
  font-size: clamp(48px,7vw,120px); text-wrap: balance;
}
.rhero__title .stress { color: var(--forest-3); }
.rhero__sub {
  margin-top: 20px; font-size: var(--fs-lede); line-height: 1.5;
  color: rgba(255,255,255,0.82); max-width: 50ch;
}
.rhero__plate {
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(14,24,20,0.45); backdrop-filter: blur(10px);
  padding: 28px; display: grid; gap: 14px;
}
.rhero__plate-n {
  font-weight: 800; font-size: clamp(80px,9vw,140px); letter-spacing: -0.04em; line-height: 0.88;
  display: flex; align-items: flex-start;
}
.rhero__plate-n .pct { font-size: 0.34em; margin-top: 0.3em; color: var(--forest-3); }
.rhero__plate-cap { color: rgba(255,255,255,0.82); line-height: 1.6; font-size: 16px; max-width: 34ch; }

.rhero__plate-n { animation: statGlow 3s ease-in-out infinite; }

.twinblock {
  padding: clamp(70px,9vw,120px) var(--pad);
  background: var(--bg); border-bottom: 1px solid var(--line-2);
}
.twinblock__inner { max-width: var(--max); margin: 0 auto; }
.twinblock__hd {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
  margin-bottom: 40px;
}
.twinblock__hd h2 { max-width: 16ch; text-wrap: balance; }
.twinblock__hd p { color: var(--ink-2); font-size: var(--fs-lede); line-height: 1.5; max-width: 44ch; }
.twincards {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
  background: var(--line); border: 1px solid var(--line);
}
.twincard { background: var(--bg); padding: 40px; display: grid; gap: 14px; align-content: start; }
.twincard--ink { background: var(--ink); color: #fff; }
.twincard--ink .mono { color: rgba(243,239,231,0.6); }
.twincard__n {
  font-weight: 800; font-size: clamp(72px,8vw,128px); letter-spacing: -0.04em; line-height: 0.88;
  display: flex; align-items: flex-start;
}
.twincard__n .pct { font-size: 0.34em; margin-top: 0.3em; color: var(--forest); }
.twincard--ink .twincard__n .pct { color: var(--forest-3); }
.twincard__cap { color: var(--ink-2); line-height: 1.5; max-width: 36ch; }
.twincard--ink .twincard__cap { color: rgba(243,239,231,0.8); }
.twincard__cond {
  margin-top: 6px; padding: 8px 12px;
  border: 1px dashed var(--line);
  font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--muted);
}
.twincard--ink .twincard__cond { border-color: rgba(243,239,231,0.3); color: rgba(243,239,231,0.7); }

.contrast {
  padding: clamp(80px,10vw,130px) var(--pad);
  background: var(--paper); border-bottom: 1px solid var(--line-2);
}
.contrast__inner { max-width: var(--max); margin: 0 auto; }
.contrast__hd { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 56px; }
.contrast__hd h2 { max-width: 18ch; text-wrap: balance; }
.contrast__hd p { color: var(--ink-2); font-size: var(--fs-lede); line-height: 1.5; max-width: 44ch; }
.compare { display: grid; gap: 18px; }
.compare__row { display: grid; grid-template-columns: 220px 1fr auto; gap: 24px; align-items: center; }
.compare__lab {
  font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--muted); line-height: 1.4;
}
.compare__lab b {
  color: var(--ink); font-weight: 500; display: block; font-size: 14px;
  letter-spacing: -0.01em; text-transform: none; font-family: var(--f-sans); margin-top: 4px;
}
.compare__bar { position: relative; height: 56px; background: var(--bg-2); overflow: hidden; border-radius: 2px; }
.compare__fill {
  position: absolute; inset: 0 auto 0 0;
  width: var(--wt, 0%); transition: width 1.6s var(--ease);
}
.js-anim .compare__fill { width: 0; }
.js-anim .compare.in .compare__fill { width: var(--wt); }
@media (prefers-reduced-motion: reduce){
  .compare__fill { transition: none; width: var(--wt, 0%); }
}
.compare__fill--low { background: linear-gradient(90deg, #9A928A 0%, #B0A79A 100%); }
.compare__fill--mid { background: linear-gradient(90deg, var(--forest-2) 0%, #6C9680 100%); }
.compare__fill--hi { background: linear-gradient(90deg, var(--forest) 0%, #3a6b52 100%); }
.compare__val {
  font-weight: 800; font-size: 32px; letter-spacing: -0.02em; line-height: 1;
  min-width: 80px; text-align: right;
}
.compare__val.hi { color: var(--forest); font-size: 40px; text-shadow: 0 0 16px rgba(42,74,58,0.22); }
.compare__row:last-child .compare__bar { height: 72px; }
.compare.in .compare__fill--hi { box-shadow: 0 4px 24px rgba(42,74,58,0.35), 0 0 48px rgba(74,122,96,0.15); }
.contrast__cap { margin-top: 40px; max-width: 70ch; color: var(--ink-2); line-height: 1.6; }

.rate-hd {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
  margin-bottom: 48px;
}
.rate-hd h2 { max-width: 20ch; text-wrap: balance; }
.rate-plate {
  background: var(--ink); color: #fff;
  padding: 28px; display: grid; gap: 14px;
}
.rate-plate__lab {
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.rate-plate__n {
  font-weight: 800; font-size: clamp(72px, 9vw, 128px);
  letter-spacing: -0.04em; line-height: 0.88;
  display: flex; align-items: flex-start;
  text-shadow:
    0 0 24px rgba(127,216,159,0.28),
    0 0 56px rgba(127,216,159,0.12);
  animation: plateGlow 3s ease-in-out infinite;
}
.rate-plate__n .pct {
  font-size: 0.34em; margin-top: 0.28em; font-weight: 700;
  color: var(--forest-3);
  text-shadow: 0 0 20px rgba(127,216,159,0.45);
}
@keyframes plateGlow {
  0%, 100% { text-shadow: 0 0 24px rgba(127,216,159,0.22), 0 0 56px rgba(127,216,159,0.10); }
  50%      { text-shadow: 0 0 38px rgba(127,216,159,0.45), 0 0 84px rgba(127,216,159,0.24); }
}
@media (prefers-reduced-motion: reduce) {
  .rate-plate__n { animation: none; }
}
.rate-plate__cap {
  font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em;
  text-transform: uppercase; color: rgba(255,255,255,0.55); line-height: 1.5;
}
.rate-contrast {
  display: grid;
  gap: clamp(24px, 4vw, 48px);
}
.rate-contrast__baseline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.rate-contrast__stat {
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 10px;
}
.rate-contrast__num {
  font-weight: 800;
  font-size: clamp(32px, 5vw, 40px);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--muted);
}
.rate-contrast__label {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
}
.rate-blurb {
  margin-top: 32px;
  color: var(--ink-2); font-size: var(--fs-lede); line-height: 1.5;
}
@media (max-width: 640px) {
  .rate-contrast__baseline {
    grid-template-columns: 1fr;
  }
  .rate-hd { grid-template-columns: 1fr; gap: 24px; }
}

.sec { padding: clamp(80px,10vw,130px) var(--pad); background: var(--bg); border-bottom: 1px solid var(--line-2); }
.sec--paper { background: var(--paper); }
.sec--ink { background: var(--ink); color: #fff; }
.sec__inner { max-width: var(--max); margin: 0 auto; }
.sec__hd { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 48px; }
.sec__hd h2 { max-width: 20ch; text-wrap: balance; }
.sec__hd p { color: var(--ink-2); font-size: var(--fs-lede); line-height: 1.5; max-width: 44ch; }
.sec--ink .sec__hd p { color: rgba(243,239,231,0.78); }
.sec--ink .mono { color: rgba(243,239,231,0.6); }
.sec--tx .sec__hd .mono{ font-size:13px; letter-spacing:0.14em; color:var(--ink-2); }

.ucat { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; padding-top: 12px; }
.ucat__strip { position: relative; padding: 60px 0 80px; }
.ucat__rail {
  height: 18px;
  background: linear-gradient(90deg, #EFEAD9 0%, #E5DFCB 30%, var(--sand) 55%, #A7B89B 78%, var(--forest-2) 92%, var(--forest) 100%);
  border-radius: 9px; position: relative;
}
.ucat__tick { position: absolute; top: -8px; bottom: -8px; width: 2px; background: rgba(14,14,12,0.25); left: var(--pos); }
.ucat__tick::after {
  content: attr(data-label);
  position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
  font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted);
  white-space: nowrap;
}
.ucat__mark { position: absolute; top: -18px; bottom: -18px; left: var(--pos); width: 3px; background: var(--ink); }
.js-anim .ucat__mark { transition: left 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.4s; }
.js-anim .ucat__strip:not(.in) .ucat__mark { left: 0; }
.ucat__mark::before {
  content: ""; position: absolute; left: -7px; top: 0;
  width: 17px; height: 17px; border-radius: 50%;
  background: var(--ink); border: 3px solid var(--bg);
  box-shadow: 0 4px 12px rgba(14,14,12,0.25);
}
.js-anim .ucat__strip.in .ucat__mark::before {
  animation: markerPulse 1.2s ease 1.9s 1;
}
@keyframes markerPulse {
  0%, 100% { box-shadow: 0 4px 12px rgba(14,14,12,0.25); }
  40% { box-shadow: 0 0 0 10px rgba(14,14,12,0), 0 4px 12px rgba(14,14,12,0.25); }
}
.ucat__mark::after {
  content: attr(data-flag);
  position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%);
  background: var(--ink); color: #fff; padding: 6px 10px;
  font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;
  white-space: nowrap;
}
.js-anim .ucat__mark::after { opacity: 0; transition: opacity 0.5s ease 1.9s; }
.js-anim .ucat__strip.in .ucat__mark::after { opacity: 1; }
.ucat__legend {
  display: flex; justify-content: space-between;
  font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--muted); text-transform: uppercase;
  margin-top: 34px;
}
.ucat__stats { display: grid; gap: 20px; align-content: start; }
.ucat__stat {
  padding: 14px 0; border-top: 1px solid var(--line);
  display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: baseline;
}
.ucat__stat:last-child { border-bottom: 1px solid var(--line); }
.ucat__stat-n { font-weight: 800; font-size: 40px; letter-spacing: -0.03em; line-height: 1; color: var(--forest); display: inline-flex; }
.ucat__stat-n sup { font-size: 0.5em; font-weight: 700; vertical-align: top; }
.ucat__stat-lab { font-size: 16px; color: var(--ink-2); line-height: 1.6; }
.ucat__stat--stack { grid-template-columns: 1fr; gap: 8px; }

.hstack { border-top: 1px solid var(--line); }
.hstack-item {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 40px;
  padding: 36px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
  position: relative;
}
.hstack-item::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--forest);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.5s var(--ease);
}
.hstack-item.in::before { transform: scaleY(1); }
[data-stagger] > .hstack-item:nth-child(1) { --stagger: 0s; }
[data-stagger] > .hstack-item:nth-child(2) { --stagger: 0.18s; }
[data-stagger] > .hstack-item:nth-child(3) { --stagger: 0.36s; }
.hstack-n {
  font-weight: 900;
  font-size: clamp(52px, 6vw, 88px);
  letter-spacing: -0.04em;
  line-height: 0.9;
  color: var(--forest);
  display: flex; align-items: flex-start;
  position: relative; isolation: isolate;
  justify-self: start;
}
.hstack-n::before {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 150%; height: 200%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(74,122,96,0.32) 0%, rgba(74,122,96,0.14) 35%, transparent 70%);
  animation: statHalo 3.5s ease-in-out infinite;
  z-index: -1; pointer-events: none; filter: blur(12px);
}
.hstack-item:nth-child(2) .hstack-n::before { animation-delay: 1s; }
.hstack-item:nth-child(3) .hstack-n::before { animation-delay: 2s; }
.hstack-n .pct { font-size: 0.38em; margin-top: 0.28em; font-weight: 700; }
.hstack-cond { font-weight: 600; font-size: 18px; letter-spacing: -0.01em; line-height: 1.4; max-width: 52ch; text-wrap: pretty; }
.hstack-note { margin-top: 10px; font-size: 13px; color: var(--muted); line-height: 1.5; font-family: var(--f-mono); letter-spacing: 0.04em; text-transform: uppercase; }
@media (max-width: 640px) {
  .hstack-item { grid-template-columns: 1fr; gap: 16px; }
}

.london-badges {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px;
}
.london-badge {
  padding: 14px 24px;
  border: 1px solid var(--line);
  background: var(--paper);
  font-weight: 700; font-size: 16px; letter-spacing: -0.01em;
  display: inline-flex; align-items: center; gap: 10px;
  transition: background .3s var(--ease), border-color .3s;
}
.london-badge::before {
  content: "✓"; color: var(--forest); font-weight: 800; font-size: 14px;
}

.dist {
  display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center;
  padding: 40px 0;
}
.dist__legend { display: grid; gap: 14px; }
.dist__row { display: grid; grid-template-columns: 14px 1fr auto; gap: 12px; align-items: center; }
.dist__sw { width: 14px; height: 14px; border-radius: 3px; }
.dist__sw--a { background: var(--forest); }
.dist__sw--b { background: var(--forest-2); }
.dist__sw--c { background: var(--sand); }
.dist__sw--d { background: #C0B8A7; }
.dist__lab { font-size: 14px; color: var(--ink-2); line-height: 1.3; }
.dist__val { font-family: var(--f-mono); font-size: 12px; color: var(--muted); letter-spacing: 0.04em; }
.dist__bar { height: 80px; display: flex; border-radius: 2px; overflow: hidden; border: 1px solid var(--line); }
.dist__seg {
  display: grid; place-items: center;
  color: #fff; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em;
  transition: flex 1.6s var(--ease); flex: 0;
}
.dist.in .dist__seg--a { flex: 40; background: var(--forest); }
.dist.in .dist__seg--b { flex: 27; background: var(--forest-2); }
.dist.in .dist__seg--c { flex: 20; background: var(--sand); color: var(--ink); }
.dist.in .dist__seg--d { flex: 13; background: #C0B8A7; color: var(--ink); }

.cycles {
  padding: 40px 0;
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 60px; align-items: center;
}
.cycles__chart { position: relative; height: 340px; }
.cycles__chart svg { width: 100%; height: 100%; overflow: visible; }
.cycles__grid { stroke: var(--line); stroke-dasharray: 2 4; fill: none; }
.cycles__area { fill: url(#areaGrad); }
.js-anim .cycles__area { opacity: 0; }
.cycles.in .cycles__area { opacity: 0.3; transition: opacity 1.4s ease 1.6s; }
.cycles__line {
  fill: none; stroke: var(--forest); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 1000; stroke-dashoffset: 1000;
  transition: stroke-dashoffset 2s var(--ease);
}
.cycles.in .cycles__line { stroke-dashoffset: 0; }
.cycles__line--ext {
  stroke-dasharray: 4 5; stroke-dashoffset: 0;
}
.js-anim .cycles__line--ext { opacity: 0; transition: opacity 0.8s ease 2.0s; }
.cycles.in .cycles__line--ext { opacity: 0.55; }
.cycles__dot { fill: var(--forest); stroke: var(--bg); stroke-width: 3; }
.cycles__dot--open { fill: none; stroke: #2A4A3A; stroke-width: 1.6; }
.js-anim .cycles__dot { opacity: 0; transition: opacity 0.4s ease; }
.cycles.in .cycles__dot:nth-of-type(1) { opacity: 1; transition-delay: 0.5s; }
.cycles.in .cycles__dot:nth-of-type(2) { opacity: 1; transition-delay: 1.1s; }
.cycles.in .cycles__dot:nth-of-type(3) { opacity: 1; transition-delay: 1.6s; }
.cycles.in .cycles__dot:nth-of-type(4) { opacity: 0.6; transition-delay: 2.2s; }
.js-anim .cycles__anno { opacity: 0; transition: opacity 0.8s ease 1.8s; }
.cycles.in .cycles__anno { opacity: 1; }
.cycles__xlab { font-family: var(--f-mono); font-size: 11px; fill: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; }
.cycles__note { display: grid; gap: 22px; align-content: start; }
.cycles__note p { font-weight: 600; font-size: 20px; line-height: 1.35; letter-spacing: -0.01em; max-width: 34ch; }
.cycles__note-small { font-size: 16px; color: var(--muted); line-height: 1.6; max-width: 36ch; }

.placement {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line);
}
.placerow { background: var(--bg); padding: 28px; display: grid; gap: 12px; align-content: start; min-height: 220px; }
.sec--paper .placerow { background: var(--paper); }
.placerow__n { font-weight: 800; font-size: 42px; letter-spacing: -0.025em; line-height: 1; color: var(--forest); }
.placerow__t { font-weight: 700; font-size: 17px; letter-spacing: -0.01em; line-height: 1.3; }
.placerow__p { font-size: 14px; color: var(--ink-2); line-height: 1.5; }

.uwall {
  display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line);
  grid-template-columns: repeat(7, 1fr);
}
.uwall__logo {
  background: var(--bg); aspect-ratio: 5/2;
  display: grid; place-items: center; padding: 14px;
  font-weight: 700; font-size: 14.5px; letter-spacing: -0.01em; color: var(--ink-2);
  transition: color .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
  text-align: center;
  text-decoration: none;
  position: relative;
}
a.uwall__logo:hover,
a.uwall__logo:focus-visible {
  color: var(--gold);
  box-shadow: inset 0 0 0 1.5px var(--gold);
  background: color-mix(in oklab, var(--gold) 6%, var(--bg));
  z-index: 1;
  outline: none;
}
.sec--paper a.uwall__logo:hover,
.sec--paper a.uwall__logo:focus-visible {
  background: color-mix(in oklab, var(--gold) 6%, var(--paper));
}
a.uwall__logo--elite:hover,
a.uwall__logo--elite:focus-visible {
  box-shadow: inset 0 0 0 2px var(--gold);
  background: color-mix(in oklab, var(--gold) 9%, var(--bg));
}
.sec--paper a.uwall__logo--elite:hover,
.sec--paper a.uwall__logo--elite:focus-visible {
  background: color-mix(in oklab, var(--gold) 9%, var(--paper));
}
.sec--paper .uwall__logo { background: var(--paper); }
.uwall__logo--postgrad {
  position: relative;
}
.uwall__logo--postgrad::after {
  content: ""; position: absolute; top: 8px; right: 8px;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--forest-2);
  box-shadow: 0 0 0 2px var(--bg);
}
.sec--paper .uwall__logo--postgrad::after { box-shadow: 0 0 0 2px var(--paper); }

.uwall__logo--filler {
  pointer-events: none;
}
.uwall__logo--filler::before,
.uwall__logo--filler::after { display: none; }

.uwall__info {
  margin-bottom: 24px;
  padding: 20px 26px 22px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold);
  background: color-mix(in oklab, var(--gold) 4%, var(--bg));
  position: sticky;
  top: calc(var(--header-h, 96px) + 12px);
  z-index: 3;
  min-height: 92px;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: 6px;
  overflow: hidden;
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  transition: background .35s var(--ease), border-color .35s var(--ease);
}
.sec--paper .uwall__info { background: color-mix(in oklab, var(--gold) 4%, var(--paper)); }
.uwall__info.is-active { background: color-mix(in oklab, var(--gold) 8%, var(--bg)); }
.sec--paper .uwall__info.is-active { background: color-mix(in oklab, var(--gold) 8%, var(--paper)); }
.uwall__info-kicker {
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  display: block;
  transition: color .3s var(--ease);
}
.uwall__info-default,
.uwall__info-active {
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.5;
  color: var(--ink-2);
  letter-spacing: -0.005em;
  text-wrap: pretty;
  transition: opacity .35s var(--ease), transform .35s var(--ease);
  display: block;
  grid-column: 1; grid-row: 2;
}
.uwall__info-default {
  font-style: italic;
  color: var(--muted);
}
.uwall__info-active {
  transform: translateY(4px);
  opacity: 0;
  color: var(--ink);
  font-weight: 500;
}
.uwall__info-name {
  color: var(--gold);
  font-weight: 700;
  margin-right: 4px;
  letter-spacing: 0;
}
.uwall__info-blurb { color: var(--ink); font-weight: 500; }
.uwall__info.is-active .uwall__info-default {
  opacity: 0;
  transform: translateY(-4px);
}
.uwall__info.is-active .uwall__info-active {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 960px) {
  .uwall__info { position: relative; top: auto; }
}
@media (max-width: 640px) {
  .uwall__info { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .uwall__info-default,
  .uwall__info-active { transition: opacity .15s linear; transform: none; }
  .uwall__info.is-active .uwall__info-default { transform: none; }
  .uwall__info.is-active .uwall__info-active { transform: none; }
}

.uwall {
  display: flex; flex-direction: column; gap: 32px; background: transparent; border: none;
  grid-template-columns: unset;
}
.uwall__group {
  display: flex; flex-direction: column; gap: 12px;
}
.uwall__label {
  font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--muted); font-weight: 700;
}
.uwall__row {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line);
}
.uwall__row--elite {
  grid-template-columns: repeat(6, 1fr);
}
.uwall__row--five {
  grid-template-columns: repeat(5, 1fr);
}
.uwall__logo--elite {
  background: var(--bg); aspect-ratio: 3/2;
  font-weight: 800; font-size: 16px;
  color: var(--forest);
  filter: grayscale(0) opacity(1);
  position: relative;
}
.sec--paper .uwall__logo--elite { background: var(--paper); }

.method { padding: 40px 0; display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; }
.method__pts { display: grid; gap: 0; }
.method__pt {
  display: grid; grid-template-columns: 60px 1fr; gap: 24px;
  padding: 26px 0; border-top: 1px solid var(--line);
}
.method__pt:last-child { border-bottom: 1px solid var(--line); }
.method__pt-n { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--forest); padding-top: 4px; }
.method__pt h3 { font-weight: 700; font-size: 20px; letter-spacing: -0.01em; line-height: 1.2; }
.method__pt p { margin-top: 8px; color: var(--ink-2); line-height: 1.55; max-width: 52ch; }

@media (max-width: 1100px) {
  .rhero__inner { grid-template-columns: 1fr; gap: 36px; }
  .twinblock__hd, .contrast__hd, .sec__hd, .rate-hd { grid-template-columns: 1fr; gap: 24px; }
  .txfoot-layout { grid-template-columns: 1fr; gap: 24px; }
  .twincards, .hunds { grid-template-columns: 1fr 1fr; }
  .placement { grid-template-columns: 1fr 1fr; }
  .ucat, .cycles, .method { grid-template-columns: 1fr; gap: 40px; }
  .uwall__row { grid-template-columns: repeat(4, 1fr); }
  .uwall__row--elite { grid-template-columns: repeat(3, 1fr); }
  .uwall__row--five { grid-template-columns: repeat(5, 1fr); }
  .compare__row { grid-template-columns: 140px 1fr auto; gap: 14px; }
  .rladder__rung { grid-template-columns: 1.5fr 1fr 100px; gap: 16px; }
  .rladder__delta { display: none; }
}
@media (max-width: 640px) {
  .twincards, .hunds, .placement { grid-template-columns: 1fr; }
  .uwall { gap: 0; }
  .uwall__group + .uwall__group { margin-top: 8px; }
  .uwall__row, .uwall__row--elite, .uwall__row--five {
    grid-template-columns: 1fr;
  }
  .uwall__label {
    position: sticky;
    top: var(--header-h, 96px);
    z-index: 2;
    margin: 0;
    padding: 12px 16px;
    background: color-mix(in oklab, var(--gold) 6%, var(--bg));
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-size: 12px;
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
  }
  .sec--paper .uwall__label {
    background: color-mix(in oklab, var(--gold) 6%, var(--paper));
  }
  .uwall__logo {
    aspect-ratio: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    place-items: start;
    text-align: left;
    padding: 14px 18px 16px;
    gap: 6px;
    font-size: 15.5px;
    min-height: 0;
  }
  .uwall__logo--elite {
    aspect-ratio: auto;
    font-size: 16.5px;
  }
  .uwall__logo[data-blurb]::before {
    content: attr(data-blurb);
    grid-row: 2;
    grid-column: 1;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--muted);
    letter-spacing: 0;
    text-transform: none;
    text-align: left;
  }
  .uwall__logo--filler { display: none; }
  .uwall__logo--postgrad::after { top: 14px; right: 14px; }
  a.uwall__logo:hover,
  a.uwall__logo:focus-visible,
  a.uwall__logo:active {
    box-shadow: inset 3px 0 0 0 var(--gold);
    background: color-mix(in oklab, var(--gold) 5%, var(--bg));
  }
  .sec--paper a.uwall__logo:hover,
  .sec--paper a.uwall__logo:focus-visible,
  .sec--paper a.uwall__logo:active {
    background: color-mix(in oklab, var(--gold) 5%, var(--paper));
  }
  .compare__row { grid-template-columns: 1fr; gap: 10px; }
  .compare__val { text-align: left; }
  .vignettes { grid-template-columns: 1fr; }
  .rladder__rung { grid-template-columns: 1fr; gap: 8px; }
  .rladder__n { font-size: clamp(28px, 8vw, 40px); }
  .rladder__bar { height: 12px; }
  .ucat__stat { grid-template-columns: 1fr; gap: 6px; }
  .rate-plate__n { font-size: clamp(56px, 14vw, 80px); }
}

.ucat__prose{
  margin-top:28px; max-width:64ch;
  color:var(--ink-2); font-size:17px; line-height:1.6;
}

.vignettes{
  margin-top:40px;
  display:grid; grid-template-columns: repeat(2, 1fr);
  gap:0;
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.vig{
  padding:clamp(24px, 3vw, 36px) clamp(24px, 3vw, 40px);
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  display:grid; gap:14px;
  background:var(--bg);
}
.vig--pending{ background: repeating-linear-gradient(135deg, transparent 0 8px, rgba(14,14,12,0.022) 8px 16px), var(--paper); opacity: 0.72; }
.vig--pending .vig__tag{ color: var(--muted); }
.vig--pending .vig__body{ color: var(--muted); font-style: italic; font-size: 14px; }
.vig__tag{
  font-family:var(--f-mono); font-size:11px; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--forest);
  padding-bottom:4px; border-bottom:1px solid var(--line);
  justify-self:start;
}
.vig__body{
  color:var(--ink); font-size:16px; line-height:1.6; max-width:58ch;
  text-wrap:pretty;
}
.vignettes__cap{
  margin-top:22px; max-width:68ch;
  color:var(--muted); font-size:13px; line-height:1.55;
}
@media (max-width: 720px){
  .vignettes{ grid-template-columns: 1fr; border-left:none; border-top:none; }
  .vig{ border-right:none; border-top:1px solid var(--line); border-bottom:none; }
  .vig:last-child{ border-bottom:1px solid var(--line); }
}

.rhero--paper{
  background:var(--bg);
  color:var(--ink);
  overflow:hidden;
}
.rhero--paper::before{ display:none; }
.rhero--paper::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:url('results-hero.jpg') right center/cover no-repeat;
  opacity:0.18;
  pointer-events:none;
}
.rhero--paper .rhero__inner{ position:relative; z-index:1; }
.rhero--paper .rhero__grid{
  background-image:
    linear-gradient(to right, rgba(14,14,12,0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(14,14,12,0.06) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 85%);
  opacity:1;
}
.rhero--paper .rhero__eyebrow{ color:var(--muted); }
.rhero--paper .rhero__eyebrow::before{ background:var(--forest); }
.rhero--paper .rhero__title{ color:var(--ink); }
.rhero--paper .rhero__title .stress{ color:var(--forest); }
.rhero--paper .rhero__sub{ color:var(--ink-2); max-width:58ch; }
.rhero--paper .rhero__plate{
  background:var(--ink);
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter:none;
  color:#fff;
  padding:30px 30px 26px;
  box-shadow: 0 24px 80px -32px rgba(14,14,12,0.55);
}
.rhero--paper .rhero__plate .rhero__plate-lab{ color: rgba(255,255,255,0.55); }
.rhero--paper .rhero__plate .rhero__plate-n{
  color:#fff;
  text-shadow: 0 0 26px rgba(127,216,159,0.35), 0 0 64px rgba(127,216,159,0.18);
}
.rhero--paper .rhero__plate .rhero__plate-n .pct{ color: var(--forest-3); }
.rhero--paper .rhero__plate .rhero__plate-cap{ color: rgba(255,255,255,0.78); }
.rhero__plate-lab{ color:var(--muted); }
.rhero__preview{
  list-style:none; display:grid; gap:10px;
  border-top:1px solid var(--line);
  padding-top:14px; margin-top:4px;
}
.rhero__preview li{
  display:grid; grid-template-columns:64px 1fr; gap:14px; align-items:baseline;
}
.rhero__preview-n{
  font-family:var(--f-mono); font-weight:500; letter-spacing:-0.01em;
  color:var(--forest); font-size:16px;
  font-variant-numeric:tabular-nums;
}
.rhero__preview-cond{
  font-size:13px; color:var(--ink-2); line-height:1.4;
}
.rhero__preview-foot{
  margin-top:8px; padding-top:10px;
  border-top:1px solid var(--line-2);
  color:var(--muted); letter-spacing:0.12em;
}

.dossier{
  padding:28px var(--pad);
  background:var(--bg);
  border-bottom:1px solid var(--line-2);
}
.dossier--inset{
  position:relative; z-index:1;
  padding:0 var(--pad) 28px;
  background:transparent;
  border-bottom:none;
  margin-top:clamp(32px,4vw,56px);
}
.dossier__inner{
  max-width:var(--max); margin:0 auto;
  display:grid; gap:8px;
}
.dossier__rule{
  display:block; height:3px;
  border-top:1px solid var(--forest);
  border-bottom:1px solid var(--forest);
  padding:1px 0;
}
.rhero--paper .dossier__rule{
  border-color:rgba(42,74,58,0.35);
}
.dossier__line{
  display:grid; grid-template-columns: 1fr auto;
  gap:18px; align-items:center;
  padding:6px 2px;
}
.dossier__left{ color:var(--forest); letter-spacing:0.14em; font-size:13px; }
.dossier__right{
  text-align:right; color:var(--muted); letter-spacing:0.14em; font-size:13px;
}
@media (max-width:720px){
  .dossier__line{ grid-template-columns: 1fr; gap:4px; text-align:left; }
  .dossier__right{ text-align:left; }
}

.rladder{
  padding:clamp(90px,12vw,150px) var(--pad);
  background:var(--paper);
  border-bottom:1px solid var(--line-2);
  border-top:1px solid var(--line-2);
}
.rladder__inner{
  max-width:var(--max); margin:0 auto;
  display:grid; gap:52px;
}
.rladder__hd{ display:grid; gap:14px; max-width:72ch; }
.rladder__hd h2{ max-width:20ch; }
.rladder__hd .stress{ color:var(--forest); }
.rladder__lede{
  color:var(--ink-2); font-size:var(--fs-lede); line-height:1.55;
  max-width:58ch; text-wrap:pretty;
}
.rladder__list{
  list-style:none;
  border-top:2px solid var(--forest);
  border-bottom:2px solid var(--forest);
}
.rladder__rung{
  display:grid;
  grid-template-columns: 1fr 1fr 140px;
  align-items:center; gap:clamp(18px,2.5vw,36px);
  padding:clamp(15px,1.8vw,25px) 0;
  border-bottom:1px solid var(--line);
}
.rladder__rung:last-child{ border-bottom:none; }
.rladder__n{
  font-family:var(--f-mono); font-weight:500;
  font-size:clamp(40px, 4.5vw, 64px);
  line-height:1; letter-spacing:-0.02em;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.rladder__rung--hundred .rladder__n{ color:var(--forest); }
.rladder__bar{
  position:relative; height:18px;
  background:rgba(42,74,58,0.08);
  border-radius:2px; overflow:hidden;
}
.rladder__fill{
  position:absolute; inset:0 auto 0 0;
  width:var(--w, 100%);
  background:linear-gradient(90deg, var(--forest) 0%, var(--forest-2) 45%, var(--forest) 100%);
  background-size: 200% 100%;
  transition:width 1.2s var(--ease);
}
.js-anim .rladder__fill{ width:0; }
.js-anim .reveal.in .rladder__fill{ width:var(--w, 100%); }
.rladder__rung:nth-child(2) .rladder__fill{ transition-delay:0.15s; }
.rladder__rung:nth-child(3) .rladder__fill{ transition-delay:0.3s; }
.rladder__rung:nth-child(4) .rladder__fill{ transition-delay:0.45s; }
.rladder__rung:nth-child(5) .rladder__fill{ transition-delay:0.6s; }
@media (prefers-reduced-motion: reduce){
  .rladder__fill{ transition:none; width:var(--w, 100%); animation:none; }
  .cycles__area{ opacity:0.3; transition:none; }
  .cycles__line, .cycles__line--ext{ stroke-dashoffset:0; transition:none; }
  .cycles__line--ext{ opacity:0.55; }
  .cycles__dot{ opacity:1; transition:none; }
  .cycles__dot:nth-of-type(4){ opacity:0.6; }
  .cycles__anno{ opacity:1; transition:none; }
  .ucat__mark{ transition:none; }
  .ucat__mark::after{ opacity:1; transition:none; }
  .ucat__mark::before{ animation:none; }
}
.rladder__cond{
  font-size:17px; line-height:1.45;
  color:var(--ink-2);
  max-width:50ch;
}
.rladder__delta{
  text-align:right;
  color:var(--forest); letter-spacing:0.08em;
  font-size:13px; font-weight:600;
}
@media (max-width:900px){
  .rladder__rung{
    grid-template-columns: 1fr auto;
    gap:8px 14px;
    padding:22px 0;
  }
  .rladder__bar{ grid-column: 1 / -1; }
  .rladder__cond{ grid-column: 1 / -1; }
  .rladder__delta{ grid-column: 2; grid-row: 1; }
  .rladder__n{ font-size:36px; grid-column:1; grid-row:1; }
}

.contrast__kicker{
  max-width:64ch;
  font-size:17px; line-height:1.55;
  color:var(--ink-2);
  text-wrap:pretty;
  margin-top:6px;
}

.eliteplace{
  display:grid; gap:22px;
  margin-top:24px;
}
.eliteplace__schools{
  color:var(--forest);
  letter-spacing:0.1em;
  font-size:12px;
}
.eliteplace__grid{
  display:grid; grid-template-columns: repeat(10, 1fr);
  gap:10px;
  max-width:760px;
}
.eliteplace__sq{
  aspect-ratio: 1 / 1;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:3px;
}
.eliteplace__sq--on{
  background:var(--forest);
  border-color:var(--forest);
}
.eliteplace__cap{ color:var(--ink-2); letter-spacing:0.08em; }
.dist--compact{
  padding-top:24px; margin-top:12px;
  border-top:1px solid var(--line);
  grid-template-columns: 1fr;
}
.dist__legend--full{ grid-template-columns: 1fr; gap:10px; }
@media (max-width:700px){
  .eliteplace__grid{ grid-template-columns: repeat(5, 1fr); gap:6px; }
  .eliteplace__sq{ font-size:11px; padding:6px; }
}

.cycles__pull{
  font-weight:600; font-size:clamp(20px,1.8vw,26px);
  line-height:1.3; letter-spacing:-0.012em;
  color:var(--ink);
  max-width:32ch;
  padding-left:20px; border-left:3px solid var(--forest);
  text-wrap:pretty;
}

.london-extra{
  margin-top:24px;
  color:var(--muted);
  font-size:11px;
  line-height:1.75;
  letter-spacing:0.08em;
  max-width:80ch;
}

.sec--tx{ background:var(--paper); position:relative; overflow:hidden; }
.sec--tx::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:url('results-cta-bg.jpg') center/cover no-repeat;
  opacity:0.05;
  pointer-events:none;
}
.sec--tx .sec__inner{ position:relative; z-index:1; }
.txfoot-layout{
  display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;
}
.txfoot{
  display:grid; gap:18px;
  color:var(--ink-2);
  font-size:17px; line-height:1.7;
}
.txfoot p{ text-wrap:pretty; }
.txfoot__warm{
  margin-top:6px;
  padding-top:18px;
  border-top:1px solid var(--line-2);
  font-style:italic; font-weight:500;
  font-size:clamp(18px,1.6vw,24px);
  letter-spacing:-0.012em;
  color:var(--ink);
  text-wrap:pretty;
}
@media (max-width:1100px){
  .txfoot-layout{ grid-template-columns:1fr; gap:24px; }
}
