:root{--bg:#f8f5ef;--ink:#12110f;--muted:#6f6a60;--panel:#fffdfa;--night:#101513;--cream:#f8f5ef;--accent:#b84a20;--signal:#e0b55e;--red:#d45a33;--green:#8cc3a0;--yellow:#f0d18b;--body:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--max:100vw;--label-col:clamp(172px, 12vw, 220px);--month-col:minmax(0, 1fr)}*{box-sizing:border-box}body{background:linear-gradient(90deg, #12110f11 1px, transparent 1px) 0 0 / 96px 96px, var(--bg);color:var(--ink);font-family:var(--body);margin:0;line-height:1.45}.wrap{inline-size:calc(100% - 12px);max-inline-size:var(--max);margin-inline:auto}.brand{letter-spacing:-.035em;white-space:nowrap;font-weight:860}.brand span:last-child{color:var(--accent)}.label{color:var(--accent);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 18px;font-size:clamp(.86rem,.95vw,1rem);font-weight:850}h1,h2,p{margin-block-start:0}h1,h2{font-family:var(--display);letter-spacing:-.045em}header{border-block-end:2px solid var(--ink);align-items:end;min-block-size:56svh;padding-block:76px 48px;display:grid}.hero{grid-template-columns:minmax(0,.9fr) minmax(280px,.42fr);align-items:end;gap:56px;display:grid}h1{text-wrap:balance;max-inline-size:1040px;margin:0;font-size:clamp(3.2rem,8.2vw,8rem);font-weight:820;line-height:1.02}.deck{max-inline-size:790px;color:var(--muted);margin:28px 0 0;font-size:clamp(1.04rem,1.55vw,1.3rem)}.range-card{border:2px solid var(--ink);background:var(--panel);padding:24px}.range-card b{color:var(--accent);font-family:var(--mono);font-size:clamp(2rem,4.6vw,4.6rem);line-height:.95;display:block}.range-card span{color:var(--muted);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-block-start:12px;font-size:.78rem;font-weight:850;display:block}main{padding-block:36px 56px}.board-head{justify-content:space-between;align-items:end;gap:28px;margin-block-end:28px;display:flex}h2{text-wrap:balance;max-inline-size:980px;margin:0;font-size:clamp(2.35rem,5.6vw,6.2rem);font-weight:820;line-height:1.05}.hint{max-inline-size:430px;color:var(--muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:.74rem;font-weight:760}.timeline-shell{border:2px solid var(--ink);background:var(--night);color:var(--cream);overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overflow-x:auto;box-shadow:0 14px #12110f1f}.timeline{grid-template-columns:var(--label-col) repeat(20,var(--month-col));background:repeating-linear-gradient(90deg, transparent 0, transparent calc((100% - var(--label-col)) / 20 - 1px), #f8f5ef13 calc((100% - var(--label-col)) / 20 - 1px), #f8f5ef13 calc((100% - var(--label-col)) / 20)), var(--night);inline-size:100%;min-inline-size:0;display:grid}.sticky{z-index:4;background:var(--night);border-block-end:1px solid #f8f5ef24;border-inline-end:2px solid #f8f5efdb;position:sticky;inset-inline-start:0}.corner,.year,.month{min-block-size:50px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-block-end:1px solid #f8f5ef24;place-items:center;font-weight:850;display:grid}.corner{color:var(--signal);font-size:.72rem}.year{color:var(--night);background:var(--signal);border-inline-end:2px solid var(--night);font-size:.78rem}.month{color:#f8f5efb8;border-inline-end:1px solid #f8f5f524;font-size:.66rem}.lane-title{align-content:center;gap:6px;min-block-size:112px;padding:12px 14px;display:grid}.phase-title{min-block-size:98px}.primary-title{min-block-size:128px}.customer-title,.technology-title{min-block-size:178px}.funding-title{min-block-size:190px}.milestone-title{min-block-size:164px}.lane-title b{letter-spacing:-.02em;font-size:.96rem;line-height:1.05}.lane-title span{color:var(--signal);font-family:var(--mono);letter-spacing:.055em;text-transform:uppercase;font-size:.64rem;font-weight:850;line-height:1.12}.lane-grid{grid-column:2/-1;grid-template-columns:repeat(20,var(--month-col));border-block-end:1px solid #f8f5ef24;align-items:start;gap:0;min-block-size:104px;padding:0;display:grid}.phase-row{min-block-size:98px}.primary-row{min-block-size:128px}.customer-row,.technology-row{grid-template-rows:repeat(3,max-content);align-content:start;min-block-size:178px}.funding-row{grid-template-rows:repeat(3,max-content);align-content:start;min-block-size:190px}.milestone-row{min-block-size:164px}.phase-band{min-block-size:98px;color:var(--night);background:var(--tone,var(--accent));font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;border-inline-end:2px solid #101513d9;align-content:center;padding:14px 16px;font-size:.76rem;font-weight:900;line-height:1.18;display:grid}.phase-band span{color:#101513b8;font-family:var(--body);letter-spacing:0;text-transform:none;margin-block-start:5px;font-size:.8rem;font-weight:800}.cell{color:#f8f5efd1;overflow-wrap:anywhere;background:#101513e0;border:1px solid #f8f5ef57;align-self:start;margin:3px;padding:6px 7px;font-size:clamp(.64rem,.58vw,.78rem);line-height:1.05}.cell strong{color:var(--cream);font-weight:880}.primary-cell{background:#f8f5ef0f;border-color:#f8f5ef47;font-size:.78rem}.task-red{border-color:color-mix(in srgb,var(--red) 82%,transparent);box-shadow:inset 4px 0 0 var(--red)}.task-green{border-color:color-mix(in srgb,var(--green) 82%,transparent);box-shadow:inset 4px 0 0 var(--green)}.task-yellow{border-color:color-mix(in srgb,var(--yellow) 82%,transparent);box-shadow:inset 4px 0 0 var(--yellow);background:#f0d18b1c}.milestone-rail{grid-column:1/span 20;min-block-size:164px;margin:0;padding:0;position:relative}.milestone-rail:before{content:"";background:var(--yellow);block-size:2px;position:absolute;inset-block-start:82px;inset-inline:28px;box-shadow:0 0 0 1px #f0d18b38}.pin{inline-size:clamp(92px,6vw,136px);color:var(--ink);font-family:var(--mono);letter-spacing:.01em;text-transform:uppercase;font-size:clamp(.48rem,.43vw,.57rem);font-weight:850;line-height:1.02;position:absolute;inset-block-start:var(--top,18px);inset-inline-start:calc(var(--pos) * 5%);transform:translate(-12px)}.pin:before{content:"";border:2px solid var(--night);background:var(--yellow);border-radius:50%;block-size:10px;inline-size:10px;position:absolute;inset-inline-start:10px;box-shadow:0 0 0 3px #f0d18b47}.pin.top:before{inset-block-start:58px}.pin.bottom:before{inset-block-start:-20px}.pin span{background:var(--cream);border:1px solid #f8f5ef80;padding:5px 6px;display:inline-block;box-shadow:0 4px #0003}.legend-panel{border:2px solid var(--ink);background:var(--panel);margin-block-start:22px;padding:18px}.legend{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.legend-item{grid-template-columns:18px 1fr;align-items:start;gap:10px;display:grid}.swatch{background:currentColor;border:2px solid;block-size:18px;inline-size:18px;margin-block-start:3px}.legend-item b{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;display:block}.legend-item p{color:var(--muted);margin:4px 0 0;font-size:.88rem;line-height:1.3}.caption{max-inline-size:930px;color:var(--muted);margin:20px 0 0;font-size:.98rem}@media (width<=980px){:root{--label-col:190px;--month-col:58px}.hero,.board-head{grid-template-columns:1fr;align-items:start;display:grid}header{min-block-size:auto}.timeline{inline-size:auto;min-inline-size:calc(var(--label-col) + (20 * var(--month-col)));grid-template-columns:var(--label-col) repeat(20,var(--month-col));background:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--month-col) - 1px), #f8f5ef13 calc(var(--month-col) - 1px), #f8f5ef13 var(--month-col)), var(--night)}.legend{grid-template-columns:1fr}}@media (width<=640px){:root{--label-col:152px;--month-col:54px}.wrap{inline-size:calc(100% - 8px)}header{padding-block:48px 34px}h1{font-size:clamp(2.8rem,16vw,4.8rem)}h2{font-size:clamp(2.1rem,11vw,3.8rem)}main{padding-block:42px 52px}.range-card{padding:18px}.lane-title{padding:12px}.lane-title b{font-size:.9rem}.lane-title span{font-size:.62rem}.cell{margin:5px 4px;padding:8px;font-size:.72rem}.primary-cell{font-size:.72rem}.phase-band{padding:10px;font-size:.66rem}.phase-band span{font-size:.7rem}.chip{font-size:.56rem}}
