/* ===== Tipografia ===== */
.dg-display{font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.88;transform:skewX(var(--dg-skew));transform-origin:left bottom}
.dg-h1{font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:.95}
.dg-h2{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.dg-h3{font-weight:800;letter-spacing:-.01em;line-height:1.15}
.dg-label{font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:12px}
.dg-body{font-weight:500;line-height:1.65;color:var(--dg-white-70)}
.dg-mono{font-variant-numeric:tabular-nums}
.dg-hl{color:var(--dg-yellow)}
.dg-outline-text{color:#000;-webkit-text-stroke:4px var(--dg-yellow);paint-order:stroke fill}
.dg-mark{background:var(--dg-yellow);color:#000;padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ===== Grafismos ===== */
.dg-zebra{background:repeating-linear-gradient(-45deg,var(--dg-yellow) 0 22px,#000 22px 44px)}
.dg-zebra-thin{background:repeating-linear-gradient(-45deg,var(--dg-yellow) 0 10px,#000 10px 20px)}
.dg-zebra-red{background:repeating-linear-gradient(-45deg,var(--dg-red) 0 14px,#000 14px 28px)}
.dg-tread{position:relative;isolation:isolate}
.dg-tread::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/svg/banda-rodagem.svg) repeat;background-size:80px 48px;opacity:.07;pointer-events:none}
.dg-tread-strong::before{opacity:.16}
.dg-lane{height:4px;background:repeating-linear-gradient(90deg,var(--dg-yellow) 0 36px,transparent 36px 60px)}
.dg-cut{clip-path:polygon(var(--dg-cut) 0,100% 0,100% calc(100% - var(--dg-cut)),calc(100% - var(--dg-cut)) 100%,0 100%,0 var(--dg-cut))}
.dg-cut-sm{--dg-cut:8px}
.dg-cut-lg{--dg-cut:28px}
.dg-grid-bg{background-image:linear-gradient(var(--dg-line) 1px,transparent 1px),linear-gradient(90deg,var(--dg-line) 1px,transparent 1px);background-size:64px 64px}
.dg-glow-spot{background:radial-gradient(60% 60% at 50% 40%,rgba(255,191,0,.18),transparent 70%)}

/* ===== Botões ===== */
.dg-btn{--h:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 28px;font-family:var(--dg-font);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.06em;border:0;cursor:pointer;transition:transform .2s var(--dg-ease),background .2s,box-shadow .25s,color .2s;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);white-space:nowrap}
.dg-btn i,.dg-btn svg{width:20px;height:20px;stroke-width:2.5}
.dg-btn:active{transform:translateY(1px) scale(.98)}
.dg-btn-sm{--h:42px;padding:0 18px;font-size:13px}
.dg-btn-lg{--h:68px;padding:0 36px;font-size:17px}
.dg-btn-primary{background:var(--dg-yellow);color:#000}
.dg-btn-primary:hover,.dg-btn-primary.is-hover{background:var(--dg-yellow-300);transform:translateY(-2px);filter:drop-shadow(0 8px 22px var(--dg-yellow-glow))}
.dg-btn-secondary{background:transparent;color:var(--dg-yellow);box-shadow:inset 0 0 0 2px var(--dg-yellow)}
.dg-btn-secondary:hover,.dg-btn-secondary.is-hover{background:var(--dg-yellow);color:#000}
.dg-btn-dark{background:var(--dg-white);color:#000}
.dg-btn-dark:hover,.dg-btn-dark.is-hover{background:#fff}
.dg-btn-ghost{background:transparent;color:var(--dg-white);clip-path:none;padding:0 6px;border-bottom:2px solid var(--dg-yellow);height:auto;padding-bottom:4px}
.dg-btn-ghost:hover{color:var(--dg-yellow)}
/* Verde = WhatsApp e ligação · Vermelho = pedir socorro */
.dg-btn-whats{background:var(--dg-green-600);color:#000;padding-left:8px}
.dg-btn-whats .dg-btn-ico{display:grid;place-items:center;width:42px;height:42px;background:#000;color:var(--dg-green);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.dg-btn-whats:hover,.dg-btn-whats.is-hover{background:var(--dg-green);filter:drop-shadow(0 8px 22px var(--dg-green-glow));transform:translateY(-2px)}
.dg-btn-call{background:var(--dg-green-600);color:#000}
.dg-btn-call:hover,.dg-btn-call.is-hover{background:var(--dg-green);filter:drop-shadow(0 8px 22px var(--dg-green-glow));transform:translateY(-2px)}
.dg-btn-call-outline{background:transparent;color:var(--dg-green);box-shadow:inset 0 0 0 2px var(--dg-green)}
.dg-btn-call-outline:hover,.dg-btn-call-outline.is-hover{background:var(--dg-green-600);color:#000;box-shadow:none}
.dg-btn-emergency{background:var(--dg-red-600);color:#fff}
.dg-btn-emergency:hover,.dg-btn-emergency.is-hover{background:var(--dg-red);filter:drop-shadow(0 8px 22px var(--dg-red-glow));transform:translateY(-2px)}
.dg-wa{width:22px;height:22px;fill:currentColor;flex:none}
.dg-btn[disabled],.dg-btn.is-disabled{background:var(--dg-surface-3);color:var(--dg-white-45);box-shadow:none;cursor:not-allowed;transform:none;filter:none}
.dg-btn.is-focus{outline:3px solid var(--dg-yellow);outline-offset:3px}

/* ===== Badges ===== */
.dg-badge{display:inline-flex;white-space:nowrap;align-items:center;gap:8px;height:30px;padding:0 12px;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.14em;border:1px solid var(--dg-line-strong);color:var(--dg-white);background:var(--dg-surface-2)}
.dg-badge i,.dg-badge svg{width:14px;height:14px}
.dg-badge-yellow{background:var(--dg-yellow);color:#000;border-color:var(--dg-yellow)}
.dg-badge-outline{background:transparent;color:var(--dg-yellow);border-color:var(--dg-yellow)}
.dg-badge-red{background:rgba(248,0,0,.12);color:#ff4d4d;border-color:rgba(248,0,0,.5)}
.dg-badge-green{background:rgba(0,255,3,.08);color:var(--dg-green);border-color:rgba(0,255,3,.4)}
.dg-dot{width:8px;height:8px;border-radius:50%;background:var(--dg-green);box-shadow:0 0 0 0 var(--dg-green-glow);animation:dg-pulse 1.8s infinite}
.dg-dot-red{background:var(--dg-red);box-shadow:0 0 0 0 var(--dg-red-glow);animation-name:dg-pulse-red}
.dg-seal{display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:var(--dg-yellow);color:#000;text-align:center;position:relative}
.dg-seal::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px dashed #000}
.dg-seal b{display:block;font-weight:900;font-size:46px;line-height:.85;letter-spacing:-.04em}
.dg-seal span{display:block;font-weight:800;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:4px}

/* ===== Cards ===== */
.dg-card{position:relative;background:var(--dg-surface-2);border:1px solid var(--dg-line);padding:28px;transition:transform .3s var(--dg-ease),border-color .3s,background .3s}
.dg-card:hover,.dg-card.is-hover{border-color:var(--dg-yellow);transform:translateY(-4px)}
.dg-card-service{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%);border:0;box-shadow:inset 0 0 0 1px var(--dg-line)}
.dg-card-service::after{content:"";position:absolute;left:0;top:0;width:4px;height:0;background:var(--dg-yellow);transition:height .35s var(--dg-ease)}
.dg-card-service:hover::after,.dg-card-service.is-hover::after{height:100%}
.dg-card-service:hover,.dg-card-service.is-hover{background:#1f1f1f;box-shadow:inset 0 0 0 1px rgba(255,191,0,.5)}
.dg-icon-box{display:grid;place-items:center;width:56px;height:56px;background:var(--dg-yellow);color:#000;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.dg-icon-box i,.dg-icon-box svg{width:28px;height:28px;stroke-width:2.25}
.dg-icon-box-dark{background:#000;color:var(--dg-yellow);box-shadow:inset 0 0 0 1px var(--dg-yellow)}
.dg-card-vehicle{padding:0;overflow:hidden;background:var(--dg-surface-1)}
.dg-card-vehicle.is-featured{background:var(--dg-yellow);color:#000;border-color:var(--dg-yellow)}
.dg-card-vehicle.is-featured .dg-body{color:rgba(0,0,0,.72)}
.dg-card-stat{background:transparent;border:0;border-left:4px solid var(--dg-yellow);padding:4px 0 4px 20px}
.dg-card-stat:hover{transform:none}
.dg-quote{background:var(--dg-surface-2);border:1px solid var(--dg-line);padding:32px;position:relative}
.dg-quote-mark{position:absolute;top:-18px;right:24px;font-weight:900;font-size:96px;line-height:1;color:var(--dg-yellow)}
.dg-stars{display:flex;gap:3px;color:var(--dg-yellow)}
.dg-stars i,.dg-stars svg{width:16px;height:16px;fill:currentColor}

/* ===== Navbar ===== */
.dg-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;padding:0 24px;background:rgba(0,0,0,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--dg-line)}
.dg-nav a.dg-nav-link{white-space:nowrap;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--dg-white-70);transition:color .2s;position:relative}
.dg-nav a.dg-nav-link:hover,.dg-nav a.dg-nav-link.is-active{color:var(--dg-yellow)}
.dg-nav a.dg-nav-link.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;background:var(--dg-yellow)}

/* ===== Logo ===== */
.dg-logo-img{display:block;width:52px;height:52px;object-fit:contain;flex:none}
.dg-logo-lg .dg-logo-img{width:120px;height:120px}
.dg-logo-badge{display:grid;place-items:center;border-radius:50%;background:#000;padding:6%}
.dg-logo{display:inline-flex;align-items:center;gap:12px;color:var(--dg-white)}
.dg-logo-mark{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#000;border:5px solid var(--dg-yellow)}
.dg-logo-mark::before{content:"";position:absolute;inset:4px;border-radius:50%;border:3px dashed var(--dg-yellow)}
.dg-logo-mark::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--dg-yellow)}
.dg-logo-text{display:flex;flex-direction:column;line-height:.9;transform:skewX(var(--dg-skew))}
.dg-logo-text b{font-weight:900;font-size:22px;letter-spacing:-.02em;text-transform:uppercase}
.dg-logo-text b em{font-style:normal;color:var(--dg-yellow)}
.dg-logo-text span{font-weight:700;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--dg-white-70);margin-top:4px}
.dg-logo-lg .dg-logo-mark{width:96px;height:96px;border-width:10px}
.dg-logo-lg .dg-logo-mark::before{inset:8px;border-width:5px}
.dg-logo-lg .dg-logo-mark::after{width:22px;height:22px}
.dg-logo-lg .dg-logo-text b{font-size:52px}
.dg-logo-lg .dg-logo-text span{font-size:13px;margin-top:8px}
.dg-logo-slot{display:grid;place-items:center;gap:10px;min-height:220px;border:2px dashed var(--dg-yellow);background:var(--dg-yellow-10);color:var(--dg-yellow);text-align:center;padding:24px}

/* ===== Marquee ===== */
.dg-marquee{overflow:hidden;white-space:nowrap;background:var(--dg-yellow);color:#000;border-block:3px solid #000}
.dg-marquee-track{display:inline-flex;gap:48px;padding:18px 0;animation:dg-marquee 28s linear infinite}
.dg-marquee-item{display:inline-flex;align-items:center;gap:48px;font-weight:900;font-size:28px;text-transform:uppercase;letter-spacing:-.01em;font-style:italic}
.dg-marquee-item i,.dg-marquee-item svg{width:28px;height:28px;stroke-width:3}
.dg-marquee-dark{background:#000;color:var(--dg-yellow);border-color:var(--dg-yellow)}
.dg-marquee-logo{width:52px;height:52px;border-radius:50%;background:#000;padding:2px;object-fit:contain;flex:none;margin-block:-12px}
.dg-marquee-emoji{font-style:normal;font-size:30px;line-height:1}

/* ===== CTA flutuante ===== */
.dg-fab{display:inline-flex;align-items:center;gap:12px;height:64px;padding:0 24px 0 10px;border-radius:999px;background:var(--dg-green-600);color:#000;font-weight:900;text-transform:uppercase;font-size:14px;letter-spacing:.04em;box-shadow:0 12px 40px -8px var(--dg-green-glow)}
.dg-fab-ico{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#000;color:var(--dg-green)}
.dg-fab-ico .dg-wa{width:24px;height:24px}
.dg-fab-ico::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #000;animation:dg-ring 1.8s var(--dg-ease) infinite}

/* ===== Formulário ===== */
.dg-field{display:flex;flex-direction:column;gap:8px}
.dg-field label{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--dg-white-70)}
.dg-input{height:56px;padding:0 18px;background:#000;border:1px solid var(--dg-line-strong);border-bottom:3px solid var(--dg-white-45);color:var(--dg-white);font-family:var(--dg-font);font-weight:600;font-size:15px;transition:border-color .2s,background .2s;width:100%}
.dg-input::placeholder{color:var(--dg-white-45)}
.dg-input:hover{border-bottom-color:var(--dg-white)}
.dg-input:focus,.dg-input.is-focus{outline:none;border-color:var(--dg-yellow);border-bottom-color:var(--dg-yellow);background:#0a0800}
.dg-input.is-error{border-bottom-color:var(--dg-red)}
.dg-help{font-size:12px;font-weight:600;color:var(--dg-white-45)}
.dg-help.is-error{color:#ff4d4d}
.dg-chips{display:flex;flex-wrap:wrap;gap:8px}
.dg-chip{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--dg-line-strong);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:all .2s;background:#000;color:var(--dg-white)}
.dg-chip i,.dg-chip svg{width:18px;height:18px}
.dg-chip:hover{border-color:var(--dg-yellow)}
.dg-chip.is-selected{background:var(--dg-yellow);color:#000;border-color:var(--dg-yellow)}
.dg-chips-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dg-chip-lg{flex-direction:column;justify-content:center;height:88px;gap:6px}
.dg-chip-lg img{width:40px;height:40px;object-fit:contain}

/* ===== FAQ ===== */
.dg-faq{border-top:1px solid var(--dg-line)}
.dg-faq-item{border-bottom:1px solid var(--dg-line)}
.dg-faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;text-align:left;font-weight:800;font-size:18px;color:var(--dg-white);background:none;border:0;cursor:pointer;font-family:var(--dg-font)}
.dg-faq-q:hover{color:var(--dg-yellow)}
.dg-faq-ico{flex:none;display:grid;place-items:center;width:36px;height:36px;background:var(--dg-surface-2);color:var(--dg-yellow);transition:transform .3s var(--dg-ease),background .3s}
.dg-faq-item.is-open .dg-faq-ico{transform:rotate(45deg);background:var(--dg-yellow);color:#000}
.dg-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--dg-ease)}
.dg-faq-item.is-open .dg-faq-a{grid-template-rows:1fr}
.dg-faq-a>div{overflow:hidden}
.dg-faq-a p{padding:0 48px 24px 0}

/* ===== Documentação ===== */
.ds-section{padding:112px 0;border-top:1px solid var(--dg-line)}
.ds-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.ds-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:56px}
.ds-num{font-weight:900;font-size:14px;color:#000;background:var(--dg-yellow);padding:4px 10px;letter-spacing:.06em}
.ds-title{font-weight:900;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(40px,6vw,72px);line-height:.9;transform:skewX(var(--dg-skew));transform-origin:left bottom;margin-top:16px}
.ds-sub{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--dg-yellow);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.ds-sub::after{content:"";flex:1;height:1px;background:var(--dg-line)}
.ds-panel{background:var(--dg-surface-1);border:1px solid var(--dg-line);padding:32px}
.ds-meta{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dg-white-45)}
.ds-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--dg-yellow);background:#000;border:1px solid var(--dg-line);padding:2px 6px}
.ds-rule{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px dashed var(--dg-line)}
.ds-rule i,.ds-rule svg{flex:none;width:20px;height:20px;margin-top:2px}
.ds-do{color:var(--dg-green)}
.ds-dont{color:var(--dg-red)}
.ds-swatch{display:flex;flex-direction:column;border:1px solid var(--dg-line);background:var(--dg-surface-1)}
.ds-swatch-chip{height:150px;display:flex;align-items:flex-end;padding:16px;font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ds-swatch-info{padding:16px;display:flex;flex-direction:column;gap:6px}
.ds-toc a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--dg-line);font-weight:800;text-transform:uppercase;letter-spacing:.04em;transition:color .2s,padding .2s}
.ds-toc a:hover{color:var(--dg-yellow);padding-left:8px}
.ds-spacer{background:var(--dg-yellow);height:24px}
.ds-skeleton{background:var(--dg-surface-2);border:1px dashed var(--dg-line-strong);display:grid;place-items:center;color:var(--dg-white-45);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:12px}
.ds-skeleton.is-y{border-color:var(--dg-yellow);color:var(--dg-yellow);background:var(--dg-yellow-10)}
.dg-btn.w-full{white-space:normal;text-align:center;line-height:1.2}
.ds-wrap .grid>*{min-width:0}
@media (max-width:640px){.dg-btn-lg{--h:60px;padding:0 24px;font-size:15px}.ds-panel .dg-btn{white-space:normal;text-align:left;line-height:1.15;max-width:100%}.dg-btn-sm{padding:0 12px;font-size:12px}.dg-nav{padding:0 12px;gap:12px}.dg-nav .dg-logo-text{display:none}.dg-faq-q{font-size:16px}.ds-section{padding:80px 0}}

/* ===== Ícones 3D (PNG transparente) ===== */
.dg-ico-3d{display:block;width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}
.dg-ico-3d-sm{width:40px;height:40px}
.dg-ico-3d-lg{width:96px;height:96px}
.dg-vehicle-img{display:block;width:100%;max-width:260px;height:auto;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.ds-icon-tile{display:grid;place-items:center;gap:12px;text-align:center;padding:20px 12px;background:radial-gradient(70% 60% at 50% 40%,rgba(255,191,0,.10),transparent 70%),var(--dg-surface-1);border:1px solid var(--dg-line);transition:border-color .2s,transform .3s var(--dg-ease)}
.ds-icon-tile:hover{border-color:var(--dg-yellow);transform:translateY(-3px)}
.ds-icon-tile img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}

/* ===== 24 horas: sirene ===== */
.dg-siren{display:inline-block;font-style:normal;line-height:1;animation:dg-siren 1.2s ease-in-out infinite}
.dg-seal-alert{position:absolute;top:-10px;right:-10px;display:grid;place-items:center;width:38%;aspect-ratio:1;border-radius:50%;background:#000;box-shadow:0 0 0 3px var(--dg-yellow);font-size:24px;animation:dg-pulse-red 1.6s infinite}
.dg-seal .dg-seal-alert{display:grid;margin:0;font-size:24px;letter-spacing:0}
.dg-seal .dg-seal-alert .dg-siren{display:inline-block;margin:0;font-size:26px;letter-spacing:0}
.dg-who{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--dg-line)}
.dg-who img{width:56px;height:56px;object-fit:contain;flex:none}
.dg-catch{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#000;border:1px solid var(--dg-line);font-weight:800;font-style:italic}
.dg-catch::before{content:"";flex:none;width:8px;height:8px;background:var(--dg-yellow);transform:rotate(45deg)}
