:root{color-scheme:dark;--bg:#101114;--panel:#1d1f23;--panel-raised:#24262c;--text:#e8eaf0;--muted:#a1a6b2;--border:#33363e;--accent:#a9c9ff;--accent-text:#101f3d;--focus:#76b6ff;--shadow:0 5px 20px #0003}
html[data-theme=light]{color-scheme:light;--bg:#f6f7fa;--panel:#fff;--panel-raised:#eef1f7;--text:#19202d;--muted:#596273;--border:#d7dce6;--accent:#2364b9;--accent-text:#fff;--focus:#2364b9;--shadow:0 5px 20px #16304a08}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-80px;left:16px;z-index:10;background:var(--accent);color:var(--accent-text);padding:12px}.skip-link:focus{top:10px}.site-header{height:72px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;color:var(--text);white-space:nowrap}.brand:hover{text-decoration:none}.brand strong{font-weight:650}.brand img{border-radius:10px}.site-header nav{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border);border-radius:30px;background:var(--panel)}.nav-jobs,.theme-toggle{padding:7px 17px;border-radius:24px;min-height:40px;font-size:13px}.nav-jobs{color:var(--text)}.nav-jobs.active{background:#164c9b;color:#fff}.theme-toggle{background:none;color:var(--text);border:0}.theme-toggle:hover{background:var(--panel-raised)}.content{width:min(940px,calc(100% - 40px));margin:26px auto 60px;flex:1}.home-content{width:min(1020px,calc(100% - 40px));text-align:center}.search-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 118px;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:20px;box-shadow:var(--shadow);align-items:end;text-align:left}.search-field{min-width:0}.search-field label{display:block;font-size:12px;font-weight:600;margin:0 0 7px;color:var(--muted)}input,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:11px;padding:12px 14px;min-height:48px;max-width:100%}input{width:100%}input::placeholder{color:var(--muted);opacity:1}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:10px;font-weight:600;font-size:13px;white-space:normal;text-align:center}.button:hover{text-decoration:none;filter:brightness(1.08)}.primary{background:var(--accent);color:var(--accent-text);box-shadow:0 2px 8px #0002}.secondary{border-color:var(--border);color:var(--text);background:var(--panel)}.search-button{min-height:48px}.search-filters{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.search-filters select{font-size:12px;border-radius:25px;min-height:36px;padding:6px 30px 6px 12px}.hero{position:relative;isolation:isolate;overflow:hidden;margin-top:24px;border-radius:20px;min-height:345px;background:radial-gradient(ellipse at 50% 45%,#293342 0%,#1c202b 42%,#13151c 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e9edf5}.hero-wordmark{display:flex;align-items:center;justify-content:center;gap:25px;z-index:1}.hero-wordmark img{border-radius:28px;width:105px;height:105px}.hero h1{font-size:clamp(35px,5.2vw,67px);font-weight:300;letter-spacing:-3px;margin:0;line-height:1.15}.hero h1 strong{font-weight:650}.slogan{font-size:clamp(22px,2.7vw,30px);font-weight:350;letter-spacing:-.7px;z-index:1;margin:24px 0 0}.orbit{position:absolute;border:1px solid #8594b73d;border-radius:50%;width:130%;height:120px;z-index:-1;pointer-events:none}.orbit-one{transform:rotate(12deg);top:62px;left:-35%}.orbit-two{transform:rotate(-12deg);bottom:15px;right:-55%}.browse-link{display:inline-block;margin:29px 0;color:var(--muted);font-size:13px}.browse-link span{margin-left:10px}.site-footer{margin-top:auto;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--border);padding:30px 20px;font-size:12px;color:var(--muted)}.footer-slogan{opacity:.8}.results-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:30px 0 16px}.results-heading h1{font-size:17px;font-weight:600;margin:0;overflow-wrap:anywhere}.results-heading p{font-size:12px;color:var(--muted);margin:0}.clear-filters{font-size:12px;margin-left:auto}.job-list{display:grid;gap:10px}.job-card{display:flex;gap:22px;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:19px 21px;transition:border-color .15s,background .15s}.job-card:hover{border-color:#6986b0;background:var(--panel-raised)}.job-card-copy{min-width:0;flex:1}.company-name{color:var(--accent);font-size:10px;letter-spacing:1.1px;text-transform:uppercase;font-weight:750;margin:0 0 5px}.job-card h2{font-size:16px;line-height:1.5;font-weight:620;margin:0 0 7px;overflow-wrap:anywhere}.job-card h2 a{color:var(--text)}.job-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:12px;color:var(--muted)}.job-meta>span+span:before{content:"·";margin-right:12px;color:var(--muted)}.job-meta .pay{color:var(--text)}.more-locations{white-space:nowrap;color:var(--accent)}.employment{text-transform:capitalize}.view-role{font-size:12px;font-weight:600;white-space:nowrap;min-height:44px;display:flex;gap:7px;align-items:center}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:28px 0 0;font-size:12px;color:var(--muted);flex-wrap:wrap}.pagination .button{min-width:110px}.empty-state{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:55px 24px}.empty-state h2{font-size:21px;margin:0 0 8px}.empty-state p{color:var(--muted);margin-bottom:24px}.back-link{display:inline-block;font-size:13px;margin:0 0 20px}.job-detail{background:var(--panel);border:1px solid var(--border);border-radius:18px;overflow:hidden}.detail-header{padding:32px;border-bottom:1px solid var(--border)}.detail-header h1{font-size:clamp(25px,4vw,35px);line-height:1.3;letter-spacing:-.8px;margin:7px 0 15px;overflow-wrap:anywhere}.detail-locations p{margin:4px 0;color:var(--muted);font-size:14px}.detail-tags{display:flex;flex-wrap:wrap;gap:10px 22px;margin:18px 0;color:var(--muted);font-size:13px}.detail-pay{font-weight:650;color:var(--text)}.apply-link{margin-top:5px}.description{padding:30px 32px;overflow-wrap:anywhere;font-size:15px;line-height:1.8}.description>:first-child{margin-top:0}.description p{margin:0 0 15px}.description li{padding-left:3px;margin:5px 0}.description a{text-decoration:underline}.description table{display:block;overflow-x:auto;max-width:100%}.description img{max-width:100%;height:auto}.detail-footer{border-top:1px solid var(--border);padding:24px 32px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:13px}
@media(min-width:1600px){.content{width:min(960px,calc(100% - 48px))}.home-content{width:min(1080px,calc(100% - 48px))}.hero{min-height:375px}}
@media(max-width:760px){.site-header{padding:0 20px;height:66px}.content,.home-content{width:calc(100% - 30px);margin-top:18px}.search-panel{grid-template-columns:1fr 1fr;gap:12px;padding:16px}.search-button{grid-column:1/-1}.search-filters{grid-row:2;grid-column:1/-1}.search-button{grid-row:3}.homepage-search .search-button{grid-row:2}.hero{min-height:290px}.hero-wordmark{gap:15px}.hero-wordmark img{width:80px;height:80px}.hero h1{letter-spacing:-2px}.job-card{padding:17px;gap:12px}.job-card h2{font-size:15px}.view-role{font-size:11px}.detail-header,.description{padding:24px}.detail-footer{padding:20px 24px}}
@media(max-width:480px){.site-header{padding:0 15px;gap:12px}.brand{font-size:15px;gap:6px}.brand img{width:28px;height:28px}.nav-jobs,.theme-toggle{padding:6px 11px;font-size:12px}.content,.home-content{width:calc(100% - 24px);margin-bottom:35px}.search-panel{grid-template-columns:1fr;padding:15px;gap:12px;border-radius:14px}.search-button,.homepage-search .search-button{grid-row:auto;grid-column:1}.search-filters{grid-row:auto;grid-column:1}.search-field label{font-size:11px}input{font-size:13px}.hero{min-height:260px;margin-top:18px}.hero-wordmark{gap:10px}.hero-wordmark img{width:62px;height:62px;border-radius:19px}.hero h1{font-size:35px;letter-spacing:-1.6px}.slogan{font-size:25px;margin-top:21px}.results-heading{margin:23px 2px 13px;gap:7px 12px}.results-heading h1{width:100%;font-size:16px}.job-card{display:block;padding:17px 16px}.job-card h2{font-size:15px}.view-role{justify-content:flex-end;margin-top:5px;min-height:36px;font-size:12px}.job-meta{font-size:11px;gap:5px 9px}.job-meta>span+span:before{margin-right:9px}.pagination{gap:12px}.pagination .button{min-width:90px;padding:10px 12px}.site-footer{padding:24px 14px;gap:7px 14px;font-size:11px}.detail-header,.description{padding:21px 18px}.detail-footer{padding:20px 18px}.detail-header h1{font-size:25px}.apply-link{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* Match production's measured type scale and brand dimensions. */
html { font-size:16px; }
body { font-size:1rem; }
.site-header { height:79px; min-height:79px; }
.brand { font-size:20px; gap:10px; }
.brand img { width:38px; height:38px; object-fit:contain; border-radius:0; }
.nav-jobs, .theme-toggle { font-size:14px; }
.content, .home-content { width:min(1120px,calc(100% - 40px)); }
.search-panel { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) 128px; border-radius:20px; }
.search-field label { font-size:13px; font-weight:650; }
input { height:52px; font-size:16px; line-height:normal; border-radius:14px; }
.button { font-size:14px; }
.search-button { height:52px; }
.homepage-search .search-field label {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.search-filters select { font-size:14px; min-height:40px; }
.hero { min-height:clamp(300px,43vh,480px); margin-top:18px; border-radius:28px; }
html[data-theme=light] .hero {
  background:radial-gradient(ellipse at 50% 45%,#dce9fa 0%,#eaf0f9 45%,#f0f3f8 85%);
  color:var(--text);
}
html[data-theme=light] .orbit { border-color:#7694bf55; }
html[data-theme=light] .slogan { color:var(--muted); }
.hero-wordmark { gap:clamp(14px,2vw,24px); }
.hero-wordmark img { width:clamp(90px,11vw,150px); height:auto; border-radius:0; }
.hero h1 { font-size:clamp(40px,5.7vw,80px); font-weight:390; line-height:.98; letter-spacing:-.06em; }
.hero h1 strong { font-weight:610; }
.slogan { font-size:clamp(20px,2.3vw,32px); font-weight:430; line-height:1.25; letter-spacing:-.02em; margin-top:22px; }
.browse-link { font-size:14px; }
.site-footer { font-size:13px; }
.results-heading h1 { font-size:20px; }
.results-heading p, .clear-filters { font-size:14px; }
.job-card { padding:24px 26px; border-radius:18px; }
.company-name { font-size:12px; }
.job-card h2 { font-size:1.32rem; font-weight:700; line-height:1.35; margin-bottom:10px; }
.job-meta { font-size:14px; line-height:1.6; }
.view-role { font-size:14px; }
.pagination, .back-link { font-size:14px; }
.description { font-size:16px; }
.detail-locations p { font-size:16px; }
.detail-tags, .detail-footer { font-size:14px; }
@media (max-width:760px) {
  .content, .home-content { width:calc(100% - 30px); }
  .search-panel { grid-template-columns:1fr 1fr; }
  .brand { font-size:18px; }
  .brand img { width:34px; height:34px; }
  .hero { min-height:330px; }
  .hero-wordmark img { width:clamp(68px,19vw,100px); }
  .hero h1 { font-size:clamp(32px,10vw,54.4px); }
  .job-card { padding:21px; }
}
@media (max-width:480px) {
  .site-header { height:66px; min-height:66px; }
  .brand { font-size:16px; }
  .nav-jobs, .theme-toggle { font-size:13px; }
  .search-panel { grid-template-columns:1fr; }
  .hero-wordmark { flex-direction:column; gap:10px; }
  .slogan { font-size:25px; }
  .job-card { padding:18px; }
  .results-heading h1 { font-size:18px; }
  .job-meta { font-size:14px; }
  .site-footer { font-size:13px; }
}


/* One apply action and a production-style sharing rail. */
.detail-body { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:40px; padding:32px; align-items:start; }
.detail-body .description { grid-column:1; grid-row:1; padding:0; min-width:0; }
.about-role { font-size:22px; line-height:1.4; margin:0 0 16px; }
.job-actions { grid-column:2; grid-row:1; position:sticky; top:24px; min-width:0; }
.job-actions .apply-link { display:flex; width:100%; min-height:56px; justify-content:space-between; margin:0; padding:16px; }
.share-heading { font-size:16px; font-weight:650; margin:28px 0 12px; }
.share-buttons { display:grid; gap:10px; }
.share-option { display:flex; align-items:center; gap:14px; width:100%; min-height:54px; padding:14px 16px; border:1px solid var(--border); border-radius:12px; color:var(--text); background:transparent; font-size:14px; font-weight:500; text-align:left; }
.share-option:hover { background:var(--panel-raised); border-color:var(--accent); text-decoration:none; }
.share-option:disabled { opacity:.65; cursor:wait; }
.share-icon { width:18px; flex-shrink:0; text-align:center; font-weight:700; font-size:13px; color:var(--muted); }
.share-status { font-size:13px; color:var(--muted); margin:12px 0 0; overflow-wrap:anywhere; }
.share-status:empty { display:none; }
.manual-share-link { display:block; font-size:13px; margin-top:12px; }
.manual-share-link[hidden] { display:none; }
.manual-share-link input { margin-top:6px; width:100%; }
@media(max-width:760px) {
  .detail-body { grid-template-columns:1fr; padding:24px; gap:30px; }
  .job-actions { grid-column:1; grid-row:1; position:static; }
  .detail-body .description { grid-column:1; grid-row:2; }
  .share-buttons { grid-template-columns:1fr 1fr; }
}
@media(max-width:480px) {
  .detail-body { padding:21px 18px; gap:28px; }
  .share-option { padding:13px 12px; gap:10px; }
}

.result-limit-note { margin:0 0 16px; padding:12px 16px; border:1px solid var(--border); border-radius:10px; color:var(--muted); background:var(--panel); font-size:14px; }

/* Keep authentication navigation usable on narrow phones. */
@media(max-width:480px){.site-header{flex-wrap:wrap;height:auto;min-height:79px;padding-top:10px;padding-bottom:10px}.site-header nav{margin-left:auto}.nav-jobs,.theme-toggle{padding:6px 9px}}

.nav-sign-out{margin:0}.sign-out-button{border:0;background:transparent;color:var(--text)}
@media(max-width:760px){.site-header{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.site-header nav{max-width:100%;flex-wrap:wrap;justify-content:center;margin-left:auto}}

/* The header padding already supplies spacing above the description divider. */
.detail-tags { margin-bottom:0; }
.detail-tags:empty { display:none; }
