/* Pilotti Engenharia · gerado por _tools/build.py em 202609291530. Edite src/css/site.css e design-system/tokens/tokens.css */
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('../assets/fonts/jost-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('../assets/fonts/jost-normal-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:'Source Sans 3';font-style:italic;font-weight:400 600;font-display:swap;src:url('../assets/fonts/source-sans-3-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400 600;font-display:swap;src:url('../assets/fonts/source-sans-3-italic-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:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('../assets/fonts/source-sans-3-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('../assets/fonts/source-sans-3-normal-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;}
/* ==========================================================================
   PILOTTI ENGENHARIA · design tokens (fonte: marca real, Portfolio 2026)
   Navy #080D44 e vermelho #DF002D medidos nos arquivos da marca (PPTX/PDF 2026).
   Tipografia: Jost ecoa o "ENGENHARIA" (geometrica tipo Futura) do logotipo;
   Source Sans 3 no texto corrido. Contrastes conferidos por calculo (WCAG 2.2 AA).
   Figma: pendente (MCP sem OAuth nesta sessao). Estes arquivos sao a fonte atual.
   ========================================================================== */
:root{
  /* marca */
  --navy:        #080D44;  /* fundo escuro principal. branco sobre ele 18.2:1 */
  --navy-2:      #111A5E;  /* painel sobre navy. branco 15.8:1 */
  --navy-3:      #1B2470;  /* hover / bordas sobre navy */
  --navy-ink:    #050833;  /* linhas gravadas do device TT */
  --red:         #DF002D;  /* acao (fundo de botao). branco sobre ele 5.03:1 */
  --red-hover:   #BD0026;  /* branco 6.58:1 */
  --red-ink:     #C2002A;  /* vermelho como texto pequeno no claro 5.79:1 */
  --red-soft:    #FF5A70;  /* vermelho como texto no navy 6.03:1 */

  /* neutros com tinta de marca */
  --paper:       #F4F5F8;  /* fundo claro principal */
  --white:       #FFFFFF;
  --mist:        #E7E9F0;  /* divisorias, tiles vazios */
  --mist-2:      #D5D9E4;  /* bordas de campo */
  --ink:         #0B1033;  /* texto no claro 16.9:1 */
  --ink-2:       #4A5070;  /* texto de apoio no claro 7.2:1 */
  --ink-3:       #5C6282;  /* legendas pequenas 5.47:1 */
  --on-dark:     #FFFFFF;
  --on-dark-2:   #A6A8BC;  /* apoio no navy 7.77:1 */

  /* tipografia */
  --f-display: 'Jost', 'Futura', 'Century Gothic', system-ui, sans-serif;
  --f-text:    'Source Sans 3', 'Source Sans Pro', 'Segoe UI', system-ui, sans-serif;
  --fs-display: clamp(2.35rem, 1.1rem + 4.2vw, 5rem);
  --fs-h1:      clamp(2.15rem, 1.2rem + 3.2vw, 4rem);
  --fs-h2:      clamp(1.85rem, 1.15rem + 2.2vw, 3.1rem);
  --fs-h3:      clamp(1.2rem, 1.05rem + .5vw, 1.45rem);
  --fs-num:     clamp(2.9rem, 1.6rem + 4.6vw, 6.2rem);
  --fs-lead:    clamp(1.06rem, 1rem + .3vw, 1.22rem);
  --fs-body:    1.0625rem;
  --fs-small:   .9375rem;
  --fs-micro:   .8125rem;
  --lh-tight:   1.04;
  --lh-head:    1.1;
  --lh-body:    1.6;
  --tr-display: -.022em;
  --tr-eyebrow: .2em;

  /* espaco (densidade espacosa) */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --gutter: clamp(16px, 4vw, 40px);
  --container: 1200px;
  --section-y: clamp(56px, 9vh, 112px);   /* comprime em telas baixas: secao cabe na viewport */
  --header-h: 76px;

  /* forma: raios variam por hierarquia (nada de raio unico em tudo) */
  --r-0: 0;        /* fotos, paineis, cards de obra */
  --r-1: 2px;      /* botoes, campos, tiles */
  --r-2: 6px;      /* modal / lightbox */

  /* sombra: quase nenhuma */
  --shadow-header: 0 1px 0 rgba(8,13,68,.08), 0 8px 24px -16px rgba(8,13,68,.35);
  --shadow-panel:  0 24px 64px -24px rgba(5,8,51,.55);

  /* movimento (sistema de movimento BuildV) */
  --e:  cubic-bezier(.16,.84,.28,1);   /* entradas, reveals */
  --e2: cubic-bezier(.4,0,.2,1);       /* UI: header, hover */
  --t-ui: .28s;
  --t-in: .9s;
}

/* ==========================================================================
   PILOTTI ENGENHARIA · componentes do site (HTML estatico, BuildV)
   Ordem: base > tipografia > botoes > header/menu > loader > hero > clientes >
   obras > lightbox > comparativo > numeros > frentes > metodo > atuacao >
   cta final > rodape > LPs de servico > contato > documentos > cookies >
   movimento > responsivo > reduced-motion
   ========================================================================== */

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.on-dark :focus-visible,[data-bg=dark] :focus-visible{outline-color:#fff}
::selection{background:var(--navy);color:#fff}
p{text-wrap:pretty}
strong{font-weight:600;color:var(--ink)}
.on-dark strong,[data-bg=dark] strong{color:#fff}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-120px;z-index:400;background:var(--navy);color:#fff;padding:12px 18px;border-radius:var(--r-1);text-decoration:none;font-weight:600}
.skip:focus{top:12px}
main{display:block}
main:focus{outline:none}
.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:var(--section-y)}
.sec--paper{background:var(--paper)}
.sec--white{background:var(--white)}
.field__err--full{grid-column:1 / -1}
.simple .lead{margin-top:20px}
.on-dark{color:var(--on-dark)}

/* ---------- tipografia ---------- */
.eyebrow{display:block;margin:0 0 var(--s-4);font-family:var(--f-display);font-weight:500;font-size:var(--fs-micro);line-height:1.35;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--red-ink)}
.on-dark .eyebrow,[data-bg=dark] .eyebrow{color:var(--red-soft)}
.h-display,.h1,.h2,.h3{font-family:var(--f-display);margin:0;color:inherit}
.h-display{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tr-display);font-weight:420;text-wrap:balance}
.h1{font-size:var(--fs-h1);line-height:1.06;letter-spacing:-.02em;font-weight:420;text-wrap:balance}
.h2{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.017em;font-weight:420;text-wrap:balance}
.h3{font-size:var(--fs-h3);line-height:1.22;letter-spacing:-.004em;font-weight:500}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--ink-2);max-width:58ch}
.on-dark .lead,[data-bg=dark] .lead{color:var(--on-dark-2)}
.sec-head{max-width:780px;margin-bottom:clamp(28px,5vh,56px)}
.h-display + .lead,.h1 + .lead,.h2 + .lead{margin-top:var(--s-5)}
.sec-head .lead{margin-top:var(--s-5)}
.sec-head--row{max-width:none;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:end}
.sec-head--row .lead{margin-top:0}
.sec-head--wide{max-width:none}

/* ---------- botoes ---------- */
.ico{width:18px;height:18px;flex:none}
.btn{--bh:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--bh);padding:0 22px 0 24px;border-radius:var(--r-1);font-family:var(--f-display);font-weight:500;font-size:1rem;line-height:1.1;letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:background-color var(--t-ui) var(--e2),color var(--t-ui) var(--e2),transform .2s var(--e2)}
.btn .ico{transition:transform .45s var(--e)}
.btn:hover .ico{transform:translate(3px,-3px)}
.btn .ico--r{transition:transform .45s var(--e)}
.btn:hover .ico--r{transform:translateX(4px)}
.btn:active{transform:scale(.975)}
.btn--primary{background:var(--red);color:#fff}
.btn--primary:hover{background:var(--red-hover)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-3)}
.btn--sm{--bh:44px;padding:0 16px 0 18px;font-size:.9375rem;gap:10px}
.btn--lg{--bh:60px;padding:0 26px 0 30px;font-size:1.0625rem}
.btn__short{display:none}
.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--f-display);font-weight:500;font-size:1rem;line-height:1.2;color:var(--navy);text-decoration:none}
.link-arrow>span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--e);padding-bottom:2px}
.link-arrow:hover>span{background-size:100% 1px}
.link-arrow .ico{transition:transform .45s var(--e)}
.link-arrow:hover .ico{transform:translateX(4px)}
.on-dark .link-arrow,[data-bg=dark] .link-arrow{color:#fff}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;height:var(--header-h);background:rgba(244,245,248,.94);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px);transition:box-shadow var(--t-ui) var(--e2),background-color var(--t-ui) var(--e2)}
.site-header.is-scrolled{box-shadow:var(--shadow-header);background:rgba(244,245,248,.88)}
.site-header__in{height:100%;display:flex;align-items:center;gap:clamp(16px,2.2vw,36px)}
.brand{position:relative;display:block;flex:none;margin-right:auto;line-height:0}
.brand img{height:46px;width:auto}
.brand__w{position:absolute;left:0;top:0;opacity:0;transition:opacity .3s var(--e2)}
.nav__list{display:flex;gap:clamp(16px,1.9vw,32px);list-style:none;margin:0;padding:0}
.nav__link{position:relative;display:inline-flex;align-items:center;height:44px;font-family:var(--f-display);font-weight:450;font-size:.96875rem;line-height:1;letter-spacing:.005em;color:var(--ink);text-decoration:none;transition:color var(--t-ui) var(--e2)}
/* pagina ativa: bloco vermelho ACIMA do link (o T vermelho sobre o TT do logo). Nao e sublinhado. */
.nav__link::before{content:"";position:absolute;left:0;top:5px;width:14px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .5s var(--e)}
.nav__link:hover{color:var(--navy)}
.nav__link:hover::before{transform:scaleX(.45)}
.nav__link[aria-current=page]{color:var(--navy)}
.nav__link[aria-current=page]::before,.nav__link[data-current]::before{transform:scaleX(1)}
.nav__link[data-current]{color:var(--navy)}
.menu-btn{display:none;align-items:center;gap:10px;height:44px;padding:0 4px 0 8px;font-family:var(--f-display);font-weight:500;font-size:.9375rem;color:var(--navy)}
.menu-btn__bars{position:relative;width:22px;height:12px}
.menu-btn__bars::before,.menu-btn__bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .45s var(--e),top .45s var(--e)}
.menu-btn__bars::before{top:1px}
.menu-btn__bars::after{top:9px}
.site-header.is-menu{background:var(--navy);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header.is-menu .brand__n{opacity:0}
.site-header.is-menu .brand__w{opacity:1}
.site-header.is-menu .menu-btn{color:#fff}
.site-header.is-menu .menu-btn__bars::before{top:5px;transform:rotate(45deg)}
.site-header.is-menu .menu-btn__bars::after{top:5px;transform:rotate(-45deg)}
.site-header.is-menu .site-header__cta{visibility:hidden}
.menu{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;background:var(--navy);color:#fff;padding:calc(var(--header-h) + 28px) var(--gutter) 28px;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .4s var(--e2),visibility 0s linear .4s}
.menu.is-open{opacity:1;visibility:visible;transition:opacity .4s var(--e2)}
.menu__list{list-style:none;margin:0 0 28px;padding:0}
.menu__list a{display:flex;align-items:center;justify-content:space-between;min-height:56px;font-family:var(--f-display);font-weight:350;font-size:clamp(1.55rem,6vw,2.1rem);line-height:1.1;letter-spacing:-.01em;color:#fff;text-decoration:none;opacity:0;transform:translateY(14px);transition:opacity .5s var(--e),transform .6s var(--e)}
.menu.is-open .menu__list a{opacity:1;transform:none}
.menu__list li:nth-child(2) a{transition-delay:40ms}.menu__list li:nth-child(3) a{transition-delay:80ms}.menu__list li:nth-child(4) a{transition-delay:120ms}.menu__list li:nth-child(5) a{transition-delay:160ms}.menu__list li:nth-child(6) a{transition-delay:200ms}
.menu__list a[aria-current=page]{color:var(--red-soft)}
.menu__meta{margin-top:auto;padding-top:28px;font-size:var(--fs-small);color:var(--on-dark-2);line-height:1.7}
.menu__meta a{color:#fff}
.is-locked{overflow:hidden}


/* ---------- menu suspenso: Servicos (7 paginas do site antigo em 2 grupos) ---------- */
.dd{position:relative}
.dd__btn{gap:6px;cursor:pointer}
.dd__chev{width:14px;height:14px;transition:transform .35s var(--e)}
.dd.is-open .dd__chev{transform:rotate(180deg)}
.dd__panel{position:absolute;top:calc(100% + 14px);left:-24px;z-index:70;display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:8px 40px;min-width:520px;padding:24px 28px 22px;background:var(--white);box-shadow:var(--shadow-panel);border-radius:var(--r-1);opacity:0;transform:translateY(-6px);transition:opacity .25s var(--e2),transform .35s var(--e)}
.dd.is-open .dd__panel{opacity:1;transform:none}
.dd__panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.dd__label{margin:0 0 8px;font-family:var(--f-display);font-weight:500;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.dd__panel ul{list-style:none;margin:0;padding:0}
.dd__panel a{display:flex;align-items:center;min-height:40px;font-family:var(--f-display);font-weight:450;font-size:.96875rem;color:var(--ink);text-decoration:none;white-space:nowrap;transition:color var(--t-ui) var(--e2)}
.dd__panel a:hover{color:var(--red-ink)}
.dd__panel a[aria-current=page]{color:var(--red-ink)}
.menu__group{padding:6px 0 10px}
.menu__label{margin:6px 0 4px;font-family:var(--f-display);font-weight:500;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-2)}
.menu__sub{list-style:none;margin:0;padding:0 0 0 2px}
.menu__list .menu__sub a{min-height:40px;font-size:1.06rem;font-weight:400;color:rgba(255,255,255,.9)}
.menu__list .menu__sub a[aria-current=page]{color:var(--red-soft)}

/* ---------- loader (1x por sessao) ---------- */
.loader{display:none}
html[data-motion][data-loader] .loader{display:grid;place-items:center;position:fixed;inset:0;z-index:300;background:var(--navy);transition:transform 1s var(--e)}
html[data-motion][data-loader] .loader img{width:72px;height:auto;opacity:0;transform:translateY(12px);animation:pl-in .8s var(--e) .08s forwards}
html[data-motion][data-loader].is-loaded .loader{transform:translateY(-101%)}
html[data-motion][data-loader].is-loaded .loader img{opacity:1}
@keyframes pl-in{to{opacity:1;transform:none}}

/* ---------- hero da home: tese editorial + faixa de video em moldura de sangria parcial ---------- */
.hero{position:relative;display:grid;grid-template-rows:auto minmax(220px,1fr);min-height:calc(100svh - var(--header-h));padding-top:clamp(18px,5vh,60px);background:var(--paper)}
.hero__top{display:grid;grid-template-columns:minmax(0,7.3fr) minmax(0,4.7fr);gap:clamp(24px,4vw,72px);align-items:end;padding-bottom:clamp(20px,4.4vh,46px)}
.hero__head .h-display{max-width:12.6em}
.hero__aside{padding-bottom:.35rem}
.hero__aside .lead{color:var(--ink-2);max-width:44ch}
.hero__aside .actions{margin-top:clamp(18px,3vh,28px)}
.hero__band{--open:0;--inset:max(var(--gutter),calc((100% - var(--container)) / 2));position:relative;min-height:0}
.band__media{position:absolute;inset:0;overflow:hidden;background:var(--navy);clip-path:inset(0 0 0 calc(var(--inset) * (1 - var(--open))))}
.band__media video,.band__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band__media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(5,8,51,.62),rgba(5,8,51,0));pointer-events:none}
.band__caption{position:absolute;left:calc(var(--inset) * (1 - var(--open)) + clamp(12px,1.6vw,24px));bottom:clamp(10px,1.8vh,18px);max-width:calc(100% - var(--inset) * (1 - var(--open)) - 96px);z-index:2;padding:8px 12px;background:rgba(5,8,51,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--fs-micro);line-height:1.4;color:#fff;letter-spacing:.01em}
.band__pause{position:absolute;right:clamp(12px,2vw,24px);bottom:clamp(10px,1.8vh,18px);z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-1);background:rgba(5,8,51,.5);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color var(--t-ui) var(--e2)}
.band__pause:hover{background:rgba(5,8,51,.78)}
.band__pause .ico{width:16px;height:16px}
.band__pause [data-i=play]{display:none}
.band__pause[aria-pressed=true] [data-i=play]{display:block}
.band__pause[aria-pressed=true] [data-i=pause]{display:none}

/* ---------- clientes ---------- */
.clients{padding-block:clamp(30px,6.5vh,72px);background:var(--paper)}
.clients__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;row-gap:clamp(24px,4.6vh,48px);column-gap:clamp(16px,3vw,48px);list-style:none;margin:0;padding:0}
.clients__grid li{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px}
.clients img{height:calc(clamp(22px,2.3vw,32px) * var(--s,1));width:auto;max-width:100%;opacity:.82}
.strip{background:var(--white);padding-block:clamp(22px,4.4vh,40px)}
.strip__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(18px,3vh,28px) clamp(24px,4vw,56px);list-style:none;margin:0;padding:0}
.strip__list li{display:flex;align-items:center;min-height:40px}
.strip img{height:calc(clamp(20px,2vw,28px) * var(--s,1));width:auto;opacity:.8}

/* ---------- obras (portfolio) ---------- */
.works{background:var(--white);padding-block:var(--section-y)}
.works--paper{background:var(--paper)}
.works__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,22px);list-style:none;margin:0;padding:0}
.works__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.work{position:relative;display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--mist);text-align:left;isolation:isolate}
.works__grid--4 .work{aspect-ratio:3/4}
.work img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.work::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(to top,rgba(5,8,51,.9) 0%,rgba(5,8,51,.42) 46%,rgba(5,8,51,0) 72%);opacity:0;transition:opacity .5s var(--e2)}
.work__info{position:absolute;left:clamp(14px,1.6vw,22px);right:68px;bottom:clamp(14px,1.6vw,20px);z-index:1;color:#fff;opacity:0;transform:translateY(12px);transition:opacity .45s var(--e2),transform .7s var(--e)}
.work__name{display:block;font-family:var(--f-display);font-weight:500;font-size:clamp(1rem,.9rem + .35vw,1.2rem);line-height:1.2}
.work__meta{display:block;margin-top:4px;font-size:.875rem;line-height:1.35;color:rgba(255,255,255,.88)}
.work__zoom{position:absolute;right:clamp(12px,1.4vw,18px);bottom:clamp(12px,1.4vw,18px);z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-1);background:var(--red);color:#fff;opacity:0;transform:scale(.85);transition:opacity .4s var(--e2),transform .5s var(--e)}
.work__zoom .ico{width:16px;height:16px}
@media (hover:hover){
  .work:hover img{transform:scale(1.045)}
  .work:hover::after,.work:hover .work__info,.work:hover .work__zoom{opacity:1}
  .work:hover .work__info{transform:none}
  .work:hover .work__zoom{transform:none}
}
.work:focus-visible::after,.work:focus-visible .work__info,.work:focus-visible .work__zoom{opacity:1}
.work:focus-visible .work__info,.work:focus-visible .work__zoom{transform:none}
@media (hover:none){.work__zoom{opacity:1;transform:none;width:34px;height:34px}}

/* ---------- lightbox (galeria por obra + ficha tecnica) ---------- */
.lb{position:fixed;inset:0;z-index:120;display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,27vw,400px);background:rgba(4,7,38,.97);color:#fff;opacity:0;visibility:hidden;transition:opacity .35s var(--e2),visibility 0s linear .35s}
.lb.is-open{opacity:1;visibility:visible;transition:opacity .35s var(--e2)}
.lb__stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:clamp(56px,8vh,80px) clamp(60px,6vw,96px) clamp(64px,9vh,88px);touch-action:pan-y}
.lb__img{max-width:100%;max-height:calc(100svh - 170px);width:auto;height:auto;object-fit:contain;opacity:0;transform:scale(.985);transition:opacity .45s var(--e2),transform .7s var(--e)}
.lb__img.is-ready{opacity:1;transform:none}
.lb__nav{position:absolute;top:50%;display:grid;place-items:center;width:52px;height:52px;margin-top:-26px;border-radius:var(--r-1);background:rgba(255,255,255,.08);color:#fff;transition:background-color var(--t-ui) var(--e2)}
.lb__nav:hover{background:rgba(255,255,255,.18)}
.lb__nav .ico{width:22px;height:22px}
.lb__prev{left:clamp(8px,1.6vw,24px)}
.lb__next{right:clamp(8px,1.6vw,24px)}
.lb__count{position:absolute;left:50%;bottom:clamp(20px,3.4vh,32px);transform:translateX(-50%);font-family:var(--f-display);font-size:.9375rem;letter-spacing:.08em;color:rgba(255,255,255,.86);font-variant-numeric:tabular-nums}
.lb__close{position:absolute;top:14px;right:14px;z-index:3;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-1);background:rgba(255,255,255,.1);color:#fff}
.lb__close:hover{background:rgba(255,255,255,.2)}
.lb__close .ico{width:20px;height:20px}
.lb__sheet{position:relative;background:var(--navy-2);padding:clamp(72px,10vh,96px) clamp(24px,2.4vw,36px) 32px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
.lb__sheet .eyebrow{color:var(--red-soft)}
.lb__title{font-family:var(--f-display);font-weight:450;font-size:clamp(1.45rem,1.1rem + 1vw,1.95rem);line-height:1.12;letter-spacing:-.01em}
.lb__place{margin-top:6px;color:var(--on-dark-2);font-size:var(--fs-small)}
.lb__dl{display:grid;gap:0;margin:26px 0 0}
.lb__dl>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}
.lb__dl dt{font-size:.8125rem;color:var(--on-dark-2);padding-top:2px}
.lb__dl dd{font-size:var(--fs-small);color:#fff}
.lb__dl ul{list-style:none;display:grid;gap:4px}
.lb__cta{margin-top:28px;align-self:flex-start}
.lb__page{margin-top:12px;align-self:flex-start}
.lb__page[hidden]{display:none}
.lb[data-single] .lb__nav{display:none}

/* ---------- comparativo "o espaco entre" ---------- */
.between{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff;padding-block:var(--section-y)}
.between__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.34fr) minmax(0,1fr);gap:clamp(18px,2.6vw,44px);align-items:center}
.between__col{padding-block:clamp(8px,2vh,24px)}
.between__who{margin:0 0 14px;font-family:var(--f-display);font-weight:500;font-size:var(--fs-micro);line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-2)}
.between__col .h3{color:rgba(255,255,255,.94);font-weight:400;font-size:clamp(1.12rem,1rem + .5vw,1.38rem);line-height:1.25}
.between__col p:not(.between__who){margin-top:14px;font-size:var(--fs-small);color:var(--on-dark-2);max-width:40ch}
.between__col--us{background:var(--paper);color:var(--ink);padding:clamp(28px,3.6vw,56px) clamp(24px,3vw,48px);box-shadow:var(--shadow-panel)}
.between__col--us .between__who{color:var(--red-ink)}
.between__col--us .h3{color:var(--navy);font-size:clamp(1.45rem,1.1rem + 1.1vw,2.1rem);line-height:1.15;font-weight:450;letter-spacing:-.012em}
.between__col--us p:not(.between__who){color:var(--ink-2);font-size:var(--fs-body)}
.between__col--us .btn{margin-top:clamp(20px,3vh,32px)}
.tt-lines{position:absolute;z-index:-1;right:-2%;top:-6%;width:min(560px,44vw);height:auto;pointer-events:none;color:var(--navy-ink)}

/* ---------- numeros sobre foto ---------- */
.proof{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:min(92svh,880px);background:var(--navy);color:#fff}
.proof__media{position:absolute;inset:-9% 0;z-index:-2}
.proof__media img{width:100%;height:100%;object-fit:cover}
.proof::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,13,68,.16) 0%,rgba(8,13,68,.06) 26%,rgba(8,13,68,.6) 46%,rgba(8,13,68,.9) 62%,rgba(8,13,68,.97) 100%)}
.proof .eyebrow{color:rgba(255,255,255,.94)}
.proof__in{display:flex;flex-direction:column;justify-content:flex-end;padding-block:var(--section-y)}
.proof__in .h2{max-width:17ch}
.proof__nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,3vw,40px);margin:clamp(28px,5vh,56px) 0 0}
.proof__num{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}
.proof__num dd{font-family:var(--f-display);font-weight:300;font-size:var(--fs-num);line-height:.98;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums}
.proof__num dd small{font-size:.42em;font-weight:400;letter-spacing:-.01em;margin-left:.08em}
.proof__num dt{margin-top:12px;font-size:var(--fs-small);line-height:1.4;color:rgba(255,255,255,.88)}

/* ---------- frentes (pilotis) ---------- */
.pillars{background:var(--paper);padding-block:var(--section-y)}
.pillars__row{display:flex;gap:clamp(8px,1vw,14px);height:clamp(360px,54vh,580px);list-style:none;margin:0;padding:0}
.pillar{flex:1 1 0;min-width:0;transition:flex-grow .85s var(--e)}
.pillar--main{flex-grow:1.4}
@media (hover:hover) and (min-width:901px){
  .pillars__row:hover .pillar{flex-grow:.86}
  .pillars__row:hover .pillar--main{flex-grow:1.05}
  .pillars__row .pillar:hover{flex-grow:1.55}
}
.pillars__row .pillar:focus-within{flex-grow:1.5}
.pillar__link{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;overflow:hidden;isolation:isolate;padding:clamp(20px,2.4vw,34px);color:#fff;text-decoration:none}
.pillar__link img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--e)}
.pillar__link::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(8,13,68,.95) 0%,rgba(8,13,68,.62) 40%,rgba(8,13,68,.06) 74%)}
.pillar__link:hover img{transform:scale(1.04)}
.pillar__num{font-family:var(--f-display);font-weight:500;font-size:.875rem;letter-spacing:.14em;color:rgba(255,255,255,.9);margin-bottom:10px}
.pillar__title{font-family:var(--f-display);font-weight:450;font-size:clamp(1.35rem,1.05rem + .9vw,1.9rem);line-height:1.1;letter-spacing:-.01em}
.pillar__text{margin-top:10px;font-size:var(--fs-small);line-height:1.5;color:rgba(255,255,255,.9);max-width:34ch}
.pillar__cta{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-family:var(--f-display);font-weight:500;font-size:.9375rem}
.pillar__cta .ico{transition:transform .45s var(--e)}
.pillar__link:hover .pillar__cta .ico{transform:translateX(4px)}

/* ---------- metodo (foto + lista numerada) ---------- */
.method{background:var(--white);padding-block:var(--section-y)}
.method__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5.4vw,96px);align-items:center}
.method__fig{position:relative;width:100%;aspect-ratio:4/5;max-height:min(76vh,720px);overflow:hidden;background:var(--mist)}
.method__fig img{width:100%;height:100%;object-fit:cover}
.method__fig figcaption,.fig-cap{position:absolute;left:0;bottom:0;padding:10px 14px;background:rgba(5,8,51,.72);color:#fff;font-size:var(--fs-micro);line-height:1.35;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3.6vh,38px) clamp(24px,3vw,48px);margin-top:clamp(24px,4.4vh,44px);list-style:none;padding:0}
.mlist--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.m-item__t{display:flex;align-items:baseline;gap:12px;margin:0;font-family:var(--f-display);font-weight:500;font-size:1.125rem;line-height:1.3;color:var(--ink)}
.m-item__t button{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;min-height:44px}
.m-item__n{flex:none;min-width:22px;font-family:var(--f-display);font-weight:500;font-size:.8125rem;letter-spacing:.06em;color:var(--red-ink)}
.m-item__d{margin-top:8px;padding-left:34px;font-size:var(--fs-small);line-height:1.55;color:var(--ink-2)}
.method__cta{margin-top:clamp(26px,4.4vh,44px)}
.m-item__chev{display:none}
.is-acc .mlist,.facts.is-acc{grid-template-columns:1fr;gap:0;margin-top:clamp(16px,3vh,28px);border-top:1px solid var(--acc-line,var(--mist-2))}
.is-acc .m-item{border-bottom:1px solid var(--acc-line,var(--mist-2))}
.is-acc .m-item__t button{align-items:center;min-height:54px;padding:6px 0}
.is-acc .m-item__chev{display:block;margin-left:auto;transition:transform .4s var(--e)}
.is-acc .m-item__t button[aria-expanded=true] .m-item__chev{transform:rotate(180deg)}
.is-acc .m-item__d{margin:0;padding:0 0 16px 34px}
.is-acc .m-item__d[hidden]{display:none}
.on-dark .is-acc,.on-dark.is-acc{--acc-line:rgba(255,255,255,.16)}

/* ---------- atuacao (mapa em tiles) ---------- */
.reach{background:var(--paper);padding-block:var(--section-y);overflow:hidden}
.reach__grid{display:grid;grid-template-columns:minmax(0,5.3fr) minmax(0,6.7fr);gap:clamp(28px,5vw,80px);align-items:center}
.reach__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vh,28px) clamp(20px,3vw,40px);margin:clamp(24px,4vh,40px) 0 0}
.reach__stats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end}
.reach__stats dd{font-family:var(--f-display);font-weight:300;font-size:clamp(1.9rem,1.35rem + 1.8vw,3rem);line-height:1;letter-spacing:-.025em;color:var(--navy);white-space:nowrap}
.reach__stats dd small{font-size:.5em;font-weight:400}
.reach__stats dt{margin-top:8px;font-size:var(--fs-small);line-height:1.4;color:var(--ink-2)}
.reach__now{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:clamp(22px,3.6vh,34px);padding:14px 0;border-top:1px solid var(--mist-2);font-size:var(--fs-small);color:var(--ink-2)}
.reach__now strong{color:var(--ink)}
.reach__now a{color:var(--navy);font-weight:600;text-underline-offset:3px}
.reach__body .actions{margin-top:clamp(18px,3vh,28px)}
.reach__map{--tgap:5px;--tile:min(54px,calc((100vw - 2 * var(--gutter) - 6 * var(--tgap)) / 7));--pitch:calc(var(--tile) + var(--tgap));position:relative;justify-self:end;margin:0;padding:var(--pitch);background:url(../assets/patterns/modulos.svg) 0 0/calc(var(--pitch) * 25) auto repeat}
.tilemap{display:grid;grid-template-columns:repeat(7,var(--tile));grid-template-rows:repeat(8,var(--tile));gap:var(--tgap)}
.t{display:grid;place-items:center;border-radius:var(--r-1);background:var(--mist);color:var(--ink-3);font-family:var(--f-display);font-weight:500;font-size:clamp(.66rem,.6rem + .2vw,.8rem);letter-spacing:.05em}
.t.is-on{background:var(--red);color:#fff}
.t.is-hq{background:var(--navy);color:#fff}
.reach__key{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:calc(var(--pitch) * .45);font-size:.875rem;color:var(--ink-2)}
.reach__key span{display:inline-flex;align-items:center;gap:8px}
.reach__key i{display:inline-block;width:12px;height:12px;border-radius:var(--r-1);background:var(--red)}
.reach__key i.hq{background:var(--navy)}

/* ---------- CTA final ---------- */
.closing{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:min(86svh,780px);background:var(--navy);color:#fff}
.closing__media{position:absolute;inset:-7% 0;z-index:-2}
.closing__media img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.closing::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,13,68,.95) 0%,rgba(8,13,68,.86) 36%,rgba(8,13,68,.36) 70%,rgba(8,13,68,.18) 100%)}
.closing__in{padding-block:var(--section-y)}
.closing__in .h2{max-width:15.5ch;font-size:clamp(2rem,1.2rem + 2.8vw,3.6rem)}
.closing__in .lead{margin-top:var(--s-5);max-width:44ch}
.closing__in .actions{margin-top:clamp(24px,4vh,40px)}

/* ---------- rodape ---------- */
.site-footer{background:var(--navy);color:var(--on-dark-2);padding-top:clamp(56px,9vh,96px);font-size:var(--fs-small)}
.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.site-footer__brand img{width:156px;height:auto}
.site-footer__brand p{margin-top:18px;max-width:30ch;line-height:1.6}
.site-footer__tag{color:#fff;font-family:var(--f-display);font-weight:400;font-size:1.0625rem}
.site-footer__h{margin:0 0 14px;font-family:var(--f-display);font-weight:500;font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.site-footer ul{list-style:none;display:grid;gap:4px}
.site-footer a,.site-footer .linklike{display:inline-flex;align-items:center;min-height:36px;color:var(--on-dark-2);text-decoration:none;transition:color var(--t-ui) var(--e2)}
.site-footer a:hover,.site-footer .linklike:hover{color:#fff}
.site-footer a,.channels a{overflow-wrap:anywhere}
.site-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:clamp(40px,7vh,72px);padding-block:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.875rem}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:4px 20px}
.linklike{font:inherit;text-decoration:underline;text-underline-offset:3px}

/* ---------- LPs de servico ---------- */
.svc-hero{display:grid;grid-template-columns:minmax(var(--gutter),1fr) minmax(0,560px) minmax(0,640px) minmax(var(--gutter),1fr);min-height:calc(100svh - var(--header-h));background:var(--paper)}
.svc-hero__text{grid-column:2;align-self:center;padding:clamp(28px,6vh,80px) clamp(24px,4.4vw,72px) clamp(28px,6vh,80px) 0}
.svc-hero__text .h1{max-width:13em}
.svc-hero__text .lead{margin-top:var(--s-5);max-width:46ch}
.svc-hero__text .actions{margin-top:clamp(22px,3.6vh,34px)}
.svc-hero__fig{grid-column:3 / 5;position:relative;margin:0;min-height:320px;overflow:hidden;background:var(--mist)}
.svc-hero__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(20px,4vh,36px);font-size:.875rem;color:var(--ink-3);list-style:none;padding:0}
.crumbs a{color:var(--ink-2);text-underline-offset:3px}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--ink-3)}
.svc-proof{margin-top:clamp(20px,3.4vh,32px);max-width:46ch;font-size:var(--fs-small);line-height:1.5;color:var(--ink-2)}
.svc-proof strong{color:var(--navy)}

.statement{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff;padding-block:var(--section-y)}
.statement__grid{display:grid;grid-template-columns:minmax(0,5.4fr) minmax(0,6.6fr);gap:clamp(32px,6vw,104px);align-items:start}
.statement__quote{margin-top:clamp(22px,4vh,36px);font-family:var(--f-display);font-weight:300;font-size:clamp(1.4rem,1.05rem + 1.1vw,2.05rem);line-height:1.3;letter-spacing:-.008em;color:#fff}
.statement__quote q{quotes:"\201C" "\201D"}
.statement__quote q::before{color:var(--red-soft)}
.statement__apoio{margin-top:clamp(18px,3vh,28px);max-width:48ch;font-size:var(--fs-small);line-height:1.6;color:var(--on-dark-2)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4.4vh,44px) clamp(24px,3vw,48px);list-style:none;margin:0;padding:0}
.fact .m-item__t{font-size:clamp(1.08rem,1rem + .35vw,1.25rem);color:#fff}
.fact .m-item__n{color:var(--red-soft)}
.fact .m-item__d{color:var(--on-dark-2)}
.statement .actions{margin-top:clamp(28px,5vh,48px)}
.callout{margin-top:clamp(20px,3.4vh,32px);padding:clamp(18px,2vw,26px);background:var(--navy-2);max-width:52ch}
.callout .h3{font-size:1.125rem;color:#fff}
.callout p{margin-top:8px;font-size:var(--fs-small);line-height:1.55;color:var(--on-dark-2)}

.explorer{background:var(--paper);padding-block:var(--section-y)}
.explorer__grid{display:grid;grid-template-columns:minmax(0,4.7fr) minmax(0,7.3fr);gap:clamp(28px,5vw,88px);align-items:start}
.tabs{display:flex;flex-direction:column;margin-top:clamp(20px,3.6vh,32px)}
.tab{display:flex;align-items:center;gap:16px;width:100%;min-height:52px;padding:8px 0;border-bottom:1px solid var(--mist-2);text-align:left;font-family:var(--f-display);font-weight:450;font-size:clamp(1rem,.95rem + .25vw,1.1rem);line-height:1.25;color:var(--ink-2);transition:color .3s var(--e2)}
.tab:first-child{border-top:1px solid var(--mist-2)}
.tab__n{flex:none;min-width:24px;font-size:.8125rem;font-weight:500;letter-spacing:.06em;color:var(--ink-3)}
.tab__go{margin-left:auto;opacity:0;transform:translateX(-6px);transition:opacity .3s var(--e2),transform .45s var(--e)}
.tab:hover{color:var(--navy)}
.tab[aria-selected=true]{color:var(--navy);font-weight:500}
.tab[aria-selected=true] .tab__n{color:var(--red-ink)}
.tab[aria-selected=true] .tab__go{opacity:1;transform:none}
.tabpanel{position:relative}
.tabpanel[hidden]{display:none}
.tabpanel__fig{position:relative;margin:0;height:min(56vh,540px);overflow:hidden;background:var(--mist)}
.tabpanel__fig img{width:100%;height:100%;object-fit:cover}
.tabpanel.is-in .tabpanel__fig img{animation:tp-img 1.1s var(--e) both}
.tabpanel.is-in .tabpanel__body{animation:tp-txt .8s var(--e) both}
@keyframes tp-img{from{opacity:.2;transform:scale(1.035)}to{opacity:1;transform:none}}
@keyframes tp-txt{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tabpanel__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:end;margin-top:clamp(18px,3vh,26px)}
.tabpanel__body p{margin-top:8px;color:var(--ink-2);max-width:52ch}

.bento{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);grid-auto-rows:minmax(0,auto);gap:clamp(10px,1.3vw,18px)}
.bento__item{display:flex;flex-direction:column;background:var(--white);padding:clamp(20px,2.3vw,32px)}
.bento__n{font-family:var(--f-display);font-weight:500;font-size:.8125rem;letter-spacing:.06em;color:var(--red-ink);margin-bottom:12px}
.bento__item .h3{font-size:clamp(1.08rem,1rem + .35vw,1.28rem)}
.bento__item p{margin-top:10px;font-size:var(--fs-small);line-height:1.55;color:var(--ink-2)}
.bento__item--lead{grid-row:1 / span 2;padding:0;background:var(--navy);color:#fff}
.bento__item--lead img{width:100%;height:clamp(180px,30vh,320px);object-fit:cover}
.bento__lead-in{padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;flex:1}
.bento__item--lead .bento__n{color:var(--red-soft)}
.bento__item--lead .h3{color:#fff;font-size:clamp(1.3rem,1.1rem + .7vw,1.7rem)}
.bento__item--lead p{color:var(--on-dark-2);font-size:var(--fs-body)}
.bento__item--lead .btn{margin-top:auto;align-self:flex-start}
.bento__lead-in p+.btn{margin-top:clamp(20px,3vh,32px)}

.modalities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);list-style:none;margin:0;padding:0}
.modality{display:flex;flex-direction:column;background:var(--white);padding:clamp(24px,2.6vw,38px)}
.modality__tag{font-family:var(--f-display);font-weight:500;font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--red-ink)}
.modality .h3{margin-top:10px}
.modality>p{margin-top:12px;font-size:var(--fs-small);line-height:1.55;color:var(--ink-2)}
.modality ul{display:grid;gap:10px;margin:20px 0 28px;list-style:none}
.modality li{display:flex;gap:12px;font-size:var(--fs-small);line-height:1.45;color:var(--ink)}
.modality li::before{content:"";flex:none;width:6px;height:6px;margin-top:.5em;background:var(--red)}
.modality .btn{margin-top:auto;align-self:flex-start;white-space:normal;text-align:left;line-height:1.25;padding-block:10px}
.modality--featured{background:var(--navy);color:#fff}
.modality--featured .modality__tag{color:var(--red-soft)}
.modality--featured>p{color:var(--on-dark-2)}
.modality--featured li{color:#fff}

.cases{list-style:none;margin:0;padding:0;border-top:1px solid var(--mist-2)}
.case{display:grid;grid-template-columns:clamp(96px,8.4vw,124px) minmax(0,3fr) minmax(0,5fr) minmax(0,2.4fr);gap:clamp(14px,2.2vw,32px);align-items:center;padding:clamp(14px,2.4vh,24px) 0;border-bottom:1px solid var(--mist-2)}
.case__thumb{position:relative;display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--mist)}
.case__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
button.case__thumb:hover img{transform:scale(1.06)}
.case__count{position:absolute;left:6px;bottom:6px;padding:3px 8px;background:rgba(5,8,51,.78);color:#fff;font-size:.75rem;line-height:1.3;border-radius:var(--r-1)}
.case__thumb--logo{display:grid;place-items:center;background:var(--white)}
.case__thumb--logo img{width:72%;height:auto;object-fit:contain;opacity:.8}
.case__who .h3{font-size:clamp(1.1rem,1rem + .4vw,1.3rem)}
.case__where{margin-top:4px;font-size:.875rem;color:var(--ink-3)}
.case__what{font-size:var(--fs-small);line-height:1.55;color:var(--ink-2)}
.case__metric{text-align:right;font-family:var(--f-display);font-weight:300;font-size:clamp(1.5rem,1.15rem + 1.2vw,2.35rem);line-height:1.05;letter-spacing:-.02em;color:var(--navy)}
.case__metric small{display:block;margin-top:6px;font-family:var(--f-text);font-weight:400;font-size:.8125rem;letter-spacing:0;color:var(--ink-3)}

/* ---------- contato e formularios ---------- */
.contact{background:var(--paper);padding-block:clamp(28px,5vh,72px)}
.contact__grid{display:grid;grid-template-columns:minmax(0,4.8fr) minmax(0,7.2fr);gap:clamp(28px,5vw,88px);align-items:start}
.contact__lead{margin-top:var(--s-5)}
.channels{display:grid;gap:18px;margin-top:clamp(24px,4vh,40px);list-style:none;padding:0}
.channels li{display:grid;gap:2px}
.channels span{font-size:.8125rem;color:var(--ink-3)}
.channels a{font-family:var(--f-display);font-weight:450;font-size:1.125rem;color:var(--navy);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.channels a:hover{text-decoration:underline;text-underline-offset:4px}
.contact__more{margin-top:clamp(24px,4vh,36px);padding-top:18px;border-top:1px solid var(--mist-2);font-size:var(--fs-small);color:var(--ink-2)}
.contact__more a{color:var(--navy);font-weight:600;text-underline-offset:3px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;background:var(--white);padding:clamp(22px,3vw,44px)}
.form__title{grid-column:1 / -1;font-family:var(--f-display);font-weight:450;font-size:1.35rem;line-height:1.2;color:var(--navy)}
.form__note{grid-column:1 / -1;margin-top:-8px;font-size:.875rem;color:var(--ink-3)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field--full{grid-column:1 / -1}
.field label,.field legend{font-size:.9375rem;font-weight:600;color:var(--ink)}
.field .opt{font-weight:400;color:var(--ink-3)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--mist-2);border-radius:var(--r-1);background:var(--white);font:inherit;font-size:1rem;color:var(--ink);transition:border-color var(--t-ui) var(--e2),box-shadow var(--t-ui) var(--e2)}
.field select{appearance:none;-webkit-appearance:none;padding-right:40px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23080D44' stroke-width='1.6'/%3E%3C/svg%3E") right 12px center/18px no-repeat}
.field textarea{min-height:120px;padding:12px 14px;resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,13,68,.14)}
.field [aria-invalid=true]{border-color:var(--red-ink)}
.field__err{min-height:0;font-size:.8125rem;color:var(--red-ink)}
.field__err:empty{display:none}
.check{grid-column:1 / -1;display:flex;gap:12px;align-items:flex-start;font-size:.9375rem;color:var(--ink-2)}
.check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--navy)}
.check a{color:var(--navy);font-weight:600}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:6px}
.form__status{grid-column:1 / -1;padding:14px 16px;border-radius:var(--r-1);font-size:.9375rem}
.form__status:empty{display:none}
.form__status.is-ok{background:#EAF6EF;color:#155232}
.form__status.is-err{background:#FCECEF;color:#8A0020}
.file{display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 14px;border:1px dashed var(--mist-2);border-radius:var(--r-1);font-size:.9375rem;color:var(--ink-2);cursor:pointer}
.file:hover{border-color:var(--navy)}
.file input{position:absolute;opacity:0;width:1px;height:1px}
.file:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,13,68,.14)}

/* ---------- documentos (politica) e pagina simples ---------- */
.doc{background:var(--white);padding-block:clamp(40px,8vh,96px)}
.doc__in{max-width:760px}
.doc__in h2{margin-top:40px;font-family:var(--f-display);font-weight:500;font-size:1.35rem;line-height:1.25;color:var(--navy)}
.doc__in p,.doc__in li{margin-top:12px;color:var(--ink-2)}
.doc__in ul{padding-left:20px}
.doc__in a{color:var(--navy);font-weight:600}
.page-head{background:var(--paper);padding-block:clamp(36px,7vh,80px) clamp(20px,4vh,40px)}
.page-head .lead{margin-top:var(--s-4)}
.simple{min-height:calc(100svh - var(--header-h));display:flex;align-items:center;background:var(--paper)}
.simple .actions{margin-top:28px}

/* ---------- cookies ---------- */
.cookie{position:fixed;left:16px;bottom:16px;z-index:10050;width:min(430px,calc(100% - 32px));padding:20px 22px;border-radius:var(--r-2);background:var(--navy);color:#fff;box-shadow:var(--shadow-panel);transform:translateY(calc(100% + 32px));transition:transform .6s var(--e)}
.cookie.is-show{transform:none}
.cookie p{font-size:.875rem;line-height:1.55;color:var(--on-dark-2)}
.cookie p a{color:#fff;font-weight:600}
.cookie__actions{display:flex;gap:10px;margin-top:14px}
.cookie__actions button{flex:1;min-height:44px;padding:0 14px;border-radius:var(--r-1);font-family:var(--f-display);font-weight:500;font-size:.9375rem}
.cookie__ok{background:var(--red);color:#fff}
.cookie__ok:hover{background:var(--red-hover)}
.cookie__no{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.cookie__no:hover{box-shadow:inset 0 0 0 1px #fff}


/* formulario compacto: a pagina de contato cabe na tela no desktop */
.form{gap:12px 18px}
.field input,.field select{min-height:46px}
.field textarea{min-height:92px}
.form__note{margin-top:-6px}
@media (min-width:901px){.contact .h1{font-size:clamp(2.1rem,1.2rem + 2.6vw,3.5rem)}}
/* device TT nas secoes navy das LPs: so o topo aparece no canto inferior */
.statement .tt-lines{top:auto;bottom:-46%;right:-3%;width:min(500px,38vw)}


/* CTA final no celular/tablet: veu uniforme (texto ocupa toda a largura) */
@media (max-width:900px){
  .closing::before{background:linear-gradient(180deg,rgba(8,13,68,.8) 0%,rgba(8,13,68,.86) 55%,rgba(8,13,68,.94) 100%)}
}


/* numeros no celular: o texto ocupa mais altura, o veu comeca mais cedo */
@media (max-width:900px){
  .proof::before{background:linear-gradient(180deg,rgba(8,13,68,.28) 0%,rgba(8,13,68,.62) 26%,rgba(8,13,68,.88) 44%,rgba(8,13,68,.97) 100%)}
}

/* ---------- movimento (sistema BuildV: movimento curto, easing longo, ~4/10) ---------- */
html[data-motion] [data-reveal]{opacity:0;transform:translate3d(0,24px,0);filter:blur(5px);transition:opacity .9s var(--e),transform .9s var(--e),filter .9s var(--e);transition-delay:var(--rd,0ms)}
html[data-motion] [data-reveal=soft]{transform:none;filter:none;transition:opacity 1s var(--e)}
html[data-motion] [data-reveal=fig]{transform:scale(.965);filter:blur(4px)}
html[data-motion] [data-rv=left]{transform:translate3d(-26px,0,0)}
html[data-motion] [data-rv=right]{transform:translate3d(26px,0,0)}
html[data-motion] [data-reveal=mask]{opacity:1;transform:none;filter:none;clip-path:inset(0 0 101% 0);transition:clip-path 1.4s var(--e);transition-delay:var(--rd,0ms)}
html[data-motion] [data-reveal=mask] img{transform:scale(1.08);transition:transform 1.7s var(--e);transition-delay:var(--rd,0ms)}
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].no-anim,html[data-motion] [data-reveal].no-anim img{transition:none!important}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .02em .16em;margin:-.1em -.02em -.16em}
.w>i{display:inline-block;font-style:normal}
html[data-motion] [data-split].is-split .w>i{transform:translate3d(0,112%,0);transition:transform .9s var(--e);transition-delay:calc(var(--wi,0) * 42ms + var(--rd,0ms))}
html[data-motion] [data-split].is-split.is-in .w>i{transform:none}
html[data-motion] [data-split].no-anim .w>i{transition:none}
[data-parallax]{will-change:transform}

/* ---------- responsivo ---------- */
@media (max-width:1180px){
  .nav__list{gap:18px}
  .nav__link{font-size:.9375rem}
}
@media (max-width:1100px){
  .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__brand{grid-column:1 / -1}
}
@media (max-width:1080px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .brand{margin-right:auto}
}
@media (max-width:900px){
  :root{--header-h:64px}
  .brand img{height:38px}
  .hero{grid-template-rows:auto minmax(200px,1fr)}
  .hero__top{grid-template-columns:1fr;gap:18px}
  .hero__head .h-display{max-width:none}
  .sec-head--row{grid-template-columns:1fr;gap:16px}
  .works__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .works__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .works__grid--4 .work{aspect-ratio:1/1}
  .lb{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .lb__stage{padding:64px 12px 56px}
  .lb__img{max-height:calc(62svh - 100px)}
  .lb__sheet{max-height:38svh;padding:22px var(--gutter) 24px}
  .lb__dl{margin-top:16px}
  .lb__nav{width:44px;height:44px;margin-top:-22px;background:rgba(4,7,38,.55)}
  .between__grid{grid-template-columns:1fr;gap:14px}
  .between__col{padding-block:6px}
  .between__col p:not(.between__who){margin-top:8px}
  .proof__nums{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .pillars__row{flex-direction:column;height:auto;gap:10px}
  .pillar{flex:none}
  .pillar__link{display:block;position:relative;height:auto;min-height:clamp(118px,17vh,168px);padding:clamp(12px,2vh,20px) 14px 14px calc(36% + clamp(14px,3vw,28px));background:var(--white);color:var(--ink)}
  .pillar__link::before{display:none}
  .pillar__link img{position:absolute;inset:0 auto 0 0;z-index:auto;width:36%;height:100%}
  .pillar__num{display:block;margin:0 0 6px;color:var(--red-ink)}
  .pillar__title{display:block;font-size:clamp(1.12rem,1rem + .6vw,1.45rem);color:var(--navy)}
  .pillar__text{display:block;margin-top:4px;font-size:.9375rem;line-height:1.45;color:var(--ink-2);max-width:52ch}
  .pillar__cta{display:inline-flex;margin-top:8px;font-size:.9375rem;color:var(--navy)}
  .method__grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:28px;align-items:start}
  .method__fig{aspect-ratio:3/4;max-height:78svh;position:sticky;top:calc(var(--header-h) + 16px)}
  .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__brand{grid-column:1 / -1}
  .svc-hero{grid-template-columns:var(--gutter) minmax(0,1fr) var(--gutter);min-height:0}
  .svc-hero__text{grid-column:2;padding:28px 0 26px}
  .svc-hero__fig{grid-column:1 / -1;min-height:0;height:clamp(220px,38svh,360px)}
  .statement__grid{grid-template-columns:1fr;gap:32px}
  .explorer__grid{grid-template-columns:1fr;gap:24px}
  .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
  .tab,.tab:first-child{min-height:48px;padding:8px 12px;border:1px solid var(--mist-2);border-radius:var(--r-1);background:var(--white);font-size:.9375rem}
  .tab[aria-selected=true]{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
  .tab__go{display:none}
  .tabpanel__fig{height:clamp(190px,30svh,300px)}
  .tabpanel__body{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento__item--lead{grid-column:1 / -1;grid-row:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
  .bento__item--lead img{height:100%;min-height:220px}
  .case{grid-template-columns:120px minmax(0,1fr) auto;row-gap:8px}
  .case__thumb{grid-row:1 / span 2}
  .case__what{grid-column:2 / -1;grid-row:2}
  .contact__grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .btn__full{display:none}
  .btn__short{display:inline}
  .site-header__cta{--bh:40px;padding:0 12px;font-size:.875rem}
  .site-header__cta .ico{display:none}
  .clients__grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px}
  .strip__list{justify-content:center}
  .works__grid,.works__grid--4{gap:8px}
  .works__grid .work{aspect-ratio:1/1}
  .works__grid--4 .work{aspect-ratio:3/4}
  .proof__num dd{font-size:clamp(2.4rem,11vw,3.2rem)}
  .facts{grid-template-columns:1fr;gap:20px}
  .bento{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .reach__stats{gap:16px 18px}
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__bottom{flex-direction:column;align-items:flex-start}
  .cookie{left:12px;right:12px;bottom:12px;width:auto}
  .cookie__actions{flex-direction:column}
  .lb__dl>div{grid-template-columns:96px minmax(0,1fr)}
}
@media (max-width:380px){
  .btn{white-space:normal;text-align:left;line-height:1.25}
  .h-display{font-size:2.05rem}
  .actions{gap:10px 18px}
  .btn{padding:0 18px}
}
/* telas baixas de desktop: aperta o ritmo para cada secao caber */
@media (min-width:901px) and (max-height:780px){
  :root{--section-y:clamp(44px,7vh,72px)}
  .hero{padding-top:18px}
  .h-display{font-size:clamp(2.35rem,1rem + 3.6vw,4.3rem)}
  .pillars__row{height:clamp(320px,52vh,440px)}
  .method__fig{max-height:68vh}
  .tabpanel__fig{height:min(50vh,440px)}
}


/* ---------- ajustes para cada secao caber na viewport ---------- */
@media (max-width:900px){
  .tt-lines{display:none}
  .between__grid{grid-template-columns:1fr 1fr;gap:18px 18px;align-items:start}
  .between__col--us{grid-column:1 / -1;order:3}
  .reach__map{justify-self:start}
}
@media (max-width:560px){
  :root{--section-y:clamp(44px,6.2vh,64px)}
  .between .sec-head .lead{display:none}
  .between .sec-head{margin-bottom:22px}
  .between__col:not(.between__col--us) p:not(.between__who){display:none}
  .between__col .h3{font-size:1.06rem}
  .between__who{font-size:.72rem;letter-spacing:.12em;margin-bottom:8px}
  .between__col--us{padding:22px 20px}
  .between__col--us .h3{font-size:1.32rem}
  .between__col--us .btn{margin-top:18px}
  .pillars__row{gap:10px}
  .pillar__link{min-height:118px;padding:12px 12px 12px calc(36% + 14px)}
  .pillar__num{display:none}
  .pillar__title{font-size:1.1rem}
  .pillar__text{font-size:.875rem}
  .pillar__cta{margin-top:6px;font-size:.875rem}
  .method__fig{display:none}
  .reach__stats{grid-template-columns:1fr;gap:12px}
  .reach__stats dd{font-size:1.65rem}
  .reach__stats dt{margin-top:2px;font-size:.8125rem}
  .reach__map{--tile:20px;--tgap:3px;padding:10px}
  .t{font-size:0}
  .reach__key{flex-direction:column;gap:4px;margin-top:10px;font-size:.75rem}
  .reach__ufs{display:block!important}
  .reach__body>.actions{display:none}
}
.reach__ufs{display:none;grid-column:1 / -1;margin-top:10px;font-size:.8125rem;color:var(--ink-2)}


/* celulares baixos (ex.: 375x667): comprime tipografia e respiros */
@media (max-width:560px) and (max-height:740px){
  :root{--section-y:clamp(36px,5.6vh,52px)}
  .h-display{font-size:1.9rem}
  .h1{font-size:1.85rem}
  .h2{font-size:1.55rem}
  .hero{padding-top:14px;grid-template-rows:auto minmax(150px,1fr)}
  .hero__top{gap:12px;padding-bottom:16px}
  .hero__aside .lead{font-size:.975rem;line-height:1.5}
  .hero__aside .actions{margin-top:14px}
  .sec-head{margin-bottom:18px}
  .pillars .sec-head .lead,.method__body>.lead,.reach__body>.lead{display:none}
  .reach__stats{margin-top:14px;gap:8px}
  .reach__map{margin-top:14px}
  .reach__now{margin-top:12px;padding:10px 0}
  .svc-hero__text{padding:16px 0 18px}
  .svc-hero__text .lead{font-size:.975rem}
  .svc-proof{margin-top:14px}
  .crumbs{margin-bottom:14px}
  .modality h3{font-size:1.15rem}
  .pillar__link{min-height:108px}
  .pillar__text{font-size:.8125rem}
  .is-acc .m-item__t button{min-height:46px}
  .method__cta{margin-top:18px}
  .mlist{margin-top:16px}
}
/* notebooks baixos (1366x768): o comparativo respira menos */
@media (min-width:901px) and (max-height:780px){
  .between .sec-head{margin-bottom:24px}
  .between__col--us{padding:min(3.4vw,5vh) min(3vw,44px)}
  .between__col--us .btn{margin-top:18px}
}


@media (max-width:900px){
  .reach__grid{grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(14px,4vw,40px);row-gap:0;align-items:start}
  .reach__body{display:contents}
  .reach__body>.eyebrow,.reach__body>.h2,.reach__body>.lead{grid-column:1 / -1}
  .reach__stats{grid-column:1;grid-row:4;margin-top:22px}
  .reach__map{grid-column:2;grid-row:4;align-self:start;margin-top:22px;--tile:34px;--tgap:4px;padding:14px}
  .reach__now,.reach__ufs{grid-column:1 / -1}
  .reach__now{margin-top:18px}
  .reach__body>.actions{grid-column:1 / -1}
}
/* metodo empilha so abaixo de 680 */
@media (max-width:680px){
  .method__grid{grid-template-columns:1fr}
  .method__fig{position:relative;top:auto;aspect-ratio:16/8;max-height:30svh}
}
/* carrosseis por scroll-snap (conteudo inteiro, um card por vez) */
@media (max-width:700px){
  .modalities.snap{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .modalities.snap::-webkit-scrollbar{display:none}
  .modalities.snap>.modality{flex:0 0 min(84%,380px);scroll-snap-align:start;padding:22px 20px}
  .modality ul{margin:14px 0 18px;gap:8px}
  .modality>p{margin-top:8px}
}
@media (max-width:560px){
  .bento.snap,.cases.snap{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scroll-padding-inline:var(--gutter);scrollbar-width:none;border-top:0}
  .bento.snap::-webkit-scrollbar,.cases.snap::-webkit-scrollbar{display:none}
  .bento.snap>li{flex:0 0 min(84%,360px);scroll-snap-align:start}
  .bento__item--lead{display:flex}
  .bento__item--lead img{height:150px;min-height:0}
  .cases.snap>.case{flex:0 0 min(84%,360px);scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px;border:0;background:var(--paper)}
  .case__metric{text-align:left}
  .case__thumb{order:-2;width:100%}
  .case__who{order:-1}
  .snap:focus-visible{outline-offset:-2px}
  .statement__apoio{display:none}
  .svc-hero__fig{height:clamp(150px,24svh,220px)}
  .svc-hero__text{padding:22px 0 24px}
  .explorer .lead{display:none}
  .tabpanel__fig{height:clamp(150px,22svh,200px)}
  .tabs{margin-top:16px}
}
.snap-hint{display:none}
@media (max-width:700px){.modalities.snap + .snap-hint{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-3)}}
@media (max-width:560px){.snap + .snap-hint{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-3)}}
/* notebooks baixos: listas, bento e metodo mais compactos */
@media (min-width:901px) and (max-height:800px){
  .mlist{gap:16px clamp(24px,3vw,48px);margin-top:20px}
  .m-item__d{margin-top:4px;line-height:1.45}
  .method__cta{margin-top:20px}
  .method__body .h2,.explorer .h2{font-size:clamp(1.8rem,1rem + 2vw,2.7rem)}
  .bento__item--lead img{height:clamp(140px,21vh,220px)}
  .bento__item{padding:clamp(16px,1.8vw,24px)}
  .bento__item p{margin-top:6px;line-height:1.5}
  .bento__lead-in{padding:clamp(18px,2vw,28px)}
  .bento__lead-in p+.btn{margin-top:18px}
}


/* celular: mini-mapa (depois do bloco de tablet para prevalecer) */
@media (max-width:560px){
  .reach__map{--tile:20px;--tgap:3px;padding:10px}
}
@media (max-width:560px) and (max-height:760px){
  .reach__stats{margin-top:14px;gap:8px}
  .reach__map{margin-top:14px}
  .reach__now{margin-top:12px;padding:10px 0}
}
@media (max-width:560px) and (max-height:760px){
  .bento .bento__item--lead img{height:112px}
  .bento__lead-in{padding:16px 18px}
  .bento__lead-in p{font-size:.9375rem}
  .sec--paper .sec-head--row .lead{display:none}
  .modality>p{display:none}
  .modality ul{margin:12px 0 16px}
  .between .sec-head .h2{font-size:1.5rem}
}


/* ==========================================================================
   PATCH 6 · conteudo do site antigo
   ========================================================================== */

/* ---------- hero da home em tela cheia: video de obra, texto por cima ---------- */
.hero.hero--full{display:flex;align-items:flex-end;min-height:100svh;margin-top:calc(var(--header-h) * -1);padding:calc(var(--header-h) + 24px) 0 0;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.hero--full .hero__media{position:absolute;inset:0;z-index:-2;background:var(--navy)}
.hero--full .hero__media video,.hero--full .hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero--full::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,8,51,.66) 0%,rgba(5,8,51,.18) 16%,rgba(5,8,51,0) 30%),linear-gradient(0deg,rgba(5,8,51,.94) 0%,rgba(5,8,51,.8) 24%,rgba(5,8,51,.42) 52%,rgba(5,8,51,.08) 76%),linear-gradient(90deg,rgba(5,8,51,.62) 0%,rgba(5,8,51,.2) 48%,rgba(5,8,51,0) 72%)}
.hero__in{position:relative;width:100%;padding-bottom:clamp(92px,14vh,140px)}
.hero--full .eyebrow{color:rgba(255,255,255,.94)}
.hero--full .h-display{max-width:15.5em;font-size:clamp(2.25rem,1.05rem + 3.3vw,4.3rem);color:#fff}
.hero--full .actions{margin-top:clamp(24px,4.2vh,40px)}
.hero--full .link-arrow{color:#fff}
.hero__foot{position:absolute;left:0;right:0;bottom:clamp(14px,2.6vh,26px);z-index:1;display:flex;align-items:center;justify-content:flex-start;gap:12px;pointer-events:none}
.hero__foot>*{pointer-events:auto}
.hero__foot .hero__pause{order:-1}
.hero__caption{margin:0;max-width:44ch;padding:7px 12px;background:rgba(5,8,51,.62);color:#fff;font-size:var(--fs-micro);line-height:1.35;border-radius:var(--r-1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero__pause{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-1);background:rgba(5,8,51,.62);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color var(--t-ui) var(--e2)}
.hero__pause:hover{background:rgba(5,8,51,.86)}
.hero__pause .ico{width:16px;height:16px}
.hero__pause [data-i=play]{display:none}
.hero__pause[aria-pressed=true] [data-i=play]{display:block}
.hero__pause[aria-pressed=true] [data-i=pause]{display:none}

/* header transparente enquanto o hero em tela cheia esta no topo */
.brand__n{transition:opacity .3s var(--e2)}
.page-home .site-header:not(.is-scrolled):not(.is-menu){background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.page-home .site-header:not(.is-scrolled):not(.is-menu) .brand__n{opacity:0}
.page-home .site-header:not(.is-scrolled):not(.is-menu) .brand__w{opacity:1}
.page-home .site-header:not(.is-scrolled):not(.is-menu) .nav__link,.page-home .site-header:not(.is-scrolled):not(.is-menu) .nav__link:hover,.page-home .site-header:not(.is-scrolled):not(.is-menu) .menu-btn{color:#fff}
.page-home .site-header:not(.is-scrolled):not(.is-menu) :focus-visible{outline-color:#fff}

/* ---------- parede de logos (30 marcas do site antigo) ---------- */
.clients__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.clients__hint{display:none}

/* ---------- chips (categorias do portfolio) ---------- */
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--mist-2);border-radius:var(--r-1);background:var(--white);font-family:var(--f-display);font-weight:450;font-size:.9375rem;line-height:1.2;color:var(--ink);transition:background-color var(--t-ui) var(--e2),border-color var(--t-ui) var(--e2),color var(--t-ui) var(--e2)}
.chip:hover{border-color:var(--navy)}
.chip__n{font-size:.8125rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip[aria-pressed=true] .chip__n{color:rgba(255,255,255,.78)}
.page-head--port{padding-bottom:clamp(12px,2.4vh,24px)}
.page-head--port .h1{font-size:clamp(2.2rem,1.3rem + 2.6vw,3.6rem)}
.works--port{padding-top:clamp(8px,2vh,20px)}
.works__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:clamp(16px,3vh,28px)}
.works__more{display:flex;justify-content:flex-end;margin-top:clamp(14px,2.6vh,24px)}

/* ---------- pagina de obra (URLs dos posts do site antigo) ---------- */
.obra-hero{background:var(--paper);padding-block:clamp(20px,4vh,48px) clamp(28px,5vh,64px)}
.obra-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4.6vw,80px);align-items:center;min-height:calc(100svh - var(--header-h) - clamp(48px,9vh,112px))}
.obra-hero__text .h1{font-size:clamp(1.85rem,1.05rem + 2.1vw,3rem);max-width:15em}
.obra-hero__text .lead{margin-top:var(--s-4);font-size:var(--fs-body)}
.obra-sheet{display:grid;margin:clamp(18px,3.2vh,30px) 0 0;border-top:1px solid var(--mist-2)}
.obra-sheet>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--mist-2)}
.obra-sheet dt{padding-top:2px;font-size:.8125rem;color:var(--ink-3)}
.obra-sheet dd{margin:0;font-size:var(--fs-small);line-height:1.5;color:var(--ink)}
.obra-sheet ul{display:flex;flex-wrap:wrap;gap:2px 16px;list-style:none;margin:0;padding:0}
.obra-hero .actions{margin-top:clamp(20px,3.4vh,32px)}
.link-arrow--back .ico--l{transition:transform .45s var(--e)}
.link-arrow--back:hover .ico--l{transform:translateX(-4px)}
.obra-hero__fig{position:relative;margin:0;height:min(74svh,680px);overflow:hidden;background:var(--mist)}
.obra-hero__zoom{position:relative;display:block;width:100%;height:100%;cursor:zoom-in}
.obra-hero__zoom img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.obra-hero__zoom:hover img{transform:scale(1.03)}
.obra-hero__count{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-1);background:rgba(5,8,51,.74);color:#fff;font-family:var(--f-display);font-size:.875rem}
.obra-hero__count .ico{width:14px;height:14px}
.obra-gal{background:var(--white);padding-block:clamp(36px,7vh,88px)}
.obra-gal__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1vw,14px);list-style:none;margin:0;padding:0}
.obra-gal__grid--few{grid-template-columns:repeat(3,minmax(0,1fr))}
.obra-thumb{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--mist);cursor:zoom-in}
.obra-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.obra-thumb:hover img{transform:scale(1.04)}
.obra-thumb__more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(5,8,51,.66);color:#fff;font-family:var(--f-display);font-weight:450;font-size:clamp(1.05rem,.95rem + .5vw,1.35rem)}
.obra-cta{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff;padding-block:clamp(56px,11vh,120px)}
.obra-cta__in .h2{max-width:18ch}
.obra-cta__in .lead{margin-top:var(--s-4)}
.obra-cta__in .actions{margin-top:clamp(22px,3.6vh,34px)}

/* ---------- destaque de obra nas paginas de servico ---------- */
.feature{background:var(--white);padding-block:var(--section-y)}
.feature__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4.6vw,80px);align-items:center}
.feature__fig{position:relative;margin:0;height:min(64svh,600px);overflow:hidden;background:var(--mist)}
.feature__body .h2{font-size:clamp(1.7rem,1.05rem + 1.9vw,2.7rem)}
.feature__body .actions{margin-top:clamp(20px,3.4vh,32px)}

/* ---------- segmentos atendidos (cards tipograficos) ---------- */
.segs{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:clamp(10px,1.3vw,18px);list-style:none;margin:0;padding:0}
.seg{display:flex;flex-direction:column;background:var(--white);min-width:0}
.seg__img{display:block;width:100%;height:clamp(150px,24vh,260px);object-fit:cover;background:var(--mist)}
.seg__body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.3vw,32px)}
.seg__n{margin-bottom:12px;font-family:var(--f-display);font-weight:500;font-size:.8125rem;letter-spacing:.06em;color:var(--red-ink)}
.seg .h3{font-size:clamp(1.12rem,1rem + .45vw,1.38rem)}
.seg p{margin-top:10px;font-size:var(--fs-small);line-height:1.6;color:var(--ink-2)}
.seg .link-arrow{margin-top:auto;padding-top:14px}

/* ---------- lista de setores da home (9 especialidades) ---------- */
.sectors{background:var(--white);padding-block:var(--section-y)}
.mlist--3col{grid-template-columns:repeat(3,minmax(0,1fr))}
.m-item__d .link-arrow{display:inline-flex;min-height:40px;margin-top:4px;font-size:.9375rem}

/* ---------- sobre (home e paginas internas) ---------- */
.about{background:var(--paper);padding-block:var(--section-y)}
.about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5.4vw,96px);align-items:center}
.about__fig{position:relative;margin:0;aspect-ratio:4/5;max-height:min(78vh,700px);overflow:hidden;background:var(--mist)}
.about__fig img{width:100%;height:100%;object-fit:cover}
.about__body p{margin-top:var(--s-4);color:var(--ink-2);max-width:62ch}
.about__body .h2+p{margin-top:var(--s-5)}
.about__team{margin-top:clamp(20px,3.6vh,34px);padding-top:clamp(18px,3vh,26px);border-top:1px solid var(--mist-2)}
.about__team .h3{font-size:clamp(1.08rem,1rem + .35vw,1.25rem);color:var(--navy)}
.about__team p{margin-top:8px}
.about__body .actions{margin-top:clamp(20px,3.4vh,30px)}

/* ---------- missao, visao e valores ---------- */
.mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);list-style:none;margin:0;padding:0}
.mvv__item{padding:clamp(22px,2.4vw,34px);background:var(--white)}
.mvv__item .h3{font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem);color:var(--navy)}
.mvv__item p{margin-top:12px;font-size:var(--fs-small);line-height:1.62;color:var(--ink-2)}
.mvv__tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}
.mvv__tags li{padding:6px 10px;border-radius:var(--r-1);background:var(--paper);font-family:var(--f-display);font-weight:450;font-size:.875rem;color:var(--navy)}

/* numeros do site antigo em 3 colunas (o 4o numero esta no titulo) */
.proof__nums--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* parceiros no hero das landing pages (ex.: bancos) */
.svc-partners{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:clamp(18px,3vh,28px);font-size:var(--fs-small);color:var(--ink-2)}
.svc-partners img{height:calc(22px * var(--s,1));width:auto;opacity:.82}
.svc-partners ul{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;list-style:none;margin:0;padding:0}

/* redes sociais (rodape e contato) */
.social{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-1);background:rgba(255,255,255,.08);color:#fff;transition:background-color var(--t-ui) var(--e2)}
.social a:hover{background:rgba(255,255,255,.18)}
.social .ico{width:20px;height:20px}
.channels .social a{background:var(--navy);color:#fff}
.channels .social a:hover{background:var(--navy-3)}
.site-footer__social{margin-top:18px}

/* closing com titulo longo (copy do site antigo) */
.closing__in .h2.h2--long{max-width:22ch}

/* ---------- responsivo do patch 6 ---------- */
@media (max-width:1100px){
  .clients__grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .mlist--3col{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero--full .h-display{max-width:none}
  .obra-hero__grid{grid-template-columns:1fr;min-height:0;gap:22px}
  .obra-hero__fig{order:-1;height:clamp(220px,40svh,400px)}
  .obra-gal__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feature__grid{grid-template-columns:1fr;gap:24px}
  .feature__fig{height:clamp(220px,38svh,380px)}
  .about__grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:28px;align-items:start}
  .about__fig{aspect-ratio:3/4;position:sticky;top:calc(var(--header-h) + 16px)}
  .mvv{grid-template-columns:1fr}
  .segs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof__nums--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .clients__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:680px){
  .about__grid{grid-template-columns:1fr}
  .about__fig{position:relative;top:auto;aspect-ratio:16/9;max-height:34svh}
}
@media (max-width:560px){
  .hero__in{padding-bottom:clamp(84px,12vh,112px)}
  .hero--full .h-display{font-size:clamp(1.85rem,7.4vw,2.35rem)}
  .hero__caption{display:none}
  .clients__grid{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(3,auto);grid-auto-columns:40%;column-gap:14px;row-gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gutter));padding:4px var(--gutter) 8px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .clients__grid::-webkit-scrollbar{display:none}
  .clients__grid li{scroll-snap-align:start}
  .clients__grid:focus-visible{outline-offset:-2px}
  .clients__hint{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-3)}
  .mlist--3col{grid-template-columns:1fr}
  .obra-gal__grid,.obra-gal__grid--few{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .obra-sheet>div{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:8px 0}
  .segs,.segs.snap{grid-template-columns:1fr}
  .segs.snap{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .segs.snap::-webkit-scrollbar{display:none}
  .segs.snap>li{flex:0 0 min(84%,360px);scroll-snap-align:start}
  .seg__img{height:130px}
  .mvv__item p{font-size:.9375rem}
  .proof__nums--3{grid-template-columns:1fr;row-gap:16px}
  .about__fig{display:none}
  .feature__fig{height:clamp(180px,30svh,260px)}
}
@media (max-width:560px) and (max-height:740px){
  .hero--full .h-display{font-size:1.72rem}
  .hero__in{padding-bottom:76px}
  .hero--full .actions{margin-top:18px}
  .obra-hero__fig{height:clamp(170px,30svh,240px)}
}
@media (min-width:901px) and (max-height:780px){
  .hero--full .h-display{font-size:clamp(2.1rem,.9rem + 3.1vw,3.7rem)}
  .hero__in{padding-bottom:clamp(80px,12vh,110px)}
  .about__fig{max-height:70vh}
  .obra-hero__fig{height:min(70svh,560px)}
}


/* ==========================================================================
   PATCH 7 · complementos das paginas do site antigo
   ========================================================================== */
/* especialidades da home: segmentos das landing pages */
.pillars__more{display:flex;flex-wrap:wrap;align-items:center;gap:4px clamp(18px,2.4vw,32px);margin-top:clamp(14px,2.6vh,24px)}
.pillars__more-t{margin-right:4px;font-family:var(--f-display);font-weight:500;font-size:var(--fs-micro);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--ink-3)}
.pillars .sec-head--row .actions{justify-content:flex-end}

/* listas */
.mlist--1{grid-template-columns:1fr}
.mlist--4col{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.mlist--4col .m-item{padding-top:16px;border-top:1px solid var(--mist-2)}
.mlist--4col .m-item__t{font-size:clamp(1rem,.95rem + .25vw,1.12rem)}
.facts--1{grid-template-columns:1fr}
.statement__lead{margin-top:clamp(18px,3vh,28px);max-width:48ch}

/* sobre: variacoes */
.about--white{background:var(--white)}
.about__fig--land{aspect-ratio:3/2;max-height:none}

/* missao, visao e valores (cards; acordeao abaixo de 900px) */
.mvv .m-item__t{font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem);color:var(--navy)}
.mvv .m-item__d{margin-top:12px;padding-left:34px}
.mvv .m-item__d p{font-size:var(--fs-small);line-height:1.62;color:var(--ink-2)}
.mvv.is-acc{grid-template-columns:1fr;gap:0;border-top:1px solid var(--mist-2)}
.mvv.is-acc .mvv__item{padding:0;background:transparent;border-bottom:1px solid var(--mist-2)}
.mvv.is-acc .m-item__t button{align-items:center;min-height:56px;padding:6px 0}
.mvv.is-acc .m-item__d{margin:0;padding:0 0 18px 34px}

/* portfolio por categoria (o site antigo tinha /category/industrial/ e /category/corporativa/) */
.cats{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:clamp(16px,3vh,28px)}
.cats .chip{text-decoration:none}
.works--port{padding-block:clamp(32px,6vh,72px)}
.works__cat{margin:0 0 clamp(14px,2.6vh,22px);color:var(--navy)}
.works__grid--5{grid-template-columns:repeat(6,minmax(0,1fr))}
.works__grid--5>li{grid-column:span 2}
.works__grid--5>li:nth-child(-n+2){grid-column:span 3}
.clients--head .sec-head{margin-bottom:clamp(22px,4vh,40px)}

/* rodape: e-mail e redes do site antigo */
.site-footer__mail a{color:#fff;overflow-wrap:anywhere}
.channels .social{margin-top:4px}

@media (max-width:1100px){
  .mlist--4col{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .works__grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .works__grid--5>li,.works__grid--5>li:nth-child(-n+2){grid-column:auto}
  .works__grid--5>li:last-child:nth-child(odd){grid-column:1 / -1}
  .works__grid--5>li:last-child:nth-child(odd) .work{aspect-ratio:2/1}
  .pillars .sec-head--row .actions{justify-content:flex-start}
}
@media (max-width:560px){
  .mlist--4col{grid-template-columns:1fr;gap:0}
  .mlist--4col .m-item{padding:12px 0}
  .pillars__more{gap:0 18px}
  .pillars__more-t{width:100%}
}


/* ==========================================================================
   PATCH 8 · ajustes de altura por secao
   ========================================================================== */
.pillars--4 .pillars__row{height:clamp(330px,48vh,520px)}
.pillars--4 .pillar__text{max-width:30ch}
.h1--long{font-size:clamp(1.9rem,1.1rem + 2.1vw,3.05rem)}
.contact .h1.h1--long{font-size:clamp(1.9rem,1.1rem + 2vw,2.9rem)}
.about__body .about__team.m-item .m-item__t{display:block}
.about__body.is-acc .about__team{padding-top:0;border-top:0}
.about__body.is-acc .about__team.m-item .m-item__t button{font-family:var(--f-display);font-weight:500;font-size:1.02rem;color:var(--navy);min-height:52px}
.about__body.is-acc .m-item__d{margin:0;padding:0 0 14px}
.about__body.is-acc .about__team{border-bottom:1px solid var(--mist-2)}
@media (min-width:901px) and (max-height:800px){
  .pillars--4 .pillars__row{height:clamp(300px,46vh,420px)}
}
@media (max-width:900px){
  /* 4 pilares viram carrossel de cards (imagem em cima), um por vez */
  .pillars--4 .pillars__row.snap{display:flex;flex-direction:row;height:auto;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .pillars--4 .pillars__row.snap::-webkit-scrollbar{display:none}
  .pillars--4 .pillar{flex:0 0 min(78%,340px);scroll-snap-align:start}
  .pillars--4 .pillar__link{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;height:100%;padding:0;background:var(--white);color:var(--ink)}
  .pillars--4 .pillar__link img{position:relative;inset:auto;width:100%;height:clamp(140px,22svh,190px);flex:none}
  .pillars--4 .pillar__num{display:block;margin:14px 16px 4px}
  .pillars--4 .pillar__title{margin:0 16px}
  .pillars--4 .pillar__text{display:block;margin:6px 16px 0;max-width:none}
  .pillars--4 .pillar__cta{margin:auto 16px 16px;padding-top:10px}
  .pillars--4 .snap-hint{display:block;margin-top:10px;font-size:.8125rem;color:var(--ink-3)}
  .obra-hero__fig{height:clamp(170px,26svh,260px)}
}
@media (max-width:560px){
  .h1--long{font-size:1.62rem;line-height:1.12}
  .contact .h1.h1--long{font-size:1.62rem}
  .pillars--4 .pillar__num{display:block}
  .pillars--4 .pillar__text{font-size:.875rem}
  .obra-hero{padding-block:14px 26px}
  .obra-hero__text .h1{font-size:1.6rem}
  .obra-hero__text .lead{font-size:.9375rem;margin-top:10px}
  .obra-sheet{margin-top:14px}
  .obra-sheet>div{padding:6px 0}
  .obra-sheet dd{font-size:.875rem;line-height:1.45}
  .obra-hero .actions{margin-top:16px;gap:6px 18px}
  .feature .obra-sheet__scope{display:none}
  .feature__body .h2{font-size:1.5rem}
  .svc-partners{margin-top:12px;gap:6px 16px}
  .svc-partners img{height:18px}
}
@media (max-width:560px) and (max-height:740px){
  .obra-hero__fig{height:150px}
  .obra-hero__text .h1{font-size:1.45rem}
}


/* ==========================================================================
   PATCH 9 · alturas (2a medicao): H1 das paginas de servico, sobre, portfolio, celulares baixos
   ========================================================================== */
.svc-hero__text .h1{font-size:clamp(2rem,1.15rem + 2.3vw,3.35rem)}
.svc-hero__text .h1.h1--long{font-size:clamp(1.85rem,1.05rem + 2vw,2.9rem)}
.works__grid--5>li:nth-child(-n+2) .work{aspect-ratio:16/9}
@media (min-width:901px) and (max-height:800px){
  .svc-hero__text{padding-block:22px}
  .svc-hero__text .lead{font-size:1.02rem;line-height:1.5}
  .about__body p{font-size:var(--fs-small);line-height:1.55}
  .about__team{margin-top:16px;padding-top:14px}
  .about__body .actions{margin-top:14px}
  .contact{padding-block:clamp(20px,4vh,40px)}
  .form{gap:12px 18px}
}
@media (max-width:560px){
  .pillars .sec-head--row .actions{display:none}
  .pillars--4 .pillar__link img{height:clamp(120px,18svh,160px)}
  .pillars__more{flex-wrap:wrap;gap:0 16px}
  .pillars__more-t{width:100%;margin-right:0}
  .link-arrow--back{display:none}
}
@media (max-width:560px) and (max-height:740px){
  .sec-head--row .lead{display:none}
  .statement__lead{font-size:.95rem;line-height:1.5}
  .statement .h2{font-size:1.45rem}
  .tabpanel__fig{height:128px}
  .svc-hero__fig{height:130px}
  .pillars--4 .pillar__link img{height:112px}
  .pillars--4 .pillar__text{font-size:.8125rem;line-height:1.4}
  .obra-hero__fig{height:128px}
  .seg__img{height:104px}
  .seg__body{padding:16px 18px}
  .about__body .h2+p{margin-top:12px}
  .about__body p{font-size:.9375rem;line-height:1.5}
  .facts{gap:14px}
  .statement .actions{margin-top:20px}
  .case{padding:18px 16px}
}


/* ==========================================================================
   PATCH 10 · celulares (3a medicao, 9 viewports x 23 paginas)
   ========================================================================== */
@media (max-width:560px){
  .svc-hero__text .actions .link-arrow{display:none}
  .svc-partners{display:none}
  .case__thumb{aspect-ratio:16/9}
}
@media (max-width:560px) and (max-height:740px){
  .tabpanel__body p{font-size:.9rem;line-height:1.5}
  .facts.is-acc{margin-top:12px}
  .statement .actions{margin-top:14px}
  .obra-sheet>div{padding:5px 0}
  .obra-sheet dd{font-size:.8125rem}
  .case__metric{font-size:1.35rem}
  .cases.snap>.case{gap:8px;padding:18px 16px}
}
@media (max-width:360px){
  .h1--long,.svc-hero__text .h1.h1--long{font-size:1.42rem}
  .svc-hero__text .h1{font-size:1.6rem}
  .svc-hero__text .lead{font-size:.9375rem;line-height:1.5}
  .statement .h2,.sec-head .h2{font-size:1.38rem}
  .statement__lead{font-size:.9rem}
  .m-item__d{font-size:.875rem}
  .about__body p{font-size:.9rem}
  .obra-hero__text .h1{font-size:1.36rem}
  .seg__img{height:92px}
}


/* ==========================================================================
   PATCH 11 · banner de cookies acima do Merlin (z 9999) + celulares muito pequenos (320x640)
   ========================================================================== */
@media (max-width:360px) and (max-height:680px){
  .mlist--4col .m-item{padding:7px 0}
  .mlist--4col .m-item__t{font-size:.9rem;gap:8px}
  .statement__lead{font-size:.875rem;line-height:1.45}
  .statement .h2{font-size:1.3rem}
  .about__body p{font-size:.875rem;line-height:1.45}
  .about__body .h2{font-size:1.35rem}
  .obra-hero__fig{height:104px}
  .obra-sheet>div{padding:4px 0;grid-template-columns:76px minmax(0,1fr)}
  .pillars--4 .pillar__link img{height:92px}
  .pillars--4 .pillar__text{font-size:.78rem}
  .pillars .sec-head{margin-bottom:12px}
  .mvv .m-item__t{font-size:1.1rem}
  .mvv.is-acc .m-item__t button{min-height:46px}
  .sec-head .h2{font-size:1.3rem}
  .facts.is-acc .m-item__t button{min-height:44px}
}


/* ==========================================================================
   PATCH 12 · logos em carrossel continuo (pedido do usuario): 2 faixas em sentidos opostos,
   pausa no hover/foco e no botao (WCAG 2.2.2); sem movimento = faixa parada com rolagem lateral
   ========================================================================== */
.clients--marquee{padding-block:clamp(26px,5.2vh,56px)}
.clients--marquee.clients--head{padding-block:var(--section-y)}
.marquee{position:relative}
.marquee__row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.marquee__row+.marquee__row{margin-top:clamp(10px,2vh,22px)}
.marquee__row:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.marquee__track{display:flex;align-items:center;width:max-content;list-style:none;margin:0;padding:0}
.marquee__track li{flex:none;display:flex;align-items:center;justify-content:center;height:56px;padding:0 clamp(22px,2.8vw,42px)}
.marquee__track img{height:calc(clamp(22px,2.1vw,30px) * var(--s,1));width:auto;max-width:none;opacity:.82}
html[data-motion] .marquee__track{animation:pl-marquee var(--dur,64s) linear infinite;will-change:transform}
html[data-motion] .marquee__row--rev .marquee__track{animation-direction:reverse}
html[data-motion] .marquee:hover .marquee__track,html[data-motion] .marquee:focus-within .marquee__track,html[data-motion] .marquee.is-paused .marquee__track{animation-play-state:paused}
@keyframes pl-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.marquee__ctl{display:flex;justify-content:flex-end;margin-top:clamp(6px,1.4vh,14px)}
.marquee__pause{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-1);color:var(--navy);background:transparent;transition:background-color var(--t-ui) var(--e2)}
.marquee__pause:hover{background:var(--mist)}
.marquee__pause .ico{width:15px;height:15px}
.marquee__pause [data-i=play]{display:none}
.marquee__pause[aria-pressed=true] [data-i=play]{display:block}
.marquee__pause[aria-pressed=true] [data-i=pause]{display:none}
/* sem o motor de movimento (reduced-motion ou JS fora): faixa parada, rolagem lateral, sem a copia do loop */
html:not([data-motion]) .marquee__row{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-mask-image:none;mask-image:none}
html:not([data-motion]) .marquee__track li[aria-hidden]{display:none}
html:not([data-motion]) .marquee__ctl{display:none}
@media (max-width:560px){
  .marquee__track li{height:48px;padding:0 20px}
  .marquee__track img{height:calc(20px * var(--s,1))}
  .marquee__row{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
}


/* ==========================================================================
   PATCH 13 · Especialidades: cards que expandem no hover (desktop, pedido do usuario);
   no celular e em telas sem hover, cards normais com todo o texto
   ========================================================================== */
.pillar__body{display:block}
.pillar__body-in{display:flex;flex-direction:column;align-items:flex-start}
@media (min-width:901px) and (hover:hover){
  .pillars--4 .pillars__row{height:clamp(370px,52vh,540px)}
  .pillars--4 .pillar{flex:1 1 0;transition:flex-grow .8s var(--e)}
  .pillars--4 .pillar--main{flex-grow:2.7}
  .pillars--4 .pillars__row:hover .pillar,.pillars--4 .pillars__row:focus-within .pillar{flex-grow:1}
  .pillars--4 .pillars__row .pillar:hover,.pillars--4 .pillars__row .pillar:focus-within{flex-grow:2.7}
  .pillars--4 .pillar__title{font-size:clamp(1.3rem,.95rem + .8vw,1.75rem);max-width:15ch}
  .pillars--4 .pillar__body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .7s var(--e),opacity .3s var(--e2)}
  .pillars--4 .pillar__body-in{overflow:hidden;min-height:0}
  .pillars--4 .pillar--main .pillar__body{grid-template-rows:1fr;opacity:1}
  .pillars--4 .pillars__row:hover .pillar__body,.pillars--4 .pillars__row:focus-within .pillar__body{grid-template-rows:0fr;opacity:0;transition-delay:0s}
  .pillars--4 .pillars__row .pillar:hover .pillar__body,.pillars--4 .pillars__row .pillar:focus-within .pillar__body{grid-template-rows:1fr;opacity:1;transition-delay:.18s,.28s}
  .pillars--4 .pillar__text{max-width:36ch}
  .pillars--4 .pillar__link::before{background:linear-gradient(to top,rgba(8,13,68,.96) 0%,rgba(8,13,68,.72) 38%,rgba(8,13,68,.18) 72%,rgba(8,13,68,.08) 100%)}
}
/* telas grandes sem hover (tablet deitado): 2 x 2 cards normais */
@media (min-width:901px) and (hover:none){
  .pillars--4 .pillars__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:12px}
  .pillars--4 .pillar{flex:none}
  .pillars--4 .pillar__link{min-height:260px}
}
/* celular: cards normais (carrossel lateral), corpo sempre visivel */
@media (max-width:900px){
  .pillars--4 .pillar__body,.pillars--4 .pillar__body-in{display:flex;flex-direction:column;flex:1}
  .pillars--4 .pillar__body-in .pillar__cta{margin:auto 16px 16px}
}

/* logos: botao de pausa na lateral direita, entre as faixas (desktop) */
@media (min-width:901px){
  .marquee__ctl{position:absolute;top:50%;right:clamp(8px,1.2vw,20px);left:auto;width:auto;max-width:none;margin:0;padding:0;transform:translateY(-50%)}
  .marquee__pause{background:var(--paper)}
  .marquee__pause:hover{background:var(--mist)}
}
@media (max-width:900px){
  .marquee__ctl{margin-top:4px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important}
  [data-parallax]{transform:none!important}
}
