/* ALP copy: progressive enhancement, original visual identity retained. */
[x-cloak]{display:none!important}
.alp-copy{--alp-red:#c92532;--alp-ink:#17212b;--alp-muted:#56616d;--alp-line:#e3e7eb;--alp-soft:#f5f7f9;overflow-x:clip}
.alp-copy *{box-sizing:border-box}
.alp-copy [id]{scroll-margin-top:150px}
.alp-copy a:focus-visible,.alp-copy button:focus-visible,.alp-copy input:focus-visible{outline:3px solid #c92532;outline-offset:4px}
.alp-copy #alp-main [data-aos]{opacity:1!important;transform:none!important}
.alp-copy .alp-skip{position:fixed;left:12px;top:-90px;z-index:10000;padding:12px 20px;background:#fff;color:#17212b;border:2px solid #c92532;border-radius:6px}
.alp-copy .alp-skip:focus{top:12px}
.alp-copy .alp-desktop-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--alp-line);box-shadow:0 6px 24px #17212b0a}
.alp-copy .alp-desktop-header>div:first-child{max-width:1480px;grid-template-columns:170px minmax(0,1fr);gap:22px}
.alp-copy .alp-desktop-header>div:first-child>a img{width:160px;max-height:74px}
.alp-copy .alp-desktop-header .mt-2.flex{gap:22px}
.alp-copy .alp-desktop-header .mt-2.flex>div{gap:22px}
.alp-copy .alp-desktop-header .mt-2.flex a,.alp-copy .alp-desktop-header .mt-2.flex button{font-size:14px;line-height:1.35;white-space:nowrap;font-weight:600}
.alp-copy [id^=alp-menu-]{background:#fff;border-top:1px solid var(--alp-line);margin-top:15px}
.alp-copy [id^=alp-menu-]>div{max-width:1440px;margin:0 auto;padding:22px 16px}
.alp-copy [id^=alp-menu-]>div>div:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--alp-red);font-weight:700;margin-bottom:16px}
.alp-copy [id^=alp-menu-] .overflow-y-auto{max-height:calc(100dvh - 205px);overscroll-behavior:contain;scrollbar-width:thin}
.alp-copy [id^=alp-menu-] .overflow-y-auto>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 26px;padding:0 0 12px}
.alp-copy [id^=alp-menu-] .overflow-y-auto>div>div{padding:13px 16px;border:1px solid var(--alp-line);border-radius:12px;background:var(--alp-soft)}
.alp-copy [id^=alp-menu-] .overflow-y-auto>div>div>a{font-size:17px!important;line-height:1.3;font-weight:650;color:var(--alp-ink)}
.alp-copy [id^=alp-menu-] .overflow-y-auto>div>div a:hover{color:var(--alp-red);font-weight:650}
.alp-copy [id^=alp-menu-] .mt-3{gap:8px;margin-top:12px}
.alp-copy [id^=alp-menu-] .mt-3 a{font-size:14px;line-height:1.4}
.alp-copy .alp-search{position:relative;width:100%}
.alp-copy .alp-search input{width:100%;min-height:40px;border:1px solid var(--alp-line);border-radius:24px;background:#f4f6f8;padding:10px 45px 10px 18px;color:var(--alp-ink)}
.alp-copy .alp-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:9000;background:#fff;border:1px solid var(--alp-line);box-shadow:0 16px 40px #17212b26;max-height:55dvh;overflow:auto;border-radius:14px}
.alp-copy .alp-search-results[hidden]{display:none}
.alp-copy .alp-search-results a{display:block;padding:12px 16px;border-bottom:1px solid var(--alp-line);font-size:15px;color:var(--alp-ink)}
.alp-copy .alp-search-results a:hover{background:var(--alp-soft)}
.alp-copy .alp-search-results small{display:block;color:var(--alp-muted);font-size:12px}
.alp-copy #prestations .alp-service-card{isolation:isolate;width:clamp(270px,28vw,370px);height:470px;border-radius:20px;box-shadow:0 8px 28px #17212b18;scroll-snap-align:start}
.alp-copy #prestations .alp-service-card>img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto}
.alp-copy #prestations .alp-service-card .relative.z-40{background:linear-gradient(0deg,#071623f5,#071623e6);text-align:left;padding:22px;border-radius:0}
.alp-copy #prestations .alp-service-card .relative.z-40>.absolute{display:none}
.alp-copy #prestations .alp-service-card p:first-child{font-size:25px;line-height:1.13;position:relative;z-index:2;max-width:none}
.alp-copy #prestations .alp-service-card p+p{font-size:15px;line-height:1.55;display:block;overflow:visible;position:relative;z-index:2;color:#f0f3f6;-webkit-line-clamp:unset}
.alp-copy #prestations .overflow-x-scroll{scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:25px}
.alp-copy .alp-editorial{max-width:1320px;margin:auto;padding:70px 28px;color:var(--alp-ink)}
.alp-copy .alp-editorial h1{font-size:clamp(34px,5vw,68px);line-height:1.05;letter-spacing:-.04em;max-width:1000px;margin:0 0 24px;font-weight:650}
.alp-copy .alp-editorial h2,.alp-copy .alp-section-title{font-size:clamp(30px,3.5vw,48px);line-height:1.13;letter-spacing:-.03em;font-weight:650;margin:0 0 20px}
.alp-copy .alp-editorial h3{font-size:23px;line-height:1.25;font-weight:650;margin:0 0 12px}
.alp-copy .alp-editorial p{font-size:18px;line-height:1.75;margin:0 0 18px}
.alp-copy .alp-eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--alp-red);margin-bottom:16px!important}
.alp-copy .alp-intro{max-width:820px;color:var(--alp-muted)}
.alp-copy .alp-page-start{padding-top:170px}
.alp-copy .alp-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border-radius:28px;background:var(--alp-red);color:white;text-decoration:none;font-weight:650;font-size:16px;margin-top:12px}
.alp-copy .alp-cta:hover{background:#a91d29;color:white}
.alp-copy .alp-team-section{width:100%;margin:0!important;padding:70px max(24px,6vw);background:#f5f2ee;color:var(--alp-ink)}
.alp-copy .alp-team-grid{max-width:1320px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px auto 0}
.alp-copy .alp-team-grid figure{margin:0;overflow:hidden;border-radius:18px;background:white;box-shadow:0 6px 26px #17212b0a}
.alp-copy .alp-team-grid img{display:block;width:100%;height:320px;object-fit:cover;object-position:center}
.alp-copy .alp-team-grid figcaption{padding:18px 20px;font-size:17px;line-height:1.4;font-weight:650}
.alp-copy .alp-team-copy{max-width:850px;margin:0 auto;text-align:center}
.alp-copy .alp-team-copy p{font-size:18px;line-height:1.7;color:var(--alp-muted)}
.alp-copy .alp-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0}
.alp-copy .alp-history article{border:1px solid var(--alp-line);border-radius:18px;overflow:hidden;background:#fff}
.alp-copy .alp-history img{width:100%;height:235px;object-fit:cover;object-position:center 25%;display:block}
.alp-copy .alp-history article>div{padding:24px}
.alp-copy .alp-history time{font-size:30px;line-height:1;color:var(--alp-red);font-weight:700;display:block;margin-bottom:15px}
.alp-copy .alp-history p{font-size:16px;line-height:1.65;margin:0}
.alp-copy .alp-location{width:100%;padding:70px max(24px,6vw);background:white;color:var(--alp-ink)}
.alp-copy .alp-location-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center}
.alp-copy .alp-map-svg{width:100%;height:auto;max-height:540px;background:#f5f7f9;border-radius:22px;padding:20px}
.alp-copy .alp-map-svg path{stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke}
.alp-copy .alp-map-svg a:focus path,.alp-copy .alp-map-svg a:hover path{fill:#ad1c2a}
.alp-copy .alp-map-svg text{font:700 15px sans-serif;fill:#17212b;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.alp-copy .alp-area-links{display:grid;gap:12px;margin:24px 0}
.alp-copy .alp-area-links a{display:flex;gap:15px;align-items:center;border:1px solid var(--alp-line);border-radius:14px;padding:16px;background:#fff;text-decoration:none}
.alp-copy .alp-area-links strong{font-size:25px;color:var(--alp-red);min-width:42px}
.alp-copy .alp-area-links span{font-size:17px;color:var(--alp-ink);line-height:1.4}
.alp-copy .alp-area-links small{display:block;font-size:13px;color:var(--alp-muted);font-weight:400}
.alp-copy .alp-area-links a:hover{border-color:var(--alp-red);background:#fff8f8}
.alp-copy .alp-location p{font-size:17px;line-height:1.7;color:var(--alp-muted)}
.alp-copy .alp-about-image{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:18px;background:#f4f6f8}
.alp-copy .alp-breadcrumb{font-size:14px;margin-bottom:24px;color:var(--alp-muted)}
.alp-copy .alp-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.alp-copy .alp-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}
.alp-copy .alp-service-links a{border:1px solid var(--alp-line);padding:18px;border-radius:12px;font-size:17px;color:var(--alp-ink);background:#fff;display:block}
.alp-copy .alp-service-links a:hover{border-color:var(--alp-red);color:var(--alp-red)}
.alp-copy .alp-editorial details{border-bottom:1px solid var(--alp-line);padding:18px 0}
.alp-copy .alp-editorial summary{font-size:18px;font-weight:650;cursor:pointer}
.alp-copy .alp-editorial details p{margin:14px 0 0;font-size:16px}
@media(min-width:1024px) and (max-width:1250px){.alp-copy .alp-desktop-header{padding-left:18px;padding-right:18px}.alp-copy .alp-desktop-header>div:first-child{grid-template-columns:135px minmax(0,1fr);gap:14px}.alp-copy .alp-desktop-header>div:first-child>a img{width:130px}.alp-copy .alp-desktop-header .mt-2.flex,.alp-copy .alp-desktop-header .mt-2.flex>div{gap:14px}.alp-copy .alp-desktop-header .mt-2.flex a,.alp-copy .alp-desktop-header .mt-2.flex button{font-size:12px}}
@media(max-width:1023px){.alp-copy [id]{scroll-margin-top:88px}.alp-copy nav[aria-label='Navigation mobile']{background:#fff;box-shadow:0 3px 18px #17212b12}.alp-copy nav[aria-label='Navigation mobile'] header{height:74px;padding:0 20px}.alp-copy nav[aria-label='Navigation mobile'] img{object-fit:contain;width:110px;height:68px}.alp-copy nav[aria-label='Navigation mobile'] button{width:48px;height:48px}.alp-copy #alp-mobile-menu{padding:80px 24px calc(35px + env(safe-area-inset-bottom));overscroll-behavior:contain}.alp-copy #alp-mobile-menu button{min-height:48px}.alp-copy .alp-page-start{padding-top:105px}.alp-copy .alp-location-inner{grid-template-columns:1fr}.alp-copy .alp-map-svg{max-height:440px}.alp-copy .alp-history{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.alp-copy .alp-editorial{padding:45px 20px}.alp-copy .alp-page-start{padding-top:106px}.alp-copy .alp-team-grid,.alp-copy .alp-history,.alp-copy .alp-service-links{grid-template-columns:1fr}.alp-copy .alp-team-grid img{height:auto;aspect-ratio:4/3}.alp-copy #prestations .alp-service-card{width:82vw;height:450px}.alp-copy .alp-team-section,.alp-copy .alp-location{padding:45px 20px}.alp-copy .alp-history img{height:260px}.alp-copy .alp-cta{width:100%}.alp-copy .alp-location-inner{gap:25px}}
.alp-copy .alp-work-types{border:1px solid var(--alp-line);border-radius:12px;padding:14px;width:100%;min-width:0}.alp-copy .alp-work-types legend{font-size:15px;font-weight:650;padding:0 6px}.alp-copy .alp-work-type-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:290px;overflow:auto;padding:4px}.alp-copy .alp-work-type-choices label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;line-height:1.4;cursor:pointer}.alp-copy .alp-work-type-choices input{appearance:auto;-webkit-appearance:auto;width:19px;height:19px;flex:0 0 19px;accent-color:var(--alp-red)}.alp-copy .alp-native-file{display:block!important;width:100%;max-width:100%;font-size:15px;color:var(--alp-ink)}.alp-copy .alp-file-info{font-size:13px;line-height:1.5;margin-top:8px;color:var(--alp-muted)}@media(max-width:640px){.alp-copy .alp-work-type-choices{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.alp-copy *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Harmonised ALP vector logo proportions. */
img[src*="/alp-branding-20261014/logo.svg"]{height:auto!important;aspect-ratio:1600/650;object-fit:contain;max-width:100%}
