/* Carricer Services · landing */
:root{
  --negro:#0d0f12;
  --asfalto:#14171b;
  --asfalto2:#1c2026;
  --linea:#2b3038;
  --amarillo:#ffc20e;
  --amarillo2:#e9a800;
  --hormigon:#eceae5;
  --hormigon2:#dedbd4;
  --tinta:#15171a;
  --gris:#5d6269;
  --grisclaro:#aeb3ba;
  --wa:#1fb855;
  --wa2:#179a46;
  --radio:14px;
  --tit:"Archivo","Arial Narrow",Arial,sans-serif;
  --txt:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --cab:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cab) + 8px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--negro);color:#fff;font-family:var(--txt);font-size:17px;line-height:1.55;overflow-x:hidden}
img,video{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}
.salto{position:absolute;left:-999px;top:0;background:var(--amarillo);color:#000;padding:10px 14px;z-index:200}
.salto:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--amarillo);outline-offset:3px}
.ancho{width:min(1180px,100% - 40px);margin-inline:auto}
.ancho--angosto{width:min(820px,100% - 40px)}
.centro{text-align:center;margin-top:36px}
.nota{color:var(--gris);font-size:15px;margin-top:10px}

h1,h2,h3{font-family:var(--tit);font-stretch:78%;font-weight:800;font-style:italic;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:clamp(30px,4.4vw,52px)}
h3{font-size:clamp(22px,2.2vw,27px);line-height:1.08}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--tit);font-stretch:85%;font-weight:800;font-size:16px;text-decoration:none;border:0;border-radius:10px;padding:12px 20px;line-height:1.1;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn svg{width:22px;height:22px;fill:currentColor;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--grande{font-size:18px;padding:17px 26px;border-radius:12px}
.btn--chico{padding:10px 16px;font-size:15px}
.btn--ancho{width:100%;white-space:normal}
.btn--wa{background:var(--wa);color:#fff;box-shadow:0 6px 0 var(--wa2)}
.btn--wa:hover{box-shadow:0 8px 0 var(--wa2)}
.btn--wa:active{box-shadow:0 3px 0 var(--wa2)}
.btn--chico.btn--wa{box-shadow:0 3px 0 var(--wa2)}
.btn--amarillo{background:var(--amarillo);color:#111;box-shadow:0 6px 0 var(--amarillo2)}
.btn--oscuro{background:var(--tinta);color:#fff;box-shadow:0 6px 0 #000}
.btn--linea{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.btn--linea:hover{box-shadow:inset 0 0 0 2px var(--amarillo);color:var(--amarillo)}

/* ---------- cabecera ---------- */
.cab{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--cab);transition:background .25s,box-shadow .25s;background:linear-gradient(#0d0f12cc,#0d0f1200)}
.cab.fija{background:#0d0f12f2;box-shadow:0 1px 0 var(--linea);backdrop-filter:blur(8px)}
.cab__fila{height:100%;display:flex;align-items:center;gap:20px}
.cab__marca{flex:none;display:block;align-self:flex-start;margin-top:8px;transition:margin .25s}
.cab__marca img{height:112px;width:auto;transition:height .25s;filter:drop-shadow(0 4px 10px #0009)}
.cab.fija .cab__marca{margin-top:6px}
.cab.fija .cab__marca img{height:60px}
.cab__nav{display:flex;gap:26px;margin-left:auto}
.cab__nav a{text-decoration:none;font-weight:600;font-size:15.5px;color:#e9ebee;padding:6px 0;position:relative}
.cab__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--amarillo);transition:right .2s}
.cab__nav a:hover::after{right:0}
.cab__acc{display:flex;align-items:center;gap:14px}
.cab__tel{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:15.5px;white-space:nowrap}
.cab__tel svg{width:18px;height:18px;fill:var(--amarillo)}
.cab__menu{display:none;width:44px;height:44px;border:0;background:var(--amarillo);border-radius:10px;padding:12px 10px;flex-direction:column;justify-content:space-between}
.cab__menu i{display:block;height:3px;background:#111;border-radius:2px;transition:transform .2s,opacity .2s}
.cab__menu[aria-expanded=true] i:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.cab__menu[aria-expanded=true] i:nth-child(2){opacity:0}
.cab__menu[aria-expanded=true] i:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* ---------- portada ---------- */
.hero{position:relative;padding:calc(var(--cab) + 76px) 0 72px;isolation:isolate;overflow:hidden}
.hero__fondo{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,#0d0f12 0%,#0d0f12e6 38%,#0d0f1299 70%,#0d0f12cc 100%),
  linear-gradient(0deg,#0d0f12 0%,#0d0f1200 30%),
  url(../img/flota-mixer.webp) center 40%/cover no-repeat}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:center}
.hero__sello{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--amarillo);margin-bottom:18px}
.hero__sello span{width:34px;height:12px;background:repeating-linear-gradient(-45deg,var(--amarillo) 0 6px,#111 6px 12px);border-radius:2px}
.hero h1{font-size:clamp(36px,5.3vw,70px);line-height:.98}
.hero h1 em{font-style:inherit;color:#111;background:var(--amarillo);padding:0 .14em;margin:0 -.04em;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:6px}
.hero__geo{display:flex;align-items:center;gap:10px;font-family:var(--txt);font-stretch:100%;font-style:normal;font-weight:700;font-size:15px;line-height:1.3;letter-spacing:0;color:var(--amarillo);margin-bottom:16px;text-wrap:pretty}
.hero__geo::before{content:"";flex:none;width:34px;height:12px;background:repeating-linear-gradient(-45deg,var(--amarillo) 0 6px,#111 6px 12px);border-radius:2px}
.hero__gar{font-size:14.5px;color:#c9cdd2;margin-top:14px}
.hero__baj{font-size:clamp(17px,1.5vw,20px);color:#d7dade;max-width:38em;margin-top:22px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero__pts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border-top:1px solid #ffffff2e}
.hero__pts li{padding:16px 18px 0 0}
.hero__pts li+li{padding-left:18px;border-left:1px solid #ffffff2e}
.hero__pts b{display:block;font-family:var(--tit);font-stretch:78%;font-style:italic;font-weight:800;font-size:clamp(24px,2.6vw,34px);color:var(--amarillo);line-height:1}
.hero__pts span{display:block;font-size:14.5px;color:#c9cdd2;margin-top:6px;line-height:1.35}

.hero__vid{position:relative;justify-self:center;width:min(100%,340px)}
.marco{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:9/16;background:#000;border:5px solid var(--amarillo);box-shadow:14px 14px 0 #000,0 30px 60px #000a;transform:rotate(2deg)}
.marco__v{width:100%;height:100%;object-fit:cover}
.marco__rec{position:absolute;left:12px;top:12px;background:#000c;color:#fff;font-size:13px;font-weight:700;padding:5px 10px 5px 24px;border-radius:99px}
.marco__rec::before{content:"";position:absolute;left:9px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:#ff3b30}
@keyframes rec{50%{opacity:.25}}
.pegatina{position:absolute;left:-46px;bottom:38px;width:128px;height:128px;border-radius:50%;background:var(--amarillo);color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-10deg);box-shadow:5px 6px 0 #000;border:3px solid #111}
.pegatina b{font-family:var(--tit);font-stretch:75%;font-style:italic;font-weight:900;font-size:58px;line-height:.8}
.pegatina span{font-weight:800;font-size:13px;line-height:1.05;margin-top:4px}
@keyframes late{50%{transform:rotate(-6deg) scale(1.05)}}

.redes{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.redes span{font-weight:700;font-size:15px;color:#d7dade;margin-right:2px}
.red{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-family:var(--tit);font-stretch:85%;font-weight:800;font-size:16px;padding:11px 18px;border-radius:10px;transition:transform .15s,filter .15s}
.red:hover{transform:translateY(-2px);filter:brightness(1.1)}
.red svg{width:22px;height:22px;fill:#fff;flex:none}
.red--fb{background:#1877f2}
.red--tt{background:#000;box-shadow:-2px -2px 0 #25f4ee,2px 2px 0 #fe2c55}
.red--ig{background:linear-gradient(45deg,#f9a23b,#e8364e 45%,#c22b93 75%,#6b3fd0)}
.pie__redes{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pie__redes .red{font-size:14.5px;padding:8px 13px;color:#fff}
.flota2{position:fixed;right:28px;bottom:98px;z-index:90;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 20px #0008;transition:transform .2s}
.flota2--fb{bottom:158px}
.flota2--tt{bottom:218px}
.flota2:hover{transform:scale(1.1)}
.flota2 svg{width:27px;height:27px;fill:#fff}

/* ---------- cinta ---------- */
.cinta{background:var(--amarillo);color:#111;overflow:hidden;border-block:4px solid #111;position:relative}
.cinta__pista{display:flex;align-items:center;gap:26px;width:max-content;padding:13px 0;animation:corre 60s linear infinite}
.cinta span{font-family:var(--tit);font-stretch:78%;font-style:italic;font-weight:800;font-size:20px;white-space:nowrap}
.cinta i{width:26px;height:14px;flex:none;background:repeating-linear-gradient(-45deg,#111 0 5px,transparent 5px 10px)}
@keyframes corre{to{transform:translateX(-50%)}}

/* ---------- secciones ---------- */
.sec{padding:clamp(60px,8vw,104px) 0;position:relative}
.sec--clara{background:var(--hormigon);color:var(--tinta);background-image:radial-gradient(#0000000d 1px,transparent 1.4px),radial-gradient(#00000009 1px,transparent 1.2px);background-size:22px 22px,13px 13px;background-position:0 0,7px 9px}
.sec--oscura{background:var(--asfalto)}
.sec--amarilla{background:var(--amarillo);color:#111}
.sec--amarilla::before,.sec--amarilla::after{content:"";position:absolute;left:0;right:0;height:16px;background:repeating-linear-gradient(-45deg,#111 0 16px,var(--amarillo) 16px 32px)}
.sec--amarilla::before{top:0}.sec--amarilla::after{bottom:0}
.tit{max-width:780px;margin-bottom:clamp(30px,4vw,48px)}
.tit p{font-size:clamp(17px,1.5vw,19.5px);margin-top:14px;color:var(--gris)}
.sec--oscura .tit p{color:var(--grisclaro)}

/* ---------- día 1 / día 2 ---------- */
.dias{display:grid;grid-template-columns:1fr 54px 1fr 1fr;gap:18px;align-items:stretch}
.dia{position:relative;border-radius:var(--radio);overflow:hidden;background:#000;box-shadow:8px 8px 0 #15171a;min-height:420px}
.dia img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s}
.dia:hover img{transform:scale(1.05)}
.dia figcaption{position:absolute;inset:auto 0 0 0;padding:70px 18px 18px;background:linear-gradient(0deg,#000d 30%,#0000);color:#fff}
.dia figcaption b{display:block;font-family:var(--tit);font-stretch:78%;font-style:italic;font-weight:800;font-size:clamp(30px,3vw,40px);line-height:1;color:#fff;margin-bottom:8px;text-shadow:0 2px 12px #000a}
.dia figcaption b i{font-style:inherit;color:var(--amarillo)}
.dia figcaption span{display:block;font-size:15.5px;line-height:1.35}
.dia--pro{box-shadow:8px 8px 0 var(--amarillo2)}
.dias__flecha{display:flex;align-items:center;justify-content:center;color:var(--tinta)}
.dias__flecha svg{width:54px}
.porque{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.porque__i{background:#fff;border-radius:var(--radio);padding:22px 22px 24px;border-left:8px solid var(--amarillo);box-shadow:0 1px 0 #0001}
.porque__i b{font-family:var(--tit);font-stretch:78%;font-style:italic;font-weight:800;font-size:24px}
.porque__i p{color:var(--gris);font-size:16px;margin-top:6px}

/* ---------- servicios ---------- */
.servs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.serv{background:var(--asfalto2);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.serv:hover{transform:translateY(-6px);border-color:var(--amarillo)}
.serv__med{position:relative;aspect-ratio:4/3.4;background:#000;overflow:hidden}
.serv__med video,.serv__med img{width:100%;height:100%;object-fit:cover}
.serv__n{position:absolute;left:14px;top:14px;width:46px;height:46px;border-radius:10px;background:var(--amarillo);color:#111;display:grid;place-items:center;font-family:var(--tit);font-stretch:75%;font-style:italic;font-weight:900;font-size:28px;box-shadow:3px 3px 0 #000}
.serv__cuerpo{padding:22px 22px 26px}
.serv__cuerpo p{color:var(--grisclaro);font-size:16px;margin-top:10px}
.serv__cuerpo ul{margin-top:14px;display:grid;gap:7px}
.serv__cuerpo li,.lista li{position:relative;padding-left:26px;font-size:15.5px;font-weight:600}
.serv__cuerpo li::before,.lista li::before{content:"";position:absolute;left:0;top:.35em;width:15px;height:9px;border-left:3px solid var(--amarillo);border-bottom:3px solid var(--amarillo);transform:rotate(-45deg)}
.combo{margin-top:26px;border-radius:var(--radio);padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#000;border:2px solid var(--amarillo);position:relative;overflow:hidden}
.combo::before{content:"";position:absolute;left:0;top:0;bottom:0;width:14px;background:repeating-linear-gradient(-45deg,var(--amarillo) 0 10px,#111 10px 20px)}
.combo__txt{padding-left:14px}
.combo__txt p{color:var(--grisclaro);margin-top:6px}

.lineas{margin-top:46px}
.lineas__tit{margin-bottom:18px}
.lineas__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.linea{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;text-decoration:none;background:var(--asfalto2);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;padding-right:22px;transition:border-color .25s,transform .25s}
.linea:hover{border-color:var(--amarillo);transform:translateY(-4px)}
.linea img{width:100%;height:100%;min-height:170px;object-fit:cover}
.linea>div{padding:18px 0}
.linea h4{margin:0;font-family:var(--tit);font-stretch:78%;font-style:italic;font-weight:800;font-size:26px;line-height:1.05}
.linea p{color:var(--grisclaro);font-size:16px;margin:8px 0 12px}
.linea__ver{font-weight:800;color:var(--amarillo)}
.linea__ver::after{content:" →"}
@media (max-width:960px){.lineas__grid{grid-template-columns:1fr}}
@media (max-width:480px){.linea{grid-template-columns:120px 1fr;gap:14px;padding-right:14px}.linea h4{font-size:22px}.linea p{font-size:15px}}

/* ---------- panderetas y adocretos ---------- */
.prod{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-bottom:34px}
.prod__txt p{font-size:18.5px;margin-top:16px;color:var(--grisclaro)}
.sec--clara .prod__txt p{color:var(--gris)}
.prod__txt .lista{margin-bottom:28px}
.prod__txt .lista li::before{border-color:var(--amarillo)}
.sec--clara .prod__txt .lista li::before{border-color:var(--amarillo2)}
.prod__vid{border-radius:var(--radio);overflow:hidden;aspect-ratio:16/9;background:#000;border:5px solid var(--amarillo);box-shadow:10px 10px 0 #000}
.sec--clara .prod__vid{border-color:#111;box-shadow:10px 10px 0 var(--amarillo)}
.prod__vid video{width:100%;height:100%;object-fit:cover}
.galeria--prod{grid-auto-flow:dense}
@media (max-width:960px){.prod{grid-template-columns:1fr;gap:30px}.prod--inv .prod__vid{order:2}}
@media (max-width:640px){.prod__txt .btn{width:100%}.prod__vid{box-shadow:6px 6px 0 #000}.sec--clara .prod__vid{box-shadow:6px 6px 0 var(--amarillo)}}

/* ---------- galería estampado ---------- */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.foto{position:relative;border:0;padding:0;border-radius:var(--radio);overflow:hidden;background:#000;cursor:zoom-in}
.foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.foto:hover img{transform:scale(1.07)}
.foto span{position:absolute;left:12px;bottom:12px;background:#000c;color:#fff;font-size:14px;font-weight:700;padding:5px 11px;border-radius:99px}
.foto--alta{grid-column:span 2;grid-row:span 2}
.foto--ancha{grid-column:span 2}

/* ---------- reels ---------- */
.sec--obras{overflow:hidden}
.reels{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(20px,calc((100vw - 1180px)/2)) 22px;scrollbar-width:thin;scrollbar-color:var(--amarillo) #0000}
.reel{position:relative;flex:0 0 min(270px,68vw);aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000;scroll-snap-align:center;border:1px solid var(--linea)}
.reel video,.reel img{width:100%;height:100%;object-fit:cover}
.reel figcaption{position:absolute;inset:auto 0 0 0;padding:60px 16px 16px;background:linear-gradient(0deg,#000e 25%,#0000);pointer-events:none}
.reel figcaption b{display:block;font-family:var(--tit);font-stretch:80%;font-style:italic;font-weight:800;font-size:20px;line-height:1.05}
.reel figcaption span{display:block;font-size:14px;color:#cfd3d8;margin-top:4px}
.reel__play{position:absolute;inset:0;border:0;background:linear-gradient(#0000 55%,#0000);display:grid;place-items:center}
.reel__play::before{content:"";width:62px;height:62px;border-radius:50%;background:#ffffff2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.2v11.6a.8.8 0 0 0 1.2.7l9.3-5.8a.8.8 0 0 0 0-1.4l-9.300-5.800a.8.8 0 0 0-1.200.7z' fill='%23fff'/%3E%3C/svg%3E") 54% 50%/30px no-repeat;border:1.5px solid #ffffff8c;-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);box-shadow:0 8px 28px #0006;transition:transform .25s,opacity .25s,background-color .25s}
.reel__play:hover::before{transform:scale(1.1);background-color:#ffffff4d}
.reel__dur{position:absolute;right:12px;top:12px;background:#0009;color:#fff;font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:99px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;transition:opacity .25s}
.reel.sonando .reel__dur{opacity:0}
.reel.sonando .reel__play{background:transparent}
.reel.sonando .reel__play::before{opacity:0}

/* ---------- contratistas ---------- */
.contra{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contra__txt p{font-size:18.5px;margin-top:16px;color:#2a2410}
.lista{margin-top:20px;display:grid;gap:10px}
.lista li{font-size:17px}
.lista li::before{border-color:#111}
.contra__cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.contra__tel{font-weight:800;color:#111}
.contra__med{position:relative;padding:0 0 70px 0}
.contra__vid{border-radius:var(--radio);overflow:hidden;border:5px solid #111;box-shadow:10px 10px 0 #111;aspect-ratio:16/9;background:#000}
.contra__vid video{width:100%;height:100%;object-fit:cover}
.contra__f1,.contra__f2{position:absolute;bottom:0;width:38%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:4px solid #111;box-shadow:6px 6px 0 #111}
.contra__f1{left:6%;transform:rotate(-3deg)}
.contra__f2{right:6%;transform:rotate(2.5deg)}

/* ---------- pasos ---------- */
.sec--flota{background:linear-gradient(#14171bf0,#14171bf5),url(../img/flota-mixer.webp) center/cover fixed}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:p}
.pasos li{counter-increment:p;position:relative;padding:62px 20px 22px;background:var(--asfalto2);border:1px solid var(--linea);border-radius:var(--radio)}
.pasos li::before{content:counter(p);position:absolute;left:20px;top:-14px;font-family:var(--tit);font-stretch:75%;font-style:italic;font-weight:900;font-size:64px;line-height:1;color:var(--amarillo)}
.pasos b{font-family:var(--tit);font-stretch:80%;font-style:italic;font-weight:800;font-size:22px}
.pasos p{color:var(--grisclaro);font-size:15.5px;margin-top:8px}

.zona{margin-top:34px;display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;background:#000;border:2px solid var(--amarillo);border-radius:var(--radio);padding:28px 30px}
.zona__txt p{color:var(--grisclaro);margin-top:10px;font-size:16.5px}
.zona__ciudades{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zona__ciudades li{background:var(--asfalto2);border:1px solid var(--linea);border-left:6px solid var(--amarillo);border-radius:10px;padding:12px 14px;font-size:14.5px;color:var(--grisclaro);line-height:1.4}
.zona__ciudades b{display:block;font-family:var(--tit);font-stretch:85%;font-weight:800;font-size:19px;color:#fff;margin-bottom:2px}
@media (max-width:520px){.zona__ciudades{grid-template-columns:1fr}}
@media (max-width:960px){.zona{grid-template-columns:1fr;gap:20px;padding:22px 18px}}

/* ---------- preguntas ---------- */
.faq details{background:#fff;border-radius:12px;margin-bottom:10px;border:1px solid #0000001a}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;font-weight:700;font-size:17.5px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:8px;background:var(--amarillo);display:grid;place-items:center;font-size:22px;font-weight:800;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 20px 20px;color:var(--gris)}

/* ---------- cotizar ---------- */
.sec--cot{background:var(--negro);padding-bottom:clamp(60px,8vw,96px)}
.cot{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.cot__txt>p{color:var(--grisclaro);font-size:18.5px;margin-top:16px}
.cot__tels{display:grid;gap:12px;margin-top:28px}
.cot__tels a{display:flex;align-items:center;gap:14px;text-decoration:none;background:var(--asfalto2);border:1px solid var(--linea);border-radius:12px;padding:14px 16px;transition:border-color .2s,transform .2s}
.cot__tels a:hover{transform:translateX(4px);filter:brightness(1.08)}
.cot__tels svg{width:30px;height:30px;fill:#fff;flex:none}
.cot__tels .ct{border:0;color:#fff;padding:16px 18px}
.cot__tels .ct small{color:#ffffffd9}
.ct--wa{background:var(--wa)!important}
.ct--fb{background:#1877f2!important}
.ct--tt{background:#000!important;box-shadow:-3px -3px 0 #25f4ee,3px 3px 0 #fe2c55}
.ct--ig{background:linear-gradient(45deg,#f9a23b,#e8364e 45%,#c22b93 75%,#6b3fd0)!important}
.cot__tels span{font-weight:800;font-size:19px;line-height:1.2}
.cot__tels small{display:block;font-weight:500;font-size:13.5px;color:var(--grisclaro)}
.cot__quien{margin-top:22px;font-size:16px!important}
.cot__quien b{color:#fff}
.form{background:var(--hormigon);color:var(--tinta);border-radius:18px;padding:28px;box-shadow:12px 12px 0 var(--amarillo)}
.form fieldset{border:0;padding:0;margin:0 0 18px}
.form legend,.campo>span{display:block;font-weight:700;font-size:15px;margin-bottom:8px;padding:0}
.campo>span i{font-weight:500;color:var(--gris);font-style:normal}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span{display:block;padding:10px 14px;border-radius:99px;background:#fff;border:2px solid #0000001f;font-weight:700;font-size:15px;transition:background .15s,border-color .15s}
.chips input:checked+span{background:var(--tinta);border-color:var(--tinta);color:var(--amarillo)}
.chips input:focus-visible+span{outline:3px solid var(--amarillo2);outline-offset:2px}
.form__fila{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campo{display:block;margin-bottom:14px}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;font-size:16px;color:var(--tinta);background:#fff;border:2px solid #0000001f;border-radius:10px;padding:12px 13px;min-height:50px}
.campo textarea{resize:vertical;min-height:70px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-color:var(--tinta);box-shadow:0 0 0 3px var(--amarillo)}
.campo .mal{border-color:#c62828}
.form__err{color:#b3261e;font-weight:700;font-size:15px;margin-bottom:12px}
.form__nota{font-size:14px;color:var(--gris);text-align:center;margin-top:14px}

/* ---------- pie ---------- */
.pie{background:#000;padding:44px 0 26px;border-top:6px solid var(--amarillo)}
.pie__fila{display:flex;flex-wrap:wrap;gap:30px 60px;align-items:center}
.pie__fila img{width:150px;height:auto}
.pie__col{display:grid;gap:4px;font-size:15.5px;color:var(--grisclaro)}
.pie__col b{color:#fff;font-size:17px;margin-bottom:4px}
.pie__col a{text-decoration:none}
.pie__col a:hover{color:var(--amarillo)}
.pie__legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--linea);font-size:14px;color:var(--grisclaro)}
.pie__legal a{color:var(--grisclaro);font-weight:700}
.pie__legal a:hover{color:var(--amarillo)}

/* ---------- flotantes ---------- */
.flota{position:fixed;right:22px;bottom:22px;z-index:90;width:62px;height:62px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 8px 24px #0008;transition:transform .2s}
.flota:hover{transform:scale(1.08)}
.flota svg{width:34px;height:34px;fill:#fff}

@keyframes onda{to{transform:scale(1.7);opacity:0}}
.barra{display:none}

/* ---------- visor ---------- */
.visor{border:0;padding:0;background:transparent;max-width:min(94vw,1000px);max-height:94vh;color:#fff}
.visor::backdrop{background:#000d}
.visor img{max-height:82vh;width:auto;margin:auto;border-radius:12px}
.visor p{text-align:center;margin-top:10px;font-weight:600}
.visor__x{position:absolute;right:6px;top:6px;width:44px;height:44px;border-radius:50%;border:0;background:var(--amarillo);color:#111;font-size:28px;line-height:1;font-weight:700}

/* sin efecto de aparición: todo se muestra de inmediato */

/* ================= responsive ================= */
@media (max-width:1100px){
  .cab__nav{gap:18px}
  .cab__tel span{display:none}
  .cab__tel{width:42px;height:42px;justify-content:center;border-radius:10px;background:#ffffff14}
}
@media (max-width:960px){
  :root{--cab:64px}
  .cab__marca img{height:84px}
  .cab.fija .cab__marca img{height:52px}
  .cab__menu{display:flex}
  .cab__nav{position:fixed;inset:var(--cab) 0 auto 0;background:#0d0f12fa;flex-direction:column;gap:0;padding:8px 20px 20px;margin:0;border-bottom:4px solid var(--amarillo);transform:translateY(-130%);transition:transform .25s;visibility:hidden}
  .cab__nav.abierto{transform:none;visibility:visible}
  .cab__nav a{padding:15px 4px;font-size:18px;border-bottom:1px solid var(--linea)}
  .cab__nav a::after{display:none}
  .cab__acc{margin-left:auto}
  .hero{padding-top:calc(var(--cab) + 54px)}
  .hero__grid{grid-template-columns:1fr;gap:44px}
  .hero__fondo{background:linear-gradient(0deg,#0d0f12 0%,#0d0f12d9 45%,#0d0f12b3 100%),url(../img/flota-mixer.webp) center/cover no-repeat}
  .hero__vid{width:min(74%,300px)}
  .pegatina{left:-38px}
  .dias{grid-template-columns:1fr 1fr;}
  .dias__flecha{display:none}
  .dia{min-height:360px}
  .dia--pro{grid-column:1/-1;min-height:300px}
  .servs{grid-template-columns:1fr 1fr}
  .servs .serv:last-child{grid-column:1/-1;flex-direction:row}
  .servs .serv:last-child .serv__med{flex:0 0 45%;aspect-ratio:auto}
  .contra,.cot{grid-template-columns:minmax(0,1fr);gap:40px}
  .pasos{grid-template-columns:1fr 1fr;gap:30px 18px}
  .galeria{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .sec--flota{background-attachment:scroll}
}
@media (max-width:640px){
  body{font-size:16.5px;padding-bottom:64px}
  .ancho,.ancho--angosto{width:calc(100% - 32px)}
  .cab__acc .btn--wa{display:none}
  .hero{padding-bottom:56px}
  .hero__cta .btn{width:100%}
  .hero__pts{grid-template-columns:1fr;border-top:0;margin-top:30px;gap:10px}
  .hero__pts li,.hero__pts li+li{display:flex;align-items:baseline;gap:12px;padding:12px 0 0;border-left:0;border-top:1px solid #ffffff2e}
  .hero__pts b{flex:0 0 96px;font-size:26px}
  .hero__pts span{margin:0}
  .pegatina{width:104px;height:104px;left:-30px;bottom:26px}
  .pegatina b{font-size:46px}.pegatina span{font-size:11.5px}
  .marco{box-shadow:9px 9px 0 #000}
  .cinta span{font-size:17px}
  .dias{grid-template-columns:1fr}
  .dia{min-height:0;aspect-ratio:4/4.2;box-shadow:6px 6px 0 #15171a}
  .dia--pro{aspect-ratio:4/3.6;box-shadow:6px 6px 0 var(--amarillo2)}
  .porque{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .servs{grid-template-columns:1fr}
  .servs .serv:last-child{flex-direction:column}
  .servs .serv:last-child .serv__med{flex:none;aspect-ratio:4/3.4}
  .combo{flex-direction:column;align-items:stretch;padding:22px 20px 24px 30px}
  .combo__txt{padding-left:0}
  .galeria{grid-auto-rows:150px;gap:10px}
  .contra__med{padding-bottom:56px}
  .contra__cta .btn{width:100%;white-space:normal}
  .pasos{grid-template-columns:1fr}
  .form{padding:20px 16px;box-shadow:7px 7px 0 var(--amarillo)}
  .form__fila{grid-template-columns:1fr;gap:0}
  .btn--grande{font-size:17px;padding:16px 18px}
  .centro .btn{width:100%;white-space:normal}
  .flota,.flota2{display:none}
  .redes .red{flex:1 1 100%;justify-content:center}
  .redes span{flex-basis:100%}
  .barra{display:grid;grid-template-columns:46px 46px 46px 1fr 1.3fr;position:fixed;inset:auto 0 0 0;z-index:95;box-shadow:0 -4px 18px #0009;transform:translateY(110%);transition:transform .3s}
  .barra.ver{transform:none}
  .barra a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;font-family:var(--tit);font-stretch:85%;font-weight:800;font-size:16.5px;text-decoration:none;padding:0 8px}
  .barra svg{width:22px;height:22px;fill:currentColor;flex:none}
  .barra a.barra__red{padding:0}
  .barra a.red--tt{box-shadow:inset 0 3px 0 #25f4ee,inset 0 -3px 0 #fe2c55}
  .barra a.barra__red svg{width:26px;height:26px;fill:#fff}
  .barra__tel{background:var(--amarillo);color:#111}
  .barra__wa{background:var(--wa);color:#fff}
  .pie{padding-bottom:30px}
}
.barra__wa span{display:none}
@media (max-width:360px){
  .hero__geo{font-size:13.5px;margin-bottom:10px}
  .hero__geo::before{display:none}
  .hero{padding-top:calc(var(--cab) + 40px)}
  .hero h1{font-size:31px}
  .hero__baj{font-size:16px;margin-top:14px}
  .hero__cta{margin-top:20px}
  .hero__pts b{flex-basis:84px;font-size:23px}
  .chips span{padding:9px 11px;font-size:14px}
  .barra a{font-size:15px}
}
@media (max-height:480px) and (orientation:landscape){
  .cab__marca img{height:56px}
  .hero{padding-top:calc(var(--cab) + 22px)}
  .hero__grid{grid-template-columns:1.4fr .6fr;gap:28px}
  .hero h1{font-size:30px}
  .hero__baj{display:none}
  .hero__cta{margin-top:16px}
  .hero__pts{display:none}
  .hero__vid{width:150px}
  .pegatina{display:none}
}
@media (min-width:1900px){
  body{font-size:19px}
  .ancho{width:min(1480px,100% - 80px)}
  .hero__vid{width:min(100%,420px)}
  .reels{padding-inline:max(20px,calc((100vw - 1480px)/2))}
  .reel{flex-basis:320px}
  .galeria{grid-auto-rows:290px}
  .cab__marca img{height:140px}
  .hero{padding-top:calc(var(--cab) + 110px)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
