/* REDU Guincho — estilos globais */
:root { --bg:#0b0b10; --bg-alt:#141220; --bg-card:#1b1826; --purple:#6D28D9; --purple-light:#8B5CF6; --purple-dark:#3B1878; --red:#E4242B; --red-dark:#a91419; --white:#FDFDFD; --yellow:#FFC107; --green:#25D366; --muted:#a7a2bd; --line:rgba(255,255,255,.09); --radius:14px; }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--white); font-family:Inter,sans-serif; overflow-x:hidden; }
h1,h2,h3,.display { font-family:Anton,sans-serif; text-transform:uppercase; letter-spacing:.5px; line-height:1.05; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; } ul { list-style:none; }
.container { width:min(100% - 48px,1180px); margin-inline:auto; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; color:var(--yellow); font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }
.eyebrow::before { width:22px; height:2px; background:var(--yellow); content:""; }
.btn { display:inline-flex; align-items:center; gap:10px; border:0; border-radius:999px; padding:16px 28px; cursor:pointer; font-size:15px; font-weight:800; letter-spacing:.3px; transition:transform .18s ease,box-shadow .18s ease; white-space:nowrap; }
.btn-whats { background:var(--green); color:#08210f; }.btn-whats:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(37,211,102,.35); }
.btn-outline { border:2px solid rgba(255,255,255,.25); background:transparent; color:var(--white); }.btn-outline:hover { border-color:var(--yellow); color:var(--yellow); }
.hazard { height:14px; background:repeating-linear-gradient(-45deg,var(--yellow),var(--yellow) 16px,#14121c 16px,#14121c 32px); }.hazard.thin { height:8px; }
header { position:fixed; inset:0 0 auto; z-index:100; border-bottom:1px solid var(--line); background:rgba(11,11,16,.85); backdrop-filter:blur(10px); }.nav-wrap { display:flex; align-items:center; justify-content:space-between; width:min(100% - 48px,1180px); margin:auto; padding:8px 0; }.brand { display:flex; flex-shrink:0; align-items:center; }.brand-logo { width:380px; height:auto; max-height:200px; object-fit:contain; }.brand-mark { font-family:Anton,sans-serif; font-size:22px; line-height:1; }.brand-mark .re { color:var(--red); }.brand-mark .du { color:var(--white); }.brand-sub { color:var(--yellow); font-size:10px; font-weight:700; letter-spacing:2px; }.nav-links { display:flex; gap:32px; color:var(--muted); font-size:14px; font-weight:600; }.nav-links a:hover { color:var(--white); }.nav-cta { display:flex; align-items:center; gap:18px; }.nav-phone { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:800; }.nav-phone i { color:var(--yellow); }.nav-cta .btn { padding:11px 20px; font-size:13px; }.mobile-toggle { display:none; border:0; background:none; color:var(--white); cursor:pointer; font-size:22px; }
.hero { position:relative; overflow:hidden; padding:340px 0 90px; background:radial-gradient(circle at 82% 18%,rgba(109,40,217,.35),transparent 55%),radial-gradient(circle at 10% 90%,rgba(228,36,43,.22),transparent 45%),var(--bg); }.hero::after { position:absolute; right:-10%; bottom:-18%; width:640px; height:640px; border-radius:50%; background:conic-gradient(from 180deg,var(--purple-dark),transparent 60%); content:""; filter:blur(60px); opacity:.35; }.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center; }.badge-24 { display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; border-radius:999px; background:var(--red); padding:8px 16px 8px 10px; font-size:13px; font-weight:800; }.badge-24 .dot { width:8px; height:8px; border-radius:50%; background:var(--white); animation:pulse 1.4s infinite; }@keyframes pulse { 50% { opacity:.4; transform:scale(.7); } }.hero h1 { margin-bottom:20px; font-size:clamp(40px,5.4vw,68px); }.accent { color:var(--yellow); }.lead { max-width:480px; margin-bottom:34px; color:var(--muted); font-size:18px; line-height:1.6; }.hero-actions,.hero-stats { display:flex; flex-wrap:wrap; }.hero-actions { gap:16px; margin-bottom:38px; }.hero-stats { gap:36px; }.stat-num { font-family:Anton,sans-serif; color:var(--white); font-size:30px; }.stat-label { color:var(--muted); font-size:12px; letter-spacing:.5px; }.truck-card { position:relative; border:1px solid var(--line); border-radius:24px; background:linear-gradient(160deg,var(--bg-card),#100e18); padding:34px; box-shadow:0 30px 70px rgba(0,0,0,.45); }.floating-chip { position:absolute; display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:14px; background:var(--bg); padding:12px 16px; box-shadow:0 14px 30px rgba(0,0,0,.4); font-size:13px; font-weight:700; }.chip-1 { top:-18px; left:-18px; }.chip-2 { right:-14px; bottom:-18px; }.chip-1 i { color:var(--yellow); }.chip-2 i { color:var(--green); }
section { padding:96px 0; }.section-head { max-width:640px; margin-bottom:56px; }.section-head h2 { margin-bottom:16px; font-size:clamp(28px,3.6vw,42px); }.section-head p,.service-card p,.why-item p,.t-card p,.coverage-list,.footer-brand p { color:var(--muted); line-height:1.65; }.services,.testimonials { background:var(--bg-alt); }.service-grid,.t-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.service-card,.t-card,.why-item { border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-card); }.service-card { padding:30px 26px; transition:transform .2s,border-color .2s; }.service-card:hover { border-color:var(--purple-light); transform:translateY(-6px); }.icon-wrap { display:grid; width:52px; height:52px; place-items:center; margin-bottom:20px; border-radius:12px; background:linear-gradient(135deg,var(--purple),var(--purple-dark)); font-size:22px; }.red .icon-wrap { background:linear-gradient(135deg,var(--red),var(--red-dark)); }.service-card h3 { margin-bottom:10px; font-family:Inter,sans-serif; font-size:18px; font-weight:800; text-transform:none; }.service-card p { font-size:14.5px; }.why { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.why-item { padding:26px 16px; text-align:center; }.why-item i { margin-bottom:14px; color:var(--yellow); font-size:26px; }.why-item h4 { margin-bottom:6px; font-size:15px; }.why-item p { font-size:13px; }.cta-strip { padding:56px 0; background:linear-gradient(120deg,var(--red),var(--purple-dark)); }.cta-strip .container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:30px; }.cta-strip h3 { font-size:clamp(22px,3vw,32px); }.cta-strip p { margin-top:8px; color:rgba(255,255,255,.85); }.cta-strip .btn-whats { background:var(--white); color:var(--bg); }.t-card { padding:28px; }.t-stars { margin-bottom:14px; color:var(--yellow); }.t-card p { margin-bottom:18px; color:#d8d5e6; font-size:14.5px; }.t-author { display:flex; align-items:center; gap:12px; }.t-avatar { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:linear-gradient(135deg,var(--purple),var(--red)); font-size:14px; font-weight:800; }.t-name { font-size:13.5px; font-weight:700; }.t-note,.t-edit-note { color:var(--muted); font-size:12px; }.t-edit-note { margin-top:26px; text-align:center; }.coverage { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }.coverage-list li { display:flex; gap:12px; margin-bottom:18px; }.coverage-list i { margin-top:3px; color:var(--yellow); }.map-frame { display:grid; aspect-ratio:4/3; place-items:center; border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-card); padding:30px; color:var(--muted); text-align:center; }
footer { border-top:1px solid var(--line); background:#08070c; padding:56px 0 26px; }.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:40px; }.footer-brand p { margin-top:14px; font-size:14px; }.footer-col h5 { margin-bottom:16px; color:var(--yellow); font-size:13px; letter-spacing:1.5px; text-transform:uppercase; }.footer-col a,.footer-col li,.footer-col span { display:block; margin-bottom:10px; color:var(--muted); font-size:14px; }.footer-col a:hover { color:var(--white); }.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding-top:22px; color:var(--muted); font-size:12.5px; }.whats-float { position:fixed; right:24px; bottom:24px; z-index:200; display:grid; width:60px; height:60px; place-items:center; border-radius:50%; background:var(--green); color:#08210f; box-shadow:0 12px 30px rgba(37,211,102,.45); font-size:28px; animation:floatpulse 2.2s infinite; }@keyframes floatpulse { 50% { box-shadow:0 12px 30px rgba(37,211,102,.75),0 0 0 10px rgba(37,211,102,.08); } }
@media (prefers-reduced-motion:reduce) { * { animation:none!important; transition:none!important; } }
@media (max-width:980px) { .nav-links { display:none; }.mobile-toggle { display:block; }.nav-links.is-open { position:absolute; top:100%; right:24px; display:flex; flex-direction:column; gap:0; min-width:210px; border:1px solid var(--line); border-radius:12px; background:var(--bg-card); overflow:hidden; }.nav-links.is-open a { padding:14px 18px; }.hero-grid,.coverage { grid-template-columns:1fr; }.hero { padding-top:260px; }.service-grid { grid-template-columns:repeat(2,1fr); }.why { grid-template-columns:repeat(2,1fr); }.t-grid { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .container,.nav-wrap { width:min(100% - 32px,1180px); }.brand-logo { width:190px; max-height:70px; }.nav-phone { display:none; }.nav-cta .btn { display:none; }.service-grid,.why,.footer-grid { grid-template-columns:1fr; }.cta-strip .container { flex-direction:column; text-align:center; }.hero-stats { gap:22px; }.chip-1 { left:0; }.chip-2 { right:0; }.floating-chip { font-size:12px; } }

/* Ajustes de posicionamento e galeria de serviços */
.hero { padding-top:250px; }
.hero-visual { position:relative; }
.chip-1 { top:-24px; left:24px; }
.gallery { background:var(--bg-alt); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gallery-grid img { width:100%; aspect-ratio:3/4; border:1px solid var(--line); border-radius:var(--radius); object-fit:cover; transition:transform .2s ease; }
.gallery-grid img:hover { transform:scale(1.02); }

@media (max-width:980px) { .hero { padding-top:190px; }.gallery-grid { grid-template-columns:repeat(2,1fr); } }

/* Foto real da BMW no destaque inicial */
.truck-card { min-height:348px; background-image:linear-gradient(rgba(11,11,16,.08),rgba(11,11,16,.22)),url("../assets/images/hero-bmw-guincho-logo.png"); background-position:center; background-size:cover; }
.truck-card svg { visibility:hidden; }
.map-frame { padding:0; overflow:hidden; }
.map-frame iframe { width:100%; height:100%; border:0; }
.footer-logo{width:210px;max-height:115px;object-fit:contain}
.hero{background-image:radial-gradient(circle at 82% 18%,rgba(109,40,217,.35),transparent 55%),radial-gradient(circle at 10% 90%,rgba(228,36,43,.22),transparent 45%);background-position:center;background-size:auto}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--white);padding:10px 13px;font:700 12px Inter,sans-serif;cursor:pointer}.theme-toggle:hover{border-color:var(--yellow);color:var(--yellow)}
@media(max-width:620px){.theme-toggle span{display:none}.theme-toggle{padding:10px 12px}}
.nav-cta{position:relative;padding-top:30px}.nav-cta .theme-toggle{position:absolute;top:0;right:0;border-color:rgba(255,255,255,.14);padding:6px 11px;font-size:10px}.nav-cta .theme-toggle:hover{border-color:rgba(255,193,7,.5)}
section[id]{scroll-margin-top:230px}
@media(max-width:620px){.nav-cta{padding-top:0}.nav-cta .theme-toggle{position:static;margin-right:2px}}
@media(max-width:620px){section[id]{scroll-margin-top:110px}}
@media(max-width:620px){.hero{padding-top:140px}}
.testimonials .t-grid{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:none;cursor:grab;user-select:none}.testimonials .t-grid.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.testimonials .t-grid::-webkit-scrollbar{display:none}.testimonials .t-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;pointer-events:none}@media(max-width:980px){.testimonials .t-card{flex-basis:calc(50% - 11px)}}@media(max-width:620px){.testimonials .t-card{flex-basis:88%}}
