/* ==========================================================================
   CarroEC - Landing Page
   Paleta: Navy Deep / Petrol Blue / Emerald / Data Blue / Ice
   ========================================================================== */

:root{
  /* Marca */
  --navy:        #08273D;   /* oficial: símbolo da logo */
  --petrol:      #123E52;
  --emerald:     #0AAF66;   /* oficial: check da logo */
  --data-blue:   #2F80ED;
  --graphite:    #1D2733;
  --ice:         #F5F8FA;
  --white:       #FFFFFF;
  --emerald-dk:  #06A55D;   /* oficial: 'ec' do wordmark */
  --soft-gray:   #D9E2E8;

  /* Status */
  --st-green:    #22C55E;
  --st-amber:    #F4B400;
  --st-red:      #E14D4D;
  --st-blue:     #2F80ED;

  /* Derivados */
  --navy-800:    #0C3050;
  --navy-700:    #12405F;
  --muted:       #5A6B7B;
  --muted-soft:  #8399AB;
  --ink-invert:  rgba(255,255,255,.72);

  --radius-sm: 10px;
  --radius:    16px;
  --radius-lg: 24px;

  --shadow-sm: 0 1px 2px rgba(11,34,57,.06), 0 2px 8px rgba(11,34,57,.05);
  --shadow:    0 2px 6px rgba(11,34,57,.05), 0 14px 40px rgba(11,34,57,.08);
  --shadow-lg: 0 24px 70px rgba(11,34,57,.18);

  --container: 1160px;
  --nav-h: 72px;

  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo,
          Consolas, monospace;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top: calc(var(--nav-h) + 16px); }

body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  color:var(--graphite);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg{ max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; }

/* Nome do produto: sempre em negrito quando citado no texto */
.brand{ font-weight:750; letter-spacing:-.012em; }

h1,h2,h3,h4{
  margin:0;
  line-height:1.15;
  letter-spacing:-.022em;
  color:var(--navy);
  font-weight:700;
}
h1{ font-size:clamp(2.1rem, 1.35rem + 2.9vw, 3.65rem); letter-spacing:-.032em; }
h2{ font-size:clamp(1.7rem, 1.2rem + 1.9vw, 2.6rem); letter-spacing:-.028em; }
h3{ font-size:1.16rem; }
p{ margin:0; }

/* ---------- Layout ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:24px;
}
.section{ padding: clamp(64px, 7vw, 108px) 0; }
.section--ice{ background:var(--ice); border-block:1px solid var(--soft-gray); }
.section--navy{ background:var(--navy); }

.section-head{ max-width:720px; margin-bottom:44px; }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head p{ margin-top:16px; color:var(--muted); font-size:1.06rem; }
.section--navy .section-head h2{ color:var(--white); }
.section--navy .section-head p{ color:var(--ink-invert); }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.735rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:var(--petrol); margin-bottom:16px;
}
.eyebrow::before{
  content:""; width:22px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--emerald),var(--data-blue));
}
.section--navy .eyebrow{ color:#7FE3B4; }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px;
  border-radius:12px; border:1px solid transparent;
  font-weight:650; font-size:.95rem; letter-spacing:-.01em;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }

.btn--primary{
  background:var(--emerald); color:#04231A;
  box-shadow:0 6px 18px rgba(25,181,107,.32);
}
.btn--primary:hover{ background:#06A55D; box-shadow:0 10px 26px rgba(25,181,107,.4); }

.btn--navy{ background:var(--navy); color:#fff; box-shadow:0 6px 18px rgba(11,34,57,.22); }
.btn--navy:hover{ background:var(--petrol); }

.btn--ghost{ background:transparent; color:var(--navy); border-color:var(--soft-gray); }
.btn--ghost:hover{ border-color:var(--petrol); background:#fff; }

.btn--ghost-light{ background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.22); }
.btn--ghost-light:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.4); }

.btn--block{ width:100%; }
.btn--sm{ padding:10px 16px; font-size:.88rem; border-radius:10px; }

/* ---------- Header ---------- */
.header{
  position:sticky; top:0; z-index:60;
  height:var(--nav-h);
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.header.is-stuck{ border-bottom-color:var(--soft-gray); box-shadow:0 6px 24px rgba(11,34,57,.06); }
.header__inner{ height:var(--nav-h); display:flex; align-items:center; gap:28px; }

.logo{ display:inline-flex; align-items:center; flex:0 0 auto; }
.logo__img{ display:block; height:34px; width:auto; }
.logo--light .logo__img{ height:36px; }

.nav{ display:flex; align-items:center; gap:2px; margin-left:auto; }
.nav a{
  padding:9px 12px; border-radius:9px;
  font-size:.925rem; font-weight:520; color:var(--muted);
  transition:color .15s ease, background .15s ease;
}
.nav a:hover{ color:var(--navy); background:var(--ice); }

.header__cta{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }

.burger{
  display:none; margin-left:auto;
  width:42px; height:42px; border-radius:10px;
  border:1px solid var(--soft-gray); background:#fff;
  align-items:center; justify-content:center;
}
.burger span{ display:block; width:18px; height:2px; background:var(--navy); border-radius:2px; position:relative; }
.burger span::before,.burger span::after{
  content:""; position:absolute; left:0; width:18px; height:2px; background:var(--navy); border-radius:2px;
}
.burger span::before{ top:-6px; } .burger span::after{ top:6px; }

.mobile-nav{
  display:none;
  position:fixed; inset:var(--nav-h) 0 auto 0; z-index:55;
  background:#fff; border-bottom:1px solid var(--soft-gray);
  padding:14px 24px 24px;
  box-shadow:var(--shadow);
}
.mobile-nav.is-open{ display:block; }
.mobile-nav a{
  display:block; padding:13px 4px; font-weight:560; color:var(--navy);
  border-bottom:1px solid var(--ice);
}
.mobile-nav .btn{ margin-top:16px; }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1100px 520px at 78% -10%, rgba(47,128,237,.28), transparent 62%),
    radial-gradient(760px 460px at 8% 108%, rgba(25,181,107,.20), transparent 66%),
    linear-gradient(168deg, var(--navy) 0%, #0A3049 46%, var(--petrol) 100%);
  color:#fff;
  padding: clamp(56px, 6vw, 92px) 0 clamp(72px, 7vw, 112px);
}
.hero::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(80% 70% at 50% 30%, #000 20%, transparent 78%);
  pointer-events:none;
}
.hero > .container{ position:relative; z-index:1; }
.hero__grid{
  display:grid; grid-template-columns: 1.04fr .96fr; gap:clamp(32px,5vw,72px); align-items:center;
}
.hero h1{ color:#fff; }
.hero h1 em{ font-style:normal; color:#7FE3B4; }
.hero__lead{ margin-top:22px; font-size:1.13rem; color:var(--ink-invert); max-width:34em; }

.pill{
  display:inline-flex; align-items:center; gap:9px;
  padding:7px 14px 7px 10px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  font-size:.82rem; font-weight:560; color:#DCEAF3;
}
.pill__dot{ width:7px; height:7px; border-radius:50%; background:var(--emerald); box-shadow:0 0 0 4px rgba(25,181,107,.22); }

.hero__chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:10px;
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12);
  font-size:.855rem; color:#CFE0EC; font-weight:520;
}
.chip svg{ flex:0 0 auto; }

/* ---------- Consulta por placa ---------- */
.plate-card{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-lg);
  padding:26px;
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow-lg);
}
.plate-card__title{ font-size:1.02rem; font-weight:680; color:#fff; }
.plate-card__sub{ margin-top:6px; font-size:.885rem; color:var(--ink-invert); }

.plate{
  margin-top:20px;
  background:#fff; border-radius:14px; overflow:hidden;
  border:3px solid #0A1B2C;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.plate__strip{
  background:#0A2A6B; color:#fff;
  display:flex; align-items:center; justify-content:space-between;
  padding:5px 12px; font-size:.62rem; letter-spacing:.14em; font-weight:700;
}
.plate__strip .flag{ display:inline-flex; align-items:center; gap:6px; }
.plate__input{
  width:100%; border:0; outline:0;
  padding:14px 12px 16px;
  font-family:var(--mono); font-size:2.05rem; font-weight:700;
  letter-spacing:.14em; text-align:center; text-transform:uppercase;
  color:#0A1B2C; background:#fff;
}
.plate__input::placeholder{ color:#B9C6D1; }

.plate-card .btn{ margin-top:16px; }
.plate-card__foot{
  margin-top:16px; display:flex; align-items:flex-start; gap:9px;
  font-size:.775rem; color:#9FB6C7; line-height:1.5;
}
.plate-card__foot svg{ flex:0 0 auto; margin-top:2px; }
.plate-samples{ margin-top:14px; font-size:.79rem; color:#9FB6C7; }
.plate-samples button{
  background:none; border:0; padding:0 2px; color:#7FE3B4;
  font-family:var(--mono); font-weight:600; text-decoration:underline dotted;
}

/* ---------- Faixa de públicos ---------- */
.audience{ background:var(--white); border-bottom:1px solid var(--soft-gray); padding:34px 0; }
.audience__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.audience__item{ display:flex; gap:14px; align-items:flex-start; }
.audience__ico{
  flex:0 0 auto; width:40px; height:40px; border-radius:11px;
  display:grid; place-items:center; background:var(--ice); border:1px solid var(--soft-gray);
}
.audience__item strong{ display:block; color:var(--navy); font-size:.96rem; }
.audience__item p{ font-size:.875rem; color:var(--muted); margin-top:2px; }

/* ---------- Cards / Pilares ---------- */
.grid{ display:grid; gap:22px; }
.grid--2{ grid-template-columns:repeat(2,1fr); }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }

.card{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius);
  padding:26px; box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); border-color:#C4D3DD; }
.card h3{ margin-bottom:9px; }
.card p{ color:var(--muted); font-size:.925rem; }

.card__ico{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  margin-bottom:18px;
  background:linear-gradient(145deg, rgba(25,181,107,.14), rgba(47,128,237,.14));
  border:1px solid rgba(18,62,82,.12);
}
.card__list{ margin:16px 0 0; padding:0; list-style:none; display:grid; gap:9px; }
.card__list li{
  position:relative; padding-left:24px; font-size:.885rem; color:var(--muted);
}
.card__list li::before{
  content:""; position:absolute; left:0; top:.52em;
  width:13px; height:13px; border-radius:50%;
  background:rgba(25,181,107,.16);
  box-shadow:inset 0 0 0 1.5px var(--emerald);
}

/* ---------- Passaporte (mock da página pública) ---------- */
.passport{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius-lg);
  box-shadow:var(--shadow); overflow:hidden;
}
.passport__top{
  background:linear-gradient(140deg,var(--navy),var(--petrol));
  color:#fff; padding:24px 26px;
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:flex-start;
}
.passport__top h3{ color:#fff; font-size:1.35rem; }
.passport__plate{
  font-family:var(--mono); font-size:.86rem; letter-spacing:.16em; font-weight:700;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  padding:6px 12px; border-radius:8px; display:inline-block; margin-top:10px; color:#DCEAF3;
}
.seal{
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(25,181,107,.16); border:1px solid rgba(25,181,107,.45);
  color:#8CEBBB; padding:9px 14px; border-radius:11px;
  font-size:.79rem; font-weight:680; letter-spacing:.01em;
}
.passport__stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--soft-gray); background:var(--ice);
}
.passport__stat{ padding:18px 20px; border-right:1px solid var(--soft-gray); }
.passport__stat:last-child{ border-right:0; }
.passport__stat b{ display:block; font-size:1.32rem; color:var(--navy); letter-spacing:-.02em; }
.passport__stat span{ font-size:.755rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }

.passport__body{ display:grid; grid-template-columns: 1.25fr .95fr; }
.passport__col{ padding:26px; }
.passport__col + .passport__col{ border-left:1px solid var(--soft-gray); background:#FCFDFE; }
.passport__col h4{
  font-size:.755rem; text-transform:uppercase; letter-spacing:.11em;
  color:var(--muted); font-weight:700; margin-bottom:18px;
}

/* Timeline */
.timeline{ list-style:none; margin:0; padding:0 0 0 26px; position:relative; }
.timeline::before{
  content:""; position:absolute; left:5px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(180deg,var(--emerald),rgba(47,128,237,.35),transparent);
  border-radius:2px;
}
.timeline li{ position:relative; padding-bottom:20px; }
.timeline li:last-child{ padding-bottom:0; }
.timeline li::before{
  content:""; position:absolute; left:-26px; top:5px;
  width:12px; height:12px; border-radius:50%;
  background:#fff; box-shadow:inset 0 0 0 3px var(--emerald);
}
.timeline .tl-date{
  font-family:var(--mono); font-size:.735rem; color:var(--muted-soft); font-weight:600;
}
.timeline .tl-title{ display:block; font-weight:620; color:var(--navy); font-size:.945rem; margin-top:1px; }
.timeline .tl-meta{ font-size:.815rem; color:var(--muted); }
.timeline .tl-meta b{ color:var(--petrol); font-weight:620; }

/* Alertas */
.alerts{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.alert{
  display:flex; gap:12px; align-items:flex-start;
  padding:13px 14px; border-radius:12px; border:1px solid var(--soft-gray); background:#fff;
}
.alert__dot{ width:9px; height:9px; border-radius:50%; margin-top:6px; flex:0 0 auto; }
.alert strong{ display:block; font-size:.9rem; color:var(--navy); font-weight:620; }
.alert span{ font-size:.815rem; color:var(--muted); }
.alert--ok   { background:rgba(34,197,94,.06);  border-color:rgba(34,197,94,.3); }
.alert--ok    .alert__dot{ background:var(--st-green); }
.alert--warn { background:rgba(244,180,0,.07);  border-color:rgba(244,180,0,.35); }
.alert--warn  .alert__dot{ background:var(--st-amber); }
.alert--late { background:rgba(225,77,77,.06);  border-color:rgba(225,77,77,.32); }
.alert--late  .alert__dot{ background:var(--st-red); }
.alert--info { background:rgba(47,128,237,.06); border-color:rgba(47,128,237,.28); }
.alert--info  .alert__dot{ background:var(--st-blue); }

/* Score */
.score{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.score__ring{ position:relative; width:76px; height:76px; flex:0 0 auto; }
.score__ring b{
  position:absolute; inset:0; display:grid; place-items:center;
  font-size:1.2rem; color:var(--navy); letter-spacing:-.02em;
}
.score__txt strong{ display:block; color:var(--navy); font-size:.95rem; }
.score__txt span{ font-size:.83rem; color:var(--muted); }

.km-tune{
  margin-top:22px; padding:16px; border-radius:12px;
  background:var(--ice); border:1px solid var(--soft-gray);
}
.km-tune label{
  display:block; font-size:.755rem; text-transform:uppercase; letter-spacing:.1em;
  font-weight:700; color:var(--muted); margin-bottom:9px;
}
.km-tune__row{ display:flex; gap:10px; }
.km-tune input{
  flex:1; min-width:0; padding:11px 13px; border-radius:10px;
  border:1px solid var(--soft-gray); background:#fff; outline:0;
  font-family:var(--mono); font-size:.95rem; color:var(--navy);
}
.km-tune input:focus{ border-color:var(--data-blue); box-shadow:0 0 0 3px rgba(47,128,237,.15); }
.km-tune small{ display:block; margin-top:10px; font-size:.76rem; color:var(--muted-soft); }

.passport__foot{
  padding:16px 26px; border-top:1px solid var(--soft-gray); background:var(--ice);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:.79rem; color:var(--muted);
}
.tag-demo{
  font-family:var(--mono); font-size:.68rem; font-weight:700; letter-spacing:.08em;
  background:rgba(47,128,237,.1); color:var(--data-blue);
  border:1px solid rgba(47,128,237,.3); padding:3px 8px; border-radius:6px;
}

/* Estado vazio da consulta */
.passport--empty{ text-align:center; padding:52px 26px; }
.passport--empty h3{ margin-bottom:10px; }
.passport--empty p{ color:var(--muted); max-width:46ch; margin:0 auto 22px; }

/* ---------- Motor de inteligência ---------- */
.engine{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; }
.engine__list{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:18px; }
.engine__list li{ display:flex; gap:14px; }
.engine__list .n{
  flex:0 0 auto; width:30px; height:30px; border-radius:9px; display:grid; place-items:center;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  font-family:var(--mono); font-size:.8rem; font-weight:700; color:#7FE3B4;
}
.engine__list strong{ display:block; color:#fff; font-size:.99rem; font-weight:620; }
.engine__list p{ color:var(--ink-invert); font-size:.895rem; }

.engine__panel{
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius-lg); padding:24px; backdrop-filter:blur(8px);
}
.engine__panel h4{
  color:#fff; font-size:.75rem; text-transform:uppercase; letter-spacing:.11em;
  margin-bottom:16px; font-weight:700;
}
.io{ display:grid; gap:9px; }
.io__row{
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  padding:11px 14px; border-radius:11px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  font-size:.875rem; color:#CFE0EC;
}
.io__row b{ font-family:var(--mono); color:#fff; font-weight:600; font-size:.86rem; }
.io__arrow{ display:grid; place-items:center; padding:6px 0; color:#7FE3B4; }
.out{ display:grid; gap:9px; }
.out__row{
  display:flex; align-items:center; gap:11px;
  padding:12px 14px; border-radius:11px; font-size:.885rem; font-weight:560;
}
.out__row i{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.out--ok  { background:rgba(34,197,94,.14);  border:1px solid rgba(34,197,94,.4);  color:#A6EFC4; }
.out--warn{ background:rgba(244,180,0,.13);  border:1px solid rgba(244,180,0,.42); color:#F6D77E; }
.out--late{ background:rgba(225,77,77,.13);  border:1px solid rgba(225,77,77,.42); color:#F5AFAF; }
.out--info{ background:rgba(47,128,237,.14); border:1px solid rgba(47,128,237,.42);color:#A8CBF7; }

/* ---------- Split (motoristas / oficinas) ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.panel{
  border-radius:var(--radius-lg); padding:clamp(26px,3vw,38px);
  border:1px solid var(--soft-gray); background:#fff; box-shadow:var(--shadow-sm);
}
.panel--driver{ background:linear-gradient(170deg,#fff,#F3F9FF); }
.panel--shop{ background:linear-gradient(170deg,#fff,#F1FBF6); }
.panel__tag{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.73rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:6px 11px; border-radius:8px; margin-bottom:18px;
}
.panel--driver .panel__tag{ background:rgba(47,128,237,.1); color:var(--data-blue); border:1px solid rgba(47,128,237,.28); }
.panel--shop   .panel__tag{ background:rgba(25,181,107,.1); color:#0F8A50; border:1px solid rgba(25,181,107,.3); }
.panel h3{ font-size:1.5rem; letter-spacing:-.026em; }
.panel > p{ margin-top:12px; color:var(--muted); font-size:.98rem; }
.panel .card__list{ margin-top:22px; }
.panel .btn{ margin-top:26px; }

.quote{
  margin-top:24px; padding:16px 18px; border-radius:12px;
  background:#fff; border:1px solid var(--soft-gray); border-left:3px solid var(--emerald);
  font-size:.925rem; color:var(--navy); font-style:italic;
}
.quote span{ display:block; margin-top:7px; font-style:normal; font-size:.79rem; color:var(--muted); }

/* Fluxo */
.flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
.flow__step{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius);
  padding:20px; position:relative;
}
.flow__step b{
  font-family:var(--mono); font-size:.72rem; color:var(--data-blue);
  letter-spacing:.1em; display:block; margin-bottom:9px;
}
.flow__step strong{ display:block; color:var(--navy); font-size:.97rem; margin-bottom:5px; }
.flow__step p{ font-size:.855rem; color:var(--muted); }

/* ---------- Rede credenciada ---------- */
.partners{ display:flex; flex-wrap:wrap; gap:11px; }
.partner{
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 16px; border-radius:11px;
  background:#fff; border:1px solid var(--soft-gray);
  font-size:.895rem; font-weight:560; color:var(--navy);
  box-shadow:var(--shadow-sm);
}
.partner svg{ color:var(--petrol); }


/* ---------- Ferramentas ---------- */
.tools{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tool{
  display:flex; align-items:center; gap:13px;
  padding:17px 18px; border-radius:13px;
  background:#fff; border:1px solid var(--soft-gray);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.tool:hover{ transform:translateY(-2px); box-shadow:var(--shadow); border-color:#C4D3DD; }
.tool__ico{
  width:38px; height:38px; border-radius:10px; flex:0 0 auto; display:grid; place-items:center;
  background:var(--ice); border:1px solid var(--soft-gray); color:var(--petrol);
}
.tool b{ display:block; font-size:.915rem; color:var(--navy); font-weight:620; }
.tool span{ font-size:.79rem; color:var(--muted); }
.tool__go{ margin-left:auto; color:var(--muted-soft); }

/* ---------- Blog ---------- */
.posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.post{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;
}
.post:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.post__cover{ height:132px; position:relative; }
.post__cover--a{ background:linear-gradient(135deg,var(--navy),var(--petrol)); }
.post__cover--b{ background:linear-gradient(135deg,var(--petrol),#0F7A57); }
.post__cover--c{ background:linear-gradient(135deg,#123E52,#2F80ED); }
.post__cover::after{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:26px 26px;
}
.post__body{ padding:20px; display:flex; flex-direction:column; gap:9px; flex:1; }
.post__cat{
  font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--data-blue);
}
.post h3{ font-size:1.03rem; line-height:1.32; }
.post p{ font-size:.865rem; color:var(--muted); }
.post__meta{ margin-top:auto; padding-top:12px; font-size:.765rem; color:var(--muted-soft); }

/* ---------- Planos ---------- */
.toggle{
  display:inline-flex; padding:5px; border-radius:12px;
  background:var(--ice); border:1px solid var(--soft-gray); margin:0 auto 38px; gap:4px;
}
.toggle button{
  border:0; background:transparent; padding:10px 22px; border-radius:9px;
  font-weight:620; font-size:.9rem; color:var(--muted); transition:all .16s ease;
}
.toggle button.is-active{ background:#fff; color:var(--navy); box-shadow:var(--shadow-sm); }

.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
.plan{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius-lg);
  padding:28px; display:flex; flex-direction:column;
}
.plan--featured{
  border-color:var(--emerald); box-shadow:0 18px 50px rgba(25,181,107,.16);
  position:relative;
}
.plan__flag{
  position:absolute; top:-12px; left:28px;
  background:var(--emerald); color:#04231A;
  font-size:.7rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 11px; border-radius:7px;
}
.plan h3{ font-size:1.16rem; }
.plan__desc{ margin-top:7px; font-size:.87rem; color:var(--muted); min-height:2.6em; }
.plan__price{ margin:20px 0 4px; display:flex; align-items:baseline; gap:6px; }
.plan__price b{ font-size:2.1rem; color:var(--navy); letter-spacing:-.032em; font-weight:750; }
.plan__price span{ font-size:.855rem; color:var(--muted); }
.plan .card__list{ margin:20px 0 26px; }
.plan .btn{ margin-top:auto; }
.plans-note{ margin-top:22px; text-align:center; font-size:.8rem; color:var(--muted-soft); }

/* ---------- Privacidade ---------- */
.privacy{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.privacy__card{
  border-radius:var(--radius-lg); padding:28px; border:1px solid;
}
.privacy__card--yes{ background:rgba(25,181,107,.055); border-color:rgba(25,181,107,.28); }
.privacy__card--no{ background:rgba(225,77,77,.05); border-color:rgba(225,77,77,.26); }
.privacy__card h3{ display:flex; align-items:center; gap:10px; font-size:1.06rem; margin-bottom:18px; }
.privacy__list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.privacy__list li{ display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--graphite); }
.privacy__list svg{ flex:0 0 auto; margin-top:3px; }

.shields{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:26px; }
.shield{
  background:#fff; border:1px solid var(--soft-gray); border-radius:13px; padding:18px;
}
.shield__ico{ color:var(--petrol); margin-bottom:11px; }
.shield b{ display:block; font-size:.885rem; color:var(--navy); margin-bottom:4px; }
.shield p{ font-size:.8rem; color:var(--muted); }

/* ---------- FAQ ---------- */
.faq{ max-width:840px; margin-inline:auto; display:grid; gap:12px; }
.faq details{
  background:#fff; border:1px solid var(--soft-gray); border-radius:14px;
  padding:2px 20px; transition:border-color .16s ease, box-shadow .16s ease;
}
.faq details[open]{ border-color:#C4D3DD; box-shadow:var(--shadow-sm); }
.faq summary{
  list-style:none; cursor:pointer; padding:17px 0;
  font-weight:620; color:var(--navy); font-size:.99rem;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; flex:0 0 auto; width:10px; height:10px;
  border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
  transform:rotate(45deg) translateY(-2px); transition:transform .2s ease;
}
.faq details[open] summary::after{ transform:rotate(225deg) translateY(-2px); }
.faq p{ padding:0 0 20px; color:var(--muted); font-size:.925rem; }

/* ---------- CTA final ---------- */
.cta{
  position:relative; overflow:hidden;
  background:
    radial-gradient(760px 380px at 82% 8%, rgba(25,181,107,.26), transparent 62%),
    radial-gradient(680px 380px at 12% 96%, rgba(47,128,237,.24), transparent 64%),
    linear-gradient(150deg, var(--navy), var(--petrol));
  border-radius:var(--radius-lg);
  padding:clamp(38px,5vw,68px);
  text-align:center; color:#fff;
}
.cta h2{ color:#fff; max-width:18ch; margin-inline:auto; }
.cta p{ margin:18px auto 30px; color:var(--ink-invert); max-width:56ch; font-size:1.05rem; }
.cta__actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer ---------- */
.footer{ background:var(--navy); color:#fff; padding:64px 0 28px; }
.footer__grid{
  display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:36px;
  padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.1);
}
.footer p{ color:var(--ink-invert); font-size:.9rem; margin-top:16px; max-width:34ch; }
.footer h4{
  color:#fff; font-size:.755rem; text-transform:uppercase; letter-spacing:.11em;
  margin-bottom:16px; font-weight:700;
}
.footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.footer ul a{ color:var(--ink-invert); font-size:.895rem; transition:color .15s ease; }
.footer ul a:hover{ color:#7FE3B4; }
.footer__bottom{
  padding-top:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:.8rem; color:#7D93A5;
}

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }

/* ---------- Responsivo ---------- */
@media (max-width:1080px){
  .hero__grid{ grid-template-columns:1fr; }
  .plate-card{ max-width:520px; }
  .engine{ grid-template-columns:1fr; }
  .flow{ grid-template-columns:repeat(2,1fr); }
  .shields{ grid-template-columns:repeat(3,1fr); }
  .grid--4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .nav{ display:none; }
  .header__cta{ display:none; }
  .burger{ display:inline-flex; }
  .audience__grid{ grid-template-columns:1fr; gap:16px; }
  .passport__body{ grid-template-columns:1fr; }
  .passport__col + .passport__col{ border-left:0; border-top:1px solid var(--soft-gray); }
  .passport__stats{ grid-template-columns:repeat(2,1fr); }
  .passport__stat:nth-child(2){ border-right:0; }
  .passport__stat:nth-child(1),.passport__stat:nth-child(2){ border-bottom:1px solid var(--soft-gray); }
  .grid--3,.tools,.posts,.plans{ grid-template-columns:1fr; }
  .split,.privacy{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .grid--2,.grid--4,.flow{ grid-template-columns:1fr; }
  .shields{ grid-template-columns:1fr; }
  .plate__input{ font-size:1.7rem; }
  .footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ==========================================================================
   v2 - Modelo de negócio: ecossistema, evidência, CarroEC Site, recorrência
   ========================================================================== */

/* ---------- Ecossistema de produtos ---------- */

/* ---------- Flywheel ---------- */

/* ---------- Níveis de evidência ---------- */
.dots{ display:inline-flex; gap:4px; vertical-align:middle; }
.dots i{ width:9px; height:9px; border-radius:50%; background:var(--soft-gray); display:block; }
.dots i.on{ background:var(--emerald); }

.evidence{ width:100%; border-collapse:collapse; background:#fff;
  border:1px solid var(--soft-gray); border-radius:var(--radius); overflow:hidden; }
.evidence th{
  text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em;
  color:var(--muted); font-weight:700; padding:14px 20px; background:var(--ice);
  border-bottom:1px solid var(--soft-gray);
}
.evidence td{ padding:15px 20px; border-bottom:1px solid var(--ice); font-size:.92rem; vertical-align:middle; }
.evidence tr:last-child td{ border-bottom:0; }
.evidence td:first-child{ color:var(--navy); font-weight:600; }
.evidence td:last-child{ color:var(--muted); font-size:.865rem; }


/* ---------- O histórico pertence ao veículo ---------- */
.versus{ display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:stretch; }
.vs{
  border-radius:var(--radius-lg); padding:26px; border:1px solid var(--soft-gray); background:#fff;
}
.vs--old{ background:#FBFCFD; }
.vs--new{ background:linear-gradient(170deg,#fff,#F1FBF6); border-color:rgba(25,181,107,.3); }
.vs__label{
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:6px;
}
.vs--new .vs__label{ color:#0F8A50; }
.vs h3{ font-size:1.14rem; margin-bottom:18px; }
.silo{
  background:var(--ice); border:1px dashed var(--soft-gray); border-radius:12px;
  padding:14px 16px; margin-bottom:10px;
}
.silo b{ display:block; font-size:.85rem; color:var(--muted); }
.silo span{ font-size:.79rem; color:var(--muted-soft); }
.silo--locked::after{
  content:"histórico isolado nesta oficina"; display:block; margin-top:7px;
  font-size:.72rem; color:#B9714D; font-weight:600;
}
.vs__note{ margin-top:16px; font-size:.85rem; color:var(--muted); }
.owned{
  font-family:var(--mono); font-size:.8rem; font-weight:700; letter-spacing:.06em;
  color:#0F8A50; background:rgba(25,181,107,.1); border:1px solid rgba(25,181,107,.3);
  padding:9px 13px; border-radius:9px; display:inline-block; margin-bottom:18px;
}

/* ---------- Minha Garagem ---------- */
.garage{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius-lg);
  box-shadow:var(--shadow); overflow:hidden;
}
.garage__head{
  padding:20px 22px; border-bottom:1px solid var(--soft-gray);
  display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.garage__head b{ color:var(--navy); font-size:1.02rem; }
.garage__free{
  font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase;
  background:rgba(25,181,107,.12); color:#0F8A50; border:1px solid rgba(25,181,107,.3);
  padding:5px 10px; border-radius:7px;
}
.garage__body{ padding:22px; display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; }
.garage__vehicle strong{ display:block; color:var(--navy); font-size:1.05rem; }
.garage__vehicle span{ font-family:var(--mono); font-size:.79rem; color:var(--muted); letter-spacing:.1em; }
.garage__km{ margin-top:8px; font-size:.87rem; color:var(--muted); }
.health{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.hitem{
  display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:8px;
  font-size:.815rem; font-weight:560; border:1px solid;
}
.hitem--ok{ background:rgba(34,197,94,.08); border-color:rgba(34,197,94,.32); color:#177A45; }
.hitem--warn{ background:rgba(244,180,0,.1); border-color:rgba(244,180,0,.4); color:#8A6400; }
.garage__next{ border-top:1px solid var(--soft-gray); padding:18px 22px; display:grid; gap:11px; }
.next-row{ display:flex; align-items:center; gap:14px; font-size:.9rem; }
.next-row b{
  font-family:var(--mono); font-size:.8rem; color:var(--data-blue);
  background:rgba(47,128,237,.08); border:1px solid rgba(47,128,237,.24);
  padding:4px 9px; border-radius:7px; min-width:82px; text-align:center;
}
.next-row span{ color:var(--graphite); }
.garage__foot{ padding:0 22px 22px; }

/* ---------- Fluxo de registro da oficina ---------- */
.reg{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.reg__step{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius); overflow:hidden;
}
.reg__hd{
  padding:12px 16px; background:var(--ice); border-bottom:1px solid var(--soft-gray);
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
.reg__bd{ padding:18px 16px; }
.field{
  border:1px solid var(--soft-gray); border-radius:9px; padding:10px 12px; background:#fff;
  font-size:.88rem; color:var(--navy); margin-bottom:9px;
}
.field small{ display:block; font-size:.68rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted-soft); font-weight:700; margin-bottom:3px; }
.field--plate{ font-family:var(--mono); letter-spacing:.14em; font-weight:700; }
.field--auto{ background:rgba(47,128,237,.05); border-color:rgba(47,128,237,.3); }
.svc-line{
  display:flex; justify-content:space-between; gap:10px; padding:8px 0;
  border-bottom:1px dashed var(--soft-gray); font-size:.87rem; color:var(--graphite);
}
.svc-line:last-child{ border-bottom:0; }
.svc-line span{ color:var(--muted-soft); font-size:.8rem; }
.reg__result{
  border:1px solid rgba(25,181,107,.35); background:rgba(25,181,107,.06);
  border-radius:12px; padding:15px;
}
.reg__result b{ display:flex; align-items:center; gap:8px; color:var(--navy); font-size:.95rem; }
.reg__result .meta{ font-size:.8rem; color:var(--muted); margin-top:7px; line-height:1.6; }
.reg__result .by{ color:var(--petrol); font-weight:620; }

/* ---------- Mockup do site da oficina ---------- */
.sitewrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,52px); align-items:center; }
.browser{
  border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--soft-gray);
  box-shadow:var(--shadow-lg); background:#fff;
}
.browser__bar{
  display:flex; align-items:center; gap:10px; padding:11px 14px;
  background:#EDF2F6; border-bottom:1px solid var(--soft-gray);
}
.browser__dots{ display:flex; gap:6px; }
.browser__dots i{ width:10px; height:10px; border-radius:50%; background:#C9D6E0; display:block; }
.browser__url{
  flex:1; background:#fff; border:1px solid var(--soft-gray); border-radius:7px;
  padding:6px 12px; font-family:var(--mono); font-size:.78rem; color:var(--petrol);
  display:flex; align-items:center; gap:7px;
}
.shopsite__hero{
  background:linear-gradient(140deg,var(--navy),var(--petrol)); color:#fff; padding:26px;
}
.shopsite__hero h3{ color:#fff; font-size:1.45rem; }
.stars{ color:#F4B400; font-size:.95rem; letter-spacing:.12em; }
.shopsite__verified{
  display:inline-flex; align-items:center; gap:7px; margin-top:12px;
  background:rgba(25,181,107,.16); border:1px solid rgba(25,181,107,.45);
  color:#8CEBBB; padding:6px 12px; border-radius:9px; font-size:.76rem; font-weight:680;
}
.shopsite__body{ padding:22px 26px 26px; }
.specialties{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 20px; }
.specialties span{
  padding:6px 12px; border-radius:8px; background:var(--ice);
  border:1px solid var(--soft-gray); font-size:.82rem; color:var(--navy); font-weight:540;
}
.shopsite__actions{ display:flex; gap:9px; flex-wrap:wrap; }
.shopsite__hook{
  margin-top:20px; padding:15px 17px; border-radius:12px;
  background:rgba(25,181,107,.07); border:1px solid rgba(25,181,107,.3);
  font-size:.9rem; color:var(--navy); line-height:1.55;
}
/* ---------- CarroEC Site: exclusividade e CRM ---------- */
.own-label{
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:16px;
}
.card__list code{
  font-family:var(--mono); font-size:.82rem; color:var(--petrol);
  background:var(--ice); border:1px solid var(--soft-gray); padding:1px 6px; border-radius:5px;
}
.card__list b{ color:var(--navy); font-weight:640; }

.crmbox{
  margin-top:24px; padding:18px 20px; border-radius:var(--radius);
  background:linear-gradient(160deg,#fff,#F1FBF6); border:1px solid rgba(10,175,102,.3);
}
.crmbox b{
  display:flex; align-items:center; gap:9px;
  color:var(--navy); font-size:.95rem; margin-bottom:12px;
}
.crmbox b svg{ color:var(--emerald); }
.crmbox ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.crmbox li{ position:relative; padding-left:20px; font-size:.885rem; color:var(--muted); }
.crmbox li::before{
  content:""; position:absolute; left:0; top:.55em; width:6px; height:6px;
  border-radius:50%; background:var(--emerald);
}

.notsoftware{
  margin-top:22px; padding:18px 20px; border-radius:var(--radius);
  border:1px solid var(--soft-gray); background:var(--ice);
}
.notsoftware b{ display:block; color:var(--navy); font-size:.93rem; margin-bottom:8px; }
.notsoftware p{ font-size:.865rem; color:var(--muted); }
.notsoftware code{
  font-family:var(--mono); font-size:.8rem; background:#fff; border:1px solid var(--soft-gray);
  padding:1px 6px; border-radius:5px; color:var(--petrol);
}

/* ---------- Lembrete de recorrência ---------- */
.loop{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,52px); align-items:center; }
.loopsteps{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:0; }
.loopsteps li{
  position:relative; padding:0 0 18px 30px; font-size:.94rem; color:var(--muted);
}
.loopsteps li::before{
  content:""; position:absolute; left:5px; top:7px; width:9px; height:9px; border-radius:50%;
  background:#fff; box-shadow:inset 0 0 0 2.5px var(--data-blue);
}
.loopsteps li::after{
  content:""; position:absolute; left:9px; top:18px; bottom:0; width:1.5px; background:var(--soft-gray);
}
.loopsteps li:last-child{ padding-bottom:0; }
.loopsteps li:last-child::after{ display:none; }
.loopsteps b{ color:var(--navy); font-weight:620; }

.msg{
  background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius-lg);
  box-shadow:var(--shadow); padding:22px; max-width:440px;
}
.msg__hd{ display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.msg__av{
  width:38px; height:38px; border-radius:11px; background:var(--navy);
  display:grid; place-items:center; flex:0 0 auto;
}
.msg__hd b{ display:block; font-size:.9rem; color:var(--navy); }
.msg__hd span{ font-size:.76rem; color:var(--muted-soft); }
.msg__body{ font-size:.95rem; color:var(--graphite); line-height:1.65; }
.msg__body em{ font-style:normal; font-weight:620; color:var(--navy); }
.msg__actions{ margin-top:18px; display:flex; gap:9px; flex-wrap:wrap; }
.msg__note{ margin-top:14px; font-size:.75rem; color:var(--muted-soft); }

/* ---------- Diretório SEO ---------- */
.dir{ display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(26px,4vw,48px); align-items:start; }

/* ---------- Ativo de dados ---------- */

/* ---------- Planos v2 ---------- */
.freecard{
  display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center;
  border-radius:var(--radius-lg); padding:clamp(26px,3vw,36px);
  background:linear-gradient(150deg,#fff,#F1FBF6);
  border:1px solid rgba(25,181,107,.32); box-shadow:var(--shadow-sm); margin-bottom:34px;
}
.freecard h3{ font-size:1.4rem; }
.freecard p{ margin-top:10px; color:var(--muted); max-width:56ch; }
.freecard__price{ text-align:center; }
.freecard__price b{ display:block; font-size:2.6rem; color:var(--emerald); letter-spacing:-.04em; font-weight:750; }
.freecard__price span{ font-size:.82rem; color:var(--muted); }

.ptable-wrap{ overflow-x:auto; border-radius:var(--radius-lg); border:1px solid var(--soft-gray); background:#fff; }
.ptable{ width:100%; border-collapse:collapse; min-width:640px; }
.ptable th, .ptable td{ padding:13px 18px; text-align:center; border-bottom:1px solid var(--ice); font-size:.9rem; }
.ptable thead th{
  background:var(--ice); border-bottom:1px solid var(--soft-gray);
  vertical-align:top; text-align:center;
}
.ptable thead th:first-child{ text-align:left; }
.ptable tbody td:first-child, .ptable tbody th:first-child{
  text-align:left; color:var(--graphite); font-weight:500; font-size:.9rem;
}
.ptable tbody tr:last-child td{ border-bottom:0; }
.ptable tbody tr:hover{ background:#FBFDFE; }
.ptable .col-hi{ background:rgba(25,181,107,.045); }
.ptable thead .col-hi{ background:rgba(25,181,107,.1); }
.pname{ display:block; font-size:1.02rem; color:var(--navy); font-weight:700; letter-spacing:-.015em; }
.pprice{ display:block; margin-top:5px; font-size:.86rem; color:var(--petrol); font-weight:620; }
.psub{ display:block; margin-top:3px; font-size:.73rem; color:var(--muted-soft); font-weight:500; }
.yes{ color:var(--emerald); font-weight:700; }
.no{ color:#C4D3DD; }
.partial{ font-size:.79rem; color:var(--muted); }
.ptable tfoot td{ padding:18px; background:var(--ice); border-top:1px solid var(--soft-gray); }
.ptable tfoot .btn{ width:100%; }

/* ---------- Reivindicação ---------- */
.claim{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:26px; }
.claimcard{ background:#fff; border:1px solid var(--soft-gray); border-radius:var(--radius); padding:24px; }
.claimcard h3{ display:flex; align-items:center; gap:10px; font-size:1.04rem; margin-bottom:6px; }
.claimcard > p{ font-size:.875rem; color:var(--muted); margin-bottom:16px; }
.claimcard--public{ border-color:rgba(47,128,237,.3); background:linear-gradient(170deg,#fff,#F5F9FF); }
.claimcard--private{ border-color:rgba(11,34,57,.2); background:linear-gradient(170deg,#fff,#F7F9FB); }
.claimbtn{
  display:inline-flex; align-items:center; gap:9px; margin-top:6px;
  padding:10px 16px; border-radius:10px; font-size:.87rem; font-weight:620;
  background:var(--navy); color:#fff;
}

@media (max-width:1080px){
  .sitewrap,.loop{ grid-template-columns:1fr; }
  .reg{ grid-template-columns:1fr; }
}
@media (max-width:900px){
  .versus,.claim{ grid-template-columns:1fr; }
  .garage__body{ grid-template-columns:1fr; }
  .freecard{ grid-template-columns:1fr; }
}
@media (max-width:640px){
}

/* ---------- Procedência do registro na timeline ---------- */
.tl-src{
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  margin-top:5px; font-size:.775rem; color:var(--muted-soft); font-weight:520;
}
.tl-src .dots i{ width:7px; height:7px; }
.passport__foot .legend{ display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.passport__foot .legend .dots{ margin:0 2px; }
.passport__foot .legend .dots i{ width:7px; height:7px; }
