/* WordPress web adaptation. The approved presentation remains the content source. */
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { min-width:320px; margin:0; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
.wp-block-group, .wp-block-image { box-sizing:border-box; }
.wp-block-image { margin:0; }
.wp-block-image img { display:block; max-width:100%; height:auto; }
.wp-block-group > .wp-block-group { margin-block-start:0; }
.wp-block-heading { color:inherit; }
.vdc-home p, .vdc-home h1, .vdc-home h2, .vdc-home h3 { margin-top:0; }
.vdc-home .rv { opacity:1!important; transform:none!important; animation:none!important; }
.vdc-home section { min-height:0; height:auto; padding:96px max(6vw,calc((100vw - 1280px)/2)); scroll-margin-top:75px; overflow:hidden; display:block; }
.vdc-home section > .wp-block-group { position:relative; z-index:2; }
.vdc-home section > [class$="-background"], .vdc-home section > [class$="-overlay"] { position:absolute; inset:0; z-index:0; }
.vdc-home .h2 { font-size:clamp(32px,4.1vw,56px); line-height:1.1; max-width:1080px; }
.vdc-home .eyebrow { font-size:12px; letter-spacing:.18em; margin-bottom:20px; }
.vdc-home .lead { font-size:clamp(17px,1.45vw,21px); line-height:1.6; }
.vdc-home .small-note, .vdc-home figcaption { font-size:13px; line-height:1.5; }
.vdc-home .feature-grid { margin-top:40px!important; }
.vdc-home .foot,.vdc-home .hint,.vdc-home .growth-scroll-hint { display:none; }
.vdc-home .tag,.vdc-home .n,.vdc-home .l,.vdc-home .num,.vdc-home .phase-index { margin-bottom:0; }

/* A persistent header replaces slide controls. */
.vdc-site-header { min-height:80px; padding:14px max(6vw,calc((100vw - 1280px)/2)); background:rgba(9,13,21,.97); display:flex; align-items:center; justify-content:space-between; gap:28px; position:relative; z-index:50; border-bottom:1px solid rgba(234,240,248,.1); }
.wp-site-blocks > div:has(> .vdc-site-header) { position:sticky; top:0; z-index:50; }
.wp-site-blocks > .vdc-site-header { position:sticky; top:0; }
.admin-bar .wp-site-blocks > div:has(> .vdc-site-header) { top:32px; }
.vdc-wordmark { display:block; flex-shrink:0; line-height:0; }
.vdc-wordmark img { width:180px; height:auto; max-height:58px; object-fit:contain; }
.vdc-navigation { display:flex; align-items:center; gap:26px; }
.vdc-navigation a { color:#d9e3ed; font-size:14px; line-height:1.3; text-decoration:none; white-space:nowrap; padding:12px 0; }
.vdc-navigation a:hover,.vdc-navigation a:focus-visible { color:#34d399; }
.vdc-navigation .vdc-contact-link { color:#090d15; background:#34d399; padding:12px 18px; border-radius:8px; font-weight:650; }
.vdc-navigation .vdc-contact-link:hover { background:#91ead0; color:#090d15; }
.vdc-menu-toggle { display:none; font:inherit; color:#eaf0f8; background:transparent; border:1px solid #526170; border-radius:8px; padding:10px 14px; cursor:pointer; }
.vdc-menu-toggle span { margin-left:10px; }
.vdc-skip-link { position:absolute; top:-80px; left:20px; background:#34d399; color:#090d15; padding:12px 18px; border-radius:6px; z-index:100; }
.vdc-skip-link:focus { top:10px; }
a:focus-visible,button:focus-visible { outline:2px solid #34d399; outline-offset:5px; }

/* Full cover photograph, without CSS masks or scroll-dependent visibility. */
.vdc-home #cover { min-height:calc(100svh - 80px); padding-top:110px; padding-bottom:110px; display:flex; justify-content:center; }
.vdc-home #cover .cover-visual { position:absolute; inset:0; opacity:1; mask-image:none; background-position:60% center; }
.vdc-home #cover .cover-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,13,21,.92),rgba(9,13,21,.30)); }
.vdc-home #cover .h1 { font-size:clamp(48px,8.1vw,112px); line-height:1; }
.vdc-home #cover .tag { font-size:clamp(26px,3.4vw,45px); margin-top:28px; max-width:900px; }
.vdc-home #cover .sub { max-width:63ch; color:#d5e1eb; margin-top:24px; }
.vdc-home .cover-stats { margin-top:52px!important; gap:30px; }
.vdc-home .cover-stats .cs .n { background:linear-gradient(135deg,#eaf0f8,#34d399); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; color:#b5eade; }
.vdc-home .cover-stats .cs .l { color:#aab9ca; font-size:12px; line-height:1.5; }
.vdc-home .cover-stats .cs + .cs { padding-left:30px; }

.vdc-home #serv .services-background { inset:0; width:100%; height:100%; transform:none; background-position:center 22%; }
.vdc-home #serv .services-overlay { background:linear-gradient(180deg,rgba(9,13,21,.85),rgba(9,13,21,.22) 46%,#090d15); }
.vdc-home #serv .serv-grid { margin-top:200px!important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; width:100%; max-width:none; }
.vdc-home #serv .scard { padding:24px 20px; background:rgba(9,18,28,.94); min-height:0; border-radius:14px; }
.vdc-home #serv .scard h3 { font-size:21px; line-height:1.22; }
.vdc-home #serv .scard p { font-size:16px; line-height:1.55; }
.vdc-home #serv .scard .num { font-size:27px; margin-bottom:18px; }
.vdc-home #serv .tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px!important; }
.vdc-home #serv .tags p { font-size:13px; padding:8px 12px; border:1px solid rgba(234,240,248,.16); border-radius:6px; margin:0; }
.vdc-home .service-item h3 { font-size:25px; }
.vdc-home .service-item p { font-size:17px; line-height:1.6; }
.vdc-home .phase-index { color:#34d399; }
.vdc-home .maintenance-gallery-images,.vdc-home .construction-gallery-images,.vdc-home .foundations-gallery-images { display:grid; grid-template-columns:1fr; gap:18px; }
.vdc-home .maintenance-gallery-images .wp-block-image img { width:100%; aspect-ratio:12/5; object-fit:cover; }
.vdc-home .construction-gallery-images .wp-block-image img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.vdc-home .foundations-gallery-images .wp-block-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.vdc-home .construction-gallery .wp-block-image,.vdc-home .foundations-gallery .wp-block-image,.vdc-home .maintenance-gallery .wp-block-image { width:100%; }
.vdc-home .construction-stage-caption { display:flex; gap:12px; font-size:14px!important; padding-top:8px; }
.vdc-home .construction-gallery > p { font-size:13px; color:#b7c4d2; margin-top:14px; }
.vdc-home .foundation-experience-title { font-size:clamp(22px,2.4vw,31px); }
.vdc-home .foundation-step p { font-size:17px; line-height:1.55; }
.vdc-home .foundation-step h3 { font-size:25px; }
.vdc-home .foundations-outcome { font-size:16px; }
.vdc-home #emergencies .winter-gallery-images { display:grid; grid-template-columns:1.1fr 1fr; gap:16px; }
.vdc-home #emergencies .winter-gallery-images img { width:100%; height:310px; object-fit:cover; }
.vdc-home #emergencies .history-stats p { display:flex; flex-direction:column; gap:10px; }
.vdc-home #emergencies .history-stats strong { font-size:55px; line-height:1; }
.vdc-home #emergencies .response-pill { display:inline-block; width:fit-content; }
.vdc-home #avifauna { padding-top:290px; }
.vdc-home #avifauna .avifauna-background { top:0; left:0; right:0; width:100%; height:620px; background-size:cover; background-position:center 16%; }
.vdc-home #avifauna .avifauna-overlay { background:linear-gradient(180deg,rgba(9,13,21,.04),rgba(9,13,21,.36) 190px,#090d15 560px); }
.vdc-home #avifauna .avifauna-layout { margin-top:36px!important; }
.vdc-home #avifauna .avifauna-copy p { font-size:17px; line-height:1.6; }
.vdc-home #avifauna .avifauna-evidence p { font-size:14px; }
.vdc-home #avifauna .avifauna-label,.vdc-home #avifauna .avifauna-commitment>p:first-child { font-size:14px; color:#34d399; }
.vdc-home #clients .experience-clients { margin-top:40px!important; }
.vdc-home .experience-logo-grid { list-style:none; }
.vdc-home .experience-client-logo { margin:0; }
.vdc-home #growth .growth-comparison { margin-top:30px!important; margin-bottom:30px; }
.vdc-home #growth .growth-evolution { margin-top:24px!important; }
.vdc-home #growth .legend p { margin:0; font-size:13px; }
.vdc-home #growth .growth-reading { font-size:15px; line-height:1.6; }
.vdc-home #map .grid { align-items:start; }
.vdc-home #map .mapfig { margin:0; }
.vdc-home #map .maplegend p { display:inline-flex; align-items:center; gap:7px; font-size:13px; margin:0; }
.vdc-home #quality .quality-grid { margin-top:40px!important; }
.vdc-home #quality .scard p { font-size:17px; }
.vdc-home #sustainability .ods-layout { margin-top:36px!important; }
.vdc-home #sustainability .ods-copy p { font-size:17px; line-height:1.6; }
.vdc-home #sustainability .ods-certificate { max-width:330px; }
.vdc-home #contact { padding-top:110px; padding-bottom:110px; }
.vdc-home #contact .h2 { max-width:940px; }
.vdc-home #contact .contact-links { margin-top:40px!important; }
.vdc-site-footer { padding:26px max(6vw,calc((100vw - 1280px)/2)); display:flex; justify-content:space-between; gap:24px; background:#090d15; border-top:1px solid rgba(255,255,255,.12); font-size:13px; color:#aab9ca; }
.vdc-site-footer a { color:#d5e1eb; text-decoration:none; }
.vdc-standard-page { min-height:65vh; padding:80px 6vw; }
.vdc-standard-page h1 { font-size:clamp(38px,5vw,64px); }

@media(max-width:1100px) {
 .vdc-navigation { gap:16px; }
 .vdc-navigation a { font-size:13px; }
 .vdc-home #serv .serv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:160px!important; }
}
@media(max-width:900px) {
 .vdc-site-header { min-height:76px; padding:12px 5vw; flex-wrap:wrap; }
 .vdc-wordmark img { width:163px; }
 .vdc-menu-toggle { display:block; }
 .vdc-navigation { display:none; width:100%; flex-direction:column; align-items:stretch; gap:3px; padding:10px 0 6px; }
 .vdc-site-header.is-open .vdc-navigation { display:flex; }
 .vdc-navigation a { font-size:16px; padding:13px 10px; }
 .vdc-navigation .vdc-contact-link { text-align:center; margin-top:6px; }
 .vdc-home section { padding:72px 6vw; }
 .vdc-home #cover { padding-top:75px; padding-bottom:75px; }
 .vdc-home #cover .cover-content { width:100%; }
 .vdc-home #cover .h1 { font-size:clamp(43px,8.4vw,78px); }
 .vdc-home #cover .tag { font-size:clamp(24px,4.5vw,34px); }
 .vdc-home #cover .cover-visual { background-position:65% center; }
 .vdc-home #cover .cover-visual::after { background:linear-gradient(90deg,rgba(9,13,21,.94),rgba(9,13,21,.58)); }
 .vdc-home .feature-grid,.vdc-home .foundations-layout,.vdc-home .avifauna-layout,.vdc-home .ods-layout,.vdc-home #map .grid { display:grid; grid-template-columns:1fr; gap:34px; }
 .vdc-home .maintenance-gallery,.vdc-home .construction-gallery,.vdc-home .foundations-gallery { width:100%; max-width:650px; justify-self:center; margin-top:0; }
 .vdc-home .avifauna-photo { justify-self:center; width:100%; max-width:330px; }
 .vdc-home #avifauna { padding-top:240px; }
 .vdc-home #avifauna .avifauna-background { height:500px; }
 .vdc-home #avifauna .avifauna-overlay { background:linear-gradient(180deg,rgba(9,13,21,.03),rgba(9,13,21,.28) 150px,#090d15 440px); }
 .vdc-home #quality .quality-grid { grid-template-columns:1fr; }
 .vdc-home #sustainability .ods-certificate { justify-self:center; }
 .vdc-home #map .mapfig svg { max-height:none; width:100%; }
 .vdc-home #growth .growth-line-chart { min-width:720px; }
 .vdc-home #growth .growth-chart-scroll { overflow-x:auto; }
 .vdc-home #contact .contact-links { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .vdc-home .eyebrow { font-size:11px; letter-spacing:.11em; }
 .vdc-home .h2 { font-size:32px; }
 .vdc-home #cover .h1 { font-size:clamp(35px,9.5vw,57px); letter-spacing:-.045em; }
 .vdc-home #cover .tag { font-size:25px; }
 .vdc-home .cover-stats { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
 .vdc-home .cover-stats .cs+.cs { padding-left:0; border:0; }
 .vdc-home .cover-stats .cs.countries { grid-column:1/-1; }
 .vdc-home .cover-stats .cs.countries .n { font-size:31px; }
 .vdc-home .cover-stats .cs .l { font-size:11px; }
 .vdc-home #serv .serv-grid { grid-template-columns:1fr; margin-top:140px!important; }
 .vdc-home #serv .scard { padding:24px; }
 .vdc-home #serv .scard h3 { font-size:22px; }
 .vdc-home .foundation-step { grid-template-columns:28px minmax(0,1fr); gap:12px; }
 .vdc-home .foundation-step h3 { font-size:23px; }
 .vdc-home #emergencies .winter-gallery-images { grid-template-columns:1fr; }
 .vdc-home #emergencies .winter-gallery-images img { height:auto; max-height:430px; object-fit:cover; }
 .vdc-home #clients .experience-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; gap:14px; }
 .vdc-home #clients .experience-logo-mount { width:100%; max-width:100%; height:75px; }
 .vdc-home #clients .experience-client-logo img { max-width:calc(100% - 20px); max-height:53px; }
 .vdc-home #clients .experience-client-logo[data-client="eiffage"] img { max-height:none; width:130px; }
 .vdc-home #growth .ct { display:block; }
 .vdc-home #growth .legend { margin-top:12px; }
 .vdc-home #contact .contact-email { font-size:clamp(20px,6.5vw,28px); overflow-wrap:anywhere; }
 .vdc-site-footer { flex-direction:column; gap:12px; }
}
/* Short, restrained feedback. Brand colours and image framing stay intact. */
.vdc-navigation a, .vdc-menu-toggle {
 transition:color .22s ease,background-color .22s ease,border-color .22s ease;
}
.vdc-home .scard {
 transition:translate .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.vdc-home .experience-logo-mount {
 transition:translate .28s ease,box-shadow .28s ease;
}
.vdc-home .contact-links a {
 transition:color .22s ease,border-color .22s ease,translate .22s ease;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .vdc-home .scard:hover { translate:0 -4px; border-color:rgba(52,211,153,.48); box-shadow:0 14px 35px rgba(0,0,0,.17); }
 .vdc-home .experience-client-logo:hover .experience-logo-mount { translate:0 -3px; box-shadow:0 9px 24px rgba(0,0,0,.2); }
 .vdc-home .contact-links a:hover { translate:0 -2px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .vdc-home *, .vdc-home *::before, .vdc-home *::after,
 .vdc-site-header * { animation:none!important; transition:none!important; }
}
