/* Expert Tech & Maintenance — site autonome, sans dépendance externe. */
:root{--navy:#082e40;--navy-deep:#06222f;--cyan:#00addc;--cyan-light:#64d9f3;--ink:#133440;--muted:#58717c;--line:#dce5e8;--paper:#f4f7f7;--white:#fff;--max:1220px;--header-height:100px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}::selection{background:#b6edfa;color:var(--navy)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h2{font-size:clamp(2.2rem,3.55vw,3.4rem);font-weight:700}h3{font-size:1.2rem;letter-spacing:-.025em}p{color:var(--muted)}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.section{padding:108px 0}.eyebrow{font-size:.69rem;letter-spacing:.15em;line-height:1.5;font-weight:700;color:#357186;margin-bottom:23px}.eyebrow.light{color:#93ddec}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:100;background:white;padding:12px 18px;box-shadow:0 4px 24px #082e4033}.skip-link:focus{transform:translateY(0)}
.topbar{background:var(--navy-deep);color:#c3d7df;font-size:.58rem;letter-spacing:.14em;font-weight:600}.topbar-inner{display:flex;justify-content:space-between;align-items:center;min-height:32px}.topbar-location{letter-spacing:.04em}.topbar-location span{color:var(--cyan-light);margin-left:10px}.header{background:white;position:sticky;top:0;z-index:30;border-bottom:1px solid #e6ecee}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:var(--header-height)}.brand{display:block;width:154px;flex-shrink:0}.brand img{width:154px;height:100px;object-fit:contain}.nav{display:flex;gap:31px;margin-left:auto;font-size:.85rem;font-weight:600}.nav a{position:relative;padding:10px 0}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--cyan);transition:right .2s}.nav a:hover::after,.nav a.active::after{right:0}.header-phone{display:flex;gap:10px;align-items:center;padding:11px 17px;background:var(--paper);border:1px solid var(--line);font-size:.85rem;font-weight:700;white-space:nowrap;transition:background .2s}.header-phone:hover{background:#e8f5f8}.header-phone .icon{color:#0589ac;width:17px;height:17px}.menu-toggle,.mobile-contact{display:none}
.hero{position:relative;overflow:hidden;min-height:670px;background:var(--navy-deep);isolation:isolate;color:white}.hero-visual{position:absolute;inset:0 0 0 40%;z-index:-1;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}.hero-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--navy-deep) 0%,rgba(6,34,47,.83) 17%,rgba(6,34,47,.12) 61%),linear-gradient(0deg,rgba(6,34,47,.65),transparent 40%)}.hero-content{padding-top:82px;padding-bottom:75px;position:relative}.hero .eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:25px;letter-spacing:.11em;font-size:.65rem}.signal-dot{width:6px;height:6px;background:var(--cyan-light);display:inline-block;border-radius:50%;box-shadow:0 0 0 5px #30bdda19}.hero h1{font-size:clamp(3rem,4.35vw,4.3rem);font-weight:750;line-height:1.065;max-width:690px;letter-spacing:-.05em}.hero h1 span{color:var(--cyan-light)}.hero-intro{font-size:1.04rem;line-height:1.75;color:#c3d5de;max-width:460px;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;padding:17px 21px;min-height:54px;border:1px solid transparent;line-height:1.2;font-weight:650;font-size:.85rem;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-cyan{background:var(--cyan-light);color:var(--navy-deep)}.button-cyan:hover{background:#a0e9f8;box-shadow:0 6px 25px #0002}.button-dark{background:var(--navy);color:white}.button-dark:hover{background:#0d455c}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:.81rem;font-weight:600;color:var(--ink)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.light-link{color:#e1f0f4}.hero-signature{display:flex;align-items:center;gap:14px;margin-top:39px}.signature-line{width:28px;height:1px;background:#548496}.hero-signature strong{display:block;font-size:.78rem;font-weight:600;letter-spacing:.02em}.hero-signature span:not(.signature-line){display:block;margin-top:2px;color:#a5c0cc;font-size:.71rem}.hero-tag{position:absolute;right:max(40px,calc((100vw - var(--max))/2));bottom:39px;display:flex;align-items:center;gap:14px;padding:17px 20px;background:#06222fbf;backdrop-filter:blur(12px);border-left:2px solid var(--cyan-light);font-size:.72rem;color:#c0d6df;line-height:1.6}.hero-tag strong{color:white;font-weight:600}.tag-square{width:18px;height:18px;border:1px solid #61d6f1;position:relative}.tag-square::after{content:"";width:7px;height:7px;background:#61d6f1;position:absolute;right:-4px;top:-4px}.image-note{position:absolute;right:15px;top:15px;color:#b2c6cc;font-size:.48rem;letter-spacing:.1em;opacity:.75}
.principles{border-bottom:1px solid var(--line);background:#f6f9f9}.principles-inner{display:grid;grid-template-columns:repeat(3,1fr)}.principles-inner>div{display:flex;align-items:center;justify-content:center;gap:19px;padding:27px 20px}.principles-inner>div+div{border-left:1px solid var(--line)}.principles span{color:#098bab;font-size:.69rem;font-weight:650;letter-spacing:.07em}.principles strong{font-size:.82rem;font-weight:600}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}.section-heading>p{max-width:360px;font-size:.94rem;line-height:1.8;padding-bottom:3px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:31px 30px 30px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;min-height:251px;background:white}.service:hover{background:var(--paper)}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.service-icon{width:28px;height:28px;stroke:#008cae;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;fill:none}.service-top span{color:#8fa2aa;font-size:.64rem;letter-spacing:.08em}.service h3{font-size:1.06rem;margin-bottom:14px;letter-spacing:-.025em}.service p{font-size:.84rem;line-height:1.8}.service-print{background:#edf7f9}.service-print:hover{background:#e6f4f7}.service-specialty{display:inline-block;margin-top:13px;font-size:.64rem;font-weight:650;color:#12728b}.service-specialty::before{content:"";display:inline-block;width:5px;height:5px;background:#099cc4;margin-right:8px;vertical-align:2px}
.approach-section{background:var(--navy);color:white;position:relative;overflow:hidden}.approach-section::after{content:"";position:absolute;width:350px;height:350px;right:-220px;top:-190px;border:1px solid #2b5668;transform:rotate(45deg)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.approach-intro h2{line-height:1.13}.approach-intro h2 span{color:var(--cyan-light)}.approach-intro>p:not(.eyebrow){margin-top:25px;max-width:450px;color:#b7cdd7;font-size:.92rem;line-height:1.85}.approach-intro>.text-link{margin-top:27px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:28px;padding:30px 0;border-bottom:1px solid #2b4e5f}.steps li:first-child{padding-top:0}.steps li:last-child{border-bottom:0;padding-bottom:0}.step-number{font-size:.72rem;color:var(--cyan-light);padding-top:3px;font-weight:600}.steps h3{font-size:1.07rem;margin-bottom:12px;font-weight:600;letter-spacing:-.02em}.steps p{color:#b7cdd7;font-size:.86rem;line-height:1.8}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px;align-items:center}.about-brand{border:1px solid var(--line);background:var(--paper);padding:27px 32px 0;position:relative}.about-brand::before{content:"";position:absolute;inset:-10px auto auto -10px;width:25px;height:25px;border-top:2px solid var(--cyan);border-left:2px solid var(--cyan)}.about-brand-top{display:flex;justify-content:space-between;font-size:.54rem;font-weight:650;letter-spacing:.08em;color:#63818e}.about-brand-top span:last-child{font-size:1rem;color:#22819b;line-height:1}.about-logo-wrap{padding:30px 0;min-height:270px;display:flex;align-items:center;justify-content:center}.about-logo-wrap img{width:100%;height:auto;mix-blend-mode:multiply}.about-brand-footer{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding:21px 0 23px}.about-brand-footer strong{font-size:2.7rem;letter-spacing:-.06em;line-height:1.1;font-weight:700;white-space:nowrap}.about-brand-footer span{font-size:.74rem;color:#557581;line-height:1.6}.about-copy h2{font-size:clamp(2.2rem,3.3vw,3.2rem)}.about-copy p:not(.eyebrow){font-size:.89rem;line-height:1.85;margin-top:17px}.about-copy p.about-lead{font-size:1rem;font-weight:600;color:var(--ink);line-height:1.5;margin-top:25px}.about-values{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;padding-top:21px;border-top:1px solid var(--line)}.about-values span{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600}.about-values .icon{width:16px;height:16px;color:#008eae;stroke-width:2}
.contact-section{background:#edf4f5;border-top:1px solid #e4edef}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.contact-copy h2{font-size:clamp(2.25rem,3.6vw,3.5rem)}.contact-copy h2 span{color:#067f9f}.contact-copy>p:not(.eyebrow){max-width:430px;margin-top:25px;font-size:.95rem;line-height:1.8}.contact-methods{margin-top:29px;max-width:430px}.contact-methods>a{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #cedee4}.contact-methods>a:hover strong{color:#007b9a}.contact-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #c9dee4;flex-shrink:0}.contact-icon .icon{color:#0489a9}.contact-methods small{font-size:.54rem;letter-spacing:.1em;display:block;color:#557480;margin-bottom:3px;font-weight:650}.contact-methods strong{font-size:1.02rem;font-weight:650;transition:color .2s}.method-arrow{margin-left:auto;color:#1084a0;font-size:1.2rem}.contact-place{display:flex;align-items:center;gap:13px;font-size:.8rem;color:#577886;margin-top:24px}.contact-place .icon{width:19px;height:19px}.contact-form{padding:35px;background:white;border:1px solid #dfe8eb;border-top:3px solid var(--cyan)}.form-heading{margin-bottom:26px}.form-heading h3{font-size:1.25rem;line-height:1.3}.form-heading p{font-size:.8rem;margin-top:7px}.field{margin:19px 0}.field label{display:block;font-size:.74rem;font-weight:650;margin-bottom:8px}.field label>span{color:#0785a4}input,select,textarea{display:block;width:100%;color:var(--ink);border:1px solid #cfdee4;border-radius:0;background:#fcfdfd;padding:12px 13px;outline-offset:2px;font-size:.82rem;min-height:47px;transition:border-color .2s}textarea{resize:vertical;min-height:115px;line-height:1.6}input::placeholder,textarea::placeholder{color:#8699a1}select{padding-right:30px}input:focus,textarea:focus,select:focus{border-color:#0791b2}select:invalid{color:#7c929c}.form-submit{width:100%;justify-content:space-between;margin-top:24px}.form-note{font-size:.68rem;line-height:1.7;margin-top:15px;color:#6b838d}.form-result{margin-top:20px;background:#edf8f9;padding:17px;border-left:2px solid #0089aa}.form-result strong{font-size:.85rem}.form-result p{font-size:.75rem;line-height:1.6;margin:7px 0 12px}.form-result .text-link{font-size:.76rem}.form-result[hidden]{display:none}
.footer{background:var(--navy-deep);color:#d3e2e8}.footer-main{display:flex;align-items:center;gap:75px;padding-block:43px;border-bottom:1px solid #28434f}.footer-brand{font-size:1.02rem;font-weight:750;letter-spacing:.04em;line-height:1.2;color:white}.footer-brand span{display:block;font-size:.74rem;font-weight:550;letter-spacing:.085em;margin-top:6px}.footer-main p{font-size:.79rem;line-height:1.7;color:#a1bac5}.back-top{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:.73rem}.back-top span{color:#69d7ef;font-size:1.2rem}.back-top:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:21px;font-size:.66rem;color:#92aeba}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a:hover{color:white}.privacy-main{padding:70px 0 100px;max-width:820px}.privacy-main h1{font-size:clamp(2.4rem,4vw,3.3rem);margin-bottom:20px}.privacy-main h2{font-size:1.3rem;margin-top:34px;margin-bottom:12px}.privacy-main p,.privacy-main li{font-size:.95rem;line-height:1.85;color:var(--muted)}.privacy-main a:not(.button){text-decoration:underline;text-underline-offset:3px}.privacy-main .button{margin-top:32px}.privacy-main ul{padding-left:22px}
.contact-form[hidden]{display:none}
@media(min-width:1600px){.hero-visual{left:44%}.hero h1{font-size:4.6rem}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.nav{gap:22px}.header-inner{gap:24px}.header-phone{padding:11px 13px}.hero h1{font-size:3.8rem}.hero-tag{right:28px;font-size:.66rem}.hero-intro{max-width:430px}.hero-actions{gap:20px}.approach-grid,.about-grid,.contact-grid{gap:55px}.service{padding:26px 24px}.service h3{font-size:1.02rem}.service p{font-size:.8rem}.about-values{gap:13px}.section{padding-block:88px}.section-heading>p{max-width:310px}}
@media(max-width:880px){:root{--header-height:88px}.header-phone{font-size:.75rem;gap:7px}.brand,.brand img{width:128px}.brand img{height:88px}.nav{font-size:.76rem;gap:17px}.header-inner{gap:20px}.hero{min-height:630px}.hero-content{padding-top:67px;padding-bottom:67px}.hero h1{font-size:3.4rem}.hero-visual{left:24%;opacity:.6}.hero-visual-shade{background:linear-gradient(90deg,var(--navy-deep),#06222fc9 27%,#06222f35)}.hero-tag{display:none}.hero-intro{max-width:435px}.principles-inner>div{gap:10px;padding:22px 10px}.principles strong{font-size:.74rem}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service{min-height:235px}.service p{font-size:.87rem}.section-heading{gap:30px}.section-heading h2{font-size:2.3rem}.section-heading>p{font-size:.83rem;max-width:290px}.approach-grid,.about-grid,.contact-grid{gap:38px}.about-copy h2{font-size:2.25rem}.about-brand{padding:20px 22px 0}.about-logo-wrap{padding:20px 0;min-height:210px}.about-brand-footer{gap:14px}.about-brand-footer strong{font-size:2.3rem}.about-brand-footer span{font-size:.66rem}.about-values{display:grid;gap:9px}.contact-copy h2{font-size:2.4rem}.contact-form{padding:25px}.contact-methods strong{font-size:.87rem}.contact-icon{width:36px;height:36px}.contact-methods>a{gap:10px}.steps h3{font-size:.98rem}.steps li{gap:19px}.steps p{font-size:.81rem}.footer-main{gap:35px}}
@media(max-width:700px){html{scroll-padding-top:89px}.container{width:calc(100% - 40px)}.topbar-inner{min-height:30px}.topbar{font-size:.48rem;letter-spacing:.075em}.topbar-location{font-size:.56rem}.topbar-location span{margin-left:3px}.header-inner{min-height:82px;gap:14px}.brand,.brand img{width:119px}.brand img{height:82px}.header-phone{margin-left:auto;padding:10px;font-size:0;border:0;background:var(--paper);width:40px;height:40px;justify-content:center}.header-phone .icon{width:19px;height:19px}.header-phone span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.menu-toggle{display:flex;align-items:center;gap:11px;border:0;background:none;font-size:.76rem;color:var(--navy);padding:12px 0;order:3}.menu-lines{display:block;width:21px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}.menu-lines::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1.5px solid currentColor}.menu-toggle[aria-expanded=true] .menu-lines{border-bottom:0;border-top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::before{content:"";position:absolute;inset:4px 0 auto;border-top:1.5px solid}.menu-toggle[aria-expanded=true] .menu-lines::after{transform:rotate(90deg)}.nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:#fff;padding:12px 20px 22px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #082e400d;gap:0;flex-direction:column;font-size:.92rem}.nav.is-open{display:flex}.nav a{padding:14px 2px;border-bottom:1px solid #edf1f3}.nav a::after{display:none}.mobile-contact{display:block}.hero{min-height:0}.hero-content{padding-top:57px;padding-bottom:46px}.hero .eyebrow{font-size:.55rem;letter-spacing:.08em;gap:10px;margin-bottom:25px}.hero h1{font-size:clamp(2.8rem,8.7vw,3.7rem);letter-spacing:-.05em;max-width:600px;line-height:1.07}.hero-visual{left:0;opacity:.32}.hero-visual>img{object-position:62% 50%}.hero-visual-shade{background:linear-gradient(90deg,#06222ff2,#06222f80 70%),linear-gradient(0deg,var(--navy-deep),transparent 60%)}.hero-intro{font-size:.94rem;max-width:450px;line-height:1.8;margin-top:25px}.hero-actions{align-items:flex-start;gap:22px;flex-direction:column;margin-top:28px}.button{font-size:.83rem;min-height:53px;padding:17px 20px}.hero-actions .button{gap:26px}.hero-actions .text-link{font-size:.76rem}.hero-signature{margin-top:33px}.hero-signature span:not(.signature-line){font-size:.62rem}.hero-signature strong{font-size:.74rem}.image-note{top:auto;bottom:12px;right:12px;font-size:.42rem}.principles-inner{display:flex;flex-wrap:wrap;column-gap:20px;padding-block:18px;justify-content:flex-start}.principles-inner>div{padding:4px 0;gap:9px;justify-content:flex-start}.principles-inner>div+div{border:0}.principles strong{font-size:.63rem}.principles span{font-size:.56rem}.section{padding-block:65px}.eyebrow{font-size:.61rem;margin-bottom:18px}h2{font-size:2.15rem}.section-heading{display:block;margin-bottom:31px}.section-heading h2{font-size:2.15rem}.section-heading>p{max-width:500px;font-size:.89rem;margin-top:22px}.services-grid{grid-template-columns:1fr}.service{min-height:0;padding:25px 25px 27px}.service-top{margin-bottom:18px}.service h3{font-size:1.11rem}.service p{font-size:.88rem;max-width:510px}.service-icon{width:27px;height:27px}.service-specialty{font-size:.66rem}.approach-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.approach-intro h2{font-size:2.5rem}.approach-intro>p:not(.eyebrow){font-size:.88rem;max-width:490px}.steps li{padding:24px 0}.steps li:first-child{padding-top:24px;border-top:1px solid #2b4e5f}.steps h3{font-size:1.04rem}.steps p{font-size:.86rem}.step-number{font-size:.7rem}.about-brand{max-width:460px;width:100%;padding:24px 29px 0;margin-inline:auto}.about-logo-wrap{min-height:215px;padding:20px 0}.about-logo-wrap img{max-width:310px}.about-brand-footer strong{font-size:2.9rem}.about-brand-footer span{font-size:.74rem}.about-copy h2{font-size:2.4rem}.about-copy p:not(.eyebrow){font-size:.9rem}.about-copy p.about-lead{font-size:.98rem}.about-values{display:flex;gap:15px}.about-values span{font-size:.67rem}.contact-copy h2{font-size:2.45rem}.contact-copy>p:not(.eyebrow){font-size:.91rem}.contact-methods{max-width:100%}.contact-methods strong{font-size:1rem}.contact-icon{width:41px;height:41px}.contact-methods>a{gap:13px}.contact-form{padding:28px 24px}.field{margin-block:22px}input,select,textarea{font-size:16px}.form-note{font-size:.72rem}.footer-main{align-items:flex-start;gap:26px;padding-block:35px;flex-wrap:wrap}.footer-main p{margin-left:auto;font-size:.71rem}.back-top{margin-left:0;flex-basis:100%;font-size:.74rem}.footer-bottom{flex-direction:column;gap:11px;font-size:.64rem}.footer-bottom>div{gap:20px}.privacy-main{padding-block:50px 65px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.topbar-location{display:none}.hero h1{font-size:2.65rem}.hero .eyebrow{font-size:.48rem}.hero-signature span:not(.signature-line){font-size:.58rem}.contact-methods strong{font-size:.89rem}.contact-copy h2{font-size:2.2rem}.about-values{gap:8px}.about-values span{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.header,.topbar,.hero-visual,.hero-tag,.menu-toggle,.contact-form,.footer,.skip-link{display:none}.section{padding:25px 0}.container{width:100%}.hero{background:white!important;color:#082e40;min-height:0}.hero-content{padding:20px 0}.hero p,.hero-signature span:not(.signature-line){color:#304d5d}.hero h1 span{color:#082e40}.services-grid{grid-template-columns:repeat(2,1fr)}.service{break-inside:avoid}.approach-section{background:#edf3f6;color:#082e40}.approach-section p{color:#304d5d}.approach-grid,.about-grid,.contact-grid{gap:30px}.about-brand{max-width:250px}.contact-grid{grid-template-columns:1fr}.button{border:1px solid currentColor}.hero .eyebrow{color:#304d5d}}
