/* Adeo Solutions – Basis-Designsystem (gemeinsam für alle Seiten) */
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-latin-ext-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
 --ink:#0A1E23;          /* Text */
 --violet:#0B4A55;       /* Markenfarbe Petrol (Komplement zu ADEO Media) */
 --lilac:#7FB51F;        /* Akzent, aktives Kreislauf-Segment */
 --mist:#EEF5F1;         /* helle Fläche */
 --paper:#F7F6F3;        /* Grundton */
 --white:#FFFFFF;
 --line:#DCE5E1;         /* 1px-Linien */
 --mute:#52656A;         /* Sekundärtext */
 --stone:#83938F;
 --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
 --ease:cubic-bezier(.2,.7,.2,1);
 --wrap:1280px;--pad:48px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit}
b,strong{font-weight:600}
::selection{background:#C2F25A;color:var(--ink)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
@media(max-width:720px){:root{--pad:20px}}
.mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:400}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--lilac);outline-offset:3px}

/* Typo */
.h1{font-size:clamp(44px,7vw,104px);line-height:.98;letter-spacing:-.04em;font-weight:500}
.h2{font-size:clamp(34px,4.6vw,68px);line-height:1.02;letter-spacing:-.035em;font-weight:500}
.h3{font-size:clamp(22px,2.2vw,30px);line-height:1.12;letter-spacing:-.02em;font-weight:500}
.lead{font-size:clamp(18px,1.5vw,21px);color:#2B3D42;max-width:680px}
.num{font-size:clamp(48px,6vw,88px);line-height:1;letter-spacing:-.045em;font-weight:500}

/* Navigation */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,246,243,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.nav .logo svg{height:44px;width:auto}
.nav ul{display:flex;gap:26px;list-style:none;font-size:14.5px}
.nav ul a{text-decoration:none;color:var(--ink)}
.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--violet)}
.nav .right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font:500 12px var(--mono)}
.lang a{padding:6px 10px;text-decoration:none;color:var(--mute)}
.lang a[aria-current=true]{background:var(--ink);color:#fff}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.burger i{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px auto}
@media(max-width:1000px){.nav ul{display:none}.nav .btn.small{display:none}.burger{display:block}
 .nav.open ul{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:20px var(--pad) 28px;border-bottom:1px solid var(--line);gap:16px;font-size:20px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:14px 24px;font:500 15.5px var(--sans);text-decoration:none;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--ink);color:#fff}
.btn.primary{background:var(--violet);border-color:var(--violet);color:#fff}
.btn.primary:hover{background:var(--ink);border-color:var(--ink)}
.btn.light{border-color:rgba(255,255,255,.7);color:#fff}.btn.light:hover{background:#fff;color:var(--ink)}
.btn.small{padding:9px 16px;font-size:14px}

/* Sektionen */
.sec{padding:120px 0;border-top:1px solid var(--line)}
.sec.tight{padding:96px 0}
.sec.mist{background:var(--mist);border-top:0}
.sec.ink{background:var(--ink);color:#fff;border-top:0}
.sec.ink .mono{color:rgba(255,255,255,.6)}
.shead{display:grid;grid-template-columns:3fr 9fr;gap:24px;margin-bottom:64px}
.shead .mono{padding-top:12px}
.shead .lead{margin-top:18px}
@media(max-width:900px){.shead{grid-template-columns:1fr;gap:12px;margin-bottom:44px}.sec{padding:80px 0}}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:34px}
.hair{border-top:1px solid var(--line)}
.src{font:400 11px/1.5 var(--mono);color:var(--stone);letter-spacing:.04em;margin-top:18px}

/* Reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}

/* Footer */
.foot{background:var(--ink);color:#fff;padding:90px 0 40px}
.foot .grid>div{grid-column:span 3}
.foot h4{font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:14px}
.foot ul{list-style:none}.foot li{margin:7px 0}.foot a{text-decoration:none;color:rgba(255,255,255,.88)}.foot a:hover{color:#C2F25A}
.foot .logo svg{height:40px;width:auto;margin-bottom:22px}
.foot .claim{font-size:24px;letter-spacing:-.02em;max-width:360px}
.foot .base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:70px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font:400 12px var(--mono);color:rgba(255,255,255,.5)}
@media(max-width:900px){.foot .grid>div{grid-column:span 6}}
@media(max-width:560px){.foot .grid>div{grid-column:span 12}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
