@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../assets/fonts/PublicSans-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../assets/fonts/PublicSans-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: 'Urbanist';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(../assets/fonts/Urbanist-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(../assets/fonts/Urbanist-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;
}/* ==========================================================
   Aragão Sales Engenharia · site institucional
   Tokens: Manual de Marca 2026 (paleta institucional)
   ========================================================== */
:root{
  --creme:#F5F0E7; --areia:#E5D8C6; --champ:#B49A77; --champ-ink:#7A6447;
  --grafite:#51483F; --carvao:#252422; --carvao-2:#1C1B1A; --branco:#FFFFFF;
  --txt:#2E2924; --txt-soft:#4A423A; --on-dark:#F5F0E7; --on-dark-soft:#CFC6B8;

  --f-display:'Urbanist',system-ui,sans-serif;
  --f-body:'Public Sans',system-ui,sans-serif;

  --hdr-h:76px;
  --gutter:clamp(16px,3.2vw,24px);
  --sec-y:clamp(48px,9svh,112px);
  --gap:clamp(12px,1.6vw,22px);
  --r-btn:2px;

  --fs-body:1rem; /* texto corrido: 16px no celular, 18px no desktop (ajuste 11.1) */

  --e:cubic-bezier(.16,.84,.28,1);
  --e2:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--txt);font:400 var(--fs-body)/1.62 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.06;letter-spacing:-.022em;margin:0;text-wrap:balance}
h2{font-size:clamp(2rem,3.6vw,3.4rem)}
p{margin:0}
:focus-visible{outline:2px solid var(--champ);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--carvao);color:var(--creme);padding:10px 16px}
.skip:focus{top:12px}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}

/* eyebrow: só texto, sem traço/linha */
.eyebrow{font:600 .74rem/1.4 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--champ-ink);margin-bottom:clamp(14px,2svh,22px)}
.eyebrow--light{color:var(--champ)}

/* botões */
.btn{display:inline-flex;align-items:center;gap:14px;min-height:50px;padding:0 26px;border-radius:var(--r-btn);border:1px solid transparent;font:600 .92rem/1 var(--f-body);letter-spacing:.02em;text-decoration:none;transition:background .35s var(--e2),color .35s var(--e2),border-color .35s var(--e2),transform .2s var(--e2)}
.btn:active{transform:scale(.975)}
.btn--dark{background:var(--carvao);color:var(--creme)}
.btn--dark:hover{background:#000}
.btn--light{background:var(--creme);color:var(--carvao)}
.btn--light:hover{background:var(--areia)}
.btn--line{border-color:var(--grafite);color:var(--grafite);background:transparent}
.btn--line:hover{background:var(--grafite);color:var(--creme)}
.btn--xl{min-height:62px;padding:0 34px;font-size:1.08rem;gap:16px}
.btn--sm{min-height:42px;padding:0 18px;font-size:.85rem}
.btn__arr{display:inline-block;width:16px;height:10px;background:currentColor;transition:transform .35s var(--e);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M11 0l5 5-5 5-.9-.9L13.6 5.6H0V4.4h13.6L10.1.9z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M11 0l5 5-5 5-.9-.9L13.6 5.6H0V4.4h13.6L10.1.9z'/%3E%3C/svg%3E") center/contain no-repeat}
.btn:hover .btn__arr{transform:translateX(4px)}
.link-arrow{font:600 .92rem/1 var(--f-body);color:var(--grafite);text-decoration:underline;text-decoration-color:var(--champ);text-underline-offset:6px;text-decoration-thickness:1px}
.link-arrow:hover{color:var(--carvao)}

/* marcador da marca: barra inclinada do símbolo (ângulo do logo) */
.mk{display:inline-block;width:6px;height:14px;background:var(--champ);transform:skewX(-40deg)}

/* loader */
.loader{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--creme);transition:opacity .7s var(--e2),visibility .7s}
.loader img{width:150px;height:auto;animation:ld 1.4s var(--e) both}
@keyframes ld{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.is-loaded .loader{opacity:0;visibility:hidden}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr-h);background:var(--creme);transition:transform .5s var(--e2),height .45s var(--e2),box-shadow .45s var(--e2)}
.hdr[data-solid="true"]{height:64px;box-shadow:0 1px 0 rgba(37,36,34,.08)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr__logo img{height:44px;width:auto;transition:height .45s var(--e2)}
.hdr[data-solid="true"] .hdr__logo img{height:38px}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.nav a:not(.btn){font:500 .9rem/1 var(--f-body);color:var(--grafite);text-decoration:none;padding:8px 0;position:relative}
.nav a:not(.btn)[aria-current="true"]{color:var(--carvao)}
.nav a:not(.btn)[aria-current="true"]::after{content:"";position:absolute;left:50%;bottom:-4px;width:5px;height:10px;background:var(--champ);transform:translateX(-50%) skewX(-40deg)}
.nav a:not(.btn):hover{color:var(--carvao)}
.nav .btn{min-height:44px;padding:0 20px}
.burger{display:none;width:44px;height:44px;border:0;background:none;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--carvao);transition:transform .4s var(--e)}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}

/* ---------- 1 · hero ---------- */
.hero{position:relative;background:var(--creme)}
.hero__sticky{position:relative;height:100svh;min-height:560px;overflow:hidden}
html,body{overflow-x:clip}
.hero__media{position:absolute;top:0;right:0;bottom:0;width:62%}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;transform-origin:60% 50%}
.hero__veil{position:absolute;inset:0;background:var(--carvao);opacity:0;pointer-events:none}
.hero__panel{--x:60%;--d:18svh;--g:1.3%;position:absolute;inset:0;pointer-events:none}
.hero__panel::before,.hero__slat{content:"";position:absolute;inset:0;background:var(--creme)}
.hero__panel::before{clip-path:polygon(0 0,var(--x) 0,calc(var(--x) - var(--d)) 100%,0 100%);
  background:linear-gradient(rgba(245,240,231,.62),rgba(245,240,231,.62)),url(../assets/patterns/luz-diagonal.svg) right top/120% auto no-repeat,var(--creme)}
.hero__slat--1{clip-path:polygon(calc(var(--x) + var(--g)) 0,calc(var(--x) + var(--g) + 3.2%) 0,calc(var(--x) + var(--g) + 3.2% - var(--d)) 100%,calc(var(--x) + var(--g) - var(--d)) 100%)}
.hero__slat--2{clip-path:polygon(calc(var(--x) + 2*var(--g) + 3.2%) 0,calc(var(--x) + 2*var(--g) + 4.6%) 0,calc(var(--x) + 2*var(--g) + 4.6% - var(--d)) 100%,calc(var(--x) + 2*var(--g) + 3.2% - var(--d)) 100%);opacity:.92}
.hero__in{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:var(--hdr-h)}
/* largura do texto = borda diagonal na altura do texto menos a margem do container e um respiro */
.hero__copy{width:calc(60vw - 10svh - max(var(--gutter),(100vw - 1240px)/2 + var(--gutter)) - clamp(32px,3vw,48px));max-width:680px}
.hero .eyebrow{margin-bottom:clamp(18px,3svh,28px)}
.hero h1{font-size:clamp(2.3rem,3.7vw,3.6rem);line-height:1.08;letter-spacing:-.02em;color:var(--carvao)}
.h-accent{display:block;color:var(--champ-ink)}
.hero__sub{margin-top:clamp(22px,3.6svh,34px);font-size:var(--fs-body);line-height:1.68;color:var(--txt-soft);max-width:46ch}
.hero__ctas{margin-top:clamp(28px,5svh,48px);display:flex;flex-wrap:wrap;align-items:center;gap:22px 32px}

/* ---------- 2 · portfólio (mosaico editorial 3 por linha) ---------- */
.obras{height:100svh;min-height:560px;max-height:1200px;display:flex;flex-direction:column;padding:calc(var(--hdr-h) + clamp(12px,2.6svh,32px)) 0 clamp(20px,4svh,48px)}
.obras>.container{flex:1;min-height:0;display:flex;flex-direction:column}
.obras__head{display:flex;flex-wrap:wrap;gap:12px clamp(28px,4vw,64px);align-items:flex-end;margin-bottom:clamp(20px,3.6svh,36px)}
.obras__head h2{flex:0 1 auto;color:var(--carvao);font-size:clamp(1.9rem,3vw,2.9rem);max-width:17ch}
.obras__sub{flex:0 1 44ch;margin-left:auto;font-size:var(--fs-body);color:var(--txt-soft);padding-bottom:6px}
.mosaic{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--gap)}
.mosaic__row{display:grid;gap:var(--gap);min-height:0}
.mosaic__row--a{flex:1.25;grid-template-columns:1fr 1fr 1fr 1.45fr}
.mosaic__row--b{flex:1;grid-template-columns:1.5fr 1fr .9fr}
.work{position:relative;display:block;padding:0;border:0;background:var(--areia);overflow:hidden;text-align:left;min-height:0}
.work img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--e),filter .6s var(--e2)}
.work__info{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:4px;padding:56px 20px 18px;color:var(--creme);
  background:linear-gradient(to top,rgba(28,27,26,.82),rgba(28,27,26,0));opacity:0;transform:translateY(10px);transition:opacity .5s var(--e2),transform .6s var(--e)}
.work__info b{font:500 1.2rem/1.15 var(--f-display)}
.work__info small{font-size:.8rem;color:var(--on-dark-soft)}
.work::after{content:"";position:absolute;top:16px;right:16px;width:40px;height:40px;background:var(--creme) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252422' stroke-width='1.5'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center/20px no-repeat;opacity:0;transform:scale(.8);transition:opacity .4s var(--e2),transform .5s var(--e)}
.work:hover img,.work:focus-visible img{transform:scale(1.04)}
.work:hover .work__info,.work:focus-visible .work__info{opacity:1;transform:none}
.work:hover::after,.work:focus-visible::after{opacity:1;transform:none}
@media (hover:none){.work__info{opacity:1;transform:none;padding:28px 10px 8px}.work__info b{font-size:.9rem;line-height:1.2}.work__info small{display:none}.work::after{display:none}}

/* ---------- 3 · contexto ---------- */
.ctx{position:relative;overflow:hidden;background:var(--carvao);color:var(--on-dark);padding:var(--sec-y) 0}
.ctx::before{content:"";position:absolute;inset:0;opacity:.07;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 16.3v7.4M16.3 20h7.4' stroke='%23F5F0E7' stroke-width='.8'/%3E%3C/svg%3E")}
.ctx__grid{position:relative;z-index:1}
.ctx__head,.ctx__list{width:min(100%,calc(64vw - max(var(--gutter),(100vw - 1240px)/2 + var(--gutter)) - clamp(32px,4vw,64px)))}
.ctx h2{color:var(--creme);max-width:17ch}
.ctx__lead{margin-top:clamp(18px,3svh,28px);font-size:var(--fs-body);color:var(--on-dark-soft);max-width:52ch}
/* foto entregue sangrando pela borda direita, altura total da seção */
.ctx__fig{position:absolute;top:0;right:0;bottom:0;width:34vw;overflow:hidden}
.ctx__fig img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.ctx__fig::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,36,34,.55),rgba(37,36,34,0) 38%);pointer-events:none}
.ctx__list{list-style:none;margin:clamp(28px,5svh,48px) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,3vw,48px)}
.ctx__list li{display:flex;align-items:center;gap:16px;padding:clamp(12px,2svh,18px) 0;border-top:1px solid rgba(245,240,231,.2);font:500 clamp(1.15rem,1.5vw,1.4rem)/1.3 var(--f-display);color:var(--branco)}
.ctx__list li:nth-last-child(-n+2){border-bottom:1px solid rgba(245,240,231,.14)}
.ctx__list li::before{content:"";flex:none;width:6px;height:14px;background:var(--champ);transform:skewX(-40deg)}

/* ---------- 4 · gestão ---------- */
.gestao{padding:var(--sec-y) 0;background:var(--creme)}
.gestao__grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(28px,6vw,96px);align-items:center}
.gestao__fig{height:min(calc(100svh - var(--hdr-h) - 2*var(--sec-y) + 40px),720px);min-height:420px;overflow:hidden}
.gestao__fig img{width:100%;height:100%;object-fit:cover}
.gestao h2{color:var(--carvao)}
.gestao__lead{margin-top:clamp(14px,2.4svh,24px);font-size:var(--fs-body);color:var(--txt-soft);max-width:50ch}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3.2svh,30px) clamp(24px,3vw,44px);margin:clamp(24px,4.4svh,44px) 0}
.pillars div{padding-top:16px;border-top:1px solid rgba(81,72,63,.2)}
.pillars dt{display:flex;align-items:center;gap:12px;font:600 1.12rem/1.2 var(--f-display);color:var(--carvao)}
.pillars dt::before{content:"";width:5px;height:12px;background:var(--champ);transform:skewX(-40deg)}
.pillars dd{margin:8px 0 0;font-size:var(--fs-body);line-height:1.55;color:var(--txt-soft)}

/* ---------- 5 · banda de números ---------- */
.band{position:relative;overflow:hidden;min-height:min(88svh,820px);display:flex;align-items:flex-end;color:var(--on-dark);background:var(--carvao)}
.band__media{position:absolute;inset:-12% 0;will-change:transform}
.band__media img{width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,27,26,.94) 8%,rgba(28,27,26,.55) 48%,rgba(28,27,26,.2))}
.band__in{position:relative;z-index:2;padding-top:var(--sec-y);padding-bottom:clamp(40px,8svh,88px)}
.band__title{font-size:clamp(1.7rem,2.8vw,2.6rem);max-width:20ch;color:var(--creme);margin-bottom:clamp(28px,5svh,56px)}
.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,40px)}
.stats li{padding-top:18px;border-top:1px solid rgba(245,240,231,.28)}
.stats__n{display:flex;align-items:baseline;gap:8px;font:300 clamp(3rem,6vw,5.6rem)/1 var(--f-display);letter-spacing:-.03em;color:var(--creme)}
.stats__n small{font:500 clamp(.8rem,1vw,1rem)/1 var(--f-body);letter-spacing:.02em;color:var(--champ)}
.stats__l{display:block;margin-top:12px;font-size:var(--fs-body);color:var(--on-dark-soft);max-width:24ch}

/* ---------- 6 · registro ---------- */
.reg{padding:var(--sec-y) 0;background:var(--areia)}
.reg__head{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(24px,5svh,52px)}
.reg h2{color:var(--carvao);max-width:16ch}
.reg__aside p{font-size:var(--fs-body);color:var(--txt-soft);max-width:40ch;margin-bottom:22px}
.triptych{display:grid;grid-template-columns:.78fr 1.44fr .78fr;gap:var(--gap);height:min(calc(100svh - 2*var(--sec-y) - 290px),560px);min-height:280px}
.triptych figure{display:flex;flex-direction:column;min-height:0}
.triptych img{flex:1;min-height:0;width:100%;object-fit:cover}
.triptych figcaption{padding-top:12px;font-size:1rem;color:var(--grafite)}
.triptych figcaption b{font:600 .78rem/1 var(--f-body);color:var(--champ-ink);letter-spacing:.12em;margin-right:8px}

/* ---------- 7 · atuação ---------- */
.atua{position:relative;padding:var(--sec-y) 0;background:var(--creme)}
.atua::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 16.3v7.4M16.3 20h7.4' stroke='%23B49A77' stroke-width='.8'/%3E%3C/svg%3E");
  -webkit-mask:linear-gradient(90deg,#000,transparent 55%);mask:linear-gradient(90deg,#000,transparent 55%)}
.atua__grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,6vw,96px);align-items:center}
.atua h2{color:var(--carvao);max-width:15ch}
.scope{list-style:none;margin:clamp(22px,4svh,40px) 0 0;padding:0}
.scope li{display:grid;grid-template-columns:minmax(150px,.8fr) 1.4fr;gap:8px 24px;padding:clamp(14px,2.4svh,22px) 0;border-top:1px solid rgba(81,72,63,.2)}
.scope b{font:600 1.08rem/1.3 var(--f-display);color:var(--carvao)}
.scope span{font-size:var(--fs-body);color:var(--txt-soft)}
.atua__note{margin-top:clamp(16px,3svh,26px);font-size:var(--fs-body);color:var(--grafite);font-style:italic}
.atua__fig{position:relative;height:min(calc(100svh - var(--hdr-h) - 2*var(--sec-y) + 40px),680px);min-height:420px}
.atua__media{position:absolute;inset:0;overflow:hidden}
.atua__media img{width:100%;height:100%;object-fit:cover}
.geo{position:absolute;z-index:2;left:clamp(-48px,-3vw,-16px);bottom:clamp(20px,4svh,40px);display:flex;flex-direction:column;background:var(--creme);padding:clamp(18px,2.6vw,30px) clamp(20px,2.8vw,34px);max-width:320px;box-shadow:0 18px 40px -24px rgba(37,36,34,.35)}
.geo__k{font:600 .7rem/1.4 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--champ-ink);margin-bottom:10px}
.geo__city{font:300 clamp(1.6rem,2.4vw,2.2rem)/1.1 var(--f-display);color:var(--carvao);letter-spacing:-.02em}
.geo__sub{font-size:var(--fs-body);color:var(--txt-soft);margin:2px 0 12px}
.geo__sub:last-child{margin-bottom:0}

/* ---------- 8 · CTA final ---------- */
.cta{background:var(--carvao);color:var(--on-dark)}
.cta__grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:min(100svh,860px)}
.cta__fig{position:relative;overflow:hidden}
.cta__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:var(--sec-y) max(var(--gutter),calc((100vw - 1240px)/2 + var(--gutter))) var(--sec-y) clamp(28px,6vw,96px)}
.cta h2{color:var(--creme);max-width:15ch}
.cta__lead{margin:clamp(16px,3svh,26px) 0 clamp(24px,4svh,36px);font-size:var(--fs-body);color:var(--on-dark-soft);max-width:44ch}
.people{list-style:none;margin:clamp(32px,6svh,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,auto);gap:16px clamp(20px,3vw,44px)}
.people li{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-body)}
.people b{font:600 .7rem/1.4 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--champ)}
.people a{text-decoration:none;color:var(--creme);word-break:break-word;min-height:44px;display:inline-flex;align-items:center}
.people a:hover{text-decoration:underline}

/* ---------- footer ---------- */
.ftr{background:var(--carvao-2);color:var(--on-dark-soft);padding:56px 0 28px;font-size:var(--fs-body)}
.ftr__in{display:grid;grid-template-columns:auto 1fr auto;gap:28px 56px;align-items:center}
.ftr__logo{width:130px;height:auto}
.ftr__nav{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:flex-end}
.ftr__nav a,.ftr__cookies{color:var(--on-dark);text-decoration:none;background:none;border:0;padding:0;font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
.ftr__nav a:hover,.ftr__cookies:hover{color:var(--champ)}
.ftr__base{margin-top:36px;padding-top:20px;border-top:1px solid rgba(245,240,231,.1)}

/* whatsapp flutuante */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:160;display:flex;align-items:center;gap:12px;height:64px;padding:0 26px 0 18px;border-radius:32px;background:#25D366;color:#fff;text-decoration:none;font:600 1.05rem/1 var(--f-body);box-shadow:0 12px 30px -8px rgba(0,0,0,.45),0 0 0 3px rgba(255,255,255,.9);transition:transform .3s var(--e2),background .3s}
.wa-float svg{flex:none;width:30px;height:30px}
.wa-float:hover{transform:translateY(-2px);background:#1EBE5A}

/* lightbox */
.lb{position:fixed;inset:0;z-index:250;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;background:rgba(20,19,18,.96);opacity:0;transition:opacity .4s var(--e2)}
.lb.is-open{opacity:1}
.lb[hidden]{display:none}
.lb__fig{display:flex;flex-direction:column;align-items:center;gap:14px;max-height:100svh;padding:56px 0 24px}
.lb__fig img{max-height:calc(100svh - 130px);max-width:100%;width:auto;object-fit:contain}
.lb__cap{display:flex;gap:18px;color:var(--on-dark-soft);font-size:1rem}
.lb__title{color:var(--creme);font-family:var(--f-display);font-weight:500}
.lb__x{position:absolute;top:12px;right:16px;width:48px;height:48px;border:0;background:none;color:var(--creme);font-size:2rem;line-height:1}
.lb__nav{width:56px;height:56px;margin:auto;border:1px solid rgba(245,240,231,.3);border-radius:50%;background:none;color:var(--creme);font-size:1.8rem;line-height:1}
.lb__nav:hover{background:rgba(245,240,231,.1)}
.lb__nav[hidden]{visibility:hidden;display:block}

/* cookies */
.cookie{position:fixed;left:20px;bottom:20px;z-index:150;max-width:440px;background:var(--branco);color:var(--txt);padding:22px;box-shadow:0 24px 50px -20px rgba(37,36,34,.4);font-size:1rem}
.cookie[hidden]{display:none}
.cookie a{color:var(--carvao)}
.cookie__btns{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.cookie-fins{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--areia);display:grid;gap:6px;color:var(--txt-soft)}
.cookie-fins[hidden]{display:none}
.cookie-fins strong{color:var(--txt);font-weight:600}

/* ==========================================================
   Responsivo
   ========================================================== */
@media (max-width:1100px){
  .ctx__fig{width:30vw}
  .ctx__list{grid-template-columns:1fr}
  .ctx__list li:nth-last-child(2){border-bottom:0}
}
@media (max-width:900px){
  :root{--hdr-h:64px}
  .hdr__logo img{height:36px}
  .burger{display:block}
  .nav{position:fixed;top:0;right:0;bottom:0;width:min(84vw,360px);flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:80px 32px 32px;background:var(--creme);box-shadow:-20px 0 60px -30px rgba(0,0,0,.35);transform:translateX(105%);transition:transform .55s var(--e);z-index:-1}
  .nav.open{transform:translateX(0)}
  .nav a:not(.btn){font:400 1.6rem/1.2 var(--f-display);padding:8px 0}
  .nav a:not(.btn)[aria-current="true"]::after{display:none}
  .nav .btn{margin-top:20px}

  .hero__sticky{height:auto;min-height:100svh;display:flex;flex-direction:column}
  .hero__media{position:relative;width:100%;height:32svh;flex:none}
  .hero__panel{display:none}
  .hero__in{height:auto;flex:1;align-items:flex-start;padding-top:18px;padding-bottom:24px;position:relative}
  .hero__in::before{content:"";position:absolute;left:0;right:0;top:-9svh;height:9svh;background:var(--creme);clip-path:polygon(0 100%,100% 0,100% 100%)}
  .hero__media{margin-top:var(--hdr-h)}
  .hero__copy{width:auto;max-width:none}
  .hero h1{line-height:1.06}
  .obras{min-height:0;padding-bottom:20px}
  .obras__head{gap:8px;margin-bottom:16px}
  .obras__sub{flex-basis:100%;margin-left:0;line-height:1.5;padding:0}
  .hero h1{font-size:clamp(1.9rem,8vw,2.8rem);max-width:15ch}
  .hero__sub{margin-top:14px}
  .hero__ctas{margin-top:20px}
  :root{--sec-y:44px}
  h2{font-size:clamp(1.7rem,7vw,2.4rem)}
  .eyebrow{margin-bottom:10px}
  .ctx__lead{margin-top:14px}
  .ctx{padding-top:0}
  .ctx__fig{position:relative;width:100%;height:16svh;margin-bottom:22px}
  .ctx__fig::after{background:linear-gradient(0deg,rgba(37,36,34,.6),rgba(37,36,34,0) 50%)}
  .ctx__head,.ctx__list{width:auto}
  .ctx__list{margin-top:18px}
  .ctx__list li{padding:10px 0;font-size:1.12rem}
  .pillars{margin:20px 0 24px;gap:16px 18px}
  .pillars div{padding-top:10px}
  .pillars dt{font-size:1rem}
  .pillars dd{line-height:1.5;margin-top:4px}
  .reg__aside p{margin-bottom:16px}
  .reg__head{gap:14px;margin-bottom:20px}
  .scope{margin-top:16px}
  .scope li{padding:10px 0}
  .atua__note{margin-top:12px}
  .atua__grid{gap:24px}
  .cookie{padding:16px;font-size:1rem}

  .obras{height:auto;max-height:none}
  .mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:clamp(120px,38vw,260px)}
  .mosaic__row{display:contents}
  .mosaic__row--b .work:last-child{grid-column:1/-1}

  .gestao__grid,.atua__grid,.reg__head{grid-template-columns:1fr}
  .gestao__fig{height:30svh;min-height:200px;order:2}
  .gestao__copy{order:1}
  .gestao__fig{display:none}
  .stats{grid-template-columns:1fr 1fr;row-gap:28px}
  .band{min-height:100svh}
  .triptych{grid-template-columns:1fr 1fr;grid-template-rows:1.1fr 1fr;height:46svh;min-height:260px}
  .triptych figure:nth-child(2){grid-column:1/-1;grid-row:1}
  .atua__fig{height:36svh;min-height:240px}
  .geo{left:12px;bottom:12px;padding:16px 18px;max-width:calc(100% - 24px)}
  .cta__grid{grid-template-columns:1fr}
  .cta__fig{height:26svh}
  .cta__copy{padding:40px var(--gutter)}
  .people{margin-top:28px}
  .people{grid-template-columns:1fr 1fr}
  .ftr__in{grid-template-columns:1fr}
  .ftr__nav{justify-content:flex-start}
  .lb{grid-template-columns:1fr}
  .lb__nav{position:absolute;bottom:20px;width:48px;height:48px}
  .lb__prev{left:calc(50% - 64px)}.lb__next{right:calc(50% - 64px)}
  .lb__fig{padding-bottom:84px}
  .wa-float{width:62px;height:62px;padding:0;justify-content:center;border-radius:50%;right:14px;bottom:14px}
  .wa-float__t{display:none}
}
@media (max-width:900px) and (max-height:700px){
  .hero .hero__media{height:22svh}
  .hero .eyebrow{font-size:.68rem;margin-bottom:14px}
  .hero h1{font-size:clamp(1.8rem,7.6vw,2.4rem)}
  .hero__sub{line-height:1.55;margin-top:12px}
  .hero__ctas{margin-top:18px}
}
@media (max-width:900px) and (max-height:600px){
  .hero .hero__media{height:16svh}
  .hero .eyebrow{margin-bottom:10px}
  .hero h1{font-size:1.75rem}
  .hero__ctas{margin-top:14px;gap:12px 20px}
}
@media (max-width:560px){
  .scope li{grid-template-columns:1fr;gap:4px}
  .stats__n{font-size:2.8rem}
  .stats li{padding-top:12px}
  .people{grid-template-columns:1fr}
  .cookie{left:12px;right:12px;bottom:12px;max-width:none}
  .cookie__btns .btn{flex:1;justify-content:center}
  .hero__ctas{gap:16px 22px}
  .wa-float{bottom:calc(14px + var(--ck-h,0px))}
  .hero__media{height:28svh}
  .atua__fig{height:24svh;min-height:170px}
  .geo{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 10px;padding:12px 14px}
  .geo__k{width:100%;margin-bottom:4px}
  .geo__city{font-size:1.3rem}
  .geo__sub{display:none}
  .cta__fig{display:none}
}

/* ==========================================================
   Movimento (gate data-motion) · sistema de movimento BuildV
   ========================================================== */
@media (prefers-reduced-motion:no-preference){
  html[data-motion] [data-reveal]{opacity:0;transform:translateY(24px);filter:blur(5px);transition:opacity .9s var(--e),transform .9s var(--e),filter .9s var(--e)}
  html[data-motion] [data-reveal][data-rv="right"]{transform:translateX(26px)}
  html[data-motion] [data-reveal][data-rv="left"]{transform:translateX(-26px)}
  html[data-motion] [data-reveal="soft"]{transform:none;filter:none;transition:opacity 1s var(--e)}
  html[data-motion] [data-reveal="fig"]{opacity:.35;transform:scale(.97);filter:none;transition:opacity .6s var(--e),transform .7s var(--e)}
  html[data-motion] [data-reveal="mask"]{opacity:1;transform:none;filter:none;clip-path:inset(0 0 88% 0);transition:clip-path .55s var(--e)}
  html[data-motion] [data-reveal="mask"] img{transform:scale(1.04);transition:transform .7s var(--e)}
  html[data-motion] [data-reveal].is-in{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}
  html[data-motion] [data-reveal="mask"].is-in img{transform:none}
  html[data-motion] [data-reveal].is-flush{transition:none!important}
  html[data-motion] [data-reveal].is-flush img{transition:none!important}
  .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
  .w>i{display:inline-block;font-style:normal}
  html[data-motion] .w>i{transform:translateY(108%);transition:transform .9s var(--e)}
  html[data-motion] .is-split.is-in .w>i{transform:none}
  html[data-motion] .hero__slat,html[data-motion] .hero__panel::before{transform:translateX(-14%);opacity:0;transition:transform 1.4s var(--e),opacity 1s var(--e)}
  html[data-motion] .hero__slat--2{transition-delay:.12s}
  html[data-motion] .hero__slat--1{transition-delay:.06s}
  html[data-motion].is-loaded .hero__slat,html[data-motion].is-loaded .hero__panel::before{transform:none;opacity:1}
  html[data-motion].is-loaded .hero__slat--2{opacity:.92}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .loader{display:none}
}

/* ---------- 4b · como funciona ---------- */
.steps{padding:var(--sec-y) 0;background:var(--areia)}
.steps h2{color:var(--carvao);margin-bottom:clamp(24px,4.4svh,44px)}
.steps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px);counter-reset:none}
.steps__list li{position:relative;padding:22px 0 0;border-top:1px solid rgba(81,72,63,.28)}
.steps__n{display:flex;align-items:center;gap:12px;font:500 .95rem/1 var(--f-body);letter-spacing:.14em;color:#66513A;margin-bottom:16px}
.steps__n::before{content:"";width:6px;height:14px;background:var(--champ);transform:skewX(-40deg)}
.steps__list b{display:block;font:500 clamp(1.25rem,1.6vw,1.5rem)/1.2 var(--f-display);color:var(--carvao)}
.steps__list p{margin-top:8px;font-size:var(--fs-body);color:var(--txt-soft);max-width:30ch}

/* ---------- 6 · comparador antes e depois ---------- */
.compare{margin-bottom:clamp(28px,5svh,56px)}
.compare__box{position:relative;aspect-ratio:16/9;max-height:78svh;width:100%;overflow:hidden;background:var(--carvao);touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize}
.compare__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;pointer-events:none;-webkit-user-drag:none}
.compare__top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.compare__bar{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.35);outline:none}
.compare__knob{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.35);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252422' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E");background-size:26px;background-position:center;background-repeat:no-repeat;transition:transform .2s var(--e2)}
.compare__bar:focus-visible .compare__knob{outline:3px solid var(--champ);outline-offset:3px}
.compare__box.is-drag .compare__knob{transform:scale(1.08)}
.compare__tag{position:absolute;top:16px;padding:8px 14px;background:rgba(28,27,26,.72);color:#fff;font:600 .9rem/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.compare__tag--a{left:16px}.compare__tag--d{right:16px}
.compare figcaption{padding-top:12px;font-size:1rem;color:var(--grafite)}

/* ---------- 7b · perguntas frequentes ---------- */
.faq{padding:var(--sec-y) 0;background:var(--areia)}
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,96px);align-items:start}
.faq h2{color:var(--carvao);max-width:12ch}
.faq details{border-top:1px solid rgba(81,72,63,.28)}
.faq details:last-child{border-bottom:1px solid rgba(81,72,63,.28)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font:500 clamp(1.12rem,1.4vw,1.3rem)/1.3 var(--f-display);color:var(--carvao)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:transform .3s var(--e2)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;font-size:var(--fs-body);color:var(--txt-soft);max-width:60ch}

/* rodapé: instagram */
.ftr__ig{width:44px;justify-content:center;border:1px solid rgba(245,240,231,.3);border-radius:50%}
.ftr__nav .ftr__ig{min-height:44px;height:44px}
.ftr__ig:hover{border-color:var(--champ)}

@media (min-width:901px){
  :root{--fs-body:1.125rem}
}
@media (max-width:900px){
  .steps__list{grid-template-columns:1fr;gap:0}
  .steps__list li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;padding:18px 0}
  .steps__n{grid-row:1/3;margin:4px 0 0}
  .steps__list p{margin-top:4px}
  .compare__box{aspect-ratio:3/4;max-height:80svh}
  .compare__tag{top:12px;padding:7px 11px;font-size:.82rem}
  .compare__tag--a{left:12px}.compare__tag--d{right:12px}
  .faq__grid{grid-template-columns:1fr;gap:16px}
  .faq summary{min-height:56px}
}

/* página interna: política */
.doc{padding:calc(var(--hdr-h) + 56px) 0 80px}
.doc .container{max-width:820px}
.doc h1{font-size:clamp(2.2rem,4vw,3.4rem);color:var(--carvao);margin-bottom:24px}
.doc h2{font-size:1.5rem;font-weight:500;color:var(--carvao);margin:40px 0 12px}
.doc p,.doc li{color:var(--txt-soft);max-width:68ch}
.doc p+p{margin-top:12px}
.doc a{color:var(--carvao)}
.reg .eyebrow,.triptych figcaption b{color:#66513A}
