@font-face {
  font-family: "Space Grotesk";
  src: url("./assets/fonts/SpaceGrotesk-var.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
* {
  box-sizing: border-box;
}
html {
  background: var(--paper);
  scroll-behavior: auto;
}
body {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}
button,
a,
input,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button,
a {
  touch-action: manipulation;
}
button {
  font: inherit;
  color: inherit;
  cursor: pointer;
}
button:disabled {
  cursor: default;
}
button,
a {
  outline-offset: 7px;
}
button:focus-visible,
a:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--ink);
}
a {
  color: inherit;
  text-decoration: none;
}
svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  flex-shrink: 0;
}
button {
  border: 0;
  background: none;
}
button:hover svg,
a:hover svg {
  transform: translate(2px, -2px);
}
svg {
  transition: transform var(--duration) var(--ease);
}
.skip {
  position: fixed;
  z-index: 20;
  left: 20px;
  top: -100px;
  padding: 14px;
  background: var(--ink);
  color: var(--paper);
}
.skip:focus {
  top: 16px;
}
dialog {
  border: 0;
  padding: 48px;
  max-width: 560px;
  width: calc(100% - 32px);
  max-height: calc(100svh - 32px);
  overflow: auto;
  background: #f0ebe1;
  color: var(--paper);
  border-radius: 3px;
  box-shadow: 0 20px 80px #0006;
}
dialog::backdrop {
  background: #1d120fba;
}
.dialog-close {
  position: absolute;
  right: 16px;
  top: 16px;
  padding: 12px;
}
.dialog-brand {
  font-size: 29px;
  letter-spacing: -0.08em;
  font-weight: 500;
}
dialog h2 {
  font-size: 42px;
  line-height: 1.08;
  letter-spacing: -0.05em;
  font-weight: 500;
  margin: 34px 0 20px;
}
dialog p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 28px;
}
dialog label {
  font-size: 14px;
  display: block;
  margin-bottom: 10px;
}
dialog label span {
  opacity: 0.65;
}
textarea {
  width: 100%;
  resize: vertical;
  font: inherit;
  font-size: 15px;
  padding: 14px;
  background: #fff9;
  color: var(--paper);
  border: 1px solid #746354;
  border-radius: 2px;
  line-height: 1.5;
}
dialog :focus-visible {
  outline-color: #8a452a;
}
.advisors {
  display: grid;
  gap: 9px;
  margin-top: 24px;
}
.advisors a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 16px;
  background: var(--paper);
  color: var(--ink);
  font-size: 14px;
  min-height: 56px;
}
.advisors a + a {
  background: transparent;
  color: var(--paper);
  border: 1px solid #746354;
}
dialog small {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 18px;
  color: #69574a;
}
body.dialog-open {
  overflow: hidden;
}

.hero{height:270svh;position:relative}
.hero-stage{height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden;background:#23271f;isolation:isolate}
.material{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
.room,.camera{position:absolute;inset:0}.room{opacity:0;visibility:hidden;overflow:hidden}.room-first{opacity:1;visibility:visible}.camera{transform-origin:50% 62%;will-change:transform}
.architecture{position:absolute;display:block;left:var(--image-x,0);top:var(--image-y,0);width:var(--image-width,100%);height:var(--image-height,100%)}
.architecture img{display:block;width:100%;height:100%;object-fit:cover}.foreground{clip-path:url(#island-front);z-index:2}
.monument{position:absolute;left:4.5%;width:91%;top:29%;z-index:1;transform-origin:50% 100%;will-change:transform,opacity;pointer-events:none}.monument img{width:100%;height:auto;display:block;filter:invert(1)}
.clip-defs{position:absolute;width:0;height:0;overflow:hidden}
.reading-surface{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#121710b3,#12171099 16%,transparent 36%,transparent 56%,#10160d5c 69%,#11160ee6 100%)}
.header{height:104px;padding:24px 3.5vw;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:3}.brand{display:flex;align-items:center;min-height:44px;width:112px}.brand img{display:block;width:100%;height:auto;filter:invert(1)}
.main-nav{display:flex;align-items:center;gap:29px;margin-left:60px;font-size:12px}.main-nav a,.main-nav button{position:relative;padding:12px 0;min-height:44px;display:flex;align-items:center;gap:6px}.nav-current::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:currentColor}.main-nav button:hover,.main-nav a:hover{opacity:.75}
.consult{display:flex;align-items:center;gap:26px;font-size:12px;min-height:44px;padding:5px 5px 5px 19px;background:#f4f1e9;color:#242820;border-radius:40px}.round-arrow{width:34px;height:34px;border-radius:50%;background:#242820;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.round-arrow svg{height:17px;width:17px}
.hero-kicker{position:absolute;left:3.5vw;right:3.5vw;top:132px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;line-height:1.4;color:#fff;pointer-events:none}
.hero-copy{position:absolute;left:3.5vw;right:3.5vw;bottom:102px;display:flex;justify-content:space-between;align-items:flex-end;gap:50px}
.hero-copy h1{font-size:clamp(40px,4.1vw,74px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:0;color:#fff}.manifesto>p{font-size:13px;line-height:1.5;color:#e2e4d9;margin:15px 0 0}.manifesto>p br{display:none}
.eyebrow{display:block;font-size:9px;letter-spacing:.16em;line-height:1.4;margin-bottom:15px}.invitation{width:305px;flex-shrink:0}.invitation>p{font-size:14px;line-height:1.5;margin:0 0 21px;color:#eef0e5}.cta{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f4f1e9;color:#242820;padding:7px 9px 7px 20px;font-size:13px;font-weight:500;border-radius:40px;width:100%;transition:background .2s}.cta:hover,.consult:hover{background:#fff}
.scene-footer{position:absolute;left:3.5vw;right:3.5vw;bottom:20px;border-top:1px solid #f4efe63a;padding-top:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.scene-caption{display:flex;align-items:center;gap:12px;font-size:11px}.scene-code{font-size:12px;font-weight:600}.scene-type{opacity:.66;font-size:10px}.caption-divider{height:12px;width:1px;background:#ffffff40}
.scene-nav{display:flex;gap:10px;align-items:center}.scene-nav button{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 3px;opacity:.5;font-size:10px;font-variant-numeric:tabular-nums}.scene-nav i{display:block;width:26px;height:2px;background:#fff6;position:relative}.scene-nav i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}.scene-nav button[aria-pressed="true"]{opacity:1}.scene-nav button[aria-pressed="true"] i::after{transform:scaleX(1)}
.next-scene{display:flex;justify-self:end;gap:20px;align-items:center;min-height:44px;padding:8px 0;font-size:8px;letter-spacing:.12em}.next-scene svg{width:16px;height:16px}.next-scene:hover svg{transform:translateY(3px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dialog-logo{display:block;width:113px;height:auto}.patterns-dialog{max-width:950px;padding:44px;display:grid;grid-template-columns:1fr 1.15fr;column-gap:48px}.patterns-dialog:not([open]){display:none}.patterns-intro{align-self:center}.patterns-intro h2{font-size:46px}.patterns-intro p{font-size:15px;max-width:280px}.pattern-screen{position:relative;grid-column:2;grid-row:1 / 3;aspect-ratio:1;background:#c6bda7;align-self:center;overflow:hidden}.pattern-screen img,.pattern-screen video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.pattern-screen video{opacity:0}.pattern-screen[data-ready="true"] video{opacity:1}.pattern-options{grid-column:2;display:flex;flex-wrap:wrap;gap:4px;margin-top:16px}.pattern-options button{min-height:44px;padding:8px 10px;font-size:11px;border-bottom:1px solid transparent}.pattern-options button[aria-pressed="true"]{border-bottom-color:#281d18}.pattern-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-size:13px;line-height:1.4;grid-column:1;grid-row:2;align-self:end;min-height:54px;border-top:1px solid #a19385;padding:15px 0}
.catalog-link{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.4;border-bottom:1px solid #b6a998;min-height:44px;padding:12px 0;max-width:280px}.patterns-intro p{margin-bottom:14px}
@media(max-height:720px) and (min-width:761px){.header{height:84px;padding-top:18px;padding-bottom:18px}.hero-kicker{top:108px}.hero-copy{bottom:85px}.hero-copy h1{font-size:46px}.manifesto>p{margin-top:10px}.scene-footer{bottom:10px;padding-top:8px}.invitation>p{margin-bottom:13px}.invitation .eyebrow{display:none}}
@media(max-width:760px){
 .hero{height:240svh}.hero-stage{min-height:100svh}.material{height:min(76svh,690px);bottom:auto}.header{height:80px;padding:17px 22px;gap:16px}.brand{width:93px}.consult{font-size:11px;gap:14px;padding:4px 4px 4px 14px;min-height:44px}.consult .round-arrow{width:31px;height:31px}.desktop-word{display:none}
 .main-nav{position:absolute;left:22px;right:22px;top:84px;margin:0;gap:26px;font-size:10px}.main-nav a,.main-nav button{min-height:44px;padding:10px 0}.main-nav a:last-child{margin-left:auto}.main-nav .nav-current::after{bottom:5px}
 .hero-kicker{left:22px;right:22px;top:153px;font-size:7px;letter-spacing:.12em}.hero-kicker span:last-child{display:none}.monument{left:5%;width:90%}
 .reading-surface{background:linear-gradient(180deg,#141b13b3,#141b1399 16%,transparent 34%,transparent 48%,#1c241960 61%,#20261df5 76%,#20261d 100%)}
 .hero-copy{left:22px;right:22px;bottom:94px;display:block}.hero-copy h1{font-size:clamp(42px,11.8vw,62px);line-height:1.03;letter-spacing:-.055em}.manifesto>p{font-size:12px;margin-top:12px;line-height:1.5}.manifesto>p br{display:none}.invitation{width:100%;margin-top:20px}.invitation>.eyebrow,.invitation>p{display:none}.cta{min-height:50px;font-size:12px;padding:7px 8px 7px 19px}.cta .round-arrow{width:33px;height:33px}
 .scene-footer{left:22px;right:22px;bottom:14px;padding-top:9px;grid-template-columns:1fr auto;gap:8px}.scene-caption{gap:9px;font-size:10px}.scene-code{font-size:11px}.scene-type,.caption-divider,.next-scene{display:none}.scene-nav{gap:8px}.scene-nav button{font-size:9px;gap:5px}.scene-nav i{width:16px}
 dialog{padding:34px 24px}.patterns-dialog{display:flex;flex-direction:column;gap:0;max-width:460px;padding:35px 22px 24px}.patterns-intro h2{font-size:32px;margin:10px 0 12px}.patterns-intro{align-self:stretch}.patterns-intro .eyebrow{padding-right:22px}.patterns-intro p{font-size:13px;line-height:1.45;margin-bottom:20px;max-width:none}.pattern-screen{width:100%;flex-shrink:0}.pattern-options{justify-content:space-between;margin:8px 0 12px;gap:0}.pattern-options button{font-size:10px;padding:8px 6px}.pattern-contact{align-self:stretch;font-size:12px}.patterns-dialog .dialog-close{right:5px;top:5px}dialog h2{font-size:34px}.catalog-link{margin-bottom:18px;max-width:none}
}
@media(max-width:760px) and (max-height:700px){.header{height:66px;padding:12px 20px}.brand{width:80px}.main-nav{top:65px;left:20px;right:20px;gap:20px}.hero-kicker{display:none}.material{height:76svh}.hero-copy{left:20px;right:20px;bottom:77px}.hero-copy h1{font-size:36px}.manifesto>p{font-size:11px;margin-top:9px;max-width:240px}.invitation{margin-top:14px}.cta{min-height:46px}.scene-footer{left:20px;right:20px;bottom:6px;padding-top:6px}.scene-caption{font-size:9px;gap:7px}.scene-nav{gap:6px}.scene-nav i{width:12px}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.hero-stage{position:relative}.camera,.monument{transform:none!important}.pattern-screen video{display:none}.next-scene span{font-size:0}.next-scene span::after{content:"SIGUIENTE ESPACIO";font-size:8px}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.scene-nav button{min-width:44px}

.main-nav svg{width:12px;height:12px}

