/* Shared blog post styles — MKH GIS-Beratung */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }
:root {
  --green-900:#1b3d22;--green-800:#234d2b;--green-700:#2e6438;--green-600:#3a7d44;
  --green-100:#e4f3e7;--green-50:#f2faf4;
  --n-900:#1e1d1a;--n-800:#302f2b;--n-700:#4a4945;--n-600:#6b6a65;
  --n-200:#e2e0da;--n-100:#f0eeea;--n-50:#f8f7f5;
  --white:#fff;--teal:#1daaaa;--teal-dark:#157e7e;--teal-light:#e0f5f5;
  --font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --r-md:4px;--r-lg:6px;
  --shadow-sm:0 1px 4px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.05);
}
body { font-family:var(--font);font-size:17px;line-height:1.7;color:var(--n-900);background:var(--white);-webkit-font-smoothing:antialiased; }
a { color:var(--green-700);text-decoration:none; }
a:hover { color:var(--green-900); }

.site-nav { position:sticky;top:0;z-index:200;background:var(--white);border-bottom:1px solid var(--n-200);box-shadow:var(--shadow-sm); }
.nav-inner { max-width:1120px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between; }
.nav-logo { display:flex;align-items:center;gap:10px;text-decoration:none; }
.nav-logo-badge { width:38px;height:38px;border-radius:50%;background:var(--green-600);display:flex;align-items:center;justify-content:center; }
.nav-logo-badge svg { width:20px;height:20px;fill:white; }
.nav-logo-title { font-size:15px;font-weight:700;color:var(--n-900);line-height:1.2; }
.nav-logo-sub { font-size:11px;color:var(--n-600); }
.nav-links { display:flex;align-items:center;gap:4px; }
.nav-links a { font-size:14px;font-weight:500;color:var(--n-700);padding:6px 13px;border-radius:var(--r-md); }
.nav-links a:hover,.nav-links a.active { background:var(--n-50);color:var(--green-700); }
.nav-cta { background:var(--green-600)!important;color:var(--white)!important;font-weight:600!important; }
.nav-cta:hover { background:var(--green-700)!important; }
.nav-hamburger { display:none;background:none;border:none;flex-direction:column;gap:5px;padding:6px; }
.nav-hamburger span { display:block;width:22px;height:2px;background:var(--n-700); }
.mobile-menu { display:none;flex-direction:column;padding:12px 24px 20px;border-top:1px solid var(--n-200);background:var(--white); }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:15px;font-weight:500;color:var(--n-700);padding:10px 0;border-bottom:1px solid var(--n-100); }
.mobile-menu .mob-cta { margin-top:8px;background:var(--green-600);color:var(--white)!important;text-align:center;padding:12px!important;border-radius:var(--r-md);border-bottom:none!important; }

.article-hero { position:relative;overflow:hidden;height:420px; }
.article-hero-img { width:100%;height:100%;object-fit:cover;object-position:center 60%; }
.article-hero-overlay { position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,61,34,.7) 0%,rgba(27,61,34,.15) 60%); }
.article-hero-topo { position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cellipse cx='200' cy='200' rx='190' ry='90' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='200' cy='200' rx='160' ry='70' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='200' cy='200' rx='128' ry='52' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='200' cy='200' rx='96' ry='36' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='200' cy='200' rx='64' ry='22' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='80' cy='350' rx='130' ry='60' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='80' cy='350' rx='100' ry='44' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='340' cy='80' rx='120' ry='55' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='340' cy='80' rx='88' ry='38' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E");background-size:400px 400px; }
.article-hero-content { position:absolute;bottom:0;left:0;right:0;padding:32px 24px;max-width:1120px;margin:0 auto;color:white; }
.eyebrow-teal { display:inline-block;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:10px; }
.breadcrumb { font-size:13px;color:rgba(255,255,255,.7);margin-bottom:14px;display:flex;align-items:center;gap:6px; }
.breadcrumb a { color:rgba(255,255,255,.7); }
.breadcrumb a:hover { color:white; }
.breadcrumb svg { width:12px;height:12px;stroke:rgba(255,255,255,.5);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.article-h1 { font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;color:white;line-height:1.2;max-width:700px; }

.article-wrap { max-width:760px;margin:0 auto;padding:56px 24px 80px; }
.back-link { display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--n-600);margin-bottom:32px; }
.back-link svg { width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.article-meta { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px;font-size:13px;color:var(--n-600); }
.article-cat { font-weight:700;color:var(--green-700);text-transform:uppercase;letter-spacing:.06em;font-size:11px; }
.article-date::before,.article-read::before,.article-author::before { content:'·';margin-right:14px;color:var(--n-400); }

.article-body h2 { font-size:1.5rem;font-weight:700;margin:40px 0 14px;line-height:1.3; }
.article-body h3 { font-size:1.15rem;font-weight:700;margin:28px 0 10px; }
.article-body p { margin-bottom:18px; }
.article-body ul,.article-body ol { margin:0 0 18px 24px; }
.article-body li { margin-bottom:8px; }
.article-body strong { color:var(--n-900);font-weight:700; }
.article-body img { margin:24px 0;border-radius:var(--r-lg);box-shadow:var(--shadow-sm); }
.highlight-box { background:var(--green-50);border-left:4px solid var(--green-600);padding:18px 22px;margin:24px 0;border-radius:var(--r-md); }
.highlight-box p { margin:0;font-style:italic;color:var(--n-800); }
.tip-box { background:var(--teal-light);border-left:4px solid var(--teal);padding:18px 22px;margin:24px 0;border-radius:var(--r-md); }
.tip-box p { margin:0;color:var(--n-800); }
.tip-box strong { color:var(--teal-dark); }

.cta-card { margin-top:56px;background:var(--green-900);border-radius:var(--r-lg);padding:36px 32px;color:white;text-align:center;position:relative;overflow:hidden; }
.cta-card::before { content:'';position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cellipse cx='200' cy='200' rx='190' ry='90' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='200' cy='200' rx='128' ry='52' fill='none' stroke='white' stroke-width='1'/%3E%3Cellipse cx='200' cy='200' rx='64' ry='22' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E"); }
.cta-card > * { position:relative;z-index:1; }
.cta-card h3 { font-size:1.4rem;margin-bottom:10px; }
.cta-card p { color:rgba(255,255,255,.75);margin-bottom:22px;font-size:.95rem; }
.cta-btn { display:inline-block;background:var(--green-600);color:white;padding:12px 26px;border-radius:var(--r-md);font-weight:700;font-size:14px; }
.cta-btn:hover { background:var(--green-500,#4a9456);color:white; }

.related { margin-top:64px;padding-top:32px;border-top:1px solid var(--n-200); }
.related h3 { font-size:1.05rem;font-weight:700;margin-bottom:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--n-600); }
.related-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.related-card { display:block;background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s; }
.related-card:hover { box-shadow:var(--shadow-md); }
.related-card img { width:100%;aspect-ratio:16/9;object-fit:cover; }
.related-card-body { padding:14px 16px; }
.related-card .cat { font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-700); }
.related-card h4 { font-size:.95rem;line-height:1.4;margin-top:4px; }

.site-footer { background:#1e1d1a;color:rgba(255,255,255,.7); }
.footer-inner { max-width:1120px;margin:0 auto;padding:40px 24px 32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-bottom:1px solid rgba(255,255,255,.1); }
.footer-logo { display:flex;align-items:center;gap:10px; }
.footer-logo-badge { width:36px;height:36px;background:var(--green-600);border-radius:50%;display:flex;align-items:center;justify-content:center; }
.footer-logo-badge svg { width:18px;height:18px;fill:white; }
.footer-brand-name { font-size:14px;font-weight:700;color:var(--white); }
.footer-brand-sub { font-size:11px;color:rgba(255,255,255,.4); }
.footer-links { display:flex;gap:20px;flex-wrap:wrap; }
.footer-links a { font-size:13px;color:rgba(255,255,255,.6); }
.footer-links a:hover { color:white; }
.footer-bottom { padding:20px 24px;text-align:center;font-size:12px;color:rgba(255,255,255,.4);max-width:1120px;margin:0 auto; }
.footer-bottom .teal { color:var(--teal);font-weight:600;display:block;margin-bottom:6px; }

@media (max-width:900px) {
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .article-hero { height:280px; }
  .article-wrap { padding:40px 20px 60px; }
  .related-grid { grid-template-columns:1fr; }
}
