/* OC LOGISTIQUE 2.6 — restrained corporate homepage. */
header { background:#fff; box-shadow:none; }
header .top { padding:3px 0; background:#17343d; }
header .top .wrap { gap:20px; }
header .top .wrap>span:first-child { font-size:10px; letter-spacing:1.2px; color:#cbd9de; }
header .top-nav { gap:0; }
header .top-nav a { min-height:42px; padding:10px 20px; border:0; border-left:1px solid #ffffff24; border-radius:0; background:transparent; color:#fff; font-size:13px; font-weight:550; }
header .top-nav a:hover { background:#ffffff0f; color:#a5e4ed; }
header .nav { min-height:86px; }
header .links .navlink { border-radius:3px; font-weight:500; }
header .links .button { border-radius:4px; box-shadow:none; color:#fff; }
.oc-home { background:#fff; color:#17343d; }
.oc-home p { font-size:16px; line-height:1.75; color:#52626a; }
.oc-home h1,.oc-home h2,.oc-home h3 { color:#17343d; }
.oc-home h1 { font-size:clamp(40px,4.25vw,62px); line-height:1.08; letter-spacing:-2px; font-weight:650; margin:24px 0; }
.oc-home h1 span { color:#087d94; }
.oc-home h2 { font-size:clamp(28px,2.7vw,39px); line-height:1.2; letter-spacing:-1px; font-weight:600; margin:14px 0 24px; }
.oc-home h3 { font-size:24px; line-height:1.3; letter-spacing:-.5px; font-weight:600; margin:15px 0; }
.oc-home .oc-home-kicker { color:#087d94; font-size:11px; line-height:1.6; letter-spacing:1.5px; font-weight:650; margin:0; }
.oc-home figure { margin:0; min-width:0; }
.oc-home img { display:block; width:100%; max-width:100%; height:auto; }
.oc-home-hero { padding:66px 0 72px; background:#f5f7f8; border-bottom:1px solid #e2e8eb; }
.oc-home-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:55px; align-items:center; }
.oc-home-hero-grid>* { min-width:0; }
.oc-home .oc-home-intro { font-size:20px; font-weight:500; line-height:1.5; color:#263f49; margin:0 0 17px; max-width:34ch; }
.oc-home .oc-home-description { max-width:52ch; margin:0; }
.oc-home-hero-image { border-radius:3px; overflow:hidden; }
.oc-home-actions { display:flex; gap:25px; flex-wrap:wrap; align-items:center; margin-top:30px; }
.oc-home-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:50px; padding:14px 22px; background:#087d94; border:1px solid #087d94; border-radius:4px; color:#fff; font-size:14px; font-weight:600; line-height:1.5; }
.oc-home-button:hover { background:#06697b; border-color:#06697b; }
.oc-home-textlink { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:#087084; font-size:14px; font-weight:600; line-height:1.5; }
.oc-home-textlink:hover { text-decoration:underline; text-underline-offset:5px; }
.oc-home-section { padding-top:78px; padding-bottom:78px; }
.oc-home-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:32px; }
.oc-home-heading h2 { margin-bottom:0; }
.oc-home-heading>p { max-width:43ch; margin:0; }
.oc-home-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; border-top:1px solid #dbe4e8; }
.oc-home-service { display:flex; flex-direction:column; align-items:flex-start; padding:31px 0; border-bottom:1px solid #dbe4e8; min-width:0; }
.oc-home-service:hover h3 { color:#087d94; }
.oc-home-number { color:#087d94; font-size:10px; font-weight:650; letter-spacing:1.2px; line-height:1.65; }
.oc-home-service p { margin:0 0 20px; max-width:54ch; }
.oc-home-service-link { display:flex; align-items:center; gap:16px; font-size:14px; line-height:1.5; font-weight:600; color:#087084; margin-top:auto; }
.oc-home-project { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:24px; }
.oc-home-project p { margin:0; font-size:14px; }
.oc-home-project a { flex-shrink:0; }
.oc-home-means { background:#f5f7f8; padding:70px 0; border-top:1px solid #e2e8eb; border-bottom:1px solid #e2e8eb; }
.oc-home-means-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; align-items:center; }
.oc-home-means-copy ul { padding-left:20px; margin:22px 0; color:#52626a; font-size:15px; line-height:1.7; }
.oc-home-means-copy li { margin-bottom:12px; padding-left:4px; }
.oc-home-means-copy li::marker { color:#087d94; }
.oc-home-sites { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #dbe4e8; border-radius:3px; }
.oc-home-sites>a { padding:27px 30px; border-right:1px solid #dbe4e8; }
.oc-home-sites>a:last-child { border-right:0; }
.oc-home-sites>a:hover { background:#f5f8f9; }
.oc-home-sites>a>span:first-child { color:#64777e; font-size:10px; font-weight:600; letter-spacing:1.2px; }
.oc-home-sites h3 { margin:10px 0 20px; font-size:26px; }
.oc-home-site-link { font-size:13px; color:#087084; font-weight:500; }
.oc-home-access { background:#17343d; color:#fff; padding:65px 0; }
.oc-home-access h2 { color:#fff; }
.oc-home-access .oc-home-kicker,.oc-home-access .oc-home-number { color:#92dbe5; }
.oc-home-access-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:38px; }
.oc-home-access-grid>a { display:flex; flex-direction:column; padding-top:24px; border-top:1px solid #ffffff38; }
.oc-home-access-grid h3 { color:#fff; font-size:23px; }
.oc-home-access-grid p { color:#c7d5da; font-size:15px; margin:0 0 24px; }
.oc-home-access-grid .oc-home-service-link { color:#92dbe5; }
.oc-home-access-grid>a:hover h3 { color:#92dbe5; }
.oc-home-editorial { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; padding-bottom:55px; }
.oc-home-editorial h2 { margin-bottom:0; }
.oc-home-editorial p:not(.oc-home-kicker) { margin-top:0; }
.oc-home-contact { display:flex; align-items:center; justify-content:space-between; gap:45px; padding:42px; background:#edf4f6; border-left:3px solid #087d94; }
.oc-home-contact h2 { margin-top:12px; margin-bottom:16px; }
.oc-home-contact p:not(.oc-home-kicker) { margin:0; max-width:60ch; }
.oc-home-contact>a { flex-shrink:0; }
@media(max-width:1050px) {
 header .top-nav a { font-size:13px; padding:10px 12px; }
 .oc-home-hero-grid { gap:32px; }
 .oc-home-means-grid { gap:38px; }
 .oc-home-access-grid { gap:25px; }
 .oc-home-contact { padding:32px; gap:25px; }
}
@media(max-width:800px) {
 .oc-home-hero { padding:38px 0 45px; }
 .oc-home-hero-grid,.oc-home-means-grid,.oc-home-editorial { grid-template-columns:1fr; gap:32px; }
 .oc-home-hero-copy { max-width:650px; }
 .oc-home h1 { font-size:44px; letter-spacing:-1.5px; }
 .oc-home h2 { font-size:31px; }
 .oc-home .oc-home-intro { font-size:19px; max-width:45ch; }
 .oc-home-section { padding-top:48px; padding-bottom:48px; }
 .oc-home-heading { flex-direction:column; align-items:flex-start; gap:20px; }
 .oc-home-heading>p { max-width:65ch; }
 .oc-home-services { gap:0 24px; }
 .oc-home-service h3 { font-size:22px; }
 .oc-home-means { padding:45px 0; }
 .oc-home-sites>a { padding:22px 17px; }
 .oc-home-sites h3 { font-size:23px; }
 .oc-home-access { padding:48px 0; }
 .oc-home-access-grid { grid-template-columns:1fr; gap:30px; margin-top:28px; }
 .oc-home-access-grid p { max-width:60ch; margin-bottom:18px; }
 .oc-home-editorial { padding-bottom:35px; gap:22px; }
 .oc-home-contact { flex-direction:column; align-items:flex-start; padding:28px; }
}
@media(max-width:540px) {
 header .top .wrap { padding-inline:8px; }
 header .top-nav { gap:0; }
 header .top-nav a { font-size:12px; min-height:48px; padding:7px 6px; line-height:1.4; }
 header .nav { min-height:78px; }
 .oc-home h1 { font-size:39px; letter-spacing:-1.3px; }
 .oc-home h2 { font-size:29px; }
 .oc-home h3 { font-size:23px; }
 .oc-home .oc-home-kicker { font-size:10px; letter-spacing:1px; }
 .oc-home p { font-size:15px; }
 .oc-home-actions { gap:14px; margin-top:23px; }
 .oc-home-button { min-height:49px; font-size:14px; }
 .oc-home-services { grid-template-columns:1fr; }
 .oc-home-service { padding:27px 0; }
 .oc-home-service p { margin-bottom:18px; }
 .oc-home-project { flex-direction:column; align-items:flex-start; gap:8px; }
 .oc-home-sites { grid-template-columns:1fr; }
 .oc-home-sites>a { border-right:0; border-bottom:1px solid #dbe4e8; padding:22px; }
 .oc-home-sites>a:last-child { border-bottom:0; }
 .oc-home-sites h3 { margin-bottom:12px; }
 .oc-home-contact { padding:25px; }
}
