/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/5a621c5598a31392.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/ff4f17d21930e36d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/8f704806dbedeaae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/5a621c5598a31392.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/ff4f17d21930e36d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/8f704806dbedeaae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/5a621c5598a31392.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/ff4f17d21930e36d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/8f704806dbedeaae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/5a621c5598a31392.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/ff4f17d21930e36d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/8f704806dbedeaae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/5a621c5598a31392.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/ff4f17d21930e36d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/8f704806dbedeaae.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/b56db40c26850f83.ttf) format('truetype');
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/284891c74c258cff.ttf) format('truetype');
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/50fe1039eb3ff208.ttf) format('truetype');
}


:root{
  --bg:#090d15; --bg2:#0e1521; --ink:#eaf0f8; --mut:#93a1b6; --faint:#5a6878;
  --em:#34d399; --em2:#10b981; --emdim:rgba(52,211,153,.14);
  --am:#fbbf24; --am2:#f59e0b; --amdim:rgba(251,191,36,.13);
  --line:rgba(255,255,255,.09); --card:rgba(255,255,255,.035);
  --disp:'Bricolage Grotesque',Georgia,serif; --body:'Archivo',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--body); background:var(--bg); color:var(--ink);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
body::-webkit-scrollbar{width:0}
/* atmospheric background */
.bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
   radial-gradient(900px 600px at 78% 12%, rgba(52,211,153,.10), transparent 60%),
   radial-gradient(800px 600px at 8% 88%, rgba(251,191,36,.07), transparent 60%),
   radial-gradient(1200px 800px at 50% 50%, rgba(20,40,60,.35), transparent 70%),
   linear-gradient(180deg,#070b12,#0b1220);
}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* fixed chrome */
.brand{position:fixed;top:26px;left:34px;z-index:30;display:flex;align-items:center;gap:11px}
.brand .mk{width:30px;height:30px;border-radius:7px;background:linear-gradient(135deg,var(--em),var(--em2));
  display:grid;place-items:center;font-family:var(--disp);font-weight:800;color:#06281c;font-size:17px;box-shadow:0 4px 18px rgba(52,211,153,.35)}
.brand .nm{font-family:var(--disp);font-weight:600;letter-spacing:.02em;font-size:15px}
.brand .nm small{display:block;font-family:var(--body);font-weight:500;font-size:9.5px;letter-spacing:.22em;color:var(--faint);text-transform:uppercase;margin-top:1px}
.prog{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--em),var(--am));z-index:40;width:0;transition:width .4s ease}
.dots{position:fixed;right:30px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:14px}
.dots button{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--faint);background:transparent;cursor:pointer;padding:0;transition:all .25s}
.dots button.on{background:var(--em);border-color:var(--em);box-shadow:0 0 0 4px var(--emdim);transform:scale(1.15)}
.hint{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:30;font-size:10px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase;display:flex;align-items:center;gap:8px;animation:bob 2.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}

section{position:relative;z-index:2;min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;padding:90px 7vw 70px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--em);font-weight:600;margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--em)}
.h1{font-family:var(--disp);font-weight:800;line-height:.96;letter-spacing:-.02em}
.h2{font-family:var(--disp);font-weight:600;line-height:1.02;letter-spacing:-.01em}
.lead{color:var(--mut);max-width:54ch;line-height:1.6}
.badge-eg{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--am);
  background:var(--amdim);border:1px solid rgba(251,191,36,.3);padding:5px 11px;border-radius:99px;font-weight:600}
.badge-eg::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--am);box-shadow:0 0 8px var(--am)}

/* reveal animation */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
section.live .rv{opacity:1;transform:none}
section.live .rv:nth-child(2){transition-delay:.08s}
section.live .rv:nth-child(3){transition-delay:.16s}
section.live .rv:nth-child(4){transition-delay:.24s}

/* ---- COVER ---- */
#cover .h1{font-size:clamp(54px,9vw,140px)}
#cover .tag{font-family:var(--disp);font-weight:600;font-size:clamp(18px,2.3vw,30px);color:var(--ink);margin-top:6px}
#cover .sub{margin-top:22px;font-size:clamp(15px,1.5vw,19px);max-width:50ch}
.cover-stats{display:flex;gap:48px;margin-top:54px;flex-wrap:wrap}
.cover-stats .cs .n{font-family:var(--disp);font-weight:800;font-size:clamp(34px,4.4vw,60px);line-height:1;
  background:linear-gradient(135deg,var(--ink),var(--em));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cover-stats .cs .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-top:9px}
.cover-stats .cs+.cs{padding-left:48px;border-left:1px solid var(--line)}

/* ---- GROWTH ---- */
#growth .head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:30px}
#growth .h2{font-size:clamp(32px,4.6vw,58px)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;backdrop-filter:blur(8px);position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--em)}
.kpi.am::after{background:var(--am)}
.kpi .l{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.kpi .v{font-family:var(--disp);font-weight:800;font-size:clamp(22px,2.5vw,33px);line-height:1;margin-top:12px;white-space:nowrap}
.kpi .d{font-size:12px;color:var(--faint);margin-top:8px}
.kpi .d b{color:var(--em);font-weight:600}
.chartwrap{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 28px 18px;backdrop-filter:blur(8px)}
.chartwrap .ct{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.chartwrap .ct .t{font-family:var(--disp);font-weight:600;font-size:16px}
.legend{display:flex;gap:20px;font-size:12px;color:var(--mut)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:13px;height:13px;border-radius:4px;display:inline-block}
.bar-rect{transition:height .9s cubic-bezier(.2,.8,.2,1),y .9s cubic-bezier(.2,.8,.2,1)}

/* ---- SERVICES ---- */
#serv .h2{font-size:clamp(30px,4.2vw,52px);margin-bottom:14px}
#serv .lead{max-width:64ch}
#serv .lead b{color:var(--ink);font-weight:600}
.serv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}
.scard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 20px;backdrop-filter:blur(8px)}
.scard .ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--emdim);margin-bottom:15px}
.scard .ico svg{width:21px;height:21px;stroke:var(--em);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scard h3{font-family:var(--disp);font-weight:600;font-size:16.5px;margin-bottom:7px;line-height:1.15}
.scard p{font-size:12.5px;line-height:1.55;color:var(--mut)}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.tags span{font-size:11.5px;letter-spacing:.03em;color:var(--mut);background:rgba(255,255,255,.045);border:1px solid var(--line);padding:7px 13px;border-radius:99px}
.tags span b{color:var(--em);font-weight:600}
.clients{margin-top:30px}
.clients .lab{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--am);font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:16px}
.clients .lab::after{content:"";flex:1;height:1px;background:var(--line)}
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px}
.logo{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:center;min-height:150px}
.logo .mk{width:100%;height:118px;display:flex;align-items:center;justify-content:center}
.logo .mk img{max-width:100%;max-height:118px;object-fit:contain}
.logo .wm{font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:.01em;color:var(--c,#0a0e16);text-align:center}
.logo .ds{font-size:12px;line-height:1.45;color:#475569}
@media(max-width:880px){.serv-grid{grid-template-columns:repeat(2,1fr)}.logos{grid-template-columns:1fr}}
/* ---- CONTRACTS ---- */
#contracts .h2{font-size:clamp(28px,4vw,50px);margin-bottom:6px}
#contracts .lead{max-width:60ch}
#contracts .lead b{color:var(--am);font-weight:600}
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0 8px}
.ccard{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px 20px;display:flex;flex-direction:column;gap:9px;backdrop-filter:blur(8px)}
.ccard .top{display:flex;align-items:center;gap:9px}
.ccard .cli{font-family:var(--disp);font-weight:600;font-size:15.5px}
.ccard .pais{font-size:9.5px;font-weight:600;letter-spacing:.08em;color:var(--mut);border:1px solid var(--line);padding:2px 7px;border-radius:6px}
.ccard .alc{font-size:12px;line-height:1.5;color:var(--mut);flex:1}
.ccard .bot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:2px;padding-top:11px;border-top:1px solid var(--line)}
.ccard .vig{font-size:11px;color:var(--faint);white-space:nowrap}
.ccard .imp{font-family:var(--disp);font-weight:800;font-size:18px;color:var(--em);white-space:nowrap}
.cnote{font-size:11.5px;color:var(--faint);margin-top:14px;line-height:1.5}
.cnote b{color:var(--am);font-weight:600}
#contracts .clients{margin-top:26px}
#contracts .clients .lab{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--am);font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:14px}
#contracts .clients .lab::after{content:"";flex:1;height:1px;background:var(--line)}
@media(max-width:880px){.ccards{grid-template-columns:1fr}}
/* ---- CLIENTS WALL ---- */
#clients .h2{font-size:clamp(30px,4.2vw,52px);margin-bottom:14px}
#clients .lead{max-width:62ch}
.cwall{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:30px}
.cwall .logo{min-height:118px;padding:16px}
.cwall .logo .mk{height:80px}
.cwall .logo .mk img{max-height:80px}
@media(max-width:880px){.cwall{grid-template-columns:repeat(2,1fr)}}
/* ---- MAP ---- */
#map .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center}
#map .h2{font-size:clamp(30px,4.2vw,52px);margin-bottom:18px}
.deleg{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:2px}
.deleg li{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line)}
.deleg .dotc{width:11px;height:11px;border-radius:50%;flex:none}
.deleg .dotc.a{background:var(--em);box-shadow:0 0 0 4px var(--emdim)}
.deleg .dotc.p{background:transparent;border:2px dashed var(--am)}
.deleg .dotc.f{background:var(--mut)}
.deleg .meta.f{color:var(--mut)}
.deleg .city{font-family:var(--disp);font-weight:600;font-size:17px}
.deleg .meta{margin-left:auto;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding-left:10px}
.deleg .city{font-family:var(--disp);font-weight:600;font-size:17px;min-width:0}
.deleg .meta.a{color:var(--em)} .deleg .meta.p{color:var(--am)}
.maplegend{display:flex;gap:24px;margin-top:24px;font-size:12.5px;color:var(--mut)}
.maplegend span{display:inline-flex;align-items:center;gap:9px}
.mapfig{position:relative}
.mapfig svg{width:100%;height:auto;max-height:78vh;display:block;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}
.country{fill:rgba(255,255,255,.045);stroke:rgba(255,255,255,.16);stroke-width:1.4;transition:fill .4s}
.country.active{fill:rgba(52,211,153,.07);stroke:rgba(52,211,153,.4)}
.clabel{fill:var(--faint);font-family:var(--body);font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.mk-a{fill:var(--em)} .mk-ring{fill:none;stroke:var(--em);stroke-width:3}
.mk-p{fill:var(--bg);stroke:var(--am);stroke-width:3.5;stroke-dasharray:5 4}
.mk-f{fill:var(--mut)}
.mlabel{font-family:var(--disp);font-weight:600;fill:var(--ink)}
.mlabel.p{fill:var(--am)}
.msub{font-family:var(--body);fill:var(--faint);letter-spacing:.08em;text-transform:uppercase}
@keyframes pulse{0%{r:9;opacity:.9}70%{r:30;opacity:0}100%{opacity:0}}
.pulse{animation:pulse 2.6s ease-out infinite}

@media(max-width:880px){
  section{padding:84px 6vw 64px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  #map .grid{grid-template-columns:1fr;gap:24px}
  .mapfig{order:-1}.mapfig svg{max-height:52vh}
  .dots{display:none}.cover-stats .cs+.cs{padding-left:30px}
  .cover-stats{gap:30px}
}
.foot{position:absolute;bottom:26px;left:7vw;right:7vw;display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);z-index:3}


.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;backdrop-filter:blur(8px);position:relative;overflow:hidden}
.tcard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--em)}
.tcard.am::after{background:var(--am)}
.tcard .lab{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--em);font-weight:600}
.tcard.am .lab{color:var(--am)}
.tcard h3{font-family:var(--disp);font-weight:600;font-size:19px;margin:8px 0 3px;color:var(--ink)}
.tcard h3 span{font-size:13px;color:var(--mut);font-weight:500}
.tcard .who{font-size:13px;color:var(--ink)} .tcard .who b{color:var(--mut);font-weight:500;font-size:12px}
.tcard p{font-size:12.5px;line-height:1.55;color:var(--mut);margin-top:11px}
#equipo .h2{font-size:clamp(28px,4vw,50px);margin-bottom:12px}
@media(max-width:880px){.tgrid{grid-template-columns:1fr}}
.tlead{max-width:660px;margin:26px auto 0}
.trow{display:grid;gap:14px;margin-top:14px}
.trow.two{grid-template-columns:repeat(2,1fr)}
.trow.three{grid-template-columns:repeat(3,1fr)}
.tcard.hi{border-color:rgba(52,211,153,.45);background:linear-gradient(180deg,rgba(52,211,153,.10),var(--card));box-shadow:0 8px 30px rgba(52,211,153,.12)}
.tcard.hi::after{width:4px;box-shadow:0 0 14px rgba(52,211,153,.6)}
.tcard.hi h3{font-size:21px}
.tcard.hi .tier{position:absolute;top:14px;right:16px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--em);border:1px solid rgba(52,211,153,.45);border-radius:999px;padding:3px 9px;font-weight:600}
.tcard.lo{padding:15px 18px;opacity:.94}
.tcard.lo::after{width:2px;background:rgba(52,211,153,.55)}
.tcard.lo h3{font-size:16px;color:var(--mut)}
.tcard.lo .lab{color:rgba(148,163,184,.95)}
.tcard.lo p{font-size:11.5px;margin-top:8px}
.tconn{width:2px;height:16px;background:linear-gradient(rgba(52,211,153,.5),transparent);margin:8px auto 0}
@media(max-width:880px){.trow.two,.trow.three{grid-template-columns:1fr}}

:root{--disp:'Bricolage Grotesque','Archivo',system-ui,sans-serif;--faint:#8593a6}
section{overflow:hidden;min-height:100svh;padding:96px 7vw 78px;scroll-margin-top:0}
.h2{font-size:clamp(30px,4.1vw,54px);margin-bottom:17px;max-width:1000px}
.lead{font-size:clamp(15px,1.35vw,19px);max-width:72ch}.rv{opacity:1;transform:none}
.brand{top:23px;left:28px;background:rgba(9,13,21,.86);padding:8px 12px;border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(12px)}
.brand img{width:148px;height:37px;object-fit:contain}.brand .nm{font-size:11px;color:var(--mut);border-left:1px solid var(--line);padding-left:12px;line-height:1.45}
.dots{right:26px;gap:10px}.dots button{width:8px;height:8px;position:relative}.dots button:focus-visible{outline:2px solid var(--am);outline-offset:5px}
.dots button::before{content:attr(aria-label);position:absolute;right:20px;top:-9px;padding:7px 11px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;color:var(--ink);white-space:nowrap;font-family:var(--body);font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s}
.dots button:hover::before,.dots button:focus-visible::before{opacity:1}.hint{background:rgba(9,13,21,.82);border-radius:99px;padding:8px 16px;bottom:14px}
#cover{min-height:100svh}.cover-content{position:relative;z-index:2}.cover-visual{position:absolute;inset:0 0 0 47%;background-size:cover;background-position:center;opacity:.48;mask-image:linear-gradient(90deg,transparent,#000 52%)}
#cover .h1{font-size:clamp(48px,8.5vw,126px);letter-spacing:-.035em}#cover .tag{font-size:clamp(28px,3.5vw,49px);line-height:1.12;max-width:780px;margin-top:24px}#cover .sub{max-width:60ch}.cover-stats{margin-top:38px;gap:28px}.cover-stats .cs+.cs{padding-left:28px}.cover-stats .cs .n{font-size:clamp(30px,3.5vw,48px)}.cover-stats .cs.countries{min-width:0}.cover-stats .cs.countries .n{font-size:clamp(26px,3.1vw,42px);white-space:normal;line-height:1.15}@media(max-width:520px){.cover-stats .cs.countries{grid-column:1/-1}}
.foot{font-size:9px;letter-spacing:.08em;gap:20px;line-height:1.4}.foot span:last-child{text-align:right}.serv-grid{margin-top:34px}.scard{padding:25px 23px}.scard h3{font-size:22px;line-height:1.16}.scard p{font-size:15px;line-height:1.55}.num{font-family:var(--disp);font-size:33px;color:var(--em);margin-bottom:24px;font-weight:600}
.feature-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:7%;margin-top:28px;align-items:center}.service-list{display:flex;flex-direction:column;gap:25px}.service-item{border-top:1px solid var(--line);padding-top:19px}.service-item h3{font-family:var(--disp);font-weight:600;font-size:24px;margin-bottom:8px}.service-item p{font-size:17px;color:var(--mut);line-height:1.5}.photo img{width:100%;max-height:370px;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.photo figcaption{font-size:10px;line-height:1.5;color:var(--faint);margin-top:9px}
.dual-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:31px}.dual-cards .scard{padding:27px 30px}.dual-cards .scard h3{font-size:30px}.dual-cards .scard p{font-size:18px}.dual-cards .num{font-size:42px;margin-bottom:22px}.small-note{font-size:12px;color:var(--mut);line-height:1.55;margin-top:20px;max-width:1000px}.small-note b{font-weight:600;color:var(--ink)}
.response-pill{display:inline-block;background:var(--emdim);border:1px solid rgba(52,211,153,.35);border-radius:999px;padding:10px 17px;color:var(--em);font-size:14px;margin-bottom:23px}.subheading{font-family:var(--disp);font-weight:600;font-size:25px;margin:4px 0 19px}.history-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.history-stats strong{display:block;font-family:var(--disp);font-size:68px;line-height:1;color:var(--em)}.history-stats span{display:block;margin-top:10px;color:var(--mut);font-size:16px}
.reference-list{margin-top:20px}.reference-list article{display:grid;grid-template-columns:280px 1fr;gap:35px;border-top:1px solid var(--line);padding:20px 0}.reference-list h3{font-family:var(--disp);color:var(--em);font-size:26px;margin-bottom:8px}.ref-date{font-size:12px;color:var(--mut)}.reference-list p{font-size:19px;line-height:1.55;align-self:center;color:var(--mut)}.reference-list p b{color:var(--ink);font-weight:600}
.ccards{gap:16px;margin:28px 0 8px}.ccard{padding:21px}.ccard .cli{font-size:19px}.ccard .alc{font-size:14px;line-height:1.5}.ccard .bot{flex-wrap:wrap;gap:10px}.ccard .vig{font-size:11px;white-space:normal}.ccard .imp{font-size:22px}.contract-ref{font-size:11px;color:var(--faint);letter-spacing:.04em}.historic{color:var(--am);border:1px solid rgba(251,191,36,.3);font-size:9px;text-transform:uppercase;padding:4px 6px;border-radius:5px}.cnote{font-size:12px;color:var(--mut);line-height:1.6}.cnote p+p{margin-top:8px}
.cwall{grid-template-columns:repeat(3,1fr);gap:16px}.cwall .logo{min-height:120px;padding:20px}.cwall .logo .mk{height:78px}.cwall .logo .mk img{max-height:78px;max-width:80%}
#equipo .tlead{margin:18px auto 0;width:60%;max-width:660px}.tcard{padding:18px 20px}.tcard p{font-size:12px;line-height:1.5}.tcard .tier{font-size:8px}.tcard.lo{padding:16px 18px}.tcard.lo p{font-size:11.5px}.tcard.lo h3{font-size:18px}.tcard.lo h3 span{font-size:12px}.tconn{height:9px;margin-top:5px}
.kpis{margin-top:25px}.kpi{padding:20px 18px}.kpi .v{font-size:clamp(20px,2.15vw,30px);letter-spacing:-.02em}.chartwrap{padding:21px 25px 12px}.chartwrap svg{display:block;width:100%;height:auto;max-height:340px}.detail-data,.sources{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--mut);line-height:1.6}.detail-data summary,.sources summary{cursor:pointer;font-weight:500;color:var(--mut)}.detail-data summary:focus-visible,.sources summary:focus-visible{outline:2px solid var(--em);outline-offset:4px}.detail-data table{width:100%;border-collapse:collapse;max-width:800px;margin-top:15px}.detail-data th,.detail-data td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}.detail-data th{color:var(--ink)}.detail-data td:nth-child(2){font-variant-numeric:tabular-nums}.detail-data p{margin-top:10px}
.deleg .meta{font-size:9px;letter-spacing:.04em;white-space:normal;text-align:right;max-width:170px}.deleg .city{font-size:17px}.maplegend{gap:20px;flex-wrap:wrap}.legend-dot{width:10px;height:10px;display:inline-block;border-radius:50%}.legend-dot.active{background:var(--em)}.legend-dot.fiscal{background:var(--mut)}.legend-dot.planned{border:2px dashed var(--am)}.mapfig svg{max-height:73vh}.msub{fill:var(--mut);letter-spacing:.025em}
.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:29px}.standards{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:25px;border-top:1px solid var(--line);margin-top:28px}.standards span{display:block;color:var(--mut);font-size:12px;margin-bottom:8px}.standards strong{display:block;color:var(--em);font-family:var(--disp);font-size:22px}
#proposal .dual-cards .scard h3{font-size:25px}#proposal .dual-cards .scard p{font-size:16px}#proposal .dual-cards .num{font-size:28px;margin-bottom:15px}.closing-logo{width:240px;height:65px;object-fit:contain;margin-bottom:32px;display:block}#contact .h2{font-size:clamp(33px,5.3vw,74px)}.contact-links{margin-top:35px}.contact-links a{color:var(--ink);text-decoration:none}.contact-links a:hover{text-decoration:underline;text-underline-offset:6px}.contact-links .email{font-family:var(--disp);font-size:clamp(25px,3.5vw,46px);color:var(--em)}.contact-links>div{display:flex;gap:36px;margin-top:19px;font-size:24px}.sources{max-width:1030px;margin-top:35px}.sources p{margin-top:12px}.sources ul{columns:2;column-gap:40px;padding-left:18px;margin-top:12px}.sources li{break-inside:avoid;margin-bottom:8px}.sources a{color:var(--mut);text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
@media(max-width:1100px){.serv-grid{grid-template-columns:repeat(2,1fr)}.scard h3{font-size:21px}.scard p{font-size:15px}.num{margin-bottom:17px}.ccards{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}.kpi .v{font-size:29px}.reference-list article{grid-template-columns:230px 1fr}.feature-grid{gap:5%}.sources ul{columns:1}.brand .nm{display:none}}
@media(max-width:880px){section{padding:100px 6vw 78px}.brand{top:18px;left:18px}.feature-grid{grid-template-columns:1fr}.photo{margin-top:25px}.photo img{max-height:320px;aspect-ratio:16/9}.cover-visual{left:15%;opacity:.28}.cover-stats{gap:18px}.cover-stats .cs+.cs{padding-left:18px}.cover-stats .cs .l{font-size:9px}.cover-stats .cs .n{font-size:31px}.dual-cards,.quality-grid{grid-template-columns:1fr}.reference-list article{grid-template-columns:1fr;gap:9px}.reference-list p{font-size:17px}.ref-title{display:flex;gap:15px;align-items:baseline;flex-wrap:wrap}.cwall{grid-template-columns:repeat(3,1fr);gap:10px}.cwall .logo{padding:10px;min-height:85px}.cwall .logo .mk{height:50px}.cwall .logo .mk img{max-height:50px;max-width:96%}#equipo .tlead{width:100%;max-width:none}.trow.two,.trow.three{grid-template-columns:1fr}.tcard.lo h3{font-size:20px}.tcard p,.tcard.lo p{font-size:14px}.tcard .lab{font-size:10px}.tcard .tier{font-size:8px}.kpi .v{font-size:26px}.chartwrap{padding:17px 12px 10px}.legend{font-size:10px;gap:10px}.mapfig{order:0}.mapfig svg{max-height:64vh}#map .grid{grid-template-columns:1fr}.standards{grid-template-columns:1fr}.foot{left:6vw;right:6vw;font-size:8px}.closing-logo{width:210px;margin-bottom:24px}.contact-links>div{font-size:20px;flex-wrap:wrap;gap:18px}.hint{font-size:9px}.small-note{font-size:12px}}
@media(max-width:520px){.serv-grid,.ccards{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:15px 12px}.kpi .l{font-size:9px}.kpi .v{font-size:18px}.kpi .d{font-size:10px}.chartwrap .ct{display:block}.legend{margin-top:10px;flex-wrap:wrap}.cover-stats{display:grid;grid-template-columns:1fr 1fr;gap:25px}.cover-stats .cs+.cs{padding-left:0;border:0}.cover-stats .cs .n{font-size:36px}.cover-stats .cs .l{font-size:10px}.cwall{grid-template-columns:repeat(2,1fr)}.deleg li{gap:10px}.deleg .city{font-size:15px}.deleg .meta{max-width:118px}.h2{font-size:32px}.scard{padding:22px}.dual-cards .scard{padding:24px}.dual-cards .scard h3{font-size:25px}.dual-cards .scard p{font-size:16px}#cover .h1{font-size:clamp(40px,11.3vw,59px)}.foot{position:static;margin-top:35px}.hint{display:none}.detail-data{overflow-x:auto}#contact .h2{font-size:38px}.sources{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{@page{size:A4 landscape;margin:10mm}html,body{background:#090d15!important;color:#eaf0f8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.brand,.dots,.hint,.prog,.bgfx,.grain{display:none!important}section{min-height:185mm;padding:15mm 12mm;page-break-after:always;break-after:page;overflow:visible}.h2{font-size:30pt}.lead{font-size:12pt}.foot{position:static;margin-top:8mm}.scard p{font-size:11pt}.ccards{grid-template-columns:repeat(3,1fr)}.ccard .cli{font-size:12pt}.ccard .alc{font-size:10pt}.ccard .imp{font-size:14pt}.feature-grid{grid-template-columns:1.13fr 1fr}.photo img{max-height:90mm}.kpis{grid-template-columns:repeat(4,1fr)}.kpi .v{font-size:16pt}.chartwrap svg{max-height:75mm}.tcard p{font-size:9pt}.sources{font-size:9pt}.cwall{grid-template-columns:repeat(3,1fr)}.mapfig svg{max-height:140mm}.dual-cards .scard h3{font-size:20pt}.dual-cards .scard p{font-size:12pt}section:last-child{page-break-after:auto;break-after:auto}}
#construction .feature-grid{grid-template-columns:1.1fr 1.2fr;gap:5%;align-items:center}
#construction .service-list{gap:18px}#construction .service-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding-top:15px}#construction .phase-index{font-family:var(--disp);font-size:21px;font-weight:600;line-height:1.2;color:var(--em);padding-top:1px}#construction .service-item h3{font-size:22px;line-height:1.2;margin-bottom:8px}#construction .service-item p{font-size:16px;line-height:1.55}
.construction-gallery{min-width:0}.construction-gallery-images{display:grid;grid-template-columns:3fr 4fr;gap:12px;align-items:start}.construction-gallery-images img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:12px}.construction-gallery figcaption{font-size:10px;line-height:1.5;color:var(--faint);margin-top:10px}
@media screen and (max-width:880px){#construction .feature-grid{grid-template-columns:1fr}.construction-gallery{margin-top:25px}}
@media screen and (max-width:520px){.construction-gallery-images{grid-template-columns:1fr;gap:16px}.construction-gallery-images img{max-width:100%;margin:auto}}
#quality .quality-grid .num{font-size:clamp(34px,3.6vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.035em;white-space:nowrap;margin-bottom:24px}
#quality .quality-grid .scard{padding:28px 24px;min-width:0;border-top:3px solid var(--em)}
#quality .quality-grid .scard h3{font-size:24px;line-height:1.2;min-height:58px;margin-bottom:15px}
#quality .quality-grid .scard p{font-size:16px;line-height:1.6}
@media(max-width:880px){#quality .quality-grid{grid-template-columns:1fr}#quality .quality-grid .num{font-size:42px;margin-bottom:18px}#quality .quality-grid .scard h3{min-height:0}}
@media(max-width:520px){#quality .quality-grid .scard{padding:24px 22px}#quality .quality-grid .num{font-size:38px}#quality .quality-grid .scard h3{font-size:23px}}
#foundations .foundations-gallery{width:100%;max-width:1080px;margin:30px auto 0}
#foundations .foundations-gallery-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#foundations .foundations-gallery-images img{display:block;width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
#foundations .foundations-gallery-images img:first-child{object-position:35% 50%}
#foundations .foundations-gallery-images img:last-child{object-position:50% 40%}
#foundations .foundations-gallery figcaption{font-size:10px;line-height:1.5;color:var(--faint);margin-top:10px}
@media screen and (max-width:640px){#foundations .foundations-gallery-images{grid-template-columns:1fr;gap:20px}}
#contact{isolation:isolate;background:#0c2034}
#contact .contact-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 60%;background-repeat:no-repeat}
#contact .contact-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,12,22,.78) 0%,rgba(5,12,22,.60) 47%,rgba(5,12,22,.22) 100%),linear-gradient(180deg,rgba(5,12,22,.08) 0%,rgba(5,12,22,.12) 58%,rgba(5,12,22,.30) 100%)}
#contact>.rv{position:relative;z-index:2}#contact>.foot{z-index:2;color:#d8e5ed}
#contact .h2,#contact .lead,#contact .contact-links{text-shadow:0 2px 12px rgba(0,0,0,.4)}#contact .lead{color:#e4edf3}
#contact .sources{background:rgba(5,12,22,.72);padding:15px 18px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#d2dee8}
#contact .sources summary,#contact .sources a{color:#e4edf3}#contact .sources a:focus-visible,#contact .contact-links a:focus-visible{outline:2px solid var(--em);outline-offset:5px}
@media screen and (max-width:640px){#contact .contact-background{background-position:52% 50%}#contact .contact-overlay{background:linear-gradient(90deg,rgba(5,12,22,.72),rgba(5,12,22,.42)),linear-gradient(180deg,rgba(5,12,22,.08),rgba(5,12,22,.28))}}
#maintenance .feature-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:5%;align-items:start}
#maintenance .maintenance-gallery{min-width:0;width:100%;max-width:640px;margin:0;justify-self:end}#maintenance .maintenance-gallery-images{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
#maintenance .maintenance-gallery-images img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:12/5;object-fit:cover;border-radius:14px}
#maintenance .maintenance-gallery-images img:first-child{object-position:50% 22%}#maintenance .maintenance-gallery-images img:last-child{object-position:50% 56%}
#maintenance .maintenance-gallery figcaption{font-size:10px;line-height:1.5;color:var(--faint);margin-top:12px}
@media screen and (max-width:880px){#maintenance .feature-grid{grid-template-columns:1fr;gap:30px}#maintenance .maintenance-gallery{max-width:none;justify-self:stretch}#maintenance .maintenance-gallery-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#maintenance .maintenance-gallery-images img{aspect-ratio:4/3;object-position:center}}
@media screen and (max-width:640px){#maintenance .maintenance-gallery-images{grid-template-columns:1fr;gap:18px}#maintenance .maintenance-gallery-images img{aspect-ratio:16/10}}
@media print{#maintenance .feature-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:5%}#maintenance .maintenance-gallery-images{gap:4mm}#maintenance .maintenance-gallery-images img{aspect-ratio:12/5}#maintenance .maintenance-gallery{max-width:125mm;break-inside:avoid}}
#emergencies .feature-grid{grid-template-columns:1fr 1.3fr;gap:5%;align-items:center}
#emergencies .winter-gallery{min-width:0}#emergencies .winter-gallery-images{display:grid;grid-template-columns:301fr 144fr;gap:14px;align-items:start}
#emergencies .winter-gallery-images img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:12px}
#emergencies .winter-gallery figcaption{font-size:10px;line-height:1.5;color:var(--faint);margin-top:10px}
@media screen and (max-width:880px){#emergencies .feature-grid{grid-template-columns:1fr}#emergencies .winter-gallery{margin-top:25px}}
@media screen and (max-width:520px){#emergencies .winter-gallery-images{grid-template-columns:1fr;gap:16px}#emergencies .winter-gallery-images img:last-child{max-width:320px;margin:0 auto}}
#growth{isolation:isolate;background:#091525}
#growth .growth-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}
#growth .growth-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,rgba(4,10,20,.82) 0%,rgba(4,10,20,.72) 48%,rgba(4,10,20,.60) 100%)}
#growth>.rv{position:relative;z-index:2}#growth>.foot{z-index:2;color:#c2d1e0}
#growth .h2,#growth .lead{text-shadow:0 2px 14px rgba(0,0,0,.5)}#growth .lead{color:#d4dfeb}
#growth .kpi{background:rgba(7,15,27,.90);border-color:rgba(255,255,255,.18)}#growth .chartwrap{background:rgba(7,15,27,.95);border-color:rgba(255,255,255,.20)}
#growth .detail-data{background:rgba(7,15,27,.92);padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#c7d5e3}#growth .detail-data summary{color:#e1eaf3}
#growth .small-note{color:#d4dfeb}#growth .growth-background-note{font-size:11px;line-height:1.5;color:#bfcedd;margin-top:12px}
#sustainability{isolation:isolate;background:#0c1721}
#sustainability .sustainability-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
#sustainability .sustainability-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,13,22,.87) 0%,rgba(4,13,22,.68) 53%,rgba(4,13,22,.34) 100%),linear-gradient(180deg,rgba(4,13,22,.08),rgba(4,13,22,.24))}
#sustainability>.rv{position:relative;z-index:2}#sustainability>.foot{z-index:2;color:#cddbe5}
#sustainability .h2{font-size:clamp(42px,6vw,80px);line-height:1.05;color:#f4f8fb;text-shadow:0 2px 14px rgba(0,0,0,.45);max-width:900px}
#sustainability .sustainability-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px;margin-top:38px}
#sustainability .sustainability-panels article{padding:29px 28px;background:rgba(5,15,25,.78);border:1px solid rgba(52,211,153,.45);border-top:3px solid var(--em);border-radius:15px}
#sustainability .sustainability-panels h3{font-family:var(--disp);font-size:clamp(24px,2.5vw,34px);font-weight:600;line-height:1.16;color:var(--em);margin-bottom:20px}
#sustainability .sustainability-panels p{font-size:20px;line-height:1.5;color:#e0eaf1}
#sustainability .sustainability-panels .sustainability-issuer{font-family:var(--disp);font-size:24px;line-height:1.25;color:#fff;margin-bottom:12px}
@media screen and (max-width:880px){#sustainability .sustainability-panels{grid-template-columns:1fr;max-width:640px;gap:18px;margin-top:28px}#sustainability .sustainability-background{background-position:60% 50%}}
@media screen and (max-width:520px){#sustainability .sustainability-panels article{padding:24px 22px}#sustainability .sustainability-panels p{font-size:18px}#sustainability .sustainability-panels .sustainability-issuer{font-size:22px}}

#avifauna .h2{max-width:1000px}
#avifauna .lead{max-width:82ch}
#avifauna .avifauna-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:6%;align-items:start;margin-top:32px}
#avifauna .avifauna-copy{min-width:0}
#avifauna .avifauna-label{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--em);margin-bottom:10px}
#avifauna .avifauna-contract{padding-top:18px;border-top:1px solid var(--line)}
#avifauna h3{font-family:var(--disp);font-weight:600;font-size:clamp(24px,2.2vw,30px);line-height:1.15;margin-bottom:12px}
#avifauna .avifauna-contract h3 strong{color:var(--em);font-size:1.18em;font-weight:600;white-space:nowrap}
#avifauna .avifauna-copy p{font-size:17px;line-height:1.55;color:var(--mut)}
#avifauna .avifauna-client{padding-top:22px;margin-top:24px;border-top:1px solid var(--line)}
#avifauna .avifauna-client h3{font-size:24px}
#avifauna .avifauna-commitment{margin-top:26px}
#avifauna .avifauna-commitment>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--em);margin-bottom:9px}
#avifauna .avifauna-commitment b{color:var(--ink);font-weight:500}
#avifauna .avifauna-evidence{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
#avifauna .avifauna-evidence p{font-size:12px;line-height:1.55}
#avifauna .avifauna-evidence b{color:var(--ink);font-weight:500}
#avifauna .avifauna-evidence a{color:var(--ink);text-underline-offset:3px}
#avifauna .avifauna-photo{width:100%;max-width:445px;margin:0;justify-self:end}
#avifauna .avifauna-photo img{display:block;width:100%;height:auto;aspect-ratio:833/1031;object-fit:contain;border-radius:16px}
#avifauna .avifauna-photo figcaption{font-size:11px;line-height:1.5;color:var(--faint);margin-top:10px}
@media(max-width:880px){#avifauna .avifauna-layout{gap:5%;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}#avifauna .avifauna-copy p{font-size:16px}#avifauna .avifauna-evidence p{font-size:12px}#avifauna .avifauna-client h3{font-size:22px}}
@media(max-width:640px){#avifauna .avifauna-layout{grid-template-columns:1fr;gap:28px}#avifauna .avifauna-photo{justify-self:center;max-width:430px}#avifauna .avifauna-client{margin-top:22px}#avifauna .avifauna-commitment,#avifauna .avifauna-evidence{margin-top:22px}}
@media print{#avifauna .avifauna-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7%;margin-top:6mm}#avifauna .h2{font-size:28pt}#avifauna .avifauna-photo{max-width:78mm;break-inside:avoid}#avifauna h3{font-size:17pt}#avifauna .avifauna-client h3{font-size:15pt}#avifauna .avifauna-copy p{font-size:10pt}#avifauna .avifauna-evidence p{font-size:8pt}#avifauna .avifauna-client,#avifauna .avifauna-commitment,#avifauna .avifauna-evidence{margin-top:4mm;padding-top:3mm}}

#sustainability .ods-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);column-gap:7%;align-items:start;max-width:1240px;margin:0 auto}
#sustainability .ods-copy{min-width:0}
#sustainability .h2{font-size:clamp(38px,4.8vw,66px);line-height:1.06;max-width:none;margin-bottom:18px}
#sustainability .ods-issuer{font-family:var(--disp);font-size:clamp(25px,2.4vw,33px);line-height:1.15;font-weight:600;color:var(--em);margin-bottom:5px}
#sustainability .ods-issuer-detail{font-size:13px;line-height:1.5;color:#d5e3eb}
#sustainability .ods-intro{margin-top:22px;font-size:18px;line-height:1.55;color:#e7f0f4}
#sustainability .ods-intro b{font-weight:600;color:#fff}
#sustainability .ods-scope{margin-top:24px}
#sustainability .ods-scope h3{font-family:var(--disp);font-size:22px;font-weight:600;line-height:1.2;color:#f4f8fb;margin-bottom:11px}
#sustainability .ods-scope p{font-size:16px;line-height:1.55;color:#dce8ef}
#sustainability .ods-scope p+p{margin-top:11px}
#sustainability .ods-goals{margin-top:22px;font-size:13px;line-height:1.5;color:#deebf0}
#sustainability .ods-goals b{display:block;font-weight:500;margin-bottom:5px}
#sustainability .ods-goals span{display:block;font-family:var(--disp);font-size:18px;font-weight:500;letter-spacing:.02em;color:var(--em)}
#sustainability .ods-membership{margin-top:26px;padding-top:19px;border-top:1px solid rgba(255,255,255,.24)}
#sustainability .ods-membership h3{font-family:var(--disp);font-size:20px;font-weight:500;line-height:1.2;margin-bottom:8px;color:#f4f8fb}
#sustainability .ods-membership p{font-size:15px;line-height:1.5;color:#d2e1e9}
#sustainability .ods-certificate{width:100%;max-width:350px;margin:0;justify-self:end}
#sustainability .ods-certificate img{display:block;width:100%;height:auto;aspect-ratio:455/638;object-fit:contain;background:#fff;border:1px solid rgba(255,255,255,.6);border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.28);filter:none;mix-blend-mode:normal}
#sustainability .ods-certificate figcaption{margin-top:13px;font-size:11px;line-height:1.5;color:#e0ebf0;text-align:left}
#sustainability .ods-certificate figcaption b{display:block;font-weight:500;margin-bottom:4px}
#sustainability .ods-certificate figcaption span{display:block}
@media(max-width:880px){#sustainability .ods-layout{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);column-gap:5%}#sustainability .ods-intro{font-size:17px}#sustainability .ods-scope h3{font-size:21px}#sustainability .ods-scope p{font-size:15px}}
@media(max-width:640px){#sustainability .ods-layout{grid-template-columns:1fr;row-gap:32px}#sustainability .h2{font-size:clamp(38px,9vw,52px)}#sustainability .ods-certificate{justify-self:center;max-width:350px}#sustainability .ods-membership{margin-top:22px}}
@media print{#sustainability .ods-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);column-gap:8%}#sustainability .h2{font-size:29pt}#sustainability .ods-issuer{font-size:20pt}#sustainability .ods-issuer-detail{font-size:9pt}#sustainability .ods-intro{font-size:11pt;margin-top:4mm}#sustainability .ods-scope{margin-top:4mm}#sustainability .ods-scope h3{font-size:14pt}#sustainability .ods-scope p,#sustainability .ods-membership p{font-size:10pt}#sustainability .ods-goals{margin-top:4mm;font-size:9pt}#sustainability .ods-membership{margin-top:4mm;padding-top:3mm}#sustainability .ods-membership h3{font-size:13pt}#sustainability .ods-certificate{max-width:77mm;break-inside:avoid}#sustainability .ods-certificate figcaption{font-size:8pt}}

#foundations .foundations-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6%;align-items:start;margin-top:30px}
#foundations .foundations-copy{min-width:0}
#foundations .foundations-copy .dual-cards{grid-template-columns:1fr;gap:18px;margin-top:0}
#foundations .foundations-copy .scard{padding:23px 26px}
#foundations .foundations-copy .scard .num{font-size:32px;line-height:1;margin-bottom:13px}
#foundations .foundations-copy .scard h3{font-size:27px;line-height:1.15;margin-bottom:10px}
#foundations .foundations-copy .scard p{font-size:17px;line-height:1.5}
#foundations .foundations-copy .small-note{margin-top:18px}
#foundations .foundations-gallery{width:100%;max-width:320px;margin:0;justify-self:end}
#foundations .foundations-gallery-images{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
#foundations .foundations-gallery-images img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
#foundations .foundations-gallery-images img:first-child{object-position:35% 50%}
#foundations .foundations-gallery-images img:last-child{object-position:50% 40%}
#foundations .foundations-gallery figcaption{font-size:10px;line-height:1.5;margin-top:10px}
@media(max-width:760px){#foundations .foundations-layout{grid-template-columns:1fr;gap:26px}#foundations .foundations-gallery{justify-self:center;max-width:320px}#foundations .foundations-copy .scard{padding:23px 24px}}
@media print{#foundations .foundations-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7%;margin-top:6mm}#foundations .foundations-gallery{max-width:68mm;break-inside:avoid}#foundations .foundations-gallery-images{gap:4mm}#foundations .foundations-copy .scard{padding:4mm 5mm}#foundations .foundations-copy .scard .num{font-size:22pt;margin-bottom:3mm}#foundations .foundations-copy .scard h3{font-size:18pt}#foundations .foundations-copy .scard p{font-size:11pt}#foundations .foundations-copy .small-note{font-size:8pt}}

#growth .h2{font-size:clamp(32px,4.6vw,58px)}
#growth .growth-comparison{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:28px 0 26px}
#growth .growth-comparison p{font-family:var(--disp);font-size:clamp(20px,2.2vw,28px);line-height:1.25;color:#eaf0f8;max-width:490px}
#growth .growth-comparison p>span{display:block;font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;color:#c6d5df}
#growth .growth-comparison strong{font-weight:600;color:#34d399}
#growth .growth-comparison .growth-projection strong{color:#fbbf24}
#growth .growth-comparison .growth-projection>span{color:#f4d485}
#growth .growth-evolution{padding:24px 26px 10px}
#growth .growth-evolution .ct{align-items:center;gap:20px}
#growth .growth-evolution .legend{flex-wrap:wrap;gap:15px}
#growth .growth-key{width:23px;height:0;border-radius:0;border-top:3px solid #34d399;display:inline-block}
#growth .growth-key.forecast{border-top:3px dashed #fbbf24}
#growth .growth-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;margin-top:8px}
#growth .growth-chart-scroll:focus-visible{outline:2px solid #34d399;outline-offset:4px;border-radius:4px}
#growth .growth-line-chart{display:block;width:100%;min-width:700px;height:auto;max-height:none}
#growth .growth-reading{font-size:13px;line-height:1.55;margin-top:17px}
#growth .growth-scroll-hint{display:none;font-size:11px;color:#91a3b7;margin:4px 0 7px}
@media(max-width:880px){#growth .growth-comparison{gap:25px}#growth .growth-evolution{padding:20px 16px 10px}#growth .growth-evolution .ct{display:block}#growth .growth-evolution .legend{margin-top:13px}#growth .growth-scroll-hint{display:block}}
@media(max-width:520px){#growth .growth-comparison{grid-template-columns:1fr;gap:20px;margin:24px 0}#growth .growth-comparison p{font-size:22px}#growth .growth-evolution{padding:18px 12px 9px}#growth .growth-reading{font-size:12px}}
@media print{#growth .growth-line-chart{min-width:0;max-height:none}#growth .growth-chart-scroll{overflow:visible}#growth .growth-scroll-hint{display:none}#growth .growth-comparison{gap:8mm;margin:5mm 0}#growth .growth-comparison p{font-size:15pt}#growth .growth-evolution{padding:4mm}#growth .growth-reading{font-size:9pt}}

#construction .feature-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:6%;align-items:start}
#construction .construction-gallery{width:100%;max-width:340px;min-width:0;margin:0;justify-self:end}
#construction .construction-gallery-images{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
#construction .construction-stage{min-width:0}
#construction .construction-gallery-images img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
#construction .construction-stage:nth-child(1) img{object-position:50% 70%}
#construction .construction-stage:nth-child(2) img{object-position:50% 60%}
#construction .construction-stage:nth-child(3) img{object-position:50% 55%}
#construction .construction-stage-caption{display:flex;gap:9px;align-items:baseline;margin-top:8px;font-size:12px;line-height:1.4;color:var(--ink)}
#construction .construction-stage-caption span{font-family:var(--disp);font-size:13px;font-weight:600;color:var(--em)}
#construction .construction-gallery>figcaption{margin-top:12px;font-size:10px;line-height:1.5;color:var(--faint)}
@media screen and (max-width:760px){#construction .feature-grid{grid-template-columns:1fr;gap:28px}#construction .construction-gallery{justify-self:center;max-width:340px}#construction .construction-gallery-images{grid-template-columns:minmax(0,1fr);gap:18px}}
@media print{#construction .feature-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:6%}#construction .construction-gallery{max-width:70mm;break-inside:avoid}#construction .construction-gallery-images{gap:3mm}#construction .construction-stage-caption{font-size:9pt;margin-top:2mm}#construction .construction-stage-caption span{font-size:9pt}#construction .construction-gallery>figcaption{font-size:8pt}}

#quality{isolation:isolate;overflow:hidden;background:#0a1520}
#quality .quality-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.08)}
#quality .quality-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,rgba(4,12,21,.83) 0%,rgba(4,12,21,.67) 53%,rgba(4,12,21,.5) 100%),linear-gradient(180deg,rgba(4,12,21,.03),rgba(4,12,21,.2))}
#quality>.rv{position:relative;z-index:2}
#quality>.foot{z-index:2;color:#c5d5e1}
#quality .h2,#quality .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.45)}
#quality .lead{color:#e0eaf1;text-shadow:0 1px 9px rgba(0,0,0,.35)}
#quality .quality-grid .scard{background:rgba(5,15,27,.9);border-color:rgba(199,220,236,.22);border-top-color:var(--em)}
#quality .quality-grid .scard h3{color:#f4f8fb}
#quality .quality-grid .scard p{color:#d4e1eb}
#quality .small-note{color:#cad9e4}
@media(max-width:640px){#quality .quality-background{background-position:57% center}#quality .quality-overlay{background:linear-gradient(100deg,rgba(4,12,21,.78),rgba(4,12,21,.6))}}

#foundations .foundations-process{display:flex;flex-direction:column;gap:22px}
#foundations .foundation-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-top:18px;border-top:1px solid var(--line)}
#foundations .foundation-step-number{font-family:var(--disp);font-size:25px;font-weight:600;line-height:1.2;color:var(--em)}
#foundations .foundation-step h3{font-family:var(--disp);font-size:24px;font-weight:600;line-height:1.2;margin:0 0 10px;color:var(--ink)}
#foundations .foundation-step p{font-size:16px;line-height:1.55;color:var(--mut);margin:0}
#foundations .foundations-outcome{margin-top:24px;font-size:13px;line-height:1.55;color:#c5d4df;max-width:600px}
#foundations .foundations-outcome b{display:block;color:var(--em);font-size:12px;font-weight:500;letter-spacing:.06em;margin-bottom:6px}
@media(max-width:760px){#foundations .foundations-process{gap:20px}#foundations .foundation-step{grid-template-columns:30px minmax(0,1fr);gap:10px}#foundations .foundation-step h3{font-size:23px}#foundations .foundations-outcome{margin-top:22px}}
@media print{#foundations .foundations-process{gap:4mm}#foundations .foundation-step{grid-template-columns:7mm minmax(0,1fr);gap:3mm;padding-top:4mm}#foundations .foundation-step-number{font-size:17pt}#foundations .foundation-step h3{font-size:15pt;margin-bottom:3mm}#foundations .foundation-step p{font-size:10pt}#foundations .foundations-outcome{margin-top:4mm;font-size:9pt}#foundations .foundations-outcome b{font-size:9pt}}

#foundations .foundation-experience-title{display:block;font-family:var(--disp);font-size:clamp(21px,2.3vw,28px);font-weight:600;line-height:1.25;color:var(--em);margin-bottom:10px}
#foundations .foundation-experience-copy{display:block;color:var(--ink);line-height:1.5}
#foundations .foundation-experience-copy b{color:var(--em);font-weight:600}
#foundations .foundation-experience-context{display:block;font-size:15px;line-height:1.55;color:var(--mut);margin-top:14px}
@media print{#foundations .foundation-experience-title{font-size:17pt}#foundations .foundation-experience-context{font-size:9pt;margin-top:3mm}}

#contact .contact-links{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1.05fr);gap:24px;width:100%;max-width:960px;margin-top:38px;padding-top:25px;border-top:1px solid rgba(216,231,241,.3);text-shadow:0 2px 10px rgba(0,0,0,.25)}
#contact .contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0;color:#f2f7fa;text-decoration:none}
#contact .contact-label{font-family:var(--body);font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:#afc6d5}
#contact .contact-value{font-family:var(--body);font-size:clamp(22px,1.7vw,25px);font-weight:400;line-height:1.35;letter-spacing:-.02em;transition:color .18s ease}
#contact .contact-item-email .contact-value{font-size:clamp(22px,2.1vw,28px);overflow-wrap:anywhere}
#contact .contact-item-phone .contact-value{white-space:nowrap;font-variant-numeric:lining-nums}
#contact .contact-item-web .contact-value{overflow-wrap:anywhere}
#contact .contact-arrow{font-size:16px;color:var(--em);margin-left:3px;display:inline-block;vertical-align:baseline}
#contact .contact-item:hover{text-decoration:none}
#contact .contact-item:hover .contact-value{color:var(--em)}
#contact .contact-item:focus-visible{outline:2px solid var(--em);outline-offset:7px;border-radius:2px}
@media screen and (max-width:900px){#contact .contact-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px;max-width:660px}#contact .contact-item-email{grid-column:1/-1}}
@media screen and (max-width:520px){#contact .contact-links{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:30px;padding-top:23px}#contact .contact-item-email{grid-column:auto}#contact .contact-item{gap:8px}#contact .contact-value,#contact .contact-item-email .contact-value{font-size:22px}}
@media print{#contact .contact-links{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1.05fr);gap:5mm;margin-top:7mm;padding-top:5mm;break-inside:avoid}#contact .contact-label{font-size:8pt}#contact .contact-value,#contact .contact-item-email .contact-value{font-size:13pt}#contact .contact-item{gap:2mm}#contact .contact-arrow{font-size:10pt}}

#clients{isolation:isolate;background:#0c1622}
#clients .experience-summary{max-width:980px}
#clients .h2{font-size:clamp(32px,4.2vw,55px);line-height:1.12;margin-bottom:21px;max-width:980px}
#clients .experience-summary .lead{font-size:clamp(17px,1.65vw,21px);line-height:1.55;max-width:950px;color:#d7e3eb}
#clients .experience-summary-detail{max-width:940px;margin:15px 0 0;font-size:16px;line-height:1.6;color:#aebfcc}
#clients .experience-clients{max-width:980px;margin-top:30px;background:#0c1622}
#clients .experience-clients-title{display:flex;align-items:center;gap:19px;margin:0;font-family:var(--body);font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:var(--em)}
#clients .experience-clients-title::after{content:'';height:1px;flex:1;background:rgba(214,229,241,.16)}
#clients .experience-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:14px 0 0;padding:16px;background:#152331;border:1px solid rgba(214,229,241,.12);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.10)}
#clients .experience-client-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:76px;padding:0;margin:0;background:transparent;border:0}
#clients .experience-logo-mount{display:flex;align-items:center;justify-content:center;width:100%;max-width:220px;height:76px;background:#fff;border-radius:5px;overflow:hidden}
#clients .experience-client-logo img{display:block;width:var(--client-logo-width);max-width:calc(100% - 24px);height:auto;max-height:56px;object-fit:contain;filter:none;mix-blend-mode:normal}
@media screen and (max-width:760px){#clients .experience-summary .lead{font-size:18px}#clients .experience-summary-detail{font-size:15px}#clients .experience-logo-grid{gap:12px;padding:14px}#clients .experience-client-logo{min-height:72px}#clients .experience-logo-mount{height:72px}#clients .experience-client-logo img{max-height:52px}}
@media screen and (max-width:520px){#clients .h2{font-size:35px;max-width:350px}#clients .experience-clients{margin-top:28px}#clients .experience-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}#clients .experience-client-logo{min-height:64px}#clients .experience-logo-mount{height:64px}#clients .experience-client-logo:last-child{grid-column:1/-1;justify-self:center;width:calc((100% - 12px)/2)}#clients .experience-client-logo img{max-height:48px}}
@media print{#clients .h2{font-size:28pt;margin-bottom:5mm}#clients .experience-summary .lead{font-size:12pt}#clients .experience-summary-detail{font-size:10pt;margin-top:3mm}#clients .experience-clients{margin-top:6mm;break-inside:avoid}#clients .experience-clients-title{font-size:9pt}#clients .experience-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm;padding:3mm;margin-top:3mm}#clients .experience-client-logo{min-height:18mm;padding:0}#clients .experience-logo-mount{height:18mm;max-width:52mm}#clients .experience-client-logo img{max-height:14mm}#clients .foot{margin-top:5mm}}

#clients .experience-client-logo[data-client="eiffage"] .experience-logo-mount{background:#fcfeff}
#clients .experience-client-logo[data-client="eiffage"] img{width:var(--client-logo-width);max-width:calc(100% - 16px);height:auto;max-height:none;flex-shrink:0}

#serv{isolation:isolate;overflow:hidden;background:#0b1a29}
#serv .services-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
#serv .services-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(5,14,24,.76) 0%,rgba(5,14,24,.56) 55%,rgba(5,14,24,.38) 100%),linear-gradient(180deg,rgba(5,14,24,.24) 0%,rgba(5,14,24,.05) 50%,rgba(5,14,24,.42) 100%)}
#serv>.rv{position:relative;z-index:2}
#serv>.foot{z-index:2;color:#d3e2ec}
#serv .h2,#serv .eyebrow{text-shadow:0 2px 12px rgba(0,0,0,.4)}
#serv .lead{color:#e0eaf2;text-shadow:0 1px 9px rgba(0,0,0,.3)}
#serv .serv-grid .scard{background:rgba(7,18,30,.85);border-color:rgba(207,226,238,.2);border-top-color:var(--em)}
#serv .serv-grid .scard h3{color:#f3f7fb}
#serv .serv-grid .scard p{color:#d0dee9}
#serv .tags{color:#dce8f1}
@media screen and (max-width:640px){#serv .services-background{background-position:0% 50%}#serv .services-overlay{background:linear-gradient(100deg,rgba(5,14,24,.73),rgba(5,14,24,.58)),linear-gradient(180deg,rgba(5,14,24,.08),rgba(5,14,24,.3))}}
@media print{#serv .services-background{background-position:50% 50%}#serv .serv-grid .scard{background:rgba(7,18,30,.88)}}

#serv{justify-content:flex-start;padding-bottom:82px}
#serv .services-background{inset:auto;top:clamp(80px,calc(270px - 13vw),160px);left:50%;transform:translateX(-50%);width:100%;max-width:1440px;height:auto;aspect-ratio:1024/572;background-size:100% 100%;background-position:center;mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 84%,transparent 100%)}
#serv .services-overlay{background:linear-gradient(180deg,rgba(5,14,24,.76) 0%,rgba(5,14,24,.63) 20%,rgba(5,14,24,.16) 44%,rgba(5,14,24,.13) 65%,rgba(5,14,24,.66) 100%)}
#serv .serv-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;margin-top:clamp(180px,32vw,480px)}
#serv .serv-grid .scard{min-width:0;min-height:0;padding:16px;border-radius:11px;background:rgba(7,18,30,.87);backdrop-filter:blur(4px)}
#serv .serv-grid .num{font-size:24px;line-height:1;margin-bottom:10px}
#serv .serv-grid .scard h3{font-size:17px;line-height:1.2;min-height:0;margin:0 0 8px}
#serv .serv-grid .scard p{font-size:13.5px;line-height:1.45;margin:0}
#serv .tags{margin-top:14px;gap:6px}
#serv .tags span{font-size:10.5px;line-height:1.35;padding:5px 9px;background:rgba(7,18,30,.6)}
@media screen and (max-width:1099px){#serv .serv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#serv .serv-grid .scard{padding:15px 17px}#serv .serv-grid .num{font-size:23px;margin-bottom:8px}#serv .serv-grid .scard h3{font-size:17px}#serv .serv-grid .scard p{font-size:13.5px}}
@media screen and (max-width:559px){#serv .services-background{top:330px;max-width:none}#serv .serv-grid{grid-template-columns:minmax(0,1fr);margin-top:180px;gap:11px}#serv .serv-grid .scard{padding:15px 17px}#serv .serv-grid .num{font-size:22px}#serv .serv-grid .scard h3{font-size:17px}#serv .serv-grid .scard p{font-size:14px}#serv .tags span{font-size:10px}}
@media print{#serv{padding-bottom:15mm}#serv .services-background{top:12mm;width:100%;max-width:220mm;aspect-ratio:1024/572;background-size:100% 100%}#serv .serv-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:38mm;gap:3mm;break-inside:avoid}#serv .serv-grid .scard{padding:3mm;border-radius:2mm}#serv .serv-grid .num{font-size:15pt;margin-bottom:2mm}#serv .serv-grid .scard h3{font-size:11pt;line-height:1.18;margin-bottom:2mm}#serv .serv-grid .scard p{font-size:8.5pt;line-height:1.4}#serv .tags{margin-top:4mm}#serv .tags span{font-size:7pt;padding:1mm 2mm}}

#construction{isolation:isolate;overflow:hidden;background:#0b1723}
#construction .construction-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:58% center;background-repeat:no-repeat}
#construction .construction-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(5,14,24,.86) 0%,rgba(5,14,24,.77) 52%,rgba(5,14,24,.6) 100%),linear-gradient(180deg,rgba(5,14,24,.08) 0%,rgba(5,14,24,.02) 55%,rgba(5,14,24,.34) 100%)}
#construction>.rv,#construction>.feature-grid{position:relative;z-index:2}
#construction>.foot{z-index:2;color:#cfdee8}
#construction .h2,#construction .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#construction .lead{color:#e1ebf2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#construction .service-item{border-top-color:rgba(215,232,243,.24)}
#construction .service-item h3{color:#f2f7fa}
#construction .service-item p{color:#d9e5ee}
#construction .construction-stage-caption{color:#eff5f9;text-shadow:0 1px 8px rgba(0,0,0,.4)}
#construction .construction-gallery>figcaption{color:#c8d9e5;text-shadow:0 1px 8px rgba(0,0,0,.4)}
@media screen and (max-width:760px){#construction .construction-background{background-position:60% center}#construction .construction-overlay{background:linear-gradient(100deg,rgba(5,14,24,.84),rgba(5,14,24,.79)),linear-gradient(180deg,transparent 60%,rgba(5,14,24,.2))}}
@media screen and (max-width:520px){#construction>.foot{position:relative;inset:auto}}
@media print{#construction>.foot{position:relative;inset:auto}}

#maintenance{isolation:isolate;overflow:hidden;background:#0b1723}
#maintenance .maintenance-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 18%;background-repeat:no-repeat}
#maintenance .maintenance-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(5,14,24,.83) 0%,rgba(5,14,24,.73) 48%,rgba(5,14,24,.55) 100%),linear-gradient(180deg,rgba(5,14,24,.14) 0%,rgba(5,14,24,.02) 55%,rgba(5,14,24,.34) 100%)}
#maintenance>.rv,#maintenance>.feature-grid{position:relative;z-index:2}
#maintenance>.foot{z-index:2;color:#cfdee8}
#maintenance .h2,#maintenance .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#maintenance .lead{color:#e1ebf2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#maintenance .service-item{border-top-color:rgba(215,232,243,.24)}
#maintenance .service-item h3{color:#f2f7fa}
#maintenance .service-item p{color:#d9e5ee}
#maintenance .maintenance-gallery>figcaption{color:#d0dfe9;text-shadow:0 1px 8px rgba(0,0,0,.4)}
@media screen and (max-width:880px){#maintenance .maintenance-background{background-position:25% center}#maintenance .maintenance-overlay{background:linear-gradient(100deg,rgba(5,14,24,.83),rgba(5,14,24,.77)),linear-gradient(180deg,transparent 60%,rgba(5,14,24,.2))}}
@media screen and (max-width:520px){#maintenance>.foot{position:relative;inset:auto}}
@media print{#maintenance>.foot{position:relative;inset:auto}}

#foundations{isolation:isolate;overflow:hidden;background:#0b1723}
#foundations .foundations-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 80%;background-repeat:no-repeat}
#foundations .foundations-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(5,14,24,.88) 0%,rgba(5,14,24,.8) 52%,rgba(5,14,24,.62) 100%),linear-gradient(180deg,rgba(5,14,24,.08) 0%,rgba(5,14,24,.02) 60%,rgba(5,14,24,.24) 100%)}
#foundations>.rv,#foundations>.foundations-layout{position:relative;z-index:2}
#foundations>.foot{z-index:2;color:#cfdee8}
#foundations .h2,#foundations .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#foundations .foundation-experience-title{color:var(--em);text-shadow:0 2px 12px rgba(0,0,0,.4)}
#foundations .foundation-experience-copy{color:#edf4f8}
#foundations .foundation-experience-context{color:#d9e5ee}
#foundations .foundation-step{border-top-color:rgba(215,232,243,.24)}
#foundations .foundation-step h3{color:#f2f7fa}
#foundations .foundation-step p,#foundations .foundations-outcome{color:#d9e5ee}
#foundations .foundations-gallery>figcaption{color:#cfdee8;text-shadow:0 1px 8px rgba(0,0,0,.4)}
@media screen and (max-width:760px){#foundations .foundations-background{background-position:50% 75%}#foundations .foundations-overlay{background:linear-gradient(100deg,rgba(5,14,24,.85),rgba(5,14,24,.8)),linear-gradient(180deg,transparent 60%,rgba(5,14,24,.18))}}
@media screen and (max-width:520px){#foundations>.foot{position:relative;inset:auto}}
@media print{#foundations>.foot{position:relative;inset:auto}}

#emergencies{isolation:isolate;overflow:hidden;background:#0b1723}
#emergencies .emergencies-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 60%;background-repeat:no-repeat}
#emergencies .emergencies-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(5,14,24,.85) 0%,rgba(5,14,24,.77) 50%,rgba(5,14,24,.6) 100%),linear-gradient(180deg,rgba(5,14,24,.1) 0%,rgba(5,14,24,.02) 55%,rgba(5,14,24,.28) 100%)}
#emergencies>.rv,#emergencies>.feature-grid{position:relative;z-index:2}
#emergencies>.foot{z-index:2;color:#cfdee8}
#emergencies .h2,#emergencies .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#emergencies .lead{color:#e1ebf2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#emergencies .response-pill{background:rgba(5,20,31,.76);border-color:rgba(52,211,153,.38)}
#emergencies .subheading{color:#f2f7fa}
#emergencies .history-stats span,#emergencies .small-note{color:#d6e4ee}
#emergencies .winter-gallery>figcaption{color:#cfdee8;text-shadow:0 1px 8px rgba(0,0,0,.4)}
@media screen and (max-width:880px){#emergencies .emergencies-background{background-position:47% center}#emergencies .emergencies-overlay{background:linear-gradient(100deg,rgba(5,14,24,.84),rgba(5,14,24,.78)),linear-gradient(180deg,transparent 60%,rgba(5,14,24,.2))}}
@media screen and (max-width:520px){#emergencies>.foot{position:relative;inset:auto}}
@media print{#emergencies>.foot{position:relative;inset:auto}}

#map{isolation:isolate;overflow:hidden;background:#071828}
#map .presence-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}
#map .presence-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(4,13,23,.76) 0%,rgba(4,13,23,.65) 48%,rgba(4,13,23,.4) 100%),linear-gradient(180deg,rgba(4,13,23,.08) 0%,transparent 55%,rgba(4,13,23,.3) 100%)}
#map>.grid{position:relative;z-index:2}
#map>.foot{z-index:2;color:#cfdee8}
#map .h2,#map .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#map .lead{color:#dfeaf2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#map .deleg .city{color:#f2f7fa}
#map .deleg li{border-bottom-color:rgba(215,232,243,.22)}
#map .maplegend{color:#d4e2ec}
#map .mapfig{min-width:0;background:rgba(5,16,28,.9);border:1px solid rgba(198,223,237,.16);border-radius:16px;padding:18px}
@media screen and (max-width:880px){#map .presence-background{background-position:52% center}#map .presence-overlay{background:linear-gradient(100deg,rgba(4,13,23,.8),rgba(4,13,23,.68))}#map .mapfig{padding:14px}}
@media screen and (max-width:520px){#map>.foot{position:relative;inset:auto}#map .mapfig{padding:10px;border-radius:12px}}
@media print{#map>.foot{position:relative;inset:auto}#map .mapfig{padding:3mm}}

#avifauna{isolation:isolate;overflow:hidden;background:#050e18;justify-content:flex-start;padding-top:calc(20vw + 28px)}
#avifauna .avifauna-background{position:absolute;inset:0 0 auto;height:56.1165vw;z-index:0;pointer-events:none;background-size:100% 100%;background-position:center top;background-repeat:no-repeat}
#avifauna .avifauna-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,14,24,.06) 0,rgba(5,14,24,.1) 16vw,rgba(5,14,24,.68) 21vw,rgba(5,14,24,.96) 34vw,#050e18 56.1165vw)}
#avifauna>.rv,#avifauna>.avifauna-layout{position:relative;z-index:2}
#avifauna>.foot{z-index:2;color:#cfdee8}
#avifauna .h2,#avifauna .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#avifauna .lead{color:#e1ebf2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#avifauna h3{color:#f2f7fa}
#avifauna .avifauna-copy p{color:#d9e5ee}
#avifauna .avifauna-commitment b,#avifauna .avifauna-evidence b{color:#edf4f8}
#avifauna .avifauna-contract,#avifauna .avifauna-client,#avifauna .avifauna-evidence{border-top-color:rgba(215,232,243,.24)}
#avifauna .avifauna-photo>figcaption{color:#cfdee8;text-shadow:0 1px 8px rgba(0,0,0,.4)}
@media screen and (max-width:640px){#avifauna{padding-top:calc(27vw + 126px)}#avifauna .avifauna-background,#avifauna .avifauna-overlay{top:78px}}
@media screen and (max-width:520px){#avifauna>.foot{position:relative;inset:auto}}
@media print{#avifauna{padding-top:62mm}#avifauna .avifauna-background{top:0;height:auto;aspect-ratio:515/289}#avifauna .avifauna-overlay{top:0;background:linear-gradient(180deg,rgba(5,14,24,.06) 0,rgba(5,14,24,.1) 42mm,rgba(5,14,24,.7) 56mm,rgba(5,14,24,.98) 90mm,#050e18 154mm)}#avifauna>.foot{position:relative;inset:auto}}

#clients{isolation:isolate;overflow:hidden;background:#0b1723}
#clients .experience-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:50% 45%;background-repeat:no-repeat}
#clients .experience-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(5,14,24,.84) 0%,rgba(5,14,24,.73) 52%,rgba(5,14,24,.53) 100%),linear-gradient(180deg,rgba(5,14,24,.12) 0%,rgba(5,14,24,.02) 55%,rgba(5,14,24,.28) 100%)}
#clients>.rv{position:relative;z-index:2}
#clients>.foot{z-index:2;color:#cfdee8}
#clients .h2,#clients .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.35)}
#clients .experience-summary .lead{color:#e1ebf2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#clients .experience-summary-detail{color:#d4e3ed;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#clients .experience-clients{background:transparent}
#clients .experience-clients-title{text-shadow:0 1px 8px rgba(0,0,0,.4)}
#clients .experience-logo-grid{background:rgba(9,24,39,.9);border-color:rgba(214,229,241,.2)}
@media screen and (max-width:760px){#clients .experience-background{background-position:72% center}#clients .experience-overlay{background:linear-gradient(100deg,rgba(5,14,24,.84),rgba(5,14,24,.77)),linear-gradient(180deg,transparent 60%,rgba(5,14,24,.18))}}
@media screen and (max-width:520px){#clients>.foot{position:relative;inset:auto}}
@media print{#clients>.foot{position:relative;inset:auto}}
