/* Art direction: resilient European infrastructure → precise, calm, editorial technology.
   Palette: graphite neutrals with restrained cyan accent. Typography: local Fixel.
   Density: balanced, content-led, asymmetric at large breakpoints. */
@font-face{font-family:Fixel;src:url('../fonts/fixel.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root,[data-theme="light"]{--bg:#f4f7f7;--surface:#fff;--surface-2:#edf2f2;--surface-3:#e4ebeb;--text:#111b1c;--muted:#536466;--faint:#6c7a7b;--line:rgba(17,27,28,.13);--primary:#006d73;--primary-hover:#004f54;--primary-ink:#fff;--accent:#00a9b2;--warm:#bc5d28;--success:#2f7d4a;--shadow:0 18px 50px rgba(13,33,35,.10);color-scheme:light}
[data-theme="dark"]{--bg:#0d1314;--surface:#141c1e;--surface-2:#1a2527;--surface-3:#223033;--text:#e8efef;--muted:#a8b7b8;--faint:#8d9c9d;--line:rgba(232,239,239,.14);--primary:#4fc2c8;--primary-hover:#7ed7db;--primary-ink:#071213;--accent:#68d9de;--warm:#ec965f;--success:#78c392;--shadow:0 22px 60px rgba(0,0,0,.34);color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0d1314;--surface:#141c1e;--surface-2:#1a2527;--surface-3:#223033;--text:#e8efef;--muted:#a8b7b8;--faint:#8d9c9d;--line:rgba(232,239,239,.14);--primary:#4fc2c8;--primary-hover:#7ed7db;--primary-ink:#071213;--accent:#68d9de;--warm:#ec965f;--success:#78c392;--shadow:0 22px 60px rgba(0,0,0,.34);color-scheme:dark}}
:root{--font:Fixel,"Segoe UI",sans-serif;--xs:clamp(.75rem,.71rem + .18vw,.875rem);--sm:clamp(.875rem,.82rem + .22vw,1rem);--base:clamp(1rem,.96rem + .2vw,1.125rem);--lg:clamp(1.15rem,1.02rem + .55vw,1.45rem);--xl:clamp(1.7rem,1.3rem + 1.5vw,2.6rem);--2xl:clamp(2.55rem,1.5rem + 4vw,5.6rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;--s24:6rem;--radius-s:.4rem;--radius-m:.75rem;--radius-l:1.25rem;--radius-xl:2rem;--max:76rem;--ease:180ms cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5.5rem;text-size-adjust:none}body{min-height:100dvh;background:var(--bg);color:var(--text);font:400 var(--base)/1.65 var(--font);-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%;height:auto}a{color:inherit}button,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{line-height:1.08;text-wrap:balance}p,li{max-width:72ch;text-wrap:pretty}.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--primary);color:var(--primary-ink);padding:.75rem 1rem}.skip:focus{top:1rem}.eyebrow{font-size:var(--xs);font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}.section{padding-block:clamp(4rem,8vw,7.5rem)}.section-head{display:grid;gap:var(--s4);margin-bottom:clamp(2rem,5vw,4rem)}.section-head h2{font-size:var(--xl);max-width:20ch}.section-head p{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:4.75rem;display:flex;align-items:center;gap:var(--s6)}.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;font-weight:800;letter-spacing:-.035em}.brand-mark{width:2.2rem;color:var(--primary)}.brand small{display:block;font-size:.62rem;letter-spacing:.13em;color:var(--muted);font-weight:650}.nav{margin-left:auto;display:flex;align-items:center;gap:var(--s6)}.nav a{text-decoration:none;font-size:var(--sm);font-weight:600;color:var(--muted)}.nav a:hover,.nav a:focus-visible{color:var(--primary)}.tools{display:flex;align-items:center;gap:var(--s2)}.icon-btn,.lang-btn{min-width:2.75rem;min-height:2.75rem;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);display:grid;place-items:center;text-decoration:none;font-size:var(--sm)}.icon-btn:hover,.lang-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--surface-2)}.lang-menu{position:relative}.lang-options{display:none;position:absolute;right:0;top:calc(100% + .5rem);min-width:11rem;padding:.45rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow)}.lang-menu:focus-within .lang-options,.lang-menu:hover .lang-options{display:grid}.lang-options a{padding:.65rem .8rem;border-radius:var(--radius-s);text-decoration:none;font-size:var(--sm)}.lang-options a:hover{background:var(--surface-2);color:var(--primary)}.menu-toggle{display:none}
.hero{min-height:calc(100svh - 4.75rem);position:relative;display:grid;align-items:end;isolation:isolate;background:#071112;color:#fff;overflow:hidden}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,11,.96) 0%,rgba(3,10,11,.80) 43%,rgba(3,10,11,.12) 78%),linear-gradient(0deg,rgba(3,10,11,.65),transparent 55%);z-index:-1}.hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.hero-inner{padding-block:clamp(4rem,11vw,8rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);gap:var(--s16);align-items:end}.hero-copy{display:grid;gap:var(--s6)}.hero h1{font-size:var(--2xl);letter-spacing:-.055em;max-width:12ch}.hero-lead{font-size:var(--lg);color:#cad7d8;max-width:56ch}.actions{display:flex;flex-wrap:wrap;gap:var(--s3)}.button{min-height:3rem;padding:.75rem 1.15rem;border-radius:var(--radius-m);display:inline-flex;align-items:center;justify-content:center;gap:.65rem;text-decoration:none;font-size:var(--sm);font-weight:750;border:1px solid transparent}.button-primary{background:var(--accent);color:#041011}.button-primary:hover{background:#82e8eb;transform:translateY(-1px)}.button-secondary{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff}.button-secondary:hover{border-color:#fff;background:rgba(255,255,255,.13)}.hero-proof{display:grid;gap:var(--s4);border-top:1px solid rgba(255,255,255,.25);padding-top:var(--s5)}.proof-row{display:flex;justify-content:space-between;gap:var(--s4);font-size:var(--sm);color:#b8c6c7}.proof-row strong{color:#fff;text-align:right}.citation{vertical-align:super;font-size:.65em;text-decoration:none;color:var(--accent);font-weight:800}
.trust-strip{background:var(--surface);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:var(--s6);border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-item strong{display:block;font-size:var(--lg);line-height:1.1}.trust-item span{font-size:var(--xs);color:var(--muted)}
.services-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6)}.feature-large{grid-row:span 2;background:var(--text);color:var(--bg);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:space-between;min-height:31rem;text-decoration:none}.feature-large .feature-icon{color:var(--accent)}.feature-large p{color:color-mix(in srgb,var(--bg) 70%,transparent)}.feature{position:relative;padding:var(--s8);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);text-decoration:none;display:grid;grid-template-columns:auto 1fr;gap:var(--s5);align-content:start;min-height:15rem}.feature:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.feature-icon{font-size:1.75rem;color:var(--muted);transition:color var(--ease),transform var(--ease)}.feature:hover .feature-icon,.feature-large:hover .feature-icon{color:var(--warm);transform:scale(1.08)}.feature h3,.feature-large h3{font-size:var(--lg);margin-bottom:var(--s3)}.feature p{color:var(--muted);font-size:var(--sm)}.feature-arrow{margin-top:auto;color:var(--primary)}
.infrastructure{background:var(--surface-2)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}.split-media{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/2}.split-media img{width:100%;height:100%;object-fit:cover}.check-list{list-style:none;display:grid;gap:var(--s5);margin-top:var(--s8)}.check-list li{display:grid;grid-template-columns:1.5rem 1fr;gap:var(--s3)}.check-list i{color:var(--success);margin-top:.32rem}.check-list strong{display:block}.check-list span{color:var(--muted);font-size:var(--sm)}
.locations-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:var(--s3)}.location{padding:var(--s6);border-top:2px solid var(--line);text-decoration:none}.location.primary{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:var(--radius-l);padding:var(--s8)}.location:hover{border-top-color:var(--warm)}.location:hover i{color:var(--warm);transform:translateY(-2px)}.location i{font-size:1.5rem;color:var(--primary);transition:var(--ease)}.location h3{font-size:var(--lg);margin:var(--s8) 0 var(--s2)}.location strong{font-size:var(--xl);font-variant-numeric:tabular-nums}.location p{font-size:var(--sm);color:var(--muted)}
.story{background:var(--text);color:var(--bg)}.story .eyebrow{color:var(--accent)}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,8vw,8rem)}.story h2{font-size:var(--xl);position:sticky;top:7rem}.story-copy{display:grid;gap:var(--s8)}.story-copy p{color:color-mix(in srgb,var(--bg) 74%,transparent)}.timeline{display:grid;grid-template-columns:auto 1fr;gap:0 var(--s5)}.timeline-year{font-weight:800;color:var(--accent);padding:var(--s4) 0}.timeline-event{padding:var(--s4) 0;border-bottom:1px solid color-mix(in srgb,var(--bg) 18%,transparent)}.statement{padding:var(--s8);border:1px solid color-mix(in srgb,var(--bg) 24%,transparent);border-radius:var(--radius-l)}.statement blockquote{font-size:var(--lg);line-height:1.45}.statement cite{display:block;margin-top:var(--s4);color:color-mix(in srgb,var(--bg) 62%,transparent);font-size:var(--sm);font-style:normal}
.use-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}.case{padding:var(--s8);background:var(--surface);border-bottom:1px solid var(--line)}.case i{color:var(--primary);font-size:1.5rem;margin-bottom:var(--s8)}.case:hover i{color:var(--warm)}.case h3{font-size:var(--lg);margin-bottom:var(--s3)}.case p{color:var(--muted);font-size:var(--sm)}
.faq-list{display:grid;gap:var(--s2);max-width:60rem}.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:0 var(--s6)}.faq-list summary{cursor:pointer;list-style:none;font-weight:700;padding:var(--s5) 2rem var(--s5) 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:0;font-size:1.4rem;color:var(--primary)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{color:var(--muted);padding-bottom:var(--s6)}
.contact{background:var(--primary);color:var(--primary-ink)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,7rem)}.contact h2{font-size:var(--xl);margin:var(--s4) 0}.contact a{color:inherit}.contact-links{display:grid;gap:var(--s3)}.contact-link{display:grid;grid-template-columns:2rem 1fr;gap:var(--s4);padding:var(--s5) 0;border-bottom:1px solid color-mix(in srgb,var(--primary-ink) 28%,transparent);text-decoration:none}.contact-link i{margin-top:.3rem}.contact-link:hover i{color:#ffb080}.contact-link strong{display:block}.contact-link span{font-size:var(--sm);opacity:.78}.legal{padding:var(--s8);background:color-mix(in srgb,var(--primary-ink) 10%,transparent);border-radius:var(--radius-l)}.legal dl{display:grid;gap:var(--s5)}.legal dt{font-size:var(--xs);opacity:.7;text-transform:uppercase;letter-spacing:.08em}.legal dd{font-weight:700}
.sources{padding-block:var(--s16);border-bottom:1px solid var(--line)}.sources h2{font-size:var(--lg);margin-bottom:var(--s5)}.sources ol{padding-left:1.25rem;display:grid;gap:var(--s2);color:var(--muted);font-size:var(--xs)}.sources a{overflow-wrap:anywhere}.sources a:hover{color:var(--primary)}.footer{padding-block:var(--s10);background:var(--surface)}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);font-size:var(--xs);color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--s4)}.footer a:hover{color:var(--primary)}
.reveal{opacity:1;transform:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-s)}
@media(max-width:980px){.nav{display:none}.menu-toggle{display:grid;margin-left:auto}.nav.open{display:grid;position:absolute;top:4.75rem;left:1rem;right:1rem;background:var(--surface);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow);gap:0}.nav.open a{padding:var(--s3)}.hero-inner,.split,.story-grid,.contact-grid{grid-template-columns:1fr}.hero-inner{gap:var(--s8)}.hero-proof{max-width:32rem}.services-layout{grid-template-columns:1fr}.feature-large{grid-row:auto;min-height:22rem}.locations-grid{grid-template-columns:repeat(2,1fr)}.story h2{position:static}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:620px){.container{width:min(calc(100% - 1.25rem),var(--max))}.header-inner{gap:var(--s2)}.brand small{display:none}.tools{gap:var(--s1)}.icon-btn,.lang-btn{min-width:2.6rem}.hero{min-height:48rem}.hero::after{background:linear-gradient(0deg,rgba(3,10,11,.95) 12%,rgba(3,10,11,.45) 72%,rgba(3,10,11,.22))}.hero-inner{padding-bottom:var(--s12)}.hero h1{font-size:clamp(2.35rem,12vw,3.65rem)}.actions{display:grid}.button{width:100%}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:var(--s4)}.feature{grid-template-columns:1fr;min-height:auto}.locations-grid,.use-cases{grid-template-columns:1fr}.location{padding:var(--s6) var(--s2)}.footer-grid{align-items:flex-start;flex-direction:column}.section{padding-block:var(--s16)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.site-header,.actions,.footer-links{display:none}.hero{min-height:auto;color:#000;background:#fff}.hero-media{display:none}.hero::after{display:none}.hero-lead,.proof-row{color:#333}.section{content-visibility:visible}}
