.cs{--cs-surface: #fff;--cs-bg: #f6f8f7;--cs-fg: #17302b;--cs-muted: #5b716b;--cs-line: #d9e2de;--cs-grid: #ecf1ef;--cs-grid-strong: #cfdbd6;--cs-brand: #3b9e86;--cs-brand-ink: #2b7b67;--cs-brand-soft: #e3f2ee;--cs-p1: #8a6d4f;--cs-p2: #c48a2a;--cs-p3: #4c6fa8;--cs-p4: #8a7a98;--cs-p5: #3b9e86;--cs-p6: #6b9b4f;--cs-p7: #1e3a33;--cs-inspect: #c8442e;--cs-milestone: #17302b;--cs-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--label-w: 270px;--wk-min: 44px;--row-h: 34px;color:var(--cs-fg);font-size:14px;line-height:1.45}.cs *,.cs *:before,.cs *:after{box-sizing:border-box}.cs-controls{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:0 0 14px}.cs-controls label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--cs-muted)}.cs-controls input[type=date]{font:500 14px var(--cs-mono);color:var(--cs-fg);background:var(--cs-surface);border:1px solid var(--cs-grid-strong);border-radius:6px;padding:6px 10px}.cs-controls button{font:500 13px inherit;font-family:inherit;color:var(--cs-brand-ink);background:transparent;border:1px solid var(--cs-grid-strong);border-radius:6px;padding:6px 12px;cursor:pointer}.cs-controls input:focus-visible,.cs-controls button:focus-visible{outline:2px solid var(--cs-brand);outline-offset:2px}.cs-controls .cs-hint{font-size:12px;color:var(--cs-muted)}.cs-scroll{overflow-x:auto;border:1px solid var(--cs-line);border-radius:10px;background:var(--cs-surface)}.cs-gantt{min-width:calc(var(--label-w) + 20 * var(--wk-min));position:relative;overflow-x:clip}.cs .grow{position:relative;display:grid;grid-template-columns:var(--label-w) repeat(20,minmax(var(--wk-min),1fr));min-height:var(--row-h);border-bottom:1px solid var(--cs-grid)}.cs .grow>.lab{position:sticky;left:0;z-index:2;background:var(--cs-surface);border-right:1px solid var(--cs-line);padding:0 12px;display:flex;align-items:center;gap:8px;min-width:0}.cs .grow>.cell{border-right:1px solid var(--cs-grid);position:relative}.cs .grow>.cell:nth-child(5n+1){border-right-color:var(--cs-grid-strong)}.cs .grow>.cell:last-child{border-right:0}.cs .grow>.tl{grid-column:2 / -1;position:relative;min-width:0}.cs .grow>.tl.ov{position:absolute;inset:0}.cs .hdr-month{background:var(--cs-bg);border-bottom:1px solid var(--cs-line);min-height:30px}.cs .hdr-month .lab{background:var(--cs-bg);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-muted)}.cs .hdr-month .mo{grid-column:span 4;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-right:1px solid var(--cs-grid-strong)}.cs .hdr-month .mo:last-child{border-right:0}.cs .hdr-week{position:sticky;top:88px;z-index:3;background:var(--cs-surface);border-bottom:2px solid var(--cs-fg);min-height:38px}.cs .hdr-week .lab{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--cs-muted);z-index:4}.cs .hdr-week .wk{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--cs-mono);font-size:11px;line-height:1.15;font-variant-numeric:tabular-nums}.cs .hdr-week .wk small{font-size:10px;color:var(--cs-muted)}.cs .ms-row{min-height:40px;background:var(--cs-bg)}.cs .ms-row .lab{background:var(--cs-bg);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.cs .ms-row .tl{height:64px}.cs .ms{position:absolute;top:38px;transform:translate(-50%,-50%) rotate(45deg);width:12px;height:12px;background:var(--cs-milestone);border:2px solid var(--cs-surface);outline:1px solid var(--cs-milestone);cursor:default}.cs .ms-lbl{position:absolute;top:4px;transform:translate(-50%);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--cs-muted);white-space:nowrap;pointer-events:none}.cs .ms-lbl.lo{top:48px}.cs .phase{background:color-mix(in srgb,var(--pc) 10%,var(--cs-surface));border-top:1px solid var(--cs-line);min-height:36px}.cs .phase .lab{background:color-mix(in srgb,var(--pc) 10%,var(--cs-surface));font-weight:600;font-size:13px}.cs .phase .sw{width:10px;height:10px;border-radius:2px;background:var(--pc);flex:none}.cs .phase .span{margin-left:auto;font-family:var(--cs-mono);font-size:11px;color:var(--cs-muted);white-space:nowrap}.cs .phase-bar{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:3px;background:var(--pc);opacity:.55}.cs .task .lab{font-size:13px}.cs .task .lab .name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs .task .lab .dur{font-family:var(--cs-mono);font-size:11px;color:var(--cs-muted);flex:none;font-variant-numeric:tabular-nums}.cs .bar{position:absolute;top:50%;transform:translateY(-50%);height:18px;border-radius:4px;background:var(--pc);cursor:default;transition:filter .12s}.cs .bar:hover,.cs .bar:focus-visible{filter:brightness(1.12);outline:2px solid var(--cs-fg);outline-offset:1px}.cs .bar.cure{background:repeating-linear-gradient(135deg,var(--pc) 0 4px,color-mix(in srgb,var(--pc) 35%,var(--cs-surface)) 4px 8px)}.cs .bar.lead{background:transparent;border:1.5px dashed var(--pc);height:16px}.cs .insp{position:absolute;top:50%;transform:translate(-50%,-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--cs-inspect);cursor:default;z-index:1}.cs .insp:after{content:"";position:absolute;left:-7px;top:0;width:14px;height:12px}.cs .insp:hover{transform:translate(-50%,-50%) scale(1.25)}.cs-tip{position:fixed;z-index:50;max-width:280px;background:var(--cs-fg);color:#f6f8f7;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.4;pointer-events:none;box-shadow:0 6px 24px #0000002e}.cs-tip b{font-weight:600;font-size:13px;display:block;margin-bottom:3px}.cs-tip .m{font-family:var(--cs-mono);opacity:.8;font-size:11px;display:block;margin-bottom:4px}.cs-key{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;margin-top:14px}.cs-key div{display:flex;align-items:center;gap:10px}.cs-key .k-bar{width:28px;height:12px;border-radius:3px;background:var(--cs-brand)}.cs-key .k-cure{background:repeating-linear-gradient(135deg,var(--cs-brand) 0 4px,var(--cs-brand-soft) 4px 8px)}.cs-key .k-lead{background:transparent;border:1.5px dashed var(--cs-brand)}.cs-key .k-insp{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--cs-inspect);margin:0 10px}.cs-key .k-ms{width:11px;height:11px;background:var(--cs-milestone);transform:rotate(45deg);margin:0 9px}@media (max-width: 640px){.cs-scroll{overflow-x:visible}.cs-gantt{min-width:0}.cs .k-desktop-only{display:none}}.cs .m-head{display:grid;grid-template-columns:96px 1fr;background:var(--cs-bg);border-bottom:1px solid var(--cs-line);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-muted)}.cs .m-head>span:first-child{padding:8px 10px}.cs .m-months{display:grid;grid-template-columns:repeat(5,1fr)}.cs .m-months span{padding:8px 0;text-align:center;border-left:1px solid var(--cs-grid-strong);font-variant-numeric:tabular-nums}.cs .m-months small{display:block;font-size:9px;letter-spacing:0;text-transform:none}.cs .m-row{display:grid;grid-template-columns:96px 1fr;min-height:40px;border-bottom:1px solid var(--cs-grid);align-items:stretch}.cs .m-row>.m-lab{padding:8px 10px;font-size:12px;font-weight:600;line-height:1.2;display:flex;align-items:center;gap:6px;border-right:1px solid var(--cs-line)}.cs .m-row>.m-lab .sw{width:8px;height:8px;border-radius:2px;background:var(--pc);flex:none}.cs .m-row>.m-tl{position:relative;background-image:linear-gradient(to right,var(--cs-grid-strong) 1px,transparent 1px);background-size:20% 100%}.cs .m-bar{position:absolute;top:50%;transform:translateY(-50%);height:14px;border-radius:3px;background:var(--pc)}.cs .m-bar .m-insp{position:absolute;top:-7px;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid var(--cs-inspect)}.cs .m-msrow{min-height:34px;background:var(--cs-bg)}.cs .m-msrow .m-lab{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--cs-muted);font-weight:600}.cs .m-ms{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:9px;height:9px;background:var(--cs-milestone);border:1.5px solid var(--cs-surface);outline:1px solid var(--cs-milestone)}.cs .m-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--cs-line)}.cs .m-list>li{border-bottom:1px solid var(--cs-grid)}.cs .m-list details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 10px;font-size:13px;font-weight:600}.cs .m-list details>summary::-webkit-details-marker{display:none}.cs .m-list details>summary .sw{width:8px;height:8px;border-radius:2px;background:var(--pc);flex:none}.cs .m-list details>summary .wk{margin-left:auto;font-family:var(--cs-mono);font-weight:400;font-size:11px;color:var(--cs-muted);white-space:nowrap}.cs .m-list details>summary:after{content:"+";font-size:16px;color:var(--cs-muted);margin-left:4px}.cs .m-list details[open]>summary:after{content:"–"}.cs .m-tasks{margin:0;padding:0 10px 10px 26px;list-style:none;display:grid;gap:8px}.cs .m-tasks li{font-size:13px;line-height:1.35}.cs .m-tasks li .m-when{display:block;font-family:var(--cs-mono);font-size:11px;color:var(--cs-muted)}.cs .m-tasks li .m-flag{color:var(--cs-inspect);font-weight:600;font-family:inherit}.cs .m-tasks li .m-note{display:block;color:var(--cs-muted);font-size:12px;margin-top:2px}.cs .m-milestones{margin:0;padding:10px;list-style:none;display:grid;gap:4px;font-size:12px;background:var(--cs-bg);border-bottom:1px solid var(--cs-line)}.cs .m-milestones li{display:flex;gap:8px;align-items:baseline}.cs .m-milestones li .m-when{font-family:var(--cs-mono);font-size:11px;color:var(--cs-muted);white-space:nowrap;margin-left:auto}@media (prefers-reduced-motion: reduce){.cs .bar{transition:none}}.ct-hero[data-astro-cid-lil464lw]{padding:calc(var(--space-9) * 1.5) 0 var(--space-7);background:var(--bone);text-align:center}@media (max-width: 640px){.ct-hero[data-astro-cid-lil464lw]{padding:var(--space-9) 0 var(--space-6)}}.ct-hero[data-astro-cid-lil464lw] .eyebrow[data-astro-cid-lil464lw]{display:inline-block;margin-bottom:var(--space-4)}.ct-hero[data-astro-cid-lil464lw] h1[data-astro-cid-lil464lw]{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.75rem);font-weight:500;line-height:1.1;margin:0 0 var(--space-5);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}.ct-hero[data-astro-cid-lil464lw] h1[data-astro-cid-lil464lw] em[data-astro-cid-lil464lw]{color:var(--rosewood)}.ct-hero[data-astro-cid-lil464lw] .lead[data-astro-cid-lil464lw]{font-size:var(--fs-lead);line-height:1.55;color:var(--charcoal);max-width:56ch;margin:0 auto}.ct-chart-intro[data-astro-cid-lil464lw]{max-width:60ch;margin:0 0 var(--space-6)}.ct-chart-intro[data-astro-cid-lil464lw] h2[data-astro-cid-lil464lw]{margin:0 0 var(--space-3)}.ct-chart-intro[data-astro-cid-lil464lw] p[data-astro-cid-lil464lw]{color:var(--charcoal);margin:0}.ct-footnote[data-astro-cid-lil464lw]{margin:var(--space-5) 0 0;font-size:.875rem;line-height:1.6;color:var(--slate);max-width:90ch}.ct-photo-note[data-astro-cid-lil464lw]{margin:var(--space-3) 0 0;color:var(--slate);font-size:.9375rem;max-width:60ch}.ct-phases[data-astro-cid-lil464lw]{list-style:none;margin:var(--space-7) 0 0;padding:0;display:grid;gap:var(--space-7)}.ct-phase-head[data-astro-cid-lil464lw]{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}.ct-phase-num[data-astro-cid-lil464lw]{font-family:var(--font-display);font-size:1.75rem;line-height:1;color:var(--eucalyptus);min-width:1.5ch}.ct-phase-head[data-astro-cid-lil464lw] h3[data-astro-cid-lil464lw]{margin:0;font-size:var(--fs-h4)}.ct-phase-weeks[data-astro-cid-lil464lw]{font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-left:auto;white-space:nowrap}.ct-phase[data-astro-cid-lil464lw] p[data-astro-cid-lil464lw]{margin:0;color:var(--charcoal)}.ct-phase-body--media[data-astro-cid-lil464lw]{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--space-5);align-items:start}.ct-phase-fig[data-astro-cid-lil464lw]{margin:0}.ct-phase-fig[data-astro-cid-lil464lw] img[data-astro-cid-lil464lw]{display:block;width:100%;height:180px;object-fit:cover;border-radius:var(--radius-card)}@media (max-width: 640px){.ct-phase-body--media[data-astro-cid-lil464lw]{grid-template-columns:1fr}.ct-phase-fig[data-astro-cid-lil464lw] img[data-astro-cid-lil464lw]{height:200px}}.ct-list[data-astro-cid-lil464lw],.ct-steps[data-astro-cid-lil464lw]{margin:var(--space-6) 0;padding-left:1.25rem;display:grid;gap:var(--space-4);color:var(--charcoal)}.ct-list[data-astro-cid-lil464lw] li[data-astro-cid-lil464lw]::marker,.ct-steps[data-astro-cid-lil464lw] li[data-astro-cid-lil464lw]::marker{color:var(--eucalyptus)}.ct-steps[data-astro-cid-lil464lw] li[data-astro-cid-lil464lw] strong[data-astro-cid-lil464lw]{display:block;color:var(--ink);margin-bottom:var(--space-1)}.ct-faq-title[data-astro-cid-lil464lw]{text-align:center;margin-bottom:var(--space-7)}
