/* Projects extend the existing OneHub palette, type scale and compact mobile spacing. */
.projects-intro{max-width:900px;margin-bottom:28px}.projects-intro h1{font-size:var(--type-section);line-height:1.15;letter-spacing:-1.5px;margin:0 0 18px}.projects-intro p:not(.eyebrow){font-size:var(--type-body);color:var(--muted)}
.projects-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.projects-section-heading h2{margin:0}.projects-section-heading .eyebrow{margin-bottom:14px}.project-link{color:#aaceff;font-weight:700;display:inline-flex;align-items:center;min-height:44px}.projects-section-heading>.project-link{flex-shrink:0}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0}.project-cover{display:block;overflow:hidden}.project-cover img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.project-card-copy{padding:24px}.project-meta{color:#aaceff;font-size:1rem;font-weight:600;margin:0 0 12px}.project-meta span{padding:0 8px}.project-card h3{font-size:1.5rem;line-height:1.3;margin:0 0 14px}.project-card-copy>p:not(.project-meta){color:var(--muted);font-size:1rem;margin:0 0 14px}.project-card a:hover{color:#c5dcff}.project-grid-single{grid-template-columns:minmax(0,1fr)}.project-grid-single .project-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-grid-single .project-cover img{height:100%;max-height:340px}.project-grid-single .project-card-copy{align-self:center;padding:28px}
.project-filters{display:flex;gap:10px;overflow-x:auto;padding:4px 4px 10px;margin:0 -4px}.project-filters button{flex:0 0 auto;min-height:46px;border:1px solid var(--line);border-radius:4px;padding:10px 20px;background:var(--panel);color:var(--text);font-weight:600}.project-filters button[aria-pressed="true"]{background:#185cdb;border-color:#679dfd}.project-result-count{font-size:1rem;color:var(--muted);margin:8px 0 18px}.project-empty{padding:24px;background:var(--panel);border:1px solid var(--line);font-size:1.125rem}.project-empty a{margin-left:8px}header nav a[aria-current="page"]{color:#aaceff;text-decoration:underline;text-underline-offset:7px}
.project-back{margin-bottom:18px}.project-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}.project-main-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:var(--panel);border-radius:6px}.project-overview h2{font-size:1.75rem;margin:0 0 16px;letter-spacing:-.5px}.project-overview p,.project-overview li{font-size:1.125rem;color:var(--muted)}.project-overview h3{font-size:1.25rem;margin-top:24px}.project-overview ul{padding-left:22px}.project-overview li{margin:5px 0}.project-gallery-section{margin-top:36px}.project-gallery-section h2{font-size:var(--type-section)}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-gallery figure{margin:0;min-width:0}.project-gallery a{display:block;background:var(--panel);border:1px solid var(--line);border-radius:5px;overflow:hidden}.project-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block}.project-gallery figcaption{font-size:1rem;color:var(--muted);margin-top:10px}.project-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;margin-top:36px;border:1px solid var(--line);background:var(--panel);border-radius:6px}.project-cta h2{font-size:1.75rem;margin:0;letter-spacing:-.5px}.project-cta .button{flex-shrink:0}
body.project-gallery-open{overflow:hidden}.project-lightbox{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:20px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px}.project-lightbox::backdrop{background:#000d}.lightbox-toolbar,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-count{margin:0}.project-lightbox figure{margin:16px 0}.project-lightbox figure img{width:100%;height:60dvh;object-fit:contain;display:block}.project-lightbox figcaption{font-size:1rem;text-align:center;margin-top:10px}.lightbox-controls button,.lightbox-toolbar button{min-height:44px}
@media(max-width:1000px){.project-grid,.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid-single{grid-template-columns:1fr}.project-overview{gap:24px}}
@media(max-width:720px){header .header-right nav{grid-template-columns:repeat(4,minmax(0,1fr))}header .header-right nav>a:not(.button){font-size:.875rem;min-width:0}.projects-section-heading{align-items:start;flex-direction:column;gap:8px;margin-bottom:18px}.projects-intro{margin-bottom:20px}.project-grid{grid-template-columns:1fr;gap:18px}.project-grid-single .project-card{display:block}.project-card-copy,.project-grid-single .project-card-copy{padding:18px}.project-cover img,.project-grid-single .project-cover img{height:auto;max-height:none}.project-filters button{padding:10px 15px;font-size:1rem}.project-overview{grid-template-columns:1fr;gap:20px}.project-overview p,.project-overview li,.project-card-copy>p:not(.project-meta),.project-gallery figcaption{color:#cdd8e7;font-weight:600}.project-gallery{gap:16px 12px}.project-gallery-section{margin-top:26px}.project-gallery figcaption{font-size:.875rem;line-height:1.45}.project-cta{flex-direction:column;align-items:start;padding:20px;gap:16px;margin-top:26px}.project-lightbox{padding:12px}.project-lightbox figure img{height:55dvh}.project-back{margin-bottom:14px}}
@media(max-width:380px){.project-gallery{grid-template-columns:1fr}}

.project-video{margin:28px 0 0;max-width:460px}.project-video video{display:block;width:100%;max-height:560px;background:var(--panel);border:1px solid var(--line);border-radius:5px}.project-video figcaption{font-size:1rem;color:var(--muted);margin-top:10px}
