:root{
  --slate: #64758C;
  --slate-dark: #46566B;
  --slate-pale: #E4E8ED;
  --ink: #1C1D21;
  --ink-soft: #4A4D54;
  --paper: #FFFFFF;
  --mist: #F1F2F4;
  --line: #DCDFE3;
  --serif: 'Source Serif 4', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --maxw: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:600;margin:0;color:var(--ink);}
p{margin:0;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:var(--sans);cursor:pointer;}
img,svg{display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
:focus-visible{outline:2px solid var(--slate-dark);outline-offset:3px;}

header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.94);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line);}
.headerbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand-mark{width:34px;height:30px;flex:none;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text .name{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:0.5px;color:var(--ink);}
.brand-text .tagline{font-size:10.5px;color:var(--slate-dark);letter-spacing:1.2px;font-family:var(--serif);font-style:italic;}
nav.primary-nav{display:flex;gap:30px;align-items:center;}
nav.primary-nav a{font-size:14.5px;font-weight:500;color:var(--ink-soft);padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
nav.primary-nav a:hover{color:var(--ink);border-bottom-color:var(--slate);}
.header-right{display:flex;align-items:center;gap:16px;}
.lang-switch{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden;font-size:13px;font-weight:600;}
.lang-switch a{display:block;background:var(--paper);border:none;padding:6px 10px;color:var(--ink-soft);}
.lang-switch a.active{background:var(--slate);color:#fff;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:3px;font-size:14px;font-weight:600;border:1px solid transparent;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.btn-primary{background:var(--slate);color:#fff;}
.btn-primary:hover{background:var(--slate-dark);color:#fff;}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-ghost:hover{background:var(--ink);color:#fff;}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff;background:transparent;}
.btn-outline-light:hover{background:#fff;color:var(--slate-dark);}
.cta-group{display:flex;gap:10px;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;}
.hamburger span{width:22px;height:2px;background:var(--ink);}
.mobile-menu{display:none;}

.hero{background:linear-gradient(180deg,var(--mist) 0%,var(--paper) 100%);padding:64px 0 0;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;}
.hero-eyebrow{font-family:var(--serif);font-style:italic;color:var(--slate-dark);font-size:15px;margin-bottom:14px;}
.hero h1{font-size:44px;line-height:1.14;letter-spacing:-0.3px;max-width:560px;}
.hero .sub{margin-top:20px;font-size:17px;color:var(--ink-soft);max-width:480px;}
.hero-art{position:relative;aspect-ratio:4/3.1;border-radius:2px;overflow:hidden;border:1px solid var(--line);}
.hero-art svg{width:100%;height:100%;}
.hero-actions{display:flex;gap:14px;margin-top:30px;}

.search-panel{background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 18px 40px -22px rgba(28,29,33,0.35);padding:22px;margin-top:40px;display:grid;grid-template-columns:1.3fr 1fr auto;gap:14px;align-items:end;}
.search-panel .field{display:flex;flex-direction:column;gap:6px;}
.search-panel label{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.search-panel input{border:1px solid var(--line);border-radius:3px;padding:11px 12px;font-size:14.5px;font-family:var(--sans);color:var(--ink);}
.search-panel input:focus{border-color:var(--slate);}
.search-title{grid-column:1/-1;font-family:var(--serif);font-size:17px;margin-bottom:2px;color:var(--ink);}
.search-panel .btn{height:45px;}
.browse-all{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:var(--slate-dark);text-decoration:underline;text-underline-offset:3px;}

section{padding:88px 0;}
.section-tight{padding:64px 0;}
.section-head{max-width:640px;margin:0 auto 44px;text-align:center;}
.section-head .eyebrow{font-family:var(--serif);font-style:italic;color:var(--slate-dark);font-size:15px;margin-bottom:10px;display:block;}
.section-head h2{font-size:32px;letter-spacing:-0.3px;}
.section-head p{margin-top:14px;color:var(--ink-soft);font-size:16px;}
.bg-mist{background:var(--mist);}

.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.audience-card{padding:38px 34px;border-radius:4px;display:flex;flex-direction:column;gap:16px;}
.audience-card.candidate{background:#fff;border:1px solid var(--line);border-left:4px solid var(--slate);}
.audience-card.employer{background:var(--ink);border-left:4px solid var(--slate-pale);color:#fff;}
.audience-card h3{font-size:24px;}
.audience-card.employer h3{color:#fff;}
.audience-card p{color:var(--ink-soft);font-size:15px;max-width:400px;}
.audience-card.employer p{color:#C7CDD6;}
.audience-card .btn-row{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;}

.board-layout{display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:start;}
.filters{border:1px solid var(--line);border-radius:4px;padding:22px;position:sticky;top:90px;}
.filters h4{font-family:var(--serif);font-size:16px;margin-bottom:14px;}
.filter-group{margin-bottom:18px;}
.filter-group label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;}
.filter-group select,.filter-group input{width:100%;border:1px solid var(--line);border-radius:3px;padding:9px 10px;font-size:13.5px;font-family:var(--sans);color:var(--ink);background:#fff;}
.job-list{display:flex;flex-direction:column;gap:14px;}
.job-card{border:1px solid var(--line);border-radius:4px;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;transition:border-color .15s;}
.job-card:hover{border-color:var(--slate);}
.job-card h5{font-family:var(--serif);font-size:18px;margin-bottom:6px;}
.job-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ink-soft);margin-top:8px;}
.job-tag{display:inline-block;font-size:11.5px;font-weight:600;color:var(--slate-dark);background:var(--slate-pale);padding:3px 9px;border-radius:2px;margin-right:8px;}
.empty-state{padding:40px;text-align:center;color:var(--ink-soft);border:1px dashed var(--line);border-radius:4px;}

.steps-columns{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.steps-col h3{font-size:20px;margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--slate-pale);}
.step-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
.step-row:last-child{border-bottom:none;}
.step-num{font-family:var(--serif);font-size:20px;color:var(--slate);flex:none;width:34px;}
.step-body h6{font-size:15px;font-weight:600;margin-bottom:4px;}
.step-body p{font-size:13.8px;color:var(--ink-soft);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.split h2{font-size:30px;margin-bottom:18px;}
.split .lead{font-size:16px;color:var(--ink-soft);margin-bottom:28px;}
.benefit-list{display:flex;flex-direction:column;gap:14px;}
.benefit-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink-soft);}
.benefit-dot{width:6px;height:6px;border-radius:50%;background:var(--slate);margin-top:9px;flex:none;}
.form-mock{border:1px solid var(--line);border-radius:4px;padding:26px;background:var(--mist);}
.form-mock h4{font-family:var(--serif);font-size:17px;margin-bottom:18px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid .full{grid-column:1/-1;}
.form-mock input,.form-mock select,.form-mock textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:3px;padding:11px 12px;font-size:13.5px;font-family:var(--sans);color:var(--ink);}
.form-mock textarea{resize:vertical;min-height:80px;}
.form-mock label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:5px;}
.form-mock .btn{margin-top:18px;width:100%;border:none;}
.form-note{font-size:12.5px;color:var(--ink-soft);margin-top:6px;}
.alert-success{background:#EAF3EC;border:1px solid #BFDCC5;color:#2C6E39;padding:14px 18px;border-radius:4px;margin-bottom:20px;font-size:14px;}
.alert-error{background:#FBEAEA;border:1px solid #E7BEBE;color:#8E2E2E;padding:14px 18px;border-radius:4px;margin-bottom:20px;font-size:14px;}

.dashboard-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.dashboard-tags span{border:1px solid var(--line);border-radius:20px;padding:7px 14px;font-size:13px;color:var(--ink-soft);background:#fff;}

.germany-band{background:var(--slate);color:#fff;padding:70px 0;}
.germany-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.germany-band h2{color:#fff;font-size:30px;margin-bottom:16px;}
.germany-band p{color:#EAEDF1;font-size:15.5px;max-width:460px;}
.germany-mark{justify-self:end;opacity:0.9;}

.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.trust-item{background:#fff;padding:30px 26px;display:flex;flex-direction:column;gap:8px;}
.trust-item .mark{width:22px;height:22px;color:var(--slate);}
.trust-item h6{font-size:15.5px;font-weight:600;}
.trust-item p{font-size:13.5px;color:var(--ink-soft);}

.testi-carousel{display:flex;align-items:center;gap:16px;}
.testi-viewport{overflow:hidden;flex:1;min-width:0;}
.testi-track{display:flex;gap:22px;transition:transform .35s ease;will-change:transform;}
.testi-track .testi-card{flex:0 0 calc((100% - 44px)/3);min-width:0;}
.testi-card{border:1px solid var(--line);border-radius:4px;padding:26px;position:relative;background:#fff;}
.testi-card .placeholder-flag{font-size:10.5px;font-weight:700;color:var(--slate-dark);letter-spacing:0.6px;margin-bottom:14px;display:inline-block;border:1px solid var(--slate-pale);padding:3px 8px;border-radius:2px;}
.testi-card p.quote{font-family:var(--serif);font-size:15.5px;font-style:italic;color:var(--ink);line-height:1.6;}
.testi-card .who{margin-top:16px;font-size:13px;color:var(--ink-soft);}
.testi-nav{
  flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;
}
.testi-nav svg{width:18px;height:18px;color:var(--ink);}
.testi-nav:hover{border-color:var(--slate);background:var(--mist);}
.testi-nav:disabled{opacity:.3;cursor:default;}
.testi-nav:disabled:hover{border-color:var(--line);background:#fff;}
.testi-nav.is-hidden{visibility:hidden;}

.faq-tabs{display:flex;gap:10px;margin-bottom:28px;justify-content:center;}
.faq-tab{padding:10px 20px;border:1px solid var(--line);border-radius:20px;font-size:14px;font-weight:600;color:var(--ink-soft);background:#fff;}
.faq-tab.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.faq-list{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 4px;display:flex;justify-content:space-between;align-items:center;font-size:15.5px;font-weight:600;color:var(--ink);}
.faq-q .plus{font-family:var(--serif);font-size:20px;color:var(--slate);transition:transform .2s;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{padding:0 4px 18px;font-size:14.5px;color:var(--ink-soft);max-width:640px;}
.faq-panel{display:none;}
.faq-panel.visible{display:block;}

footer{background:var(--ink);color:#C7CDD6;padding:64px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid #33343A;}
.footer-brand{display:flex;gap:10px;align-items:center;margin-bottom:14px;}
.footer-brand .name{font-family:var(--serif);color:#fff;font-size:17px;font-weight:700;}
.footer-brand .tagline{font-size:10px;color:#9AA0AC;letter-spacing:1px;}
footer p.desc{font-size:13.5px;color:#9AA0AC;max-width:280px;}
footer h6{font-size:13px;color:#fff;margin-bottom:14px;font-weight:600;}
footer ul li{margin-bottom:10px;}
footer ul li a{font-size:13.5px;color:#B3B8C2;}
footer ul li a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:12.5px;color:#8A909C;flex-wrap:wrap;gap:10px;}
.social-icons{display:flex;gap:12px;}
.social-icons a{width:30px;height:30px;border:1px solid #3B3C43;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.social-icons svg{width:14px;height:14px;fill:#C7CDD6;}

@media (max-width:920px){
  nav.primary-nav{display:none;}
  .cta-group{display:none;}
  .hamburger{display:flex;}
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{font-size:34px;}
  .search-panel{grid-template-columns:1fr;}
  .audience-grid{grid-template-columns:1fr;}
  .board-layout{grid-template-columns:1fr;}
  .filters{position:static;}
  .steps-columns{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .germany-band .wrap{grid-template-columns:1fr;}
  .germany-mark{justify-self:start;}
  .trust-grid{grid-template-columns:1fr;}
  .testi-track .testi-card{flex:0 0 calc((100% - 22px)/2);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .job-card{grid-template-columns:1fr;}
  .mobile-menu.open{display:flex;}
  .mobile-menu{flex-direction:column;gap:2px;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 28px 20px;}
  .mobile-menu a{padding:12px 0;font-size:15px;border-bottom:1px solid var(--line);color:var(--ink-soft);}
  .mobile-menu .cta-group{display:flex;margin-top:14px;}
}
@media (max-width:600px){
  .form-grid{grid-template-columns:1fr;}
  section{padding:56px 0;}
  .hero{padding:44px 0 0;}
  .testi-track .testi-card{flex:0 0 100%;}
  .testi-carousel{gap:8px;}
  .testi-nav{width:36px;height:36px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}

/* ---------- WhatsApp floating chat button ---------- */
.whatsapp-float{
  position:fixed;
  bottom:22px;
  right:22px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px -4px rgba(0,0,0,0.35);
  z-index:999;
  transition:transform .18s ease, box-shadow .18s ease;
}
.whatsapp-float svg{ width:32px; height:32px; }
.whatsapp-float:hover{
  transform:scale(1.07);
  box-shadow:0 10px 26px -4px rgba(0,0,0,0.45);
}
.whatsapp-float:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:3px;
}
@media (max-width:600px){
  .whatsapp-float{
    width:52px;
    height:52px;
    bottom:16px;
    right:16px;
  }
  .whatsapp-float svg{ width:28px; height:28px; }
}
@media (prefers-reduced-motion:reduce){
  .whatsapp-float{ transition:none; }
}

/* ---------- Footer contact info block ---------- */
.footer-contact-info li{
  font-size:13.5px;
  color:#B3B8C2;
  margin-bottom:10px;
  line-height:1.5;
}
.footer-contact-info .contact-label{
  color:#8A909C;
  font-weight:600;
  margin-right:4px;
}
.footer-contact-info a{ color:#B3B8C2; }
.footer-contact-info a:hover{ color:#fff; }

/* ---------- Legal page content (Impressum, Datenschutz, Cookies, AGB) ---------- */
.legal-content{ font-size:15px; color:var(--ink-soft); line-height:1.7; }
.legal-content p{ margin-bottom:16px; }
.legal-content strong{ color:var(--ink); }
.legal-content h2,.legal-content h3{ font-family:var(--serif); color:var(--ink); margin:28px 0 12px; font-size:20px; }
.legal-content ul,.legal-content ol{ margin:0 0 16px 22px; padding:0; list-style:revert; }
.legal-content a{ color:var(--slate-dark); text-decoration:underline; text-underline-offset:2px; }

/* ---------- Job board pagination ---------- */
.job-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:32px;
  flex-wrap:wrap;
}
.page-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border:1px solid var(--line);
  border-radius:3px;
  background:#fff;
  color:var(--ink);
  font-size:13.5px;
  font-weight:600;
  transition:border-color .15s, background .15s, color .15s;
}
.page-btn:hover{ border-color:var(--slate); background:var(--mist); }
.page-btn.is-disabled{
  opacity:.4;
  pointer-events:none;
  cursor:default;
}
.page-status{
  font-size:13.5px;
  color:var(--ink-soft);
  padding:0 10px;
  white-space:nowrap;
}
@media (max-width:600px){
  .job-pagination{ gap:6px; }
  .page-btn{ padding:8px 11px; font-size:12.5px; }
  .page-status{ width:100%; text-align:center; order:10; margin-top:4px; }
}
