/* Cota 96 · site-modelo Izynet */
/* Fontes self-hosted (Big Shoulders Display e Hanken Grotesk, Google Fonts, licença OFL) */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(../fonts/BigShouldersDisplay-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url(../fonts/BigShouldersDisplay-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/HankenGrotesk-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/HankenGrotesk-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --aco: #E4E7EA;        /* aço escovado: chão */
  --aco-2: #D5DADF;
  --tinta: #10151C;      /* azul-grafite */
  --tinta-2: #4E5964;
  --regua: rgba(16, 21, 28, .16);
  --ambar: #F2A93B;      /* indicador do elevador: só no painel escuro e no andar ativo */
  --ambar-claro: #F7BC5E;
  --painel: #0B0F14;
  --claro: #F1F3F5;
  --claro-2: #A7B0BA;
  --gutter: clamp(16px, 4.2vw, 64px);
  --f-sign: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --f-sans: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --ease-out: cubic-bezier(.25, 1, .5, 1);
  --ease-io: cubic-bezier(.76, 0, .24, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { margin: 0; background: var(--aco); color: var(--tinta); font-family: var(--f-sans); font-size: clamp(15px, 1.05vw, 17px); line-height: 1.55; -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, p, dl, dd, ol, ul, figure { margin: 0; padding: 0; }
ol, ul { list-style: none; }
::selection { background: var(--tinta); color: var(--ambar); }
:focus-visible { outline: 2px solid var(--tinta); outline-offset: 3px; border-radius: 3px; }
.hero :focus-visible, .elev :focus-visible, .visita :focus-visible, .hdr[data-theme="light"] :focus-visible { outline-color: var(--ambar); }
.un { text-transform: none; }
html { scrollbar-color: var(--tinta-2) var(--aco); scrollbar-width: thin; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--tinta); color: var(--aco); padding: 8px 12px; }
.skip:focus { left: 8px; }
.h-xl { font-family: var(--f-sign); font-weight: 800; text-transform: uppercase; font-size: clamp(52px, 8.6vw, 150px); line-height: .86; letter-spacing: -.01em; }
/* a máscara do SplitText corta acentos de caixa alta: folga em cima */
.h-xl > div, .visita__h > div { padding-top: .14em; margin-top: -.14em; }
.link { display: inline-flex; gap: .5em; align-items: center; font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.link::after { content: ""; width: 8px; height: 8px; background: var(--tinta); clip-path: polygon(50% 0, 100% 100%, 0 100%); transition: transform .25s var(--ease-out); }
.link:hover::after { transform: translateY(-3px); }

/* ---------- PAINEL (indicador do elevador) ---------- */
.painel { display: inline-grid; grid-auto-flow: column; align-items: center; gap: 10px; background: var(--painel); color: var(--ambar); border-radius: 10px; padding: 10px 16px; }
.painel__seta { width: 12px; height: 10px; background: currentColor; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.painel__andar { font-family: var(--f-sign); font-weight: 800; font-size: 40px; line-height: 1; letter-spacing: .02em; text-shadow: 0 0 14px rgba(242, 169, 59, .45); }
.painel__cota { grid-column: 1 / -1; font-size: 12px; color: var(--claro-2); letter-spacing: .04em; text-transform: uppercase; }
.painel__cota b { color: var(--ambar); font-weight: 600; }

/* ---------- LOADER ---------- */
.loader { display: none; }
.js .loader { position: fixed; inset: 0; z-index: 60; display: grid; place-content: center; justify-items: center; gap: 18px; background: var(--painel); color: var(--claro-2); }
.painel--loader { padding: 18px 28px; border: 1px solid rgba(241, 243, 245, .1); }
.painel--loader .painel__andar { font-size: 96px; }
.painel--loader .painel__seta { width: 22px; height: 18px; }
.loader__txt { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- HEADER ---------- */
.hdr { position: fixed; inset: 0 0 auto 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px var(--gutter); color: var(--tinta); font-size: 14px; font-weight: 500; transition: color .35s var(--ease-out); }
.hdr[data-theme="light"] { color: var(--claro); }
.hdr::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--aco); border-bottom: 1px solid var(--regua); opacity: 0; transition: opacity .35s var(--ease-out), background .35s var(--ease-out); }
.hdr[data-solid]::before { opacity: 1; }
.hdr[data-theme="light"][data-solid]::before, .hdr[data-theme="light"].is-open::before { background: var(--painel); border-color: rgba(241, 243, 245, .12); }
.hdr__brand { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-family: var(--f-sign); font-weight: 800; font-size: 22px; text-transform: uppercase; letter-spacing: .02em; }
.hdr__nav { display: flex; gap: 24px; }
.hdr__nav a { text-decoration: none; opacity: .85; transition: opacity .2s; }
.hdr__nav a:hover { opacity: 1; }
.hdr__menu { display: none; }

/* ---------- HERO ---------- */
.hero { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--painel); color: var(--claro); }
.hero__img, .hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__img img { object-fit: cover; object-position: 44% 50%; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 15, 20, .45), transparent 26%, transparent 62%, rgba(11, 15, 20, .6)); pointer-events: none; }
.hero__title { position: absolute; inset: 0; z-index: 1; font-family: var(--f-sign); font-weight: 900; text-transform: uppercase; font-size: clamp(110px, 15vw, 280px); line-height: .8; pointer-events: none; }
.hero__title span { position: absolute; display: block; }
.t-a { top: 13vh; left: var(--gutter); }
.t-b { bottom: 18vh; right: var(--gutter); }
.hero__intro { position: absolute; z-index: 1; left: var(--gutter); bottom: 7vh; max-width: 300px; font-size: 15px; font-weight: 500; }
.hero__hint { position: absolute; z-index: 1; right: var(--gutter); bottom: 7vh; display: grid; justify-items: end; gap: 8px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--claro); }
.painel--mini { padding: 6px 12px; gap: 8px; }
.painel--mini .painel__andar { font-size: 26px; }

/* ---------- ELEVADOR ---------- */
.elev { position: relative; height: 280vh; background: var(--painel); }
.elev__vistas { position: absolute; inset: 0; }
.elev__stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; color: var(--claro); }
.elev__vista { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.elev__vista.is-on { opacity: 1; transform: none; }
.elev__stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 15, 20, .72), rgba(11, 15, 20, .1) 45%, transparent 70%); pointer-events: none; }
.elev__caixilho { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.elev__caixilho path { stroke: var(--painel); fill: none; vector-effect: non-scaling-stroke; stroke-width: 10px; opacity: .9; }
.elev__poco { position: absolute; z-index: 2; left: var(--gutter); top: 50%; transform: translateY(-50%); height: min(62vh, 520px); width: 40px; }
.elev__eleva { width: 100%; height: 100%; overflow: visible; }
.elev__eleva rect { fill: none; stroke: rgba(241, 243, 245, .38); stroke-width: 1; vector-effect: non-scaling-stroke; }
.elev__eleva rect.is-past { fill: rgba(242, 169, 59, .22); stroke: rgba(242, 169, 59, .55); }
.elev__marca { position: absolute; left: -10px; width: 60px; height: 2px; background: var(--ambar); box-shadow: 0 0 12px var(--ambar); bottom: 0; }
.painel--elev { position: absolute; z-index: 2; left: calc(var(--gutter) + 72px); top: 50%; transform: translateY(-50%); padding: 16px 22px; row-gap: 6px; grid-auto-flow: row; grid-template-columns: auto auto; grid-template-areas: "seta andar" "cota cota"; }
.painel--elev .painel__seta { grid-area: seta; }
.painel--elev .painel__andar { grid-area: andar; }
.painel--elev .painel__cota { grid-area: cota; }
.painel--elev .painel__andar { font-size: clamp(72px, 7vw, 120px); }
.painel--elev .painel__seta { width: 20px; height: 16px; align-self: start; margin-top: 14px; }
.elev__paradas { position: absolute; z-index: 2; right: var(--gutter); bottom: 12vh; width: min(380px, 40vw); }
.elev__paradas li { position: absolute; bottom: 0; right: 0; left: 0; display: grid; gap: 8px; opacity: 0; transform: translateY(16px); transition: opacity .5s var(--ease-out), transform .6s var(--ease-out); background: rgba(11, 15, 20, .74); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); padding: 18px 20px; border-radius: 12px; border-top: 2px solid var(--ambar); }
.elev__paradas li.is-on { opacity: 1; transform: none; }
.elev__paradas strong { font-family: var(--f-sign); font-weight: 800; text-transform: uppercase; font-size: 26px; letter-spacing: .01em; color: var(--claro); }
.elev__paradas span { color: var(--claro); opacity: .88; font-size: 15px; }
html:not(.js) .elev { height: auto; }
html:not(.js) .elev__stage { position: relative; height: auto; }
html:not(.js) .elev__vista { position: relative; height: 60vh; opacity: 1; transform: none; }
html:not(.js) .elev__paradas { position: relative; width: auto; right: auto; bottom: auto; padding: 24px var(--gutter); display: grid; gap: 12px; }
html:not(.js) .elev__paradas li { position: relative; opacity: 1; transform: none; }
html:not(.js) .elev__caixilho, html:not(.js) .elev__poco, html:not(.js) .painel--elev, html:not(.js) .elev__stage::after { display: none; }

/* ---------- MANIFESTO ---------- */
.manifesto { padding: clamp(110px, 18vh, 200px) var(--gutter) clamp(90px, 14vh, 160px); }
.manifesto__text { font-family: var(--f-sign); font-weight: 700; text-transform: uppercase; font-size: clamp(36px, 5vw, 86px); line-height: .98; letter-spacing: .005em; max-width: 19ch; }
.manifesto__foot { margin: clamp(48px, 9vh, 96px) 0 0 auto; max-width: 420px; display: grid; gap: 22px; padding-top: 18px; border-top: 1px solid var(--regua); }
.manifesto__foot p { color: var(--tinta-2); }

/* ---------- PLANTAS ---------- */
.plantas { padding: clamp(80px, 12vh, 140px) var(--gutter); background: var(--aco-2); }
.plantas__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px; padding-bottom: 28px; border-bottom: 1px solid var(--regua); }
.plantas__head p { color: var(--tinta-2); font-weight: 500; }
.plantas__grid { display: grid; grid-template-columns: auto 1fr; gap: clamp(28px, 5vw, 80px); padding-top: clamp(32px, 6vh, 64px); }
.botoeira { display: grid; align-self: start; align-content: start; gap: 18px; padding: 22px; background: var(--aco); border: 1px solid var(--regua); border-radius: 18px; }
.botoeira button { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: 64px auto; align-items: center; gap: 14px; }
.bt { display: flex; align-items: center; justify-content: center; white-space: nowrap; width: 64px; height: 64px; border-radius: 50%; font-family: var(--f-sign); font-weight: 800; font-size: 18px; color: var(--tinta); background: var(--claro); border: 2px solid var(--tinta-2); transition: box-shadow .25s var(--ease-out), border-color .25s, transform .12s var(--ease-out); }
.bt i { font-style: normal; opacity: .6; }
.bt-l { font-weight: 600; }
.botoeira button:active .bt { transform: scale(.96); }
.botoeira button[aria-selected="true"] .bt { border-color: var(--tinta); box-shadow: 0 0 0 3px var(--ambar); }
.botoeira button:focus-visible .bt { outline: 2px solid var(--tinta); outline-offset: 4px; }
.planta { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.planta[hidden] { display: none; }
.planta__svg { width: 100%; height: auto; }
.planta .pl path { fill: none; stroke: var(--tinta); stroke-width: 2; }
.planta .pl .pl-ext { stroke-width: 6; }
.planta .pl-portas path { fill: none; stroke: var(--tinta-2); stroke-width: 1.2; }
.plantas__selo { margin-top: 14px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-2); font-weight: 600; }
.planta .pl-t text { fill: var(--tinta-2); font-family: var(--f-sans); font-size: 15px; font-weight: 500; }
.ficha { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--regua); }
.ficha > div { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--regua); }
.ficha dt { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-2); font-weight: 600; }
.ficha dd { font-family: var(--f-sign); font-weight: 800; font-size: clamp(28px, 2.6vw, 42px); line-height: 1.05; text-transform: uppercase; }

/* ---------- ESPAÇOS ---------- */
.espacos { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); padding: clamp(90px, 14vh, 160px) var(--gutter); }
.espaco { overflow: hidden; position: relative; background: var(--aco-2); }
.espaco img { width: 100%; height: 116%; object-fit: cover; }
.espaco--a { grid-column: 1 / span 8; aspect-ratio: 16 / 10; }
.espaco--b { grid-column: 6 / span 7; aspect-ratio: 4 / 3; margin-top: -12vh; z-index: 1; box-shadow: 0 24px 60px -30px rgba(16, 21, 28, .6); }
.espaco figcaption { position: absolute; left: 0; bottom: 0; right: 0; padding: 16px 18px; color: var(--claro); background: linear-gradient(0deg, rgba(11, 15, 20, .78), transparent); font-size: 14px; }
.espaco figcaption strong { display: block; font-family: var(--f-sign); font-weight: 800; font-size: 26px; text-transform: uppercase; }
.espacos__lista { grid-column: 1 / span 5; grid-row: 2; align-self: start; border-top: 1px solid var(--regua); }
.espacos__lista li { padding: 12px 0; border-bottom: 1px solid var(--regua); font-weight: 500; }

/* ---------- FICHA TÉCNICA ---------- */
.ficha-tec { padding: 0 var(--gutter) clamp(90px, 14vh, 160px); display: grid; gap: clamp(28px, 5vh, 56px); }
.ficha--grande { grid-template-columns: repeat(3, 1fr); }
.ficha--grande dd { font-size: clamp(34px, 4vw, 68px); }
.ficha--grande a { text-decoration: none; border-bottom: 2px solid var(--tinta); transition: border-color .25s; }
.ficha--grande a:hover { border-color: var(--ambar); }

/* ---------- OBRA ---------- */
.obra { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(28px, 6vw, 96px); align-items: center; padding: clamp(90px, 14vh, 160px) var(--gutter); background: var(--aco-2); }
.obra__txt { display: grid; gap: 22px; max-width: 520px; }
.obra__status { font-family: var(--f-sign); font-weight: 700; font-size: clamp(26px, 2.4vw, 38px); text-transform: uppercase; line-height: 1.05; }
.obra__n { background: var(--ambar); padding: 0 .15em; border-radius: 4px; }
.obra__txt p:last-child { color: var(--tinta-2); }
.obra__eleva { width: clamp(130px, 14vw, 200px); height: auto; }
.obra__eleva rect { fill: none; stroke: var(--tinta); stroke-width: 1.2; }
.obra__eleva rect.is-feito { fill: var(--tinta); }
.obra__eleva text { fill: var(--tinta-2); font-family: var(--f-sans); font-size: 12px; }

/* ---------- VISITA ---------- */
.visita { position: relative; overflow: hidden; background: var(--painel); color: var(--claro); padding: clamp(110px, 18vh, 200px) var(--gutter) 28px; }
.visita ::selection { background: var(--ambar); color: var(--painel); }
.painel--status { border: 1px solid rgba(241, 243, 245, .14); font-size: 14px; color: var(--claro); gap: 10px; padding: 8px 14px; border-radius: 999px; }
.status__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--claro-2); }
.painel--status.is-aberto .status__dot { background: var(--ambar); box-shadow: 0 0 10px var(--ambar); }
.visita__h { margin-top: 28px; font-family: var(--f-sign); font-weight: 800; text-transform: uppercase; font-size: clamp(42px, 6vw, 104px); line-height: .92; max-width: 15ch; }
.visita__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 48px); margin-top: clamp(48px, 9vh, 96px); padding-top: 20px; border-top: 1px solid rgba(241, 243, 245, .18); }
.visita__grid h3 { font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.visita__grid p { color: var(--claro-2); }
.visita__mail { font-family: var(--f-sign); font-weight: 700; font-size: clamp(26px, 2.6vw, 42px); text-decoration: none; border-bottom: 1px solid var(--claro-2); transition: border-color .25s; word-break: break-word; }
.visita__mail:hover { border-color: var(--ambar); }
.visita__marca { font-family: var(--f-sign); font-weight: 900; text-transform: uppercase; font-size: 30vw; line-height: .78; margin: clamp(40px, 8vh, 90px) 0 0 -.5vw; white-space: nowrap; color: transparent; -webkit-text-stroke: 1px rgba(241, 243, 245, .2); user-select: none; }
.rodape { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 40px; border-top: 1px solid rgba(241, 243, 245, .18); padding: 16px 0 88px; margin-top: 18px; font-size: 12px; color: var(--claro-2); }
.rodape p { max-width: 72ch; }
.rodape strong, .rodape a { color: var(--claro); }

/* ---------- CTA ---------- */
.cta { position: fixed; left: 50%; bottom: 18px; z-index: 45; display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(11, 15, 20, .35); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transform: translateX(-50%); transition: opacity .35s var(--ease-out), visibility .35s; }
.cta a { display: inline-flex; align-items: center; justify-content: center; height: 46px; border-radius: 999px; background: var(--ambar); color: var(--painel); text-decoration: none; font-weight: 700; font-size: 14px; transition: transform .15s var(--ease-out), background .2s; }
.cta__pill { padding: 0 22px; white-space: nowrap; }
.cta__dot { width: 46px; }
.cta a:hover { background: var(--ambar-claro); }
.cta a:active { transform: scale(.97); }
.cta.is-off { opacity: 0 !important; visibility: hidden; }

/* estados iniciais (só com JS) */
.js .hero__title span { opacity: 0; }
.js .hdr, .js .cta { opacity: 0; }
/* rede de segurança: se a CDN pendurar, em 5s o conteúdo aparece mesmo assim */
.js .loader { animation: some 0s 5s forwards; }
.js .hero__title span, .js .hdr, .js .cta { animation: mostra 0s 5s forwards; }
@keyframes some { to { opacity: 0; visibility: hidden; } }
@keyframes mostra { to { opacity: 1; } }

@media (max-width: 899px) {
  .plantas__grid { grid-template-columns: 1fr; }
  .botoeira { grid-auto-flow: column; justify-content: start; gap: 12px; padding: 14px; }
  .botoeira button { grid-template-columns: 56px; justify-items: center; gap: 6px; }
  .bt { width: 56px; height: 56px; font-size: 18px; }
  [data-p="tipo"] .bt { font-size: 13px; }
  .planta .pl-t text { font-size: 22px; }
  .bt-l { font-size: 13px; }
  .planta { grid-template-columns: 1fr; }
  .espacos { grid-template-columns: 1fr; }
  .espaco--a, .espaco--b, .espacos__lista { grid-column: 1; grid-row: auto; margin-top: 0; }
  .ficha--grande { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 699px) {
  .hdr { flex-wrap: wrap; padding: 12px var(--gutter); }
  .hdr__menu { display: block; font: inherit; font-size: 13px; font-weight: 600; color: inherit; background: none; border: 1px solid currentColor; border-radius: 999px; padding: 6px 12px; cursor: pointer; }
  .hdr__nav { display: none; order: 3; flex-basis: 100%; flex-direction: column; gap: 0; }
  .hdr.is-open .hdr__nav { display: flex; }
  .hdr.is-open::before { opacity: 1; }
  .hdr__nav a { padding: 12px 0; border-top: 1px solid rgba(127, 127, 127, .3); font-size: 19px; }
  .hero__img img { object-position: 36% 50%; }
  .hero__title { font-size: 36vw; }
  .t-a { top: 11vh; }
  .t-b { bottom: 20vh; }
  .hero__intro { bottom: 12vh; max-width: 52vw; font-size: 14px; }
  .hero__hint { top: auto; bottom: 12vh; right: var(--gutter); }
  .elev { height: 260vh; }
  .elev__poco { top: 96px; transform: none; height: 44vh; width: 22px; left: 14px; }
  .elev__marca { width: 36px; left: -7px; }
  .painel--elev { top: 96px; transform: none; left: 52px; padding: 10px 14px; }
  .painel--elev .painel__andar { font-size: 64px; }
  .painel--elev .painel__seta { margin-top: 8px; width: 14px; height: 12px; }
  .elev__paradas { left: var(--gutter); right: var(--gutter); width: auto; bottom: 13vh; }
  .elev__stage::after { background: linear-gradient(180deg, rgba(11, 15, 20, .6), transparent 40%, transparent 55%, rgba(11, 15, 20, .55)); }
  .obra { grid-template-columns: 1fr; justify-items: start; }
  .visita__grid { grid-template-columns: 1fr; }
  .cta { bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
