:root{--black:#0a0a0a;--white:#f3f2ee;--grey:#b7b7b2;--line:#333;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.35}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.topbar{height:64px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,10,10,.96);font-size:11px;letter-spacing:.08em}.wordmark{font-weight:700}.top-meta{text-align:center;color:#aaa}.menu{justify-self:end;border:0;background:none;cursor:pointer;font-size:11px;letter-spacing:.08em}.side-nav{position:fixed;right:22px;top:92px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.side-nav a{opacity:.5}.side-nav a:hover{opacity:1}.opening{min-height:100vh;background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),url("../assets/portada.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;padding:125px 22px 30px;display:grid;grid-template-columns:70px 1.3fr 1fr 180px;grid-template-rows:1fr auto;gap:20px;border-bottom:1px solid var(--line);position:relative}.opening-index{font-size:10px;color:#777}.opening-title{align-self:end;padding-bottom:35px}.kicker,.section-name,.section-no{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#999}.opening h1{font-size:clamp(82px,13vw,220px);font-weight:700;line-height:.78;letter-spacing:-.075em;margin:22px 0 0}.opening-copy{align-self:end;max-width:330px;padding-bottom:39px;font-size:17px;line-height:1.15}.opening-mark{align-self:end;justify-self:end;font-size:80px;line-height:.7;font-weight:700;letter-spacing:-.08em;padding-bottom:35px}.opening-mark span{display:block;font-size:9px;letter-spacing:.08em;color:#777;margin-top:18px}.statement{min-height:72vh;padding:110px 22px;display:grid;grid-template-columns:70px 180px 1fr;gap:20px;border-bottom:1px solid var(--line)}.statement-main{max-width:900px}.statement h2,.trajectory h2{font-size:clamp(62px,10vw,150px);line-height:.82;letter-spacing:-.07em;margin:0 0 50px}.statement p{font-size:20px;max-width:620px;color:#aaa}.projects{padding:90px 22px 130px;max-width:var(--max);margin:auto}.projects-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.projects-head>div:first-child{display:flex;gap:25px}.project-count{font-size:10px;color:#777}.project-list{margin-top:18px}.project-row{min-height:82px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:45px 170px 2fr 1.2fr 1fr 30px;align-items:center;gap:18px;transition:background .2s,color .2s;padding:10px 0}.project-row.featured:hover{background:var(--white);color:var(--black);padding-left:10px;padding-right:10px}.project-num{font-size:10px;color:#777}.project-thumb{height:64px;overflow:hidden;display:flex;align-items:flex-end;padding:8px;font-size:9px;letter-spacing:.1em;position:relative}.project-thumb:before{content:"";position:absolute;width:68%;height:68%;left:16%;top:16%;border:1px solid rgba(255,255,255,.45);transform:none}.urban-thumb{background:linear-gradient(135deg,#8e8e89,#292929)}.house-thumb{background:linear-gradient(145deg,#555,#aaa)}.block-thumb{background:linear-gradient(45deg,#292929,#777)}.civic-thumb{background:linear-gradient(135deg,#b1b0aa,#454545)}.retail-thumb{background:linear-gradient(120deg,#3c3c3a,#9d9b94)}.project-title{font-size:19px;letter-spacing:-.03em}.project-type,.project-place{font-size:11px;color:#888}.project-arrow{font-size:18px;text-align:right}.placeholder{color:#777}.placeholder .project-title{color:#bbb}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}.filter{background:none;border:1px solid #444;border-radius:20px;padding:8px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.filter.active,.filter:hover{background:var(--white);border-color:var(--white);color:var(--black)}.urbanism-feature{min-height:90vh;background:var(--white);color:var(--black);padding:100px 22px;display:grid;grid-template-columns:70px 180px 1fr 1fr;gap:20px}.urbanism-feature .feature-number,.urbanism-feature .feature-label{font-size:10px;letter-spacing:.12em;color:#777}.feature-title h2{font-size:clamp(65px,9vw,140px);line-height:.8;letter-spacing:-.07em;margin:0 0 55px}.feature-title a{text-transform:uppercase;font-size:10px;border-bottom:1px solid #111;padding-bottom:7px}.feature-panel{padding-top:5px;max-width:470px}.diagram{height:480px;background:linear-gradient(135deg,#d0cfca,#787873);position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:22px}.diagram:before{content:"";position:absolute;width:58%;height:68%;border:1px solid rgba(0,0,0,.5);transform:rotate(-11deg) skewX(-8deg)}.diagram span{font-size:50px;font-weight:700;line-height:.8;letter-spacing:-.06em;z-index:1}.feature-panel p{font-size:17px;max-width:420px}.feature-panel small{font-size:9px;letter-spacing:.1em;color:#777}.trajectory{padding:110px 22px 125px;display:grid;grid-template-columns:70px 180px 1fr;gap:20px;border-bottom:1px solid var(--line);}.trajectory-grid{max-width:1000px}.timeline{border-top:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:190px 1fr;gap:25px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline span{font-size:9px;color:#777;letter-spacing:.1em}.timeline strong{font-size:26px;font-weight:400}.timeline p{grid-column:2;margin:0;color:#999;max-width:550px}.contact{background:#161616;border-top:1px solid var(--line);padding:90px 22px 35px;min-height:78vh;display:grid;grid-template-columns:1fr 2fr;grid-template-rows:auto 1fr auto;gap:20px;position:relative;}.contact-top{grid-column:1/-1;display:flex;gap:25px}.contact h2{font-size:clamp(90px,15vw,230px);line-height:.76;letter-spacing:-.08em;margin:70px 0 0;align-self:start}.contact-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:#777;letter-spacing:.1em}footer{border-top:1px solid var(--line);padding:18px 22px;display:flex;justify-content:space-between;color:#666;font-size:9px;letter-spacing:.1em}@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.top-meta{display:none}.side-nav{display:none}.opening{grid-template-columns:35px 1fr;min-height:100svh}.opening-copy{grid-column:2;padding:0;align-self:start;margin-top:25px}.opening-mark{display:none}.opening h1{font-size:clamp(72px,20vw,150px)}.statement,.trajectory,.urbanism-feature{grid-template-columns:35px 1fr;min-height:auto}.statement .section-name,.trajectory .section-name,.urbanism-feature .feature-label{grid-column:2}.statement-main,.trajectory-grid,.feature-title,.feature-panel{grid-column:2}.statement h2,.trajectory h2{font-size:clamp(62px,18vw,120px)}.projects{padding-left:16px;padding-right:16px}.project-row{grid-template-columns:28px 100px 1fr 25px}.project-type,.project-place{display:none}.project-thumb{height:54px}.project-title{font-size:16px}.urbanism-feature{padding:75px 16px}.feature-panel{margin-top:30px}.diagram{height:340px}.contact{grid-template-columns:1fr;padding:70px 16px 25px}.contact h2{font-size:clamp(80px,22vw,170px);grid-column:1}.contact-bottom{font-size:8px}footer{display:block}footer span{display:block;margin:6px 0}}
.project-page{padding:130px 22px 110px;max-width:var(--max);margin:auto}.project-page-kicker{font-size:10px;color:#777;letter-spacing:.12em}.project-page h1{font-size:clamp(82px,14vw,190px);line-height:.77;letter-spacing:-.08em;margin:55px 0 110px}.project-page-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;border-top:1px solid var(--line);padding-top:30px}.project-facts{display:grid;grid-template-columns:30px 1fr;gap:18px}.project-facts>span{font-size:9px;color:#777}.project-facts strong{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:400}.project-facts dl{grid-column:2;border-top:1px solid var(--line);margin:25px 0 0}.project-facts dt{font-size:9px;color:#777;text-transform:uppercase;letter-spacing:.08em;margin-top:17px}.project-facts dd{margin:3px 0 0;font-size:15px}.project-hero-image{height:650px;background:linear-gradient(135deg,#858580,#d1d0cb);display:flex;align-items:center;justify-content:center;position:relative}.project-hero-image:before{content:"";position:absolute;width:60%;height:65%;border:1px solid rgba(0,0,0,.55);transform:rotate(-9deg) skewX(-7deg)}.project-hero-image span{font-size:70px;font-weight:700;letter-spacing:-.07em;z-index:1}.project-description{font-size:19px;max-width:720px;margin:28px 0}.source-note{font-size:11px;color:#777;max-width:700px;border-top:1px solid var(--line);padding-top:15px}@media(max-width:900px){.project-page{padding:110px 16px 80px}.project-page h1{font-size:clamp(75px,21vw,140px);margin:45px 0 70px}.project-page-grid{grid-template-columns:1fr;gap:45px}.project-hero-image{height:420px}.project-hero-image span{font-size:50px}}
.side-nav.show{display:flex;background:#0a0a0a;padding:14px 0 14px 20px;top:64px;right:0;width:180px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-3d{background:var(--black);color:var(--white);padding:110px 22px 125px;display:grid;grid-template-columns:70px 180px 1fr 1fr;gap:20px;border-bottom:1px solid var(--line)}.experience-main{max-width:850px}.experience-main h2,.territory-main h2,.experiments-main h2{font-size:clamp(62px,9vw,140px);line-height:.8;letter-spacing:-.07em;margin:0 0 48px}.experience-main p,.territory-main p,.experiments-main p{font-size:19px;max-width:650px;color:#aaa}.experience-side{border-top:1px solid var(--line);max-width:470px}.experience-side>div{display:inline-block;margin-top:20px;margin-right:15px;font-size:9px;color:#777}.experience-side strong{font-size:10px;letter-spacing:.1em;font-weight:400}.experience-side p{margin:5px 0 25px;color:#999;font-size:15px;max-width:400px}.territory{background:var(--white);color:var(--black);padding:110px 22px 125px;display:grid;grid-template-columns:70px 180px 1fr 1fr;gap:20px;border-bottom:1px solid #ccc}.territory .section-no,.territory .section-name{color:#777}.territory-main{max-width:820px}.territory-main p{color:#333}.territory-list{border-top:1px solid #aaa;max-width:470px}.territory-list>div{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid #aaa}.territory-list span{font-size:9px;color:#777}.territory-list strong{font-size:10px;letter-spacing:.1em;font-weight:400}.territory-list p{grid-column:2;margin:2px 0 0;font-size:14px;color:#555}.experiments{padding:110px 22px 125px;display:grid;grid-template-columns:70px 180px 1fr;gap:20px;border-bottom:1px solid var(--line);background:#111}.experiments-main{max-width:1000px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);column-gap:70px;align-items:start;}.experiments-kicker{font-size:10px;letter-spacing:.12em;color:#777}.experiments-main p{max-width:570px}.game-link{display:inline-block;margin-top:25px;border-bottom:1px solid var(--white);padding-bottom:8px;font-size:10px;letter-spacing:.1em}.game-link:hover{opacity:.65}@media(max-width:900px){.experience-3d,.territory{grid-template-columns:35px 1fr;padding:75px 16px}.experience-3d .section-name,.territory .section-name{grid-column:2}.experience-main,.experience-side,.territory-main,.territory-list{grid-column:2}.experience-side,.territory-list{margin-top:40px}.experience-main h2,.territory-main h2,.experiments-main h2{font-size:clamp(62px,18vw,120px)}.experiments{grid-template-columns:35px 1fr;padding:75px 16px}.experiments .section-name,.experiments-main{grid-column:2}}

.project-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}.project-thumb:has(img):before{display:none}.project-row:not(.placeholder):hover .project-thumb img{filter:none;}.project-gallery{display:grid;grid-template-columns:1fr;gap:22px}.project-gallery figure{margin:0;background:#161616;min-height:120px}.project-gallery img{width:100%;height:auto;display:block}.project-gallery figure:first-child img{max-height:700px;object-fit:contain;background:#111}@media(max-width:900px){.project-gallery{gap:14px}}
.videos-experimentos{padding:110px 22px 125px;display:grid;grid-template-columns:70px 180px 1fr;gap:20px;border-bottom:1px solid var(--line);background:#111}.videos-main{max-width:1120px}.videos-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px;border-bottom:1px solid var(--line);padding-bottom:30px}.videos-intro h2{font-size:clamp(62px,9vw,140px);line-height:.8;letter-spacing:-.07em;margin:0}.videos-intro p{font-size:17px;line-height:1.15;color:#999;max-width:330px;margin:0 0 3px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}.video-card{margin:0}.video-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#050505}.video-card figcaption{display:grid;grid-template-columns:28px 1fr;gap:10px;padding-top:10px;border-top:1px solid var(--line);margin-top:8px}.video-card figcaption span{font-size:9px;color:#777}.video-card figcaption strong{font-size:10px;font-weight:400;letter-spacing:.1em}.videos-experimentos .section-no,.videos-experimentos .section-name{color:#999}@media(max-width:900px){.videos-experimentos{grid-template-columns:35px 1fr;padding:75px 16px}.videos-experimentos .section-name,.videos-main{grid-column:2}.videos-intro{display:block;margin-bottom:35px}.videos-intro h2{font-size:clamp(62px,18vw,120px);margin-bottom:35px}.video-grid{grid-template-columns:1fr;gap:28px}}

/* Project archive refinements: preserve OMA typography while making rows more compact. */
.project-row{min-height:68px;padding:7px 0;gap:15px}.project-thumb{height:54px;padding:6px}.project-title{font-size:18px}.project-thumb:before{transform:none}.placeholder .project-thumb:before{display:block}

/* Project archive refinements: preserve OMA typography while making rows more compact. */
.project-row{min-height:68px;padding:7px 0;gap:15px}.project-thumb{height:54px;padding:6px}.project-title{font-size:18px}.project-thumb:before{transform:none}.placeholder .project-thumb:before{display:block}

/* V4 — year column, urbanization collage and contact */
.project-row{grid-template-columns:45px 170px 2fr 1.2fr 70px 1fr 30px;}
.project-year{font-size:11px;color:#888;}
.urbanism-feature .diagram{overflow:hidden;background:#eee;}
.urbanism-feature .diagram:before{display:none;}
.urbanism-feature .diagram img{width:100%;height:100%;object-fit:cover;display:block;}
.contact-details{grid-column:2;grid-row:2;align-self:end;display:flex;flex-direction:column;gap:4px;margin:0 0 7px 0;}
.contact-details a{font-size:18px;letter-spacing:-.02em;border-bottom:1px solid #555;padding-bottom:5px;}
.contact-details a:hover{border-color:#fff;}
@media(max-width:900px){.project-row{grid-template-columns:28px 100px 1fr 55px 25px;}.project-year{font-size:10px;text-align:right;}.contact-details{flex-direction:column;gap:14px;margin-top:5px;}.contact-details a{font-size:15px;}}

.diagram img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:cover;}

.experiments-main .experiments-kicker,.experiments-main h2,.experiments-main p,.experiments-main .game-link{grid-column:1;}
.experiments-image{grid-column:2;grid-row:1 / span 4;align-self:start;margin-top:24px;}
.experiments-image img{display:block;width:100%;height:auto;object-fit:cover;}
@media(max-width:900px){.experiments-main{grid-template-columns:1fr;}.experiments-image{grid-column:1;grid-row:auto;margin-top:35px;}.contact-details{grid-column:1;grid-row:auto;align-self:start;margin:0;}.contact{grid-template-columns:1fr;}}
.project-row.placeholder .project-thumb img{filter:none;}

/* V9 — Experimentos: reproduce la composición de 08-experimentos_recorte.png */
@media(min-width:901px){
  .experiments{
    padding:75px 22px 60px;
    grid-template-columns:40px 115px 1fr;
    gap:20px;
  }
  .experiments-main{
    max-width:986px;
    grid-template-columns:580px 663px;
    column-gap:70px;
    align-items:start;
  }
  .experiments-main h2{
    font-size:140px;
    line-height:.8;
    letter-spacing:-.07em;
    margin:0 0 48px;
  }
  .experiments-main p{max-width:430px;font-size:17px;line-height:1.25;margin:0;}
  .experiments-kicker{font-size:10px;}
  .experiments-image{grid-column:2;grid-row:1 / span 4;align-self:start;margin-top:28px;width:663px;}
  .experiments-image img{display:block;width:663px;height:371px;object-fit:cover;}
  .game-link{margin-top:25px;}
}
@media(max-width:900px){
  .experiments-main h2{font-size:clamp(62px,18vw,120px);}
  .experiments-image img{width:100%;height:auto;}
}

/* V10 — expediente 1200: miniatura centrada */
.project-row[data-category="administrativo"] .project-thumb img[src*="projects/1200/04.png"]{object-fit:contain;background:#111;padding:4px;}

/* V10 — expediente 1200: thumbnail centered */
.project-row .project-thumb img[src*="projects/1200/04.png"]{object-fit:cover;background:none;padding:0;}
