
:root{
  --bg: #eaf6fa;
  --ink: #163a2b;
  --muted:#3d6b58;
  --card:#ffffff;
  --green:#2aa66b;
  --teal:#55c7d9;
  --orange:#ffb85c;
  --yellow:#f6e65a;
  --shadow: 0 14px 40px rgba(22,58,43,.10);
  --radius: 22px;
  --max: 1120px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}
*{box-sizing:border-box}
html,html,body{overflow-x:hidden}
body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:18px;top:18px;width:auto;height:auto;background:#fff;padding:10px 12px;border-radius:12px;box-shadow:var(--shadow);z-index:999}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid rgba(22,58,43,.08);z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:76px}
.brand img{height:64px;width:auto}
.menu{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.menu a{padding:10px 10px;border-radius:999px;text-decoration:none;color:rgba(22,58,43,.9)}
.menu a:hover{background:rgba(42,166,107,.10)}
.btn{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;gap:10px;background:var(--yellow);padding:14px 18px;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 10px 22px rgba(0,0,0,.08)}
.btn:hover{transform:translateY(-1px)}
.btn-small{padding:10px 14px}
.btn-outline{background:transparent;border:2px solid rgba(22,58,43,.14);box-shadow:none}
.btn-outline:hover{background:rgba(42,166,107,.08)}
.hero{background:var(--bg);position:relative;overflow:hidden}
.hero .container{padding:56px 18px 64px}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center}
.kicker{display:inline-flex;gap:10px;align-items:center;background:rgba(42,166,107,.12);color:var(--muted);padding:8px 12px;border-radius:999px;font-weight:600}
.h1{font-size:clamp(34px,4.5vw,58px);line-height:1.05;margin:18px 0 12px;letter-spacing:.5px}
.lead{font-size:clamp(16px,1.8vw,20px);color:rgba(22,58,43,.75);max-width:58ch;margin:0 0 18px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-card{background:rgba(255,255,255,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:grid;gap:12px}
.badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.badge{border-radius:16px;padding:12px 12px;background:#fff;border:1px solid rgba(22,58,43,.10)}
.badge strong{display:block}
.badge span{color:rgba(22,58,43,.7);font-size:14px}
.hero::before,.hero::after{content:"";position:absolute;inset:auto;filter:blur(0px);opacity:.9}
.hero::before{width:340px;height:340px;left:-110px;top:140px;background:rgba(42,166,107,.18);border-radius:62% 38% 46% 54% / 54% 48% 52% 46%}
.hero::after{width:420px;height:420px;right:-150px;top:80px;background:rgba(255,184,92,.20);border-radius:38% 62% 61% 39% / 46% 40% 60% 54%}
.blob{position:absolute;right:-120px;bottom:-180px;width:540px;height:540px;opacity:.16}
.section{padding:54px 0}
.section.alt{background:rgba(234,246,250,.55)}
.h2{font-size:clamp(26px,3vw,36px);margin:0 0 14px;line-height:1.12}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;border:1px solid rgba(22,58,43,.08)}
.card h3{margin:0 0 8px}
.card p{margin:0;color:rgba(22,58,43,.75)}
.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.pill{background:rgba(85,199,217,.16);padding:8px 12px;border-radius:999px;font-weight:600;color:rgba(22,58,43,.85)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.callout{background:linear-gradient(135deg, rgba(42,166,107,.16), rgba(246,230,90,.25));border:1px solid rgba(22,58,43,.10)}
.list{margin:10px 0 0;padding-left:18px;color:rgba(22,58,43,.80)}
.kv{display:grid;grid-template-columns:180px 1fr;gap:10px;padding:10px 0;border-top:1px solid rgba(22,58,43,.08)}
.kv:first-child{border-top:none}
.kv b{color:rgba(22,58,43,.85)}
.site-footer{padding:26px 0 12px;border-top:1px solid rgba(22,58,43,.08);background:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px}
.footer-grid a{text-decoration:none}
.footer-bottom{padding-top:12px}
.muted{color:rgba(22,58,43,.62);font-size:14px}
.breadcrumbs{padding:14px 0 0}
.breadcrumbs a{color:rgba(22,58,43,.7);text-decoration:none}
.pagehead{padding:40px 0 20px;background:rgba(234,246,250,.70)}
.pagehead .lead{margin:8px 0 0}
@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .menu{gap:10px}
  .brand img{height:54px}
}

/* Mobile drawer navigation */
.menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(22,58,43,.18);background:#fff;border-radius:14px;padding:10px 12px;min-width:44px;min-height:44px}
.menu-toggle span{display:block;width:22px;height:2px;background:rgba(22,58,43,.85);border-radius:999px}
.menu-overlay{position:fixed;inset:0;display:none;background:rgba(10,20,30,.35);backdrop-filter:blur(2px);z-index:9998}
.menu-drawer{position:fixed;top:0;right:0;height:100vh;width:min(360px, 90vw);max-width:90vw;background:#fff;border-left:1px solid rgba(22,58,43,.12);box-shadow:-18px 0 40px rgba(0,0,0,.15);z-index:9999;transform:translateX(105%);transition:transform .22s ease;will-change:transform}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid rgba(22,58,43,.10)}
.drawer-title{font-weight:800;color:rgba(22,58,43,.92)}
.drawer-close{border:0;background:transparent;font-size:28px;line-height:1;padding:6px 10px;border-radius:12px;color:rgba(22,58,43,.8)}
.drawer-close:hover{background:rgba(42,166,107,.10)}
.drawer-nav{display:flex;flex-direction:column;gap:8px;padding:14px 12px}
.drawer-nav a{padding:12px 12px;border-radius:14px;text-decoration:none;color:rgba(22,58,43,.92);font-weight:700}
.drawer-nav a:hover{background:rgba(42,166,107,.10)}
.drawer-nav .btn{justify-content:center;margin-top:6px}
.drawer-note{margin:10px 12px 0;font-size:.92rem;line-height:1.35;color:rgba(22,58,43,.72)}
body.kp-menu-open .menu-drawer{transform:translateX(0)}
body.kp-menu-open .menu-overlay{display:block}

@media (max-width: 860px){
  .menu{display:none}
  .menu-toggle{display:inline-flex}
  .nav{min-height:72px}
}


/* --- Feinschliff v3 --- */
.micro{font-size:.92rem;line-height:1.35}
.checklist{margin:14px 0 0;padding-left:18px}
.checklist li{margin:8px 0}
.checklist li::marker{color:var(--accent)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.gallery-item{margin:0}
.gallery-item a{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(0,0,0,.06);background:#fff}
.gallery-item img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}
.gallery-item figcaption{margin-top:8px}
@media (max-width: 900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.gallery-grid{grid-template-columns:1fr}}
.site-header .brand img{max-height:72px;width:auto}
@media (max-width: 720px){.site-header .brand img{max-height:56px}}



/* Prevent horizontal overflow in key-value rows on small screens */
.kv span, .kv a{overflow-wrap:anywhere;word-break:break-word}
@media (max-width: 520px){
  .kv{grid-template-columns:1fr}
  .kv b{display:block;margin-bottom:2px}
}
