: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}

/* Header: extracted from the main page, without reinterpreting its scale. */
.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}
}

/* Portada editorial: solapa gris bajo la misma retícula y abertura circular hacia el papel. */
.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}}

/* Retícula editorial de proyectos: tamaños y posiciones nacen de la cuadrícula. */
.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--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);
}
/* Dos filas horizontales: tres proyectos arriba y un par centrado abajo. */
.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--lobby{--card-ratio:1143/2048;--visual-width:clamp(106px,9.8vw,156px);--data-width:clamp(94px,6.5vw,116px)}
.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}

/* The rails are one component and retain every photograph without cropping it. */
.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:12px;will-change:transform}.rail-group{display:flex;flex:none;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}
@keyframes rail-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1*var(--rail-shift)),0,0)}}
@keyframes rail-right{from{transform:translate3d(calc(-1*var(--rail-shift)),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:min(100%,1680px);
  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}


/* Cierre integrado en la misma retícula: sin franja oscura, sombra ni elementos ficticios. */
.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)}

/* La composición de dos filas se simplifica cuando deja de caber con holgura. */
@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--lobby{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:3;width:min(100%,680px);justify-self:center}
}

/* Breakpoints follow available width, not device identity. */
@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--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--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-item{height:94px}.rail-track,.rail-group{gap:8px}
  .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--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-track{animation:none;transform:none}.rail{overflow-x:auto;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.visual-lightbox{transition:none}}
