:root{
  --bg:#0b1020; --bg-soft:#0f172a; --card:#111827;
  --muted:#9ca3af; --text:#e5e7eb; --brand:#06b6d4; --brand-2:#a78bfa;
  --shadow:0 20px 40px rgba(0,0,0,.35); --radius:18px; --gap:22px;
}
@media (prefers-color-scheme: light){
  :root{ --bg:#ffffff; --bg-soft:#f8fafc; --card:#ffffff; --text:#0f172a; --muted:#475569; }
  body{ background:linear-gradient(180deg,#ffffff, #f1f5f9 50%, #eef2ff); }
}
*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0; font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--text);
  background:radial-gradient(1200px 600px at 80% -20%, rgba(6,182,212,.15), transparent 60%),
             radial-gradient(900px 500px at -10% 10%, rgba(167,139,250,.18), transparent 60%),
             var(--bg);
}
a{ color:var(--brand); text-decoration:none } a:hover{ text-decoration:underline }
.container{ width:min(1120px, 92vw); margin:0 auto; }
header.hero{ padding:44px 0 72px; overflow:hidden; }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:32px; }
.logo{ display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.2px; font-size:18px; }
.logo-badge{ width:36px; height:36px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:white; font-weight:800; box-shadow:var(--shadow); }
.nav a.btn, .cta .btn{ display:inline-flex; align-items:center; gap:10px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; border:none; border-radius:999px; padding:12px 18px; font-weight:600; box-shadow:var(--shadow); transition:.25s transform; }
.nav a.btn:hover, .cta .btn:hover{ transform:translateY(-2px) }

.hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
@media (max-width: 960px){ .hero-grid{ grid-template-columns:1fr } }
.eyebrow{ color:var(--brand); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:13px; }
h1{ margin:.2em 0 .2em; font-size: clamp(28px, 3.6vw + 10px, 56px); line-height:1.05; }
.section-title{ font-size:28px; margin:0 0 12px }
.section-sub{ color:var(--muted); margin:0 0 16px }
.subtitle{ color:var(--muted); font-size: clamp(15px, 1vw + 12px, 19px); }
.badges{ display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 28px; }
.badge{ padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:var(--text); font-size:13px }

/* Zielgebiete EINSPALTIG */
.cards{ display:grid; grid-template-columns:1fr; gap:var(--gap); margin:34px 0 10px; }
.card{ background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); }
.card h3{ margin:0 0 8px; font-size:20px } .card p{ margin:0; color:var(--muted) }
.tag{ display:inline-block; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:600; letter-spacing:.02em; color:#0b1020; }
.tag.mallorca{ background:#fef3c7 } .tag.spain{ background:#dcfce7 } .tag.intl{ background:#e0f2fe }

section{ padding:60px 0 }

.features{ display:grid; grid-template-columns:1fr; gap:var(--gap) }
@media (min-width: 900px){ .features{ grid-template-columns:repeat(2,1fr); } }
.feature{ background:var(--card); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:22px }
.feature h4{ margin:8px 0 8px } .feature p{ margin:0; color:var(--muted) }

.split{ display:grid; grid-template-columns:1fr; gap:var(--gap); align-items:center }
@media (min-width: 960px){ .split{ grid-template-columns:1fr 1fr; } }

.stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gap); margin-top:18px }
@media (min-width: 900px){ .stats{ grid-template-columns:repeat(4,1fr); } }
.stat{ background:var(--card); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:24px; text-align:center }
.stat .n{ font-size:28px; font-weight:800 } .stat .l{ color:var(--muted); font-size:13px }

.pill-list{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px }
.pill{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:999px; padding:8px 12px; font-size:13px }

.cta{ background:linear-gradient(135deg, rgba(6,182,212,.12), rgba(167,139,250,.12)); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:26px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap }

.contact{ background:var(--card); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:24px }
.contact form{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
.contact form .full{ grid-column:1/-1 }
input, select, textarea{
  width:100%; border-radius:12px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.02); color:var(--text);
  padding:12px 14px; outline:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); font-size:16px;
}
textarea{ min-height:120px; resize:vertical }
.btn{ cursor:pointer }

footer{ padding:40px 0; color:var(--muted); font-size:14px }
.links{ display:flex; gap:16px; flex-wrap:wrap }

/* Utility für Content-Seiten (Impressum/Datenschutz) */
.page-container{ width:min(900px,92vw); margin:0 auto; padding:40px 0; }
.box{ background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); }
.page-header{ padding:28px 0 10px }
.page-header nav a{ margin-right:16px; text-decoration:none }
h2{ margin:26px 0 12px }
p, li{ line-height:1.6; }

/* Small fixes */
a.button-link{ display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; }
