*{margin:0;padding:0;box-sizing:border-box}
:root{
  /* ── COLOR ── */
  --white:#FFFFFF;
  --gray-bg:#F2F4F7;
  --gray-bg-warm:#F5F4F1;
  --graphite:#262626;
  --graphite2:#333333;
  --text2:#5C5C5C;
  --text3:#8A8A8A;
  --gold:#F1B810;
  --gold-dark:#A87909;
  --gold-bg:rgba(241,184,16,.08);
  --border:#E7E5E2;
  --border-strong:#D8D5D1;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',sans-serif;

  /* ── SPACING SCALE (4pt base) ── */
  --sp-1:4px;   --sp-2:8px;   --sp-3:12px;  --sp-4:16px;
  --sp-5:20px;  --sp-6:24px;  --sp-7:32px;  --sp-8:40px;
  --sp-9:48px;  --sp-10:64px; --sp-11:80px; --sp-12:96px;
  --sp-13:120px;--sp-14:160px;

  /* ── TYPE SCALE ── */
  --tx-xs:12px; --tx-sm:13.5px; --tx-base:16px; --tx-md:18px;
  --tx-lg:21px; --tx-xl:26px; --tx-2xl:32px; --tx-3xl:40px;
  --tx-4xl:52px; --tx-5xl:66px;

  /* ── RADIUS ── */
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-xl:22px; --r-full:999px;

  /* ── SHADOW (consistent elevation scale) ── */
  --shadow-1:0 1px 3px rgba(38,38,38,.05), 0 1px 2px rgba(38,38,38,.04);
  --shadow-2:0 4px 16px rgba(38,38,38,.06), 0 2px 6px rgba(38,38,38,.04);
  --shadow-3:0 12px 32px rgba(38,38,38,.10), 0 4px 12px rgba(38,38,38,.05);
  --shadow-gold:0 10px 28px rgba(241,184,16,.28);

  /* ── MOTION ── */
  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:150ms; --dur-base:220ms; --dur-slow:400ms;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* Revelação suave ao rolar (aplicada via JS; some com reduced-motion) */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease), transform .65s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1 !important;transform:none !important} }

html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--graphite2);background:var(--white);line-height:1.6;overflow-x:hidden;font-size:var(--tx-base)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--sp-7)}

.eyebrow{font-family:var(--sans);font-size:var(--tx-xs);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-3)}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--gold);flex-shrink:0}
.eyebrow.center{justify-content:center}

h1,h2,h3{font-family:var(--serif);color:var(--graphite);font-weight:600;letter-spacing:-.3px}
.section-title{font-size:var(--tx-3xl);line-height:1.15;margin-bottom:var(--sp-5);letter-spacing:-.8px}
.section-lede{font-family:var(--sans);font-size:var(--tx-md);color:var(--text2);font-weight:300;line-height:1.7;max-width:640px}

/* ── BUTTONS (consistent system) ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);
  font-family:var(--sans);font-weight:700;font-size:var(--tx-sm);letter-spacing:.2px;
  padding:var(--sp-4) var(--sp-7);min-height:52px;border-radius:var(--r-md);cursor:pointer;border:none;
  transition:transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-gold{background:var(--gold);color:var(--graphite);box-shadow:var(--shadow-gold)}
.btn-gold:hover{box-shadow:0 14px 34px rgba(241,184,16,.38)}
.btn-outline{background:transparent;color:#FFFFFF;border:1.5px solid rgba(255,255,255,.45)}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.7)}
.btn-sm{padding:var(--sp-3) var(--sp-6);min-height:44px;font-size:var(--tx-xs)}

/* ══ HEADER ══ */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid transparent;
  transition:border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}
header.scrolled{box-shadow:var(--shadow-2);border-bottom-color:var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-7);max-width:1200px;margin:0 auto;min-height:80px}
.nav-logo{display:flex;align-items:center;gap:var(--sp-3)}
.nav-logo img{width:52px;height:52px;object-fit:contain}
.nav-logo-text{font-family:var(--serif);font-size:25px;font-weight:700;color:var(--graphite);letter-spacing:-.3px}
.nav-logo-text span{color:var(--gold-dark)}
.nav-links{display:flex;align-items:center;gap:var(--sp-8)}
.nav-links a:not(.btn){font-size:var(--tx-sm);font-weight:500;color:var(--graphite2);position:relative;padding:var(--sp-2) 0;transition:color var(--dur-fast) var(--ease)}
.nav-links a:not(.btn):hover{color:var(--graphite)}
.nav-links a:not(.btn)::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--gold);transition:width var(--dur-base) var(--ease)}
.nav-links a:not(.btn):hover::after{width:100%}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:var(--sp-3);width:44px;height:44px;align-items:center;justify-content:center}
.nav-burger span{width:22px;height:2px;background:var(--graphite);border-radius:2px;transition:transform var(--dur-base) var(--ease), opacity var(--dur-base) var(--ease)}

/* ══ HERO ══ */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  background-color:#1A1917;
  background-image:
    linear-gradient(96deg, rgba(22,21,18,.95) 0%, rgba(22,21,18,.90) 34%, rgba(24,22,18,.60) 60%, rgba(24,22,18,.28) 100%),
    url('../img/bg-header.jpg');
  background-size:cover;
  background-position:22% center;
  background-repeat:no-repeat;
  overflow:hidden;padding:calc(80px + var(--sp-13)) 0 var(--sp-12);
}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 var(--sp-7);width:100%}
.hero-content{max-width:680px}
.hero-eyebrow{font-family:var(--sans);font-size:var(--tx-xs);letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:var(--sp-6);display:flex;align-items:center;gap:var(--sp-3)}
.hero-eyebrow::before{content:'';width:30px;height:2px;background:var(--gold)}
.hero h1{font-size:var(--tx-5xl);line-height:1.02;color:#FFFFFF;letter-spacing:-2px;margin-bottom:var(--sp-5)}
.hero-slogan{font-family:var(--serif);font-style:italic;font-size:var(--tx-xl);color:var(--gold);font-weight:600;margin-bottom:var(--sp-6)}
.hero-support{font-family:var(--sans);font-size:var(--tx-md);color:rgba(255,255,255,.65);font-weight:300;line-height:1.75;max-width:560px;margin-bottom:var(--sp-9)}
.hero-ctas{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-11)}
.hero-stats{display:flex;gap:var(--sp-9);border-top:1px solid rgba(255,255,255,.16);padding-top:var(--sp-8);max-width:680px}
.hero-stat{flex:1}
.hero-stat::before{content:'';display:block;width:24px;height:2px;background:var(--gold);margin-bottom:var(--sp-4);border-radius:2px}
.hero-stat-val{font-family:var(--serif);font-size:var(--tx-2xl);color:#FFFFFF;font-weight:700;line-height:1;letter-spacing:-.5px}
.hero-stat-val span{color:var(--gold)}
.hero-stat-label{font-family:var(--sans);font-size:var(--tx-xs);color:rgba(255,255,255,.45);margin-top:var(--sp-2);letter-spacing:.3px;line-height:1.4}

/* ══ SOBRE ══ */
.sobre{padding:var(--sp-13) 0;background:var(--white)}
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-11);align-items:center}
.sobre-visual{position:relative;height:480px;border-radius:var(--r-lg);overflow:hidden;background:#262626;box-shadow:var(--shadow-3)}
.sobre-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sobre-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(22,21,18,.72) 0%,rgba(22,21,18,.12) 42%,transparent 66%);pointer-events:none}
.sobre-badge{position:absolute;z-index:2;bottom:var(--sp-6);left:var(--sp-6);right:var(--sp-6);background:rgba(26,25,20,.55);border:1px solid rgba(241,184,16,.4);backdrop-filter:blur(8px);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6)}
.sobre-badge-val{font-family:var(--serif);font-size:var(--tx-2xl);color:var(--gold);font-weight:700}
.sobre-badge-label{font-family:var(--sans);font-size:var(--tx-xs);color:rgba(255,255,255,.75);margin-top:var(--sp-1)}
.sobre-text p{font-family:var(--sans);font-size:var(--tx-base);color:var(--text2);font-weight:300;line-height:1.8;margin-bottom:var(--sp-5)}
.sobre-points{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-7)}
.sobre-point{display:flex;gap:var(--sp-3);align-items:flex-start;font-family:var(--sans);font-size:var(--tx-sm);color:var(--graphite2);font-weight:500}
.sobre-point svg{flex-shrink:0;margin-top:2px}

/* ══ CLIENTES ══ */
.clientes{padding:var(--sp-12) 0;background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.clientes-hdr{text-align:center;margin-bottom:var(--sp-9)}
.clientes-hdr .eyebrow{justify-content:center}
.clientes-hdr h2{font-size:var(--tx-2xl)}
.clientes-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-4);
}
.client-tile{
  background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);
  height:96px;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);
  transition:border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}
.client-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}
.client-tile img{
  max-width:100%;max-height:100%;object-fit:contain;
  transition:transform var(--dur-base) var(--ease);
}
.client-tile:hover img{transform:scale(1.05)}
.clientes-track-wrap{display:none;overflow:hidden}
.clientes-track{display:flex;gap:var(--sp-4);width:max-content;animation:scrollLeft 32s linear infinite}
@keyframes scrollLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.clientes-track .client-tile{flex-shrink:0;width:150px}

/* ══ ÁREAS DE ATUAÇÃO ══ */
.areas{padding:var(--sp-13) 0;background:var(--gray-bg)}
.areas-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--sp-10);flex-wrap:wrap;gap:var(--sp-6)}
.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
.area-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-7) var(--sp-6);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease)}
.area-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-3)}
.area-icon{width:56px;height:56px;border-radius:var(--r-md);background:var(--gold-bg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-6)}
.area-card h3{font-size:var(--tx-lg);margin-bottom:var(--sp-4)}
.area-card ul{display:flex;flex-direction:column;gap:var(--sp-3)}
.area-card li{font-family:var(--sans);font-size:var(--tx-sm);color:var(--text2);font-weight:300;line-height:1.55;padding-left:var(--sp-4);position:relative}
.area-card li::before{content:'';position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:var(--gold)}

/* ══ DIFERENCIAIS ══ */
.diferenciais{padding:var(--sp-13) 0;background:var(--white)}
.dif-hdr{text-align:center;max-width:700px;margin:0 auto var(--sp-10)}
.dif-hdr .section-lede{margin:0 auto}
.dif-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-5)}
.dif-card{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-5) var(--sp-5);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--sp-3);overflow:hidden;transition:transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease)}
.dif-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease)}
.dif-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-3);border-color:var(--border-strong)}
.dif-card:hover::after{transform:scaleX(1)}
.dif-icon{width:46px;height:46px;border-radius:var(--r-md);background:var(--gold-bg);display:flex;align-items:center;justify-content:center}
.dif-num{position:absolute;top:var(--sp-5);right:var(--sp-5);font-family:var(--serif);font-size:var(--tx-lg);font-weight:700;color:rgba(168,121,9,.24);line-height:1}
.dif-title{font-family:var(--serif);font-size:var(--tx-md);color:var(--graphite);font-weight:600;line-height:1.2;margin-top:var(--sp-1)}
.dif-desc{font-family:var(--sans);font-size:var(--tx-sm);color:var(--text2);font-weight:300;line-height:1.55}
.dif-banner{margin-top:var(--sp-8);background:var(--graphite);border-radius:var(--r-lg);padding:var(--sp-9) var(--sp-8);text-align:center;position:relative;overflow:hidden}
.dif-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold))}
.dif-banner p{font-family:var(--serif);font-size:var(--tx-xl);color:#fff;font-weight:600;line-height:1.4;max-width:840px;margin:0 auto;letter-spacing:-.2px}
.dif-banner p b{color:var(--gold);font-weight:600}

/* ══ CONTATO ══ */
.contato{padding:var(--sp-13) 0;background:var(--gray-bg)}
.contato-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--sp-11)}
.contato-lead{font-family:var(--sans);font-size:var(--tx-md);color:var(--text2);font-weight:300;line-height:1.7;margin-bottom:var(--sp-8);max-width:440px}
.contato-list{display:flex;flex-direction:column;gap:var(--sp-5)}
.contato-item{display:flex;align-items:center;gap:var(--sp-4)}
.contato-ic{width:46px;height:46px;border-radius:var(--r-full);background:var(--gold-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contato-k{display:block;font-family:var(--sans);font-size:var(--tx-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-bottom:2px}
.contato-v{font-family:var(--sans);font-size:var(--tx-base);color:var(--graphite2);font-weight:500;line-height:1.4;word-break:break-word;transition:color var(--dur-fast) var(--ease)}
a.contato-v:hover{color:var(--gold-dark)}
.contato-form{background:var(--white);border-radius:var(--r-xl);padding:var(--sp-9);box-shadow:var(--shadow-3)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-bottom:var(--sp-4)}
.form-group{display:flex;flex-direction:column;gap:var(--sp-2)}
.form-group.full{grid-column:1/-1}
.form-group label{font-family:var(--sans);font-size:var(--tx-xs);font-weight:700;color:var(--graphite2);letter-spacing:.2px}
.form-group input,.form-group textarea{
  font-family:var(--sans);font-size:var(--tx-sm);padding:var(--sp-3) var(--sp-4);min-height:48px;
  border:1.5px solid var(--border);border-radius:var(--r-sm);
  background:var(--gray-bg);color:var(--graphite);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);background:var(--white)}
.form-group textarea{resize:vertical;min-height:120px;font-family:var(--sans)}
.form-submit{width:100%;margin-top:var(--sp-1)}

/* ══ FOOTER ══ */
footer{background:var(--graphite);color:rgba(255,255,255,.6);padding:var(--sp-10) 0 var(--sp-6)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--sp-8);padding-bottom:var(--sp-7);border-bottom:1px solid rgba(255,255,255,.08)}
.footer-logo{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}
.footer-logo img{width:46px;height:46px;object-fit:contain}
.footer-logo-text{font-family:var(--serif);font-size:22px;font-weight:700;color:#fff}
.footer-desc{font-family:var(--sans);font-size:var(--tx-sm);font-weight:300;line-height:1.7;max-width:320px;color:rgba(255,255,255,.45)}
.footer-col-title{font-family:var(--sans);font-size:var(--tx-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:var(--sp-5)}
.footer-col p, .footer-col a{font-family:var(--sans);font-size:var(--tx-sm);color:rgba(255,255,255,.55);line-height:2;display:block;transition:color var(--dur-fast) var(--ease)}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--sp-5);flex-wrap:wrap;gap:var(--sp-3)}
.footer-bottom p{font-family:var(--sans);font-size:var(--tx-xs);color:rgba(255,255,255,.35)}

/* ══ RESPONSIVE ══ */
/* ── Tablet grande ── */
@media (max-width:1180px){
  .clientes-grid{grid-template-columns:repeat(4,1fr)}
  .dif-grid{grid-template-columns:repeat(3,1fr)}
}
/* ── Tablet / mobile grande ── */
@media (max-width:980px){
  /* Escala de espaçamento reduzida no mobile — encolhe padding de seção e gaps internos */
  :root{
    --sp-8:28px;  --sp-9:32px;  --sp-10:40px;
    --sp-11:48px; --sp-12:56px; --sp-13:64px; --sp-14:80px;
  }
  .nav-links{position:fixed;top:80px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;justify-content:flex-start;padding:var(--sp-10) var(--sp-7);gap:var(--sp-7);transform:translateX(100%);transition:transform var(--dur-slow) var(--ease)}
  .nav-links.open{transform:translateX(0)}
  .nav-burger{display:flex}
  .hero h1{font-size:var(--tx-4xl)}
  .hero-slogan{font-size:var(--tx-lg)}
  .sobre-grid{grid-template-columns:1fr;gap:var(--sp-8)}
  .areas-grid{grid-template-columns:1fr 1fr}
  .dif-grid{grid-template-columns:repeat(2,1fr)}
  .contato-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:var(--sp-6)}
  .hero-stats{gap:var(--sp-7)}
  .clientes-grid{display:none}
  .clientes-track-wrap{display:block}
}
/* ── Mobile ── */
@media (max-width:560px){
  /* Aperta ainda mais nos celulares menores */
  :root{
    --sp-11:40px; --sp-12:44px; --sp-13:52px;
  }
  .wrap{padding:0 var(--sp-5)}
  .section-title{font-size:var(--tx-2xl)}
  .areas-grid{grid-template-columns:1fr}
  .dif-grid{grid-template-columns:1fr}
  .hero-stats{flex-direction:column;gap:var(--sp-6)}
  .form-row{grid-template-columns:1fr}
  .contato-form{padding:var(--sp-6)}
  .dif-tool{flex-direction:column;align-items:flex-start}
}
