@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;800;900&display=swap");
:root{--paper:#f0eceb;--paper2:#e9e6e5;--ink:#151515;--muted:#706d6b;--line:#cec9c7;--white:#faf9f7;--font:'Inter','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.wrap{max-width:1600px;margin:auto;padding:0 clamp(23px,5.2vw,88px)}
header.site-header{height:100px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:28px}
.brand{display:flex;align-items:center;gap:16px;line-height:1}.brand strong{font-size:37px;letter-spacing:-.105em;font-weight:900}.brand em{font-style:normal;font-size:9px;letter-spacing:.22em;line-height:1.6;text-transform:uppercase;border-left:1px solid var(--line);padding-left:16px}
nav{display:flex;align-items:center;gap:clamp(20px,3vw,46px)}nav a{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;transition:opacity .2s}nav a:hover{opacity:.5}
.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:500;text-transform:uppercase;color:var(--muted)}
h1,h2,h3,p{margin-top:0}.hero{min-height:640px;padding-top:clamp(90px,10vw,155px);padding-bottom:125px;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:8%;align-items:end}.hero h1{font-weight:200;font-size:clamp(62px,7.4vw,120px);letter-spacing:-.071em;line-height:1.045;margin:36px 0 0;max-width:1110px}.hero .desc{font-weight:300;line-height:1.83;font-size:17px;max-width:380px;color:#514e4b;padding-bottom:11px}.hero .micro{position:absolute;bottom:42px;font-size:10px;color:#7b7775;letter-spacing:.16em;text-transform:uppercase}
.section{padding:85px 0 115px;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-bottom:60px}.section-top h2{font-size:clamp(33px,4vw,54px);font-weight:200;letter-spacing:-.055em;margin:0}.section-top .eyebrow{white-space:nowrap}
.filters{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:36px}.filter{background:transparent;border:0;cursor:pointer;padding:10px 0;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#85807d}.filter[aria-pressed="true"]{color:var(--ink);border-bottom:1px solid var(--ink)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:67px 24px}.project-card[hidden]{display:none}.project-art{position:relative;background:linear-gradient(135deg,#e2dfdd,#d3cfcd);aspect-ratio:1.52;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;padding:27px;transition:background .2s}.project-card:hover .project-art{background:#d6d1cf}.project-art .placeholder{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#77716e}.project-art .num{font-size:12px;color:#8a8582}.project-label{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:17px}.project-label h3{font-size:20px;font-weight:300;letter-spacing:-.025em;margin:0}.project-label span{font-size:11px;color:var(--muted)}.project-card .teaser{margin:10px 0 0;font-size:13px;color:var(--muted);line-height:1.7}
.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%;align-items:start}.about h2{font-size:clamp(33px,4vw,54px);font-weight:200;letter-spacing:-.055em;line-height:1.12;margin:22px 0}.about p{font-size:clamp(18px,2vw,26px);line-height:1.7;font-weight:300;letter-spacing:-.019em;max-width:730px}.about .secondary{font-size:14px;line-height:1.9;color:var(--muted);max-width:650px}
footer{border-top:1px solid var(--line);padding:90px 0 38px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.footer-main h2{font-size:clamp(33px,4vw,54px);font-weight:200;letter-spacing:-.055em;line-height:1.12;margin:20px 0}.footer-main a.email{font-size:clamp(16px,1.6vw,22px);font-weight:300;letter-spacing:-.015em;border-bottom:1px solid var(--ink);padding-bottom:6px}.footer-bottom{border-top:1px solid var(--line);margin-top:110px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;color:var(--muted);font-size:11px}
.breadcrumb{margin-top:51px;margin-bottom:75px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.breadcrumb a{text-decoration:underline;text-underline-offset:5px}.detail-intro{display:grid;grid-template-columns:1.5fr .5fr;gap:30px;padding-bottom:80px}.detail-intro h1{font-size:clamp(65px,8vw,130px);font-weight:200;letter-spacing:-.071em;line-height:.98;margin:23px 0}.project-facts{padding-top:30px;border-top:1px solid var(--line);display:grid;gap:19px}.fact{display:grid;grid-template-columns:95px 1fr;gap:10px;font-size:13px;line-height:1.6}.fact span:first-child{color:var(--muted)}.detail-lead{padding:85px 0;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line)}.detail-lead p{font-size:clamp(19px,2.1vw,30px);font-weight:300;line-height:1.65;letter-spacing:-.02em}.detail-lead .aside{font-size:12px;color:var(--muted);line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding-bottom:115px}.gallery .slot{aspect-ratio:1.45;display:flex;flex-direction:column;justify-content:space-between;padding:24px;background:#dfdcd9;color:#716c69}.gallery .slot:first-child{grid-column:span 2;aspect-ratio:2.3}.slot .label{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.gallery .slot strong{font-weight:300;font-size:clamp(18px,2.3vw,30px)}.gallery img{width:100%;height:100%;object-fit:cover}.back-link{border-top:1px solid var(--line);padding:50px 0 100px;font-size:12px;text-transform:uppercase;letter-spacing:.16em}
@media(max-width:850px){header.site-header{height:75px}.brand strong{font-size:29px}.brand em{font-size:7px}.hero{min-height:600px;padding-top:100px}.hero-grid{grid-template-columns:1fr;gap:25px}.hero h1{font-size:clamp(52px,10vw,90px);max-width:740px}.hero .desc{max-width:540px}.project-grid{gap:35px 18px}.detail-intro,.detail-lead,.footer-main{grid-template-columns:1fr}.detail-intro{gap:20px}.about{gap:40px;grid-template-columns:1fr}.footer-main{gap:25px}}
@media(max-width:560px){.header-inner{gap:10px}nav{gap:14px}nav a{font-size:9px;letter-spacing:.07em}.brand{gap:8px}.brand strong{font-size:26px}.brand em{font-size:6px;letter-spacing:.11em;padding-left:8px}.hero{min-height:610px;padding-top:102px}.hero h1{font-size:clamp(48px,12.2vw,68px);letter-spacing:-.069em}.hero .desc{font-size:14px;max-width:320px}.section{padding:65px 0 85px}.section-top{margin-bottom:28px}.section-top h2{font-size:38px}.section-top .eyebrow{display:none}.filters{gap:17px}.filter{font-size:9px}.project-grid{grid-template-columns:1fr;gap:45px}.project-art{padding:19px}.project-label h3{font-size:18px}.breadcrumb{margin-top:37px;margin-bottom:48px}.detail-intro{padding-bottom:55px}.detail-intro h1{font-size:59px}.detail-lead{padding:65px 0}.gallery{grid-template-columns:1fr;gap:13px}.gallery .slot:first-child{grid-column:auto;aspect-ratio:1.45}.footer-bottom{margin-top:75px}}

/* WORC — Publicaciones y portafolio separados */
.publication-card{min-width:0}.project-internal{display:block}.publication-meta{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:16px;font-size:11px;color:var(--muted);letter-spacing:.02em}.publication-link{display:inline-block;margin-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid var(--line);padding:0 0 7px}.publication-link:hover{border-color:var(--ink)}.section-intro{max-width:620px;color:var(--muted);font-weight:300;font-size:16px;line-height:1.8;margin:-17px 0 38px}.portfolio-section{background:var(--paper2)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.portfolio-visual{background:linear-gradient(130deg,#e3dfdd,#d6d1cf);aspect-ratio:1.65;display:flex;align-items:flex-end;padding:25px}.portfolio-visual span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7a7573}.portfolio-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:16px}.portfolio-label h3{font-size:21px;font-weight:300;letter-spacing:-.03em;margin:0}.portfolio-label span{color:var(--muted);font-size:11px;text-align:right}@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.portfolio-label{flex-direction:column;gap:5px}.portfolio-label span{text-align:left}nav{gap:11px}}@media(max-width:440px){nav a{font-size:8px}.brand em{display:none}}

/* Fotografías originales proporcionadas por WORC */
.project-art{padding:0;background:#ddd9d6}
.project-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.project-card:hover .project-art img{transform:scale(1.025)}
.project-art .num{position:absolute;right:16px;bottom:14px;background:rgba(240,236,235,.9);padding:5px 9px;color:#151515}
.gallery-photo{margin:0;overflow:hidden;background:#dcd9d6}
.gallery-photo img{width:100%;height:auto;display:block}
.gallery-feature{grid-column:span 2}
.gallery-feature img{max-height:850px;object-fit:cover}
.portfolio-visual{position:relative;overflow:hidden;padding:0}
.portfolio-visual img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}
.portfolio-visual span.render-label{position:absolute;bottom:12px;left:14px;color:#151515;background:rgba(240,236,235,.9);padding:7px 10px;font-size:9px}
@media(max-width:560px){.gallery-feature{grid-column:auto}}

/* Titular institucional aprobado: tamaño adaptado sin alterar paleta ni composición */
.hero h1{font-size:clamp(54px,6.6vw,106px);letter-spacing:-.071em}
@media(max-width:600px){.hero h1{font-size:clamp(42px,10vw,65px);overflow-wrap:normal}}

/* v7 — accesibilidad y navegación sin alterar identidad gráfica */
html{scroll-padding-top:110px} [id]{scroll-margin-top:110px}
.skip-link{position:absolute;z-index:100;top:-80px;left:20px;padding:12px 16px;background:var(--ink);color:var(--paper)}
.skip-link:focus{top:14px}
.menu-button{display:none;background:none;color:var(--ink);border:1px solid var(--line);padding:10px 14px;min-height:44px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;cursor:pointer}
.gallery-photo img{background:#dedad7}
.gallery-photo figcaption{font-size:10px;color:var(--muted);padding:8px 0 2px}
.project-art img,.portfolio-visual img{background:#ddd9d6}
.external-original{display:inline-block;border-bottom:1px solid var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.14em;padding:0 0 7px;margin-top:18px}
@media(max-width:760px){
 .header-inner{position:relative}
 .menu-button{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;background:var(--paper);border:1px solid var(--line);border-top:0;padding:16px 22px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 16px 28px rgba(0,0,0,.07)}
 .site-header nav.open{display:flex}
 .site-header nav a{font-size:12px;letter-spacing:.12em;padding:15px 0;border-bottom:1px solid var(--line)}
 .site-header nav a:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v10: fotografías ampliables; conserva la composición editorial original */
.photo-open{display:block;width:100%;height:100%;border:0;background:transparent;cursor:zoom-in;padding:0;text-align:initial}
.gallery-photo .photo-open img{height:auto;width:100%;display:block}
.photo-dialog{border:0;background:rgba(15,15,15,.97);color:#f0eceb;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(12px,2vw,30px)}
.photo-dialog::backdrop{background:rgba(0,0,0,.9)}
.photo-dialog-inner{display:flex;flex-direction:column;height:100%}
.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:45px;font-size:12px;letter-spacing:.12em}
.photo-dialog button{color:#f0eceb;background:transparent;border:1px solid rgba(255,255,255,.25);cursor:pointer;min-width:44px;min-height:44px}
.photo-close{padding:9px 15px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.photo-stage{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:10px;align-items:center;flex:1;min-height:0}
.photo-stage img{max-height:calc(100dvh - 115px);height:auto;width:auto;max-width:100%;object-fit:contain;margin:auto}
.photo-prev,.photo-next{font-size:36px;font-weight:200}
.photo-dialog button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){.photo-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:3px}.photo-prev,.photo-next{font-size:25px;min-width:36px!important}.photo-dialog{padding:8px}}

.gallery-credit{font-size:12px;color:var(--muted);margin:-65px 0 86px}

/* Final refinement: accessibility and touch support */
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.gallery .photo-open{cursor:zoom-in}
.project-internal:focus-visible .project-art{outline:2px solid var(--ink);outline-offset:4px}
img{color:transparent}
@media(max-width:760px){.site-header nav.open{box-shadow:0 16px 25px rgba(0,0,0,.06)}}

/* Portada aprobada: solo identidad, separacion controlada entre lineas */
.hero .hero-grid{display:block}
.hero h1 .hero-name,.hero h1 .hero-studio{display:block}
.hero h1 .hero-studio{margin-top:.17em}
.hero h1{max-width:1200px}

/* Lema de portada, texto definitivo aprobado */
.hero .hero-claim{margin:clamp(38px,5vw,74px) 0 0;font-size:clamp(16px,1.75vw,24px);font-weight:300;line-height:1.5;letter-spacing:-.025em;color:var(--ink)}
@media(max-width:600px){.hero .hero-claim{margin-top:48px;font-size:17px;max-width:340px}}

/* Portada aprobada: únicamente el lema como titular. */
.hero{display:flex;align-items:center;min-height:640px;padding-top:100px;padding-bottom:100px}
.hero .hero-lema{font-family:Inter,Arial,sans-serif;font-weight:200;letter-spacing:-.065em;line-height:1.06;font-size:clamp(52px,7.2vw,112px);max-width:1080px;margin:0;text-transform:none}
@media(max-width:600px){.hero{min-height:520px;padding-top:70px;padding-bottom:70px}.hero .hero-lema{font-size:clamp(43px,10vw,62px);letter-spacing:-.06em}}

/* v14 — portada serena y señal de desplazamiento */
.hero{height:clamp(460px,calc(100svh - 190px),690px);min-height:0;padding-top:60px;padding-bottom:100px;align-items:center;position:relative}
.hero .hero-lema{font-size:clamp(43px,5vw,68px);line-height:1.13;letter-spacing:-.06em;max-width:920px}
.scroll-cue{position:absolute;bottom:40px;left:clamp(23px,5.2vw,88px);display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:10px;font-weight:500;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;transition:color .2s}
.scroll-cue:hover{color:var(--ink)}
.scroll-cue-arrow{font-size:25px;font-weight:200;line-height:1;transition:transform .2s}
.scroll-cue:hover .scroll-cue-arrow{transform:translateY(4px)}
@media(max-width:600px){.hero{height:clamp(420px,calc(100svh - 170px),620px);min-height:0;padding-top:45px;padding-bottom:95px}.hero .hero-lema{font-size:clamp(35px,8vw,48px);max-width:95%;line-height:1.14}.scroll-cue{bottom:24px;gap:12px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.scroll-cue-arrow{transition:none}}

/* Portada V15 — composición editorial aprobada: titular centrado, dos líneas y tamaño contenido. */
.hero{justify-content:center;text-align:center}
.hero .hero-lema{width:100%;max-width:none;margin:0 auto;font-size:clamp(36px,4vw,55px);line-height:1.17;letter-spacing:-.055em;text-align:center}
.hero .hero-lema span{display:block}
.hero .scroll-cue{left:50%;transform:translateX(-50%);bottom:32px;flex-direction:column;gap:6px;white-space:nowrap;text-align:center}
@media(max-width:760px){.hero .hero-lema{font-size:clamp(26px,5.8vw,44px);letter-spacing:-.055em;line-height:1.18}.hero .hero-lema span{display:block}.hero .scroll-cue{bottom:20px;gap:4px;font-size:9px}}
@media(max-width:420px){.hero .hero-lema{font-size:clamp(22px,5.3vw,30px)}}

/* V16 — Ajuste editorial de las cuatro fichas de publicaciones.
   La portada y las tarjetas de Publicaciones permanecen sin cambios. */
.detail-intro h1 {
  font-size: clamp(48px, 6vw, 96px);
  line-height: 1.05;
  letter-spacing: -.065em;
}
.detail-lead p {
  font-size: clamp(17px, 1.8vw, 25px);
  line-height: 1.72;
  letter-spacing: -.015em;
}
.detail-lead .aside,
.detail-lead .aside p {
  font-size: 11px;
  line-height: 1.85;
  letter-spacing: .005em;
}
.project-facts .fact {
  font-size: 12px;
  line-height: 1.65;
}
.detail-intro { padding-bottom: 88px; }
.detail-lead { padding-top: 92px; padding-bottom: 98px; }
@media (max-width: 850px) {
  .detail-intro h1 { font-size: clamp(44px, 7vw, 72px); }
  .detail-lead p { font-size: clamp(17px, 2.4vw, 23px); }
}
@media (max-width: 560px) {
  .detail-intro h1 { font-size: clamp(39px, 9vw, 49px); line-height: 1.08; }
  .detail-intro { padding-bottom: 62px; }
  .detail-lead { padding-top: 72px; padding-bottom: 74px; }
  .detail-lead p { font-size: 17px; line-height: 1.7; }
  .detail-lead .aside,
  .detail-lead .aside p { font-size: 11px; }
}

/* V17: ficha tecnica editorial; solo fichas interiores */
.detail-lead{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:5%;}
.detail-lead > .aside{border-left:1px solid var(--line);padding-left:clamp(24px,4vw,72px);color:var(--ink);}
.detail-section-title{font-size:16px;font-weight:550;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;margin:0 0 30px;color:var(--ink);}
.detail-lead > div:first-child > p{margin-top:0;max-width:630px;}
.credits-grid{display:grid;grid-template-columns:minmax(125px,.85fr) minmax(0,1.35fr);column-gap:24px;row-gap:14px;margin:0 0 28px;font-size:14px;line-height:1.55;}
.credits-grid dt{font-weight:600;color:var(--ink);}
.credits-grid dd{margin:0;font-weight:350;color:var(--ink);}
.detail-lead .aside .credit-note{font-size:12px;color:var(--muted);margin:0 0 20px;}
.detail-lead .aside .publication-link{margin-top:15px;}
@media(max-width:850px){.detail-lead{grid-template-columns:1fr;gap:42px}.detail-lead > .aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:38px;}.credits-grid{grid-template-columns:minmax(120px,.85fr) minmax(0,1.35fr);}}
@media(max-width:560px){.detail-section-title{font-size:14px;margin-bottom:22px}.credits-grid{font-size:13px;column-gap:12px;row-gap:12px;grid-template-columns:minmax(105px,.8fr) minmax(0,1.35fr);}}


/* V18 — jerarquía editorial liviana, solo fichas de proyectos */
.detail-intro h1 {
  font-weight: 200;
}
.project-facts .fact {
  grid-template-columns: minmax(95px,.8fr) minmax(0,1.2fr);
  gap: 16px;
  font-size: 13px;
  line-height: 1.55;
  align-items: baseline;
}
.project-facts .fact span:first-child {
  color: var(--ink);
  font-weight: 500;
}
.project-facts .fact span:last-child {
  color: var(--ink);
  font-weight: 400;
}
.detail-section-title {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .09em;
  text-transform: none;
  margin-bottom: 24px;
}
.detail-lead > div:first-child > p {
  font-size: clamp(16px, 1.48vw, 20px);
  line-height: 1.75;
  font-weight: 300;
  letter-spacing: 0;
  max-width: 620px;
}
.credits-grid {
  font-size: 13px;
  line-height: 1.6;
  row-gap: 12px;
  column-gap: 18px;
}
.credits-grid dt {
  font-weight: 500;
}
.credits-grid dd {
  font-weight: 400;
}
@media(max-width:850px) {
  .detail-lead > div:first-child > p { font-size: 17px; }
}
@media(max-width:560px) {
  .detail-section-title { font-size: 13px; }
  .detail-lead > div:first-child > p { font-size: 16px; }
  .project-facts .fact { font-size: 12px; gap: 12px; }
  .credits-grid { font-size: 12px; }
}


/* V19 — Equilibrio entre los encabezados y el texto de lectura.
   Mantiene separados los datos generales de la ficha técnica. */
.detail-section-title {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 550;
  letter-spacing: .115em;
  text-transform: uppercase;
  margin-bottom: 23px;
}
.detail-lead > div:first-child > p {
  font-size: clamp(17px, 1.45vw, 19px);
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: -.012em;
  max-width: 600px;
}
.credits-grid {
  font-size: 13px;
  row-gap: 13px;
  column-gap: 22px;
  line-height: 1.65;
}
.credits-grid dt, .project-facts .fact span:first-child {
  font-weight: 550;
  color: var(--ink);
}
.credits-grid dd, .project-facts .fact span:last-child {
  font-weight: 400;
  color: var(--muted);
}
.project-facts .fact {
  font-size: 13px;
  line-height: 1.65;
  gap: 18px;
}
@media(max-width:560px) {
  .detail-section-title {font-size: 13px; letter-spacing: .1em; margin-bottom: 18px;}
  .detail-lead > div:first-child > p {font-size: 16px; line-height: 1.75;}
  .credits-grid, .project-facts .fact {font-size: 12px;}
}

/* V20 previa: una retícula compartida para los datos de ambas zonas derechas. */
@media(min-width:851px){
  .detail-intro, .detail-lead {grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:5%;}
  .project-facts {border-top:0;border-left:1px solid var(--line);padding:0 0 0 clamp(24px,4vw,55px);align-content:start;gap:0;}
  .detail-lead > .aside {padding-left:clamp(24px,4vw,55px);}
}
.project-facts .fact{display:grid;grid-template-columns:minmax(125px, 155px) minmax(0,1fr);gap:18px;padding:0 0 14px;font-size:13px;line-height:1.6;}
.credits-grid{grid-template-columns:minmax(125px, 155px) minmax(0,1fr);column-gap:18px;font-size:13px;line-height:1.6;}
@media(max-width:850px){.project-facts .fact,.credits-grid{grid-template-columns:minmax(115px, 155px) minmax(0,1fr);}}
@media(max-width:560px){.project-facts .fact,.credits-grid{grid-template-columns:minmax(105px, 42%) minmax(0,1fr);gap:12px;font-size:12px;}}

/* V21: right-side information columns move closer to exterior page edge;
   matching alignment and unchanged separation of sections. */
@media(min-width:851px){
  .detail-intro, .detail-lead {grid-template-columns: minmax(0, 1fr) minmax(0, 390px); column-gap: 5%;}
  .project-facts {padding-left: 32px;}
  .detail-lead > .aside {padding-left: 32px;}
}

/* Sección de Instagram / Behold JSON. Diseño editorial original conservado. */
.worc-instagram { padding-top: 100px; padding-bottom: 130px; }
.ig-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin:22px 0 38px; }
.ig-heading p { max-width:480px; font-size:19px; font-weight:300; line-height:1.55; margin:0; }
.ig-heading a { flex-shrink:0; font-size:13px; color:inherit; text-decoration:none; border-bottom:1px solid #a9a3a0; padding-bottom:7px; }
.ig-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.ig-gallery a { display:block; overflow:hidden; aspect-ratio: 3/4; }
.ig-gallery img { display:block; height:100%; width:100%; object-fit:cover; transition:transform .4s ease; }
.ig-gallery a:hover img { transform:scale(1.035); }
.ig-preview-note { margin:20px 0 0; font-size:11px; opacity:.6; letter-spacing:.015em; }
@media(max-width:760px){.worc-instagram{padding-top:72px;padding-bottom:88px}.ig-heading{display:block}.ig-heading a{display:inline-block;margin-top:18px}.ig-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ig-heading p{font-size:17px}}

/* V28 — Logotipo original aportado por WORC.
   Solo sustituye la palabra WORC de la cabecera, conservando la identidad editorial. */
.brand .brand-logo { display:block; width:176px; height:auto; flex:none; }
@media (max-width:850px) { .brand .brand-logo { width:140px; } }
@media (max-width:560px) { .brand .brand-logo { width:130px; } }
@media (max-width:440px) { .brand .brand-logo { width:124px; } }


/* V29 — Mantener la firma "Arquitectos Asociados" visible junto al
   logotipo original WORC también en pantallas de teléfono. */
@media (max-width: 560px) {
  .site-header .brand { flex: 0 1 auto; min-width: 0; gap: 9px; }
  .site-header .brand em {
    display: block;
    flex: 0 0 auto;
    font-size: 7px;
    font-weight: 400;
    line-height: 1.48;
    letter-spacing: .15em;
    padding-left: 10px;
    border-left: 1px solid var(--line);
    color: var(--ink);
  }
}
@media (max-width: 380px) {
  .site-header .brand { gap: 7px; }
  .site-header .brand .brand-logo { width: 110px; }
  .site-header .brand em { font-size: 6.5px; letter-spacing: .09em; padding-left: 7px; }
  .site-header .menu-button { padding-left: 11px; padding-right: 11px; }
}

/* V30 · Reconocimientos, composición editorial con material oficial. */
.worc-recognitions{padding-top:104px;padding-bottom:112px;}
.worc-recognitions .section-top{align-items:baseline;}
.rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4.2%;margin-top:42px;}
.rec-item{min-width:0;}
.rec-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:18px;text-transform:uppercase;letter-spacing:.17em;font-size:10px;color:var(--muted);font-weight:500;}
.rec-media{height:340px;display:flex;align-items:center;justify-content:center;background:#e9e5e3;overflow:hidden;}
.rec-media-award{background:#efedeb;}
.rec-media-award img{display:block;max-height:91%;max-width:76%;width:auto;height:auto;object-fit:contain;}
.rec-media-book{background:#e9e5e3;}
.rec-media-book img{display:block;height:91%;width:auto;max-width:92%;object-fit:contain;}
.rec-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:25px;}
.rec-title h3{font-size:26px;font-weight:300;line-height:1.15;margin:0;letter-spacing:-.035em;}
.rec-title span{font-size:11px;color:var(--muted);flex-shrink:0;}
.rec-item p{font-size:14px;font-weight:300;line-height:1.8;margin:17px 0 24px;max-width:510px;color:var(--muted);}
.rec-link{display:inline-block;border-bottom:1px solid var(--line);padding:0 0 9px;color:var(--ink);text-decoration:none;font-size:10px;letter-spacing:.12em;font-weight:500;}
@media(max-width:760px){.worc-recognitions{padding-top:76px;padding-bottom:86px}.rec-grid{grid-template-columns:1fr;gap:58px;margin-top:34px}.rec-media{height:300px}.rec-title h3{font-size:24px}.rec-item p{font-size:14px}}
@media(max-width:380px){.rec-media{height:260px}.rec-title{flex-wrap:wrap}.rec-title h3{font-size:22px}}

/* V31 — Jerarquía tipográfica de títulos */
@media (max-width: 560px) { .about h2 { font-size: 38px; letter-spacing:-.055em; } }

/* V32: titulo de contacto al mismo nivel que otros encabezados */
@media(max-width:560px){.footer-main h2{font-size:38px;letter-spacing:-.055em;}}

/* V33: accesos discretos al contacto directo, en la misma columna del correo */
.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:27px; }
.footer-contact-links { display:flex; flex-wrap:wrap; align-items:center; gap:27px; }
.footer-contact-link { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:400; letter-spacing:.025em; color:var(--ink); text-decoration:none; transition:opacity .15s ease; }
.footer-contact-link:hover, .footer-contact-link:focus-visible { opacity:.58; }
.footer-contact-link svg { flex:none; display:block; }
@media(max-width:760px) { .footer-contact { gap:25px; } .footer-contact-links { gap:24px; } }

/* V36: separacion editorial de los textos de Nosotros */
.about p.lead{margin-bottom:24px}
.about p.secondary{margin:0 0 16px}
.about p.secondary:last-child{margin-bottom:0}

/* V38: discreet bilingual navigation, matching existing editorial design */
.site-header nav .lang-switch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;margin-left:12px;padding-left:18px;border-left:1px solid var(--line);font-size:11px;font-weight:400;letter-spacing:.09em;color:var(--muted)}
.site-header nav .lang-switch a{text-decoration:none;color:var(--muted);opacity:.75}
.site-header nav .lang-switch a:hover,.site-header nav .lang-switch a:focus-visible{color:var(--ink);opacity:1}
.site-header nav .lang-switch [aria-current=page]{color:var(--ink);font-weight:500}
@media(max-width:760px){.site-header nav .lang-switch{margin:10px 0 0;padding:17px 0 4px;border-left:0;border-top:1px solid var(--line);gap:12px}.site-header nav .lang-switch a{font-size:12px;padding:0;border:0}.site-header nav .lang-switch [aria-current=page]{font-size:12px}}


/* V39 - filtros editoriales de proyectos y enlaces a fichas */
.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0 0 27px;margin:-4px 0 36px;border-bottom:1px solid var(--line)}
.portfolio-filter{border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.11em;text-transform:uppercase;padding:0 0 8px;cursor:pointer}
.portfolio-filter[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.portfolio-item>a{display:block;color:inherit;text-decoration:none}
.portfolio-item>a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.portfolio-item[hidden]{display:none!important}
.portfolio-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:9px}
@media(max-width:700px){.portfolio-filters{gap:8px 17px}.portfolio-filter{font-size:10px}}

/* V40: pagination for the project portfolio only; preserves existing editorial layout. */
.portfolio-pagination{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:54px;text-align:center}
.portfolio-pagination [hidden]{display:none!important}
.portfolio-status{margin:0;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.portfolio-more{border:1px solid var(--line);background:transparent;color:var(--ink);padding:16px 28px;min-width:225px;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,border-color .2s}
.portfolio-more:hover{background:rgba(0,0,0,.035);border-color:var(--ink)}
.portfolio-more:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.portfolio-more span{margin-left:15px}
.portfolio-empty{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:700px){.portfolio-pagination{margin-top:38px}.portfolio-more{width:100%;max-width:330px}}
