.portfolio__work-card{gap:var(--space-element-gap);padding:var(--space-component-gap) 0;color:inherit;grid-template-columns:1fr;text-decoration:none;display:grid}.portfolio__work-card-text{gap:calc(var(--space-element-gap) / 2);flex-direction:column;display:flex}.portfolio__work-card-title{font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary);transition:color var(--duration-interaction) var(--easing-default)}.portfolio__work-card:hover .portfolio__work-card-title{color:var(--color-accent-default)}.portfolio__work-card-tags{flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.portfolio__work-card-tag{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-text-secondary);line-height:1}.portfolio__work-card-tag+.portfolio__work-card-tag:before{content:"·";color:var(--color-border-strong);padding-inline:.4em}.portfolio__work-card-description{font-family:var(--font-family-base);font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--line-height-body);margin-top:calc(var(--space-element-gap) / 2)}.portfolio__work-card-outcome{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);color:var(--color-accent-default);text-transform:lowercase;margin-top:calc(var(--space-element-gap) / 2)}.portfolio__work-card-media{aspect-ratio:4/3;background:var(--card-media-bg,var(--color-surface-secondary));border-radius:var(--border-radius-image);width:100%;transition:box-shadow var(--duration-interaction) var(--easing-default);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000}.portfolio__work-card:hover .portfolio__work-card-media{box-shadow:inset 0 0 0 1px var(--color-border-strong)}.portfolio__work-card-media-frame{will-change:transform;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.portfolio__work-card-media-frame{will-change:auto}}.portfolio__work-card-thumb{object-fit:var(--card-thumb-fit,cover);width:100%;height:100%;display:block}.portfolio__work-card-placeholder{background:var(--color-border-default);border-radius:calc(var(--border-radius-component) / 2);opacity:.4;width:100%;height:100%}
.portfolio{background:var(--color-surface-primary);min-height:100svh}.portfolio__content{padding:0 var(--space-site-gutter) var(--space-section-gap)}.portfolio__content .contact-footer{margin-inline:calc(-1 * var(--space-site-gutter));margin-bottom:calc(-1 * var(--space-section-gap))}.portfolio__hero{padding:calc(var(--nav-height) + var(--space-section-gap)) var(--space-site-gutter) var(--space-section-gap);flex-direction:column;justify-content:center;display:flex;position:relative}@media (min-width:1280px){.portfolio__hero{min-height:80svh}}.portfolio__hero-inner{flex-direction:column;display:flex}@media (min-width:1024px){.portfolio__hero-inner{max-width:66vw}}.portfolio__hero-text{gap:var(--space-component-gap);flex-direction:column;display:flex}.portfolio__hero-eyebrow{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-text-secondary);margin-bottom:var(--space-component-gap)}.portfolio__hero-title{font-family:var(--font-family-heading);font-size:var(--font-size-display);font-weight:var(--font-weight-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary)}.portfolio__hero-title em{color:var(--color-accent-default);font-style:italic}.portfolio__hero-title-line{display:block}.portfolio__hero-lead{font-family:var(--font-family-base);font-size:var(--font-size-emphasis);color:var(--color-text-secondary);line-height:var(--line-height-body)}@media (min-width:1024px){.portfolio__hero-lead{max-width:50vw}}.portfolio__hero-lead p+p{margin-top:var(--space-component-gap)}.portfolio__hero-actions{gap:var(--space-element-gap);flex-wrap:wrap;display:flex}.portfolio__hero-scroll{bottom:var(--space-component-gap);left:var(--space-site-gutter);align-items:center;gap:var(--space-element-gap);display:flex;position:absolute}.portfolio__hero-scroll-label{font-family:var(--font-family-base);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-text-secondary)}.portfolio__hero-scroll-line{background:var(--color-border-default);width:48px;height:1px;display:block}.portfolio__hero-title,.portfolio__hero-lead,.portfolio__hero-actions .button,.portfolio__hero-scroll{opacity:0}.portfolio__divider{background:var(--color-border-default);height:1px;margin:calc(var(--space-section-gap) / 2) 0}.portfolio__section{gap:var(--space-component-gap);padding:calc(var(--space-section-gap) / 2) 0;flex-direction:column;display:flex}.work__header{gap:var(--space-component-gap);padding:calc(var(--space-section-gap) / 2) 0 var(--space-element-gap);flex-direction:column;display:flex}.work__heading{font-family:var(--font-family-heading);font-size:var(--font-size-h2-fluid);font-weight:var(--font-weight-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary)}.work__list{padding-bottom:var(--nav-height);flex-direction:column;display:flex}@media (min-width:1024px){.work__list{gap:var(--space-section-gap);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.work__list>.portfolio__work-card:nth-child(3n+1){grid-column:span 2}.work__list>.portfolio__work-card:nth-child(3n+2),.work__list>.portfolio__work-card:nth-child(3n+3){grid-column:span 1;align-self:center}.work__list>.portfolio__work-card{padding:0}.work__list>.portfolio__work-card[data-slug=better-energy],.work__list>.portfolio__work-card[data-slug=scout]{grid-column:span 1;align-self:center}}.portfolio__intro{gap:var(--space-section-gap);padding:calc(var(--space-section-gap) / 2) 0;grid-template-columns:1fr 1fr;align-items:start;display:grid}.portfolio__intro-text{gap:var(--space-component-gap);flex-direction:column;display:flex}.portfolio__intro-lead{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary)}.portfolio__intro-body{font-family:var(--font-family-base);font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-body);max-width:52ch}.portfolio__intro-visual{justify-content:center;align-items:center;gap:var(--space-element-gap);padding:var(--space-section-gap) var(--space-component-gap);flex-direction:column;display:flex;position:relative}.portfolio__intro-word{font-family:var(--font-family-heading);font-size:var(--font-size-h2-fluid);font-weight:var(--font-weight-display);letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-display);color:var(--color-text-primary)}.portfolio__intro-word--code{font-style:italic}.portfolio__intro-divider{background:var(--color-border-default);width:1px;height:40px;display:block}.portfolio__intro-resolved{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-accent-default);opacity:0;transition:opacity var(--duration-reveal) ease, transform var(--duration-reveal) ease;transition-delay:.3s;transform:translateY(8px)}.reveal.visible .portfolio__intro-resolved{opacity:1;transform:none}.portfolio__manifesto{gap:var(--space-component-gap);padding:calc(var(--space-section-gap) / 2) 0;flex-direction:column;display:flex}.portfolio__manifesto-statement{font-family:var(--font-family-heading);font-size:var(--font-size-h2-fluid);font-weight:var(--font-weight-heading);font-style:italic;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary);border:none;max-width:20em;margin:0;padding:0}.portfolio__capabilities{gap:var(--space-component-gap);padding:calc(var(--space-section-gap) / 2) 0;flex-direction:column;display:flex}.portfolio__work-list{flex-direction:column;display:flex}.portfolio__work-card{gap:var(--space-element-gap);padding:var(--space-component-gap) 0;color:inherit;grid-template-columns:1fr;text-decoration:none;display:grid}.portfolio__work-card-text{gap:calc(var(--space-element-gap) / 2);flex-direction:column;display:flex}.portfolio__work-card-title{font-family:var(--font-family-heading);font-size:var(--font-size-h4);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary)}.portfolio__system{border-top:1px solid var(--color-border-default);padding:var(--space-section-gap) 0;gap:var(--space-component-gap);flex-direction:column;display:flex}.portfolio__system-header{justify-content:space-between;align-items:baseline;gap:var(--space-component-gap);display:flex}.portfolio__system-eyebrow{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-text-secondary)}.portfolio__system-link{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-accent-default);white-space:nowrap;transition:color var(--duration-interaction) var(--easing-default);text-decoration:none}.portfolio__system-link:hover{color:var(--color-accent-hover)}.portfolio__system-stats{gap:var(--space-section-gap) var(--space-component-gap);flex-wrap:wrap;display:flex}.portfolio__system-stat{flex-direction:column;gap:4px;display:flex}.portfolio__system-stat-value{font-family:var(--font-family-heading);font-size:var(--font-size-h2-fluid);font-weight:var(--font-weight-display);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary);line-height:1}.portfolio__system-stat-label{font-family:var(--font-family-base);font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-text-secondary)}@media (max-width:768px){.portfolio__system-stats{gap:var(--space-component-gap)}}.portfolio__contact-heading{font-family:var(--font-family-heading);font-size:var(--font-size-h1-fluid);font-weight:var(--font-weight-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary)}.portfolio__contact-subheading{font-family:var(--font-family-base);font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-body);max-width:48ch;margin-top:0}.portfolio__contact-phone{color:inherit;margin-top:var(--space-inline-gap);text-decoration:none;display:block}.portfolio__contact-phone-label{font-size:var(--font-size-label);font-weight:var(--font-weight-label);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;color:var(--color-text-secondary);margin-bottom:var(--space-inline-gap);display:block}.portfolio__contact-phone-number{font-family:var(--font-family-heading);font-size:clamp(3rem,8vw,5.5rem);font-weight:var(--font-weight-display);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary);transition:color var(--duration-interaction) var(--easing-default);line-height:1;display:block}.portfolio__contact-phone:hover .portfolio__contact-phone-number{color:var(--color-accent-default)}.portfolio__contact-phone-note{font-size:var(--font-size-body);color:var(--color-text-secondary);margin-top:var(--space-element-gap);display:block}.portfolio__contact-icons{gap:var(--space-element-gap);display:flex}.portfolio__contact-icon-btn{border:var(--button-outline-border-width) solid var(--color-border-strong);width:56px;height:56px;color:var(--color-text-secondary);transition:background var(--duration-interaction) var(--easing-default), border-color var(--duration-interaction) var(--easing-default), color var(--duration-interaction) var(--easing-default);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.portfolio__contact-icon-btn:hover{background:var(--color-accent-default);border-color:var(--color-accent-default);color:var(--color-accent-foreground)}.portfolio__contact-icon-btn svg{width:50%;height:50%}.portfolio__contact-icon-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.portfolio__contact-location{font-size:var(--font-size-body);color:var(--color-text-secondary);margin-top:var(--space-element-gap);display:block}@media (max-width:768px){.portfolio__intro{grid-template-columns:1fr}.portfolio__intro-visual{display:none}}
