/* Stanglmeier · Landingpage Anlagenmechaniker SHK
   Aufbau nach dem Muster mobiler Recruiting-Funnels (Perspective):
   Der Funnel startet direkt im Einstieg, wenig Text, große Tap-Flächen,
   Fortschritt als Story-Segmente.
   Schriften lokal (kein Google-Server). */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-400.woff2) format('woff2');}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-600.woff2) format('woff2');}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-700.woff2) format('woff2');}

:root{
  --red:#E20613; --red-h:#C00511; --red-p:#91040C; --red-100:#FCE8E9; --red-on-dark:#FF3B47;
  --ink:#141517; --ink-2:#1F2226; --text:#2B2F34; --text-soft:#565C63;
  --grey-500:#6E7378; --grey-300:#B4B8BC; --grey-200:#E3E5E7; --grey-100:#F1F2F4;
  --surface:#F5F6F8;
  --white:#fff; --amber:#D99A1E;
  --font:'Barlow',Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.2,0,.2,1);
  --gutter:20px;
  --r-btn:14px; --r-card:18px; --r-field:12px;
  --shadow:0 1px 2px rgba(20,21,23,.05),0 8px 24px rgba(20,21,23,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.55;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
img,video{height:auto}
a{color:var(--red-h);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--red-p)}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
sup{font-size:.55em;line-height:0;vertical-align:.65em}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.hero__bar :focus-visible,.band :focus-visible,.footer :focus-visible,.consent :focus-visible{outline-color:var(--white)}
.wrap{max-width:var(--wrap-max,560px);margin:0 auto;padding:0 var(--gutter)}

.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--white);padding:12px 16px;font-weight:700;border-radius:var(--r-btn)}
.skip:focus{left:8px;top:8px}

/* Offene Konfigurationswerte sichtbar markieren (z. B. fehlende Datenschutz-URL) */
.ph{background:#FFF4D6;color:#5A3D00;outline:2px dashed var(--amber);outline-offset:-2px;font-weight:600;font-size:15px;padding:2px 6px;border-radius:4px}

/* ---------- 1 · Einstieg ----------
   Roter Block wie auf den Kampagnengrafiken, die weiße Formularkarte
   schiebt sich darüber. Kein Foto: dadurch auf jedem Schirm scharf. */
.hero{background:var(--white)}
.hero__head{padding:calc(20px + env(safe-area-inset-top)) 0 20px}
/* Logo liegt als weiße PNG vor, auf Weiß schwarz einfärben */
.hero__logo{width:150px;height:auto;filter:brightness(0)}
.hero__bar{position:relative;overflow:hidden;color:var(--white);
  background:linear-gradient(118deg,#A3040D 0%,var(--red-h) 50%,var(--red) 100%);
  padding:34px 0 76px;border-radius:var(--r-card) var(--r-card) 0 0}
.hero__bar::after{content:"";position:absolute;right:-70px;top:-90px;width:300px;height:300px;
  border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.hero__eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--white);margin-bottom:14px}
.hero__h1{font-weight:700;font-size:clamp(31px,8.2vw,42px);line-height:1.06;
  letter-spacing:-.035em;text-wrap:balance}
.hero__h1 span{display:block;color:rgba(255,255,255,.82)}
.hero__sub{margin-top:16px;font-size:16px;line-height:1.5;color:var(--white);max-width:42ch}
.hero__barin{display:grid;gap:22px}
.hero__photo{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 26%;
  border-radius:12px;box-shadow:0 10px 30px rgba(20,21,23,.22)}
.hero__in{margin-top:-52px;padding-bottom:40px;position:relative;z-index:1}
.hero__note{margin-top:14px;font-size:14px;color:var(--grey-500);text-align:center}
.hero .form-card{box-shadow:0 2px 6px rgba(20,21,23,.06),0 18px 40px rgba(20,21,23,.14)}

/* ---------- Typografie ---------- */
.h2{font-weight:700;font-size:30px;line-height:1.12;letter-spacing:-.025em;color:var(--ink);margin-bottom:22px;text-wrap:balance}
.h2__sub{display:block;font-weight:600;font-size:.6em;line-height:1.35;letter-spacing:-.01em;color:var(--grey-500);margin-top:8px}
.band .h2,.closing .h2{color:var(--white)}
.band .h2__sub{color:rgba(255,255,255,.8)}
.lead{font-size:17px;color:var(--text-soft);margin-bottom:14px;text-wrap:pretty}
.footnote{font-size:14px;line-height:1.45;color:var(--grey-500);margin-top:16px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border:2px solid transparent;border-radius:var(--r-btn);font-family:var(--font);font-weight:700;font-size:18px;line-height:1.2;letter-spacing:-.01em;text-decoration:none;cursor:pointer;text-align:center;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}
.btn--md{min-height:48px;font-size:16px}
.btn--lg{min-height:56px;font-size:18px}
.btn--xl{min-height:60px;font-size:19px}
.btn--block{display:flex;width:100%}
.btn--primary{background:var(--red);color:var(--white)}
.btn--primary:hover{background:var(--red-h);color:var(--white)}
.btn--primary:active{background:var(--red-p)}
.btn--dark{background:var(--ink);color:var(--white)}
.btn--dark:hover{background:var(--ink-2);color:var(--white)}
/* Auf roter Fläche: weißer Rand wie auf der Kampagnengrafik */
.band .btn--primary{border-color:var(--white)}
.band .btn--primary:hover{background:var(--white);color:var(--red)}
.btn[disabled]{opacity:.6;cursor:wait}

/* ---------- Abschnitte ---------- */
.section{padding:52px 0}
.section--alt{background:var(--surface)}
.band{background:linear-gradient(105deg,#A3040D 0%,var(--red-h) 52%,var(--red) 100%);color:var(--white)}

/* ---------- 2 · Formular ---------- */
.form-card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--r-card);padding:22px 18px 26px;box-shadow:var(--shadow)}
.section--alt .form-card{border-color:transparent}
.progress{margin-bottom:22px}
.progress__segs{display:flex;gap:5px;margin-bottom:10px}
.progress__seg{flex:1;height:4px;border-radius:999px;background:var(--grey-200);transition:background-color .25s var(--ease)}
.progress__seg.is-done{background:var(--red)}
.progress__label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-500)}
fieldset{border:0;margin:0;padding:0;min-width:0}
.step__q{display:block;padding:0;font-weight:700;font-size:22px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;text-wrap:balance}
.choices{display:grid;gap:10px}
.choices--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:flex;align-items:center;min-height:60px;padding:12px 18px;border:2px solid var(--grey-200);border-radius:var(--r-field);font-weight:600;font-size:17px;color:var(--ink);background:var(--white);transition:background-color .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}
.choice--sm span{min-height:50px;padding:8px 6px;justify-content:center;font-size:15px;text-align:center}
.choice:hover span{border-color:var(--grey-300)}
.choice input:checked+span{background:var(--red);border-color:var(--red);color:var(--white)}
.choice input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}
.back{display:inline-flex;align-items:center;min-height:48px;margin-top:12px;padding:0 4px;border:0;background:none;font:600 15px/1 var(--font);color:var(--grey-500);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.back:hover{color:var(--red)}
.stop__t{margin-bottom:20px;color:var(--text-soft)}

.field{margin-bottom:16px}
.field__l{display:block;padding:0;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:7px}
.opt{font-weight:400;color:var(--grey-500)}
.field__i{display:block;width:100%;min-height:54px;padding:12px 15px;border:2px solid var(--grey-200);border-radius:var(--r-field);background:var(--white);font:400 17px/1.3 var(--font);color:var(--ink);appearance:none}
.field__i::placeholder{color:var(--grey-300)}
.field__i:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-100)}
.field__i[aria-invalid="true"]{border-color:var(--red);background:#FFF8F8}
.field__err{min-height:0;font-size:14px;font-weight:600;color:var(--red-p);margin-top:6px}
.field__err:empty{display:none}
.check{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;cursor:pointer;font-size:15px;line-height:1.5;color:var(--text-soft)}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check__box{width:26px;height:26px;border:2px solid var(--grey-200);border-radius:8px;background:var(--white);display:flex;align-items:center;justify-content:center}
.check input:checked+.check__box{background:var(--red);border-color:var(--red)}
.check input:checked+.check__box::after{content:"";width:15px;height:15px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.6 16.2 5.4 12 4 13.4l5.6 5.6 12-12L20.2 5.6z'/%3E%3C/svg%3E") center/15px no-repeat}
.check input:focus-visible+.check__box{outline:3px solid var(--red);outline-offset:3px}
.check input[aria-invalid="true"]+.check__box{border-color:var(--red)}
.form-err{background:var(--red-100);color:var(--red-p);font-weight:600;font-size:15px;padding:13px 15px;border-radius:var(--r-field);margin-bottom:16px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Sofort-Rückmeldung nach dem Quiz */
.thanks__badge{display:inline-block;background:#E7F6EC;color:#1C6B38;font-weight:700;font-size:13px;letter-spacing:.07em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:14px}
.thanks__h{font-weight:700;font-size:28px;line-height:1.15;letter-spacing:-.025em;color:var(--ink);margin-bottom:12px}
.thanks__t{font-size:17px;color:var(--text-soft);margin-bottom:10px}
.link-strong{font-weight:700}
.demo-flag{margin-top:18px;padding:11px 13px;background:#FFF4D6;color:#5A3D00;font-weight:700;font-size:14px;border-radius:var(--r-field);outline:2px dashed var(--amber)}

/* ---------- 3 · Gründe als Karten ---------- */
.cards{list-style:none;padding:0;display:grid;gap:12px}
.card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--r-card);padding:22px;box-shadow:var(--shadow)}
.section--alt .card{border-color:transparent}
.card__ic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:var(--red);margin-bottom:14px}
.card__ic svg{width:23px;height:23px;fill:var(--white)}
.card__t{font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.card__d{font-size:16px;line-height:1.5;color:var(--text-soft);text-wrap:pretty}
.extras{margin-top:18px;font-size:16px;color:var(--text-soft)}

/* ---------- 4 · Team: Laufband ----------
   Der Bildsatz liegt doppelt im Track, -50% schiebt also genau einen
   Durchlauf weiter. Abstand per margin statt gap, sonst bleibt beim
   Umschlag eine halbe Lücke stehen und es ruckelt. */
.team .h2{margin-bottom:24px}
.marquee{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee__track{list-style:none;margin:0;padding:0;display:flex;width:max-content;
  animation:teamScroll 37s linear infinite}
.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused}
.marquee__track li{margin-right:12px}
.marquee__track img{display:block;height:230px;width:auto;aspect-ratio:3/4;object-fit:cover;
  object-position:50% 18%;border-radius:var(--r-card)}
@keyframes teamScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Ohne Bewegung: von Hand scrollbar, sonst sähe man nur die ersten Bilder */
@media (prefers-reduced-motion:reduce){
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* ---------- 4 · Zitat ---------- */
.quote__q{font-weight:700;font-size:24px;line-height:1.3;letter-spacing:-.02em;text-wrap:balance}
.quote__by{margin-top:16px;font-weight:600;font-size:15px;color:var(--white)}
.quote__by .ph{color:#5A3D00}

/* ---------- 5 · Alltag ---------- */
.photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card);margin-bottom:26px}
.must{margin-top:26px;background:var(--surface);border-radius:var(--r-card);padding:22px}
.must__h{font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px}
.must__filter{margin-top:16px;padding-top:14px;border-top:1px solid var(--grey-200);font-size:15px;color:var(--text-soft)}
.ticks{list-style:none;padding:0;display:grid;gap:11px}
.ticks li{position:relative;padding-left:32px;font-weight:600;font-size:16px;line-height:1.45;color:var(--text)}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:7px;
  background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.6 16.2 5.4 12 4 13.4l5.6 5.6 12-12L20.2 5.6z'/%3E%3C/svg%3E") center/13px no-repeat}

/* ---------- 6 · Ansprechpartner ---------- */
.person{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}
.person__img{position:relative;width:96px;aspect-ratio:1;background:var(--grey-100);border-radius:999px;overflow:hidden}
.person__img img{width:100%;height:100%;object-fit:cover}
.person__name{font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--ink);margin-bottom:2px}
.person__role{font-size:15px;color:var(--grey-500);margin-bottom:14px}

/* ---------- Video ----------
   preload="none": die 22 MB lädt nur, wer wirklich auf Abspielen drückt. */
.video__player{display:block;width:100%;max-width:380px;margin:0 auto;aspect-ratio:9/16;
  border-radius:var(--r-card);background:var(--ink);box-shadow:var(--shadow)}
.video__note{margin-top:14px;font-size:14px;color:var(--grey-500);text-align:center}
.video__fallback{padding:20px;color:var(--white)}

/* ---------- 7 · Abschluss ---------- */
.closing__t{font-size:17px;color:var(--white);margin:-8px 0 24px}

/* ---------- 8 · Fußzeile ---------- */
.footer{background:var(--ink);color:rgba(255,255,255,.7);padding:40px 0 calc(110px + env(safe-area-inset-bottom))}
.footer__logo{width:160px;margin-bottom:18px}
.footer__addr{font-size:15px;line-height:1.6;margin-bottom:12px}
.footer__note{font-size:14px;color:rgba(255,255,255,.55);margin-bottom:16px}
.footer__links{display:flex;flex-wrap:wrap;gap:4px 22px}
.footer__links a,.footer__btn{display:inline-flex;align-items:center;min-height:48px;color:var(--white);font:600 15px/1 var(--font);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}
.footer__links a:hover,.footer__btn:hover{color:rgba(255,255,255,.7)}

/* ---------- Mitlaufender Hinweis auf die Wechselprämie ----------
   Erscheint, sobald der Einstieg weg ist. Sitzt auf dem Handy über dem
   fixierten Button, auf dem Desktop unten links in der Ecke. */
.bonus{position:fixed;left:var(--gutter);bottom:calc(20px + env(safe-area-inset-bottom));z-index:45;
  display:flex;align-items:baseline;gap:6px;
  background:var(--red);color:var(--white);border-radius:999px;padding:7px 13px;
  text-decoration:none;line-height:1;
  box-shadow:0 6px 20px rgba(226,6,19,.45);
  opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease)}
.bonus--raised{bottom:calc(94px + env(safe-area-inset-bottom))}
.bonus.is-on{opacity:1;transform:none;pointer-events:auto;animation:bonusPulse 3s var(--ease) infinite}
.bonus:hover{color:var(--white);background:var(--red-h)}
.bonus__amount{font-weight:700;font-size:15px}
.bonus__label{font-weight:600;font-size:11px;color:rgba(255,255,255,.9)}
@keyframes bonusPulse{
  0%,100%{box-shadow:0 6px 20px rgba(226,6,19,.45),0 0 0 0 rgba(226,6,19,.4)}
  55%    {box-shadow:0 6px 26px rgba(226,6,19,.6),0 0 0 11px rgba(226,6,19,0)}
}

/* ---------- Fixierter Button (Handy) ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-top:1px solid var(--grey-200);transform:translateY(130%);transition:transform .22s var(--ease)}
.sticky.is-on{transform:none}
@media (min-width:900px){.sticky{display:none}}

/* ---------- Einwilligung ---------- */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink-2);color:var(--white);padding:18px 0 calc(18px + env(safe-area-inset-bottom))}
.consent__t{font-weight:700;font-size:18px;letter-spacing:-.01em;margin-bottom:6px}
.consent__d{font-size:14px;line-height:1.5;margin-bottom:14px;color:rgba(255,255,255,.75)}
.consent__d a{color:var(--white)}
.consent__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.consent__d a.ph,.footer__links a.ph{color:#5A3D00}
.consent .btn--dark{background:var(--white);color:var(--ink)}
.consent .btn--dark:hover{background:var(--grey-200);color:var(--ink)}

/* =====================================================================
   AB 640px
   ===================================================================== */
@media (min-width:640px){
  :root{--gutter:28px;--wrap-max:620px}
  .section{padding:72px 0}
  .h2{font-size:36px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card:first-child{grid-column:1/-1}
  .person{grid-template-columns:120px 1fr;gap:22px}
  .person__img{width:120px}
}

/* =====================================================================
   AB 900px · der Funnel bleibt eine schmale Spalte
   ===================================================================== */
@media (min-width:900px){
  :root{--gutter:40px;--wrap-max:1080px}
  .section{padding:88px 0}
  .h2{font-size:42px}

  .hero__head{padding:28px 0 24px}
  .hero__logo{width:172px}
  .hero__bar{padding:52px 0 96px;border-radius:var(--r-card)}
  .hero__h1{font-size:clamp(40px,3.6vw,54px)}
  .hero__sub{font-size:18px;margin-top:20px}
  .hero__barin{grid-template-columns:1fr 228px;align-items:center;gap:32px}
  .hero__photo{aspect-ratio:3/4;object-position:50% 22%}
  .hero__in{margin-top:-64px;padding-bottom:56px}

  /* Formular und Abschluss bewusst schmal */
  #bewerben .wrap,.closing .wrap,.quote{--wrap-max:680px;max-width:var(--wrap-max)}
  .form-card{padding:32px 30px 34px}
  .step__q{font-size:25px}

  .marquee__track{animation-duration:48s}  /* gleiches Tempo trotz breiterem Track */
  .marquee__track img{height:300px}
  .marquee__track li{margin-right:16px}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .card:first-child{grid-column:auto}
  .card{padding:26px}

  .alltag .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
  .alltag .photo{grid-column:1/-1;aspect-ratio:21/9;margin-bottom:34px}
  .alltag .h2{grid-column:1/-1}
  .alltag__txt{grid-column:1}
  .alltag .must{grid-column:2;grid-row:3;margin-top:0;padding:28px}
  .alltag .lead:last-child{margin-bottom:0}

  .person{grid-template-columns:150px 1fr;gap:28px;max-width:640px}
  .person__img{width:150px}
  .person__name{font-size:25px}
  .person__txt .btn--block{max-width:320px}

  .video .wrap{display:grid;grid-template-columns:1fr 340px;align-items:center;column-gap:48px}
  .video .h2{margin-bottom:0;align-self:center}
  .video__player{max-width:340px;margin:0;grid-column:2;grid-row:1/3}
  .video__note{grid-column:1;text-align:left;margin-top:16px}
  .closing__t{font-size:19px}
  .closing .btn--block{max-width:400px}

  .bonus,.bonus--raised{bottom:24px;padding:11px 18px}
  .bonus__amount{font-size:17px}
  .footer{padding:60px 0 48px}

  .consent .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:40px}
  .consent__t{grid-column:1;grid-row:1}
  .consent__d{grid-column:1;grid-row:2;margin-bottom:0}
  .consent__btns{grid-column:2;grid-row:1/3;grid-template-columns:auto auto}
  .consent__btns .btn{padding:0 26px}
}

/* =====================================================================
   AB 1280px
   ===================================================================== */
@media (min-width:1280px){
  :root{--wrap-max:1160px}
  .section{padding:104px 0}
  .h2{font-size:46px}
}
