.portfolio-hero{background:var(--c2c-raised);border-bottom:1px solid var(--c2c-border)}.portfolio-toolbar{z-index:25;border-bottom:1px solid var(--c2c-border);background:color-mix(in srgb,var(--c2c-raised) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 0;position:sticky;top:80px}.portfolio-filters{gap:10px;display:grid}.portfolio-meta{color:var(--c2c-body);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;font-size:.85rem;display:flex}.portfolio-grid{gap:22px;display:grid}.portfolio-card{overflow:hidden}.portfolio-art{color:#fff;background:linear-gradient(145deg,#011e3d,#006493 65%,#00a2eb);align-items:flex-end;min-height:240px;padding:22px;display:flex;position:relative}.portfolio-card:nth-child(3n+2) .portfolio-art{background:linear-gradient(145deg,#10243a,#006a6a 65%,#30f2f2)}.portfolio-card:nth-child(3n+3) .portfolio-art{background:linear-gradient(145deg,#0b1a2b,#485f82 65%,#8dcdff)}.portfolio-art:before{content:"";background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0}.portfolio-art span{border:1px solid #fff6;border-radius:999px;padding:5px 9px;font-size:.7rem;position:relative}.portfolio-card-body{padding:24px}.portfolio-card-meta{color:var(--c2c-muted);flex-wrap:wrap;gap:8px;font-size:.72rem;font-weight:600;display:flex}.portfolio-card h2{margin:12px 0 9px;font-size:1.3rem}.portfolio-card p{min-height:52px;color:var(--c2c-body);line-height:1.65}.card-action{color:var(--c2c-blue-deep);align-items:center;gap:7px;font-size:.85rem;font-weight:700;display:inline-flex}.project-hero{background:var(--c2c-raised);border-bottom:1px solid var(--c2c-border);padding-bottom:72px}.project-title{max-width:900px;margin:30px 0 20px;font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.08}.project-lead{max-width:760px;color:var(--c2c-body);font-size:1.15rem;line-height:1.7}.project-facts{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.project-fact{border:1px solid var(--c2c-border);background:var(--c2c-alt);border-radius:6px;padding:10px 14px}.project-fact small{color:var(--c2c-muted);text-transform:uppercase;font-size:.65rem;display:block}.project-fact strong{font-size:.85rem}.project-cover{border:1px solid var(--c2c-border);color:#fff;background:linear-gradient(145deg,#011e3d,#006493 62%,#00a2eb);border-radius:8px;place-items:center;min-height:clamp(300px,48vw,620px);margin-top:48px;display:grid;overflow:hidden}.project-cover-inner{background:#0b1a2b;border:1px solid #4c7898;border-radius:8px;width:min(76%,780px);padding:30px;box-shadow:0 24px 70px #00000047}.project-cover-inner span{color:#8dcdff;text-transform:uppercase;font-size:.75rem;font-weight:700}.project-cover-inner h2{color:#fff;margin:8px 0 0}.project-story{gap:56px;display:grid}.story-section{scroll-margin-top:120px}.story-section h2{margin:0 0 18px;font-size:1.8rem}.story-section p{white-space:pre-line;color:var(--c2c-body);font-size:1.05rem;line-height:1.82}.project-rail{height:max-content;padding:24px}.project-rail h2{margin-top:0;font-size:1rem}.project-rail dl{gap:18px;margin:0;display:grid}.project-rail dt{color:var(--c2c-muted);text-transform:uppercase;font-size:.68rem;font-weight:700}.project-rail dd{margin:4px 0 0}.outcome-callout{border-left:4px solid var(--c2c-blue);background:var(--c2c-alt);padding:28px}@media (min-width:700px){.portfolio-filters{grid-template-columns:1.4fr repeat(3,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}.project-layout{grid-template-columns:1fr 300px;gap:72px;display:grid}.project-rail{position:sticky;top:130px}}.project-gallery{margin-top:80px}.project-gallery-grid{gap:20px;margin-top:32px;display:grid}.project-gallery figure{border:1px solid var(--c2c-border);background:var(--c2c-alt);border-radius:8px;margin:0;overflow:hidden}.project-gallery img{aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;width:100%;display:block}.project-gallery figcaption{color:var(--c2c-body);padding:12px 16px;font-size:.85rem}@media (min-width:700px){.project-gallery-grid{grid-template-columns:repeat(2,1fr)}}
