/* Márcio Nicolau · conceito "Do projeto às chaves" · Estúdio Limen */
@font-face{font-family:"Archivo";src:url(fontes/archivo.woff2?v=9270f672a1) format("woff2");font-weight:500 800;font-stretch:100% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fontes/sans.woff2?v=aec74ff111) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}

:root{
  --fundo:#F4F5F2;
  --fundo-2:#E6E9E7;
  --branco:#FFFFFF;
  --marinho:#0E2C55;
  --marinho-2:#0A1F3D;
  --marinho-3:#173B6C;
  --tinta:#0E1F38;
  --tinta-2:#4A586B;
  --claro:#D3DCEA;
  --claro-2:#9FB0C9;
  --linha:rgba(14,44,85,.14);
  --linha-c:rgba(244,245,242,.18);
  --ambar:#F0A53A;
  --ambar-2:#F6BE67;
  --titulo:"Archivo","Arial Black",system-ui,sans-serif;
  --texto:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --g:clamp(16px,5vw,64px);
  --max:1320px;
  --cab:68px;
  --ease:cubic-bezier(.6,0,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 17px/1.6 var(--texto);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}
[id]{scroll-margin-top:calc(var(--cab) + 52px)}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

.rot{font:650 11.5px/1.35 var(--titulo);letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
.ic{width:18px;height:18px;flex:none}
.seta{display:inline-block;transition:transform .3s var(--ease)}
a:hover .seta{transform:translateX(5px)}

.previa{background:var(--marinho-2);text-align:center;padding:7px var(--g)}
.previa.rot{color:var(--claro)}

/* ---------- cabeçalho */
.cab{position:sticky;top:0;z-index:40;background:rgba(244,245,242,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.cab-in{display:flex;align-items:center;gap:28px;min-height:var(--cab)}
.marca{display:flex;flex-direction:column;gap:4px;text-decoration:none;margin-right:auto;min-width:0}
.marca-n{font:780 19px/1 var(--titulo);font-stretch:118%;color:var(--marinho);white-space:nowrap}
.marca .rot{font-size:10px;white-space:nowrap}
.menu{display:flex;gap:26px}
.menu a{position:relative;text-decoration:none;font:650 14px/1 var(--titulo);padding:8px 0;color:var(--marinho)}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ambar);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
.menu a:hover::after{transform:scaleX(1)}
@media (max-width:960px){.menu{display:none}}
@media (max-width:400px){.marca-n{font-size:17px}.marca .rot{font-size:9px;letter-spacing:.06em}}

/* ---------- botões */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:1.5px solid transparent;border-radius:999px;font:680 15px/1.1 var(--titulo);font-stretch:106%;text-decoration:none;text-align:center;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.bt-p{background:var(--marinho);color:#fff}
.bt-p:hover{background:var(--marinho-3)}
.bt-a{background:var(--ambar);color:var(--marinho-2)}
.bt-a:hover{background:var(--ambar-2)}
.bt-c{background:transparent;color:#fff;border-color:rgba(244,245,242,.45)}
.bt-c:hover{background:rgba(255,255,255,.1);border-color:#fff}
.bt-l{background:transparent;color:var(--marinho);border-color:var(--marinho)}
.bt-l:hover{background:var(--marinho);color:#fff}
.bt-g{width:100%}
.bt-xl{min-height:62px;padding:0 30px;font-size:17px}
.bt-xl .ic{width:22px;height:22px}
.cab .bt{min-height:44px;padding:0 18px;font-size:14px}
@media (max-width:400px){.cab .bt-wa{width:44px;padding:0}.cab .bt-wa span{display:none}}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:480px){.acoes .bt{flex:1 1 100%}}

/* ---------- animação: abertura (.abre + .go) e rolagem (.rev + .vis), com saída de emergência */
.js .abre{opacity:0;transform:translateY(22px)}
.js:not(.go) .abre{animation:socorro .6s 3s forwards}
.go .abre{opacity:1;transform:none;transition:opacity .9s var(--ease),transform 1s var(--ease)}
.go .a1{transition-delay:.05s}.go .a2{transition-delay:.2s}.go .a3{transition-delay:.45s}.go .a4{transition-delay:.7s}
.js .rev{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.js .rev.vis{opacity:1;transform:none}
@keyframes socorro{to{opacity:1;transform:none}}
.socorro .abre,.socorro .rev{opacity:1!important;transform:none!important;animation:none!important}

/* ---------- abertura (marinho, foto do Márcio) */
.hero{position:relative;background:var(--marinho);color:#fff;overflow:hidden;isolation:isolate}
.hero-foto{position:relative;height:min(64vh,500px)}
.hero-foto picture,.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 8%}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,44,85,0) 34%,rgba(14,44,85,.72) 72%,var(--marinho) 96%)}
.hero-nome{display:none;position:absolute;right:var(--g);z-index:2;background:rgba(10,31,61,.55);padding:7px 10px;border-radius:4px}
.hero .rot{color:var(--claro)}
.hero-in{position:relative;z-index:2;margin-top:-96px;padding-bottom:44px}
.hero-k{margin:0 0 16px}
.fit-box{container-type:inline-size}
.fit{margin:0;font-family:var(--titulo);font-weight:780;font-stretch:125%;font-size:calc(100cqi / var(--r) * var(--k,1));line-height:.93;letter-spacing:0;color:#fff}
.fit .l{display:block;width:max-content}
.fit b{color:var(--ambar);font-weight:inherit}
.hero-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--claro);max-width:31em;margin:22px 0 28px}
.hero-dest{display:block;position:relative;z-index:2;border-top:1px solid var(--linha-c);background:rgba(10,31,61,.6);text-decoration:none;color:#fff;transition:background .3s}
.hero-dest:hover{background:var(--marinho-2)}
.hero-dest-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-top:18px;padding-bottom:20px}
.hero-dest .rot{color:var(--ambar);width:100%}
.hd-n{font:760 20px/1.2 var(--titulo);font-stretch:112%}
.hd-l{color:var(--claro);font-size:15px}
.hero-dest .seta{margin-left:auto;color:var(--ambar);font-size:22px;line-height:1}
@media (min-width:960px){
  .hero{min-height:min(88vh,820px);display:flex;flex-direction:column}
  .hero-foto{position:absolute;top:0;right:0;bottom:0;width:46%;height:auto}
  .hero-foto img{object-position:50% 12%}
  .hero-foto::after{background:linear-gradient(to right,var(--marinho) 0%,rgba(14,44,85,0) 36%),linear-gradient(to bottom,rgba(14,44,85,0) 72%,var(--marinho) 100%)}
  .hero-nome{display:block;bottom:96px}
  .hero-in{margin-top:0;flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:64px;padding-bottom:64px}
  .hero-in>*{max-width:57%}
  .hero-dest .rot{width:auto}
}

/* ---------- linha do tempo "Do projeto às chaves" (barra no celular, trilho no computador) */
.trilho{position:fixed;z-index:35;top:var(--cab);left:0;right:0;height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--g);background:rgba(244,245,242,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .35s,visibility .35s,transform .35s}
.trilho.on{opacity:1;visibility:visible;transform:none}
.tr-linha{position:absolute;left:calc(var(--g) + 13px);right:calc(var(--g) + 79px);top:50%;height:2px;margin-top:-1px;background:var(--linha)}
.tr-fill{position:absolute;inset:0;background:var(--marinho);transform:scaleX(var(--f,0));transform-origin:0 50%}
.tr-e{position:relative;width:92px;display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--tinta-2);font:680 10.5px/1 var(--titulo);letter-spacing:.1em;text-transform:uppercase}
.tr-e span{background:rgba(244,245,242,.95);padding-right:6px}
.tr-e i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--fundo);border:1.5px solid var(--linha);color:var(--tinta-2);transition:background .3s,border-color .3s,color .3s}
.tr-e i .ic{width:14px;height:14px}
.tr-e.on{color:var(--marinho)}
.tr-e.on i{background:var(--marinho);border-color:var(--marinho);color:#fff}
.tr-e.agora i{background:var(--ambar);border-color:var(--ambar);color:var(--marinho-2)}
@media (min-width:1100px){
  .home .wrap{padding-left:max(var(--g),84px);padding-right:max(var(--g),84px)}
  .trilho{top:50%;left:20px;right:auto;width:34px;height:min(58vh,500px);flex-direction:column;justify-content:space-between;padding:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateY(-50%) translateX(-8px)}
  .trilho.on{transform:translateY(-50%)}
  .tr-linha{left:16px;right:auto;width:2px;top:15px;bottom:77px;height:auto;margin:0}
  .tr-fill{transform:scaleY(var(--f,0));transform-origin:50% 0}
  .tr-e{width:34px;height:92px;flex-direction:column;justify-content:flex-start;gap:8px}
  .tr-e i{width:32px;height:32px}
  .tr-e span{writing-mode:vertical-rl;transform:rotate(180deg);background:var(--fundo);padding:0 0 4px;transition:background .3s,color .3s}
  /* sobre a faixa marinho da obra, o trilho fica claro */
  .trilho.escuro .tr-linha{background:var(--linha-c)}
  .trilho.escuro .tr-fill{background:var(--claro)}
  .trilho.escuro .tr-e{color:var(--claro-2)}
  .trilho.escuro .tr-e span{background:var(--marinho)}
  .trilho.escuro .tr-e i{background:var(--marinho);border-color:var(--linha-c);color:var(--claro-2)}
  .trilho.escuro .tr-e.on{color:#fff}
  .trilho.escuro .tr-e.on i{background:var(--claro);border-color:var(--claro);color:var(--marinho)}
  .trilho.escuro .tr-e.agora i{background:var(--ambar);border-color:var(--ambar);color:var(--marinho-2)}
}

/* ---------- seções */
.sec{padding-top:clamp(80px,10vw,140px)}
.sec-p{padding-top:clamp(56px,7vw,96px)}
.sec-cab{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:clamp(30px,4vw,56px);max-width:920px}
.sec-cab h2{font:780 clamp(42px,6.6vw,96px)/.95 var(--titulo);font-stretch:122%;margin:0;color:var(--marinho);letter-spacing:-.005em}
.sec-cab .h-menor{font-size:clamp(30px,3.6vw,48px)}
@media (max-width:440px){.sec-cab h2,.sobre-h,.contato h2,.obra-t{font-size:9.4vw}.sec-cab .h-menor{font-size:7.6vw}.im-t{font-size:10.4vw}}
.sec-cab .lead{margin:0}
.lead{color:var(--tinta-2);font-size:clamp(17px,1.4vw,19px);max-width:36em}
.etapa{display:inline-flex;align-items:center;gap:10px;margin:0}
.etapa i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--marinho);color:#fff}
.etapa .ic{width:17px;height:17px}

/* ---------- cards */
.grade{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:44px 28px}
@media (min-width:700px){.grade-2,.grade-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.grade-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{min-width:0;display:flex}
.card-a{flex:1;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.card-foto{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--fundo-2)}
.card-foto picture,.card-foto img,.card-foto video{width:100%;height:100%;object-fit:cover}
.card-foto img,.card-foto video{transition:transform 1.4s var(--ease)}
.js .card.rev .card-foto img,.js .card.rev .card-foto video{transform:scale(1.08)}
.js .card.rev.vis .card-foto img,.js .card.rev.vis .card-foto video{transform:scale(1)}
.js .card.rev.vis .card-a:hover .card-foto img,.js .card.rev.vis .card-a:hover .card-foto video,.card-a:hover .card-foto img{transform:scale(1.04)}
.chip{position:absolute;top:12px;left:12px;z-index:2;font:680 11px/1 var(--titulo);letter-spacing:.08em;text-transform:uppercase;padding:8px 11px;border-radius:999px;background:var(--fundo);color:var(--marinho)}
.chip-pronto{background:var(--ambar);color:var(--marinho-2)}
.chip-planta,.chip-obra{background:var(--marinho);color:#fff}
.ilus{position:absolute;right:10px;bottom:10px;z-index:2;font:500 11px/1 var(--texto);color:#fff;background:rgba(10,31,61,.6);padding:5px 8px;border-radius:4px}
.card-txt{flex:1;display:flex;flex-direction:column;gap:6px;padding:16px 2px 0}
.card-t{font:760 24px/1.1 var(--titulo);font-stretch:112%;margin:0;color:var(--marinho)}
.card-l{display:flex;align-items:center;gap:6px;margin:0;color:var(--tinta-2);font-size:15.5px}
.card-l .ic{width:15px;height:15px;color:var(--marinho)}
.card-s{margin:0;font-size:15px}
.card-r{margin:4px 0 0;color:var(--tinta-2);font-size:16px;max-width:34em}
.card-pe{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--linha)}
.card-p{font:760 18px/1.15 var(--titulo);font-variant-numeric:tabular-nums;color:var(--marinho)}
.card-ver{flex:none;font:680 13px/1 var(--titulo);letter-spacing:.03em;color:var(--marinho)}
.card-txt>:nth-last-child(2){margin-bottom:12px}
@media (min-width:900px){
  .card-g{grid-column:1/-1}
  .card-g .card-a{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:44px;align-items:stretch}
  .card-g .card-foto{aspect-ratio:16/10}
  .card-g .card-txt{padding:6px 0 0}
  .card-g .card-t{font-size:clamp(34px,3.6vw,52px);line-height:1}
}

/* desenho do prédio (sem foto) */
.sem-foto{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;padding:8% 10% 0;background:var(--marinho);color:rgba(244,245,242,.85)}
.sem-foto .predio{height:100%;width:auto;max-width:100%}

/* ---------- destaque (Viva) */
.dest{position:relative;display:grid;grid-template-columns:minmax(0,1fr);background:var(--marinho);color:#fff;border-radius:12px;overflow:hidden;margin-bottom:56px}
@media (min-width:900px){.dest{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
.dest-foto{position:relative;display:block;min-height:340px;text-decoration:none}
.dest-foto picture,.dest-foto img,.dest-foto video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dest-foto .sem-foto{position:absolute;inset:0}
.dest>.falta{position:absolute;left:16px;top:56px;max-width:min(380px,calc(100% - 32px));margin:0;z-index:3}
@media (min-width:900px){.dest>.falta{max-width:calc(54% - 32px)}}
.dest-txt{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3.4vw,48px)}
.dest .rot{color:var(--ambar);margin:0}
.dest-t{font:780 clamp(34px,4vw,56px)/1 var(--titulo);font-stretch:118%;margin:0}
.dest-t a{text-decoration:none}
.dest-t a:hover{text-decoration:underline;text-decoration-color:var(--ambar);text-underline-offset:6px}
.dest-end{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--claro)}
.dest-end .ic{margin-top:3px;color:var(--ambar)}
.dest-d{margin:4px 0 6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--linha-c)}
.dest-d div{padding:11px 12px 11px 0;border-bottom:1px solid var(--linha-c);min-width:0}
.dest-d .largo{grid-column:1/-1}
.dest-d dt{font:650 10.5px/1.3 var(--titulo);letter-spacing:.1em;text-transform:uppercase;color:var(--claro-2)}
.dest-d dd{margin:3px 0 0;font-size:15.5px;line-height:1.35}
.dest .acoes{margin-top:auto}

/* ---------- pendências da prévia */
.falta{border:1.5px dashed var(--ambar);border-radius:8px;padding:12px 14px;background:#FDF3E3;color:var(--tinta);margin:24px 0}
.falta .rot{color:#8A560E}
.falta p{margin:4px 0 0;font-size:14.5px;line-height:1.45}

/* ---------- faixa da obra (prédio sobe com a rolagem) */
.obra{position:relative;background:var(--marinho);color:#fff;margin-top:clamp(80px,10vw,140px)}
.obra-cola{padding:96px 0}
.js .obra.anima{height:260vh}
.js .obra.anima .obra-cola{position:sticky;top:0;height:100vh;padding:calc(var(--cab) + 20px) 0 20px;display:flex;align-items:center;overflow:hidden}
.obra-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:center}
@media (min-width:900px){.obra-grade{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px}}
.obra .rot{color:var(--claro)}
.obra .etapa i{background:var(--ambar);color:var(--marinho-2)}
.obra-t{font:780 clamp(38px,6vw,88px)/.94 var(--titulo);font-stretch:125%;margin:14px 0 24px}
.obra-t span,.contato h2 span{display:block;color:var(--ambar)}
.passos{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha-c)}
.passos li{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linha-c);transition:opacity .4s}
.passos i{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--linha-c);transition:background .4s,border-color .4s,color .4s}
.passos b{font:760 19px/1.2 var(--titulo);font-stretch:112%}
.passos span{color:var(--claro);font-size:15px;line-height:1.4}
.js .obra.anima .passos li{opacity:.4}
.js .obra.anima .passos li.on{opacity:1}
.passos li.agora i,.obra:not(.anima) .passos li i{background:var(--ambar);border-color:var(--ambar);color:var(--marinho-2)}
.obra-agora{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center;margin-top:18px;padding:14px 18px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid var(--linha-c);text-decoration:none;color:#fff;transition:background .3s}
.obra-agora:hover{background:rgba(255,255,255,.13)}
.obra-agora .rot{color:var(--ambar)}
.obra-agora b{font:760 19px/1.2 var(--titulo);font-stretch:112%}
.obra-agora span:not(.rot){color:var(--claro);font-size:14.5px}
.obra-agora .seta{grid-column:2;grid-row:1/4;color:var(--ambar);font-size:22px}
.assin{margin:18px 0 0;font:650 13px/1.3 var(--titulo);letter-spacing:.06em;text-transform:uppercase;color:var(--claro-2)}
.obra-fig{margin:0;color:rgba(244,245,242,.9)}
.obra-fig .predio{display:block;margin:0 auto;height:min(70vh,560px);width:auto;max-width:100%}
@media (max-width:899px){
  .obra-fig .predio{height:30vh}
  .obra-t{margin:8px 0 12px}
  .passos li{padding:8px 0}
  .passos span{font-size:13.5px}
  .passos i{width:34px;height:34px}
  .obra-agora{margin-top:10px;padding:10px 14px}
  .assin{display:none}
  .js .obra.anima .obra-cola{padding-top:calc(var(--cab) + 52px)}
}
@media (max-width:899px) and (max-height:700px){.obra-fig .predio{height:22vh}.passos span{display:none}}

/* prédio em traço */
.predio{overflow:visible}
.predio path,.predio rect,.predio circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.predio .p-laje{fill:rgba(255,255,255,.04)}
.predio .p-jan{transition:fill .5s calc(var(--j,0) * 70ms),stroke .5s calc(var(--j,0) * 70ms)}
.predio.acesa .p-jan{fill:var(--ambar);stroke:var(--ambar)}
.predio .p-planta path{stroke:var(--ambar);stroke-dasharray:5 4}
.predio .p-planta,.predio .p-grua,.predio .p-chave{opacity:0;transition:opacity .6s}
.predio.f-planta .p-planta,.predio.f-obra .p-grua,.predio.f-chaves .p-chave{opacity:1}
.predio .p-chave path,.predio .p-chave circle{stroke:var(--ambar);stroke-width:2.2}
.predio .p-andar{transition:opacity .45s,transform .6s var(--ease)}
.predio.anima .p-andar{opacity:0;transform:translateY(18px)}
.predio.anima .p-andar.on{opacity:1;transform:none}

/* ---------- sobre */
.sobre-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
@media (min-width:960px){.sobre-grade{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}}
.sobre-t>.rot{margin:0 0 12px}
.sobre-h{font:780 clamp(42px,6.6vw,96px)/.95 var(--titulo);font-stretch:122%;margin:0 0 18px;color:var(--marinho)}
.sobre-q{font:720 clamp(24px,2.6vw,34px)/1.2 var(--titulo);font-stretch:110%;margin:0 0 14px;color:var(--marinho)}
.sobre-t .lead{margin:0}
.sobre-d{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0;border-top:2px solid var(--marinho)}
.sobre-d div{padding:12px 12px 12px 0;border-bottom:1px solid var(--linha);min-width:0}
.sobre-d dt,.ficha-d dt{font:650 10.5px/1.3 var(--titulo);letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
.sobre-d dd{margin:3px 0 0;font-size:15.5px;line-height:1.35}
.sobre-foto{margin:0}
.sobre-foto picture{border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.sobre-foto img{width:100%;height:100%;object-fit:cover}
.sobre-foto figcaption{margin-top:10px;font-size:14px;color:var(--tinta-2)}

/* ---------- contato */
.contato{margin-top:clamp(80px,10vw,140px);background:var(--marinho);color:#fff;padding:clamp(64px,9vw,120px) 0}
.contato .rot{color:var(--claro)}
.contato h2{font:780 clamp(40px,6.6vw,96px)/.95 var(--titulo);font-stretch:125%;margin:14px 0 32px}
.contato-l{list-style:none;margin:40px 0 0;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:16px 40px;border-top:1px solid var(--linha-c)}
.contato-l li{min-width:0}
.contato-l .rot{display:block;margin-bottom:4px;color:var(--claro-2)}
.contato-l a{color:#fff;font-size:17px;text-decoration-color:var(--ambar);text-underline-offset:4px;overflow-wrap:anywhere}

/* ---------- rodapé */
.rodape{background:var(--marinho-2);color:var(--claro);padding:40px 0 48px}
.rodape-in{display:grid;gap:10px}
.rodape p{margin:0}
.rodape-n{font:780 24px/1.15 var(--titulo);font-stretch:115%;color:#fff}
.rodape-assin{font:650 14px/1.3 var(--titulo);letter-spacing:.04em;color:var(--claro)}
.rodape-creci{font:720 15px/1.3 var(--titulo);letter-spacing:.06em;color:var(--ambar)}
.rodape-aviso{font-size:13px;color:var(--claro-2);max-width:64em}
.rodape .rot{color:#7F92AE}

/* ---------- página do imóvel */
.im-hero{position:relative;background:var(--marinho);color:#fff;min-height:clamp(440px,74vh,740px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.im-hero-midia{position:absolute;inset:0}
.im-hero-midia picture,.im-hero-midia img,.im-hero-midia video{width:100%;height:100%;object-fit:cover}
.im-hero-midia::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,31,61,.94) 0%,rgba(10,31,61,.45) 42%,rgba(10,31,61,.05) 72%,rgba(10,31,61,.35) 100%)}
.im-sem .im-hero-midia::after{background:linear-gradient(to top,rgba(10,31,61,.6),rgba(10,31,61,0) 50%)}
.im-sem .im-hero-midia .sem-foto{align-items:flex-start;justify-content:flex-end;padding:72px var(--g) 0;background:none}
.im-sem .im-hero-midia .predio{height:44%;max-width:44%}
@media (min-width:1040px){
  .im-sem .im-hero-midia .sem-foto{align-items:flex-end;padding:72px calc(var(--g) + 70px) 170px 0}
  .im-sem .im-hero-midia .predio{height:100%;max-width:40%}
}
.im-trilha{position:absolute;top:20px;left:0;right:0;z-index:3}
.trilha{display:inline-block;color:#fff;text-decoration:none;font:680 13px/1 var(--titulo);background:rgba(10,31,61,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:10px 14px;border-radius:999px}
.trilha:hover{background:var(--marinho-2)}
.ilus-hero{top:24px;bottom:auto;right:var(--g)}
@media (max-width:600px){.ilus-hero{top:auto;bottom:12px}}
.im-hero-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:96px;padding-bottom:44px}
.im-hero .chip{position:static}
.im-t{font:780 clamp(40px,7vw,104px)/.95 var(--titulo);font-stretch:120%;margin:0;max-width:15ch;overflow-wrap:break-word}
.im-l{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--claro);font-size:17px}
.im-l .ic{margin-top:4px;color:var(--ambar)}
@media (min-width:1040px){.im-hero-in{padding-right:420px}}

.im-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;padding-top:32px}
.ficha{position:relative;z-index:3;background:var(--branco);border:1px solid var(--linha);border-radius:12px;padding:20px;box-shadow:0 22px 44px -26px rgba(14,44,85,.4)}
@media (min-width:1040px){
  .im-grade{grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;padding-top:0}
  .ficha{grid-column:2;grid-row:1;position:sticky;top:calc(var(--cab) + 20px);margin-top:-150px}
  .im-corpo{grid-column:1;grid-row:1;padding-top:56px}
}
.ficha>.rot{margin:0}
.ficha-d{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0 0}
.ficha-d div{padding:11px 0;border-top:1px solid var(--linha);min-width:0}
.ficha-d div:not(.largo):nth-child(odd){padding-right:12px}
.ficha-d .largo{grid-column:1/-1}
.ficha-d dd{margin:3px 0 0;font-size:15.5px;line-height:1.35;color:var(--tinta)}
.ficha-d .valor dd{font:780 24px/1.15 var(--titulo);font-variant-numeric:tabular-nums;color:var(--marinho)}
.resp{display:flex;gap:14px;align-items:center;padding:14px 0;margin:4px 0 12px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.resp picture{width:56px;height:56px;flex:none;border-radius:50%;overflow:hidden;background:var(--fundo-2)}
.resp img{width:100%;height:100%;object-fit:cover}
.resp p{margin:0}
.resp-n{font:760 19px/1.15 var(--titulo);font-stretch:110%;color:var(--marinho);margin:3px 0 4px!important}
.ficha .bt+.bt{margin-top:10px}

.im-corpo{min-width:0}
.bloco{margin-bottom:clamp(48px,6vw,72px)}
.bloco-t{display:flex;justify-content:space-between;align-items:baseline;font:680 12px/1.3 var(--titulo);letter-spacing:.12em;text-transform:uppercase;color:var(--marinho);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--marinho)}
.bloco-t span{color:var(--tinta-2)}
.resumo{font:500 clamp(21px,2.1vw,27px)/1.4 var(--texto);margin:0;color:var(--tinta);max-width:34em}
.listas{display:grid;grid-template-columns:minmax(0,1fr);gap:40px 32px}
@media (min-width:700px){.listas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lista{list-style:none;margin:0;padding:0}
.lista li{position:relative;padding:10px 0 10px 24px;border-bottom:1px solid var(--linha);font-size:16px;line-height:1.4}
.lista li::before{content:"";position:absolute;left:2px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--ambar)}
.tempos li{display:flex;justify-content:space-between;gap:12px}
.tempos b{font:720 15px/1.4 var(--titulo);color:var(--marinho);white-space:nowrap}

.mapa{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--linha);background:var(--fundo-2)}
@media (max-width:600px){.mapa{aspect-ratio:4/3}}
.mapa-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background-image:radial-gradient(rgba(14,44,85,.16) 1px,transparent 1px);background-size:18px 18px}
.mapa-ph>.ic{width:36px;height:36px;color:var(--marinho)}
.mapa-end{margin:0;font:720 17px/1.3 var(--titulo);color:var(--marinho);max-width:26em}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapa-nota{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:10px 0 0;font-size:14px;color:var(--tinta-2)}
.mapa-nota a{color:var(--marinho);font-weight:600;text-decoration:none}
.mapa-nota a:hover{text-decoration:underline}

.figs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
.fig{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:zoom-in}
.fig picture{aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--fundo-2)}
.fig img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.fig:hover img{transform:scale(1.045)}
.fig-pl picture{background:#fff;border:1px solid var(--linha)}
.fig-pl img{object-fit:contain}
.fig-pl:hover img{transform:scale(1.02)}
.fig-c{display:block;margin-top:8px;font-size:14px;line-height:1.35;color:var(--tinta-2)}
.aviso{font-size:13px;color:var(--tinta-2);margin:0;max-width:60em}

.im-cta{background:var(--marinho);color:#fff;padding:clamp(48px,7vw,88px) 0;margin-top:clamp(56px,7vw,96px)}
.im-cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.im-cta-t{font:780 clamp(30px,4.4vw,60px)/1.02 var(--titulo);font-stretch:118%;margin:0;max-width:18ch}
.im-cta-t span{color:var(--ambar)}
@media (max-width:480px){.im-cta .bt{width:100%}}
.vizinhos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:28px;padding-bottom:28px}
.vizinhos a{display:flex;flex-direction:column;gap:6px;min-width:0;text-decoration:none}
.vizinhos a:last-child{text-align:right;align-items:flex-end}
.viz-n{font:760 clamp(18px,2.2vw,26px)/1.15 var(--titulo);font-stretch:110%;color:var(--marinho)}
.vizinhos a:hover .viz-n{text-decoration:underline;text-decoration-color:var(--ambar);text-underline-offset:5px}
.erro{min-height:50vh;padding-bottom:80px}
.erro .im-t{color:var(--marinho);max-width:none}

/* ---------- galeria em tela cheia */
.gal{position:fixed;inset:0;z-index:100;background:rgba(10,31,61,.97);color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;animation:gal-in .3s ease}
@keyframes gal-in{from{opacity:0}}
.gal-on,.gal-on body{overflow:hidden}
.gal-trilho{position:absolute;inset:60px 0 70px;overflow:hidden;cursor:grab}
.gal-trilho:active{cursor:grabbing}
.gal-s{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 12px;will-change:transform}
@media (min-width:900px){.gal-s{padding:0 96px}}
.gal-s picture{display:contents}
.gal-s img{width:100%;height:100%;max-width:1400px;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.gal-topo{position:absolute;top:0;left:0;right:0;height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--g);font:680 13px/1 var(--titulo);letter-spacing:.06em}
.gal-x{background:none;border:1px solid rgba(244,245,242,.35);border-radius:999px;min-height:42px;padding:0 16px;cursor:pointer;font:680 13px/1 var(--titulo)}
.gal-x:hover{border-color:#fff}
.gal-cap{position:absolute;left:0;right:0;bottom:0;height:70px;display:flex;align-items:center;justify-content:center;margin:0;padding:0 var(--g);text-align:center;font-size:15px;color:var(--claro)}
.gal-seta{display:none;position:absolute;top:50%;width:56px;height:56px;margin-top:-28px;border:1px solid rgba(244,245,242,.35);border-radius:50%;background:none;color:#fff;font:400 20px/1 var(--titulo);cursor:pointer;transition:background .2s,color .2s}
.gal-seta:hover{background:var(--ambar);border-color:var(--ambar);color:var(--marinho-2)}
@media (hover:hover) and (pointer:fine){.gal-seta{display:block}}
.gal-ant{left:20px}.gal-prox{right:20px}

.toast{position:fixed;left:50%;bottom:24px;z-index:120;transform:translateX(-50%);background:var(--marinho-2);color:#fff;padding:13px 20px;border-radius:999px;font:680 13px/1 var(--titulo);animation:gal-in .25s ease}

/* transição entre páginas (Chrome, Edge, Safari 18.2+) */
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .abre,.js .rev{opacity:1;transform:none}
  .js .card.rev .card-foto img,.js .card.rev .card-foto video{transform:none}
}
