@layer theme,base,tokens,surfaces;@layer components{@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transition:opacity var(--duration-reveal) var(--ease-out), transform var(--duration-reveal) var(--ease-out);transform:translateY(20px)}[data-reveal][data-revealed=true]{opacity:1;transform:none}}.projects-hero,.project-hero{align-items:center;display:flex;position:relative;overflow:hidden}.projects-hero{min-height:min(56vh,34rem)}.project-hero{min-height:min(64vh,40rem)}.projects-hero-backdrop,.project-hero-backdrop{z-index:0;position:absolute;inset:0}.projects-hero-photo,.project-hero-photo{object-fit:cover;object-position:50% 45%;width:100%;height:100%;position:absolute;inset:0}.projects-hero-scrim,.project-hero-scrim{background:linear-gradient(90deg,oklch(20.5% .012 255/.92) 0%,oklch(20.5% .012 255/.84) 34%,oklch(20.5% .012 255/.55) 56%,oklch(20.5% .012 255/.16) 78%,#0000 94%),linear-gradient(#0000 40%,oklch(20.5% .012 255/.1) 64%,oklch(20.5% .012 255/.55) 100%),oklch(20.5% .012 255/.82) linear-gradient(oklch(20.5% .012 255/.24) 0%,#0000 22%);position:absolute;inset:0}@media (width>=48rem){.projects-hero-scrim,.project-hero-scrim{background-color:#0000}}.projects-hero-content,.project-hero-content{z-index:1;flex-direction:column;align-items:flex-start;width:100%;max-width:56rem;display:flex;position:relative}.projects-hero-head,.project-hero-head{gap:var(--spacing-4)}.projects-hero-head .text-h1,.project-hero-head .text-h1{font-size:var(--text-display);letter-spacing:-.025em;text-wrap:balance;line-height:1.03}.projects-hero-head .heading-supporting{max-width:40rem}.project-titleblock{gap:var(--spacing-6) var(--spacing-8);width:100%;margin-top:clamp(var(--spacing-8), 5vw, var(--spacing-12));padding-top:var(--spacing-6);border-top:1px solid var(--border-hairline);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-titleblock-cell{gap:var(--spacing-2);flex-direction:column;display:flex}.project-titleblock-label{font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.project-titleblock-value{color:var(--text-primary)}@media (width>=48rem){.project-titleblock{grid-template-columns:repeat(3,minmax(0,1fr))}}.projects-rule{padding-top:var(--spacing-8);border-top:1px solid var(--border-hairline);position:relative}.projects-rule:before{content:"";background:var(--accent);width:2.5rem;height:2px;position:absolute;top:-1px;left:0}.projects-plate-grid{gap:var(--spacing-12) var(--spacing-6);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.projects-plate-link{display:block}.projects-plate-media{border-radius:var(--radius-sm);border:1px solid var(--border-hairline);display:block;overflow:hidden}.projects-plate-img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.projects-plate-meta{gap:0 var(--spacing-4);padding-top:var(--spacing-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.projects-plate-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:1.25rem;font-weight:500}.projects-plate-type{color:var(--text-secondary);align-self:center}.projects-plate-location{margin-top:var(--spacing-1);color:var(--text-secondary);grid-column:1/-1}@media (hover:hover) and (prefers-reduced-motion:no-preference){.projects-plate-img{transition:transform var(--duration-zoom) var(--ease-in-out)}.projects-plate-link:hover .projects-plate-img{transform:scale(1.04)}}@media (hover:hover){.projects-plate-link:hover .projects-plate-name{color:var(--accent-text)}}.projects-proof-inner{gap:var(--spacing-4);flex-direction:column;display:flex}.projects-proof-list{gap:var(--spacing-2) var(--spacing-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.projects-proof-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(1.25rem,1.05rem + 1vw,1.75rem);font-weight:500}.projects-proof-name:not(:last-child):after{content:"·";margin-left:var(--spacing-6);color:var(--text-secondary)}.projects-proof-note{max-width:60ch;color:var(--text-secondary)}.project-story-body{max-width:60ch}.project-story-body p{color:var(--text-secondary);font-size:var(--text-body-l);line-height:1.6}.project-story-body p+p{margin-top:var(--spacing-4)}.project-story-body p:first-child{color:var(--text-primary)}.project-gallery{gap:var(--spacing-8) var(--spacing-6);margin:clamp(var(--spacing-8), 4vw, var(--spacing-12)) 0 0;grid-template-columns:1fr;padding:0;list-style:none;display:grid}.project-gallery-img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);width:100%;display:block}.project-back{margin-top:clamp(var(--spacing-8), 4vw, var(--spacing-12))}.project-back-link{min-height:2.75rem;color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--border-hairline);text-underline-offset:.3em;align-items:center;font-weight:600;display:inline-flex}@media (hover:hover){.project-back-link:hover{color:var(--accent-text);text-decoration-color:currentColor}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-back-link{transition:color var(--duration-hover) var(--ease-out), text-decoration-color var(--duration-hover) var(--ease-out)}}.section-shell.projects-cta{background-color:var(--surface-raised);position:relative}.projects-cta-motif{pointer-events:none;background-image:repeating-linear-gradient(122deg,#0000 0 19px,oklch(100% 0 0/.04) 30px,#0000 41px 60px);position:absolute;inset:0;mask-image:linear-gradient(90deg,#0000 38%,#000)}.projects-cta-inner{text-align:start;flex-direction:column;align-items:flex-start;max-width:44rem;display:flex;position:relative}.projects-cta-head{margin-bottom:var(--spacing-8)}.projects-cta-head .text-h2{font-size:var(--text-h1);letter-spacing:-.02em}.projects-cta-actions{gap:var(--spacing-4);flex-wrap:wrap;display:flex}@media (width>=48rem){.projects-plate-grid,.project-gallery{grid-template-columns:repeat(2,1fr)}}@media (width>=64rem){.projects-plate-grid,.project-gallery{grid-template-columns:repeat(3,1fr)}}}@layer utilities;.projects-hero,.project-hero{padding-block:clamp(3rem,6vw,5rem)}.projects-proof{padding-block:clamp(1.5rem,3vw,3rem)}.projects-cta{padding-block:clamp(3.5rem,7vw,6rem)}
