:root{--brand:#075b9c;--gold:#eac450}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font:16px/1.65 Arial,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.06;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(48px,6.7vw,100px)}h2{font-size:clamp(36px,4.3vw,66px)}h3{font-size:25px}em{font-style:normal;color:var(--brand)}p{max-width:68ch}p+p{margin-top:18px}.wrap{max-width:1360px;padding:100px 6%;margin:auto}.kicker{font-size:10px;font-weight:700;letter-spacing:.18em;line-height:1.7;text-transform:uppercase;margin-bottom:24px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:54px;height:54px;flex:none}.brand span{max-width:230px;font-weight:700;line-height:1.2;font-size:17px;letter-spacing:-.02em}nav{display:flex;gap:25px;font-size:12px}nav a{padding:8px 0}.call{font-size:18px;font-weight:700;white-space:nowrap;display:inline-flex;gap:15px;align-items:center}.call span{font-size:22px}.cta,.submit{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 24px;background:var(--brand);color:white;border:1px solid var(--brand);font-size:13px;font-weight:700}.cta{margin-top:28px}.cta:hover,.submit:hover{filter:brightness(.92)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}main{overflow:hidden}.slider{position:relative;overflow:hidden;min-width:0;isolation:isolate}.slides{position:absolute;inset:0}.slides img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease,transform 6s ease;transform:scale(1.035)}.slides img:first-child{opacity:1}.slides img.active{opacity:1;transform:scale(1)}.slides img.inactive{opacity:0}.slide-controls{position:absolute;z-index:4;bottom:24px;right:24px;display:flex;align-items:center;gap:15px;color:#fff;font-size:11px;padding:7px 10px;background:#17212677;backdrop-filter:blur(10px)}.slide-controls button{width:31px;height:31px;border:1px solid #ffffff70;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center}.detail-photo{overflow:hidden}.detail-photo img{height:100%;object-fit:cover}.detail-photo figcaption{font-size:10px;line-height:1.6;letter-spacing:.03em;padding-top:12px}.service-n{font-size:11px;letter-spacing:.1em;display:block}.service p{font-size:14px;line-height:1.8}.service h3{margin:14px 0}ul,ol{margin:0;padding:0;list-style:none}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;font-weight:700;margin-bottom:18px;line-height:1.5}input,textarea,select{display:block;width:100%;border:1px solid #c9cec9;border-radius:0;padding:13px;margin-top:7px;background:#ffffffd9;color:#202c2b;font-size:15px}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}.consent{display:flex;gap:10px;align-items:start;font-size:10px;font-weight:400}.consent input{width:16px;flex:none;margin:0;accent-color:var(--brand)}.submit{width:100%;cursor:pointer}.submit:disabled{opacity:.65;cursor:wait}.form-note,#formStatus,.email-fallback{font-size:11px;line-height:1.6;margin-top:15px;overflow-wrap:anywhere}.form-note a,.email-fallback{text-decoration:underline}.email-fallback{display:block;font-weight:700}.email-fallback[hidden],.honey,[hidden]{display:none!important}footer{padding:35px 6%;display:flex;gap:25px;align-items:center;flex-wrap:wrap;border-top:1px solid #7f85792b;font-size:13px}footer>div{font-weight:700;flex:1;min-width:200px}footer small{display:block;font-size:9px;font-weight:400;margin-top:8px}.privacy{background:none;border:0;font-size:10px;text-decoration:underline;color:inherit}dialog{border:0;max-width:600px;width:92%;padding:45px;color:#24312a;background:#fff}dialog::backdrop{background:#14221a90}dialog h2{font-size:34px;margin-bottom:24px}dialog p{font-size:14px}.dialog-close{position:absolute;top:8px;right:15px;border:0;background:transparent;font-size:28px}.mobile-call{display:none}.reveal{transition:opacity .7s,transform .7s}.js-reveal{opacity:0;transform:translateY(20px)}.js-reveal.visible{opacity:1;transform:none}@media(max-width:760px){html{scroll-padding-top:90px}h1{font-size:50px}h2{font-size:39px}.wrap{padding:65px 22px}.brand img{width:40px;height:40px}.brand span{font-size:12px;max-width:160px}nav{gap:14px;font-size:10px;flex-wrap:wrap}.call{font-size:15px;gap:8px}.fields{grid-template-columns:1fr;gap:0}.mobile-call{display:block;position:fixed;z-index:50;bottom:12px;left:16px;right:16px;padding:13px;background:var(--brand);color:white;text-align:center;border:1px solid #ffffff70;border-radius:6px;box-shadow:0 6px 25px #0003;font-size:14px;font-weight:700}footer{padding:28px 22px 100px;align-items:flex-start}.slide-controls{bottom:15px;right:15px}form{min-width:0}.cta{gap:20px;padding:15px 19px}.slider{min-height:330px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-reveal{opacity:1;transform:none}}
body{--paper:#f5f7ef;--ink:#123246}.v-header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;background:#075b9c;color:#fff}.v-header>div{display:flex;align-items:center;gap:28px}.v-header>div>p{font-size:8px;letter-spacing:.12em;max-width:120px}.v-header .brand span{max-width:170px}.v-header nav{font-size:11px}.v-header>.call{background:#eac450;color:#123246;padding:15px 20px;font-size:18px}.v-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:30px 60px;padding:70px 5%;align-items:start}.v-title{grid-column:1}.v-title h1{font-size:clamp(64px,6.5vw,100px);font-weight:800;letter-spacing:-.065em}.v-title h1 em{color:#075b9c}.v-hero .slider{grid-column:2;grid-row:1/3;height:600px;transform:rotate(2deg);border:8px solid #fff;box-shadow:15px 15px 0 #eac450}.v-intro{grid-column:1;padding-top:25px;display:flex;flex-direction:column;align-items:start}.v-intro>p{max-width:470px;font-size:15px}.v-intro .cta{background:transparent;color:#075b9c;border:0;border-bottom:2px solid #075b9c;padding-left:0;padding-right:0}.v-solutions{background:#075b9c;color:white;max-width:none}.v-solutions h2{font-weight:800;font-size:62px;margin-bottom:55px}.v-service-tabs{display:grid;grid-template-columns:1fr 1fr;gap:70px}.v-service-tabs [role=tablist]{display:flex;flex-direction:column}.v-service-tabs [role=tab]{display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;border-bottom:1px solid #ffffff40;background:none;color:#c0d2e4;padding:18px 0;font-size:18px;gap:25px}.v-service-tabs [aria-selected=true]{color:#eac450}.v-big-number{font-size:140px;line-height:1;color:#ffffff1c;font-weight:800;display:block;margin-bottom:20px}.v-panels h3{font-size:43px;font-weight:700;margin-bottom:25px}.v-panels p{font-size:16px;color:#dfebf5}.v-panels .cta{background:#eac450;border-color:#eac450;color:#123246}.v-water{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:90px 6%;align-items:center}.v-water h2{font-weight:800}.v-water>div>p:not(.kicker){font-size:14px;margin:30px 0}.v-water .call{font-size:14px;color:#075b9c}.v-water figure img{height:490px}.v-water figcaption{font-size:9px}.v-sector{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#e8ecd9}.v-sector h2{font-weight:700}.v-sector p:not(.kicker){margin-top:25px;font-size:14px}.v-sector details{border-bottom:2px solid #075b9c;padding:15px 0 25px}.v-sector summary{font-size:34px;font-weight:700;display:flex;justify-content:space-between}.v-sector details ul{columns:2;margin-top:25px}.v-sector li{padding:6px 0;font-size:13px}.v-contact{display:grid;grid-template-columns:1fr 1.2fr;padding:90px 6%;gap:90px}.v-contact h2{font-size:80px;font-weight:800}.v-contact h2 em{color:#075b9c}.v-contact>div .call{margin-top:40px;font-size:30px}.v-contact form{background:#fff;padding:40px;box-shadow:15px 15px 0 #eac450;border:1px solid #d4d8d0}.v-contact .submit{background:#075b9c}footer{background:#123246;color:white}@media(max-width:1100px){.v-header nav,.v-header>div>p{display:none}.v-hero{gap:35px}.v-title h1{font-size:73px}.v-service-tabs{gap:40px}}@media(max-width:760px){.v-header{padding:20px}.v-header .brand span{font-size:11px;max-width:135px}.v-header>.call{font-size:13px;padding:12px}.v-hero{display:flex;flex-direction:column;padding:45px 22px 60px}.v-title h1{font-size:57px}.v-hero .slider{width:100%;height:380px;order:3;margin-top:25px}.v-intro{padding-top:0}.v-solutions h2{font-size:46px}.v-service-tabs{grid-template-columns:1fr;gap:40px}.v-service-tabs [role=tablist]{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.v-service-tabs [role=tab]{font-size:13px}.v-big-number{font-size:90px}.v-panels h3{font-size:35px}.v-water,.v-sector,.v-contact{grid-template-columns:1fr;gap:40px}.v-water,.v-contact{padding:60px 22px}.v-water figure img{height:340px}.v-contact h2{font-size:57px}.v-contact form{padding:22px;box-shadow:8px 8px 0 #eac450}}
.slides img{transition:none;transform:none}.slides img.previous{opacity:1;z-index:1}.slides img.active{z-index:2}.slides img.inactive:not(.previous){opacity:0}
/* Vallorbe: diagonal shutter and sliding service selector. */
.slides img.active{animation:vDiagonal 1.15s cubic-bezier(.55,.05,.3,1) both}@keyframes vDiagonal{0%{clip-path:polygon(0 100%,0 100%,0 100%)}100%{clip-path:polygon(0 -100%,200% 100%,0 100%)}}.v-title h1{animation:vStamp .9s cubic-bezier(.2,.85,.25,1.2) both}@keyframes vStamp{from{transform:rotate(-4deg) scale(.88);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.v-panels [role=tabpanel]:not([hidden]){animation:vSolution .45s ease both}@keyframes vSolution{from{transform:translateX(35px);opacity:.2}to{transform:none;opacity:1}}.v-service-tabs [role=tab]{transition:padding .25s,color .25s}.v-service-tabs [aria-selected=true]{padding-left:18px;border-left:3px solid var(--gold)}.motion-target{transform:rotate(-2deg) translateX(30px);opacity:.2;transition:transform .8s,opacity .8s}.motion-target.seen{transform:none;opacity:1}.cta:hover span{transform:rotate(45deg)}.cta span{display:inline-block;transition:transform .3s}
@media(prefers-reduced-motion:reduce){.slides img.active{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important;filter:none!important}.motion-target{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}.slider:after{animation:none!important}.motion-target{transition:none!important}}footer{padding-top:50px;padding-bottom:50px}footer>div{font-size:24px;max-width:450px}
@media(max-width:760px){.v-header{flex-wrap:wrap;gap:12px}.v-header nav{display:flex;order:3;width:100%;justify-content:space-between;font-size:10px}}
