/* ===========================================================
   Resolvemos Por Ti — Contestação de Contraordenações Rodoviárias
   Paleta oficial da marca (Manual da Marca):
   #123C3D verde-petróleo (primária escura)
   #3ACF59 verde vivo (primária destaque)
   #1D4A4C / #1D5759 verdes secundários
   #F7F7F7 off-white | #333333 cinza texto
   Tipografia: Kanit
=========================================================== */

:root{
  --dark: #123C3D;
  --dark-2: #1D4A4C;
  --dark-3: #1D5759;
  --green: #3ACF59;
  --green-dim: #2FAE4B;
  --off-white: #F7F7F7;
  --ink: #333333;
  --white: #FFFFFF;
  --radius: 18px;
  --shadow: 0 20px 40px -20px rgba(18,60,61,.35);
  --maxw: 1180px;
}

*,*::before,*::after{ box-sizing:border-box; min-width:0; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Kanit', sans-serif;
  color:var(--ink);
  background:var(--off-white);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{
  font-family:'Kanit', sans-serif;
  color:var(--dark);
  margin:0 0 .5em;
  font-weight:600;
  line-height:1.15;
}
p{ line-height:1.65; margin:0 0 1em; color:var(--ink); }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px;
  border-radius:999px;
  font-weight:600;
  font-size:15px;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
  max-width:100%;
}
.btn:hover{ transform:translateY(-2px); }
.btn-lg{ padding:17px 32px; font-size:16px; }
.btn-block{ width:100%; justify-content:center; }
.btn-whatsapp{
  background:var(--green);
  color:var(--dark);
  box-shadow:0 10px 24px -8px rgba(58,207,89,.55);
}
.btn-whatsapp:hover{ background:#4ee06d; }
.btn-ghost{
  background:transparent;
  border-color:rgba(18,60,61,.25);
  color:var(--dark);
}
.hero .btn-ghost{ border-color:rgba(247,247,247,.4); color:var(--off-white); }
.btn-ghost:hover{ border-color:var(--dark); }
.btn-accent{ background:var(--dark); color:var(--off-white); }
.btn-accent:hover{ background:var(--dark-2); }
.ic-wa{ width:20px; height:20px; fill:currentColor; flex-shrink:0; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--dark);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:14px 28px;
}
.brand-logo{ height:34px; width:auto; }
.main-nav{ display:flex; gap:32px; margin-left:auto; margin-right:24px; }
.main-nav a{
  color:var(--off-white); opacity:.85; font-size:15px; font-weight:500;
  transition:opacity .15s;
}
.main-nav a:hover{ opacity:1; color:var(--green); }
.header-cta{ padding:11px 20px; font-size:14px; }
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:6px; }
.nav-toggle span{
  display:block; width:24px; height:2px; background:var(--off-white); margin:5px 0; border-radius:2px;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(160deg, var(--dark) 0%, var(--dark-2) 55%, var(--dark-3) 100%);
  overflow:hidden;
  padding:90px 0 70px;
}
.hero-shape{
  position:absolute; right:-180px; top:-160px;
  width:640px; height:640px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(58,207,89,.28), transparent 65%);
  pointer-events:none;
}
.hero-inner{
  display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center;
  position:relative; z-index:1;
}
.eyebrow{
  text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:600;
  color:var(--green); margin-bottom:14px; display:block;
}
.eyebrow-dark{ color:var(--green-dim); }
.hero h1{
  color:var(--off-white); font-size:clamp(34px,4.6vw,54px); font-weight:700; letter-spacing:-.01em;
}
.hero h1 span{ color:var(--green); display:block; }
.hero-lead{
  color:rgba(247,247,247,.82); font-size:17px; max-width:560px; margin-bottom:28px;
}
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:40px; }
.hero-trust{ display:flex; gap:36px; flex-wrap:wrap; }
.hero-trust div{ display:flex; flex-direction:column; }
.hero-trust strong{ color:var(--green); font-size:22px; font-weight:700; }
.hero-trust span{ color:rgba(247,247,247,.7); font-size:13px; }
.hero-visual{ display:flex; justify-content:center; align-items:center; }
.hero-badge{
  width:min(320px,80%);
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));
  animation:float 5s ease-in-out infinite;
}
@keyframes float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }

/* ---------- Sections ---------- */
.section{ padding:96px 0; }
.section-dark{
  background:var(--dark); color:var(--off-white);
}
.section-dark h2, .section-dark h3, .section-dark h4{ color:var(--off-white); }
.section-dark p{ color:rgba(247,247,247,.82); }
.section-tint{ background:#EFF3F1; }

.section-head{ max-width:680px; margin:0 auto 56px; text-align:center; }
.section-head h2{ font-size:clamp(28px,3.4vw,38px); }
.section-lead{ color:#555; font-size:16px; }

.split{
  display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center;
}
.split.reverse{ grid-template-columns:1.15fr .85fr; }
.split.reverse .split-media{ order:2; }
.split-media{ display:flex; justify-content:center; }
.floating-icon{
  width:min(260px,70%);
  filter:drop-shadow(0 24px 30px rgba(18,60,61,.18));
}
.split-copy h2{ font-size:clamp(26px,3vw,34px); }

.pillars{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px;
}
.pillar h4{ font-size:17px; color:var(--dark); margin-bottom:6px; }
.pillar p{ font-size:14.5px; margin-bottom:0; color:#555; }
.pillar{
  border-left:3px solid var(--green); padding-left:16px;
}

.link-arrow{
  display:inline-block; margin-top:8px; font-weight:600; color:var(--dark);
  border-bottom:2px solid var(--green); padding-bottom:2px;
}

/* ---------- Services ---------- */
.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.service-card{
  background:var(--white);
  border-radius:var(--radius);
  padding:32px 28px;
  box-shadow:0 12px 30px -18px rgba(18,60,61,.25);
  transition:transform .18s ease, box-shadow .18s ease;
  border:1px solid rgba(18,60,61,.06);
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 40px -20px rgba(18,60,61,.35);
}
.service-card h3{ font-size:18px; margin-bottom:8px; }
.service-card p{ font-size:14.5px; color:#555; margin-bottom:0; }
.service-ic{
  width:52px; height:52px; margin-bottom:18px;
  border-radius:14px;
  background:rgba(58,207,89,.12);
  display:flex; align-items:center; justify-content:center;
}
.service-ic::before{
  content:''; width:26px; height:26px;
  background:var(--dark);
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
}
.service-ic[data-ic="velocidade"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='13' r='8'/><path d='M12 13l4-4'/><path d='M9 4h6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='13' r='8'/><path d='M12 13l4-4'/><path d='M9 4h6'/></svg>"); }
.service-ic[data-ic="pontos"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><circle cx='8' cy='12' r='2'/><path d='M13 10h5M13 14h5'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><circle cx='8' cy='12' r='2'/><path d='M13 10h5M13 14h5'/></svg>"); }
.service-ic[data-ic="telemovel"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='7' y='2' width='10' height='20' rx='2'/><path d='M11 18h2'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='7' y='2' width='10' height='20' rx='2'/><path d='M11 18h2'/></svg>"); }
.service-ic[data-ic="cinto"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3v18M6 3c6 3 6 9 12 12M6 21c6-3 6-9 12-12'/><rect x='10' y='10.5' width='4' height='3' rx='.5'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3v18M6 3c6 3 6 9 12 12M6 21c6-3 6-9 12-12'/><rect x='10' y='10.5' width='4' height='3' rx='.5'/></svg>"); }
.service-ic[data-ic="estacionamento"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='3'/><path d='M9 16V8h3.5a2.5 2.5 0 0 1 0 5H9'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='3'/><path d='M9 16V8h3.5a2.5 2.5 0 0 1 0 5H9'/></svg>"); }
.service-ic[data-ic="documentos"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3h7l4 4v14H7z'/><path d='M14 3v4h4M9 13h6M9 17h6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3h7l4 4v14H7z'/><path d='M14 3v4h4M9 13h6M9 17h6'/></svg>"); }
.service-ic[data-ic="alcool"]::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 3h16l-8 9-8-9z'/><path d='M12 12v7'/><path d='M8 19h8'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 3h16l-8 9-8-9z'/><path d='M12 12v7'/><path d='M8 19h8'/></svg>"); }

/* ---------- Contact ---------- */
.contact-wrap{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
}
.contact-copy h2{ font-size:clamp(26px,3vw,34px); }
.contact-alt{ display:flex; gap:36px; margin-top:28px; flex-wrap:wrap; }
.contact-alt span{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:rgba(247,247,247,.55); margin-bottom:4px; }
.contact-alt a{ color:var(--green); font-weight:600; }

.contact-form{
  background:var(--off-white);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow);
}
.contact-form label{
  display:block; font-size:13px; font-weight:600; color:var(--dark); margin-bottom:14px;
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form input, .contact-form select, .contact-form textarea{
  width:100%; margin-top:6px;
  padding:12px 14px;
  border-radius:10px;
  border:1.5px solid rgba(18,60,61,.15);
  font-family:'Kanit', sans-serif;
  font-size:14.5px;
  background:var(--white);
  color:var(--ink);
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{
  outline:2px solid var(--green); border-color:transparent;
}
.form-note{ font-size:12px; color:#777; text-align:center; margin-top:12px; margin-bottom:0; }

/* ---------- Footer ---------- */
.site-footer{ background:#0E2C2D; color:rgba(247,247,247,.75); padding:56px 0 28px; }
.footer-inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
.footer-logo{ height:30px; opacity:.9; }
.footer-note{ max-width:560px; font-size:13px; color:rgba(247,247,247,.55); }
.footer-nav{ display:flex; gap:24px; flex-wrap:wrap; justify-content:center; }
.footer-nav a{ font-size:14px; color:rgba(247,247,247,.8); }
.footer-nav a:hover{ color:var(--green); }
.copyright{ font-size:12px; color:rgba(247,247,247,.4); margin-top:12px; }

/* ---------- Floating WhatsApp button ---------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:60;
  width:58px; height:58px; border-radius:50%;
  background:var(--green);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px -8px rgba(58,207,89,.6);
  animation:pulse 2.4s ease-in-out infinite;
}
.wa-float svg{ width:28px; height:28px; fill:var(--dark); }
@keyframes pulse{
  0%,100%{ box-shadow:0 12px 28px -8px rgba(58,207,89,.6); }
  50%{ box-shadow:0 12px 28px -4px rgba(58,207,89,.9); }
}

/* ---------- Responsive ---------- */
@media (max-width: 960px){
  .main-nav{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:var(--dark);
    flex-direction:column; padding:20px 28px; gap:18px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .main-nav.is-open{ display:flex; }
  .nav-toggle{ display:block; }
  .hero-inner{ grid-template-columns:1fr; text-align:left; }
  .hero-visual{ display:none; }
  .split, .split.reverse{ grid-template-columns:1fr; }
  .split.reverse .split-media{ order:0; }
  .split-media{ margin-bottom:8px; }
  .services-grid{ grid-template-columns:1fr 1fr; }
  .contact-wrap{ grid-template-columns:1fr; }
  .pillars{ grid-template-columns:1fr; }
}
@media (max-width: 600px){
  .section{ padding:64px 0; }
  .services-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .hero{ padding:56px 0 46px; }
  .hero-trust{ gap:24px; }
  .btn{ white-space:normal; text-align:center; }
}
