.project-detail-page{overflow-x:clip}.project-detail-page h2,.project-detail-page p{overflow-wrap:break-word}.project-detail-page h2{color:var(--color-ink);letter-spacing:-.05em;max-width:15ch;margin:0;font-size:clamp(2.25rem,4vw,3.75rem);font-weight:650;line-height:1.08}.project-detail-section{padding-block:var(--space-section)}.project-detail-eyebrow{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);color:var(--color-brand);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700;display:flex}.project-detail-eyebrow:after{content:"";background:currentColor;width:2.75rem;height:1px}.project-problem{border-top:1px solid var(--color-border);background:var(--color-surface-subtle)}.project-problem__viewer{margin-top:var(--space-16)}.project-solutions__features{border-top:1px solid var(--color-border);margin-top:clamp(3.5rem,7vw,6rem);display:grid}.project-solution-card{gap:var(--space-4);padding-block:var(--space-8);border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.project-solution-card__number{color:var(--color-brand);font-size:var(--font-size-xs);letter-spacing:.1em;padding-top:.2em;font-weight:700}.project-solution-card h3,.project-solution-card p{margin:0}.project-solution-card h3{color:var(--color-ink);font-size:var(--font-size-lg);letter-spacing:-.025em;font-weight:650;line-height:1.15}.project-solution-card p{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-base)}.project-solutions{border-top:1px solid var(--color-border)}.project-gallery{border-block:1px solid var(--color-border);background:var(--color-surface-subtle)}.project-gallery__grid{columns:2;column-gap:var(--space-4);margin-top:var(--space-12)}.project-gallery__item{width:100%;margin:0;margin-bottom:var(--space-4);color:inherit;background:var(--color-surface-subtle);cursor:pointer;font:inherit;text-align:left;border-radius:var(--radius-lg);break-inside:avoid;transition:box-shadow var(--transition-fast), transform var(--transition-fast);border:0;padding:0;display:block;position:relative;overflow:hidden}.project-gallery__item>picture{width:100%;display:block}.project-gallery__item>img,.project-gallery__item>picture>img{width:100%;height:auto;transition:transform .24s}.project-gallery__caption{right:var(--space-4);bottom:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-inverse);font-size:var(--font-size-xs);background:#1111119e;border:1px solid #ffffff57;font-weight:600;position:absolute}@media (hover:hover){.project-gallery__item:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.project-gallery__item:hover>img,.project-gallery__item:hover>picture>img{transform:scale(1.045)}}@media (width>=48rem){.project-gallery__grid{columns:3}.project-solutions__features{grid-template-columns:repeat(2,minmax(0,1fr))}.project-solution-card{padding-right:var(--space-8)}.project-solution-card:nth-child(2n){padding-left:var(--space-8);border-left:1px solid var(--color-border)}}@media (width>=70rem){.project-gallery__grid{columns:4}.project-solutions__features{grid-template-columns:repeat(3,minmax(0,1fr))}.project-solution-card:nth-child(2n){border-left:0;padding-left:0}.project-solution-card:not(:nth-child(3n+1)){padding-left:var(--space-8);border-left:1px solid var(--color-border)}}@media (prefers-reduced-motion:reduce){.project-gallery__item,.project-gallery__item>img,.project-gallery__item>picture>img{transition:none}}.image-carousel{--image-carousel-edge:max(var(--page-gutter), calc((100vw - var(--container-max)) / 2));--image-carousel-gap:var(--space-4)}.image-carousel__viewport{scrollbar-width:none;scroll-snap-type:x mandatory;width:100%;scroll-padding-inline:var(--image-carousel-edge);overflow-x:auto}.image-carousel__viewport::-webkit-scrollbar{display:none}.image-carousel__track{align-items:flex-start;gap:var(--image-carousel-gap);width:max-content;padding-inline:var(--image-carousel-edge);display:flex}.image-carousel__item{border-radius:var(--radius-lg);color:inherit;background:var(--color-surface);cursor:pointer;font:inherit;text-align:left;height:clamp(15rem,18vw,20rem);aspect-ratio:var(--image-carousel-aspect-ratio);scroll-snap-align:start;transition:box-shadow var(--transition-fast), transform var(--transition-fast);border:0;flex:none;margin:0;padding:0;position:relative;overflow:hidden}.image-carousel__item>picture{width:100%;height:100%;display:block}.image-carousel__item>img,.image-carousel__item>picture>img{object-fit:cover;width:100%;height:100%;transition:transform .24s}.image-carousel__caption{right:var(--space-4);bottom:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-inverse);font-size:var(--font-size-xs);background:#1111119e;border:1px solid #ffffff57;font-weight:600;position:absolute}.image-carousel__pagination{justify-content:center;gap:var(--space-2);margin-top:var(--space-6);display:flex}.image-carousel__dot{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;width:1rem;min-width:0;height:2.75rem;padding:0}.image-carousel__dot:before{content:"";width:.625rem;height:.625rem;transition:background-color var(--transition-fast), transform var(--transition-fast);background:#1111114d;border-radius:50%;margin-inline:auto;display:block}.image-carousel__dot[aria-current=true]:before{background:var(--color-ink);transform:scale(1.15)}@media (hover:hover){.image-carousel__item:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.image-carousel__item:hover>img,.image-carousel__item:hover>picture>img{transform:scale(1.045)}.image-carousel__dot:hover:before{background:#1119}}@media (width<=47.99rem){.image-carousel__item{height:clamp(18rem,78vw,25rem)}}@media (prefers-reduced-motion:reduce){.image-carousel__item,.image-carousel__item>img,.image-carousel__item>picture>img,.image-carousel__dot:before{transition:none}}.image-viewer__dialog{width:auto;max-width:none;height:auto;max-height:none;color:var(--color-text-inverse);background:#111111f5;border:0;margin:0;padding:clamp(1rem,3vw,2.5rem);position:fixed;inset:0;overflow:hidden}.image-viewer__dialog::backdrop{background:#111111a3}.image-viewer__dialog[open]{place-items:center;display:grid}.image-viewer__content{gap:var(--space-4);grid-template-rows:3rem minmax(0,1fr) minmax(1.5rem,auto);width:min(100%,90rem);height:100%;min-height:0;display:grid}.image-viewer__toolbar{justify-content:space-between;align-items:center;min-width:0;display:flex}.image-viewer__position,.image-viewer__caption{color:#ffffffc7;font-size:var(--font-size-sm);margin:0;font-weight:600}.image-viewer__position{font-variant-numeric:tabular-nums}.image-viewer__title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-viewer__control{width:3rem;height:3rem;color:var(--color-text-inverse);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);background:#ffffff1a;border:1px solid #ffffff47;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.image-viewer__stage{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.75rem,2vw,2rem);min-height:0;display:grid}.image-viewer__media{min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.image-viewer__media img{border-radius:var(--radius-lg);object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.image-viewer__caption{text-align:center}.image-viewer__control:disabled{cursor:not-allowed;opacity:.35}@media (hover:hover){.image-viewer__control:not(:disabled):hover{background:#fff3;border-color:#fff9;transform:scale(1.04)}}@media (width<=47.99rem){.image-viewer__dialog{padding:var(--space-4)}.image-viewer__content{gap:var(--space-3)}.image-viewer__stage{gap:var(--space-2)}.image-viewer__control{width:2.75rem;height:2.75rem}}@media (prefers-reduced-motion:reduce){.image-viewer__control{transition:none}}
