/* OC LOGISTIQUE 2.5 — same content and routes, refreshed presentation. */
:root{--oc-ink:#153e45;--oc-teal:#087d94;--oc-muted:#50696e;--oc-soft:#edf6f5;--oc-line:#dce8e7;--oc-radius:20px}
body{background:#fff;color:var(--oc-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}
.wrap{max-width:1320px;padding-inline:clamp(22px,4vw,56px)}
.top{background:#143b43;padding:10px 0;font-size:11px;letter-spacing:.5px}.top .wrap{gap:16px}.top-nav a{padding:4px 0;text-underline-offset:5px}.top-nav a:hover{text-decoration:underline}
header{position:sticky;top:0;z-index:50;background:#fffffff5;border-bottom:1px solid #e0e9e8;box-shadow:0 4px 25px #143b4306}
.nav{min-height:94px;gap:24px;padding-block:10px}.brand img,.custom-logo{width:auto;max-width:130px;height:72px;max-height:72px;object-fit:contain}
.links{gap:5px;font-size:13px;flex-wrap:nowrap}.links .navlink{padding:13px 11px;border-radius:10px;white-space:nowrap;line-height:1.3;transition:background .18s,color .18s}.links .navlink:hover,.links .navlink[aria-current="page"]{background:#e9f4f3;color:#006f83;text-decoration:none}.links .button{margin-left:9px;font-size:13px;min-height:46px;padding:13px 20px}
.button{border-radius:12px;padding:16px 24px;font-size:15px;font-weight:650;line-height:1.4;min-height:52px;box-shadow:0 5px 13px #087d9417;text-align:center;gap:8px}
.button:hover{background:#06697d;transform:none;box-shadow:0 8px 18px #087d9429}.button.secondary{background:#fff;color:var(--oc-ink);border:1px solid #c6d9d8;box-shadow:none}.button.secondary:hover{background:#e3f1ef;border-color:#087d94}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
h1{font-size:clamp(38px,4.4vw,64px);line-height:1.12;font-weight:720;letter-spacing:-2.1px;margin:24px 0}
h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-1.2px;font-weight:700;margin:10px 0 22px}
h3{font-size:23px;font-weight:650;line-height:1.3;letter-spacing:-.5px}
p{line-height:1.8}.lead,.prose{line-height:1.8}.prose{max-width:820px}.prose p{max-width:70ch}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:750}.intro p{max-width:44ch;font-size:16px;line-height:1.8}.intro{gap:50px;margin-bottom:38px}
.hero{background:linear-gradient(120deg,#f5faf8 0%,#eaf5f4 100%);border-bottom:1px solid #dfebe8}.hero-grid{min-height:590px;grid-template-columns:1.06fr 1fr;gap:clamp(28px,5vw,72px);padding-block:65px}.hero .lead{font-size:17px;max-width:56ch}.hero-label{border:1px solid #d6e8e4;background:#ffffffcc;padding:10px 15px;font-size:12px}.hero-photo{padding:10px;background:#fff;border:1px solid #dbe8e5;border-radius:25px;box-shadow:0 24px 55px #153e4510;transform:none}.hero-photo img{border-radius:17px;box-shadow:none;width:100%;height:auto;display:block}.hero-meta{gap:8px;margin-top:24px}.hero-meta span{background:#fff9;border:1px solid #dbe8e5;padding:7px 11px;border-radius:8px;font-size:11px}.actions{gap:12px;margin-top:27px}
.section{padding-block:70px}.about{background:#f5f8f7}.services{gap:22px}.service{border-radius:18px;border:1px solid #dde9e6;padding:30px;box-shadow:0 7px 23px #16363804}.service:hover{transform:translateY(-3px);border-color:#a2cfca;box-shadow:0 14px 32px #1636380c}.service .num{letter-spacing:1.2px}.service h3{margin:18px 0 14px}.service p{line-height:1.8;font-size:15px}.service a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-top:8px;color:#056b80}
.activity-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:40px}.activity-nav a{padding:12px 16px;border:1px solid #d6e5e2;background:#fff;border-radius:10px;font-size:13px;line-height:1.5;min-height:44px}.activity-nav a:hover{background:#eaf5f2;border-color:#8fbbb6}
.page-top{padding-block:48px;background:linear-gradient(115deg,#f4f9f7,#e7f3f2);border-bottom:1px solid #dce9e6}.page-top h1{font-size:clamp(36px,4vw,56px);max-width:920px;margin:18px 0 22px}.page-top p:not(.eyebrow){font-size:17px;max-width:65ch;line-height:1.8}.bread{font-size:12px;color:#456e73;margin-bottom:26px;line-height:1.7}.bread a{text-decoration:underline;text-underline-offset:4px}
.photo-block,.photo-grid .photo-block{margin-block:24px}.photo-block img,.photo-grid img{height:auto;width:100%;max-width:100%;border-radius:18px;border:1px solid #e1eae7;box-shadow:0 12px 28px #153e4508}.photo-grid{gap:24px}.photo-grid .photo-block{margin:0}.hero-photo figcaption,.photo-block figcaption,.photo-grid figcaption{display:none}
.cta{background:#153e45;border-radius:20px;padding:40px;margin-top:38px}.cta p{color:#dcebea;max-width:70ch}.cta .button{background:#87d8dc;color:#123941;box-shadow:none}.cta .button:hover{background:#b4eaeb}.split-band{border-radius:20px;border:1px solid #dae8e4;background:#f0f7f5;padding:36px}
.press-card{background:#fff;border:1px solid #dce7e4;border-radius:18px;padding:28px;box-shadow:0 8px 25px #153e4505}.press-card h3{font-size:22px;margin:15px 0}.press-card a{text-decoration:underline;text-underline-offset:4px}.detail-list li{padding-block:20px;line-height:1.8}.detail-list strong{font-size:17px;margin-bottom:5px}
.form{max-width:100%;background:#f6f9f8;border:1px solid #d9e6e3;border-radius:20px;padding:32px;gap:20px;box-shadow:0 12px 32px #153e4505}.form label{font-size:14px;font-weight:550;color:#254b51;line-height:1.6;gap:9px}.form input,.form select,.form textarea{padding:14px;border:1px solid #b9ceca;border-radius:10px;background:#fff;color:#183f46;min-height:49px;font-size:16px;font-weight:400;max-width:100%}.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid #087d9422;outline-offset:0;border-color:#087d94}.form input[type="checkbox"]{min-height:auto}.form textarea{min-height:125px}.form .button{min-width:190px}.form .note{font-size:12px;line-height:1.7}.form .note a{text-decoration:underline;text-underline-offset:3px}.fields{gap:20px}.quote-group{background:#fff;border:1px solid #d5e4df;border-radius:15px;padding:24px;margin:24px 0}.quote-group legend{font-size:17px;padding-inline:9px;font-weight:650}.quote-details>p{max-width:76ch;line-height:1.8;color:#4e676b}.form .oc-field-invalid{border-color:#b42318!important}.form .oc-form-errors{box-shadow:none;border-radius:12px}
.project-assistant,.oc-chat{background:#f5f9f7;border-radius:20px;border:1px solid #d8e6e1;padding:30px}.project-assistant label{font-size:14px}.faq details{padding:21px 0}.faq summary{font-size:17px;line-height:1.6}.sector-tabs button{border-radius:10px;padding:13px 18px}.sector-panel{border:1px solid #d9e6e2;background:#f0f7f4;border-radius:17px}
.success,.error{border-radius:12px;padding:18px;line-height:1.7}.success{background:#e6f5ed;color:#155a39;border:1px solid #b7decb}.error{background:#fff3ee;color:#8f351c;border:1px solid #efc9bd}footer{padding-block:36px;background:#143b43;line-height:1.8}.footer-links a{padding-block:5px;text-underline-offset:5px}.footer-links a:hover{text-decoration:underline}.partner{background:#0a7184;color:#fff}.partner p{color:#e4f2f4}.partner a{min-height:44px;display:inline-flex;align-items:center}
:where(input,select,textarea,button,a){scroll-margin-top:120px}a:focus-visible,button:focus-visible{outline:3px solid #087d94;outline-offset:4px}
@media(max-width:1270px){.menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #d2e0dc;border-radius:10px;padding:12px 17px;min-height:46px;background:#fff;font-size:14px;font-weight:600}.menu-toggle[aria-expanded="true"]{background:#e8f3f0;color:#056b80}.nav{flex-wrap:wrap;justify-content:space-between;min-height:86px;padding-block:8px}.links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:5px;max-height:65vh;overflow-y:auto;padding:10px 0 15px}.links.open{display:flex}.links .navlink{display:block;padding:14px 16px;min-height:46px;font-size:15px;white-space:normal}.links .button{margin:7px 0 0;align-self:stretch;width:100%}.hero-grid{min-height:0;gap:32px}.hero-photo{transform:none}}
@media(max-width:800px){.wrap{padding-inline:24px}.hero-grid{grid-template-columns:1fr;padding-block:40px;gap:30px}.hero h1{font-size:44px;letter-spacing:-1.7px}.hero-photo{margin:0;max-width:620px}.hero .lead{font-size:16px}.top .wrap>span:first-child{font-size:10px}.top .wrap>span:last-child{display:flex!important;gap:14px}.top .wrap{justify-content:center}.top-nav{justify-content:center;gap:14px}.top-nav a{font-size:10px}.intro{display:block}.intro p{max-width:65ch;margin-top:18px}.section{padding-block:46px}.two,.about-grid,.contact-grid,.split-band{grid-template-columns:1fr;gap:28px}.services,.strip{grid-template-columns:1fr}.strip>div{padding:16px 0;border-bottom:1px solid #dce7e3}.strip>div:last-child{border-bottom:0}.fields,.quote-group .fields{grid-template-columns:1fr}.press-grid,.photo-grid{grid-template-columns:1fr}.page-top{padding-block:35px}.page-top h1{font-size:38px;letter-spacing:-1.4px}.page-top p:not(.eyebrow){font-size:16px}.form,.project-assistant,.oc-chat{padding:24px}.form .button{width:100%}.quote-group{padding:18px}.quote-group legend{font-size:16px}.activity-nav{margin-bottom:30px;gap:8px}.activity-nav a{font-size:12px;padding:10px 13px}.cta,.split-band{padding:28px}.service{padding:26px}.brand img,.custom-logo{height:66px;max-height:66px}.form .oc-form-errors{padding:17px}.hero-meta{margin-top:20px}footer .wrap{gap:20px}.footer-links{gap:14px}}
@media(max-width:420px){.wrap{padding-inline:20px}.hero h1{font-size:38px;letter-spacing:-1.4px}.hero .actions .button{width:100%}.top .wrap>span:first-child{display:none}.top-nav{gap:12px}.form{padding:20px}.quote-group{padding:15px}.hero-photo{padding:7px;border-radius:20px}.hero-photo img{border-radius:14px}.page-top h1{font-size:34px}.journey{grid-template-columns:1fr}.cta{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo{transform:none}.service,.button,.links .navlink{transition:none}.service:hover{transform:none}}

/* New company photographs: retain natural proportions and omit captions. */
.ocl-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.ocl-photo-grid figure { margin:0; overflow:hidden; border-radius:18px; background:#edf4f4; }
.ocl-photo-grid img { display:block; width:100%; height:auto; }
.ocl-new-photos h2 { margin-bottom:28px; }
@media (max-width:900px) { .ocl-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media (max-width:540px) { .ocl-photo-grid { grid-template-columns:1fr; } }

/* Prominent direct access, visible even when the mobile menu is closed. */
header .top { padding:12px 0; background:#153e45; }
header .top .wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; }
header .top-nav { display:flex; align-items:stretch; gap:10px; }
header .top-nav a { display:flex; align-items:center; justify-content:center; min-height:46px; padding:11px 18px; border:1px solid #8dd8e1; border-radius:10px; background:#fff; color:#153e45; font-size:14px; font-weight:700; line-height:1.35; letter-spacing:0; text-align:center; text-decoration:none; }
header .top-nav a:hover { background:#dff4f5; color:#00596b; text-decoration:none; }
header .top-nav a:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:1050px) {
 header .top .wrap>span:first-child { display:none; }
 header .top-nav { width:100%; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
 header .top-nav a { font-size:14px; padding:10px; }
}
@media(max-width:540px) {
 header .top .wrap { padding-inline:14px; }
 header .top-nav { gap:7px; }
 header .top-nav a { font-size:12px; min-height:54px; padding:8px 6px; border-radius:8px; overflow-wrap:break-word; }
}
