:root{--bg:#181a1b;--bg-deep:#111314;--ink:#151617;--paper:#eeece5;--paper-line:rgba(21,22,23,.085);--hero-gray:#8e8a82;--hero-grid-line:rgba(21,22,23,.11);--grid-columns:12;--grid-column:8.333333%;--grid-row-size:320px;--muted:#6f716f;--accent:#f04b32;--gold:#caa56b;--header:84px;--side:clamp(20px,3.3vw,58px);--page-max:1440px;--content-max:1180px;--sans:"Manrope","Avenir Next","Segoe UI",ui-sans-serif,system-ui,sans-serif;--display:"Raleway","Avenir Next","Century Gothic","Segoe UI",sans-serif;--hero-display:"Archivo","Helvetica Neue",Arial,sans-serif;--technical:"IBM Plex Mono","Roboto Mono","Courier New",monospace;--wine:#761f3b;--ease:cubic-bezier(.2,.72,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 18px);overflow-x:clip;background:var(--paper);color-scheme:only light}
body{margin:0;min-width:0;color:var(--ink);background:var(--paper);font-family:var(--sans);overflow-x:clip;text-rendering:optimizeLegibility;color-scheme:only light}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--accent);color:#fff}
.skip{position:fixed;z-index:5000;left:18px;top:14px;transform:translateY(-180%);background:#fff;color:#111;padding:10px 14px;font-size:12px;transition:transform .2s}
.skip:focus{transform:none}
.site-header{position:fixed;z-index:1000;inset:0 0 auto;height:var(--header);display:flex;align-items:center;color:#fff;background:rgba(25,26,28,.96);-webkit-backdrop-filter:blur(4px) saturate(1.04);backdrop-filter:blur(4px) saturate(1.04)}
.header-inner{width:min(calc(100% - 2*var(--side)),var(--page-max));margin:auto;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;gap:24px}
.brand{width:92px;display:inline-flex;align-items:center}
.brand img{width:100%;height:auto}
.main-nav{display:flex;justify-content:center;gap:clamp(28px,4vw,72px)}
.main-nav a,.home-link,.lang,.menu-toggle{position:relative;padding:9px 0;border:0;background:none;font-family:var(--sans);font-size:9px;font-weight:500;line-height:1;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.67);cursor:pointer;white-space:nowrap}
.main-nav a::after,.home-link::after,.lang::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:#fff;transition:right .28s var(--ease)}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current="page"],.home-link:hover,.home-link:focus-visible,.lang:hover,.lang:focus-visible,.lang.active{color:#fff;outline:none}
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a[aria-current="page"]::after,.home-link:hover::after,.home-link:focus-visible::after,.lang:hover::after,.lang:focus-visible::after,.lang.active::after{right:0}
.header-tools{justify-self:end;display:flex;align-items:center;gap:18px}
.language-switch{display:flex;align-items:center;gap:8px}
.lang{min-width:34px;min-height:40px;padding-inline:5px}
.lang+.lang::before{content:"/";position:absolute;left:-7px;color:rgba(255,255,255,.22)}
.lang.active::after{background:var(--accent)}
.menu-toggle{display:none}
.mobile-menu{display:none;position:fixed;z-index:980;inset:var(--header) 0 0;color:#fff;background:rgba(25,26,28,.992);padding:35px var(--side);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}
body.menu-open .mobile-menu{opacity:1;visibility:visible;pointer-events:auto}
.mobile-nav{display:grid;border-top:1px solid rgba(255,255,255,.17)}
.mobile-nav a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.085);font:500 31px/1.06 var(--display)}
.mobile-meta{margin-top:auto;padding-top:32px;font-size:9px;line-height:1.8;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.content-frame{width:min(calc(100% - 2*var(--side)),var(--content-max));margin-inline:auto;min-width:0}
.paper-grid{background-color:var(--paper);background-image:linear-gradient(to right,var(--paper-line) 1px,transparent 1px),linear-gradient(to bottom,var(--paper-line) 1px,transparent 1px);background-size:var(--grid-column) 100%,100% var(--grid-row-size);background-repeat:repeat-x,repeat-y;background-position:0 0}
.coordinate-surface{position:relative;isolation:isolate}
.projects-main>section,.project-ending{position:relative;z-index:1}
.coordinate-cursor{position:fixed;z-index:1400;top:0;left:0;width:30px;height:30px;pointer-events:none;opacity:0;transform:translate3d(-60px,-60px,0);will-change:transform;mix-blend-mode:difference}
.coordinate-cursor::before,.coordinate-cursor::after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}
.coordinate-cursor::before{width:30px;height:1px}
.coordinate-cursor::after{width:1px;height:30px}
.coordinate-readout{position:fixed;z-index:900;top:calc(var(--header) + 24px);right:max(var(--side),24px);display:grid;grid-template-columns:auto auto;column-gap:9px;min-width:112px;margin:0;padding:2px 0 2px 12px;border:0;border-left:1px solid rgba(21,22,23,.28);background:transparent;color:rgba(21,22,23,.56);font:500 10px/1.55 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.07em;pointer-events:none;opacity:0;transition:opacity .16s ease}
.coordinate-readout span{display:contents}
.coordinate-readout b,.coordinate-readout strong{font:inherit}
.coordinate-readout b{color:rgba(21,22,23,.42)}
.coordinate-readout strong{text-align:right;color:rgba(21,22,23,.68)}
.coordinate-markers{position:absolute;z-index:0;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
.coordinate-marker{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-height:14px;padding:0 5px;background:var(--paper);color:rgba(21,22,23,.43);font:500 8px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.075em;white-space:nowrap;transform:translate(-50%,-50%);transition:color .16s ease,opacity .16s ease;opacity:.82}
.coordinate-marker[data-coordinate-orientation="vertical"]{transform:translate(-50%,-50%) rotate(-90deg)}
.coordinate-marker[data-coordinate-edge="left"]{transform:translate(0,-50%)}
.coordinate-marker[data-coordinate-edge="right"]{transform:translate(-100%,-50%)}
.coordinate-surface.coordinate-active .coordinate-marker{color:rgba(21,22,23,.58)}
.coordinate-surface.coordinate-active .coordinate-cursor,.coordinate-surface.coordinate-active .coordinate-readout{opacity:1}
@media(hover:hover) and (pointer:fine){html.coordinate-cursor-ready .coordinate-surface,html.coordinate-cursor-ready .coordinate-surface *{cursor:none!important}
}
.hero{position:relative;overflow:hidden;padding-top:var(--header);background-color:var(--hero-gray)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(to right,var(--hero-grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--hero-grid-line) 1px,transparent 1px);background-size:var(--grid-column) 100%,100% var(--grid-row-size);background-repeat:repeat-x,repeat-y;background-position:0 0}
.hero-inner{position:relative;min-height:clamp(440px,52svh,520px);padding-block:clamp(38px,3.2vw,48px) clamp(20px,2vw,28px);display:flex;flex-direction:column}
.eyebrow,.hero-title,.scroll-cue{position:relative;z-index:2}
.eyebrow{margin:0 0 clamp(24px,2.4vw,32px);font:500 9px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(238,236,229,.68)}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(340px,4fr);gap:clamp(44px,5.4vw,84px);align-items:center}
.hero-title{margin:0;max-width:10.9ch;color:var(--paper);font-family:var(--hero-display);font-weight:500;font-size:clamp(54px,5.4vw,88px);line-height:.89;letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance}
.hero-title span{display:block}
.hero-copy{position:relative;align-self:center;justify-self:center;display:grid;place-items:center;width:min(100%,clamp(390px,28vw,460px));max-width:none;aspect-ratio:1;padding:clamp(38px,3vw,46px);margin-top:-8px}
.hero-copy__disc{position:absolute;inset:0;z-index:0;border-radius:50%;background:var(--paper);pointer-events:none}
.hero-copy__text{position:absolute;inset-block-start:50%;inset-inline-start:50%;z-index:2;margin:0;color:var(--wine);font-family:var(--sans);font-size:clamp(21px,1.2vw,23px);font-weight:700;line-height:1.04;letter-spacing:-.047em;text-wrap:balance;inline-size:max-content;max-inline-size:none;text-align:left;translate:-50% calc(-50% - 5px)}
@media(min-width:1181px){.hero-copy__text{white-space:nowrap}
}
.scroll-cue{display:inline-flex;align-items:center;gap:12px;width:max-content;margin-top:auto;padding-top:clamp(24px,2.6vw,34px);font:500 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(238,236,229,.62)}
.scroll-cue b{color:var(--paper);font-size:15px;font-weight:400}
.hero-enter{opacity:0;transform:translateY(18px);animation:hero-enter .72s var(--ease) forwards}
.hero-enter--1{animation-delay:.08s}
.hero-enter--2{animation-delay:.16s}
.hero-enter--3{animation-delay:.25s}
.hero-enter--4{animation-delay:.34s}
@keyframes hero-enter{to{opacity:1;transform:none}
}
.projects{padding:clamp(28px,3vw,44px) 0 0}
.projects-frame{width:min(calc(100% - 2*var(--side)),var(--page-max));margin-inline:auto}
.projects-grid{display:grid;row-gap:clamp(54px,5.4vw,78px);align-items:start}
.projects-row{display:flex;width:100%;min-width:0}
.projects-row--top{--row-visual-height:clamp(112px,9.2vw,160px);justify-content:space-between;align-items:flex-start;gap:clamp(18px,1.5vw,24px)}
.projects-row--feature{--row-visual-height:clamp(210px,20vw,318px);justify-content:center;align-items:center}.projects-row--bottom{--row-visual-height:clamp(190px,17.5vw,280px);justify-content:center;align-items:center;gap:clamp(28px,4vw,58px)}
.project-card{--card-ratio:16/9;--data-width:clamp(96px,7vw,124px);--card-gap:clamp(12px,1.15vw,18px);position:relative;display:grid;grid-template-columns:max-content var(--data-width);gap:var(--card-gap);width:calc(var(--visual-width) + var(--data-width) + var(--card-gap));min-width:0;align-items:stretch;color:var(--ink);background:transparent;border:0;box-shadow:none;isolation:isolate;container-type:inline-size}
.projects-row .project-visual{width:var(--visual-width);height:var(--row-visual-height);aspect-ratio:var(--card-ratio)}
.project-card--tierra{--card-ratio:2048/868;--visual-width:clamp(264px,21.7vw,377px)}
.project-card--materia{--card-ratio:2048/1143;--visual-width:clamp(201px,16.5vw,287px)}
.project-card--residencia{--card-ratio:1920/1047;--visual-width:clamp(205px,16.9vw,293px)}
.project-card--ninguna{--card-ratio:1440/804;--visual-width:clamp(340px,31.3vw,502px);--data-width:clamp(108px,8vw,146px)}
.project-card--campo{--card-ratio:1143/2048;--visual-width:clamp(106px,9.8vw,156px);--data-width:clamp(94px,6.5vw,116px)}
.project-card--lobby{--card-ratio:1143/2048;--visual-width:clamp(106px,9.8vw,156px);--data-width:clamp(94px,6.5vw,116px)}.project-card--barichara{--card-ratio:2048/1143;--visual-width:clamp(430px,42vw,650px);--data-width:clamp(118px,9vw,154px)}
.project-visual{position:relative;min-width:0;aspect-ratio:var(--card-ratio);overflow:hidden;background:#151618;isolation:isolate}
.project-media{position:absolute;inset:0;overflow:hidden;background:#151618}
.project-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:grayscale(.08) saturate(.91) brightness(.94);transition:opacity 1.05s ease,filter .45s ease;will-change:opacity}
.project-slide.is-active{opacity:1}
.project-visual::before{content:"";position:absolute;z-index:1;top:-25%;bottom:-25%;left:-52%;width:30%;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),rgba(255,255,255,.025),transparent);transform:skewX(-18deg)}
.project-visual::after{content:"";position:absolute;z-index:2;inset:38% 0 0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,0,0,.54))}
.project-title{position:absolute;z-index:3;left:clamp(12px,2.7cqw,18px);right:clamp(12px,2.7cqw,18px);bottom:clamp(12px,2.5cqw,17px);color:#fff}
.project-title h2{margin:0;font:500 clamp(20px,4.5cqw,31px)/1 var(--display);letter-spacing:-.032em;text-wrap:balance}
.project-data{min-width:0;display:flex;flex-direction:column;padding-left:clamp(11px,1.2vw,17px);border-left:1px solid rgba(21,22,23,.42)}
.project-data-lines{display:grid;width:100%;min-width:0}
.project-data-line{margin:0;padding:clamp(10px,1.1vw,14px) 0;border-top:1px solid rgba(21,22,23,.25);color:rgba(21,22,23,.66);font:400 clamp(8.5px,1.45cqw,10px)/1.45 var(--sans);letter-spacing:-.005em;text-wrap:pretty}
.project-data-line:last-child{border-bottom:1px solid rgba(21,22,23,.25)}
.project-data-line--key{color:rgba(21,22,23,.78);font-family:var(--technical);font-weight:500;font-size:clamp(7.5px,1.2cqw,8.5px);line-height:1.35;letter-spacing:.075em;text-transform:uppercase}
.project-arrow{display:block;width:clamp(27px,4.1cqw,38px);height:auto;margin-top:auto;padding-top:clamp(22px,3vw,38px);color:rgba(21,22,23,.82);transition:transform .26s var(--ease),color .2s ease}
.project-arrow svg{display:block;width:100%;height:auto;overflow:visible}
.project-arrow path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.project-card:hover .project-slide,.project-card:focus-visible .project-slide{filter:grayscale(0) saturate(.98) brightness(.94)}
@media(hover:hover) and (pointer:fine){.project-card:hover .project-visual::before,.project-card:focus-visible .project-visual::before{opacity:1;animation:project-sheen 1.05s var(--ease) both}
}
@keyframes project-sheen{from{transform:translateX(0) skewX(-18deg)}
to{transform:translateX(560%) skewX(-18deg)}
}
.project-card:hover .project-data,.project-card:focus-visible .project-data{border-left-color:rgba(21,22,23,.72)}
.project-card:hover .project-data-line,.project-card:focus-visible .project-data-line{border-color:rgba(21,22,23,.42)}
.project-card:hover .project-arrow,.project-card:focus-visible .project-arrow{color:var(--ink);transform:translate(4px,-4px)}
.project-card:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.projects-toggle-wrap{display:none}
.rails-wrap{width:min(calc(100% - 2*var(--side)),var(--page-max));margin:clamp(82px,7vw,112px) auto 0;overflow:hidden;padding-block:clamp(14px,1.3vw,22px)}
.rail{width:100%;overflow:hidden}
.rail+.rail{margin-top:clamp(8px,.7vw,13px)}
.rail-track{display:flex;width:max-content;gap:0;will-change:transform}
.rail-group{display:flex;flex:none;gap:var(--rail-gap,12px);padding-right:var(--rail-gap,12px)}
.rail-item{appearance:none;flex:none;height:clamp(104px,8.4vw,154px);margin:0;padding:0;border:0;background:transparent;cursor:pointer}
.rail-item img{display:block;width:auto;height:100%;max-width:none;pointer-events:none;user-select:none}
.rail-item:focus-visible{outline:1px solid rgba(21,22,23,.58);outline-offset:3px}
.rail.is-ready .rail-track{animation-duration:var(--rail-duration,80s);animation-timing-function:linear;animation-iteration-count:infinite}
.rail--left.is-ready .rail-track{animation-name:rail-left}
.rail--right.is-ready .rail-track{animation-name:rail-right}
.rail--american{--rail-duration:94s}
.rail--workplace{--rail-duration:114s}
@keyframes rail-left{from{transform:translate3d(0,0,0)}
to{transform:translate3d(-50%,0,0)}
}
@keyframes rail-right{from{transform:translate3d(-50%,0,0)}
to{transform:translate3d(0,0,0)}
}
body.visual-lightbox-open{overflow:hidden}
body.visual-lightbox-open .rail-track{animation-play-state:paused}
.visual-lightbox{position:fixed;inset:0;z-index:6000;display:grid;place-items:center;padding:clamp(18px,3vw,46px);background:rgba(25,26,28,.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.visual-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.visual-lightbox__image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100svh - clamp(36px,6vw,92px));object-fit:contain;user-select:none}
.visual-lightbox__close,.visual-lightbox__nav{position:fixed;z-index:2;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(25,26,28,.35);color:#fff;cursor:pointer}
.visual-lightbox__close{top:clamp(16px,2.6vw,34px);right:clamp(16px,2.6vw,34px)}
.visual-lightbox__close::before,.visual-lightbox__close::after{content:"";position:absolute;left:12px;right:12px;top:50%;height:1px;background:rgba(255,255,255,.82)}
.visual-lightbox__close::before{transform:rotate(45deg)}
.visual-lightbox__close::after{transform:rotate(-45deg)}
.visual-lightbox__nav{top:50%;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%)}
.visual-lightbox__nav svg{display:block;width:18px;height:18px}
.visual-lightbox__nav--prev{left:clamp(12px,2vw,24px)}
.visual-lightbox__nav--next{right:clamp(12px,2vw,24px)}
.visual-lightbox__close:hover,.visual-lightbox__close:focus-visible,.visual-lightbox__nav:hover,.visual-lightbox__nav:focus-visible{border-color:rgba(255,255,255,.62);outline:none}
.project-ending{padding:clamp(30px,3.2vw,46px) 0 clamp(34px,3.6vw,54px);color:var(--ink)}
.ending-panel{width:min(calc(100% - 2*var(--side)),var(--page-max));margin-inline:auto}
.ending-shell{min-height:136px;display:grid;grid-template-columns:minmax(0,1fr) minmax(238px,28%);border:1px solid rgba(21,22,23,.32);background:rgba(238,236,229,.90)}
.ending-main{min-width:0;display:grid;grid-template-rows:auto 1fr auto;gap:8px;padding:17px 24px 16px;font-family:var(--technical);text-transform:uppercase}
.ending-context{margin:0;color:rgba(21,22,23,.55);font:500 8px/1.2 var(--technical);letter-spacing:.075em}
.ending-statement{align-self:center;margin:0;color:var(--ink);font:500 clamp(20px,2.05vw,28px)/1.02 var(--technical);letter-spacing:-.045em;text-wrap:balance}
.ending-principles{display:flex;flex-wrap:wrap;gap:4px clamp(18px,2.8vw,38px);margin:0;color:rgba(21,22,23,.68);font:500 9px/1.25 var(--technical);letter-spacing:.025em}
.ending-principles p{margin:0}
.ending-principles em{font-style:normal;color:var(--gold)}
.ending-actions{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid rgba(21,22,23,.28);font-family:var(--technical);text-transform:uppercase}
.ending-actions a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 20px;color:rgba(21,22,23,.80);font:500 9px/1.35 var(--technical);letter-spacing:.055em;transition:color .2s ease,background-color .2s ease}
.ending-actions a+a{border-top:1px solid rgba(21,22,23,.18)}
.ending-actions a:hover,.ending-actions a:focus-visible{color:var(--ink);background:rgba(21,22,23,.035);outline:none}
.ending-actions b{color:var(--gold);font-size:14px;font-weight:400;transition:transform .24s var(--ease)}
.ending-actions a:hover b,.ending-actions a:focus-visible b{transform:translate(3px,-3px)}
@media(max-width:1180px){.projects-frame{width:min(calc(100% - 2*var(--side)),940px)}
.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:clamp(48px,6vw,68px)}
.projects-row{display:contents}
.project-card{width:100%;max-width:none;grid-template-columns:minmax(0,1fr) var(--data-width);justify-self:stretch}
.projects-row .project-visual{width:auto;height:auto;aspect-ratio:var(--card-ratio)}
.project-card--tierra{grid-column:1;grid-row:1}
.project-card--materia{grid-column:2;grid-row:1}
.project-card--residencia{grid-column:1;grid-row:2}
.projects-row .project-card--barichara{grid-column:1/span 2;grid-row:3;width:min(100%,820px);justify-self:center}
.projects-row .project-card--campo{grid-column:2;grid-row:2;width:min(100%,320px);justify-self:center}
.projects-row .project-card--ninguna{grid-column:1/span 2;grid-row:4;width:min(100%,680px);justify-self:center}
.projects-row .project-card--lobby{grid-column:1/span 2;grid-row:5;width:min(100%,320px);justify-self:center}
}
@media(max-width:1100px){:root{--grid-row-size:280px}
.header-inner{grid-template-columns:1fr auto}
.main-nav,.home-link{display:none}
.menu-toggle{display:block}
.mobile-menu{display:flex;flex-direction:column}
.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.82fr);gap:34px}
.hero-title{font-size:clamp(52px,7vw,76px)}
.hero-copy{width:min(100%,390px);padding:38px}
.hero-copy__text{font-size:clamp(19px,2.05vw,22px);letter-spacing:-.05em;translate:-50% calc(-50% - 4px)}
.ending-shell{grid-template-columns:minmax(0,1fr) 240px}
}
@media(max-width:760px){:root{--header:74px;--side:18px;--grid-columns:4;--grid-column:25%;--grid-row-size:220px}
.brand{width:82px}
.header-tools{gap:14px}
.hero-inner{min-height:auto;padding-block:32px 28px}
.eyebrow{margin-bottom:26px}
.hero-grid{grid-template-columns:1fr;gap:24px}
.hero-title{max-width:10.8ch;font-size:clamp(45px,12.8vw,64px)}
.hero-copy{justify-self:center;width:min(92vw,360px);padding:clamp(26px,7vw,32px);margin-top:0}
.hero-copy__text{font-size:clamp(17px,4.75vw,19px);line-height:1.05;letter-spacing:-.047em;white-space:nowrap;translate:-50% calc(-50% - 3px)}
.scroll-cue{padding-top:30px}
.projects{padding-top:30px}
.projects-frame{width:min(calc(100% - 36px),560px)}
.projects-grid{grid-template-columns:1fr;gap:42px}
.projects-grid .project-card,.projects-grid .project-card--campo,.projects-grid .project-card--lobby{grid-column:1;grid-row:auto;grid-template-columns:1fr;gap:0;width:100%;max-width:none;justify-self:stretch;--data-width:auto}
.projects-grid .project-card--campo,.projects-grid .project-card--lobby{width:min(88vw,420px);justify-self:center}
.project-title h2{font-size:clamp(22px,6.4cqw,31px)}
.project-data{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:end;padding:12px 0 0;border-left:0}
.project-data-lines{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);align-items:stretch}
.project-data-line{padding:10px 10px 10px 0;border-top-color:rgba(21,22,23,.25)}
.project-data-line+.project-data-line{padding-left:12px;border-left:1px solid rgba(21,22,23,.18)}
.project-data-line:last-child{border-bottom:0}
.project-arrow{align-self:end;width:30px;margin:0;padding:9px 0 0}
.js .project-card[data-mobile-extra]{display:none}
.js .projects-grid.is-expanded .project-card[data-mobile-extra]{display:grid}
.js .projects-toggle-wrap{display:flex;justify-content:center;margin-top:32px}
.projects-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-width:220px;padding:15px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;font:600 9px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
.projects-toggle b{font-size:18px;font-weight:400;transition:transform .25s var(--ease)}
.projects-toggle[aria-expanded="true"] b{transform:rotate(45deg)}
.rails-wrap{width:100%;margin-top:68px}
.rail{--rail-gap:8px}
.rail-item{height:94px}
.project-ending{padding:24px 0 30px}
.ending-panel{width:100%}
.ending-shell{min-height:0;grid-template-columns:1fr}
.ending-main{min-height:136px;padding:16px 18px 15px}
.ending-statement{font-size:clamp(20px,6vw,26px);max-width:24ch}
.ending-principles{gap:3px 18px;font-size:8.5px}
.ending-actions{grid-template-columns:1fr 1fr;grid-template-rows:auto;border-left:0;border-top:1px solid rgba(21,22,23,.28)}
.ending-actions a{min-height:58px;padding:13px 16px}
.ending-actions a+a{border-top:0;border-left:1px solid rgba(21,22,23,.18)}
}
@media(max-width:620px){.visual-lightbox{padding:18px}
.visual-lightbox__close,.visual-lightbox__nav{width:38px;height:38px}
.visual-lightbox__nav--prev{left:10px}
.visual-lightbox__nav--next{right:10px}
}
@media(max-width:560px){.projects-grid{gap:38px}
.projects-grid .project-card--campo,.projects-grid .project-card--lobby{width:min(82vw,320px)}
}
@media(hover:none),(pointer:coarse){.coordinate-cursor,.coordinate-readout,.coordinate-markers{display:none!important}
}
@media(max-width:430px){.language-switch{display:none}
.hero-title{font-size:clamp(41px,12vw,54px)}
.ending-main{min-height:146px}
.ending-statement{font-size:20px}
.ending-principles{display:grid}
.ending-actions{grid-template-columns:1fr}
.ending-actions a+a{border-left:0;border-top:1px solid rgba(21,22,23,.18)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.hero-enter{opacity:1;transform:none;animation:none}
.reveal{opacity:1;transform:none;transition:none}
.project-slide{transition:none}
.project-visual::before{display:none}
.rail.is-ready .rail-track{animation:none;transform:none}
.rail{overflow-x:auto;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.visual-lightbox{transition:none}
}
:root{color-scheme:only light}
@media(min-width:901px){.projects-row--top .project-card.reveal{opacity:1;transform:none;transition:none}
}

/* Direction 37: Barichara featured first; full-bleed image fit */
.project-card--barichara .project-slide{object-fit:cover}
@media(max-width:1180px) and (min-width:901px){.projects-row .project-card--barichara{grid-column:1/span 2;grid-row:1;width:min(100%,820px);justify-self:center}.project-card--tierra{grid-column:1;grid-row:2}.project-card--materia{grid-column:2;grid-row:2}.project-card--residencia{grid-column:1;grid-row:3}.projects-row .project-card--campo{grid-column:2;grid-row:3}.projects-row .project-card--ninguna{grid-column:1/span 2;grid-row:4}.projects-row .project-card--lobby{grid-column:1/span 2;grid-row:5}}
