:root{
    --paper:#eef3f2;
    --paper-raised:#ffffff;
    --paper-alt:#e4ebe9;
    --ink:#0a1a1d;
    --ink-soft:#3c5257;
    --ink-faint:#6b7f82;
    --line:rgba(10,26,29,.13);
    --line-strong:rgba(10,26,29,.22);
    --petrol:#046276;
    --petrol-deep:#053544;
    --petrol-deeper:#04222c;
    --cyan:#0ccccc;
    --cyan-dim:#0a9a9a;
    --cyan-soft:#bdf1ee;
    --ember:#e2793c;
    --ember-soft:#f7cba0;
    --cut:14px;
    --cut-sm:8px;
    --maxw:1240px;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Public Sans',ui-sans-serif,system-ui,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3{margin:0;font-family:'Big Shoulders Display',ui-sans-serif,sans-serif;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;}
  p{margin:0;}
  .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,56px);}
  .eyebrow{
    font-family:'IBM Plex Mono',ui-monospace,monospace;
    font-size:.78rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:.6em;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6;}
  .cut{clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));}
  .cut-sm{clip-path:polygon(0 0, calc(100% - var(--cut-sm)) 0, 100% var(--cut-sm), 100% 100%, var(--cut-sm) 100%, 0 calc(100% - var(--cut-sm)));}

  /* ---------- Buttons ---------- */
  .btn{
    font-family:'Public Sans',sans-serif;
    font-weight:700;
    font-size:.95rem;
    letter-spacing:.01em;
    padding:.95em 1.6em;
    display:inline-flex;
    align-items:center;
    gap:.6em;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--cyan);color:var(--petrol-deeper);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(12,204,204,.55);}
  .btn-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff;}
  .btn-ghost:hover{border-color:var(--ember);background:rgba(226,121,60,.12);transform:translateY(-2px);}
  .btn-dark{background:var(--petrol-deeper);color:#fff;}
  .btn-dark:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(4,34,44,.5);}
  .pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--ember);position:relative;flex:none;}
  .pulse-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:var(--ember);opacity:.5;animation:pulse 1.8s ease-out infinite;}
  @keyframes pulse{0%{transform:scale(.4);opacity:.6;}100%{transform:scale(1.8);opacity:0;}}

  /* ---------- Reveal ---------- */
  .reveal{opacity:1;transform:none;}
  [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
  [data-reveal].in-view{opacity:1;transform:none;}

  /* ---------- Header ---------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:rgba(238,243,242,.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:box-shadow .25s ease;
  }
  header.nav.scrolled{box-shadow:0 8px 24px -18px rgba(4,34,44,.4);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px;}
  .brand{flex:none;}
  .brand img{height:40px;width:auto;}
  .nav-links{display:flex;align-items:center;gap:26px;font-weight:600;font-size:.94rem;flex:none;}
  .nav-links a{position:relative;padding-block:4px;white-space:nowrap;}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--cyan-dim);transition:width .2s ease;}
  .nav-links a:hover::after{width:100%;}
  .nav-links a[aria-current="page"]{color:var(--petrol);}
  .nav-links a[aria-current="page"]::after{width:100%;}
  .nav-cta{display:flex;align-items:center;gap:14px;flex:none;}
  .nav-phone{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.92rem;color:var(--petrol);display:flex;align-items:center;gap:.5em;white-space:nowrap;flex:none;}
  .burger{display:none;background:none;border:none;padding:8px;cursor:pointer;}
  .burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;}

  /* ---------- Hero ---------- */
  .hero{position:relative;overflow:hidden;background:var(--petrol-deeper) url('../images/hero.jpg') center/cover no-repeat;}
  .hero::before{content:"";position:absolute;inset:0;background:
      linear-gradient(100deg, rgba(4,34,44,.96) 0%, rgba(4,34,44,.9) 30%, rgba(4,34,44,.55) 58%, rgba(4,34,44,.28) 100%);}
  .hero::after{
    content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
    background-image:
      repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 64px),
      repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 64px);
    -webkit-mask-image:linear-gradient(100deg,#000 0%,#000 45%,transparent 78%);
            mask-image:linear-gradient(100deg,#000 0%,#000 45%,transparent 78%);
  }
  .hero.hero-team{background:var(--petrol-deeper) url('../images/team-gruppe.jpg') center 38%/cover no-repeat;}
  .hero-inner{position:relative;z-index:2;padding-block:clamp(64px,10vw,120px) clamp(40px,6vw,64px);}
  .hero .eyebrow{color:var(--cyan-soft);}
  .hero h1{color:#fff;font-weight:900;font-size:clamp(2.6rem,6.6vw,5.2rem);line-height:1.08;margin-block:.5em 0.55em;max-width:14ch;}
  .hero h1 em{font-style:normal;color:var(--cyan);}
  .hero p.lead{color:rgba(255,255,255,.82);font-size:1.12rem;max-width:46ch;margin-bottom:1.5em;}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:16px;}

  /* ---------- Google-Bewertung ---------- */
  .rating-badge{display:inline-flex;align-items:center;gap:.7em;margin-bottom:1.8em;}
  .rating-badge .stars{display:flex;gap:2px;}
  .rating-badge .stars svg{width:17px;height:17px;color:#f5b942;}
  .rating-badge a,.rating-badge span:last-child{font-family:'IBM Plex Mono',monospace;font-size:.85rem;letter-spacing:.03em;color:rgba(255,255,255,.85);}
  .rating-badge a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4);}
  .rating-badge a:hover{color:#fff;}

  .trust-strip{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.16);}
  .trust-inner{display:grid;grid-template-columns:repeat(4,1fr);}
  .trust-inner div{
    padding:18px clamp(16px,3vw,28px);
    font-family:'IBM Plex Mono',monospace;
    font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;
    color:rgba(255,255,255,.78);
    border-left:1px solid rgba(255,255,255,.14);
  }
  .trust-inner div:first-child{border-left:none;}

  /* ---------- Section shells ---------- */
  section{padding-block:clamp(64px,9vw,120px);}
  .section-head{max-width:64ch;margin-bottom:clamp(36px,5vw,56px);}
  .section-head .eyebrow{color:var(--petrol);margin-bottom:.9em;}
  .section-head h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.02;margin-bottom:.5em;}
  .section-head p{color:var(--ink-soft);font-size:1.06rem;max-width:58ch;}
  .dark .section-head .eyebrow,.darker .section-head .eyebrow{color:var(--cyan-soft);}
  .dark .section-head h2,.darker .section-head h2{color:#fff;}
  .dark .section-head p,.darker .section-head p{color:rgba(255,255,255,.78);}

  section.dark{background:var(--petrol-deep);color:#fff;}
  section.darker{background:var(--petrol-deeper);color:#fff;}

  /* ---------- Leistungen ---------- */
  .leistungen-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:20px;
  }
  .card{
    background:var(--paper-raised);
    border:1px solid var(--line);
    padding:32px 28px;
    position:relative;
    display:flex;flex-direction:column;gap:16px;
  }
  .card{grid-column:span 6;}
  @media (min-width:640px){
    .card{grid-column:span 3;}
    .card.feat,.card.half{grid-column:span 3;}
  }
  @media (min-width:820px){
    .card{grid-column:span 2;}
    .card.feat{grid-column:span 3;padding:40px 34px;}
    .card.half{grid-column:span 3;}
  }
  .tag{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
    display:inline-flex;align-items:center;gap:.5em;color:var(--ink-faint);align-self:flex-start;
  }
  .tag i{width:7px;height:7px;border-radius:50%;background:var(--cyan-dim);flex:none;}
  .tag.warm i{background:var(--ember);}
  .card-icon{width:52px;height:52px;color:var(--petrol);}
  .card.feat .card-icon{width:60px;height:60px;color:var(--cyan-dim);}
  .card h3{font-family:'Public Sans',sans-serif;text-transform:none;font-weight:800;font-size:1.28rem;letter-spacing:0;}
  .card.feat h3{font-size:1.7rem;}
  .card p{color:var(--ink-soft);font-size:.98rem;}
  .card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--cyan-dim);transition:width .3s ease;}
  .card.warm::after{background:var(--ember);}
  .card:hover::after{width:100%;}
  .card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(4,34,44,.35);}

  /* ---------- Über uns ---------- */
  .about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,72px);align-items:center;}
  .about-grid p.body{color:rgba(255,255,255,.82);font-size:1.05rem;margin-block:1.2em 1.8em;max-width:52ch;}
  .badge-row{display:flex;flex-wrap:wrap;gap:12px;}
  .badge{
    display:inline-flex;align-items:center;gap:.55em;
    border:1px solid rgba(255,255,255,.22);
    padding:.6em 1.1em;font-size:.86rem;font-weight:600;color:#fff;
  }
  .badge svg{width:15px;height:15px;color:var(--cyan);flex:none;}
  .placeholder-photo{
    aspect-ratio:4/5;position:relative;overflow:hidden;
    background:
      linear-gradient(150deg, var(--petrol) 0%, var(--petrol-deeper) 100%);
  }
  .placeholder-photo::before{
    content:"";position:absolute;inset:0;opacity:.5;
    background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 2px, transparent 2px 18px);
  }
  .ph-tag{
    position:absolute;left:16px;bottom:16px;right:16px;
    display:flex;align-items:center;gap:.6em;
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(255,255,255,.85);
    background:rgba(4,34,44,.55);backdrop-filter:blur(4px);
    padding:.7em .9em;border:1px solid rgba(255,255,255,.18);
  }
  .ph-tag svg{width:16px;height:16px;flex:none;color:var(--cyan-soft);}
  .placeholder-photo.wide{aspect-ratio:16/10;}

  /* ---------- Über-uns-Seite ---------- */
  .about-wide-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,72px);align-items:center;}
  .body-ink{color:var(--ink-soft);font-size:1.05rem;margin-block:1.2em 0;max-width:56ch;}
  .body-ink + .body-ink{margin-top:1.2em;}

  .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .value-card{
    background:var(--paper-raised);border:1px solid var(--line);
    padding:32px 26px;display:flex;flex-direction:column;gap:14px;
    position:relative;overflow:hidden;
  }
  .value-card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--cyan-dim);transition:width .3s ease;}
  .value-card:hover::after{width:100%;}
  .value-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(4,34,44,.35);}
  .value-card svg{width:32px;height:32px;color:var(--petrol);flex:none;}
  .value-card h3{font-family:'Public Sans',sans-serif;text-transform:none;font-weight:800;font-size:1.1rem;letter-spacing:0;}
  .value-card p{color:var(--ink-soft);font-size:.94rem;}

  .pull-quote{border-left:4px solid var(--cyan);padding-left:28px;margin:0 auto;max-width:62ch;}
  .pull-quote p{
    font-family:'Big Shoulders Display',sans-serif;font-weight:700;
    font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.16;
    text-transform:none;letter-spacing:0;color:#fff;
  }
  .pull-quote cite{
    display:block;margin-top:16px;font-style:normal;
    font-family:'IBM Plex Mono',monospace;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(255,255,255,.55);
  }

  /* ---------- Karriere-Seite ---------- */
  .hero.hero-placeholder{background:linear-gradient(150deg, var(--petrol) 0%, var(--petrol-deeper) 100%);}
  .hero-inner.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,64px);align-items:center;}
  .hero-inner.split .placeholder-photo{aspect-ratio:4/5;}

  .benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

  /* ---------- Karriere: Vergleichstabelle ---------- */
  .compare-table{background:var(--paper-raised);border:1px solid var(--line);overflow:hidden;}
  .compare-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-bottom:1px solid var(--line);}
  .compare-row:last-child{border-bottom:none;}
  .compare-row > div{padding:16px clamp(14px,3vw,22px);display:flex;align-items:center;}
  .compare-head{background:var(--paper-alt);}
  .compare-head > div{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
  .compare-label{font-weight:700;color:var(--ink);}
  .compare-col{color:var(--ink-soft);font-size:.96rem;}
  .compare-col-sanova{background:rgba(12,204,204,.07);color:var(--petrol);font-weight:700;}
  .compare-head .compare-col-sanova{color:var(--petrol);background:rgba(12,204,204,.14);}
  @media (max-width:640px){
    .compare-row{grid-template-columns:1fr 1fr;}
    .compare-label{grid-column:1/-1;background:var(--paper-alt);font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;padding-block:8px 4px;}
    .compare-head{display:none;}
    /* Zelle auf Block statt Flex umstellen, sonst zwingt align-items:center
       Label + Wert in eine Zeile und der Text läuft aus der Spalte (siehe
       "Entscheidungswege"-Zeile) statt normal umzubrechen. */
    .compare-row > div{display:block;min-width:0;}
    .compare-col::before,.compare-col-sanova::before{display:block;margin-bottom:4px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;}
    .compare-col::before{content:"Branche";font-weight:600;color:var(--ink-faint);}
    .compare-col-sanova::before{content:"Sanova";color:var(--petrol);}
  }

  .stat-band{text-align:center;max-width:64ch;margin-inline:auto;}
  .stat-band .eyebrow{justify-content:center;color:var(--ember-soft);}
  .stat-band h2{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;margin-block:.25em .5em;}
  .stat-band h2 em{font-style:normal;color:var(--ember);}
  .stat-band p{color:rgba(255,255,255,.78);font-size:1.05rem;margin-inline:auto;}

  /* ---------- Karriere: Wechselbonus als Foto-Band (16:9) ---------- */
  .stat-photo{position:relative;overflow:hidden;background:linear-gradient(150deg, var(--petrol) 0%, var(--petrol-deeper) 100%);padding-block:0;}
  .stat-photo-bg{position:absolute;inset:0;}
  .stat-photo-bg::before{
    content:"";position:absolute;inset:0;opacity:.5;
    background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 2px, transparent 2px 18px);
  }
  .stat-photo-bg .ph-tag{position:absolute;left:20px;bottom:20px;right:auto;}
  .stat-photo::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg, rgba(4,34,44,.35) 0%, rgba(4,34,44,.75) 68%, rgba(4,34,44,.92) 100%);
  }
  .stat-photo .stat-band{position:relative;z-index:2;padding-block:clamp(96px,16vw,168px);}

  .quote-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,6vw,72px);align-items:center;}
  .quote-grid .pull-quote{margin:0;}

  .job-card{background:var(--paper-raised);border:1px solid var(--line);padding:clamp(28px,4vw,40px);}
  .job-card + .job-card{margin-top:24px;}
  .job-card-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;align-items:flex-start;margin-bottom:8px;}
  .job-card h3{font-family:'Public Sans',sans-serif;text-transform:none;font-weight:800;font-size:1.4rem;letter-spacing:0;}
  .job-meta{display:flex;flex-wrap:wrap;gap:8px;}
  .job-meta span{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;
    padding:.5em .8em;border:1px solid var(--line-strong);color:var(--ink-faint);flex:none;
  }
  .job-perks{display:flex;flex-wrap:wrap;gap:10px;margin-block:18px 26px;}
  .chip{
    display:inline-flex;align-items:center;gap:.5em;
    background:var(--paper-alt);border:1px solid var(--line);
    padding:.5em 1em;font-size:.85rem;font-weight:600;color:var(--petrol);
  }
  .chip svg{width:15px;height:15px;color:var(--ember);flex:none;}
  .job-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px;}
  .job-cols h4{font-family:'IBM Plex Mono',monospace;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;font-weight:500;}

  .steps.steps-3{grid-template-columns:repeat(3,1fr);}

  @media (max-width:900px){
    .hero-inner.split{grid-template-columns:1fr;}
    .hero-inner.split > *:last-child{display:none;}
    .benefits-grid{grid-template-columns:repeat(2,1fr);}
    .quote-grid{grid-template-columns:1fr;}
    .quote-grid > *:last-child{order:1;}
    .quote-grid > *:first-child{order:2;}
    .job-cols{grid-template-columns:1fr;}
    .steps.steps-3{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:600px){
    .benefits-grid{grid-template-columns:1fr;}
    .steps.steps-3{grid-template-columns:1fr;}
  }

  /* ---------- Ablauf ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
  .steps::before{
    content:"";position:absolute;top:26px;left:0;right:0;height:0;
    border-top:2px dashed var(--line-strong);
    z-index:0;
  }
  .step{position:relative;z-index:1;padding-right:24px;}
  .step-num{
    width:52px;height:52px;border-radius:50%;
    background:var(--paper-raised);border:2px solid var(--petrol);
    display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-weight:500;color:var(--petrol);font-size:1.05rem;
    margin-bottom:20px;
  }
  .step h3{font-family:'Public Sans',sans-serif;text-transform:none;font-weight:800;font-size:1.12rem;margin-bottom:.5em;letter-spacing:0;}
  .step p{color:var(--ink-soft);font-size:.95rem;}

  /* ---------- Referenzen ---------- */
  section.alt{background:var(--paper-alt);}
  .ref-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .ref-card .placeholder-photo{aspect-ratio:3/4;}

  /* ---------- Kontakt ---------- */
  .notdienst-line{
    display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;
    padding:20px clamp(20px,4vw,32px);
    border:1px solid rgba(226,121,60,.4);
    background:rgba(226,121,60,.08);
    margin-bottom:clamp(40px,6vw,64px);
  }
  .notdienst-line .eyebrow{color:var(--ember-soft);}
  .notdienst-line .nd-phone{
    font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:1.3rem;color:#fff;
    display:flex;align-items:center;gap:.5em;margin-left:auto;
  }
  .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,72px);}
  .info-list{display:flex;flex-direction:column;gap:26px;margin-top:28px;}
  .info-item{display:flex;gap:16px;align-items:flex-start;}
  .info-item svg{width:22px;height:22px;color:var(--cyan);flex:none;margin-top:2px;}
  .info-item .lbl{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:.35em;}
  .info-item .val{font-size:1.08rem;font-weight:600;}
  .info-item a.val:hover{color:var(--cyan);}

  form.contact-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);padding:clamp(24px,4vw,36px);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .field{display:flex;flex-direction:column;gap:8px;}
  .field.full{grid-column:1/-1;}
  .field label{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);}
  .field input,.field select,.field textarea{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    padding:.85em 1em;
    font-family:'Public Sans',sans-serif;font-size:.96rem;
    outline-offset:2px;
  }
  .field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'><path d='M5 7l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.4);}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);}
  .field textarea{resize:vertical;min-height:110px;}
  .form-note{font-size:.82rem;color:rgba(255,255,255,.5);margin-top:14px;}
  .consent-field{display:flex;align-items:flex-start;gap:10px;margin:16px 0 24px;cursor:pointer;}
  .consent-field input[type="checkbox"]{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--cyan);cursor:pointer;}
  .consent-field span{font-size:.82rem;line-height:1.45;color:rgba(255,255,255,.6);}
  .consent-field a{color:var(--cyan);text-decoration:underline;}
  .form-msg{margin-top:16px;padding:12px 16px;background:rgba(12,204,204,.14);border:1px solid rgba(12,204,204,.4);font-size:.9rem;display:none;}
  .form-msg.show{display:block;}
  .form-msg.form-msg-error{background:rgba(226,121,60,.14);border-color:rgba(226,121,60,.45);}
  .btn:disabled{opacity:.6;cursor:default;transform:none !important;}

  .apply-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,56px);align-items:start;}
  @media (max-width:900px){.apply-grid{grid-template-columns:1fr;}}

  /* ---------- Footer ---------- */
  footer{background:var(--ink);color:rgba(255,255,255,.72);padding-block:56px 28px;}
  .footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
  .footer-brand img{height:42px;}
  .footer-brand p{margin-top:16px;font-size:.92rem;color:rgba(255,255,255,.55);max-width:32ch;}
  .footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:16px;font-weight:500;}
  .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:.94rem;}
  .footer-col a:hover{color:var(--cyan);}
  .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:.82rem;font-family:'IBM Plex Mono',monospace;color:rgba(255,255,255,.4);}

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .nav-links{display:none;}
    .nav-cta{display:none;}
    .burger{display:block;}
    .about-grid,.contact-grid{grid-template-columns:1fr;}
    .about-grid > *:first-child{order:2;}
    .about-grid > *:last-child{order:1;}
    .steps{grid-template-columns:1fr 1fr;gap:32px 20px;}
    .steps::before{display:none;}
    .trust-inner{grid-template-columns:repeat(2,1fr);}
    .trust-inner div:nth-child(3){border-left:none;}
    .ref-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .about-wide-grid{grid-template-columns:1fr;}
    .about-wide-grid > *:first-child{order:2;}
    .about-wide-grid > *:last-child{order:1;}
    .values-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:600px){
    .leistungen-grid,.card.feat,.card:not(.feat){grid-template-columns:1fr;grid-column:span 1 !important;}
    .steps{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .ref-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;gap:28px;}
    .notdienst-line .nd-phone{margin-left:0;}
    .values-grid{grid-template-columns:1fr;}
    .pull-quote{padding-left:18px;}
  }

/* ---------- Breadcrumb ---------- */
.breadcrumb-bar{background:var(--paper-raised);border-bottom:1px solid var(--line);}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-block:14px;font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--ink-faint);}
.breadcrumb a{color:var(--petrol);}
.breadcrumb a:hover{color:var(--cyan-dim);}
.breadcrumb .sep{opacity:.5;}
.breadcrumb .current{color:var(--ink-soft);}

/* ---------- Inner-page hero ---------- */
.hero.hero-sub .hero-inner{padding-block:clamp(44px,7vw,80px) clamp(28px,4vw,44px);}
.hero.hero-sub h1{font-size:clamp(2.2rem,5.2vw,3.8rem);max-width:19ch;}
.hero.hero-sub p.lead{margin-bottom:1.8em;}

/* ---------- Leistungen: eigenes Hero-Foto statt geteiltem hero.jpg ---------- */
.hero.hero-photo{background:var(--petrol-deeper);}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}

/* ---------- Checklist ---------- */
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;margin-top:8px;padding:0;list-style:none;}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;color:var(--ink-soft);}
.checklist li svg{width:18px;height:18px;color:var(--cyan-dim);flex:none;margin-top:3px;}

/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq-item{border:1px solid var(--line);background:var(--paper-raised);}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:700;font-size:1.02rem;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{flex:none;width:20px;height:20px;position:relative;}
.faq-item summary .plus::before,.faq-item summary .plus::after{content:"";position:absolute;background:var(--petrol);}
.faq-item summary .plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%);}
.faq-item summary .plus::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%);transition:transform .2s ease;}
.faq-item[open] summary .plus::after{transform:translateX(-50%) scaleY(0);}
.faq-item .faq-a{padding:0 24px 22px;color:var(--ink-soft);font-size:.98rem;max-width:70ch;}

/* ---------- Related services ---------- */
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.related-card{
  background:var(--paper-raised);border:1px solid var(--line);
  padding:26px 22px;display:flex;flex-direction:column;gap:12px;
  position:relative;overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.related-card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--cyan-dim);transition:width .3s ease;}
.related-card:hover::after{width:100%;}
.related-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(4,34,44,.35);}
.related-icon{
  width:52px;height:52px;border-radius:50%;flex:none;
  background:rgba(4,98,118,.08);
  display:flex;align-items:center;justify-content:center;
  transition:background .18s ease;
}
.related-icon svg{width:26px;height:26px;color:var(--petrol);}
.related-card h4{font-family:'Public Sans',sans-serif;text-transform:none;font-weight:800;font-size:1.05rem;letter-spacing:0;}
.related-tag{font-size:.84rem;color:var(--ink-faint);margin-top:-8px;}
.related-card .card-link{margin-top:4px;}
.related-card:hover .card-link{color:var(--cyan-dim);}
.related-card:hover .card-link::after{transform:translateX(3px);}

/* ---------- CTA band ---------- */
.cta-band{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,56px);align-items:center;}
.cta-band .cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;}

@media (max-width:900px){
  .checklist{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:repeat(2,1fr);}
  .cta-band{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .related-grid{grid-template-columns:1fr;}
}

/* ---------- Card link ---------- */
.card-link{margin-top:auto;padding-top:4px;font-family:'IBM Plex Mono',monospace;font-size:.82rem;font-weight:500;color:var(--petrol);display:inline-flex;align-items:center;gap:.45em;}
.card-link::after{content:"→";transition:transform .18s ease;}
.card-link:hover{color:var(--cyan-dim);}
.card-link:hover::after{transform:translateX(3px);}

/* ---------- Nav dropdown ---------- */
.nav-dropdown{position:relative;}
.nav-dropdown > summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;
  padding-block:4px;position:relative;font-weight:600;font-size:.94rem;
}
.nav-dropdown > summary::-webkit-details-marker{display:none;}
.nav-dropdown > summary::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--cyan-dim);transition:width .2s ease;}
.nav-dropdown:hover > summary::after,.nav-dropdown[open] > summary::after{width:100%;}
.nav-dropdown .chevron{width:13px;height:13px;transition:transform .2s ease;flex:none;}
.nav-dropdown[open] .chevron{transform:rotate(180deg);}
.nav-dropdown-menu{
  position:absolute;top:calc(100% + 16px);left:-16px;
  background:var(--paper-raised);border:1px solid var(--line);
  min-width:266px;padding:10px;
  box-shadow:0 24px 44px -22px rgba(4,34,44,.4);
  display:flex;flex-direction:column;gap:2px;
  z-index:60;
}
.nav-dropdown-menu a{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;font-weight:600;font-size:.9rem;color:var(--ink);
}
.nav-dropdown-menu a svg{width:19px;height:19px;color:var(--petrol);flex:none;}
.nav-dropdown-menu a:hover{background:var(--paper);color:var(--petrol);}
.nav-dropdown-menu a.all-link{
  border-top:1px solid var(--line);margin-top:4px;padding-top:12px;
  color:var(--petrol);font-family:'IBM Plex Mono',monospace;font-size:.76rem;
  text-transform:uppercase;letter-spacing:.07em;font-weight:500;
}
.nav-dropdown-menu a.all-link svg{color:var(--cyan-dim);}

@media (max-width:900px){
  .nav-dropdown > summary::after{display:none;}
  .nav-dropdown-menu{
    position:static;box-shadow:none;border:none;background:none;
    padding:2px 0 2px 14px;margin-top:2px;
  }
  .nav-dropdown-menu a{padding:8px 10px;}
}

/* ---------- Karriere: Erfahrenen-Badge ---------- */
.exp-badge{
  display:inline-flex;align-items:center;gap:.6em;
  background:rgba(226,121,60,.14);border:1px solid rgba(226,121,60,.5);
  color:var(--ember-soft);padding:.55em 1.05em;
  font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;
  margin-bottom:1.3em;
}
.exp-badge svg{width:15px;height:15px;flex:none;}
