/* ========================================================================== */
/* ROOT / DESIGN SYSTEM */
/* ========================================================================== */

:root { --primary:#3e6576; --secondary:#00b4ec; --accent:#9e092f; --light:#dfe6ee; --text:#333333; --white:#fff; --radius:24px; --shadow:0 18px 50px rgba(62,101,118,.14); --container:1180px; --transition:.3s ease; }

/* ========================================================================== */
/* RESET */
/* ========================================================================== */

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding:0; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; color:var(--text); background:var(--white); }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; transition:var(--transition); }
figure { margin:0; }
ul { margin:0; padding:0; list-style:none; }
p:last-child { margin-bottom:0; }

/* ========================================================================== */
/* LAYOUT */
/* ========================================================================== */

.container { width:min(var(--container),calc(100% - 40px)); margin-inline:auto; }
.section { padding:90px 0; }
.section-small { padding:60px 0; }
.section-large { padding:120px 0; }

/* ========================================================================== */
/* TYPOGRAPHY */
/* ========================================================================== */

h1,h2,h3,h4,h5,h6 { margin-top:0; line-height:1.1; color:var(--primary); }
h1 { font-size:clamp(42px,6vw,74px); }
h2 { font-size:clamp(32px,4vw,52px); }
h3 { font-size:clamp(24px,3vw,32px); }
.eyebrow { display:inline-block; margin-bottom:16px; color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* ========================================================================== */
/* BUTTONS */
/* ========================================================================== */

.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; border:none; border-radius:999px; font-weight:700; cursor:pointer; transition:var(--transition); }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--accent); color:var(--white); }
.btn-secondary { background:var(--primary); color:var(--white); }
.btn-light { background:var(--white); color:var(--primary); }

/* ========================================================================== */
/* HEADER */
/* ========================================================================== */

.site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.95); backdrop-filter:blur(14px); border-bottom:1px solid rgba(62,101,118,.12); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:96px; }
.logo img { width:310px; max-height:74px; }

/* ========================================================================== */
/* NAVIGATION */
/* ========================================================================== */

.main-nav ul { display:flex; align-items:center; gap:28px; }
.main-nav li { position:relative; }
.main-nav a { display:block; font-weight:700; color:var(--primary); }
.main-nav a:hover,.main-nav .active>a,.main-nav .trail>a { color:var(--accent); }

/* ========================================================================== */
/* HERO */
/* ========================================================================== */

.hero { padding:90px 0; background:linear-gradient(135deg,#fff 0%,var(--light) 100%); }
.hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.hero-content { max-width:700px; }
.hero-text { font-size:20px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }
.hero-image { overflow:hidden; border-radius:36px; box-shadow:var(--shadow); }
.hero-image img { width:100%; height:100%; object-fit:cover; }

/* ========================================================================== */
/* SECTION HEADINGS */
/* ========================================================================== */

.section-head { max-width:760px; margin-bottom:44px; }
.section-head h2 { margin-bottom:20px; }

/* ========================================================================== */
/* CARD GRID */
/* ========================================================================== */

.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.card-grid>* { padding:32px; background:var(--white); border-top:5px solid var(--secondary); border-radius:var(--radius); box-shadow:var(--shadow); transition:var(--transition); }
.card-grid>*:hover { transform:translateY(-6px); }

/* ========================================================================== */
/* EINRICHTUNGEN */
/* ========================================================================== */

.facility-card { overflow:hidden; }
.facility-card-image { margin-bottom:20px; border-radius:18px; overflow:hidden; }
.facility-card-title { margin-bottom:12px; }
.facility-card-text { margin-bottom:20px; }

/* ========================================================================== */
/* LEISTUNGEN */
/* ========================================================================== */

.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.service-item { padding:28px; background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); }
.service-item h3 { margin-bottom:12px; }

/* ========================================================================== */
/* KARRIERE TEASER */
/* ========================================================================== */

.teaser { background:var(--primary); color:var(--white); }
.teaser .eyebrow,.teaser h2 { color:var(--white); }
.teaser-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
.teaser-text { max-width:720px; font-size:19px; }
.teaser-actions { display:flex; flex-direction:column; gap:14px; }

/* ========================================================================== */
/* NEWS */
/* ========================================================================== */

.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.news-item { overflow:hidden; background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); }
.news-item-image { overflow:hidden; }
.news-item-image img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:.4s ease; }
.news-item:hover img { transform:scale(1.05); }
.news-item-content { padding:24px; }
.news-item-date { margin-bottom:10px; color:var(--accent); font-size:14px; font-weight:700; }
.news-item-title { margin-bottom:14px; }
.news-item-text { font-size:15px; }

/* ========================================================================== */
/* KONTAKT */
/* ========================================================================== */

.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.contact-box { padding:32px; background:var(--light); border-radius:var(--radius); }

/* ========================================================================== */
/* FOOTER */
/* ========================================================================== */

.site-footer { padding:60px 0; background:#233944; color:var(--white); }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.site-footer a { color:var(--white); }

/* ========================================================================== */
/* HELPER */
/* ========================================================================== */

.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }
.mt-0 { margin-top:0; }
.mb-0 { margin-bottom:0; }

/* ========================================================================== */
/* RESPONSIVE */
/* ========================================================================== */

@media (max-width:1200px) { .service-grid { grid-template-columns:repeat(2,1fr); } }

@media (max-width:900px) { .header-inner { flex-direction:column; padding:20px 0; } .main-nav ul { flex-wrap:wrap; gap:16px 22px; } .hero-grid,.teaser-inner,.footer-grid,.contact-grid { grid-template-columns:1fr; } .card-grid,.news-grid { grid-template-columns:1fr; } .logo img { width:260px; } }

@media (max-width:600px) { .section { padding:60px 0; } .hero { padding:60px 0; } .hero-actions { flex-direction:column; } .service-grid { grid-template-columns:1fr; } }