/* Geocom Datentechnik — statische Website, keine externen Ressourcen (DSGVO) */
:root{
  --bg:#ffffff; --bg-alt:#f4f6f9; --bg-deep:#0f1b2d;
  --fg:#1a2432; --fg-mut:#54637a; --fg-inv:#e8edf5;
  --accent:#034b93; --accent-soft:#e8eff8; --brand:#034b93; --brand-2:#9b9fa4; --line:#dde3ec;
  --maxw:68rem; --radius:10px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#111823; --bg-alt:#18202e; --bg-deep:#0b111b;
    --fg:#e7ecf4; --fg-mut:#9daabd; --fg-inv:#e7ecf4;
    --accent:#7ab3ee; --accent-soft:#16243a; --brand:#8fbcf0; --brand-2:#9b9fa4; --line:#28313f;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:400 17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 1.5rem}
a{color:var(--accent)}
a:hover{text-decoration:none}
h1,h2,h3{line-height:1.25; letter-spacing:-.01em; margin:0 0 .6em}
h1{font-size:clamp(1.9rem,4.4vw,2.9rem); font-weight:700}
h2{font-size:clamp(1.35rem,2.6vw,1.8rem); font-weight:650}
h3{font-size:1.12rem; font-weight:650}
p{margin:0 0 1rem}
.lede{font-size:1.12rem; color:var(--fg-mut); max-width:44rem}

/* Kopf */
header.site{border-bottom:1px solid var(--line); background:var(--bg); position:sticky; top:0; z-index:5}
header.site .wrap{display:flex; align-items:center; gap:1.5rem; min-height:4.5rem; flex-wrap:wrap}
.brand{display:flex; align-items:center; text-decoration:none}
.brand img{display:block; width:204px; height:auto}
.footlogo{display:block; width:146px; height:auto; opacity:.9}
nav.site{margin-left:auto; display:flex; gap:1.4rem; flex-wrap:wrap}
nav.site a{color:var(--fg-mut); text-decoration:none; font-size:.95rem}
nav.site a:hover{color:var(--accent)}

/* Hero */
.hero{background:var(--bg-deep); color:var(--fg-inv); padding:clamp(3rem,7vw,5.5rem) 0}
.hero h1{color:#fff; max-width:22ch}
.hero p{color:#b9c6d8; font-size:1.15rem; max-width:46rem}
.hero .cta{display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.8rem}
.btn{display:inline-block; padding:.72rem 1.35rem; border-radius:var(--radius); text-decoration:none; font-weight:600; font-size:.98rem; border:1px solid transparent}
.btn-p{background:#2c72c4; color:#fff}
.btn-p:hover{background:#034b93}
.btn-s{border:1px solid #3d556f; color:#dfe8f4}
.btn-s:hover{background:#16243a}

/* Abschnitte */
section{padding:clamp(2.8rem,6vw,4.5rem) 0}
section.alt{background:var(--bg-alt); border-block:1px solid var(--line)}
.eyebrow{text-transform:uppercase; letter-spacing:.11em; font-size:.76rem; font-weight:700; color:var(--accent); margin:0 0 .7rem}
.grid{display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fit,minmax(17rem,1fr)); margin-top:2.2rem}
.card{background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem}
.card h3{margin-bottom:.5rem}
.card p{color:var(--fg-mut); font-size:.98rem; margin-bottom:.9rem}
.card ul{margin:0; padding-left:1.1rem; color:var(--fg-mut); font-size:.95rem}
.card li{margin-bottom:.35rem}
.card li::marker{color:var(--accent)}

/* Kontakt */
.contact{display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); margin-top:2rem}
.contact dt{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--fg-mut); margin-bottom:.25rem}
.contact dd{margin:0 0 1.1rem; font-size:1.05rem}

/* Rechtstexte */
.legal{max-width:46rem}
.legal h2{margin-top:2.4rem}
.legal h3{margin-top:1.6rem}
.legal p,.legal li{color:var(--fg); font-size:1rem}
.legal ul{padding-left:1.2rem}
.legal li{margin-bottom:.4rem}

/* Fuß */
footer.site{background:var(--bg-deep); color:#93a3b8; padding:2.5rem 0; font-size:.92rem}
footer.site .wrap{display:flex; gap:1.4rem; flex-wrap:wrap; align-items:center}
footer.site a{color:#cfdae8; text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site .sep{margin-left:auto}
@media (max-width:560px){ footer.site .sep{margin-left:0; width:100%} }

@media (max-width:480px){
  .brand img{width:168px}
}
