/* Variante local: portada a la izquierda, tarjetas verticales a la derecha. */
.projects .project-grid{
  grid-auto-columns:100%;
  scroll-snap-type:x mandatory;
  gap:12px;
}
.projects .project-card,.projects .project-card:first-child{
  min-height:0;
  aspect-ratio:4 / 3;
}
.projects .project-meta{left:20px;right:20px;bottom:20px}
.projects .project-meta strong{font-size:20px;line-height:1.3}
.projects .project-meta span{font-size:10px}
.gallery-controls{display:flex;justify-content:space-between;gap:12px;margin-top:12px}
.gallery-controls button{
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:inherit;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.gallery-controls button:hover,.gallery-controls button:focus-visible{background:rgba(255,255,255,.15)}
.gallery-controls button:disabled{opacity:.35;cursor:default}
.left-column>section{scroll-margin-top:102px}
@media(min-width:851px){
  main{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    gap:16px 22px;
    align-items:start;
    width:min(1100px,86%);
    margin:102px auto 0;
  }
  .left-column{
    grid-column:1;
    grid-row:1 / span 5;
    display:flex;
    flex-direction:column;
    gap:24px;
    min-width:0;
  }
  .left-column>.hero{
    position:relative;
    width:100%;
    min-height:0;
    padding:0;
    overflow:visible;
  }
  .hero-content{width:100%;padding:22px 26px;max-width:none}
  .hero-brand{font-size:clamp(28px,3vw,42px);letter-spacing:.12em}
  .hero h1{font-size:clamp(28px,3vw,40px);margin-bottom:16px}
  .hero-copy{font-size:15px;line-height:1.6;margin:0}
  .hero-content .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.16em}
  .hero-index{display:none}
  .hero-actions{gap:8px;flex-wrap:wrap}
  .hero-actions .button{padding:12px 16px;font-size:10px}
  main>.projects,main>.vision-split,main>.section-dark,main>.editorial{
    grid-column:2;
    width:100%;
    margin:0;
    min-width:0;
  }
  .section,.contact{padding:24px}
  .section-heading{display:block}
  .section-heading p{font-size:12px;line-height:1.5;margin-top:10px}
  .projects .section-heading h2,.section-dark>h2,.process .section-heading h2,.editorial>h2{
    font-size:27px;
    margin-bottom:16px;
  }
  .projects .section-heading h2,.process .section-heading h2{margin-bottom:0}
  .vision-split{grid-template-columns:1fr;min-height:0}
  .vision-copy{padding:24px}
  .vision-copy h2{font-size:29px}
  .vision-copy p{font-size:14px}
  .vision-media{min-height:180px}
  .services-grid,.process-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .services-grid>div{padding:13px 10px 13px 0}
  .process-list>div{padding:13px 0}
  .services-grid h3,.process-list h3{font-size:15px}
  .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-grid article{padding:14px}
  .editorial h3{font-size:16px}
  .editorial p{font-size:12px}
  .left-column>.contact{width:100%;margin:0;padding:24px}
  .contact-content{padding:0;width:100%;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
  .contact-content .eyebrow{margin-top:0}
  .contact h2{font-size:30px;line-height:1.1}
  .contact-actions{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px}
  .contact-actions .button{font-size:10px;padding:12px 16px}
}
@media(min-width:851px) and (min-height:850px){
  .left-column{position:sticky;top:102px}
}
