/* MEJORAVIT EN EFECTIVO — Diseño responsivo, sin dependencias externas */
:root{--red:#e42e37;--red-deep:#bd1726;--red-dark:#9b0f21;--rose:#fff0ed;--ink:#241d20;--ink-deep:#171215;--muted:#6d6467;--bg:#fcfaf8;--border:#eadfdd;--white:#fff;--green:#25d366;--radius:24px;--shadow:0 22px 62px rgba(62,20,24,.08);--font: "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--max:1200px;--nav-h:83px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;height:auto;display:block}
svg{display:block}
.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}
.skip-link{position:fixed;top:-70px;left:16px;background:#fff;z-index:1010;padding:12px 18px;border-radius:0 0 12px 12px}
.skip-link:focus{top:0}
:focus-visible{outline:3px solid #fd9f68;outline-offset:4px}
.scroll-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:var(--red);z-index:990;pointer-events:none;transition:width .07s linear}
.topline{background:var(--ink-deep);color:#f9eaeb;font-size:12px;letter-spacing:.01em}
.topline-inner{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:20px}
.topline-inner span{display:flex;align-items:center;gap:7px}
.topline .icon{width:14px;height:14px;color:#f67e83}
.site-header{height:var(--nav-h);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(231,220,221,.84);transition:box-shadow .2s ease,background .2s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header.is-scrolled{box-shadow:0 9px 24px rgba(39,17,21,.06)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:11px;min-width:0;flex-shrink:0}
.brand-mark{height:56px;width:61px;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid #f5e6e6;border-radius:13px;box-shadow:0 3px 12px rgba(50,18,20,.05)}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-name{display:flex;flex-direction:column;font-size:16px;font-weight:900;line-height:1.08;letter-spacing:.04em;white-space:nowrap}
.brand-name small{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.21em;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:clamp(15px,2vw,30px);margin-left:auto}
.nav-link{font-size:13px;color:#60575a;font-weight:650;white-space:nowrap;position:relative;padding:12px 0;transition:color .18s ease}
.nav-link:hover,.nav-link.is-active{color:var(--red-deep)}
.nav-link::after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:750;font-size:14px;line-height:1.3;border-radius:13px;border:1px solid transparent;padding:13px 19px;white-space:nowrap;cursor:pointer;transition:background .22s ease,transform .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(0)}
.btn-primary,.btn-nav{background:var(--red);color:#fff;box-shadow:0 9px 24px rgba(217,34,48,.21)}
.btn-primary:hover,.btn-nav:hover{background:var(--red-deep);box-shadow:0 14px 28px rgba(217,34,48,.25)}
.btn-nav{margin-left:4px;padding:12px 17px;font-size:13px}
.btn-nav .icon,.nav-mobile-cta .icon{width:18px;height:18px}
.btn-large{padding:18px 24px;border-radius:14px;font-size:14px;min-height:58px}
.btn-outline{border-color:#e7d8d8;background:#fff;color:var(--ink)}
.btn-outline:hover{border-color:var(--red);color:var(--red);box-shadow:0 10px 24px rgba(46,20,21,.06)}
.icon-right{margin-left:9px;width:17px;height:17px}
.menu-toggle,.nav-mobile-cta{display:none}
.section-anchor{scroll-margin-top:calc(var(--nav-h) + 15px)}
.section-pad{padding:113px 0}
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:11px;font-weight:850;letter-spacing:.2em;color:var(--red-deep);line-height:1.6}
.eyebrow-dot{height:8px;width:8px;background:var(--red);border-radius:50%;box-shadow:0 0 0 5px rgba(228,46,55,.11)}
.eyebrow-line{height:2px;width:24px;background:var(--red);display:inline-block}
/* Hero */
.hero{position:relative;min-height:660px;background:linear-gradient(118deg,#fffdfb 0%,#fffaf7 48%,#fdf0ed 100%);overflow:hidden;isolation:isolate}
.hero-grid{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(200,89,91,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(200,89,91,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 0%,black 60%);pointer-events:none}
.hero-ambient{position:absolute;right:-210px;top:-300px;width:760px;height:760px;background:radial-gradient(circle,rgba(244,132,116,.18) 0%,rgba(244,132,116,0) 65%);z-index:-1;pointer-events:none}
.hero-inner{min-height:660px;padding:70px 0 88px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:center}
.hero-copy{position:relative;z-index:3;padding:20px 0 0}
.hero-eyebrow{background:#fff;border:1px solid #f4dedd;border-radius:30px;padding:9px 17px 9px 13px;box-shadow:0 10px 30px rgba(78,19,29,.04);margin-bottom:27px}
.hero h1{font-size:clamp(50px,5.8vw,82px);line-height:1.03;letter-spacing:-.058em;margin:0;font-weight:900;max-width:660px}
.hero h1>span{color:var(--red);display:block;white-space:nowrap;font-size:clamp(43px,5.4vw,77px)}
.heading-period{color:var(--ink)}
.title-rule{display:flex;gap:6px;margin:28px 0 24px}
.title-rule span:first-child{width:54px;height:4px;background:var(--red);border-radius:4px}
.title-rule span:last-child{width:14px;height:4px;background:#ffc3bc;border-radius:4px}
.hero-description{font-size:17px;line-height:1.85;color:var(--muted);max-width:520px;margin:0 0 30px}
.hero-description strong{color:var(--red-deep);font-weight:800}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.hero-facts{display:flex;align-items:center;gap:27px;margin-top:55px}
.hero-fact{display:flex;align-items:center;gap:12px}
.fact-icon{display:grid;place-items:center;width:40px;height:40px;background:#ffeded;color:var(--red);border-radius:12px}
.fact-icon .icon{width:19px;height:19px}
.hero-fact strong{font-size:12px;color:var(--ink);display:block;line-height:1.35}
.hero-fact small{font-size:11px;color:var(--muted);display:block;margin-top:5px}
.facts-divider{height:37px;width:1px;background:#e9d7d7}
.hero-art{position:relative;min-height:525px;display:grid;place-items:center;isolation:isolate}
.hero-back-circle{position:absolute;width:min(92%,480px);aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#fb5e59 0%,#e32834 52%,#ad0e26 100%);box-shadow:0 34px 86px rgba(181,32,47,.24);z-index:-3}
.hero-back-circle::before{content:"";position:absolute;inset:20px;border-radius:50%;border:1px solid rgba(255,255,255,.28)}
.hero-back-circle::after{content:"";position:absolute;inset:60px;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.hero-ring{position:absolute;aspect-ratio:1;border-radius:50%;z-index:-2;border:1px dashed rgba(157,22,38,.24)}
.hero-ring-one{width:105%;animation:slowSpin 60s linear infinite}
.hero-ring-two{width:96%;border-style:solid;border-color:rgba(255,255,255,.2)}
.hero-logo-panel{width:min(72%,347px);background:#fff;padding:13px;border:1px solid #fff;border-radius:24px;transform:rotate(-5deg);box-shadow:0 24px 56px rgba(86,16,27,.31);transition:transform .4s ease;position:relative;z-index:2}
.hero-art:hover .hero-logo-panel{transform:rotate(-2deg) translateY(-5px)}
.hero-logo-surface{background:#fff;border-radius:15px;overflow:hidden;aspect-ratio:1 / .97;display:flex;align-items:center;justify-content:center}
.hero-logo-surface img{width:100%;height:100%;object-fit:contain}
.logo-panel-base{padding:11px 10px 3px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.logo-panel-base span{color:var(--ink);font-size:10px;font-weight:900;letter-spacing:.16em}
.logo-panel-base .icon{height:17px;width:17px;color:var(--red)}
.floating-note{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;padding:14px 16px;min-width:199px;border:1px solid #f8e1df;border-radius:15px;box-shadow:0 14px 38px rgba(60,20,25,.16);z-index:4;animation:gentleFloat 6s ease-in-out infinite}
.note-top{right:-16px;top:64px;transform:rotate(4deg)}
.note-bottom{left:-40px;bottom:73px;transform:rotate(-5deg);animation-delay:-3s}
.note-icon{width:33px;height:33px;background:#e9f8ef;color:#169e52;display:grid;place-items:center;border-radius:10px;flex-shrink:0}
.note-icon .icon{width:19px;height:19px;stroke-width:3}
.floating-note small{display:block;color:#a48f91;font-size:9px;font-weight:750;letter-spacing:.14em;margin-bottom:3px}
.floating-note strong{font-size:12px;white-space:nowrap;color:#302327}
.hero-spark{position:absolute;color:#fdb9b5;font-size:34px;z-index:1;pointer-events:none}
.spark-one{top:42px;left:73px}
.spark-two{right:14px;bottom:67px;font-size:25px}
.hero-bottom-line{height:7px;background:linear-gradient(90deg,var(--red) 0 33%,#f3aca7 33% 61%,#f7ded9 61% 100%)}
/* Section headings */
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:38px;margin-bottom:41px}
.section-heading h2{font-size:clamp(36px,4.1vw,54px);font-weight:850;letter-spacing:-.055em;line-height:1.13;margin:14px 0 0}
.section-heading h2 span{color:var(--red)}
.section-heading p{max-width:355px;margin:0 0 6px;font-size:14px;line-height:1.85;color:var(--muted)}
/* Services */
.services{background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.service-card{background:linear-gradient(142deg,#fff 0%,#fff 60%,#fff9f7 100%);border:1px solid #e9dedd;border-radius:20px;min-height:334px;padding:24px 22px 21px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.service-card:hover{transform:translateY(-8px);box-shadow:0 21px 46px rgba(72,27,30,.09);border-color:#edc1bd}
.service-card::after{content:"";position:absolute;right:-58px;top:84px;width:126px;height:126px;border:1px solid rgba(219,46,56,.08);border-radius:50%;box-shadow:0 0 0 23px rgba(219,46,56,.024);pointer-events:none}
.service-top{display:flex;align-items:start;justify-content:space-between;gap:12px;position:relative;z-index:1}
.service-symbol{width:58px;height:58px;border-radius:16px;background:#ffeded;display:grid;place-items:center;color:var(--red);border:1px solid #f6dedd}
.service-symbol .icon{width:29px;height:29px;stroke-width:1.65}
.service-index{font-size:11px;color:#b1a5a5;font-weight:750;letter-spacing:.09em;padding-top:5px}
.service-content{position:relative;z-index:1;margin-top:40px;flex:1}
.service-content h3{font-size:22px;line-height:1.2;letter-spacing:-.038em;margin:0 0 11px;font-weight:830}
.price-accent{color:var(--red);display:block}
.service-content p{font-size:12.5px;line-height:1.7;color:#817577;margin:0}
.service-action{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:31px;border-top:1px solid #efe7e5;padding-top:18px;font-weight:770;font-size:12px;transition:color .2s ease}
.service-action:hover{color:var(--red)}
.round-arrow{width:31px;height:31px;border-radius:50%;border:1px solid #e5d6d5;display:grid;place-items:center;transition:background .2s ease,color .2s ease,border-color .2s ease}
.round-arrow .icon{width:15px;height:15px}
.service-action:hover .round-arrow{background:var(--red);border-color:var(--red);color:#fff}
.service-card-featured{background:linear-gradient(138deg,#e52f38,#b80e24);border-color:transparent;color:#fff;box-shadow:0 15px 37px rgba(205,30,45,.15)}
.service-card-featured:hover{border-color:#b71929;box-shadow:0 21px 47px rgba(205,30,45,.21)}
.service-card-featured::after{width:210px;height:210px;top:-15px;right:-112px;border-color:rgba(255,255,255,.18);box-shadow:0 0 0 30px rgba(255,255,255,.055),0 0 0 70px rgba(255,255,255,.022)}
.service-card-featured .service-symbol{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.21)}
.service-card-featured .service-index,.service-card-featured .service-content p{color:#ffe4e2}
.service-card-featured .service-action{border-color:rgba(255,255,255,.22)}
.service-card-featured .round-arrow{border-color:rgba(255,255,255,.44)}
.service-card-featured .service-action:hover{color:#fff}
.service-card-featured .service-action:hover .round-arrow{background:#fff;color:var(--red);border-color:#fff}
/* Mejoravit */
.mejoravit{background:#201719;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.dark-texture{position:absolute;inset:0;background:radial-gradient(circle at 3% 88%,rgba(211,41,55,.22),transparent 36%),radial-gradient(circle at 96% 10%,rgba(211,41,55,.14),transparent 36%);z-index:-1;pointer-events:none}
.dark-texture::after{content:"";position:absolute;inset:0;opacity:.13;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:21px 21px;mask-image:linear-gradient(90deg,transparent,black)}
.mejoravit-layout{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:75px;align-items:center}
.dark-eyebrow{color:#ff9a96}
.mejoravit-intro h2{font-size:clamp(40px,4.8vw,64px);letter-spacing:-.061em;line-height:1.09;margin:21px 0 19px}
.mejoravit-intro h2 span{color:#fa7778;display:block}
.mejoravit-intro>p{font-size:15px;color:#c7b4b6;line-height:1.85;margin:0;max-width:345px}
.mejoravit-stamp{display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.16);margin:30px 0 33px;font-size:28px;font-weight:900;letter-spacing:.17em}
.mejoravit-stamp .icon{width:42px;height:42px;stroke-width:1.3}
.btn-white{background:#fff;color:#b31629}
.btn-white:hover{background:#fff2f0;box-shadow:0 15px 34px rgba(0,0,0,.2)}
.requisitos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.requisito-item{display:flex;align-items:flex-start;gap:15px;background:#322529;border:1px solid #503b40;border-radius:17px;padding:24px 20px;min-height:116px;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.requisito-item:hover{background:#3c2a2e;border-color:#7d4750;transform:translateY(-4px)}
.requisito-check{width:34px;height:34px;border:1px solid #99454c;background:#542d35;color:#ff8b8e;border-radius:11px;display:grid;place-items:center;flex-shrink:0}
.requisito-check .icon{height:19px;width:19px;stroke-width:2.6}
.requisito-item small{display:block;color:#fa8186;font-size:9px;font-weight:800;letter-spacing:.16em;margin:1px 0 9px}
.requisito-item strong{display:block;color:#fff;font-weight:730;font-size:15px;line-height:1.43}
/* Coverage */
.coverage{background:linear-gradient(#fffdfb,#fff8f6)}
.coverage-heading{margin-bottom:34px}
.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.info-panel{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:23px;min-height:317px;padding:31px 34px;box-shadow:0 12px 36px rgba(63,23,27,.045)}
.panel-header{display:flex;gap:12px;align-items:center;font-size:10px;font-weight:850;letter-spacing:.14em;color:#a25156}
.panel-icon{height:36px;width:36px;display:grid;place-items:center;background:#ffeeed;color:var(--red);border-radius:11px}
.panel-icon .icon{height:20px;width:20px}
.panel-body{position:relative;z-index:2;margin-top:41px}
.panel-overline{font-size:10px;color:#a69b9b;font-weight:800;letter-spacing:.18em}
.panel-body h3{font-size:clamp(31px,3.2vw,42px);font-weight:850;letter-spacing:-.055em;margin:9px 0 9px;line-height:1.19}
.panel-body h3 span{color:var(--red)}
.panel-body p{font-size:14px;color:var(--muted);line-height:1.8;margin:0;max-width:300px}
.panel-decoration{position:absolute;right:-60px;bottom:-68px;opacity:.75;pointer-events:none}
.map-deco{width:244px;height:244px;background:radial-gradient(circle,rgba(242,62,73,.12),transparent 65%);display:grid;place-items:center}
.map-deco>.icon{color:#f09493;width:59px;height:59px;stroke-width:1.2;filter:drop-shadow(0 3px 1px #fff)}
.map-orbit{position:absolute;border:1px dashed rgba(231,59,66,.26);border-radius:50%;inset:25px}
.map-orbit.orbit-2{inset:2px}
.clock-deco{width:230px;height:230px;right:-57px;bottom:-75px;opacity:.55}
.clock-face{position:relative;width:100%;height:100%;border:14px solid #f8d4d1;border-radius:50%;box-shadow:0 0 0 1px #f6d1cf,0 0 0 17px #fdf0ee}
.clock-face::after{content:"";position:absolute;inset:18px;border-radius:50%;border:1px dashed #eebbb9}
.clock-hand{position:absolute;background:#e88583;width:5px;border-radius:5px;left:50%;bottom:50%;transform-origin:bottom center}
.hand-1{height:69px;transform:translateX(-50%) rotate(12deg)}
.hand-2{height:54px;transform:translateX(-50%) rotate(122deg)}
.clock-center{position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);background:var(--red);border:3px solid #fff;border-radius:50%;z-index:2}
.hours-big{color:var(--ink)!important;font-size:clamp(21px,2.6vw,33px)!important;font-weight:860;letter-spacing:-.047em;max-width:none!important;white-space:nowrap;line-height:1.5!important;margin-top:15px!important}
.hours-big small{font-size:13px;color:#a48b8d;letter-spacing:0}
.hours-separator{color:var(--red);padding:0 4px}
/* Contact */
.contact{padding:0 0 110px;background:#fff8f6}
.contact-card{position:relative;isolation:isolate;display:flex;gap:30px;justify-content:space-between;align-items:center;overflow:hidden;padding:64px clamp(38px,6vw,85px);background:linear-gradient(110deg,#eb353c 0%,#c7192e 61%,#ad1027 100%);border-radius:26px;color:#fff;box-shadow:0 24px 58px rgba(169,18,40,.18)}
.contact-circles{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.contact-circles span{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.13);aspect-ratio:1}
.contact-circles span:nth-child(1){width:470px;right:-210px;top:-210px}
.contact-circles span:nth-child(2){width:580px;right:-260px;top:-260px}
.contact-circles span:nth-child(3){width:710px;right:-325px;top:-325px}
.contact-content{max-width:610px}
.contact-eyebrow{color:#ffe1df}
.contact-eyebrow .eyebrow-line{background:#fff}
.contact-content h2{font-size:clamp(35px,4vw,53px);letter-spacing:-.052em;line-height:1.14;margin:17px 0}
.contact-content h2 span{color:#ffe5e0}
.contact-content p{color:#ffeded;font-size:15px;line-height:1.7;margin:0 0 26px}
.btn-contact{background:#fff;color:#b3192a}
.btn-contact:hover{background:#fff2ec;box-shadow:0 17px 34px rgba(86,9,21,.18)}
.contact-number{position:relative;min-width:280px;display:flex;flex-direction:column;align-items:flex-start;padding:25px 0 25px 35px;border-left:1px solid rgba(255,255,255,.28)}
.contact-number>span{font-size:11px;font-weight:850;letter-spacing:.21em;color:#ffe5e4;margin-bottom:9px}
.contact-number>a{font-size:clamp(27px,2.6vw,37px);font-weight:450;white-space:nowrap;letter-spacing:-.047em}
.contact-number>a strong{font-weight:850}
.contact-number>a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.contact-number>small{color:#ffddda;margin-top:10px;font-size:12px}
/* Footer */
.footer{background:#1d171a;color:#fff}
.footer-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.7fr) minmax(0,1fr);gap:70px;padding:70px 0 59px}
.brand-footer .brand-mark{height:59px;width:64px}
.brand-footer .brand-name{color:#fff}
.footer-brand p{max-width:335px;color:#b6aaac;line-height:1.8;font-size:13px;margin:20px 0 0}
.footer-links,.footer-info{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px;color:#c3b6b8}
.footer-links h3,.footer-info h3{font-size:13px;color:#fff;letter-spacing:.05em;margin:0 0 8px}
.footer-links a,.footer-info a{transition:color .2s ease}
.footer-links a:hover,.footer-info a:hover{color:#ff777b}
.footer-bottom{border-top:1px solid #3e3336;padding:23px 0 30px;display:flex;justify-content:space-between;align-items:center;color:#998d90;font-size:10px;letter-spacing:.14em;font-weight:750}
.footer-bottom a{display:flex;align-items:center;gap:8px;color:#dbcacc;transition:color .2s ease}
.footer-bottom a:hover{color:#fff}
.footer-bottom .icon{width:15px;height:15px}
/* Floating WhatsApp */
.whatsapp-float{position:fixed;right:24px;bottom:25px;z-index:90;width:61px;height:61px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(20,116,62,.29);border:3px solid #fff;transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float::before{content:"";position:absolute;inset:-6px;border:1px solid rgba(37,211,102,.39);border-radius:50%;animation:pulse 2.8s ease-out infinite}
.whatsapp-float:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 17px 36px rgba(20,116,62,.38)}
.whatsapp-float>.icon{width:31px;height:31px;stroke-width:1.65}
.float-label{position:absolute;right:73px;white-space:nowrap;font-size:12px;font-weight:750;background:#fff;color:var(--ink);padding:11px 13px;border-radius:11px;box-shadow:0 6px 23px rgba(0,0,0,.1);opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.whatsapp-float:hover .float-label,.whatsapp-float:focus-visible .float-label{opacity:1;transform:translateX(0)}
/* Scroll-trigger reveal: content stays visible without JavaScript. */
/* Corrección de compatibilidad: el contenido NUNCA se oculta por JavaScript.
   En cualquier navegador, con o sin ejecución de JS, todo permanece legible. */
[data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  [data-reveal].revealed{animation:enterSoft .5s ease-out both}
}
@keyframes enterSoft{from{opacity:.88;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes gentleFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes slowSpin{to{transform:rotate(360deg)}}
@keyframes pulse{0%{transform:scale(.87);opacity:.65}80%,100%{transform:scale(1.3);opacity:0}}
@media(max-width:1160px){.container{width:min(var(--max),calc(100% - 54px))}.main-nav{gap:16px}.brand-name{font-size:14px}.brand-mark{width:55px;height:51px}.btn-nav{padding:11px}.hero h1{font-size:clamp(47px,5.5vw,72px)}.hero h1>span{font-size:clamp(43px,5.05vw,66px)}.service-card{padding:21px 17px}.service-content h3{font-size:20px}.service-action{font-size:11px}.mejoravit-layout{gap:37px}.contact-card{padding-inline:50px}}
@media(max-width:930px){:root{--nav-h:74px}.topline-inner{justify-content:center}.topline-hours{display:none!important}.main-nav{gap:13px}.nav-link{font-size:12px}.btn-nav{display:none}.hero-inner{min-height:0;padding:58px 0 76px}.hero h1{font-size:clamp(45px,5.5vw,59px)}.hero h1>span{font-size:clamp(42px,5.2vw,56px)}.hero-description{font-size:15px}.hero-art{min-height:440px}.hero-logo-panel{width:75%}.note-top{right:-5px;top:35px}.note-bottom{left:-17px;bottom:28px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:315px;padding:24px}.service-content h3{font-size:23px}.mejoravit-layout{grid-template-columns:1fr;gap:37px}.mejoravit-intro h2 span{display:inline}.mejoravit-stamp{display:none}.mejoravit-intro>.btn{margin-top:28px}.requisito-item{min-height:110px}.contact-number{min-width:0}.contact-card{padding-inline:40px}}
@media(max-width:720px){:root{--nav-h:72px}.container{width:calc(100% - 38px)}.topline{font-size:10.5px}.topline-inner{min-height:34px}.site-header{height:var(--nav-h)}.brand-mark{width:48px;height:46px;border-radius:10px}.brand-name{font-size:13px}.brand-name small{font-size:9px;letter-spacing:.18em}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ebdada;border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;position:relative}.menu-toggle .icon{width:24px;height:24px}.menu-close-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}.main-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;max-height:calc(100dvh - var(--nav-h) - 33px);overflow-y:auto;padding:18px 22px 25px;display:flex;flex-direction:column;align-items:stretch;gap:1px;background:#fff;border-bottom:1px solid #eededd;box-shadow:0 22px 35px rgba(42,21,27,.12);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.main-nav.is-open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.nav-link{padding:13px 8px;font-size:15px;border-bottom:1px solid #f4e9e8}.nav-link::after{display:none}.nav-mobile-cta{display:inline-flex;align-self:stretch;margin-top:16px}.section-pad{padding:78px 0}.hero{min-height:0}.hero-inner{display:flex;flex-direction:column;gap:5px;padding:65px 0 70px}.hero-copy{width:100%;padding:0}.hero-eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:22px}.hero h1{font-size:clamp(45px,10.1vw,69px);letter-spacing:-.061em}.hero h1>span{font-size:clamp(40px,9.4vw,63px)}.title-rule{margin:22px 0 17px}.hero-description{font-size:15px;line-height:1.8;max-width:560px;margin-bottom:24px}.hero-actions{gap:10px}.btn-large{min-height:54px;padding:15px 18px}.hero-facts{margin-top:29px;gap:16px}.hero-fact{gap:8px}.fact-icon{width:36px;height:36px}.hero-fact strong{font-size:11px}.hero-fact small{font-size:10px}.hero-art{width:100%;min-height:470px;margin-top:28px;max-width:540px}.hero-back-circle{width:min(86%,390px)}.hero-ring-one{width:92%}.hero-ring-two{width:82%}.hero-logo-panel{width:min(66%,285px)}.note-top{right:1%;top:32px}.note-bottom{left:1%;bottom:30px}.section-heading{align-items:start;display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(35px,8.3vw,49px)}.section-heading p{margin:17px 0 0;font-size:14px;max-width:480px}.services-grid{gap:14px}.service-card{padding:20px;min-height:302px}.service-content h3{font-size:21px}.coverage-grid{grid-template-columns:1fr;gap:15px}.info-panel{min-height:270px;padding:27px}.panel-body{margin-top:32px}.contact{padding-bottom:80px}.contact-card{padding:43px 29px;display:block}.contact-content h2{font-size:clamp(34px,7.9vw,46px)}.contact-number{padding:22px 0 0;margin-top:31px;border-left:0;border-top:1px solid rgba(255,255,255,.27)}.contact-number>a{font-size:33px}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding:55px 0 45px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:500px}.whatsapp-float{right:16px;bottom:17px;width:58px;height:58px}}
@media(max-width:490px){.hero h1{font-size:clamp(40px,10.1vw,52px)}.hero h1>span{font-size:clamp(36px,9.15vw,47px)}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn{font-size:12px;gap:7px;min-height:57px;padding:11px 10px}.hero-actions .icon-right{margin-left:1px}.hero-actions .btn .icon{width:16px;height:16px}.hero-facts{gap:10px;justify-content:space-between}.hero-fact{gap:6px}.fact-icon{height:32px;width:32px}.hero-fact strong{font-size:10.3px}.hero-fact small{font-size:9.5px}.facts-divider{height:32px}.hero-art{min-height:384px;margin-top:23px}.hero-back-circle{width:min(89%,348px)}.hero-ring-one{width:99%}.hero-logo-panel{width:65%;padding:9px;border-radius:17px}.hero-logo-surface{border-radius:11px}.logo-panel-base{padding:8px 5px 1px}.logo-panel-base span{font-size:7px}.floating-note{padding:9px 10px;min-width:0;gap:8px;border-radius:12px}.floating-note small{font-size:7px}.floating-note strong{font-size:10px}.note-icon{width:27px;height:27px;border-radius:8px}.note-icon .icon{width:16px;height:16px}.note-top{right:-3px;top:18px}.note-bottom{left:0;bottom:16px}.spark-one{left:27px;top:9px}.spark-two{right:9px;bottom:38px}.services-grid{grid-template-columns:1fr}.service-card{min-height:270px;padding:24px}.service-content{margin-top:24px}.service-content h3{font-size:24px}.service-action{margin-top:23px;font-size:12px}.mejoravit-intro h2{font-size:42px}.requisitos-grid{grid-template-columns:1fr;gap:10px}.requisito-item{min-height:85px;padding:18px}.info-panel{min-height:252px}.panel-body h3{font-size:34px}.hours-big{font-size:25px!important}.contact-card{padding:35px 24px}.contact-content h2{font-size:34px}.contact-number>a{font-size:30px}.footer-main{gap:30px}.footer-links,.footer-info{font-size:12px;line-height:1.5}.footer-bottom{font-size:9px}.float-label{display:none}}
@media(max-width:360px){.container{width:calc(100% - 30px)}.brand-name{font-size:11px}.brand-name small{font-size:8px}.hero h1{font-size:38px}.hero h1>span{font-size:34px}.hero-eyebrow{font-size:9px}.hero-actions .btn{font-size:11px}.hero-facts{flex-wrap:wrap}.facts-divider{display:none}.hero-art{min-height:350px}.note-top{right:-8px}.note-bottom{left:-8px}.floating-note strong{font-size:9px}.section-pad{padding:67px 0}.requisito-item strong{font-size:14px}.hours-big{font-size:22px!important}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.js-enabled [data-reveal]{opacity:1!important;transform:none!important}}
