.careers-page { --career-green: #244d3d; --career-light: #e4eadf; }
.career-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:.73rem; margin:22px 0 48px; }
.career-breadcrumb a:hover { text-decoration:underline; }
.career-hero { padding-bottom:66px; }
.career-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; }
.career-eyebrow { color:var(--career-green, #244d3d); text-transform:uppercase; font-size:.65rem; font-weight:800; letter-spacing:.14em; margin:0 0 20px; }
.career-eyebrow > span { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:7px; background:var(--copper); }
.career-hero h1 { font-family:var(--serif); font-weight:400; font-size:clamp(3.5rem,6.2vw,6rem); line-height:1.02; letter-spacing:-.065em; margin:0 0 28px; }
.career-hero h1 em { font-weight:400; color:var(--career-green); }
.career-lead { font-size:1.12rem; line-height:1.75; color:var(--ink-soft); max-width:650px; }
.career-hero-copy > p:not(.career-eyebrow):not(.career-lead) { color:var(--muted); max-width:450px; font-size:.88rem; }
.career-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin:30px 0; }
.career-text-link { display:inline-flex; align-items:center; gap:10px; font-weight:750; font-size:.78rem; text-underline-offset:5px; }
.career-text-link:hover { text-decoration:underline; }
.career-hero-note { font-size:.7rem; color:var(--muted); display:flex; align-items:center; gap:9px; }
.career-check { width:22px; height:22px; display:inline-grid; place-content:center; border:1px solid #c5d2c7; border-radius:50%; color:var(--career-green); flex:none; }
.career-hero-visual { position:relative; margin:0; padding:0 0 35px; }
.career-hero-photo { display:block; width:100%; height:500px; object-fit:cover; border-radius:110px 20px 20px 20px; }
.career-hero-visual figcaption { position:absolute; left:-26px; right:28px; bottom:12px; padding:22px 24px; display:flex; gap:15px; align-items:center; background:var(--ink); color:var(--white); border-radius:14px; box-shadow:var(--shadow); }
.career-hero-visual figcaption small { display:block; color:#c7cdc4; font-size:.65rem; margin-bottom:4px; }
.career-hero-visual figcaption strong { font-family:var(--serif); font-size:1.18rem; font-weight:400; }
.career-visual-dot { width:10px; height:10px; border-radius:50%; background:#c3d3b6; flex:none; }
.career-image-label { position:absolute; right:12px; bottom:113px; padding:3px 8px; border-radius:4px; background:rgba(255,253,249,.9); color:var(--ink-soft); font-size:.52rem; }
.career-principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:29px 0; gap:35px; }
.career-principles > div { display:grid; gap:8px; }
.career-principles span { font-size:.61rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.career-principles strong { font-family:var(--serif); font-size:1.25rem; font-weight:400; }
.career-open { padding:80px 0 72px; scroll-margin-top:30px; }
.career-section-head { display:flex; gap:36px; justify-content:space-between; align-items:end; margin-bottom:32px; }
.careers-page h2 { font-family:var(--serif); font-size:clamp(2rem,3.6vw,3.1rem); font-weight:400; letter-spacing:-.045em; line-height:1.12; margin:0 0 14px; }
.career-section-head > p { max-width:330px; font-size:.84rem; color:var(--muted); margin:0 0 16px; }
.career-jobs-grid, .career-other-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.career-job-card { display:block; border:1px solid var(--line); border-radius:16px; background:var(--white); padding:28px 30px; transition:transform .2s, box-shadow .2s, border-color .2s; }
.career-job-card:hover { transform:translateY(-4px); border-color:#8aab98; box-shadow:0 14px 35px #1d211e0c; }
.career-job-card:focus-visible, .career-text-link:focus-visible { outline:3px solid var(--career-green); outline-offset:5px; }
.career-card-top { display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.career-role-number { display:grid; place-items:center; width:38px; height:38px; background:var(--career-light); color:var(--career-green); border-radius:10px; font-size:.72rem; }
.career-team { font-size:.63rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.career-card-arrow { margin-left:auto; font-size:1.35rem; color:var(--career-green); }
.career-job-card h3 { font-family:var(--serif); font-weight:400; font-size:1.8rem; letter-spacing:-.035em; line-height:1.15; margin:0 0 12px; }
.career-job-card p { color:var(--muted); font-size:.83rem; max-width:440px; margin:0 0 28px; }
.career-card-bottom { display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:.69rem; border-top:1px solid var(--line); padding-top:17px; }
.career-card-bottom > span { color:var(--career-green); background:var(--career-light); border-radius:99px; padding:3px 10px; }
.career-card-bottom strong { font-size:.72rem; }
.career-jobs-grid > :last-child { grid-column:1 / -1; background:var(--career-light); }
.career-small-note { font-size:.72rem; color:var(--muted); line-height:1.6; }
.career-open > .career-small-note { margin:24px 0 0; }
.career-process { background:var(--ink); color:var(--white); padding:70px 0; }
.career-process .career-eyebrow { color:#c4d4bc; }
.career-process h2 { color:var(--white); }
.career-process-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.career-process-grid > div > p:not(.career-eyebrow) { max-width:390px; color:#c9cdc5; font-size:.83rem; }
.career-process .career-text-link { color:var(--white); margin-top:18px; overflow-wrap:anywhere; }
.career-steps { list-style:none; margin:0; padding:0; }
.career-steps li { display:flex; gap:22px; padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid #ffffff26; }
.career-steps li:last-child { margin-bottom:0; padding-bottom:0; border:0; }
.career-steps li > span { color:#c4d4bc; font-size:.76rem; margin-top:5px; }
.career-steps h3 { font-family:var(--serif); font-size:1.4rem; font-weight:400; margin:0 0 8px; }
.career-steps p { color:#c9cdc5; font-size:.79rem; margin:0; }
.career-faq { padding-top:72px; padding-bottom:70px; max-width:900px; }
.career-faq details { border-bottom:1px solid var(--line); padding:20px 0; }
.career-faq summary { cursor:pointer; font-weight:700; font-size:.9rem; }
.career-faq details p { font-size:.84rem; color:var(--ink-soft); margin:15px 0 0; }
.career-faq a, .career-consent a, .career-receipt a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
.career-role-hero { padding-bottom:50px; }
.career-role-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:70px; align-items:center; }
.career-role-grid h1 { font-family:var(--serif); font-weight:400; font-size:clamp(2.8rem,5.5vw,5rem); line-height:1.06; letter-spacing:-.055em; margin:0 0 20px; }
.career-title-dot { color:var(--copper); }
.career-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.career-chips span { padding:5px 12px; border:1px solid var(--line); border-radius:99px; font-size:.65rem; }
.career-chips span:first-child { background:var(--career-light); color:var(--career-green); border-color:transparent; }
.career-role-grid .career-lead { font-size:.98rem; margin-bottom:26px; }
.career-role-visual { position:relative; margin:0; }
.career-role-photo { width:100%; height:310px; object-fit:cover; border-radius:16px 80px 16px 16px; display:block; filter:brightness(.72); }
.career-role-visual figcaption { position:absolute; left:28px; bottom:24px; color:var(--white); font-family:var(--serif); font-size:2rem; line-height:1.15; }
.career-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:70px; align-items:start; border-top:1px solid var(--line); padding-top:50px; }
.career-role-details > section { margin-bottom:48px; }
.career-role-details h2 { font-size:2rem; }
.career-role-details p { font-size:.88rem; color:var(--ink-soft); }
.career-role-details .career-eyebrow { font-size:.63rem; color:var(--career-green); margin-bottom:12px; }
.career-list { padding:0; margin:24px 0 0; list-style:none; }
.career-list li { position:relative; padding-left:25px; margin-bottom:15px; color:var(--ink-soft); font-size:.88rem; }
.career-list li::before { content:'↗'; position:absolute; left:0; color:var(--career-green); }
.career-samples { background:var(--career-light); border-radius:16px; padding:28px; }
.career-role-aside { position:sticky; top:25px; }
.career-aside-card { padding:26px; background:var(--white); border:1px solid var(--line); border-radius:16px; }
.career-aside-card dl { margin:0; }
.career-aside-card dl > div { padding:15px 0; border-bottom:1px solid var(--line); }
.career-aside-card dt { font-size:.66rem; color:var(--muted); margin-bottom:5px; }
.career-aside-card dd { font-size:.83rem; font-weight:650; margin:0; }
.career-aside-card .button { width:100%; margin-top:24px; }
.career-aside-card .career-small-note { text-align:center; margin:14px 0 0; }
.career-aside-contact { margin:26px 6px; }
.career-aside-contact h3 { font-size:.85rem; }
.career-aside-contact a { font-size:.78rem; text-decoration:underline; overflow-wrap:anywhere; }
.career-aside-contact p { font-size:.73rem; color:var(--muted); }
.career-application { border-top:1px solid var(--line); padding-top:40px; scroll-margin-top:30px; }
.career-form { margin-top:30px; }
.career-form fieldset { min-width:0; padding:28px; margin:0 0 22px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.career-form legend { font-size:.88rem; font-weight:750; padding:0 9px; }
.career-form legend > span { color:var(--copper-deep); margin-right:7px; font-size:.69rem; }
.career-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.career-field { display:flex; flex-direction:column; min-width:0; gap:9px; }
.career-field-wide { grid-column:1 / -1; }
.career-field > span { font-size:.75rem; font-weight:700; }
.career-field input, .career-field select, .career-field textarea { width:100%; min-width:0; min-height:47px; border:1px solid #c9c8be; border-radius:8px; background:#fcfbf7; color:var(--ink); padding:11px 12px; font:400 .8rem/1.5 var(--sans); }
.career-field textarea { resize:vertical; }
.career-field input::placeholder, .career-field textarea::placeholder { color:#73796e; opacity:1; }
.career-field input:focus, .career-field select:focus, .career-field textarea:focus { outline:2px solid var(--career-green); outline-offset:2px; background:#fff; }
.career-field input[type=file] { padding:12px; background:var(--career-light); border:1px dashed #7f9c88; }
.career-field input[type=file]::file-selector-button { border:0; border-radius:6px; background:var(--career-green); color:#fff; font-size:.73rem; padding:8px 12px; margin-right:12px; cursor:pointer; }
.career-field small { font-size:.67rem; line-height:1.6; color:var(--muted); }
.career-field small.career-file-error { color:#9c2929; }
.career-field small.career-file-error:empty { display:none; }
.career-consent { margin:28px 0 18px; }
.career-consent label { display:flex; gap:11px; align-items:flex-start; cursor:pointer; }
.career-consent input { flex:none; width:18px; height:18px; margin:3px 0 0; accent-color:var(--career-green); }
.career-consent span { font-size:.75rem; line-height:1.75; color:var(--ink-soft); }
.career-role-details .career-form-note { font-size:.7rem; line-height:1.7; color:var(--muted); }
.career-submit-row { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:25px; }
.career-submit-row > span { font-size:.65rem; line-height:1.8; color:var(--muted); }
.career-honeypot { display:none !important; }
.career-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; }
.career-other-roles { padding-top:45px; padding-bottom:70px; border-top:1px solid var(--line); }
.career-other-roles h2 { font-size:2rem; }
.career-receipt { text-align:center; max-width:780px; padding-top:65px; padding-bottom:85px; }
.career-receipt h1 { font-family:var(--serif); font-size:clamp(2.5rem,5vw,4rem); font-weight:400; letter-spacing:-.05em; line-height:1.1; }
.career-receipt .career-lead { margin-left:auto; margin-right:auto; }
.career-receipt p:not(.career-eyebrow) { color:var(--ink-soft); }
.career-receipt .button { margin-top:22px; }
.career-receipt-icon { display:inline-grid; place-items:center; width:64px; height:64px; margin-bottom:25px; border-radius:50%; background:#e4eadf; color:#244d3d; font-size:1.5rem; }
@media (min-width:901px) and (max-width:1080px) { .site-nav { gap:15px; } .nav-cta { padding:10px; } .career-detail-layout { gap:35px; grid-template-columns:minmax(0,1fr) 280px; } .career-hero-grid { gap:35px; } }
@media (max-width:900px) { .career-hero-grid, .career-role-grid { grid-template-columns:1fr; gap:36px; } .career-hero-copy { max-width:650px; } .career-hero-photo { height:400px; border-radius:70px 16px 16px 16px; } .career-hero-visual figcaption { left:18px; right:18px; } .career-hero h1 { font-size:clamp(3.7rem,10vw,6rem); } .career-process-grid { gap:45px; } .career-detail-layout { grid-template-columns:minmax(0,1fr); gap:0; } .career-role-aside { position:static; display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-bottom:45px; } .career-role-visual { max-width:600px; } }
@media (max-width:600px) { .career-breadcrumb { margin-bottom:30px; font-size:.66rem; } .career-hero { padding-bottom:35px; } .career-hero h1 { font-size:3.5rem; } .career-lead { font-size:1rem; } .career-hero-note { font-size:.65rem; } .career-hero-photo { height:310px; } .career-hero-visual figcaption { padding:17px; gap:10px; } .career-hero-visual figcaption strong { font-size:1rem; } .career-image-label { bottom:103px; } .career-principles { grid-template-columns:1fr; gap:19px; padding:25px 0; } .career-principles > div { grid-template-columns:95px 1fr; align-items:center; gap:12px; } .career-principles strong { font-size:1.05rem; } .career-principles span { font-size:.56rem; } .career-section-head { display:block; } .career-section-head > p { max-width:none; margin:18px 0 0; } .career-jobs-grid, .career-other-grid, .career-process-grid, .career-fields, .career-role-aside { grid-template-columns:1fr; } .career-job-card { padding:24px; } .career-job-card h3 { font-size:1.6rem; } .career-card-bottom strong { font-size:.65rem; } .career-open, .career-faq { padding-top:45px; padding-bottom:45px; } .career-process { padding:45px 0; } .career-process-grid { gap:35px; } .career-role-grid h1 { font-size:3rem; } .career-role-photo { height:260px; } .career-detail-layout { padding-top:35px; } .career-role-details h2 { font-size:1.85rem; } .career-form fieldset { padding:20px 17px; } .career-samples { padding:23px; } .career-field { grid-column:1; } .career-role-details > section { margin-bottom:35px; } .career-role-aside { gap:0; } .career-aside-contact { margin-top:20px; } .career-other-roles .career-text-link { margin-top:10px; } .career-receipt { padding-top:40px; padding-bottom:50px; } }
@media (prefers-reduced-motion: reduce) { .career-job-card { transition:none; } .career-job-card:hover { transform:none; } }
