/* ========================================================================== */
/* GLOBAL THEME */
/* ========================================================================== */

body { overflow-x:hidden; }
.site-main { background:var(--white); }

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

.site-header { box-shadow:0 8px 30px rgba(35,57,68,.04); }
.header-navigation { display:flex; align-items:center; justify-content:flex-end; gap:28px; }
.logo { display:inline-flex; align-items:center; }
.logo img { object-fit:contain; }

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

.main-nav a { position:relative; padding:10px 0; font-size:16px; }
.main-nav a::after { content:""; position:absolute; left:0; bottom:2px; width:0; height:3px; background:var(--accent); border-radius:999px; transition:var(--transition); }
.main-nav a:hover::after,.main-nav .active>a::after,.main-nav .trail>a::after { width:100%; }

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

.hero { position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; right:-180px; top:-180px; width:520px; height:520px; background:rgba(0,180,236,.16); border-radius:50%; }
.hero::after { content:""; position:absolute; left:-160px; bottom:-220px; width:480px; height:480px; background:rgba(158,9,47,.08); border-radius:50%; }
.hero .container { position:relative; z-index:2; }
.hero h1 { letter-spacing:-.04em; }
.hero-text p { margin-top:0; }
.hero-image { position:relative; min-height:460px; background:var(--light); }
.hero-image img { min-height:460px; }

/* ========================================================================== */
/* QUICK ACCESS / SCHNELLEINSTIEG */
/* ========================================================================== */

.quick-access { position:relative; z-index:5; margin-top:-42px; }
.quick-access-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.quick-access-card { display:flex; flex-direction:column; justify-content:space-between; min-height:220px; padding:30px; background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); border-bottom:6px solid var(--primary); transition:var(--transition); }
.quick-access-card:hover { transform:translateY(-6px); border-bottom-color:var(--accent); }
.quick-access-card span { display:block; margin-bottom:14px; color:var(--accent); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.quick-access-card h3 { margin-bottom:14px; }
.quick-access-card p { margin:0 0 22px; }
.quick-access-card a { color:var(--primary); font-weight:800; }

/* ========================================================================== */
/* SECTION DETAIL */
/* ========================================================================== */

.section-muted { background:var(--light); }
.section-white { background:var(--white); }
.section-primary { background:var(--primary); color:var(--white); }
.section-primary h2,.section-primary h3,.section-primary .eyebrow { color:var(--white); }
.section-head.center { margin-inline:auto; text-align:center; }

/* ========================================================================== */
/* CARD DETAIL */
/* ========================================================================== */

.card-grid h3 { margin-bottom:14px; }
.card-grid p { margin:0 0 22px; }
.card-grid a { color:var(--accent); font-weight:800; }
.card-grid>*:nth-child(2) { border-top-color:var(--accent); }
.card-grid>*:nth-child(3) { border-top-color:var(--primary); }

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

.facility-card { background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); }
.facility-card-image img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.facility-card-content { padding:30px; }
.facility-card-meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.facility-card-meta span { display:inline-flex; padding:6px 12px; background:var(--light); color:var(--primary); border-radius:999px; font-size:13px; font-weight:700; }

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

.service-item { position:relative; overflow:hidden; border-left:5px solid var(--secondary); transition:var(--transition); }
.service-item::after { content:""; position:absolute; right:-40px; bottom:-40px; width:120px; height:120px; background:rgba(0,180,236,.12); border-radius:50%; }
.service-item:hover { transform:translateY(-5px); border-left-color:var(--accent); }
.service-item h3 { position:relative; z-index:2; }
.service-item p { position:relative; z-index:2; margin-bottom:0; }

/* ========================================================================== */
/* KARRIERE DETAIL */
/* ========================================================================== */

.teaser { position:relative; overflow:hidden; }
.teaser::before { content:""; position:absolute; right:-120px; top:-120px; width:340px; height:340px; background:rgba(255,255,255,.08); border-radius:50%; }
.teaser::after { content:""; position:absolute; left:-100px; bottom:-140px; width:300px; height:300px; background:rgba(0,180,236,.14); border-radius:50%; }
.teaser-inner { position:relative; z-index:2; }
.teaser-actions .btn-light:hover { background:var(--light); }
.career-boxes { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:42px; }
.career-box { padding:26px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); }
.career-box h3 { color:var(--white); font-size:22px; }
.career-box p { margin-bottom:0; }

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

.news-item { transition:var(--transition); }
.news-item:hover { transform:translateY(-6px); }
.news-item-title a { color:var(--primary); }
.news-item-title a:hover { color:var(--accent); }
.news-item-more { display:inline-flex; margin-top:18px; color:var(--accent); font-weight:800; }
.news-list-empty { padding:32px; background:var(--light); border-radius:var(--radius); }

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

.contact-box h3 { margin-bottom:16px; }
.contact-box a { color:var(--accent); font-weight:800; }
.contact-highlight { padding:38px; background:var(--primary); color:var(--white); border-radius:var(--radius); }
.contact-highlight h2,.contact-highlight h3 { color:var(--white); }
.contact-highlight .btn { margin-top:20px; }

/* ========================================================================== */
/* FORMULARE */
/* ========================================================================== */

form .widget { margin-bottom:22px; }
form label { display:block; margin-bottom:8px; color:var(--primary); font-weight:800; }
input[type="text"],input[type="email"],input[type="tel"],textarea,select { width:100%; padding:15px 18px; border:1px solid rgba(62,101,118,.25); border-radius:14px; font:inherit; color:var(--text); background:var(--white); }
textarea { min-height:160px; resize:vertical; }
input:focus,textarea:focus,select:focus { outline:none; border-color:var(--secondary); box-shadow:0 0 0 4px rgba(0,180,236,.14); }
button.submit { display:inline-flex; align-items:center; justify-content:center; padding:14px 24px; border:0; border-radius:999px; background:var(--accent); color:var(--white); font-weight:800; cursor:pointer; }

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

.site-footer strong { display:block; margin-bottom:14px; font-size:18px; }
.site-footer p { margin-top:0; opacity:.9; }
.site-footer a:hover { color:var(--secondary); }
.footer-bottom { margin-top:42px; padding-top:24px; border-top:1px solid rgba(255,255,255,.14); font-size:14px; opacity:.8; }

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

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

@media (max-width:900px) { .header-navigation { width:100%; justify-content:flex-start; } .hero-image,.hero-image img { min-height:320px; } .quick-access { margin-top:0; padding-top:40px; } .quick-access-grid { grid-template-columns:1fr; } .teaser-actions { flex-direction:row; flex-wrap:wrap; } }

@media (max-width:600px) { .main-nav a { font-size:15px; } .hero-text { font-size:18px; } .quick-access-card { min-height:auto; padding:24px; } .career-boxes { grid-template-columns:1fr; } .teaser-actions { flex-direction:column; } .btn { width:100%; } }