.project-main{min-height:100svh;background:var(--paper)}.project-layout{display:grid;grid-template-columns:220px 1fr;gap:clamp(2rem,4vw,4rem);padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(3rem,6vw,6rem);align-items:start}.project-sidebar{position:sticky;top:calc(var(--nav-h) + 1.5rem);display:flex;flex-direction:column;gap:1.5rem}.project-sidebar__back{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-faint);text-decoration:none;transition:color .15s;font-size:.75rem}.project-sidebar__back:hover{color:var(--ink-muted)}.project-sidebar__nav{list-style:none;display:flex;flex-direction:column;gap:.125rem}.project-sidebar__link{display:block;font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--ink-muted);text-decoration:none;padding:.5rem .875rem;border-radius:var(--radius-sm);border-left:2px solid transparent;transition:color .15s,background .15s,border-color .15s}.project-sidebar__link:hover{color:var(--ink);background:var(--line)}.project-sidebar__link--active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600}.project-sidebar__link--active:hover{background:var(--accent-dim)}.project-sidebar__footer{padding-top:1rem;border-top:1px solid var(--line)}.project-sidebar__home{color:var(--ink-faint);text-decoration:none;font-size:.75rem;transition:color .15s}.project-sidebar__home:hover{color:var(--ink-muted)}.project-content{min-width:0}.project-content h1{margin-bottom:.5rem}.project-content .project-eyebrow{color:var(--accent);margin-bottom:.75rem;display:block}.project-content .project-intro{color:var(--ink-muted);margin-bottom:clamp(2rem,4vw,3rem);max-width:640px}.project-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem}.project-hub-card{display:block;padding:1.5rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s}.project-hub-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--accent)}.project-hub-card__icon{font-size:1.5rem;margin-bottom:.875rem;line-height:1}.project-hub-card__title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.375rem}.project-hub-card__desc{font-size:.875rem;color:var(--ink-muted);line-height:1.55}.project-doc h2{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--ink);margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.project-doc h3{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;color:var(--ink);margin-top:1.75rem;margin-bottom:.5rem}.project-doc p{color:var(--ink-muted);line-height:1.75;margin-bottom:1rem;font-size:.9375rem}.project-doc ul,.project-doc ol{padding-left:1.5rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.375rem}.project-doc li{color:var(--ink-muted);font-size:.9375rem;line-height:1.6}.project-doc table{width:100%;border-collapse:collapse;font-size:.9375rem;margin-bottom:1.5rem}.project-doc th{font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:.6rem .75rem;border-bottom:2px solid var(--line)}.project-doc td{padding:.75rem;border-bottom:1px solid var(--line);color:var(--ink-muted);vertical-align:top}.project-doc tr:last-child td{border-bottom:none}.project-doc tr.total td{font-weight:700;color:var(--ink);border-top:2px solid var(--line)}.project-doc tr.total td:last-child{color:var(--accent)}@media(max-width:768px){.project-layout{grid-template-columns:1fr}.project-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.project-sidebar__back,.project-sidebar__footer{display:none}.project-sidebar__nav{flex-direction:row;flex-wrap:wrap;gap:.375rem}.project-sidebar__link{border-left:none;border-bottom:2px solid transparent;padding:.375rem .75rem;font-size:.8125rem}.project-sidebar__link--active{border-bottom-color:var(--accent);border-left-color:transparent}}
