@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root {
  --paper: #f3efe4;
  --recess: #e8e2d5;
  --ink: #171510;
  --acid: #d9f218;
  --line: rgba(23,21,16,.16);
  --paper-line: rgba(243,239,228,.16);
  --muted: rgba(23,21,16,.62);
  --paper-muted: rgba(243,239,228,.62);
  --max: 1440px;
  --rail: 56px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}
a { color: inherit; }
::selection { background: var(--acid); color: var(--ink); }

.display { font-family: "EB Garamond", Georgia, serif; }
.mono { font-family: "IBM Plex Mono", ui-monospace, monospace; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: 66px;
  border-bottom: 1px solid var(--line);
  background: rgba(243,239,228,.96);
  backdrop-filter: blur(8px);
}
.header-inner {
  height: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { display: flex; align-items: baseline; gap: 11px; text-decoration: none; white-space: nowrap; }
.brand-name { font: 600 25px/1 "EB Garamond", Georgia, serif; letter-spacing: -.02em; }
.brand-sub { font: 400 9px/1 "IBM Plex Mono", monospace; letter-spacing: .30em; text-transform: uppercase; color: rgba(23,21,16,.58); }
.nav { display: flex; align-items: center; gap: 28px; }
.nav a { position: relative; text-decoration: none; font: 400 10px/1 "IBM Plex Mono", monospace; letter-spacing: .19em; text-transform: uppercase; color: rgba(23,21,16,.58); padding: 24px 0 22px; }
.nav a:hover, .nav a.active { color: var(--ink); }
.nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:14px; height:2px; background:var(--acid); }
.header-cta { text-decoration:none; border:1px solid var(--ink); background:var(--ink); color:var(--paper); padding:12px 18px; font:500 10px/1 "IBM Plex Mono", monospace; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; transition:.2s ease; }
.header-cta:hover { background: transparent; color: var(--ink); }
.menu-button { display:none; width:44px; height:44px; border:1px solid var(--line); background:transparent; align-items:center; justify-content:center; font-size:20px; cursor:pointer; }
.mobile-nav { display:none; }

.band { position: relative; border-bottom: 1px solid var(--line); }
.band.paper { background: var(--paper); color: var(--ink); }
.band.recess { background: var(--recess); color: var(--ink); }
.band.ink { background: var(--ink); color: var(--paper); border-bottom-color: var(--paper-line); }
.band-inner { margin-left: var(--rail); }
.rail { position:absolute; inset:0 auto 0 0; width:var(--rail); border-right:1px solid var(--line); }
.band.ink .rail { border-color: var(--paper-line); }
.rail span { position:absolute; top:82px; left:50%; transform:translateX(-50%); writing-mode:vertical-rl; white-space:nowrap; font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.31em; text-transform:uppercase; opacity:.58; }
.mobile-label { display:none; }
.container { max-width: var(--max); margin:0 auto; padding-left:40px; padding-right:40px; }

.hero { min-height: 100vh; display:flex; flex-direction:column; justify-content:center; padding-top:130px; padding-bottom:76px; }
.eyebrow { font:400 10px/1.4 "IBM Plex Mono", monospace; letter-spacing:.30em; text-transform:uppercase; color:rgba(23,21,16,.6); }
.band.ink .eyebrow { color: rgba(243,239,228,.54); }
.hero h1 { margin:34px 0 0; max-width:1000px; font:500 clamp(58px,9vw,128px)/.92 "EB Garamond", Georgia, serif; letter-spacing:-.045em; }
.hero h1 .accent { text-decoration: underline; text-decoration-color: var(--acid); text-decoration-thickness:.075em; text-underline-offset:.12em; }
.hero-lede { margin-top:42px; max-width:720px; }
.hero-kicker { margin:0 0 16px; font:500 clamp(25px,2.8vw,37px)/1.1 "EB Garamond", Georgia, serif; color:rgba(23,21,16,.91); }
.hero-copy { margin:0; max-width:650px; font-size:17px; line-height:1.7; color:var(--muted); }
.button-row { margin-top:42px; display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.btn { display:inline-flex; align-items:center; gap:10px; text-decoration:none; border:1px solid var(--ink); padding:16px 25px; font:500 10px/1 "IBM Plex Mono", monospace; letter-spacing:.2em; text-transform:uppercase; transition:.2s ease; }
.btn.dark { background:var(--ink); color:var(--paper); }
.btn.dark:hover { background:transparent; color:var(--ink); }
.btn.acid { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.btn.acid:hover { background:transparent; color:var(--acid); }
.btn.text { border-color:transparent; padding-left:8px; padding-right:8px; color:rgba(23,21,16,.68); }
.btn.text:hover { color:var(--ink); }
.band.ink .btn.text { color:rgba(243,239,228,.7); }
.hero-tags { margin-top:72px; border-top:1px solid var(--line); padding-top:20px; display:flex; flex-wrap:wrap; gap:12px 40px; font:400 9px/1.3 "IBM Plex Mono", monospace; letter-spacing:.22em; text-transform:uppercase; color:rgba(23,21,16,.48); }

.section { padding-top:100px; padding-bottom:100px; }
.section-lg { padding-top:128px; padding-bottom:128px; }
.section-xl { padding-top:154px; padding-bottom:154px; }
h2 { margin:0; font:500 clamp(42px,5vw,67px)/1.03 "EB Garamond", Georgia, serif; letter-spacing:-.025em; }
h3 { margin:0; font:500 27px/1.1 "EB Garamond", Georgia, serif; letter-spacing:-.015em; }
.lede { max-width:720px; margin:22px 0 0; font-size:16px; line-height:1.75; color:var(--muted); }
.band.ink .lede, .band.ink .body-muted { color:var(--paper-muted); }
.body-muted { color:var(--muted); }

.recognition-list { margin-top:50px; border-top:1px solid var(--paper-line); }
.recognition-row { display:grid; grid-template-columns:56px 1fr; align-items:baseline; gap:12px; padding:23px 0; border-bottom:1px solid var(--paper-line); }
.recognition-row .num { color:var(--acid); font:500 10px/1 "IBM Plex Mono", monospace; letter-spacing:.2em; }
.recognition-row p { margin:0; font:500 clamp(22px,2.1vw,31px)/1.2 "EB Garamond", Georgia, serif; color:rgba(243,239,228,.92); }

.section-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.section-heading-row .intro { max-width:440px; margin:0; font-size:14px; line-height:1.7; color:var(--muted); }
.grid-6 { margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:var(--line); gap:1px; }
.tile { min-height:190px; padding:30px; background:var(--recess); }
.tile .num { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.25em; color:rgba(23,21,16,.45); }
.tile h3 { margin-top:28px; }
.tile p { margin:13px 0 0; max-width:350px; font-size:14px; line-height:1.65; color:var(--muted); }
.statement { margin:34px 0 0; max-width:870px; font:500 29px/1.25 "EB Garamond", Georgia, serif; color:rgba(23,21,16,.84); }

.path-grid { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid var(--line); background:var(--line); }
.path-card { min-height:330px; padding:38px; background:var(--paper); display:flex; flex-direction:column; }
.path-card.dark { background:var(--ink); color:var(--paper); }
.path-card .label { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.25em; text-transform:uppercase; opacity:.48; }
.path-card h3 { margin-top:22px; font-size:35px; }
.path-card p { margin:18px 0 0; max-width:560px; font-size:14px; line-height:1.7; color:var(--muted); }
.path-card.dark p { color:var(--paper-muted); }
.path-card .inline-link { margin-top:auto; padding-top:30px; width:max-content; text-decoration:none; font:500 10px/1 "IBM Plex Mono", monospace; letter-spacing:.2em; text-transform:uppercase; border-bottom:2px solid var(--acid); padding-bottom:7px; }

.sprint-panel { padding:54px; background:var(--ink); color:var(--paper); border:1px solid var(--line); }
.sprint-panel .eyebrow { color:var(--acid); }
.sprint-panel h2 { max-width:1030px; margin-top:24px; }
.sprint-panel > p { max-width:720px; margin:28px 0 0; font-size:16px; line-height:1.7; color:var(--paper-muted); }
.phase-grid { margin-top:42px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--paper-line); background:var(--paper-line); gap:1px; }
.phase { background:var(--ink); padding:24px; min-height:185px; }
.phase .num { font:500 9px/1 "IBM Plex Mono", monospace; letter-spacing:.22em; color:var(--acid); }
.phase h3 { margin-top:14px; color:var(--paper); }
.phase p { margin:12px 0 0; font-size:13px; line-height:1.65; color:var(--paper-muted); }

.split { display:grid; grid-template-columns:5fr 7fr; gap:70px; }
.outcome-list { border-top:1px solid var(--line); }
.outcome-row { display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:baseline; padding:23px 0; border-bottom:1px solid var(--line); }
.outcome-row .num { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.2em; color:rgba(23,21,16,.44); }
.outcome-row p { margin:0; font:500 clamp(21px,2vw,28px)/1.22 "EB Garamond", Georgia, serif; color:rgba(23,21,16,.84); }

.conviction h2 { font-size:clamp(54px,8vw,110px); line-height:.96; }
.conviction .system { color:var(--acid); }
.conviction .tagline { margin-top:30px; font:500 10px/1.6 "IBM Plex Mono", monospace; letter-spacing:.22em; text-transform:uppercase; color:rgba(243,239,228,.76); }

.page-hero { padding-top:150px; padding-bottom:88px; }
.page-hero h1 { margin:30px 0 0; max-width:1100px; font:500 clamp(54px,7vw,92px)/.98 "EB Garamond", Georgia, serif; letter-spacing:-.035em; }
.page-hero p { margin:30px 0 0; max-width:720px; font-size:17px; line-height:1.72; color:var(--muted); }

.phase-cards { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid var(--paper-line); background:var(--paper-line); }
.phase-card { background:var(--ink); padding:36px; min-height:260px; }
.phase-card .num { color:var(--acid); font:500 10px/1 "IBM Plex Mono", monospace; letter-spacing:.22em; }
.phase-card h3 { margin-top:20px; color:var(--paper); font-size:34px; }
.phase-card p { margin:16px 0 0; max-width:560px; font-size:14px; line-height:1.7; color:var(--paper-muted); }

.list { border-top:1px solid var(--line); }
.list-row { display:grid; grid-template-columns:52px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.list-row .num { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.2em; color:rgba(23,21,16,.44); }
.list-row p { margin:0; font:500 21px/1.28 "EB Garamond", Georgia, serif; color:rgba(23,21,16,.84); }
.fit-grid { margin-top:46px; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.fit-item { border-top:2px solid var(--ink); padding-top:20px; }
.fit-item .num { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.22em; color:rgba(23,21,16,.46); }
.fit-item p { margin:16px 0 0; font:500 22px/1.24 "EB Garamond", Georgia, serif; color:rgba(23,21,16,.86); }

.principle-grid { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid var(--line); background:var(--line); }
.principle { background:var(--paper); padding:34px; min-height:220px; }
.principle .num { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.23em; color:rgba(23,21,16,.43); }
.principle h3 { margin-top:20px; }
.principle p { margin:12px 0 0; max-width:520px; font-size:14px; line-height:1.7; color:var(--muted); }
.path-list { margin-top:48px; border-top:1px solid var(--paper-line); }
.path-row { display:grid; grid-template-columns:80px 4fr 6fr; gap:28px; padding:28px 0; border-bottom:1px solid var(--paper-line); }
.path-row .num { color:var(--acid); font:500 10px/1.5 "IBM Plex Mono", monospace; letter-spacing:.23em; }
.path-row h3 { color:var(--paper); }
.path-row p { margin:0; font-size:14px; line-height:1.7; color:var(--paper-muted); }

.theme-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.theme { background:var(--paper); padding:36px; min-height:240px; }
.theme .num { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.23em; color:rgba(23,21,16,.44); }
.theme h3 { margin-top:22px; font-size:34px; }
.theme p { margin:14px 0 0; font-size:14px; line-height:1.7; color:var(--muted); }

.contact-grid { margin-top:54px; display:grid; grid-template-columns:7fr 5fr; gap:42px; }
.contact-form { border:1px solid var(--line); background:rgba(232,226,213,.55); padding:36px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { margin-top:20px; }
.field:first-child { margin-top:0; }
.form-row .field { margin-top:0; }
.field label { display:block; margin-bottom:8px; font:500 9px/1.4 "IBM Plex Mono", monospace; letter-spacing:.2em; text-transform:uppercase; color:rgba(23,21,16,.58); }
.field input, .field textarea { width:100%; border:1px solid rgba(23,21,16,.24); background:var(--paper); padding:13px 14px; color:var(--ink); font:400 14px/1.5 "IBM Plex Sans", sans-serif; outline:none; }
.field textarea { resize:vertical; min-height:150px; }
.field input:focus, .field textarea:focus { border-color:var(--ink); }
.form-note { margin:14px 0 0; font-size:12px; line-height:1.6; color:rgba(23,21,16,.46); }
.contact-aside { border:1px solid var(--line); padding:36px; align-self:start; }
.contact-aside .aside-label { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.23em; text-transform:uppercase; color:rgba(23,21,16,.46); }
.contact-aside dl { margin:24px 0 0; }
.contact-aside dt { margin-top:22px; font:500 9px/1 "IBM Plex Mono", monospace; letter-spacing:.2em; text-transform:uppercase; color:rgba(23,21,16,.45); }
.contact-aside dd { margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.contact-aside a { text-decoration-thickness:2px; text-decoration-color:var(--acid); text-underline-offset:4px; }
.quote { margin:26px 0 0; max-width:390px; font:italic 500 23px/1.3 "EB Garamond", Georgia, serif; color:rgba(23,21,16,.72); }

.site-footer { background:var(--ink); color:var(--paper); }
.footer-inner { max-width:var(--max); margin:0 auto; padding:64px 40px 28px; }
.footer-grid { display:grid; grid-template-columns:5fr 4fr 3fr; gap:50px; }
.footer-title { font:600 31px/1 "EB Garamond", Georgia, serif; }
.footer-sub { margin-top:7px; font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.28em; text-transform:uppercase; color:rgba(243,239,228,.46); }
.footer-conviction { margin-top:28px; font:italic 500 21px/1.2 "EB Garamond", Georgia, serif; color:rgba(243,239,228,.8); }
.footer-label { font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.25em; text-transform:uppercase; color:rgba(243,239,228,.46); }
.footer-links { list-style:none; padding:0; margin:18px 0 0; }
.footer-links li { margin:8px 0; }
.footer-links a { text-decoration:none; font-size:14px; color:rgba(243,239,228,.72); }
.footer-links a:hover { color:var(--acid); }
.footer-bottom { margin-top:52px; padding-top:20px; border-top:1px solid var(--paper-line); display:flex; justify-content:space-between; gap:20px; font:400 9px/1.5 "IBM Plex Mono", monospace; letter-spacing:.18em; text-transform:uppercase; color:rgba(243,239,228,.42); }

@media (max-width: 1060px) {
  .nav, .header-cta { display:none; }
  .menu-button { display:flex; }
  .mobile-nav.open { display:flex; position:fixed; inset:66px 0 auto; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; padding:10px 20px 22px; box-shadow:0 14px 30px rgba(23,21,16,.08); }
  .mobile-nav a { padding:15px 4px; border-bottom:1px solid var(--line); text-decoration:none; font:500 12px/1 "IBM Plex Mono", monospace; letter-spacing:.16em; text-transform:uppercase; }
  .mobile-nav .mobile-cta { margin-top:16px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); text-align:center; }
  .phase-grid { grid-template-columns:1fr 1fr; }
  .grid-6 { grid-template-columns:1fr 1fr; }
  .split { grid-template-columns:1fr; gap:44px; }
  .fit-grid, .theme-grid { grid-template-columns:1fr 1fr; }
  .path-row { grid-template-columns:55px 1fr; }
  .path-row p { grid-column:2; }
}

@media (max-width: 720px) {
  :root { --rail:0px; }
  .header-inner { padding:0 18px; }
  .brand-sub { display:none; }
  .rail { display:none; }
  .band-inner { margin-left:0; }
  .mobile-label { display:block; padding:28px 20px 0; font:400 9px/1 "IBM Plex Mono", monospace; letter-spacing:.25em; text-transform:uppercase; opacity:.48; }
  .container { padding-left:20px; padding-right:20px; }
  .hero { min-height:auto; padding-top:132px; padding-bottom:70px; }
  .hero h1 { margin-top:24px; }
  .hero-lede { margin-top:34px; }
  .hero-tags { margin-top:52px; gap:12px 26px; }
  .section, .section-lg, .section-xl { padding-top:76px; padding-bottom:76px; }
  .section-heading-row { align-items:flex-start; flex-direction:column; gap:18px; }
  .grid-6, .path-grid, .phase-grid, .phase-cards, .principle-grid, .theme-grid { grid-template-columns:1fr; }
  .tile { min-height:auto; }
  .path-card { min-height:300px; padding:28px; }
  .sprint-panel { padding:30px 24px; }
  .phase { min-height:auto; }
  .page-hero { padding-top:126px; padding-bottom:64px; }
  .fit-grid { grid-template-columns:1fr; gap:34px; }
  .path-row { grid-template-columns:42px 1fr; gap:14px; }
  .contact-grid { grid-template-columns:1fr; }
  .contact-form, .contact-aside { padding:24px; }
  .form-row { grid-template-columns:1fr; }
  .form-row .field + .field { margin-top:20px; }
  .footer-inner { padding-left:20px; padding-right:20px; }
  .footer-grid { grid-template-columns:1fr; gap:34px; }
  .footer-bottom { flex-direction:column; }
}
