:root{
  --bg-light:#f4f6f8; --card-light:#fff; --txt-light:#0f172a; --muted-light:#6c7a87;
  --bg-dark:#0e1116; --card-dark:#161b22; --txt-dark:#e6ebf0; --muted-dark:#9aa5b1;
  --accent:#4f7ea8; --accent-2:#6ea6c9;
  --radius:16px; --shadow-sm:0 6px 18px rgba(40,50,60,0.06); --shadow-lg:0 12px 34px rgba(40,50,60,0.10);
  --ff:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --site-max:1200px;
}
html[data-theme="light"]{ --bg:var(--bg-light); --card:var(--card-light); --txt:var(--txt-light); --muted:var(--muted-light);}
html[data-theme="dark"]{ --bg:var(--bg-dark); --card:var(--card-dark); --txt:var(--txt-dark); --muted:var(--muted-dark);}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--ff);background:var(--bg);color:var(--txt);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.wrap{width:100%;max-width:var(--site-max);margin:0 auto;padding:12px;}

.top-banner{background:radial-gradient(circle,rgba(79,126,168,0.9)20%,rgba(79,126,168,0)100%);color:#000;text-align:center;padding:.75rem 1rem;font-size:1rem;border-radius:12px;margin-bottom:18px;}

header{display:flex;align-items:center;justify-content:space-between;padding:16px;width:100%;}
.brand{display:flex;gap:14px;align-items:center;}
.logo{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px;background:linear-gradient(135deg,var(--accent),var(--accent-2));}
.brand .title{font-weight:800;font-size:18px;}
.brand .subtitle{font-size:13px;color:var(--muted);margin-top:2px;}
nav{display:flex;gap:12px;align-items:center;}
.nav-left{display:flex;gap:10px;align-items:center;}
.nav-right{display:flex;align-items:center;}
.btn{padding:8px 14px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--txt);transition:0.2s;}
.btn.small{padding:6px 10px;font-size:13px;}
.btn-primary{background:var(--accent);color:#fff;padding:10px 18px;border-radius:14px;font-weight:700;transition:0.2s;}
.btn-primary:hover{opacity:.9;}
html[data-theme="dark"] .btn-primary{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:#fff;}
html[data-theme="dark"] .btn{color:#e6ebf0;border-color:rgba(110,166,201,0.12);}

.hero-landing{padding:60px 20px;text-align:center;}
.hero-content.center{max-width:900px;margin:0 auto;}
.hero-content h1{font-size:2.8rem;margin-bottom:20px;line-height:1.2;}
.hero-content .lead{font-size:1.25rem;margin-bottom:32px;color:var(--muted);}
.badge{display:inline-block;margin-bottom:18px;padding:8px 16px;border-radius:999px;background:rgba(79,126,168,0.15);color:var(--accent);font-weight:600;}

.features{display:flex;flex-wrap:wrap;gap:36px;justify-content:center;margin-top:50px;}
.feature{background:var(--card);padding:26px 18px;border-radius:var(--radius);width:280px;height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow-sm);transition:transform .22s ease;}
.feature:hover{transform:translateY(-4px);}
.feature h4{margin-bottom:14px;font-size:1.1rem;}
.feature p{font-size:1rem;color:var(--muted);}

.experience{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;list-style:none;margin-top:50px;padding:0;}
.experience li{background:var(--card);width:260px;height:260px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;font-weight:600;font-size:1.05rem;color:var(--txt);}

.steps{max-width:600px;margin:40px auto 0;font-size:1rem;line-height:1.8;padding-left:20px;}
.steps li{margin-bottom:12px;}

.highlight{background:var(--accent);color:#fff;text-align:center;border-radius:var(--radius);padding:70px 20px;margin-top:70px;}
.highlight p{color:#fff;font-size:1.15rem;margin-bottom:30px;}

.contact-form{display:grid;gap:16px;max-width:600px;margin:0 auto;background-color:var(--card);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.contact-form>div{border:1px solid #d1d9e6;border-radius:12px;padding:12px 14px;background-color:var(--card);transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;}
.contact-form>div:focus-within{border-color:var(--accent);box-shadow:0 2px 10px rgba(79,126,168,0.18);}
.contact-form input,.contact-form select,.contact-form textarea{border:none;width:100%;background:transparent;padding:6px 0;font-size:14px;color:var(--txt);}
.contact-form .row{display:flex;align-items:center;gap:8px;border:none;padding:0;margin:0;}
.contact-form .btn,.contact-form .btn-primary{border-radius:12px;padding:10px 16px;cursor:pointer;font-weight:700;}
.contact-form .btn-primary{background-color:var(--accent);color:#fff;}
html[data-theme="dark"] .contact-form{background-color:#161b22;}
html[data-theme="dark"] .contact-form>div{border-color:#444;background-color:#161b22;}
html[data-theme="dark"] .contact-form input,html[data-theme="dark"] .contact-form select,html[data-theme="dark"] .contact-form textarea{color:#e6ebf0;}
#responseMsg{font-weight:600;font-size:1rem;text-align:center;margin-top:12px;opacity:0;transition:opacity .3s ease;}

footer{text-align:center;padding:1.5rem 12px;font-size:.95rem;background:radial-gradient(circle,rgba(79,126,168,0.9)20%,rgba(79,126,168,0)100%);color:#0f172a;border-radius:12px;margin-top:60px;line-height:1.5;}
footer a{color:#0f172a;text-decoration:underline;margin:0 6px;}
html[data-theme="dark"] footer{background:radial-gradient(circle,rgba(79,126,168,0.35)20%,rgba(79,126,168,0)100%);color:#e6ebf0;}
html[data-theme="dark"] footer a{color:#e6ebf0;}

.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:16px;}
.image-box{width:100%;height:250px;border-radius:var(--radius);overflow:hidden;background:#e9eef3;display:flex;align-items:center;justify-content:center;}
.image-box img{width:100%;height:100%;object-fit:cover;}

.section h2{text-align:center;margin-top:50px;margin-bottom:10px;}
#contactTitle,
#contactText {
  text-align: center;
}

@media(max-width:960px){.features,.experience{flex-direction:column;gap:24px;align-items:center;}.feature,.experience li{width:100%;max-width:320px;height:auto;padding:28px;}.hero-content h1{font-size:2.2rem;}}
@media(max-width:720px){header{flex-direction:column;align-items:flex-start;gap:12px;padding:12px;}nav{width:100%;display:flex;justify-content:space-between;}#kontakt .card-inner{padding:30px 16px;}.contact-form>div{padding:12px;}}
@media(max-width:520px){.hero-content{padding:0 12px;}.badge{font-size:.85rem;padding:6px 12px;}.feature,.experience li{width:100%;max-width:100%;padding:24px;}.btn-primary{width:100%;}}
@media(max-width:480px){.contact-form .row{flex-direction:column;align-items:flex-start;}.contact-form .btn,.contact-form .btn-primary{width:100%;}}
