@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#071c43;--green:#008947;--light:#f1f5f5;--line:#d9e1e5;--muted:#576677}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);font:16px/1.6 'DM Sans',Arial,sans-serif}.hero-slogan,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #19b982;outline-offset:4px}.topline{background:var(--navy);color:white;padding:9px 5%;display:flex;justify-content:space-between;font-size:13px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fffffff5;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{line-height:1;display:inline-block}nav{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;padding:16px 24px;border:0;border-radius:4px;font-weight:600;min-height:48px}.button:hover{background:#006e39}.small{padding:12px 18px}.hero{display:grid;grid-template-columns:1.05fr 1fr;padding:42px 5% 55px;gap:45px;background:linear-gradient(120deg,#f3f6f7,white)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--green);margin-bottom:25px}.hero-slogan{font-size:clamp(60px,6.5vw,100px);line-height:1.03;letter-spacing:-5px;margin:22px 0 26px;font-weight:800}.hero-slogan em{font-style:normal;color:var(--green)}.intro{font-size:25px;line-height:1.35;font-weight:600;margin-bottom:14px}.hero-copy>p:not(.eyebrow):not(.intro){max-width:480px;color:var(--muted)}.actions{display:flex;gap:24px;align-items:center;margin-top:28px}.textlink{font-weight:600;font-size:14px}.hero-foot{border-top:1px solid var(--line);margin-top:38px;padding-top:19px;display:flex;gap:25px;font-size:12px;color:var(--muted)}.hero-visual{position:relative;border-radius:5px;overflow:hidden;min-height:610px;background:var(--navy)}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:top}.visual-label{position:absolute;bottom:0;left:0;right:0;padding:70px 30px 30px;background:linear-gradient(transparent,#071c43 55%);color:white}.visual-label span{font-size:11px;letter-spacing:2px;color:#7ae1b2}.visual-label strong{display:block;font-size:27px;line-height:1.3;margin-top:12px}.clients{padding:32px 5%;border-bottom:1px solid var(--line)}.clients>p{font-size:11px;color:var(--muted);letter-spacing:2px;text-align:center}.clients>div{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:17px 0;font-size:18px;line-height:1.3}.clients small{display:block;font-size:10px;letter-spacing:2px;margin-top:7px}.section{padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-heading>p{max-width:365px;color:var(--muted)}h2{font-size:clamp(32px,3.6vw,52px);line-height:1.14;letter-spacing:-2px;margin:15px 0 24px}h3{font-size:20px;line-height:1.3}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--line);padding:27px;border-radius:5px;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-4px);box-shadow:0 12px 30px #071c4310}.service .number{color:var(--green);font-size:13px;font-weight:700}.service p{color:var(--muted);font-size:15px}.service a{font-size:14px;font-weight:600;color:var(--green)}.about{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:100px}.about .eyebrow{color:#6bdaa2}.about p{color:#c2cedd}.about .textlink{color:#6bdaa2}.approach article{position:relative;padding:0 0 20px 52px;border-bottom:1px solid #ffffff26}.approach span{position:absolute;left:0;color:#6bdaa2}.tech{text-align:center}.tech>p{color:var(--muted)}#technologies-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:35px 0}#technologies-list span{background:white;padding:25px 12px;font-weight:700;font-size:19px}.muted{color:var(--muted);font-size:13px}.careers{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:var(--light)}details{border-top:1px solid var(--line);padding:20px 0}summary{font-weight:600}.job{border-bottom:1px solid var(--line);padding:10px 0 20px}.job p{white-space:pre-line}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact>div>a{display:block;margin:15px 0;font-weight:600}.contact>div>p{max-width:390px}form{display:grid;gap:17px}label{display:grid;gap:6px;font-size:14px;font-weight:500}input,select,textarea{border:1px solid #cbd5dd;border-radius:4px;padding:12px;width:100%;min-width:0;background:white;color:var(--navy)}textarea{min-height:110px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;align-items:start;font-size:12px;color:var(--muted)}.check input{width:17px;margin-top:4px}.feedback{margin:0;font-size:14px}.privacy{padding-top:0;padding-bottom:25px;font-size:14px}footer{background:var(--navy);color:white;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.whatsapp{position:fixed;bottom:20px;right:20px;background:var(--green);color:white;padding:12px 18px;border-radius:30px;font-size:13px;box-shadow:0 5px 20px #0002;z-index:15}#menu{display:none}.admin{max-width:1300px;margin:auto}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.admin-nav button{padding:12px;border:1px solid var(--line);background:white}.record{border:1px solid var(--line);padding:24px;margin:16px 0;border-radius:5px;overflow-wrap:anywhere}.record pre{white-space:pre-wrap;font:inherit}.record .button{margin:5px}.stats{display:flex;gap:20px;flex-wrap:wrap}.stats>div{padding:25px;background:var(--light);min-width:180px}.stats strong{font-size:30px;display:block}.hidden,[hidden]{display:none!important}@media(min-width:1550px){main>section,header,.topline,footer{padding-left:max(5%,calc((100vw - 1400px)/2));padding-right:max(5%,calc((100vw - 1400px)/2))}}@media(max-width:1000px){nav{gap:15px}.hero{gap:25px}.actions{align-items:start;flex-direction:column;gap:16px}.hero-visual{min-height:580px}.contact,.about,.careers{gap:40px}.services{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topline{justify-content:center;font-size:12px}.topline>span{display:none}header{height:78px}#menu{display:block;background:none;border:0;font-size:26px;color:var(--navy)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:25px;box-shadow:0 15px 20px #0001}nav.open{display:grid}.hero{grid-template-columns:1fr;padding-top:25px}.hero .hero-slogan{font-size:72px}.hero-visual{min-height:540px}.hero-visual img{object-fit:cover}.actions{flex-direction:row;align-items:center;flex-wrap:wrap}.clients>div{display:grid;grid-template-columns:1fr 1fr;font-size:15px;gap:30px}.section{padding:55px 5%}.section-heading{display:block}.services,.about,.careers,.contact{grid-template-columns:1fr}.services{gap:12px}#technologies-list{grid-template-columns:repeat(2,1fr)}#technologies-list span{font-size:16px}.form-row{grid-template-columns:1fr}.section-heading>p{max-width:none}footer{flex-wrap:wrap;padding-bottom:80px}.privacy{padding-top:0}.hero-foot{gap:15px}.hero .hero-slogan{letter-spacing:-4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Official reference logo, recreated September 2026. */
.brand{display:inline-flex;align-items:center;flex-shrink:0;max-width:100%}.brand img{display:block;width:260px;height:auto;max-width:100%}header{gap:24px}footer .brand{background:white;border-radius:5px;padding:10px 14px}footer .brand img{width:250px}@media(max-width:1100px) and (min-width:761px){header .brand img{width:200px}nav{gap:12px;font-size:13px}nav .button{padding:12px}}@media(max-width:760px){header .brand img{width:205px}footer .brand img{width:240px}}

.phone-icon{display:inline-block;vertical-align:-0.2em;margin-right:5px;flex-shrink:0}a[href^="tel:"] span{white-space:nowrap}

/* Website-specific imagery: a single gentle two-second reveal. */
.hero-visual img{object-position:48% center;transform-origin:48% 48%;animation:technicians-reveal 2s ease-out both;will-change:auto}@keyframes technicians-reveal{from{transform:scale(1.045)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.hero-visual img{animation:none;transform:none}}
.hero-visual{aspect-ratio:4/5;min-height:0;align-self:start}.hero-visual img{object-position:center}

/* Technology logo gallery */
.tech{background:linear-gradient(180deg,#fff 0%,#f3f8f7 100%)}
#technologies-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:transparent;border:0;margin:44px 0 28px}
.technology-card{min-width:0;min-height:160px;border:1px solid #dce8e4;border-radius:14px;background:#fff;padding:25px 18px 18px;box-shadow:0 4px 16px #071c4304;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.technology-card:hover{transform:translateY(-6px);border-color:#78b99b;box-shadow:0 14px 32px #071c4310}
.technology-logo{height:76px;display:flex;align-items:center;justify-content:center}.technology-logo img{display:block;width:168px;max-width:90%;height:64px;object-fit:contain}
#technologies-list .technology-card>span{display:block;background:transparent;font-size:14px;font-weight:500;color:#576677;padding:16px 0 0}
.logos-visible .technology-card{animation:logo-arrive .65s ease backwards;animation-delay:var(--reveal-delay)}
@keyframes logo-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){#technologies-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technology-card{padding:20px 10px 16px;min-height:145px}.technology-logo img{max-width:95%;height:56px}.technology-logo{height:64px}}
@media(prefers-reduced-motion:reduce){.logos-visible .technology-card{animation:none}.technology-card{transition:none}.technology-card:hover{transform:none}}


/* Service cards: staggered entrance, pointer relief and focus feedback. */
.services{perspective:1100px}
.service{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#fff;transform:translateY(0);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.service::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,30%),#00894714,transparent 65%);opacity:0;transition:opacity .35s ease}
.service::after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,#008947,#51c18a);transform:scaleX(0);transform-origin:left;transition:transform .45s ease;pointer-events:none}
.service:hover,.service:focus-within{border-color:#80bca0;box-shadow:0 18px 36px #071c4314;transform:translateY(-8px)}
.service:hover::before,.service:focus-within::before{opacity:1}.service:hover::after,.service:focus-within::after{transform:scaleX(1)}
.service .number{display:inline-flex;align-items:center;min-width:45px;height:36px;padding:0 10px;border-radius:7px;background:#edf7f1;transition:background .3s,color .3s,transform .3s}
.service:hover .number,.service:focus-within .number{background:#008947;color:#fff;transform:translateY(-2px)}
.service h3{transition:color .3s}.service:hover h3,.service:focus-within h3{color:#007e42}
.service a{display:inline-flex;align-items:center;gap:9px;min-height:44px}.service-arrow{display:inline-block;transition:transform .3s ease}.service a:hover .service-arrow,.service a:focus-visible .service-arrow{transform:translate(4px,-4px)}
.service.service-arrived{animation:service-entrance .75s cubic-bezier(.2,.75,.25,1) backwards;animation-delay:var(--service-delay,0ms)}
@keyframes service-entrance{from{opacity:0;translate:0 35px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@media(hover:hover) and (pointer:fine){.service.pointer-active{transform:perspective(1100px) translateY(-8px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}}
@media(prefers-reduced-motion:reduce){.service.service-arrived{animation:none}.service,.service::before,.service::after,.service .number,.service h3,.service-arrow{transition:none}.service:hover,.service:focus-within,.service.pointer-active,.service:hover .number,.service:focus-within .number,.service a:hover .service-arrow,.service a:focus-visible .service-arrow{transform:none}}

/* Animated value proposition */
.intro-animated{font-weight:700;line-height:1.5}
.intro-line{display:inline-block;animation:intro-enter .8s cubic-bezier(.2,.75,.25,1) .15s backwards}
.intro-impact{position:relative;color:var(--green);animation-delay:.4s;isolation:isolate}
.intro-impact::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.22em;background:#9de0bd;opacity:.55;z-index:-1;transform-origin:left;animation:intro-underline .85s cubic-bezier(.2,.75,.25,1) .9s backwards}
@keyframes intro-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.intro-line,.intro-impact::after{animation:none}}

/* Immersive, full-width opening scene. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:780px;padding:55px 5% 64px;overflow:hidden;background:#06172f;color:#fff}
.hero .hero-copy{position:relative;z-index:3;width:min(610px,52%)}
.hero .hero-visual{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0;background:#06172f;pointer-events:none}
.hero-visual picture{display:block;width:100%;height:100%}
.hero .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:70% center;transform-origin:70% center;animation:hero-panorama 4.5s cubic-bezier(.15,.5,.25,1) both}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,17,39,.97) 0%,rgba(3,17,39,.91) 29%,rgba(3,17,39,.7) 45%,rgba(3,17,39,.16) 68%,rgba(3,17,39,.08)),linear-gradient(0deg,rgba(3,17,39,.45),transparent 35%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.11;background-image:linear-gradient(#78dcb530 1px,transparent 1px),linear-gradient(90deg,#78dcb530 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.hero .eyebrow{color:#7ce9b8;font-size:12px;line-height:1.7;animation:hero-copy-in .8s .1s backwards}
.hero .hero-slogan{font-size:clamp(64px,6.4vw,92px);line-height:1.04;letter-spacing:-4px;margin:22px 0 25px}
.hero-word{display:inline-block;animation:hero-copy-in .95s cubic-bezier(.2,.75,.25,1) backwards}.hero-word:nth-of-type(2){animation-delay:.18s}.hero .hero-slogan em{color:#66e1a5;animation-delay:.36s}
.hero .intro{font-size:25px;line-height:1.4}.hero .intro-impact{color:#8ef0be}.hero .intro-impact::after{background:#2cc57f;opacity:.28}
.hero .hero-copy>p:not(.eyebrow):not(.intro){color:#d9e4ec;max-width:470px;animation:hero-copy-in .8s .55s backwards}
.hero .actions{animation:hero-copy-in .8s .7s backwards}.hero .textlink{color:white}.hero .button{background:#008947;box-shadow:0 6px 24px #0002}.hero .button:hover{background:#007a3e}
.hero .hero-foot{border-color:#ffffff30;color:#d2e2dd;max-width:480px;animation:hero-copy-in .8s .85s backwards}
.hero-scan{position:absolute;top:-15%;bottom:-15%;left:-25%;width:16%;z-index:2;pointer-events:none;transform:skewX(-15deg);background:linear-gradient(90deg,transparent,#8fffd618,transparent);animation:hero-scan-once 2.8s .25s both}
@keyframes hero-panorama{from{transform:scale(1.055) translateX(1%)}to{transform:scale(1) translateX(0)}}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-scan-once{0%{left:-25%;opacity:0}20%{opacity:1}80%{opacity:.7}100%{left:115%;opacity:0}}
@media(min-width:1600px){.hero{padding-left:max(5%,calc((100vw - 1400px)/2));padding-right:max(5%,calc((100vw - 1400px)/2));min-height:850px}}
@media(max-width:1000px) and (min-width:761px){.hero .hero-copy{width:60%}.hero .hero-visual img{object-position:64% center}.hero::before{background:linear-gradient(90deg,#031127f7,#031127d9 40%,#03112755 75%)}}
@media(max-width:760px){.hero{min-height:780px;padding:38px 6% 50px;align-items:flex-start}.hero .hero-copy{width:100%}.hero .hero-slogan{font-size:clamp(54px,12vw,76px);letter-spacing:-2.5px}.hero .intro{font-size:22px}.hero .hero-visual img{object-position:60% center;animation-duration:3.5s}.hero::before{background:linear-gradient(90deg,#031127ed,#031127bb),linear-gradient(0deg,#031127ee,transparent 65%)}.hero .actions{gap:22px;margin-top:28px}.hero .hero-foot{gap:14px;flex-wrap:wrap;margin-top:30px}.hero .eyebrow{max-width:310px}.hero-scan{width:30%}}
@media(prefers-reduced-motion:reduce){.hero .hero-visual img,.hero-word,.hero .eyebrow,.hero .hero-copy>p,.hero .actions,.hero .hero-foot,.hero .intro-line,.hero .intro-impact::after{animation:none;transform:none}.hero-scan{display:none}}

/* Navigation animation and current section indicator. */
header nav>a{position:relative;animation:nav-entrance .55s ease backwards;animation-delay:var(--nav-delay,0ms)}
header nav>a:not(.button){padding-block:10px;transition:color .22s ease,transform .22s ease}
header nav>a:not(.button)::after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
header nav>a:not(.button):hover,header nav>a:not(.button):focus-visible,header nav>a[aria-current="location"]{color:var(--green)}
header nav>a:not(.button):hover{transform:translateY(-2px)}
header nav>a:not(.button):hover::after,header nav>a:not(.button):focus-visible::after,header nav>a[aria-current="location"]:not(.button)::after{transform:scaleX(1)}
header nav>a.button[aria-current="location"]{color:white}
#menu{transition:transform .25s ease}#menu[aria-expanded="true"]{transform:rotate(90deg)}
@keyframes nav-entrance{from{opacity:0;translate:0 -9px}to{opacity:1;translate:0 0}}
@media(max-width:760px){header nav.open{animation:nav-panel .25s ease backwards}header nav>a:not(.button)::after{width:42px}header nav>a:not(.button):hover{transform:translateX(3px)}}
@keyframes nav-panel{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){header nav>a,header nav.open{animation:none}header nav>a:not(.button),header nav>a:not(.button)::after,#menu{transition:none}header nav>a:not(.button):hover,#menu[aria-expanded="true"]{transform:none}}

/* Client identity strip */
.clients{padding-top:40px;padding-bottom:42px;background:#fff}.clients>p{margin:0 0 28px}
.clients>.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch;padding:0}
.client-item{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 12px 18px;border:1px solid #e5ece9;border-radius:12px;background:#fff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.client-item:hover{transform:translateY(-5px);border-color:#a6cbbb;box-shadow:0 12px 28px #071c430c}
.client-logo{height:110px;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;overflow:hidden}.client-logo img{width:100%;height:auto;max-width:240px;max-height:100px;object-fit:contain}.client-logo-zenith img{width:150px;max-height:none}.client-logo-zenith{height:130px;margin-bottom:0}
.client-item>strong,.client-text-reference>strong{font-size:15px;line-height:1.45;font-weight:600}.client-item small{font-size:10px;letter-spacing:2px;color:#697b85;margin-top:5px}
.client-text-reference{display:flex;align-items:center;justify-content:center;min-height:160px}
.client-item.client-arrived{animation:client-entrance .7s ease backwards;animation-delay:var(--client-delay,0ms)}
@keyframes client-entrance{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@media(max-width:760px){.clients>.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-logo img{max-width:155px}.client-item>strong,.client-text-reference>strong{font-size:14px}.client-logo{height:95px}.client-logo-zenith{height:110px}.client-logo-zenith img{width:135px}.client-text-reference{min-height:140px}}
@media(prefers-reduced-motion:reduce){.client-item.client-arrived{animation:none}.client-item{transition:none}.client-item:hover{transform:none}}

/* Consistent pictograms for the six service areas. */
.service-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;flex-shrink:0;border-radius:14px;background:#eaf6ef;color:#008947;border:1px solid #d6ecdf;transition:background .3s ease,color .3s ease,transform .3s ease}
.service-icon svg{display:block;width:28px;height:28px}
.service:hover .service-icon,.service:focus-within .service-icon{background:#008947;color:#fff;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.service-icon{transition:none}.service:hover .service-icon,.service:focus-within .service-icon{transform:none}}
@media(max-width:760px){.hero .hero-visual img{object-position:88% center}}

/* Contact pictograms */
.contact-icon{display:inline-block;width:24px;height:24px;vertical-align:-.22em;margin-right:10px;flex-shrink:0}.contact .whatsapp-icon{color:#008c4b}.whatsapp .contact-icon{width:22px;height:22px;margin-right:7px}

/* Social profiles; exact account URLs pending */
.social-contact{margin:24px 0}.social-contact>p{font-size:14px;font-weight:600;margin:0 0 12px;color:#51617a}.social-list{display:flex;flex-wrap:wrap;gap:12px}.social-profile{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #dbe4eb;border-radius:10px;background:#fff;color:#092047;font-size:16px;font-weight:600}.social-profile svg{width:22px;height:22px}.social-profile[data-social="linkedin"] svg{color:#0a66c2}.social-profile[data-social="facebook"] svg{color:#1877f2}

.contact .social-list .social-profile{display:inline-flex;margin:0;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.social-profile:hover{transform:translateY(-2px);border-color:#008c4b;box-shadow:0 5px 16px #09204712}.social-profile:focus-visible{outline:3px solid #008c4b;outline-offset:3px}@media(prefers-reduced-motion:reduce){.contact .social-list .social-profile{transition:none}.social-profile:hover{transform:none}}
/* Job campaign visuals retain the full image, including poster text. */
.public-job{padding:0!important;overflow:hidden;border-radius:12px}.public-job-image{display:block;width:100%;max-height:460px;object-fit:contain;background:#eef3f5}.public-job-content{padding:24px}.public-job-description{white-space:pre-wrap;line-height:1.7}.job-deadline{display:inline-block;background:#e8f3ed;color:#236c4d;padding:7px 10px;border-radius:6px;font-size:12px}@media(max-width:600px){.public-job-content{padding:18px}.public-job-image{max-height:350px}}

/* Equipment supply journey: full-width imagery, readable editorial captions. */
.about:has(+ .equipment-journey){padding-bottom:36px}.equipment-journey{background:#071c43;color:#fff;padding:32px 0 0}.equipment-heading{padding:0 5% 38px;display:flex;align-items:end;justify-content:space-between;gap:40px}.equipment-heading .eyebrow{color:#61d8a4;margin:0 0 16px}.equipment-heading h2{margin:0;font-size:clamp(30px,3.2vw,48px);line-height:1.15;letter-spacing:-1.5px}.equipment-heading>p{max-width:380px;color:#c3d0df;margin:0}.equipment-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0}.equipment-steps>li{min-width:0;border-right:1px solid #ffffff20}.equipment-steps>li:last-child{border:0}.equipment-steps figure{position:relative;margin:0;overflow:hidden;aspect-ratio:4/3}.equipment-steps img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.equipment-steps li:hover img{transform:scale(1.035)}.equipment-number{position:absolute;bottom:16px;left:24px;background:#fff;color:#071c43;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-weight:800;font-size:17px;box-shadow:0 4px 20px #0002}.equipment-copy{padding:28px clamp(20px,2.4vw,40px) 30px}.equipment-label{color:#61d8a4;font-size:10px;font-weight:700;letter-spacing:1.5px}.equipment-copy h3{font-size:clamp(19px,1.65vw,25px);line-height:1.35;letter-spacing:-.5px;margin:12px 0 16px;color:white}.equipment-copy p{font-size:14px;line-height:1.75;color:#c3d0df;margin:0}.equipment-footer{padding:24px 5%;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#c3d0df}.equipment-footer a{color:#77e4b5}.equipment-footer a:hover{color:white}@media(max-width:1050px){.equipment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-steps>li{border-bottom:1px solid #ffffff20}.equipment-heading{align-items:start}.equipment-heading>p{max-width:300px}}@media(max-width:600px){.about:has(+ .equipment-journey){padding-bottom:24px}.equipment-journey{padding-top:24px}.equipment-heading{display:block;padding-bottom:28px}.equipment-heading>p{max-width:none;margin-top:20px}.equipment-steps{grid-template-columns:1fr}.equipment-steps figure{aspect-ratio:3/2}.equipment-copy{padding:24px 6% 32px}.equipment-copy h3{font-size:24px}.equipment-copy h3 br{display:none}.equipment-footer{align-items:start;flex-direction:column}.equipment-number{left:6%}}@media(prefers-reduced-motion:reduce){.equipment-steps img{transition:none}.equipment-steps li:hover img{transform:none}}

footer{flex-wrap:wrap}.footer-legal{flex:0 0 100%;margin:4px 0 0;padding-top:20px;border-top:1px solid #ffffff26;color:#c3d0df;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.footer-legal strong{color:#fff;font-weight:600}

/* Corporate footer */
.site-footer{display:block;padding-top:40px;padding-bottom:28px}.footer-main{display:grid;grid-template-columns:minmax(190px,260px) 1fr;gap:48px;align-items:center}.footer-company{border-left:2px solid #28b87a;padding-left:28px;color:#c3d0df;font-size:14px;line-height:1.8}.footer-company>strong:first-child{color:#fff;font-family:Manrope,Arial,sans-serif;font-size:20px}.footer-company p{margin:8px 0 12px}.footer-rccm{display:inline-block;color:#c2f3dc;font-size:13px;letter-spacing:.2px;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff26;margin-top:32px;padding-top:20px;color:#b9c7d9;font-size:12px;padding-right:150px}.footer-bottom a{color:white;text-decoration:underline;text-underline-offset:4px}.footer-bottom a:hover{color:#77e4b5}@media(max-width:760px){.site-footer{padding-bottom:88px}.footer-main{grid-template-columns:1fr;gap:24px}.footer-main .brand{justify-self:start;max-width:230px}.footer-company{padding-left:18px;font-size:13px}.footer-company>strong:first-child{font-size:18px}.footer-bottom{padding-right:0;flex-wrap:wrap;gap:14px;margin-top:24px}}

/* Slim corporate contact strip */
.topline{background:#f3f6f8;color:#51617a;border-bottom:1px solid #e1e8ee;padding-top:5px;padding-bottom:5px;align-items:center;gap:20px;font-size:12px}.top-location,.top-connections,.top-socials{display:flex;align-items:center}.top-location{gap:9px}.top-location>svg{color:#008947;flex-shrink:0}.top-location>span:first-of-type{font-weight:600;color:#173452;white-space:nowrap}.top-motto{border-left:1px solid #ccd6df;padding-left:14px;margin-left:5px}.top-connections{gap:20px}.top-socials{gap:14px}.top-social-link{display:inline-flex;align-items:center;gap:6px;min-height:34px;font-size:11px;font-weight:600}.top-social-link svg{width:15px;height:15px;color:#173452}.top-social-link:hover,.top-social-link:hover svg{color:#008947}.top-phone{display:inline-flex;align-items:center;gap:7px;border-left:1px solid #ccd6df;padding-left:20px;font-weight:600;white-space:nowrap;min-height:30px}.top-phone svg{width:14px;height:14px;color:#008947}@media(max-width:1050px){.top-motto{display:none}}@media(max-width:600px){.topline{display:grid;grid-template-columns:1fr;padding-top:7px;padding-bottom:7px;gap:2px}.top-location{justify-content:center;font-size:11px}.top-connections{justify-content:center;gap:12px}.top-socials{gap:12px}.top-social-link{font-size:10px;min-height:32px}.top-phone{font-size:10px;padding-left:12px}.top-social-link svg{width:14px;height:14px}}

/* V2.0.1 — Public careers: compact, professional job cards only. */
#jobs{display:grid;gap:24px}.public-job{display:grid;grid-template-columns:minmax(190px,34%) minmax(0,1fr);padding:0!important;overflow:hidden;border:1px solid #dfe8e5;border-radius:16px;background:#fff;box-shadow:0 10px 34px #071c4309}.public-job-visual{display:flex;align-items:flex-start;justify-content:center;min-height:100%;padding:18px;background:linear-gradient(145deg,#edf4f1,#f8faf9);border-right:1px solid #e4ece9}.public-job-image{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;background:transparent;border-radius:8px}.public-job-content{min-width:0;padding:28px 30px 30px}.public-job-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.public-job-label{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:1.7px;color:#008947}.public-job-contract{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border:1px solid #dce7e2;border-radius:999px;background:#f7faf8;color:#405c50;font-size:11px;font-weight:700}.public-job-content h3{margin:0 0 8px;font-size:clamp(24px,2.2vw,34px);line-height:1.15;letter-spacing:-.8px;color:#071c43}.public-job-location{margin:0 0 17px;color:#526575;font-size:14px;font-weight:600}.public-job-location span{color:#008947;margin-right:3px}.job-deadline{display:inline-flex;align-items:center;margin:0 0 20px;background:#eaf6ef;color:#176943;padding:8px 12px;border-radius:8px;font-size:12px}.public-job-description{white-space:pre-line;line-height:1.7;color:#465b6b;font-size:14px;max-height:260px;overflow:auto;padding-right:8px;margin-bottom:24px}.public-job-apply{width:max-content;min-width:190px;padding:13px 18px;border-radius:8px;font-size:13px;gap:9px}.public-job-apply span{transition:transform .2s ease}.public-job-apply:hover span{transform:translate(2px,-2px)}
@media(max-width:1000px){.public-job{grid-template-columns:1fr}.public-job-visual{min-height:0;border-right:0;border-bottom:1px solid #e4ece9}.public-job-image{width:auto;max-width:100%;max-height:300px}.public-job-content{padding:24px}}
@media(max-width:600px){.public-job{border-radius:12px}.public-job-visual{padding:12px}.public-job-image{max-height:260px}.public-job-content{padding:20px}.public-job-content h3{font-size:25px}.public-job-description{max-height:none;overflow:visible}.public-job-apply{width:100%}}
@media(prefers-reduced-motion:reduce){.public-job-apply span{transition:none}.public-job-apply:hover span{transform:none}}

/* Fiber hero: keep the technician and rack visible on narrow screens. */
@media (max-width:760px){
  .hero{flex-direction:column;align-items:stretch;min-height:0;padding:0;gap:0}
  .hero::before,.hero::after,.hero-scan{display:none}
  .hero .hero-visual{position:relative;inset:auto;order:-1;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:5/4;align-self:stretch}
  .hero .hero-visual img{object-fit:cover;object-position:right center;animation:none;transform:none}
  .hero .hero-copy{width:100%;padding:26px 6% 38px}
  .hero .eyebrow{margin-top:0;margin-bottom:18px}
  .hero .hero-slogan{font-size:clamp(48px,12vw,76px);margin-top:0}
}

/* H1 visible, au même emplacement que le surtitre du Hero. */
.hero .hero-copy h1.seo-title{font-family:Manrope,Arial,sans-serif;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:1.4px;margin:0;text-transform:uppercase}
