:root{--rothe-red:#aa2025;--rothe-red-dark:#7f1519;--rothe-ink:#202020;--rothe-charcoal:#303030;--rothe-soft:#f4f3f1;--rothe-white:#fff;--rothe-line:#dedbd6;--rothe-muted:#686868}
.rothe-jobs,.rothe-job-detail{color:var(--rothe-ink);font-family:inherit;font-size:1rem;line-height:1.65}.rothe-jobs *,.rothe-job-detail *{box-sizing:border-box}.rothe-jobs a,.rothe-job-detail a{text-underline-offset:3px}
.rothe-jobs{width:100%;max-width:1180px;margin:0 auto;padding:clamp(1.25rem,4vw,4rem) clamp(1rem,3vw,2rem)}.rothe-jobs__intro{max-width:760px;margin:0 0 clamp(1.75rem,4vw,3rem)}.rothe-jobs__intro h2,.rothe-application h2,.rothe-job-benefits h2{margin:.55rem 0 .75rem;color:var(--rothe-ink)!important;font-size:clamp(1.9rem,4vw,3rem);line-height:1.08}.rothe-jobs__intro p{margin:0;color:var(--rothe-muted);font-size:1.08rem}.rothe-jobs__eyebrow{display:inline-block;padding:.35rem .7rem;background:var(--rothe-red);color:#fff!important;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.rothe-jobs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.75rem)}.rothe-job-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--rothe-line);border-radius:8px;box-shadow:0 9px 28px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}.rothe-job-card:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(0,0,0,.12)}.rothe-job-card__image{display:block;aspect-ratio:16/8;overflow:hidden;background:#ddd}.rothe-job-card__image img{width:100%;height:100%;object-fit:cover}.rothe-job-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.1rem,2.5vw,1.55rem)}.rothe-job-card__meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem;color:var(--rothe-muted);font-size:.88rem}.rothe-job-card__meta span{display:inline-flex;align-items:center}.rothe-job-card__meta span+span:before{content:"•";margin-right:.7rem;color:var(--rothe-red)}.rothe-job-card h3{margin:.5rem 0 .65rem;color:var(--rothe-ink)!important;font-size:clamp(1.25rem,2.1vw,1.55rem);line-height:1.25}.rothe-job-card h3 a{color:inherit!important;text-decoration:none}.rothe-job-card p{margin:0 0 1.25rem;color:#4a4a4a}.rothe-job-card .rothe-button{margin-top:auto;align-self:flex-start}
.rothe-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.72rem 1.15rem;border:2px solid var(--rothe-red);border-radius:4px;background:var(--rothe-red);color:#fff!important;font-weight:800;line-height:1.2;text-align:center;text-decoration:none!important;cursor:pointer;transition:background .18s,color .18s,transform .18s}.rothe-button:hover,.rothe-button:focus-visible{background:var(--rothe-red-dark);border-color:var(--rothe-red-dark);color:#fff!important;transform:translateY(-1px)}.rothe-button:focus-visible{outline:3px solid rgba(170,32,37,.28);outline-offset:3px}
.rothe-job-page{display:block!important;padding:0!important;background:#fff!important;color:var(--rothe-ink)!important}.rothe-job-page>.rothe-job-detail{width:100%}.rothe-job-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#202020 0%,#353535 72%,#8f1b20 100%);color:#fff}.rothe-job-hero:after{content:"";position:absolute;z-index:-1;right:-10%;bottom:-80%;width:40rem;height:40rem;border:7rem solid rgba(255,255,255,.035);border-radius:50%}.rothe-job-hero__inner{width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,7vw,6.5rem) 0}.rothe-job-back{display:inline-flex;gap:.45rem;margin-bottom:clamp(1.5rem,4vw,3rem);color:#fff!important;font-weight:700;text-decoration:none}.rothe-job-back:hover{text-decoration:underline}.rothe-job-hero h1{max-width:900px;margin:.8rem 0 1rem;color:#fff!important;font-size:clamp(2.15rem,6vw,4.7rem)!important;line-height:1.02!important;letter-spacing:-.025em}.rothe-job-hero__lead{max-width:760px;margin:0 0 1.8rem;color:#f2f2f2!important;font-size:clamp(1.05rem,2.1vw,1.3rem);line-height:1.55}.rothe-button--hero{background:#fff;border-color:#fff;color:var(--rothe-red-dark)!important}.rothe-button--hero:hover,.rothe-button--hero:focus-visible{background:var(--rothe-red);border-color:var(--rothe-red);color:#fff!important}
.rothe-job-shell{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,720px);gap:clamp(2rem,6vw,5rem);width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,7vw,6rem) 0}.rothe-job-sidebar{align-self:start;overflow:hidden;border:1px solid var(--rothe-line);border-top:5px solid var(--rothe-red);border-radius:6px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.07)}.rothe-job-fact{padding:1rem 1.15rem;border-bottom:1px solid var(--rothe-line)}.rothe-job-fact:last-child{border-bottom:0}.rothe-job-fact span,.rothe-job-fact strong{display:block}.rothe-job-fact span{margin-bottom:.16rem;color:var(--rothe-muted)!important;font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.rothe-job-fact strong{color:var(--rothe-ink)!important;font-size:.98rem;line-height:1.4}.rothe-job-main{min-width:0}.rothe-job-description{color:#343434;font-size:1.08rem}.rothe-job-description>*:first-child{margin-top:0}.rothe-job-description h2,.rothe-job-description h3{margin:2.2rem 0 .75rem;color:var(--rothe-ink)!important;line-height:1.2}.rothe-job-description h2{padding-bottom:.55rem;border-bottom:2px solid var(--rothe-red);font-size:clamp(1.4rem,3vw,1.85rem)}.rothe-job-description h3{font-size:1.3rem}.rothe-job-description p{margin:0 0 1rem}.rothe-job-description ul,.rothe-job-description ol{margin:.5rem 0 1.25rem;padding-left:1.35rem}.rothe-job-description li{margin:.4rem 0;padding-left:.2rem}.rothe-job-description strong{color:var(--rothe-ink)}
.rothe-job-benefits{margin:clamp(2rem,5vw,3.5rem) 0 0;padding:clamp(1.35rem,4vw,2.25rem);border-radius:8px;background:var(--rothe-charcoal)!important;color:#fff!important;box-shadow:0 12px 32px rgba(0,0,0,.12)}.rothe-job-benefits h2{margin:0 0 1.1rem;color:#fff!important;font-size:clamp(1.55rem,3vw,2rem)}.rothe-job-benefits ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.25rem;margin:0;padding:0;list-style:none}.rothe-job-benefits li{display:flex;gap:.65rem;align-items:flex-start;margin:0;color:#fff!important}.rothe-job-benefits li span{flex:0 0 1.35rem;width:1.35rem;height:1.35rem;margin-top:.12rem;border-radius:50%;background:var(--rothe-red);color:#fff!important;font-size:.78rem;font-weight:900;line-height:1.35rem;text-align:center}
.rothe-job-application-wrap{padding:clamp(2.5rem,6vw,5rem) 1rem;background:var(--rothe-soft)}.rothe-application{width:min(880px,100%);margin:0 auto;padding:clamp(1.35rem,5vw,3rem);border:1px solid var(--rothe-line);border-top:6px solid var(--rothe-red);border-radius:8px;background:#fff;color:var(--rothe-ink);box-shadow:0 14px 42px rgba(0,0,0,.09)}.rothe-application>h2{margin:.65rem 0 1.5rem}.rothe-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.rothe-form-grid p{margin:0}.rothe-form-wide{grid-column:1/-1}.rothe-application label{display:block;margin-bottom:.38rem;color:var(--rothe-ink)!important;font-size:.95rem;font-weight:800}.rothe-application input[type=text],.rothe-application input[type=email],.rothe-application input[type=tel],.rothe-application input[type=file],.rothe-application textarea{box-sizing:border-box;width:100%;min-height:48px;padding:.78rem .85rem;border:1px solid #aaa;border-radius:4px;background:#fff;color:#222;font:inherit}.rothe-application textarea{min-height:150px;resize:vertical}.rothe-application input:focus,.rothe-application textarea:focus{border-color:var(--rothe-red);outline:3px solid rgba(170,32,37,.15)}.rothe-application small{display:block;margin-top:.35rem;color:var(--rothe-muted)}.rothe-consent label{font-weight:400}.rothe-consent input{width:1.1rem;height:1.1rem;margin-right:.45rem;vertical-align:-.15rem}.rothe-button--submit{margin-top:1.4rem}.rothe-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.rothe-notice{margin:0 0 1.25rem;padding:1rem;border-left:5px solid}.rothe-notice--success{background:#e7f4e9;border-color:#287a35;color:#164d20}.rothe-notice--error{background:#f9e7e8;border-color:var(--rothe-red);color:#701318}.rothe-jobs__empty{padding:1.25rem;background:var(--rothe-soft)}
@media(max-width:800px){.rothe-job-shell{grid-template-columns:1fr;gap:2rem}.rothe-job-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rothe-job-fact:nth-child(odd){border-right:1px solid var(--rothe-line)}.rothe-job-benefits ul{grid-template-columns:1fr}}
@media(max-width:680px){.rothe-jobs__grid,.rothe-form-grid{grid-template-columns:1fr}.rothe-form-wide{grid-column:auto}.rothe-job-card__body{padding:1.1rem}.rothe-job-hero__inner{width:min(100% - 1.25rem,1080px);padding:2rem 0 2.5rem}.rothe-job-shell{width:min(100% - 1.25rem,1080px);padding:2rem 0}.rothe-job-sidebar{grid-template-columns:1fr}.rothe-job-fact:nth-child(odd){border-right:0}.rothe-button--hero,.rothe-button--submit{width:100%}.rothe-job-application-wrap{padding:2rem .625rem}.rothe-application{padding:1.1rem}.rothe-job-description{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.rothe-job-card,.rothe-button{transition:none}}

/* Explicit surfaces avoid the site's global button and dark-content styles. */
body .rothe-application form button.rothe-button--submit,
body .rothe-application form button.rothe-button--submit:hover,
body .rothe-application form button.rothe-button--submit:focus {
 background:#971b20!important;background-image:none!important;color:#fff!important;
 -webkit-text-fill-color:#fff!important;border:2px solid #971b20!important;
 opacity:1!important;font-size:1rem!important;font-weight:700!important;
 text-indent:0!important;min-height:52px;box-shadow:none;text-shadow:none;
}
body .rothe-jobs{background:#fff!important;color:#202020!important;border-radius:8px;padding:clamp(16px,3vw,32px);overflow:hidden}
body .rothe-jobs .rothe-jobs__intro{margin:24px 0;max-width:780px}
body .rothe-jobs .rothe-jobs__intro h2{font-size:clamp(1.7rem,3vw,2.5rem)}
body .rothe-jobs .rothe-job-card{box-shadow:none;border-radius:4px;border:1px solid #ddd;transform:none}
body .rothe-jobs .rothe-job-card:hover{border-color:#aa2025;box-shadow:none}
body .rothe-jobs .rothe-job-card h3{font-size:1.25rem}
body .rothe-jobs .rothe-job-card p{font-size:1rem;line-height:1.55}
.rothe-ribbon{position:relative;overflow:hidden;border-radius:5px;height:clamp(150px,24vh,240px);background:#303030}
.rothe-ribbon-track{display:flex;width:max-content;height:100%;transform:translateX(-50%)}
.rothe-ribbon-group{display:flex;gap:0;padding:0;height:100%;flex-shrink:0}
.rothe-ribbon .rothe-ribbon-group img{display:block;height:100%!important;width:auto!important;max-width:none!important;aspect-ratio:16/9;object-fit:cover;object-position:center;flex-shrink:0;border-radius:0;margin:0!important;padding:0!important;border:0}
.rothe-ribbon.is-moving .rothe-ribbon-track{animation:rothe-slide-right var(--rothe-slide-duration,32.5s) linear infinite}
.rothe-ribbon.is-paused .rothe-ribbon-track,.rothe-ribbon:hover .rothe-ribbon-track,.rothe-ribbon:focus-within .rothe-ribbon-track{animation-play-state:paused}
body .rothe-ribbon button.rothe-ribbon-pause{position:absolute;bottom:10px;right:10px;z-index:2;min-height:44px;padding:8px 14px;border:1px solid #fff;border-radius:4px;background:#202020!important;color:#fff!important;-webkit-text-fill-color:#fff;font-size:14px;line-height:1.3;cursor:pointer}
@keyframes rothe-slide-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.rothe-detail-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:5px;margin:0 0 24px}
body .rothe-job-detail header.rothe-job-hero{position:relative;height:auto;width:100%;max-width:100%;padding:0;z-index:auto}
@media(max-width:1024px){body.single-rothe_job .rothe-job-hero__inner{padding-top:calc(var(--header-height,80px) + 24px)}}
@media(max-width:680px){.rothe-ribbon{height:160px}.rothe-jobs__grid{gap:12px}.rothe-job-card__body{padding:16px!important}}
@media(prefers-reduced-motion:reduce){.rothe-ribbon.is-moving .rothe-ribbon-track{animation:none}.rothe-ribbon-pause{display:none}}

/* Compact reading rhythm and form, with touch targets and 16px inputs preserved. */
body .rothe-job-description{font-size:1rem;line-height:1.45}
body .rothe-job-description p{margin:0 0 .65rem;line-height:1.45}
body .rothe-job-description h2,body .rothe-job-description h3{margin:1.25rem 0 .5rem;padding-bottom:.3rem}
body .rothe-job-description ul,body .rothe-job-description ol{margin:.35rem 0 .75rem;padding-left:1.25rem}
body .rothe-job-description li{margin:.15rem 0;line-height:1.45}
body .rothe-job-benefits{margin-top:1.5rem;padding:1.25rem}
body .rothe-job-benefits ul{gap:.45rem 1rem}
body .rothe-job-benefits li{line-height:1.4}
body .rothe-application{max-width:760px;padding:clamp(1rem,2.5vw,1.75rem)}
body .rothe-job-application-wrap{padding:2rem .75rem}
body .rothe-application>h2{font-size:1.85rem;margin:.4rem 0 1rem}
body .rothe-application .rothe-form-grid{gap:.65rem 1rem}
body .rothe-application .rothe-form-grid p{margin:0!important}
body .rothe-application label{margin-bottom:.2rem;line-height:1.4}
body .rothe-application input[type=text],body .rothe-application input[type=email],body .rothe-application input[type=tel],body .rothe-application input[type=file],body .rothe-application textarea{min-height:44px;padding:.5rem .65rem;font-size:16px;line-height:1.35}
body .rothe-application textarea{height:104px;min-height:104px}
body .rothe-application small{font-size:.875rem;line-height:1.35;margin-top:.25rem}
body .rothe-application .rothe-consent label{font-size:.875rem;line-height:1.4}
body .rothe-application form button.rothe-button--submit{min-height:44px;margin-top:.8rem;padding:.6rem 1rem}
body .rothe-jobs .rothe-job-card h3 .rothe-job-card__gender{font-size:30%!important;line-height:1;white-space:nowrap;vertical-align:baseline;letter-spacing:normal}
