@font-face{font-family:Khand;src:url("assets/khand-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Khand;src:url("assets/khand-700.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/open-sans-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/open-sans-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Open Sans";src:url("assets/open-sans-700.ttf") format("truetype");font-weight:700;font-display:swap}

:root{--navy:#021827;--blue:#0251b8;--top-blue:#0e56af;--red:#f71635;--red-hover:#d10026;--yellow:#f7a900;--light:#eaeaf1;--ink:#333;--body:#666;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;overflow-x:hidden;background:#fff;color:var(--body);font-family:"Open Sans",Arial,sans-serif;font-size:14px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
.container{position:relative;width:80%;max-width:1080px;margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000000;top:8px;left:8px;padding:8px 14px;background:#fff;color:var(--navy);transform:translateY(-150%)}
.skip-link:focus{transform:none}

/* Cabecera Divi reconstruida */
.site-header{position:relative;z-index:1000;background:#fff}
.contact-bar{height:30px;background:var(--top-blue);color:#fff;font-size:12px;font-weight:600}
.contact-bar__inner{height:100%;display:flex;align-items:center;gap:18px}
.contact-bar a{display:inline-flex;align-items:center;gap:5px;line-height:1}
.contact-bar a:hover{text-decoration:underline}
.main-nav-shell{position:relative;z-index:50;background:#fff;box-shadow:0 1px 0 rgb(0 0 0 / 10%)}
.main-nav{height:66px;display:flex;align-items:center;justify-content:space-between}
.brand{height:58px;width:108px;display:flex;align-items:center;overflow:hidden}
.brand img{width:100%;height:auto}
.main-menu{align-self:stretch;display:flex;align-items:center;gap:26px;color:#18357f;font-size:14px;font-weight:600}
.main-menu a{display:flex;align-items:center;height:100%;transition:opacity .25s ease,color .25s ease}
.main-menu a:hover,.main-menu a:focus-visible{opacity:.7}
.main-menu .is-current{color:#1c3696}
.search-toggle{position:relative;width:20px;height:24px;border:0;background:transparent;padding:0}
.search-toggle::before{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--yellow);border-radius:50%;left:1px;top:4px}
.search-toggle::after{content:"";position:absolute;width:7px;height:2px;background:var(--yellow);transform:rotate(-48deg);left:11px;top:15px}
.menu-toggle{display:none;border:0;background:transparent;padding:9px}
.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;margin:5px;background:var(--yellow)}
.site-search{position:absolute;inset:0;display:flex;align-items:center;background:#fff}
.site-search[hidden]{display:none}
.site-search input{width:100%;height:48px;border:0;outline:0;color:#333;font-size:18px}
.search-close{border:0;background:transparent;color:var(--yellow);font-size:32px;line-height:1}

/* Recursos compartidos */
.double-rule{display:block;width:100px;height:10px;border-top:4px solid var(--red);border-bottom:2px solid var(--red);transform:skewX(-20deg)}
.eyebrow{margin-bottom:16px;color:var(--ink);font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:15px 35px;border:0;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:3px;text-transform:uppercase;transition:background .25s ease,color .25s ease,transform .25s ease}
.button--red{float:right;background:var(--red);color:#fff;transform:skewX(-22deg)}
.button--red:hover{background:var(--red-hover)}
.button--red>*{transform:skewX(22deg)}
.button--outline{border:4px solid var(--blue);background:transparent;color:var(--blue);transform:skewX(-20deg)}
.button--outline:hover{background:rgb(0 0 0 / 6%)}
.button--outline>*{transform:skewX(20deg)}
.button--white{border:10px solid transparent;background:#fff;color:var(--red);padding:7px 25px}
.button--white:hover{background:rgb(255 255 255 / 90%)}

/* Hero + introducción de servicios */
.hero-intro{position:relative;min-height:1864px;padding-bottom:180px;overflow:hidden;background:linear-gradient(-67deg,var(--light) 0 47%,#fff 47%)}
.blue-slab{position:absolute;z-index:2;left:-6vw;top:0;width:44vw;height:80px;background:var(--blue);transform:skewX(-22deg);transform-origin:top left}
.hero-main{position:relative;z-index:3;width:90%;max-width:1800px;min-height:735px;margin-left:auto;display:grid;grid-template-columns:40% 60%;align-items:start}
.hero-copy{padding:145px 50px 70px 2vw}
.hero-copy h1{margin:0 0 24px;color:#292929;font-family:Khand,Impact,sans-serif;font-size:4vw;font-weight:700;font-style:italic;line-height:.98;text-transform:uppercase;transform:skewX(-6deg);transform-origin:left center}
.hero-copy .double-rule{margin-bottom:26px}
.hero-copy p{max-width:360px;margin:0 0 35px;font-size:24px;font-weight:600;line-height:2}
.hero-art{position:relative;display:block;min-height:640px;background:url("assets/hero-photo.jpg") center/cover no-repeat;overflow:visible}
.hero-mask{position:relative;z-index:2;width:100%;height:auto;pointer-events:none}
.hero-frame{position:absolute;z-index:3;width:60%;right:-4%;top:29%;filter:drop-shadow(0 24px 18px rgb(0 0 0 / 12%));pointer-events:none}
.hero-red-line{position:absolute;z-index:4;left:-5%;top:37%;width:20vw;height:4px;background:var(--red);transform:rotate(-68deg);transform-origin:left center}
.services-intro{position:relative;z-index:5;width:85%;max-width:1360px;min-height:390px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}
.expert-statement{padding-top:115px}
.expert-statement h2{max-width:600px;margin:0 0 35px;color:rgb(0 0 0 / 20%);font-family:Khand,Impact,sans-serif;font-size:130px;font-weight:700;font-style:italic;line-height:.78;text-transform:uppercase;transform:skewX(-6deg);transform-origin:left center}
.services-summary{max-width:480px;margin-left:auto;padding-top:85px;text-align:right;font-size:16px;font-weight:600;line-height:2}
.services-summary .button{margin-top:30px}
.hero-truck-wrap{position:relative;z-index:6;width:100%;margin-top:-70px;margin-bottom:-270px;pointer-events:none}
.hero-truck-wrap img{width:130%;max-width:none;margin-left:-15%}

/* Planes y flotilla */
.plans{position:relative;min-height:658px;padding:95px 0 100px;background:linear-gradient(110deg,var(--light) 0 86%,var(--red) 86%)}
.plans-heading{display:flex;justify-content:flex-end}
.plans-heading h2{width:100%;max-width:640px;margin:0;color:var(--red);font-family:Khand,Impact,sans-serif;font-size:80px;font-weight:700;line-height:1.2;text-align:center;text-transform:uppercase}
.plans-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:45px}
.plans-copy{max-width:480px;margin-left:auto}
.plans-copy h3{margin:0 0 22px;color:var(--ink);font-family:Khand,Impact,sans-serif;font-size:60px;font-weight:700;line-height:1.1;text-transform:uppercase}
.plans-copy p{margin-bottom:25px;font-size:18px;line-height:1.5}

.truck-band{position:relative;height:327px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:linear-gradient(#fff 0 50%,var(--navy) 50%)}
.truck-band__item{position:relative;height:100%}
.truck-band__item img{position:absolute;top:-55px;width:112%;max-width:none}
.truck-band__item:first-child img{right:-9%}
.truck-band__item:last-child img{left:-8%}

/* Valores */
.values{position:relative;min-height:852px;display:grid;grid-template-columns:1fr 1fr;padding-right:10vw;background:#fff}
.service-art{position:relative;min-height:852px;background:url("assets/service-photo.jpg") center/cover no-repeat;overflow:hidden}
.service-art>img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover}
.service-art>span{position:absolute;z-index:3;right:7%;top:32%;width:20vw;height:4px;background:var(--red);transform:rotate(-68deg)}
.value-list{display:flex;flex-direction:column;justify-content:center;gap:36px;padding:90px 0 70px 55px}
.value-item{display:grid;grid-template-columns:58px 1fr;align-items:start;max-width:560px}
.value-item>img{width:32px;margin:4px auto 0}
.value-item div{text-align:center}
.value-item h2{margin:0 0 9px;color:var(--ink);font-size:16px;font-weight:700;line-height:2;letter-spacing:2px;text-transform:uppercase}
.value-item p{margin:0;font-size:15px;line-height:1.75}

/* Galería */
.fleet-gallery{position:relative;min-height:1397px;margin-bottom:-73px;padding:95px 0 165px;background:var(--yellow)}
.fleet-gallery h2{margin:0 0 55px;color:#fff;font-family:Khand,Impact,sans-serif;font-size:60px;font-weight:700;line-height:1.2;text-transform:uppercase}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:58px 5.5%}
.gallery-grid[hidden]{display:none}
.gallery-grid button{position:relative;aspect-ratio:400/516;overflow:hidden;padding:0;border:0;border-radius:9px;background:#ddd;box-shadow:none}
.gallery-grid button::after{content:"+";position:absolute;inset:0;display:grid;place-items:center;background:rgb(2 24 39 / 48%);color:#fff;font-size:44px;opacity:0;transition:opacity .25s ease}
.gallery-grid button:hover::after,.gallery-grid button:focus-visible::after{opacity:1}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.gallery-pagination{display:flex;justify-content:flex-end;gap:20px;margin-top:52px;padding-top:18px;border-top:1px solid rgb(255 255 255 / 35%)}
.gallery-pagination button{border:0;background:transparent;color:rgb(255 255 255 / 28%);font-size:13px}
.gallery-pagination button[aria-current="page"]{color:rgb(255 255 255 / 55%);font-weight:700}

/* Por qué escogernos */
.why{position:relative;min-height:614px;margin-top:52px;padding:88px 0;background:var(--navy);color:#fff}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.why-copy h2{margin:0 0 25px;color:#fff;font-family:Khand,Impact,sans-serif;font-size:60px;font-weight:700;line-height:1.05;text-transform:uppercase}
.why-copy>.double-rule{margin-bottom:25px}
.why-copy>p{max-width:500px;margin-bottom:40px;font-size:16px;font-weight:600;line-height:2}
.why-features{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.why-features div{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:12px}
.why-features img{width:32px}
.why-features strong{font-size:14px;letter-spacing:2px;text-transform:uppercase}
.quote-card{position:relative;min-height:430px;margin-block:-4vw;padding:120px 80px 80px;background:linear-gradient(rgb(247 22 53 / 90%),rgb(247 22 53 / 80%)),url("assets/cta-bg.jpg") center/cover no-repeat;box-shadow:6px 28px 40px rgb(0 0 0 / 10%)}
.quote-card p{max-width:370px;margin-bottom:34px;font-family:Khand,Impact,sans-serif;font-size:34px;font-weight:400;line-height:1.4;letter-spacing:3px;text-transform:uppercase}

/* Promesa y contacto */
.promise{position:relative;min-height:836px;padding:120px 0 105px;overflow:hidden;background:linear-gradient(-67deg,var(--light) 0 47%,#fff 47%)}
.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:start}
.promise-copy h2{margin:0 0 25px;color:var(--ink);font-family:Khand,Impact,sans-serif;font-size:60px;font-weight:700;line-height:1.2;text-transform:uppercase}
.promise-copy>.double-rule{margin-bottom:28px}
.promise-copy h3{max-width:540px;margin:0 0 28px;color:var(--ink);font-size:28px;font-weight:700;line-height:1.1}
.promise-copy address{margin-bottom:32px;color:#555;font-style:normal;font-weight:600;line-height:2}
.promise-copy address a:hover{text-decoration:underline}
.promise-image{margin-top:-14px;padding-top:18px;transform:translateX(10%) scale(1.2);transform-origin:center;opacity:0;transition:transform 1s ease,opacity 1s ease}
.promise-image.is-visible{transform:translateX(0) scale(1.2);opacity:1}
.promise-image img{border-radius:10px}

.site-footer{position:relative;z-index:5;min-height:104px;display:flex;align-items:flex-end;padding:0 0 18px;background:#000;color:#fff;font-size:14px}

/* Aviso de cookies */
.cookie-banner{position:fixed;z-index:99990;left:15px;bottom:12px;width:min(365px,calc(100vw - 30px));padding:16px 16px 10px;border:1px solid #bbb;border-radius:3px;background:#fff;color:#151515;box-shadow:0 2px 12px rgb(0 0 0 / 20%);font-size:12px;line-height:1.35}
.cookie-banner[hidden]{display:none}
.cookie-banner>strong{display:block;margin-bottom:4px;font-size:13px}
.cookie-banner p{margin:0 0 10px}
.cookie-options{display:flex;gap:15px;margin:7px 0}
.cookie-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cookie-actions button{padding:7px 3px;border:1px solid #c4c4c4;background:#fff;color:#333;font-size:10px}
.cookie-actions .cookie-primary{border-color:#2b67d5;background:#2b67d5;color:#fff}
.cookie-banner small{display:block;margin-top:8px;color:#777;text-align:center;font-size:8px}

/* WhatsApp */
.whatsapp-button{position:fixed;z-index:99999;right:20px;bottom:30px;display:none;align-items:center;justify-content:center;padding:8px 14px 8px 8px;border:0;border-radius:50px;background:#01b22d;color:#fff;box-shadow:0 2px 5px rgb(0 0 0 / 30%)}
.whatsapp-button.is-visible{display:flex;animation:wa-in .35s ease both}
.whatsapp-button img{width:50px;height:50px}
.whatsapp-button>span:last-child{margin-left:7px;padding:5px 9px;border-radius:8px;background:#06b003;font-size:16px;white-space:nowrap}
.notification-dot{position:absolute;top:1px;left:42px;min-width:20px;height:20px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--red);font-size:10px}
.whatsapp-popup{position:fixed;z-index:100000;right:20px;bottom:30px;min-width:220px;padding:18px 15px 15px;border-radius:10px;background:#fff;color:#222;box-shadow:0 4px 8px rgb(0 0 0 / 25%)}
.whatsapp-popup[hidden]{display:none}
.whatsapp-popup h2{margin:0 20px 12px;font-size:16px;text-align:center}
.whatsapp-popup>a{display:block;padding:9px;border-radius:5px;background:#25d366;color:#fff;text-align:center}
.whatsapp-close{position:absolute;right:6px;top:4px;border:0;background:transparent;font-size:20px}
@keyframes wa-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Lightbox */
.gallery-lightbox{width:min(92vw,900px);max-height:92vh;padding:0;border:0;background:transparent;overflow:visible}
.gallery-lightbox::backdrop{background:rgb(0 0 0 / 85%)}
.gallery-lightbox img{max-width:100%;max-height:88vh;margin:auto;border-radius:4px;object-fit:contain}
.lightbox-close{position:absolute;z-index:2;right:-7px;top:-40px;width:34px;height:34px;border:0;background:transparent;color:#fff;font-size:34px}

@media (max-width:980px){
  .container{width:90%}
  .main-menu{position:absolute;top:66px;left:0;right:0;display:none;height:auto;padding:14px 5%;background:#fff;border-top:3px solid var(--blue);box-shadow:0 7px 14px rgb(0 0 0 / 12%)}
  .main-menu.is-open{display:block}
  .main-menu a{height:auto;padding:12px 0}
  .search-toggle{position:absolute;right:5%;top:18px}
  .menu-toggle{display:block}

  .hero-intro{min-height:2104px;padding-bottom:100px}
  .hero-main{grid-template-columns:1fr;min-height:0;margin-inline:auto}
  .hero-copy{padding:130px 8vw 45px}
  .hero-copy h1{font-size:100px}
  .hero-art{width:70%;min-height:auto;margin-left:auto}
  .button--red{float:none}
  .services-intro{grid-template-columns:1fr;min-height:560px;gap:0}
  .expert-statement{padding-top:30px}
  .expert-statement h2{font-size:80px;line-height:.9}
  .services-summary{max-width:620px;padding-top:45px}
  .hero-truck-wrap{margin-top:-50px;margin-bottom:-190px}
  .hero-truck-wrap img{width:125%;margin-left:-12.5%}

  .plans{min-height:571px;padding:65px 0}
  .plans-heading h2{font-size:60px}
  .plans-copy h3{font-size:40px}
  .plans-copy p{font-size:16px}

  .truck-band{height:1067px;grid-template-columns:1fr;grid-template-rows:1fr 1fr;background:linear-gradient(#fff 0 50%,var(--navy) 50%)}
  .truck-band__item img{top:-8%;left:50%!important;right:auto!important;width:100%;transform:translateX(-50%)}

  .values{min-height:1396px;grid-template-columns:1fr;padding-right:0}
  .service-art{width:60%;min-height:800px}
  .value-list{padding:70px 10vw 100px}

  .fleet-gallery{min-height:1424px;padding-top:70px}
  .fleet-gallery h2{font-size:40px}
  .gallery-grid{grid-template-columns:repeat(3,1fr);gap:40px 5.5%}

  .why{min-height:836px;padding:70px 0}
  .why-grid{grid-template-columns:1fr;gap:85px}
  .why-copy h2{font-size:40px}
  .quote-card{min-height:320px;margin:0;padding:40px}

  .promise{min-height:1235px;padding:90px 0}
  .promise-grid{grid-template-columns:1fr}
  .promise-copy h2{font-size:40px}
  .promise-image{width:80%;margin:80px auto 0}
}

@media (max-width:767px){
  .contact-bar{height:auto;min-height:38px}
  .contact-bar__inner{padding:5px 0;align-items:flex-start;flex-direction:column;gap:0;font-size:10px}
  .brand{width:90px;height:56px}

  .hero-intro{min-height:1523px;padding-bottom:65px}
  .blue-slab{width:64vw;height:64px}
  .hero-copy{padding:105px 3vw 30px}
  .hero-copy h1{font-size:44px}
  .hero-copy p{font-size:16px;line-height:1.8}
  .hero-art{width:100%}
  .services-intro{min-height:425px}
  .expert-statement h2{font-size:40px;line-height:1}
  .services-summary{padding-top:35px;font-size:14px}
  .hero-truck-wrap{margin-top:-40px;margin-bottom:-145px}
  .hero-truck-wrap img{width:145%;margin-left:-22.5%}

  .plans{min-height:613px;padding:60px 0;background:linear-gradient(110deg,var(--light) 0 90%,var(--red) 90%)}
  .plans-heading h2{font-size:33px;text-align:right}
  .plans-grid{grid-template-columns:1fr;margin-top:50px}
  .plans-grid>div:first-child{display:none}
  .plans-copy{max-width:80%;margin-left:auto}
  .plans-copy h3{font-size:30px}

  .truck-band{height:642px}
  .truck-band__item img{top:0;width:112%}

  .values{min-height:1130px}
  .service-art{width:100%;min-height:590px}
  .value-list{gap:25px;padding:55px 6vw 75px}
  .value-item{grid-template-columns:45px 1fr}
  .value-item h2{font-size:14px}
  .value-item p{font-size:12px}

  .fleet-gallery{margin-bottom:0;padding:65px 0 100px}
  .fleet-gallery h2{font-size:30px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:30px 5.5%}

  .why{min-height:1168px;margin-top:0;padding:75px 0}
  .why-grid{gap:80px}
  .why-copy h2{font-size:30px}
  .why-copy>p{font-size:14px}
  .why-features{grid-template-columns:1fr}
  .quote-card{min-height:430px;padding:70px 45px}
  .quote-card p{font-size:24px}

  .promise{min-height:1042px;padding:75px 0}
  .promise-copy h2{font-size:30px}
  .promise-copy h3{font-size:23px}
  .promise-copy address{font-size:12px}
  .promise-image{width:100%;margin-top:55px}

  .site-footer{min-height:130px;font-size:11px}
  .whatsapp-button>span:last-child{display:none}
}

@media (max-width:479px){
  .gallery-grid{grid-template-columns:1fr;gap:28px}
  .gallery-grid button{width:100%;aspect-ratio:400/516}
  .fleet-gallery{min-height:4662px}
  .cookie-banner{font-size:11px}
  .cookie-actions{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .promise-image{opacity:1;transform:scale(1.2)}
}
