.portfolio-page section{position:relative;}

.portfolio-hero{min-height:80vh;display:flex;align-items:center;}
.portfolio-hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.5);}
.portfolio-hero-content{position:relative;max-width:560px;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);}

@media(max-width:900px){
  .portfolio-hero-content{padding-left:var(--space-3);max-width:90%;margin-inline:auto;text-align:center;align-items:center;}
}

.portfolio-philosophy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);max-width:900px;margin-inline:auto;}
.portfolio-philosophy-col{min-width:0;}

@media(max-width:900px){
  .portfolio-philosophy-grid{grid-template-columns:1fr;}
}

.portfolio-feature-grid{display:grid;grid-template-columns:55% 45%;gap:var(--space-4);align-items:center;}
.portfolio-feature-image img{width:100%;height:auto;}
.portfolio-feature-text{max-width:480px;}

@media(max-width:1000px){
  .portfolio-feature-grid{grid-template-columns:1fr;}
  .portfolio-feature-text{max-width:100%;}
}

.portfolio-feature-alt-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:center;}
.portfolio-feature-alt-text{max-width:600px;}

@media(max-width:900px){
  .portfolio-feature-alt-grid{grid-template-columns:1fr;}
}

.center-title{text-align:center;margin-bottom:var(--space-3);}

.portfolio-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);}
.portfolio-detail-item{max-width:360px;margin-inline:auto;}

@media(max-width:800px){
  .portfolio-details-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .portfolio-details-grid{grid-template-columns:1fr;}
}

.portfolio-venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:center;}
.portfolio-venue-text{max-width:600px;}

@media(max-width:900px){
  .portfolio-venue-grid{grid-template-columns:1fr;}
}

.portfolio-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);}
.portfolio-step{min-width:0;}

@media(max-width:900px){
  .portfolio-process-grid{grid-template-columns:1fr;}
}

.portfolio-closing-text{max-width:600px;margin-inline:auto;text-align:center;}

.portfolio-cta-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);max-width:520px;margin-inline:auto;}
