/* =====================================================================
   page.css — gemeinsames Stylesheet für die Unterseiten.
   Bewusst getrennt vom Inline-CSS der Startseite: die bleibt unangetastet.
   Design-Sprache identisch (Tokens, Header, Footer), Layout ruhiger.
   ===================================================================== */

/* ---------- Fonts (Pfade relativ zu dieser Datei) ---------- */
@font-face{font-family:'Grotesk';src:url('fonts/grotesk-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Grotesk';src:url('fonts/grotesk-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Grotesk';src:url('fonts/grotesk-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-600.woff2') format('woff2');font-weight:600;font-display:swap}

:root{
  --bg:#060a14; --bg2:#080d1b; --panel:#0b1224;
  --blue:#3b82f6; --blue-bright:#6ba5ff; --blue-soft:#9ec3ff;
  --text:#eef3fb; --muted:#9aa7bd; --faint:#828fa8;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --ok:#4ade80; --no:#f87171;
  --maxw:1240px; --r:18px;
  --grad:linear-gradient(100deg,#9ec3ff,#3b82f6 55%,#1d4ed8);
}

*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{font-family:'Inter',-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:'Grotesk','Inter',sans-serif;font-weight:700;letter-spacing:-.02em;
  line-height:1.08;text-wrap:balance;hyphens:none;overflow-wrap:break-word}
p{text-wrap:pretty}
i,em{font-style:normal;font-weight:600}
.wrap{width:min(100% - 44px,var(--maxw));margin-inline:auto}
:focus-visible{outline:2px solid var(--blue-bright);outline-offset:3px}

/* Durchlaufender Hintergrund, damit die Unterseiten nicht wie Fremdkörper wirken.
   Bewusst ohne filter:blur() — siehe Kommentar in index.html. */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(135% 70% at 50% -8%,rgba(59,130,246,.10),transparent 55%),
  radial-gradient(80% 55% at 88% 16%,rgba(99,165,255,.05),transparent 55%),
  radial-gradient(78% 60% at 8% 74%,rgba(29,78,216,.07),transparent 60%)}
body>*{position:relative;z-index:1}

/* ---------- Header ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:50;
  background:linear-gradient(to bottom,rgba(5,8,15,.75),rgba(5,8,15,0));pointer-events:none}
header .wrap{pointer-events:auto}
.nav{display:flex;align-items:center;gap:24px;height:78px}
.nav-logo img{height:30px;width:auto}
.nav-right{display:flex;align-items:center;gap:30px;margin-left:auto}
.links{display:flex;align-items:center;gap:28px}
.links>a,.subtrigger{font-size:.94rem;color:var(--muted);font-weight:500;position:relative;
  transition:color .2s;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;
  background:none;border:0;font-family:inherit;padding:0}
.links>a::after,.subtrigger::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;
  background:var(--grad);transition:width .25s}
.links>a:hover,.subtrigger:hover{color:var(--text)}
.links>a:hover::after,.has-sub:hover .subtrigger::after{width:100%}
.subtrigger svg{width:11px;height:11px;transition:transform .25s}
.has-sub:hover .subtrigger svg{transform:rotate(180deg)}

/* ---------- Dropdown (Desktop) ---------- */
.has-sub{position:relative}
/* Unsichtbare Brücke, damit der Zeiger den Weg zum Menü nicht "verliert". */
.has-sub::before{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.sub{position:absolute;top:calc(100% + 14px);left:50%;translate:-50% 0;min-width:268px;
  background:rgba(9,14,28,.97);border:1px solid var(--line2);border-radius:16px;padding:8px;
  box-shadow:0 30px 60px -28px rgba(0,0,0,.9);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .22s,transform .22s,visibility .22s}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub a{display:block;padding:.62rem .8rem;border-radius:10px;font-size:.92rem;color:var(--muted);
  transition:background .18s,color .18s}
.sub a:hover{background:rgba(255,255,255,.06);color:var(--text)}
.sub a b{display:block;font-weight:600;color:var(--text);font-size:.93rem;margin-bottom:.1rem}
.sub a small{display:block;font-size:.79rem;color:var(--faint);line-height:1.4}

/* ---------- Burger ---------- */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);cursor:pointer;
  padding:0 10px;z-index:210;transition:.25s}
.burger i{display:block;height:3px;border-radius:2px;background:var(--text);transition:.28s;transform-origin:center}
.burger:hover{border-color:var(--line2)}
.burger.open{border-color:var(--blue-bright);background:rgba(59,130,246,.14)}
.burger.open i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open i:nth-child(2){opacity:0;transform:scaleX(.3)}
.burger.open i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- Mobile-Overlay ---------- */
.navsheet{position:fixed;inset:0;z-index:190;background:rgba(4,7,14,.78);
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.navsheet.open{opacity:1;visibility:visible}
.navsheet__panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,360px);
  background:#0a1120;border-left:1px solid var(--line2);padding:96px 26px 30px;
  display:flex;flex-direction:column;gap:.2rem;overflow-y:auto;
  transform:translateX(100%);transition:transform .34s cubic-bezier(.22,1,.36,1)}
.navsheet.open .navsheet__panel{transform:none}
.navsheet__title{font-family:'Grotesk',sans-serif;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);margin-bottom:1rem}
.navsheet a{display:block;padding:.85rem 0;font-size:1.05rem;font-weight:600;
  border-bottom:1px solid var(--line);transition:color .2s}
.navsheet a:hover{color:var(--blue-bright)}
.navsheet .sublist{padding-left:.9rem;margin:.2rem 0 .6rem;border-left:2px solid rgba(59,130,246,.35)}
.navsheet .sublist a{font-size:.95rem;font-weight:500;color:var(--muted);border-bottom:0;padding:.55rem 0}
.navsheet__hint{margin-top:auto;padding-top:1.6rem;font-size:.8rem;color:var(--faint);line-height:1.6}
.actions{display:flex;align-items:center;gap:10px}
.iconbtn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);display:inline-flex;
  align-items:center;justify-content:center;color:var(--text);transition:.2s;background:rgba(255,255,255,.02)}
.iconbtn svg{width:19px;height:19px}
.iconbtn:hover{border-color:var(--line2);background:rgba(255,255,255,.06);transform:translateY(-1px)}
.iconbtn.wa:hover{border-color:rgba(37,211,102,.55);color:#25d366;background:rgba(37,211,102,.08)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:'Grotesk',sans-serif;
  font-weight:600;font-size:.95rem;border-radius:12px;padding:.85rem 1.5rem;cursor:pointer;min-height:44px;
  border:1px solid transparent;transition:.22s;white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 30px -12px rgba(59,130,246,.8)}
.btn-primary:hover{background:#2f74f8;transform:translateY(-2px)}
.btn-ghost{border-color:var(--line2);color:var(--text);background:rgba(255,255,255,.02)}
.btn-ghost:hover{background:rgba(255,255,255,.06);transform:translateY(-2px)}

/* ---------- Seitenkopf ---------- */
.phead{padding:150px 0 60px}
.back{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--faint);
  margin-bottom:1.6rem;transition:color .2s}
.back:hover{color:var(--blue-bright)}
.phead h1{font-size:clamp(1.9rem,1.1rem+3.4vw,4rem);margin-bottom:1.3rem;max-width:17ch}
.phead h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.phead .lead{font-size:clamp(1rem,.96rem+.35vw,1.2rem);color:var(--muted);max-width:62ch;margin-bottom:2rem}
.phead .cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Sektionen ---------- */
section{padding:56px 0}
section>.wrap>h2{font-size:clamp(1.5rem,1.1rem+1.6vw,2.4rem);margin-bottom:.9rem}
.sub{color:var(--muted);max-width:64ch;margin-bottom:2.2rem}

/* ---------- Karten: gleiche Sprache wie die Bento-Kacheln der Startseite ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.card{position:relative;border:1px solid var(--line2);border-radius:22px;overflow:hidden;
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  padding:20px 24px 22px;display:flex;flex-direction:column;gap:.42rem;
  transition:transform .35s ease,border-color .35s,box-shadow .35s}
.card::after{content:"";position:absolute;top:-30%;right:-20%;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.16),transparent 65%);opacity:.5;
  transition:opacity .4s;pointer-events:none}
.card:hover{transform:translateY(-5px);border-color:rgba(110,165,255,.42);
  box-shadow:0 34px 70px -34px rgba(0,0,0,.85)}
.card:hover::after{opacity:.9}
.card>*{position:relative;z-index:1}
.card h3{font-size:1.18rem}
.card p{color:var(--muted);font-size:.9rem;line-height:1.52}
.cico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);border:1px solid var(--line2);color:var(--blue-bright);margin-bottom:.45rem}
.cico svg{width:19px;height:19px}

/* ---------- Ablauf: Zeitstrahl statt Nummern-Grid ---------- */
.steps{display:grid;gap:0;border-left:1px solid var(--line);margin-left:9px}
.step{position:relative;padding:0 0 2rem 2rem}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:-5px;top:.5rem;width:9px;height:9px;border-radius:50%;
  background:var(--blue);box-shadow:0 0 0 4px rgba(59,130,246,.16)}
.step h3{font-size:1.02rem;margin-bottom:.35rem}
.step p{color:var(--muted);font-size:.94rem}

/* ---------- Erwartungen: Kevins Alleinstellungsmerkmal, prominent ---------- */
.expect{background:linear-gradient(180deg,rgba(59,130,246,.07),rgba(59,130,246,.02));
  border:1px solid rgba(59,130,246,.25);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.4rem)}
.expect>p{color:var(--muted);margin-bottom:1.6rem;max-width:70ch}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.3rem}
.exp-item{border-top:1px solid var(--line);padding-top:.9rem}
.exp-item .t{font-family:'Grotesk',sans-serif;font-weight:600;font-size:.86rem;color:var(--faint);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.exp-item .v{font-family:'Grotesk',sans-serif;font-weight:700;font-size:1.35rem;color:var(--blue-bright);
  margin-bottom:.3rem;white-space:nowrap}
.exp-item p{color:var(--muted);font-size:.9rem}

/* ---------- Passt / Passt nicht ---------- */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fit>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}
.fit h3{font-size:1.02rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.fit ul{list-style:none;display:grid;gap:.7rem}
.fit li{font-size:.93rem;color:var(--muted);padding-left:1.5rem;position:relative}
.fit li::before{position:absolute;left:0;top:0;font-weight:700}
.fit .yes h3{color:var(--ok)} .fit .yes li::before{content:"✓";color:var(--ok)}
.fit .nope h3{color:var(--no)} .fit .nope li::before{content:"✕";color:var(--no)}

/* ---------- Abschluss ---------- */
.close{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.6rem,4vw,2.8rem)}
.close h2{margin-bottom:.8rem}
.close p{color:var(--muted);max-width:58ch;margin-bottom:1.6rem}

/* ---------- Weitere Leistungen ---------- */
.more{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.more a{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem;
  transition:.22s;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:600;font-size:.96rem}
.more a:hover{border-color:rgba(59,130,246,.45);transform:translateY(-2px);color:var(--blue-bright)}
.more a span{color:var(--faint);transition:transform .22s}
.more a:hover span{transform:translateX(3px)}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);padding:56px 0 30px;margin-top:40px;background:var(--bg2)}
.foot-top{display:grid;grid-template-columns:1.4fr 2fr;gap:40px}
.foot-brand img{height:34px;margin-bottom:1rem}
.foot-brand p{color:var(--muted);font-size:.92rem;max-width:44ch}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.foot-col h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:.9rem}
.foot-col a,.foot-col span{display:block;color:var(--muted);font-size:.92rem;margin-bottom:.5rem;transition:color .2s}
.foot-col a:hover{color:var(--blue-bright)}
.foot-regions{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line);
  font-size:.82rem;opacity:.6;line-height:1.7}
.foot-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:1.6rem;
  padding-top:1.2rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--faint)}

/* ---------- Mobile ---------- */
@media (max-width:860px){
  .foot-top{grid-template-columns:1fr;gap:26px}
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .links{display:none}
  .burger{display:flex}
}
@media (min-width:901px){
  .navsheet{display:none}
}
@media (max-width:760px){
  .wrap{width:min(100% - 32px,var(--maxw))}
  .phead{padding:118px 0 44px}
  .phead h1{max-width:none}
  .phead .cta-row{flex-direction:column;max-width:320px}
  .phead .cta-row .btn{width:100%}
  section{padding:42px 0}
  .fit{grid-template-columns:1fr}
  .exp-item .v{white-space:normal}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
