﻿/* ============================================================
   Pedroso Topografia — Design System
   Tokens, tipografia, componentes, motion
   ============================================================ */

:root{
  /* Brand */
  --brand:#074480;
  --brand-dark:#06396B;
  --brand-deep:#04263F;
  --brand-tint:#EAF1F8;

  /* Neutral */
  --bg:#FFFFFF;
  --bg-dark:#050B14;
  --bg-dark-2:#071628;
  --ink:#0A0F1A;
  --ink-inv:#FDFDFD;
  --muted:#4A5568;
  --muted-inv:rgba(253,253,253,0.72);
  --card:#F7F9FC;
  --card-2:#EEF2F7;
  --border:#E2E7EF;
  --border-strong:#CFD6E0;
  --border-dark:rgba(253,253,253,0.12);

  /* Action */
  --wa:#25D366;
  --wa-hover:#1EBE5B;
  --amber:#F5A623;

  /* Spacing (8px grid) */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:64px; --s6:96px; --s7:128px;

  /* Radius */
  --r-btn:12px; --r-card:20px; --r-input:10px; --r-hero:28px; --r-pill:999px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur-med: 320ms;
  --dur-slow: 520ms;

  /* Type */
  --font-display: 'Sora', 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body:    'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(7,68,128,0.06);
  --shadow-md: 0 8px 24px rgba(7,68,128,0.08);
  --shadow-lg: 0 20px 48px rgba(7,68,128,0.14);
  --shadow-wa: 0 10px 28px rgba(37,211,102,0.35);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{margin:0 0 var(--s3);line-height:1.15;font-family:var(--font-display);font-weight:700;color:var(--ink);letter-spacing:-0.015em}
h1{font-size:clamp(34px,5.2vw,64px);font-weight:800;letter-spacing:-0.025em;line-height:1.05}
h2{font-size:clamp(26px,3vw,38px);letter-spacing:-0.02em}
h3{font-size:clamp(20px,2vw,26px)}
h4{font-size:clamp(17px,1.5vw,20px);font-weight:600}
p{margin:0 0 var(--s2)}

.container{max-width:1200px;margin:0 auto;padding:0 var(--s3)}
.container-narrow{max-width:820px;margin:0 auto;padding:0 var(--s3)}
.muted{color:var(--muted)}

/* ============================================================
   Accessibility helpers
   ============================================================ */

.skip-link{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:12px 16px;z-index:9999;font-weight:600;border-radius:0 0 var(--r-btn) 0}
.skip-link:focus{left:0}

a:focus-visible, button:focus-visible{outline:2px solid var(--wa);outline-offset:3px;border-radius:6px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   Header / Nav
   ============================================================ */

.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--brand);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:box-shadow var(--dur-med) var(--ease-out);
}
.site-header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,0.25)}
.site-header .nav-menu a{color:rgba(255,255,255,0.78)}
.site-header .nav-menu a:hover,
.site-header .nav-menu a:focus{color:#fff}
.site-header .nav-menu a[aria-current="page"]{color:#fff;font-weight:600}
/* Disabled nav items — visible but not clickable */
.site-header .nav-menu .nav-disabled{
  color:rgba(255,255,255,0.32);font-weight:500;font-size:15px;
  padding:6px 0;cursor:not-allowed;user-select:none;
  display:inline-block;
}
.mobile-menu .nav-disabled{
  padding:12px 4px;color:rgba(255,255,255,0.32);font-weight:500;
  border-bottom:1px solid var(--border-dark);cursor:not-allowed;user-select:none;
}
.footer-nav .nav-disabled{
  color:rgba(255,255,255,0.35);font-size:14px;cursor:not-allowed;user-select:none;
  display:inline-block;
}
.site-header .nav-menu a::after{background:#fff;height:2px;bottom:-2px}
.site-header .nav-toggle{color:#fff;border-color:rgba(255,255,255,0.24)}
.site-header .nav-toggle:hover{background:rgba(255,255,255,0.08)}

.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:10px 0;min-height:60px;flex-wrap:nowrap;transition:padding var(--dur-med) var(--ease-out)}
.logo{display:inline-flex;align-items:center;gap:var(--s1);color:var(--ink);transition:opacity var(--dur-fast) var(--ease-out)}
.logo:hover{opacity:0.85}
.logo-img{height:36px;width:auto;display:block;transition:height var(--dur-med) var(--ease-out)}
@media (min-width:768px){.logo-img{height:42px}}
.site-header.compact .nav{padding:6px 0;min-height:52px}
.site-header.compact .logo-img{height:32px}
@media (min-width:768px){.site-header.compact .logo-img{height:36px}}

.nav-menu{display:none;gap:var(--s3);list-style:none;padding:0;margin:0;flex-wrap:nowrap;white-space:nowrap}
.nav-menu a{
  color:var(--muted);font-weight:500;font-size:15px;
  transition:color var(--dur-fast) var(--ease-out);
  position:relative;padding:6px 0;
}
.nav-menu a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--brand);transform:scaleX(0);transform-origin:right center;
  transition:transform var(--dur-med) var(--ease-out);
}
.nav-menu a:hover::after,.nav-menu a:focus::after{transform:scaleX(1);transform-origin:left center}
.nav-menu a:hover,.nav-menu a:focus{color:var(--ink)}
.nav-menu a[aria-current="page"]{color:var(--brand);font-weight:600}

.nav-cta{display:none}
@media (min-width:1024px){
  .nav-menu{display:flex}
  .nav-cta{display:inline-flex}
}

.nav-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;background:transparent;border:1px solid var(--border);border-radius:var(--r-btn);
  color:var(--ink);cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.nav-toggle:hover{background:var(--card)}
@media (min-width:1024px){.nav-toggle{display:none}}

/* Compact mode on desktop: menu collapses to hamburger on scroll, hover expands back */
@media (min-width:1024px) and (hover:hover){
  .site-header.compact .nav-menu{
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-6px);
    transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);
  }
  .site-header.compact .nav-toggle{
    display:inline-flex;
    opacity:1;transition:opacity var(--dur-fast) var(--ease-out);
  }
  .site-header.compact:hover .nav-menu,
  .site-header.compact:focus-within .nav-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;
    transition:opacity var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out), visibility 0s;
  }
  .site-header.compact:hover .nav-toggle,
  .site-header.compact:focus-within .nav-toggle{
    opacity:0;pointer-events:none;
  }
}

.mobile-menu{display:none;flex-direction:column;gap:var(--s2);padding:var(--s3) 0;border-top:1px solid var(--border)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:12px 4px;color:var(--ink);font-weight:500;border-bottom:1px solid var(--border)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a[aria-current="page"]{color:var(--brand);font-weight:600}

/* ============================================================
   Buttons
   ============================================================ */

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);
  padding:16px 28px;border-radius:var(--r-btn);
  font-family:var(--font-body);font-weight:600;font-size:16px;letter-spacing:0.01em;
  cursor:pointer;border:1px solid transparent;
  transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
  min-height:48px;text-align:center;text-decoration:none;
  will-change:transform;
}
.btn-wa{background:#155e37;color:#fff;box-shadow:0 8px 24px rgba(21,94,55,0.28)}
.btn-wa:hover,.btn-wa:focus{background:#1b7a45;color:#fff;transform:translateY(-2px);box-shadow:0 14px 32px rgba(21,94,55,0.4)}
.btn-secondary{background:transparent;border-color:var(--border-strong);color:var(--ink)}
.btn-secondary:hover,.btn-secondary:focus{border-color:var(--brand);background:var(--brand-tint);color:var(--brand)}
.btn-on-dark{background:transparent;border-color:rgba(253,253,253,0.28);color:var(--ink-inv)}
.btn-on-dark:hover,.btn-on-dark:focus{background:rgba(253,253,253,0.08);border-color:var(--ink-inv);color:var(--ink-inv)}
.btn-lg{padding:20px 36px;font-size:17px;min-height:56px}
.btn .arrow{display:inline-block;transition:transform var(--dur-fast) var(--ease-out)}
.btn:hover .arrow, .btn:focus .arrow{transform:translateX(3px)}

.wa-icon{width:22px;height:22px;flex-shrink:0}

/* ============================================================
   Hero (Home) — dark premium
   ============================================================ */

.hero-dark{
  position:relative;
  padding:var(--s4) 0 var(--s5);
  color:var(--ink-inv);
  overflow:hidden;
  isolation:isolate;
  background:var(--bg-dark);
  min-height:calc(100vh - 60px);
  min-height:calc(100svh - 60px);
  display:flex;align-items:flex-end;
}
.hero-dark::after{
  content:"";position:absolute;z-index:4;right:-2px;bottom:-1px;
  width:100%;height:78px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 90H770C828 90 854 82 892 55C934 25 954 8 1018 8H1440V90Z' fill='%23fff'/%3E%3Cpath d='M770 89.5C828 89.5 854 81.5 892 54.5C934 24.5 954 7.5 1018 7.5H1440' fill='none' stroke='%23E2E7EF' stroke-width='1'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
}
@media (max-width:767px){
  .hero-dark::after{width:100%;height:52px}
}
@media (min-width:768px){.hero-dark{padding:var(--s5) 0}}

.hero-dark .hero-bg{position:absolute;inset:0;z-index:-2;background:var(--bg-dark);overflow:hidden}
.hero-dark .hero-bg video,
.hero-dark .hero-bg img{
  width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block;
}
@media (max-width:767px){
  .hero-dark .hero-bg video,
  .hero-dark .hero-bg img{object-position:center center}
}
.hero-dark .hero-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(5,11,20,0.78) 0%, rgba(5,11,20,0.45) 50%, rgba(5,11,20,0.2) 100%),
    linear-gradient(180deg, rgba(5,11,20,0.4) 0%, rgba(5,11,20,0.2) 45%, rgba(5,11,20,0.85) 100%);
}
.hero-dark .container{position:relative;z-index:2;width:100%}
.hero-dark .hero-bg video{
  opacity:0;transform:none!important;animation:none!important;
  transition:opacity 520ms var(--ease-out);will-change:opacity;
}
.hero-dark .hero-bg video.is-ready{opacity:1}

/* Words stacked vertically, appear on load with stagger */
.hero-words-stack{
  display:flex;flex-direction:column;
  margin:0 0 var(--s3);gap:0;
}
.hero-words-stack .hero-word{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(28px,4.6vw,52px);
  font-weight:800;color:var(--ink-inv);
  line-height:1.05;letter-spacing:-0.03em;
  opacity:0;transform:translateY(20px);
  animation:heroWordIn 700ms var(--ease-out) forwards;
  text-shadow:0 4px 24px rgba(0,0,0,0.35);
}
.hero-words-stack .hero-word em{
  color:#d7a867;font-family:inherit;font-weight:500;
  font-style:italic;letter-spacing:-0.04em;
}
@media (max-width:479px){
  .hero-words-stack .hero-word{font-size:34px;line-height:1.06}
}
.hero-words-stack .hero-word:nth-child(1){animation-delay:120ms}
.hero-words-stack .hero-word:nth-child(2){animation-delay:340ms}
.hero-words-stack .hero-word:nth-child(3){animation-delay:560ms}
.hero-words-stack .hero-word:nth-child(4){animation-delay:780ms}
@keyframes heroWordIn{
  to{opacity:1;transform:none}
}

.hero-dark .hero-sub{
  color:var(--muted-inv);
  font-size:clamp(14px,1.2vw,16px);
  max-width:520px;margin:var(--s2) 0 var(--s3);line-height:1.5;
  opacity:0;animation:heroWordIn 600ms var(--ease-out) 900ms forwards;
}
.hero-dark .hero-ctas{
  display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;
  opacity:0;animation:heroWordIn 700ms var(--ease-out) 1200ms forwards;
}
/* Home atual — mesma entrada progressiva das páginas Empresa e Serviços */
.home-3 .home3-depth .hero-words-stack .hero-word,
.home-3 .home3-depth .hero-sub,
.home-3 .home3-depth .hero-ctas{
  animation:none;
}
.home-3 .home3-depth .hero-words-stack .hero-word{opacity:1;transform:none}
.home-3 .home3-depth .hero-sub.reveal,
.home-3 .home3-depth .hero-ctas.reveal{opacity:0;transform:translateY(28px)}
.home-3 .home3-depth .hero-sub.reveal.in,
.home-3 .home3-depth .hero-ctas.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .hero-words-stack .hero-word,
  .hero-dark .hero-sub,
  .hero-dark .hero-ctas{opacity:1;transform:none;animation:none}
}
/* Static variant — used na Home 1: sem animação de entrada */
.hero-dark.hero-static .hero-words-stack .hero-word,
.hero-dark.hero-static .hero-sub,
.hero-dark.hero-static .hero-ctas{
  opacity:1;transform:none;animation:none;
}

/* ============================================================
   Hero Scroll Motion (Home)
   ============================================================ */

.hero-scroll{
  position:relative;
  height:calc(100vh + 480px);
  background:var(--bg-dark);
  isolation:isolate;
  padding:0 !important;
  margin:0;
}
.hero-sticky{
  position:sticky;top:0;
  height:100vh;
  height:100svh;
  overflow:hidden;
  display:flex;align-items:center;
  color:var(--ink-inv);
}
.hero-scroll .hero-bg{position:absolute;inset:0;z-index:-2;background:var(--bg-dark);overflow:hidden}
.hero-scroll .hero-bg video{
  width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;
}
@media (max-width:767px){
  .hero-scroll .hero-bg video{object-position:50% 50%}
}
.hero-scroll .hero-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(5,11,20,0.75) 0%, rgba(5,11,20,0.4) 55%, rgba(5,11,20,0.2) 100%),
    linear-gradient(180deg, rgba(5,11,20,0.55) 0%, rgba(5,11,20,0.25) 40%, rgba(5,11,20,0.85) 100%);
}
.hero-words{
  position:relative;z-index:2;
  width:100%;max-width:1200px;margin:0 auto;
  padding:60px var(--s3) 0;
  display:flex;flex-direction:column;
  align-items:flex-start;gap:var(--s2);
}
.hero-word{
  font-family:var(--font-display);
  font-size:clamp(28px,3.6vw,46px);
  font-weight:800;color:var(--ink-inv);
  line-height:1.08;letter-spacing:-0.02em;
  opacity:0;
  transform:translateY(24px);
  transition:opacity 600ms var(--ease-out), transform 700ms var(--ease-out);
  will-change:opacity,transform;
  text-shadow:0 4px 20px rgba(0,0,0,0.35);
}
.hero-word.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .hero-scroll{height:auto}
  .hero-sticky{position:relative;top:0;height:auto;min-height:80vh;padding:var(--s6) 0}
  .hero-word{opacity:1;transform:none;transition:none}
}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--bg-dark)}
.hero-bg img,
.hero-bg video{
  width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block;
  transform:scale(1.06);
  animation:heroZoom 2600ms var(--ease-out) forwards;
}
@media (max-width:767px){
  .hero-bg img,
  .hero-bg video{object-position:50% 50%}
}
.hero-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(5,11,20,0.92) 0%, rgba(5,11,20,0.7) 45%, rgba(5,11,20,0.35) 100%),
    linear-gradient(180deg, rgba(5,11,20,0.45) 0%, rgba(5,11,20,0.3) 50%, rgba(5,11,20,0.9) 100%);
}
@keyframes heroZoom{
  from{transform:scale(1.06)}
  to  {transform:scale(1.00)}
}
.hero-dark .container{position:relative;z-index:2;width:100%}
.hero-dark h1{
  color:var(--ink-inv);max-width:820px;
  font-size:clamp(28px,3.6vw,46px);
  line-height:1.08;margin-bottom:var(--s3);
}
.hero-dark .hero-sub{color:var(--muted-inv);font-size:clamp(15px,1.3vw,17px);max-width:620px;margin-bottom:var(--s3);line-height:1.55}
.hero-dark .hero-note{color:var(--muted-inv)}
.hero-dark .trust-list{color:var(--muted-inv)}
.hero-dark .tag{
  background:rgba(253,253,253,0.06);border-color:rgba(253,253,253,0.14);
  color:var(--ink-inv);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.hero-dark .tag::before{background:var(--wa);box-shadow:0 0 12px rgba(37,211,102,0.6)}

.tag{
  display:inline-flex;align-items:center;gap:var(--s1);
  padding:8px 16px;border-radius:var(--r-pill);
  border:1px solid var(--border);background:var(--brand-tint);
  font-size:13px;color:var(--brand);font-weight:600;margin-bottom:var(--s3);
  letter-spacing:0.02em;
}
.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--wa)}
.hero-sub{color:var(--muted);font-size:clamp(16px,1.6vw,18px);max-width:620px;margin-bottom:var(--s4)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin-bottom:0}
.hero-note{font-size:14px;color:var(--muted)}
.trust-list{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:var(--s3) 0 0;font-size:14px}
.trust-list li{display:flex;gap:8px;align-items:center}
.trust-list li svg{width:16px;height:16px;flex-shrink:0;color:var(--wa)}

/* Indicador de continuidade das Heros */
.hero-scroll-cue{
  position:absolute;z-index:8;left:50%;bottom:20px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(255,255,255,.9);
  text-decoration:none;text-align:center;transition:opacity var(--dur-fast) ease,color var(--dur-fast) ease;
}
.hero-scroll-cue:hover{color:#fff}
.hero-scroll-label{
  font:700 10px/1.2 var(--font-display);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
}
.hero-scroll-chevrons{position:relative;display:block;width:18px;height:18px}
.hero-scroll-chevrons i{
  position:absolute;left:50%;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateX(-50%) rotate(45deg);animation:heroScrollChevron 1.55s ease-in-out infinite;
}
.hero-scroll-chevrons i:first-child{top:0}
.hero-scroll-chevrons i:last-child{top:6px;animation-delay:180ms}
@keyframes heroScrollChevron{
  0%,100%{opacity:.28;transform:translate(-50%,-2px) rotate(45deg)}
  50%{opacity:1;transform:translate(-50%,2px) rotate(45deg)}
}
.company-hero .hero-scroll-cue{bottom:calc(1cm + 12px);color:var(--brand)}
.company-hero .hero-scroll-cue:hover{color:#032f5c}

@media (max-width:767px){
  .hero-scroll-cue{bottom:13px;gap:5px}
  .hero-scroll-label{font-size:8px;letter-spacing:.13em}
  .company-hero .hero-scroll-cue{bottom:calc(1cm + 7px)}
}

@media (prefers-reduced-motion:reduce){
  .hero-scroll-chevrons i{animation:none;opacity:.8}
}

/* ============================================================
   Page header — dark (internal pages)
   ============================================================ */

.page-header-dark{
  padding:calc(var(--s5) + 24px) 0 var(--s5);
  background:
    radial-gradient(900px 400px at 15% 10%, rgba(7,68,128,0.55), transparent 60%),
    linear-gradient(180deg, var(--bg-dark) 0%, var(--bg-dark-2) 100%);
  color:var(--ink-inv);
  border-bottom:1px solid var(--border-dark);
  position:relative;
  overflow:hidden;
}
@media (min-width:768px){.page-header-dark{padding:calc(var(--s6) + 16px) 0 var(--s6)}}
.page-header-dark::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(253,253,253,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(253,253,253,0.03) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse at 80% 30%, black 30%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 80% 30%, black 30%, transparent 70%);
  pointer-events:none;
}
.page-header-dark .container{position:relative;z-index:1}
.page-header-dark h1{color:var(--ink-inv);margin-bottom:var(--s2);font-size:clamp(30px,4.2vw,52px)}
.page-header-dark .lead{color:var(--muted-inv);font-size:clamp(16px,1.5vw,19px);max-width:720px;margin:0;line-height:1.55}

/* Breadcrumbs */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);margin:0 0 var(--s3);list-style:none;padding:0}
.breadcrumbs li{display:flex;gap:8px;align-items:center}
.breadcrumbs li+li::before{content:"›";color:var(--border-strong);font-weight:600}
.breadcrumbs a{color:var(--muted);transition:color var(--dur-fast) var(--ease-out)}
.breadcrumbs a:hover{color:var(--brand)}
.breadcrumbs [aria-current="page"]{color:var(--ink);font-weight:500}
.page-header-dark .breadcrumbs{color:var(--muted-inv)}
.page-header-dark .breadcrumbs a{color:var(--muted-inv)}
.page-header-dark .breadcrumbs a:hover{color:var(--ink-inv)}
.page-header-dark .breadcrumbs [aria-current="page"]{color:var(--ink-inv)}
.page-header-dark .breadcrumbs li+li::before{color:rgba(253,253,253,0.3)}

/* Serviços — Hero em vídeo */
.page-header-dark.services-hero{
  height:calc(100svh - 60px);min-height:0;padding:0;display:flex;align-items:center;
  background:#071525;isolation:isolate;
}
.services-hero::before{display:none}
.services-hero-background{position:absolute;z-index:0;inset:0;overflow:hidden}
.services-hero-background::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,16,29,.9) 0%,rgba(3,20,36,.76) 34%,rgba(3,20,36,.3) 62%,rgba(3,20,36,.08) 100%);
}
.services-hero-background video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.services-hero .container{
  z-index:2;width:100%;max-width:1400px;display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;gap:clamp(24px,3vw,54px);padding-block:clamp(72px,10vh,112px);
}
.services-hero-copy{min-width:0;max-width:750px}
.services-hero-art{
  display:block;justify-self:end;align-self:center;width:100%;height:auto;
  max-height:min(78svh,740px);object-fit:contain;
  transform:scale(1.16);transform-origin:right center;
  filter:drop-shadow(0 18px 26px rgba(2,13,24,.22));
}
.services-hero h1{max-width:none;font-size:clamp(30px,3.15vw,46px);text-shadow:0 2px 24px rgba(0,0,0,.24)}
.services-hero-title-fixed,.services-hero-title-second{display:block;white-space:nowrap}
.services-hero-title-window{position:relative;display:inline-block;vertical-align:bottom;overflow:hidden;min-width:16ch;height:1.2em;line-height:1.2;color:#d7a867;font-family:inherit;font-weight:500;font-style:italic;letter-spacing:-.04em}
.services-hero-title-current,.services-hero-title-next{display:block;width:100%;will-change:transform,opacity}
.services-hero-title-next{position:absolute;top:0;left:0;transform:translateY(100%);opacity:0}
.services-hero-title-window.is-changing .services-hero-title-current{transform:translateY(-100%);opacity:0}
.services-hero-title-window.is-changing .services-hero-title-next{transform:translateY(0);opacity:1}
.services-hero-title-window.is-changing .services-hero-title-current,
.services-hero-title-window.is-changing .services-hero-title-next{transition:transform 480ms cubic-bezier(.22,.8,.25,1),opacity 420ms ease}
.services-hero .lead{max-width:680px;color:rgba(255,255,255,.82)}
.services-hero-actions{display:flex;align-items:center;margin-top:clamp(24px,4vh,38px)}

@media (max-width:1100px){
  .services-hero .container{
    height:100%;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
    padding-block:clamp(26px,5vh,48px) 52px;
  }
  .services-hero-art{transform:scale(1.08)}
}
@media (max-width:900px){
  .services-hero .container{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px}
  .services-hero-copy{align-self:end}
  .services-hero-art{justify-self:end;align-self:end;width:auto;max-width:100%;max-height:min(39svh,350px);transform:none}
}
@media (min-width:1101px) and (max-height:700px){
  .services-hero .container{padding-block:35px}
}
@media (max-width:767px){
  .page-header-dark.services-hero{height:calc(100svh - 60px);min-height:0;padding:0}
  .services-hero .container{padding-bottom:104px}
  .services-hero-background video{object-position:50% 40%}
  .services-hero-background::after{background:linear-gradient(180deg,rgba(3,16,29,.22),rgba(3,16,29,.52) 40%,rgba(3,16,29,.78))}
  .services-hero-actions .btn{width:100%;justify-content:center}
  .services-hero-art{justify-self:center;max-height:min(36svh,300px)}
}
@media (max-width:600px){
  .services-hero h1{font-size:clamp(18px,5.6vw,32px)}
}
@media (prefers-reduced-motion:reduce){
  .services-hero-title-window.is-changing .services-hero-title-current,
  .services-hero-title-window.is-changing .services-hero-title-next{transition:none}
}

/* ============================================================
   Trust strip
   ============================================================ */

.trust-strip{
  padding:12px 0;background:var(--bg);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  overflow:hidden;
}
.hero-dark{padding-bottom:78px}
@media (min-width:768px){.hero-dark{padding-bottom:84px}}
.hero-trust{
  position:absolute;z-index:3;left:0;right:0;bottom:12px;
  padding:6px 0;background:transparent;border:0;
}
.hero-trust .marquee{
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}
.hero-trust .credentials li{
  color:rgba(255,255,255,.58);font-size:10px;letter-spacing:.2em;
  text-shadow:0 1px 10px rgba(0,0,0,.7);
}
.hero-trust .credentials .idx{color:#d7a867}
.hero-trust .credentials .idx::after{background:rgba(215,168,103,.78)}
.hero-trust .credentials li+li::before{background:rgba(255,255,255,.3)}
.hero-trust .credentials li+li::before{display:none}
.hero-trust .credentials li:hover{color:#fff}
.marquee{
  position:relative;overflow:hidden;
  mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.marquee-track{
  display:flex;width:max-content;
  animation:marquee 44s linear infinite;
  will-change:transform;
}
.marquee:hover .marquee-track{animation-play-state:paused}
.credentials{
  list-style:none;padding:0;margin:0;
  display:inline-flex;align-items:center;flex-shrink:0;
}
.credentials li{
  display:inline-flex;align-items:center;
  padding:4px 40px;
  color:var(--muted);font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.22em;
  font-family:var(--font-display);
  position:relative;white-space:nowrap;
}
.credentials li+li::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:3px;border-radius:50%;background:var(--border-strong);
  transition:background var(--dur-med) var(--ease-out);
}
.credentials .idx{
  color:var(--brand);font-weight:700;font-size:10px;
  letter-spacing:0.1em;font-variant-numeric:tabular-nums;
  display:inline-flex;align-items:center;
}
.credentials .idx::after{
  content:"";display:inline-block;
  width:16px;height:1px;background:var(--brand);
  margin-left:10px;transition:width var(--dur-med) var(--ease-out);
}
.credentials li:hover{color:var(--ink)}
.credentials li:hover .idx::after{width:24px}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;justify-content:center;width:100%}
  .marquee-track > ul[aria-hidden="true"]{display:none}
}
@media (max-width:767px){
  .credentials li{padding:4px 24px;font-size:10px;letter-spacing:0.18em}
}

/* ============================================================
   Stats
   ============================================================ */

.stats{padding:var(--s5) 0;border-bottom:1px solid var(--border)}
.stats-grid{display:grid;grid-template-columns:1fr;gap:var(--s4);text-align:center}
@media (min-width:640px){.stats-grid{grid-template-columns:repeat(3,1fr);gap:var(--s5)}}
.stat-num{
  font-family:var(--font-display);
  font-size:clamp(40px,5vw,60px);font-weight:800;color:var(--brand);
  line-height:1;margin-bottom:var(--s1);letter-spacing:-0.03em;
  font-variant-numeric:tabular-nums;
}
.stat-label{color:var(--muted);font-size:15px;max-width:220px;margin:0 auto}

/* ============================================================
   Why Pedroso — dark editorial proof section
   ============================================================ */

.why-section{
  position:relative;overflow:hidden;padding:var(--s6) 0;
  background:var(--card);color:var(--ink);
}
.why-section::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--border);
}
.why-head{text-align:left;max-width:820px;margin:0 0 var(--s5)}
.why-head .eyebrow-num{display:inline-flex;align-items:center;gap:12px;color:var(--brand);font:700 13px var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--s2)}
.why-head .eyebrow-num::before{content:attr(data-num);padding:4px 10px;border-radius:6px;color:var(--brand);background:var(--brand-tint);font-size:16px;letter-spacing:0}
.why-head h2{color:var(--ink);margin-bottom:var(--s2)}
.why-head h2 em{color:var(--brand);font-weight:600;font-style:normal}
.why-head p{max-width:650px;margin:0;color:var(--muted);font-size:17px}
.why-grid{display:grid;grid-template-columns:1fr;gap:var(--s4)}
.why-item{text-align:center;position:relative;padding:0 var(--s2)}
.why-icon{
  width:76px;height:76px;margin:0 auto var(--s3);border-radius:50%;display:grid;place-items:center;
  color:var(--brand);background:var(--brand-tint);border:1px solid rgba(7,68,128,.14);
  transition:transform var(--dur-med) var(--ease-out),border-color var(--dur-med) var(--ease-out),background var(--dur-med) var(--ease-out);
}
.why-icon svg{width:32px;height:32px}
.why-item:hover .why-icon{transform:translateY(-4px);border-color:var(--brand);background:#fff}
.why-item h3{color:var(--ink);font-size:18px;margin-bottom:10px}
.why-item p{color:var(--muted);font-size:14px;line-height:1.65;margin:0 auto;max-width:270px}
@media (min-width:640px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){
  .why-grid{grid-template-columns:repeat(4,1fr);gap:var(--s3)}
  .why-item:not(:last-child)::after{content:"";position:absolute;right:-12px;top:38px;width:1px;height:86px;background:linear-gradient(180deg,transparent,var(--border-strong),transparent)}
}

/* ============================================================
   Sections
   ============================================================ */

section{padding:var(--s4) 0}
@media (min-width:768px){section{padding:var(--s4) 0}}
.section-head{max-width:820px;margin-bottom:var(--s3)}
.section-head .eyebrow-num{margin-bottom:8px}
.section-head .eyebrow{
  display:inline-block;color:var(--brand);font-weight:700;font-size:13px;
  letter-spacing:0.14em;text-transform:uppercase;margin-bottom:var(--s2);
}
.section-head p{color:var(--muted);font-size:clamp(16px,1.4vw,18px);margin:0}

/* Home services: one complete desktop viewport, without compressing readability */
@media (min-width:1024px) and (min-height:700px){
  .services-home{
    min-height:calc(100svh - 60px);padding:22px 0;
    display:flex;align-items:center;
  }
  .services-home > .container{width:100%}
  .services-home .section-head{margin-bottom:16px;max-width:760px}
  .services-home .section-head .eyebrow-num{margin-bottom:6px}
  .services-home .section-head h2{font-size:clamp(28px,2.25vw,36px);margin-bottom:10px;line-height:1.08}
  .services-home .section-head p{font-size:15px;line-height:1.45}
  .services-home .cards-grid{gap:14px}
  .services-home .card{min-height:178px;padding:18px 20px;gap:5px}
  .services-home .card-icon{width:40px;height:40px;border-radius:11px;margin-bottom:3px}
  .services-home .card-icon svg{width:22px;height:22px}
  .services-home .card h3{font-size:17px;line-height:1.18;margin-bottom:3px;max-width:78%}
  .services-home .card p{font-size:13px;line-height:1.4;max-width:76%}
  .services-home .card-link{padding-top:8px;font-size:13px}
  .services-home .cards-grid + .reveal{margin-top:18px !important}
}

/* ============================================================
   Cards
   ============================================================ */

.cards-grid{display:grid;grid-template-columns:1fr;gap:var(--s3)}
@media (min-width:640px){.cards-grid{grid-template-columns:repeat(2,1fr);gap:var(--s2)}}
@media (min-width:1024px){.cards-grid{grid-template-columns:repeat(3,1fr);gap:var(--s3)}}
.card{
  background:var(--bg);border:1px solid var(--border);border-radius:20px;
  padding:var(--s3);
  transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:var(--s1);
  position:relative;
  will-change:transform;overflow:hidden;
}
.card::after{
  content:"";position:absolute;z-index:0;right:-8px;bottom:-18px;
  width:150px;height:190px;pointer-events:none;
  background:url("equipamento-topografia.webp") right bottom/contain no-repeat;
  opacity:.11;filter:saturate(.72) contrast(.92);
  transform:translate3d(8px,10px,0) rotate(-1.5deg);
  transition:opacity 320ms var(--ease-out),transform 420ms var(--ease-out),filter 320ms var(--ease-out);
}
.card > *{position:relative;z-index:1}
.card:hover::after{
  opacity:.22;filter:saturate(.9) contrast(1);
  transform:translate3d(0,0,0) rotate(0);
}
@media (max-width:639px){
  .card::after{right:-12px;bottom:-20px;width:138px;height:176px;opacity:.09}
}
@media (min-width:1024px){.card{padding:var(--s3);gap:10px}}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand)}
.card h3{font-size:17px;margin:0}
.card p{font-size:14px;line-height:1.5;margin:0}
.card-icon{width:40px;height:40px;border-radius:10px}
.card-icon{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg, var(--brand-tint), rgba(7,68,128,0.02));
  border:1px solid rgba(7,68,128,0.14);
  display:flex;align-items:center;justify-content:center;color:var(--brand);
  margin-bottom:var(--s1);
  transition:background var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);
}
.card:hover .card-icon{
  background:linear-gradient(135deg, var(--brand), var(--brand-dark));
  color:var(--ink-inv);
  transform:scale(1.05) rotate(-2deg);
}
.card h3{margin-bottom:var(--s1);font-size:20px}
.card p{color:var(--muted);font-size:15px;margin:0;line-height:1.55}
.card-link{
  display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:600;font-size:14px;
  margin-top:auto;padding-top:var(--s2);transition:gap var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.card-link:hover{color:var(--wa);gap:10px}

/* ============================================================
   Process (Como funciona)
   ============================================================ */

/* ============================================================
   Timeline — alternating infographic ($10K editorial)
   ============================================================ */

.timeline{position:relative;padding:var(--s3) 0}

/* DESKTOP: alternating cards above/below a horizontal line */
@media (min-width:900px){
  .tl-nodes{
    list-style:none;padding:0;margin:0;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-template-rows:1fr auto 1fr;
    gap:0 var(--s4);
    min-height:360px;
    position:relative;
  }
  /* Horizontal line */
  .tl-nodes::before{
    content:"";position:absolute;
    left:6%;right:6%;top:50%;
    transform:translateY(-50%);
    height:1px;background:var(--border);z-index:1;
  }
  .tl-nodes::after{
    content:"";position:absolute;
    left:6%;top:50%;width:calc(100% - 12%);height:1px;
    background:linear-gradient(90deg, var(--brand), var(--brand-dark));
    transform-origin:left center;
    transform:translateY(-50%) scaleX(0);
    transition:transform 2000ms cubic-bezier(0.65,0,0.35,1);
    z-index:2;
  }
  .timeline.in-view .tl-nodes::after{transform:translateY(-50%) scaleX(1)}

  .tl-node{display:contents}
  .tl-node > *{position:relative;z-index:3}
  .tl-node[data-col="1"] > *{grid-column:1}
  .tl-node[data-col="2"] > *{grid-column:2}
  .tl-node[data-col="3"] > *{grid-column:3}
  .tl-node[data-col="4"] > *{grid-column:4}

  /* Card */
  .tl-card{
    padding:var(--s2) var(--s3);
    justify-self:center;text-align:center;
    max-width:240px;
    opacity:0;transform:translateY(10px);
    transition:opacity 700ms var(--ease-out), transform 700ms var(--ease-out);
  }
  .timeline.in-view .tl-card{opacity:1;transform:none}
  .tl-node[data-pos="up"] .tl-card{grid-row:1;align-self:end;margin-bottom:14px}
  .tl-node[data-pos="down"] .tl-card{grid-row:3;align-self:start;margin-top:14px;transform:translateY(-10px)}
  .timeline.in-view .tl-node[data-pos="down"] .tl-card{transform:none}

  /* Arrow (thin line + chevron pointing to the dot) */
  .tl-arrow{
    width:1px;background:var(--brand);
    justify-self:center;position:relative;
    opacity:0;
    transition:opacity 400ms var(--ease-out);
  }
  .timeline.in-view .tl-arrow{opacity:1}
  .tl-node[data-pos="up"] .tl-arrow{
    grid-row:1/3;align-self:end;height:22px;
  }
  .tl-node[data-pos="up"] .tl-arrow::after{
    content:"";position:absolute;left:50%;bottom:-1px;
    transform:translateX(-50%);
    border:4px solid transparent;border-top-color:var(--brand);
  }
  .tl-node[data-pos="down"] .tl-arrow{
    grid-row:2/4;align-self:start;height:22px;
  }
  .tl-node[data-pos="down"] .tl-arrow::after{
    content:"";position:absolute;left:50%;top:-1px;
    transform:translateX(-50%);
    border:4px solid transparent;border-bottom-color:var(--brand);
  }

  /* Dot on line */
  .tl-dot{
    grid-row:2;justify-self:center;align-self:center;
    width:16px;height:16px;border-radius:50%;
    background:var(--brand);
    box-shadow:0 0 0 4px var(--bg), 0 0 0 5px rgba(7,68,128,0.2);
    opacity:0;transform:scale(0.4);
    transition:opacity 500ms var(--ease-out), transform 500ms var(--ease-out);
  }
  .timeline.in-view .tl-dot{opacity:1;transform:scale(1)}

  /* Stagger delays per column */
  .timeline.in-view .tl-node[data-col="1"] .tl-dot{transition-delay:300ms}
  .timeline.in-view .tl-node[data-col="2"] .tl-dot{transition-delay:800ms}
  .timeline.in-view .tl-node[data-col="3"] .tl-dot{transition-delay:1300ms}
  .timeline.in-view .tl-node[data-col="4"] .tl-dot{transition-delay:1800ms}
  .timeline.in-view .tl-node[data-col="1"] .tl-arrow{transition-delay:500ms}
  .timeline.in-view .tl-node[data-col="2"] .tl-arrow{transition-delay:1000ms}
  .timeline.in-view .tl-node[data-col="3"] .tl-arrow{transition-delay:1500ms}
  .timeline.in-view .tl-node[data-col="4"] .tl-arrow{transition-delay:2000ms}
  .timeline.in-view .tl-node[data-col="1"] .tl-card{transition-delay:700ms}
  .timeline.in-view .tl-node[data-col="2"] .tl-card{transition-delay:1200ms}
  .timeline.in-view .tl-node[data-col="3"] .tl-card{transition-delay:1700ms}
  .timeline.in-view .tl-node[data-col="4"] .tl-card{transition-delay:2200ms}
}

/* Card content */
.tl-num{
  display:inline-block;
  font-family:var(--font-display);font-size:12px;
  font-weight:800;color:var(--brand);
  letter-spacing:0.14em;
  margin-bottom:6px;
}
.tl-title{
  display:block;
  font-family:var(--font-display);font-weight:700;
  font-size:17px;color:var(--ink);
  letter-spacing:-0.01em;margin-bottom:6px;
}
.tl-card p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}

/* MOBILE: vertical list with left-side line */
@media (max-width:899px){
  .tl-nodes{
    list-style:none;padding:0 0 0 60px;margin:0;
    display:flex;flex-direction:column;gap:var(--s4);
    position:relative;
  }
  .tl-nodes::before{
    content:"";position:absolute;
    left:23px;top:8px;bottom:8px;width:1px;background:var(--border);
  }
  .tl-nodes::after{
    content:"";position:absolute;
    left:23px;top:8px;width:1px;height:calc(100% - 16px);
    background:linear-gradient(180deg, var(--brand), var(--brand-dark));
    transform:scaleY(0);transform-origin:top center;
    transition:transform 1800ms cubic-bezier(0.65,0,0.35,1);
  }
  .timeline.in-view .tl-nodes::after{transform:scaleY(1)}
  .tl-node{position:relative;display:block}
  .tl-arrow{display:none}
  .tl-dot{
    position:absolute;left:-45px;top:6px;
    width:16px;height:16px;border-radius:50%;
    background:var(--brand);
    box-shadow:0 0 0 4px var(--bg), 0 0 0 5px rgba(7,68,128,0.2);
    opacity:0;transition:opacity 400ms var(--ease-out);
  }
  .timeline.in-view .tl-dot{opacity:1}
  .tl-card{
    text-align:left;padding:0;
    opacity:0;transform:translateX(12px);
    transition:opacity 600ms var(--ease-out), transform 600ms var(--ease-out);
  }
  .timeline.in-view .tl-card{opacity:1;transform:none}
  .timeline.in-view .tl-node:nth-child(1) .tl-card,
  .timeline.in-view .tl-node:nth-child(1) .tl-dot{transition-delay:200ms}
  .timeline.in-view .tl-node:nth-child(2) .tl-card,
  .timeline.in-view .tl-node:nth-child(2) .tl-dot{transition-delay:500ms}
  .timeline.in-view .tl-node:nth-child(3) .tl-card,
  .timeline.in-view .tl-node:nth-child(3) .tl-dot{transition-delay:800ms}
  .timeline.in-view .tl-node:nth-child(4) .tl-card,
  .timeline.in-view .tl-node:nth-child(4) .tl-dot{transition-delay:1100ms}
}

@media (prefers-reduced-motion:reduce){
  .tl-nodes::after{transform:scaleX(1) scaleY(1) translateY(-50%) !important;transition:none !important}
  .tl-card,.tl-dot,.tl-arrow{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ============================================================
   Region / Area
   ============================================================ */

.region-block{
  background:linear-gradient(135deg, var(--brand-tint), rgba(7,68,128,0.02));
  border:1px solid var(--border);border-radius:var(--r-hero);
  padding:var(--s5) var(--s4);
}
@media (min-width:768px){.region-block{padding:var(--s6) var(--s5)}}
.region-block h2{margin-bottom:var(--s3)}
.region-block p{color:var(--muted);font-size:17px;max-width:760px;margin-bottom:var(--s4)}

/* Cities grid */
.cities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2);margin:var(--s4) 0}
@media (min-width:640px){.cities-grid{grid-template-columns:repeat(3,1fr)}}
.city-item{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);
  padding:var(--s3);text-align:center;font-weight:600;color:var(--ink);position:relative;
  transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);
}
.city-item:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--shadow-md)}
.city-item.base{border-color:var(--brand);background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:var(--ink-inv)}
.city-item.base::after{
  content:"BASE";position:absolute;top:8px;right:8px;font-size:10px;padding:3px 8px;
  background:var(--wa);color:#fff;border-radius:999px;letter-spacing:0.08em;font-weight:700;
}

/* ============================================================
   Reviews / Testimonials
   ============================================================ */

.reviews-wrap{display:grid;gap:var(--s4);grid-template-columns:1fr;align-items:center}
@media (min-width:768px){.reviews-wrap{grid-template-columns:auto 1fr}}
.review-badge{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  padding:var(--s4);text-align:center;min-width:240px;
}
.review-score{font-family:var(--font-display);font-size:56px;font-weight:800;color:var(--brand);line-height:1;letter-spacing:-0.03em}
.review-stars{color:var(--amber);font-size:22px;margin:var(--s1) 0;letter-spacing:2px}
.review-count{color:var(--muted);font-size:14px}
.review-link{
  display:inline-block;margin-top:var(--s2);color:var(--ink);font-weight:600;
  padding:10px 16px;border-radius:var(--r-btn);border:1px solid var(--border);font-size:14px;
  transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.review-link:hover{border-color:var(--brand);background:var(--brand-tint);color:var(--brand)}
.testimonial{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s4);
}
.testimonial-stars{color:var(--amber);letter-spacing:2px;margin-bottom:var(--s2)}
.testimonial-quote{font-size:19px;font-style:italic;color:var(--ink);margin-bottom:var(--s2);line-height:1.5}
.testimonial-author{color:var(--muted);font-size:14px}

/* ============================================================
   Final CTA
   ============================================================ */

.cta-final{
  background:
    radial-gradient(700px 300px at 50% 0%, rgba(7,68,128,0.10), transparent 60%),
    linear-gradient(180deg, var(--card), var(--bg));
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  text-align:center;
}
.cta-final h2{margin-bottom:var(--s2)}
.cta-final > .container > p{color:var(--muted);font-size:clamp(17px,1.5vw,19px);max-width:640px;margin:0 auto var(--s4)}
.cta-final .hero-note{margin-top:var(--s3)}
.services-cta-final{
  background:linear-gradient(135deg,#074480 0%,#06396b 58%,#04263f 100%);
  border-color:rgba(255,255,255,.12);
}
.services-cta-final h2{color:#fff}
.services-cta-final > .container > p{color:rgba(255,255,255,.84)}

.cta-dark{
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(7,68,128,0.55), transparent 60%),
    linear-gradient(180deg, var(--bg-dark), var(--bg-dark-2));
  border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);
  color:var(--ink-inv);text-align:center;
}
.cta-dark h2{color:var(--ink-inv)}
.cta-dark > .container > p{color:var(--muted-inv);font-size:clamp(17px,1.5vw,19px);max-width:640px;margin:0 auto var(--s4)}
.cta-dark .hero-note{color:var(--muted-inv)}

/* ============================================================
   Prose / Content pages
   ============================================================ */

.prose{max-width:760px}
.prose p{color:var(--muted);font-size:17px;margin-bottom:var(--s3);line-height:1.7}
.prose h2{margin-top:var(--s5);margin-bottom:var(--s3)}
.prose h3{font-size:22px;margin-top:var(--s4);margin-bottom:var(--s2)}
.prose ul{color:var(--muted);font-size:17px;padding-left:20px;margin-bottom:var(--s3);line-height:1.7}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink)}
.quote-block{
  background:var(--card);border-left:4px solid var(--brand);border-radius:var(--r-card);
  padding:var(--s3) var(--s4);margin:var(--s4) 0;color:var(--muted);font-size:17px;
  line-height:1.7;position:relative;
}
.quote-block p{margin-bottom:var(--s2)}
.quote-block p:last-child{margin-bottom:0}

/* Empresa — eixo editorial centralizado */
.empresa-page .page-header-dark .container{text-align:center}
.empresa-page .page-header-dark .breadcrumbs{justify-content:center}
.empresa-page .page-header-dark h1{max-width:980px;margin-left:auto;margin-right:auto}
.empresa-page .page-header-dark .lead{margin-left:auto;margin-right:auto}
.empresa-page main > section:not(.page-header-dark) > .container{display:flex;justify-content:center}
.empresa-page .prose{width:100%;margin-inline:auto}
.empresa-page .company-content-section{
  position:relative;padding-block:clamp(72px,8vw,112px);border-bottom:1px solid var(--border);
}
.empresa-page .company-content-section .prose > h2:first-child{margin-top:0}
.empresa-page .company-introduction > .container{
  display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  align-items:start;gap:clamp(42px,5vw,72px);max-width:1200px;
}
.company-introduction-media{
  width:100%;height:clamp(360px,32vw,450px);overflow:hidden;display:grid;place-items:center;background:#fff;
}
.company-introduction-media img{
  display:block;width:100%;height:100%;object-fit:contain;background:transparent;border:0;
}
.empresa-page .company-introduction-copy{max-width:760px;margin:0 0 0 auto}
.empresa-page .company-introduction-copy .quote-block{border-left:0;margin-bottom:0}
.empresa-page .company-purpose{
  background:linear-gradient(135deg,#074480 0%,#0a5598 100%);color:#fff;
}
.empresa-page .company-purpose::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);
}
.empresa-page .company-purpose .container{position:relative;z-index:1}
.empresa-page .company-purpose .prose{max-width:1200px;color:#fff}
.empresa-page .company-purpose h2,
.empresa-page .company-purpose p,
.empresa-page .company-purpose strong{color:#fff}
.empresa-page .company-purpose .values-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.empresa-page .company-purpose .values-list li{
  min-height:132px;color:#fff;background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.24);backdrop-filter:blur(8px);
}
.empresa-page .company-purpose .values-list li::before{color:#fff}
.empresa-page .company-purpose .values-list li:hover{
  border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.13);
}
.empresa-page .company-delivery{background:#fff}
.empresa-page .company-delivery > .container{
  display:grid;grid-template-columns:58px minmax(0,1.08fr) minmax(390px,.92fr);
  align-items:stretch;gap:clamp(24px,3vw,46px);max-width:1200px;
}
.empresa-page .company-delivery-copy{max-width:720px;margin:0}
.empresa-page .company-delivery-copy .quote-block{border-left:0;margin-bottom:0}
.company-delivery-media{
  position:relative;width:100%;min-height:0;align-self:stretch;
  display:flex;align-items:stretch;justify-content:flex-end;isolation:isolate;padding:22px 32px;
}
.company-delivery-media > img{
  position:relative;z-index:1;display:block;width:100%;max-width:520px;height:100%;min-height:430px;
  object-fit:contain;border:0;background:transparent;
}
.company-delivery-elements{
  position:relative;z-index:2;width:58px;min-height:100%;pointer-events:none;
  display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:32px;padding-block:18px;
}
.company-delivery-elements .topo-element{
  position:static;display:block;width:52px;max-height:72px;height:auto;object-fit:contain;
  opacity:.58;mix-blend-mode:multiply;filter:contrast(1.15) grayscale(1);
}

@media (max-width:1023px){
  .empresa-page .company-purpose .values-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
  .empresa-page .company-content-section{padding-block:56px}
  .empresa-page .company-introduction > .container{grid-template-columns:1fr;gap:32px}
  .company-introduction-media{width:min(100%,420px);height:340px;justify-self:center}
  .empresa-page .company-introduction-copy{margin-inline:auto}
  .empresa-page .company-purpose .values-list{grid-template-columns:1fr}
  .empresa-page .company-delivery > .container{grid-template-columns:50px minmax(0,1fr);gap:24px}
  .empresa-page .company-delivery-copy{max-width:none}
  .company-delivery-elements{width:50px;grid-column:1;grid-row:1;gap:24px;padding-block:8px}
  .company-delivery-elements .topo-element{width:44px;opacity:.46}
  .company-delivery-media{grid-column:1/-1;min-height:420px;justify-content:center;padding:32px 42px}
  .company-delivery-media > img{max-width:520px;height:auto;min-height:0;aspect-ratio:1/1}
}

/* Empresa — Hero branca em tela inteira */
.empresa-page .company-hero{
  --company-scene-y:0px;--company-man-y:0px;
  height:calc(100svh - 60px);min-height:0;padding:0;background:#fff;color:var(--ink);
  border-bottom:1px solid var(--border);display:flex;align-items:stretch;perspective:1200px;
}
.empresa-page .company-hero::before{display:none}
.company-hero-background{position:absolute;z-index:0;inset:0;overflow:hidden;transform-style:preserve-3d}
.company-hero-background::after{
  content:"";position:absolute;z-index:3;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.76) 34%,rgba(255,255,255,.2) 61%,transparent 78%);
}
.company-hero-background img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.company-hero-background .company-hero-scene{
  z-index:0;transform:translate3d(0,var(--company-scene-y),-25px) scale(1.045);
  transform-origin:center;will-change:transform;
}
.company-hero-background .company-hero-man{
  z-index:2;transform:translate3d(0,var(--company-man-y),70px) scale(1.015);
  transform-origin:82% 88%;will-change:transform;filter:drop-shadow(0 24px 28px rgba(0,0,0,.16));
}
.empresa-page .company-hero .company-hero-grid{
  position:relative;z-index:2;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr);
  align-items:center;gap:clamp(24px,4vw,72px);text-align:left;
}
.empresa-page .company-hero-copy{position:relative;z-index:2;padding:clamp(56px,8vh,96px) 0}
.empresa-page .company-hero .breadcrumbs{justify-content:flex-start;color:var(--muted)}
.empresa-page .company-hero .breadcrumbs a{color:var(--muted)}
.empresa-page .company-hero .breadcrumbs a:hover{color:var(--brand)}
.empresa-page .company-hero .breadcrumbs [aria-current="page"]{color:var(--ink)}
.empresa-page .company-hero .breadcrumbs li+li::before{color:var(--border-strong)}
.empresa-page .company-hero h1{
  max-width:880px;margin:0 0 var(--s3);color:var(--brand);font-size:clamp(38px,3.6vw,52px);line-height:1.04;
}
.empresa-page .company-hero h1 span{display:block;white-space:nowrap}
.empresa-page .company-hero h1 .company-hero-typed,
.empresa-page .company-hero h1 .company-hero-cursor{display:inline;white-space:inherit}
.empresa-page .company-hero h1 .company-hero-typed{
  color:#ad6b18;font-family:inherit;font-weight:500;font-style:italic;letter-spacing:-.04em;
}
.company-hero-type-line{min-height:1.04em}
.company-hero-cursor{
  display:inline-block!important;width:.065em;height:.82em;margin-left:.08em;background:currentColor;
  vertical-align:-.06em;animation:companyHeroCursor 760ms steps(1,end) infinite;
}
@keyframes companyHeroCursor{50%{opacity:0}}
.empresa-page .company-hero .lead{
  max-width:620px;margin:0;color:var(--muted);font-size:clamp(17px,1.5vw,20px);line-height:1.6;
}
.company-hero-actions{display:flex;align-items:center;gap:12px;margin-top:clamp(24px,4vh,38px);flex-wrap:wrap}
.company-hero-actions .btn-secondary{background:rgba(255,255,255,.76);border-color:#aebdca}

/* Empresa — faixa contínua de serviços */
.company-services-strip{
  position:absolute;z-index:4;left:0;right:0;bottom:0;height:1cm;overflow:hidden;display:flex;align-items:center;background:var(--brand);color:#fff;
  border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(4,38,63,.2);
}
.company-services-track{
  display:flex;width:max-content;min-width:max-content;will-change:transform;
  animation:companyServicesTicker 46s linear infinite;
}
.company-services-group{display:flex;flex:none;align-items:center;white-space:nowrap}
.company-services-group span{
  font:700 10px/1 var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.9);
}
.company-services-group i{
  display:inline-flex;align-items:center;justify-content:center;width:46px;color:#9dcbf4;
  font:400 18px/1 Georgia,serif;font-style:normal;transform:translateY(-1px);
}
@keyframes companyServicesTicker{to{transform:translate3d(-50%,0,0)}}

@media (max-width:900px){
  .empresa-page .company-hero{height:calc(100svh - 60px);min-height:0}
  .empresa-page .company-hero .company-hero-grid{grid-template-columns:1fr;gap:0}
  .empresa-page .company-hero-copy{padding:38px 0 14px;text-align:center}
  .empresa-page .company-hero .breadcrumbs{justify-content:center}
  .empresa-page .company-hero h1,.empresa-page .company-hero .lead{margin-left:auto;margin-right:auto}
  .company-hero-actions{justify-content:center;margin-top:22px}
  .company-hero-actions .btn{padding:14px 20px;min-height:50px;font-size:14px}
  .company-hero-background::after{background:rgba(255,255,255,.76)}
  .company-hero-background .company-hero-scene,
  .company-hero-background .company-hero-man{transform:none;will-change:auto}
}

@media (max-width:560px){
  .empresa-page .company-hero-copy{padding:24px 0 8px}
  .empresa-page .company-hero h1{font-size:clamp(27px,8.2vw,40px)}
  .empresa-page .company-hero h1 span{white-space:normal}
  .empresa-page .company-hero .lead{font-size:15px;line-height:1.5}
  .company-hero-actions{margin-top:14px;gap:8px}
  .company-hero-actions .btn{padding:11px 14px;min-height:44px;font-size:12px}
}

@media (prefers-reduced-motion:reduce){
  .company-hero-background .company-hero-scene,
  .company-hero-background .company-hero-man{transform:none;will-change:auto}
  .company-hero-cursor{display:none!important;animation:none}
  .company-services-track{animation:none}
  .company-services-strip{overflow-x:auto}
  .company-services-group[aria-hidden="true"]{display:none}
}

/* Values list */
.values-list{list-style:none;padding:0;margin:var(--s3) 0;display:grid;grid-template-columns:1fr;gap:var(--s2)}
@media (min-width:640px){.values-list{grid-template-columns:repeat(2,1fr)}}
.values-list li{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);
  padding:var(--s3);color:var(--ink);font-weight:600;
  display:flex;gap:var(--s2);align-items:center;
  transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.values-list li:hover{border-color:var(--brand);transform:translateY(-2px)}
.values-list li::before{content:"◆";color:var(--brand);font-size:14px}

/* ============================================================
   Service groups (Serviços page)
   ============================================================ */

.service-group{margin-top:var(--s5)}
.service-group:first-of-type{margin-top:0}
.service-group-title{
  font-family:var(--font-display);font-size:14px;text-transform:uppercase;letter-spacing:0.14em;font-weight:700;
  color:var(--brand);margin:0 0 var(--s3);padding-bottom:var(--s1);border-bottom:2px solid var(--border);
}
@media (min-width:1024px){
  .service-group .cards-grid{display:flex;flex-wrap:nowrap;align-items:stretch}
  .service-group .cards-grid .card{flex:1 1 0;min-width:0}
}
.services-area{
  padding-block:clamp(64px,8vw,112px);
  background:#fff;
  border-top:1px solid var(--border);
}
.services-area-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(24px,5vw,72px)}
.services-area-copy{max-width:790px}
.services-area .eyebrow{
  margin:0 0 16px;color:var(--brand);font:700 12px/1.3 var(--font-display);letter-spacing:.16em;text-transform:uppercase;
}
.services-area .eyebrow span{color:#9aa9b9;padding-inline:8px}
.services-area h2{color:var(--brand);font-size:clamp(32px,3.5vw,52px);line-height:1.12;margin:0 0 18px;max-width:800px}
.services-area-copy > p:last-child{color:#526276;font-size:clamp(16px,1.3vw,18px);line-height:1.65;max-width:700px;margin:0}
.services-area-header .btn{max-width:100%;white-space:normal;line-height:1.35}
.services-area-map{
  margin:clamp(28px,4vw,52px) 0 0;
  background:transparent;border:0;
  border-radius:0;overflow:hidden;box-shadow:none;
}
.services-area-map img{display:block;width:100%;height:auto}
.services-area-map figcaption{padding:14px 0 0;color:#66768a;font-size:12px;line-height:1.5}
.services-area-map-hint{display:none}
@media (max-width:900px){
  .services-area-header{grid-template-columns:1fr;gap:24px}
  .services-area-header .btn{justify-self:start}
}
@media (max-width:640px){
  .services-area{padding-block:52px}
  .services-area .eyebrow{font-size:11px;letter-spacing:.13em}
  .services-area h2{font-size:clamp(30px,8vw,38px)}
  .services-area-header .btn{width:100%;justify-self:stretch;padding-inline:14px;font-size:14px}
  .services-area-map{margin-top:28px}
  .services-area-map figcaption{padding:12px 0 0}
}

/* ============================================================
   Contact details
   ============================================================ */

.home-contact{padding-block:clamp(64px,8vw,112px);scroll-margin-top:72px;background:#fff}
.home-contact-header{max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.home-contact-header h2{max-width:720px;margin-bottom:16px;color:var(--brand);font-size:clamp(30px,3.5vw,48px)}
.home-contact-header p:last-child{max-width:660px;margin:0;color:var(--muted)}
.home-contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:clamp(20px,3vw,36px)}
.home-contact .contact-grid{margin:0;gap:16px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.home-contact .contact-card{min-height:190px}
.home-contact .contact-card-address{grid-column:1/-1}
.home-contact .contact-card .value-email{font-size:14px;letter-spacing:-.02em;white-space:nowrap}
.home-contact .contact-whatsapp-mobile,.home-contact .address-mobile-route{display:none}
.home-contact .map-embed{margin:0;min-height:396px;aspect-ratio:auto}
@media (max-width:900px){
  .home-contact-layout{grid-template-columns:1fr}
  .home-contact .map-embed{min-height:340px}
}
@media (max-width:639px){
  .home-contact .contact-grid{grid-template-columns:1fr}
  .home-contact .contact-card{min-height:0}
  .home-contact .contact-card-address{grid-column:auto}
  .home-contact .contact-card .value-email{font-size:clamp(11px,3.3vw,14px)}
  .home-contact .map-embed{min-height:280px}
}

.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--s3);margin-top:var(--s4)}
@media (min-width:640px){.contact-grid{grid-template-columns:repeat(2,1fr)}}
.contact-card{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);
  padding:var(--s4);display:flex;flex-direction:column;gap:6px;
  transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);
  color:var(--ink);
}
.contact-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--shadow-md)}
.contact-card .contact-icon{
  width:48px;height:48px;border-radius:14px;
  background:var(--brand-tint);border:1px solid rgba(7,68,128,0.14);
  color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s1);
  transition:background var(--dur-med) var(--ease-out), color var(--dur-med) var(--ease-out);
}
.contact-card:hover .contact-icon{background:var(--brand);color:var(--ink-inv)}
.contact-card .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:0.1em;font-weight:700}
.contact-card .value{color:var(--ink);font-size:17px;font-weight:600;word-break:break-word}
@media (max-width:767px){
  .home-page .home-contact .contact-whatsapp-original,
  .home-page .home-contact .address-desktop-value{display:none}
  .home-page .home-contact .contact-whatsapp-mobile{display:block}
  .home-page .home-contact .address-mobile-route{
    display:block;text-decoration:none;touch-action:manipulation;
    -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  }
  .home-page .home-contact .address-route-hint{
    display:block;margin-top:8px;color:var(--brand);font-size:12px;font-weight:700;
  }
}
.map-embed{
  margin-top:var(--s4);border-radius:var(--r-card);overflow:hidden;
  border:1px solid var(--border);aspect-ratio:16/9;background:var(--card);
  box-shadow:var(--shadow-md);
}
.map-embed iframe{width:100%;height:100%;border:0;display:block;filter:saturate(0.9)}

/* ============================================================
   Blog list
   ============================================================ */

.blog-list{display:grid;grid-template-columns:1fr;gap:var(--s3)}
@media (min-width:768px){.blog-list{grid-template-columns:repeat(2,1fr)}}
.blog-item{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);
  padding:var(--s4);transition:transform var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);
  display:flex;flex-direction:column;gap:var(--s2);
}
.blog-item:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow-lg)}
.blog-item h3{font-size:20px;margin-bottom:var(--s1)}
.blog-item .meta{color:var(--brand);font-size:12px;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;margin:0}
.blog-item .excerpt{color:var(--muted);font-size:15px;margin:0;line-height:1.55}

/* ============================================================
   Footer
   ============================================================ */

.site-footer{
  background:var(--brand);color:rgba(255,255,255,0.75);
  padding:var(--s6) 0 0;
  border-top:1px solid rgba(255,255,255,0.10);
  position:relative;overflow:hidden;isolation:isolate;
}
.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url("fundo-rodape-topografia.webp");
  background-size:100% 100%;background-position:center;background-repeat:no-repeat;
  opacity:.48;filter:none;
}
.site-footer > .container{position:relative;z-index:1;padding-bottom:0}
.footer-grid{display:grid;gap:var(--s5);grid-template-columns:1fr}
@media (min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
.footer-brand p{color:rgba(255,255,255,0.78);font-size:14px;margin:var(--s2) 0;line-height:1.6}
.site-footer .footer-brand .logo-img{
  content:url("logo-pedroso-footer-transparent.webp");
  width:auto;height:46px;object-fit:contain;object-position:left center;
}
.footer-nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.footer-nav a{color:rgba(255,255,255,0.75);font-size:14px;transition:color var(--dur-fast) var(--ease-out)}
.footer-nav a:hover{color:#fff}
.footer-title{font-family:var(--font-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:#fff;margin-bottom:var(--s2)}
.footer-bottom{
  position:relative;z-index:2;
  width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
  margin-top:var(--s5);padding:var(--s3);
  background:var(--brand-dark);
  border-top:1px solid rgba(255,255,255,0.10);
  color:rgba(255,255,255,0.6);font-size:13px;
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;text-align:center;
}
.footer-developer{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:8px;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.footer-developer:hover,.footer-developer:focus-visible{opacity:.82;transform:translateY(-2px)}
.footer-developer img{display:block;width:auto;height:30px;object-fit:contain}

@media (max-width:767px){
  .footer-bottom{flex-direction:column;gap:12px}
  .footer-developer img{height:27px}
}

/* Serviços: ajustes exclusivos da apresentação responsiva. */
@media (max-width:767px){
  .services-page{padding-bottom:0}
  .services-page .mobile-cta-bar,
  .services-page .btn-wa,
  .services-page .hero-scroll-cue{display:none}
  .services-page .wa-float{display:flex;right:18px;bottom:calc(18px + env(safe-area-inset-bottom))}

  .services-page .services-hero .container{
    display:flex;align-items:center;justify-content:flex-start;
    height:100%;padding-block:24px;
  }
  .services-page .services-hero-copy{align-self:auto;width:100%}
  .services-page .services-area-map-viewport{overflow:hidden;width:100%}
  .services-page .services-area-map img{width:100%;max-width:100%;height:auto}
}

/* ============================================================
   Floating WhatsApp
   ============================================================ */

.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:200;
  width:64px;height:64px;
  background:transparent;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transform:translate3d(0,18px,0) scale(.88);
  transition:opacity 280ms var(--ease-out),transform 420ms var(--ease-out);
}
.wa-float.is-visible{opacity:1;pointer-events:auto;transform:translate3d(0,0,0) scale(1)}
.wa-float.is-visible:hover,.wa-float.is-visible:focus{transform:translate3d(0,-3px,0) scale(1.06)}
.wa-float img{display:block;width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(3,72,35,.22))}
@media (prefers-reduced-motion:reduce){
  .hero-dark .hero-bg video,.wa-float{transition:none!important}
  .wa-float.is-visible{animation:none}
}

/* ============================================================
   Section number (editorial POV)
   ============================================================ */

.section-head .eyebrow-num{
  display:inline-flex;align-items:center;gap:12px;
  color:var(--brand);font-weight:700;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:var(--s2);font-family:var(--font-display);
}
.section-head .eyebrow-num::before{
  content:attr(data-num);
  font-family:var(--font-display);
  font-size:16px;font-weight:800;color:var(--brand);
  padding:4px 10px;background:var(--brand-tint);border-radius:6px;
  letter-spacing:0;
}

/* ============================================================
   Mobile CTA Bar — sticky bottom on phones
   ============================================================ */

.mobile-cta-bar{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:150;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(5,11,20,0.94);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  border-top:1px solid var(--border-dark);
  transform:translateY(120%);
  transition:transform var(--dur-med) var(--ease-out);
}
.mobile-cta-bar.show{transform:none}
.mobile-cta-bar .btn{width:100%;padding:14px 24px;min-height:52px}

@media (max-width:767px){
  .mobile-cta-bar{display:block}
  body{padding-bottom:88px}
  .wa-float{display:none}
}

/* ============================================================
   Mobile menu — fullscreen editorial overlay
   ============================================================ */

@media (max-width:1023px){
  body.menu-open{overflow:hidden}
  .mobile-menu.open{
    display:flex;flex-direction:column;
    position:fixed;top:72px;left:0;right:0;bottom:0;
    background:var(--bg-dark);
    padding:var(--s4) var(--s3) calc(var(--s5) + 88px);
    z-index:99;
    gap:0;
    overflow-y:auto;
    animation:menuIn 320ms var(--ease-out);
  }
  .mobile-menu.open a{
    font-family:var(--font-display);
    font-size:clamp(28px,7vw,38px);
    font-weight:800;
    color:var(--ink-inv);
    padding:20px 4px;
    border-bottom:1px solid var(--border-dark);
    letter-spacing:-0.03em;
    line-height:1.1;
    transition:color var(--dur-fast) var(--ease-out), padding-left var(--dur-fast) var(--ease-out);
  }
  .mobile-menu.open a:hover,.mobile-menu.open a:focus{color:var(--wa);padding-left:12px}
  .mobile-menu.open a[aria-current="page"]{color:var(--wa)}
  .mobile-menu.open .btn{
    font-family:var(--font-body);font-size:16px;font-weight:600;
    color:#fff;letter-spacing:0.01em;
    margin-top:var(--s4);padding:16px 28px;border-bottom:none;
  }
  .mobile-menu.open .btn:hover{padding-left:28px}
  @keyframes menuIn{
    from{opacity:0;transform:translateY(-12px)}
    to  {opacity:1;transform:none}
  }
}

/* Body when mobile menu open: turn hamburger into X */
body.menu-open .nav-toggle svg line:nth-child(1){transform:rotate(45deg) translate(2px,-2px);transform-origin:center}
body.menu-open .nav-toggle svg line:nth-child(2){opacity:0}
body.menu-open .nav-toggle svg line:nth-child(3){transform:rotate(-45deg) translate(3px,2px);transform-origin:center}
.nav-toggle svg line{transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}

/* Force header to dark when menu open (mobile) */
@media (max-width:1023px){
  body.menu-open .site-header{background:var(--bg-dark);border-bottom-color:var(--border-dark)}
  body.menu-open .nav-toggle{color:var(--ink-inv);border-color:var(--border-dark)}
}

/* ============================================================
   Mobile stats — horizontal snap scroll
   ============================================================ */

@media (max-width:639px){
  .stats-grid{
    grid-template-columns:repeat(3, 82%);
    overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;
    gap:var(--s2);
    padding:0 var(--s3) var(--s2);
    margin:0 calc(-1 * var(--s3));
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .stats-grid::-webkit-scrollbar{display:none}
  .stats-grid > div{
    scroll-snap-align:center;
    background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
    padding:var(--s4) var(--s3);
  }
}

/* ============================================================
   Reveal on scroll (respects reduced motion)
   ============================================================ */

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
  will-change:opacity, transform;
}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:80ms}
.reveal[data-delay="2"]{transition-delay:160ms}
.reveal[data-delay="3"]{transition-delay:240ms}
.reveal[data-delay="4"]{transition-delay:320ms}
.reveal[data-delay="5"]{transition-delay:400ms}
.reveal[data-delay="6"]{transition-delay:480ms}

/* ============================================================
   Reduced motion — global disable
   ============================================================ */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    transition-duration:0.01ms !important;
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
  }
  .wa-float{animation:none}
  .hero-bg img{animation:none;transform:none}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   Mobile refinements — intelligent responsive
   ============================================================ */

@media (max-width:767px){
  section{padding:var(--s5) 0}
  .section-head{margin-bottom:var(--s4)}
  .section-head p{font-size:15px}
  .container{padding:0 var(--s3)}
  .card{padding:var(--s3);gap:var(--s2);border-radius:20px}
  .card h3{font-size:18px}
  .card p{font-size:14px}
  .card-icon{width:44px;height:44px;border-radius:12px}
  .btn{min-height:52px;font-size:15px;padding:14px 24px}
  .btn-lg{min-height:56px;font-size:16px;padding:18px 28px}
  .stats-grid{gap:var(--s2);grid-template-columns:1fr;text-align:left;padding:0;overflow:visible}
  .stats-grid > div{
    display:flex;align-items:center;gap:var(--s3);
    padding:var(--s3);background:var(--card);
    border:1px solid var(--border);border-radius:var(--r-card);
    scroll-snap-align:none;
  }
  .stats-grid .stat-num{margin:0;flex-shrink:0;min-width:72px;font-size:36px}
  .stats-grid .stat-label{margin:0;text-align:left;font-size:14px;max-width:none}
  .region-block{padding:var(--s4) var(--s3);border-radius:var(--r-card)}
  .region-block h2{font-size:22px}
  .trust-strip{padding:10px 0}
  .credentials li{padding:4px 20px;font-size:10px;letter-spacing:0.15em}
  .cta-final,.cta-dark{padding:var(--s5) 0}
  .site-footer{padding:var(--s5) 0 calc(var(--s3) + 88px)}
  .footer-grid{gap:var(--s4)}
  .prose{max-width:none}
  .prose p{font-size:16px}
  .page-header-dark{padding:var(--s5) 0}
  .hero-dark{padding:var(--s4) 0 var(--s4);min-height:calc(100vh - 60px)}
  .hero-dark .hero-sub{margin-bottom:var(--s3)}
}

@media (max-width:379px){
  .cards-grid{gap:var(--s2)}
  .card{padding:var(--s3) var(--s2)}
  .hero-ctas{flex-direction:column;align-items:stretch;width:100%}
  .hero-ctas .btn{width:100%}
}

@media (max-width:767px) and (orientation:landscape) and (max-height:500px){
  .hero-dark{min-height:auto;padding:var(--s3) 0}
  .hero-words-stack .hero-word{font-size:22px}
}

/* ============================================================
   Home mobile-only overrides (Home page only)
   ============================================================ */

@media (max-width:767px){
  /* Utility to hide elements only on mobile without touching desktop */
  .hide-mobile{display:none !important}

  /* Vídeo hero centralizado no mobile — foca melhor no drone/topo do quadro */
  .hero-dark .hero-bg video,
  .hero-dark .hero-bg img{
    object-position:50% 32%;
  }

  /* Region-block: sem o botão, fica com menos ar embaixo */
  .region-block{padding:var(--s4) var(--s3)}
  .region-block h2{font-size:22px;margin-bottom:12px}
  .region-block p{font-size:15px;margin-bottom:0}

  /* CTA final mais compacto — a barra sticky já resolve o WhatsApp */
  .cta-dark{padding:var(--s4) 0}
  .cta-dark h2{font-size:22px}
  .cta-dark > .container > p{font-size:15px;margin-bottom:var(--s3)}

  /* "Sem spam..." fica supérfluo com a sticky bar */
  .cta-dark .hero-note{display:none}

  /* Container respira mais nas laterais em telas muito pequenas */
  .hero-dark .hero-ctas{gap:10px}

  /* Menos padding no site-footer superior; a sticky bar já reserva espaço */
  .site-footer{padding:var(--s5) 0 calc(var(--s3) + 88px)}
}

/* ============================================================
   Home 2 — equipe + instrumentação técnica editorial
   Escopo isolado: não altera Home 1, Home 3 ou páginas internas.
   ============================================================ */

.home-2 .home2-hero{
  min-height:calc(100svh - 60px);
  padding-top:clamp(64px,10vh,112px);
  padding-bottom:118px;
  align-items:center;
}
.home-2 .home2-hero .hero-bg{
  background:#062b57;
}
.home-2 .home2-hero .hero-bg img{
  object-position:center center;
  transform:scale(1.01);
  filter:saturate(.9) contrast(1.02);
  animation:home2ImageSettle 1400ms var(--ease-out) forwards;
}
.home-2 .home2-hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(3,20,40,.9) 0%,rgba(3,28,58,.72) 27%,rgba(5,38,77,.18) 56%,rgba(3,22,46,.06) 100%),
    linear-gradient(180deg,rgba(4,24,49,.2) 0%,rgba(4,31,63,.02) 46%,rgba(3,20,40,.68) 100%);
}
.home-2 .home2-hero .hero-bg::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 27% 48%,rgba(17,83,151,.2),transparent 45%);
  mix-blend-mode:screen;
}
.home-2 .home2-hero .hero-bg::before{display:none}
.home-2 .home2-hero > .container{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  gap:clamp(18px,2.7vh,30px);min-height:clamp(430px,64vh,650px);
}
.home-2 .home2-hero .hero-words-stack,
.home-2 .home2-hero .hero-sub,
.home-2 .home2-hero .hero-ctas{margin:0}
.home-2 .home2-hero .hero-ctas{margin-top:clamp(10px,2vh,22px)}
.home-2 .home2-hero .hero-words-stack{max-width:550px}
.home-2 .home2-hero .hero-word{font-size:clamp(38px,4.2vw,62px);line-height:1.01}
.home-2 .home2-hero .hero-sub{max-width:510px;font-size:clamp(15px,1.15vw,17px);line-height:1.65;color:rgba(255,255,255,.76)}

/* Homes 1 e 3 — mesma referência vertical da Hero da Home 2 */
@media (min-width:768px){
  .home-1 .hero-dark > .container,
  .home-3 .home3-depth > .container{
    display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
    gap:clamp(18px,2.7vh,30px);min-height:clamp(430px,64vh,650px);
  }
  .home-1 .hero-dark .hero-words-stack,
  .home-1 .hero-dark .hero-sub,
  .home-1 .hero-dark .hero-ctas,
  .home-3 .home3-depth .hero-words-stack,
  .home-3 .home3-depth .hero-sub,
  .home-3 .home3-depth .hero-ctas{margin:0}
  .home-1 .hero-dark .hero-ctas,
  .home-3 .home3-depth .hero-ctas{margin-top:clamp(10px,2vh,22px)}
}

.home-2 .services-home .card{
  min-height:205px;
  padding:20px 22px 18px;
  color:#f8fafc;
  background:
    linear-gradient(145deg,#0a1625 0%,#07111d 100%) padding-box,
    radial-gradient(circle farthest-side at 0 100%,#1786cf,transparent 72%),
    radial-gradient(circle farthest-side at 100% 0,#75b9ef,transparent 70%),
    radial-gradient(circle farthest-side at 100% 100%,#074480,transparent 72%),
    radial-gradient(circle farthest-side at 0 0,#d7a867,#06396b) border-box;
  background-size:100% 100%,400% 400%,400% 400%,400% 400%,400% 400%;
  background-position:center,0 50%,100% 50%,100% 50%,0 50%;
  border:2px solid transparent;
  border-radius:4px;
  box-shadow:0 12px 28px rgba(5,11,20,.09),0 0 0 rgba(7,68,128,0);
  animation:home2CardBorder 6s ease-in-out infinite alternate;
}
.home-2 .services-home .card::before{
  content:counter(home2-card,decimal-leading-zero);
  position:absolute;top:13px;right:15px;
  color:rgba(177,202,228,.38);font:600 10px/1 var(--font-display);letter-spacing:.12em;
}
.home-2 .services-home .cards-grid{counter-reset:home2-card}
.home-2 .services-home .card{counter-increment:home2-card}
.home-2 .services-home .card::after{display:none}
.home-2 .services-home .equipment-icon{
  width:56px;height:56px;margin:0 0 12px;border:0;border-radius:0;
  justify-content:flex-start;background:transparent;color:#a9bed5;
}
.home-2 .services-home .equipment-icon svg{width:50px;height:50px}
.home-2 .services-home .equipment-icon .icon-fill{fill:rgba(132,164,198,.055);stroke:currentColor}
.home-2 .services-home .card h3{max-width:90%;color:#f8fafc;font-size:17px;line-height:1.2;margin:0 0 5px}
.home-2 .services-home .card p{max-width:92%;color:#91a0b2;font-size:12px;line-height:1.5}
.home-2 .services-home .card-link{color:#b8cbe0;font-size:12px;letter-spacing:.02em;padding-top:8px}
.home-2 .services-home .card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(5,25,48,.22),0 0 24px rgba(23,134,207,.22);
}
.home-2 .services-home .card:hover .equipment-icon{background:transparent;color:#fff;transform:translateY(-2px) scale(1.03)}
.home-2 .services-home .card:hover .card-link{color:#fff}

@keyframes home2CardBorder{
  0%{background-position:center,0 50%,100% 50%,100% 50%,0 50%}
  50%{background-position:center,100% 50%,0 50%,35% 100%,65% 0}
  100%{background-position:center,0 50%,100% 50%,0 50%,100% 50%}
}

@keyframes home2ImageSettle{
  from{opacity:.3;transform:scale(1.035)}
  to{opacity:1;transform:scale(1.01)}
}

/* Home 2 stats: faixa de precisão com leitura progressiva */
.home-2 .stats{
  position:relative;padding:0;border:0;background:#fff;overflow:hidden;
}
.home-2 .stats::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,68,128,.035) 1px,transparent 1px);
  background-size:25% 100%;opacity:.7;
}
.home-2 .stats .container{position:relative;padding-top:46px;padding-bottom:46px}
.home-2 .stats-grid{gap:0;text-align:left;border-block:1px solid var(--border)}
.home-2 .stats-grid > div{
  position:relative;padding:26px 30px 30px;overflow:hidden;
  border-right:1px solid var(--border);
  opacity:0;transform:translateX(44px);
  transition:opacity 700ms var(--ease-out),transform 800ms var(--ease-out),background 300ms var(--ease-out);
}
.home-2 .stats-grid > div:last-child{border-right:0}
.home-2 .stats-grid > div.in{opacity:1;transform:none}
.home-2 .stats-grid > div:nth-child(2){transition-delay:130ms}
.home-2 .stats-grid > div:nth-child(3){transition-delay:260ms}
.home-2 .stats-grid > div::before{
  content:"MÉTRICA 0" counter(home2-stat);display:block;margin-bottom:24px;
  color:#8291a3;font:700 9px/1 var(--font-display);letter-spacing:.2em;
}
.home-2 .stats-grid{counter-reset:home2-stat}
.home-2 .stats-grid > div{counter-increment:home2-stat}
.home-2 .stats-grid > div::after{
  content:"";position:absolute;left:30px;right:30px;bottom:16px;height:2px;
  background:linear-gradient(90deg,var(--brand) 0 72%,var(--border) 72%);
  transform:scaleX(0);transform-origin:left;transition:transform 900ms var(--ease-out) 280ms;
}
.home-2 .stats-grid > div:nth-child(2)::after{background:linear-gradient(90deg,var(--brand) 0 86%,var(--border) 86%)}
.home-2 .stats-grid > div:nth-child(3)::after{background:linear-gradient(90deg,var(--brand) 0 98%,var(--border) 98%)}
.home-2 .stats-grid > div.in::after{transform:scaleX(1)}
.home-2 .stat-num{font-size:clamp(42px,4.5vw,64px);margin-bottom:10px}
.home-2 .stat-label{max-width:260px;margin:0;color:#657386;font-size:14px}
.home-2 .stats-grid > div:hover{background:rgba(7,68,128,.025)}

.home-2 .why-icon{
  width:76px;height:76px;background:linear-gradient(145deg,#f4f8fc,#e8f2fb);
  border-color:rgba(7,68,128,.14);box-shadow:inset 0 0 0 7px rgba(255,255,255,.35);
}
.home-2 .why-icon svg{width:34px;height:34px}
.home-2 .why-item:hover .why-icon{transform:translateY(-5px) rotate(-2deg);box-shadow:0 14px 28px rgba(7,68,128,.12)}
@media (max-width:767px){
  .home-2 .home2-hero{min-height:calc(100svh - 60px);padding:64px 0 72px;align-items:flex-end}
  .home-2 .home2-hero .hero-bg img{object-position:67% center}
  .home-2 .home2-hero .hero-overlay{
    background:linear-gradient(180deg,rgba(3,22,45,.12) 0%,rgba(3,24,49,.3) 42%,rgba(3,17,34,.94) 76%,rgba(3,17,34,.98) 100%);
  }
  .home-2 .home2-hero > .container{min-height:78svh;justify-content:flex-end;gap:16px}
  .home-2 .home2-hero .hero-word{font-size:clamp(34px,10.5vw,46px)}
  .home-2 .home2-hero .hero-sub{max-width:34rem;font-size:14px;line-height:1.55}
  .home-2 .home2-hero .hero-ctas{margin-top:12px}
  .home-2 .services-home .card{min-height:194px;padding:20px;border-radius:4px}
  .home-2 .stats .container{padding-top:28px;padding-bottom:28px}
  .home-2 .stats-grid{border:0;gap:12px}
  .home-2 .stats-grid > div{
    display:block;padding:22px 22px 28px;border:1px solid var(--border);border-radius:4px;
    background:#fff;transform:translateX(28px);
  }
  .home-2 .stats-grid > div::before{margin-bottom:14px}
  .home-2 .stats-grid > div::after{left:22px;right:22px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){
  .home-2 .home2-hero .hero-bg img{animation:none;transform:scale(1.01)}
  .home-2 .services-home .card{animation:none}
  .home-2 .stats-grid > div{opacity:1;transform:none}
  .home-2 .stats-grid > div::after{transform:none}
}

/* ============================================================
   Homes — ritmo vertical compacto em desktop
   ============================================================ */

@media (min-width:1024px) and (min-height:650px){
  .home-page main > section:not(.hero-dark):not(.hero-scroll){
    min-height:0;
    display:block;
    padding:clamp(26px,4vh,42px) 0;
  }
  .home-page main > section:not(.hero-dark):not(.hero-scroll) > .container{
    width:100%;
  }

  .home-page .services-home{
    min-height:0;
    padding:24px 0 28px;
  }
  .home-page .services-home .section-head{
    max-width:760px;margin-bottom:12px;
  }
  .home-page .services-home .section-head .eyebrow-num{margin-bottom:4px}
  .home-page .services-home .section-head h2{
    margin-bottom:7px;font-size:clamp(25px,2vw,32px);line-height:1.08;
  }
  .home-page .services-home .section-head p{font-size:14px;line-height:1.4}
  .home-page .services-home .cards-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  }
  .home-page .services-home .card{
    min-height:150px;padding:14px 16px;gap:3px;border-radius:14px;
  }
  .home-page .services-home .card-icon{
    width:34px;height:34px;margin-bottom:2px;border-radius:9px;
  }
  .home-page .services-home .card-icon svg{width:20px;height:20px}
  .home-page .services-home .card h3{
    max-width:92%;margin-bottom:2px;font-size:15px;line-height:1.15;
  }
  .home-page .services-home .card p{
    max-width:94%;font-size:11.5px;line-height:1.35;
  }
  .home-page .services-home .card-link{
    padding-top:5px;font-size:11.5px;
  }
  .home-page .services-home .cards-grid + .reveal{margin-top:10px !important}
  .home-page .services-home .cards-grid + .reveal .btn{
    min-height:44px;padding:11px 20px;font-size:13px;
  }

  .home-page .why-section .why-head{margin-bottom:clamp(24px,4vh,40px)}
  .home-page .why-section .why-icon{width:64px;height:64px;margin-bottom:16px}
  .home-page .why-section .why-icon svg{width:28px;height:28px}
  .home-page .why-section .why-item h3{font-size:16px;margin-bottom:7px}
  .home-page .why-section .why-item p{font-size:13px;line-height:1.5}

  .home-page .stats{padding:30px 0}
  .home-page .why-section{padding:42px 0}
  .home-page main > section:has(.region-block){padding-block:26px}
  .home-page .region-block{padding:clamp(32px,5vh,52px) clamp(40px,5vw,72px)}
  .home-page .cta-dark{padding-block:36px}

  .home-2 .stats{padding:0}
  .home-2 .stats .container{padding-top:28px;padding-bottom:28px}
  .home-2 .stats-grid > div{padding-top:22px;padding-bottom:28px}
  .home-2 .stats-grid > div::before{margin-bottom:16px}

  .home-2 .services-home .card{min-height:150px;padding:14px 16px;border-radius:4px}
  .home-2 .services-home .equipment-icon{width:38px;height:38px;margin-bottom:4px}
  .home-2 .services-home .equipment-icon svg{width:36px;height:36px}
  .home-2 .services-home .card h3{font-size:15px;margin-bottom:2px}
  .home-2 .services-home .card p{font-size:11.5px;line-height:1.35}
}

@media (min-width:1024px) and (min-height:650px) and (max-height:760px){
  .home-page .services-home .card{min-height:136px;padding:11px 14px}
  .home-page .services-home .section-head{margin-bottom:9px}
  .home-page .services-home .card-icon{width:30px;height:30px}
  .home-page .services-home .card-icon svg{width:18px;height:18px}
  .home-page .services-home .cards-grid + .reveal{margin-top:7px !important}
}

@media (max-width:1023px){
  .home-page main > section:not(.hero-dark):not(.hero-scroll){padding-block:40px}
  .home-page .stats{padding-block:32px}
  .home-page .services-home{padding-block:40px}
  .home-page .why-section{padding-block:44px}
  .home-page main > section:has(.region-block){padding-block:30px}
  .home-page .cta-dark{padding-block:40px}
}

@media (max-width:767px){
  .home-page main > section:not(.hero-dark):not(.hero-scroll){padding-block:32px}
  .home-page .stats{padding-block:24px}
  .home-page .services-home{padding-block:32px}
  .home-page .why-section{padding-block:36px}
  .home-page main > section:has(.region-block){padding-block:24px}
  .home-page .cta-dark{padding-block:32px}
}

/* ============================================================
   Home 3 — profundidade fotográfica em scroll
   ============================================================ */

.home-3 .home3-depth{
  --home3-scene-y:0px;--home3-equipment-y:0px;--home3-copy-y:0px;
  min-height:calc(100svh - 60px);overflow:hidden;perspective:1200px;
}
.home-3 .home3-depth::after{display:none}
.home-3 .home3-depth .home3-scene{
  position:absolute;inset:-5% 0 0;width:100%;height:110%;
  object-fit:cover;object-position:center center;
  transform:translate3d(0,var(--home3-scene-y),-25px) scale(1.045);
  transform-origin:center;animation:none;will-change:transform;
}
.home-3 .home3-depth .home3-equipment-solid{
  position:absolute;z-index:1;right:-4%;bottom:-5%;
  width:clamp(560px,52vw,880px);height:auto;object-fit:contain;
  opacity:1;mix-blend-mode:normal;
  transform:translate3d(0,var(--home3-equipment-y),70px) scale(1.015);
  transform-origin:76% 88%;animation:none;will-change:transform;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.22));
}
.home-3 .home3-depth picture{display:contents}
.home-3 .home3-depth .hero-overlay{
  z-index:2;
  background:
    linear-gradient(90deg,rgba(5,11,20,.9) 0%,rgba(5,11,20,.67) 38%,rgba(5,11,20,.12) 63%,rgba(5,11,20,.04) 100%),
    linear-gradient(180deg,rgba(5,11,20,.1),rgba(5,11,20,.03) 48%,rgba(5,11,20,.62));
}
.home-3 .home3-depth > .container{
  z-index:3;transform:translate3d(0,var(--home3-copy-y),95px);will-change:transform;
}

@media (max-width:767px){
  .home-3 .home3-depth{min-height:calc(100svh - 60px)}
  .home-3 .home3-depth .home3-scene{inset:0;width:100%;height:100%;object-position:54% center;transform:none}
  .home-3 .home3-depth .home3-equipment-solid{
    right:-34%;bottom:-1%;width:102vw;transform:none;filter:drop-shadow(0 14px 18px rgba(0,0,0,.2));
  }
  .home-3 .home3-depth .hero-overlay{
    background:linear-gradient(180deg,rgba(5,11,20,.28),rgba(5,11,20,.54) 45%,rgba(5,11,20,.94) 78%);
  }
  .home-3 .home3-depth > .container{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .home-3 .home3-depth .home3-scene,
  .home-3 .home3-depth .home3-equipment-solid,
  .home-3 .home3-depth > .container{transform:none;will-change:auto}
}

/* ============================================================
   Proteções responsivas globais
   ============================================================ */

html,body{max-width:100%;overflow-x:clip}
img,video,svg{max-width:100%}
img,video{height:auto}
h1,h2,h3,p,a,li{overflow-wrap:break-word}

@media (max-width:1023px){
  .container,.container-narrow{padding-inline:clamp(18px,4vw,32px)}
  .site-header .header-inner{min-height:60px}
  .logo-img{max-width:min(58vw,230px)}
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{gap:32px}
  .hero-ctas{flex-wrap:wrap}
  .hero-ctas .btn{max-width:100%}
  .home-3 .home3-depth .home3-equipment-solid{right:-11%;width:min(61vw,700px)}
}

@media (max-width:767px){
  :root{--s3:20px;--s4:28px;--s5:40px;--s6:52px}
  body{font-size:16px}
  .container,.container-narrow{padding-inline:18px}
  .site-header,.site-header.compact{min-height:58px}
  .site-header .header-inner{min-height:58px}
  .logo-img,.site-header.compact .logo-img{height:36px;max-width:205px}
  .nav-toggle{width:44px;height:44px;flex:0 0 44px}
  .mobile-menu{max-height:calc(100dvh - 58px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu a,.mobile-menu .nav-disabled{min-height:44px;display:flex;align-items:center}

  .hero-dark,.hero-scroll,.page-header-dark{min-height:auto}
  .hero-dark{padding-top:clamp(74px,12vh,108px);padding-bottom:58px}
  .hero-words-stack,.hero-dark h1,.page-header-dark h1{max-width:100%}
  .hero-word{font-size:clamp(34px,10vw,48px);line-height:1.02}
  .hero-sub{font-size:15px;line-height:1.55;max-width:100%}
  .hero-ctas{width:100%;display:grid;grid-template-columns:1fr;gap:12px}
  .hero-ctas .btn{width:100%;min-height:48px;justify-content:center;text-align:center}

  .cards-grid,.services-home .cards-grid,.contact-grid,.blog-list,.values-list,.cities-grid{grid-template-columns:1fr}
  .card{min-width:0;width:100%}
  .section-head h2,.why-head h2{font-size:clamp(27px,8vw,36px)}
  .section-head p,.why-head p,.region-block p{font-size:15px}
  .region-block{padding:30px 20px;border-radius:18px}
  .reviews-wrap{grid-template-columns:1fr}
  .review-score{min-width:0;width:100%}

  .footer-grid{grid-template-columns:1fr;gap:28px}
  .site-footer{background-position:center;background-size:cover}
  .footer-bottom{padding-inline:18px;text-align:center}

  .home-2 .home2-hero > .container{min-height:auto}
  .home-3 .home3-depth{min-height:max(680px,calc(100svh - 58px));align-items:flex-end}
  .home-3 .home3-depth .home3-scene{object-position:50% center}
  .home-3 .home3-depth .home3-equipment-solid{
    right:-38%;bottom:4%;width:112vw;max-width:none;
  }
  .home-3 .home3-depth > .container{padding-bottom:20px}
}

@media (max-width:420px){
  .container,.container-narrow{padding-inline:16px}
  .stats-grid{margin-inline:-16px}
  .hero-word{font-size:clamp(31px,9.5vw,40px)}
  .btn{padding-inline:16px}
  .home-3 .home3-depth .home3-equipment-solid{right:-48%;width:126vw}
}

@media (max-width:767px) and (orientation:landscape){
  .hero-dark{min-height:620px}
  .home-3 .home3-depth{min-height:620px}
  .home-3 .home3-depth .home3-equipment-solid{right:-9%;width:65vw}
}

/* Home mobile: equipamento destacado sem alterar a composição desktop */
@media (max-width:767px){
  .home-3 .home3-depth .home3-equipment-solid{
    left:50%;right:auto;bottom:44%;width:min(108vw,500px);max-width:none;
    transform:translateX(-50%);filter:drop-shadow(0 14px 22px rgba(0,0,0,.36));
  }
  .home-3 .home3-depth .hero-overlay{
    background:linear-gradient(180deg,rgba(5,11,20,.25) 0%,rgba(5,11,20,.35) 45%,rgba(5,11,20,.6) 78%,rgba(5,11,20,.7) 100%);
  }
}

/* ============================================================
   Home 3 — catálogo técnico editorial
   ============================================================ */

.home-3 .services-home{
  background:#f7f9fb;border-block:1px solid #dfe6ed;
}
.home-3 .services-home .cards-grid.services-ledger{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  border-top:0;counter-reset:service-ledger;perspective:1200px;
}
.home-3 .services-home .services-ledger .card{
  --tilt-x:0deg;--tilt-y:0deg;--tilt-lift:0px;
  counter-increment:service-ledger;display:flex;flex-direction:column;align-items:flex-start;
  min-height:190px;padding:18px 20px 16px;margin:0;border:1px solid #cbd5df;border-radius:18px;
  background:rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(4,38,63,.045);
  transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translate3d(0,var(--tilt-lift),0);
  transform-style:preserve-3d;transform-origin:center;
  transition:background-color 260ms ease,border-color 260ms ease,color 260ms ease,box-shadow 260ms ease;
  will-change:transform;
}
.home-3 .services-ledger .card:nth-child(odd){border-right:1px solid #cbd5df}
.home-3 .services-ledger .card::before{
  display:none;
}
.home-3 .services-ledger .card::after{
  content:"";display:block;width:24px;height:2px;margin-top:12px;border-radius:99px;
  background:linear-gradient(90deg,#0b579d 0 70%,#bfd4e7 70% 100%);transform:translateZ(26px);
}
.home-3 .services-ledger .card-icon{
  flex:0 0 auto;width:40px;height:40px;margin:14px 0 12px;border:1px solid #cbddec;border-radius:11px;
  background:#edf5fc;color:#0b579d;opacity:1;transform:translateZ(42px);
}
.home-3 .services-ledger .card-icon svg{width:20px;height:20px}
.home-3 .services-home .services-ledger .card h3{
  max-width:22ch;margin:0 0 8px;
  color:#0a1625;font-size:clamp(15px,1.15vw,18px);line-height:1.18;letter-spacing:-.025em;
  transform:translateZ(36px);
}
.home-3 .services-home .services-ledger .card p{
  max-width:39ch;margin:0;padding:0;
  color:#647386;font-size:12px;line-height:1.45;transform:translateZ(22px);
}
.home-3 .services-ledger .card-link{
  align-self:flex-start;width:max-content;margin-top:auto;padding-top:10px;
  color:#074480;font-size:10px;text-transform:uppercase;letter-spacing:.12em;
  transform:translateZ(32px);
}
.home-3 .services-ledger .card:hover{
  background:#fff;border-color:#9ebbd5;color:#0a1625;box-shadow:0 24px 52px rgba(4,38,63,.15);z-index:2;
}
.home-3 .services-ledger .card:hover h3{color:#0a1625}
.home-3 .services-ledger .card:hover .card-link{color:#063b70}
.home-3 .services-ledger .card:hover p{color:#4f6275}
.home-3 .services-ledger .card:hover .card-icon{background:#dcecf9;color:#074480;border-color:#aac9e2;transform:translate3d(0,-3px,48px)}
.home-3 .services-ledger .card:last-child{
  grid-column:1 / -1;min-height:108px;display:grid;
  grid-template-columns:36px 46px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:16px;align-items:center;
}
.home-3 .services-ledger .card:last-child::before{grid-column:1;grid-row:1 / 3}
.home-3 .services-ledger .card:last-child .card-icon{grid-column:2;grid-row:1 / 3;margin:0}
.home-3 .services-home .services-ledger .card:last-child h3{grid-column:3;grid-row:1;max-width:none;margin:0 0 4px}
.home-3 .services-home .services-ledger .card:last-child p{grid-column:3;grid-row:2;max-width:none}
.home-3 .services-ledger .card:last-child .card-link{grid-column:4;grid-row:1 / 3;margin:0;padding:0}
.home-3 .services-ledger .card:last-child::after{display:none}

@media (min-width:1024px){
  .home-3 .services-home{
    height:calc(100svh - 52px);min-height:620px;padding:18px 0 20px;
    display:flex;align-items:center;overflow:hidden;
  }
  .home-3 .services-home > .container{width:100%}
  .home-3 .services-home .section-head{max-width:880px;margin-bottom:12px}
  .home-3 .services-home .section-head .eyebrow-num{margin-bottom:3px}
  .home-3 .services-home .section-head h2{font-size:clamp(24px,1.9vw,30px);margin-bottom:5px}
  .home-3 .services-home .section-head p{font-size:13px;line-height:1.35}
  .home-3 .services-home .cards-grid + .reveal{margin-top:10px!important}
  .home-3 .services-home .cards-grid + .reveal .btn{min-height:42px;padding:9px 18px;font-size:12px}
}

@media (min-width:768px) and (max-width:1023px){
  .home-3 .services-home .cards-grid.services-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-3 .services-ledger .card:last-child{grid-column:1 / -1}
}

@media (min-width:1024px) and (max-height:760px){
  .home-3 .services-home{min-height:560px;padding:12px 0 14px}
  .home-3 .services-home .section-head{margin-bottom:8px}
  .home-3 .services-home .section-head p{font-size:12px}
  .home-3 .services-home .services-ledger .card{min-height:166px;padding:13px 16px 12px}
  .home-3 .services-ledger .card-icon{width:36px;height:36px;margin:10px 0 8px}
  .home-3 .services-home .services-ledger .card h3{margin-bottom:5px}
  .home-3 .services-ledger .card:last-child{min-height:82px}
  .home-3 .services-home .services-ledger .card p{font-size:11.5px;line-height:1.32}
  .home-3 .services-ledger .card::after{margin-top:8px}
  .home-3 .services-home .cards-grid + .reveal{display:none}
}

@media (max-width:767px){
  .home-3 .services-home .cards-grid.services-ledger{grid-template-columns:1fr}
  .home-3 .services-home .services-ledger .card,
  .home-3 .services-home .services-ledger .card:last-child{
    grid-column:auto;display:flex;min-height:210px;padding:18px;border-right:1px solid #cbd5df;
  }
  .home-3 .services-ledger .card-icon,
  .home-3 .services-ledger .card:last-child .card-icon{width:40px;height:40px;margin:14px 0 12px}
  .home-3 .services-home .services-ledger .card:last-child h3{margin:0 0 8px}
  .home-3 .services-ledger .card:last-child .card-link{margin-top:auto;padding-top:10px}
  .home-3 .services-ledger .card:last-child::after{display:block}
  .home-3 .services-ledger .card p{padding-right:0;font-size:13px}
}

/* Esteira horizontal: uma linha contínua entrando pela direita */
.home-3 .services-home{overflow:hidden}
.home-3 .services-marquee-viewport{
  width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;
  padding:8px 0 20px;perspective:1200px;cursor:grab;touch-action:pan-y;user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%);
}
.home-3 .services-swipe-hint{display:none}
.home-3 .services-home .cards-grid.services-ledger.is-marquee-ready{
  display:flex;align-items:stretch;gap:14px;width:max-content;border:0;
  will-change:transform;
}
.home-3 .services-marquee-viewport.is-dragging{cursor:grabbing}
.home-3 .services-marquee-viewport.is-dragging .card{pointer-events:none}
.home-3 .services-marquee-group{display:flex;align-items:stretch;gap:14px;counter-reset:service-ledger}
.home-3 .services-marquee-group .card,
.home-3 .services-home .services-ledger.is-marquee-ready .card:last-child{
  flex:0 0 clamp(286px,27vw,350px);width:clamp(286px,27vw,350px);min-height:230px;
  display:flex;flex-direction:column;align-items:flex-start;padding:20px 22px 18px;
}
.home-3 .services-ledger.is-marquee-ready .card:last-child::before{grid-column:auto;grid-row:auto}
.home-3 .services-ledger.is-marquee-ready .card:last-child .card-icon{grid-column:auto;grid-row:auto;margin:14px 0 12px}
.home-3 .services-home .services-ledger.is-marquee-ready .card:last-child h3{grid-column:auto;grid-row:auto;max-width:22ch;margin:0 0 8px}
.home-3 .services-home .services-ledger.is-marquee-ready .card:last-child p{grid-column:auto;grid-row:auto;max-width:39ch}
.home-3 .services-ledger.is-marquee-ready .card:last-child .card-link{grid-column:auto;grid-row:auto;margin-top:auto;padding-top:10px}
.home-3 .services-ledger.is-marquee-ready .card:last-child::after{display:block}
@media (min-width:1024px){
  .home-3 .services-home{height:auto;min-height:0;padding:44px 0 34px;display:block}
  .home-3 .services-home .section-head{margin-bottom:16px}
  .home-3 .services-home .cards-grid + .reveal{margin-top:4px!important}
}

@media (min-width:1024px) and (max-height:760px){
  .home-3 .services-home{min-height:0;padding:30px 0 24px}
  .home-3 .services-marquee-group .card,
  .home-3 .services-home .services-ledger.is-marquee-ready .card:last-child{min-height:198px;padding:16px 18px 14px}
}

@media (max-width:767px){
  .home-page{padding-bottom:0}
  .home-page .mobile-cta-bar,
  .home-page .btn-wa,
  .home-page .hero-scroll-cue{display:none}
  .home-page .wa-float{display:flex;right:18px;bottom:calc(18px + env(safe-area-inset-bottom))}
  .home-3 .services-swipe-hint{
    display:flex;align-items:center;justify-content:flex-end;gap:9px;
    margin:0 0 6px;color:var(--brand);font:700 10px/1.2 var(--font-display);
    letter-spacing:.13em;text-transform:uppercase;
  }
  .home-3 .services-swipe-chevrons{display:inline-flex;align-items:center;gap:2px;height:18px}
  .home-3 .services-swipe-chevrons i{
    display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
    transform:rotate(45deg);animation:servicesSwipeChevron 1.55s ease-in-out infinite;
  }
  .home-3 .services-swipe-chevrons i:last-child{animation-delay:180ms}
  .home-3 .services-marquee-viewport{padding-bottom:12px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .home-3 .services-marquee-group .card,
  .home-3 .services-home .services-ledger.is-marquee-ready .card:last-child{
    flex-basis:min(82vw,310px);width:min(82vw,310px);min-height:218px;padding:18px;
  }
}
@keyframes servicesSwipeChevron{
  0%,100%{opacity:.3;translate:-2px 0}
  50%{opacity:1;translate:2px 0}
}
@media (prefers-reduced-motion:reduce){
  .home-3 .services-swipe-chevrons i{animation:none;opacity:.85}
}

@media (hover:none),(pointer:coarse){
  .home-3 .services-home .services-ledger .card{transform:none;will-change:auto}
}
@media (prefers-reduced-motion:reduce){
  .home-3 .services-home .services-ledger .card{transform:none;will-change:auto}
  .home-3 .services-marquee-viewport{overflow-x:auto;mask-image:none;scrollbar-width:thin}
  .home-3 .services-home .cards-grid.services-ledger.is-marquee-ready{will-change:transform}
}

/* Processo — trilha técnica em azul institucional */
.process-flow-section{
  position:relative;overflow:hidden;padding:clamp(64px,8vw,104px) 0;
  color:#fff;background:
    radial-gradient(circle at 85% 12%,rgba(67,153,224,.24),transparent 31%),
    linear-gradient(135deg,#032b53 0%,#064985 100%);
}
.process-flow-section::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
}
.process-flow-section .container{position:relative;z-index:1}
.process-flow-head{max-width:820px;margin-bottom:clamp(42px,5vw,68px)}
.process-flow-kicker{
  display:inline-flex;margin-bottom:18px;padding:8px 14px;border:1px solid rgba(255,255,255,.32);border-radius:999px;
  color:#bfe1ff;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.16em;
}
.process-flow-head h2{max-width:760px;margin:0 0 14px;color:#fff;font-size:clamp(34px,4.3vw,62px);line-height:1.02;letter-spacing:-.045em}
.process-flow-head p{max-width:660px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(15px,1.4vw,18px);line-height:1.55}
.process-flow{
  position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2.2vw,34px);
  margin:0;padding:0;list-style:none;
}
.process-flow::before{
  content:"";position:absolute;top:27px;left:27px;right:calc(20% - 27px);height:2px;
  background:linear-gradient(90deg,#68baff,rgba(255,255,255,.62));
}
.process-step{position:relative;min-width:0}
.process-step-number{
  position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;margin-bottom:26px;
  border:6px solid rgba(190,225,255,.28);border-radius:50%;background:#fff;color:#074480;
  font:800 12px/1 var(--font-display);letter-spacing:.06em;box-shadow:0 12px 30px rgba(1,18,36,.2);
}
.process-step h3{max-width:15ch;margin:0 0 12px;color:#fff;font-size:clamp(18px,1.6vw,23px);line-height:1.12;letter-spacing:-.025em}
.process-step p{max-width:23ch;margin:0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.58}

@media (max-width:900px){
  .process-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 26px}
  .process-flow::before{display:none}
  .process-step{padding-left:72px;min-height:108px}
  .process-step-number{position:absolute;left:0;top:0;margin:0}
  .process-step h3,.process-step p{max-width:none}
}
@media (max-width:560px){
  .process-flow-section{padding:58px 0}
  .process-flow{grid-template-columns:1fr;gap:30px}
  .process-flow::before{display:block;top:28px;bottom:28px;left:27px;right:auto;width:2px;height:auto;background:linear-gradient(#68baff,rgba(255,255,255,.28))}
  .process-step{padding-left:76px;min-height:94px}
  .process-step-number{width:54px;height:54px}
}

/* Empresa: composição compacta exclusiva para celulares */
@media (max-width:767px){
  .empresa-page{padding-bottom:0}
  .empresa-page .mobile-cta-bar,
  .empresa-page .btn-wa{display:none}
  .empresa-page .wa-float{display:flex;right:18px;bottom:calc(18px + env(safe-area-inset-bottom))}

  .empresa-page .company-hero .company-hero-grid{align-items:center}
  .empresa-page .company-hero-copy{
    width:58%;margin:0;padding:0;text-align:left;
  }
  .empresa-page .company-hero h1,
  .empresa-page .company-hero .lead{margin-left:0;margin-right:0}
  .empresa-page .company-hero h1{font-size:clamp(22px,6.8vw,29px)}
  .empresa-page .company-hero .lead{max-width:100%;font-size:13px;line-height:1.42}
  .empresa-page .company-hero-actions{justify-content:flex-start}
  .empresa-page .company-hero-background .company-hero-man{
    inset:auto -160px auto auto;top:50%;
    width:min(300vw,1120px);height:auto;max-width:none;object-fit:contain;
    transform:translateY(-50%);
  }
  .empresa-page .company-hero-background::after{
    background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.74) 48%,rgba(255,255,255,.12) 100%);
  }

  .empresa-page .company-content-section{
    padding-block:clamp(24px,4svh,36px);scroll-margin-top:58px;
  }
  .empresa-page main > .company-content-section > .container{
    display:flex;flex-direction:column;align-items:center;gap:12px;
  }
  .empresa-page .company-content-section .prose{
    width:100%;max-width:640px;margin:0;text-align:center;
  }
  .empresa-page .company-content-section .prose > h2:first-child{
    margin:0 0 12px;font-size:clamp(24px,6.6vw,31px);line-height:1.13;
  }
  .empresa-page .company-content-section .prose p{
    margin:0 0 10px;font-size:14px;line-height:1.43;
  }
  .empresa-page .company-content-section .prose p:last-child{margin-bottom:0}
  .empresa-page .company-content-section .quote-block{
    margin:0;padding:0;background:transparent;border:0;
  }

  .empresa-page .company-introduction-media{
    order:0;width:min(100%,400px);height:clamp(150px,23svh,210px);margin:0;
  }
  .empresa-page .company-introduction-copy{order:1}

  .empresa-page .company-purpose .prose{max-width:640px}
  .empresa-page .company-purpose .values-list{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
    margin:12px 0 0;padding:0;
  }
  .empresa-page .company-purpose .values-list li{
    min-height:76px;margin:0;padding:10px 8px;
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    text-align:center;font-size:12px;line-height:1.25;
  }

  .empresa-page .company-delivery-elements{display:none}
  .empresa-page .company-delivery-media{
    order:0;grid-column:auto;align-self:center;justify-content:center;
    width:min(100%,400px);height:clamp(170px,26svh,230px);min-height:0;padding:0;
  }
  .empresa-page .company-delivery-media > img{
    width:100%;height:100%;max-width:100%;min-height:0;aspect-ratio:auto;object-fit:contain;
  }
  .empresa-page .company-delivery-copy{order:1;max-width:640px}
  .empresa-page .company-delivery-copy > div:last-child{display:none}
}

@media (max-width:360px) and (max-height:700px){
  .empresa-page .company-content-section{padding-block:16px}
  .empresa-page .company-content-section .prose > h2:first-child{
    font-size:22px;line-height:1.1;margin-bottom:8px;
  }
  .empresa-page .company-content-section .prose p{
    font-size:13px;line-height:1.38;margin-bottom:7px;
  }
  .empresa-page .company-introduction-media{height:110px}
  .empresa-page .company-delivery-media{height:130px}
}

/* Menu compacto: azul institucional, tipografia da Hero e meia tela. */
.btn-label-mobile,.mobile-menu-social{display:none}
.empresa-page .company-hero h1 .company-hero-typed-prefix,
.empresa-page .company-hero h1 .company-hero-typed-tail{display:inline}
@media (max-width:1023px){
  body.menu-open .site-header{background:var(--brand);border-bottom-color:rgba(255,255,255,.18)}
  body.menu-open .nav-toggle{color:#fff;border-color:rgba(255,255,255,.35)}
  .mobile-menu.open{
    top:64px;bottom:auto;height:50dvh;max-height:calc(100dvh - 64px);
    padding:14px 20px 18px;background:var(--brand);
    border-top:1px solid rgba(255,255,255,.18);
    box-shadow:0 20px 40px rgba(2,25,48,.24);
  }
  .mobile-menu.open > a:not(.btn){
    min-height:44px;padding:9px 4px;
    color:#fff;font-family:var(--font-display);
    font-size:clamp(16px,4.5vw,20px);font-weight:800;line-height:1.2;
    border-bottom:1px solid rgba(255,255,255,.24);
  }
  .mobile-menu.open > a:not(.btn):hover,
  .mobile-menu.open > a:not(.btn):focus,
  .mobile-menu.open > a[aria-current="page"]{color:#fff}
  .mobile-menu.open > .btn-wa{display:none}
  .mobile-menu-social{
    display:flex;align-items:center;justify-content:center;
    gap:18px;margin-top:auto;padding-top:12px;
  }
  .mobile-menu.open .mobile-menu-social a{
    display:flex;align-items:center;justify-content:center;
    width:42px;height:42px;min-height:42px;padding:0;
    color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:12px;
    background:rgba(255,255,255,.08);
  }
  .mobile-menu-social svg{width:21px;height:21px}
}

/* Heros: mudanças solicitadas somente em telas responsivas. */
@media (max-width:767px){
  .home-page .home3-depth{align-items:center}
  .home-page .home3-depth > .container{
    display:flex;flex-direction:column;align-items:center;
    width:100%;margin-bottom:clamp(120px,20svh,180px);
    text-align:center;
  }
  .home-page .home3-depth .hero-words-stack,
  .home-page .home3-depth .hero-sub{margin-inline:auto;text-align:center}
  .home-page .home3-depth .hero-ctas{width:min(100%,340px);justify-content:center}
  .home-page .home3-depth .home3-equipment-solid{
    left:50%;right:auto;bottom:0;width:min(108vw,500px);
    transform:translateX(-50%);
  }
  .home-page .hero-scroll-cue,
  .services-page .hero-scroll-cue{display:flex}
  .home-page .hero-ctas .btn-wa,
  .empresa-page .company-hero-actions .btn-wa,
  .services-page .services-hero-actions .btn-wa{display:inline-flex}
  .home-page .hero-ctas .btn-label-desktop,
  .empresa-page .company-hero-actions .btn-label-desktop,
  .services-page .services-hero-actions .btn-label-desktop{display:none}
  .home-page .hero-ctas .btn-label-mobile,
  .empresa-page .company-hero-actions .btn-label-mobile,
  .services-page .services-hero-actions .btn-label-mobile{display:inline}

  .empresa-page .company-hero-actions{
    flex-direction:column;align-items:stretch;width:100%;
  }
  .empresa-page .company-hero-actions .btn{width:100%;justify-content:center}
  .empresa-page .company-hero h1 .company-hero-typed{display:block}
  .empresa-page .company-hero h1 .company-hero-typed-prefix{white-space:nowrap}
  .empresa-page .company-hero h1 .company-hero-typed-tail{display:block}
  .empresa-page .company-hero .company-hero-cursor{display:none!important}
}

@media (max-width:1023px) and (max-height:650px){
  .mobile-menu.open{padding:8px 16px 10px}
  .mobile-menu.open > a:not(.btn){min-height:39px;padding:6px 4px;font-size:15px}
  .mobile-menu-social{padding-top:7px}
  .mobile-menu.open .mobile-menu-social a{width:38px;height:38px;min-height:38px}
}
@media (max-width:360px){
  .empresa-page .company-hero-copy{width:60%}
  .empresa-page .company-hero-actions .btn{padding-inline:5px;font-size:11px;gap:5px}
  .empresa-page .company-hero-actions .wa-icon{width:17px;height:17px}
}
@media (max-width:360px) and (max-height:650px){
  .home-page .home3-depth{
    height:calc(100svh - 58px);min-height:calc(100svh - 58px);
  }
  .home-page .home3-depth > .container{margin-bottom:90px}
  .home-page .home3-depth .hero-words-stack .hero-word{font-size:29px}
  .home-page .home3-depth .hero-sub{
    font-size:12px;line-height:1.35;margin:8px 0 12px;
  }
  .home-page .home3-depth .hero-ctas{gap:7px}
  .home-page .home3-depth .hero-ctas .btn{min-height:42px;padding-block:10px}
  .home-page .home3-depth .home3-equipment-solid{width:75vw}
}

/* Leitura da legenda da Home sobre a fotografia, em desktop e celular. */
.home-3 .home3-depth .hero-sub{
  color:#fff;font-weight:600;
  padding:12px 16px;border-radius:12px;
  background:rgba(3,20,36,.65);
  box-shadow:0 8px 28px rgba(3,16,29,.16);
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}

/* O menu responsivo entra pela direita, com metade da largura da tela. */
@media (max-width:1023px){
  .site-header{--menu-top:64px}
  .site-header.compact{--menu-top:58px}
  body.menu-open .wa-float{display:none!important}
  body.menu-open .site-header{
    position:fixed;top:0;left:0;right:0;z-index:101;
  }
  .mobile-menu.open{
    top:var(--menu-top);left:auto;right:0;bottom:0;
    width:50vw;height:calc(100dvh - var(--menu-top));max-height:none;
    padding:18px clamp(12px,2.5vw,24px) 22px;
    overflow-y:auto;
  }
  .mobile-menu.open > a:not(.btn){
    font-size:clamp(14px,4vw,18px);line-height:1.25;
    padding:12px 2px;overflow-wrap:normal;
  }
  .mobile-menu-social{gap:clamp(5px,1.5vw,14px)}
  .mobile-menu.open .mobile-menu-social a{
    width:clamp(34px,4vw,42px);height:clamp(34px,4vw,42px);
    min-height:clamp(34px,4vw,42px);
  }
}
@media (max-width:767px){
  .home-page .hero-scroll-cue,
  .services-page .hero-scroll-cue{
    color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.9);
    background:rgba(3,18,31,.5);border-radius:10px;
    padding:5px 8px;
  }
}
@media (max-width:360px){
  .home-3 .home3-depth .hero-sub{padding:8px 10px}
  .home-page .hero-scroll-cue,
  .services-page .hero-scroll-cue{left:calc(50% - 14px);padding-inline:4px}
}

/* Home: equipamento acima do véu escuro; indicador mais alto e CTA móvel oculta. */
.home-3 .home3-depth .home3-equipment-solid{z-index:3}
@media (max-width:767px){
  .home-page .hero-ctas .btn-wa{display:none}
  .home-page .hero-scroll-cue{bottom:clamp(52px,7svh,72px)}
}
