.subpage{background:var(--paper)}
.sub-header{background:var(--deep);color:#fff}
.sub-header .nav{height:96px}
.sub-header .brand img{filter:brightness(0) invert(1)}
.sub-header .navlinks{gap:20px}
.navlinks .active{color:#b8d8cc;opacity:1!important}
.page-hero{background:var(--deep);color:#fff;padding:72px 0 78px;position:relative;overflow:hidden}
.page-hero:after{content:'';position:absolute;right:-8vw;bottom:-35vw;width:62vw;height:62vw;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.page-hero .shell{position:relative;z-index:1}
.page-hero h1{font-size:clamp(3.5rem,7vw,7rem);max-width:1050px;margin:24px 0}
.page-hero p{max-width:760px;color:rgba(255,255,255,.72);font-size:1.25rem}
.content-section{padding:84px 0}
.content-section.alt{background:var(--cream)}
.content-split{display:grid;grid-template-columns:220px 1fr;gap:70px}
.content-split h2{font-size:clamp(2.5rem,4.6vw,4.8rem);line-height:1.05}
.content-split h2 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}
.copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:38px}
.copy-grid p{margin:0;color:#53605a}
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:42px}
.grid-cards article{background:var(--paper);padding:28px}
.grid-cards span{font-size:12px;color:var(--green);letter-spacing:.12em}
.grid-cards h3{font-size:1.55rem;margin:22px 0 10px}
.grid-cards p{color:#59645f}
.number-list{margin-top:42px;border-top:1px solid var(--line)}
.number-list article{display:grid;grid-template-columns:70px 240px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}
.number-list>article>span{color:var(--green)}
.number-list h3{font-size:1.45rem}
.number-list p{margin:0;color:#59645f}
.quote-band{background:var(--green);color:#fff;padding:64px 0}
.quote-band blockquote{font:500 clamp(2rem,4vw,4rem)/1.18 var(--display);letter-spacing:-.04em;margin:0;max-width:1000px}
.quote-band blockquote em{font-family:Georgia,serif;font-weight:400}
.mini-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:32px;margin-top:44px}
.mini-cta strong{font:500 1.5rem var(--display)}
.job-cards{margin-top:42px;border-top:1px solid var(--line)}
.job-cards a{display:grid;grid-template-columns:190px 1fr 42px;gap:28px;align-items:center;padding:28px 4px;border-bottom:1px solid var(--line)}
.job-cards a:hover{background:var(--cream)}
.job-cards small{color:var(--green)}
.job-cards strong{font:500 1.45rem var(--display)}
.jobs-hero-grid{display:grid;grid-template-columns:1fr 310px;gap:80px;align-items:end}
.jobs-hero-copy{border-left:1px solid rgba(255,255,255,.22);padding-left:35px;margin-bottom:28px}
.jobs-hero-copy strong{display:block;font:500 4.6rem/1 var(--display);color:#b8d8cc}
.jobs-hero-copy span{display:block;margin:6px 0 22px;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.jobs-hero-copy p{font-size:1rem;line-height:1.6;margin:0}
.jobs-intro{display:grid;grid-template-columns:220px 1fr;gap:70px}
.jobs-intro h2{font-size:clamp(2.5rem,4.6vw,4.8rem);line-height:1.05}
.jobs-intro h2 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}
.jobs-intro p{max-width:680px;color:#59645f;margin-top:24px}
.job-filters{display:flex;flex-wrap:wrap;gap:10px;margin:42px 0 24px}
.job-filters button{border:1px solid var(--line);background:transparent;color:var(--deep);padding:12px 17px;border-radius:99px;font:500 .86rem var(--body);cursor:pointer}
.job-filters button span{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;min-width:23px;height:23px;border-radius:50%;background:var(--cream);font-size:.72rem}
.job-filters button.active,.job-filters button:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.job-filters button.active span{background:rgba(255,255,255,.16)}
.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.job-card{border:1px solid var(--line);background:#fff;padding:28px;display:flex;flex-direction:column;min-height:330px;transition:transform .2s ease,border-color .2s ease}
.job-card:hover{transform:translateY(-3px);border-color:#9db8ae}.job-card[hidden]{display:none}
.job-card.featured{background:var(--deep);color:#fff;border-color:var(--deep)}
.job-card-top{display:flex;justify-content:space-between;gap:20px;align-items:center}
.job-category{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}.featured .job-category{color:#b8d8cc}
.job-index{font-size:.75rem;color:#8b9691}
.job-card h3{font:500 clamp(1.55rem,2.3vw,2.15rem)/1.18 var(--display);letter-spacing:-.035em;margin:35px 0 16px;max-width:520px}
.job-card p{color:#59645f;margin:0 0 25px;line-height:1.65}.featured p{color:rgba(255,255,255,.68)}
.job-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;margin-bottom:27px}
.job-meta span{border:1px solid var(--line);border-radius:99px;padding:6px 10px;font-size:.72rem;color:#59645f}
.featured .job-meta span{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.76)}
.job-card>a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;font-weight:600;color:var(--green)}
.featured>a{border-color:rgba(255,255,255,.2);color:#b8d8cc}
.jobs-disclaimer{display:grid;grid-template-columns:220px 1fr;gap:70px;margin-top:28px;color:#748079;font-size:.82rem}
.jobs-disclaimer span{text-transform:uppercase;letter-spacing:.1em}.jobs-disclaimer p{margin:0;max-width:760px}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:42px}
.contact-options a{background:var(--green);color:#fff;padding:34px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}
.contact-options strong{font:500 1.6rem var(--display)}
.contact-options span{color:rgba(255,255,255,.68)}
.location-card{border:1px solid var(--line);padding:35px;margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.location-card p{margin:0}
.sub-footer{margin-top:0}
.legal-content{max-width:820px}
.legal-content h2{font-size:clamp(2.25rem,4vw,4rem);margin-bottom:30px}
.legal-content h3{font-size:1.35rem;margin:38px 0 10px}
.legal-content p{color:#53605a;line-height:1.75}
.legal-content a{color:var(--green);font-weight:600}
@media(max-width:900px){.content-split,.jobs-intro{grid-template-columns:1fr;gap:24px}.jobs-hero-grid{grid-template-columns:1fr;gap:18px}.jobs-hero-copy{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:20px 0 0;margin:0;max-width:520px}.copy-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.grid-cards{grid-template-columns:1fr;margin-top:32px}.grid-cards article{padding:24px}.grid-cards h3{margin:16px 0 8px}.number-list{margin-top:32px}.number-list article{grid-template-columns:40px 1fr;gap:18px;padding:19px 0}.number-list article p{grid-column:2}.contact-options,.location-card{grid-template-columns:1fr}.page-hero{padding:48px 0 58px}.sub-header .nav{height:66px}.jobs-disclaimer{grid-template-columns:1fr;gap:8px}}
@media(min-width:821px) and (max-width:900px){.sub-header .nav{height:96px}}
@media(min-width:821px) and (max-width:1100px){.sub-header .navlinks{gap:12px}}
@media(max-width:650px){.job-grid{grid-template-columns:1fr}.job-card{min-height:300px;padding:24px}.job-card h3{margin:26px 0 13px}.job-filters{display:grid;grid-template-columns:1fr 1fr;margin-top:32px}.job-filters button{text-align:left}.job-cards a{grid-template-columns:1fr 30px;padding:22px 4px}.job-cards small{grid-column:1/-1}.content-section{padding:58px 0}.quote-band{padding:52px 0}.mini-cta{align-items:flex-start;flex-direction:column;margin-top:34px;padding-top:28px}.contact-options{margin-top:32px}.contact-options a{min-height:150px;padding:26px}.location-card{padding:26px}.trust{padding:58px 0!important}}
@media(max-width:420px){.job-filters{grid-template-columns:1fr}.job-card{padding:24px}}

/* Kompaktere, aufgabenspezifische Unterseiten. */
.subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero{padding:54px 0 60px}
.subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero h1{font-size:clamp(3.15rem,6.3vw,6.25rem);margin:20px 0}
.page-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
@media(min-width:821px){
  .subpage[data-page="unternehmen"] .page-hero{
    min-height:calc(100svh - 96px);
    display:flex;
    align-items:center;
  }
}
.hero-secondary{border:1px solid rgba(255,255,255,.42);color:#fff}
.candidate-assurances{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.candidate-assurances span{border:1px solid rgba(255,255,255,.22);padding:8px 12px;color:rgba(255,255,255,.78);font-size:.78rem}
.section-intro{max-width:820px;color:#53605a;font-size:1.08rem;line-height:1.7;margin:30px 0 0}
.dual-cta{display:flex;align-items:center;gap:28px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.expertise-cards article{min-height:210px}
.contact-layout{display:grid;gap:20px;margin-top:38px}
.page-contact-form{display:grid;gap:18px;padding:30px;border:1px solid var(--line);background:#fff}
.page-contact-form label{display:grid;gap:7px;color:var(--green);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.page-contact-form input,.page-contact-form select,.page-contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:13px 14px;font:1rem var(--sans);text-transform:none;letter-spacing:0}
.page-contact-form textarea{resize:vertical}
.page-contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.page-contact-form .button{border:0;cursor:pointer;width:fit-content;min-width:220px;min-height:54px;justify-content:center;background:var(--green);color:#fff;padding:16px 28px;box-shadow:0 8px 22px rgba(0,87,61,.18)}
.page-contact-form .button:hover{background:var(--deep);box-shadow:0 10px 26px rgba(6,60,47,.24)}
.page-contact-form>small{max-width:680px;color:#6f7974;line-height:1.5}
.page-contact-form label small{color:#6f7974;font-size:.78rem;font-weight:400;letter-spacing:0;text-transform:none}
.page-contact-form .form-honey{display:none}
.page-contact-form .form-consent{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;color:#53605a;font-size:.86rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
.page-contact-form .form-consent input{width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--green)}
.page-contact-form .form-consent a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.form-success{display:grid;gap:4px;padding:18px;border:1px solid #8db8a7;background:#edf5f1;color:var(--deep)}
.form-success span{color:#53605a}
.form-error{margin:0;color:#9d2b2b;font-size:.9rem}
.form-success[hidden],.form-error[hidden]{display:none}
.page-contact-form .button[disabled]{cursor:wait;opacity:.65;transform:none}
.contact-person{display:grid;grid-template-columns:190px 1fr;background:#fff;color:var(--ink);border:1px solid var(--line);overflow:hidden;order:-1}
.contact-person img{display:block;width:190px;height:230px;object-fit:cover;object-position:center 34%}
.contact-person-copy{padding:24px 28px;display:flex;flex-direction:column;justify-content:center}
.contact-person-label{display:block;color:var(--green);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.contact-person h3{font-size:clamp(1.7rem,2.7vw,2.25rem);margin:8px 0 1px;letter-spacing:-.04em}
.contact-person-copy>strong{color:var(--green);font-size:.88rem;font-weight:600}
.contact-person p{color:#53605a;line-height:1.6;margin:15px 0}
.contact-person-links{display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:14px;border-top:1px solid var(--line);font-size:.88rem}
.contact-person-links a{color:var(--green);font-weight:600;overflow-wrap:anywhere}
.job-filters{position:sticky;top:68px;z-index:4;background:rgba(251,250,246,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px 0;border-bottom:1px solid var(--line)}
.job-empty{padding:34px;border:1px solid var(--line);color:#59645f}
@media(max-width:900px){
  .subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero{padding:38px 0 44px}
  .subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero h1{font-size:clamp(2.75rem,9vw,4.4rem);margin:18px 0}
  .page-hero-actions{margin-top:22px}
  .page-contact-form .form-row{grid-template-columns:1fr}
  .contact-person{grid-template-columns:170px 1fr}
  .contact-person img{width:170px;height:100%;min-height:220px}
}
@media(max-width:560px){
  .legal-content{min-width:0}
  .legal-content h2{font-size:clamp(1.9rem,9vw,2.25rem);line-height:1.12;overflow-wrap:anywhere;hyphens:auto}
  .legal-content h3,.legal-content p,.legal-content a{overflow-wrap:anywhere}
  .subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero{padding:30px 0 36px}
  .subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero h1{font-size:clamp(2.45rem,11vw,3.2rem);line-height:1.02}
  .subpage:not([data-page="ueber-uns"]):not([data-page="impressum"]):not([data-page="datenschutz"]) .page-hero p{font-size:1rem;line-height:1.55}
  .page-hero-actions{display:grid}
  .page-hero-actions .button{min-width:0;width:100%;padding:13px 15px}
  .candidate-assurances{gap:7px;margin-top:20px}
  .candidate-assurances span{padding:7px 9px;font-size:.7rem}
  .dual-cta{align-items:flex-start;flex-direction:column;gap:12px}
  .contact-layout{margin-top:28px}
  .contact-person{grid-template-columns:112px 1fr}
  .contact-person img{width:112px;height:100%;min-height:230px;object-position:center 32%}
  .contact-person-copy{padding:19px 17px}
  .contact-person-label{font-size:.62rem;letter-spacing:.1em}
  .contact-person h3{font-size:1.45rem;margin-top:6px}
  .contact-person-copy>strong{font-size:.8rem}
  .contact-person p{font-size:.84rem;line-height:1.5;margin:11px 0}
  .contact-person-links{display:grid;gap:4px;padding-top:11px;font-size:.76rem}
  .page-contact-form{padding:22px 18px}
  .page-contact-form .button{width:100%}
  .job-filters{top:56px;margin-top:26px;padding:10px 0}
}
