@import url('https://fonts.bunny.net/css?family=dm-sans:400,500,600,700|manrope:500,600,700,800');

:root{
  --green-deep:#0b2117;
  --green-dark:#123425;
  --green-accent:#2f7650;
  --green-light:#79bf8c;
  --green-pale:#d8eadf;
  --off-white:#f8f9f5;
  --gray-bg:#eef1ec;
  --gray-mid:#d7dcd4;
  --gray-dark:#626b64;
  --font-display:'Manrope',system-ui,sans-serif;
  --font-sans:'DM Sans',system-ui,sans-serif;
}

html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:
  radial-gradient(760px 520px at 90% 4%,rgba(121,191,140,.14),transparent 62%),
  linear-gradient(145deg,#f7f9f4 0%,#edf2eb 100%);color:var(--green-deep);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

nav{height:78px!important;padding:0 4vw!important;background:rgba(7,18,13,.95)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(14px);}
.nav-logo svg{height:52px!important;max-width:240px;}
.nav-links{gap:26px!important;}
.nav-links a{font-family:var(--font-sans)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.12em!important;color:rgba(255,255,255,.6)!important;}
.nav-links a:hover{color:#fff!important;}
.nav-cta{padding:11px 19px!important;border-radius:100px!important;background:var(--green-light)!important;color:var(--green-deep)!important;font-weight:700!important;letter-spacing:.08em!important;}
.nav-cta:hover{background:#9ad0a8!important;color:var(--green-deep)!important;}
.nav-cta-cal{background:#eef7f0!important;border:1px solid #eef7f0!important;color:var(--green-deep)!important;}
.nav-cta-cal:hover{background:#fff!important;border-color:#fff!important;}
.nav-links a.nav-cta,.nav-links a.nav-cta:hover,.nav-links a.nav-cta-cal,.nav-links a.nav-cta-cal:hover{color:var(--green-deep)!important;}

.legal-page{min-height:100vh!important;padding:138px 24px 86px!important;display:block!important;}
.legal-page .legal-panel{max-width:980px!important;margin:0 auto!important;padding:clamp(34px,5vw,68px)!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(11,33,23,.08)!important;border-radius:28px!important;box-shadow:0 30px 80px rgba(11,33,23,.11)!important;overflow:hidden;}
.legal-page .legal-panel::before{content:'';display:block;width:58px;height:4px;margin:0 0 34px;background:var(--green-light);}
.legal-badge{display:none!important;}
.legal-back{margin-bottom:28px!important;font-size:13px!important;font-weight:700!important;color:var(--green-accent)!important;}
.legal-back:hover{color:var(--green-deep)!important;}
.legal-panel h1{font-family:var(--font-display)!important;font-size:clamp(34px,5vw,54px)!important;line-height:1.02!important;letter-spacing:-.045em!important;color:var(--green-deep)!important;margin:0 0 12px!important;}
.legal-stand{font-size:13px!important;color:#89938d!important;margin-bottom:44px!important;}
.legal-panel h2{font-family:var(--font-display)!important;font-size:22px!important;line-height:1.25!important;letter-spacing:-.025em!important;color:var(--green-deep)!important;margin:38px 0 12px!important;}
.legal-panel h3{font-family:var(--font-display)!important;font-size:17px!important;line-height:1.35!important;color:var(--green-deep)!important;margin:26px 0 8px!important;}
.legal-panel p,.legal-panel li{font-family:var(--font-sans)!important;font-size:15px!important;line-height:1.78!important;color:#55625a!important;}
.legal-panel ul,.legal-panel ol{padding-left:22px!important;margin:12px 0 20px!important;}
.legal-panel a{color:var(--green-accent);text-underline-offset:3px;}
.legal-divider{border-color:rgba(11,33,23,.09)!important;margin:36px 0!important;}

.bewerbung-page,.apply-page{background:
  radial-gradient(620px 440px at 80% 0%,rgba(121,191,140,.18),transparent 64%),
  linear-gradient(145deg,#f7f9f4,#e8efe7)!important;}
.bewerbung-page{padding:128px 20px 76px!important;}
.apply-page{padding:50px 16px!important;}
.c2t-modal-inner{font-family:var(--font-sans)!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(11,33,23,.08)!important;border-radius:26px!important;box-shadow:0 30px 80px rgba(11,33,23,.16)!important;}
.bewerbung-page .c2t-modal-inner{max-width:500px!important;}
.apply-page .c2t-modal-inner{max-width:470px!important;}
.c2t-title,.c2t-title-done{font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:-.035em!important;color:var(--green-deep)!important;}
.c2t-title{font-size:25px!important;line-height:1.12!important;}
.c2t-title-done{font-size:25px!important;}
.c2t-sub{font-size:10px!important;letter-spacing:.15em!important;color:var(--green-accent)!important;}
.c2t-step-title{font-family:var(--font-display)!important;font-weight:700!important;color:var(--green-deep)!important;}
.c2t-step-text,.c2t-consent-text,.c2t-final-sub{color:#68736c!important;}
.c2t-step-dot.active{background:var(--green-accent)!important;}
.c2t-btn-green{background:var(--green-accent)!important;border-radius:13px!important;box-shadow:0 12px 28px rgba(47,118,80,.22)!important;}
.c2t-btn-green:hover{background:var(--green-dark)!important;}
.c2t-btn-accent{background:var(--green-deep)!important;border-radius:13px!important;}
.c2t-job-id{border-color:rgba(47,118,80,.16)!important;background:var(--off-white)!important;}
.c2t-job-id code{color:var(--green-accent)!important;}

footer{background:#050c08!important;padding-top:58px!important;}
.footer-tagline{max-width:320px!important;color:rgba(255,255,255,.42)!important;}
.footer-col-title{color:rgba(255,255,255,.35)!important;letter-spacing:.12em!important;}
.footer-col a,.footer-bottom,.footer-legal-row a{color:rgba(255,255,255,.48)!important;}
.footer-col a:hover,.footer-legal-row a:hover{color:var(--green-light)!important;}

@media(max-width:1100px){
  nav{height:64px!important;padding:0 16px!important;overflow:visible!important;}
  .nav-logo svg{height:42px!important;max-width:210px;}
  .nav-links{top:64px!important;gap:0!important;background:rgba(7,18,13,.985)!important;padding:8px 0 20px!important;max-height:calc(100dvh - 64px)!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .nav-links a{font-size:14px!important;padding:13px 22px!important;letter-spacing:.05em!important;}
  .nav-links .nav-cta{margin:8px 16px 0!important;text-align:center!important;}
  .nav-links a.nav-cta-cal,.nav-links a.nav-cta-cal:hover{background:#eef7f0!important;border-color:#eef7f0!important;color:var(--green-deep)!important;}
  .nav-links li:nth-last-child(2){order:99;}
}

@media(max-width:640px){
  .legal-page{padding:94px 12px 54px!important;}
  .legal-page .legal-panel{padding:30px 22px!important;border-radius:20px!important;}
  .legal-page .legal-panel::before{margin-bottom:24px;}
  .legal-panel h1{font-size:34px!important;}
  .legal-stand{margin-bottom:32px!important;}
  .legal-panel h2{font-size:20px!important;margin-top:32px!important;}
  .legal-panel p,.legal-panel li{font-size:14px!important;line-height:1.72!important;}
  .bewerbung-page{padding:92px 12px 52px!important;}
  .apply-page{align-items:flex-start!important;padding:18px 10px!important;}
  .c2t-modal-inner{border-radius:21px!important;}
  .c2t-title,.c2t-title-done{font-size:22px!important;}
  footer{padding-top:46px!important;}
}
