/* Wingtip Media – gemeinsames Stylesheet (keine externen Schriften, keine externen Anfragen) */
:root{
  --blau:#001a72;
  --blau-dunkel:#000f45;
  --orange:#F6A834;
  --hellblau:#A4D0FF;
  --weiss:#ffffff;
  --text:#1b2340;
  --text-leise:#4a5372;
  --flaeche:#f3f7fd;
  --linie:#dbe4f3;
  --radius:14px;
  --max:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;
  font-family:Calibri,Carlito,"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:1.125rem;line-height:1.6;color:var(--text);background:var(--weiss);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blau)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--blau);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* Header */
.kopf{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linie)}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.marke{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--blau)}
.marke img{height:46px;width:auto}
.marke span{font-weight:700;letter-spacing:.06em;font-size:.95rem;line-height:1.15;text-transform:uppercase}
.marke small{display:block;font-weight:400;letter-spacing:.14em;font-size:.68rem;color:var(--text-leise)}
.nav{display:flex;align-items:center;gap:28px}
.nav a{text-decoration:none;font-weight:600;color:var(--blau)}
.nav a:hover{text-decoration:underline;text-underline-offset:5px}
.nav .btn{color:#fff}
.nav .btn:hover{text-decoration:none}

/* Buttons */
.btn{display:inline-block;background:var(--blau);color:#fff;font-weight:700;text-decoration:none;padding:12px 24px;border-radius:10px;border:2px solid var(--blau);transition:background .15s,transform .15s;cursor:pointer;font:inherit;font-weight:700}
.btn:hover{background:var(--blau-dunkel)}
.btn.orange{background:var(--orange);border-color:var(--orange);color:var(--blau-dunkel)}
.btn.orange:hover{background:#ffbe5c;border-color:#ffbe5c}
.btn.hell{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.btn.hell:hover{background:rgba(255,255,255,.12)}

/* Hero */
.hero{background:linear-gradient(135deg,var(--blau-dunkel) 0%,var(--blau) 62%,#0a2f9c 100%);color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}
.eyebrow{font-weight:700;letter-spacing:.18em;font-size:.82rem;text-transform:uppercase;color:var(--hellblau);margin:0 0 16px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08;margin:0 0 20px;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero p.lead{font-size:1.25rem;color:#e6efff;max-width:34em;margin:0 0 32px}
.hero .aktionen{display:flex;flex-wrap:wrap;gap:14px}
.hero figure{margin:0;position:relative}
.hero figure img{border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,20,.45);aspect-ratio:16/10;object-fit:cover;width:100%}
.hero figure::after{content:"";position:absolute;inset:auto -14px -14px auto;width:42%;height:42%;border-right:4px solid var(--orange);border-bottom:4px solid var(--orange);border-radius:0 0 var(--radius) 0;pointer-events:none}

/* Sektionen */
section{padding:88px 0}
.alt{background:var(--flaeche)}
.kopfzeile{max-width:44rem;margin:0 0 48px}
.kopfzeile.mitte{margin-left:auto;margin-right:auto;text-align:center}
.kopfzeile .eyebrow{color:var(--blau)}
h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.15;margin:0 0 14px;color:var(--blau);letter-spacing:-.01em}
.kopfzeile p{color:var(--text-leise);margin:0}

/* Zielgruppen */
.zielgruppen{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.zielgruppen li{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:22px 20px;font-weight:700;color:var(--blau);display:flex;align-items:center;gap:12px}
.zielgruppen svg{flex:none;width:28px;height:28px;color:var(--orange)}

/* Leistungen */
.karten{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.karte{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:28px 24px;position:relative;display:flex;flex-direction:column}
.karte .nr{position:absolute;top:18px;right:20px;font-size:.85rem;font-weight:700;color:#8f9bbd}
.icon{width:52px;height:52px;border-radius:50%;background:var(--flaeche);display:grid;place-items:center;color:var(--blau);margin-bottom:18px}
.icon svg{width:26px;height:26px}
.karte h3{margin:0 0 10px;font-size:1.25rem;color:var(--blau)}
.karte p{margin:0;color:var(--text-leise);font-size:1.02rem}

/* Über mich */
.ueber{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(160deg,var(--blau) 0%,#12379f 100%);display:grid;place-items:center;position:relative;overflow:hidden}
.portrait img{width:58%;opacity:.95}
.portrait span{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:var(--hellblau);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.ueber h2{margin-bottom:18px}
.ueber p{margin:0 0 16px;color:var(--text)}
.fakten{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.fakten li{background:var(--flaeche);border:1px solid var(--linie);color:var(--blau);font-weight:700;font-size:.95rem;padding:8px 14px;border-radius:999px}

/* Ablauf */
.schritte{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s;list-style:none;padding:0;margin:0}
.schritte li{counter-increment:s;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:28px 26px}
.schritte li::before{content:counter(s);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blau);color:#fff;font-weight:700;margin-bottom:16px}
.schritte h3{margin:0 0 8px;color:var(--blau);font-size:1.2rem}
.schritte p{margin:0;color:var(--text-leise);font-size:1.02rem}

/* Kontakt */
.kontakt{background:var(--blau);color:#fff}
.kontakt .raster{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.kontakt h2{color:#fff}
.kontakt .eyebrow{color:var(--hellblau)}
.kontakt p{color:#e6efff;margin:0 0 18px}
.kontakt a{color:var(--orange);font-weight:700}
.kontaktliste{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.kontaktliste li{display:flex;gap:12px;align-items:flex-start}
.kontaktliste svg{flex:none;width:24px;height:24px;color:var(--orange);margin-top:3px}
form{background:#fff;color:var(--text);border-radius:var(--radius);padding:30px;display:grid;gap:16px}
label{font-weight:700;color:var(--blau);font-size:.98rem;display:block;margin-bottom:6px}
input,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #b9c6e2;border-radius:10px;color:var(--text);background:#fff}
textarea{min-height:140px;resize:vertical}
.zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--text);font-size:.92rem;line-height:1.45}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--blau)}
.check a{color:var(--blau);font-weight:600}
.status{margin:0;padding:12px 14px;border-radius:10px;font-weight:600;font-size:.98rem}
.status.ok{background:#e6f4ea;color:#14532d}
.status.fehler{background:#fdecea;color:#7a1c14}
.status a{color:inherit}
.btn[disabled]{opacity:.65;cursor:progress}
form .hinweis{font-size:.88rem;color:var(--text-leise);margin:0}
form .hinweis a{color:var(--blau);font-weight:600}

/* Footer */
.fuss{background:var(--blau-dunkel);color:#c9d6f5;padding:44px 0;font-size:1rem}
.fuss .wrap{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between}
.fuss img{height:96px;width:auto}
.fuss nav{display:flex;gap:26px;flex-wrap:wrap}
.fuss a{color:#fff;text-decoration:none;font-weight:600}
.fuss a:hover{text-decoration:underline;text-underline-offset:4px}
.fuss .klein{flex-basis:100%;font-size:.9rem;color:#9fb0dc;margin:0}

/* Rechtstexte */
.recht{padding:64px 0 96px}
.recht .wrap{max-width:820px}
.recht h1{color:var(--blau);font-size:clamp(2rem,4vw,2.7rem);margin:0 0 8px}
.recht h2{font-size:1.4rem;margin:40px 0 10px}
.recht h3{font-size:1.1rem;margin:24px 0 6px;color:var(--blau)}
.recht p,.recht li{color:var(--text)}
.recht ul{padding-left:1.2em}
.recht .stand{color:var(--text-leise);margin:0 0 32px}
.zurueck{display:inline-block;margin-bottom:24px;font-weight:700;text-decoration:none}
.zurueck:hover{text-decoration:underline}

/* Responsiv */
@media (max-width:980px){
  .hero .wrap,.ueber,.kontakt .raster{grid-template-columns:1fr}
  .karten,.zielgruppen{grid-template-columns:repeat(2,1fr)}
  .schritte{grid-template-columns:1fr}
  .portrait{max-width:340px}
}
@media (max-width:640px){
  .zweispaltig{grid-template-columns:1fr}
  body{font-size:1.05rem}
  section{padding:64px 0}
  .nav a:not(.btn){display:none}
  .marke span{font-size:.8rem}
  .marke img{height:40px}
  .karten,.zielgruppen{grid-template-columns:1fr}
  .hero .wrap{padding-top:48px;padding-bottom:56px}
  form{padding:22px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
