:root{--bg:#0c0e13;--bg-soft:#12151d;--bg-card:#181b24;--ink:#f7f7f8;--muted:#a2a7b3;--faint:#747b89;--line:rgba(255,255,255,.115);--red:#e92b36;--red-dark:#c91b29;--display:Impact,"Arial Narrow","Franklin Gothic Condensed",sans-serif;--ui:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:16px;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}svg{display:block}::selection{background:var(--red);color:#fff}:focus-visible{outline:2px solid #ff8186;outline-offset:4px}.container{width:min(1170px,calc(100% - 72px));margin-inline:auto}.skip-link{position:fixed;z-index:300;top:0;left:0;background:#fff;color:#000;padding:12px;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}
.top-line{height:34px;background:#07090d;border-bottom:1px solid #171a20;font-size:10px;font-weight:750;letter-spacing:.16em;color:#b9bcc6}.top-line-inner{height:100%;display:flex;justify-content:space-between;align-items:center}.top-line a{font-weight:500;letter-spacing:.085em}.top-line a strong{font-weight:800;color:#fff;margin-left:12px}.top-divider{color:#555;margin:0 7px}.online-dot{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin-right:9px;box-shadow:0 0 0 4px #e92b361c;vertical-align:2px}.site-header{position:sticky;z-index:100;top:0;background:rgba(9,11,16,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:96px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;align-items:center;flex:none}.brand img{width:205px;height:auto;display:block;mix-blend-mode:screen}.nav-links{display:flex;align-items:center;gap:29px}.nav-link{color:#bebfc9;font-size:12px;font-weight:730;letter-spacing:.025em;transition:color .2s}.nav-link:hover,.nav-link.active{color:#fff}.nav-link.active:before{content:"";display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:var(--red);vertical-align:2px}.nav-cta{display:flex;align-items:center;gap:20px;color:#fff;background:var(--red);padding:15px 19px;font-weight:750;font-size:12px;transition:background .2s,transform .2s}.nav-cta:hover{background:#fc3a45;transform:translateY(-1px)}.nav-cta span{font-size:18px}.nav-toggle{display:none}
.hero{height:min(680px,calc(100svh - 130px));min-height:560px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#1d2830 0%,#0b0e15 66%)}.hero-photo{position:absolute;inset:0 0 0 40%;z-index:-2;background-image:url('assets/hero-camion.webp');background-position:center right;background-size:contain;background-repeat:no-repeat;filter:grayscale(42%) contrast(110%) brightness(.74);opacity:.8}.hero-photo-shade{z-index:-1;position:absolute;inset:0;background:linear-gradient(90deg,#090c12 0%,#090c12 27%,rgba(9,12,18,.96) 38%,rgba(9,12,18,.7) 55%,rgba(9,12,18,.14) 100%),linear-gradient(0deg,#0c0e13 0%,transparent 30%)}.hero-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(to right,transparent 98%,rgba(255,255,255,.025) 99%),linear-gradient(to bottom,transparent 98%,rgba(255,255,255,.025) 99%);background-size:100px 100px;mask-image:linear-gradient(90deg,#000,transparent 75%);z-index:0;pointer-events:none}.hero-content{height:100%;position:relative;z-index:2;display:flex;align-items:center}.hero-copy{max-width:645px;padding-bottom:32px}.eyebrow{display:flex;align-items:center;gap:15px;color:#f9e0e2;font-size:11px;font-weight:800;letter-spacing:.21em;margin-bottom:24px}.eyebrow-line{height:2px;width:35px;background:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{font:normal clamp(58px,6.1vw,88px)/.97 var(--display);letter-spacing:.005em;margin-bottom:27px;max-width:720px;text-transform:uppercase}.hero h1 em{display:block;font-style:normal;color:var(--red)}.hero p{max-width:518px;color:#c4c9d1;line-height:1.75;font-size:15px;margin-bottom:30px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:51px;gap:30px;padding:15px 20px;font-size:12px;font-weight:800;letter-spacing:.015em;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn span{font-size:19px;font-weight:400}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#fc3b47}.btn-outline{color:#fff;border-color:#505661;background:#16192184}.btn-outline:hover{border-color:#fff;background:#ffffff19}.hero-footnote{font-size:11px;color:#999da6;margin-top:26px}.footnote-icon{border:1px solid #626770;border-radius:50%;padding:2px 4px;font-size:10px;color:#fff;margin-right:8px}.hero-rail{position:absolute;right:18px;bottom:46px;writing-mode:vertical-rl;letter-spacing:.19em;color:#d1d4ddaa;font-size:9px;font-weight:700}.hero-rail span{color:var(--red)}
.service-strip{background:#d72934;border-bottom:4px solid #b61c29}.strip-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:85px}.strip-inner div{font-weight:900;letter-spacing:.085em;font-size:13px;white-space:nowrap}.strip-index{font-family:var(--display);font-size:13px;letter-spacing:0;font-weight:400;color:#ffb0b5;margin-right:10px}.strip-symbol{font-size:18px;color:#f9b2b9}
.section{padding:111px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:44px}.section-kicker{color:var(--red);font-weight:800;letter-spacing:.2em;font-size:11px;margin:0 0 18px}.section h2,.statement h2{font:normal clamp(43px,4.1vw,61px)/1.04 var(--display);letter-spacing:.015em;max-width:740px;text-transform:uppercase;margin:0}.section h2 span,.statement h2 span{color:var(--red)}.section-lede{font-size:14px;color:var(--muted);line-height:1.8;max-width:310px;margin:0 0 7px;flex-shrink:0}.services{background:linear-gradient(180deg,#101319 0%,#101319 45%,#0e1016 100%)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:320px;display:flex;flex-direction:column;background:#1a1d25;border:1px solid #2d3039;padding:25px 24px 24px;transition:transform .25s,border .25s,background .25s}.service-card:hover{transform:translateY(-6px);border-color:#d92b35;background:#20212a}.card-top{display:flex;justify-content:space-between;align-items:center;color:#969ba6;font-size:9px;letter-spacing:.1em;font-weight:700}.card-arrow{font-size:18px;font-weight:400;color:var(--red)}.card-icon{width:57px;height:57px;color:var(--red);margin-top:30px;margin-bottom:27px}.service-card h3{font-size:17px;font-weight:800;margin:0 0 12px}.service-card p{color:#aeb3bc;font-size:12px;line-height:1.85;margin-bottom:25px;flex:1}.service-card a{border-top:1px solid #3a3e46;padding-top:16px;font-size:11px;font-weight:800;display:flex;justify-content:space-between;color:#f4f4f4}.service-card a span{font-size:15px;color:var(--red)}.accent-card{background:linear-gradient(155deg,#2a1c23,#1a1d25 65%);border-color:#632b37}
.statement{padding:105px 0;background:linear-gradient(120deg,#0c0e13,#11141b 80%);border-block:1px solid #222630}.statement-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:85px;align-items:center}.statement h2{margin-bottom:25px}.statement p:not(.section-kicker){color:#aeb4be;line-height:1.85;font-size:14px;max-width:520px}.statement p strong{color:#fff}.statement-points{display:grid;gap:14px;margin-top:24px}.statement-points div{color:#d5d6dc;font-size:12px;font-weight:600;border-bottom:1px solid #333742;padding:0 0 14px}.statement-points span{font-size:18px;color:var(--red);margin-right:12px}.brand-display{position:relative;background:radial-gradient(ellipse at 50% 55%,#252833,#090a0d 76%);border:1px solid #414651;min-height:370px;padding:26px 22px 19px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden}.brand-display:before,.brand-display:after{content:"";position:absolute;width:220px;height:3px;background:var(--red);transform:rotate(-42deg);opacity:.7}.brand-display:before{top:33px;right:-65px}.brand-display:after{bottom:20px;left:-90px}.brand-display-head{align-self:stretch;display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#8d939f;letter-spacing:.1em}.brand-display img{width:100%;max-width:470px;height:auto;mix-blend-mode:screen;position:relative;z-index:1}.brand-display-foot{font-size:9px;letter-spacing:.17em;color:#9aa1af}
.process{background:#f4f3f2;color:#17191e}.process .section-kicker{color:var(--red-dark)}.process h2 span{color:var(--red)}.process .section-lede{color:#5d636e}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px}.process-step{border-top:2px solid #d0d0d1;padding-top:24px}.process-step:first-child{border-color:var(--red)}.step-number{display:flex;align-items:center;justify-content:space-between;color:var(--red-dark);font:normal 45px var(--display);margin-bottom:34px}.step-number span{font-size:32px;font-family:var(--ui);font-weight:300;color:#b0b0b0}.process-step h3{color:#1a1b21;font-size:19px;font-weight:800;margin-bottom:13px}.process-step p{color:#676c74;font-size:13px;line-height:1.75;max-width:325px}
.cta-band{background:var(--red);position:relative;overflow:hidden}.cta-band:before{content:"";position:absolute;inset:0 0 0 55%;background:repeating-linear-gradient(135deg,transparent 0 44px,#0000000b 44px 48px)}.cta-band-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:196px}.cta-band p{font-size:11px;letter-spacing:.2em;font-weight:800;color:#ffc1c6;margin-bottom:12px}.cta-band h2{font:normal clamp(37px,3.7vw,59px)/1.05 var(--display);margin:0}.btn-light{background:#fff;color:#101015;border-color:#fff;white-space:nowrap}.btn-light:hover{background:#191c22;color:#fff;border-color:#191c22}
.contact{background:#0d1016}.contact-grid{display:grid;grid-template-columns:.9fr 1.15fr;gap:90px;align-items:start}.contact-info h2{margin-bottom:25px}.contact-info>p:not(.section-kicker){font-size:14px;line-height:1.85;color:#b0b4bc;max-width:390px}.contact-details{margin-top:40px;display:grid;gap:28px}.contact-detail{display:flex;gap:16px;align-items:center}.contact-icon{width:40px;height:40px;border:1px solid #4c3239;background:#27181f;color:var(--red);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.contact-detail div{display:flex;flex-direction:column;gap:8px}.contact-detail small{font-size:9px;color:#8a8f9b;letter-spacing:.12em;font-weight:850}.contact-detail a,.contact-detail div>span{font-size:14px;font-weight:700;color:#fff;line-height:1.3}.contact-detail a:hover{color:#ff626b}.contact-form{padding:35px;background:#1b1e26;border:1px solid #333843;box-shadow:0 18px 35px #0002}.form-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.14em;font-weight:850;margin-bottom:28px}.form-head span:last-child{color:#888f9b}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{margin-bottom:19px}.field label{display:block;color:#cfd2d9;font-size:11px;font-weight:700;margin-bottom:9px}.field label span{color:var(--red)}.field input,.field select,.field textarea{width:100%;display:block;background:#11141b;border:1px solid #454953;border-radius:0;min-height:47px;color:#fff;outline:none;padding:12px 13px;font-size:12px;transition:border .2s}.field select{appearance:none;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"%3E%3Cpath d="m4 6 4 4 4-4" fill="none" stroke="%23ccc" stroke-width="1.5"/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:calc(100% - 14px) center;padding-right:40px}.field select option{background:#151820}.field textarea{resize:vertical;min-height:115px}.field input::placeholder,.field textarea::placeholder{color:#888f9c}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 1px #e92b3640}.form-submit{width:100%;justify-content:space-between;min-height:52px}.form-privacy{font-size:10px;color:#a1a6af;line-height:1.7;margin:17px 0 0}.form-status{font-size:11px;color:#a5e5c0;line-height:1.5;margin:12px 0 0}.form-status:empty{display:none}.form-status.error{color:#ff9298}
.footer{background:#080a0f;border-top:1px solid #222630}.footer-top{padding:57px 0;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-brand img{width:195px;height:auto;mix-blend-mode:screen}.footer-brand p{color:#969ca7;font-size:12px;line-height:1.8;max-width:305px;margin:16px 0 0}.footer-col{display:flex;flex-direction:column;gap:14px}.footer-col>span{font-size:11px;font-weight:800;letter-spacing:.13em;color:#fff;margin-bottom:8px}.footer-col a{font-size:12px;color:#969ca7}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid #252834;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#757d89}.bottom-sep{color:var(--red);margin:0 8px}.floating-contact{position:fixed;z-index:95;bottom:26px;right:26px;display:flex;align-items:center;gap:10px;padding:12px 17px;background:#24bd62;border:2px solid #fefefe24;color:#fff;border-radius:50px;box-shadow:0 8px 25px #0008;font-size:12px;font-weight:850;transition:transform .2s,background .2s}.floating-contact:hover{transform:translateY(-3px);background:#1dab56}.floating-contact svg{width:20px;height:20px}
@media(max-width:1150px){.container{width:min(1100px,calc(100% - 50px))}.nav-links{gap:18px}.nav-link{font-size:11px}.nav-cta{padding:13px}.brand img{width:174px}.hero h1{font-size:clamp(55px,6.1vw,76px)}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:275px}.statement-grid{gap:45px}.contact-grid{gap:50px}.strip-inner div{font-size:11px}}
@media(max-width:850px){.top-line{height:29px}.top-line-inner{font-size:9px}.top-line a{font-size:0}.top-line a strong{font-size:10px}.top-line a strong{margin:0}.nav{height:76px}.brand img{width:170px}.nav-toggle{width:43px;height:41px;background:transparent;border:1px solid #343741;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center}.nav-toggle span{display:block;background:#fff;height:2px;width:20px}.nav-links{display:none;position:absolute;left:0;right:0;top:76px;background:#10131b;padding:22px max(25px,calc((100vw - 740px)/2));border-bottom:1px solid #383b44;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 28px #0005}.nav-links.open{display:flex}.nav-link{padding:14px 4px;font-size:13px;border-bottom:1px solid #292d36}.nav-cta{justify-content:space-between;margin-top:18px}.hero{height:auto;min-height:600px}.hero-photo{inset:0;opacity:.52;background-position:58% center}.hero-photo-shade{background:linear-gradient(90deg,#090c12fa 0%,#090c12e0 50%,#090c12a2 100%),linear-gradient(0deg,#0c0e13 0%,transparent 40%)}.hero-copy{padding:82px 0 87px}.hero h1{font-size:clamp(53px,8.5vw,74px)}.hero-rail{display:none}.strip-inner{flex-wrap:wrap;justify-content:space-around;gap:8px 16px;padding-block:19px}.strip-inner div{font-size:11px}.strip-symbol{display:none}.section{padding:84px 0}.section-top{align-items:start;flex-direction:column;gap:16px}.section-lede{max-width:620px}.statement{padding:82px 0}.statement-grid{grid-template-columns:1fr;gap:42px}.brand-display{min-height:330px}.cta-band-inner{min-height:175px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-info>p:not(.section-kicker){max-width:680px}.contact-details{display:grid;grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.top-line-inner>span{font-size:8px;letter-spacing:.08em}.top-line a strong{font-size:9px}.nav{height:73px}.nav-links{top:73px;padding-inline:18px}.brand img{width:154px}.hero{min-height:605px}.hero-copy{padding:78px 0 75px}.hero h1{font-size:clamp(48px,12vw,65px)}.hero p{font-size:13px;line-height:1.75}.eyebrow{font-size:9px;letter-spacing:.13em}.hero-buttons{gap:11px}.btn{font-size:11px;min-height:49px;padding:14px 15px;gap:19px}.hero-footnote{font-size:10px}.service-strip{border-bottom-width:3px}.strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px;min-height:auto}.strip-inner div{font-size:10px}.strip-index{font-size:11px;margin-right:6px}.section{padding:69px 0}.section h2,.statement h2{font-size:clamp(42px,10vw,57px)}.section-top{margin-bottom:28px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:270px}.card-icon{margin-top:26px;margin-bottom:20px}.statement{padding:67px 0}.brand-display{min-height:240px;padding:16px 12px}.brand-display-head{font-size:7px}.brand-display-foot{font-size:8px}.process-grid{grid-template-columns:1fr;gap:27px}.process-step{padding-top:17px}.step-number{margin-bottom:14px;font-size:38px}.process-step p{max-width:100%}.cta-band-inner{padding-block:34px;flex-direction:column;align-items:start;gap:24px}.cta-band h2{font-size:44px}.contact-details{grid-template-columns:1fr;gap:22px;margin-top:30px}.contact-form{padding:24px 17px}.field-row{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr 1fr;gap:36px 20px;padding:46px 0}.footer-brand{grid-column:1 / -1}.footer-bottom{flex-direction:column;gap:8px;padding-bottom:100px}.floating-contact{bottom:18px;right:18px;padding:14px;box-shadow:0 6px 21px #000a}.floating-contact svg{width:23px;height:23px}.floating-contact span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Tipografía de titulares con peso consistente cuando Impact no está instalada */
.hero h1,.section h2,.statement h2,.cta-band h2{font-weight:900;font-family:"Arial Black","Noto Sans Display",Arial,sans-serif;letter-spacing:-.045em}

/* Version 1.1 — responsive and functional refinements */
.contact-extra{display:block!important;margin-top:7px;color:#60d993!important;font-size:12px!important;font-weight:700!important}
.contact-extra:hover{color:#b7f7c6!important}
.email-address{overflow-wrap:anywhere}
.faq{background:#0e1118;border-top:1px solid #282c35;border-bottom:1px solid #252935}
.faq-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:70px;align-items:start}
.faq-intro{color:var(--muted);font-size:14px;line-height:1.75;margin:24px 0 0;max-width:400px}
.faq-items{border-top:1px solid #414551}
.faq-items details{border-bottom:1px solid #414551;padding:19px 0}
.faq-items summary{cursor:pointer;list-style:none;position:relative;padding-right:32px;font-size:15px;font-weight:800;line-height:1.55}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary:after{content:'+';position:absolute;right:5px;top:-3px;font-size:25px;color:var(--red);font-weight:400}
.faq-items details[open] summary:after{content:'−'}
.faq-items details p{font-size:13px;color:#b7bec9;line-height:1.8;margin:13px 16px 5px 0;max-width:650px}
.wa-ready[hidden]{display:none!important}
.wa-ready{margin-top:18px;padding:18px;border:1px solid #42604c;background:#122018;display:flex;flex-direction:column;gap:12px}
.wa-ready-heading{font-size:13px;font-weight:800;color:#e7fff0;margin:0}
.btn-whatsapp{background:#20a95b;color:#fff;justify-content:space-between;width:100%}
.btn-whatsapp:hover{background:#16834a}
.btn-copy{border:1px solid #59675f;background:transparent;color:#fff;width:100%}
.btn-copy:hover{background:#ffffff0d}
.message-label{font-size:11px;color:#c0d6c6;font-weight:700;margin-top:7px}
.message-preview{width:100%;min-height:166px;border:1px solid #54705a;padding:13px 14px;background:#0e1712;color:#e4f2e7;font-size:12px;line-height:1.65;resize:vertical}
.form-privacy a{text-decoration:underline}
.nav-toggle:focus-visible,.faq summary:focus-visible{outline:2px solid #ff8186;outline-offset:4px}
/* All images are local: avoid a third-party image dependency at runtime. */
.hero-photo{opacity:.72}
@media(max-width:850px){.faq-layout{grid-template-columns:1fr;gap:35px}}
@media(max-width:600px){.faq-layout{gap:24px}.faq-items summary{font-size:14px}.faq-items details p{font-size:12px}.wa-ready{padding:14px}.btn-whatsapp,.btn-copy{font-size:11px}.hero h1{overflow-wrap:normal;hyphens:auto}.contact-extra{font-size:12px!important}}


/* =============================================================
   RVS v1.2 — CABECERA CORPORATIVA
   Solo afecta franja superior, marca, menú y botón principal.
   La composición del hero y demás secciones siguen intactas.
   ============================================================= */
.top-line {
  height: 47px;
  background: #11141a;
  border-bottom: 1px solid #30333b;
  color: #e6e8ee;
  font-size: 12px;
  letter-spacing: .075em;
  font-weight: 700;
}
.top-line-inner { gap: 20px; }
.top-brand { min-width: 0; display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.top-brand strong { color: #fff; font-size: 12.5px; font-weight: 900; letter-spacing: .095em; }
.top-brand .online-dot { width: 9px; height: 9px; margin: 0 2px 0 0; vertical-align: middle; flex: none; box-shadow: 0 0 0 4px #e92b362a; }
.top-brand .top-divider { width: 1px; height: 18px; background: #6e4248; margin: 0 3px; flex: none; }
.top-specialty { color: #c9cdd5; font-size: 12px; letter-spacing: .09em; }
.top-line .top-call { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 750; letter-spacing: .03em; white-space: nowrap; padding: 5px 0; }
.top-call:hover strong { color: #ff6671; }
.top-call .top-phone-icon { width: 17px; height: 17px; flex: none; color: #f33a47; }
.top-call-label { color: #c0c5d0; font-size: 11.5px; font-weight: 750; letter-spacing: .07em; }
.top-line .top-call strong { margin: 0; font-size: 14px; font-weight: 900; letter-spacing: .03em; color: #fff; transition: color .2s; }
.site-header {
  background: #090c11;
  border-bottom: 1px solid #353b45;
  box-shadow: 0 12px 32px rgba(0,0,0,.22);
}
.nav.container { width: min(1240px, calc(100% - 54px)); }
.nav { height: 114px; gap: 20px; }
.brand {
  width: 275px;
  min-width: 275px;
  height: 104px;
  align-items: center;
  justify-content: flex-start;
  padding: 5px 9px 5px 0;
  flex-shrink: 0;
  position: relative;
}
.brand:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 71%;
  height: 2px;
  background: linear-gradient(90deg, var(--red) 0%, #ad1923 55%, transparent 100%);
  opacity: .9;
}
.brand img {
  width: 100%;
  height: 96px;
  object-fit: contain;
  object-position: center left;
  display: block;
  mix-blend-mode: screen;
}
.nav-links { gap: clamp(12px, 1.65vw, 26px); margin-left: auto; }
.nav-link { font-size: 13.5px; font-weight: 750; letter-spacing: .005em; white-space: nowrap; line-height: 1.4; }
.nav-link.active:before { width: 6px; height: 6px; margin-right: 8px; }
.nav-cta {
  min-height: 52px;
  padding: 15px 19px;
  font-size: 13.5px;
  font-weight: 800;
  white-space: nowrap;
  gap: 17px;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 -3px 0 #a91b28;
}
.nav-cta span { font-size: 19px; }
@media (max-width: 1120px) {
  .nav { height: 100px; }
  .brand { width: 254px; min-width: 254px; height: 96px; }
  .brand img { height: 87px; }
  .nav-toggle { display: flex; width: 46px; height: 46px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; background: #161a21; border: 1px solid #4c525d; flex: none; margin-left: auto; }
  .nav-toggle span { display: block; background: #fff; width: 22px; height: 2px; }
  .nav-links { display: none; position: absolute; top: 100px; left: 0; right: 0; margin: 0; padding: 18px max(27px,calc((100vw - 920px)/2)) 24px; background: #11151d; border-bottom: 2px solid var(--red); box-shadow: 0 22px 35px #0009; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links.open { display: flex; }
  .nav-link { font-size: 15px; padding: 14px 6px; border-bottom: 1px solid #343945; }
  .nav-cta { margin-top: 18px; min-height: 54px; justify-content: space-between; }
}
@media (max-width: 700px) {
  .top-line { height: 43px; }
  .top-line-inner { gap: 8px; }
  .top-brand { gap: 8px; }
  .top-brand strong { font-size: 11px; letter-spacing: .03em; }
  .top-brand .online-dot { width: 7px; height: 7px; margin: 0; }
  .top-specialty, .top-brand .top-divider, .top-call-label { display: none; }
  .top-line .top-call { gap: 6px; padding: 0; }
  .top-call .top-phone-icon { height: 15px; width: 15px; }
  .top-line .top-call strong { font-size: 11.5px; }
  .nav.container { width: calc(100% - 34px); }
  .nav { height: 94px; }
  .brand { width: 234px; min-width: 0; max-width: calc(100% - 67px); height: 88px; padding-right: 0; }
  .brand img { height: 82px; }
  .nav-links { top: 94px; padding: 16px 20px 24px; }
  .nav-toggle { width: 44px; height: 44px; }
}
@media (max-width: 389px) {
  .top-brand strong { font-size: 10px; }
  .top-line .top-call strong { font-size: 10.5px; }
  .top-call .top-phone-icon { display: none; }
  .nav { height: 87px; }
  .brand { width: 205px; height: 81px; }
  .brand img { height: 76px; }
  .nav-links { top: 87px; }
}
/* Evita recortar la frase introductoria en ventanas de escritorio bajas. */
@media (min-width: 851px) {
  .hero { height: auto; min-height: 680px; }
  .hero-content { height: auto; min-height: 680px; }
  .hero-copy { padding-top: 68px; padding-bottom: 76px; }
}


/* =============================================================
   RVS v1.3 — LECTURA, JERARQUÍA Y BÚSQUEDA DE SERVICIOS
   Mantiene la cabecera v1.2 e incrementa tipografía de contenido.
   ============================================================= */
:root { --muted:#c1c7d0; --faint:#acb3c0; }
html { scroll-padding-top:136px; }
body { font-size:16px; line-height:1.6; }
.section, .statement, .faq, .contact { scroll-margin-top:132px; }
.container { width:min(1200px,calc(100% - 64px)); }
/* La jerarquía de textos sirve a la lectura, no solo al diseño */
.section-kicker { font-size:14px; letter-spacing:.12em; margin-bottom:18px; line-height:1.5; }
.section { padding:96px 0; }
.section h2,.statement h2 { font-size:clamp(36px,4.2vw,58px); line-height:1.09; letter-spacing:-.035em; }
.section-lede,.faq-intro,.statement p:not(.section-kicker),.contact-info>p:not(.section-kicker) {
  font-size:18px; line-height:1.75; color:#d0d4dd;
}
.section-lede { max-width:405px; margin-bottom:5px; }
.section-top { gap:55px; align-items:end; margin-bottom:40px; }
.nav-link {font-size:15px;}
.nav-cta {font-size:15px;}
.top-brand strong{font-size:13px}
.top-specialty{font-size:13px}
.top-line .top-call strong{font-size:15px}
/* Inicio: párrafo y botones legibles y orientados a la acción */
.eyebrow { font-size:14px; letter-spacing:.12em; }
.hero-copy { max-width:685px; }
.hero h1 {font-size:clamp(52px,5.7vw,81px); line-height:1.01; margin-bottom:28px;}
.hero p {font-size:19px;line-height:1.7;max-width:560px;color:#e2e5eb;}
.btn {font-size:16px;min-height:56px;line-height:1.35;gap:18px;padding:15px 22px;}
.hero-footnote{font-size:14px;color:#d3d6df;line-height:1.65;}
.hero-rail{font-size:11px;}
/* Navegación de áreas: ahora son enlaces, no rótulos decorativos */
.service-strip { background:#d82b36; }
.strip-inner {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:82px;}
.strip-inner>a { display:flex;justify-content:center;align-items:center;gap:10px;padding:20px 13px;min-width:0;
 color:#fff;font-size:16px;line-height:1.4;font-weight:850;white-space:nowrap;border-right:1px solid #ffffff47; transition:background .2s;}
.strip-inner>a:first-child{border-left:1px solid #ffffff47;}
.strip-inner>a:hover,.strip-inner>a:focus-visible{background:#8f1523;}
.strip-index{font-size:15px;color:#ffe2e5;margin-right:2px;}
.strip-go{font-size:19px;font-weight:500;margin-left:auto;}
/* Herramienta de búsqueda; disponible en cualquier tamaño */
.service-finder {padding:28px 32px 24px;margin:0 0 28px;background:#20242d;border:1px solid #484c57;border-left:5px solid var(--red);border-radius:4px;}
.finder-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:22px;}
.finder-heading h3{font-size:27px;line-height:1.2;margin:0 0 7px;font-weight:850;color:#fff;}
.finder-heading p{font-size:16px;line-height:1.6;margin:0;color:#c8cdd7;max-width:675px;}
.finder-help{color:#fff;font-size:15px;line-height:1.45;font-weight:800;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px;max-width:215px;}
.finder-help:hover{color:#ffcdd1;}
.finder-label{font-size:15px;font-weight:800;display:block;margin-bottom:9px;}
.finder-input-wrap{display:flex;align-items:center;gap:12px;background:#10131a;border:1px solid #68707c;padding:0 18px;min-height:60px;}
.finder-input-wrap:focus-within{border-color:#f53b46;box-shadow:0 0 0 2px #e92b3640;}
.finder-input-wrap svg{width:24px;height:24px;flex:none;color:#f74450;}
.finder-input-wrap input{display:block;background:transparent;color:#fff;width:100%;padding:16px 0;font:500 17px/1.4 var(--ui);outline:none;border:0;min-width:0;}
.finder-input-wrap input::placeholder{color:#aeb6c2;opacity:1;}
.finder-input-wrap input::-webkit-search-cancel-button{cursor:pointer;}
.finder-hint{color:#b6bdc8;font-size:14px;line-height:1.5;margin:15px 0 10px;}
.finder-filters{display:flex;flex-wrap:wrap;gap:9px;}
.finder-filter{border:1px solid #656d79;background:#11151d;color:#fff;min-height:43px;padding:10px 18px;font-size:15px;font-weight:750;line-height:1.2;border-radius:30px;transition:background .15s,border .15s;}
.finder-filter:hover{background:#3c424e;}
.finder-filter.is-active{background:var(--red);border-color:var(--red);color:#fff;}
.finder-count{color:#d1d6df;font-size:14px;font-weight:700;margin:16px 0 0;}
.finder-empty{background:#1a1e26;border:1px solid #434955;padding:25px 28px;margin-top:10px;}
.finder-empty[hidden]{display:none!important;}
.finder-empty h3{font-size:21px;margin:0 0 5px;}
.finder-empty p{font-size:16px;line-height:1.7;color:#d1d7df;margin:0 0 12px;}
.finder-empty a{font-size:16px;font-weight:800;color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px;}
/* Tarjetas: dos columnas para eliminar párrafos encajonados */
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.service-card{min-height:315px;padding:30px 34px;background:#1a1e27;scroll-margin-top:150px;}
.service-card[hidden]{display:none!important;}
.service-card h3{font-size:25px;line-height:1.3;margin-bottom:14px;}
.service-card p{font-size:17px;line-height:1.72;color:#d1d5de;max-width:510px;margin-bottom:26px;}
.service-card a{font-size:16px;line-height:1.4;padding-top:18px;}
.card-top{font-size:13px;color:#bdc3cd;}
.card-icon{margin-top:20px;margin-bottom:20px;}
/* Empresa, proceso y preguntas */
.statement-points div{font-size:17px;line-height:1.55;padding-bottom:16px;}
.brand-display-head,.brand-display-foot{font-size:12px;line-height:1.5;letter-spacing:.05em;}
.process-step h3{font-size:24px;line-height:1.35;}
.process-step p{font-size:17px;line-height:1.75;color:#454a55;max-width:360px;}
.cta-band p{font-size:14px;color:#fff;line-height:1.4;letter-spacing:.1em;}
.faq-items summary{font-size:19px;line-height:1.5;}
.faq-items details{padding:21px 0;}
.faq-items details p{font-size:17px;line-height:1.75;color:#d1d7df;}
/* Cotización: etiquetas e indicaciones nunca diminutas */
.contact-grid{grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:55px;}
.contact-detail small{font-size:13px;color:#c8cdd5;line-height:1.45;letter-spacing:.07em;}
.contact-detail a,.contact-detail div>span{font-size:17px;line-height:1.55;overflow-wrap:anywhere;}
.contact-extra{font-size:16px!important;}
.contact-form{padding:34px;}
.form-head{font-size:14px;line-height:1.5;letter-spacing:.06em;}
.field label{font-size:16px;margin-bottom:9px;line-height:1.45;}
.field input,.field select,.field textarea{font-size:16px;min-height:55px;line-height:1.5;padding:13px 14px;}
.field textarea{min-height:140px;}
.field input::placeholder,.field textarea::placeholder{color:#acb3be;}
.form-privacy{font-size:14px;line-height:1.7;color:#c4c9d2;}
.form-status{font-size:15px;line-height:1.6;}
.wa-ready-heading,.message-label{font-size:16px;}
.message-preview{font-size:15px;line-height:1.6;}
.btn-whatsapp,.btn-copy{font-size:16px;}
/* Pie de página utilizable también en móvil */
.footer-brand img{width:245px;max-width:100%;}
.footer-brand p{font-size:16px;line-height:1.7;max-width:350px;}
.footer-col>span{font-size:14px;letter-spacing:.08em;}
.footer-col a{font-size:16px;line-height:1.5;color:#d1d6df;}
.footer-col{gap:13px;}
.footer-bottom{font-size:13px;color:#bcc2cb;line-height:1.6;}
.floating-contact{font-size:15px;padding:13px 19px;}
@media(max-width:1120px){
  .nav-link{font-size:16px;}
  .nav-cta{font-size:16px;}
  .section-top{align-items:start;}
}
@media(max-width:850px){
  .container{width:calc(100% - 44px);}
  .section{padding:78px 0;}
  .section-top{flex-direction:column;gap:20px;}
  .section-lede{max-width:720px;}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
  .faq-layout{grid-template-columns:1fr;gap:30px;}
  .strip-inner>a{gap:5px;font-size:14px;padding-inline:8px;}
  .strip-index{font-size:13px;}
  .strip-go{display:none;}
  .service-finder{padding:24px;}
  .finder-heading{flex-direction:column;align-items:flex-start;gap:14px;}
  .finder-help{max-width:none;}
  .services-grid{gap:14px;}
  .service-card{padding:25px;}
}
@media(max-width:600px){
  .container{width:calc(100% - 36px);}
  .section{padding:66px 0;}
  .section h2,.statement h2{font-size:clamp(34px,9vw,47px);line-height:1.1;}
  .section-kicker{font-size:13px;}
  .hero{min-height:665px;}
  .hero-copy{padding:64px 0 68px;}
  .hero h1{font-size:clamp(43px,11.3vw,58px);line-height:1.02;}
  .eyebrow{font-size:13px;letter-spacing:.06em;}
  .hero p{font-size:17px;line-height:1.65;}
  .hero-footnote{font-size:13px;}
  .hero-buttons{gap:11px;}
  .btn{font-size:15px;min-height:52px;padding:12px 17px;gap:12px;}
  .strip-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-height:auto;}
  .strip-inner>a{font-size:15px;padding:16px 10px;border-bottom:1px solid #ffffff45;justify-content:flex-start;}
  .strip-inner>a:nth-child(odd){border-left:1px solid #ffffff47;}
  .strip-index{font-size:14px;}
  .section-lede,.faq-intro,.statement p:not(.section-kicker),.contact-info>p:not(.section-kicker){font-size:17px;}
  .service-finder{padding:22px 17px 19px;margin-bottom:20px;}
  .finder-heading h3{font-size:24px;}
  .finder-heading p,.finder-help{font-size:16px;}
  .finder-input-wrap{min-height:58px;padding:0 12px;gap:8px;}
  .finder-input-wrap input{font-size:16px;}
  .finder-filter{font-size:14px;padding:10px 14px;}
  .services-grid{grid-template-columns:1fr;gap:15px;}
  .service-card{min-height:0;padding:27px 23px;}
  .service-card h3{font-size:23px;}
  .service-card p{font-size:17px;line-height:1.7;}
  .service-card a{font-size:15px;}
  .statement{padding:65px 0;}
  .statement-points div{font-size:16px;}
  .brand-display-head,.brand-display-foot{font-size:11px;}
  .process-step h3{font-size:23px;}
  .process-step p{font-size:17px;}
  .cta-band h2{font-size:clamp(35px,10vw,46px);}
  .faq-items summary{font-size:18px;}
  .faq-items details p{font-size:16px;}
  .contact-form{padding:26px 18px;}
  .contact-detail small{font-size:12px;}
  .contact-detail a,.contact-detail div>span{font-size:16px;}
  .contact-extra{font-size:16px!important;}
  .field label{font-size:16px;}
  .field input,.field select,.field textarea{font-size:16px;}
  .form-privacy{font-size:13px;}
  .btn-whatsapp,.btn-copy{font-size:15px;}
  .message-preview{font-size:15px;}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px 16px;}
  .footer-brand{grid-column:1/-1;}
  .footer-brand p{font-size:16px;}
  .footer-col>span{font-size:13px;}
  .footer-col a{font-size:15px;}
  .footer-bottom{font-size:13px;}
  .floating-contact{bottom:15px;right:15px;padding:14px;}
}
@media(max-width:389px){
  .top-brand strong{font-size:11px;}
  .top-line .top-call strong{font-size:11.5px;}
  .hero{min-height:675px;}
  .hero h1{font-size:clamp(41px,11vw,49px);}
  .hero p{font-size:16px;}
  .hero-buttons .btn{width:100%;justify-content:space-between;}
}

/* RVS 1.3, últimos ajustes de lectura y navegación */
.form-head{flex-wrap:wrap;gap:8px;}
.footer-col a{overflow-wrap:anywhere;}
.back-to-top{color:#f1f3f5;font-size:14px;font-weight:800;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px;white-space:nowrap;}
.back-to-top:hover{color:#ff8991;}
@media(max-width:700px){.top-brand strong{font-size:12px}.top-line .top-call strong{font-size:12px}}
@media(max-width:389px){.top-brand strong{font-size:11px}.top-line .top-call strong{font-size:11.5px}}


/* ============================================================
   RVS V1.4 — LEGIBILIDAD GENERAL, TÍTULOS Y WHATSAPP UNIFICADO
   Estilos al final para respetar el diseño previo (V1.3).
   ============================================================ */
:root {--text-main:19px;--text-support:16px;}
body{font-size:var(--text-main);line-height:1.68;}
/* Tipos de menú: cabecera y franja de contacto */
.top-line{min-height:54px;height:auto;font-size:15px;letter-spacing:.045em;}
.top-line-inner{min-height:54px;gap:16px;}
.top-brand strong,.top-specialty{font-size:15px;letter-spacing:.035em;}
.top-call-label{font-size:14px;letter-spacing:.045em;}
.top-line .top-call strong{font-size:17px;}
.top-line .top-call{gap:9px;}
.nav{gap:18px;}
.nav-links{gap:clamp(10px,1.2vw,19px);}
.nav-link{font-size:17px;font-weight:800;line-height:1.35;letter-spacing:0;}
.nav-cta{font-size:16px;min-height:58px;padding:15px 17px;gap:9px;}
.nav-cta span{font-size:19px;}
/* Títulos al entrar y al recorrer todas las secciones */
.eyebrow{font-size:17px;letter-spacing:.07em;line-height:1.45;}
.hero h1{font-size:clamp(59px,6.2vw,90px);line-height:1.01;}
.hero p{font-size:21px;line-height:1.65;max-width:600px;}
.hero-footnote{font-size:16px;line-height:1.6;}
.hero-rail{font-size:13px;}
.btn{font-size:18px;line-height:1.3;min-height:61px;}
.section-kicker{font-size:17px;line-height:1.45;letter-spacing:.075em;margin-bottom:20px;}
.section h2,.statement h2{font-size:clamp(47px,4.8vw,70px);line-height:1.085;max-width:850px;letter-spacing:-.035em;overflow-wrap:break-word;}
.section-lede,.faq-intro,.statement p:not(.section-kicker),.contact-info>p:not(.section-kicker){font-size:20px;line-height:1.7;}
.section-lede{max-width:430px;}
/* Accesos por servicio en franja roja */
.strip-inner>a{font-size:19px;font-weight:850;gap:10px;min-height:91px;white-space:normal;line-height:1.3;}
.strip-index{font-size:17px;}
.strip-go{font-size:21px;}
/* Buscador: palabras y filtros claros */
.finder-heading h3{font-size:34px;line-height:1.22;}
.finder-heading p{font-size:19px;line-height:1.62;}
.finder-help{font-size:17px;max-width:270px;line-height:1.48;}
.finder-label{font-size:18px;}
.finder-hint,.finder-count{font-size:17px;}
.finder-filter{font-size:17px;padding:12px 19px;min-height:48px;}
.finder-input-wrap input{font-size:19px;}
.finder-empty h3{font-size:27px;}
.finder-empty p,.finder-empty a{font-size:18px;}
/* Servicios: títulos y explicación con presencia */
.service-card{padding:33px 36px;}
.service-card h3{font-size:30px;line-height:1.22;margin-bottom:16px;}
.service-card p{font-size:19px;line-height:1.68;}
.service-card a{font-size:18px;line-height:1.45;gap:12px;align-items:center;}
.card-top{font-size:15px;letter-spacing:.065em;}
.card-arrow{font-size:23px;}
.statement-points div{font-size:19px;line-height:1.55;}
.brand-display-head,.brand-display-foot{font-size:14px;line-height:1.4;letter-spacing:.02em;}
.brand-display-head{flex-wrap:wrap;}
/* Cómo trabajamos / banda de acción */
.process-step h3{font-size:28px;line-height:1.25;}
.process-step p{font-size:19px;line-height:1.67;max-width:390px;}
.cta-band p{font-size:17px;letter-spacing:.09em;line-height:1.45;}
.cta-band h2{font-size:clamp(42px,4.6vw,66px);line-height:1.08;}
/* Preguntas: identificar respuesta sin esfuerzo */
.faq-items summary{font-size:23px;line-height:1.4;padding-right:38px;}
.faq-items details p{font-size:19px;line-height:1.68;}
/* Contacto y cotizaciones */
.contact-detail small{font-size:16px;line-height:1.45;letter-spacing:.035em;}
.contact-detail a,.contact-detail div>span{font-size:19px;line-height:1.55;}
.contact-extra{font-size:18px!important;line-height:1.5;}
.form-head{font-size:17px;line-height:1.45;}
.field label{font-size:18px;line-height:1.5;}
.field input,.field select,.field textarea{font-size:18px;line-height:1.5;}
.form-privacy{font-size:16px;line-height:1.65;}
.form-status{font-size:17px;line-height:1.55;}
.wa-ready-heading,.message-label{font-size:18px;}
.message-preview{font-size:17px;line-height:1.55;}
.btn-whatsapp,.btn-copy{font-size:18px;}
/* Footer como parte de la navegación */
.footer-brand p{font-size:18px;line-height:1.65;}
.footer-col>span{font-size:18px;letter-spacing:.035em;}
.footer-col a{font-size:18px;line-height:1.5;}
.footer-bottom{font-size:15px;line-height:1.5;}
.back-to-top{font-size:17px;}
/* Todos los accesos a WhatsApp incluyen el MISMO logo */
.wa-link{display:inline-flex;align-items:center;gap:11px;}
.wa-mark{width:27px;height:27px;object-fit:contain;flex:none;vertical-align:middle;}
.service-card .wa-link{justify-content:flex-start;flex-wrap:wrap;}
.service-card .wa-link span{margin-left:auto;}
.nav-cta.wa-link{justify-content:center;}
.contact-extra.wa-link{display:inline-flex!important;align-items:center;}
.footer-col .wa-link{align-self:flex-start;}
.floating-contact.wa-link{font-size:17px;gap:9px;}
.floating-contact .wa-mark{width:27px;height:27px;}
/* Protección frente a textos largos y zoom de navegador */
.nav-links,.contact-form,.service-finder,.service-card,.footer-col{min-width:0;}
@media(max-width:1270px){
  .nav-toggle{display:flex;width:53px;height:53px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:#171b24;border:1px solid #555b66;flex:none;margin-left:auto;}
  .nav-toggle span{display:block;width:23px;height:2px;background:#fff;}
  .nav-links{display:none;position:absolute;top:114px;left:0;right:0;z-index:130;margin:0;padding:23px max(25px,calc((100vw - 1050px)/2)) 28px;background:#10141b;border-bottom:2px solid var(--red);box-shadow:0 22px 36px #0009;flex-direction:column;align-items:stretch;gap:0;}
  .nav-links.open{display:flex;}
  .nav-link{font-size:19px;padding:16px 8px;border-bottom:1px solid #343b47;}
  .nav-cta{margin-top:20px;min-height:59px;justify-content:center;font-size:18px;}
}
@media(max-width:1120px){
  .nav{height:100px;}
  .nav-links{top:100px;}
  .section-top{flex-direction:column;align-items:flex-start;gap:18px;}
  .section-lede{max-width:800px;}
  .cta-band-inner{flex-wrap:wrap;gap:20px;padding-block:33px;}
}
@media(max-width:850px){
  .section h2,.statement h2{font-size:clamp(41px,5.8vw,58px);}
  .nav-link{font-size:19px;}
  .nav-links{top:100px;}
  .strip-inner>a{font-size:17px;min-height:75px;gap:7px;}
  .strip-index{font-size:16px;}
  .service-card{padding:28px;}
}
@media(max-width:700px){
  .top-line{min-height:48px;}
  .top-line-inner{min-height:48px;}
  .top-brand strong{font-size:13px;letter-spacing:0;}
  .top-line .top-call strong{font-size:14px;letter-spacing:0;}
  .nav{height:96px;}
  .nav-links{top:96px;}
  .hero p{font-size:19px;}
  .hero h1{font-size:clamp(43px,10vw,61px);line-height:1.035;}
  .section h2,.statement h2{font-size:clamp(38px,8.7vw,51px);}
  .section-kicker{font-size:15px;}
  .section-lede,.faq-intro,.statement p:not(.section-kicker),.contact-info>p:not(.section-kicker){font-size:18px;}
  .service-card h3{font-size:27px;}
  .service-card p{font-size:18px;}
  .service-card a{font-size:17px;}
  .process-step h3{font-size:26px;}
  .process-step p{font-size:18px;}
  .faq-items summary{font-size:21px;}
  .faq-items details p{font-size:18px;}
  .contact-detail small{font-size:15px;}
  .contact-detail a,.contact-detail div>span{font-size:18px;}
  .form-head{font-size:16px;}
  .field label{font-size:17px;}
  .field input,.field select,.field textarea{font-size:17px;}
  .form-privacy{font-size:15px;}
  .footer-col>span{font-size:16px;}
  .footer-col a{font-size:16px;}
  .footer-bottom{font-size:14px;}
  .btn{font-size:17px;}
  .finder-heading h3{font-size:29px;}
  .finder-heading p{font-size:18px;}
  .finder-label,.finder-hint,.finder-count{font-size:16px;}
  .finder-help{font-size:16px;}
  .finder-filter{font-size:16px;}
  .brand-display-head,.brand-display-foot{font-size:12px;}
  .hero-footnote{font-size:15px;}
}
@media(max-width:600px){
  .nav{height:94px;}
  .nav-links{top:94px;}
  .hero{height:auto;min-height:0;}
  .hero-copy{padding-top:82px;padding-bottom:90px;}
  .hero h1{font-size:clamp(42px,10.5vw,55px);}
  .eyebrow{font-size:15px;letter-spacing:.04em;}
  .strip-inner>a{font-size:17px;padding:14px 9px;min-height:70px;}
  .strip-go{display:none;}
  .finder-input-wrap input{font-size:17px;}
  .service-card{padding:28px 22px;}
  .service-card h3{font-size:27px;}
  .faq-items summary{font-size:21px;}
  .contact-form{padding:26px 20px;}
  .floating-contact .wa-mark{width:30px;height:30px;}
  .floating-contact.wa-link{padding:12px;}
  .floating-contact.wa-link span{display:none;}
}
@media(max-width:389px){
  .top-brand strong{font-size:12px;}
  .top-line .top-call strong{font-size:12.5px;}
  .top-call .top-phone-icon{display:none;}
  .section h2,.statement h2{font-size:38px;}
  .hero h1{font-size:42px;}
  .hero-buttons .btn{width:100%;justify-content:flex-start;}
  .strip-inner>a{font-size:16px;gap:5px;}
  .strip-index{font-size:14px;}
  .service-card .wa-link{font-size:16px;}
}


/* ============================================================
   RVS V1.5 — SECCIONES VISIBLES + NAVEGACIÓN ORIENTADA AL CLIENTE
   01–05: encabezados del contenido son HITOS de navegación,
   distintos de los títulos gigantes y las etiquetas internas.
   ============================================================ */
:root{--section-nav-height:70px;--sticky-header-height:114px}
html{scroll-padding-top:calc(var(--section-nav-height) + var(--sticky-header-height) + 14px)}
.section-nav{position:sticky;top:var(--sticky-header-height);z-index:95;background:#151820;border-top:1px solid #343946;border-bottom:2px solid #494e5a;box-shadow:0 9px 24px rgba(0,0,0,.28)}
.section-nav-inner{min-height:var(--section-nav-height);display:flex;align-items:center;gap:23px}
.section-nav-label{font-size:15px;font-weight:900;color:#fff;letter-spacing:.04em;white-space:nowrap;display:flex;align-items:center;gap:10px}
.section-nav-dot{width:11px;height:11px;border-radius:50%;background:#f12a3c;display:inline-block;box-shadow:0 0 0 4px #f12a3c20}
.section-nav-links{display:flex;align-items:center;justify-content:space-between;gap:3px;flex:1;min-width:0}
.section-nav-links a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:10px 10px;border:1px solid transparent;color:#e3e5eb;font-size:15px;font-weight:780;line-height:1.15;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.section-nav-links a strong{color:#f9a5ad;font-size:14px;font-weight:900}
.section-nav-links a:hover,.section-nav-links a.is-current,.section-nav-links a:focus-visible{background:#b91d2a;border-color:#ee3444;color:#fff}
.section-nav-links a.is-current strong,.section-nav-links a:hover strong{color:#fff}
.section-nav-mobile{display:none}
.section-kicker{display:inline-flex;align-items:center;max-width:100%;min-height:65px;padding:0 20px 0 0;background:#24202a;border:1px solid #59404b;border-radius:2px;margin:0 0 27px;color:#fff;font-family:var(--ui);font-size:23px;line-height:1.25;letter-spacing:.025em;font-weight:900;box-shadow:0 4px 16px #0002;text-transform:uppercase;vertical-align:top}
.section-kicker .kicker-number{align-self:stretch;min-width:67px;display:flex;align-items:center;justify-content:center;background:#d82335;color:#fff;font:normal 30px/1 var(--display);letter-spacing:0;margin-right:19px;padding:6px 13px}
.section-kicker .kicker-name{display:inline-block;padding:10px 0;overflow-wrap:anywhere}
.process .section-kicker{background:#fff;border-color:#d5d5d5;color:#202126;box-shadow:0 4px 16px #0000000c}
.statement .section-kicker{margin-bottom:27px}
.contact .section-kicker{margin-bottom:27px}
.section-nav-mobile select{color-scheme:dark}
@media(max-width:1100px){
 :root{--sticky-header-height:100px}
 .section-nav-inner{justify-content:space-between}
 .section-nav-links{display:none}
 .section-nav-mobile{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:1;min-width:0}
 .section-nav-mobile label{font-size:15px;font-weight:800;white-space:nowrap;color:#d8d9e0}
 .section-nav-mobile select{width:min(100%,370px);min-width:0;min-height:50px;background:#232733;color:#fff;font:750 17px var(--ui);padding:8px 14px;border:1px solid #6a707f;border-radius:3px;cursor:pointer}
}
@media(max-width:700px){
 :root{--sticky-header-height:96px;--section-nav-height:70px}
 .section-nav-inner{gap:12px}
 .section-nav-label{font-size:13px;letter-spacing:0;white-space:normal;line-height:1.2;max-width:110px}
 .section-nav-mobile label{display:none}
 .section-nav-mobile select{width:100%;font-size:16px;min-height:52px;padding:9px 8px}
 .section-kicker{font-size:20px;min-height:58px;padding-right:12px;letter-spacing:0;margin-bottom:23px;max-width:100%}
 .section-kicker .kicker-number{min-width:58px;font-size:27px;margin-right:13px}
}
@media(max-width:389px){
 :root{--sticky-header-height:87px}
 .section-nav-label{font-size:11px;max-width:75px}
 .section-nav-mobile select{font-size:15px}
 .section-kicker{font-size:18px;min-height:56px}
 .section-kicker .kicker-number{min-width:52px;font-size:24px;margin-right:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* ============================================================
   RVS V1.6 — CONTINUIDAD ENTRE NAVEGACIÓN Y MÓDULOS
   Corregido: espacio excesivo entre «EXPLORA LA WEB»
   y el rótulo «01 QUÉ HACEMOS» al bajar desde la portada.
   Las barras conservan su estructura y orden.
   ============================================================ */
/* El primer módulo comienza inmediatamente debajo de la guía. */
.services.section {
  padding-top: 22px;
}
/* Secciones sucesivas conservan una separación clara, no exagerada. */
.section:not(.services) {
  padding-top: 58px;
}
/* Evita que una sombra pronunciada parezca otro espacio vacío. */
.section-nav {
  box-shadow: 0 3px 8px rgba(0,0,0,.16);
}
/* Un poco menos de espacio entre el rótulo de sección y su contenido. */
.services .section-kicker {
  margin-bottom: 18px;
}
@media(max-width:850px) {
  .services.section { padding-top: 18px; }
  .section:not(.services) { padding-top: 45px; }
}
@media(max-width:600px) {
  .services.section { padding-top: 14px; }
  .section:not(.services) { padding-top: 36px; }
  .services .section-kicker { margin-bottom: 16px; }
}


/* ===============================================================
   RVS V1.6.1 — SOLO AJUSTE DE ESPACIADO, SECCIONES 02, 03, 04, 05
   Base: V1.6 (sin incorporar cambios JavaScript ni menú de V1.7).
   Al clicar un menú, scroll-padding-top (ya existente) reserva el
   espacio de la cabecera y la navegación; se elimina SOLO la
   compensación adicional de scroll-margin-top de estos 4 módulos.
   =============================================================== */
#nosotros, #proceso, #preguntas, #contacto {
  scroll-margin-top: 0;
  padding-top: 22px;
}
@media (max-width: 850px) {
  #nosotros, #proceso, #preguntas, #contacto { padding-top: 18px; }
}
@media (max-width: 600px) {
  #nosotros, #proceso, #preguntas, #contacto { padding-top: 14px; }
}


/* V1.6.5 - botón superior redondeado */
.nav-cta{border-radius:16px;}
@media(max-width:850px){
  .nav-cta{border-radius:16px;}
}
@media(max-width:600px){
  .nav-cta{border-radius:16px;}
}


/* V1.6.6 - servicios con imagen corporativa */
.card-brand{margin-top:18px;margin-bottom:22px;display:flex;align-items:center;}
.card-brand-image{display:block;width:min(210px,100%);height:auto;filter:drop-shadow(0 6px 12px rgba(0,0,0,.28));}
@media(max-width:600px){
  .card-brand{margin-top:16px;margin-bottom:18px;}
  .card-brand-image{width:min(190px,100%);}
}


/* V1.6.7 - imágenes corporativas por servicio */
.card-brand-image{width:min(180px,100%);height:auto;}
@media(max-width:600px){.card-brand-image{width:min(170px,100%);}}


/* V1.6.8: Imágenes originales suministradas para cada tarjeta de servicio.
   Cada logo se muestra íntegro, centrado y con proporciones conservadas. */
.services-grid .card-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:198px;
  margin:22px 0 22px;
  padding:10px 12px;
  background:#07090d;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  overflow:hidden;
}
.services-grid .card-brand-image{
  display:block;
  width:auto;
  max-width:100%;
  max-height:174px;
  height:auto;
  object-fit:contain;
  filter:none;
}
@media(max-width:600px){
  .services-grid .card-brand{height:185px;margin:18px 0 20px;}
  .services-grid .card-brand-image{max-height:164px;}
}


/* V1.6.9 - formulario de contacto enviado por correo */
.consent-line{display:flex;align-items:flex-start;gap:12px;margin:2px 0 22px;}
.consent-line input{flex:0 0 auto;width:21px;height:21px;margin:3px 0 0;accent-color:#ed2939;cursor:pointer;}
.consent-line label{font-size:15px;line-height:1.55;color:#d9dbe2;cursor:pointer;}
.consent-line label span{color:#ff6671;}
.contact-form .form-privacy,.contact-form .form-status{font-size:14px;line-height:1.6;}
.contact-form .form-privacy strong{color:#f8f9fb;}
.contact-form .form-privacy a{color:#fff;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.contact-form .form-submit:disabled{opacity:.7;cursor:wait;transform:none;}
.contact-form .form-status.success{color:#88eab0;}
.contact-form .form-status.error{color:#ff9ea5;}
.contact-form .human-check{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.email-fallback[hidden]{display:none!important;}
.email-fallback{margin-top:18px;padding:20px;border:1px solid #5b4346;background:#25191e;border-radius:12px;}
.email-fallback p{margin:0 0 14px;font-size:16px;line-height:1.5;color:#fff;}
.email-fallback .btn{white-space:normal;text-align:center;border-radius:10px;}
.contact-form input[type=email]{font-size:16px;}
@media(max-width:600px){
  .consent-line label{font-size:15px;}
  .contact-form .form-privacy,.contact-form .form-status{font-size:14px;}
  .contact-detail .email-address{overflow-wrap:anywhere;}
}
