:root{--blue:#1769d2;--blue-dark:#0b4da2;--blue-soft:#edf5ff;--ink:#0b172a;--muted:#64748b;--line:#dce6f2;--shell:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7faff;color:var(--ink);font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}.shell{width:min(var(--shell),calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{min-height:70px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:transparent;color:#fff;font-size:21px;font-weight:900;box-shadow:0 7px 18px rgba(23,104,213,.24)}.brand strong,.brand small{display:block}.brand strong{font-size:20px;letter-spacing:.04em}.brand small{font-size:9px;color:#6b7b91;letter-spacing:.13em;margin-top:2px}.header-inner nav{display:flex;gap:22px}.header-inner nav a,.trrb-link{color:#334155;text-decoration:none;font-size:14px;font-weight:750}.header-inner nav a:hover{color:var(--blue)}.trrb-link{border:1px solid var(--line);border-radius:999px;padding:8px 12px}.hero{background:radial-gradient(circle at 78% 20%,rgba(70,154,255,.18),transparent 33%),linear-gradient(135deg,#f8fbff,#edf5ff);border-bottom:1px solid var(--line);padding:68px 0 58px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:52px;align-items:center}.kicker{display:inline-flex;background:#fff;border:1px solid #cfe1f9;border-radius:999px;padding:7px 11px;color:var(--blue-dark);font-size:13px;font-weight:850}.hero h1{font-size:clamp(42px,6vw,68px);line-height:1.08;letter-spacing:-.05em;margin:17px 0 12px}.hero h1 em{color:var(--blue);font-style:normal}.hero-copy>p{font-size:18px;line-height:1.75;color:#526176;max-width:680px;margin:0 0 24px}.search-box{background:#fff;border:1px solid #cbdcf2;border-radius:16px;padding:9px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;box-shadow:0 14px 36px rgba(24,80,145,.1)}.search-box label{display:block;border-right:1px solid var(--line);padding:2px 12px}.search-box label span{display:block;font-size:11px;font-weight:850;color:#516278;margin-bottom:3px}.search-box input{border:0;outline:0;width:100%;font:inherit;color:var(--ink);padding:3px 0}.search-box button,.load-actions button{border:0;background:var(--blue);color:#fff;border-radius:11px;padding:0 23px;font-weight:850;cursor:pointer}.quick-cities{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.quick-cities button{border:1px solid #cbdcf2;background:rgba(255,255,255,.75);color:#40546d;border-radius:999px;padding:7px 11px;cursor:pointer}.job-snapshot{background:#fff;border:1px solid #cee0f5;border-top:4px solid var(--blue);border-radius:18px;padding:20px;box-shadow:0 20px 55px rgba(20,65,119,.12)}.snapshot-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:11px}.snapshot-head span,.section-head>div>span,.safety-inner>div>span{font-size:11px;color:var(--blue);font-weight:900;letter-spacing:.1em}.snapshot-head h2{font-size:21px;margin:4px 0}.snapshot-head>b{font-size:12px;color:#66809f}.featured-jobs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.featured-card{display:block;min-width:0;text-decoration:none;color:var(--ink);border:1px solid #d7e7fb;background:#f8fbff;border-radius:11px;padding:10px}.featured-card:hover{border-color:#86b7ef;background:#eff6ff}.featured-card strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.4}.featured-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;margin-top:5px}.skeleton{height:67px;border-radius:11px;background:linear-gradient(90deg,#edf2f7 25%,#f8fafc 40%,#edf2f7 60%);background-size:300% 100%;animation:pulse 1.2s infinite}.more{display:flex;justify-content:space-between;color:var(--blue);font-weight:850;text-decoration:none;margin-top:13px;font-size:13px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:-23px;position:relative;z-index:2}.action-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;text-decoration:none;color:var(--ink);box-shadow:0 9px 27px rgba(15,42,77,.07)}.action-grid>a>span{width:43px;height:43px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:18px;font-weight:900}.action-grid b,.action-grid small{display:block}.action-grid small{color:var(--muted);margin-top:3px}.action-grid i{font-style:normal;color:var(--blue);font-size:21px}.jobs-section{padding-top:72px;padding-bottom:80px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-head h2{font-size:32px;margin:5px 0}.section-head p{margin:0;color:var(--muted)}.section-head>a{color:var(--blue);font-weight:850;text-decoration:none}.filter-state{margin:0 0 13px;padding:10px 12px;background:var(--blue-soft);border:1px solid #cfe1f9;border-radius:10px;color:var(--blue-dark);font-size:13px}.jobs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.job-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;box-shadow:0 5px 18px rgba(15,42,77,.035)}.job-card:hover{border-color:#a9caee}.job-card h3{font-size:18px;line-height:1.35;margin:0 0 8px}.job-meta{display:flex;flex-wrap:wrap;gap:6px}.job-meta span{background:#f1f5f9;border-radius:999px;padding:4px 8px;color:#56677d;font-size:12px}.job-meta .salary{color:var(--blue-dark);background:var(--blue-soft);font-weight:850}.job-contact{display:flex;flex-direction:column;justify-content:center;gap:7px}.job-contact a{white-space:nowrap;text-decoration:none;border-radius:9px;padding:8px 10px;background:var(--blue);color:#fff;font-size:12px;font-weight:850;text-align:center}.job-contact a.secondary{background:var(--blue-soft);color:var(--blue-dark);border:1px solid #cfe1f9}.loading,.empty{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:38px;text-align:center;color:var(--muted)}.load-actions{text-align:center;margin-top:18px}.load-actions button{padding:12px 24px}.safety-strip{background:#0d2747;color:#fff;padding:34px 0}.safety-inner{display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:35px}.safety-inner h2{font-size:27px;margin:5px 0}.safety-inner p{color:#c7d5e7;line-height:1.7;margin:0}.safety-inner a{color:#fff;text-decoration:none;font-weight:850;white-space:nowrap}footer{background:#091a30;color:#cbd5e1;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{min-height:94px;display:flex;justify-content:space-between;align-items:center}.footer-inner b,.footer-inner span{display:block}.footer-inner b{color:#fff}.footer-inner span{font-size:11px;margin-top:4px}.footer-inner p{font-size:13px}@keyframes pulse{from{background-position:100% 0}to{background-position:0 0}}@media(max-width:900px){.header-inner nav{display:none}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:28px}.job-snapshot{max-width:none}.action-grid{grid-template-columns:1fr}.jobs-list{grid-template-columns:1fr}.safety-inner{grid-template-columns:1fr;gap:13px}}@media(max-width:600px){.shell{width:min(100% - 24px,var(--shell))}.site-header{position:relative}.header-inner{min-height:64px}.trrb-link{font-size:11px;padding:7px 9px}.hero{padding:34px 0 42px}.hero h1{font-size:43px}.hero-copy>p{font-size:15px}.search-box{grid-template-columns:1fr}.search-box label{border-right:0;border-bottom:1px solid var(--line);padding:8px 9px}.search-box button{min-height:46px}.featured-jobs{grid-template-columns:1fr 1fr}.action-grid{margin-top:-18px}.jobs-section{padding-top:55px}.section-head{display:block}.section-head>a{display:inline-block;margin-top:12px}.job-card{grid-template-columns:1fr}.job-contact{flex-direction:row}.job-contact a{flex:1}.footer-inner{display:block;padding:24px 0}.footer-inner p{margin-bottom:0}}
.seo-guide{padding:12px 0 72px}.seo-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.seo-guide article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.seo-guide h3{margin:0 0 9px;font-size:18px}.seo-guide p{margin:0;color:var(--muted);line-height:1.75}.seo-guide a{color:var(--blue-dark);font-weight:750;text-decoration:none}.seo-guide a:hover{text-decoration:underline}@media(max-width:900px){.seo-guide-grid{grid-template-columns:1fr}}/* Job previews keep the list in place while showing the complete vacancy. */
.job-card{cursor:pointer;align-items:start}.job-card h3 a{color:inherit;text-decoration:none}.job-card h3 a:hover{text-decoration:underline}.job-card a:focus-visible,.category-chip:focus-visible,.job-detail-dialog button:focus-visible{outline:3px solid #78aff5;outline-offset:3px}.category-chip{border:0;background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;padding:4px 8px;font:inherit;font-size:12px;cursor:pointer}.category-chip:hover{background:#dbeafe}.job-highlights{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:10px;color:var(--blue-dark);font-size:13px;font-weight:750;line-height:1.5}.job-summary{margin:8px 0 4px;color:#475569;font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.job-preview-hint{color:var(--blue);font-size:11px}.job-contact{align-self:center}.filter-state button{border:0;background:transparent;color:var(--blue-dark);text-decoration:underline;cursor:pointer;font:inherit}#jobs-load-status{color:var(--muted);font-size:13px}.job-dialog-open{position:fixed;width:100%;overflow:hidden}.job-detail-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(680px,92vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-left:1px solid var(--line);padding:0;background:white;color:var(--ink);box-shadow:-15px 0 60px #0b172a26;overflow-y:auto;overscroll-behavior:contain}.job-detail-dialog::backdrop{background:#0b172a66}.job-detail-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:15px 24px;background:#fff;border-bottom:1px solid var(--line);font-weight:750}.job-detail-toolbar button{border:1px solid var(--line);border-radius:9px;background:#f1f5f9;color:var(--ink);padding:9px 14px;cursor:pointer;font:inherit}#job-detail-body{padding:24px 28px 36px;overflow-wrap:anywhere}#job-detail-title{font-size:25px;line-height:1.45;margin:0 0 10px}.detail-location,.related-note{color:var(--muted);font-size:13px;line-height:1.6}.job-full-description{white-space:pre-wrap;line-height:1.9;font-size:16px}.detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:26px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-actions .job-contact{flex-direction:row}.detail-actions .job-contact a{padding:12px 16px;font-size:14px}.job-permalink,.detail-actions>button{color:var(--blue-dark);font:inherit;font-size:13px}.detail-actions>button{border:1px solid var(--line);background:#f8fbff;border-radius:8px;padding:9px;cursor:pointer}#job-copy-status{width:100%;font-size:12px}.related-job{display:block;padding:14px 0;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink)}.related-job:hover strong{color:var(--blue)}.related-job span{display:block;margin-top:5px;color:var(--muted);font-size:13px}@media(max-width:600px){.job-detail-dialog{width:100vw;border:0}.job-detail-toolbar{padding:12px 16px}#job-detail-body{padding:20px 18px 30px}#job-detail-title{font-size:22px}.job-full-description{font-size:15px}.job-card .job-contact{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
