/* ============ ABOUT identity ============
     Corporate-but-warm NARRATIVE page.
     Visual signature:
     - Manifesto block: signed editorial, hand-marked, big Instrument Serif italic statements
     - Vertical timeline SPINE running down the right (years on left, milestones on right of dot)
     - "What we believe" — numbered tenets, mono prefix
     - Team contact sheet: photo grid with role/initials/handle, 1px borders, mono captions
     - By-the-numbers strip (operator's metrics)
     - "Where we are" addresses block w/ time-of-day clocks
     - "Join us" jobs strip
   */

  .crumb { padding: 20px 0 0; font-size: 13px; color: var(--fg-mute); display: flex; gap: 10px; align-items: center; }
  .crumb a { color: var(--fg-mute); }
  .crumb a:hover { color: var(--accent); }
  .crumb .sep { opacity: 0.4; }

  /* ---- HERO: stamped, two-column, document feel ---- */
  .ab-hero { padding: 56px 0 88px; border-bottom: 1px solid var(--border); }
  .ab-stamp {
    font-family: "Geist Mono", monospace; font-size: 11px;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--fg-mute);
    display: flex; align-items: center; gap: 14px;
    padding-bottom: 18px; border-bottom: 1px solid var(--border);
    margin-bottom: 32px;
  }
  .ab-stamp .dot { width: 8px; height: 8px; background: var(--accent); border-radius: 50%; }
  .ab-stamp .stack { display: flex; gap: 22px; }
  .ab-stamp .stack b { color: var(--fg); font-weight: 500; }
  .ab-stamp .right { margin-left: auto; }

  .ab-hero-grid {
    display: grid; grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: end;
  }
  @media (max-width: 980px) { .ab-hero-grid { grid-template-columns: 1fr; gap: 36px; } }
  .ab-hero h1 {
    font-size: clamp(56px, 7.5vw, 116px); line-height: 0.92;
    letter-spacing: -0.04em; font-weight: 600;
    margin: 0; max-width: 12ch;
  }
  .ab-hero h1 em {
    font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400;
    letter-spacing: -0.02em; color: var(--accent);
  }
  .ab-hero .lede {
    font-size: 19px; color: var(--fg-dim); max-width: 44ch;
    padding-left: 24px; border-left: 1px solid var(--border-strong);
  }
  .ab-hero .lede strong { color: var(--fg); font-weight: 500; }

  /* ---- MANIFESTO: signed editorial ---- */
  .manifesto { padding: 88px 0; }
  .mf-head {
    display: grid; grid-template-columns: 200px 1fr; gap: 56px;
    align-items: start; margin-bottom: 48px;
  }
  @media (max-width: 880px) { .mf-head { grid-template-columns: 1fr; gap: 12px; } }
  .mf-head .kicker {
    font-family: "Geist Mono", monospace; font-size: 11px;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--accent);
    border-top: 4px solid var(--accent); padding-top: 10px;
  }
  .mf-head h2 {
    margin: 0; font-size: clamp(36px, 5vw, 64px);
    line-height: 1; letter-spacing: -0.03em; font-weight: 600;
  }
  .mf-head h2 em {
    font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent);
  }

  .mf-body {
    display: grid; grid-template-columns: 200px 1fr; gap: 56px;
  }
  @media (max-width: 880px) { .mf-body { grid-template-columns: 1fr; gap: 12px; } }
  .mf-side { color: var(--fg-mute); font-size: 13px; }
  .mf-side .marker {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 56px; line-height: 1; color: var(--accent); margin-bottom: 6px;
  }
  .mf-prose p {
    font-size: 21px; line-height: 1.45; color: var(--fg);
    margin: 0 0 22px; max-width: 60ch;
  }
  .mf-prose p:first-of-type::first-letter {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 88px; line-height: 0.85; float: left;
    color: var(--accent); padding: 6px 12px 0 0;
  }
  .mf-prose .pull {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: clamp(28px, 3.4vw, 44px); line-height: 1.15;
    letter-spacing: -0.015em;
    margin: 36px 0; padding: 12px 0;
    border-top: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
    max-width: 26ch;
  }
  .mf-prose .pull span { color: var(--accent); }
  .mf-sign {
    margin-top: 40px; padding-top: 22px;
    border-top: 1px solid var(--border);
    display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center;
  }
  .mf-sign .sig {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 40px; line-height: 1; color: var(--accent);
    transform: rotate(-3deg) translateY(-2px);
  }
  .mf-sign .by {
    font-family: "Geist Mono", monospace; font-size: 11px;
    color: var(--fg-mute); letter-spacing: 0.1em; text-transform: uppercase;
  }
  .mf-sign .by b { color: var(--fg); font-weight: 500; letter-spacing: 0; text-transform: none; font-family: "Geist", sans-serif; font-size: 14px; display: block; margin-bottom: 2px; }

  /* ---- TIMELINE SPINE ---- */
  .timeline { padding: 88px 0; background: var(--bg-elev); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .tl-head { display: grid; grid-template-columns: 200px 1fr 280px; gap: 56px; margin-bottom: 56px; align-items: end; }
  @media (max-width: 980px) { .tl-head { grid-template-columns: 1fr; gap: 16px; } }
  .tl-head .kicker { font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); border-top: 4px solid var(--accent); padding-top: 10px; }
  .tl-head h2 { margin: 0; font-size: clamp(34px, 4.4vw, 56px); line-height: 1; letter-spacing: -0.03em; font-weight: 600; }
  .tl-head h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent); }
  .tl-head p { margin: 0; color: var(--fg-dim); font-size: 14.5px; }

  .tl-spine {
    position: relative;
    padding-left: 140px;
  }
  .tl-spine::before {
    content: ""; position: absolute; left: 116px; top: 12px; bottom: 12px;
    width: 1px; background: var(--border-strong);
  }
  .tl-event {
    position: relative; padding: 22px 0;
    border-top: 1px dashed var(--border);
    display: grid; grid-template-columns: 1fr 220px; gap: 32px; align-items: start;
  }
  .tl-event:first-child { border-top: 0; padding-top: 0; }
  .tl-event::before {
    content: ""; position: absolute; left: -34px; top: 30px;
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--bg-elev); border: 2px solid var(--accent);
    box-shadow: 0 0 0 4px var(--bg-elev);
  }
  .tl-event.major::before { background: var(--accent); }
  .tl-event .year {
    position: absolute; left: -130px; top: 22px;
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 36px; color: var(--fg); line-height: 1;
    width: 80px; text-align: right;
  }
  .tl-event.major .year { color: var(--accent); }
  .tl-event .qtr {
    position: absolute; left: -130px; top: 64px;
    font-family: "Geist Mono", monospace; font-size: 10.5px;
    color: var(--fg-mute); letter-spacing: 0.1em; width: 80px; text-align: right;
  }
  .tl-event h3 { margin: 0 0 6px; font-size: 19px; font-weight: 500; letter-spacing: -0.012em; }
  .tl-event p { margin: 0; color: var(--fg-mute); font-size: 14px; max-width: 56ch; }
  .tl-event .ev-meta {
    display: flex; flex-direction: column; gap: 6px;
    font-family: "Geist Mono", monospace; font-size: 11px;
    color: var(--fg-mute); padding-top: 4px;
  }
  .tl-event .ev-meta b { color: var(--fg); font-weight: 500; }
  .tl-event .tag {
    display: inline-block; padding: 2px 8px; border-radius: 4px;
    background: color-mix(in oklch, var(--accent) 14%, transparent);
    color: var(--accent); font-family: "Geist Mono", monospace;
    font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase;
    margin-bottom: 6px;
  }
  @media (max-width: 760px) {
    .tl-spine { padding-left: 24px; }
    .tl-spine::before { left: 0; }
    .tl-event::before { left: -30px; }
    .tl-event .year, .tl-event .qtr { position: static; width: auto; text-align: left; margin-bottom: 4px; }
    .tl-event { grid-template-columns: 1fr; gap: 12px; }
  }

  /* ---- WHAT WE BELIEVE (numbered tenets) ---- */
  .believe { padding: 88px 0; }
  .bel-head { display: grid; grid-template-columns: 200px 1fr; gap: 56px; margin-bottom: 48px; }
  @media (max-width: 880px) { .bel-head { grid-template-columns: 1fr; gap: 12px; } }
  .bel-head .kicker { font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); border-top: 4px solid var(--accent); padding-top: 10px; }
  .bel-head h2 { margin: 0; font-size: clamp(34px, 4.4vw, 56px); line-height: 1; letter-spacing: -0.03em; font-weight: 600; max-width: 16ch; }
  .bel-head h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent); }

  .tenets { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; background: var(--border); }
  @media (max-width: 880px) { .tenets { grid-template-columns: 1fr; } }
  .tenet { padding: 36px 32px; background: var(--bg); }
  .tenet .nx {
    display: flex; align-items: baseline; gap: 14px; margin-bottom: 12px;
    padding-bottom: 12px; border-bottom: 1px dashed var(--border);
  }
  .tenet .nx .n {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 56px; line-height: 0.85; color: var(--accent);
  }
  .tenet .nx .id {
    font-family: "Geist Mono", monospace; font-size: 10.5px;
    color: var(--fg-mute); letter-spacing: 0.1em;
  }
  .tenet h3 { margin: 0 0 10px; font-size: 22px; font-weight: 500; letter-spacing: -0.015em; line-height: 1.15; }
  .tenet p { margin: 0; color: var(--fg-dim); font-size: 14.5px; line-height: 1.55; }
  .tenet .anti {
    margin-top: 16px; padding-top: 12px; border-top: 1px dashed var(--border);
    font-family: "Geist Mono", monospace; font-size: 11.5px; color: var(--fg-mute);
  }
  .tenet .anti b { color: var(--accent); font-weight: 500; margin-right: 6px; }

  /* ---- BY THE NUMBERS ---- */
  .numbers { padding: 88px 0; background: var(--bg-elev); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .num-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 40px; gap: 32px; flex-wrap: wrap; }
  .num-head h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -0.03em; font-weight: 600; max-width: 18ch; }
  .num-head h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent); }
  .num-head .asof { font-family: "Geist Mono", monospace; font-size: 11px; color: var(--fg-mute); letter-spacing: 0.1em; text-transform: uppercase; }
  .num-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden;
    background: var(--bg);
  }
  @media (max-width: 880px) { .num-grid { grid-template-columns: repeat(2, 1fr); } }
  .num-cell {
    padding: 36px 28px; border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  .num-cell:nth-child(4n) { border-right: 0; }
  .num-cell:nth-last-child(-n+4) { border-bottom: 0; }
  @media (max-width: 880px) {
    .num-cell:nth-child(2n) { border-right: 0; }
    .num-cell:nth-child(4n) { border-right: 1px solid var(--border); }
    .num-cell:nth-last-child(-n+2) { border-bottom: 0; }
    .num-cell:nth-last-child(3), .num-cell:nth-last-child(4) { border-bottom: 1px solid var(--border); }
  }
  .num-cell .v {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: clamp(48px, 5.6vw, 72px); line-height: 1; letter-spacing: -0.02em;
    color: var(--fg);
  }
  .num-cell .v small { font-size: 0.42em; color: var(--accent); font-style: normal; font-family: "Geist Mono", monospace; vertical-align: middle; margin-left: 6px; }
  .num-cell .lbl {
    margin-top: 14px; font-size: 13.5px; color: var(--fg-dim);
  }
  .num-cell .src {
    margin-top: 8px; font-family: "Geist Mono", monospace;
    font-size: 10.5px; letter-spacing: 0.08em; color: var(--fg-mute); text-transform: uppercase;
  }

  /* ---- TEAM CONTACT SHEET ---- */
  .team { padding: 88px 0; }
  .team-head { display: grid; grid-template-columns: 200px 1fr 280px; gap: 56px; margin-bottom: 40px; align-items: end; }
  @media (max-width: 980px) { .team-head { grid-template-columns: 1fr; gap: 16px; } }
  .team-head .kicker { font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); border-top: 4px solid var(--accent); padding-top: 10px; }
  .team-head h2 { margin: 0; font-size: clamp(34px, 4.4vw, 56px); line-height: 1; letter-spacing: -0.03em; font-weight: 600; }
  .team-head h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent); }
  .team-head p { margin: 0; color: var(--fg-dim); font-size: 14.5px; }

  /* leadership row — bigger cards */
  .lead-row {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden;
    background: var(--border); margin-bottom: 14px;
  }
  @media (max-width: 880px) { .lead-row { grid-template-columns: repeat(2, 1fr); } }
  .lead-card { background: var(--bg-elev); padding: 0; }
  .lead-photo {
    aspect-ratio: 4/5; position: relative;
    background:
      repeating-linear-gradient(135deg,
        color-mix(in oklch, var(--fg) 8%, transparent) 0 2px,
        transparent 2px 8px),
      var(--bg-card);
    display: grid; place-items: center;
    border-bottom: 1px solid var(--border);
  }
  .lead-photo .initials {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 88px; color: var(--fg-mute); letter-spacing: -0.02em;
  }
  .lead-photo .frame-num {
    position: absolute; top: 10px; left: 10px;
    font-family: "Geist Mono", monospace; font-size: 10px;
    color: var(--fg-mute); letter-spacing: 0.08em;
  }
  .lead-photo .frame-dot {
    position: absolute; top: 10px; right: 10px;
    width: 8px; height: 8px; background: var(--accent); border-radius: 50%;
  }
  .lead-info { padding: 16px 20px 18px; }
  .lead-info .role {
    font-family: "Geist Mono", monospace; font-size: 10.5px;
    color: var(--accent); letter-spacing: 0.1em; text-transform: uppercase;
    margin-bottom: 6px;
  }
  .lead-info .name {
    font-size: 17px; font-weight: 500; letter-spacing: -0.012em;
    margin-bottom: 4px;
  }
  .lead-info .meta {
    font-family: "Geist Mono", monospace; font-size: 11px;
    color: var(--fg-mute);
    display: flex; gap: 10px; flex-wrap: wrap;
  }
  .lead-info .meta b { color: var(--fg-dim); font-weight: 500; }

  /* rest-of-team contact sheet — denser grid */
  .crew {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 0;
    border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden;
    background: var(--border);
  }
  @media (max-width: 980px) { .crew { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 560px) { .crew { grid-template-columns: repeat(2, 1fr); } }
  .crew-card { background: var(--bg-elev); padding: 0; }
  .crew-photo {
    aspect-ratio: 1/1; position: relative;
    background:
      repeating-linear-gradient(135deg,
        color-mix(in oklch, var(--fg) 8%, transparent) 0 2px,
        transparent 2px 8px),
      var(--bg-card);
    display: grid; place-items: center;
  }
  .crew-photo .initials {
    font-family: "Instrument Serif", serif; font-style: italic;
    font-size: 44px; color: var(--fg-mute);
  }
  .crew-photo .fn {
    position: absolute; top: 6px; left: 8px;
    font-family: "Geist Mono", monospace; font-size: 9.5px;
    color: var(--fg-mute); letter-spacing: 0.08em;
  }
  .crew-info { padding: 12px 14px 14px; border-top: 1px solid var(--border); }
  .crew-info .name { font-size: 13.5px; font-weight: 500; letter-spacing: -0.005em; line-height: 1.2; }
  .crew-info .role { font-family: "Geist Mono", monospace; font-size: 10.5px; color: var(--fg-mute); letter-spacing: 0.05em; margin-top: 4px; }

  /* ---- WHERE WE ARE ---- */
  .where { padding: 88px 0; background: var(--bg-elev); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .where-head { margin-bottom: 40px; display: flex; align-items: end; gap: 32px; flex-wrap: wrap; }
  .where-head h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -0.03em; font-weight: 600; }
  .where-head h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent); }
  .where-head p { margin: 0; color: var(--fg-dim); max-width: 40ch; }
  .where-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  }
  @media (max-width: 880px) { .where-grid { grid-template-columns: 1fr; } }
  .loc {
    padding: 28px; background: var(--bg); border: 1px solid var(--border);
    border-radius: var(--radius); display: grid; grid-template-columns: 1fr auto; gap: 18px;
    align-items: start;
  }
  .loc h3 { margin: 0 0 6px; font-size: 19px; font-weight: 500; letter-spacing: -0.012em; }
  .loc address { font-style: normal; color: var(--fg-dim); font-size: 14px; line-height: 1.5; }
  .loc .pin {
    font-family: "Geist Mono", monospace; font-size: 10.5px;
    color: var(--accent); letter-spacing: 0.1em; text-transform: uppercase;
    margin-bottom: 8px;
  }
  .clock {
    width: 64px; height: 64px; border-radius: 50%;
    border: 1px solid var(--border-strong);
    background: var(--bg-card);
    position: relative;
  }
  .clock::before, .clock::after {
    content: ""; position: absolute; left: 50%; top: 50%;
    transform-origin: 0% 50%;
    background: var(--fg); border-radius: 1px;
  }
  .clock::before { width: 18px; height: 2px; transform: translate(0, -1px) rotate(var(--h, 30deg)); }
  .clock::after { width: 26px; height: 1px; background: var(--accent); transform: translate(0, -0.5px) rotate(var(--m, 90deg)); }
  .clock .label {
    position: absolute; left: 50%; bottom: -22px; transform: translateX(-50%);
    font-family: "Geist Mono", monospace; font-size: 10px;
    color: var(--fg-mute); letter-spacing: 0.08em; white-space: nowrap;
  }

  /* ---- JOIN US ---- */
  .join { padding: 88px 0; }
  .join-head { margin-bottom: 36px; display: flex; align-items: end; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  .join-head h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -0.03em; font-weight: 600; }
  .join-head h2 em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; color: var(--accent); }
  .join-head .count { font-family: "Geist Mono", monospace; font-size: 12px; color: var(--fg-mute); letter-spacing: 0.1em; text-transform: uppercase; }
  .join-head .count b { color: var(--accent); font-weight: 500; }
  .roles { border-top: 1px solid var(--border); }
  .role-row {
    display: grid; grid-template-columns: 60px 1.4fr 1fr 1fr 80px; gap: 24px;
    align-items: center; padding: 22px 0;
    border-bottom: 1px solid var(--border);
    transition: 120ms ease; cursor: pointer;
  }
  .role-row:hover { background: var(--bg-elev); padding-left: 14px; padding-right: 14px; margin: 0 -14px; }
  .role-row .ix { font-family: "Geist Mono", monospace; font-size: 11px; color: var(--fg-mute); }
  .role-row .ttl { font-size: 19px; font-weight: 500; letter-spacing: -0.012em; }
  .role-row .ttl span { color: var(--accent); font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; font-size: 22px; margin-left: 4px; }
  .role-row .meta { font-family: "Geist Mono", monospace; font-size: 12px; color: var(--fg-mute); letter-spacing: 0.04em; }
  .role-row .go { text-align: right; color: var(--accent); font-size: 13.5px; }
  .role-row .go::after { content: " →"; }
  @media (max-width: 760px) {
    .role-row { grid-template-columns: 40px 1fr; gap: 12px; }
    .role-row .meta, .role-row .go { display: none; }
  }

body.no-cap .mf-prose p:first-of-type::first-letter {
    font-family: inherit !important; font-style: normal !important; font-size: inherit !important;
    line-height: inherit !important; float: none !important; color: inherit !important; padding: 0 !important;
  }
  body.lead-only .crew { display: none; }

  /* ---- About page visibility ---- */
  section.timeline,
  section.team,
  section.where,
  section.join {
    display: none !important;
  }

  /* Hide "Filed · BRISBANE → AUSTIN → DUBLIN" hero stamp line (CMS fallback) */
  .ab-stamp .stack > p:nth-child(n+5),
  .ab-stamp .stack > span:nth-child(3) {
    display: none;
  }
