/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
*{cursor:auto;}
a,button{cursor:pointer;}

/* ── VARIABLES ── */
:root{
  --bg:#ffffff;
  --black:#0a0a0a;
  --white:#ffffff;
  --sans:'Geist',sans-serif;
  --serif:'Instrument Serif',serif;
  --gx:0.9375rem;
}
html{overflow-x:clip;background:#0c0c0c;}
body{background:var(--bg);color:var(--black);font-family:var(--sans);overflow-anchor:none;}
body.proyecto{overflow-x:hidden;position:relative;}
body.intro-active{background:#0c0c0c;}
body.intro-active .hero{visibility:hidden;}

/* ══════════════════════════════════════
   INTRO
══════════════════════════════════════ */
#intro{
  position:fixed;z-index:1000;
  top:0;left:0;right:0;
  height:100vh;
  height:100dvh;
  background:#0c0c0c;overflow:hidden;
  animation:introFadeIn .8s ease forwards;
  touch-action:none;
}
@keyframes introFadeIn{from{background:#fff;}to{background:#0c0c0c;}}

#intro-logo{
  position:absolute;
  font-family:var(--serif);font-size:clamp(1rem,2.8vw,2.6rem);font-weight:400;
  letter-spacing:0.08em;color:#ffffff;white-space:nowrap;
  z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);
  animation:logoIn 1.1s cubic-bezier(.16,1,.3,1) .6s both;
}
@keyframes logoIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(0.75);}
  to{opacity:1;transform:translate(-50%,-50%) scale(1);}
}

#intro-left{
  position:absolute;
  font-family:var(--sans);font-size:clamp(0.85rem,3.5vw,1.9rem);
  font-weight:500;line-height:1.55;color:#ffffff;
  z-index:2;width:clamp(200px,80vw,600px);text-align:left;
}
#intro-right{
  position:absolute;
  font-family:var(--sans);font-size:clamp(0.85rem,3.5vw,1.9rem);
  font-weight:500;line-height:1.55;color:#ffffff;
  z-index:2;width:clamp(160px,70vw,420px);text-align:left;
}
.iline{display:block;white-space:pre;min-height:1.55em;}

/* ══════════════════════════════════════
   NAV
══════════════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;padding:1.5rem var(--gx);
  opacity:0;
  transition:opacity .6s ease;
  mix-blend-mode:difference;
}
nav.visible{opacity:1;}
nav.scrolled{
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(12px);
  mix-blend-mode:normal;
}nav.scrolled .nav-logo,
nav.scrolled .nav-center a,
nav.scrolled .nav-cta,
nav.scrolled .nav-menu-btn,
nav.scrolled .lang-btn,
nav.scrolled .lang-sep{
  color:var(--black);
  transition:color .5s ease;
}

.nav-logo{
  font-family:var(--serif);font-size:2.7rem;font-weight:400;
  letter-spacing:0.01em;color:var(--white);text-decoration:none;
  line-height:1;display:flex;align-items:center;
  transform:translateY(-3px);
}
.nav-logo sup{font-size:0.45em;vertical-align:super;}

.nav-center{
  display:flex;align-items:center;list-style:none;justify-content:center;
}
.nav-center li{display:flex;align-items:center;}
.nav-center li:not(:last-child)::after{
  content:',';
  font-family:var(--sans);font-size:2rem;
  color:#f2efe8;margin:0 0.12rem;
  pointer-events:none;user-select:none;
}
nav.scrolled .nav-center li:not(:last-child)::after{color:var(--black);transition:color .5s ease;}
.nav-center a{
  font-family:var(--sans);font-size:2rem;font-weight:400;
  color:var(--white);text-decoration:none;transition:opacity .2s;
}
.nav-center a:hover{opacity:0.6;}

.nav-right{
  display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;
}
.nav-cta{
  font-family:var(--sans);font-size:2rem;font-weight:400;
  color:var(--white);text-decoration:none;transition:opacity .2s;
}
.nav-cta:hover{opacity:0.6;}

/* ── Language toggle ── */
.lang-switch{
  display:flex;align-items:center;gap:0.15em;
  font-family:var(--sans);font-size:2rem;font-weight:400;
}
.lang-btn{
  background:none;border:none;padding:0;cursor:pointer;
  font-family:inherit;font-size:inherit;font-weight:inherit;
  color:var(--white);opacity:0.35;line-height:1;transition:opacity .2s;
}
.lang-btn.active{ opacity:1; }
.lang-btn:hover{ opacity:0.65; }
.lang-sep{ color:var(--white); opacity:0.35; line-height:1; }
/* en proyecto el tamaño sigue al nav-cta */
.proyecto .lang-switch{ font-size:3.56rem; }

/* botón Menu — oculto en desktop */
.nav-menu-btn{
  display:none;
  font-family:var(--sans);font-size:1.8rem;font-weight:400;
  color:var(--white);background:none;border:none;padding:0;
}

/* ══════════════════════════════════════
   MENÚ MOBILE
══════════════════════════════════════ */
#mobile-menu{
  position:fixed;inset:0;z-index:3000;
  background:#000000;
  display:none;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:8rem 3rem 3rem;
  isolation:isolate;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  touch-action:manipulation;
}
#mobile-menu.open{
  display:flex;
}
#mobile-menu,
#mobile-menu *{
  color:#ffffff !important;
  -webkit-tap-highlight-color:transparent;
}
.mobile-menu-close{
  position:absolute;top:1.8rem;right:2rem;
  font-family:var(--sans);font-size:2rem;font-weight:300;
  background:none;border:none;line-height:1;
  cursor:pointer;
  padding:1rem;
}
.mobile-menu-links{
  position:static !important;
  display:flex !important;
  flex-direction:column;gap:1rem;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:transparent;
  padding:0;z-index:auto;
  grid-template-columns:unset;
}
.mobile-menu-links a{
  font-family:var(--serif);
  font-size:clamp(3.5rem,14vw,6rem);
  font-weight:400;text-decoration:none;line-height:1.1;
  display:block;
  cursor:pointer;
}

/* ══════════════════════════════════════
   SCROLLYTELLING
══════════════════════════════════════ */
.scroller-track{
  position:relative;
  padding-top:14rem;
  padding-bottom:2rem;
}
.scroller-sticky{
  position:sticky;
  top:4rem;
  height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:1.5rem;
  padding:4rem var(--gx);
}
.scroller-left-col{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1.5rem;
}
.scroller-right-col{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.scroller-frame{
  position:relative;
  width:26.25vw;
  aspect-ratio:3/4;
  overflow:visible;
}
.scroller-craft-label{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  color:var(--black);
  line-height:1;
}
.scroller-frame-inner{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.scroller-label{
  position:absolute;
  top:-3.4rem;
  left:0;
  font-family:var(--sans);
  font-size:clamp(1.4rem,1.95vw,2.5rem);
  color:var(--black);
  line-height:1;
}
.scroller-side-label{
  position:absolute;
  top:2rem;
  right:calc(100% + 1.5rem);
  font-family:var(--sans);
  font-size:clamp(1.4rem,1.95vw,2.5rem);
  color:var(--black);
  line-height:1;
  white-space:nowrap;
}
.scroller-mobile-label{ display:none; }
.scroller-description{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  color:var(--black);
  line-height:1.3;
  white-space:normal;
  visibility:hidden;
}
.scroller-since{
  position:absolute;
  bottom:0;
  left:calc(100% + 1.5rem);
  font-family:var(--sans);
  font-size:clamp(1.4rem,1.95vw,2.5rem);
  color:var(--black);
  line-height:1;
  white-space:nowrap;
}
.wipe-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#wipe1{ z-index:3; clip-path:inset(0 0 0 0); }
#wipe2{ z-index:2; clip-path:inset(0 0 0 0); }
#wipe3{ z-index:1; clip-path:inset(0 0 0 0); }
#frames-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  z-index:0;
}

.scroller-mobile{ display:none; }

@media(max-width:1024px){
  .scroller-track{ height:auto; padding:0; }
  .scroller-sticky{ display:none; }
  .scroller-mobile{
    display:block;
    height:auto;
    position:relative;
    margin-top:0;
    margin-bottom:0;
    padding:2rem 1.5rem 6rem;
  }
  .scroller-mobile-sticky{
    position:static;
    height:auto;
    display:grid;
    grid-template-columns:1fr 1.15fr;
    align-items:stretch;
    gap:0.5rem;
    margin-top:5rem;
  }
  .scroller-mobile-frame{
    position:relative;
    grid-column:2;
    width:100%;
    aspect-ratio:2/3;
    height:auto;
    overflow:visible;
    align-self:start;
  }
  .scroller-mobile-frame-inner{
    position:absolute;
    inset:0;
    overflow:hidden;
  }
  .scroller-mobile-frame img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  #mwipe1{ z-index:4; clip-path:inset(0 0 0 0); transition:none; }
  #mwipe2{ z-index:3; clip-path:inset(0 0 0 0); transition:none; }
  #mwipe3{ z-index:2; clip-path:inset(0 0 0 0); transition:none; }
  #mwipe4{ z-index:1; }

  .scroller-mobile-col-left{
    grid-column:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:1.5rem;
    font-family:var(--sans);
    font-size:clamp(1.1rem,3.8vw,1.7rem);
    color:var(--black);
    line-height:1.3;
  }
  .scroller-mobile-col-left{padding-top:0;}
  .scroller-mobile-craft,
  .scroller-mobile-desc{
    font-size:clamp(1.1rem,3.8vw,1.7rem);
    color:var(--black);
    font-weight:400;
  }
  .scroller-mobile-craft{
    text-align:right;
  }
  .scroller-mobile-desc-wrap{
    visibility:visible;
  }
  .scroller-mobile-desc-fixed{
    position:fixed;
    z-index:50;
    font-family:var(--sans);
    font-size:clamp(1.1rem,3.8vw,1.7rem);
    color:var(--black);
    line-height:1.3;
    font-weight:400;
  }
  .scroller-mobile-frame .scroller-label,
  .scroller-mobile-frame .scroller-side-label,
  .scroller-mobile-frame .scroller-mobile-label,
  .scroller-mobile-frame .scroller-since,
  .scroller-description{ display:none; }
  .scroller-mobile-frame .scroller-since{
    left:auto;
    right:0;
    bottom:-2rem;
    font-size:clamp(1.05rem,4vw,1.88rem);
  }
  .scroller-mobile-frame .scroller-mobile-label{
    display:none;
  }
  .scroller-mobile-frame .scroller-since{
    font-size:clamp(1.05rem,4vw,1.88rem);
  }
  .scroller-mobile-frame .scroller-since{
    left:auto;
    right:0;
    bottom:-2rem;
  }
}

/* ══════════════════════════════════════
   WORK
══════════════════════════════════════ */
.section-divider--mobile{ display:none; }
.section-divider{
  border:none;
  border-top:3px solid var(--black);
  margin:0 var(--gx);
}
.work{
  background:var(--bg);
  scroll-margin-top:6rem;
  padding-top:calc(8rem - 40px);
}

/* header work — filtro + texto en fila */
.work-header{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:last baseline;
  gap:0;
  padding:0 var(--gx) 9rem;
}

/* filtro dropdown */
.work-filter-wrap{
  position:relative;
  flex-shrink:0;
}
.wf-trigger{
  font-family:var(--serif);
  font-size:clamp(2.2rem,5.5vw,6.5rem);
  font-weight:400;
  color:var(--black);background:none;border:none;
  padding:0.04em 0;
  line-height:1.15;
  cursor:pointer;
}
.wf-trigger::after{
  content:' ↓';
  font-size:0.6em;
  vertical-align:middle;
}
.wf-dropdown{
  display:none;
  flex-direction:column;
  position:absolute;
  top:100%;
  left:var(--gx);
  z-index:100;
  background:var(--bg);
  padding:0.2rem 0 4rem;
}
.wf-dropdown.open{ display:flex; }
.wf-dropdown.open::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:4rem;
  background:linear-gradient(to bottom, transparent, var(--bg));
  pointer-events:none;
}
.wf-option{
  font-family:var(--serif);
  font-size:clamp(2.2rem,5.5vw,6.5rem);
  font-weight:400;
  color:#bbb;background:none;border:none;
  padding:0.02em 0;
  line-height:1.15;
  text-align:left;
  cursor:pointer;
  transition:color .15s;
}
.wf-option:hover{ color:var(--black); }
.wf-option.active{ display:none; }

/* label pequeño arriba izquierda */
.work-label{
  font-family:var(--sans);
  font-size:clamp(0.9rem,1.1vw,1.5rem);
  color:var(--black);
  margin:0;
  text-transform:none;
}

.work-item-img,
.work-item-img *{ cursor:pointer; }

/* imagen dentro del contenedor */
.work-item-img img{
  width:100%;height:100%;object-fit:cover;display:block;
}

/* canvas de pixelación — se apila sobre la imagen */
.pixel-canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  pointer-events:none;
  opacity:0;
}

/* texto editorial ancho completo — sobre los filtros */
.work-statement{
  font-family:var(--serif);
  font-size:clamp(2rem,3.8vw,5.5rem);
  font-weight:300;
  line-height:1.05;
  color:var(--black);
  padding:0 var(--gx) 0.5rem;
  margin:0;
}

/* bajada editorial — a la derecha del filtro */
.work-intro{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  text-indent:4em;
  text-wrap:pretty;
  line-height:1.25;
  color:var(--black);
  padding-top:0.3em;
  margin:0;
  text-align:left;
}

/* ══ WORK LIST ══ */
.work-list{
  list-style:none;
  padding:0 var(--gx) 10rem;
  margin:0;
  border-top:2px solid transparent;
  display:grid;
  grid-template-columns:50% 1fr auto;
}
.wl-item{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  border-bottom:2px solid transparent;
  position:relative;
  transition:border-color 0s;
}
.wl-item:hover{
  border-bottom:3px solid var(--black);
}
.wl-item.hidden{ display:none !important; }
.wl-link{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  align-items:baseline;
  padding:0.55rem 0;
  text-decoration:none;
  color:var(--black);
  transition:opacity .2s;
  cursor:pointer;
}
.wl-link *{ cursor:pointer; }
.wl-hover-img{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  height:38vh;
  width:auto;
  object-fit:cover;
  pointer-events:none;
  opacity:0;
  z-index:10;
}
.wl-title{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  line-height:1.1;
}
.wl-year{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  color:var(--black);
}
.wl-meta{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  color:var(--black);
  text-align:left;
}

@media(max-width:1024px){
  .section-divider{ display:none; }
  .section-divider--mobile{ display:block; margin:0 1.5rem; border-top-width:1px; }
  .work-statement{ font-size:clamp(1.8rem,7vw,3.5rem); padding:0 1.5rem 3rem; }
  .work{ padding-top:0; }
  .work-header{ display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; padding:0 1.5rem 1.5rem; }
  .wf-trigger{ font-size:4.4rem; white-space:nowrap; }
  .wf-option{ font-size:4.4rem; }
  .work-label{ font-size:clamp(1.1rem,3.8vw,1.7rem); }
  .wf-dropdown{ padding-bottom:1rem; }
  .wf-dropdown.open::after{ height:1rem; }
  .work-filter-wrap{ order:0; }
  .work-intro{ display:none; }
  .work-list{ display:block; padding:0 1.5rem 0.5rem; }
  .wl-item{ display:block; border-top:1px solid var(--black); }
  .wl-link{
    display:grid;
    grid-template-columns:90px 1fr;
    grid-template-rows:auto auto auto;
    column-gap:1.2rem;
    padding:1rem 0;
  }
  .wl-hover-img{
    display:block;
    position:static;
    opacity:1 !important;
    transform:none;
    width:90px;
    height:70px;
    object-fit:cover;
    grid-column:1;
    grid-row:1 / 4;
    align-self:center;
  }
  .wl-title{ grid-column:2; grid-row:1; font-size:clamp(1.4rem,5vw,2.2rem); align-self:end; }
  .wl-year{ grid-column:2; grid-row:2; font-size:clamp(1rem,3.5vw,1.4rem); color:#888; }
  .wl-meta{ grid-column:2; grid-row:3; font-size:clamp(1rem,3.5vw,1.4rem); white-space:normal; color:#888; align-self:start; }

  .wl-link[href="work/casa-de-pasillo.html"] .wl-hover-img,
  .wl-link[href="work/casa-maure.html"] .wl-hover-img,
  .wl-link[href="work/edificio-balcarce.html"] .wl-hover-img,
  .wl-link[href="work/ampliacion-estudio-qo-taf.html"] .wl-hover-img{ object-position:bottom; }
  .wl-link[href="work/casa-tres-patios.html"] .wl-hover-img{ object-position:center 90%; }
}

/* ══════════════════════════════════════
   STUDIO
══════════════════════════════════════ */
.studio-track{
  position:relative;
  padding-top:0;
  padding-bottom:0;
  scroll-margin-top:0;
}
.studio-sticky{
  position:sticky;
  top:6rem;
  height:calc(100vh - 6rem);
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto 1fr;
  align-items:start;
  gap:1.5rem;
  padding:3rem var(--gx);
}
.studio-left-col{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1rem;
  grid-column:1;
  grid-row:1/3;
  align-self:start;
}
.studio-desc{
  grid-column:2;
  grid-row:1;
}
.studio-right-col{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:0;
  padding-left:1vw;
  grid-column:2;
  grid-row:2;
  margin-top:0;
  align-self:end;
  margin-bottom:8rem;
}
.studio-frame{
  position:relative;
  width:min(26.25vw, calc((100vh - 14rem) * 800 / 1197));
  aspect-ratio:800/1197;
  overflow:visible;
}
.studio-frame-inner{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#1a1a1a;
}
#studio-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  background:#1a1a1a;
  will-change:contents;
}
.studio-label{
  position:absolute;
  top:-3.4rem;
  left:0;
  font-family:var(--sans);
  font-size:clamp(1.4rem,1.95vw,2.5rem);
  color:var(--black);
  line-height:1;
}
.studio-craft-label{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  color:var(--black);
  line-height:1.35;
  width:min(26.25vw, calc((100vh - 14rem) * 800 / 1197));
  white-space:nowrap;
}
.studio-name-role{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  line-height:1.1;
}
.studio-name{
  font-family:var(--serif);
  font-size:clamp(2rem,3.5vw,5rem);
  font-weight:400;
  line-height:1.1;
  color:var(--black);
  margin:0;
  display:flex;
  align-items:flex-start;
  gap:0.6rem;
}
.studio-right-col > .studio-member:first-child{ margin-top:0; }
.studio-member + .studio-member{ margin-top:0.3rem; }
.studio-member-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  background:none;
  border:none;
  border-bottom:3px solid var(--black);
  padding:0 0 0.5rem 0;
  cursor:pointer;
  text-align:left;
}
.studio-member-arrow{
  font-family:var(--serif);
  font-size:clamp(1.4rem,2vw,2.8rem);
  font-weight:400;
  color:var(--black);
  line-height:1;
  flex-shrink:0;
  margin-left:1rem;
  display:inline-block;
  transform:scaleY(1.5);
  transition:transform 0.25s;
}
.studio-member-header[aria-expanded="true"] .studio-member-arrow{
  transform:scaleY(1.5) rotate(180deg);
}
.studio-member-content{
  font-family:var(--sans);
  font-size:clamp(1rem,1.4vw,1.8rem);
  line-height:1.4;
  color:var(--black);
  padding:1rem 0;
}
.studio-desc{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  line-height:1.35;
  color:var(--black);
  margin:0;
  max-width:32ch;
}
@media(max-width:1024px){
  .studio-track{ padding:2rem 0 2rem; }
  .studio-sticky{
    position:sticky;
    top:6rem;
    height:auto;
    display:flex;
    flex-direction:column;
    padding:0 1.5rem 1.5rem;
    gap:0;
  }
  .studio-desc{ order:2; margin-top:1.5rem; margin-bottom:0; }
  .studio-left-col{
    flex-direction:column;
    align-items:flex-start;
    align-self:stretch;
    gap:0.5rem;
    flex-shrink:0;
    order:0;
    height:calc(var(--studio-vh, 100svh) * 0.72);
  }
  .studio-right-col{ order:1; margin-top:1rem; }
  .studio-member{ border-bottom:3px solid var(--black); padding-bottom:0.5rem; }
  .studio-member-header{ border-bottom:none; padding:0; }
  .studio-label{ display:none; }
  .studio-frame{
    flex:1;
    min-height:150px;
    width:100%;
  }
  .studio-craft-label{
    white-space:normal;
    width:auto;
    flex-shrink:0;
    font-size:clamp(1.1rem,3.8vw,1.7rem);
  }
  .studio-right-col{ padding:1.5rem 0 0; }
  .studio-desc{ max-width:none; font-size:clamp(1.1rem,3.8vw,1.7rem); }
  .studio-desc + .studio-member{ margin-top:1.5rem; }
  .studio-name{ white-space:nowrap; }
  .studio-name-role{ font-size:0.6em; }
  .studio-member-arrow{ font-size:clamp(1.1rem,3.8vw,1.7rem); }
  .studio-member-content{ font-size:clamp(1.1rem,3.8vw,1.7rem); }
}

@media(min-width:900px) and (max-width:1024px){
  .nav-logo{ font-size:2.2rem; }
  .studio-track{ padding:8rem 0 0; }
  .studio-sticky{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    grid-template-rows:auto auto;
    height:calc(var(--studio-vh, 100svh) - 6rem);
    overflow:hidden;
    position:sticky;
    top:6rem;
    align-items:start;
    padding:4rem var(--gx) 2rem;
    gap:1.5rem;
    flex-direction:unset;
  }
  .studio-left-col{
    grid-column:1;
    grid-row:1/3;
    align-self:stretch;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    order:unset;
    flex-shrink:unset;
    height:100%;
    flex:unset;
  }
  .studio-frame{
    width:auto;
    max-width:100%;
    height:auto;
    max-height:calc(var(--studio-vh, 100svh) - 18rem);
    aspect-ratio:800/1197;
    flex-shrink:0;
  }
  .studio-label{ display:block; font-size:clamp(2rem,3vw,3.5rem); position:absolute; top:-3.4rem; left:0; }
  .studio-craft-label{
    white-space:nowrap;
    flex-shrink:0;
    align-self:flex-end;
    width:100%;
    text-align:right;
  }
  .studio-desc{ grid-column:2; grid-row:2; order:unset; margin-bottom:0; align-self:start; }
  .studio-right-col{ grid-column:2; grid-row:1; order:unset; margin-top:0; padding:0 0 0 1vw; }
  .studio-name{ font-size:clamp(2rem,3.5vw,4rem); }
  .studio-name-role{ font-size:clamp(1.4rem,2.2vw,2.5rem); }
  .studio-mobile-label{ display:none; }
  .section-divider--mobile{ display:none; }
}

/* ══════════════════════════════════════
   CONTACT / LET'S TALK
══════════════════════════════════════ */
.contact{
  background:var(--bg);
  padding:3rem var(--gx) 3rem;
}
.contact-inner{
  display:grid;
  grid-template-columns:calc(50% - 4rem) 1fr;
  gap:4rem;
  align-items:stretch;
}
.contact-group{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:start;
  height:100%;
}
.contact-left{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:1rem;
  height:100%;
}
.contact-footer-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:0.1rem;
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  color:var(--black);
}
.contact-heading{
  font-family:var(--serif);
  font-size:clamp(3rem,6vw,8rem);
  font-weight:400;
  line-height:0.88;
  color:var(--black);
  margin:0;
}
.cf-letstalk{
  font-weight:400;
}
.contact-form{ padding-top:0; padding-left:3vw; }
.cf-field{
  position:relative;
  border-bottom:1px solid var(--black);
  margin-bottom:2.5rem;
}
.cf-placeholder{
  position:absolute;
  top:0.4rem;
  left:0;
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:300;
  color:var(--black);
  pointer-events:none;
  white-space:nowrap;
  user-select:none;
}
.cf-field input,
.cf-field textarea{
  width:100%;
  background:none;
  border:none;
  outline:none;
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:300;
  color:var(--black);
  padding:0.4rem 0 0.9rem;
  resize:none;
}
.cf-field input::placeholder,
.cf-field textarea::placeholder{ color:transparent; }
.cf-bottom{ display:flex; align-items:baseline; gap:2rem; flex-wrap:wrap; }
.cf-submit{
  font-family:var(--serif);
  font-size:clamp(1.6rem,2.2vw,2.8rem);
  font-weight:400;
  background:none;
  border:none;
  border-bottom:1px solid var(--black);
  color:var(--black);
  padding:0.2rem 0;
  cursor:pointer;
}
.cf-submit:hover{ opacity:0.5; }
.cf-success,
.cf-error{
  display:none;
  font-family:var(--sans);
  font-size:0.9rem;
  margin:0;
}
.cf-success.visible{ display:block; color:#555; }
.cf-error.visible{ display:block; color:#c00; }

/* ══════════════════════════════════════
   CONTACT FOOTER
══════════════════════════════════════ */
.contact-footer{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  border-top:1px solid #d8d5ce;
  padding:2rem var(--gx) 3rem;
  margin-top:6rem;
}
.contact-footer-links{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.15rem;
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  color:var(--black);
  margin:0;
  padding:0;
}
.contact-footer-links a{
  color:var(--black);
  text-decoration:none;
}
.contact-footer-links a:hover{ opacity:0.5; }
.contact-footer-copy{
  font-family:var(--sans);
  font-size:clamp(1.15rem,1.7vw,2.3rem);
  font-weight:400;
  color:var(--black);
  margin-bottom:0.2em;
}
.contact-footer-links #emailCopy{ color:var(--black); }
.contact-footer-copy-row{
  display:inline-flex;
  align-items:center;
  gap:0.5em;
}
.contact-footer-logo{
  height:1.6em;width:auto;
  color:var(--black);
  flex-shrink:0;
  transform:translateY(-10%);
}
@media(min-width:1025px){
  .contact-footer-logo{ height:1.8em; transform:translateY(-15%); }
}
.contact-footer-links #emailLink{ cursor:text; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }

@media(max-width:1024px){
  .contact{ padding:2rem 1.5rem 3rem; }
  .contact-inner{ grid-template-columns:1fr; gap:2rem; min-height:auto; }
  .contact-left{ order:3; }
  .contact-heading{ order:1; }
  .contact-form{ order:2; }
  .contact-footer-links{ font-size:clamp(1.2rem,4vw,1.8rem); }
  .contact-footer-copy{ font-size:clamp(1.2rem,4vw,1.8rem); }
  .contact-footer-bottom{ font-size:clamp(1.2rem,4vw,1.8rem); }
  .contact-footer-links li{ min-width:0; }
  .contact-footer-links #emailLink{ display:inline-block; max-width:100%; white-space:normal; word-break:break-all; }
}

.hero{
  position:relative;height:100vh;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 var(--gx) 1.2rem calc(var(--gx) + 20px);
}
.hero-video-wrap{position:absolute;inset:0;z-index:0;}
.hero-video-wrap video{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(0.95);}

.hero-content{
  position:relative;z-index:2;width:100%;
  mix-blend-mode:difference;
}

.hero-headline{
  opacity:0;transform:translateY(20px);
  transition:opacity 1s ease,transform 1s ease;
}
.hero-headline.show{opacity:1;transform:none;}

.hl-line1{display:flex;align-items:center;gap:0.5em;margin-bottom:0.08em;}
.hl-line2{display:block;}

.hl-studio-name{
  font-family:var(--serif);font-style:normal;font-weight:400;
  font-size:clamp(3rem,5.5vw,7rem);
  color:var(--white);letter-spacing:-0.02em;line-height:1;
}
.hl-studio-name sup{font-size:0.45em;vertical-align:super;}

.hl-logo-frame{
  display:inline-flex;align-items:center;justify-content:center;
  height:0.72em;aspect-ratio:1/1;
  border:2px solid rgba(242,239,232,0.9);
  box-sizing:border-box;
  color:rgba(242,239,232,0.95);
  flex-shrink:0;
  font-size:clamp(3rem,5.5vw,7rem);
}
.hl-logo-icon{
  display:block;
  height:88%;width:auto;
}

.hl-line2{
  display:block;
  font-family:var(--serif);font-style:normal;font-weight:400;
  font-size:clamp(3rem,5.5vw,7rem);
  line-height:1;letter-spacing:-0.02em;
  color:var(--white);white-space:nowrap;
}


@media(max-width:1024px){

  /* intro */
  #intro-left,#intro-right{
    width:85vw;max-width:85vw;
    font-size:clamp(1rem,4.2vw,1.65rem);
  }
  .iline{white-space:nowrap;}

  /* nav */
  nav{grid-template-columns:1fr auto;padding:1.2rem 1.5rem;}
  .nav-center{display:none;}
  .nav-right .lang-switch{ display:none; }
  .nav-logo{font-size:clamp(1.6rem,4.5vw,2.2rem);}
  .nav-cta{display:none;}
  .nav-menu-btn{display:block; font-size:clamp(1.1rem,3.2vw,1.6rem);}

  /* hero */
  .hero{padding:0 1.5rem 1.2rem;overflow:visible;z-index:10;}
  .hero-content{mix-blend-mode:normal;}
  .scroller-track{padding-top:calc(3rem + 32px);}
  .hl-studio-name{font-size:clamp(2.2rem,9vw,4rem);}
  .hl-line2{font-size:clamp(2.2rem,9vw,4rem);white-space:normal;line-height:1.05;}
  .hl-logo-frame{font-size:clamp(2.2rem,9vw,4rem);border-width:1px;height:0.73em;position:relative;top:-0.06em;}
  .hl-line1{gap:0.25em;align-items:baseline;}
}

/* ══════════════════════════════════════
   PROYECTO — página interna de work
══════════════════════════════════════ */

/* nav en páginas de proyecto — layout propio */
.proyecto nav{
  opacity:1;
  mix-blend-mode:difference;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.6rem 20px;
}
.proyecto .nav-left{
  display:flex;
  align-items:center;
  gap:1.4rem;
}
.proyecto .nav-menu-btn{
  display:block;
  font-family:var(--sans);font-size:3.56rem;font-weight:400;
  color:#ffffff;background:none;border:none;padding:0;cursor:pointer;
}
.proyecto .nav-brand{
  font-family:var(--sans);font-size:3.19rem;font-weight:400;
  color:#ffffff;text-decoration:none;letter-spacing:-0.01em;
  line-height:1.1;
  position:absolute;left:25%;top:50%;transform:translateY(-1.6rem);
}
.proyecto .nav-brand sup{font-size:0.5em;vertical-align:super;}
.proyecto .nav-cta{
  font-family:var(--sans);font-size:3.56rem;font-weight:400;
  color:#ffffff;text-decoration:none;
}
/* ocultar elementos del nav principal que no aplican aquí */
.proyecto .nav-logo,
.proyecto .nav-center{ display:none; }

/* dropdown de navegación en proyecto */
.proyecto .nav-menu-wrap{
  position:static;
}
.proyecto .nav-left{
  position:relative;
}
.nav-dropdown{
  display:none;
  position:absolute;
  top:calc(100% + 0.6rem);
  left:0;
  flex-direction:column;
  gap:0.2rem;
}
.nav-dropdown.open{
  display:flex;
}
.nav-dropdown a{
  font-family:var(--sans);font-size:2.38rem;font-weight:400;
  color:#ffffff;text-decoration:none;white-space:nowrap;
  line-height:1.3;
}
.nav-dropdown a:hover{ opacity:0.5; }

/* layout global — izquierda fija / derecha imágenes */
.pp-layout{
  position:relative;
  display:grid;
  grid-template-columns:44% 1fr;
  column-gap:3rem;
  min-height:100vh;
}

/* columna izquierda sticky */
.pp-left{
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:8rem 4rem 36vh 25vw;
  border-right:1px solid transparent;
}
.pp-divider{
  position:absolute;
  left:0;
  width:44%;
  height:1px;
  background:#fff;
  top:var(--hero-bottom-doc, 0);
}
.pp-left-content{
  position:fixed;
  top:calc(var(--nav-h, 9rem) + 10vh);
  left:25vw;
  width:calc(19vw - 4rem);
  display:flex;flex-direction:column;gap:0.3rem;
}
.pp-para{
  position:absolute;
  top:var(--para-top-doc, 200vh);
  left:20px;
  width:calc(44vw - 40px);
  font-family:var(--serif);
  font-size:2.6rem;
  font-weight:400;
  line-height:1.25;
  color:#ffffff;
  margin:0;
}
#ppPara2{
  top:var(--para2-top-doc, 400vh);
}
.pp-left-content h1,
.pp-left-content .pp-status,
.pp-left-content .pp-desc,
.pp-left-content .pp-label{
  font-family:var(--sans);
  font-size:2.87rem;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-0.01em;
  color:#ffffff;
  margin:0;
  text-transform:none;
}
.pp-left-content .pp-label{
  color:#555;
  font-size:2.48rem;
  font-weight:400;
}
.pp-meta-list{
  display:flex;flex-direction:column;gap:0.3rem;
  font-family:var(--sans);font-size:0.72rem;
  letter-spacing:0.12em;text-transform:uppercase;color:#444;
}

/* columna derecha — todas las imágenes */
.pp-right{ display:flex;flex-direction:column;padding:0 20px 0 8%;gap:9rem; }

.pp-right-hero{
  overflow:hidden;flex-shrink:0;
  padding-top:6rem;
}
.pp-right-hero img{
  width:100%;height:auto;display:block;
}

/* filas de galería — grid de 2 columnas con spine consistente */
.pi-row{
  display:grid;
  grid-template-columns:26% 1fr;
  gap:0 20px;
  padding:0;
  align-items:flex-start;
  flex-shrink:0;
}
/* grupo de imágenes en la columna derecha */
.pi-right-group{
  display:flex;
  gap:20px;
  align-items:stretch;
}
.pi-right-group figure{ flex:1;margin:0;overflow:hidden; }
.pi-right-group figure img{ width:100%;height:100%;object-fit:cover;display:block; }
/* imagen que arranca desde la columna derecha */
.pi-col2{ grid-column:2; }
.pi-video{ position:relative;padding-bottom:56.25%;height:0;overflow:hidden;width:100%; }
.pi-video iframe{ position:absolute;top:0;left:0;width:100%;height:100%;display:block; }
.pp-mobile-slide .pi-video{ position:relative;top:50%;transform:translateY(-50%); }
.pi-shrink30{ width:70%;max-width:70%; }
.pi-row figure{ margin:0;overflow:hidden; }
.pi-align-bottom{ align-self:flex-end; }
.pi-row-matched{ align-items:stretch; }
.pi-matched{ display:flex; }
.pi-matched img{ width:100%;height:100%;object-fit:cover; }
.pi-row figure img{
  width:100%;height:auto;display:block;
  cursor:zoom-in;transition:opacity .2s;
}
.pi-row figure img:hover{ opacity:0.78; }

.pi-s{ flex:0 0 23%; }
.pi-m{ flex:0 0 41%; }
.pi-row .pi-m:first-child{ flex:0 0 32%; }
.pi-row .pi-m:last-child{  flex:0 0 50%; }
.pi-l{ flex:0 0 52%; }
.pi-xl{ flex:0 0 27%;min-width:0; }
.pi-row:last-child .pi-xl{ flex:0 0 45%; }

/* texto display exagerado — en columna derecha */
.pp-display{
  padding:10rem 3rem 6rem;
  border-top:none;
}
.pp-display-text{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(4rem,10vw,13rem);
  color:#ffffff;letter-spacing:-0.03em;line-height:0.92;
}
.pp-display-text em{ font-style:italic;color:#333; }

/* siguiente proyecto — dos columnas, ancho completo */
.pp-next{
  padding:5rem 4rem 7rem;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.pp-next-col{ display:flex;flex-direction:column;gap:0.6rem; }
.pp-next-col:first-child{ padding-right:3rem; }
.pp-next-col:last-child{ padding-left:3rem; }
.pp-next-label{
  font-family:var(--sans);font-size:2.4rem;
  letter-spacing:0.04em;text-transform:uppercase;color:#ffffff;
  display:block;
}
.pp-next-link{
  font-family:var(--sans);font-weight:400;
  font-size:clamp(3.84rem,7.68vw,7.68rem);
  color:#ffffff;text-decoration:none;
  letter-spacing:-0.02em;line-height:1.1;
  display:block;transition:opacity .2s;
}
.pp-next-link:hover{ opacity:0.5; }

.pp-footer-text{
  font-family:var(--serif);
  font-size:4rem;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-0.01em;
  color:#ffffff;
  padding:6rem 20px 8rem 25vw;
  text-indent:20rem;
  text-align:left;
  width:100%;
  border-top:1px solid #111;
}
.pp-footer-bar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:2rem 80px 3rem 20px;
  border-top:1px solid #222;
}
.pp-footer-links a{
  color:#ffffff;
  text-decoration:none;
  white-space:nowrap;
  display:inline-block;
}
.pp-footer-links a:hover{ opacity:0.5; }
#emailLink{ min-width:5ch; white-space:nowrap; display:inline-block; }
#emailCopy{
  display:none;
  margin-left:0.6rem;
  background:none;border:none;padding:0;
  cursor:pointer;vertical-align:middle;
  opacity:0.45;transition:opacity .2s;
  color:#ffffff;
}
#emailCopy svg{ width:2.25em;height:2.25em;display:block; }
#emailCopy:hover{ opacity:1; }
#emailCopy.visible{ display:inline-flex;align-items:center; }
.pp-footer-links{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.2rem;
  font-family:var(--sans);
  font-size:3.03rem;
  font-weight:400;
  color:#ffffff;
}
.pp-footer-copy{
  font-family:var(--sans);
  font-size:3.03rem;
  font-weight:400;
  color:#ffffff;
}
.pp-footer-logo{
  height:4.6rem;width:auto;
  color:#ffffff;
  flex-shrink:0;
  align-self:flex-end;
}

/* lightbox */
.lightbox{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,0.96);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.lightbox.open{ opacity:1;pointer-events:all; }
.lightbox img{ max-width:92vw;max-height:92vh;object-fit:contain;display:block; }
.lightbox-close{
  position:absolute;top:2rem;right:2rem;
  font-family:var(--sans);font-size:0.75rem;letter-spacing:0.1em;
  text-transform:uppercase;color:#ffffff;background:none;border:none;cursor:pointer;
}


@media(max-width:1440px) and (min-width:1025px){
  .proyecto .nav-menu-btn{ font-size:2.1rem; }
  .proyecto .nav-brand{ font-size:1.85rem; }
  .proyecto .nav-cta{ font-size:2.1rem; }
  .proyecto .lang-switch{ font-size:2.1rem; }
  .nav-dropdown a{ font-size:1.6rem; }
  .pp-left-content h1,
  .pp-left-content .pp-status,
  .pp-left-content .pp-desc{ font-size:1.85rem; }
  .pp-left-content .pp-label{ font-size:1.6rem; }
  .pp-para{ font-size:2.1rem; }
  .pp-footer-text{ font-size:2.95rem; }
  .pp-footer-links{ font-size:2.3rem; }
  .pp-footer-copy{ font-size:2.3rem; }
  .pp-next-label{ font-size:1.9rem; }
  .pp-next-link{ font-size:clamp(2.95rem,5.8vw,5.8rem); }
  .scroller-track{ padding-top:6rem; }
  .work-list{ padding-bottom:6rem; }
  .contact{ padding-top:2rem; }
  .studio-desc{ font-size:clamp(1.4rem,1.7vw,2.3rem); }
  .studio-craft-label{ font-size:clamp(1.4rem,1.7vw,2.3rem); }
  .studio-name{ font-size:clamp(2.8rem,3.5vw,5rem); }
  .studio-name-role{ font-size:clamp(1.4rem,1.7vw,2.3rem); }
  .studio-member-content{ font-size:clamp(1.3rem,1.4vw,1.8rem); }
}
@media(min-width:900px) and (max-width:1024px){
  .nav-logo{ font-size:2.8rem; }
  .nav-menu-btn{ font-size:1.8rem; }
  .contact-heading{ font-size:clamp(5rem,8vw,8rem); }
  .contact-footer-bottom{ font-size:clamp(1.8rem,2.5vw,3rem); }
  .contact-footer-links{ align-items:flex-end; text-align:right; }
  .contact-footer-bottom{ align-items:flex-end; text-align:right; }
}
@media(min-width:1441px){
  .contact{ padding-top:8rem; }
}
@media(min-width:1921px){
  /* scroller */
  .scroller-craft-label{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  .scroller-description{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  .scroller-label{ font-size:clamp(2.5rem,1.9vw,3.8rem); }
  .scroller-side-label{ font-size:clamp(2.5rem,1.9vw,3.8rem); }
  .scroller-since{ font-size:clamp(2.5rem,1.9vw,3.8rem); }
  /* work section */
  .work-label{ font-size:clamp(1.5rem,1.9vw,3.8rem); }
  .wf-trigger{ font-size:clamp(6.5rem,7vw,10rem); }
  .work-intro{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  .wl-title{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  .wl-year{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  .wl-meta{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  /* studio */
  .studio-craft-label{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  .studio-desc{ font-size:clamp(2.3rem,1.9vw,3.8rem); }
  /* hero */
  .hl-studio-name{ font-size:clamp(7rem,5.5vw,11rem); }
  .hl-logo-frame{ font-size:clamp(7rem,5.5vw,11rem); height:0.72em; }
  .hl-line2{ font-size:clamp(7rem,5.5vw,11rem); }
  /* nav index */
  .nav-logo{ font-size:clamp(2.7rem,2.8vw,5rem); }
  .nav-center a{ font-size:clamp(2rem,1.9vw,3.8rem); }
  .nav-cta{ font-size:clamp(2rem,1.9vw,3.8rem); }
  .lang-switch{ font-size:clamp(2rem,1.9vw,3.8rem); }
  .nav-dropdown a{ font-size:clamp(2.38rem,2.4vw,5rem); }
  .proyecto .nav-menu-btn,
  .proyecto .nav-cta,
  .proyecto .lang-switch{ font-size:clamp(2.1rem,2.4vw,5rem); }
  .proyecto .nav-brand{ font-size:clamp(1.85rem,2.1vw,5rem); }
  .pp-left-content h1,
  .pp-left-content .pp-status,
  .pp-left-content .pp-desc{ font-size:clamp(2.87rem,2.9vw,6rem); }
  .pp-left-content .pp-label{ font-size:clamp(2.48rem,2.5vw,5.5rem); }
  .pp-para{ font-size:clamp(2.6rem,2.6vw,5.5rem); }
  .pp-next-label{ font-size:clamp(2.4rem,2.4vw,5rem); }
  .pp-footer-text{ font-size:clamp(4rem,3.8vw,7rem); }
  .pp-footer-links{ font-size:clamp(3.03rem,3vw,6rem); }
  .pp-footer-copy{ font-size:clamp(3.03rem,3vw,6rem); }
}

@media(max-width:1024px){

  /* ── Nav ── */
  .proyecto nav{ padding:0.5rem 16px; }
  .proyecto .nav-left{ order:2; }
  .proyecto .nav-brand{
    position:static;
    transform:none;
    font-size:1.3rem;
    left:auto;top:auto;
    line-height:1.2;
    order:1;
  }
  .proyecto .nav-right{ display:none; }
  .proyecto .nav-menu-btn{ font-size:1.5rem; }
  .proyecto .nav-cta{ font-size:1.5rem; }
  .proyecto .lang-switch{ font-size:1.5rem; }
  .nav-dropdown a{ font-size:1.2rem; }

  /* ── Layout ── */
  .pp-layout{ grid-template-columns:1fr; }
  .pp-left{
    position:static;height:auto;
    padding:2rem 1.5rem 2.5rem;
    border-right:none;
  }

  /* ── Texto izquierda — vuelve al flujo normal ── */
  .pp-left-content{
    position:static !important;
    top:auto !important;left:auto !important;width:auto !important;
  }
  .pp-left-content h1,
  .pp-left-content .pp-status,
  .pp-left-content .pp-desc{
    font-size:clamp(1.8rem,6.3vw,2.52rem);
  }
  .pp-left-content .pp-label{ font-size:clamp(1.8rem,6.3vw,2.52rem); }

  /* ── Párrafos — flujo normal ── */
  .pp-para,#ppPara2{
    position:static !important;
    top:auto !important;left:auto !important;width:auto !important;
    padding:2rem 1.5rem;
    font-size:clamp(1.8rem,6.3vw,2.52rem);
    font-weight:400;
    text-indent:6rem;
  }
  /* dos párrafos seguidos — se leen como un mismo párrafo, sin salto ni sangría repetida */
  .pp-para:has(+ #ppPara2){ padding-bottom:0; }
  #ppPara2{ padding-top:0; text-indent:0; }

  /* ── Divisor ── */
  .pp-divider{ display:none; }

  /* ── Galería desktop — ocultar en mobile ── */
  .pp-right{ display:none; }

  /* ── Galería mobile ── */
  .pp-mobile-gallery{ display:block; padding-top:3.5rem; }
  .pp-mobile-track-block{
    display:inline-flex;
    flex-direction:column;
    width:100%;
  }
  .pp-mobile-track{
    display:flex;
    overflow-x:scroll;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    height:clamp(200px,62dvh,520px);
  }
  .pp-mobile-track::-webkit-scrollbar{ display:none; }
  .pp-mobile-slide{
    flex:0 0 auto;
    width:100%;
    scroll-snap-align:start;
    height:100%;
  }
  .pp-mobile-slide img{
    width:100%;height:100%;display:block;object-fit:contain;
  }
  .pp-mobile-nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0.05rem var(--gm, 1rem) 0.5rem var(--gm, 1rem);
  }
  .pp-mobile-arrows{ display:flex; gap:0.4rem; align-items:center; }
  .pp-mobile-prev,.pp-mobile-next{
    background:none;border:none;color:#fff;cursor:pointer;padding:0;
    display:flex;align-items:center;justify-content:center;
    width:2.875rem;height:2.875rem;
  }
  .pp-mobile-prev svg,.pp-mobile-next svg{
    width:100%;height:100%;
  }
  .pp-mobile-count{
    font-family:var(--sans);font-size:2rem;font-weight:400;color:#fff;
  }

  /* ── Next / Prev ── */
  .pp-next{
    grid-template-columns:1fr;
    padding:2rem 1.5rem 3rem;
  }
  .pp-next-col:first-child{
    padding-right:0;
    border-bottom:1px solid #222;
    padding-bottom:1.5rem;
    margin-bottom:1.5rem;
  }
  .pp-next-col:last-child{ padding-left:0; }
  .pp-next-label{ font-size:clamp(0.9rem,3vw,1.1rem); }
  .pp-next-link{ font-size:clamp(2.16rem,8.4vw,4.2rem); }

  /* ── Footer texto ── */
  .pp-footer-text{
    font-size:clamp(1.8rem,6.3vw,2.52rem);
    padding:3rem 1.5rem 2rem;
    text-indent:6rem;
  }

  /* ── Footer bar ── */
  .pp-footer-bar{
    flex-direction:column;
    align-items:flex-start;
    gap:1.5rem;
    padding:2rem 1.5rem;
  }
  .pp-footer-links{ font-size:clamp(1rem,3.5vw,1.4rem); }
  .pp-footer-copy{ font-size:clamp(1rem,3.5vw,1.4rem); }
  .pp-footer-logo{ height:2.4rem; align-self:flex-start; }
  #emailCopy svg{ width:1em;height:1em; }
  #emailCopy{ margin-left:1rem; }

  /* ── Tablet alta (iPad portrait) — track más alto y nav más grande ── */
  @media(min-width:769px) and (min-height:900px){
    .pp-mobile-track{ height:clamp(700px,85dvh,1200px); }
    .proyecto nav{ padding-left:2rem; padding-right:2rem; }
    .proyecto .nav-menu-btn{ font-size:2.6rem; }
    .proyecto .nav-brand{ font-size:2.4rem; }
    .proyecto .nav-cta{ font-size:2.6rem; }
    .proyecto .lang-switch{ font-size:2.6rem; }
    .nav-dropdown a{ font-size:2.6rem; }
    .pp-mobile-gallery{ padding-top:7.5rem; }
    .pp-mobile-count{ font-size:3.2rem; }
    .pp-mobile-prev,.pp-mobile-next{ width:4.6rem; height:4.6rem; }
    .pp-para,#ppPara2{ font-size:clamp(1.8rem,6.3vw,2.52rem); }
  }

  /* ── Landscape en celular — track más bajo ── */
  @media(orientation:landscape) and (max-height:500px){
    .pp-mobile-gallery{ padding-top:2.5rem; }
    .pp-mobile-track{ height:clamp(130px,60dvh,280px); }
    .pp-left{ padding:1.5rem 1.5rem 2rem; }
    .pp-left-content h1,
    .pp-left-content .pp-status,
    .pp-left-content .pp-desc{ font-size:clamp(1rem,4vw,1.4rem); }
  }
}
