:root{
  --blue:#0066b1;
  --blue-2:#0b78c9;
  --blue-dark:#053d6b;
  --navy:#0b1722;
  --ink:#121b24;
  --muted:#687684;
  --soft:#f4f7fa;
  --line:#e3e9ee;
  --white:#fff;
  --green:#25d366;
  --gold:#f4b61f;
  --container:1220px;
  --shadow:0 18px 46px rgba(17,24,32,.12);
  --shadow-lg:0 28px 70px rgba(4,28,49,.24);
  --header-height:128px;
  --mobile-dock-offset:0px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;position:relative}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
fieldset{min-width:0}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:94px 0}
.section--soft{background:var(--soft)}
.section--dark{background:#0c1721;color:#fff}
[id]{scroll-margin-top:145px}
.skip-link{position:fixed;left:12px;top:-70px;z-index:9999;background:#fff;color:#000;padding:10px 14px;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.eyebrow{display:inline-block;margin:0 0 15px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.eyebrow--light,.eyebrow--hero{color:#91d1ff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:2px;font-size:13px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--blue);color:#fff}.btn--primary:hover{background:var(--blue-dark)}
.btn--white{background:#fff;color:var(--blue-dark)}
.btn--ghost{border:1px solid rgba(255,255,255,.56);background:rgba(255,255,255,.06);color:#fff;backdrop-filter:blur(7px)}.btn--ghost:hover{background:#fff;color:var(--navy)}
.btn--ice{position:relative;overflow:hidden;background:linear-gradient(135deg,#0c79c8 0%,#48c5ff 52%,#0aa8e9 100%);color:#fff;box-shadow:0 14px 32px rgba(6,102,177,.22)}
.btn--ice::before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.04) 100%);pointer-events:none}
.btn--ice::after{content:"";position:absolute;top:-18%;bottom:-18%;left:-44%;width:42%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.08) 64%,rgba(255,255,255,0) 100%);transform:translateX(-160%) skewX(-18deg);animation:autoclimasIceShift 3.6s ease-in-out infinite;pointer-events:none}
.btn--ice span{position:relative;z-index:1}
.btn--ice:hover{background:linear-gradient(135deg,#0664aa 0%,#2cb6ef 54%,#0594ca 100%);color:#fff}
@keyframes autoclimasIceShift{0%,58%{transform:translateX(-160%) skewX(-18deg)}100%{transform:translateX(440%) skewX(-18deg)}}

/* Header */
.top-strip{background:var(--blue);color:#fff;font-size:13px}
.top-strip__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.top-strip p{margin:0;font-weight:700}.top-strip a{font-weight:900}.top-strip a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 4px 18px rgba(17,24,32,.06);transition:box-shadow .22s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(17,24,32,.15)}
.desktop-head{background:#fff}
.desktop-head__inner{min-height:82px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:226px;height:64px;object-fit:contain}
.desktop-head__meta{display:flex;align-items:center;gap:28px;margin-left:auto}
.head-meta{display:flex;align-items:center;gap:10px;color:#27323c}.head-meta__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef7fd;color:var(--blue);font-weight:900}.head-meta>span:last-child{display:grid;line-height:1.15;gap:3px}.head-meta small{font-size:10px;color:#87919b;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.head-meta strong{font-size:13px}
.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:var(--blue);color:#fff;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.header-cta:hover{background:var(--blue-dark)}
.desktop-nav{background:var(--navy);color:#fff}.desktop-nav__inner{min-height:46px;display:flex;align-items:stretch;justify-content:center}.desktop-nav a{display:flex;align-items:center;padding:0 19px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.desktop-nav a:hover,.desktop-nav a.is-active{background:var(--blue)}
.mobile-head,.mobile-menu{display:none}

/* Hero */
.hero{position:relative;min-height:610px;height:min(72vh,760px);max-height:760px;display:flex;align-items:center;overflow:hidden;background:#0e2030;color:#fff}
.hero__media,.hero__slide,.hero__shade{position:absolute;inset:0}
.hero__slide{width:100%;height:100%;object-fit:cover;opacity:0;transform:translateX(36px) scale(1.025);transition:opacity 1.2s ease,transform 1.2s ease;will-change:opacity,transform}.hero__slide.is-active{opacity:1;transform:translateX(0) scale(1)}
.hero__shade{z-index:1;background:linear-gradient(90deg,rgba(3,16,28,.86) 0%,rgba(3,24,43,.68) 38%,rgba(4,33,59,.28) 68%,rgba(4,33,59,.08) 100%)}
.hero__content{position:relative;z-index:2;padding:62px 0 96px}.hero__copy{max-width:650px}
.hero h1{margin:0;max-width:650px;font-size:clamp(50px,5.2vw,72px);line-height:1;letter-spacing:-.038em;font-weight:900;text-transform:uppercase;text-shadow:0 8px 24px rgba(0,0,0,.28)}.hero h1 span{display:block;color:#22a9ef}
.hero p{max-width:570px;margin:20px 0 0;color:rgba(255,255,255,.9);font-size:16px;line-height:1.65}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero .hero-quote-btn{gap:0;padding-right:0;overflow:hidden;background:linear-gradient(90deg,#008ed4,#07aee8);box-shadow:0 10px 24px rgba(0,107,177,.24)}.hero .hero-quote-btn:hover{background:linear-gradient(90deg,#007cb9,#0698cc)}.hero-quote-btn__arrow{width:48px;min-height:52px;display:grid;place-items:center;margin-left:18px;border-left:1px solid rgba(255,255,255,.28);font-size:29px;font-weight:500;line-height:1}.hero .btn--ghost{background:rgba(7,20,31,.28);border-color:rgba(255,255,255,.58)}
.hero__dots{position:absolute;right:max(24px,calc((100vw - var(--container))/2));bottom:34px;z-index:4;display:flex;gap:8px}.hero-dot{width:11px;height:11px;padding:0;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:transparent;cursor:pointer}.hero-dot.is-active{background:#fff;box-shadow:0 0 0 2px rgba(0,102,177,.8)}

/* Home sections */
.quick-cards{position:relative;z-index:6;margin-top:-52px}.quick-cards__grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:var(--shadow-lg)}
.quick-card{min-height:180px;padding:28px 24px;display:flex;gap:16px;align-items:flex-start;border-right:1px solid var(--line);background:#fff;transition:.25s ease}.quick-card:last-child{border-right:0}.quick-card:hover{transform:translateY(-6px);background:var(--blue);color:#fff}.quick-card__icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--blue);color:#fff}.quick-card__icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.quick-card:hover .quick-card__icon{background:#fff;color:var(--blue)}.quick-card h2{margin:0 0 8px;font-size:18px;line-height:1.25}.quick-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}.quick-card:hover p{color:rgba(255,255,255,.85)}
.intro__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:74px;align-items:center}.intro__visual{position:relative;min-height:550px;padding-right:58px}.intro__image{position:absolute;margin:0;overflow:hidden;box-shadow:var(--shadow)}.intro__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.intro__image:hover img{transform:scale(1.04)}.intro__image--large{left:0;top:0;width:78%;height:455px}.intro__image--small{right:0;bottom:0;width:48%;height:280px;border:9px solid #fff}.intro__badge{position:absolute;left:8%;bottom:18px;display:grid;min-width:190px;padding:20px 25px;background:var(--blue);color:#fff;box-shadow:var(--shadow)}.intro__badge strong{font-size:21px}.intro__badge span{font-size:12px;opacity:.85}
.section-copy h2,.section-heading h2,.payment h2,.contact-card h2,.form-heading h2{margin:0 0 18px;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.035em}.section-copy p,.section-heading>p,.payment__copy p{color:var(--muted)}.intro__contact{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.intro__phone-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:20px}.intro__contact div{display:grid}.intro__contact div>span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.intro__contact a{font-size:21px;font-weight:900}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-heading>div{max-width:720px}.section-heading>p{max-width:430px;margin:0}.section-heading--center{justify-content:center;text-align:center}.section-heading--center>div{max-width:780px}.section-heading--dark>p{color:rgba(255,255,255,.65)}
.services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{background:#fff;border:1px solid var(--line);transition:transform .28s ease,box-shadow .28s ease}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card__image{position:relative;height:235px;overflow:hidden;background:#dae3ea}.service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.service-card:hover .service-card__image img{transform:scale(1.07)}.service-card__body{padding:24px 22px 26px}.service-card h3{margin:0 0 10px;font-size:20px;line-height:1.24}.service-card p{margin:0 0 17px;color:var(--muted);font-size:14px}.service-card a{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.cta-band{position:relative;isolation:isolate;background:#07131f url("../images/workshop/camiones.webp") center 48%/cover no-repeat;color:#fff}.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,15,25,.64)}.cta-band__inner{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding-top:82px;padding-bottom:82px;text-align:center}.cta-band__inner>div{max-width:930px}.cta-band h2{max-width:930px;margin:0 auto 16px;font-size:clamp(38px,4.3vw,58px);line-height:1.1;letter-spacing:-.025em}.cta-band p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.86);font-size:16px}.cta-band .btn{margin-top:28px;min-height:54px;padding:0 30px;background:#08a9e4;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.2)}.cta-band .btn:hover{background:#078ec2;color:#fff}
.brands__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.brand-card{min-height:126px;display:grid;place-items:center;padding:18px;background:#fff;border:1px solid var(--line)}.brand-card img{width:100%;height:76px;object-fit:contain;transition:transform .25s ease}.brand-card:hover img{transform:scale(1.05)}
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:14px}.gallery-item{position:relative;margin:0;overflow:hidden;background:#172734}.gallery-item--wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.8));pointer-events:none}.gallery-item:hover img{transform:scale(1.06)}.gallery-item figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:#fff;font-size:16px;font-weight:900}.gallery-item figcaption span{display:block;margin-bottom:3px;color:#8ed0ff;font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.payment__card{display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.payment__copy{padding:52px 48px}.payment__copy p{margin:0 0 24px}.payment-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.payment-logos>div{min-height:150px;display:grid;place-items:center;padding:20px;background:#f8fafc}.payment-logos img{width:100%;height:82px;object-fit:contain}
.location__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}
.location__map{position:relative;height:470px;overflow:hidden;background:#dce9f2;border:1px solid #d0dde7;box-shadow:var(--shadow)}
.location__map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.location__map::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.06) 30%,rgba(8,22,36,.06) 100%);pointer-events:none}
.location__map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:56px 56px;mix-blend-mode:soft-light;pointer-events:none}
.location__pin{position:absolute;left:52%;top:45%;width:54px;height:54px;display:grid;place-items:center;border-radius:50% 50% 50% 0;background:var(--blue);transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 12px 30px rgba(0,102,177,.35);z-index:2}
.location__pin span{width:15px;height:15px;border-radius:50%;background:#fff}
.location__map-label{position:absolute;left:50%;top:61%;display:grid;min-width:190px;padding:12px 18px;background:#fff;box-shadow:var(--shadow);text-align:center;transform:translateX(-50%);z-index:2}
.location__map-label strong{font-size:18px}
.location__map-label span{color:var(--muted);font-size:12px}
.location-card{margin-top:24px;padding:28px;border:1px solid #dce6ee;background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);box-shadow:0 20px 44px rgba(7,29,48,.08)}
.location-card__eyebrow{display:inline-block;margin-bottom:12px;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.location-card h3{margin:0 0 10px;font-size:27px;line-height:1.08;letter-spacing:-.03em}
.location-card p{margin:0;color:var(--muted)}
.location-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.location-card__meta div{padding:14px 15px;border:1px solid #e4edf4;background:#fff}
.location-card__meta span{display:block;margin-bottom:6px;color:#6b7884;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.location-card__meta strong{display:block;font-size:15px;line-height:1.35}
.location-card__btn{margin-top:18px;display:inline-flex;min-height:54px;padding:0 24px;border-radius:2px}
.contact-list{display:grid;margin-top:26px;border-top:1px solid var(--line)}
.contact-list a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.contact-list span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}
.contact-list strong{text-align:right}

/* Contact page
   Payment selectors use component-scoped brand tokens and an optional ice selected state. */
.page-hero{overflow:hidden;background:linear-gradient(110deg,#07131f 0%,#073657 72%,#0875bf 100%);color:#fff}.page-hero__inner{min-height:360px;display:grid;grid-template-columns:1fr 360px;align-items:center;gap:50px}.page-hero h1{max-width:760px;margin:0 0 18px;font-size:clamp(44px,5.5vw,72px);line-height:.98;letter-spacing:-.045em}.page-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.78);font-size:17px}.page-hero img{width:100%;max-height:230px;object-fit:contain;filter:drop-shadow(0 12px 25px rgba(0,0,0,.2))}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:44px;align-items:start}.quote-form{padding:38px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.form-heading{margin-bottom:30px}.form-heading h2{font-size:42px}.form-heading p{margin:0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:grid;gap:7px}.form-field--full{grid-column:1/-1}.form-field>span,.payment-choice legend,.payment-options legend{font-size:12px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;color:#34414e}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cfd8df;background:#fff;padding:13px 14px;outline:0;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}.form-field textarea{resize:vertical;min-height:120px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,102,177,.12)}
.payment-choice,.payment-options{margin:26px 0 0;padding:0;border:0}.payment-choice legend,.payment-options legend{margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-card,.bank-choice{cursor:pointer}.choice-card input,.bank-choice input{position:absolute;opacity:0;pointer-events:none}
.choice-card>span{position:relative;isolation:isolate;overflow:hidden;display:grid;align-content:center;gap:3px;min-height:82px;padding:15px;border:1px solid #cfd8df;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}.choice-card strong{position:relative;z-index:2}.choice-card small{position:relative;z-index:2;color:var(--muted);transition:color .2s ease}.choice-card>span::before,.choice-card>span::after{content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity .24s ease}.choice-card>span::before{z-index:-2;inset:0;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.98) 0 8%,rgba(215,246,255,.78) 9% 25%,transparent 45%),radial-gradient(circle at 82% 72%,rgba(255,255,255,.9) 0 8%,rgba(152,226,255,.42) 10% 30%,transparent 52%),linear-gradient(135deg,#ecfbff 0%,#c6efff 44%,#8bd8fb 100%)}.choice-card>span::after{z-index:-1;top:-35%;bottom:-35%;left:-46%;width:36%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.95) 48%,rgba(255,255,255,.18) 64%,rgba(255,255,255,0));transform:translateX(-170%) skewX(-18deg)}.choice-card input:checked+span{border-color:#53bce9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 10px 22px rgba(0,119,184,.14);color:#0b3a5d;transform:translateY(-1px)}.choice-card input:checked+span::before,.choice-card input:checked+span::after{opacity:1}.choice-card input:checked+span::after{animation:paymentIceSweep 3.6s ease-in-out infinite}.choice-card input:checked+span small{color:#32667e}.choice-card input:focus-visible+span,.bank-choice input:focus-visible+span{outline:3px solid rgba(0,102,177,.25);outline-offset:2px}
@keyframes paymentIceSweep{0%,58%{transform:translateX(-170%) skewX(-18deg)}100%{transform:translateX(440%) skewX(-18deg)}}
.bank-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bank-choice-grid--cards{grid-template-columns:repeat(2,1fr);max-width:430px}.bank-choice{--method-color:#0b78c9;--method-soft:#eff8ff}.bank-choice--banpro{--method-color:#00994a;--method-soft:#eefaf3}.bank-choice--bac{--method-color:#d71920;--method-soft:#fff1f2}.bank-choice--bdf{--method-color:#0789da;--method-soft:#eef8ff}.bank-choice--lafise{--method-color:#009d98;--method-soft:#eefafa}.bank-choice--visa{--method-color:#1268c4;--method-soft:#eef5ff}.bank-choice--mastercard{--method-color:#e54b22;--method-soft:#fff4ef}.bank-choice>span{min-height:110px;display:grid;place-items:center;gap:5px;padding:12px;border:2px solid var(--method-color);background:linear-gradient(145deg,var(--method-soft),#fff 68%);text-align:center;box-shadow:0 6px 16px rgba(21,42,58,.05);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.bank-choice img{width:100%;height:58px;object-fit:contain}.bank-choice small{color:var(--method-color);font-weight:800}.bank-choice:hover>span{transform:translateY(-2px);box-shadow:0 10px 22px rgba(21,42,58,.09)}.bank-choice input:checked+span{background:linear-gradient(145deg,var(--method-soft),#fff 52%);box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--method-color),0 12px 26px rgba(21,42,58,.12);transform:translateY(-2px)}.quote-form>.form-field--full{margin-top:24px}.form-status{min-height:24px;margin:13px 0 0;color:#a12a2a;font-size:13px;font-weight:700}.form-status.is-ok{color:#12763b}.form-submit{width:100%;margin-top:5px}
.contact-aside{display:grid;gap:18px;position:sticky;top:150px}.contact-card{padding:32px;background:var(--navy);color:#fff}.contact-card h2{font-size:34px}.contact-card>p{color:rgba(255,255,255,.7)}.contact-action{display:grid;padding:15px 0;border-top:1px solid rgba(255,255,255,.14)}.contact-action span{color:#7fcaff;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.contact-action strong{font-size:18px}.contact-note{padding:24px;background:#eef7fd;border-left:4px solid var(--blue)}.contact-note p{margin:6px 0 0;color:var(--muted);font-size:14px}.payment-directory__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:24px}.payment-logo-item{min-width:0;min-height:118px;display:grid;place-items:center;padding:8px;background:transparent;border:0}.payment-logo-item img{width:100%;height:84px;object-fit:contain;transition:transform .24s ease,filter .24s ease}.payment-logo-item:hover img{transform:translateY(-2px) scale(1.045);filter:drop-shadow(0 10px 12px rgba(20,40,58,.08))}

/* Footer and persistent actions */
.footer{background:#08131d;color:#fff;padding:68px 0 0}.footer__grid{display:grid;grid-template-columns:1.35fr .75fr 1fr .75fr;gap:45px;padding-bottom:52px}.footer__brand img{width:220px;height:72px;object-fit:contain;object-position:left center}.footer__brand p{max-width:360px;margin:18px 0 13px;color:rgba(255,255,255,.62);font-size:14px}.footer__phone{color:#7fc9ff;font-size:20px;font-weight:900}.footer__column{display:flex;flex-direction:column;gap:9px}.footer__column h2{margin:0 0 10px;font-size:17px}.footer__column a,.footer__column span{color:rgba(255,255,255,.67);font-size:13.5px}.footer__column a:hover{color:#fff}.footer__bottom{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);font-size:12px}.footer__bottom p{margin:0}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:850;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.24)}
.mobile-actionbar{display:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .78s ease,transform .78s ease}.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1100px){
  .brand img{width:190px}.desktop-head__meta{gap:14px}.head-meta:nth-child(2){display:none}.desktop-nav a{padding:0 14px}.services__grid{grid-template-columns:repeat(2,1fr)}.brands__grid{grid-template-columns:repeat(4,1fr)}.intro__grid,.location__grid{gap:42px}.footer__grid{grid-template-columns:1.2fr .8fr 1fr}.footer__column:last-child{grid-column:2/4}.page-hero__inner{grid-template-columns:1fr 270px}.contact-layout{grid-template-columns:1fr 340px}
}

@media (max-width:767px){
  :root{--header-height:70px}.container{width:min(calc(100% - 24px),var(--container))}html{scroll-padding-top:84px}.section{padding:62px 0}[id]{scroll-margin-top:84px}body{padding-bottom:0}
  .top-strip{font-size:10px}.top-strip__inner{min-height:34px;gap:8px}.top-strip p{max-width:68%;line-height:1.2}.top-strip a{font-size:10px;white-space:nowrap}
  .desktop-head,.desktop-nav{display:none}.mobile-head{display:block;background:#fff}.mobile-head__inner{min-height:70px;display:flex;align-items:center;gap:10px}.brand--mobile{margin-right:auto}.brand--mobile img{width:168px;height:52px}.mobile-head__call{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#eef7fd;color:var(--blue);font-weight:900}.menu-toggle{width:42px;height:42px;padding:9px;border:0;background:var(--navy);cursor:pointer}.menu-toggle span{display:block;height:2px;margin:5px 0;background:#fff;transition:.2s ease}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{position:absolute;left:0;right:0;top:100%;z-index:1001;display:block;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 35px rgba(0,0,0,.15)}.mobile-menu[hidden]{display:none}.mobile-menu__inner{display:grid;padding:7px 0 12px}.mobile-menu a{padding:11px 3px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;text-transform:uppercase}
  .hero{height:610px;min-height:610px;align-items:flex-start}.hero__content{padding:48px 0 95px}.hero__shade{background:linear-gradient(180deg,rgba(4,20,34,.9) 0%,rgba(4,26,44,.76) 48%,rgba(4,26,44,.35) 100%)}.hero__slide{object-position:center center!important;transform:translateX(20px) scale(1.02)}.hero h1{max-width:355px;font-size:clamp(38px,11vw,50px)}.hero p{max-width:340px;font-size:14px;line-height:1.55}.hero__actions{margin-top:22px}.hero__actions .btn{min-height:48px;padding:0 16px;font-size:11px}.hero__dots{right:14px;bottom:18px}
  .quick-cards{margin-top:0;padding:34px 0 42px;background:#fff}.quick-cards__grid{grid-template-columns:1fr;gap:14px;box-shadow:none}.quick-card{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:34px 24px;border:1px solid var(--line)!important;text-align:center}.quick-card__icon{width:78px;height:78px;margin-bottom:24px;background:var(--blue);color:#fff}.quick-card__icon svg{width:38px;height:38px;stroke-width:1.9}.quick-card h2{margin-bottom:10px;font-size:21px}.quick-card p{max-width:470px;font-size:14px;line-height:1.65}
  .intro__grid,.location__grid{grid-template-columns:1fr}.intro__visual{min-height:435px;padding-right:28px}.intro__image--large{height:355px}.intro__image--small{height:205px;border-width:6px}.intro__badge{bottom:10px;padding:15px 18px;min-width:160px}.section-copy h2,.section-heading h2,.payment h2{font-size:34px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:14px}.services__grid{grid-template-columns:1fr}.service-card__image{height:260px}.cta-band__inner{min-height:430px;display:flex;padding-top:62px;padding-bottom:62px}.cta-band h2{font-size:34px}.cta-band .btn{margin-top:25px}.brands__grid{grid-template-columns:repeat(2,1fr);gap:9px}.brand-card{min-height:105px;padding:12px}.brand-card img{height:66px}.gallery__grid{grid-template-columns:1fr;grid-auto-rows:285px}.gallery-item--wide{grid-column:span 1}.payment__card{grid-template-columns:1fr}.payment__copy{padding:34px 24px}.payment-logos{grid-template-columns:repeat(2,1fr)}.payment-logos>div{min-height:118px;padding:13px}.payment-logos img{height:68px}.location__map{height:350px}.contact-list a{align-items:flex-start;flex-direction:column;gap:3px}.contact-list strong{text-align:left}
  .page-hero__inner{min-height:330px;grid-template-columns:1fr;padding-top:42px;padding-bottom:42px}.page-hero h1{font-size:42px}.page-hero p{font-size:14px}.page-hero img{display:none}.contact-layout{grid-template-columns:1fr;gap:28px}.quote-form{padding:26px 18px}.form-heading h2{font-size:34px}.form-grid{grid-template-columns:1fr}.form-field--full{grid-column:auto}.choice-grid{grid-template-columns:1fr}.bank-choice-grid{grid-template-columns:repeat(2,1fr)}.bank-choice-grid--cards{max-width:none}.contact-aside{position:static}.payment-directory__grid{grid-template-columns:repeat(3,1fr);gap:16px}.payment-logo-item{min-height:100px}.payment-logo-item img{height:72px}
  .footer{padding-top:56px}.footer__grid{grid-template-columns:1fr;gap:32px}.footer__brand,.footer__column:last-child{grid-column:auto}.footer__bottom{padding:18px 0;align-items:flex-start;flex-direction:column;justify-content:center}.floating-wa{display:none}
  .mobile-actionbar{position:fixed;left:0;right:0;bottom:var(--mobile-dock-offset);z-index:900;display:grid;grid-template-columns:18% 18% 18% 46%;height:64px;background:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.17);will-change:bottom}.mobile-actionbar a{min-width:0;color:#fff}.mobile-actionbar__item,.mobile-actionbar__quote{height:64px;display:flex;align-items:center;justify-content:center;gap:4px}.mobile-actionbar__item{flex-direction:column;background:var(--green);font-size:9px;font-weight:800;text-transform:uppercase}.mobile-actionbar__item--call{border-left:1px solid rgba(255,255,255,.45)}.mobile-actionbar__item--location{background:#101a24}.mobile-actionbar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mobile-actionbar__quote{padding:0 9px;background:var(--gold);color:#111820;font-size:11px;font-weight:900;text-transform:uppercase}.mobile-actionbar__quote span{text-align:center;line-height:1.1}
}

@media (max-width:430px){
  .top-strip p{max-width:220px}.brand--mobile img{width:145px}.hero{height:590px;min-height:590px}.hero__content{padding-top:38px}.hero h1{font-size:39px}.quick-cards__grid{grid-template-columns:1fr}.mobile-actionbar__item span{display:none}.mobile-actionbar__quote{font-size:10px}.bank-choice-grid{grid-template-columns:1fr 1fr}.payment-directory__grid{grid-template-columns:repeat(2,1fr);gap:14px}
}

@media (min-width:768px){.mobile-actionbar{display:none!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__slide,.reveal,.service-card,.service-card img,.brand-card img,.gallery-item img,.btn{transition:none!important}}

/* === Referencia Ritz: franja superior y carrusel de marcas === */
.top-strip{overflow:hidden;background:linear-gradient(178deg,#0066b1 0%,#003d7e 100%);color:#fff}
.promo-marquee{width:100%;min-height:38px;display:flex;align-items:center;overflow:hidden}
.promo-marquee__track{display:flex;align-items:center;justify-content:center;width:max-content;min-width:100%;will-change:transform}
.promo-marquee__group{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;padding:0 12px;font-size:13px;font-weight:700}
.promo-marquee__group[aria-hidden="true"]{display:none}
.promo-separator{margin:0 2px;opacity:.72}
.promo-wa{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:999px;background:#25d366;color:#fff!important;font-size:13px;font-weight:800;line-height:1.4;white-space:nowrap;transition:transform .2s ease,background .3s ease}
.promo-wa:hover{background:#1ebe5d;transform:scale(1.04)}
.promo-wa svg{width:16px;height:16px;flex:0 0 auto;fill:#fff}
.promo-wa--clone{pointer-events:none}

/* Logos sin tarjetas, con flechas y movimiento continuo por JS */
.brands{overflow:hidden}
.brands-intro{max-width:760px;margin:16px auto 0;color:var(--muted);font-size:16px;line-height:1.7}
.brand-carousel{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:14px;margin-top:14px}
.brand-carousel__viewport{overflow:hidden;min-width:0}
.brand-carousel__track{--brand-gap:26px;--brand-visible:6;display:flex;align-items:center;gap:var(--brand-gap);will-change:transform;transform:translate3d(0,0,0)}
.brand-logo{flex:0 0 calc((100% - (var(--brand-gap) * (var(--brand-visible) - 1))) / var(--brand-visible));min-width:0;height:126px;display:flex;align-items:center;justify-content:center;padding:4px 6px;background:transparent;border:0;box-shadow:none}
.brand-logo img{display:block;width:auto;max-width:92%;height:auto;max-height:94px;object-fit:contain;filter:none;transition:transform .25s ease}
.brand-logo:hover img{transform:scale(1.06)}
.brand-carousel__button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#0d8bc5;color:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(0,102,177,.2);transition:background .2s ease,transform .2s ease}
.brand-carousel__button:hover{background:#0066b1;transform:translateY(-1px)}
.brand-carousel__button:focus-visible{outline:3px solid rgba(0,102,177,.25);outline-offset:3px}

@media (max-width:1024px){
  .brand-carousel__track{--brand-visible:2;--brand-gap:22px}
  .brand-logo{height:118px}.brand-logo img{width:auto;max-width:92%;height:auto;max-height:88px}
}

/* === V7 · móvil alineado con la referencia Ritz === */
.mobile-quicknav{display:none}
.hero__mobile-kicker{display:none}
.mobile-menu-overlay{display:none}

@media (max-width:767px){
  :root{--mobile-header-h:82px;--mobile-dock-h:62px}
  html{scroll-padding-top:124px}
  [id]{scroll-margin-top:124px}
  body{padding-bottom:0}

  /* Franja superior: siempre hay contenido visible y la cinta se repite sin huecos largos. */
  .promo-marquee{min-height:34px;justify-content:flex-start}
  .promo-marquee__track{min-width:max-content;justify-content:flex-start;animation:autoclimasPromoLoop 22s linear infinite}
  .promo-marquee__group{display:flex!important;flex:0 0 auto;min-height:34px;gap:10px;padding:0 15px;font-size:11px}
  .promo-wa{padding:4px 10px;font-size:11px}
  .promo-wa svg{width:15px;height:15px}
  @keyframes autoclimasPromoLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* Cabecera blanca como la referencia: logo visible y controles limpios. */
  .mobile-head{display:block;background:#fff;border-bottom:1px solid #e8edf1}
  .mobile-head__inner{width:100%;min-height:var(--mobile-header-h);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px}
  .brand--mobile{display:flex;align-items:center;flex:0 1 58%;min-width:0;margin:0;overflow:visible}
  .brand--mobile img{width:min(226px,100%);height:62px;object-fit:contain;object-position:left center}
  .mobile-head__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}
  .mobile-head__call,.menu-toggle{width:40px;height:40px;display:grid;place-items:center;background:transparent;border:0;border-radius:3px;color:#0066b1}
  .mobile-head__call svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-head__call:hover,.mobile-head__call:focus-visible,.menu-toggle:hover,.menu-toggle:focus-visible{background:#eef6fb;color:#003d7e}
  .menu-toggle{padding:8px;cursor:pointer}
  .menu-toggle span{display:block;width:24px;height:2px;margin:3px auto;background:currentColor;border-radius:2px;transition:transform .24s ease,opacity .2s ease,width .2s ease}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;width:8px}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

  /* Menú móvil off-canvas, en lugar de un desplegable rígido. */
  .mobile-menu{position:fixed;top:0;right:0;bottom:0;left:auto;z-index:1202;display:block;width:min(86vw,360px);background:#fff;border:0;box-shadow:-18px 0 45px rgba(4,22,36,.2);transform:translateX(102%);opacity:0;visibility:hidden;transition:transform .28s ease,opacity .2s ease,visibility .28s}
  .mobile-menu[hidden]{display:block}
  .mobile-menu.is-open{transform:translateX(0);opacity:1;visibility:visible}
  .mobile-menu__inner{width:100%;height:100%;display:grid;align-content:start;padding:94px 22px 30px}
  .mobile-menu a{padding:14px 3px;border-bottom:1px solid var(--line);font-size:14px;font-weight:800;text-transform:none;letter-spacing:.01em;color:#162431}
  .mobile-menu a:hover{color:#0066b1}
  .mobile-menu-overlay{position:fixed;inset:0;z-index:1201;display:block;border:0;background:rgba(6,18,29,.48);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s}
  .mobile-menu-overlay[hidden]{display:block}
  .mobile-menu-overlay.is-open{opacity:1;visibility:visible}
  body.mobile-menu-open{overflow:hidden}

  /* Banda azul de accesos: icono pequeño + texto en una sola línea.
     En pantallas muy estrechas conserva el desplazamiento horizontal de la referencia. */
  .mobile-quicknav{display:block;overflow-x:auto;overflow-y:hidden;background:linear-gradient(180deg,#0066b1 0%,#0058b5 100%);color:#fff;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .mobile-quicknav::-webkit-scrollbar{display:none}
  .mobile-quicknav__track{min-width:max-content;min-height:46px;display:flex;align-items:stretch;justify-content:center;margin-inline:auto;padding:0 7px}
  .mobile-quicknav a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:5px 10px;white-space:nowrap;color:#fff;font-size:10.5px;font-weight:800;line-height:1;text-transform:uppercase;scroll-snap-align:start}
  .mobile-quicknav a+a{border-left:1px solid rgba(255,255,255,.13)}
  .mobile-quicknav svg{width:16px;height:16px;flex:0 0 16px;fill:currentColor;stroke:none}
  .mobile-quicknav__quote{background:transparent}

  /* Hero: vuelve el slider lento del proyecto original. */
  .hero{height:clamp(570px,150vw,760px);min-height:570px;aspect-ratio:auto;align-items:flex-end;background:#0b1722}
  .hero__slide{display:block!important;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateX(18px) scale(1.025);transition:opacity 1.2s ease,transform 1.2s ease}
  .hero__slide.is-active{opacity:1!important;transform:translateX(0) scale(1)!important}
  .hero__slide:nth-child(1){object-position:center 45%!important}
  .hero__slide:nth-child(2){object-position:center center!important}
  .hero__slide:nth-child(3){object-position:center center!important}
  .hero__slide:nth-child(4){object-position:center 46%!important}
  .hero__shade{background:linear-gradient(180deg,rgba(4,18,30,.04) 0%,rgba(4,18,30,.10) 38%,rgba(4,18,30,.74) 72%,rgba(4,18,30,.96) 100%)}
  .hero__content{width:min(calc(100% - 30px),var(--container));padding:0 0 38px}
  .hero__copy{max-width:none}
  .eyebrow--hero{display:none}
  .hero__mobile-kicker{display:inline-block;margin:0 0 8px;color:#d4efff;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
  .hero h1{max-width:345px;font-size:clamp(34px,9.2vw,46px);line-height:1.02;text-shadow:0 5px 18px rgba(0,0,0,.42)}
  .hero p{max-width:340px;margin-top:12px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.93)}
  .hero__actions{margin-top:16px;gap:8px}
  .hero__actions .btn{min-height:44px;padding:0 14px;font-size:10px}
  .hero__dots{display:none}

  /* Tarjetas iniciales apiladas, como la referencia móvil. */
  .quick-cards{margin-top:0;padding:34px 0 42px;background:#fff;overflow:visible}
  .quick-cards .container{width:min(calc(100% - 24px),var(--container));padding-left:0}
  .quick-cards__grid{display:grid;grid-template-columns:1fr;gap:14px;overflow:visible;padding:0;box-shadow:none}
  .quick-card{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:34px 24px;border:1px solid var(--line)!important;text-align:center;box-shadow:0 8px 24px rgba(17,24,32,.06)}
  .quick-card__icon{width:78px;height:78px;margin-bottom:24px;background:var(--blue);color:#fff}
  .quick-card__icon svg{width:38px;height:38px;stroke-width:1.9}
  .quick-card h2{margin-bottom:10px;font-size:21px}.quick-card p{max-width:470px;font-size:14px;line-height:1.65}

  /* Servicios Ritz: dos columnas en móvil. Mantiene las fotos de AUTOCLIMAS. */
  .services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .service-card{border:0;background:#0066b1;color:#fff;box-shadow:none}
  .service-card__image{height:132px;background:#d7e2ea}
  .service-card__index{left:10px;padding:5px 8px;background:#fff;color:#0066b1}
  .service-card__body{min-height:188px;padding:16px 14px 17px;display:flex;flex-direction:column}
  .service-card h3{font-size:16px;line-height:1.18;color:#fff}
  .service-card p{margin-bottom:15px;color:rgba(255,255,255,.82);font-size:12px;line-height:1.45}
  .service-card a{margin-top:auto;display:block;padding:10px 9px;background:#fff;color:#24313b;text-align:center;font-size:9.5px}

  /* Carrusel de marcas móvil: más cercano a la referencia. */
  .brands.section{padding-top:76px;padding-bottom:92px}
  .brands .section-heading{margin-bottom:48px}
  .brands .section-heading h2{font-size:32px}
  .brands-intro{margin-top:18px;font-size:14px;line-height:1.65}
  .brand-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}
  .brand-carousel__track{--brand-visible:2;--brand-gap:20px}
  .brand-logo{height:136px;padding:4px}.brand-logo img{width:auto;max-width:94%;height:auto;max-height:102px}
  .brand-carousel__button{width:32px;height:32px;font-size:18px;box-shadow:none}

  /* Barra inferior: 18 / 18 / 18 / 46 como Ritz. */
  .mobile-actionbar{position:fixed;left:0;right:0;bottom:var(--mobile-dock-offset);z-index:900;display:grid;grid-template-columns:18% 18% 18% 46%;height:var(--mobile-dock-h);background:#fff;box-shadow:0 -5px 18px rgba(0,0,0,.16);will-change:bottom}
  .mobile-actionbar a{min-width:0;color:#fff}
  .mobile-actionbar__item,.mobile-actionbar__quote{height:var(--mobile-dock-h);display:flex;align-items:center;justify-content:center}
  .mobile-actionbar__item{background:#1ebe5d}
  .mobile-actionbar__item--call{border-left:1px solid rgba(255,255,255,.45)}
  .mobile-actionbar__item--message{background:#099fc9}
  .mobile-actionbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-actionbar__item--wa svg{fill:currentColor;stroke:none;width:24px;height:24px}
  .mobile-actionbar__quote{position:relative;overflow:hidden;gap:7px;padding:0 10px;background:#f0a81e;color:#412402;font-size:10.5px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
  .mobile-actionbar__quote svg{width:21px;height:21px;flex:0 0 auto}
  .mobile-actionbar__quote:after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:translateX(-170%) skewX(-18deg);animation:autoclimasQuoteShine 3s ease-in-out infinite;pointer-events:none}
  @keyframes autoclimasQuoteShine{0%,62%{transform:translateX(-170%) skewX(-18deg)}100%{transform:translateX(430%) skewX(-18deg)}}

  /* Evita la franja blanca que aparecía debajo del footer. */
  .footer{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
}

@media (max-width:560px){
  .mobile-quicknav__track{justify-content:flex-start}
}

@media (max-width:430px){
  :root{--mobile-header-h:76px;--mobile-dock-h:60px}
  .mobile-head__inner{padding-inline:10px}
  .brand--mobile{flex-basis:62%}
  .brand--mobile img{height:56px}
  .mobile-head__call,.menu-toggle{width:38px;height:38px}
  .mobile-quicknav a{min-height:44px;padding-inline:9px;font-size:10px}
  .mobile-quicknav__track{min-height:44px}
  .hero{height:clamp(560px,151vw,650px);min-height:560px}
  .hero__content{padding-bottom:30px}
  .hero h1{font-size:clamp(31px,9vw,39px)}
  .hero p{font-size:12px}
  .service-card__image{height:118px}
  .service-card__body{min-height:180px;padding:14px 12px 15px}
  .service-card h3{font-size:15px}
  .brand-logo{height:124px}.brand-logo img{width:auto;max-width:94%;height:auto;max-height:92px}
  .mobile-actionbar__quote{font-size:9.5px;padding-inline:7px}
}

@media (max-width:350px){
  .brand--mobile{flex-basis:60%}
  .brand--mobile img{height:50px}
  .mobile-head__call,.menu-toggle{width:35px;height:35px}
  .services__grid{grid-template-columns:1fr}
  .service-card__image{height:180px}
  .service-card__body{min-height:0}
}

@media (min-width:768px){
  .mobile-actionbar{display:none!important}
  .mobile-quicknav{display:none!important}
  .mobile-menu-overlay{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero__slide,.reveal,.service-card,.service-card img,.brand-logo img,.gallery-item img,.btn{transition:none!important}
  .promo-marquee__track,.mobile-actionbar__quote:after,.choice-card input:checked+span::after{animation:none!important}
  .brand-carousel__track{transition:none!important}.payment-logo-item img,.choice-card>span,.bank-choice>span{transition:none!important}
}

/* === V7.1 · correcciones finas tras comparar con Ritz en varios anchos === */
.service-card__mobile-icon{display:none}

@media (max-width:767px){
  /* Menú tipo grid de la referencia + panel con identidad y cierre propio. */
  .menu-toggle{position:relative;display:grid;place-items:center;padding:7px;background:transparent!important;color:#0066b1}
  .menu-grid-icon{display:block;width:24px;height:24px;fill:currentColor;transition:transform .28s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] .menu-grid-icon{transform:rotate(90deg) scale(.9);opacity:.72}
  .mobile-menu__inner{padding:0 22px 30px}
  .mobile-menu__identity{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -22px 10px;padding:10px 18px;border-bottom:1px solid var(--line);background:#fff}
  .mobile-menu__logo{display:flex;align-items:center;min-width:0}
  .mobile-menu__logo img{width:190px;height:54px;object-fit:contain;object-position:left center}
  .mobile-menu__close{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:0;background:transparent;color:#0066b1;font-size:32px;font-weight:300;line-height:1;cursor:pointer}
  .mobile-menu__close:hover,.mobile-menu__close:focus-visible{background:#eef6fb}

  /* La banda ocupa el ancho completo a partir de ~390px y conserva scroll real en teléfonos estrechos. */
  .mobile-quicknav__track{width:max(100%,380px);min-width:380px;margin:0;padding:0}
  .mobile-quicknav a{flex:1 1 0;padding-inline:8px}

  /* Deja los CTA del hero por encima de la barra fija incluso en 554–767px. */
  .hero{height:clamp(570px,150vw,830px)}
  .hero__content{padding-bottom:92px}

  /* Tarjetas de servicios como la referencia: icono grande, bloque azul y botón blanco; sin foto en móvil. */
  .service-card__image{display:none}
  .service-card__mobile-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 0 14px;border-radius:50%;background:#fff;color:#0066b1}
  .service-card__mobile-icon svg{width:30px;height:30px;fill:currentColor;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .service-card__mobile-icon svg path[fill="none"]{fill:none}
  .service-card__body{min-height:250px;padding:19px 15px 16px}
  .service-card h3{font-size:16px;line-height:1.2}
  .service-card p{font-size:12px;line-height:1.45}
  .service-card a{min-height:38px;display:flex;align-items:center;justify-content:center}
}

@media (max-width:430px){
  .hero__content{padding-bottom:78px}
  .service-card__body{min-height:238px}
  .mobile-menu__logo img{width:175px;height:50px}
}

@media (max-width:350px){
  .mobile-quicknav__track{width:380px;min-width:380px}
  .service-card__body{min-height:0}
}
@media (max-width:767px){
  .service-card__mobile-icon svg.is-outline{fill:none}
  .hero__content{padding-bottom:150px}
}
@media (max-width:430px){.hero__content{padding-bottom:78px}}


/* === V8.1 · ajustes finales de hero móvil, barra inferior y ubicación === */
.hero h1 .hero__line,.hero h1 .hero__accent{display:block}
@media (max-width:767px){
  .hero{align-items:stretch;background:#dfeaf2}
  .hero__shade{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.18) 66%,rgba(5,18,31,.30) 100%),linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(5,18,31,.14) 62%,rgba(5,18,31,.72) 100%)}
  .hero__content{display:flex;align-items:flex-end}
  .hero__copy{position:relative;max-width:345px;padding:28px 18px 18px 0}
  .hero__copy::before{content:"";position:absolute;inset:8px -10px -18px -16px;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.74) 0%,rgba(255,255,255,.58) 58%,rgba(255,255,255,0) 100%);filter:drop-shadow(0 18px 26px rgba(7,18,30,.12))}
  .hero__mobile-kicker{margin-bottom:9px;color:#4c6277;font-size:10px;letter-spacing:.14em}
  .hero h1{max-width:310px;font-size:clamp(35px,9.3vw,47px);line-height:.98;text-shadow:none;color:#10263c}
  .hero h1 .hero__accent{color:#1f9eea}
  .hero h1 .hero__line{color:#10263c}
  .hero p{max-width:285px;margin-top:16px;color:#3f5366;font-size:13px;line-height:1.55;text-shadow:none}
  .hero__actions{margin-top:18px}
  .hero .btn--ghost{display:none}
  .hero .hero-quote-btn{min-height:46px;padding-left:15px;background:linear-gradient(90deg,#059be4 0%,#0aa7ea 100%);box-shadow:0 11px 28px rgba(0,98,163,.2)}
  .hero-quote-btn__arrow{width:44px;min-height:46px}
  .location-card{padding:24px 18px}
  .location-card h3{font-size:24px}
  .location-card__meta{grid-template-columns:1fr}
  .location-card__btn{width:100%;justify-content:center}
  .mobile-actionbar{transition:bottom .24s ease,transform .24s ease}
  .mobile-actionbar.is-docked-end{position:absolute;left:0;right:0;bottom:calc(var(--footer-height, 0px) + env(safe-area-inset-bottom))}
}
@media (max-width:430px){
  .hero__content{padding-bottom:76px}
  .hero__copy{max-width:300px;padding-right:10px}
  .hero__copy::before{inset:10px -8px -14px -10px}
  .hero h1{max-width:280px;font-size:clamp(33px,10vw,42px)}
  .hero p{max-width:260px;font-size:12px}
}



/* === V12.1 · refinado del hero en escritorio más cercano a la referencia Ritz === */
@media (min-width:992px){
  .hero__content{width:min(calc(100% - 34px),var(--container));padding:58px 0 94px}
  .hero__copy{max-width:605px;margin-left:-2px}
  .hero h1{max-width:560px;font-size:clamp(54px,5vw,70px);line-height:.95;letter-spacing:-.045em;text-shadow:0 8px 20px rgba(0,0,0,.14)}
  .hero p{max-width:525px;margin-top:18px;font-size:15px;line-height:1.6;color:rgba(17,28,39,.74);text-shadow:0 1px 0 rgba(255,255,255,.55)}
  .hero__actions{margin-top:24px}
  .hero__shade{background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.90) 32%,rgba(255,255,255,.76) 42%,rgba(255,255,255,.32) 58%,rgba(12,27,44,.06) 70%,rgba(12,27,44,.14) 100%),linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 38%,rgba(11,30,48,.08) 82%,rgba(11,30,48,.14) 100%)}
  .hero .hero-quote-btn{position:relative;min-height:54px;padding:0 0 0 20px;gap:0;overflow:hidden;border-radius:2px;background:linear-gradient(90deg,#1097de 0%,#0fa5e8 52%,#11a0e4 100%);box-shadow:0 14px 28px rgba(4,98,160,.15);font-size:12px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
  .hero .hero-quote-btn::before{content:"";position:absolute;inset:1px 48px 1px 1px;border-radius:1px 0 0 1px;background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.03) 100%);pointer-events:none}
  .hero .hero-quote-btn::after{content:"";position:absolute;top:-18%;bottom:-18%;left:-34%;width:28%;background:linear-gradient(98deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.14) 62%,rgba(255,255,255,0) 100%);transform:translateX(-180%) skewX(-18deg);animation:autoclimasIceShift 3.8s ease-in-out infinite;pointer-events:none}
  .hero .hero-quote-btn:hover{background:linear-gradient(90deg,#0b89ca 0%,#0f9bdb 52%,#1498d5 100%);transform:translateY(-2px)}
  .hero .hero-quote-btn > span:first-child{position:relative;z-index:1}
  .hero-quote-btn__arrow{position:relative;z-index:1;width:48px;min-height:54px;display:grid;place-items:center;margin-left:16px;border-left:1px solid rgba(255,255,255,.3);background:linear-gradient(180deg,#20acef 0%,#0d99dc 100%);font-size:30px;line-height:1}
}

/* === V12.2 · hero móvil tipo Ritz, neblina localizada y dock sin rebote visible === */
@media (max-width:767px){
  .hero{
    align-items:stretch;
    min-height:690px;
    height:clamp(690px,178vw,790px);
    background:#dcecf6;
  }
  .hero__media{z-index:0}
  .hero__slide{transform:none!important}
  .hero__shade{
    background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,0) 30%,rgba(9,27,45,.05) 70%,rgba(9,27,45,.14) 100%);
  }
  .hero__content{
    width:min(calc(100% - 36px),var(--container));
    min-height:100%;
    display:flex;
    align-items:flex-start;
    padding:92px 0 150px;
  }
  .hero__copy{
    position:relative;
    z-index:1;
    max-width:296px;
    padding:0 0 10px;
    margin:0;
  }
  .hero__copy::before{
    content:"";
    position:absolute;
    left:-18px;
    top:-24px;
    width:340px;
    max-width:calc(100vw - 30px);
    height:470px;
    background:
      linear-gradient(90deg,rgba(250,253,255,.97) 0%,rgba(250,253,255,.95) 38%,rgba(250,253,255,.78) 58%,rgba(250,253,255,.42) 77%,rgba(250,253,255,0) 100%),
      radial-gradient(circle at 22% 18%,rgba(255,255,255,.62) 0%,rgba(255,255,255,.24) 30%,rgba(255,255,255,0) 70%);
    filter:blur(2px);
    pointer-events:none;
    z-index:-1;
    border-radius:2px;
  }
  .hero__mobile-kicker{
    display:block;
    position:relative;
    z-index:1;
    margin:0 0 16px;
    color:#20384b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
    text-shadow:0 1px 0 rgba(255,255,255,.92);
    opacity:.95;
  }
  .hero h1{
    position:relative;
    z-index:1;
    max-width:285px;
    margin:0;
    color:#0e2438;
    font-size:clamp(37px,9.5vw,45px);
    font-weight:900;
    line-height:.94;
    letter-spacing:-.05em;
    text-transform:uppercase;
    text-shadow:0 1px 0 rgba(255,255,255,.78),0 16px 28px rgba(18,50,76,.05);
  }
  .hero h1 .hero__accent{color:#17a8ef}
  .hero h1 .hero__line{color:#10263d}
  .hero p{
    position:relative;
    z-index:1;
    max-width:278px;
    margin:20px 0 0;
    color:#42596c;
    font-size:12.6px;
    line-height:1.64;
    font-weight:500;
    text-shadow:0 1px 0 rgba(255,255,255,.78);
  }
  .hero__actions{position:relative;z-index:1;margin-top:24px}
  .hero .btn--ghost{display:none}
  .hero .hero-quote-btn{
    position:relative;
    min-height:48px;
    padding:0 0 0 16px;
    gap:0;
    overflow:hidden;
    border-radius:2px;
    background:linear-gradient(90deg,#1096de 0%,#109ee5 46%,#159fe6 100%);
    box-shadow:0 12px 24px rgba(4,98,160,.16);
    font-size:10.5px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
    transform:none;
  }
  .hero .hero-quote-btn::before{
    content:"";
    position:absolute;
    inset:1px 44px 1px 1px;
    border-radius:1px 0 0 1px;
    background:linear-gradient(180deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.04) 100%);
    pointer-events:none;
  }
  .hero .hero-quote-btn::after{
    content:"";
    position:absolute;
    top:-18%;
    bottom:-18%;
    left:-34%;
    width:28%;
    background:linear-gradient(98deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.8) 48%,rgba(255,255,255,.16) 62%,rgba(255,255,255,0) 100%);
    transform:translateX(-180%) skewX(-18deg);
    animation:autoclimasIceShift 3.8s ease-in-out infinite;
    pointer-events:none;
  }
  .hero .hero-quote-btn:hover{transform:none;background:linear-gradient(90deg,#0d88c9 0%,#1198da 48%,#1596d8 100%)}
  .hero .hero-quote-btn > span:first-child{position:relative;z-index:1}
  .hero-quote-btn__arrow{
    position:relative;
    z-index:1;
    width:44px;
    min-height:48px;
    display:grid;
    place-items:center;
    margin-left:14px;
    border-left:1px solid rgba(255,255,255,.3);
    background:linear-gradient(180deg,#23acef 0%,#0e99dc 100%);
    font-size:28px;
    line-height:1;
  }
  .hero__dots{display:none}

  .mobile-actionbar{
    bottom:0!important;
    transform:translate3d(0,var(--mobile-dock-shift,0px),0);
    transition:none!important;
    will-change:transform;
  }
}
@media (max-width:430px){
  .hero{min-height:660px;height:clamp(660px,178vw,748px)}
  .hero__content{width:min(calc(100% - 28px),var(--container));padding:80px 0 144px}
  .hero__copy{max-width:280px}
  .hero__copy::before{left:-14px;top:-18px;width:310px;height:448px}
  .hero__mobile-kicker{margin-bottom:12px;font-size:9.6px}
  .hero h1{max-width:270px;font-size:clamp(33px,10.2vw,41px)}
  .hero p{max-width:252px;margin-top:18px;font-size:12px;line-height:1.6}
  .hero__actions{margin-top:22px}
  .hero .hero-quote-btn{min-height:46px;padding-left:15px;font-size:10px}
  .hero-quote-btn__arrow{width:42px;min-height:46px;margin-left:13px;font-size:26px}
}

/* Efecto de fondo de la sección de atención, igual al comportamiento de referencia en escritorio. */
@media (min-width:1025px){
  .cta-band{background-attachment:fixed}
}


/* === V13 · ajuste fino según referencia Ritz === */

/* Mapa real: limpio, sin dibujo artificial encima. */
.location__map{position:relative;background:#e8eef2}
.location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.location__map::before,.location__map-grid,.location__pin,.location__map-label{display:none!important}
.location__map-open{position:absolute;left:18px;bottom:18px;z-index:3;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;background:rgba(255,255,255,.94);border:1px solid rgba(10,52,82,.12);box-shadow:0 10px 26px rgba(7,29,48,.14);color:#0d4169;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px)}
.location__map-open:hover{background:#fff;color:#0066b1}

@media (min-width:992px){
  /* Hero PC: jerarquía y aire más cercanos a la referencia, sin bloque pesado. */
  .hero{min-height:600px;height:min(68vh,700px);max-height:700px}
  .hero__content{width:min(calc(100% - 40px),1220px);padding:54px 0 86px}
  .hero__copy{max-width:640px;margin:0}
  .hero__shade{background:linear-gradient(90deg,rgba(250,253,255,.96) 0%,rgba(250,253,255,.92) 31%,rgba(250,253,255,.72) 45%,rgba(250,253,255,.30) 59%,rgba(12,27,44,.05) 72%,rgba(12,27,44,.11) 100%)}
  .eyebrow--hero{margin-bottom:13px;color:#56aee4;font-size:11px;letter-spacing:.16em}
  .hero h1{max-width:670px;font-size:clamp(50px,4.55vw,64px);line-height:.96;letter-spacing:-.046em;text-shadow:0 1px 0 rgba(255,255,255,.72),0 10px 24px rgba(15,43,66,.05)}
  .hero h1 .hero__accent{color:#1ca8ee}
  .hero h1 .hero__line{color:#112b43}
  .hero p{max-width:535px;margin-top:20px;color:#526373;font-size:14px;line-height:1.62;text-shadow:0 1px 0 rgba(255,255,255,.7)}
  .hero__actions{margin-top:24px}
  .hero .hero-quote-btn{min-height:52px;padding-left:19px;font-size:11.5px;box-shadow:0 9px 22px rgba(0,119,184,.15)}
  .hero-quote-btn__arrow{min-height:52px;width:47px}
  .hero .btn--ghost{min-height:52px;background:rgba(11,30,48,.08);border-color:rgba(17,43,67,.22);color:#173650;backdrop-filter:none}
  .hero .btn--ghost:hover{background:#173650;color:#fff}
  .quick-cards{margin-top:-46px}
  .quick-card{min-height:158px;padding:24px 22px}
}

@media (max-width:767px){
  /* El fondo queda visible; la luz se concentra alrededor del título, sin rectángulo. */
  .hero__shade{background:linear-gradient(180deg,rgba(255,255,255,.025) 0%,rgba(255,255,255,0) 40%,rgba(5,22,38,.035) 76%,rgba(5,22,38,.12) 100%)}
  .hero__copy::before{display:none!important}
  .hero h1{isolation:isolate}
  .hero h1::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:-24px;
    right:-24px;
    top:-24px;
    bottom:-25px;
    background:
      radial-gradient(ellipse 78% 19% at 36% 9%,rgba(255,255,255,.92) 0%,rgba(255,255,255,.66) 44%,rgba(255,255,255,0) 82%),
      radial-gradient(ellipse 92% 21% at 43% 31%,rgba(255,255,255,.91) 0%,rgba(255,255,255,.62) 48%,rgba(255,255,255,0) 84%),
      radial-gradient(ellipse 94% 22% at 43% 54%,rgba(255,255,255,.88) 0%,rgba(255,255,255,.58) 48%,rgba(255,255,255,0) 85%),
      radial-gradient(ellipse 95% 24% at 42% 78%,rgba(255,255,255,.84) 0%,rgba(255,255,255,.52) 47%,rgba(255,255,255,0) 86%),
      radial-gradient(ellipse 84% 20% at 38% 98%,rgba(255,255,255,.70) 0%,rgba(255,255,255,.36) 42%,rgba(255,255,255,0) 82%);
    filter:blur(13px);
    opacity:.92;
    pointer-events:none;
  }
  .hero__mobile-kicker{position:relative;z-index:2;text-shadow:0 0 7px rgba(255,255,255,.95),0 0 15px rgba(255,255,255,.75)}
  .hero p{text-shadow:0 0 7px rgba(255,255,255,.98),0 0 14px rgba(255,255,255,.85)}

  /* Barra móvil: dimensiones y colores de la referencia Ritz. */
  .mobile-actionbar{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:900;
    display:grid;
    grid-template-columns:18% 18% 18% 46%;
    width:100%;
    height:64px;
    margin:0;
    background:#fff;
    box-shadow:0 -5px 18px rgba(0,0,0,.16);
    transform:none!important;
    transition:none!important;
    will-change:auto;
  }
  .mobile-actionbar.is-sticky-active{z-index:900;box-shadow:0 -5px 18px rgba(0,0,0,.16)}
  .mobile-actionbar__spacer{display:block;width:100%;height:64px;background:transparent;pointer-events:none}
  .mobile-actionbar a{min-width:0;color:#fff}
  .mobile-actionbar__item,.mobile-actionbar__quote{height:64px;display:flex;align-items:center;justify-content:center}
  .mobile-actionbar__item{background:#1EBE5D}
  .mobile-actionbar__item--call{border-left:1px solid rgba(255,255,255,.46)}
  .mobile-actionbar__item--message{background:#099fc9}
  .mobile-actionbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-actionbar__item--wa svg{width:24px;height:24px;fill:currentColor;stroke:none}
  .mobile-actionbar__quote{position:relative;overflow:hidden;gap:7px;padding:0 10px;background:#F0A81E;color:#412402;font-size:10.5px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
  .mobile-actionbar__quote:hover{background:#FFB733;color:#412402}
  .mobile-actionbar__quote:active{transform:scale(.98)}
  .mobile-actionbar__quote svg{width:21px;height:21px;flex:0 0 auto}
  .mobile-actionbar__quote::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:translateX(-170%) skewX(-18deg);animation:ritzQuoteShine 3s ease-in-out infinite;pointer-events:none}
  @keyframes ritzQuoteShine{0%,62%{transform:translateX(-170%) skewX(-18deg)}100%{transform:translateX(430%) skewX(-18deg)}}
  .footer{position:relative;z-index:1}
  .location__map{height:330px}
  .location__map-open{left:12px;bottom:12px;min-height:42px;padding:0 13px;font-size:10px}
}

@media (max-width:430px){
  .hero h1::before{left:-18px;right:-18px;top:-20px;bottom:-21px;filter:blur(11px)}
  .mobile-actionbar__quote{font-size:9.5px;padding-inline:7px}
}

@media (prefers-reduced-motion: reduce){
  .mobile-actionbar__quote::after{animation:none!important}
}


/* V13.1 · microajustes de posición del hero móvil */
@media (max-width:767px){
  .hero__content{width:min(calc(100% - 52px),var(--container));padding-top:118px}
  .hero__copy{max-width:292px}
  .hero h1{max-width:282px}
  .hero p{max-width:270px}
  .location__map{background:#e7eef3 url('../images/location/autoclimas-map.svg') center/cover no-repeat}
}
@media (max-width:430px){
  .hero__content{width:min(calc(100% - 48px),var(--container));padding-top:108px;padding-bottom:144px}
  .hero__copy{max-width:278px}
  .hero h1{max-width:270px;font-size:clamp(32px,9.85vw,39px)}
  .hero p{max-width:252px}
}


/* === V14 · ajuste final de lectura, posición y mapa === */
@media (min-width:992px){
  .hero__content{
    width:100%;
    max-width:none;
    padding:58px clamp(46px,4.6vw,78px) 88px;
  }
  .hero__copy{max-width:575px}
  .eyebrow--hero{
    margin-bottom:12px;
    color:#61b5ea;
    font-size:10px;
    letter-spacing:.16em;
  }
  .hero h1{
    max-width:560px;
    font-size:clamp(46px,4.15vw,60px);
    line-height:.955;
    letter-spacing:-.045em;
  }
  .hero p{
    max-width:470px;
    margin-top:16px;
    color:#5f6f7b;
    font-size:13.5px;
    line-height:1.58;
    font-weight:500;
    text-shadow:0 1px 0 rgba(255,255,255,.74);
  }
  .hero__actions{margin-top:22px}
  .hero .hero-quote-btn{min-height:51px;font-size:11px}
  .hero-quote-btn__arrow{min-height:51px;width:46px}
}

@media (max-width:767px){
  .hero__content{
    width:min(calc(100% - 40px),var(--container));
    padding-top:94px;
    padding-bottom:138px;
  }
  .hero__copy{max-width:258px}
  .hero__mobile-kicker{display:none!important}
  .hero h1{
    max-width:252px;
    font-size:clamp(30px,8.9vw,36px);
    line-height:.94;
    letter-spacing:-.048em;
  }
  .hero h1::before{
    left:-16px;
    right:-12px;
    top:-18px;
    bottom:-15px;
    filter:blur(10px);
    opacity:.9;
  }
  .hero p{display:none}
  .hero__actions{margin-top:18px}
  .hero .hero-quote-btn{min-height:46px;padding-left:15px;font-size:10px}
  .hero-quote-btn__arrow{width:42px;min-height:46px;margin-left:12px;font-size:25px}
  .location__map iframe{background:#e7eef3}
}

@media (max-width:430px){
  .hero__content{
    width:min(calc(100% - 34px),var(--container));
    padding-top:88px;
    padding-bottom:136px;
  }
  .hero__copy{max-width:248px}
  .hero h1{max-width:242px;font-size:clamp(29px,8.8vw,34px)}
  .hero h1::before{left:-14px;right:-10px;top:-16px;bottom:-14px;filter:blur(9px)}
}


/* ==========================================================
   HERO REFERENCIA ORIGINAL
   Solo tipografía, línea y botón.
   NO modifica la posición del hero.
   ========================================================== */

/*
 Fuente usada por la web original enviada:
 Chivo 900.
*/
@font-face{
  font-family:"AC-Chivo";
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url("https://fonts.gstatic.com/s/chivo/v21/va9I4kzIxd1KFrBoQeM.woff2") format("woff2");
}


/* El bloque conserva la ubicación que AUTOCLIMAS ya tenía. */
.hero .hero__copy--reference{
  width:auto;
}


/* TÍTULO */
.hero .hero__reference-title{
  position:relative;
  z-index:2;

  margin:0;

  font-family:"AC-Chivo",Inter,"Arial Black",Arial,sans-serif;
  font-size:36px;
  font-style:italic;
  font-weight:900;

  line-height:.95;
  letter-spacing:-.025em;

  text-transform:uppercase;

  /*
   Igual al drop-shadow del proyecto original:
   drop-shadow-[0_2px_10px_rgba(255,255,255,0.6)]
  */
  filter:drop-shadow(0 2px 10px rgba(255,255,255,.60));

  text-shadow:none;
}


/* Cada renglón independiente, igual al original */
.hero .hero__reference-title span{
  display:block;
}


/* Azul oscuro original */
.hero .hero__reference-dark{
  color:#0B2A6B;
}


/* Azul brillante original */
.hero .hero__reference-blue{
  color:#1E6FEB;
}


/* Línea azul del diseño original */
.hero .hero__reference-line{
  width:160px;
  height:8px;

  margin-top:10px;

  border-radius:999px;

  background:#1E6FEB;
}


/* BOTÓN ORIGINAL */
.hero .hero__reference-cta{
  position:relative;
  z-index:3;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:max-content;
  max-width:100%;

  gap:8px;

  margin-top:10px;

  padding:6px 16px;

  border:0;
  border-radius:8px;

  background:#1E6FEB;

  color:#fff;

  font-size:10px;
  font-weight:900;
  line-height:1.2;

  letter-spacing:.055em;

  text-transform:uppercase;

  box-shadow:
    0 12px 35px
    rgba(30,111,235,.45);

  text-decoration:none;

  transition:
    background-color .2s ease,
    transform .2s ease;
}


.hero .hero__reference-cta:hover{
  background:#1559D6;
  color:#fff;
  transform:translateY(-1px);
}


/*
 No usamos SVG.
 Esto elimina definitivamente el triángulo negro que apareció.
*/
.hero .hero__reference-arrow{
  display:inline-block;

  margin-left:2px;

  color:#fff;

  font-family:Arial,sans-serif;
  font-size:22px;
  font-style:normal;
  font-weight:700;

  line-height:.65;
}


/* ==========================================================
   MÓVIL

   IMPORTANTE:
   aquí NO establecemos padding-top ni align-items.
   Se conserva la posición anterior del sitio.
   ========================================================== */

@media (max-width:767px){

  .hero .hero__copy--reference{
    max-width:355px;
  }

  .hero .hero__reference-title{
    max-width:355px;

    font-size:36px;
    line-height:.95;
  }

  /*
   La neblina cuadrada NO vuelve.
   Conservamos limpio el título.
  */
  .hero .hero__reference-title::before{
    display:none!important;
    content:none!important;
  }

  .hero .hero__reference-line{
    width:160px;
    height:8px;

    margin-top:10px;
  }

  .hero .hero__reference-cta{
    gap:8px;

    margin-top:10px;

    padding:6px 16px;

    border-radius:8px;

    font-size:10px;
  }

  .hero .hero__reference-arrow{
    font-size:22px;
  }
}


/* Teléfonos muy angostos */
@media (max-width:374px){

  .hero .hero__reference-title{
    font-size:33px;
  }
}


/* ==========================================================
   TABLET / PC
   El ZIP original cambia a 60px desde sm.
   ========================================================== */

@media (min-width:640px){

  .hero .hero__copy--reference{
    max-width:672px;
  }

  .hero .hero__reference-title{
    max-width:672px;

    font-size:60px;
    line-height:.95;
  }

  .hero .hero__reference-line{
    width:224px;
    height:8px;

    margin-top:16px;
  }

  .hero .hero__reference-cta{
    gap:10px;

    margin-top:24px;

    padding:16px 32px;

    border-radius:12px;

    font-size:16px;
  }

  .hero .hero__reference-arrow{
    font-size:30px;
  }
}


/* Accesibilidad */
@media (prefers-reduced-motion:reduce){

  .hero .hero__reference-cta{
    transition:none;
  }

  .hero .hero__reference-cta:hover{
    transform:none;
  }
}

/* === RESPONSIVE HERO PICTURES === */

/*
   Cada picture ocupa exactamente todo el hero.
   El IMG conserva el mismo comportamiento del slider anterior.
*/

.hero__picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}

.hero__picture .hero__slide{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;

  /*
    Las nuevas fotos ya fueron preparadas específicamente
    para desktop y móvil, por eso usamos encuadre central.
  */
  object-position:center center!important;
}

/*
   Evita que las antiguas reglas nth-child del slider
   cambien individualmente el encuadre.
*/
@media (max-width:767px){
  .hero__picture .hero__slide{
    object-position:center center!important;
  }
}

@media (min-width:768px){
  .hero__picture .hero__slide{
    object-position:center center!important;
  }
}

/* === END RESPONSIVE HERO PICTURES === */

/* === GALERIA AGRUPADA === */

.gallery-page{
  background:#08131d;
  color:#fff;
}

.gallery-group{
  width:100%;
}

.gallery-group + .gallery-group{
  margin-top:68px;
}

.gallery-group__heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}

.gallery-group__heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(25px,2.4vw,36px);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.025em;
}

.gallery-group__line{
  display:block;
  width:7px;
  height:38px;
  flex:0 0 7px;
  border-radius:999px;
  background:#1e6feb;
}

.gallery-page__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

/*
   Todas las tarjetas conservan el mismo tamaño,
   pero la fotografía se muestra completa.
*/
.gallery-page__item{
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  margin:0;
  overflow:hidden;

  aspect-ratio:4 / 3;

  background:#0d1d29;

  border:1px solid rgba(255,255,255,.09);

  box-shadow:
    0 12px 32px
    rgba(0,0,0,.18);
}

.gallery-page__item img{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center;

  background:#0d1d29;

  transition:transform .35s ease;
}

.gallery-page__item:hover img{
  transform:scale(1.015);
}

@media(max-width:900px){

  .gallery-page__grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:14px;
  }

  .gallery-group + .gallery-group{
    margin-top:52px;
  }
}

@media(max-width:560px){

  .gallery-group__heading{
    gap:11px;
    margin-bottom:17px;
  }

  .gallery-group__heading h2{
    font-size:25px;
  }

  .gallery-group__line{
    width:6px;
    height:31px;
    flex-basis:6px;
  }

  .gallery-page__grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .gallery-group + .gallery-group{
    margin-top:46px;
  }
}

@media(prefers-reduced-motion:reduce){

  .gallery-page__item img{
    transition:none!important;
  }

  .gallery-page__item:hover img{
    transform:none;
  }
}

/* === END GALERIA AGRUPADA === */

/* === REMOVE MOBILE QUICKNAV === */
@media (max-width: 767px) {
  .mobile-quicknav {
    display: none !important;
  }
}
/* === END REMOVE MOBILE QUICKNAV === */

/* === AP NEURAL WEB CREDIT START === */

/*
   Crédito AP Neural Web
   Una sola línea:
   Derecho reservado por | LOGO | AP Neural Web
*/

.footer__bottom .creator-credit{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  flex:0 0 auto;

  gap:10px;

  margin:0 18px;
  padding:0;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;

  white-space:nowrap;
}


/* ==========================================================
   LETRA TIPO CARTA - ROJO VINO
   ========================================================== */

.footer__bottom .creator-credit__label,
.footer__bottom .creator-credit__name{
  color:#7a1f32;

  font-family:
    "Brush Script MT",
    "Segoe Script",
    "Lucida Handwriting",
    "Apple Chancery",
    cursive;

  font-size:17px;
  font-weight:600;
  font-style:italic;

  line-height:1;

  letter-spacing:.015em;

  text-transform:none;
}


.footer__bottom .creator-credit__name{
  text-decoration:none;

  transition:
    opacity .2s ease,
    text-shadow .2s ease;
}


.footer__bottom .creator-credit__name:hover{
  opacity:.86;

  text-shadow:
    0 0 8px
    rgba(122,31,50,.25);
}


/* ==========================================================
   LOGO
   No se modifica el SVG.
   Solo se muestra el archivo nuevo con el mismo nombre.
   ========================================================== */

.footer__bottom .creator-credit__link{
  position:relative;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  margin:0;
  padding:4px 7px;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;

  border-radius:12px;

  text-decoration:none;

  animation:
    ap-neural-black-pulse
    2.6s
    ease-in-out
    infinite;

  transition:
    transform .22s ease,
    opacity .22s ease;

  -webkit-tap-highlight-color:transparent;
}


/* ==========================================================
   LUZ NEGRA SUAVE PULSANTE
   ========================================================== */

@keyframes ap-neural-black-pulse{

  0%,
  100%{
    filter:
      drop-shadow(
        0 0 2px
        rgba(0,0,0,.30)
      )
      drop-shadow(
        0 0 5px
        rgba(0,0,0,.18)
      );
  }

  50%{
    filter:
      drop-shadow(
        0 0 6px
        rgba(0,0,0,.58)
      )
      drop-shadow(
        0 0 13px
        rgba(0,0,0,.34)
      )
      drop-shadow(
        0 0 20px
        rgba(0,0,0,.16)
      );
  }
}


.footer__bottom .creator-credit__link:hover{
  transform:scale(1.045);

  opacity:.94;
}


.footer__bottom .creator-credit__link:focus-visible{
  outline:
    2px solid
    #7a1f32;

  outline-offset:4px;
}


/* SVG totalmente respetado */
.footer__bottom .creator-credit__logo{
  display:block;

  width:auto;
  height:auto;

  max-width:110px;
  max-height:40px;

  margin:0;
  padding:0;

  background:transparent !important;

  object-fit:contain;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width:900px){

  .footer__bottom .creator-credit{
    gap:8px;

    margin:
      8px 10px;
  }

  .footer__bottom .creator-credit__logo{
    max-width:92px;
    max-height:34px;
  }

  .footer__bottom .creator-credit__label,
  .footer__bottom .creator-credit__name{
    font-size:15px;
  }
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width:560px){

  .footer__bottom .creator-credit{
    width:100%;

    justify-content:center;

    gap:6px;

    margin:
      10px 0;

    padding:
      0 3px;

    order:2;
  }

  .footer__bottom .creator-credit__logo{
    max-width:76px;
    max-height:30px;
  }

  .footer__bottom .creator-credit__label,
  .footer__bottom .creator-credit__name{
    font-size:13px;
  }

  .footer__bottom .creator-credit__link{
    padding:
      3px 5px;
  }

  .footer__bottom > p:first-of-type{
    order:1;
  }

  .footer__bottom > p:last-of-type{
    order:3;
  }
}


/* Teléfonos muy pequeños */
@media (max-width:360px){

  .footer__bottom .creator-credit{
    gap:4px;
  }

  .footer__bottom .creator-credit__logo{
    max-width:65px;
  }

  .footer__bottom .creator-credit__label,
  .footer__bottom .creator-credit__name{
    font-size:11px;
  }
}


/* Accesibilidad */
@media (prefers-reduced-motion:reduce){

  .footer__bottom .creator-credit__link{
    animation:none !important;
    transition:none !important;
  }

  .footer__bottom .creator-credit__link:hover{
    transform:none;
  }
}

/* === AP NEURAL WEB CREDIT END === */

