@font-face{font-family:"REISSWOLFNetto";font-weight:normal;font-style:normal;font-display:swap;src:url("../fonts/REISSWOLFNetto-Regular.woff2") format("woff2"),url("../fonts/REISSWOLFNetto-Regular.woff") format("woff");}
@font-face{font-family:"REISSWOLFNetto";font-weight:bold;font-style:normal;font-display:swap;src:url("../fonts/REISSWOLFNetto-Bold.woff2") format("woff2"),url("../fonts/REISSWOLFNetto-Bold.woff") format("woff");}
@font-face{font-family:"REISSWOLFNetto";font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/REISSWOLFNetto-Light.woff2") format("woff2"),url("../fonts/REISSWOLFNetto-Light.woff") format("woff");}

/* jobportal-ATS — Werte am reisswolf-Original gemessen (SDE-109001):
   Marken-Blau #004494 (Titel, Überschriften, Button), Fließtext-Grau #7b7b7a,
   Karten-Grau #f7f7f7, Linien rgba(0,0,0,.125), Schrift REISSWOLFNetto. */
:root{--brand:#004494;--ink:#3d4750;--muted:#7b7b7a;--line:rgba(0,0,0,.125);
  --band:rgba(0,0,0,.03);}
*{box-sizing:border-box;}
body{margin:0;background:#fff;color:var(--muted);
  font-family:"REISSWOLFNetto","Segoe UI",Arial,Helvetica,sans-serif;
  line-height:1.6;font-size:16px;}
/* Breite auf die Generator-Hausregel 64em (1024px) gedeckelt — die echte
   reisswolf-Seite ist mit ~1140px etwas breiter, aber die Pflichtprüfung
   `wrapper_struktur` (≤64em) hat Vorrang (wie concludis/smartrecruiters). */
#wrapper{max-width:64em;margin:0 auto;background:#fff;padding:0 15px 3rem;}
img{max-width:100%;height:auto;}
a{color:var(--brand);}

/* Kopf: Hero mit Spitze, halbtransparenter Balken, große Logo-Kachel */
.jp-head{position:relative;margin:0 -15px;}
.jp-hero img{display:block;width:100%;object-fit:cover;max-height:520px;
  clip-path:polygon(100% 0,100% 76%,25% 100%,0 90%,0 0);}
.jp-topbar{position:absolute;top:0;left:0;right:0;height:70px;z-index:2;
  background:rgba(255,255,255,.8);border-bottom:1px solid rgba(0,0,0,.06);}
.jp-logo{position:absolute;top:8px;right:6%;z-index:3;background:#fff;
  width:132px;height:122px;display:flex;align-items:center;justify-content:center;
  padding:12px;box-shadow:0 4px 18px rgba(149,157,165,.35);}
.jp-logo img{max-width:100%;max-height:100%;width:auto;height:auto;}

.jp-title{color:var(--brand);font-size:2rem;font-weight:700;line-height:1.25;
  margin:1.5rem 0 1.25rem;}

/* Benefits-Slider + magenta Badge */
.jp-benefits-row{display:flex;gap:20px;align-items:center;margin:0 0 2rem;}
.jp-benefits{flex:1 1 auto;min-width:0;border:1px solid var(--line);border-radius:10px;
  padding:22px 16px;overflow-x:auto;}
.jp-benefits-track{display:flex;gap:20px;}
.jp-benefit{flex:0 0 260px;background:#fafafa;border-radius:10px;
  box-shadow:2px 2px 10px rgba(0,0,0,.08);padding:16px 14px;text-align:center;}
.jp-benefit img{max-width:60px;height:auto;margin:0 auto 10px;}
.jp-benefit h4{margin:5px 0;font-weight:700;font-size:16px;color:var(--ink);}
.jp-benefit p{margin:0;font-size:14px;}
.jp-ka{flex:0 0 130px;text-align:center;}
.jp-ka img{width:130px;height:auto;}

/* Zwei Spalten */
.jp-cols{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:start;}

/* Inhaltskarten */
.jp-card{border:1px solid var(--line);border-radius:6px;margin:0 0 1.5rem;
  overflow:hidden;background:#fff;}
.jp-card-head{background:var(--band);border-bottom:1px solid var(--line);
  padding:0.75rem 1.25rem;}
.jp-card-head h2{margin:0;color:var(--brand);font-size:1.3rem;font-weight:700;}
.jp-card-body{padding:1.1rem 1.25rem;}
.jp-card-body>*:first-child{margin-top:0;}
.jp-card-body>*:last-child{margin-bottom:0;}
.jp-card-body p{margin:0 0 0.75rem;}
.jp-card-body ul,.jp-card-body ol{margin:0 0 0.75rem;padding-left:1.25rem;}
.jp-card-body li{margin-bottom:0.4rem;}

/* Sidebar */
.jp-aside{min-width:0;}
.jp-side-card{border:1px solid var(--line);border-radius:6px;padding:1.1rem 1.25rem;
  margin-bottom:1.5rem;}
.jp-apply{display:block;text-align:center;background:var(--brand);color:#fff;
  text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.02em;
  padding:10px 16px;border-radius:20px;margin-bottom:1rem;}
.jp-apply:hover{background:#032e60;}
.jp-facts{display:flex;flex-direction:column;}
.jp-fact{padding:0.55rem 0;border-top:1px solid var(--line);}
.jp-fact:first-child{border-top:0;}
.jp-flabel{display:block;font-size:0.85rem;margin-bottom:2px;}
.jp-fval{color:var(--ink);font-weight:700;}

/* Sidebar-Extras (Imagefilm, Auszeichnungen) */
.jp-extra{border:1px solid var(--line);border-top:0;}
.jp-extra:first-of-type{border-top:1px solid var(--line);}
.jp-extra-head{background:var(--band);border-bottom:1px solid var(--line);
  border-top:1px solid var(--line);padding:0.7rem 1rem;color:var(--brand);
  font-size:1.05rem;font-weight:700;white-space:nowrap;}
.jp-video{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;}
.jp-video img{width:100%;height:100%;object-fit:cover;display:block;}
.jp-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:44px;border-radius:10px;background:rgba(230,33,23,.92);}
.jp-play::after{content:"";position:absolute;top:50%;left:52%;
  transform:translate(-50%,-50%);border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #fff;}
.jp-badges{display:flex;gap:16px;overflow-x:auto;padding:1.1rem 1rem;
  align-items:center;}
.jp-badges img{height:96px;width:auto;flex:0 0 auto;}

@media (max-width:48em){
  .jp-cols{grid-template-columns:1fr;}
  .jp-title{font-size:1.6rem;}
  .jp-benefits-row{flex-direction:column;align-items:stretch;}
  .jp-ka{align-self:center;}
  .jp-logo{width:100px;height:92px;}
}
@media print{
  body{background:#fff!important;color:#000!important;}
  *{box-shadow:none!important;animation:none!important;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
}

b, strong { font-weight: bold; }

#wrapper, .wrapper { padding-bottom: 2.5rem; }
