:root{--ink:#0f2b46;--blue:#1c609c;--blue-d:#134672;--tint:#eef3f8;--line:#d3dfea;--mark:#fde57e;--text:#1d2b38;--muted:#53667a;--r:6px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:1rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
h1,h2,h3,h4{line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,6vw,3.2rem);font-weight:750}
h2{font-size:clamp(1.45rem,4vw,2.1rem);font-weight:720}
h3{font-size:1.2rem;font-weight:680}
p{margin:0 0 1em;max-width:68ch}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wrap{width:100%;max-width:72rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:50rem}
.center{text-align:center;max-width:none}

/* header */
.top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:4rem}
.logo img{height:40px;width:auto}
.menu-btn{width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer;position:relative}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{position:absolute;left:.7rem;right:.7rem;height:2px;background:var(--ink);content:"";transition:transform .2s}
.menu-btn span{top:50%;margin-top:-1px}
.menu-btn span::before{left:0;right:0;top:-7px}
.menu-btn span::after{left:0;right:0;top:7px}
.menu-btn[aria-expanded=true] span{background:transparent}
.menu-btn[aria-expanded=true] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] span::after{transform:translateY(-7px) rotate(-45deg)}
nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1rem}
nav.open{display:block}
nav ul{list-style:none;margin:0;padding:0}
nav a{display:block;padding:.7rem 0;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--tint)}
nav ul ul{padding-left:1rem}
nav ul ul a{font-weight:500;color:var(--muted)}
nav a[aria-current]{color:var(--blue)}
@media(min-width:56rem){
.menu-btn{display:none}
nav{display:block;position:static;border:0;padding:0}
nav>ul{display:flex;gap:.25rem}
nav>ul>li{position:relative}
nav a{border:0;padding:.5rem .9rem;border-radius:var(--r)}
nav a:hover{background:var(--tint)}
nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--blue);border-radius:0}
nav ul ul{display:none;position:absolute;left:0;top:100%;min-width:15rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.4rem;box-shadow:0 10px 30px rgba(15,43,70,.12)}
nav li:hover>ul,nav li:focus-within>ul{display:block}
nav ul ul a{color:var(--ink)}
}

/* buttons */
.btn{display:inline-block;padding:.85rem 1.4rem;background:var(--blue);color:#fff;text-decoration:none;font-weight:650;border-radius:var(--r);border:2px solid var(--blue)}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:var(--mark);border-color:var(--mark)}

/* hero + page head */
.hero,.pagehead,.tile{background-color:var(--ink);background-size:cover;background-position:center;position:relative;color:#fff}
.hero::before,.pagehead::before,.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,43,70,.55),rgba(15,43,70,.82))}
.hero>.wrap,.pagehead>.wrap,.tile>div{position:relative}
.hero{padding:5rem 0 4.5rem;min-height:min(80svh,40rem);display:flex;align-items:flex-end}
.hero h1,.pagehead h1,.tile h2{color:#fff}
.hero p{font-size:1.15rem;max-width:34rem;color:#e5edf5}
.pagehead{padding:4.5rem 0 2.2rem}
.pagehead h1{margin:0}
.duo{display:grid;grid-template-columns:1fr}
.tile{padding:3.5rem 1.25rem}
.tile>div{max-width:30rem;margin:0 auto;width:100%}
.tile p{color:#e5edf5}
@media(min-width:48rem){.duo{grid-template-columns:1fr 1fr}.tile{padding:5rem 2.5rem}.tile>div{margin:0 0 0 auto}.tile:first-child>div{margin:0 auto 0 0;max-width:28rem}.pagehead{padding:7rem 0 3rem}}

/* sections */
.sec{padding:3.25rem 0}
.sec.tint{background:var(--tint)}
.lead{max-width:40rem;margin-bottom:1.6rem}
.lede{font-size:1.15rem;color:var(--muted)}
@media(min-width:48rem){.sec{padding:5rem 0}}

/* steps (sequence) */
.steps{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.75rem 2rem}
.steps li{border-top:3px solid var(--blue);padding-top:1rem}
.steps .num{display:inline-block;background:var(--mark);color:var(--ink);font-weight:800;font-size:1.1rem;min-width:2.1rem;height:2.1rem;line-height:2.1rem;text-align:center;border-radius:50%;margin-bottom:.6rem}
.steps p{color:var(--muted)}
@media(min-width:40rem){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:64rem){.steps{grid-template-columns:repeat(3,1fr)}}

/* team teaser */
.mini{list-style:none;margin:1.5rem 0 2rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:36rem}
.mini a{text-decoration:none;color:var(--ink);display:block}
.mini img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:.6rem;background:var(--line)}
.mini .nm{display:block;font-weight:700}
.mini .role{display:block;color:var(--muted);font-size:.95rem}

/* wir: timeline */
.timeline{list-style:none;margin:2.5rem 0 0;padding:0 0 0 1.5rem;border-left:3px solid var(--line)}
.timeline li{position:relative;padding:0 0 2rem}
.timeline li::before{content:"";position:absolute;left:calc(-1.5rem - 8px);top:.35rem;width:13px;height:13px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 2px var(--blue)}
.timeline time{display:block;color:var(--blue);font-weight:700;font-size:.95rem;margin-bottom:.2rem}
.timeline h3{margin-bottom:.4em}
.timeline p{color:var(--muted)}
.trio{display:grid;gap:2rem}
@media(min-width:56rem){.trio{grid-template-columns:repeat(3,1fr);gap:3rem}}
.two{display:grid;gap:2rem}
@media(min-width:48rem){.two{grid-template-columns:1fr 1fr;gap:3rem}}

/* team page */
.people{display:grid;gap:2.5rem;margin-top:1.5rem}
.person img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:1rem;background:var(--line)}
.person h2{font-size:1.5rem;margin-bottom:.1em}
.person .role{color:var(--blue);font-weight:650}
@media(min-width:48rem){.person{display:grid;grid-template-columns:20rem 1fr;gap:2.5rem;align-items:start}.person img{margin:0;aspect-ratio:1}}
.stats{background:var(--ink);color:#fff;padding:3rem 0}
.stats ul{list-style:none;margin:0;padding:0;display:grid;gap:2rem}
.stats .big{display:block;font-size:clamp(3rem,10vw,4.5rem);font-weight:800;line-height:1;color:var(--mark)}
.stats h3{color:#fff;margin:.4rem 0}
.stats p{color:#c8d6e4}
@media(min-width:48rem){.stats ul{grid-template-columns:repeat(3,1fr);gap:3rem}.stats{padding:4.5rem 0}}
blockquote{margin:0;padding:0 0 0 1.25rem;border-left:4px solid var(--mark);font-size:1.2rem}
blockquote footer{color:var(--muted);font-size:1rem;margin-top:.5rem}
.join{display:grid;gap:1.5rem;align-items:center}
.join img{width:100%;border-radius:var(--r);aspect-ratio:3/2;object-fit:cover;background:var(--line)}
@media(min-width:48rem){.join{grid-template-columns:1fr 1fr;gap:3rem}}

/* cards */
.cards{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:2rem 1.5rem}
.cards img{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:.9rem;background:var(--line)}
.cards h3{margin-bottom:.35em}
.cards p{color:var(--muted)}
.cards a{text-decoration:none;color:inherit}
.cards a:hover h3{color:var(--blue)}
.sec>.wrap>.cards:first-child{margin-top:0}
@media(min-width:40rem){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:64rem){.cards{grid-template-columns:repeat(3,1fr)}}
.cta{text-align:center}
.cta p{margin-inline:auto}
.ticks{list-style:none;padding:0;margin:0 0 2rem}
.ticks li{padding:.55rem 0 .55rem 1.6rem;border-bottom:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:1.1rem;width:.6rem;height:.6rem;background:var(--blue);border-radius:50%}

/* bars (data) */
.bars{list-style:none;margin:1.5rem 0 0;padding:0}
.bars li{display:grid;grid-template-columns:1fr auto;gap:.3rem .75rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}
.bars .lbl{font-weight:600;color:var(--ink)}
.bars .val{font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums}
.bars .bar{grid-column:1/-1;grid-row:2;height:.6rem;background:var(--tint);border-radius:99px;overflow:hidden}
.bars .bar i{display:block;height:100%;width:calc(var(--v)*1%);background:var(--blue);border-radius:99px}
.bars.facts .val{font-size:1.4rem}

/* contact + legal */
.card{font-style:normal;background:var(--tint);border-left:4px solid var(--blue);padding:1.5rem;border-radius:var(--r);line-height:1.9;overflow-wrap:anywhere}
.legal h2{font-size:1.5rem;margin-top:2.2em}
.legal h3{font-size:1.2rem;margin-top:1.8em}
.legal h4,.legal h5{font-size:1.05rem;margin-top:1.4em}
.legal{overflow-wrap:anywhere}
.legal>h2:first-child{margin-top:0}

/* footer */
.foot{background:var(--ink);color:#c8d6e4;padding:3rem 0 1.5rem}
.foot h2{color:#fff;font-size:1.05rem;margin-bottom:.5em}
.foot a{color:#fff}
.foot-grid{display:grid;gap:1.5rem}
.foot p{margin:0}
.copy{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem}
@media(min-width:48rem){.foot-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
