.portfolio-entry>a .portfolio-entry-copy{margin-bottom:0;padding:1.3rem 1.5rem}.portfolio-entry .portfolio-entry-meta{color:#3a536d;gap:.4rem;margin-top:.9rem;font-size:.85rem;line-height:1.5;display:grid}.portfolio-entry .portfolio-entry-meta p:first-child{color:var(--cobalt);font-weight:650}.portfolio-entry .portfolio-entry-detail{margin-top:0;padding:1.3rem 1.5rem 1.5rem}.portfolio-entry .portfolio-entry-detail>div>p:first-child{max-width:65ch;font-size:1rem;line-height:1.65}.portfolio-entry .media-plane figcaption{margin-bottom:.5rem;padding-inline:1.5rem}.portfolio-entry .media-plane[data-media-format=dashboard] .media-plane-canvas{background:#fff}.portfolio-entry[data-variant=hero]>a{grid-template-columns:1fr 1.2fr;display:grid}.portfolio-entry[data-variant=hero] .portfolio-entry-copy{align-self:end}.portfolio-entry[data-variant=hero] .media-plane{grid-area:1/2/3}.portfolio-entry[data-variant=hero] .media-plane-canvas{aspect-ratio:auto;height:100%;min-height:24rem}.portfolio-entry[data-variant=hero] .portfolio-entry-detail{display:block}.portfolio-entry[data-variant=hero] .portfolio-entry-detail>div:last-child{margin-top:1.5rem}.portfolio-entry[data-variant=hero] .media-plane figcaption{margin:0;padding:.9rem 1.2rem}.portfolio-entry[data-variant=compact] .media-plane-canvas{aspect-ratio:16/10}.project-detail .project-detail-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;margin-block:1.5rem 2rem}.project-detail .project-detail-head h1{max-width:24ch;font-size:clamp(2.25rem,4.1vw,3.8rem);line-height:1.12}.project-detail .project-detail-label{font-size:.86rem;line-height:1.55}.project-detail .project-detail-head>div>p{max-width:60ch;font-size:1.02rem;line-height:1.7}.project-detail .project-narrative>div>section{padding-block:1.5rem}.project-detail .project-narrative>div>section:first-child{padding-top:0}.project-detail .project-narrative>div>section p,.project-detail .project-observable-effect p{font-size:1.05rem;line-height:1.7}.project-media-preview{min-width:0;margin:0}.project-media-canvas{aspect-ratio:16/10;background:#e8eef6;border-radius:14px;position:relative;overflow:hidden}.project-media-image{object-fit:contain;transition:transform .25s ease-out}.project-media-preview[data-media-format=dashboard] .project-media-canvas{aspect-ratio:4/3;background:#f5f7fa}.project-media-preview[data-media-format=mobile] .project-media-canvas{aspect-ratio:390/844;background:#fff;max-width:23rem;margin-inline:auto}.project-media-preview[data-media-format=desktop] .project-media-canvas{aspect-ratio:16/10;background:#fff}.project-media-preview figcaption{color:#3a536d;max-width:75ch;margin-top:.8rem;font-size:.88rem;line-height:1.6}.project-media-open{cursor:zoom-in;background:0 0;border:0;justify-content:flex-end;align-items:flex-end;width:100%;padding:1rem;display:flex;position:absolute;inset:0}.project-media-open>span{min-height:44px;color:var(--cobalt);background:#fff;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.85rem;font-weight:650;display:inline-flex;box-shadow:0 4px 16px #102a4326}.project-media-open:focus-visible{outline:3px solid var(--cobalt);outline-offset:-5px}.project-media-canvas:has(.project-media-open:focus-visible) .project-media-image{transform:scale(1.012)}.project-gallery{padding-block:clamp(2.5rem,4vw,4rem)}.project-gallery-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.8rem;display:flex}.project-gallery-heading h2{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.2}.project-gallery-heading p{color:#3a536d;margin-top:.65rem;font-size:.92rem;line-height:1.6}.project-gallery-heading>p{white-space:nowrap}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem;display:grid}.project-gallery-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}.project-gallery-grid[data-count="1"] .project-gallery-item[data-media-format=dashboard]{max-width:46rem}.project-gallery-item{min-width:0}.project-examination{width:min(1240px,100vw - 2rem);max-width:none;height:min(960px,100dvh - 2rem);max-height:none;color:var(--ink);background:#fff;border:0;border-radius:16px;padding:0;box-shadow:0 24px 64px #06192a70}.project-examination[open]{flex-direction:column;display:flex}.project-examination::backdrop{background:#081a32df}.project-examination-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.3rem .7rem;display:flex}.project-examination-header h2{max-width:56ch;font-size:1.1rem;line-height:1.45}.project-examination-close{background:var(--mineral);width:44px;height:44px;color:var(--ink);cursor:pointer;border:0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-examination-controls{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:0 1.3rem .8rem;display:flex}.project-examination-navigation{align-items:center;gap:.75rem;display:flex}.project-examination-navigation button{width:44px;height:44px;color:var(--cobalt);cursor:pointer;background:#fff;border:1px solid #c1d3e8;border-radius:12px;justify-content:center;align-items:center;display:flex}.project-examination-navigation span{color:#3a536d;text-align:center;min-width:4ch;font-size:.9rem}.project-examination-size{min-height:44px;color:var(--cobalt);cursor:pointer;background:#fff;border:1px solid #c1d3e8;border-radius:12px;padding:.5rem .8rem;font-size:.88rem;font-weight:650}.project-examination-size[aria-pressed=true]{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.project-examination-viewport{overscroll-behavior:contain;scrollbar-color:#6f8aaa #e8eef6;background:#e8eef6;flex:1;min-height:0;overflow:auto}.project-examination-viewport[data-actual-size=false]{justify-content:center;align-items:center;display:flex}.project-examination-image{object-fit:contain;width:100%;height:100%;display:block}.project-examination-viewport[data-actual-size=true] .project-examination-image{width:auto;max-width:none;height:auto;max-height:none}.project-examination-footer{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;padding:1rem 1.3rem;display:flex}.project-examination-footer p{color:#3a536d;max-width:75ch;font-size:.9rem;line-height:1.6}.project-examination-footer a{color:var(--cobalt);flex-shrink:0;font-size:.85rem}.project-examination .focus-ring:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.project-examination .project-examination-viewport:focus-visible{outline-offset:-4px}.project-examination ::selection,.portfolio-entry ::selection{background:var(--cobalt);color:#fff}@media (hover:hover){.project-media-canvas:hover .project-media-image{transform:scale(1.012)}.project-media-open:hover>span{background:var(--cobalt);color:#fff}.project-examination-close:hover{background:#dce9fc}}@media (max-width:800px){.portfolio-entry[data-variant=hero]>a{display:block}.portfolio-entry[data-variant=hero] .media-plane-canvas{aspect-ratio:16/10;height:auto;min-height:0}.project-detail .project-detail-head{grid-template-columns:1fr;gap:1.2rem}.project-gallery-grid{grid-template-columns:minmax(0,1fr);gap:1.8rem}.project-examination-footer{flex-direction:column;gap:.7rem}}@media (max-width:600px){.portfolio-entry>a .portfolio-entry-copy{padding:1.15rem 1.2rem}.portfolio-entry .portfolio-entry-detail{padding:1.15rem 1.2rem 1.3rem}.portfolio-entry .media-plane figcaption{padding-inline:1.2rem}.project-detail .project-detail-head h1{font-size:clamp(2.05rem,7.8vw,2.8rem)}.project-gallery-heading{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.project-gallery-heading>p{margin-top:0}.project-media-open{padding:.7rem}.project-media-preview figcaption{font-size:.85rem}.project-examination{border-radius:12px;width:calc(100vw - 1rem);height:calc(100dvh - 1rem)}.project-examination-header{gap:.75rem;padding:.8rem .8rem .5rem}.project-examination-header h2{font-size:.96rem}.project-examination-controls{padding-inline:.8rem}.project-examination-footer{padding:.8rem}.project-examination-footer p{font-size:.82rem;line-height:1.5}}@media (prefers-reduced-motion:reduce){.project-media-image{transition:none}.project-media-canvas:hover .project-media-image{transform:none}.project-media-canvas:has(.project-media-open:focus-visible) .project-media-image{transform:none}}
