/* ==========================================================================
   OTREBOR ENGENHARIA — sistema de design
   Um arquivo só. Todas as páginas apontam para ele.
   ========================================================================== */

:root{
  --paper:#FBFAF8;--shell:#F2F0EB;--ink:#14232B;--deep:#0A141A;--mute:#637077;
  --brass:#A8926B;--brass-soft:rgba(168,146,107,.38);--brass-dim:rgba(168,146,107,.24);
  --seal:#C8102E;--font:'Montserrat',system-ui,-apple-system,sans-serif;
  --pad:clamp(1.5rem,6vw,7rem);--maxw:1500px;--r:8px;
  --ease:cubic-bezier(.16,1,.3,1);--micro:.75rem;--small:.8125rem;
  --preview:clamp(11rem,17vw,15rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;
  font-size:1.0625rem;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--brass);outline-offset:4px}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.label{font-size:var(--micro);font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--brass);display:block}
.h2{font-weight:400;letter-spacing:-.03em;line-height:1.1;font-size:clamp(1.9rem,4.5vw,3.4rem)}
.h2 b{font-weight:700}
.sec{padding-block:clamp(4.5rem,10vw,9rem)}
.sec--tight{padding-block:clamp(3.5rem,7vw,6rem)}
.sec__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;
  gap:1.75rem 3rem;margin-bottom:clamp(2.75rem,6vw,4.5rem);
  padding-bottom:1.75rem;border-bottom:1px solid var(--brass-dim)}
.sec__head h2{max-width:22ch}
.sec__head .label{margin-bottom:1.2rem}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:.65rem;font-size:var(--small);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:1rem 1.75rem;border-radius:100px;
  border:0;cursor:pointer;background:var(--ink);color:var(--paper);white-space:nowrap;
  font-family:inherit;transition:background .35s,gap .35s,transform .35s}
.btn:hover{background:var(--brass);gap:1rem;transform:translateY(-1px)}
.btn--wa{background:#1FA855}
.btn--wa:hover{background:#25D366;color:var(--deep)}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--brass-soft)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* ---------- abertura ---------- */
.intro{position:fixed;inset:0;z-index:200;background:var(--paper);
  display:grid;place-items:center;transition:opacity .8s ease,visibility .8s}
.intro.done{opacity:0;visibility:hidden}
.intro__box{display:flex;flex-direction:column;align-items:center;gap:1.6rem;
  opacity:0;animation:markIn .9s var(--ease) .1s forwards}
.intro__box img{width:clamp(5rem,12vw,7rem)}
.intro__bar{width:min(9rem,34vw);height:1px;background:var(--brass-dim);position:relative;overflow:hidden}
.intro__bar i{position:absolute;inset:0;background:var(--brass);
  transform:scaleX(0);transform-origin:left;animation:load 1.5s var(--ease) forwards}
@keyframes markIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes load{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .intro__box{opacity:1;animation:none}.intro__bar i{animation:none;transform:scaleX(1)}
}

/* ---------- cabeçalho ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;
  justify-content:space-between;gap:2rem;padding:1.25rem var(--pad);transition:background .4s,padding .4s}
.hdr.stuck{background:rgba(10,20,26,.92);backdrop-filter:blur(16px);
  padding-block:.85rem;border-bottom:1px solid var(--brass-dim)}
.brand{position:relative;display:block;width:clamp(3rem,5vw,3.75rem);flex:none;aspect-ratio:1}
.brand img{width:100%}
.nav{display:flex;gap:2.5rem}
.nav a{font-size:var(--small);font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(251,250,248,.92);transition:opacity .3s}
.nav a:hover,.nav a[aria-current="page"]{opacity:.55}
.nav a[aria-current="page"]{color:var(--brass);opacity:1}
.burger{display:none;background:none;border:0;cursor:pointer;color:var(--paper);padding:.5rem}
.burger rect{fill:currentColor}

/* ---------- hero da home ---------- */
.hero{position:relative;height:90svh;min-height:34rem;display:flex;align-items:flex-end;
  background:var(--deep);overflow:hidden}
.hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  animation:drift 18s var(--ease) forwards}
@keyframes drift{from{transform:scale(1.07)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero__media{animation:none}}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,20,26,.44) 0%,rgba(10,20,26,.04) 40%,rgba(10,20,26,.66) 100%)}
.hero__in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:0 var(--pad) clamp(3rem,8vh,5.5rem)}
.hero__rule{display:block;width:3.5rem;height:1px;background:var(--brass);margin-bottom:1.75rem}
.hero h1{color:var(--paper);font-weight:400;letter-spacing:-.035em;line-height:1.06;
  font-size:clamp(2.4rem,7vw,5.6rem);max-width:15ch;text-wrap:balance}
.hero h1 b{font-weight:700}
.hero__sub{color:rgba(251,250,248,.88);max-width:40ch;margin-top:1.6rem}

/* ---------- hero das páginas internas ---------- */
.phero{position:relative;min-height:58svh;display:flex;align-items:flex-end;
  background:var(--deep);overflow:hidden;padding-top:7rem}
.phero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.phero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,20,26,.6) 0%,rgba(10,20,26,.2) 45%,rgba(10,20,26,.8) 100%)}
.phero__in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:0 var(--pad) clamp(2.75rem,6vh,4.5rem)}
.phero--center{align-items:center;text-align:center}
.phero--center::after{background:linear-gradient(180deg,rgba(10,20,26,.55) 0%,rgba(10,20,26,.2) 26%,rgba(10,20,26,.42) 58%,rgba(10,20,26,.92) 100%)}
.phero--center .phero__in{padding-bottom:0;display:flex;flex-direction:column;align-items:center}
.phero__eyebrow{display:flex;align-items:center;gap:1.1rem;font-size:var(--micro);font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;color:rgba(251,250,248,.92);margin-bottom:2rem}
.phero__eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--seal);flex:none}
.phero__logo{width:clamp(15rem,42vw,34rem);margin-bottom:.5rem}
.phero--center h1{max-width:none;font-weight:300;letter-spacing:.03em;text-transform:uppercase;
  font-size:clamp(2rem,7vw,5.5rem);line-height:1.05}
.phero--center h1 b{font-weight:300}
.phero--center h1.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap}
.phero--center .phero__sub{margin-top:1.5rem;letter-spacing:.02em}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:var(--micro);
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,250,248,.6);
  margin-bottom:1.4rem}
.crumb a:hover{color:var(--brass)}
.crumb span{color:var(--brass)}
.phero h1{color:var(--paper);font-weight:400;letter-spacing:-.035em;line-height:1.06;
  font-size:clamp(2.1rem,6vw,4.4rem);max-width:18ch;text-wrap:balance}
.phero h1 b{font-weight:700}
.phero__sub{color:rgba(251,250,248,.86);max-width:46ch;margin-top:1.3rem}
.phero__stage{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--micro);
  font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);
  border:1px solid var(--brass-soft);border-radius:100px;padding:.5rem 1rem;margin-bottom:1.3rem}
.phero__stage i{width:6px;height:6px;border-radius:50%;background:var(--seal);flex:none;
  box-shadow:0 0 0 3px rgba(200,16,46,.25)}

/* ---------- faixa de credenciais ---------- */
.band{background:var(--deep);border-top:1px solid var(--brass-soft)}
.band ul{max-width:var(--maxw);margin-inline:auto;padding:0 var(--pad);list-style:none;
  display:flex;flex-wrap:wrap;align-items:center}
.band li{display:flex;align-items:baseline;gap:.65rem;padding:1.15rem 1.85rem;
  border-left:1px solid var(--brass-dim);white-space:nowrap}
.band li:first-child{border-left:0;padding-left:0}
.band b{font-weight:700;font-size:1rem;color:var(--paper)}
.band span{font-size:var(--micro);font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(251,250,248,.6)}

/* ---------- cards de lançamento (home + listagem) ---------- */
.lots{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3.5vw,3.5rem)}
.lot{display:block}
.lot__frame{position:relative;overflow:hidden;background:var(--deep);border-radius:var(--r)}
.lot__frame img{aspect-ratio:4/5;width:100%;object-fit:cover;
  transition:transform 1.4s var(--ease),filter 1s ease;filter:saturate(.96)}
.lot:hover .lot__frame img{transform:scale(1.05);filter:saturate(1.02)}
.lot__frame::after{content:"";position:absolute;inset:.9rem;z-index:2;pointer-events:none;
  border:1px solid rgba(251,250,248,.4);border-radius:4px;opacity:0;transform:scale(1.02);
  transition:opacity .6s var(--ease),transform .8s var(--ease)}
.lot:hover .lot__frame::after{opacity:1;transform:scale(1)}
.lot__veil{position:absolute;inset:auto 0 0;height:68%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,20,26,0) 0%,rgba(10,20,26,.88) 100%)}
.lot__idx{position:absolute;left:1.9rem;top:1.9rem;z-index:3;font-size:var(--micro);
  font-weight:600;letter-spacing:.16em;color:rgba(251,250,248,.85)}
.lot__tag{position:absolute;right:1.9rem;top:1.9rem;z-index:3;display:inline-flex;align-items:center;
  gap:.55rem;font-size:var(--micro);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--paper)}
.lot__tag i{width:6px;height:6px;border-radius:50%;background:var(--seal);flex:none;
  box-shadow:0 0 0 3px rgba(200,16,46,.25)}
.lot__body{position:absolute;inset:auto 0 0;z-index:3;padding:clamp(1.5rem,3vw,2.6rem)}
.lot__body h3{font-weight:600;letter-spacing:-.03em;line-height:1.1;
  font-size:clamp(1.55rem,3vw,2.3rem);color:var(--paper)}
.lot__where{display:block;font-size:var(--micro);font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brass);margin-top:.85rem}
.lot__ri{display:block;font-size:var(--micro);font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(251,250,248,.72);margin-top:1.2rem;
  padding-top:1rem;border-top:1px solid rgba(251,250,248,.2)}
.lot__foot{display:flex;justify-content:space-between;align-items:center;gap:1.75rem;
  padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--brass-dim)}
.lot__foot p{color:rgba(20,35,43,.85);font-size:.9375rem;line-height:1.7;max-width:32ch}

/* ---------- grade de obras entregues ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:clamp(2rem,4vw,3rem)}
.filters button{font-family:inherit;font-size:var(--micro);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:.65rem 1.2rem;border-radius:100px;cursor:pointer;
  border:1px solid var(--brass-dim);background:transparent;color:var(--ink);
  transition:background .3s,color .3s,border-color .3s}
.filters button:hover{border-color:var(--brass)}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}

.works{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.5vw,2.25rem)}
.work{display:block}
.work__frame{position:relative;overflow:hidden;border-radius:var(--r);background:var(--deep)}
.work__frame img{aspect-ratio:4/3;width:100%;object-fit:cover;
  transition:transform 1.2s var(--ease);filter:saturate(.96)}
.work:hover .work__frame img{transform:scale(1.05)}
.work__badge{position:absolute;left:1rem;top:1rem;z-index:2;font-size:var(--micro);
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);
  background:rgba(10,20,26,.6);backdrop-filter:blur(6px);padding:.45rem .85rem;border-radius:100px}
.work__body{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding-top:1.1rem;margin-top:1.1rem;border-top:1px solid var(--brass-dim)}
.work__body h3{font-weight:600;letter-spacing:-.02em;line-height:1.2;
  font-size:clamp(1.05rem,1.8vw,1.25rem)}
.work__meta{display:block;font-size:var(--micro);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute);margin-top:.5rem}
.work__year{font-size:var(--micro);font-weight:700;letter-spacing:.14em;color:var(--brass);
  white-space:nowrap}
.work[hidden]{display:none}


/* ---------- filtros em grupos ---------- */
.filterbar{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;
  margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:1.75rem;border-bottom:1px solid var(--brass-dim)}
.fgroup{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.fgroup>span{font-size:var(--micro);font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--brass);margin-right:.35rem}
.fgroup button{font-family:inherit;font-size:var(--micro);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:.6rem 1.1rem;border-radius:100px;cursor:pointer;
  border:1px solid var(--brass-dim);background:transparent;color:var(--ink);
  transition:background .3s,color .3s,border-color .3s}
.fgroup button:hover{border-color:var(--brass)}
.fgroup button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.count{font-size:var(--small);color:var(--mute);margin-left:auto}
.count b{font-weight:700;color:var(--ink)}

/* card em destaque (lançamentos) */
.work--feat{grid-column:span 2}
.work--feat .work__frame img{aspect-ratio:16/10}
.work--feat .work__body h3{font-size:clamp(1.3rem,2.4vw,1.75rem)}
.work__badge--live{background:var(--seal);display:inline-flex;align-items:center;gap:.5rem}
.work__badge--live i{width:6px;height:6px;border-radius:50%;background:#fff;flex:none}
.empty{padding:3rem 0;color:var(--mute);font-size:var(--small)}
@media (max-width:1100px){.work--feat{grid-column:span 2}}
@media (max-width:620px){.work--feat{grid-column:span 1}
  .work--feat .work__frame img{aspect-ratio:4/3}}

/* ---------- corredor ---------- */
.corridor{background:var(--shell);border-block:1px solid var(--brass-dim)}
.axis{position:relative;padding-top:calc(var(--preview) + 2.5rem)}
.preview{position:absolute;left:0;bottom:calc(100% - var(--preview) - 1.5rem);
  width:var(--preview);height:var(--preview);pointer-events:none;z-index:3;
  opacity:0;transition:transform .6s var(--ease),opacity .35s ease}
.preview.is-live{opacity:1}
.preview__img{width:100%;height:100%;object-fit:cover;border-radius:50%;
  border:3px solid var(--paper);box-shadow:0 22px 55px rgba(10,20,26,.22);transition:opacity .3s}
.preview__img.swapping{opacity:0}
.preview__stem{position:absolute;left:50%;top:100%;width:1px;height:1.5rem;
  background:var(--brass-soft);transform:translateX(-50%)}
.axis__line{position:relative;height:1px;background:var(--brass-dim)}
.axis__line::before,.axis__line::after{content:"";position:absolute;top:-5px;width:1px;height:11px;
  background:var(--brass)}
.axis__line::before{left:0}.axis__line::after{right:0}
.dot{position:absolute;top:50%;width:2.75rem;height:2.75rem;transform:translate(-50%,-50%);
  background:none;border:0;cursor:pointer;display:grid;place-items:center;padding:0;z-index:2}
.dot::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--ink);
  transition:transform .4s var(--ease),background .3s}
.dot:hover::after,.dot:focus-visible::after,.dot.on::after{transform:scale(2);background:var(--brass)}
.dot--live::after{background:var(--seal);box-shadow:0 0 0 5px rgba(200,16,46,.15)}
.dot--live:hover::after,.dot--live.on::after{background:var(--seal)}
.cities{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.9rem}
.city b{display:block;font-weight:700;letter-spacing:-.03em;
  font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1}
.city span{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute);display:block;margin-top:.7rem}
.city:nth-child(2){text-align:center}
.city:nth-child(3){text-align:right}
.readout{min-height:3.75rem;margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.6rem;
  border-top:1px solid var(--brass-dim);display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.5rem}
.readout__name{font-weight:600;letter-spacing:-.025em;font-size:clamp(1.15rem,2.2vw,1.55rem)}
.readout__meta{font-size:var(--small);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brass)}

/* ---------- bloco empresa ---------- */
.about .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(2.5rem,7vw,6rem);align-items:center}
.about h2{max-width:16ch}
.about p{color:rgba(20,35,43,.85);max-width:42ch;margin-top:1.5rem}
.stamps{list-style:none;margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.6rem}
.stamps li{font-size:var(--micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--brass-soft);border-radius:100px;padding:.6rem 1.1rem}

/* ---------- carrossel ---------- */
.carousel{position:relative}
.carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;border-radius:var(--r)}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__slide{flex:0 0 100%;scroll-snap-align:center}
.carousel__slide img{width:100%;aspect-ratio:4/3;object-fit:cover}
.carousel__cap{position:absolute;left:1.25rem;bottom:1.25rem;z-index:2;font-size:var(--micro);
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);
  background:rgba(10,20,26,.66);backdrop-filter:blur(6px);padding:.6rem 1rem;border-radius:100px}
.carousel__nav{position:absolute;inset:auto 1.25rem 1.25rem auto;z-index:2;display:flex;gap:.5rem}
.carousel__btn{width:2.75rem;height:2.75rem;border-radius:50%;border:0;cursor:pointer;
  background:rgba(251,250,248,.92);color:var(--ink);display:grid;place-items:center;
  font-size:1rem;transition:background .3s,color .3s}
.carousel__btn:hover{background:var(--ink);color:var(--paper)}
.carousel__dots{display:flex;gap:.45rem;justify-content:center;margin-top:1.25rem}
.carousel__dots button{width:2rem;height:2px;border:0;padding:0;cursor:pointer;
  background:var(--brass-dim);transition:background .3s}
.carousel__dots button[aria-current="true"]{background:var(--brass)}

/* ---------- no que acreditamos ---------- */
.creed{background:var(--shell);border-block:1px solid var(--brass-dim);
  padding-block:clamp(3.5rem,7vw,6rem)}
.creed__top{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.15rem}
.creed__logo{width:clamp(3rem,5vw,3.75rem)}
.creed__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(2.5rem,5vw,4rem)}
.creed__col{padding:0 clamp(1rem,2.2vw,2.25rem);text-align:center;
  border-left:1px solid var(--brass-dim);
  display:grid;grid-template-rows:3.4em auto auto;align-content:start}
.creed__col:first-child{border-left:0}
.creed__col h3{font-size:clamp(.9375rem,1.5vw,1.0625rem);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);line-height:1.35;align-self:start}
.creed__rule{display:block;width:1.75rem;height:1px;background:var(--brass);margin:0 auto}
.creed__col p{margin-top:1.35rem;font-size:.9375rem;line-height:1.8;
  color:rgba(20,35,43,.78);max-width:30ch;margin-inline:auto;min-height:7.2em}
.creed__vals{list-style:none;margin-top:1.35rem;min-height:7.2em;
  display:grid;grid-template-columns:1fr 1fr;column-gap:.9rem;row-gap:0;
  align-content:start;justify-items:center}
.creed__vals li{font-size:.9375rem;line-height:1.8;font-weight:400;color:rgba(20,35,43,.78)}
.creed__vals li:first-child,.creed__vals li:last-child{grid-column:1/-1}

/* ---------- contato ---------- */
.talk{background:var(--paper)}
.talk .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2.5rem,7vw,6rem);align-items:center}
.talk h2{max-width:15ch}
.talk .label{margin-bottom:1.4rem}
.talk p{max-width:38ch;margin-top:1.5rem;color:rgba(20,35,43,.8)}
.rows{list-style:none}
.rows a{display:flex;align-items:baseline;gap:1.5rem;padding-block:1.6rem;
  border-top:1px solid var(--brass-dim);transition:padding-left .5s var(--ease)}
.rows li:last-child a{border-bottom:1px solid var(--brass-dim)}
.rows a:hover{padding-left:.9rem}
.rows small{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);min-width:6rem}
.rows b{font-weight:400;letter-spacing:-.01em;font-size:clamp(1.05rem,1.8vw,1.3rem)}

/* ---------- formulário ---------- */
.form{display:grid;gap:1.25rem}
.field{display:flex;flex-direction:column;gap:.6rem}
.field label{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass)}
.field input,.field select,.field textarea{font-family:inherit;font-size:1rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--brass-dim);border-radius:var(--r);
  padding:.95rem 1.1rem;transition:border-color .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brass)}
.field textarea{min-height:8rem;resize:vertical}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form__note{font-size:var(--small);color:var(--mute);line-height:1.7}

/* ---------- página de empreendimento ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}
.gal a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;
  border-radius:4px;background:var(--shell);cursor:zoom-in}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gal a:hover img{transform:scale(1.06)}
.gal a[hidden]{display:none}
.galtile{position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:.5rem;aspect-ratio:4/3;border-radius:4px;cursor:pointer;
  border:1px solid var(--brass-dim);background:var(--shell);color:var(--ink);
  font-family:inherit;transition:background .3s,color .3s,border-color .3s}
.galtile:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.galtile b{font-weight:300;letter-spacing:-.03em;line-height:1;
  font-size:clamp(1.6rem,3vw,2.4rem)}
.galtile span{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.galtile[hidden]{display:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:120;background:rgba(10,20,26,.94);
  display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.lb.on{opacity:1;visibility:visible}
.lb img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px}
.lb__x,.lb__p,.lb__n{position:absolute;width:3rem;height:3rem;border-radius:50%;border:0;
  cursor:pointer;background:rgba(251,250,248,.14);color:var(--paper);font-size:1.1rem;
  display:grid;place-items:center;transition:background .3s}
.lb__x:hover,.lb__p:hover,.lb__n:hover{background:var(--paper);color:var(--ink)}
.lb__x{top:1.25rem;right:1.25rem}
.lb__p{left:1.25rem;top:50%;transform:translateY(-50%)}
.lb__n{right:1.25rem;top:50%;transform:translateY(-50%)}
.lb__cap{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;
  font-size:var(--micro);font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(251,250,248,.7)}

/* mapa */
.map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--brass-dim);
  aspect-ratio:16/9;background:var(--shell)}
.map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) contrast(1.05)}
.mapgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}
.mapinfo{display:flex;flex-direction:column;justify-content:center;
  border-top:1px solid var(--brass-dim)}
.mapinfo div{padding-block:clamp(1.1rem,2vw,1.5rem);border-bottom:1px solid var(--brass-dim)}
.mapinfo dt{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);margin-bottom:.55rem}
.mapinfo dd{font-size:1rem;line-height:1.6;color:rgba(20,35,43,.85)}

.specs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--brass-dim);
  border-bottom:1px solid var(--brass-dim)}
.specs div{padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,2vw,1.75rem);
  border-left:1px solid var(--brass-dim);text-align:center}
.specs div:first-child{border-left:0}
.specs dt{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);margin-bottom:.75rem}
.specs dd{font-weight:600;letter-spacing:-.02em;font-size:clamp(1.05rem,1.9vw,1.35rem)}
.specs .todo{color:var(--brass);font-weight:400;font-size:.9375rem;letter-spacing:0}

.prose{max-width:62ch}
.prose p+p{margin-top:1.25rem}
.prose p{color:rgba(20,35,43,.85)}
.legalnote{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--brass-dim);
  font-size:var(--small);color:var(--mute);line-height:1.75}


/* ---------- bloco do tour 360 ---------- */
.tour{position:relative;overflow:hidden;background:var(--deep);
  padding-block:clamp(4rem,9vw,7rem);border-block:1px solid var(--brass-soft)}
.tour__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.tour__in{position:relative;z-index:2;text-align:center;max-width:44rem;
  margin-inline:auto;display:flex;flex-direction:column;align-items:center}
.tour__in h2{color:var(--paper);max-width:20ch}
.tour__in p{color:rgba(251,250,248,.8);margin-top:1.25rem;max-width:44ch}
.tour__in .btn{margin-top:2rem;background:var(--paper);color:var(--ink)}
.tour__in .btn:hover{background:var(--brass);color:var(--deep)}

/* ---------- entorno ---------- */
.near{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--brass-dim)}
.near div{padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,2vw,2rem);
  border-left:1px solid var(--brass-dim)}
.near div:first-child{border-left:0;padding-left:0}
.near dt{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);margin-bottom:.85rem}
.near dd{font-size:.9375rem;line-height:1.75;color:rgba(20,35,43,.82)}
@media (max-width:900px){
  .near{grid-template-columns:1fr}
  .near div{border-left:0;border-top:1px solid var(--brass-dim);padding-inline:0}
  .near div:first-child{border-top:0}
}


/* ---------- prova institucional ---------- */
.proof{background:var(--deep);color:rgba(251,250,248,.72);
  padding-block:clamp(2.75rem,5vw,4rem);border-block:1px solid var(--brass-soft)}
.proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof__grid div{padding:0 clamp(1rem,2.2vw,2.25rem);border-left:1px solid var(--brass-dim)}
.proof__grid div:first-child{border-left:0;padding-left:0}
.proof b{display:block;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--paper);
  font-size:clamp(1.35rem,2.6vw,2rem)}
.proof span{display:block;font-size:var(--micro);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(251,250,248,.55);margin-top:.7rem;line-height:1.5}

.facts{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 2.5rem;
  margin-top:clamp(2rem,4vw,2.75rem);padding-top:1.75rem;border-top:1px solid var(--brass-dim)}
.facts dt{font-size:var(--micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);margin-bottom:.5rem}
.facts dd{font-weight:600;letter-spacing:-.02em;font-size:clamp(1.05rem,1.9vw,1.3rem);color:var(--ink)}
.facts .todo{color:var(--brass);font-weight:400;font-size:1rem;letter-spacing:0}

/* ---------- diferenciais ---------- */
.feats{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--brass-dim);margin-top:clamp(2rem,4vw,3rem)}
.feats li{padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,2.5vw,2.25rem);
  border-left:1px solid var(--brass-dim);border-bottom:1px solid var(--brass-dim);
  font-size:1.0625rem;font-weight:500;letter-spacing:-.01em;line-height:1.45;
  color:var(--ink);display:flex;align-items:flex-start;gap:1rem}
.feats li:nth-child(3n+1){border-left:0;padding-left:0}
.feats li::before{content:"";width:1.5rem;height:1px;background:var(--brass);
  flex:none;margin-top:.85rem}
@media (max-width:900px){
  .feats{grid-template-columns:1fr}
  .feats li{border-left:0;padding-inline:0}
}

/* ---------- plantas ---------- */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2.5vw,2rem)}
.plan{background:var(--paper);border:1px solid var(--brass-dim);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column}
.plan img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:1rem}
.plan__ph{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;
  background:var(--shell);color:var(--brass);font-size:var(--micro);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:2rem}
.plan__cap{padding:1.1rem 1.4rem;border-top:1px solid var(--brass-dim);
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.plan__cap b{font-weight:600;letter-spacing:-.02em;font-size:1.05rem}
.plan__cap span{font-size:var(--micro);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute)}

@media (max-width:900px){
  .proof__grid{grid-template-columns:1fr 1fr;row-gap:1.75rem}
  .proof__grid div:nth-child(3){border-left:0;padding-left:0}
  .feats{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
}

/* ---------- rodapé ---------- */
.ftr{background:var(--deep);color:rgba(251,250,248,.62);padding-block:clamp(3rem,6vw,4.5rem)}
.ftr__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;align-items:center;
  padding-bottom:2.25rem;border-bottom:1px solid var(--brass-dim)}
.ftr__logo{width:clamp(3.25rem,5vw,4rem)}
.ftr__nav{display:flex;flex-wrap:wrap;gap:2rem}
.ftr__nav a{font-size:var(--small);font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;transition:color .3s}
.ftr__nav a:hover{color:var(--brass)}
.ftr__legal{font-size:var(--small);line-height:1.8;color:rgba(251,250,248,.52);margin-top:2.25rem}
.ftr__end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.25rem;
  font-size:var(--micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(251,250,248,.52)}

.wa{position:fixed;right:1.25rem;bottom:1.25rem;z-index:70;width:3.5rem;height:3.5rem;
  border-radius:50%;background:#1FA855;display:grid;place-items:center;
  box-shadow:0 6px 20px rgba(0,0,0,.24);transition:transform .3s}
.wa:hover{transform:scale(1.07)}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width:1100px){
  .works{grid-template-columns:repeat(2,1fr)}
  .creed__grid{grid-template-columns:1fr 1fr;row-gap:clamp(2.25rem,4vw,3rem)}
  .creed__col:nth-child(3){border-left:0}
  .creed__col:nth-child(3),.creed__col:nth-child(4){padding-top:clamp(2.25rem,4vw,3rem);
    border-top:1px solid var(--brass-dim)}
  .specs{grid-template-columns:1fr 1fr}
  .specs div:nth-child(3){border-left:0}
  .specs div:nth-child(n+3){border-top:1px solid var(--brass-dim)}
}
@media (max-width:900px){
  :root{--micro:.8125rem;--small:.875rem}
  .nav{position:fixed;inset:0 0 0 auto;width:min(20rem,84vw);background:var(--deep);
    flex-direction:column;justify-content:center;gap:2.25rem;padding:2.5rem;
    transform:translateX(101%);transition:transform .5s var(--ease)}
  .nav.open{transform:none}
  .nav a{font-size:1rem;color:rgba(251,250,248,.92)}
  .burger{display:block;position:relative;z-index:2}

  .band ul{display:grid;grid-template-columns:1fr 1fr;padding-block:0}
  .band li{flex-direction:column;align-items:flex-start;gap:.3rem;
    padding:1.1rem 0 1.1rem 1.1rem;border-left:1px solid var(--brass-dim);white-space:normal}
  .band li:nth-child(odd){padding-left:0;border-left:0}
  .band li:nth-child(n+3){border-top:1px solid var(--brass-dim)}

  .lots{grid-template-columns:1fr;gap:2.75rem}
  .lot__foot{flex-direction:column;align-items:flex-start;gap:1.25rem}
  .lot__foot p{max-width:none}

  .about .wrap,.talk .wrap{grid-template-columns:1fr}
  .about__media{order:-1}

  .axis{padding-top:0}
  .preview{position:static;width:9.5rem;height:9.5rem;margin:0 auto 1.75rem;
    transform:none!important;opacity:1}
  .preview__stem{display:none}
  .dot{width:2.25rem;height:2.25rem}
  .cities{grid-template-columns:1fr;gap:0}
  .city{display:flex;align-items:baseline;gap:1rem;border-top:1px solid var(--brass-dim);
    padding-block:1.1rem;text-align:left!important}
  .city span{margin-top:0}

  .stamps{gap:.45rem;margin-top:1.75rem}
  .stamps li{font-size:.6875rem;letter-spacing:.1em;padding:.4rem .8rem}

  .talk .wrap{text-align:center}
  .talk h2{max-width:none;margin-inline:auto}
  .talk p{margin-inline:auto}
  .rows a{flex-direction:column;align-items:center;gap:.4rem;padding-block:1.35rem}
  .rows small{min-width:0}

  .form__row{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,1fr)}
  .gal a:first-child{grid-column:span 2;grid-row:auto}
  .gal a:first-child img{aspect-ratio:4/3}

  .ftr__top{flex-direction:column;justify-content:center;text-align:center}
  .ftr__nav{justify-content:center;gap:1.25rem 1.75rem}
  .ftr__legal{text-align:center}
  .ftr__end{flex-direction:column;align-items:center;text-align:center;gap:.6rem}
}
@media (max-width:620px){
  .works{grid-template-columns:1fr}
  .creed__grid{grid-template-columns:1fr}
  .creed__col{border-left:0;padding-inline:0}
  .creed__col+.creed__col{padding-top:2rem;margin-top:2rem;border-top:1px solid var(--brass-dim)}
  .specs{grid-template-columns:1fr}
  .specs div{border-left:0;border-top:1px solid var(--brass-dim)}
  .specs div:first-child{border-top:0}
}
