:root{
  --yellow:#ffcc00;
  --yellow-soft:#fff5bf;
  --red:#d71920;
  --red-dark:#ad1016;
  --ink:#111820;
  --steel:#4b5563;
  --muted:#68717c;
  --line:#e7e9ed;
  --bg:#f6f7f9;
  --white:#fff;
  --shadow:0 18px 60px rgba(17,24,32,.10);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.eyebrow::before{content:"";width:28px;height:3px;border-radius:3px;background:var(--yellow)}
h1,h2,h3{line-height:1.06;margin:0 0 16px;letter-spacing:-.03em}
h1{font-size:clamp(2.75rem,6vw,5.8rem)}
h2{font-size:clamp(2rem,4vw,3.5rem)}
h3{font-size:1.25rem}
p{margin:0 0 16px;color:var(--muted)}
.small{font-size:.88rem}
.section{padding:92px 0}
.section.gray{background:var(--bg)}
.section.dark{background:var(--ink);color:var(--white)}
.section.dark p{color:#cfd4da}
.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:42px}
.section-head p{max-width:650px;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 22px;font-weight:850;cursor:pointer;transition:.25s ease;min-height:50px}
.btn.primary{background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(215,25,32,.24)}
.btn.primary:hover{background:var(--red-dark);transform:translateY(-2px)}
.btn.dark{background:var(--ink);color:#fff}
.btn.yellow{background:var(--yellow);color:var(--ink)}
.btn.ghost{border:1px solid #d8dce2;background:#fff;color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink)}
.btn.slim{padding:10px 16px;min-height:42px}
.topbar{background:var(--ink);color:#fff;font-size:.86rem}
.topbar .container{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:9px 0}
.topbar a{color:#fff}.topbar strong{color:var(--yellow)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,24,32,.07)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:210px}
.brand img{height:62px;width:auto;object-fit:contain}
.brand-copy{font-size:.73rem;font-weight:800;line-height:1.2;color:var(--steel);display:none}
.nav-links{display:flex;align-items:center;gap:26px;font-size:.93rem;font-weight:750}
.nav-links a{position:relative}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:3px;background:var(--yellow);transition:.2s}
.nav-links a:not(.btn):hover::after,.nav-links a.active:not(.btn)::after{width:100%}
.menu-toggle{display:none;border:0;background:var(--ink);color:#fff;border-radius:12px;width:44px;height:44px;font-size:1.3rem}
.hero{position:relative;min-height:720px;display:grid;align-items:center;overflow:hidden;background:#101820;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,13,18,.98) 0%,rgba(8,13,18,.85) 42%,rgba(8,13,18,.30) 72%,rgba(8,13,18,.18) 100%),url('../assets/catalogo/maniobra-doble-grua-tanque.webp'),url('../assets/fallback-equipo.svg');background-position:center,center 45%,center;background-size:cover,cover,cover;background-repeat:no-repeat;transform:scale(1.02)}
.hero::after{content:"";position:absolute;right:-140px;bottom:-190px;width:520px;height:520px;border-radius:50%;border:95px solid rgba(255,204,0,.08)}
.hero .container{position:relative;z-index:2}
.hero-content{max-width:760px;padding:84px 0}
.hero h1 span{color:var(--yellow)}
.hero p{color:#dde2e7;font-size:1.12rem;max-width:680px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}
.hero-points{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem;color:#f1f3f4}
.hero-points span{display:flex;align-items:center;gap:8px}.hero-points span::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:900}
.quickbar{position:relative;margin-top:-46px;z-index:4}
.quickbar-card{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quick-item{padding:18px;border-radius:16px;background:#fafafa;border:1px solid var(--line)}
.quick-item strong{display:block;font-size:1.03rem}.quick-item span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}
.quick-item b{color:var(--red)}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.equipment-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.28s ease;box-shadow:0 10px 30px rgba(17,24,32,.04)}
.equipment-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.equipment-image{height:220px;position:relative;overflow:hidden;background:#20252b}
.equipment-image img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.equipment-card:hover .equipment-image img{transform:scale(1.05)}

.card-tag{position:absolute;top:14px;left:14px;background:var(--yellow);color:var(--ink);font-size:.73rem;font-weight:900;padding:7px 10px;border-radius:999px}
.equipment-body{padding:22px}
.equipment-body p{font-size:.92rem;min-height:66px}
.equipment-meta{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:.82rem;color:var(--steel)}
.card-actions{display:flex;gap:10px;margin-top:18px}.card-actions .btn{flex:1}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#343c44;border-radius:20px;overflow:hidden;margin-top:44px}
.stat{background:#202830;padding:26px;color:#fff}.stat strong{display:block;color:var(--yellow);font-size:1.35rem}.stat span{font-size:.82rem;color:#d8dde2}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.visual-panel{position:relative;min-height:520px;border-radius:var(--radius);overflow:hidden;background:#222}
.visual-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visual-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,16,22,.8))}
.visual-note{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;background:rgba(255,255,255,.94);padding:20px;border-radius:18px}
.visual-note strong{display:block;font-size:1.1rem}.visual-note p{margin:6px 0 0;font-size:.88rem}
.checklist{display:grid;gap:12px;margin:26px 0}
.check{display:flex;gap:12px;align-items:flex-start}.check i{font-style:normal;background:var(--yellow);color:var(--ink);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 28px}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.step{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff;position:relative}.step b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--yellow);margin-bottom:16px}.step p{font-size:.9rem;margin:0}
.coverage{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:stretch}
.coverage-card{border-radius:24px;background:linear-gradient(135deg,#171f27,#28333e);padding:34px;color:#fff;position:relative;overflow:hidden}.coverage-card::after{content:"";position:absolute;width:280px;height:280px;border:60px solid rgba(255,204,0,.08);border-radius:50%;right:-90px;top:-80px}.coverage-card p{color:#d7dde2}.coverage-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.coverage-chips span{background:#fff;color:var(--ink);padding:10px 13px;border-radius:999px;font-weight:800;font-size:.82rem}
.cta-band{background:var(--yellow);border-radius:28px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font-size:clamp(2rem,4vw,3.3rem);max-width:750px;margin:0}.cta-band p{color:#333;max-width:700px;margin-top:10px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px}.contact-lines{display:grid;gap:14px;margin-top:22px}.contact-line{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.contact-line:last-child{border:0}.contact-line span{color:var(--muted);font-size:.85rem}.contact-line strong{text-align:right}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #d8dde4;border-radius:14px;padding:13px 14px;outline:none;background:#fff}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,204,0,.20)}
.notice{border-left:4px solid var(--yellow);background:#fff8d3;padding:14px 16px;border-radius:10px;color:#5b5225;font-size:.85rem}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter-btn{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer}.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.searchbar{display:flex;gap:12px;margin-bottom:20px}.searchbar input{flex:1;border:1px solid var(--line);border-radius:14px;padding:13px 15px}
.page-hero{padding:78px 0 54px;background:linear-gradient(135deg,#111820,#27323b);color:#fff}.page-hero p{color:#d2d8de;max-width:760px}.breadcrumbs{font-size:.82rem;color:#c8cdd2;margin-bottom:18px}.breadcrumbs a{color:var(--yellow)}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.detail-image{border-radius:24px;overflow:hidden;min-height:430px;background:#20252b}.detail-image img{width:100%;height:100%;object-fit:cover;min-height:430px}.detail-card{border:1px solid var(--line);padding:22px;border-radius:18px;background:#fff}.detail-card strong{display:block;margin-bottom:5px}.detail-card p{margin:0}
.quote-layout{display:grid;grid-template-columns:1fr 380px;gap:30px;align-items:start}.quote-summary{position:sticky;top:112px;border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff}.summary-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:.9rem}.summary-row:last-child{border:0}.summary-row span{color:var(--muted)}
.site-footer{background:#0d141a;color:#fff;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-logo{height:80px;background:#fff;border-radius:14px;padding:7px}.site-footer p,.site-footer a{color:#b9c2ca}.site-footer h4{margin:0 0 14px}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid #26313a;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#98a4ae}
.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:70;width:58px;height:58px;border:0;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 14px 32px rgba(0,0,0,.25);font-size:1.35rem;cursor:pointer}.chat-box{position:fixed;right:22px;bottom:92px;width:min(370px,calc(100vw - 32px));max-height:560px;z-index:70;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:hidden;display:none}.chat-box.open{display:block}.chat-head{padding:18px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-head strong{color:var(--yellow)}.chat-messages{padding:16px;display:grid;gap:10px;max-height:330px;overflow:auto;background:#f7f8fa}.bubble{max-width:86%;padding:10px 12px;border-radius:14px;font-size:.88rem}.bubble.bot{background:#fff;border:1px solid var(--line)}.bubble.user{background:var(--yellow);justify-self:end}.chat-options{padding:14px;display:flex;flex-wrap:wrap;gap:8px}.chat-option{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 11px;font-size:.78rem;font-weight:800;cursor:pointer}
.mobile-cta{display:none}
.reveal{opacity:0;transform:translateY(24px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
.hidden{display:none!important}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,40px);opacity:0;z-index:100;background:#111820;color:#fff;padding:12px 16px;border-radius:999px;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){
  .nav-links{position:fixed;inset:86px 16px auto 16px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:22px;display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-toggle{display:block}.nav-links .btn{width:100%}
  .quickbar-card,.equipment-grid,.process,.stats-strip{grid-template-columns:repeat(2,1fr)}
  .split,.coverage,.contact-grid,.detail-hero,.quote-layout{grid-template-columns:1fr}.quote-summary{position:static}.footer-grid{grid-template-columns:1fr 1fr}.hero::before{background-image:linear-gradient(90deg,rgba(8,13,18,.95),rgba(8,13,18,.72)),url('../assets/catalogo/maniobra-doble-grua-tanque.webp'),url('../assets/fallback-equipo.svg');background-position:center,center,center;background-size:cover,cover,cover}
}
@media(max-width:640px){
  .container{width:min(100% - 24px,1180px)}.section{padding:70px 0}.topbar .container{justify-content:center}.topbar .hide-sm{display:none}.nav{height:74px}.brand img{height:52px}.nav-links{inset:74px 12px auto 12px}
  .hero{min-height:680px}.hero-content{padding:68px 0 90px}.hero p{font-size:1rem}.hero-actions .btn{width:100%}.quickbar{margin-top:-28px}.quickbar-card,.equipment-grid,.process,.stats-strip,.form-grid{grid-template-columns:1fr}.section-head{display:block}.section-head .btn{margin-top:16px}.equipment-image{height:205px}.cta-band{padding:30px 22px;display:block}.cta-band .btn{margin-top:18px;width:100%}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:65;padding:8px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 38px rgba(0,0,0,.18)}.chat-launcher{bottom:88px;right:14px}.chat-box{bottom:156px;right:14px}.field.full{grid-column:auto}.visual-panel{min-height:420px}.contact-line{display:block}.contact-line strong{display:block;text-align:left;margin-top:4px}
}
@media(max-width:640px){
  #equipment-modal>div>div{grid-template-columns:1fr!important}
  #equipment-modal img{max-height:230px}
}

/* ===== Cotizador inteligente v2 ===== */
.hero-logo-card{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:18px;padding:8px 14px;margin-bottom:22px;box-shadow:0 14px 40px rgba(0,0,0,.22)}
.hero-logo-card img{height:86px;width:auto}
.page-hero-logo{display:inline-flex;background:#fff;border-radius:18px;padding:8px 12px;margin:14px 0 20px;box-shadow:0 12px 36px rgba(0,0,0,.18)}
.page-hero-logo img{height:78px;width:auto}
.quote-page-hero h1{font-size:clamp(2.7rem,6vw,5.2rem)}
.quote-section{padding-top:60px}
.quote-layout-pro{grid-template-columns:minmax(0,1fr) 390px;gap:28px}
.quote-wizard{padding:0;overflow:hidden}
.wizard-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:30px 32px 24px;border-bottom:1px solid var(--line)}
.wizard-head h2{font-size:2.1rem;margin:8px 0 8px}.wizard-head p{margin:0;max-width:650px}
.draft-status{flex:0 0 auto;background:#eef9f0;border:1px solid #cfe8d4;color:#2c6a39;border-radius:999px;padding:8px 11px;font-size:.75rem;font-weight:800}
.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fbfbfc;border-bottom:1px solid var(--line)}
.progress-step{position:relative;border:0;background:transparent;padding:16px 10px;color:#8a929c;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.progress-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5e8eb;color:#727b85;font-size:.78rem}
.progress-step.active{color:var(--ink);background:#fff}.progress-step.active b{background:var(--yellow);color:var(--ink)}
.progress-step.done{color:#2b6e3c}.progress-step.done b{background:#dff2e4;color:#2b6e3c}.progress-step.done b::after{content:'✓';font-size:.8rem}.progress-step.done b{font-size:0}
.wizard-panel{display:none;padding:30px 32px 32px}.wizard-panel.active{display:block;animation:wizardIn .28s ease}
@keyframes wizardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wizard-title{margin-bottom:24px}.wizard-title>span{font-size:.76rem;font-weight:900;color:var(--red);letter-spacing:.09em;text-transform:uppercase}.wizard-title h3{font-size:1.8rem;margin:5px 0 7px}.wizard-title p{margin:0}
.field small.field-help{font-size:.75rem;color:var(--muted);margin-top:1px}
.smart-recommendation{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#fff9d7,#fff4aa);border:1px solid #f4df73;border-radius:18px;padding:16px 18px;margin-top:18px}.smart-recommendation p{margin:3px 0 0;font-size:.86rem;color:#514b2a}.recommend-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--ink);color:var(--yellow);font-weight:950}
.technical-tip{margin-top:18px;border:1px solid #dce2e7;background:#f8fafb;border-radius:14px;padding:13px 15px;color:#53606d;font-size:.84rem}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.final-actions>div{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.quote-summary-pro{padding:22px;box-shadow:0 18px 60px rgba(17,24,32,.08)}.summary-logo{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:16px;padding:8px;margin-bottom:20px}.summary-logo img{height:92px;width:auto}.quote-summary-pro h3{font-size:1.55rem;margin:8px 0 10px}.summary-status{display:flex;align-items:center;gap:9px;background:#f7f8fa;border-radius:12px;padding:10px 12px;margin-bottom:10px;font-size:.78rem;font-weight:800;color:#4d5761}.status-dot{width:9px;height:9px;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 4px rgba(255,204,0,.18)}.quote-summary-pro .summary-row strong{max-width:58%;text-align:right;line-height:1.25}.summary-helper{background:#111820;color:#fff;border-radius:16px;padding:15px;margin:17px 0}.summary-helper p{color:#cdd3d8;font-size:.8rem;margin:4px 0 0}.quote-summary-pro>.btn{width:100%}
.brand img{filter:none}.site-header .brand img{height:68px}.footer-logo{object-fit:contain}
@media(max-width:900px){.quote-layout-pro{grid-template-columns:1fr}.quote-summary-pro{position:static;order:-1}.summary-logo img{height:78px}.wizard-head{padding:24px}.wizard-panel{padding:24px}.wizard-progress span{display:none}.progress-step{padding:12px}.progress-step b{width:32px;height:32px}.draft-status{display:none}}
@media(max-width:600px){.page-hero-logo img{height:66px}.hero-logo-card img{height:72px}.wizard-head{padding:22px 18px}.wizard-panel{padding:22px 18px}.wizard-title h3{font-size:1.55rem}.wizard-actions{align-items:stretch}.wizard-actions .btn{flex:1}.final-actions{display:grid}.final-actions>div{display:grid;width:100%}.quote-summary-pro .summary-row{align-items:flex-start}.quote-summary-pro .summary-row strong{max-width:62%}}


/* ===== Mejoras globales v3 ===== */
body.site-page{overflow-x:hidden}
.brand-copy{display:block}
.site-header{box-shadow:0 10px 28px rgba(17,24,32,.05)}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:auto auto 0 0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-140%);transition:transform .55s ease}
.btn:hover::after{transform:translateX(140%)}
.hero::before{animation:heroZoom 18s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.08)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(215,25,32,.35)}50%{box-shadow:0 0 0 12px rgba(215,25,32,0)}}
[data-float]{animation:floaty 5.4s ease-in-out infinite}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) 430px;gap:34px;align-items:center}
.hero-showcase{position:relative;z-index:2;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);border-radius:28px;padding:22px;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.22)}
.showcase-top{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.showcase-top img{width:92px;height:auto;background:#fff;border-radius:14px;padding:6px}
.showcase-top strong{display:block;font-size:1.08rem}
.showcase-top span{display:block;color:#d7dde3;font-size:.86rem}
.showcase-copy{padding:18px 0 12px}.mini-label{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,204,0,.14);color:var(--yellow);font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.showcase-copy h3{font-size:1.7rem;margin:14px 0 10px}
.showcase-copy p{color:#d8dee5;font-size:.95rem}
.hero-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0 22px}
.hero-stat-grid div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px}
.hero-stat-grid strong{display:block;font-size:1.6rem;color:var(--yellow)}
.hero-stat-grid span{display:block;color:#d8dee5;font-size:.83rem}
.hero-showcase .btn{width:100%}
.hero-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hero-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#eef2f5;font-size:.83rem;font-weight:700}
.hero-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yellow)}
.quote-page-hero-pro{position:relative;background:linear-gradient(110deg,rgba(8,13,18,.97) 0%,rgba(9,15,24,.86) 48%,rgba(15,25,36,.72) 100%),url("../assets/catalogo/maniobra-izaje-industrial.webp");background-size:cover;background-position:center center;padding:78px 0 60px;overflow:hidden}
.quote-page-hero-pro::after{content:"";position:absolute;right:-120px;top:-40px;width:360px;height:360px;border:72px solid rgba(255,204,0,.08);border-radius:50%}
.quote-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:center}
.quote-hero-copy h1{max-width:760px}
.quote-hero-copy p{max-width:760px}
.quote-hero-features{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.quote-hero-features span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);font-size:.85rem;color:#eef1f4;font-weight:700}
.quote-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.quote-hero-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.quote-hero-card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.quote-hero-card-head img{width:86px;background:#fff;border-radius:16px;padding:4px;border:1px solid var(--line)}.quote-hero-card-head strong{display:block;font-size:1.05rem}.quote-hero-card-head span{display:block;font-size:.88rem;color:var(--muted)}
.quote-hero-mini-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.mini-step{border:1px solid var(--line);border-radius:18px;padding:10px 8px;text-align:center;background:#fff}.mini-step b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef2f5;color:#64707d;margin:0 auto 8px}.mini-step span{display:block;font-size:.74rem;font-weight:800;line-height:1.2}.mini-step.active{border-color:#ffd5d7;background:#fff7f7}.mini-step.active b{background:var(--red);color:#fff;animation:pulseGlow 2.1s infinite}
.quote-hero-benefits{display:grid;gap:12px}.quote-hero-benefits div{border:1px solid var(--line);border-radius:18px;padding:14px 15px;background:#fbfbfc}.quote-hero-benefits strong{display:block;font-size:.96rem}.quote-hero-benefits span{display:block;font-size:.84rem;color:var(--muted)}
.quote-hero-contact-pill{margin-top:18px;background:var(--ink);color:#fff;border-radius:999px;padding:13px 16px;text-align:center;font-weight:900;letter-spacing:.02em}
.quote-wizard,.quote-summary-pro,.contact-card,.equipment-card,.detail-card,.quickbar-card,.coverage-card,.cta-band{box-shadow:var(--shadow)}
.wizard-head{background:linear-gradient(180deg,#fff,#fcfcfd)}
.wizard-head h2{font-size:2.35rem}
.wizard-progress{background:#fff;position:relative}
.progress-step{padding:18px 12px}
.progress-step::after{content:"";position:absolute;left:18%;right:-18%;top:31px;height:2px;background:#ebedf0;z-index:0}.progress-step:last-child::after{display:none}.progress-step b,.progress-step span{position:relative;z-index:1}
.progress-step.active b{background:var(--red);color:#fff;box-shadow:0 0 0 6px rgba(215,25,32,.10)}
.progress-step.done::after{background:#dff2e4}
.field label{font-size:.82rem;font-weight:900;color:#22303d;text-transform:uppercase;letter-spacing:.02em}
.field input,.field select,.field textarea{min-height:54px;border-radius:16px;border-color:#d8dde4;box-shadow:0 8px 22px rgba(17,24,32,.03)}
.field textarea{min-height:140px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(215,25,32,.09),0 10px 30px rgba(17,24,32,.05)}
.smart-recommendation{margin-top:22px;background:linear-gradient(135deg,#fff6d0,#fff0a7)}
.quote-summary-pro{background:#fff}.quote-summary-pro .btn{margin-top:18px}
.summary-logo{background:linear-gradient(180deg,#fff,#fbfbfd)}
.summary-status{background:#fff6d9;border:1px solid #fde79c;color:#7a6321}
.status-dot{background:var(--red);box-shadow:0 0 0 4px rgba(215,25,32,.12)}
.chat-launcher{background:linear-gradient(135deg,var(--red),#f03a41);animation:pulseGlow 2.4s infinite}
.site-footer .footer-logo{box-shadow:0 10px 22px rgba(0,0,0,.18)}
@media(max-width:1100px){.hero-grid,.quote-hero-grid{grid-template-columns:1fr}.hero-showcase,.quote-hero-card{max-width:650px}.quote-hero-card{margin-top:8px}}
@media(max-width:980px){.brand-copy{display:none}.hero-showcase{max-width:none}.hero-grid{gap:22px}.quote-hero-mini-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hero-grid{gap:18px}.hero-showcase,.quote-hero-card{padding:18px;border-radius:22px}.hero-stat-grid{grid-template-columns:1fr 1fr}.hero-chip{width:100%;justify-content:center}.quote-hero-actions .btn{width:100%}.quote-hero-features span{width:100%;text-align:center}.quote-hero-mini-steps{grid-template-columns:repeat(2,1fr)}.quote-page-hero-pro{padding:56px 0 42px}.quote-page-hero-pro::after{display:none}.wizard-head h2{font-size:1.95rem}.progress-step{padding:14px 8px}.progress-step::after{top:28px;left:52%;right:-52%}}


/* ===== Refinamiento v4: movimiento y conversión ===== */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--red),var(--yellow));z-index:120;box-shadow:0 0 16px rgba(215,25,32,.35);pointer-events:none}
.site-header{transition:box-shadow .28s ease,background .28s ease,transform .28s ease}
.site-header.scrolled{background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(17,24,32,.10)}
.brand img,.footer-logo,.page-hero-logo img,.summary-logo img{transition:transform .35s ease,filter .35s ease}
.brand:hover img,.page-hero-logo:hover img,.summary-logo:hover img{transform:scale(1.045) rotate(-1deg)}
.quick-item,.step,.detail-card,.contact-card,.equipment-card,.coverage-card,.quote-summary-pro,.quote-wizard{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease}
.quick-item:hover,.step:hover,.detail-card:hover,.contact-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(17,24,32,.11);border-color:#d7dce2}
.equipment-card:hover{transform:translateY(-9px) scale(1.01)}
.coverage-chip,.coverage-chips span{transition:transform .25s ease,background .25s ease}.coverage-chips span:hover{transform:translateY(-3px);background:var(--yellow)}
.visual-panel img,.detail-image img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}.visual-panel:hover img,.detail-image:hover img{transform:scale(1.045)}
.reveal{opacity:0;transform:translateY(28px) scale(.988);filter:blur(2px);transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1),filter .72s ease}
.reveal.visible{opacity:1;transform:none;filter:none}
.reveal[data-reveal-index="1"]{transition-delay:.05s}.reveal[data-reveal-index="2"]{transition-delay:.10s}.reveal[data-reveal-index="3"]{transition-delay:.15s}.reveal[data-reveal-index="4"]{transition-delay:.20s}.reveal[data-reveal-index="5"]{transition-delay:.25s}.reveal[data-reveal-index="6"]{transition-delay:.30s}
.quote-needed-list{display:grid;gap:12px;margin:16px 0 8px}.quote-needed-list>div{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff;transition:.25s ease}.quote-needed-list>div:hover{transform:translateX(5px);border-color:#ffd0d2;box-shadow:0 12px 24px rgba(17,24,32,.06)}.quote-needed-list b{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-size:.78rem}.quote-needed-list span{font-size:.88rem;color:var(--muted)}.quote-needed-list strong{display:block;color:var(--ink);font-size:.93rem;margin-bottom:2px}
.wizard-progress{grid-template-columns:repeat(3,1fr)}
.progress-step.active{animation:stepPulse .45s ease}
@keyframes stepPulse{0%{transform:scale(.98);opacity:.7}100%{transform:scale(1);opacity:1}}
.wizard-panel.active .field{animation:fieldIn .45s both}.wizard-panel.active .field:nth-child(2){animation-delay:.04s}.wizard-panel.active .field:nth-child(3){animation-delay:.08s}.wizard-panel.active .field:nth-child(4){animation-delay:.12s}.wizard-panel.active .field:nth-child(5){animation-delay:.16s}.wizard-panel.active .field:nth-child(6){animation-delay:.20s}
@keyframes fieldIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.field select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#68717c 50%),linear-gradient(135deg,#68717c 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 13px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;appearance:none;padding-right:40px}
.summary-row strong{transition:color .2s ease}.summary-row strong:not(:empty){color:#18232e}
.mobile-cta{backdrop-filter:blur(14px)}
@media(max-width:640px){.quote-needed-list>div:hover{transform:none}.hero-showcase{animation:none!important}.wizard-panel.active .field{animation-duration:.34s}.quote-summary-pro{order:0}.quote-layout-pro{gap:18px}.quote-summary-pro{padding:18px}.summary-logo img{height:68px}.wizard-progress{position:sticky;top:74px;z-index:20;box-shadow:0 8px 24px rgba(17,24,32,.06)}.progress-step span{display:block;font-size:.72rem}.progress-step{gap:5px}.progress-step b{width:28px;height:28px}.quote-page-hero-copy h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none;filter:none}}


/* ===== Cotizador simplificado v5 ===== */
.quote-simple-hero{position:relative;padding:68px 0 54px;background:linear-gradient(100deg,rgba(9,31,54,.98),rgba(9,31,54,.86) 55%,rgba(9,31,54,.62)),url("../assets/catalogo/maniobra-doble-grua-tanque.webp");background-size:cover;background-position:center;color:#fff;overflow:hidden}
.quote-simple-hero::after{content:"";position:absolute;width:420px;height:420px;border:80px solid rgba(255,204,0,.08);border-radius:50%;right:-160px;bottom:-210px}
.quote-simple-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;align-items:center}
.quote-simple-copy h1{font-size:clamp(2.7rem,5.5vw,5.1rem);max-width:800px}.quote-simple-copy p{max-width:650px;color:#dbe2e8;font-size:1.05rem}
.quote-simple-side{background:rgba(255,255,255,.96);border-radius:26px;padding:24px;color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.quote-simple-side>img{width:120px;height:auto;margin-bottom:18px}.quote-simple-side strong{display:block;font-size:1.25rem}.quote-simple-side span{display:block;color:var(--muted);margin:5px 0 18px}.quote-simple-side .btn{width:100%}
.quote-simple-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.quote-simple-form{padding:0;overflow:hidden}.simple-wizard-head{padding:26px 30px 22px}.simple-wizard-head h2{font-size:2rem}.simple-progress{grid-template-columns:repeat(2,1fr)}
.request-type{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 24px}.request-card{position:relative;display:flex;gap:12px;align-items:center;border:2px solid var(--line);border-radius:18px;padding:16px;background:#fff;cursor:pointer;transition:.25s ease}.request-card:hover{transform:translateY(-2px);border-color:#cad1d9}.request-card.active{border-color:var(--red);background:#fff7f7;box-shadow:0 10px 28px rgba(215,25,32,.08)}.request-card input{position:absolute;opacity:0;pointer-events:none}.request-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--ink);color:var(--yellow);font-weight:950;font-size:1.05rem}.request-card.active .request-icon{background:var(--red);color:#fff}.request-card strong{display:block;font-size:.98rem}.request-card small{display:block;color:var(--muted);margin-top:2px}
.simple-form-grid{gap:16px}.optional-label{font-size:.72rem;color:#8a929c;text-transform:none;letter-spacing:0;font-weight:700}.simple-recommendation{margin-top:20px}.simple-back-action{margin-top:14px}
.quote-final-box{margin-top:24px;padding:20px;border-radius:20px;background:#f7f8fa;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.quote-final-box strong{display:block;font-size:1.05rem}.quote-final-box span{display:block;font-size:.86rem;color:var(--muted);margin-top:3px}.quote-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.whatsapp-btn{background:#169b55;color:#fff;box-shadow:0 10px 28px rgba(22,155,85,.2)}.whatsapp-btn:hover{background:#118248;transform:translateY(-2px)}
.quote-simple-help{position:sticky;top:112px;border:1px solid var(--line);border-radius:24px;background:#fff;padding:22px;box-shadow:0 16px 50px rgba(17,24,32,.08)}.quote-simple-help h3{font-size:1.45rem;margin-top:8px}.quote-simple-help .btn{width:100%;margin-top:10px}.simple-help-note{margin-top:18px;padding:14px;border-radius:15px;background:#f7f8fa}.simple-help-note strong,.simple-help-note span{display:block}.simple-help-note span{font-size:.82rem;color:var(--muted);margin-top:3px}
.quote-simple-page .wizard-panel{padding:28px 30px 30px}.quote-simple-page .progress-step::after{left:50%;right:-50%}.quote-simple-page .progress-step:last-child::after{display:none}.quote-simple-page .progress-step span{display:block}
@media(max-width:980px){.quote-simple-hero-grid,.quote-simple-layout{grid-template-columns:1fr}.quote-simple-side{max-width:520px}.quote-simple-help{position:static}.quote-simple-help .summary-logo{display:none}}
@media(max-width:640px){.quote-simple-hero{padding:50px 0 40px}.quote-simple-side{display:none}.quote-simple-page .wizard-panel{padding:22px 18px}.simple-wizard-head{padding:22px 18px}.request-type{grid-template-columns:1fr}.quote-final-box{display:block}.quote-final-actions{display:grid;margin-top:16px}.quote-final-actions .btn{width:100%}.simple-back-action .btn{width:100%}.quote-simple-page .progress-step{padding:13px 8px}.quote-simple-page .progress-step span{font-size:.76rem}.quote-simple-help{padding:18px}}

/* Ocultar etiquetas internas en las tarjetas */
.equipment-image::after{display:none!important}


/* ===== Cotizador dual + portafolio v6 ===== */
.dual-quote-hero{padding:66px 0 54px;background:linear-gradient(100deg,rgba(9,31,54,.98),rgba(9,31,54,.84) 58%,rgba(9,31,54,.58)),url("../assets/catalogo/maniobra-doble-grua-tanque.webp");background-size:cover;background-position:center;color:#fff}
.dual-quote-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:center}.dual-quote-hero h1{font-size:clamp(2.75rem,5.5vw,5rem);max-width:850px}.dual-quote-hero p{color:#d9e1e8;max-width:720px;font-size:1.05rem}
.dual-contact-card{background:rgba(255,255,255,.96);color:var(--ink);border-radius:26px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.24)}.dual-contact-card img{width:118px;margin-bottom:16px}.dual-contact-card>strong{display:block;font-size:1.25rem;margin-bottom:8px}.dual-contact-card>a:not(.btn){display:block;font-weight:850;margin:5px 0}.dual-contact-card .btn{width:100%;margin-top:14px}
.request-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:930px;margin:0 auto 28px}.request-mode-card{border:2px solid var(--line);background:#fff;border-radius:22px;padding:20px;display:flex;gap:14px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 10px 35px rgba(17,24,32,.05);transition:.25s ease}.request-mode-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(17,24,32,.1)}.request-mode-card.active{border-color:var(--red);box-shadow:0 16px 42px rgba(215,25,32,.1)}.mode-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:16px;background:var(--ink);color:var(--yellow);font-size:1.2rem;font-weight:950}.request-mode-card.active .mode-icon{background:var(--red);color:#fff}.request-mode-card strong{display:block;font-size:1.05rem}.request-mode-card small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}
.request-mode-panel{display:none}.request-mode-panel.active{display:block;animation:wizardIn .28s ease}
.info-request-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;max-width:1000px;margin:auto}.info-request-form{padding:30px}.simple-form-title{margin-bottom:24px}.simple-form-title h2{font-size:2.2rem;margin:8px 0}.simple-form-title p{margin:0}.info-actions{display:flex;gap:12px;margin-top:24px}.info-actions .btn{min-width:170px}.simple-contact-aside,.quote-live-summary{position:sticky;top:112px;border:1px solid var(--line);border-radius:24px;background:#fff;padding:22px;box-shadow:0 16px 50px rgba(17,24,32,.08)}.simple-contact-aside img{width:110px;margin-bottom:18px}.simple-contact-aside .btn{width:100%;margin-top:10px}
.quote-pro-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.quote-pro-form{padding:0;overflow:hidden}.quote-pro-head{padding:28px 30px 22px}.quote-pro-progress{grid-template-columns:repeat(3,1fr)}.quote-pro-form .wizard-panel{padding:28px 30px 30px}.quote-live-summary .summary-logo{margin-bottom:18px}.quote-live-summary .btn{width:100%;margin-top:18px}

.hero-catalog-btn{color:#fff!important;border-color:rgba(255,255,255,.4)!important;background:rgba(255,255,255,.08)!important}.hero-catalog-btn:hover{background:rgba(255,255,255,.16)!important}
.floating-whatsapp{position:fixed;right:20px;bottom:92px;z-index:69;display:flex;align-items:center;gap:9px;background:#169b55;color:#fff;border-radius:999px;padding:12px 16px 12px 10px;box-shadow:0 14px 34px rgba(0,0,0,.22);font-weight:900;transition:.22s ease}.floating-whatsapp:hover{transform:translateY(-3px);background:#118248}.wa-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#169b55;font-size:.72rem;font-weight:950}.wa-label{font-size:.85rem}.chat-launcher{bottom:22px}
@media(max-width:980px){.dual-quote-hero-grid,.info-request-layout,.quote-pro-layout{grid-template-columns:1fr}.dual-contact-card{max-width:520px}.simple-contact-aside,.quote-live-summary{position:static}.request-mode-grid{max-width:none}}
@media(max-width:640px){.request-mode-grid{grid-template-columns:1fr}.dual-contact-card{display:none}.info-request-form,.quote-pro-form .wizard-panel{padding:22px 18px}.quote-pro-head{padding:22px 18px}.info-actions{display:grid}.info-actions .btn{width:100%}.floating-whatsapp{right:14px;bottom:156px;padding:10px}.floating-whatsapp .wa-label{display:none}.chat-launcher{bottom:88px}.quote-pro-progress .progress-step span{display:none}.quote-pro-progress .progress-step{padding:13px 8px}.quote-final-actions{display:grid;width:100%}.quote-final-actions .btn{width:100%}}


/* ===== Asistente comercial + WhatsApp v7 ===== */
.floating-whatsapp{position:fixed;right:22px;bottom:94px;z-index:72;width:60px;height:60px;display:grid;place-items:center;background:#25D366;color:#fff;border-radius:50%;padding:0;box-shadow:0 16px 38px rgba(0,0,0,.24);transition:transform .22s ease,box-shadow .22s ease,background .22s ease;animation:waPulse 2.6s ease-in-out infinite}
.floating-whatsapp:hover{transform:translateY(-4px) scale(1.04);background:#20bd5a;box-shadow:0 20px 44px rgba(0,0,0,.28)}
.floating-whatsapp svg{width:34px;height:34px;display:block}
@keyframes waPulse{0%,100%{box-shadow:0 16px 38px rgba(0,0,0,.24),0 0 0 0 rgba(37,211,102,.28)}50%{box-shadow:0 16px 38px rgba(0,0,0,.24),0 0 0 12px rgba(37,211,102,0)}}
.chat-launcher{right:22px;bottom:22px;background:linear-gradient(135deg,#d71920,#f13a42);animation:pulseGlow 2.5s ease-in-out infinite}
.smart-chat{width:min(410px,calc(100vw - 28px));max-height:min(650px,calc(100vh - 125px));display:none;flex-direction:column}
.smart-chat.open{display:flex;animation:chatOpen .24s ease both}
@keyframes chatOpen{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.smart-chat .chat-head{flex:0 0 auto;padding:14px 16px}.chat-brand{display:flex;align-items:center;gap:10px}.chat-brand img{width:56px;height:44px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}.smart-chat .chat-head button{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer;width:36px;height:36px;border-radius:50%}.smart-chat .chat-head button:hover{background:rgba(255,255,255,.1)}
.smart-chat .chat-messages{flex:1;max-height:none;min-height:220px;padding:16px;background:linear-gradient(180deg,#f7f8fa,#fff);overflow:auto}.smart-chat .bubble{max-width:92%;line-height:1.42}.smart-chat .bubble.bot{box-shadow:0 7px 20px rgba(17,24,32,.05)}.smart-chat .bubble.user{background:#fff2b2;border:1px solid #f7df69}
.smart-chat .chat-options{flex:0 0 auto;padding:12px 14px 14px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px}.smart-chat .chat-option{min-height:42px;text-align:left;border-radius:14px;padding:10px 12px;transition:.2s ease}.smart-chat .chat-option:hover{border-color:#bfc6cd;transform:translateY(-1px);box-shadow:0 8px 16px rgba(17,24,32,.06)}
.chat-action{display:inline-flex;align-items:center;justify-content:center;margin:8px 7px 0 0;min-height:40px;padding:9px 13px;border-radius:999px;background:var(--red);color:#fff!important;font-weight:850;font-size:.8rem;text-decoration:none}.chat-action.secondary{background:var(--ink)}.chat-action.wa{background:#25D366}.chat-action:hover{filter:brightness(.95);transform:translateY(-1px)}
@media(max-width:640px){.floating-whatsapp{right:14px;bottom:156px;width:56px;height:56px}.floating-whatsapp svg{width:31px;height:31px}.chat-launcher{right:14px;bottom:88px}.smart-chat{right:10px;bottom:154px;width:calc(100vw - 20px);max-height:calc(100vh - 180px)}.smart-chat .chat-options{grid-template-columns:1fr 1fr}.smart-chat .chat-messages{min-height:170px}}
@media(prefers-reduced-motion:reduce){.floating-whatsapp,.chat-launcher{animation:none}.smart-chat.open{animation:none}}

/* ===== Chatbot conectado al cotizador + privacidad v8 ===== */
.chat-head-actions{display:flex;align-items:center;gap:4px}
.chat-input-row{display:grid;grid-template-columns:1fr 46px;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid var(--line)}
.chat-input-row input{min-width:0;border:1px solid #d8dde4;border-radius:14px;padding:11px 13px;outline:none;background:#fff}
.chat-input-row input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.09)}
.chat-input-row button{border:0;border-radius:14px;background:var(--red);color:#fff;font-size:1rem;font-weight:900;cursor:pointer;transition:.2s ease}
.chat-input-row button:hover{transform:translateY(-1px);background:var(--red-dark)}
.chat-privacy{padding:0 14px 12px;background:#fff;color:#7a838d;font-size:.68rem;line-height:1.35}.chat-privacy a{font-weight:800;text-decoration:underline;color:#4e5965}
.smart-chat .chat-options:empty{display:none}
.smart-chat .chat-options{max-height:176px;overflow:auto}
.smart-chat .chat-option{font-size:.77rem}
.form-privacy-note{font-size:.74rem;color:var(--muted);margin:12px 0 0;line-height:1.45}.form-privacy-note a{font-weight:800;text-decoration:underline}
.privacy-content{max-width:900px}.privacy-content h2{font-size:1.65rem;margin:34px 0 10px}.privacy-content p{font-size:1rem;line-height:1.75}.privacy-intro{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fafbfc;margin-bottom:28px}.privacy-intro img{width:110px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px}.privacy-intro strong{font-size:1.1rem}.privacy-intro p{margin:4px 0 0;font-size:.86rem}.privacy-contact-card{margin-top:38px;background:var(--yellow);border-radius:24px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.privacy-contact-card h3{font-size:1.6rem;margin:8px 0}.privacy-contact-card p{margin:0;color:#333}.privacy-contact-card>div:last-child{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:640px){.chat-input-row{grid-template-columns:1fr 44px}.smart-chat .chat-options{max-height:150px}.privacy-intro{align-items:flex-start}.privacy-intro img{width:86px}.privacy-contact-card{display:block}.privacy-contact-card>div:last-child{margin-top:18px;display:grid}.privacy-contact-card .btn{width:100%}}


/* ===== Catálogo real + galería v6 ===== */
.equipment-image{position:relative}
.image-source{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.02em;backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.image-source.real{background:rgba(255,204,0,.94);color:#111820}.image-source.reference{background:rgba(17,24,32,.86);color:#fff;border:1px solid rgba(255,255,255,.28)}
.catalog-trust-note{margin:18px 0 26px;padding:15px 18px;border-radius:16px;background:#fff8d8;border:1px solid #f1dc7d;color:#665b2c;font-size:.9rem}
.catalog-trust-note strong{color:#2b2b2b}.catalog-trust-note a{text-decoration:underline;font-weight:800}
.equipment-modal{position:fixed;inset:0;background:rgba(8,13,18,.76);z-index:120;display:grid;place-items:center;padding:18px;overflow:auto}
.equipment-modal-card{max-width:980px;width:100%;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.36);display:grid;grid-template-columns:1.08fr 1fr}
.equipment-modal-media{min-height:520px;background:#20252b;position:relative;display:flex;flex-direction:column}
.equipment-modal-media>[data-gallery-main]{width:100%;height:420px;object-fit:cover;flex:0 0 420px}
.equipment-modal-copy{padding:32px;position:relative}.equipment-modal-copy h2{font-size:2rem;margin-top:10px}.equipment-modal-copy .detail-card{margin-top:10px}
.modal-close{position:absolute;right:16px;top:14px;border:0;background:#111820;color:#fff;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer}
.modal-thumbs{display:flex;gap:9px;padding:12px;overflow-x:auto;background:#111820}.modal-thumbs button{flex:0 0 84px;width:84px;height:62px;border-radius:10px;border:2px solid transparent;padding:0;overflow:hidden;background:#222;cursor:pointer}.modal-thumbs button.active{border-color:#ffcc00}.modal-thumbs img{width:100%;height:100%;object-fit:cover}
.image-credit{font-size:.75rem;color:#6e7781;margin:14px 0}.image-credit a{text-decoration:underline}
.photo-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:210px;gap:12px;margin-top:32px}.photo-mosaic figure{margin:0;border-radius:20px;overflow:hidden;position:relative;background:#20252b}.photo-mosaic figure:first-child{grid-row:span 2}.photo-mosaic img{width:100%;height:100%;object-fit:cover}.photo-mosaic figcaption{position:absolute;left:12px;bottom:12px;background:rgba(17,24,32,.78);color:#fff;padding:7px 10px;border-radius:10px;font-size:.72rem}
@media(max-width:760px){.equipment-modal-card{grid-template-columns:1fr}.equipment-modal-media{min-height:auto}.equipment-modal-media>[data-gallery-main]{height:280px;flex-basis:280px}.equipment-modal-copy{padding:24px}.photo-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.photo-mosaic figure:first-child{grid-row:auto;grid-column:span 2}}

/* Catálogo completo integrado en inicio */
.full-catalog-home{border-top:1px solid var(--line)}
.catalog-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 22px}
.catalog-summary-row>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 34px rgba(17,24,32,.06)}
.catalog-summary-row strong{display:block;font-size:1.2rem;color:var(--ink);margin-bottom:5px}
.catalog-summary-row span{font-size:.82rem;color:var(--muted)}
.catalog-home-count{margin:14px 0 20px;color:var(--muted);font-size:.9rem}
.catalog-home-cta{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:26px;box-shadow:0 14px 38px rgba(17,24,32,.06)}
.catalog-home-cta h3{font-size:clamp(1.45rem,2.4vw,2rem);margin:5px 0 8px}
.catalog-home-cta p{margin:0;max-width:780px;color:var(--muted)}
@media(max-width:900px){.catalog-summary-row{grid-template-columns:repeat(2,1fr)}.catalog-home-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.catalog-summary-row{grid-template-columns:1fr}.full-catalog-home .equipment-grid{grid-template-columns:1fr}.catalog-home-cta{padding:19px}}

/* Production polish */
.hero-photo-card{position:relative;min-height:500px;border-radius:30px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.3);background:#15202b;border:1px solid rgba(255,255,255,.12)}
.hero-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(8,17,27,.9) 100%)}
.hero-photo-overlay{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;display:grid;gap:6px}
.hero-photo-overlay strong{font-size:1.12rem}.hero-photo-overlay span{font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.82)}
.variant-list{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:14px 0}.variant-list strong{font-size:.76rem;margin-right:2px}.variant-list span{font-size:.72rem;font-weight:800;padding:6px 9px;border-radius:999px;background:#f2f4f6;border:1px solid #e3e7eb;color:#39424d}
.catalog-count{font-size:.84rem;color:#66717e;font-weight:700;margin-top:8px}.catalog-toolbar{display:grid;gap:14px;margin-bottom:28px}.catalog-grid{align-items:stretch}
.equipment-card{display:flex;flex-direction:column}.equipment-card .equipment-body{display:flex;flex-direction:column;flex:1}.equipment-card .card-actions{margin-top:auto}
@media(max-width:900px){.hero-photo-card{min-height:380px}.nav-links{max-height:calc(100vh - 90px);overflow:auto}}

/* Home catalog and process refinements */
.catalog-home-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.process-cta{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:30px;flex-wrap:wrap}
@media(max-width:760px){.catalog-home-actions{width:100%;justify-content:flex-start}.catalog-home-actions .btn,.process-cta .btn{width:100%}}


/* ===== Contenido de servicio + arquitectura SEO v8 ===== */
.applications-section{padding:78px 0}.applications-head{align-items:flex-start}.application-industries{margin:-14px 0 28px}.industry-chips{display:flex;flex-wrap:wrap;gap:9px}.industry-chips span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.78rem;font-weight:800;color:#43505c}.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.application-card{position:relative;padding:24px;border-radius:20px;background:#fff;border:1px solid #e2e5e9;box-shadow:0 12px 34px rgba(17,24,32,.055);min-height:205px;overflow:hidden}.application-card::after{content:"";position:absolute;width:105px;height:105px;border:20px solid rgba(255,204,0,.09);border-radius:50%;right:-42px;bottom:-44px}.application-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--yellow);font-size:.75rem;font-weight:950;margin-bottom:17px}.application-card h3{font-size:1.17rem;margin-bottom:9px}.application-card p{font-size:.89rem;margin:0;position:relative;z-index:1}.technical-section{padding:82px 0}.technical-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:48px;align-items:start}.criteria-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.criteria-item{display:flex;gap:12px;border:1px solid var(--line);padding:18px;border-radius:18px;background:#fff}.criteria-item>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--yellow);font-weight:950}.criteria-item strong{display:block}.criteria-item p{font-size:.84rem;margin:4px 0 0}.technical-aside{position:sticky;top:112px;border-radius:24px;background:var(--ink);color:#fff;padding:28px;box-shadow:var(--shadow)}.technical-aside>strong{font-size:1.5rem;line-height:1.15;display:block}.technical-aside p{color:#d5dce2;margin:12px 0 20px}.technical-aside .btn{width:100%}.text-link{display:block;text-align:center;margin-top:15px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:20px 54px 20px 20px;font-weight:850;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:20px;top:15px;font-size:1.55rem;color:var(--red);font-weight:900}.faq-item[open] summary::after{content:"–"}.faq-item p{padding:0 20px 20px;margin:0;max-width:820px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-card{border:1px solid var(--line);border-radius:20px;padding:23px;background:#fff}.related-card h3{font-size:1.16rem}.related-card p{font-size:.88rem;min-height:64px}.related-card a{font-weight:900;color:var(--red);text-decoration:underline;text-underline-offset:4px}.related-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px}.seo-service-links{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fbfbfc;display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start}.seo-service-links>div strong,.seo-service-links>div span{display:block}.seo-service-links>div span{color:var(--muted);font-size:.86rem;margin-top:5px}.seo-service-links nav{display:flex;flex-wrap:wrap;gap:9px}.seo-service-links nav a{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.8rem;font-weight:800}.seo-service-links nav a:hover{border-color:var(--red);color:var(--red)}.catalog-guide{padding-top:58px;padding-bottom:26px}.catalog-guide-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.catalog-guide-links a{display:block;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.2s}.catalog-guide-links a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.catalog-guide-links strong,.catalog-guide-links span{display:block}.catalog-guide-links span{font-size:.82rem;color:var(--muted);margin-top:5px}@media(max-width:980px){.application-grid,.related-grid{grid-template-columns:repeat(2,1fr)}.technical-grid{grid-template-columns:1fr}.technical-aside{position:static;max-width:620px}.seo-service-links{grid-template-columns:1fr}.catalog-guide-links{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.applications-section,.technical-section{padding:62px 0}.application-grid,.related-grid,.criteria-list,.catalog-guide-links{grid-template-columns:1fr}.application-card{min-height:auto}.related-card p{min-height:auto}.related-actions{display:grid}.related-actions .btn{width:100%}.seo-service-links{padding:18px}.seo-service-links nav{display:grid}.seo-service-links nav a{border-radius:14px}}
/* Ajustes de cierre comercial - entrega */
.quote-live-summary .summary-note{margin:16px 0 18px;padding:12px 14px;border-left:3px solid #ffcc00;background:#f6f8fa;border-radius:8px;color:#55606d;font-size:.88rem;line-height:1.45}
.quote-final-box strong{display:block;margin-bottom:4px}
.quote-final-box span{line-height:1.45}


/* ===== Cierre responsive + Nosotros v9 ===== */
/* La tarjeta flotante anterior del inicio fue retirada para evitar un bloque vacío entre hero y Nosotros. */
.home-page .hero{min-height:680px}
section[id]{scroll-margin-top:104px}
.home-page .compact-section{padding-top:76px}

.about-section{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);border-top:1px solid #eef0f2}
.about-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:54px;align-items:start}
.about-copy h2{max-width:820px;margin:10px 0 22px}
.about-copy p{font-size:1rem;line-height:1.72;max-width:900px}
.about-copy p strong{color:var(--ink)}
.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid var(--line);background:#fff;border-radius:24px;box-shadow:0 16px 46px rgba(17,24,32,.07)}
.about-facts>div{min-height:124px;padding:18px;border-radius:17px;background:#f7f8fa;border:1px solid #eceff2;display:flex;flex-direction:column;justify-content:flex-end}
.about-facts>div:first-child{background:var(--ink);border-color:var(--ink)}
.about-facts>div:first-child strong{color:var(--yellow)}
.about-facts>div:first-child span{color:#e1e6ea}
.about-facts strong{display:block;font-size:1.15rem;line-height:1.1;margin-bottom:7px;color:var(--ink)}
.about-facts span{display:block;color:var(--muted);font-size:.79rem;line-height:1.45}
.about-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.about-pillar{position:relative;padding:26px 25px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(17,24,32,.055);overflow:hidden}
.about-pillar::after{content:"";position:absolute;right:-34px;bottom:-44px;width:120px;height:120px;border:22px solid rgba(255,204,0,.10);border-radius:50%}
.about-number{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--ink);color:var(--yellow);font-size:.76rem;font-weight:950;margin-bottom:17px}
.about-pillar h3{font-size:1.35rem;margin-bottom:10px}
.about-pillar p{font-size:.9rem;line-height:1.58;margin:0;position:relative;z-index:1}
.about-values{list-style:none;margin:0;padding:0;display:grid;gap:8px;position:relative;z-index:1}
.about-values li{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:.88rem;line-height:1.45}
.about-values li::before{content:"✓";display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:.7rem;font-weight:950;margin-top:1px}
.service-family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.about-services{margin-top:18px}
.service-family{padding:24px;border-radius:20px;background:var(--ink);color:#fff;min-height:176px;border:1px solid rgba(255,255,255,.06);box-shadow:0 14px 36px rgba(17,24,32,.10)}
.service-family b{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:30px;padding:0 10px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:.73rem;margin-bottom:16px}
.service-family h3{font-size:1.2rem;margin-bottom:9px}
.service-family p{margin:0;color:#d7dde3;font-size:.86rem;line-height:1.52}

/* Navegación y tabletas: evita que el header se comprima o rompa. */
@media(max-width:1120px){
  .nav{height:78px}
  .site-header .brand img{height:58px}
  .brand{min-width:auto}
  .brand-copy{display:none}
  .nav-links{position:absolute;top:calc(100% + 8px);left:18px;right:18px;max-height:calc(100vh - 118px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 60px rgba(17,24,32,.16);padding:20px;display:none;flex-direction:column;align-items:stretch;gap:5px}
  .nav-links.open{display:flex}
  .nav-links a:not(.btn){padding:12px 10px;border-radius:11px}
  .nav-links a:not(.btn)::after{display:none}
  .nav-links a.active:not(.btn){background:#f6f7f9}
  .nav-links .btn{width:100%;margin-top:6px}
  .menu-toggle{display:block}
  .home-page .hero{min-height:auto}
  .hero-content{padding:70px 0 30px}
  .hero-photo-card{min-height:420px;margin-bottom:64px}
  .about-intro{grid-template-columns:1fr;gap:28px}
  .about-facts{grid-template-columns:repeat(4,1fr)}
  .about-facts>div{min-height:108px}
}

@media(max-width:900px){
  .container{width:min(100% - 32px,1180px)}
  .section{padding:76px 0}
  .section-head{align-items:flex-start}
  .about-pillars,.service-family-grid{grid-template-columns:1fr 1fr}
  .about-pillars .about-pillar:last-child,.about-services .service-family:last-child{grid-column:1/-1}
  .about-facts{grid-template-columns:1fr 1fr}
  .hero h1{font-size:clamp(3rem,9vw,4.5rem)}
  .hero-photo-card{min-height:360px}
  .catalog-summary-row{grid-template-columns:1fr 1fr}
}

@media(max-width:820px){
  .section-head{display:block;margin-bottom:30px}
  .section-head>div+div,.section-head>p{margin-top:14px}
}

@media(max-width:760px){
  .container{width:min(100% - 26px,1180px)}
  .topbar{font-size:.78rem}
  .topbar .container{padding:7px 0}
  .nav{height:70px}
  .site-header .brand img{height:50px}
  .nav-links{top:calc(100% + 7px);left:12px;right:12px;border-radius:16px;padding:14px}
  .section{padding:64px 0}
  .home-page .compact-section{padding-top:58px}
  .hero-content{padding:52px 0 22px}
  .hero h1{font-size:clamp(2.55rem,12vw,3.65rem);line-height:1.02}
  .hero p{font-size:.98rem;line-height:1.6}
  .hero-logo-card{margin-bottom:16px}
  .hero-logo-card img{height:66px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 20px}
  .hero-actions .btn{width:100%;padding-inline:14px}
  .hero-actions .btn:last-child{grid-column:1/-1}
  .hero-points{gap:9px 12px;font-size:.82rem}
  .hero-photo-card{min-height:310px;margin-bottom:42px;border-radius:22px}
  .hero-photo-overlay{left:18px;right:18px;bottom:17px}
  .about-copy h2{font-size:clamp(2rem,9vw,2.8rem)}
  .about-copy p{font-size:.95rem;line-height:1.66}
  .about-facts{padding:12px;border-radius:20px}
  .about-facts>div{min-height:104px;padding:15px}
  .about-pillars,.service-family-grid{grid-template-columns:1fr}
  .about-pillars .about-pillar:last-child,.about-services .service-family:last-child{grid-column:auto}
  .about-pillar,.service-family{padding:21px}
  .service-family{min-height:auto}
  .photo-mosaic{grid-template-columns:1fr 1fr}
  .cta-band h2{font-size:clamp(1.8rem,8vw,2.6rem)}
}

@media(max-width:560px){
  .container{width:min(100% - 22px,1180px)}
  .topbar .container{justify-content:center;text-align:center}
  .hero-content{padding-top:44px}
  .hero h1{font-size:clamp(2.25rem,11.5vw,3rem)}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .btn:last-child{grid-column:auto}
  .hero-points{display:grid;grid-template-columns:1fr}
  .hero-photo-card{min-height:265px;margin-bottom:34px}
  .about-facts{grid-template-columns:1fr}
  .about-facts>div{min-height:auto}
  .about-pillar h3,.service-family h3{font-size:1.15rem}
  .catalog-summary-row{grid-template-columns:1fr}
  .photo-mosaic{grid-template-columns:1fr;grid-auto-rows:220px}
  .photo-mosaic figure:first-child{grid-column:auto}
  section[id]{scroll-margin-top:84px}
  .mobile-cta{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .floating-whatsapp{right:12px}
  .chat-launcher{right:12px}
}

@media(max-width:390px){
  .container{width:min(100% - 18px,1180px)}
  .site-header .brand img{height:46px}
  .menu-toggle{width:42px;height:42px}
  .hero h1{font-size:2.15rem}
  .hero-logo-card img{height:58px}
  .hero-photo-card{min-height:230px}
  .btn{padding:13px 16px;min-height:48px}
  .about-copy p{font-size:.92rem}
}

/* Landscape móvil y tablet pequeña: prioriza contenido y evita alturas excesivas. */
@media(max-height:560px) and (orientation:landscape) and (max-width:980px){
  .hero-content{padding:36px 0 20px}
  .hero h1{font-size:2.7rem}
  .hero-photo-card{min-height:280px;margin-bottom:30px}
  .nav-links{max-height:calc(100vh - 80px)}
}
