@font-face{font-family:Switzer;src:url('/assets/switzer-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url('/assets/switzer-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Switzer;src:url('/assets/switzer-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--bg:#fff;--ink:#25282a;--muted:#454b4e;--surface:#f0f1f1;--accent:#b31d2c;--accent-hover:#8c1421;--light:#fff;--on-dark:#dfe1e2;--scrim:rgba(15,23,27,.49);--margin:clamp(22px,5.2vw,88px);--gap:clamp(24px,3vw,48px);--display:clamp(56px,6.65vw,96px);--heading:clamp(42px,4.5vw,66px);--title:32px;--body:18px;--small:15px;--ease:cubic-bezier(.16,1,.3,1);--ease-out:cubic-bezier(.23,1,.32,1);--t:240ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-color:var(--accent) var(--surface)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Switzer,sans-serif;font-size:var(--body);line-height:1.55}::selection{background:var(--accent);color:var(--light)}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}p{text-wrap:pretty}h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}h2{font-size:var(--heading)}h3{font-size:var(--title);line-height:1.15}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.wrap{padding-inline:var(--margin)}.section{padding-block:120px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;z-index:20;top:8px;left:8px;transform:translateY(-180%);background:var(--accent);color:var(--light);padding:14px 22px}.skip:focus{transform:none}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:108px;padding:18px var(--margin);position:relative;z-index:5;background:var(--bg)}.brand{display:flex;align-items:center;gap:16px;flex:none}.brand img{width:177px;height:auto}.brand span{font-size:var(--small);line-height:1.25;font-weight:500}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px);font-size:var(--small);font-weight:500}.site-header nav>a{display:flex;align-items:center;min-height:48px}.site-header .nav-intranet{background:var(--ink);color:var(--light);gap:24px;padding:12px 22px}.menu-toggle{display:none;background:var(--ink);color:var(--light);border:0;padding:12px 16px;align-items:center;gap:18px;min-height:48px}.menu-lines{display:block;position:relative;width:20px;height:12px;border-block:2px solid currentColor}.menu-lines:after{content:'';position:absolute;left:0;top:4px;width:20px;border-top:2px solid currentColor}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(90deg)}
.hero{position:relative;min-height:680px;height:calc(100svh - 108px);max-height:1050px;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--light);display:flex;flex-direction:column;justify-content:center}.hero-image{position:absolute;inset:0;z-index:-2;object-position:50% 55%;animation:hero-drift 18s var(--ease) both}.hero-shade{position:absolute;inset:0;z-index:-1;background:var(--scrim)}.hero-content{padding-block:66px 100px;max-width:1180px}.hero h1{font-size:var(--display);max-width:12ch;letter-spacing:-.04em}.hero-content>p{margin-top:28px;max-width:42ch;font-size:var(--body);line-height:1.5}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:60px;background:var(--accent);color:var(--light);padding:17px 26px;font-size:var(--body);font-weight:700;transition:background-color var(--t),transform 140ms var(--ease-out)}.button:active{transform:scale(.98)}.button .icon{transition:transform var(--t) var(--ease-out)}.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-weight:500;font-size:var(--small)}.hero .text-link{font-size:var(--body)}.hero-bottom{position:absolute;bottom:0;inset-inline:0;display:flex;align-items:center;gap:28px;background:rgba(20,25,27,.65);min-height:86px;font-size:var(--small)}.hero-bottom span{font-weight:700}.hero-bottom p{margin-left:auto}.hero-bottom>a{display:grid;place-items:center;width:48px;height:48px}.down{transform:rotate(135deg)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gap);margin-bottom:56px}.section-heading>p{max-width:35ch}.statement{font-size:var(--title);line-height:1.3;font-weight:500;letter-spacing:-.025em}.company-feature{display:grid;grid-template-columns:1fr 1fr}.company-image{min-height:590px;overflow:hidden}.company-image img{object-position:50% 52%}.company-story{background:var(--accent);color:var(--light);padding:clamp(36px,4.5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:26px}.company-story>p{max-width:42ch}.company-story .text-link{margin-top:4px}.company-signature{font-size:var(--title);font-weight:700;line-height:1.15;letter-spacing:-.03em;margin-top:22px}
.specialties{background:var(--ink);color:var(--light)}.specialties .section-heading>p{color:var(--on-dark)}.sector-tabs{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}.sector-tabs a{padding:14px 24px;min-height:54px;background:#353a3c;font-size:var(--body);font-weight:500;transition:background-color var(--t)}.sector-tabs a[aria-selected=true]{background:var(--accent)}.sector-panel{display:grid;grid-template-columns:1.2fr 1fr;background:var(--bg);color:var(--ink);min-height:480px;scroll-margin-top:24px}.sector-panel[hidden]{display:none}.sector-panel+.sector-panel{margin-top:32px}.tabs-ready .sector-panel+.sector-panel{margin-top:0}.sector-panel>img{max-height:520px}.sector-copy{padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px}.sector-copy>p{max-width:40ch}.sector-copy>p+p{color:var(--muted)}.sector-copy .button{margin-top:8px}.sector-copy .icon{width:22px;height:22px}
.public-works{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;align-items:center}.public-copy>p{max-width:42ch;margin-top:28px}.public-copy>p+p{margin-top:18px;color:var(--muted)}.public-copy .text-link{margin-top:24px}.public-image img{height:500px;object-position:45% center}.public-image figcaption{margin-top:14px;font-size:var(--small);color:var(--muted)}
.digital-access{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;background:var(--surface);padding-block:72px;align-items:center}.access-intro>p{margin-top:24px;max-width:38ch}.access-links{display:grid;gap:16px}.access-link{position:relative;background:var(--bg);padding:30px 70px 30px 30px;transition:background-color var(--t),color var(--t)}.access-link>span{display:block;font-size:var(--title);font-weight:700;letter-spacing:-.03em;line-height:1.15}.access-link p{font-size:var(--small);margin-top:10px}.access-link>.icon{position:absolute;right:28px;top:32px}
.contact{background:var(--accent);color:var(--light);display:grid;grid-template-columns:1fr 1.15fr;gap:7vw}.phone{display:inline-flex;font-size:var(--title);font-weight:500;letter-spacing:-.025em;margin-top:34px;min-height:48px}.contact-heading>p{max-width:32ch;margin-top:14px}.project-contact label{font-size:var(--body);display:block;font-weight:500;margin-bottom:16px}.project-contact select{display:block;width:100%;background:var(--bg);color:var(--ink);border:0;border-radius:0;min-height:60px;padding:14px 18px;appearance:auto;cursor:pointer;font-size:var(--body);caret-color:var(--accent)}.project-contact .button{display:flex;margin-top:14px;width:100%;gap:14px}.button-light{background:var(--light);color:var(--accent)}.button-light>.icon:last-child{margin-left:auto}.offices{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:54px}.offices address{font-style:normal;min-width:0}.offices h3{font-size:var(--body);letter-spacing:0;line-height:1.4;font-weight:700}.offices p{font-size:var(--small);line-height:1.65;margin-top:14px}.offices .text-link{margin-top:10px;font-size:var(--small)}
.site-footer{background:var(--ink);color:var(--light);padding-block:64px 32px}.footer-brand{display:inline-block;font-size:var(--heading);font-weight:700;line-height:1.1;letter-spacing:-.04em}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:38px;font-size:var(--small)}.footer-row>p{color:var(--on-dark)}.footer-row nav{display:flex;gap:26px;flex-wrap:wrap}.footer-row nav>a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-top:54px;color:var(--on-dark);font-size:var(--small)}.footer-bottom details{max-width:640px}.footer-bottom summary{cursor:pointer;min-height:44px}.footer-bottom details p{margin-top:16px}.footer-bottom details a{text-decoration:underline}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:8;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--light);outline:3px solid var(--light);transition:transform var(--t) var(--ease-out)}.floating-whatsapp .icon{width:32px;height:32px}
.reveal{opacity:1;transform:none}.motion-ready .reveal.waiting{opacity:0;transform:translateY(24px)}.motion-ready .company-image.waiting,.motion-ready .public-image.waiting{transform:translateY(14px) scale(.985)}.motion-ready .reveal{transition:opacity 800ms var(--ease),transform 800ms var(--ease)}.sector-panel.entering .sector-copy{animation:panel-in 420ms var(--ease) both}.hero h1{animation:title-in 900ms var(--ease) both}.hero-content>p,.hero-actions{animation:panel-in 1000ms var(--ease) both}
@keyframes hero-drift{from{transform:scale(1.04)}to{transform:scale(1)}}@keyframes title-in{from{transform:translateY(22px);opacity:.4}to{transform:none;opacity:1}}@keyframes panel-in{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.button:hover{background:var(--accent-hover)}.button-light:hover{background:var(--surface)}.button:hover>.icon:last-child{transform:translate(2px,-2px)}.text-link:hover{text-decoration:underline}.site-header nav>a:not(.nav-intranet):hover{color:var(--accent)}.sector-tabs a:hover{background:var(--accent)}.access-link:hover{background:var(--ink);color:var(--light)}.floating-whatsapp:hover{transform:translateY(-3px)}.footer-row a:hover{text-decoration:underline}}
@media(min-width:1900px){body{max-width:2100px;margin-inline:auto}}
@media(max-width:1100px){.brand span{display:none}.site-header nav{gap:20px}.site-header{min-height:94px}.hero{height:calc(100svh - 94px)}.company-image{min-height:520px}.company-story{padding:36px}.section-heading>.statement{font-size:var(--title)}.sector-copy{padding:32px}.sector-tabs a{padding-inline:20px}.public-works,.digital-access,.contact{gap:5vw}.offices{gap:24px;grid-template-columns:1fr}.offices p{max-width:40ch}.public-image img{height:480px}}
@media(max-width:800px){:root{--display:72px;--heading:48px;--title:28px;--body:17px}.section{padding-block:80px}.site-header{flex-wrap:wrap;min-height:88px;gap:0;padding-block:14px}.brand img{width:168px}.menu-toggle:not([hidden]){display:flex}.site-header nav{width:100%;flex-wrap:wrap;gap:10px 22px;margin-top:18px;padding-bottom:6px}.site-header.js-menu nav{display:none}.site-header.js-menu nav.is-open{display:flex}.site-header.js-menu nav>a{width:100%;min-height:48px}.site-header.js-menu .nav-intranet{justify-content:space-between}.hero{height:auto;min-height:720px}.hero-content{padding-block:120px 150px}.hero-content>p{font-size:var(--body)}.hero-actions{gap:24px;flex-wrap:wrap}.hero-bottom{gap:18px}.hero-bottom p{display:none}.hero-bottom>a{margin-left:auto}.section-heading{align-items:flex-start;gap:28px;margin-bottom:36px}.section-heading>p{max-width:28ch}.section-heading>.statement{font-size:var(--title)}.company-feature{grid-template-columns:1fr 1fr}.company-image{min-height:540px}.company-story{padding:30px;gap:22px}.company-signature{margin-top:8px}.sector-panel{grid-template-columns:1fr 1fr;min-height:500px}.sector-copy{padding:28px;gap:18px}.sector-copy h3{font-size:var(--title)}.sector-copy .button{padding:14px 18px;gap:16px;font-size:var(--body)}.sector-tabs{gap:8px}.sector-tabs a{padding:13px 18px;font-size:var(--body)}.public-works{grid-template-columns:1fr;gap:36px}.public-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.public-copy>h2{grid-row:span 3}.public-copy>p{margin-top:0}.public-copy>p+p{margin-top:18px}.public-image img{height:420px}.digital-access,.contact{grid-template-columns:1fr 1fr;gap:32px}.access-link{padding:24px 56px 24px 24px}.access-link>span{font-size:var(--title)}.access-link>.icon{right:22px;top:26px}.phone{font-size:var(--title)}.button-light{font-size:var(--body);padding-inline:18px}.button-light>.icon:first-child{display:none}.offices{margin-top:40px}.footer-row{align-items:flex-start;flex-direction:column;gap:18px}.footer-bottom{gap:20px}.footer-bottom>p{max-width:18ch}}
@media(max-width:600px){:root{--display:clamp(43px,11.6vw,64px);--heading:42px;--title:27px;--body:17px;--small:14px;--margin:22px}.section{padding-block:64px}.brand img{width:155px}.site-header{min-height:82px}.hero{min-height:650px;height:calc(100svh - 82px);max-height:850px}.hero-image{object-position:65% center}.hero-content{padding-block:64px 124px;max-width:100%}.hero h1{max-width:12ch}.hero-content>p{font-size:var(--body);margin-top:24px;line-height:1.55;max-width:30ch}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}.hero .text-link{font-size:var(--small)}.button{min-height:56px;font-size:var(--body);padding:15px 22px}.hero-bottom{min-height:70px}.hero-bottom span{font-size:var(--small)}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:24px;max-width:100%}.section-heading>.statement{font-size:var(--title)}.company-feature{grid-template-columns:1fr}.company-image{height:330px;min-height:0}.company-image img{object-position:50% 45%}.company-story{padding:32px 26px;gap:22px}.company-signature{font-size:var(--title)}.sector-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.sector-tabs a{display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--small);line-height:1.3;padding:12px 8px;min-height:58px}.sector-panel{grid-template-columns:1fr;min-height:0}.sector-panel>img{height:260px;max-height:none;object-position:center}.sector-copy{padding:30px 26px;min-height:335px}.sector-copy h3{font-size:var(--title)}.sector-copy .button{margin-top:4px}.public-copy{display:block}.public-copy>p{margin-top:24px}.public-copy>p+p{margin-top:18px}.public-copy>.text-link{font-size:var(--small)}.public-image img{height:310px}.digital-access,.contact{grid-template-columns:1fr;gap:32px}.digital-access{padding-block:56px}.access-intro>p{max-width:100%}.access-link{min-height:135px}.access-link>span{font-size:var(--title)}.contact-heading>p{max-width:100%}.phone{margin-top:26px;font-size:var(--title)}.project-contact .button{font-size:var(--body)}.offices{grid-template-columns:1fr;gap:32px;margin-top:36px}.offices h3{font-size:var(--body)}.offices p{font-size:var(--body)}.site-footer{padding-top:50px;padding-bottom:84px}.footer-brand{font-size:var(--heading);max-width:12ch}.footer-row{margin-top:24px}.footer-row nav{gap:8px 24px}.footer-bottom{flex-direction:column;margin-top:30px;gap:14px}.footer-bottom>p{max-width:none}.floating-whatsapp{right:16px;bottom:16px;width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal.waiting{opacity:1;transform:none}.hero-image{transform:none}}

/* Shared public navigation accommodates the careers link before tablet widths. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){.site-header{flex-wrap:wrap;gap:0}.menu-toggle:not([hidden]){display:flex}.site-header nav{width:100%;flex-wrap:wrap;gap:10px 22px;margin-top:18px;padding-bottom:6px}.site-header.js-menu nav{display:none}.site-header.js-menu nav.is-open{display:flex}.site-header.js-menu nav>a{width:100%;min-height:48px}.site-header.js-menu .nav-intranet{justify-content:space-between}}

/* Contacto corporativo por correo */
.contact-content{min-width:0}.contact-email{display:grid;gap:8px;margin-top:30px}.contact-email>span{font-size:var(--small);font-weight:700}.contact-email>a{font-size:var(--body);min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere;text-decoration:underline}.footer-contacts{display:flex;flex-wrap:wrap;gap:28px 56px;margin-top:32px;font-size:var(--small)}.footer-contacts>a{display:block;min-width:0;min-height:44px;overflow-wrap:anywhere}.footer-contacts span{display:block;font-weight:700;margin-bottom:4px}.email-address{overflow-wrap:anywhere;max-width:100%}.application-intro .email-address{display:block;padding-block:10px}.application-disclosure{overflow-wrap:anywhere}.footer-contacts a:hover{text-decoration:underline}
@media(max-width:600px){.footer-contacts{display:grid;gap:20px}.contact-email>a{font-size:16px}.application-intro .email-address{font-size:15px}}
