/* Núcleos 1.1 — clearer hierarchy, generous service imagery and stronger contrast. */
:root{--blue:#2453e6;--ink:#122338;--muted:#52647a;--paper:#f5f7fb;--radius:22px}
.site-header{background:#0e1c2ef2;backdrop-filter:blur(18px);border-bottom-color:#ffffff1f}
.header-inner{min-height:86px}.desktop-nav a,.nucleos-navigation{font-size:.9375rem}
.header-cta{gap:9px;white-space:nowrap;flex-shrink:0;font-size:.9375rem;border-color:#7690ad80;min-height:46px}
.hero{min-height:700px}.hero-inner{padding-top:78px}
.hero h1{font-size:clamp(3.5rem,7.3vw,6.5rem);line-height:1.04;letter-spacing:-.055em;max-width:900px}
.hero h1 em{font-weight:400}.hero-description{font-size:1.125rem;max-width:450px;line-height:1.75;margin-top:28px}
.hero-shade,.hero:before{background:linear-gradient(90deg,#0a182bf5 0%,#0a182be8 25%,#0a182b99 49%,#0a182b12 79%),linear-gradient(0deg,#0a182bef,transparent 46%)}
.hero-image img{object-position:62% center}
.hero-kicker{font-size:.875rem;letter-spacing:.1em;color:#b4e1ff}
.hero-actions{gap:28px;margin-top:32px}.button{font-size:1rem;min-height:56px;border-radius:14px;padding:16px 25px}
.button-bright{background:#a9e0ff}.text-link{font-size:1rem}
.hero-foot{margin-top:30px;padding-block:32px 36px;border-top:1px solid #dceafa33}
.hero-foot>p{font-size:.8125rem;letter-spacing:.13em;color:#c6d6e8}
.experience{border:1px solid #fff5;background:#f7fbffed;border-radius:14px;padding:20px 27px;box-shadow:0 12px 40px #020b1725;gap:20px}
.experience>strong,.experience>.experience-number{font-size:3.25rem}
.experience>span,.experience>p:last-child{font-size:.9375rem;line-height:1.55}
.section{padding-block:105px}.eyebrow{font-size:.875rem;letter-spacing:.1em}
.section-heading{gap:70px;margin-bottom:48px;align-items:flex-end}
.section-heading h2{font-size:clamp(2.25rem,3.7vw,3.5rem);line-height:1.16;max-width:650px}
.section-heading h2 span{color:#718196;font-weight:400}
.section-heading>p{font-size:1.0625rem;line-height:1.75;max-width:330px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:service}
.service-card{grid-column:auto;position:relative;min-height:0;border-radius:22px;border-color:#dce4ef;box-shadow:0 6px 22px #102d5107;counter-increment:service}
.service-card:after{content:counter(service,decimal-leading-zero);position:absolute;top:16px;left:16px;display:grid;place-items:center;min-width:40px;height:34px;border:1px solid #fff7;border-radius:9px;background:#102238d9;color:#fff;font-size:.8125rem;letter-spacing:.08em;font-weight:700;pointer-events:none}
.service-featured{background:#13283f;border-color:#13283f}.service-esai{background:#2453e6;border-color:#2453e6}
.service-card .service-media{aspect-ratio:1.58;position:relative}
.service-card .service-media img{object-position:center;width:100%;height:100%}
.service-card .service-content{padding:28px;display:flex;flex-direction:column;gap:0}
.card-top{min-height:32px;gap:12px}.card-top span,.card-top p{font-size:.8125rem;line-height:1.5;letter-spacing:.05em}
.card-top .icon{width:27px;height:27px}
.service-featured h3,.service-esai h3{font-size:clamp(1.8rem,2.6vw,2.2rem);line-height:1.15;margin-top:24px;margin-bottom:18px}
.service-small h3{font-size:1.6rem;line-height:1.25;margin-bottom:16px}
.service-small h3 br{display:initial}
.service-card .service-content>p{font-size:1rem;line-height:1.75;margin-bottom:22px}
.service-content>.icon,.service-content>svg{margin-bottom:20px;width:28px;height:28px}
.service-card .service-content>.service-tags,.service-card .service-content>.esai-note{margin-block:0 24px}
.service-tags span,.service-tags p{font-size:.875rem;padding:7px 10px;line-height:1.5}
.esai-note{gap:12px}.esai-note span,.esai-note p{font-size:.9375rem;line-height:1.55}
.service-link{font-size:.9375rem;line-height:1.5;text-underline-offset:6px}
.service-content>.service-link,.service-content>.nucleos-button-row{width:100%;max-width:none;padding-top:14px;border-top:1px solid #d4dfed;margin-top:auto}
.service-featured .service-content>.service-link,.service-featured .service-content>.nucleos-button-row,.service-esai .service-content>.service-link,.service-esai .service-content>.nucleos-button-row{border-color:#ffffff38}
.service-small .service-link{margin-top:auto}
.etam-section{background:#102236;color:#f8fbff;padding-block:100px;border:0;position:relative}
.etam-inner{grid-template-columns:.92fr 1.08fr;gap:80px}
.etam-section .eyebrow{color:#9cddff}.etam-name{font-size:2.6rem;gap:20px;margin-bottom:30px}
.etam-name>p:first-child{font-size:2.6rem}.etam-name span,.etam-name>p:last-child{font-size:.875rem;color:#b9cce0;border-color:#8198b255;max-width:170px;padding-left:20px;line-height:1.6}
.etam-copy h2{font-size:clamp(2.5rem,4vw,3.6rem);line-height:1.12;margin-bottom:26px}
.etam-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;color:#c2d1e2;margin-bottom:30px}
.etam-copy .button-dark{background:#a9e0ff;color:#102238}.etam-copy .button-dark:hover{background:#d1efff}
.etam-copy .text-link{color:#c9eaff}.etam-copy .text-link:hover{color:#fff}
.etam-photo{aspect-ratio:1.52;border-radius:22px;box-shadow:0 25px 80px #0003}
.etam-visual .etam-panel{color:#122338;background:#fff;margin-top:-42px;margin-left:32px;padding:24px;border-radius:18px;border-color:#e0e7ef;box-shadow:0 20px 50px #020a1640}
.etam-panel .panel-heading{gap:12px;font-size:.9375rem;padding-bottom:20px}
.etam-panel .panel-heading>p:not(.panel-label){font-size:.9375rem}
.etam-visual .capability{background:#f6f9fc;border-color:#e5ecf4;border-radius:12px;padding:18px;gap:16px}
.capability h3{font-size:1.25rem;line-height:1.3}.capability p{font-size:1rem;line-height:1.6}
.capability-number{font-size:.875rem;min-width:34px;height:34px;background:#e4edff}
.etam-visual .panel-footer{font-size:.875rem;line-height:1.65;padding-top:12px}
.about{gap:80px;grid-template-columns:1fr 1fr}.about-photo{min-height:520px;border-radius:24px}
.about-copy h2{font-size:clamp(2.5rem,3.9vw,3.65rem);line-height:1.13}
.about-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8}
.values span,.values p{font-size:.875rem;line-height:1.5;padding:10px 14px}
.photo-caption{font-size:.8125rem;letter-spacing:.09em;line-height:1.6}
.contact-section{background-color:#2453e6;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:72px 72px}
.contact-inner{padding-block:85px;gap:80px}.contact-section h2{font-size:clamp(2.8rem,5.2vw,4.7rem);line-height:1.12}
.contact-box{border:1px solid #ffffff38;border-radius:22px;padding:32px;background:#0c32b329;backdrop-filter:blur(3px)}
.contact-box>p{font-size:1.0625rem;line-height:1.7}.contact-email{font-size:clamp(1.125rem,1.75vw,1.5rem);line-height:1.5}
.contact-box .button,.contact-box>.nucleos-button-row,.contact-box .wp-block-button.button{max-width:none}
.contact-phone{font-size:1rem}.contact-section .eyebrow{color:#d8e6ff}
.site-footer{padding-top:66px;background:#0b192a;border-top:5px solid #8cd3ff}
.footer-main{grid-template-columns:1.2fr 1fr 1fr 1.25fr;gap:40px;padding-bottom:50px}
.footer-brand .brand{width:240px;margin-bottom:24px}.footer-brand p{font-size:1rem;line-height:1.85;color:#b6c8de}
.footer-main h2{font-size:.9375rem;line-height:1.6;margin-top:10px;margin-bottom:24px;font-weight:700}
.footer-main nav a,.footer-location>a,.footer-main .nucleos-link a{font-size:.9375rem;line-height:1.6;min-height:44px;color:#b6c8de}
.footer-location address,.footer-location .nucleos-address{font-size:.9375rem;line-height:1.85;color:#b6c8de}
.footer-bottom,.footer-bottom>p{font-size:.8125rem;line-height:1.65;color:#a7bbd4}
.footer-bottom{border-color:#aec8e025;padding-block:22px}
.wp-block-button.button>.wp-block-button__link{padding:16px 25px;min-height:56px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .service-card{transition:transform .25s,box-shadow .25s,border-color .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px #102b5112}
}
@media(max-width:1100px){
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .service-card .service-media{aspect-ratio:1.7}.service-featured h3,.service-esai h3{font-size:2.2rem}
 .hero{min-height:650px}.hero-inner{padding-top:64px}.hero h1{font-size:clamp(3.5rem,8vw,5.6rem)}
 .etam-inner,.about{gap:42px}.etam-copy h2{font-size:2.75rem}
 .etam-visual .etam-panel{margin-left:18px;padding:20px}
 .contact-inner{gap:42px}.contact-box{padding:26px}
 .footer-main{grid-template-columns:1fr 1fr 1.1fr;gap:30px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:34px}
 .footer-brand .brand{margin-bottom:0}.footer-brand p{max-width:none}
}
@media(max-width:800px){
 .header-inner{min-height:74px}.hero{min-height:0}.hero-inner{padding-top:56px}
 .hero h1{font-size:clamp(3.3rem,9.5vw,5.2rem)}.hero-description{font-size:1.0625rem}
 .hero-foot{padding-block:26px 30px;margin-top:25px}.hero-foot>p{max-width:none;font-size:.8125rem;letter-spacing:.09em}
 .experience{padding:17px 21px;gap:16px}.experience>strong,.experience>.experience-number{font-size:2.8rem}
 .experience>span,.experience>p:last-child{font-size:.875rem}
 .section{padding-block:76px}.section-heading{margin-bottom:34px}.section-heading h2{font-size:2.65rem}
 .section-heading>p{font-size:1.0625rem;max-width:580px;margin-top:24px}
 .service-card .service-content{padding:26px}.service-small h3{font-size:1.6rem}
 .etam-section{padding-block:76px}.etam-inner{grid-template-columns:1fr;gap:44px}.etam-copy{max-width:590px}
 .etam-copy h2{font-size:3rem}.etam-visual{width:100%;max-width:650px}.etam-photo{aspect-ratio:1.75}
 .etam-visual .etam-panel{margin-left:26px;padding:24px}
 .about{grid-template-columns:1fr;gap:35px}.about-photo{min-height:0;aspect-ratio:1.55}
 .about-copy h2{font-size:2.85rem;max-width:650px}.about-photo img{height:100%}
 .contact-inner{padding-block:68px;grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:3.5rem;max-width:650px}
 .contact-box{max-width:560px;padding:30px}.contact-box>p{margin-bottom:23px}
 .footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{display:block;grid-column:1/-1}.footer-brand .brand{margin-bottom:16px}
 .footer-location{grid-column:1/-1}.footer-bottom{padding-block:20px 24px}
 .mobile-contact{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -5px 25px #09295012}
 .mobile-contact>a,.mobile-contact>.nucleos-link a{border-radius:12px;font-size:.9375rem;min-height:48px}
}
@media(max-width:560px){
 .hero-inner{padding-top:42px}.hero h1{font-size:clamp(2.7rem,10.4vw,3.6rem);line-height:1.08}
 .hero h1 em{font-weight:400}.hero-kicker{font-size:.875rem;letter-spacing:.045em;gap:10px}.hero-kicker:before{width:16px}
 .hero-image img{object-position:85% center;opacity:.9}
 .hero-shade,.hero:before{background:linear-gradient(90deg,#0a182bf0,#0a182b85),linear-gradient(0deg,#0a182b 1%,transparent 85%)}
 .hero-description{font-size:1rem;line-height:1.75;margin-top:24px;max-width:350px}
 .hero-actions{margin-top:25px;gap:10px;max-width:none}.hero-actions .button{font-size:1rem;min-height:54px}
 .hero-actions .text-link{font-size:.9375rem}.hero-foot{padding-block:24px 29px;gap:16px;margin-top:22px}
 .hero-foot>p{font-size:.75rem;letter-spacing:.06em;gap:5px}.experience{padding:13px 15px;gap:13px;border-radius:12px;flex-shrink:0}
 .experience>strong,.experience>.experience-number{font-size:2.5rem}.experience>span,.experience>p:last-child{font-size:.8125rem}
 .section{padding-block:60px}.eyebrow{font-size:.875rem;letter-spacing:.075em;margin-bottom:20px}
 .section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(2rem,7.8vw,2.5rem);line-height:1.2}
 .section-heading>p{font-size:1rem;line-height:1.75;margin-top:20px}
 .service-grid{grid-template-columns:minmax(0,1fr);gap:22px}.service-card{border-radius:20px}
 .service-card .service-media{aspect-ratio:1.65}.service-card .service-content{padding:25px;display:flex}
 .service-featured h3,.service-esai h3{font-size:2rem;margin-top:22px;margin-bottom:18px}
 .service-small h3{font-size:1.65rem;margin-bottom:16px}.service-card .service-content>p{font-size:1rem;margin-bottom:23px;line-height:1.75}
 .service-content>.icon,.service-content>svg,.service-small .service-content>svg{margin-bottom:18px}
 .service-small h3 br{display:initial}.service-content>.service-link,.service-content>.nucleos-button-row{margin-top:auto;padding-top:12px}
 .service-small .service-content>.nucleos-button-row{margin-top:auto}.card-top span,.card-top p{font-size:.8125rem}
 .etam-section{padding-block:60px}.etam-copy h2{font-size:2.5rem;line-height:1.15}.etam-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8}
 .etam-name,.etam-name>p:first-child{font-size:2.4rem}.etam-name span,.etam-name>p:last-child{font-size:.875rem;padding-left:16px}
 .etam-photo{aspect-ratio:1.5;border-radius:20px}.etam-visual .etam-panel{margin-left:12px;margin-top:-28px;padding:18px;border-radius:16px}
 .etam-visual .capability{padding:16px 12px;gap:12px}.capability h3{font-size:1.2rem}.capability p{font-size:1rem;line-height:1.55}
 .etam-panel .panel-heading,.etam-panel .panel-heading>p:not(.panel-label){font-size:.875rem}.etam-visual .panel-footer{font-size:.8125rem}
 .about-copy h2{font-size:2.45rem;line-height:1.2}.about-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8}
 .about-photo{aspect-ratio:1.25;border-radius:20px}.photo-caption{font-size:.75rem;padding:45px 20px 20px;letter-spacing:.05em}
 .contact-inner{padding-block:60px;gap:30px}.contact-section h2{font-size:clamp(2.4rem,9.4vw,3.1rem);line-height:1.14}
 .contact-box{padding:25px 22px;border-radius:18px}.contact-box>p{font-size:1rem;line-height:1.7}.contact-email{font-size:1.15rem;margin-bottom:22px}
 .contact-box .button{font-size:.9375rem}.wp-block-button.button>.wp-block-button__link{padding:15px 19px;min-height:54px}
 .site-footer{padding-top:45px}.footer-main{column-gap:22px;row-gap:34px;padding-bottom:32px}
 .footer-brand .brand{width:230px}.footer-brand p{font-size:.9375rem;max-width:300px}
 .footer-main h2{font-size:.9375rem;margin-bottom:16px}.footer-main nav a,.footer-location>a,.footer-main .nucleos-link a{font-size:.9375rem;line-height:1.65;min-height:46px}
 .footer-location address,.footer-location .nucleos-address{font-size:.9375rem}
 .footer-bottom,.footer-bottom>p{font-size:.8125rem}.footer-bottom{gap:10px 18px}
 .mobile-contact{gap:9px;padding-inline:12px}.mobile-contact>a,.mobile-contact>.nucleos-link a{font-size:.875rem}
}
@media(max-width:350px){
 .hero-kicker{font-size:.8125rem}.hero-foot{gap:10px}.hero-foot>p{font-size:.75rem;letter-spacing:0}
 .experience{padding:12px;gap:10px}.experience>strong,.experience>.experience-number{font-size:2.15rem}.experience>span,.experience>p:last-child{font-size:.75rem}
 .service-card .service-content{padding:22px}.contact-box{padding:23px 18px}.contact-email{font-size:1.0625rem}
 .footer-main{column-gap:16px}.footer-main h2{font-size:.875rem}.footer-main nav a,.footer-main .nucleos-link a{font-size:.875rem}
 .mobile-contact>a,.mobile-contact>.nucleos-link a{font-size:.8125rem;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){.service-card,.service-media img{transition:none!important;transform:none!important}}

/* Contact route already published under Consultas & Ventas on nucleos.net. */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:16}
.whatsapp-float .button-whatsapp{background:#157c49;color:#fff;border:1px solid #ffffff50;box-shadow:0 8px 28px #061b2140;font-size:.9375rem;min-height:54px}
.whatsapp-float .button-whatsapp:hover{background:#0e6339}
@media(min-width:801px){.site-footer{padding-bottom:86px}}
@media(max-width:800px){
 .whatsapp-float{display:none}
 .mobile-contact>a.mobile-whatsapp,.mobile-contact>.mobile-whatsapp a{background:#157c49;border-color:#157c49;color:#fff}
 .mobile-contact>a.mobile-whatsapp:hover,.mobile-contact>.mobile-whatsapp a:hover{background:#0e6339}
}
@media print{.whatsapp-float{display:none}}

/* WhatsApp logo, Bootstrap Icons (MIT); keep the visible label accessible. */
.button-whatsapp,.mobile-contact>a.mobile-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.whatsapp-icon{display:block;width:20px;height:20px;flex:0 0 20px;fill:currentColor}

/* Compact contact controls; retain at least a 44px touch target. */
.whatsapp-float .button-whatsapp{min-height:46px;padding:10px 16px;font-size:.875rem;border-radius:12px;line-height:1.4}
@media(max-width:800px){
 .mobile-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
 .mobile-contact>a{min-width:0;min-height:44px;padding:8px 10px;font-size:.875rem;line-height:1.4;gap:7px;overflow-wrap:anywhere}
 .mobile-contact .whatsapp-icon{width:20px;height:20px;flex-basis:20px}
}

.header-cta .icon{width:18px;height:18px}

@media(max-width:560px){.hero-foot{flex-wrap:wrap}.hero-foot>p span{white-space:nowrap}}

/* Social channels: verified company profile and existing contact channel. */
.footer-brand{flex-wrap:wrap}
.footer-social{flex-basis:100%;margin-top:22px;min-width:0}
.footer-social .footer-social-label{font-size:.875rem;line-height:1.6;margin-bottom:12px;color:#c6d6e8}
.site-footer .social-links{display:flex;flex-wrap:wrap;gap:10px}
.site-footer .social-links .social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid #7690ad80;border-radius:10px;padding:10px 12px;margin:0;color:#fff;font-size:.875rem;line-height:1.5}
.social-link svg{width:20px;height:20px;flex:none}
.site-footer .social-link:hover{background:#ffffff15;border-color:#a9e0ff}
.site-footer .social-link:focus-visible{outline:3px solid #a9e0ff;outline-offset:4px}

/* One type scale for all six service titles, regardless of card color. */
.service-card .service-content h3{font-size:clamp(1.65rem,2.2vw,1.9rem);line-height:1.25;letter-spacing:-.025em;font-weight:700}
.service-card .service-content h3 br{display:none}
@media(max-width:800px){.service-card .service-content h3{font-size:var(--mobile-card-title,1.625rem);line-height:1.3;letter-spacing:-.01em}}
