/* GermanStep v28 — Deutsch Trainer + Jobs & Match */
.tool-hero-v28{padding:58px 0 42px;border-bottom:1px solid #dde2e7;background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(245,246,247,.45))}
.tool-hero-v28-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:54px;align-items:center}
.tool-hero-v28 h1{max-width:760px;margin:8px 0 14px;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-2.4px}
.tool-hero-v28 p{max-width:720px;margin:0;color:#626b75;font-size:17px;line-height:1.7}
.tool-hero-v28-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.tool-hero-v28-pills span{padding:8px 11px;border:1px solid #d6dce1;border-radius:999px;background:#fff;color:#59616a;font-size:12px;font-weight:800}
.tool-hero-v28-visual{min-height:320px;display:grid;place-items:center}.tool-hero-v28-visual svg{width:100%;max-width:520px;overflow:visible}.dv28-sheet,.jv28-card{fill:#fff;stroke:#cad1d7;stroke-width:2;filter:drop-shadow(0 18px 22px rgba(17,24,39,.06))}.dv28-line,.jv28-line{fill:none;stroke:#aeb6bd;stroke-width:6;stroke-linecap:round}.dv28-line.l2{stroke:#d2132c}.dv28-check{fill:#fff;stroke:#17191c;stroke-width:4}.dv28-tick{fill:none;stroke:#17191c;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.dv28-de{font-size:52px;font-weight:900;fill:#17191c}.jv28-card.a{animation:toolFloatA 5s ease-in-out infinite}.jv28-card.b{animation:toolFloatB 5s ease-in-out infinite}.jv28-score{fill:#17191c;stroke:#fff;stroke-width:8;filter:drop-shadow(0 14px 22px rgba(17,24,39,.16))}.jv28-score-text{fill:#fff;font-size:25px;font-weight:900}.jv28-line{stroke-width:5}@keyframes toolFloatA{50%{transform:translateY(-8px)}}@keyframes toolFloatB{50%{transform:translateY(9px)}}
.deutsch-trainer-v28,.jobs-tool-v28{padding:44px 0 80px}
.tool-tabs-v28{display:flex;gap:0;overflow:auto;border-bottom:1px solid #cfd6dc;margin-bottom:26px}.tool-tabs-v28 button{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;padding:14px 20px;color:#777f87;font:inherit;font-size:14px;font-weight:850;cursor:pointer;white-space:nowrap}.tool-tabs-v28 button.active{color:#17191c;border-bottom-color:#17191c}
.tool-panel-v28{display:none;border:1px solid #d6dce1;border-radius:18px;background:#fff;padding:28px;box-shadow:0 18px 55px rgba(17,24,39,.055)}.tool-panel-v28.active{display:block}.tool-panel-v28-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:20px}.tool-panel-v28-head small{color:#949ca4;font-size:11px;font-weight:900;letter-spacing:1px}.tool-panel-v28-head h2{max-width:680px;margin:5px 0 0;font-size:28px;letter-spacing:-.65px}.tool-panel-v28-head>span{padding:8px 10px;border:1px solid #dce1e5;border-radius:999px;color:#7c848c;font-size:11px;font-weight:800}
.tool-panel-v28 textarea,.tool-panel-v28 input,.tool-panel-v28 select,.jobs-search-v28 input,.job-match-panel-v28 textarea{width:100%;border:1px solid #d3d9df;border-radius:12px;background:#fff;padding:13px 14px;color:#17191c;font:inherit;font-size:16px;outline:none}.tool-panel-v28 textarea:focus,.tool-panel-v28 input:focus,.tool-panel-v28 select:focus,.jobs-search-v28 input:focus,.job-match-panel-v28 textarea:focus{border-color:#17191c;box-shadow:0 0 0 2px rgba(17,24,39,.05)}
.tool-form-actions-v28,.tool-translate-row-v28{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px}.tool-form-actions-v28 small{color:#8b939b;font-size:12px}.tool-panel-v28 button[type=submit],.jobs-search-v28>button,.job-match-panel-v28 button[type=submit]{min-height:44px;border:0;border-radius:10px;background:#17191c;color:#fff;padding:0 18px;font:inherit;font-size:14px;font-weight:850;cursor:pointer}.tool-panel-v28 button:disabled,.job-match-panel-v28 button:disabled{opacity:.45;cursor:not-allowed}.tool-translate-row-v28 select{max-width:230px}.tool-inline-form-v28{display:grid;grid-template-columns:1fr auto;gap:10px}
.tool-result-v28{margin-top:18px;border-top:1px solid #e0e5e9;padding-top:18px}.tool-loading-v28{min-height:80px;display:flex;align-items:center;justify-content:center;gap:10px;color:#777f87;font-size:14px}.tool-loading-v28 i{width:18px;height:18px;border:2px solid #d4dae0;border-top-color:#17191c;border-radius:50%;animation:toolSpin .8s linear infinite}@keyframes toolSpin{to{transform:rotate(360deg)}}.tool-error-v28{padding:13px 14px;border:1px solid #efc8cd;border-radius:10px;background:#fff4f5;color:#963643;font-size:14px}.tool-empty-v28{padding:20px;border:1px dashed #ccd3d9;border-radius:12px;color:#727b84;font-size:14px}
.grammar-summary-v28{display:flex;justify-content:space-between;gap:16px;padding:14px 0}.grammar-summary-v28 b{font-size:20px}.grammar-summary-v28 span{color:#737b84;font-size:14px}.grammar-issues-v28{display:grid;gap:9px}.grammar-issues-v28 article{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:13px;border:1px solid #dfe4e8;border-radius:12px}.grammar-issues-v28 article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f2f4f6;color:#6d757e;font-size:11px;font-weight:900}.grammar-issues-v28 b{font-size:15px}.grammar-issues-v28 p{margin:4px 0 0;color:#68717a;font-size:14px;line-height:1.55}.tool-chips-v28{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tool-chips-v28 i,.synonym-groups-v28 i,.match-esco-v28 span{font-style:normal;padding:5px 8px;border-radius:999px;background:#f0f5f2;color:#327056;font-size:12px;font-weight:800}.ai-explain-v28{margin-top:16px;padding:17px;border-left:3px solid #17191c;background:#f7f8f9}.ai-explain-v28 small{color:#7d858d;font-size:10px;font-weight:900;letter-spacing:.9px}.ai-explain-v28 p{margin:7px 0 0;color:#444c54;font-size:15px;line-height:1.68}
.sentence-list-v28{display:grid;gap:9px}.sentence-list-v28 article{padding:15px 16px;border:1px solid #dfe4e8;border-radius:12px}.sentence-list-v28 b{font-size:16px}.sentence-list-v28 p{margin:5px 0;color:#69727b;font-size:14px}.sentence-list-v28 small{color:#9aa1a9;font-size:11px}.word-head-v28{display:flex;gap:12px;align-items:end}.word-head-v28 small{color:#8c949c;font-size:11px}.word-head-v28 b{font-size:25px}.synonym-groups-v28{display:grid;gap:8px;margin-top:14px}.synonym-groups-v28 article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid #e0e4e8;border-radius:11px}.synonym-groups-v28 article>span{color:#959da5;font-size:10px;font-weight:900}.synonym-groups-v28 article>div{display:flex;gap:6px;flex-wrap:wrap}.similar-v28{margin:14px 0 0;color:#707982;font-size:13px}.translation-v28 small{color:#9098a0;font-size:10px;font-weight:900;letter-spacing:.8px}.translation-v28 p{margin:7px 0 0;font-size:17px;line-height:1.7}.tool-source-note-v28{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;margin-top:18px;padding:16px;border-top:1px solid #dce2e7;color:#737c85}.tool-source-note-v28 p{max-width:760px;margin:0;font-size:12px;line-height:1.6}.tool-source-note-v28>div{display:flex;gap:10px;flex-wrap:wrap}.tool-source-note-v28 a,.esco-attribution-v28 a{font-size:12px;font-weight:800;text-decoration:underline}

/* Jobs */
.jobs-search-v28{display:grid;grid-template-columns:1.15fr .9fr auto auto;gap:10px;align-items:end;padding:18px;border:1px solid #d6dce1;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(17,24,39,.05);margin-bottom:28px}.jobs-search-v28 label,.job-match-panel-v28 label{display:block;color:#5e6670;font-size:12px;font-weight:850}.jobs-search-v28 label+input{margin-top:6px}.jobs-visa-v28{min-height:48px;display:flex!important;align-items:center;gap:9px;padding:0 12px;border:1px solid #d5dbe0;border-radius:11px;background:#fafbfc;cursor:pointer}.jobs-visa-v28 input{display:none}.jobs-visa-v28 span{width:19px;height:19px;border:1px solid #aeb6be;border-radius:5px;background:#fff}.jobs-visa-v28 input:checked+span{background:#17191c;box-shadow:inset 0 0 0 4px #fff}.jobs-visa-v28 b{font-size:12px}.jobs-layout-v28{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.8fr);gap:24px;align-items:start}.jobs-result-head-v28{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.jobs-result-head-v28 small{color:#9199a1;font-size:10px;font-weight:900;letter-spacing:.8px}.jobs-result-head-v28 h2{margin:3px 0 0;font-size:27px}.jobs-result-head-v28>span{color:#7c858d;font-size:12px;font-weight:800}.jobs-list-v28{display:grid;gap:10px}.jobs-placeholder-v28,.jobs-source-warning-v28{padding:22px;border:1px dashed #cbd2d8;border-radius:14px;background:rgba(255,255,255,.55)}.jobs-placeholder-v28 b{font-size:17px}.jobs-placeholder-v28 p{margin:7px 0 0;color:#737c85;font-size:14px;line-height:1.6}.jobs-source-warning-v28{border-style:solid;border-color:#eadfbf;background:#fffaf0;color:#806a2d;font-size:12px}.job-card-v28{padding:18px;border:1px solid #dbe1e5;border-radius:15px;background:#fff;transition:.16s}.job-card-v28:hover{border-color:#aeb7bf;box-shadow:0 14px 35px rgba(17,24,39,.055)}.job-card-v28-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.job-card-v28-top>span{color:#8b939b;font-size:10px;font-weight:900;letter-spacing:.6px}.job-card-v28-top i{font-style:normal;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850}.job-card-v28-top i.yes{background:#eaf7f0;color:#267153}.job-card-v28-top i.no{background:#f3f4f5;color:#7d858d}.job-card-v28 h3{margin:9px 0 5px;font-size:20px;letter-spacing:-.35px}.job-company-v28{margin:0;color:#606973;font-size:14px}.job-desc-v28{margin:10px 0 0;color:#747d86;font-size:13px;line-height:1.55}.job-tags-v28{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.job-tags-v28 span{padding:5px 8px;border:1px solid #e0e5e9;border-radius:999px;color:#727b83;font-size:10px}.job-card-v28 footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #e7eaed}.job-card-v28 footer button{border:0;border-radius:9px;background:#17191c;color:#fff;padding:9px 12px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.job-card-v28 footer a{font-size:12px;font-weight:850}
.job-match-panel-v28{position:sticky;top:88px;padding:20px;border:1px solid #d6dce1;border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(17,24,39,.055)}.job-match-panel-v28-head small{color:#929aa2;font-size:10px;font-weight:900;letter-spacing:.8px}.job-match-panel-v28-head h2{margin:4px 0 5px;font-size:24px}.job-match-panel-v28-head p{margin:0 0 16px;color:#69727a;font-size:13px;line-height:1.5}.job-match-panel-v28 label{margin-top:11px}.job-match-panel-v28 textarea{margin-top:6px;resize:vertical}.cv-upload-v28{border:1px dashed #bcc5cc;border-radius:12px;padding:13px!important;background:#fafbfc;cursor:pointer}.cv-upload-v28 input{display:none}.cv-upload-v28 small{float:right;color:#9098a0;font-weight:600}.cv-upload-v28 span{display:block;margin-top:6px;color:#4f5860;font-size:13px}.job-match-panel-v28 button[type=submit]{width:100%;margin-top:11px}.job-match-result-v28{margin-top:15px}.job-match-note-v28{margin:12px 0 0;color:#9098a0;font-size:11px;line-height:1.5}.match-score-v28{display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid #dfe4e8;border-radius:13px}.match-score-v28>div{--score:0;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#17191c calc(var(--score)*1%),#e6eaed 0);position:relative}.match-score-v28>div:after{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.match-score-v28>div b,.match-score-v28>div span{position:relative;z-index:1}.match-score-v28>div b{font-size:22px}.match-score-v28>div span{font-size:9px;color:#7c858d}.match-score-v28 section small{color:#8b939b;font-size:9px;font-weight:900}.match-score-v28 section h3{margin:3px 0 4px;font-size:16px}.match-score-v28 section p{margin:0;color:#727b84;font-size:12px;line-height:1.5}.match-columns-v28{display:grid;gap:8px;margin-top:9px}.match-columns-v28 article{padding:11px;border:1px solid #e2e6e9;border-radius:11px}.match-columns-v28 article>b{font-size:12px}.match-columns-v28 ul{margin:7px 0 0;padding-left:18px}.match-columns-v28 li,.match-columns-v28 article p{color:#68717a;font-size:11px;line-height:1.5}.match-esco-v28{margin-top:9px;padding:11px;background:#f7f8f9;border-radius:10px}.match-esco-v28 small{color:#7f8790;font-size:9px;font-weight:900}.match-esco-v28>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.match-esco-v28 span{font-size:9px}.match-disclaimer-v28{margin:10px 0 0;color:#949ca4;font-size:10px;line-height:1.45}.job-sources-v28{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:32px;border-top:1px solid #d5dbe0;border-bottom:1px solid #d5dbe0}.job-sources-v28>div{padding:18px;border-right:1px solid #dfe4e8}.job-sources-v28>div:last-child{border-right:0}.job-sources-v28 b{font-size:14px}.job-sources-v28 p{margin:6px 0 0;color:#737c85;font-size:12px;line-height:1.55}.esco-attribution-v28{margin:12px 0 0;color:#8b939b;font-size:11px}

/* Home tools block */
.home-tools-v28{padding:58px 0}.home-tools-v28-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:24px}.home-tools-v28-head h2{max-width:700px;margin:0;font-size:38px;letter-spacing:-1.2px}.home-tools-v28-head p{max-width:440px;margin:0;color:#707982;font-size:14px;line-height:1.6}.home-tools-v28-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cfd6dc;border-bottom:1px solid #cfd6dc}.home-tool-v28{position:relative;min-height:260px;padding:26px;border-right:1px solid #dbe0e4;display:flex;flex-direction:column;overflow:hidden}.home-tool-v28:last-child{border-right:0}.home-tool-v28>small{color:#9199a1;font-size:10px;font-weight:900;letter-spacing:.9px}.home-tool-v28 h3{margin:45px 0 8px;font-size:28px;letter-spacing:-.7px}.home-tool-v28 p{max-width:510px;margin:0;color:#6f7881;font-size:13px;line-height:1.6}.home-tool-v28 footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.home-tool-v28 footer span{color:#8a929a;font-size:11px}.home-tool-v28 footer b{font-size:22px}.home-tool-v28 svg{position:absolute;right:18px;top:25px;width:90px;height:90px;fill:none;stroke:#c9d0d6;stroke-width:1.4}.nav-tools-v28{position:relative}.nav-tools-v28:after{content:"NEW";position:absolute;right:-8px;top:-10px;padding:2px 4px;border-radius:4px;background:#17191c;color:#fff;font-size:6px;font-weight:900;letter-spacing:.5px}

@media(max-width:980px){.tool-hero-v28-grid{grid-template-columns:1fr}.tool-hero-v28-visual{min-height:220px}.jobs-search-v28{grid-template-columns:1fr 1fr}.jobs-layout-v28{grid-template-columns:1fr}.job-match-panel-v28{position:static}.home-tools-v28-head{display:block}.home-tools-v28-head p{margin-top:12px}.job-sources-v28{grid-template-columns:1fr}.job-sources-v28>div{border-right:0;border-bottom:1px solid #dfe4e8}.job-sources-v28>div:last-child{border-bottom:0}}
@media(max-width:720px){.tool-hero-v28{padding:38px 0 26px}.tool-hero-v28 h1{font-size:38px;letter-spacing:-1.3px}.tool-hero-v28 p{font-size:15px}.tool-hero-v28-visual{display:none}.deutsch-trainer-v28,.jobs-tool-v28{padding:28px 0 55px}.tool-tabs-v28 button{padding:12px 14px;font-size:13px}.tool-panel-v28{padding:17px 13px;border-radius:14px}.tool-panel-v28-head{display:block}.tool-panel-v28-head h2{font-size:23px}.tool-panel-v28-head>span{display:inline-flex;margin-top:10px}.tool-form-actions-v28{align-items:stretch;flex-direction:column}.tool-panel-v28 button[type=submit]{width:100%}.tool-inline-form-v28{grid-template-columns:1fr}.tool-translate-row-v28{flex-direction:column;align-items:stretch}.tool-translate-row-v28 select{max-width:none}.grammar-summary-v28{display:block}.grammar-summary-v28 span{display:block;margin-top:5px}.grammar-issues-v28 article{grid-template-columns:31px 1fr;padding:11px 9px}.tool-source-note-v28{display:block;padding:14px 0}.tool-source-note-v28>div{margin-top:10px}.jobs-search-v28{grid-template-columns:1fr;padding:13px}.jobs-search-v28>button{width:100%}.jobs-layout-v28{gap:18px}.job-card-v28{padding:14px 12px}.job-card-v28-top{align-items:flex-start}.job-card-v28 h3{font-size:18px}.job-card-v28 footer{align-items:stretch;flex-direction:column}.job-card-v28 footer button,.job-card-v28 footer a{width:100%;text-align:center;padding:11px}.job-match-panel-v28{padding:15px 12px}.match-score-v28{grid-template-columns:88px 1fr;padding:11px}.match-score-v28>div{width:78px;height:78px}.home-tools-v28{padding:40px 0}.home-tools-v28-head h2{font-size:30px}.home-tools-v28-grid{grid-template-columns:1fr}.home-tool-v28{min-height:220px;border-right:0;border-bottom:1px solid #dbe0e4;padding:20px 15px}.home-tool-v28:last-child{border-bottom:0}.home-tool-v28 h3{margin-top:38px;font-size:24px}.home-tool-v28 svg{width:72px;height:72px;right:8px}.cv-upload-v28 small{float:none;display:block;margin-top:3px}}
.job-consent-v28{display:grid!important;grid-template-columns:22px 1fr;gap:9px;align-items:start;margin-top:12px!important;padding:11px;border:1px solid #dce2e6;border-radius:11px;background:#fafbfc;cursor:pointer}.job-consent-v28 input{display:none}.job-consent-v28 span{width:20px;height:20px;border:1px solid #aeb6be;border-radius:5px;background:#fff}.job-consent-v28 input:checked+span{background:#17191c;box-shadow:inset 0 0 0 4px #fff}.job-consent-v28 b{font-size:11px;line-height:1.5;color:#626b74}.job-consent-v28 a{text-decoration:underline}
.service-tools-v28{padding-top:24px!important}.service-tool-link-v28{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:center;padding:20px 0;border-top:1px solid #ccd3d9;border-bottom:1px solid #ccd3d9}.service-tool-link-v28 span{color:#8b939b;font-size:10px;font-weight:900;letter-spacing:.9px}.service-tool-link-v28 b{font-size:20px}.service-tool-link-v28 i{font-style:normal;font-size:24px}@media(max-width:640px){.service-tool-link-v28{grid-template-columns:1fr auto;gap:8px}.service-tool-link-v28 span{grid-column:1/-1}.service-tool-link-v28 b{font-size:17px}}


/* v28.2 — dedicated vacancies navigation + default live vacancy list */
.nav-jobs-v28-2{white-space:nowrap}
.jobs-filter-actions-v28{display:flex;gap:8px;align-items:center}
.jobs-filter-actions-v28 button{min-height:48px;border-radius:10px;padding:0 15px;font:inherit;font-size:13px;font-weight:850;cursor:pointer;white-space:nowrap}
.jobs-filter-actions-v28 button[type="submit"]{border:0;background:#17191c;color:#fff}
.jobs-filter-actions-v28 button[type="reset"]{border:1px solid #d5dbe0;background:#fff;color:#525b64}
.jobs-result-head-v28>div>p{margin:5px 0 0;max-width:600px;color:#77808a;font-size:13px;line-height:1.5}
.job-card-v28-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.job-card-v28-meta time{padding:5px 8px;border-radius:999px;background:#f3f5f6;color:#69727b;font-size:10px;font-weight:850;font-style:normal}
@media(max-width:1180px){.desktop-nav .nav-jobs-v28-2 span{max-width:108px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:980px){.jobs-filter-actions-v28{align-items:stretch}.jobs-filter-actions-v28 button{flex:1}}
@media(max-width:720px){
 .jobs-result-head-v28{align-items:flex-start;gap:10px}.jobs-result-head-v28 h2{font-size:23px}.jobs-result-head-v28>span{padding-top:4px;white-space:nowrap}
 .jobs-filter-actions-v28{display:grid;grid-template-columns:1fr 1fr}.jobs-filter-actions-v28 button{width:100%}
 .job-card-v28-top{gap:8px}.job-card-v28-meta{justify-content:flex-start}.job-card-v28-top{flex-direction:column}.job-card-v28-meta{width:100%}
}
@media(max-width:440px){.jobs-filter-actions-v28{grid-template-columns:1fr}}
