@font-face {
font-family: 'Archivo';
font-style: normal;
font-weight: 400;
font-stretch: 100%;
font-display: swap;
src: url(../../assets/fonts/8f704806dbed.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: 'Archivo';
font-style: normal;
font-weight: 500;
font-stretch: 100%;
font-display: swap;
src: url(../../assets/fonts/8f704806dbed.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: 'Archivo';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
font-display: swap;
src: url(../../assets/fonts/8f704806dbed.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: 'Archivo';
font-style: normal;
font-weight: 700;
font-stretch: 100%;
font-display: swap;
src: url(../../assets/fonts/8f704806dbed.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: 'Archivo';
font-style: normal;
font-weight: 800;
font-stretch: 100%;
font-display: swap;
src: url(../../assets/fonts/8f704806dbed.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(../../assets/fonts/b56db40c2685.ttf) format('truetype');
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 600;
font-stretch: normal;
font-display: swap;
src: url(../../assets/fonts/284891c74c25.ttf) format('truetype');
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 800;
font-stretch: normal;
font-display: swap;
src: url(../../assets/fonts/50fe1039eb3f.ttf) format('truetype');
}
:root{
--bg:#090d15; --bg2:#0e1521; --ink:#eaf0f8; --mut:#93a1b6; --faint:#5a6878;
--em:#72c9e8; --em2:#379bbf; --emdim:rgba(114,201,232,.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}
.bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;
background:
radial-gradient(900px 600px at 78% 12%, rgba(114,201,232,.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);
}
.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(114,201,232,.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)}
.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 .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 .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)}
#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 .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 .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 .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(114,201,232,.07);stroke:rgba(114,201,232,.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(114,201,232,.45);background:linear-gradient(180deg,rgba(114,201,232,.10),var(--card));box-shadow:0 8px 30px rgba(114,201,232,.12)}
.tcard.hi::after{width:4px;box-shadow:0 0 14px rgba(114,201,232,.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(114,201,232,.45);border-radius:999px;padding:3px 9px;font-weight:600}
.tcard.lo{padding:15px 18px;opacity:.94}
.tcard.lo::after{width:2px;background:rgba(114,201,232,.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(114,201,232,.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(114,201,232,.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,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(114,201,232,.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:#72c9e8}
#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 #72c9e8;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 #72c9e8;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(114,201,232,.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}}
:root{--bg:#080f19;--bg2:#101e2e;--ink:#edf4fb;--mut:#cfdae4;--faint:#9aafbf;--em:#72c9e8;--em2:#379bbf;--emdim:rgba(114,201,232,.12);--line:rgba(255,255,255,.2);--card:rgba(6,20,34,.8)}
body{overflow-x:hidden}.brand{left:28px;top:23px;gap:12px;padding:9px 13px;background:rgba(7,16,27,.85);border:1px solid rgba(255,255,255,.14);border-radius:13px;backdrop-filter:blur(12px)}.brand .brand-logo{width:128px;height:45px;object-fit:contain;background:#fff;padding:4px;border-radius:4px}.brand .nm{font-size:12px;font-family:var(--body);letter-spacing:0;line-height:1.5;color:#c7d5df}.brand .nm small{font-size:9px;letter-spacing:.1em;color:#9fbbcc}
.dots{right:22px;gap:9px}.dots button{width:8px;height:8px;border-color:#9eb4c5}.dots button.on{background:var(--em);border-color:var(--em)}.hint{color:#b6c8d6;font-size:10px;background:rgba(5,14,24,.84)}
section.scene{position:relative;isolation:isolate;min-height:100svh;display:flex;justify-content:center;padding:116px 7vw 80px;overflow:hidden;background:#081522}.scene>.scene-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-repeat:no-repeat;background-position:center;pointer-events:none}.scene>.scene-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(3,12,24,.93),rgba(3,12,24,.80) 52%,rgba(3,12,24,.49))}.scene>.content{position:relative;z-index:2;width:100%;max-width:1450px}.scene>.foot{z-index:2;left:7vw;right:7vw;bottom:25px;color:#b8cad8;font-size:10px}.scene .eyebrow{font-size:11px;color:var(--em);letter-spacing:.23em;margin-bottom:18px}.scene .h2{font-size:clamp(34px,4.4vw,60px);line-height:1.08;max-width:1100px;margin-bottom:20px;text-shadow:0 2px 18px #0003}.scene .lead{font-size:clamp(17px,1.55vw,21px);line-height:1.55;color:#cfdeea;max-width:65ch}.scene h3{font-family:var(--disp);font-weight:600}.scene p{line-height:1.55}.scene .small-note{color:#bdcedb;font-size:12px}.scene-bg,.scene-shade{aria-hidden:true}
#cover .scene-bg{left:34%;background-position:70% center}#cover .scene-shade{background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.96) 24%,rgba(7,17,31,.67) 51%,rgba(7,17,31,.08) 100%)}#cover .h1{font-size:clamp(64px,10.7vw,150px);line-height:1;letter-spacing:-.04em}#cover .hero-tag{font-family:var(--disp);font-size:clamp(31px,3.4vw,48px);font-weight:600;line-height:1.13;margin-top:20px;max-width:780px}#cover .hero-motto{font-size:clamp(21px,2vw,29px);color:var(--em);margin-top:23px}#cover .lead{max-width:650px;margin-top:14px;font-size:18px}#cover .cover-stats{display:flex;margin-top:32px;gap:26px;flex-wrap:wrap}#cover .cs+.cs{padding-left:26px;border-left:1px solid #a3c4dd33}#cover .cs .n{font-family:var(--disp);font-size:32px;color:#a6dff1;font-weight:600;line-height:1.15}#cover .cs .l{font-size:10px;color:#b9cad8;margin-top:11px;letter-spacing:.11em;text-transform:uppercase}
.group-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;margin-top:38px;max-width:1130px}.group-focus{padding-top:22px;border-top:1px solid #73c8e888}.group-focus>span{color:var(--em);font-size:13px;letter-spacing:.18em}.group-focus h3{font-size:38px;margin:15px 0}.group-focus p{font-size:20px;color:#ccdae5;max-width:34ch}.group-support h3{font-size:24px;margin-bottom:18px}.group-support dl>div{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;padding:14px 0;border-top:1px solid var(--line)}.group-support dt{color:#a7ddef;font-size:17px}.group-support dd{font-size:16px;color:#c9d9e6}
#serv{justify-content:center}#serv .scene-bg{background-position:55% 45%}#serv .scene-shade{background:linear-gradient(180deg,rgba(4,13,23,.9),rgba(4,13,23,.63) 45%,rgba(4,13,23,.77))}#serv .serv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:clamp(65px,10vw,145px)}#serv .serv-grid .scard{padding:25px 22px;background:rgba(6,20,33,.88);border:1px solid #b3d7ef38;border-radius:14px;backdrop-filter:blur(6px)}#serv .serv-grid .num{font-size:31px;margin-bottom:25px}#serv .serv-grid .scard h3{font-size:24px;line-height:1.12;min-height:55px;margin-bottom:14px}#serv .serv-grid .scard p{font-size:16px;line-height:1.5;color:#ccdae5}.service-endnote{font-size:15px;color:#c9dbe9;margin-top:25px}
.method-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center;margin-top:34px}.method-list{display:grid;gap:23px}.method-list article{display:grid;grid-template-columns:38px 1fr;gap:17px;padding-top:20px;border-top:1px solid var(--line)}.method-list article>span{font-family:var(--disp);font-size:25px;color:var(--em)}.method-list h3{font-size:26px;margin-bottom:8px}.method-list p{font-size:17px;color:#c9dbe7}.method-photo img{display:block;width:100%;height:auto;border-radius:14px}.method-photo figcaption{color:#afc5d4;font-size:11px;margin-top:11px}.photo-led .narrow{max-width:650px}.photo-led .scene-bg{left:30%;background-position:75% center}.photo-led .scene-shade{background:linear-gradient(90deg,rgba(5,16,29,1),rgba(5,16,29,.96) 29%,rgba(5,16,29,.7) 54%,rgba(5,16,29,.18))}.photo-led .service-list{margin-top:30px;max-width:550px;gap:20px}.photo-led .service-item{padding-top:15px}.photo-led .service-item h3{font-size:24px}.photo-led .service-item p{font-size:17px;color:#c9dce9}#height .scene-bg{background-position:80% center}#height .scene-shade{background:linear-gradient(90deg,#061324 0%,rgba(6,19,36,.96) 30%,rgba(6,19,36,.64) 58%,rgba(6,19,36,.12))}#solar .scene-bg{background-position:65% center}
#digital .scene-bg{left:44%;background-position:center}#digital .scene-shade{background:linear-gradient(90deg,#061222,rgba(6,18,34,.9) 40%,rgba(6,18,34,.38))}.digital-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:55px;max-width:1100px}.digital-grid article{padding-top:22px;border-top:1px solid #81cbea66}.digital-grid .num{font-size:34px;margin-bottom:22px}.digital-grid h3{font-size:29px;margin-bottom:15px}.digital-grid p{font-size:19px;color:#d0dfe9}.sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 55px;margin-top:38px;max-width:1100px}.sector-grid article{border-top:1px solid #b1d8eb55;padding-top:22px;display:grid;grid-template-columns:45px 1fr;column-gap:13px}.sector-grid article>span{grid-row:1/3;font-family:var(--disp);font-size:27px;color:var(--em)}.sector-grid h3{font-size:29px;margin-bottom:13px}.sector-grid p{font-size:18px;color:#cddce8}
.client-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:rgba(7,20,33,.70);padding:22px;border-radius:15px;border:1px solid #b6d8e72e;margin-top:32px}.client-logo{display:grid;place-items:center;min-height:105px;background:#fff;border-radius:7px;padding:13px 17px}.client-logo img{width:100%;height:65px;object-fit:contain}.client-logo:last-child{grid-column:auto}.logo-note{font-size:11px;color:#adc4d5;margin-top:17px}#clients .scene-shade{background:linear-gradient(110deg,rgba(5,16,29,.94),rgba(5,16,29,.78))}
#growth .growth-comparison{margin:24px 0;gap:45px}#growth .growth-comparison strong{color:var(--em)}#growth .growth-projection strong{color:var(--am)}#growth .growth-comparison p{font-size:25px;max-width:510px}#growth .growth-evolution{margin:0;padding:19px 24px 8px;background:rgba(5,17,31,.84);border:1px solid #badced40;border-radius:14px}.chartwrap .ct{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15px;margin-bottom:4px}.legend{display:flex;gap:24px;font-size:12px;color:#c1d6e4}.legend span{display:flex;align-items:center;gap:8px}.real-line{width:20px;height:3px;background:var(--em)}.forecast-line{width:20px;border-top:3px dashed var(--am)}#growth .growth-line-chart{width:100%;height:auto;max-height:290px;display:block;min-width:660px}#growth .growth-chart-scroll{overflow-x:auto}#growth .growth-reading{font-size:12px;margin-top:16px;max-width:1140px}.growth-values{margin-top:12px;font-size:12px;color:#bdd2df}.growth-values summary{cursor:pointer;display:inline-block;border-bottom:1px dotted #bdd2df}.growth-values table{width:100%;max-width:700px;margin-top:12px;border-collapse:collapse;background:#061425ee}.growth-values th,.growth-values td{padding:9px 14px;text-align:left;border-bottom:1px solid var(--line)}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 50px;margin-top:37px;max-width:1100px}.team-grid article{border-top:1px solid var(--line);padding:25px 0 3px}.team-grid .role{display:block;color:var(--em);font-size:12px;letter-spacing:.13em;text-transform:uppercase}.team-grid h3{font-size:34px;margin:13px 0 11px}.team-grid p{font-size:18px;color:#c5d9e6;max-width:48ch}#equipo .scene-shade{background:linear-gradient(90deg,rgba(5,15,28,.97),rgba(5,15,28,.72))}
.presence-layout{display:grid;grid-template-columns:1.06fr 1fr;gap:4%;align-items:center}.presence-map{min-width:0}.presence-map svg{width:100%;height:auto;max-height:520px;display:block;overflow:visible}.locations{list-style:none;display:grid;margin-top:28px}.locations li{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-top:1px solid var(--line)}.locations li>span{font-family:var(--disp);font-size:22px}.locations small{display:block;color:#a8c1d2;font-family:var(--body);font-size:12px;margin-top:4px}.locations b{font-size:12px;font-weight:500;color:var(--em);white-space:nowrap}.locations .planned b{color:var(--am)}
#quality .quality-grid{margin-top:25px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#quality .quality-grid .scard{padding:25px;background:rgba(4,18,31,.86);border:1px solid #bae3f344;border-top:3px solid var(--em);border-radius:13px}#quality .quality-grid .num{font-size:35px;margin-bottom:20px}#quality .quality-grid .scard h3{font-size:25px;min-height:0;margin-bottom:13px}#quality .quality-grid .scard p{font-size:17px;color:#cadbe7}.sustainability-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:28px}.sustainability-row>div{padding-top:20px;border-top:1px solid var(--line)}.sustainability-row span{display:block;color:var(--em);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}.sustainability-row h3{font-size:24px;margin-bottom:8px}.sustainability-row p{font-size:16px;color:#c5d8e5}
#contact .scene-bg{background-position:65% center}#contact .scene-shade{background:linear-gradient(90deg,rgba(4,13,25,.97),rgba(4,13,25,.86) 44%,rgba(4,13,25,.36))}#contact .h2{font-size:clamp(41px,5.5vw,78px);line-height:1.07}#contact .lead{max-width:720px}#contact .contact-links{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:24px;margin-top:60px}#contact .contact-links a{display:block;padding-top:24px;border-top:1px solid #c6e1f055;text-decoration:none}#contact .contact-links span{display:block;font-size:11px;color:#a6c5d8;letter-spacing:.15em;text-transform:uppercase;margin-bottom:15px}#contact .contact-links strong{font-family:var(--disp);font-weight:600;color:var(--em);font-size:clamp(24px,2.5vw,35px)}#contact .contact-links a:hover strong{text-decoration:underline;text-underline-offset:7px}
@media(max-width:1100px){#serv .serv-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:65px}.group-layout{gap:5%}.brand .nm{display:none}.scene .h2{font-size:44px}.client-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.method-layout{gap:5%}#cover .cs .n{font-size:27px}#quality .quality-grid .num{font-size:28px}}
@media(max-width:760px){section.scene{padding:108px 6vw 70px;min-height:100svh}.brand{top:15px;left:16px;padding:5px 9px}.brand .brand-logo{width:108px;height:39px}.dots{right:12px;gap:9px}.scene .h2{font-size:clamp(33px,6vw,44px)}.scene .lead{font-size:18px}.scene .eyebrow{font-size:10px;letter-spacing:.18em}.scene>.foot{position:relative;inset:auto;margin-top:36px;gap:15px;font-size:9px}.scene .scene-bg{left:0}.scene .scene-shade{background:linear-gradient(90deg,rgba(4,14,27,.90),rgba(4,14,27,.77))}#cover .scene-bg{left:0;background-position:68% center}#cover .scene-shade{background:linear-gradient(90deg,rgba(5,16,30,.95),rgba(5,16,30,.64))}#cover .h1{font-size:clamp(60px,14vw,92px)}#cover .hero-tag{font-size:34px}#cover .hero-motto{font-size:23px}#cover .cs .n{font-size:27px}#cover .cover-stats{gap:24px}#cover .cs+.cs{padding-left:0;border:0}#cover .cs.countries{flex-basis:100%}.group-layout,.method-layout,.presence-layout{grid-template-columns:1fr;gap:32px}.group-support dl>div{grid-template-columns:1fr 1.1fr}.group-focus h3{font-size:32px}.method-photo{max-width:480px}.photo-led .narrow{max-width:100%}.photo-led .service-list{max-width:100%}.photo-led .scene-shade,#height .scene-shade{background:linear-gradient(90deg,rgba(5,16,30,.91),rgba(5,16,30,.77))}#height .scene-bg{background-position:62% center}#solar .scene-bg{background-position:48% center}.digital-grid{grid-template-columns:1fr;gap:22px;margin-top:30px}.digital-grid article{display:grid;grid-template-columns:42px 1fr;gap:9px 15px}.digital-grid .num{grid-row:1/3;margin:0;font-size:25px}.digital-grid h3{font-size:27px;margin:0}.digital-grid p{font-size:17px}.sector-grid{gap:25px}.sector-grid h3{font-size:25px}.sector-grid p{font-size:17px}.team-grid{gap:27px}.team-grid h3{font-size:28px}.team-grid p{font-size:16px}.team-grid .role{font-size:10px}.presence-map{max-width:570px;width:100%;margin:auto}.presence-map svg{max-height:480px}.locations li>span{font-size:21px}#quality .quality-grid{grid-template-columns:1fr}#quality .quality-grid .num{font-size:33px}.sustainability-row{gap:25px}#growth .growth-comparison{gap:20px}#growth .growth-comparison p{font-size:22px}#growth .growth-evolution{padding:16px 12px 8px}.chartwrap .ct{align-items:start;flex-direction:column;margin-bottom:15px}.legend{font-size:11px}#contact .contact-links{grid-template-columns:1fr;gap:24px;margin-top:35px}#contact .contact-links strong{font-size:31px}#contact .contact-links span{margin-bottom:10px}.hint{display:none}}
@media(max-width:480px){.scene .h2{font-size:34px}#cover .hero-tag{font-size:29px}#cover .lead{font-size:17px}#cover .eyebrow{max-width:260px;line-height:1.6}#cover .eyebrow::before{flex-shrink:0}#serv .serv-grid{grid-template-columns:1fr;margin-top:38px;gap:15px}#serv .serv-grid .scard h3{min-height:0;font-size:25px}#serv .serv-grid .num{margin-bottom:16px}.group-support dl>div{grid-template-columns:1fr;gap:7px}.sector-grid,.team-grid,.sustainability-row{grid-template-columns:1fr}.client-wall{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px}.client-logo{padding:12px 10px;min-height:78px}.client-logo img{height:46px}.client-logo:last-child{grid-column:1/-1;max-width:50%;width:100%;justify-self:center}#growth .growth-comparison{grid-template-columns:1fr}.presence-map svg{max-height:380px}.locations li{gap:10px}.locations li>span{font-size:19px}.locations b{font-size:11px}#contact .h2{font-size:40px}.foot span:last-child{white-space:nowrap}}
@media print{@page{size:A4 landscape;margin:0}html,body{background:#081522!important;color:#edf4fb!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.brand,.dots,.hint,.prog{display:none!important}section.scene{min-height:210mm;padding:15mm 15mm 13mm;break-after:page;page-break-after:always;overflow:hidden}.scene .h2{font-size:29pt}.scene .lead{font-size:12pt}.scene>.foot{position:relative;inset:auto;margin-top:7mm}.scene .eyebrow{font-size:8pt}.scene .scene-bg{left:0}.scene .scene-shade{background:linear-gradient(90deg,#041222ed,#041222b8)}#cover .h1{font-size:70pt}#cover .hero-tag{font-size:29pt}#cover .hero-motto{font-size:18pt}#cover .cs .n{font-size:22pt}.group-layout,.method-layout,.presence-layout{grid-template-columns:1fr 1fr}.group-focus h3{font-size:23pt}.group-focus p,.group-support dt,.group-support dd{font-size:11pt}#serv .serv-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30mm}#serv .serv-grid .scard{padding:5mm}#serv .serv-grid .scard h3{font-size:15pt;min-height:0}#serv .serv-grid .scard p{font-size:10pt}.method-list article{padding-top:3mm}.method-list{gap:4mm}.method-list h3,.photo-led .service-item h3{font-size:16pt}.method-list p,.photo-led .service-item p{font-size:11pt}.method-photo{max-width:80mm;justify-self:center}.photo-led .narrow{max-width:150mm}.photo-led .scene-bg{left:20%}.photo-led .service-list{max-width:135mm}.digital-grid h3{font-size:18pt}.digital-grid p,.sector-grid p,.team-grid p{font-size:11pt}.digital-grid{grid-template-columns:repeat(3,1fr)}.sector-grid{grid-template-columns:repeat(2,1fr)}.sector-grid h3,.team-grid h3{font-size:21pt}.client-wall{grid-template-columns:repeat(4,1fr);gap:3mm;padding:4mm}.client-logo{min-height:22mm}.client-logo img{height:15mm}#growth .growth-comparison p{font-size:15pt}#growth .growth-line-chart{min-width:0;max-height:78mm}#growth .growth-chart-scroll{overflow:visible}.growth-values{display:none}#growth .growth-reading{font-size:8pt}.team-grid{grid-template-columns:repeat(2,1fr)}.presence-map svg{max-height:150mm}#quality .quality-grid{grid-template-columns:repeat(3,1fr)}#quality .quality-grid .num{font-size:24pt}#quality .quality-grid .scard h3{font-size:17pt}#quality .quality-grid .scard p{font-size:11pt}.sustainability-row h3{font-size:16pt}.sustainability-row p{font-size:10pt}#contact .h2{font-size:40pt}#contact .contact-links{grid-template-columns:1.2fr 1fr 1fr}#contact .contact-links strong{font-size:21pt}.scene:last-child{break-after:auto;page-break-after:auto}}
.cryo-detail .scene-bg{background-position:70% center}
.cryo-detail .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.96),rgba(3,13,25,.88) 58%,rgba(3,13,25,.70))}
.cryo-detail .lead{max-width:940px}
.cryo-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;margin-top:28px}
.cryo-points{display:grid;gap:19px}
.cryo-points article{border-top:1px solid var(--line);padding-top:17px}
.cryo-detail h3{font-size:25px;line-height:1.18;margin-bottom:8px}
.cryo-detail .cryo-copy p,.cryo-residue p{font-size:17px;color:#ccdce9;line-height:1.5}
.cryo-evidence{margin:0;max-width:440px;justify-self:center}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:390px}
.before-after span{display:block;color:var(--em);font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:10px}
.before-after img{display:block;width:100%;height:auto;border-radius:7px;border:1px solid #a4cbe655}
.cryo-detail figcaption{font-size:11px;color:#b8ccda;line-height:1.55;margin-top:12px}
.cryo-residue{margin-top:24px;padding-top:17px;border-top:1px solid #72c9e877}
.cryo-residue h3{font-size:21px;color:#a6def0}
.cryo-applications,.cryo-snow{display:grid;grid-template-columns:135px 1fr;gap:22px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.cryo-applications>span,.cryo-snow>span{color:var(--em);font-size:11px;text-transform:uppercase;letter-spacing:.12em;line-height:1.65}
.cryo-applications p,.cryo-snow p{font-size:16px;color:#cbdde9;line-height:1.6}
.cryoadd-layout{grid-template-columns:1.3fr 1fr;gap:8%}
.cryo-use-list{list-style:none;padding:0;margin:0}
.cryo-use-list li{font-size:18px;color:#d5e4ee;line-height:1.45;border-bottom:1px solid var(--line);padding:10px 0}
.cryo-add-photo{justify-self:center;max-width:290px;margin:0}
.cryo-add-photo img{display:block;width:229px;height:auto;margin:auto;border:1px solid #a4cbe62e;border-radius:8px}
.cryo-snow strong{color:#eff7fc;font-weight:600}
@media(min-width:1101px){section.cryo-detail{padding-top:108px;padding-bottom:62px}.cryo-detail .h2{font-size:clamp(42px,3.9vw,60px);margin-bottom:15px}.cryo-detail .lead{font-size:18px;line-height:1.5}.cryo-layout{margin-top:20px}.cryo-points{gap:14px}.cryo-points article{padding-top:12px}.cryo-detail h3{font-size:24px;margin-bottom:7px}.cryo-residue{margin-top:18px;padding-top:13px}.cryo-residue h3{font-size:21px}.cryo-applications,.cryo-snow{margin-top:20px;padding-top:14px}.cryo-add-photo img{width:190px}.cryo-use-list li{font-size:17px;padding:8px 0}}
@media(min-width:1101px) and (max-height:800px){section.cryo-detail{padding-top:102px;padding-bottom:55px}.cryo-detail .eyebrow{margin-bottom:14px}.cryo-detail .h2{margin-bottom:12px}.cryo-layout{margin-top:16px}.cryo-points{gap:11px}.cryo-use-list li{padding:6px 0}.cryo-applications,.cryo-snow{margin-top:17px;padding-top:12px}}
@media(max-width:760px){.cryo-layout,.cryoadd-layout{grid-template-columns:1fr;gap:28px}.cryo-evidence{max-width:440px;justify-self:start}.before-after{max-width:350px}.cryo-points{gap:20px}.cryo-detail h3{font-size:24px}.cryo-residue h3{font-size:22px}.cryo-applications,.cryo-snow{grid-template-columns:1fr;gap:9px}.cryo-add-photo{justify-self:start}.cryo-detail .lead{font-size:18px}.cryo-use-list li{font-size:17px}}
@media print{.cryo-layout,.cryoadd-layout{grid-template-columns:1.3fr 1fr;gap:7%;margin-top:5mm}.cryo-detail h3{font-size:16pt}.cryo-detail .cryo-copy p,.cryo-residue p{font-size:11pt}.cryo-points{gap:3mm}.cryo-points article{padding-top:3mm}.cryo-residue{margin-top:4mm;padding-top:3mm}.cryo-residue h3{font-size:14pt}.before-after{max-width:85mm}.cryo-detail figcaption{font-size:8pt}.cryo-applications,.cryo-snow{grid-template-columns:35mm 1fr;margin-top:5mm;padding-top:4mm;gap:5mm}.cryo-applications p,.cryo-snow p{font-size:10pt}.cryo-use-list li{font-size:12pt;padding:2mm 0}.cryo-add-photo img{max-height:60mm;width:auto}.cryo-add-photo{max-width:75mm}}
.cryo-process h3>span{display:inline-block;min-width:34px;color:var(--em);font-weight:500;margin-right:4px}
.cryo-technical-extra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:26px 0 12px}
.cryo-detail .cryo-technical-extra h3{font-size:23px;line-height:1.2;margin-bottom:10px}
.cryo-technical-extra p{font-size:17px;color:#ccdce9;line-height:1.55}
.cryo-scope-note{font-size:15px;color:#bdd0de;margin:8px 0 12px}
@media(max-width:760px){.cryo-technical-extra{grid-template-columns:1fr;gap:24px;padding-top:24px}.cryo-detail .cryo-technical-extra h3{font-size:23px}.cryo-scope-note{font-size:16px}}
@media print{.cryo-technical-extra{grid-template-columns:repeat(3,1fr);gap:8mm;padding-top:6mm}.cryo-detail .cryo-technical-extra h3{font-size:16pt}.cryo-technical-extra p{font-size:11pt}.cryo-scope-note{font-size:10pt}}
#concept .scene-shade{background:linear-gradient(100deg,rgba(4,15,28,.96),rgba(4,15,28,.82) 60%,rgba(4,15,28,.65))}
.concept-pillars{margin-top:42px;gap:38px}
.concept-pillars h3{font-size:29px;line-height:1.12}
.concept-pillars p{font-size:18px;line-height:1.6}
.concept-close{margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}
#serv .serv-grid{margin-top:55px}
#serv .serv-grid .scard h3{min-height:0;font-size:27px}
#serv .serv-grid .num{margin-bottom:20px}
.laser-scene .scene-bg{background-position:70% center}
.laser-scene .scene-shade{background:linear-gradient(95deg,rgba(4,15,28,.98),rgba(4,15,28,.84) 56%,rgba(4,15,28,.60))}
.laser-applications{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;margin-top:54px;align-items:start;max-width:1100px}
.laser-intro>span{color:var(--em);font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.laser-intro h3{font-size:35px;line-height:1.14;margin-top:16px}
.laser-applications ul{list-style:none;margin:0;padding:0}
.laser-applications li{font-family:var(--disp);font-size:28px;line-height:1.25;display:flex;gap:24px;padding:22px 0;border-top:1px solid var(--line)}
.laser-applications li>span{color:var(--em);font-size:23px;line-height:1.5}
.laser-note{margin-top:38px}
#vapor .scene-bg{left:35%;background-position:center}
#vapor .scene-shade{background:linear-gradient(90deg,#05101e,rgba(5,16,30,.97) 31%,rgba(5,16,30,.72) 57%,rgba(5,16,30,.12))}
#vapor .service-list{margin-top:40px;gap:30px}
.cryo-extension{margin-top:19px;border-top:1px solid #72c9e866;padding-top:13px}
.cryo-extension>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--em);font-size:15px;font-weight:500;line-height:1.45}
.cryo-extension>summary::-webkit-details-marker{display:none}
.cryo-extension>summary::after{content:'+';font-size:24px;line-height:1}
.cryo-extension[open]>summary::after{content:'−'}
.cryo-extension>summary:focus-visible{outline:2px solid var(--em);outline-offset:7px}
.cryo-extra{padding-top:30px;padding-bottom:12px}
.cryo-detail .cryo-extra-title{font-size:36px;color:#eff7fc;line-height:1.12;margin-bottom:17px}
.cryo-extra .lead{font-size:19px}
.cryo-extra .cryo-layout{margin-top:26px}
@media(min-width:1101px) and (max-height:800px){#concept .digital-grid{margin-top:33px}.concept-pillars h3{font-size:27px}.concept-pillars p{font-size:17px}#serv .h2{font-size:49px}#serv .serv-grid{margin-top:35px}#serv .serv-grid .scard{padding:22px}#serv .serv-grid .num{margin-bottom:15px}#cryogenic .cryo-extension{margin-top:11px;padding-top:9px}#cryogenic .cryo-applications{margin-top:11px;padding-top:10px}#cryogenic .cryo-points{gap:8px}#cryogenic .cryo-points article{padding-top:9px}#cryogenic .cryo-evidence .before-after{max-width:340px}#cryogenic .cryo-evidence .cryo-residue{margin-top:12px;padding-top:10px}}
@media(max-width:760px){.concept-pillars{gap:28px;margin-top:32px}.concept-pillars h3{font-size:26px}.concept-close{margin-top:26px}.laser-applications{grid-template-columns:1fr;gap:28px;margin-top:35px}.laser-intro h3{font-size:30px}.laser-intro h3 br{display:none}.laser-applications li{font-size:24px;gap:19px;padding:20px 0}.laser-note{font-size:16px;margin-top:28px}#vapor .scene-bg{left:0;background-position:62% center}#vapor .scene-shade{background:linear-gradient(90deg,rgba(5,16,30,.95),rgba(5,16,30,.76))}#vapor .service-list{margin-top:30px;gap:25px}.cryo-extra{padding-top:24px}.cryo-detail .cryo-extra-title{font-size:29px}.cryo-extension>summary{font-size:16px}.cryo-extra .lead{font-size:18px}}
@media(max-width:480px){#serv .serv-grid{margin-top:30px}.concept-pillars h3{font-size:24px}}
@media print{.concept-pillars{grid-template-columns:repeat(3,1fr);margin-top:10mm}.concept-pillars h3{font-size:18pt}.concept-pillars p{font-size:11pt}#serv .serv-grid{margin-top:15mm}.laser-applications{grid-template-columns:1fr 1.5fr;gap:12mm;margin-top:12mm}.laser-applications li{font-size:18pt}.laser-intro h3{font-size:22pt}.cryo-extension{break-inside:avoid}.cryo-extra .cryo-extra-title{font-size:22pt}.cryo-extra .lead{font-size:12pt}#vapor .scene-bg{left:20%}}
#concept .h2{font-size:clamp(34px,4vw,56px);max-width:1150px;line-height:1.08;margin-bottom:28px}
#concept .concept-description{max-width:1000px;border-left:2px solid var(--em);padding-left:26px}
#concept .concept-description .lead{font-size:clamp(18px,1.7vw,23px);max-width:none;line-height:1.6}
#concept .concept-description .lead+.lead{margin-top:18px}
#concept .concept-description strong{color:var(--ink);font-weight:600}
@media(max-width:760px){#concept .h2{font-size:clamp(30px,5.5vw,40px)}#concept .h2 br{display:none}#concept .concept-description{padding-left:18px}#concept .concept-description .lead{font-size:18px}}
@media print{#concept .h2{font-size:28pt;margin-bottom:8mm}#concept .concept-description{max-width:240mm;padding-left:6mm}#concept .concept-description .lead{font-size:14pt}#concept .concept-description .lead+.lead{margin-top:5mm}}
#sectors .sector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 35px}
#sectors .sector-grid article{grid-template-columns:32px minmax(0,1fr);column-gap:12px}
#sectors .sector-grid h3{font-size:28px}
@media(max-width:1100px){#sectors .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px}#sectors .sector-grid h3{font-size:26px}}
@media(max-width:600px){#sectors .sector-grid{grid-template-columns:1fr;gap:24px}#sectors .sector-grid h3{font-size:26px}}
@media print{#sectors .sector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8mm}#sectors .sector-grid h3{font-size:20pt}}
@media(min-width:1101px) and (max-height:800px){#cryogenic .cryo-evidence .before-after{max-width:280px}#cryogenic>.content>.lead{max-width:1100px}#cryogenic .cryo-layout{align-items:start}}
#serv .serv-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#serv .serv-grid .scard{padding:23px 18px}
#serv .serv-grid .scard h3{font-size:25px}
#cryoadd .cryoadd-layout{grid-template-columns:1.35fr 1fr;gap:8%;align-items:start;margin-top:30px}
#cryoadd .cryo-add-photo{max-width:330px;justify-self:center}
#cryoadd .cryo-add-photo img{width:229px;max-width:100%}
#cryoadd .cryo-add-photo figcaption{max-width:300px}
@media(min-width:1101px) and (max-height:800px){#serv .serv-grid .scard{padding:21px 18px}#cryoadd .cryoadd-layout{margin-top:22px}}
@media(max-width:1100px){#serv .serv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#serv .serv-grid .scard{padding:22px}#cryoadd .cryoadd-layout{gap:5%}}
@media(max-width:760px){#serv .serv-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}#cryoadd .cryoadd-layout{grid-template-columns:1fr;gap:30px}#cryoadd .cryo-add-photo{justify-self:start}}
@media(max-width:480px){#serv .serv-grid{grid-template-columns:1fr}}
@media print{#serv .serv-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:3mm}#serv .serv-grid .scard{padding:4mm}#serv .serv-grid .scard h3{font-size:15pt}#cryoadd .cryoadd-layout{grid-template-columns:1.35fr 1fr;gap:12mm;margin-top:8mm}#cryoadd .cryo-add-photo img{width:auto;max-height:70mm}}
#cover .scene-bg{left:0;background-position:70% center}
#cover .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#cover .scene-video[hidden]{display:none}
#cover .scene-shade{background:linear-gradient(0deg,rgba(7,17,31,.58),transparent 45%),linear-gradient(90deg,rgba(7,17,31,.94) 0%,rgba(7,17,31,.86) 38%,rgba(7,17,31,.53) 70%,rgba(7,17,31,.24) 100%)}
#cover .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#cover .video-toggle[hidden]{display:none}
#cover .video-toggle:hover{background:#142c42}
#cover .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#cover .scene-video{object-position:65% center}#cover .scene-shade{background:linear-gradient(90deg,rgba(7,17,31,.9),rgba(7,17,31,.66))}#cover .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}}
@media print{#cover .scene-video,#cover .video-toggle{display:none!important}}
#concept.system-scene{padding-top:108px;padding-bottom:70px}
#concept.system-scene .h2{font-size:clamp(32px,3.55vw,50px);line-height:1.1;max-width:1300px;margin-bottom:20px}
#concept .system-intro{font-size:20px;line-height:1.5;max-width:1050px}
#concept .system-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:30px 0 0;position:relative}
#concept .system-flow::before{content:'';position:absolute;left:20px;right:calc(25% - 40px);top:18px;height:1px;background:linear-gradient(90deg,#72c9e899,#72c9e866)}
#concept .system-flow>li{position:relative;min-width:0}
#concept .system-step{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border:1px solid #72c9e8aa;border-radius:50%;background:#0a2030;color:var(--em);font:600 17px var(--disp);margin-bottom:18px}
#concept .system-flow h3{font-size:25px;line-height:1.15;margin-bottom:12px;min-height:58px}
#concept .system-flow p{font-size:17px;color:#cfdeea;line-height:1.55}
#concept .system-flow strong{font-weight:600;color:#edf4fb}
#concept .system-detail{margin-top:28px;border-top:1px solid #72c9e866;padding-top:14px}
#concept .system-detail>summary{display:flex;justify-content:space-between;align-items:center;gap:22px;cursor:pointer;list-style:none;font-size:16px;color:var(--em);line-height:1.5}
#concept .system-detail>summary::-webkit-details-marker{display:none}
#concept .system-detail>summary::after{content:'+';font-size:24px;line-height:1}
#concept .system-detail[open]>summary::after{content:'−'}
#concept .system-detail>summary:focus-visible{outline:2px solid var(--em);outline-offset:6px}
#concept .system-detail-content{padding-top:32px}
#concept .system-explanation{display:grid;grid-template-columns:1fr 1fr;gap:55px}
#concept .system-explanation h3,#concept .system-incidents h3{font-size:26px;line-height:1.2;margin-bottom:15px}
#concept .system-explanation p,#concept .system-incidents p{font-size:18px;line-height:1.6;color:#cfdeea}
#concept .system-explanation p+p{margin-top:14px}
#concept .system-incidents{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
#concept .system-incidents>p{max-width:1050px}
#concept .system-incidents ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;list-style:none;margin:22px 0 10px;padding:0}
#concept .system-incidents li{font-size:16px;line-height:1.4;color:#e1edf5;border-top:1px solid #72c9e877;padding-top:13px}
#concept .system-incidents li>span{color:var(--em);display:inline-block;margin-right:10px;font-weight:600}
@media(min-width:1101px) and (max-height:800px){#concept.system-scene{padding-top:102px;padding-bottom:65px}#concept .system-flow{margin-top:25px;gap:25px}#concept .system-flow::before{right:calc(25% - 37.75px)}#concept .system-step{margin-bottom:15px}#concept .system-flow h3{font-size:24px;min-height:55px;margin-bottom:9px}#concept .system-detail{margin-top:23px;padding-top:12px}}
@media(max-width:1100px){#concept .system-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}#concept .system-flow::before{display:none}#concept .system-flow>li{display:grid;grid-template-columns:38px 1fr;column-gap:16px;align-items:start}#concept .system-step{grid-row:1/3;margin:0}#concept .system-flow h3{min-height:0;font-size:26px;margin:0 0 10px}#concept .system-flow p{grid-column:2}#concept .system-explanation{gap:30px}#concept .system-incidents ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#concept.system-scene{padding-top:108px;padding-bottom:65px}#concept.system-scene .h2{font-size:clamp(30px,5.5vw,40px)}#concept .system-intro{font-size:18px}#concept .system-flow{gap:26px}#concept .system-flow h3{font-size:24px}#concept .system-explanation{grid-template-columns:1fr;gap:26px}#concept .system-detail-content{padding-top:26px}#concept .system-explanation h3,#concept .system-incidents h3{font-size:24px}}
@media(max-width:600px){#concept .system-flow{grid-template-columns:1fr}#concept .system-incidents ol{grid-template-columns:1fr;gap:16px}}
@media print{#concept.system-scene{padding:15mm}#concept.system-scene .h2{font-size:28pt}#concept .system-intro{font-size:13pt}#concept .system-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:6mm;margin-top:9mm}#concept .system-flow>li{display:block}#concept .system-step{margin-bottom:5mm}#concept .system-flow h3{font-size:17pt;min-height:14mm}#concept .system-flow p{font-size:11pt}#concept .system-detail>summary{font-size:11pt}#concept .system-explanation{grid-template-columns:1fr 1fr}#concept .system-explanation p,#concept .system-incidents p{font-size:11pt}#concept .system-incidents ol{grid-template-columns:repeat(4,1fr)}}
#concept .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#concept .scene-video[hidden]{display:none}
#concept .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.89),rgba(3,13,25,.81) 55%,rgba(3,13,25,.78))}
#concept .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#concept .video-toggle[hidden]{display:none}
#concept .video-toggle:hover{background:#142c42}
#concept .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#concept .scene-video{object-position:65% center}#concept .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}}
@media print{#concept .scene-video,#concept .video-toggle{display:none!important}}
#service-control{padding-top:108px;padding-bottom:70px}
#service-control .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.96),rgba(3,13,25,.86) 60%,rgba(3,13,25,.75))}
#service-control .h2{font-size:clamp(33px,3.5vw,49px);line-height:1.1;max-width:1300px;margin-bottom:29px}
#service-control .system-explanation{display:grid;grid-template-columns:1fr 1fr;gap:50px}
#service-control .system-explanation h3,#service-control .system-incidents h3{font-size:25px;line-height:1.2;margin-bottom:13px}
#service-control .system-explanation p,#service-control .system-incidents p{font-size:17px;line-height:1.5;color:#cfdeea}
#service-control .system-explanation p+p{margin-top:13px}
#service-control strong{color:#edf4fb;font-weight:600}
#service-control .system-incidents{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
#service-control .system-incidents>p{max-width:1080px}
#service-control .system-incidents ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;list-style:none;margin:20px 0 0;padding:0}
#service-control .system-incidents li{font-size:16px;line-height:1.4;color:#e1edf5;border-top:1px solid #72c9e877;padding-top:12px}
#service-control .system-incidents li>span{color:var(--em);display:inline-block;margin-right:10px;font-weight:600}
@media(min-width:1101px) and (max-height:800px){#service-control{padding-top:102px;padding-bottom:65px}#service-control .eyebrow{margin-bottom:15px}#service-control .h2{margin-bottom:24px}#service-control .system-incidents{margin-top:20px;padding-top:17px}#service-control .system-incidents ol{margin-top:17px}}
@media(max-width:1100px){#service-control .system-explanation{gap:30px}#service-control .system-incidents ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#service-control{padding-top:108px;padding-bottom:65px}#service-control .h2{font-size:clamp(31px,5.5vw,40px)}#service-control .system-explanation{grid-template-columns:1fr;gap:28px}#service-control .system-explanation h3,#service-control .system-incidents h3{font-size:24px}#service-control .system-explanation p,#service-control .system-incidents p{font-size:18px}}
@media(max-width:480px){#service-control .system-incidents ol{grid-template-columns:1fr;gap:16px}}
@media print{#service-control{padding:15mm}#service-control .h2{font-size:27pt;margin-bottom:8mm}#service-control .system-explanation{grid-template-columns:1fr 1fr;gap:10mm}#service-control .system-explanation h3,#service-control .system-incidents h3{font-size:17pt}#service-control .system-explanation p,#service-control .system-incidents p{font-size:11pt}#service-control .system-incidents{margin-top:7mm;padding-top:5mm}#service-control .system-incidents ol{grid-template-columns:repeat(4,1fr);gap:5mm}#service-control .system-incidents li{font-size:11pt}}
#cryogenic.cryo-gallery-scene{padding-top:104px;padding-bottom:62px}
#cryogenic .cryo-gradient{background:radial-gradient(ellipse at 90% 20%,#20455b 0%,#102738 35%,#061323 80%)}
#cryogenic.cryo-gallery-scene .scene-shade{background:linear-gradient(100deg,#04101d88,#04101d11)}
#cryogenic.cryo-gallery-scene .eyebrow{margin-bottom:14px}
#cryogenic.cryo-gallery-scene .h2{font-size:clamp(36px,3.9vw,56px);max-width:1300px;margin-bottom:15px}
#cryogenic.cryo-gallery-scene .cryo-definition{font-size:19px;line-height:1.5;max-width:1200px}
.cryo-mechanism{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;margin:25px 0 0;padding:0}
.cryo-mechanism li{border-top:1px solid #72c9e866;padding-top:14px}
#cryogenic .cryo-mechanism h3{font-size:23px;line-height:1.2;margin-bottom:9px}
.cryo-mechanism h3>span{color:var(--em);font-size:18px;margin-right:10px}
#cryogenic .cryo-mechanism p{font-size:17px;line-height:1.45;color:#cadce9}
#cryogenic .cryo-technical-note{font-size:16px;line-height:1.5;color:#c8dce8;margin-top:21px;max-width:1200px}
.cryo-technical-note strong{color:#edf4fb;font-weight:600}
.cryo-video-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:23px 0 13px}
#cryogenic .cryo-video-heading h3{font-size:23px;line-height:1.2;margin:0}
.cryo-video-heading>span{font-size:13px;color:var(--em)}
.cryo-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.cryo-video-card{display:block;width:100%;min-width:0;text-align:left;border:0;background:transparent;padding:0;color:var(--ink);cursor:pointer;font-family:var(--body)}
.cryo-video-preview{display:block;position:relative;aspect-ratio:2.55;overflow:hidden;border-radius:8px;border:1px solid #a9d4e855;background:#020a12}
.cryo-video-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease,filter .2s ease;filter:brightness(.79)}
.cryo-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;padding-left:3px;background:#071626dd;border:1px solid #cdebf7cc;border-radius:50%;font-size:18px;color:#fff}
.cryo-video-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.cryo-video-caption strong{font-family:var(--disp);font-size:20px;font-weight:600;line-height:1.2}
.cryo-video-caption>span{font-size:12px;line-height:1.4;color:var(--em);white-space:nowrap}
.cryo-video-card:hover img{transform:scale(1.025);filter:brightness(.98)}
.cryo-video-card:focus-visible{outline:2px solid var(--em);outline-offset:7px;border-radius:8px}
#cryogenic .cryo-source{font-size:11px;line-height:1.45;color:#a8bfce;margin-top:17px}
html.video-modal-open,html.video-modal-open body{overflow:hidden}
.cryo-video-dialog{position:fixed;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1100px,94vw);max-width:94vw;max-height:94svh;margin:0;padding:18px;border:1px solid #7bcdea77;border-radius:12px;background:#071524;color:#edf4fb;box-shadow:0 24px 100px #000b;overflow:auto}
.cryo-video-dialog::backdrop{background:#010710e6}
.cryo-player-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}
.cryo-player-heading h2{font-family:var(--disp);font-size:24px;line-height:1.2;font-weight:600;margin:0}
.cryo-video-close{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;cursor:pointer;background:#102e43;border:1px solid #9dcee755;border-radius:6px;color:#edf4fb;font:500 14px var(--body);padding:8px 12px}
.cryo-video-close>span{font-size:23px;line-height:1}
.cryo-video-close:focus-visible{outline:2px solid var(--em);outline-offset:4px}
#cryo-video-player{display:block;width:100%;max-height:calc(94svh - 110px);background:#000;object-fit:contain;aspect-ratio:16/9}
.cryo-video-error{font-size:16px;line-height:1.5;color:#ffe4b1;margin:15px 0 0}
.cryo-video-error[hidden]{display:none}
@media(min-width:1101px) and (max-height:800px){#cryogenic.cryo-gallery-scene{padding-top:101px;padding-bottom:57px}#cryogenic.cryo-gallery-scene .h2{margin-bottom:12px}.cryo-mechanism{margin-top:20px;gap:28px}.cryo-mechanism li{padding-top:11px}#cryogenic .cryo-mechanism h3{font-size:22px;margin-bottom:7px}#cryogenic .cryo-technical-note{margin-top:16px}.cryo-video-heading{margin-top:18px;margin-bottom:11px}#cryogenic .cryo-video-heading h3{font-size:22px}.cryo-video-grid{gap:23px}.cryo-video-preview{aspect-ratio:2.65}#cryogenic .cryo-source{margin-top:13px}}
@media(max-width:1100px){.cryo-mechanism{gap:24px}.cryo-video-grid{gap:19px}.cryo-video-caption{align-items:flex-start;flex-direction:column;gap:5px}.cryo-video-caption strong{font-size:21px}.cryo-video-preview{aspect-ratio:16/9}}
@media(max-width:760px){#cryogenic.cryo-gallery-scene{padding-top:108px;padding-bottom:65px}#cryogenic.cryo-gallery-scene .h2{font-size:clamp(32px,6vw,42px)}#cryogenic.cryo-gallery-scene .cryo-definition{font-size:18px}.cryo-mechanism{grid-template-columns:1fr;gap:21px}#cryogenic .cryo-mechanism h3{font-size:24px}.cryo-video-heading{margin-top:28px}.cryo-video-grid{grid-template-columns:1fr;gap:27px}.cryo-video-preview{aspect-ratio:16/9;max-height:270px}.cryo-video-caption{flex-direction:row;align-items:center}.cryo-video-caption strong{font-size:23px}.cryo-video-caption>span{font-size:13px}.cryo-video-dialog{padding:12px;border-radius:9px}.cryo-player-heading h2{font-size:21px}.cryo-video-close{font-size:12px;padding:7px 10px}#cryo-video-player{max-height:calc(94svh - 90px)}#cryogenic .cryo-technical-note{font-size:17px}}
@media(prefers-reduced-motion:reduce){.cryo-video-preview img{transition:none}}
@media print{.cryo-video-dialog{display:none!important}#cryogenic.cryo-gallery-scene{padding:15mm}#cryogenic.cryo-gallery-scene .h2{font-size:29pt}#cryogenic.cryo-gallery-scene .cryo-definition{font-size:12pt}.cryo-mechanism{grid-template-columns:repeat(3,1fr);gap:8mm}#cryogenic .cryo-mechanism h3{font-size:16pt}#cryogenic .cryo-mechanism p,#cryogenic .cryo-technical-note{font-size:11pt}.cryo-video-grid{grid-template-columns:repeat(3,1fr);gap:6mm}.cryo-video-preview{aspect-ratio:16/9}.cryo-video-caption{flex-direction:column;align-items:flex-start}.cryo-video-caption strong{font-size:14pt}.cryo-video-caption>span{font-size:9pt}#cryogenic .cryo-source{font-size:8pt}}
#snow .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.87),rgba(3,13,25,.79) 55%,rgba(3,13,25,.65))}
#snow .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#snow .scene-video[hidden]{display:none}
#snow .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#snow .video-toggle[hidden]{display:none}
#snow .video-toggle:hover{background:#142c42}
#snow .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#snow .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}#snow .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.88),rgba(3,13,25,.80))}}
@media print{#snow .scene-video,#snow .video-toggle{display:none!important}}
#snow .snow-intro{max-width:1200px;font-size:19px;line-height:1.5}
.snow-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:48px;margin-top:25px;align-items:start}
.snow-copy{display:grid;gap:24px}
.snow-copy article{border-top:1px solid #72c9e866;padding-top:13px}
#snow .snow-copy h3{font-size:25px;line-height:1.2;margin-bottom:10px}
#snow .snow-copy p{font-size:17px;line-height:1.5;color:#cfdeea}
.snow-diagram{margin:0;padding:18px 15px 13px;border:1px solid #8bbbd044;border-radius:12px;background:#061725e8}
.snow-diagram svg{display:block;width:100%;height:auto}
.snow-diagram figcaption{font-size:11px;line-height:1.45;color:#a8c5d7;margin-top:12px}
.snow-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:22px}
.snow-benefits span{border-top:1px solid #72c9e866;padding-top:11px;font-family:var(--disp);font-size:20px;font-weight:600;line-height:1.2;color:#a4dff2}
#snow .snow-source{font-size:11px;line-height:1.45;color:#a8bfce;margin-top:16px}
@media(min-width:1101px) and (max-height:800px){.snow-layout{margin-top:20px;gap:40px}.snow-copy{gap:19px}.snow-copy article{padding-top:10px}#snow .snow-copy h3{font-size:23px;margin-bottom:8px}.snow-diagram{padding:14px 13px 11px}.snow-diagram svg{max-height:245px}.snow-diagram figcaption{margin-top:8px}.snow-benefits{margin-top:18px}.snow-benefits span{font-size:19px;padding-top:10px}#snow .snow-source{margin-top:12px}}
@media(max-width:1100px){.snow-layout{gap:28px;grid-template-columns:1fr 1fr}#snow .snow-copy h3{font-size:24px}.snow-benefits{gap:20px}.snow-benefits span{font-size:19px}}
@media(max-width:760px){.snow-layout{grid-template-columns:1fr;gap:25px}.snow-copy{gap:24px}#snow .snow-intro{font-size:18px}#snow .snow-copy p{font-size:18px}.snow-diagram{max-width:600px}.snow-benefits{grid-template-columns:1fr;gap:16px}.snow-benefits span{font-size:21px}#snow .snow-source{font-size:12px}}
@media print{.snow-layout{grid-template-columns:1fr 1.08fr;gap:10mm;margin-top:7mm}#snow .snow-intro{font-size:12pt}.snow-copy{gap:6mm}#snow .snow-copy h3{font-size:17pt}#snow .snow-copy p{font-size:11pt}.snow-diagram{padding:4mm}.snow-diagram figcaption,#snow .snow-source{font-size:8pt}.snow-benefits{grid-template-columns:repeat(3,1fr);margin-top:6mm}.snow-benefits span{font-size:13pt}}
#laser.laser-technical-scene .laser-definition{max-width:1200px;font-size:19px;line-height:1.5}
.laser-technical-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;align-items:start;margin-top:26px}
.laser-process{display:grid;gap:16px;list-style:none;padding:0;margin:0}
.laser-process li{border-top:1px solid #72c9e866;padding-top:12px}
#laser .laser-process h3{font-size:24px;line-height:1.2;margin-bottom:8px}
.laser-process h3>span{font-size:18px;color:var(--em);margin-right:10px}
#laser .laser-process p{font-size:17px;line-height:1.5;color:#cfdeea}
#laser .laser-video-card .cryo-video-preview{aspect-ratio:16/9}
#laser .laser-video-card .cryo-video-preview img{filter:brightness(.85)}
#laser .laser-video-card .cryo-play{width:54px;height:54px;font-size:22px}
#laser .cryo-video-caption{align-items:flex-start;gap:15px;margin-top:13px}
#laser .cryo-video-caption strong{font-size:21px;line-height:1.2}
#laser .cryo-video-caption>span{padding-top:4px}
#laser .laser-applications-note{font-size:16px;line-height:1.5;margin-top:23px;padding-top:15px;border-top:1px solid #72c9e866;color:#cfdeea}
#laser .laser-applications-note strong{font-weight:600;color:#edf4fb}
#laser .laser-source{font-size:11px;line-height:1.45;color:#a8bfce;margin-top:13px}
@media(min-width:1101px) and (max-height:800px){.laser-technical-layout{margin-top:22px;gap:38px}.laser-process{gap:13px}.laser-process li{padding-top:10px}#laser .laser-process h3{font-size:23px;margin-bottom:7px}#laser .laser-applications-note{margin-top:18px;padding-top:12px}#laser .laser-source{margin-top:11px}}
@media(max-width:1100px){.laser-technical-layout{gap:26px}#laser .cryo-video-caption{flex-direction:column;gap:6px}#laser .cryo-video-caption>span{padding-top:0}}
@media(max-width:760px){.laser-technical-layout{grid-template-columns:1fr;gap:30px}#laser.laser-technical-scene .laser-definition{font-size:18px}.laser-process{gap:24px}#laser .laser-process p{font-size:18px}#laser .laser-video-card .cryo-video-preview{max-height:none}#laser .cryo-video-caption strong{font-size:23px}#laser .laser-applications-note{font-size:17px}#laser .laser-source{font-size:12px}}
@media print{.laser-technical-layout{grid-template-columns:1fr 1.05fr;gap:10mm;margin-top:7mm}#laser.laser-technical-scene .laser-definition{font-size:12pt}#laser .laser-process h3{font-size:16pt}#laser .laser-process p{font-size:11pt}.laser-process{gap:5mm}#laser .cryo-video-caption strong{font-size:14pt}#laser .laser-applications-note{font-size:11pt}#laser .laser-source{font-size:8pt}}
@media screen {
#concept .scene-shade { opacity: .85; }
#concept .system-flow p, #concept .system-intro {
color: #e7eff6;
text-shadow: 0 1px 5px #03101dcc;
}
}
@media screen and (min-width:1101px) {
#presentation > section.scene {
height: max(720px, 100svh);
min-height: 720px;
padding: 104px 7vw 60px;
justify-content: flex-start;
}
#presentation > section.scene > .content { flex: 0 0 auto; }
#presentation > section.scene .eyebrow { margin-bottom: 14px; }
#presentation > section.scene:not(#contact) .h2 {
font-size: clamp(38px, 3.65vw, 54px);
line-height: 1.1;
margin-bottom: 18px;
}
#presentation > section.scene > .foot {
position: absolute;
left: 7vw;
right: 7vw;
bottom: 25px;
margin: 0;
}
#clients .lead { max-width: 1100px; }
#clients .client-wall { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 26px; gap: 14px; padding: 18px; }
#clients .client-logo { min-height: 86px; padding: 10px 17px; }
#clients .client-logo img { height: 60px; }
#clients .logo-note { margin-top: 14px; }
#cryogenic .cryo-video-grid { align-items: start; }
#cryogenic .cryo-video-preview { aspect-ratio: 3.2; }
#cryogenic .cryo-video-caption { align-items: flex-start; }
#cryogenic .cryo-video-caption strong { font-size: 18px; }
#growth .growth-comparison { margin: 10px 0; }
#growth .growth-comparison p { font-size: 22px; line-height: 1.3; max-width: none; }
#growth .growth-comparison p > span { margin-bottom: 8px; }
#growth .growth-evolution { padding: 8px 24px 6px; }
#growth .growth-reading { margin-top: 8px; }
#growth .growth-values { margin-top: 7px; position: relative; }
#growth .growth-values[open] > table {
position: absolute;
bottom: calc(100% + 12px);
left: 0;
margin: 0;
z-index: 5;
background: #081b2d;
box-shadow: 0 8px 40px #000b;
outline: 1px solid #72c9e888;
}
#map .locations { margin-top: 22px; }
#map .locations li { padding: 12px 0; }
}
@media screen and (min-width:1101px) and (max-width:1199px) {
#presentation > section.scene { height: max(780px, 100svh); min-height: 780px; }
}
@media screen and (min-width:1101px) and (max-height:800px) {
#cryogenic.cryo-gallery-scene .cryo-definition { line-height: 1.4; }
#cryogenic .cryo-mechanism { margin-top: 14px; }
#cryogenic .cryo-mechanism li { padding-top: 9px; }
#cryogenic .cryo-mechanism h3 { margin-bottom: 5px; }
#cryogenic .cryo-technical-note { margin-top: 12px; }
#cryogenic .cryo-video-heading { margin-top: 12px; margin-bottom: 9px; }
#cryogenic .cryo-video-preview { aspect-ratio: 3.5; }
#cryogenic .cryo-video-caption { margin-top: 8px; }
#cryogenic .cryo-source { margin-top: 9px; }
}
.growth-line-chart{--growth-history-ms:1600;--growth-forecast-ms:600}
.growth-replaying .growth-history-clip{animation:growth-history-draw calc(var(--growth-history-ms)*1ms) linear both}
.growth-replaying .growth-forecast-clip{animation:growth-forecast-draw calc(var(--growth-forecast-ms)*1ms) linear calc(var(--growth-history-ms)*1ms) both}
.growth-replaying .growth-value{animation:growth-value-in .3s ease-out var(--point-delay,0s) both}
.growth-counter{display:inline-block;min-width:2.5ch;text-align:right;font-variant-numeric:tabular-nums}
.growth-counter-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes growth-history-draw{from{width:0}to{width:var(--growth-history-width,730px)}}
@keyframes growth-forecast-draw{from{width:0}to{width:var(--growth-forecast-width,200px)}}
@keyframes growth-value-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#growth .growth-reveal,#growth .growth-value{animation:none!important;opacity:1!important;transform:none!important}}
@media print{#growth .growth-reveal,#growth .growth-value{animation:none!important;opacity:1!important;transform:none!important}}
#map .locations li[data-office]{--office-accent:var(--em);transition:background .35s ease,border-color .35s ease;position:relative}
#map .locations li.planned{--office-accent:var(--am)}
#map .locations li[data-office]::before{content:'';position:absolute;left:-12px;top:0;bottom:0;width:3px;background:var(--office-accent);opacity:0;transition:opacity .35s ease}
#map .locations li.is-office-active{background:linear-gradient(90deg,#72c9e81f,#72c9e804);border-top-color:var(--office-accent)}
#map .locations li.planned.is-office-active{background:linear-gradient(90deg,#fbbf241f,#fbbf2404)}
#map .locations li.is-office-active::before{opacity:1}
#map .locations li.is-office-active>span{color:var(--office-accent)}
.map-location .map-halo{opacity:0;transition:opacity .35s ease}
.map-location .map-ring{transition:stroke-width .35s ease,filter .35s ease}
.map-location .map-name,.map-location .map-dot{transition:fill .35s ease}
.map-location.is-office-active .map-halo{opacity:.22}
.map-location.is-office-active .map-ring{stroke-width:5;filter:drop-shadow(0 0 10px var(--office-accent))}
.map-location.is-office-active .map-dot{fill:#fff}
.map-location.is-office-active .map-name{fill:var(--office-accent)}
@media screen and (min-width:1101px){#map .locations{margin-top:18px}#map .locations li{padding-top:10px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){#map .locations li[data-office],#map .locations li[data-office]::before,#map .map-location *{transition:none!important}}
@media print{#map .locations li.is-office-active{background:none}#map .locations li[data-office]::before,.map-location .map-halo{display:none}.map-location .map-ring{filter:none!important}}
#map .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#map .scene-video[hidden]{display:none}
#map .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.86),rgba(3,13,25,.78) 52%,rgba(3,13,25,.60))}
#map .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#map .video-toggle[hidden]{display:none}
#map .video-toggle:hover{background:#142c42}
#map .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#map .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}#map .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.87),rgba(3,13,25,.72))}}
@media print{#map .scene-video,#map .video-toggle{display:none!important}}
#vapor.vapor-technical-scene .scene-bg{left:0;background-position:center}
#vapor.vapor-technical-scene .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.89),rgba(3,13,25,.82) 55%,rgba(3,13,25,.72))}
#vapor .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#vapor .scene-video[hidden]{display:none}
#vapor .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#vapor .video-toggle[hidden]{display:none}
#vapor .video-toggle:hover{background:#142c42}
#vapor .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#vapor .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}#vapor.vapor-technical-scene .scene-shade{background:linear-gradient(100deg,rgba(3,13,25,.89),rgba(3,13,25,.81))}}
@media print{#vapor .scene-video,#vapor .video-toggle{display:none!important}}
#vapor .vapor-definition{max-width:1180px;font-size:19px;line-height:1.5}
.vapor-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:21px 0 0;padding:13px 0;border-top:1px solid #72c9e866;border-bottom:1px solid #72c9e866}
.vapor-specs>div{display:flex;align-items:center;gap:15px}
.vapor-specs dt{order:2;font-size:13px;line-height:1.35;color:#cbdde9}
.vapor-specs dd{margin:0;font-family:var(--disp);font-size:28px;line-height:1.1;color:var(--em);white-space:nowrap}
.vapor-technical-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:38px;align-items:start;margin-top:21px}
.vapor-process{display:grid;gap:15px;list-style:none;padding:0;margin:0}
#vapor .vapor-process h3{font-size:23px;line-height:1.2;margin-bottom:6px}
.vapor-process h3>span{font-size:17px;color:var(--em);margin-right:9px}
#vapor .vapor-process p{font-size:17px;line-height:1.45;color:#cfdeea}
#vapor .vapor-video-card .cryo-video-preview{aspect-ratio:2.2}
#vapor .vapor-video-card .cryo-video-preview img{filter:brightness(.88);object-fit:contain}
#vapor .vapor-video-card .cryo-play{width:54px;height:54px;font-size:22px}
#vapor .cryo-video-caption{align-items:flex-start;gap:16px;margin-top:11px}
#vapor .cryo-video-caption strong{font-size:22px;line-height:1.2}
#vapor .cryo-video-caption>span{padding-top:4px}
#vapor .vapor-source{font-size:11px;line-height:1.45;color:#b2c6d4;margin-top:15px}
#vapor .vapor-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media screen and (min-width:1101px) and (max-height:800px){.vapor-specs{margin-top:18px;padding:11px 0}.vapor-technical-layout{margin-top:18px}.vapor-process{gap:13px}#vapor .vapor-source{margin-top:12px}}
@media(max-width:1100px){.vapor-specs{gap:18px}.vapor-specs>div{align-items:flex-start;flex-direction:column;gap:5px}.vapor-technical-layout{gap:26px}#vapor .cryo-video-caption{flex-direction:column;gap:6px}#vapor .cryo-video-caption>span{padding-top:0}}
@media(max-width:760px){#vapor .vapor-definition{font-size:18px}.vapor-specs{gap:12px;margin-top:25px;padding:18px 0}.vapor-specs dd{font-size:23px;white-space:normal}.vapor-specs dt{font-size:12px}.vapor-technical-layout{grid-template-columns:1fr;gap:28px;margin-top:26px}.vapor-process{gap:22px}#vapor .vapor-process p{font-size:18px}#vapor .vapor-video-card .cryo-video-preview{max-height:none}#vapor .vapor-source{font-size:12px;margin-top:20px}}
@media print{.vapor-specs{margin-top:5mm;padding:3mm 0;gap:8mm}.vapor-specs dd{font-size:18pt}.vapor-specs dt{font-size:9pt}.vapor-technical-layout{grid-template-columns:1.08fr 1fr;gap:10mm;margin-top:6mm}#vapor .vapor-definition{font-size:12pt}#vapor .vapor-process h3{font-size:16pt}#vapor .vapor-process p{font-size:11pt}.vapor-process{gap:4mm}#vapor .cryo-video-caption strong{font-size:14pt}#vapor .vapor-source{font-size:8pt}}
#clients .client-wall.clients-revealing>.client-logo{animation:clients-row-enter .55s ease-out var(--client-reveal-delay,0s) both}
@keyframes clients-row-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce),print{
#clients .client-wall>.client-logo{animation:none!important;opacity:1!important;transform:none!important}
}
#quality .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#quality .scene-video[hidden]{display:none}
#quality .scene-shade{background:linear-gradient(105deg,rgba(3,13,25,.86),rgba(3,13,25,.73) 55%,rgba(3,13,25,.60))}
#quality .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#quality .video-toggle[hidden]{display:none}
#quality .video-toggle:hover{background:#142c42}
#quality .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#quality .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}#quality .scene-shade{background:linear-gradient(105deg,rgba(3,13,25,.88),rgba(3,13,25,.72))}}
@media print{#quality .scene-video,#quality .video-toggle{display:none!important}}
#sectors .scene-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#sectors .scene-video[hidden]{display:none}
#sectors .scene-shade{background:linear-gradient(105deg,rgba(3,13,25,.88),rgba(3,13,25,.80) 55%,rgba(3,13,25,.74))}
#sectors .video-toggle{position:absolute;top:34px;right:7vw;z-index:3;border:1px solid #ffffff55;border-radius:6px;background:#07111fcc;color:#e4f2fc;font:500 12px var(--body);padding:9px 13px;cursor:pointer}
#sectors .video-toggle[hidden]{display:none}
#sectors .video-toggle:hover{background:#142c42}
#sectors .video-toggle:focus-visible{outline:2px solid var(--em);outline-offset:4px}
@media(max-width:760px){#sectors .video-toggle{top:21px;right:6vw;font-size:11px;padding:8px 10px}#sectors .scene-shade{background:linear-gradient(105deg,rgba(3,13,25,.88),rgba(3,13,25,.80))}}
@media print{#sectors .scene-video,#sectors .video-toggle{display:none!important}}
.snow-diagram-hint { display: none; }
@media screen and (max-width: 620px) {
.snow-diagram-hint { display: block; margin-top: 8px; color: #8cdaed; }
}
@media screen and (max-width: 1100px) {
#presentation > section.scene:where(:not(#growth)) {
--mobile-gutter: 20px;
height: auto;
min-height: 100svh;
padding: 104px var(--mobile-gutter) 28px;
justify-content: flex-start;
}
#presentation > section.scene:where(:not(#growth)) > .content {
width: 100%;
min-width: 0;
max-width: 100%;
flex: 0 0 auto;
}
#presentation > section.scene:where(:not(#growth)) :is(article, figure, ol, ul, dl) {
min-width: 0;
max-width: 100%;
}
#presentation > section.scene:where(:not(#growth)) :is(h1, h2, h3, p, dd, dt) {
overflow-wrap: break-word;
}
#presentation > section.scene:where(:not(#growth)) .h2 {
max-width: 100%;
font-size: clamp(30px, 7.5vw, 42px);
line-height: 1.12;
margin-bottom: 20px;
}
#presentation > section.scene:where(:not(#growth)) .eyebrow {
max-width: 100%;
font-size: 10.5px;
line-height: 1.5;
letter-spacing: .12em;
margin-bottom: 16px;
}
#presentation > section.scene:where(:not(#growth)) .eyebrow::before { flex-shrink: 0; }
#presentation > section.scene:where(:not(#growth)) .lead {
max-width: 100%;
font-size: 17px;
line-height: 1.6;
}
#presentation > section.scene:where(:not(#growth)) > .scene-bg {
inset: 0;
background-size: cover;
}
#presentation > section.scene:where(:not(#growth)) > .scene-video {
width: 100%;
height: 100%;
object-fit: cover;
}
#presentation > section.scene:where(:not(#growth)) > .video-toggle {
top: 18px;
right: var(--mobile-gutter);
min-width: 44px;
min-height: 44px;
max-width: calc(100% - 172px);
padding: 9px 12px;
font-size: 12px;
line-height: 1.3;
}
#presentation > section.scene:where(:not(#growth)) > .foot {
position: relative;
inset: auto;
width: 100%;
margin-top: 36px;
display: flex;
flex-wrap: wrap;
gap: 8px 20px;
font-size: 11px;
line-height: 1.45;
}
#presentation > section.scene:where(:not(#growth)) > .foot span {
min-width: 0;
white-space: normal;
overflow-wrap: anywhere;
}
#presentation > section.scene:where(:not(#growth)) .small-note {
font-size: 13px;
line-height: 1.55;
}
#presentation > section.scene:where(:not(#growth)) table {
width: 100%;
max-width: 100%;
table-layout: fixed;
overflow-wrap: anywhere;
}
#presentation #cover .h1 { font-size: clamp(50px, 15.2vw, 86px); line-height: 1; }
#presentation #cover .hero-tag { font-size: clamp(28px, 7vw, 38px); margin-top: 20px; }
#presentation #cover .hero-motto { font-size: 23px; line-height: 1.3; margin-top: 22px; }
#presentation #cover .lead { margin-top: 16px; }
#presentation #cover .cover-stats {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px 16px;
margin-top: 28px;
}
#presentation #cover .cs {
min-width: 0;
border: 0;
border-top: 1px solid #a3c4dd55;
padding: 14px 0 0;
}
#presentation #cover .cs.countries { grid-column: 1 / -1; }
#presentation #cover .cs .n { font-size: 26px; line-height: 1.2; overflow-wrap: break-word; }
#presentation #cover .cs .l { font-size: 11px; line-height: 1.5; letter-spacing: .06em; margin-top: 8px; }
#presentation #concept .system-flow {
grid-template-columns: minmax(0, 1fr);
gap: 28px;
margin-top: 28px;
}
#presentation #concept .system-flow::before { display: none; }
#presentation #concept .system-flow > li {
display: grid;
grid-template-columns: 36px minmax(0, 1fr);
gap: 8px 12px;
align-items: start;
}
#presentation #concept .system-step { width: 36px; height: 36px; grid-row: 1 / 3; margin: 0; }
#presentation #concept .system-flow h3 { min-height: 0; font-size: 23px; line-height: 1.2; margin: 0; }
#presentation #concept .system-flow p { grid-column: 2; font-size: 17px; line-height: 1.55; }
#presentation #service-control .system-explanation { grid-template-columns: minmax(0, 1fr); gap: 30px; }
#presentation #service-control :is(.system-explanation, .system-incidents) h3 {
font-size: 24px;
line-height: 1.25;
margin-bottom: 12px;
}
#presentation #service-control :is(.system-explanation, .system-incidents) p { font-size: 17px; line-height: 1.6; }
#presentation #service-control .system-incidents { margin-top: 28px; padding-top: 24px; }
#presentation #service-control .system-incidents ol { grid-template-columns: minmax(0, 1fr); gap: 16px; }
#presentation #service-control .system-incidents li { font-size: 16px; line-height: 1.5; }
#presentation #sectors .sector-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 28px; }
#presentation #sectors .sector-grid article { grid-template-columns: 30px minmax(0, 1fr); gap: 0 12px; padding-top: 18px; }
#presentation #sectors .sector-grid h3 { font-size: 25px; line-height: 1.2; margin-bottom: 9px; }
#presentation #sectors .sector-grid p { font-size: 17px; line-height: 1.55; }
#presentation #serv .serv-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 28px; }
#presentation #serv .serv-grid .scard { min-width: 0; padding: 22px; }
#presentation #serv .serv-grid .num { font-size: 27px; margin-bottom: 12px; }
#presentation #serv .serv-grid .scard h3 { min-height: 0; font-size: 25px; line-height: 1.2; margin-bottom: 10px; }
#presentation #serv .serv-grid .scard h3:last-child { margin-bottom: 0; }
#presentation #serv .serv-grid .scard p { font-size: 17px; line-height: 1.55; }
#presentation #serv .service-endnote { margin-top: 22px; font-size: 16px; }
#presentation #cryogenic .cryo-mechanism { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 28px; }
#presentation #cryogenic .cryo-mechanism h3 { font-size: 24px; line-height: 1.25; margin-bottom: 9px; }
#presentation #cryogenic .cryo-mechanism p { font-size: 17px; line-height: 1.55; }
#presentation #cryogenic .cryo-technical-note { margin-top: 24px; font-size: 17px; line-height: 1.6; }
#presentation #cryogenic .cryo-video-heading { flex-direction: column; align-items: flex-start; gap: 8px; margin: 28px 0 16px; }
#presentation #cryogenic .cryo-video-heading h3 { font-size: 24px; }
#presentation #cryogenic .cryo-video-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
#presentation :is(#cryogenic, #laser, #vapor) .cryo-video-preview { aspect-ratio: 16 / 9; max-height: none; }
#presentation :is(#cryogenic, #laser, #vapor) .cryo-video-caption { flex-direction: column; align-items: flex-start; gap: 7px; }
#presentation :is(#cryogenic, #laser, #vapor) .cryo-video-caption strong { font-size: 22px; line-height: 1.25; overflow-wrap: break-word; }
#presentation :is(#cryogenic, #laser, #vapor) .cryo-video-caption > span { font-size: 14px; white-space: normal; padding-top: 0; }
#presentation :is(#cryogenic, #laser, #vapor) .cryo-play { width: 48px; height: 48px; }
#presentation #laser .laser-technical-layout,
#presentation #vapor .vapor-technical-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 28px; }
#presentation #laser .laser-process,
#presentation #vapor .vapor-process { gap: 24px; }
#presentation #laser .laser-process h3,
#presentation #vapor .vapor-process h3 { font-size: 24px; line-height: 1.25; margin-bottom: 10px; }
#presentation #laser .laser-process p,
#presentation #vapor .vapor-process p { font-size: 17px; line-height: 1.6; }
#presentation #laser .laser-applications-note { font-size: 17px; line-height: 1.6; margin-top: 24px; }
#presentation #vapor .vapor-specs { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 24px; padding: 20px 0; }
#presentation #vapor .vapor-specs > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
#presentation #vapor .vapor-specs dd { font-size: 28px; white-space: normal; }
#presentation #vapor .vapor-specs dt { font-size: 14px; line-height: 1.45; }
#presentation #snow .snow-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 28px; }
#presentation #snow .snow-copy { gap: 24px; }
#presentation #snow .snow-copy h3 { font-size: 24px; line-height: 1.25; }
#presentation #snow .snow-copy p { font-size: 17px; line-height: 1.6; }
#presentation #snow .snow-diagram {
width: 100%;
max-width: 692px;
padding: 14px;
overflow-x: auto;
overscroll-behavior-x: contain;
scrollbar-width: thin;
scrollbar-color: #72c9e8 #102738;
}
#presentation #snow .snow-diagram svg { width: 100%; min-width: 520px; max-width: none; height: auto; max-height: none; }
#presentation #snow .snow-diagram figcaption { font-size: 13px; line-height: 1.5; }
#presentation #snow .snow-benefits { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 24px; }
#presentation #snow .snow-benefits span { font-size: 21px; line-height: 1.3; }
#presentation #cryogenic .cryo-source,
#presentation #snow .snow-source,
#presentation #laser .laser-source,
#presentation #vapor .vapor-source { font-size: 13px; line-height: 1.55; margin-top: 20px; overflow-wrap: anywhere; }
#presentation #height .narrow,
#presentation #height .service-list { width: 100%; max-width: 100%; }
#presentation #height .service-list { gap: 24px; margin-top: 28px; }
#presentation #height .service-item h3 { font-size: 25px; line-height: 1.25; margin-bottom: 10px; }
#presentation #height .service-item p { font-size: 17px; line-height: 1.6; }
#presentation #clients .client-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px; margin-top: 28px; }
#presentation #clients .client-logo { min-width: 0; min-height: 78px; padding: 12px 10px; }
#presentation #clients .client-logo img { display: block; width: 100%; max-width: 100%; height: 48px; object-fit: contain; }
#presentation #clients .client-logo:last-child { grid-column: auto; max-width: 100%; width: 100%; justify-self: stretch; }
#presentation #clients .logo-note { font-size: 13px; line-height: 1.5; margin-top: 16px; }
#presentation #quality .quality-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 28px; }
#presentation #quality .quality-grid .scard { padding: 24px; }
#presentation #quality .quality-grid .num { font-size: 32px; margin-bottom: 16px; }
#presentation #quality .quality-grid .scard h3 { font-size: 25px; line-height: 1.2; }
#presentation #quality .quality-grid .scard p { font-size: 17px; line-height: 1.6; }
#presentation #map .presence-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
#presentation #map .presence-layout > div { min-width: 0; }
#presentation #map .locations { margin-top: 26px; }
#presentation #map .locations li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 16px 0; }
#presentation #map .locations li > span { min-width: 0; font-size: 21px; line-height: 1.25; }
#presentation #map .locations small { font-size: 13px; line-height: 1.5; }
#presentation #map .locations b { max-width: 110px; font-size: 12px; line-height: 1.5; white-space: normal; text-align: right; }
#presentation #map .presence-map { width: 100%; max-width: 640px; margin-inline: auto; }
#presentation #map .presence-map svg { display: block; width: 100%; min-width: 0; height: auto; max-height: none; }
#presentation #contact .h2 { font-size: clamp(32px, 8vw, 48px); line-height: 1.14; }
#presentation #contact .contact-links { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 30px; }
#presentation #contact .contact-links a { min-width: 0; min-height: 44px; padding: 18px 0 10px; }
#presentation #contact .contact-links span { font-size: 12px; line-height: 1.5; letter-spacing: .1em; margin-bottom: 10px; }
#presentation #contact .contact-links strong { font-size: clamp(24px, 6.5vw, 31px); line-height: 1.3; overflow-wrap: anywhere; }
#cryo-video-dialog {
width: calc(100vw - 24px);
max-width: calc(100vw - 24px);
max-height: calc(100svh - 24px);
max-height: calc(100dvh - 24px);
padding: 12px;
overflow-x: hidden;
overflow-y: auto;
}
#cryo-video-dialog .cryo-player-heading { align-items: flex-start; gap: 12px; margin-bottom: 12px; }
#cryo-video-dialog .cryo-player-heading h2 { min-width: 0; font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
#cryo-video-dialog .cryo-video-close { min-width: 44px; min-height: 44px; font-size: 13px; padding: 9px 11px; }
#cryo-video-dialog #cryo-video-player { width: 100%; height: auto; max-height: calc(100dvh - 140px); object-fit: contain; }
#cryo-video-dialog .cryo-video-error { font-size: 15px; line-height: 1.5; }
}
@media screen and (min-width: 600px) and (max-width: 1100px) {
#presentation > section.scene:where(:not(#growth)) { --mobile-gutter: 36px; padding-top: 112px; padding-bottom: 34px; }
#presentation > section.scene:where(:not(#growth)) .lead { font-size: 18px; }
#presentation > section.scene:where(:not(#growth)) > .video-toggle { top: 22px; max-width: 220px; font-size: 13px; }
#presentation #cover .cover-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
#presentation #cover .cs.countries { grid-column: auto; }
#presentation #concept .system-flow,
#presentation #service-control .system-incidents ol,
#presentation #sectors .sector-grid,
#presentation #serv .serv-grid,
#presentation #quality .quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#presentation #concept .system-flow { gap: 30px 24px; }
#presentation #clients .client-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 16px; gap: 14px; }
#presentation #clients .client-logo { min-height: 86px; }
#presentation #clients .client-logo img { height: 56px; }
#presentation #vapor .vapor-specs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
#presentation #snow .snow-copy { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
#presentation #snow .snow-diagram { justify-self: center; }
#presentation #snow .snow-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
#presentation #cryogenic .cryo-video-heading { flex-direction: row; align-items: center; }
#presentation #contact .contact-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
#cryo-video-dialog { width: min(1000px, calc(100vw - 40px)); max-width: calc(100vw - 40px); padding: 18px; }
}
@media screen and (min-width: 900px) and (max-width: 1100px) {
#presentation > section.scene:where(:not(#growth)) { --mobile-gutter: 48px; }
#presentation #service-control .system-explanation,
#presentation #laser .laser-technical-layout,
#presentation #vapor .vapor-technical-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
#presentation #sectors .sector-grid,
#presentation #serv .serv-grid,
#presentation #quality .quality-grid,
#presentation #cryogenic .cryo-mechanism,
#presentation #cryogenic .cryo-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#presentation #clients .client-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#presentation #map .presence-layout { grid-template-columns: 1.05fr 1fr; gap: 28px; }
#presentation #map .locations li > span { font-size: 21px; }
#presentation #contact .contact-links { grid-template-columns: 1.25fr 1fr 1fr; }
#presentation #contact .contact-links strong { font-size: 25px; }
}
.mobile-navigation {
display: none;
}
@media screen and (max-width: 1100px) {
html.mobile-navigation-enabled {
--mobile-navigation-height: calc(64px + env(safe-area-inset-bottom, 0px));
--mobile-navigation-clearance: calc(var(--mobile-navigation-height) + 16px);
scroll-padding-bottom: var(--mobile-navigation-clearance);
}
html.mobile-navigation-enabled body {
padding-bottom: var(--mobile-navigation-clearance);
}
html.mobile-navigation-enabled .dots,
html.mobile-navigation-enabled .hint {
display: none;
}
html.mobile-navigation-enabled .mobile-navigation {
position: fixed;
z-index: 50;
inset: auto 0 0;
display: grid;
grid-template-columns: minmax(72px, max-content) minmax(0, 1fr) minmax(72px, max-content);
gap: 8px;
align-items: center;
min-height: var(--mobile-navigation-height);
padding: 9px max(12px, env(safe-area-inset-right, 0px))
calc(10px + env(safe-area-inset-bottom, 0px))
max(12px, env(safe-area-inset-left, 0px));
border-top: 1px solid rgba(133, 190, 211, 0.28);
background: #081724;
box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.2);
color: #f0f7fc;
}
.mobile-navigation__step,
.mobile-navigation__selector {
box-sizing: border-box;
min-height: 44px;
min-width: 0;
margin: 0;
border: 1px solid rgba(133, 190, 211, 0.38);
border-radius: 9px;
color: inherit;
font-family: var(--body, system-ui, sans-serif);
line-height: 1.25;
touch-action: manipulation;
}
.mobile-navigation__step {
min-width: 72px;
padding: 10px 9px;
background: #143247;
font-size: 12px;
font-weight: 600;
cursor: pointer;
}
.mobile-navigation__step[aria-disabled='true'] {
color: #b5c2cc;
border-color: #304453;
background: #101f2c;
cursor: default;
}
.mobile-navigation__selector {
display: block;
width: 100%;
max-width: 100%;
padding: 10px 5px;
background-color: #0d2536;
font-size: 16px;
text-overflow: ellipsis;
cursor: pointer;
color-scheme: dark;
}
.mobile-navigation__selector option {
color: #f0f7fc;
background: #0d2536;
}
.mobile-navigation__step:focus-visible,
.mobile-navigation__selector:focus-visible {
outline: 3px solid #65d7f0;
outline-offset: 2px;
}
html.video-modal-open .mobile-navigation {
visibility: hidden;
}
}
@media (prefers-reduced-motion: reduce) {
.mobile-navigation,
.mobile-navigation * {
scroll-behavior: auto;
transition: none;
animation: none;
}
}
@media print {
.mobile-navigation {
display: none !important;
}
}
@media screen and (max-width:1100px) {
#presentation > #growth.scene {height:auto;min-height:100svh;padding:104px 20px 28px;justify-content:flex-start}
#growth > .content {width:100%;min-width:0;max-width:100%}
#growth .h2 {font-size:clamp(30px,7.5vw,42px);line-height:1.12;margin-bottom:20px;overflow-wrap:break-word}
#growth .lead {font-size:17px;line-height:1.6}
#growth > .foot {position:relative;inset:auto;width:100%;margin-top:36px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;line-height:1.45}
#growth > .foot span {white-space:normal;min-width:0}
}
@media screen and (min-width:600px) and (max-width:1100px) {
#presentation > #growth.scene {padding:112px 36px 34px}
#growth .lead {font-size:18px}
}
@media screen and (min-width:900px) and (max-width:1100px) {
#presentation > #growth.scene {padding-inline:48px}
}
@media screen {
#growth .growth-evolution{padding:16px 12px 10px;min-width:0}
#growth .growth-evolution .ct{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:12px;font-size:14px;line-height:1.4}
#growth .growth-evolution .legend{flex-wrap:wrap;gap:10px 18px;font-size:12px;margin-top:0}
#growth .growth-chart-scroll{width:100%;min-width:0;height:clamp(280px,85vw,360px);overflow:visible}
#growth .growth-line-chart{display:block;width:100%;height:100%;min-width:0;max-width:none;max-height:none;overflow:visible}
#growth .growth-value text{paint-order:stroke fill;stroke:#08192c;stroke-width:3px;stroke-linejoin:round}
#growth .growth-comparison{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0}
#growth .growth-comparison p{max-width:none;font-size:20px;line-height:1.4;min-width:0}
#growth .growth-comparison p>span{display:block;margin-bottom:7px;font-size:11px;line-height:1.4}
#growth .growth-reading{max-width:none;font-size:12px;line-height:1.55;margin-top:14px}
#growth .growth-values{font-size:13px;margin-top:12px;position:relative}
#growth .growth-values summary{min-height:44px;padding:10px 0;line-height:24px}
#growth .growth-values table{width:100%;max-width:none;table-layout:fixed;font-size:12px}
#growth .growth-values th,#growth .growth-values td{overflow-wrap:anywhere;padding:10px 7px}
#growth .growth-values[open]>table{position:static;margin-top:8px}
}
@media screen and (min-width:600px){
#growth .growth-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#growth .growth-comparison p{font-size:22px}
#growth .growth-chart-scroll{height:clamp(320px,46vw,460px)}
#growth .growth-evolution{padding:18px 20px 12px}
#growth .growth-evolution .ct{flex-direction:row;align-items:center;flex-wrap:wrap;font-size:15px}
}
@media screen and (min-width:1101px){
#growth.scene>.content{display:flex;flex-direction:column;height:calc(max(720px,100svh) - 164px);min-height:0}
#growth .content>.eyebrow,#growth .content>.h2,#growth .content>.lead,#growth .growth-comparison,#growth .growth-reading,#growth .growth-values{flex-shrink:0}
#growth .content>.eyebrow{align-self:flex-start}
#growth .growth-comparison{margin:12px 0;gap:36px}
#growth .growth-comparison p{font-size:clamp(20px,1.6vw,25px);line-height:1.3}
#growth .growth-evolution{display:flex;flex-direction:column;flex:1 1 auto;min-height:240px;padding:12px 18px 8px}
#growth .growth-evolution .ct{flex:0 0 auto;margin-bottom:6px}
#growth .growth-chart-scroll{height:auto;flex:1 1 auto;min-height:0}
#growth .growth-reading{font-size:11px;line-height:1.4;margin-top:8px}
#growth .growth-values{font-size:12px;margin-top:5px}
#growth .growth-values summary{padding:0;min-height:22px;line-height:22px}
#growth .growth-values[open]>table{position:absolute;bottom:calc(100% + 10px);left:0;z-index:5;max-width:780px;margin:0;background:#081b2d;box-shadow:0 8px 40px #000b;outline:1px solid #72c9e888}
}
@media screen and (min-width:1101px) and (max-width:1199px){#growth.scene>.content{height:calc(max(780px,100svh) - 164px)}}
@media screen and (max-width:1100px) and (max-height:600px) and (orientation:landscape){
#growth .growth-chart-scroll{height:clamp(120px,calc(100svh - 230px - env(safe-area-inset-bottom,0px)),320px)}
#growth .growth-evolution{padding:12px 12px 10px}
#growth .growth-evolution .ct{flex-direction:row;flex-wrap:wrap;align-items:center;font-size:12px;gap:6px 14px;margin-bottom:8px}
#growth .growth-evolution .legend{font-size:11px;gap:8px 14px}
}
@media screen and (min-width:1600px) and (min-height:900px){
#growth .growth-evolution{padding:20px 26px 14px}
#growth .growth-evolution .ct{font-size:18px}
#growth .growth-evolution .legend{font-size:14px}
#growth .growth-reading{font-size:13px}
}
#presentation #clients .client-logo-crop {--logo-max-height:60px;display:block;position:relative;overflow:hidden;width:min(100%,calc(var(--logo-ratio)*var(--logo-max-height)));aspect-ratio:var(--logo-ratio);max-height:var(--logo-max-height)}
#presentation #clients .client-logo-crop > img {position:absolute;display:block;width:var(--logo-width);height:var(--logo-height);max-width:none;left:var(--logo-left);top:var(--logo-top);object-fit:fill}
#presentation #clients .client-logo--stac,
#presentation #clients .client-logo--benteler {position:relative;overflow:hidden}
#presentation #clients .client-logo--stac {background:#ff2233}
#presentation #clients .client-logo--stac img {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:100%;width:auto;max-width:100%;object-fit:contain}
#presentation #clients .client-logo--benteler img {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 28px);height:auto;max-width:none;object-fit:contain}
@media print {#clients .client-wall {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media screen and (max-width:599px) {#presentation #clients .client-logo-crop {--logo-max-height:54px}}
#presentation #contact {display:flex;flex-direction:column;padding-bottom:20px}
#presentation #contact > .content {height:auto;flex:0 0 auto}
#presentation #contact > .contact-closing {position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:1450px;flex:0 0 auto;margin-top:auto;padding-top:24px}
#presentation #contact .contact-closing > .foot {position:static;inset:auto;display:block;width:100%;margin:0 0 14px;color:#b8cad8;font-size:10px;line-height:1.4;flex-shrink:0}
#presentation #contact .funding-banner {width:100%;max-width:900px;margin:0 auto;background:#fff;flex-shrink:0}
#presentation #contact .funding-banner img {display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
body:has(#dots button[aria-controls="contact"][aria-current="step"]) .hint {display:none}
@media screen and (min-width:1101px) {
#presentation #contact .contact-links {margin-top:24px}
}
@media screen and (max-width:1100px) {
#presentation #contact {min-height:calc(100svh - var(--mobile-navigation-clearance,0px))}
#presentation #contact .contact-closing > .foot {font-size:11px;line-height:1.45}
}
@media print {
#presentation #contact .contact-links {margin-top:8mm}
#presentation #contact .contact-closing {padding-top:8mm;break-inside:avoid}
#presentation #contact .funding-banner {max-width:240mm;break-inside:avoid}
}
.scene-bg picture,.scene-bg .scene-photo {display:block;width:100%;height:100%}
.scene-bg .scene-photo {object-fit:cover;object-position:var(--scene-focus,center)}
#cover .scene-bg {--scene-focus:68% center}
#height .scene-bg {--scene-focus:62% center}
#contact .scene-bg {--scene-focus:65% center}
video.scene-video {opacity:0;transition:opacity .25s ease}
video.scene-video.has-video-frame {opacity:1}
video.scene-video[hidden] {display:none}
.skip-link {position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);padding:12px 18px;border-radius:5px;background:#fff;color:#071524}
.skip-link:focus {transform:translateY(0)}
:focus-visible {outline:2px solid #72c9e8;outline-offset:4px}
@media screen and (min-width:1101px) {
#presentation > section.scene {height:auto;min-height:max(720px,100svh)}
#presentation > section.scene > .foot {bottom:22px}
}
@media screen and (min-width:1101px) and (max-width:1199px) {
#presentation > section.scene {min-height:max(780px,100svh)}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}video.scene-video {transition:none}}
@media print {video.scene-video {display:none!important}}