:root{--blue:#006b9d;--navy:#063955;--red:#db242c;--ink:#173747;--muted:#526875;--line:#dbe5eb;--soft:#f2f7fa;--white:#fff;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font:16px/1.7 "Segoe UI",Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(2.5rem,4.3vw,4.2rem);font-weight:750;margin-bottom:24px}h2{font-size:clamp(1.7rem,2.5vw,2.5rem);margin-bottom:24px}h3{font-size:1.45rem}p{margin-bottom:1.2em}em{font-style:normal;color:var(--blue)}.wrap{width:min(1240px,calc(100% - 72px));margin-inline:auto}.topbar{background:var(--navy);color:#fff;font-size:.875rem}.topbar .wrap{display:flex;justify-content:space-between;padding-block:7px;gap:12px}.topbar a{color:white}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:111px}.brand{display:block;flex-shrink:0;width:260px}.brand img{width:100%;object-fit:contain}.header-inner nav{display:flex;align-items:center;gap:22px}.header-inner nav a{color:var(--ink);font-size:.9rem;font-weight:600;white-space:nowrap;padding:15px 0;border-bottom:3px solid transparent}.header-inner nav a:hover,.header-inner nav a[aria-current]{color:var(--blue);border-bottom-color:var(--red);text-decoration:none}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 14px;color:var(--navy);font-weight:600}.skip-link{position:absolute;top:-100px;left:16px;z-index:99;background:white;padding:12px}.skip-link:focus{top:10px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:68px 80px}.eyebrow{display:block;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.16em;color:var(--blue);margin-bottom:18px}.hero-copy p{font-size:1.12rem;color:var(--muted);max-width:550px}.hero-copy strong{font-weight:600}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{background:var(--blue);color:white;border:1px solid var(--blue);padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:7px;font-weight:650;line-height:1.5;min-height:50px;transition:background .15s}.button:hover{background:var(--navy);border-color:var(--navy);text-decoration:none}.button.secondary{background:white;color:var(--blue);border-color:#b6cbd7}.button.secondary:hover{background:var(--soft)}.hero-note{display:flex;align-items:center;gap:12px;margin-top:32px;font-size:.875rem;color:var(--muted)}.red-line{height:3px;width:32px;background:var(--red)}.hero-images{position:relative;padding:0 0 38px 30px}.hero-main{width:100%;height:385px;object-fit:cover;object-position:center;border-radius:80px 12px 12px 12px}.hero-secondary{position:absolute;bottom:0;left:0;width:46%;height:190px;object-fit:cover;border:7px solid white;border-radius:14px}.image-caption{position:absolute;bottom:7px;right:0;background:var(--blue);color:white;border-left:5px solid var(--red);padding:16px 28px;font-size:.9rem;border-radius:4px;line-height:1.5;box-shadow:0 8px 24px #06395515}.section{padding-block:76px}.soft{background:var(--soft)}.section-title{margin-bottom:40px;max-width:700px}.features{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:44px}.feature{display:grid;grid-template-columns:78px 1fr;gap:22px;padding-top:27px;border-top:1px solid #cfdee7}.feature img{height:76px;width:76px;object-fit:contain;mix-blend-mode:multiply}.feature h3{margin-bottom:16px;font-size:1.4rem;line-height:1.25}.feature p{color:var(--muted);font-size:1rem;margin:0}.plans-intro{display:grid;grid-template-columns:230px 1fr;gap:50px;align-items:center;margin-bottom:38px}.plans-intro img{width:230px}.plans-intro p{color:var(--muted)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:25px}.plan{border:1px solid var(--line);border-top:4px solid var(--blue);padding:34px;border-radius:0 0 12px 12px}.plan h3{font-size:2rem;margin-bottom:14px}.plan .eyebrow{font-size:.75rem}.plan ul{padding-left:20px;margin-bottom:25px}.plan li{padding-bottom:10px}.text-link{font-weight:650;text-underline-offset:5px}.page-heading{background:var(--soft);border-bottom:1px solid var(--line);padding:48px 0 45px;position:relative}.page-heading:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--red)}.page-heading h1{font-size:clamp(2.5rem,4vw,3.5rem);margin-bottom:12px}.page-heading p{max-width:740px;color:var(--muted);font-size:1.1rem;margin:0}.page-heading .eyebrow{margin-bottom:12px}.about{display:grid;grid-template-columns: .9fr 1.1fr;gap:65px;align-items:start}.about-photo img{border-radius:var(--radius);width:100%;max-height:630px;object-fit:cover}.about-photo p{font-size:.875rem;color:var(--muted);padding-top:12px}.prose p{color:var(--muted)}.prose p:last-child{margin-bottom:0}.prose h2{max-width:540px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.service-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;display:flex;flex-direction:column}.service-card>img{width:100%;height:270px;object-fit:cover}.service-body{padding:30px}.service-number{font-size:.75rem;letter-spacing:.12em;color:var(--blue);font-weight:700;display:block;margin-bottom:16px}.service-card h2{font-size:1.65rem;line-height:1.25;margin-bottom:18px}.service-card p{color:var(--muted);margin-bottom:0}.text-service{background:var(--soft);border-color:transparent;justify-content:center;border-top:4px solid var(--blue)}.text-service .service-body{padding:44px}.text-service h2{font-size:2rem;max-width:390px}.text-service .service-number{margin-bottom:30px}.callout{margin-top:48px;background:var(--navy);border-radius:var(--radius);padding:36px 40px;display:flex;justify-content:space-between;gap:35px;align-items:center}.callout h2,.callout p{color:white}.callout h2{font-size:1.75rem;margin-bottom:12px}.callout p{margin:0;color:#d4e3eb}.callout .button{background:white;color:var(--blue);white-space:nowrap}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.form-panel{border:1px solid var(--line);padding:35px;background:#fff;border-radius:var(--radius);box-shadow:0 12px 45px #06395508}.form-panel h2{font-size:1.8rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{min-width:0}.field label{display:block;font-size:.9rem;font-weight:650;margin-bottom:7px}.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #a6bac7;border-radius:6px;background:#fff;padding:11px 12px;color:var(--ink);font-size:1rem;line-height:1.5}.field input[type=file]{font-size:.875rem;background:var(--soft);padding:12px}.field input::file-selector-button{border:0;border-radius:4px;padding:7px;background:#dfeaf1;color:var(--navy);margin-right:10px}.field textarea{resize:vertical;min-height:130px}.field small{font-size:.8rem;color:var(--muted)}.field-error:empty{display:none}.field-error{font-size:.85rem;color:#ae1721;margin:0}.consent{display:flex;align-items:start;gap:9px;font-size:.875rem;color:var(--muted);line-height:1.5}.consent input{accent-color:var(--blue);margin-top:5px;flex-shrink:0;width:17px;height:17px}.privacy-note,.form-fallback{font-size:.8rem;color:var(--muted);margin-top:18px;overflow-wrap:anywhere}.form-status:not(:empty){background:#eaf3fa;border-left:3px solid var(--blue);padding:15px;margin-top:20px;font-size:.95rem}.form-status.error{border-color:var(--red)}.request-form .button{margin-top:5px}.trap{position:absolute;left:-10000px;opacity:0}.notice{background:var(--soft);padding:24px;border-left:4px solid var(--red);margin-top:28px;border-radius:0 10px 10px 0}.notice strong{color:var(--navy)}.notice p{margin:8px 0 0;font-size:.95rem}.zones-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.zone{padding:30px;background:var(--soft);border-radius:12px;border-top:3px solid var(--blue)}.zone h2{font-size:1.6rem}.zone ul{display:flex;flex-wrap:wrap;gap:7px 20px;padding:0;list-style:none;margin:0}.zone li{font-size:.95rem}.zone li:before{content:"";width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:middle}.zone:last-child{grid-column:1/-1}.location-block{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:45px;margin-top:65px}.map{border:0;width:100%;height:300px;border-radius:12px;background:var(--soft)}.contact-details .map{margin-top:28px;height:230px}.contact-details .phone{font-size:1.4rem;font-weight:650}.contact-details>p{margin-bottom:10px}.contact-emails{margin-block:26px}.contact-emails>div{padding-block:10px;border-bottom:1px solid var(--line)}.contact-emails dt{font-size:.8rem;color:var(--muted)}.contact-emails dd{margin:0;overflow-wrap:anywhere}.social-links{display:flex;align-items:center;gap:12px}.social-links a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:white}.social-links img{width:25px;height:25px;object-fit:contain}.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:20px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-block:22px}.footer-top .brand{width:240px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:21px;color:var(--muted);font-size:.8rem}.footer-bottom small{font-size:inherit}.footer-bottom a{color:inherit}.mock-note{font-size:.8rem;color:var(--muted);margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:14px}
@media(min-width:1450px){.hero{gap:85px}}@media(max-width:1180px){.header-inner{flex-wrap:wrap;justify-content:center;gap:0;padding-block:12px}.header-inner .brand{width:240px}.header-inner nav{width:100%;justify-content:center;gap:25px}.header-inner nav a{padding:7px 0;font-size:.9rem}.hero{gap:36px}.hero-main{height:370px}.form-layout{gap:32px}.form-panel{padding:28px}}@media(max-width:780px){.wrap{width:calc(100% - 36px)}.topbar{font-size:.75rem}.topbar .wrap span{max-width:180px}.header-inner{justify-content:space-between;min-height:88px;padding-block:6px}.header-inner .brand{width:225px}.menu-button{display:block}.header-inner nav{display:flex;flex-wrap:wrap;gap:5px 18px;justify-content:flex-start;padding:12px 0}.js .header-inner nav:not(.open){display:none}.header-inner nav a{padding:8px 0}.hero{grid-template-columns:1fr;padding-block:40px 50px;gap:35px}.hero-copy h1{font-size:3rem}.hero-images{max-width:600px;width:100%;padding-left:20px}.hero-main{height:340px}.hero-secondary{height:160px;width:43%}.hero-copy p{font-size:1rem}.hero-note{margin-top:23px}.section{padding-block:48px}.features,.plans,.about,.form-layout,.location-block{grid-template-columns:1fr;gap:32px}.feature{grid-template-columns:60px 1fr;gap:18px}.feature img{width:60px;height:60px}.plans-intro{grid-template-columns:1fr;gap:20px}.plans-intro img{width:185px}.section-title{margin-bottom:26px}.about-photo img{max-height:450px;object-position:center}.page-heading{padding-block:34px}.service-grid{grid-template-columns:1fr}.service-card>img{height:260px}.service-body,.text-service .service-body{padding:25px}.text-service h2{font-size:1.7rem}.text-service .service-number{margin-bottom:16px}.callout{flex-direction:column;align-items:flex-start;padding:28px}.zones-grid{grid-template-columns:1fr}.location-block{margin-top:40px}.footer-bottom{flex-direction:column;gap:8px}.form-panel{padding:24px}.page-heading p{font-size:1rem}}@media(max-width:440px){.header-inner .brand{width:195px}.menu-button{padding:8px 10px}.hero-copy h1{font-size:2.6rem}.hero-main{height:290px}.hero-secondary{height:135px}.image-caption{padding:12px 18px}.features .feature{grid-template-columns:1fr}.feature img{width:62px;height:62px}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.footer-top{flex-wrap:wrap;gap:12px}.footer-top .brand{width:210px}.topbar .wrap span{max-width:145px}.plan{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.topbar,.menu-button,.actions,.site-footer,.request-form,.map{display:none}.site-header{position:static}.wrap{width:100%}.section{padding:20px 0}.service-card{break-inside:avoid}}

/* Fondo gris tenue solicitado: superficies suaves en todas las páginas. */
:root{--page:#f3f4f6;--surface:#f8f9fa;--soft:#eaf0f4;--white:#f8f9fa}
body,.site-header,.site-footer{background:var(--page)}
.form-panel,.service-card,.plan,.menu-button,.social-links a,.button.secondary{background:var(--surface)}
.text-service{background:var(--soft)}
.field input,.field select,.field textarea{background:#fafbfc}
.brand img,.plans-intro img{mix-blend-mode:multiply}
.hero-secondary{border-color:var(--page)}


/* Footer compacto con logo secundario. */
.site-footer .footer-top{padding-block:12px;gap:12px}
.site-footer .footer-top .brand{width:160px}
.site-footer .social-links{gap:8px}
.site-footer .social-links a{width:32px;height:32px;border-radius:6px}
.site-footer .social-links img{width:19px;height:19px}
.site-footer .footer-bottom{padding-block:12px;font-size:.75rem;gap:10px}


/* Footer centrado; logo reducido un 25%: de 160px a 120px. */
.site-footer .footer-top{flex-direction:column;align-items:center;justify-content:center;text-align:center}
.site-footer .footer-top .brand{width:120px;margin-inline:auto}
.site-footer .social-links{justify-content:center}
.site-footer .footer-bottom{flex-direction:column;align-items:center;justify-content:center;text-align:center}


/* Navegación adaptable para notebook, tablet y celular. */
.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:22px;height:16px}
.hamburger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .18s,opacity .18s}
.menu-button[aria-expanded="true"] .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-button[aria-expanded="true"] .hamburger span:nth-child(2){opacity:0}
.menu-button[aria-expanded="true"] .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:960px){
 .header-inner{justify-content:space-between;min-height:86px;padding-block:8px;gap:0}
 .header-inner .brand{width:min(225px,calc(100% - 108px))}
 .menu-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:92px;min-height:44px}
 .header-inner nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%;padding:12px 0 4px}
 .js .header-inner nav:not(.open){display:none}
 .header-inner nav a{padding:12px 14px;min-height:48px;font-size:1rem;white-space:normal;border-bottom:1px solid var(--line)}
 .header-inner nav a[aria-current]{background:var(--soft);border-left:3px solid var(--red);border-bottom-color:var(--line)}
}
@media(max-width:360px){.actions .button{width:100%}.image-caption{padding:10px 12px;font-size:.8rem}}

/* Logo y redes en una única línea centrada, también en celular. */
.site-footer .footer-top{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:18px}
.site-footer .footer-top .brand{width:120px;margin:0;flex-shrink:0}
.site-footer .footer-top .social-links{flex-shrink:0}

