:root{--navy:#0b2a4d;--yellow:#f4c62d;--green:#71b09b;--paper:#f8f7f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#e4e7e8 0%,#f4f2ed 48%,#dde3e5 100%);color:var(--navy);font:16px/1.5 Arial,Helvetica,sans-serif}.site{max-width:1100px;min-height:100vh;margin:auto;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(#1937520d 1px,transparent 1px);background-size:4px 4px;box-shadow:0 24px 70px rgba(5,28,51,.2)}a{text-decoration:none;color:inherit}.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;min-height:64px;padding:0 34px;background:linear-gradient(180deg,#ffda3e 0%,#f2c329 55%,#e9b91d 100%);border-bottom:1px solid rgba(117,83,0,.28);box-shadow:0 5px 16px rgba(91,65,0,.16)}.nav a{display:flex;align-items:center;min-height:64px;padding:0 22px;border-right:1px solid rgba(126,91,0,.28);font-size:16px;font-weight:700;letter-spacing:-.01em;transition:background .18s}.nav a:hover{background:rgba(255,255,255,.24)}.nav .active{background:rgba(255,255,255,.3);box-shadow:inset 0 -3px 0 var(--navy)}.nav .cta{min-height:auto;margin-left:auto;padding:11px 22px;border:1px solid rgba(25,83,21,.35);border-radius:7px;background:linear-gradient(180deg,#55a43b,#357a27);color:#fff;box-shadow:0 3px 0 #245f1a,0 7px 15px rgba(41,95,31,.22);text-transform:uppercase}.hero{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;min-height:300px;padding:40px 58px 28px;border-bottom:1px solid rgba(11,42,77,.08)}.hero h1{margin:0 0 18px;font-size:clamp(38px,4.2vw,48px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.hero h1 strong{display:block;color:#082d55}.hero p{max-width:560px;margin:0;color:#3c4f64;font-size:18px;line-height:1.65}.hero-logo{width:100%;max-height:265px;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(8,35,62,.18))}.map-section{text-align:center;padding:25px 48px 27px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(243,246,246,.2))}.map-title{margin:0 0 14px;color:#3b5268;font-size:16px;font-weight:700}.map-wrap{position:relative;display:block;width:min(100%,690px);margin:auto;line-height:0;filter:drop-shadow(0 14px 20px rgba(26,71,102,.1))}.map-img{display:block;width:100%;height:auto;image-rendering:auto}.map-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.map-label{position:absolute;z-index:4;display:none;padding:9px 13px;border:1px solid rgba(255,255,255,.3);border-radius:7px;background:rgba(7,35,63,.96);color:#fff;box-shadow:0 8px 18px rgba(5,27,48,.28);font-size:14px;font-weight:700;line-height:1.2;pointer-events:none}.choose{display:inline-flex;align-items:center;gap:12px;margin:16px 0 4px;padding:13px 25px;border:1px solid rgba(29,91,29,.4);border-radius:7px;background:linear-gradient(180deg,#65ae4b,#3e842d);color:#fff;box-shadow:0 3px 0 #2c671f,0 9px 20px rgba(47,105,36,.18);font-size:19px;font-weight:700}.partner{display:grid;grid-template-columns:1fr 235px;align-items:stretch;min-height:275px;margin:20px 34px 34px;overflow:hidden;border:1px solid rgba(18,56,87,.12);border-radius:14px;background:linear-gradient(112deg,#fff 0%,#fff 64%,#eef5f3 100%);box-shadow:0 14px 34px rgba(10,41,70,.1)}.partner-copy{padding:36px}.partner h2{margin:0 0 3px;font-size:32px;letter-spacing:-.025em}.partner h3{margin:0 0 18px;color:#3a4d61;font-size:24px;font-weight:400}.partner p{margin:20px 0 0;color:#526478}.partner .btn{display:inline-block;padding:12px 22px;border:1px solid rgba(34,92,28,.35);border-radius:6px;background:linear-gradient(#5ca540,#397f29);color:#fff;box-shadow:0 3px 0 #28641e,0 8px 18px rgba(52,114,38,.15);font-weight:700}.machine-stage{display:flex;align-items:flex-end;justify-content:center;padding:22px 24px 12px;border-left:1px solid rgba(43,112,94,.15);background:radial-gradient(circle at 50% 60%,#fff 0%,#eef5f3 72%)}.machine{display:block;width:100%;max-width:165px;max-height:235px;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(7,37,60,.24))}.footer-nav{display:flex;align-items:center;gap:18px;padding:20px 36px;border-top:1px solid #d7d3cb;background:rgba(255,255,255,.64)}.footer-nav .phone{margin-left:auto;color:#0a355d;font-size:20px;font-weight:700}.legal{padding:22px;border-top:5px solid #f1c328;background:linear-gradient(180deg,#0e3157,#082442);color:#fff;text-align:center;font-size:13px}
@media(max-width:760px){.nav{position:relative;flex-wrap:wrap;padding:6px 8px}.nav a{min-height:42px;padding:0 10px;font-size:13px}.nav .cta{margin-left:0;padding:9px 11px}.hero{grid-template-columns:1fr;min-height:auto;gap:20px;padding:30px 20px 20px}.hero h1{font-size:34px}.hero-logo{max-height:210px}.map-section{padding:20px 8px 24px}.partner{grid-template-columns:1fr;margin:12px 12px 24px}.partner-copy{padding:28px 20px}.machine-stage{min-height:230px;border-top:1px solid rgba(43,112,94,.15);border-left:0}.machine{max-width:150px;max-height:210px}.footer-nav{flex-wrap:wrap;padding:18px 20px}.footer-nav .phone{width:100%;margin:0}}
:root .hero{min-height:245px;padding-top:28px;padding-bottom:28px}
:root .hero .hero-title{max-width:560px;margin:0;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:clamp(20px,2.2vw,24px);line-height:1.5;font-weight:700;letter-spacing:-.02em;color:#173653}
:root .map-section{background:#fff}
:root .map-section{margin:0;padding:18px 24px 24px;border-top:1px solid #e7ebee;border-bottom:1px solid #e7ebee}
:root .map-wrap{width:min(100%,760px)}
:root .map-wrap{filter:none;background:transparent;border-radius:0;box-shadow:none;overflow:visible}
:root .partner-intro{margin:12px 0 22px;font-size:18px;line-height:1.6;color:#3a4d61}
:root .partner{background:#fff}
:root .machine-stage{background:transparent;border:0;padding:18px 12px;align-items:center}
:root .machine{max-width:240px;max-height:350px;filter:none}
@media(min-width:761px){:root .partner{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:760px){:root .hero .hero-title{font-size:18px}:root .machine{max-width:220px;max-height:330px}}
:root .map-section{background:transparent;border:0;padding:24px 0 30px}
:root .map-wrap{width:calc(100% - 68px);max-width:1032px;margin:0 34px;background:#fff;border:1px solid rgba(18,56,87,.12);border-radius:14px;box-shadow:0 14px 34px rgba(10,41,70,.10);overflow:hidden}
@media(max-width:760px){:root .map-section{padding:16px 0 24px}:root .map-wrap{width:calc(100% - 24px);margin:0 12px;border-radius:12px}}
:root .map-section{background:#fff;margin:0;padding:18px 24px 24px;border-top:1px solid #e7ebee;border-bottom:1px solid #e7ebee}
:root .map-wrap{width:min(100%,690px);margin:auto;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
:root .partner h2 span,:root .partner-intro span{display:block}
:root .partner h2{line-height:1.14}
:root .partner-intro{line-height:1.5}
@media(max-width:760px){:root .map-section{padding:20px 8px 24px}:root .map-wrap{width:100%;margin:auto}}

/* Continuous white surface for the introduction, logo and France map. */
:root .hero{background:#fff;border:0;border-radius:0;box-shadow:none;margin:0}
:root .map-section{background:#fff;border:0}

:root .partner{border-top:4px solid #f2c329}

/* Give the homepage machine more room toward the centre. */
@media(min-width:761px){:root .partner{grid-template-columns:minmax(0,1fr) 330px}:root .machine-stage{padding:12px 30px 12px 0}:root .machine{max-width:270px;max-height:375px}}

.language-switcher{position:relative;z-index:20;display:flex;width:100%;align-items:center;gap:6px;margin:0;padding:8px 34px;border:0;border-radius:0;background:#fff;box-shadow:none;font-size:12px;font-weight:700;color:#173653}.language-switcher select{padding:3px 6px;border:1px solid rgba(11,42,77,.14);border-radius:5px;background:#fff;color:#173653;font:inherit;font-weight:700;cursor:pointer;outline:0}@media(max-width:760px){.language-switcher{padding:8px 12px;font-size:12px}}
