:root {
  --navy: #0a192f;
  --navy-deep: #06101f;
  --navy-plate: #12243c;
  --gold: #d4af37;
  --gold-soft: #e6c96a;
  --paper: #f7f4ea;
  --mute: #c5c0b0;
  --line: #1e3a55;
  --font-display: "Archivo Narrow", "Arial Narrow", sans-serif;
  --font-body: "Source Serif 4", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--navy-deep);
  color: var(--paper);
  font-family: var(--font-body);
  font-size: 1.06rem;
  line-height: 1.55;
}
img { max-width: 100%; display: block; }
a { color: var(--gold); text-underline-offset: 0.16em; }
a:hover { color: var(--gold-soft); }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 1rem; top: 1rem; background: var(--paper); color: var(--navy); padding: 0.4rem; }

.bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1.4rem;
  background: var(--navy);
  border-bottom: 1px solid var(--line);
}
.brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
  color: var(--paper);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.92rem;
}
.brand img { width: 44px; height: 44px; border: 1px solid var(--gold); }
.bar nav { display: flex; gap: 1.1rem; font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.88rem; }
.bar nav a { color: var(--paper); text-decoration: none; }
.bar nav a:hover { color: var(--gold); }
.mailchip {
  font-family: var(--font-display);
  text-decoration: none;
  border: 1px solid var(--gold);
  padding: 0.3rem 0.65rem;
  color: var(--gold);
}

.cover img {
  width: 100%;
  height: auto;
  background: var(--navy);
}

.pitch {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  background: var(--navy);
}
.plate img { width: 100%; height: 100%; object-fit: cover; min-height: 22rem; }
.pitch-copy { padding: 2.2rem 1.8rem 2.4rem; }
.kicker {
  font-family: var(--font-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.76rem;
  color: var(--gold);
  margin: 0 0 0.7rem;
}
h1, h2 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.05;
}
h1 { font-size: clamp(2rem, 4.2vw, 3.2rem); margin: 0 0 0.9rem; color: #fff; }
.lede { margin: 0 0 1rem; max-width: 36rem; }
.pin { margin: 0; color: var(--mute); max-width: 34rem; }

.work, .method, .entity, .desk {
  max-width: 68rem;
  margin: 0 auto;
  padding: 2.4rem 1.4rem 0;
}
h2 { font-size: 1.55rem; color: var(--gold-soft); margin: 0 0 1rem; }
.work ul, .method ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--gold);
}
.work li, .method li {
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--line);
}
.work strong, .method li::marker { font-family: var(--font-display); color: var(--gold); }
.method ol { counter-reset: stop; }
.method li { counter-increment: stop; padding-left: 2.2rem; position: relative; }
.method li::before {
  content: counter(stop, decimal-leading-zero);
  position: absolute;
  left: 0;
  font-family: var(--font-display);
  color: var(--gold);
}

.entity address { font-style: normal; color: var(--mute); }
.bigmail {
  font-family: var(--font-display);
  font-size: 1.35rem;
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
}

footer {
  margin-top: 3rem;
  padding: 1.2rem 1.4rem 2.2rem;
  border-top: 1px dashed var(--gold);
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.5rem;
  justify-content: space-between;
  font-family: var(--font-display);
  font-size: 0.88rem;
  color: var(--mute);
}
footer a { color: var(--mute); margin-right: 0.8rem; }

.legal-page { max-width: 42rem; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
.legal-page h1 { font-size: 2rem; color: #fff; }
.legal-page .meta { font-family: var(--font-display); color: var(--gold); letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.78rem; }

@media (max-width: 820px) {
  .bar nav, .mailchip { display: none; }
  .pitch { grid-template-columns: 1fr; }
}
