.portfolio-intro{display:grid;gap:clamp(3rem, 10vw, 12rem);padding:var(--section-space) var(--content-gutter);margin-top:var(--page-intro-gap);background:var(--mist);grid-template-columns:minmax(0, 1.25fr) minmax(18rem, 0.75fr);padding-inline:var(--wide-gutter);border:0}
.portfolio-intro h2{margin:1.5rem 0 0;letter-spacing:-0.075em;margin-top:0;max-width:15ch;font-size:clamp(2.8rem, 5.2vw, 6.5rem);font-weight:300;line-height:0.94;text-wrap:balance}
.portfolio-intro > p{align-self:end;max-width:29rem;margin:0;color:var(--ink-muted);font-weight:350;letter-spacing:-0.035em;font-size:clamp(1.05rem, 1.35vw, 1.35rem);line-height:1.42}
.portfolio-intro--dark{align-content:center;gap:0;text-align:center;grid-template-columns:minmax(0, 48rem);justify-content:center;justify-items:center;min-height:0;margin:0;color:var(--ink);background:transparent;border-radius:0;padding:clamp(2.75rem, 4vw, 4rem) var(--wide-gutter)}
.portfolio-intro--dark h2{width:100%;margin-inline:auto;max-width:38ch;font-size:clamp(1.8rem, 2.5vw, 3.1rem);line-height:1.08;text-align:center;text-wrap:balance;letter-spacing:-0.025em !important}
.portfolio-intro--dark > p{max-width:34rem;margin:1.5rem auto 0;align-self:start;color:var(--ink-muted)}
.portfolio-word{display:inline-block;overflow:hidden;vertical-align:-0.12em}
.portfolio-word__inner{display:inline-block;transform:translateY(112%);transition:transform 900ms var(--ease-out-expo) var(--word-delay)}
.portfolio-intro--dark.is-visible .portfolio-word__inner{transform:translateY(0)}
.asset-card h2{margin:0;font-size:clamp(1.6rem, 2.6vw, 3rem);font-weight:380;letter-spacing:-0.07em;line-height:1.02}
.community-project h2{font-weight:380;letter-spacing:-0.07em;line-height:1.02;max-width:43rem;margin:clamp(3rem, 6vw, 6rem) 0 0;font-size:clamp(2rem, 3.1vw, 3.75rem)}
.asset-carousel{padding:var(--section-space) 0;overflow:hidden;background:var(--neutral-soft);padding-block:clamp(2.5rem, 4vw, 4rem)}
.asset-carousel__controls{display:flex;justify-content:flex-end;gap:0.4rem;padding:0 var(--content-gutter) 1.5rem}
.asset-carousel__status{display:flex;align-items:center;gap:1rem;min-width:min(18rem, 42vw);margin-right:auto;color:var(--ink-muted);font-size:0.7rem;font-variant-numeric:tabular-nums;letter-spacing:0.08em}
.asset-carousel__viewport{padding-inline:var(--content-gutter);overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;scroll-padding-inline:var(--content-gutter);scroll-snap-type:x mandatory}
.asset-carousel__viewport::-webkit-scrollbar{display:none}
.asset-carousel__track{display:flex;gap:clamp(0.75rem, 1.5vw, 1.5rem);width:max-content}
.asset-card{position:relative;isolation:isolate;flex:0 0 calc( ( 100vw - (2 * var(--content-gutter)) - (2 * clamp(0.75rem, 1.5vw, 1.5rem)) ) / 3 );width:calc( ( 100vw - (2 * var(--content-gutter)) - (2 * clamp(0.75rem, 1.5vw, 1.5rem)) ) / 3 );min-width:18rem;min-height:27rem;overflow:hidden;padding:clamp(1.5rem, 3vw, 2.75rem);border-radius:var(--radius);background:var(--mist);scroll-snap-align:start;transition:color 420ms var(--ease-out-expo)}
.project-spec-card::after{position:absolute;z-index:-1;inset:0;content:"";transition:opacity 420ms var(--ease-out-expo);opacity:1;background:linear-gradient(180deg, rgb(27 23 20 / 12%), rgb(27 23 20 / 42%) 58%, rgb(27 23 20 / 78%))}
.project-spec-card__image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transform:scale(1.045);transition:opacity 420ms var(--ease-out-expo), transform 900ms var(--ease-out-expo);opacity:1;will-change:transform;border-radius:var(--radius)}
.project-spec-card h2{margin-top:1.35rem;font-size:clamp(1.45rem, 2vw, 2.25rem);font-weight:400;letter-spacing:-0.065em;line-height:1}
.project-spec-card > p{max-width:28rem;margin:0.9rem 0 0;font-size:clamp(0.92rem, 1.05vw, 1.05rem);font-weight:350;letter-spacing:-0.03em;line-height:1.35;color:rgb(249 250 252 / 72%)}
.asset-card dl{display:grid;gap:0.65rem;margin:2.25rem 0 0}
.asset-card dl div{display:grid;grid-template-columns:minmax(7.5rem, 0.8fr) 1fr;gap:0.75rem}
.asset-card dt{margin:0;font-size:0.66rem;letter-spacing:0.02em;line-height:1.25;text-transform:uppercase;color:rgb(27 23 20 / 55%);transition:color 420ms var(--ease-out-expo)}
.asset-card dd{margin:0;font-size:0.66rem;letter-spacing:0.02em;line-height:1.25;text-transform:uppercase}
.project-spec-card__turbine dd{margin-top:0}
.community-project{display:grid;grid-template-columns:minmax(0, 1.15fr) minmax(20rem, 0.85fr);color:var(--ink);background:var(--surface-subtle);margin:var(--content-gutter);padding:clamp(1.75rem, 2.75vw, 2.75rem);border-radius:var(--radius);gap:clamp(2.5rem, 6vw, 6rem)}
.community-project__detail{padding-top:0}
.community-project__detail > p{max-width:29rem;margin:0;color:var(--ink);font-size:1rem;line-height:1.42}
.community-project__stat{display:flex;align-items:flex-end;gap:1.25rem;margin-top:3rem}
.community-project__stat strong{font-size:clamp(2.5rem, 5vw, 5rem);font-weight:300;letter-spacing:-0.08em;line-height:0.9}
.community-project__stat span{max-width:12rem;color:var(--ink);font-size:0.72rem;line-height:1.3}
.community-project__detail .community-project__note{margin-top:3rem;font-size:0.82rem}
.project-spec-card{color:var(--paper);background:var(--ink);padding:clamp(1.1rem, 1.6vw, 1.5rem);border-radius:var(--radius)}
.project-spec-card dt{color:rgb(249 250 252 / 72%)}
@media(hover: hover){
.project-spec-card:hover{color:var(--paper);text-shadow:0 1px 10px rgb(27 23 20 / 22%)}
.project-spec-card:hover::after{opacity:1}
.project-spec-card:hover .project-spec-card__image{opacity:1;transform:scale(1)}
.project-spec-card:hover dt{color:rgb(251 253 255 / 72%)}
.project-spec-card:hover > p{color:rgb(251 253 255 / 72%)}
}
@media(max-width: 700px){
.portfolio-intro{display:block;padding:5.5rem 1rem}
.community-project{display:block;height:auto;min-height:0;margin:var(--content-gutter);padding:1.25rem}
.portfolio-intro > p{margin-top:3.5rem}
.community-project h2{margin-top:3rem}
.community-project__detail{margin-top:3.5rem;padding-top:0}
.asset-carousel{padding:2.5rem 0}
.asset-carousel__controls{padding-inline:1rem}
.asset-carousel__status{min-width:0;margin-right:0.5rem}
.asset-carousel__viewport{padding-inline:1rem;scroll-padding-inline:1rem}
.asset-card{flex-basis:min(84vw, 23rem);width:min(84vw, 23rem);min-width:0;min-height:25rem}
.portfolio-intro h2{font-size:clamp(2.5rem, 11vw, 4.5rem)}
.portfolio-intro--dark{padding:2.75rem 1rem}
.portfolio-intro--dark h2{font-size:clamp(1.65rem, 7.5vw, 2.25rem);text-align:left}
}
@media(prefers-reduced-motion: reduce){
.project-spec-card{transition-duration:0.01ms}
.project-spec-card::after{transition-duration:0.01ms}
.project-spec-card__image{transition-duration:0.01ms}
.asset-card dt{transition-duration:0.01ms}
.portfolio-word__inner{transform:none}
}
