:root {
  color-scheme: light;
  --paper: #ebe7dc;
  --paper-2: #f6f2e8;
  --ink: #151713;
  --muted: #686b61;
  --line: #c9c4b8;
  --signal: #173e55;
  --signal-soft: #dce8ef;
  --lime: #cbff2e;
  --green: #183e31;
  --danger: #9d2f2b;
  font-family: Inter, Arial, ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--paper); color: var(--ink); }
body::before { content: ""; position: fixed; z-index: -1; inset: 0; opacity: .3; background-image: linear-gradient(#76786f18 1px, transparent 1px), linear-gradient(90deg, #76786f18 1px, transparent 1px); background-size: 28px 28px; }
button, input, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.topbar { position: sticky; z-index: 20; top: 0; min-height: 72px; padding: 0 clamp(16px, 3vw, 48px); display: flex; align-items: center; gap: 24px; border-bottom: 1px solid var(--ink); background: #ebe7dcf2; backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; letter-spacing: .12em; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; background: var(--ink); color: var(--lime); font-weight: 900; }
.brand-copy { display: grid; gap: 1px; }
.brand-copy b { font-size: 12px; }
.brand-copy small { color: var(--signal); font: 800 8px ui-monospace, monospace; letter-spacing: .18em; }
.product-nav { display: flex; align-items: center; gap: 4px; margin-left: 20px; }
.product-nav a { padding: 9px 11px; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.product-nav a:hover, .product-nav a.active { background: var(--ink); color: white; }
.top-action { margin-left: auto; min-height: 39px; padding: 0 15px; border: 0; background: var(--signal); color: white; font-size: 8px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
main { max-width: 1680px; margin: auto; padding: 0 clamp(16px, 3vw, 48px) 70px; }
.navigator-decisions{margin:18px 0}
.journey-toolbar>a{min-height:36px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}
.eyebrow { margin: 0; color: var(--signal); font: 800 8px ui-monospace, monospace; letter-spacing: .16em; text-transform: uppercase; }
.hero { min-height: 280px; padding: 52px 0 34px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; border-bottom: 1px solid var(--ink); }
.hero h1 { max-width: 980px; margin: 12px 0 0; font-size: clamp(43px, 6vw, 88px); line-height: .88; letter-spacing: -.065em; text-transform: uppercase; }
.hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1.3px var(--ink); }
.hero-summary { max-width: 410px; padding: 15px 0 15px 20px; border-left: 4px solid var(--signal); color: var(--muted); font-size: 13px; line-height: 1.65; }
.status-region { min-height: 84px; display: grid; place-items: center; margin-top: 20px; padding: 20px; border: 1px solid var(--line); background: #f6f2e8b8; text-align: center; }
.status-region strong { font-size: 18px; }
.status-region p { max-width: 600px; margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.status-region.error { border-color: #bd7772; color: var(--danger); }
.status-region button { margin-top: 12px; padding: 8px 12px; border: 1px solid currentColor; background: transparent; color: inherit; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.section-head { min-height: 94px; display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 24px 0 16px; }
.section-head h2 { margin: 6px 0 0; font-size: clamp(24px, 3vw, 39px); letter-spacing: -.045em; }
.section-head p:last-child { max-width: 500px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; text-align: right; }
.pipeline { display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); border: 1px solid var(--ink); background: var(--ink); gap: 1px; }
.pipeline-column { min-width: 0; min-height: 310px; background: var(--paper-2); }
.pipeline-column > header { min-height: 54px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ink); }
.pipeline-column > header span { font: 850 8px ui-monospace, monospace; letter-spacing: .1em; }
.pipeline-column > header b { min-width: 22px; height: 22px; display: grid; place-items: center; background: var(--ink); color: var(--lime); font-size: 8px; }
.card-list { display: grid; gap: 8px; padding: 10px; }
.opportunity-card, .project-card { padding: 15px; border: 1px solid var(--line); background: #fffdf7; }
.opportunity-card small, .project-card small { color: var(--signal); font: 800 7px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.opportunity-card h3, .project-card h3 { margin: 8px 0 6px; font-size: 16px; letter-spacing: -.025em; }
.opportunity-card p, .project-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.card-meta { margin-top: 14px; display: flex; justify-content: space-between; gap: 10px; font-size: 8px; font-weight: 800; }
.card-meta a { color: var(--signal); }
.empty-column { padding: 22px 14px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.project-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); margin-top: 20px; border: 1px solid var(--ink); }
.project-list { min-height: 520px; border-right: 1px solid var(--ink); background: var(--paper-2); }
.project-list > header { padding: 18px; border-bottom: 1px solid var(--ink); }
.project-list h2 { margin: 6px 0 0; font-size: 22px; }
.project-list .card-list { padding: 10px; }
.project-card { width: 100%; display: block; text-align: left; }
button.project-card.active { border-color: var(--signal); box-shadow: inset 4px 0 var(--signal); }
.planning-canvas { min-width: 0; padding: 28px; background: #fffdf780; }
.planning-empty { min-height: 450px; display: grid; place-items: center; align-content: center; text-align: center; }
.planning-empty span { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--signal); border-radius: 50%; color: var(--signal); font-size: 23px; }
.planning-empty h2 { margin: 18px 0 8px; font-size: 31px; letter-spacing: -.045em; }
.planning-empty p { max-width: 530px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.mode-row { display: flex; gap: 5px; margin: 20px 0; }
.mode-row button { min-height: 36px; padding: 0 12px; border: 1px solid var(--ink); background: transparent; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.mode-row button.active { background: var(--ink); color: white; }
.project-context { padding-bottom: 22px; border-bottom: 1px solid var(--ink); }
.project-context h2 { margin: 7px 0; font-size: clamp(30px, 4vw, 54px); letter-spacing: -.055em; }
.project-context p { color: var(--muted); font-size: 10px; }
.foundation-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ink); background: var(--ink); gap: 1px; }
.foundation-grid article { min-height: 135px; padding: 16px; background: var(--paper-2); }
.foundation-grid span { color: var(--signal); font: 850 7px ui-monospace, monospace; letter-spacing: .1em; }
.foundation-grid h3 { margin: 18px 0 7px; font-size: 17px; }
.foundation-grid p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.modal { width: min(560px, calc(100vw - 30px)); padding: 0; border: 1px solid var(--ink); background: var(--paper-2); color: var(--ink); }
.modal::backdrop { background: #15171388; }
.modal form { padding: 24px; }
.modal h2 { margin: 7px 0 20px; font-size: 30px; }
.form-grid { display: grid; gap: 12px; }
.form-grid label { color: var(--muted); font: 800 8px ui-monospace, monospace; text-transform: uppercase; }
.form-grid input { width: 100%; min-height: 40px; margin-top: 5px; padding: 0 10px; border: 1px solid var(--line); background: white; }
.form-intro { margin: -10px 0 18px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.zip-match { display: block; min-height: 16px; margin-top: 5px; color: var(--muted); font: 700 8px/1.4 ui-monospace, monospace; text-transform: none; }
.zip-match.confirmed { color: #197a5a; }
.zip-match.invalid { color: var(--danger); }
.form-market-grid { display: grid; grid-template-columns: 1fr 90px; gap: 12px; padding: 12px; border-left: 3px solid var(--danger); background: #fff6f2; }
.form-market-grid p { grid-column: 1 / -1; margin: 0; color: var(--danger); font: 700 8px/1.5 ui-monospace, monospace; }
.form-status { min-height: 16px; margin: 12px 0 0; color: var(--muted); font-size: 9px; }
.form-status.error { color: var(--danger); }
.modal footer { margin-top: 20px; display: flex; justify-content: flex-end; gap: 7px; }
.modal footer button { min-height: 38px; padding: 0 14px; border: 1px solid var(--ink); background: transparent; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.modal footer button:last-child { background: var(--signal); color: white; }
@media (max-width: 960px) {
  .product-nav { display: none; }
  .pipeline { grid-template-columns: 1fr 1fr; }
  .project-layout { grid-template-columns: 1fr; }
  .project-list { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink); }
  .project-list .card-list { display: flex; overflow-x: auto; }
  .project-card { min-width: 260px; }
}
@media (max-width: 620px) {
  .brand-copy { display: none; }
  .hero { min-height: 250px; display: block; }
  .hero-summary { margin-top: 28px; }
  .pipeline, .foundation-grid { grid-template-columns: 1fr; }
  .section-head { align-items: start; flex-direction: column; }
  .section-head p:last-child { text-align: left; }
  .planning-canvas { padding: 18px; }
}

/* Project Journey: shared checklist, calendar, Nerva Clock, and procurement layer. */
.active-project-rail{min-height:64px;padding:10px clamp(20px,4vw,64px);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:22px;align-items:center;border-bottom:1px solid var(--line);background:#f7f5ee;position:sticky;top:0;z-index:8}.active-project-rail div{display:grid;gap:2px}.active-project-rail small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.active-project-rail strong{font-size:13px}.active-project-rail .healthy{color:#197a5a}.active-project-rail .risk{color:#b34232}.active-project-rail a{color:var(--ink);font-weight:800;text-decoration:none;font-size:12px}.journey-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.journey-toolbar>div{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.journey-toolbar button{border:0;background:#fff;color:var(--muted);padding:10px 15px;cursor:pointer;font-weight:750}.journey-toolbar button.active{background:var(--ink);color:#fff}.journey-toolbar .layer-toggle{border:1px solid var(--line);border-radius:999px}.layer-toggle i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#aaa;margin-right:7px}.layer-toggle.active i{background:#8a61d4;box-shadow:0 0 0 4px #8a61d422}.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.calendar-shell>header{height:66px;display:flex;align-items:center;justify-content:center;gap:24px;border-bottom:1px solid var(--line)}.calendar-shell>header button{border:1px solid var(--line);background:#fff;border-radius:50%;width:34px;height:34px;cursor:pointer}.calendar-shell h2{min-width:210px;text-align:center}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row b{padding:10px;text-align:center;font-size:9px;color:var(--muted);letter-spacing:.12em;border-right:1px solid var(--line)}.calendar-day{min-height:112px;padding:8px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff}.calendar-day.outside{background:#f8f7f2;color:#aaa}.calendar-day.today>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--ink);color:#fff}.calendar-day>span{font-size:11px;font-weight:800}.calendar-event{display:grid;width:100%;text-align:left;margin-top:6px;padding:7px;border:0;border-left:3px solid #75818c;border-radius:5px;background:#eef1f2;color:var(--ink);cursor:pointer}.calendar-event small{font-size:7px;letter-spacing:.04em}.calendar-event b{font-size:10px;margin:2px 0}.calendar-event em{font-size:8px;font-style:normal;color:var(--muted);text-transform:uppercase}.calendar-event.locked{border-color:#6e55ba;background:#f0ecfa}.calendar-event.waiting{border-color:#d29424;background:#fff5d9}.calendar-event.risk{border-color:#c64c3e;background:#fff0ed}.calendar-event.complete{border-color:#318767;background:#eaf7f1}.checklist-shell{display:grid;gap:14px}.package-journey{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.package-journey>header{display:flex;justify-content:space-between;align-items:center;padding:20px}.package-journey>header small{color:#6e55ba;text-transform:uppercase;letter-spacing:.1em}.package-journey>header>strong{font-size:28px}.milestone-row{width:100%;display:grid;grid-template-columns:36px 1fr 100px 100px 24px;gap:12px;align-items:center;padding:14px 18px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.milestone-row>i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);font-style:normal}.milestone-row>div small,.milestone-row>span small{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.milestone-row.complete>i{background:#318767;color:#fff}.milestone-row.risk{border-left:3px solid #c64c3e}.milestone-row.waiting{border-left:3px solid #d29424}.milestone-dialog{width:min(720px,calc(100vw - 30px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 90px #0005}.milestone-dialog::backdrop{background:#12171dcc}.milestone-dialog>header{display:flex;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.milestone-dialog>header button{border:0;background:none;font-size:24px}.milestone-dialog>#milestone-dialog-body,.milestone-dialog>form{padding:20px 24px}.date-truth-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.date-truth-grid div{padding:13px;border-right:1px solid var(--line)}.date-truth-grid small{display:block;color:var(--muted);font-size:8px}.date-truth-grid .committed{background:#f0ecfa}.lock-evidence{font-size:11px;color:var(--muted)}.confirmation-summary{margin-top:16px;padding:14px;border-left:3px solid #6e55ba;background:#f7f5fb}.confirmation-summary span{font-size:8px;letter-spacing:.12em}.confirmation-summary strong{display:block;text-transform:uppercase}.confirmation-summary p{margin:4px 0 0}.milestone-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.milestone-dialog label{font-size:10px;font-weight:800}.milestone-dialog input{margin-top:6px;width:100%;padding:9px;border:1px solid var(--line);border-radius:7px}.milestone-dialog .wide{grid-column:1/-1}.lock-date{width:100%;margin-top:12px;padding:12px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-weight:800}.milestone-dialog>footer{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid var(--line);background:#f8f7f2}.milestone-dialog>footer span{font-size:9px;font-weight:800;letter-spacing:.1em}.milestone-dialog>footer div{display:flex;gap:6px}.milestone-dialog>footer button{border:1px solid var(--line);border-radius:6px;background:#fff;padding:7px 9px;cursor:pointer}
@media(max-width:900px){.active-project-rail{grid-template-columns:1fr 1fr}.active-project-rail a{display:none}.project-layout{grid-template-columns:1fr}.project-list{display:none}.calendar-day{min-height:90px}.calendar-event b{font-size:9px}.milestone-row{grid-template-columns:34px 1fr 82px}.milestone-row>span:nth-of-type(2),.milestone-row>em{display:none}}
@media(max-width:620px){.active-project-rail{position:static;grid-template-columns:1fr}.active-project-rail div:nth-child(2){display:none}.hero{padding-top:18px}.journey-toolbar{align-items:stretch;gap:8px}.journey-toolbar>div{flex:1}.journey-toolbar button{padding:9px}.weekday-row b{font-size:7px}.calendar-day{min-height:68px;padding:4px}.calendar-event{padding:4px}.calendar-event small,.calendar-event em{display:none}.calendar-event b{font-size:8px}.date-truth-grid{grid-template-columns:1fr 1fr}.milestone-dialog>footer{display:grid;gap:10px}.milestone-dialog>footer div{flex-wrap:wrap}}
