:root{
  --deep:#2D1060; --purple:#8B52B2; --mid:#7A3DB8; --footer-bg:#1A0A30;
  --lav:#C9A8FF; --lav-soft:#D9C5F5; --lav-muted:#E0CCFF;
  --surface:#F5F0FC; --border:#EDE5F5; --icon-bg:#F0E8FF;
  --text:#2D1060; --body:#6B5E7A; --muted:#9B8AAD; --subtle:#4A3A5A;
  --gold:#F5A623; --green:#1DB87E; --red:#E84545; --white:#fff;
  --radius:20px; --radius-sm:14px; --radius-btn:12px; --maxw:1200px;
  --shadow:0 2px 12px rgba(45,16,96,.08); --shadow-lg:0 12px 40px rgba(45,16,96,.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Bricolage Grotesque',system-ui,sans-serif;background:#fff;color:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--text);line-height:1.15;letter-spacing:-.02em;font-weight:800}
h1{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05}
h2{font-size:clamp(1.7rem,3.5vw,2.25rem)}
h3{font-size:1.15rem}
.container{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.section{padding:64px 0}
.section-sm,.section-tight{padding:44px 0}
.bg-light{background:var(--surface)}
.bg-deep{background:var(--deep)}
.center{text-align:center}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin-bottom:14px}
.eyebrow.on-dark{color:var(--lav)}
.lead{font-size:1.12rem;color:var(--body);max-width:640px}
.lead.on-dark{color:var(--lav-soft)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;background:var(--purple);color:#fff;padding:8px 14px;border-radius:8px;z-index:999}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:1rem;padding:13px 26px;border-radius:var(--radius-btn);border:1.5px solid transparent;cursor:pointer;transition:.2s;font-family:inherit;text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-sm{padding:10px 20px;font-size:.9rem}
.btn-lg{padding:15px 32px;font-size:1.05rem}
.btn-primary{background:var(--purple);color:#fff;box-shadow:0 8px 20px rgba(139,82,178,.28)}
.btn-primary:hover{background:var(--mid);color:#fff}
.btn-deep{background:var(--deep);color:#fff}
.btn-deep:hover{background:#3d1a7a;color:#fff}
.btn-ghost-dark{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.btn-ghost-dark:hover{background:rgba(255,255,255,.18);color:#fff}
.btn-ghost{background:transparent;color:var(--purple);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--purple);color:var(--purple)}
.btn-white{background:#fff;color:var(--deep)}.btn-white:hover{color:var(--deep)}
.btn-block{width:100%}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:var(--deep)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand img{height:30px;filter:brightness(0) invert(1)}
.brand:hover{text-decoration:none}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a:not(.btn){color:#9B8AAD;font-weight:600;font-size:.95rem}
.nav-links a:not(.btn):hover{color:#fff;text-decoration:none}
.nav-links a.active{color:var(--lav)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:2px;background:#fff;border-radius:2px}

/* hero */
.hero{background:var(--deep);color:#fff;padding:82px 0 76px;position:relative;overflow:hidden}
.hero-inner{max-width:820px;position:relative;z-index:2}
.hero .circ{position:absolute;border-radius:50%;background:rgba(139,82,178,.15);z-index:1}
.hero .circ.a{width:420px;height:420px;top:-120px;right:-80px}
.hero .circ.b{width:280px;height:280px;bottom:-120px;left:-60px}
.badge{display:inline-block;background:var(--purple);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px;border-radius:100px;margin-bottom:22px}
.hero h1{color:#fff}
.hero h1 span{color:var(--lav)}
.hero p{font-size:1.15rem;color:var(--lav-soft);margin:20px 0 30px;max-width:660px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.trust-row span{background:rgba(255,255,255,.08);color:var(--lav);font-size:.85rem;font-weight:600;padding:8px 16px;border-radius:100px}

/* page hero (inner) */
.page-hero{background:var(--deep);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden}
.page-hero .circ{position:absolute;border-radius:50%;background:rgba(139,82,178,.15);width:340px;height:340px;top:-120px;right:-60px}
.page-hero h1{color:#fff}.page-hero h1 span{color:var(--lav)}
.page-hero p{color:var(--lav-soft);margin-top:14px}
.crumb{font-size:.82rem;color:var(--lav);margin-bottom:14px}
.crumb a{color:var(--lav-soft)}

/* grids */
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}

/* cards */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card h3{margin-bottom:8px}
.card p{color:var(--body);font-size:.95rem}
.card.deep{background:var(--deep);border-color:var(--deep)}
.card.deep h3{color:#fff}.card.deep p{color:var(--lav)}
.card.purple{background:var(--purple);border-color:var(--purple)}
.card.purple h3{color:#fff}.card.purple p{color:var(--lav-muted)}
.card.soft{background:var(--surface)}
.ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:var(--deep);color:#fff}
.card.deep .ic,.card.purple .ic{background:rgba(255,255,255,.15)}
.checklist{list-style:none;display:grid;gap:13px;margin-top:20px}
.checklist li{display:flex;gap:12px;align-items:flex-start;color:var(--body)}
.checklist li::before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--purple);margin-top:9px}
.checklist.on-dark li{color:var(--lav)}.checklist.on-dark li::before{background:var(--lav)}
.checklist.gold li::before{background:var(--gold)}

/* about strip cards (2x2) */
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mini{border-radius:var(--radius);padding:26px;min-height:130px;display:flex;flex-direction:column;justify-content:flex-end}
.mini h4{font-size:1.05rem;margin-bottom:4px}
.mini p{font-size:.85rem}
.mini.deep{background:var(--deep)}.mini.deep h4{color:#fff}.mini.deep p{color:var(--lav)}
.mini.purple{background:var(--purple)}.mini.purple h4{color:#fff}.mini.purple p{color:var(--lav-muted)}
.mini.soft{background:var(--surface);border:1px solid var(--border);grid-column:span 2}.mini.soft h4{color:var(--text)}.mini.soft p{color:var(--body)}

/* image placeholder (industry / imagery) */
.img-ph{background:linear-gradient(135deg,#3d1a7a,var(--purple));border-radius:var(--radius);min-height:210px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.img-ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px)}
.img-ph .ph-ic{position:relative;z-index:1;color:rgba(255,255,255,.6)}
.img-top{border-radius:20px 20px 0 0}

/* partners */
.partners{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:34px}
.partner{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 30px;min-width:170px;min-height:92px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.partner img{max-height:44px;max-width:150px;width:auto;object-fit:contain}

/* testimonials */
.testi{background:var(--deep);border-radius:24px;padding:48px 56px;position:relative;overflow:hidden}
.testi .qmark{font-size:5rem;line-height:.6;color:var(--purple);font-family:Georgia,serif;position:absolute;top:28px;left:36px;opacity:.6}
.stars{color:var(--gold);font-size:1.1rem;letter-spacing:3px;margin-bottom:16px;position:relative;z-index:1}
.testi blockquote{font-size:1.25rem;font-style:italic;color:#fff;line-height:1.6;position:relative;z-index:1;max-width:760px}
.testi .who{display:flex;align-items:center;gap:14px;margin-top:26px;position:relative;z-index:1}
.testi .av{width:44px;height:44px;border-radius:50%;background:var(--purple);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}
.testi .who b{color:#fff;display:block;font-size:.95rem}
.testi .who span{color:var(--lav);font-size:.82rem}
.placeholder-note{display:inline-block;margin-top:16px;font-size:.78rem;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:6px 12px}

/* onboarding steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.steps::before{content:"";position:absolute;top:28px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--purple),var(--lav));z-index:0}
.step{position:relative;z-index:1;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);padding:26px 22px;text-align:center}
.step.deep{background:var(--deep);border-color:var(--deep)}
.step.deep h4{color:#fff}.step.deep p{color:var(--lav)}
.step .num{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;margin:0 auto 14px;background:var(--purple)}
.step:nth-child(1) .num{background:var(--deep)}
.step:nth-child(4) .num{background:var(--lav);color:var(--deep)}
.step h4{font-size:1rem;margin-bottom:6px}.step p{font-size:.85rem;color:var(--body)}

/* split banner (frauengeführt/karriere) */
.split-banner{display:grid;grid-template-columns:1fr 1fr}
.split-banner>div{padding:52px 48px}
.split-banner .l{background:var(--purple)}
.split-banner .r{background:var(--deep)}
.split-banner h3{color:#fff;font-size:1.5rem;margin-bottom:12px}
.split-banner p{color:var(--lav-muted);margin-bottom:22px}

/* cta banner */
.cta-band{background:var(--purple);border-radius:24px;padding:52px 48px;text-align:center}
.cta-band h2{color:#fff}.cta-band p{color:var(--lav-muted);margin:12px auto 24px;max-width:560px;font-size:1.08rem}

/* values (mission/vision/werte) */
.value{background:var(--surface);border-radius:var(--radius);padding:30px;border-top:4px solid var(--deep)}
.value.v2{background:var(--deep);border-top-color:var(--purple)}
.value.v2 h3{color:#fff}.value.v2 p,.value.v2 li{color:var(--lav)}
.value.v3{border-top-color:var(--gold)}
.value h3{margin-bottom:10px}.value p{color:var(--body);font-size:.95rem}

/* team */
.person{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.person .photo{height:300px;object-fit:cover;object-position:top;width:100%}
.person .pbody{padding:18px 22px}
.person h3{font-size:1.05rem;margin-bottom:2px}
.person .role{color:var(--purple);font-size:.85rem;font-weight:600}
.leader{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:24px 20px;text-align:center}
.leader .av{width:44px;height:44px;border-radius:50%;background:var(--icon-bg);color:var(--purple);display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 12px}
.leader h4{font-size:.95rem;margin-bottom:2px}.leader .role{color:var(--purple);font-size:.8rem;font-weight:600}

/* tags/chips */
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:var(--icon-bg);color:var(--purple);font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:100px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{background:var(--surface);border:1px solid var(--border);color:var(--body);font-size:.85rem;padding:8px 14px;border-radius:100px}
.empty-state{background:#fff;border:1.5px dashed var(--border);border-radius:var(--radius);padding:40px;text-align:center;color:var(--muted)}
.job{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}

/* prose (legal / job detail) */
.prose{max-width:820px}
.prose h2{margin:34px 0 12px;color:var(--text)}
.prose h3{margin:24px 0 10px;color:var(--purple)}
.prose p{margin:0 0 14px;color:var(--body)}
.prose ul{margin:0 0 18px;list-style:none;display:grid;gap:10px}
.prose ul li{display:flex;gap:12px;align-items:flex-start;color:var(--body)}
.prose ul li::before{content:"›";color:var(--purple);font-weight:800;flex:0 0 auto}
.prose a:not(.btn){color:var(--purple);text-decoration:underline}

/* faq */
.faq{max-width:840px;margin:0 auto}
.faq-item{border-bottom:1.5px solid var(--border)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;cursor:pointer;padding:22px 0;font-family:inherit;font-size:1.1rem;font-weight:700;color:var(--text);text-align:left}
.faq-ic{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--icon-bg);color:var(--purple);display:flex;align-items:center;justify-content:center;transition:.2s;font-weight:700}
.faq-item.open .faq-ic{background:var(--deep);color:#fff;transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a-inner{padding:0 0 22px;color:var(--body);border-top:1.5px solid var(--border);margin-top:-1px;padding-top:18px}
.faq-item.open .faq-a{max-height:500px}

/* forms */
.form-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;margin-bottom:7px;color:var(--text);font-size:.92rem}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:1rem;padding:13px 15px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(139,82,178,.15)}
.field textarea{min-height:130px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.check{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:.9rem;color:var(--body);line-height:1.55}
.check input{width:18px;height:18px;margin-top:3px;flex:0 0 auto;accent-color:var(--purple)}
.check strong{color:var(--text)}
.req{color:var(--red)}
.alert{padding:14px 16px;border-radius:10px;margin-bottom:18px;font-size:.95rem}
.alert-ok{background:rgba(29,184,126,.1);border:1px solid rgba(29,184,126,.4);color:#0f7a53}
.alert-err{background:rgba(232,69,69,.08);border:1px solid rgba(232,69,69,.4);color:#b32b2b}
.consent-box{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--purple);border-radius:10px;padding:14px 16px;margin:4px 0 20px;font-size:.9rem;color:var(--body);line-height:1.6}
.consent-box strong{color:var(--text)}
.success-card{background:#fff;border:1px solid rgba(29,184,126,.4);border-radius:var(--radius);padding:40px 34px;text-align:center;box-shadow:var(--shadow)}
.success-card .tick{width:64px;height:64px;border-radius:50%;background:rgba(29,184,126,.12);border:2px solid rgba(29,184,126,.4);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 18px}
.success-card h2{color:#0f7a53;font-size:1.4rem;margin-bottom:10px}
.success-card p{color:var(--body);margin:0 auto 8px;max-width:460px}
.map-embed{margin-top:16px;padding:18px;border:1px dashed var(--border);border-radius:10px;text-align:center;background:var(--surface)}
.map-embed iframe{display:block}
.map-note{display:block;font-size:.72rem;color:var(--muted);margin-top:10px;line-height:1.5}
.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px}
.info-card.deep{background:var(--deep)}.info-card.deep h3{color:#fff}.info-card.deep p{color:var(--lav)}.info-card.deep a{color:var(--lav)}

/* footer */
.site-footer{background:var(--footer-bg);color:var(--lav);padding:56px 0 0}
.newsletter-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:0 0 38px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:42px}
.newsletter-strip h3{color:#fff;margin-bottom:6px}.newsletter-strip p{max-width:440px;font-size:.9rem;color:var(--lav-soft)}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap}
.newsletter-form input[type=email]{padding:13px 16px;border:1.5px solid rgba(255,255,255,.18);border-radius:100px;background:rgba(255,255,255,.06);color:#fff;min-width:260px;font-family:inherit;font-size:.95rem}
.newsletter-form input[type=email]::placeholder{color:var(--muted)}
.newsletter-form input[type=email]:focus{outline:none;border-color:var(--purple)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px}
.footer-brand img{height:28px;filter:brightness(0) invert(1);margin-bottom:16px}
.footer-brand p{color:var(--lav-soft);font-size:.9rem;max-width:340px}
.footer-addr{font-size:.86rem;line-height:1.9;margin-top:14px;color:var(--lav-soft)}
.footer-addr a{color:var(--lav-soft)}
.footer-col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lav);margin-bottom:16px}
.footer-col ul{list-style:none;display:grid;gap:11px}
.footer-col ul a{color:var(--lav-soft);font-size:.9rem}
.footer-col ul a:hover{color:#fff;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-bottom p{color:var(--subtle);font-size:.82rem;margin:0}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.footer-legal a{color:var(--subtle);font-size:.82rem}
.footer-legal a:hover{color:var(--lav)}

/* cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:820px;margin:0 auto;background:var(--deep);border:1px solid var(--purple);border-radius:16px;padding:18px 22px;box-shadow:0 20px 60px rgba(0,0,0,.4);display:flex;align-items:center;gap:20px;flex-wrap:wrap;z-index:200}
.cookie-banner p{margin:0;font-size:.88rem;flex:1;min-width:240px;color:var(--lav-soft)}
.cookie-banner a{color:var(--lav)}
.cookie-actions{display:flex;gap:10px}
.cookie-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cookie-banner .btn-ghost:hover{color:#fff;border-color:#fff}

/* responsive */
@media(max-width:900px){
  .grid-2,.grid-3,.grid-4,.split,.row2,.mini-grid,.steps,.split-banner,.footer-grid{grid-template-columns:1fr}
  .steps::before{display:none}
  .mini.soft{grid-column:auto}
  .nav-links{position:fixed;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--deep);border-bottom:1px solid rgba(255,255,255,.1);padding:12px 40px 22px;transform:translateY(-140%);transition:.28s;opacity:0}
  .nav-links.open{transform:translateY(0);opacity:1}
  .nav-links a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-toggle{display:flex}
  .container{padding:0 24px}
  .section{padding:52px 0}
  .testi,.cta-band{padding:36px 24px}
  .split-banner>div{padding:40px 28px}
}
@media(max-width:560px){
  .newsletter-form,.newsletter-form input[type=email]{width:100%;min-width:0}
  .hero-cta .btn{width:100%}
}
