:root {
  --paper: #f0eee7;
  --paper-2: #e6e2d8;
  --ink: #0c1110;
  --soft: #35403c;
  --acid: #c7ff3d;
  --mint: #95ebd3;
  --blue: #2a56ff;
  --line: #0c1110;
  --max: 1440px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

body::before {
  position: fixed;
  z-index: 10;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 7px, rgba(12, 17, 16, .025) 7px 8px);
  content: "";
  opacity: .18;
  pointer-events: none;
  mix-blend-mode: multiply;
}

a { color: inherit; }
button { font: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }

.shell {
  width: min(100%, var(--max));
  margin: auto;
  border-inline: 1px solid var(--line);
}

.mono { font-family: "Courier New", monospace; letter-spacing: .02em; }
.label {
  font: 700 .75rem/1.35 "Courier New", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.masthead {
  position: sticky;
  z-index: 20;
  top: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(240, 238, 231, .96);
  backdrop-filter: blur(12px);
}

.masthead-row {
  display: grid;
  grid-template-columns: 215px minmax(0, 1fr) auto;
  min-height: 88px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 22px;
  border-right: 1px solid var(--line);
  text-decoration: none;
}

.brand img { width: 50px; height: 50px; flex: 0 0 auto; }
.brand strong { font-size: .96rem; line-height: 1.05; text-transform: uppercase; }

.status {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 24px;
}

.status p {
  min-width: 0;
  max-width: 620px;
  margin: 0;
  color: var(--soft);
  font-size: .9rem;
  line-height: 1.45;
}

.status-chip { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.status-chip::before { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); content: ""; }

nav { display: flex; align-items: stretch; }
nav a {
  display: grid;
  min-width: 98px;
  padding: 14px;
  place-items: center;
  border-left: 1px solid var(--line);
  text-decoration: none;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
nav a:hover, nav a:focus-visible { background: var(--acid); color: var(--ink); }
.menu {
  display: none;
  padding: 0 20px;
  border: 0;
  border-left: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  font-weight: 700;
  text-transform: uppercase;
}

.hero, .content { display: grid; grid-template-columns: 215px minmax(0, 1fr); }
.hero { min-height: 760px; }
.rail { padding: 32px 22px; border-right: 1px solid var(--line); }
.hero .rail { display: flex; flex-direction: column; justify-content: space-between; }
.coordinates { color: var(--soft); font-size: .75rem; writing-mode: vertical-rl; transform: rotate(180deg); }
.hero-main { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; }

.hero-copy {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: clamp(48px, 6vw, 92px) clamp(30px, 5vw, 76px) 56px;
}

.hero-copy::after {
  position: absolute;
  right: -.08em;
  bottom: -.16em;
  color: transparent;
  content: "APAC";
  font-size: clamp(8rem, 24vw, 24rem);
  font-weight: 900;
  line-height: .8;
  pointer-events: none;
  -webkit-text-stroke: 1px rgba(12, 17, 16, .12);
}

.kicker { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; max-width: 100%; }
.kicker span { width: 38px; height: 2px; flex: 0 0 auto; background: var(--blue); }

h1 {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: start;
  gap: .035em;
  max-width: 100%;
  margin: 34px 0 32px;
  font-size: clamp(4.6rem, 8vw, 8.5rem);
  font-weight: 900;
  line-height: .86;
  letter-spacing: -.075em;
  text-transform: uppercase;
}

h1 span, h1 em { display: block; white-space: nowrap; }
h1 em { padding: .04em .09em .08em; background: var(--acid); font-style: normal; line-height: .9; }

.hero-lead {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0;
  font-size: clamp(1.18rem, 1.8vw, 1.55rem);
  line-height: 1.4;
  letter-spacing: -.02em;
}

.hero-note {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 28px;
  max-width: 780px;
  margin-top: 62px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.hero-note p { max-width: 56ch; margin: 0; color: var(--soft); line-height: 1.5; }

.docket { display: flex; flex-direction: column; border-left: 1px solid var(--line); }
.docket-head { padding: 18px; border-bottom: 1px solid var(--line); background: var(--ink); color: var(--paper); }
.docket-item { padding: 24px 18px; border-bottom: 1px solid var(--line); }
.docket-item b { display: block; margin-bottom: 12px; font-size: 2.1rem; line-height: 1; letter-spacing: -.05em; }
.docket-item span { color: var(--soft); font-size: .75rem; line-height: 1.35; }
.docket-item.acid { margin-top: auto; background: var(--acid); }
.docket-item.acid span { color: var(--ink); }

.ticker { overflow: hidden; border-block: 1px solid var(--line); background: var(--ink); color: var(--paper); }
.ticker-track { display: flex; width: max-content; animation: ticker 28s linear infinite; }
.ticker span { padding: 14px 30px; font: 700 .76rem/1 "Courier New", monospace; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.ticker span::after { margin-left: 60px; color: var(--acid); content: "+"; }
@keyframes ticker { to { transform: translateX(-50%); } }

.section-index { padding: 34px 22px; border-right: 1px solid var(--line); }
.section-index .number { font-size: 3rem; font-weight: 900; line-height: 1; letter-spacing: -.07em; }
.section-body { min-width: 0; }
.section-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
  gap: 48px;
  padding: 72px clamp(30px, 5vw, 72px) 60px;
  border-bottom: 1px solid var(--line);
}
.section-title h2 {
  margin: 0;
  font-size: clamp(3.4rem, 6.2vw, 6.8rem);
  line-height: .9;
  letter-spacing: -.065em;
  text-wrap: balance;
  text-transform: uppercase;
}
.section-title p { align-self: end; max-width: 52ch; margin: 0; color: var(--soft); font-size: 1.1rem; line-height: 1.55; }

.cap-list { counter-reset: cap; }
.cap {
  counter-increment: cap;
  display: grid;
  grid-template-columns: 72px minmax(180px, 1.05fr) minmax(260px, 1.5fr) minmax(150px, .8fr);
  min-height: 152px;
  border-bottom: 1px solid var(--line);
  transition: background .18s;
}
.cap:hover { background: var(--acid); }
.cap > * { min-width: 0; padding: 28px 26px; border-right: 1px solid var(--line); }
.cap > *:last-child { border-right: 0; }
.cap .count::before { content: "0" counter(cap); font: 700 .8rem "Courier New", monospace; }
.cap h3 { margin: 0; font-size: 1.55rem; line-height: 1.15; letter-spacing: -.03em; }
.cap p { margin: 0; color: var(--soft); line-height: 1.5; }
.cap ul { margin: 0; padding: 0; list-style: none; font: 700 .75rem/1.75 "Courier New", monospace; text-transform: uppercase; }

.method { background: var(--ink); color: var(--paper); }
.method .rail, .method .section-title { border-color: #59615e; }
.method .section-title p { color: #bdc5c1; }
.method-board { display: grid; grid-template-columns: 310px minmax(0, 1fr); min-height: 540px; }
.method-tabs { border-right: 1px solid #59615e; }
.method-tab {
  width: 100%;
  min-height: 112px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  padding: 24px;
  border: 0;
  border-bottom: 1px solid #59615e;
  background: transparent;
  color: #a8b0ac;
  cursor: pointer;
  text-align: left;
}
.method-tab b { font: 700 .76rem "Courier New", monospace; }
.method-tab span { font-size: 1.16rem; font-weight: 700; line-height: 1.3; }
.method-tab.active { background: var(--acid); color: var(--ink); }
.method-stage { display: grid; grid-template-columns: minmax(0, 1fr) 220px; }
.method-copy { padding: clamp(36px, 6vw, 82px); }
.stage-label { color: var(--mint); }
.method-copy h3 { max-width: 760px; margin: 38px 0 26px; font-size: clamp(2.8rem, 5.5vw, 5.6rem); line-height: .94; letter-spacing: -.055em; text-wrap: balance; text-transform: uppercase; }
.method-copy p { max-width: 65ch; color: #c7cecb; font-size: 1.1rem; line-height: 1.55; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 42px; }
.tags span { padding: 9px 11px; border: 1px solid #66706c; font: 700 .72rem/1.25 "Courier New", monospace; text-transform: uppercase; }
.scan { display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border-left: 1px solid #59615e; }
.scan-lines { display: grid; gap: 7px; }
.scan-lines i { display: block; height: 7px; background: #28312f; }
.scan-lines i:nth-child(2), .scan-lines i:nth-child(5) { width: 68%; background: var(--mint); }
.scan-lines i:nth-child(4) { width: 43%; background: var(--acid); }
.score { font-size: 5rem; font-weight: 900; line-height: .85; letter-spacing: -.07em; }
.score small { display: block; margin-top: 15px; color: #9fa8a4; font-size: .7rem; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; }

.standards { display: grid; grid-template-columns: repeat(4, 1fr); }
.standard { min-height: 320px; display: flex; flex-direction: column; padding: 32px 24px; border-right: 1px solid var(--line); }
.standard:last-child { border-right: 0; }
.standard .symbol { font-size: 3.2rem; font-weight: 900; }
.standard h3 { margin: auto 0 12px; font-size: 1.34rem; line-height: 1.2; text-transform: uppercase; }
.standard p { margin: 0; color: var(--soft); line-height: 1.5; }
.standard:nth-child(2) { background: var(--mint); }
.standard:nth-child(4) { background: var(--acid); }
.disclosures { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.disclosures > div { padding: 52px clamp(28px, 5vw, 72px); border-right: 1px solid var(--line); }
.disclosures > div:last-child { border-right: 0; }
.disclosures h3 { margin: 0 0 20px; font-size: 2rem; line-height: 1.15; letter-spacing: -.04em; text-transform: uppercase; }
.disclosures p { margin: 0; color: var(--soft); line-height: 1.55; }

.contact { background: var(--blue); color: #fff; }
.contact .rail { border-color: #9ab0ff; }
.contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; }
.contact-call { padding: clamp(52px, 8vw, 112px) clamp(28px, 6vw, 88px); border-right: 1px solid #9ab0ff; }
.contact-call h2 { margin: 28px 0 0; font-size: clamp(4rem, 8vw, 8.5rem); line-height: .88; letter-spacing: -.07em; text-wrap: balance; text-transform: uppercase; }
.contact-meta { display: flex; flex-direction: column; justify-content: space-between; gap: 70px; padding: clamp(52px, 7vw, 90px) clamp(28px, 5vw, 64px); }
.contact-meta p { margin: 0; font-size: 1.12rem; line-height: 1.55; }
.email { display: block; overflow-wrap: anywhere; padding-top: 18px; border-top: 1px solid #fff; font-size: clamp(1.25rem, 2.5vw, 2rem); font-weight: 800; line-height: 1.25; text-decoration: none; }
.email:hover { color: var(--acid); }

footer { min-height: 84px; display: grid; grid-template-columns: 215px minmax(0, 1fr) auto; align-items: center; border-top: 1px solid var(--line); }
footer > * { padding: 20px 22px; }
.footer-mark { border-right: 1px solid var(--line); font-weight: 900; }
.legal { color: var(--soft); font-size: .8rem; line-height: 1.45; }
.year { border-left: 1px solid var(--line); font: 700 .78rem "Courier New", monospace; }

@media (max-width: 1180px) {
  .masthead-row { grid-template-columns: 200px minmax(0, 1fr) auto; }
  .status p { display: none; }
  .hero, .content { grid-template-columns: 150px minmax(0, 1fr); }
  .hero-main { grid-template-columns: minmax(0, 1fr) 280px; }
  .hero-copy { padding-inline: clamp(28px, 4vw, 52px); }
  h1 { font-size: clamp(4.4rem, 8.5vw, 7.2rem); }
  .section-title { grid-template-columns: 1fr; gap: 26px; }
  .section-title p { align-self: auto; }
  .cap { grid-template-columns: 64px minmax(180px, 1fr) minmax(240px, 1.35fr); }
  .cap ul { grid-column: 2 / 4; border-top: 1px solid var(--line); }
  footer { grid-template-columns: 150px minmax(0, 1fr) auto; }
}

@media (max-width: 920px) {
  .masthead-row { grid-template-columns: 190px 1fr auto; }
  .status { display: none; }
  .hero, .content { grid-template-columns: 72px minmax(0, 1fr); }
  .brand { border-right: 0; }
  .hero { min-height: auto; }
  .hero-main { grid-template-columns: 1fr; }
  .hero-copy { min-height: 680px; padding: 68px clamp(30px, 7vw, 70px) 52px; }
  .docket { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 0; }
  .docket-item { border-right: 1px solid var(--line); border-bottom: 0; }
  .docket-item:last-child { border-right: 0; }
  .docket-item.acid { margin-top: 0; }
  .cap { grid-template-columns: 56px minmax(180px, 1fr) minmax(220px, 1.3fr); }
  .cap ul { grid-column: 2 / 4; }
  .method-board { grid-template-columns: 260px minmax(0, 1fr); }
  .method-stage { grid-template-columns: 1fr; }
  .scan { display: none; }
  .standards { grid-template-columns: 1fr 1fr; }
  .standard { border-bottom: 1px solid var(--line); }
  .standard:nth-child(2) { border-right: 0; }
  footer { grid-template-columns: 72px minmax(0, 1fr) auto; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 76px; }
  .shell { border: 0; }
  .masthead-row { min-height: 74px; grid-template-columns: 1fr auto; }
  .brand { gap: 11px; padding: 10px 16px; }
  .brand img { width: 44px; height: 44px; }
  .brand strong { font-size: .88rem; }
  nav { position: absolute; top: 74px; right: 0; left: 0; display: none; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 14px 30px rgba(12, 17, 16, .12); }
  nav.open { display: grid; grid-template-columns: 1fr; }
  nav a { min-width: 0; min-height: 52px; border: 0; border-top: 1px solid var(--line); font-size: .82rem; }
  .menu { display: block; }
  .hero, .content { grid-template-columns: 1fr; }
  .hero > .rail, .content > .rail { display: none; }
  .hero-copy { min-height: 0; padding: 50px 18px 42px; }
  .kicker { font-size: .68rem; }
  h1 { gap: .055em; margin: 30px 0 28px; font-size: clamp(3rem, 14vw, 4.2rem); line-height: .9; letter-spacing: -.065em; }
  h1 em { padding: .05em .07em .1em; }
  .hero-lead { max-width: 100%; overflow-wrap: anywhere; font-size: 1.12rem; line-height: 1.5; }
  .hero-note { grid-template-columns: 1fr; gap: 12px; margin-top: 42px; }
  .docket { grid-template-columns: 1fr; }
  .docket-head { padding: 15px 18px; }
  .docket-item { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 14px; padding: 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .docket-item b { margin: 0; }
  .section-title { grid-template-columns: 1fr; gap: 22px; padding: 54px 18px 36px; }
  .section-title h2 { font-size: clamp(3rem, 15vw, 4.8rem); line-height: .94; }
  .section-title p { font-size: 1.02rem; }
  .cap { grid-template-columns: 48px minmax(0, 1fr); }
  .cap > * { padding: 20px 16px; }
  .cap p, .cap ul { grid-column: 1 / 3; border-top: 1px solid var(--line); }
  .cap h3 { font-size: 1.35rem; }
  .method-board { grid-template-columns: 1fr; }
  .method-tabs { display: grid; grid-template-columns: 1fr 1fr; border-right: 0; border-bottom: 1px solid #59615e; }
  .method-tab { min-height: 94px; padding: 18px; border-right: 1px solid #59615e; }
  .method-tab span { font-size: 1rem; line-height: 1.3; }
  .method-stage { grid-template-columns: 1fr; }
  .method-copy { padding: 44px 18px; }
  .method-copy h3 { font-size: clamp(2.7rem, 13vw, 4.5rem); line-height: .96; }
  .scan { display: none; }
  .standards, .disclosures, .contact-grid { grid-template-columns: 1fr; }
  .standard { min-height: 260px; }
  .standard, .disclosures > div, .contact-call { border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-call { padding: 58px 18px; border-color: #9ab0ff; }
  .contact-call h2 { font-size: clamp(3.35rem, 16vw, 5.5rem); line-height: .92; }
  .contact-meta { gap: 54px; padding: 50px 18px; }
  footer { grid-template-columns: minmax(0, 1fr) auto; }
  .footer-mark { display: none; }
  .legal { font-size: .75rem; }
  .ticker-track { animation-duration: 20s; }
}

@media (max-width: 430px) {
  .method-tabs { grid-template-columns: 1fr; }
  .method-tab { min-height: 76px; border-right: 0; }
  .docket-item { grid-template-columns: 62px 1fr; }
  .email { font-size: 1.08rem; }
  footer > * { padding: 18px 14px; }
}

@media (min-width: 1600px) {
  .shell { box-shadow: 0 0 0 1px rgba(12, 17, 16, .05); }
  h1 { font-size: 8.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ticker-track { animation: none; }
  * { transition: none !important; }
}
