.candidate-hero { padding:9rem 0 4rem; background:linear-gradient(125deg,#101010,#292929); color:#fff; }
.candidate-hero-grid { display:grid; grid-template-columns:1.4fr .75fr; gap:5rem; align-items:center; }
.candidate-hero h1 { font-size:clamp(2.8rem,5.7vw,5rem); max-width:16ch; line-height:1.04; margin:.8rem 0 1.6rem; }
.candidate-hero h1 span { color:var(--yellow); }
.candidate-hero .lede { font-size:1.08rem; line-height:1.8; color:#bbb; max-width:59ch; }
.candidate-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.candidate-actions .btn-secondary { color:#fff; border-color:#777; }
.candidate-hero-note { font-size:.73rem; color:#aaa; margin:1.2rem 0 0; }
.candidate-hero-note a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.career-path-art { background:#fafafa; color:#171717; border:1px solid #555; border-radius:15px; padding:1.7rem; transform:rotate(2deg); box-shadow:0 25px 60px #0004; }
.career-path-art .path-kicker { font-size:.6rem; text-transform:uppercase; letter-spacing:.15em; color:#777; font-weight:900; }
.career-path-art h2 { font-size:2rem; line-height:1.1; margin:1rem 0 1.6rem; }
.career-path-step { display:grid; grid-template-columns:28px 1fr; gap:.8rem; padding:1rem 0; border-top:1px solid #dedede; }
.career-path-step>span { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:#ffd60a; color:#171717; font-size:.6rem; font-weight:900; }
.career-path-step strong { display:block; font-size:.78rem; }
.career-path-step small { display:block; font-size:.7rem; color:#777; margin-top:.25rem; line-height:1.6; }
.candidate-trust { padding:1.7rem 0; border-bottom:1px solid #ddd; background:#fff; }
.candidate-trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.candidate-trust-row>div { display:flex; gap:.8rem; align-items:baseline; }
.candidate-trust strong { font-size:1.7rem; letter-spacing:-.05em; }
.candidate-trust span { font-size:.75rem; color:#777; line-height:1.5; }
.candidate-opportunity { background:#fff; padding:4rem 0 3rem; }
.candidate-opportunity-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:4rem; }
.candidate-opportunity h2 { font-size:clamp(2rem,3.3vw,2.9rem); max-width:17ch; }
.candidate-opportunity p { font-size:.94rem; line-height:1.8; color:#666; }
.candidate-value-points { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2rem; }
.candidate-value-points h3 { font-size:1rem; line-height:1.3; margin:0 0 .65rem; }
.candidate-value-points p { font-size:.8rem; margin:0; }
.candidate-value-points article { border-top:3px solid #ffd60a; padding-top:1rem; }
.hiring-employers { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; padding-top:2.3rem; }
.hiring-employers>span { font-size:.62rem; font-weight:900; color:#777; letter-spacing:.1em; text-transform:uppercase; margin-right:.5rem; }
.hiring-employers button { font-size:.68rem; font-weight:800; color:#555; border:1px solid #ddd; border-radius:6px; padding:.55rem .75rem; }
.hiring-employers button:hover { border-color:#555; background:#f4f4f4; }
.hiring-employers [data-hiring-employers] { display:flex; flex-wrap:wrap; gap:.5rem; }
.candidate-board { padding:3rem 0 4rem; background:#f4f4f4; scroll-margin-top:85px; }
.candidate-board-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:1.7rem; }
.candidate-board-heading h2 { font-size:clamp(2rem,3.5vw,3.1rem); margin:.5rem 0 .6rem; }
.candidate-board-heading p { margin:0; font-size:.88rem; color:#707070; }
.trade-shortcuts { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1.2rem; }
.trade-shortcuts button { border:1px solid #ccc; background:#fff; color:#444; padding:.55rem .85rem; font-size:.74rem; font-weight:800; border-radius:30px; }
.trade-shortcuts button:hover,.trade-shortcuts button[aria-pressed=true] { background:#171717; color:#ffd60a; border-color:#171717; }
.candidate-board .job-map-filters { grid-template-columns:repeat(3,minmax(0,1fr)); border-color:#d7d7d7; }
.candidate-board .job-map-filters label { color:#666; }
.candidate-filter-note { font-size:.66rem; line-height:1.7; color:#888; margin:.7rem .1rem 0; }
.jobs-view-toggle { display:flex; gap:.2rem; padding:.2rem; background:#e6e6e6; border-radius:7px; flex-shrink:0; }
.jobs-view-toggle button { padding:.55rem .85rem; font-size:.72rem; font-weight:800; border-radius:5px; color:#777; }
.jobs-view-toggle button[aria-pressed=true] { background:#fff; color:#171717; box-shadow:0 2px 4px #0001; }
.map-job-benefits { display:flex; flex-wrap:wrap; gap:.3rem; margin:.7rem 0; }
.map-job-benefits span { color:#666; border:1px solid #e2e2e2; background:#f7f7f7; border-radius:4px; padding:.25rem .4rem; font-size:.57rem; line-height:1.3; }
.jobs-list-view .job-atlas-layout { display:block; height:auto; }
.jobs-list-view .job-atlas-layout>.atlas-stage { display:none; }
.jobs-list-view .job-map-results { border:0; overflow:visible; max-height:none; }
.jobs-list-view [data-jobs-list] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.jobs-list-view .map-job-card { padding:1.3rem 0; display:flex; flex-direction:column; }
.jobs-list-view .map-job-actions { margin-top:auto; padding-top:1rem; }
.jobs-list-view .job-map-empty { grid-column:1/-1; }
.candidate-next { padding:4rem 0; background:#fff; }
.candidate-next-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.candidate-next-card { padding:2.3rem; border:1px solid #ddd; background:#fafafa; border-radius:13px; }
.candidate-next-card.dark { background:#171717; color:#fff; border-color:#171717; }
.candidate-next-card h2 { font-size:clamp(1.8rem,2.8vw,2.4rem); max-width:17ch; line-height:1.1; margin:.8rem 0 1rem; }
.candidate-next-card p { color:#777; font-size:.9rem; line-height:1.8; }
.candidate-next-card.dark p { color:#b5b5b5; }
.candidate-next-card .btn { margin-top:.8rem; font-size:.8rem; }
.candidate-next-card small { display:block; font-size:.67rem; line-height:1.7; color:#888; margin-top:1rem; }
.resume-section { padding:4.5rem 0; background:#f4f4f4; scroll-margin-top:85px; }
.resume-heading { max-width:750px; margin-bottom:2rem; }
.resume-heading h2 { font-size:clamp(2rem,3.5vw,3rem); margin:.7rem 0 1.2rem; }
.resume-heading p { font-size:.94rem; color:#666; line-height:1.8; }
.resume-builder { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
.resume-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; background:#fff; border:1px solid #ddd; border-radius:12px; padding:1.7rem; }
.resume-form label { display:flex; flex-direction:column; gap:.4rem; font-size:.72rem; font-weight:800; color:#555; }
.resume-form label.wide,.resume-form .wide { grid-column:1/-1; }
.resume-form input,.resume-form select,.resume-form textarea { width:100%; border:1px solid #ccc; border-radius:6px; background:#fafafa; padding:.7rem; font:inherit; font-weight:400; color:#171717; font-size:.8rem; }
.resume-form textarea { min-height:100px; resize:vertical; }
.resume-form input:focus,.resume-form select:focus,.resume-form textarea:focus { outline:2px solid #777; outline-offset:2px; }
.resume-form .form-tip { font-size:.65rem; font-weight:400; color:#888; line-height:1.6; }
.resume-form .resume-privacy { font-size:.68rem; color:#888; line-height:1.7; margin:0; }
.resume-preview { background:#fff; border:1px solid #ddd; border-radius:12px; padding:2rem; min-width:0; position:sticky; top:95px; }
.resume-preview-label { font-size:.6rem; font-weight:900; color:#888; letter-spacing:.12em; text-transform:uppercase; display:block; margin-bottom:1.2rem; }
.resume-empty { min-height:320px; display:flex; justify-content:center; flex-direction:column; }
.resume-empty h3 { font-size:1.6rem; max-width:20ch; }
.resume-empty p { font-size:.84rem; color:#888; line-height:1.8; }
.resume-output { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.83rem; line-height:1.9; margin:0; color:#333; }
.resume-preview-actions { display:flex; flex-wrap:wrap; gap:.5rem; border-top:1px solid #ddd; margin-top:1.5rem; padding-top:1rem; }
.resume-preview-actions button { background:#171717; color:#fff; border-radius:5px; padding:.65rem .85rem; font-size:.68rem; font-weight:800; }
.resume-builder [hidden] { display:none; }
.resume-status { font-size:.73rem; color:#666; margin:1rem 0 0; }
.candidate-steps { padding:4rem 0; background:#fff; }
.candidate-steps h2 { max-width:23ch; font-size:clamp(2rem,3vw,2.7rem); margin:0 0 2rem; }
.candidate-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.candidate-step { border-top:1px solid #ccc; padding-top:1.3rem; }
.candidate-step>span { color:#888; font-size:.65rem; font-weight:800; }
.candidate-step h3 { font-size:1.1rem; margin:.8rem 0; }
.candidate-step p { color:#777; font-size:.85rem; line-height:1.8; }
.candidate-footer-note { color:#777; font-size:.7rem; margin-top:2rem; }
@media(max-width:1000px) { .candidate-hero-grid { gap:2.5rem; } .candidate-opportunity-grid { grid-template-columns:1fr; gap:1.5rem; } .jobs-list-view [data-jobs-list] { grid-template-columns:1fr 1fr; } .resume-builder { gap:1.3rem; } .resume-form,.resume-preview { padding:1.3rem; } }
@media(max-width:760px) { .candidate-hero { padding:7rem 0 3rem; } .candidate-hero-grid { grid-template-columns:1fr; gap:2.5rem; } .candidate-hero h1 { max-width:17ch; } .career-path-art { transform:none; } .candidate-trust-row { grid-template-columns:1fr; gap:.8rem; } .candidate-trust-row>div { justify-content:space-between; } .candidate-trust strong { font-size:1.5rem; } .candidate-opportunity,.candidate-board,.candidate-next,.resume-section,.candidate-steps { padding:3rem 0; } .candidate-value-points { grid-template-columns:1fr; gap:1.3rem; } .candidate-board-heading { align-items:start; flex-direction:column; gap:1.2rem; } .candidate-board .job-map-filters { grid-template-columns:1fr 1fr; } .candidate-board .job-map-filters label:first-child { grid-column:1/-1; } .candidate-board .job-map-filters label:last-child { grid-column:auto; } .candidate-board .job-map-filters label:nth-child(4) { grid-column:1/-1; } .candidate-next-grid,.resume-builder,.candidate-steps-grid { grid-template-columns:1fr; } .candidate-next-card { padding:1.7rem; } .resume-preview { position:static; } .jobs-list-view [data-jobs-list] { grid-template-columns:1fr; gap:.5rem; } .resume-form { gap:.8rem; } }
@media print { body>* { display:none!important; } body>.candidate-print-copy { display:block!important; white-space:pre-wrap; font:11pt/1.7 Arial,sans-serif; color:#000; padding:20px; } }
