.cm-careers.cm-scope{--cm-orange:#ff672e;--cm-on-orange:#0a0a0a;--cm-deep:#004aad;--cm-blue:#4187d1;--cm-sky:#b6dcff;--cm-ink:#0a0a0a;--cm-body:#1f2933;--cm-muted:#3d3d3d;--cm-rule:rgba(10,10,10,.12);--cm-rule-on-fill:rgba(255,255,255,.28);--cm-glass:rgba(255,255,255,.72);--cm-sky-glass:rgba(182,220,255,.6);--cm-focus:#004aad;--cm-shadow-soft:0 1px 2px rgba(10,10,10,.06),0 8px 24px rgba(10,10,10,.08);--cm-shadow-lift:0 2px 4px rgba(10,10,10,.06),0 16px 40px rgba(10,10,10,.12);--cm-glow-orange:0 6px 24px rgba(255,103,46,.35);--cm-glow-orange-hover:0 10px 32px rgba(255,103,46,.5);--cm-glow-blue:0 6px 24px rgba(0,74,173,.28);--cm-glow-blue-hover:0 10px 32px rgba(0,74,173,.4);font-family:inherit}
/* Chowder editorial layout. All type is 1.5x the pre-enlargement base sizes. */
.cm-careers { position:relative;color:var(--cm-body);font-size:33px;line-height:1.65; }
.cm-careers *,.cm-careers *::before,.cm-careers *::after { box-sizing:border-box; }
.cm-careers h1,.cm-careers h2,.cm-careers h3,.cm-careers h4,.cm-careers p,.cm-careers ul,.cm-careers ol { margin:0;padding:0; }
.cm-careers::before { content:"";position:absolute;pointer-events:none;z-index:0;top:calc(0px - var(--cm-top-gap,0px));left:var(--cm-bl,0px);width:var(--cm-bw,100%);height:calc(460px + var(--cm-top-gap,0px));background:linear-gradient(180deg,#4187d1 0,#4187d1 var(--cm-top-gap,0px),rgba(182,220,255,.35) 65%,rgba(182,220,255,0) 100%); }
.cm-careers .cm-section,.cm-careers .cm-career-end { position:relative;z-index:1; }
.cm-careers .cm-wrap { width:100%;max-width:none;margin:0 auto;padding:0 clamp(24px,4vw,80px); }
.cm-careers .cm-section { padding:48px 0;scroll-margin-top:96px; }
.cm-careers .cm-hero { padding:80px 0 40px; }
.cm-careers .cm-h1 { font-family:inherit;max-width:1200px;font-size:clamp(72px,11.25vw,156px);font-weight:900;line-height:1.03;letter-spacing:-.035em;color:var(--cm-ink);text-transform:none;text-wrap:balance; }
.cm-careers .cm-lead { max-width:880px;margin-top:28px;font-size:36px;line-height:1.55;font-weight:400;color:var(--cm-body); }
.cm-careers .cm-actions { display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:28px; }
.cm-careers .cm-h2 { font-family:inherit;font-size:clamp(51px,6vw,69px);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--cm-ink);text-transform:none; }
.cm-careers .cm-letter-heading { margin:36px 0 12px;font-family:inherit;font-size:39px;line-height:1.3;letter-spacing:-.01em;font-weight:800;color:var(--cm-ink);text-transform:none; }
.cm-careers .cm-letter p { margin-top:20px; }
.cm-careers .cm-letter .cm-h2 { margin-bottom:24px; }
.cm-careers .cm-letter .cm-letter-heading+p { margin-top:0; }
.cm-careers .cm-letter ul,.cm-careers .cm-letter ol,.cm-careers .cm-role ul { margin:24px 0;padding-left:28px;list-style-position:outside; }
.cm-careers .cm-letter ul,.cm-careers .cm-role ul { list-style-type:disc; }
.cm-careers .cm-letter ol { list-style-type:decimal; }
.cm-careers .cm-letter li,.cm-careers .cm-role li { padding-left:4px;margin-top:12px; }
.cm-careers li::marker { content:normal;color:var(--cm-ink); }
.cm-careers .cm-capabilities strong { font-weight:800;color:var(--cm-ink); }
.cm-careers .cm-signature { margin-top:32px; }
.cm-careers .cm-signature p { margin:0;font-size:30px;line-height:1.5; }
.cm-careers #open-positions { padding-top:40px; }
.cm-careers #open-positions .cm-wrap { padding-top:40px;border-top:0; }
.cm-careers #positions-title { font-size:clamp(57px,7.5vw,84px);font-weight:900;line-height:1.08;letter-spacing:-.025em; }
.cm-careers .cm-sub { margin-top:16px;font-size:33px;line-height:1.6; }
.cm-careers .cm-role { margin-top:36px; }
.cm-careers .cm-card-title { font-family:inherit;font-size:clamp(42px,5.4vw,57px);line-height:1.2;font-weight:800;letter-spacing:-.02em;color:var(--cm-ink);text-transform:none; }
.cm-careers .cm-role>p { margin-top:20px; }
.cm-careers .cm-role .cm-small { font-size:24px;line-height:1.6;font-weight:500;color:var(--cm-muted); }
.cm-careers .cm-role-actions { margin-top:24px; }
.cm-careers .cm-role-details { margin-top:24px; }
.cm-careers .cm-role-details summary { display:flex;align-items:center;gap:16px;padding:8px 0;cursor:pointer;font-weight:700;font-size:28.5px;line-height:1.5;list-style:none;color:var(--cm-ink); }
.cm-careers summary::-webkit-details-marker { display:none; }
.cm-careers .cm-go { font-size:36px;line-height:1; }
.cm-careers .cm-role-details[open] .cm-go { transform:rotate(45deg); }
.cm-careers .cm-h4 { margin:32px 0 12px;font-family:inherit;font-size:36px;line-height:1.3;font-weight:800;color:var(--cm-ink);text-transform:none; }
.cm-careers .cm-role-details p { margin-top:20px; }
.cm-careers .cm-role-details li { font-size:30px; }
.cm-careers .cm-callout { padding-top:32px;border-top:1px solid var(--cm-rule); }
.cm-careers .cm-callout-t { font-family:inherit;font-size:48px;line-height:1.2;font-weight:800;letter-spacing:-.015em;color:var(--cm-ink);text-transform:none; }
.cm-careers .cm-callout-d { margin-top:20px; }
.cm-careers .cm-career-apply { padding-top:32px;border-top:1px solid var(--cm-rule); }
.cm-careers .cm-career-apply .cm-letter { margin-top:24px; }
.cm-careers .cm-career-apply p:first-child { margin-top:0; }
.cm-careers .cm-faq { margin-top:24px; }
.cm-careers .cm-faq details { border-bottom:1px solid var(--cm-rule); }
.cm-careers .cm-faq summary { position:relative;display:block;padding:24px 32px 24px 0;font-size:31.5px;font-weight:700;line-height:1.4;color:var(--cm-ink);cursor:pointer;list-style:none; }
.cm-careers .cm-faq summary::after { content:"+";position:absolute;right:0;top:24px;font-size:36px;font-weight:400; }
.cm-careers .cm-faq details[open] summary::after { content:"−"; }
.cm-careers .cm-faq-a { padding:0 0 24px;font-size:30px;line-height:1.65; }
.cm-careers a,.cm-careers a:visited { color:var(--cm-ink);text-decoration:underline;text-underline-offset:4px; }
.cm-careers a:hover { text-decoration-thickness:2px; }
.cm-careers a.cm-btn,.cm-careers a.cm-btn:visited { display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:var(--cm-orange);box-shadow:var(--cm-glow-orange);color:var(--cm-on-orange);font-family:inherit;font-size:25.5px;font-weight:800;line-height:1.25;text-transform:none;text-decoration:none; }
.cm-careers a.cm-btn:hover { box-shadow:var(--cm-glow-orange-hover); }
.cm-careers a.cm-btn--deep { background:var(--cm-deep);box-shadow:var(--cm-glow-blue);color:#fff; }
.cm-careers a:focus-visible,.cm-careers summary:focus-visible { outline:2px solid var(--cm-focus);outline-offset:4px; }
.cm-careers .cm-career-end { width:100%;margin:0 auto;padding:32px clamp(24px,4vw,80px) 80px;font-size:25.5px; }
.cm-careers p,.cm-careers li { overflow-wrap:break-word; }
.cm-careers a[href^="mailto:"] { overflow-wrap:anywhere; }
@media(max-width:767px) {
 .cm-careers { font-size:30px; }
 .cm-careers .cm-wrap { padding:0 24px; }
 .cm-careers .cm-section { padding:32px 0; }
 .cm-careers .cm-hero { padding:56px 0 24px; }
 .cm-careers .cm-lead { font-size:33px;margin-top:24px; }
 .cm-careers .cm-letter-heading { font-size:36px; }
 .cm-careers .cm-sub { font-size:30px; }
 .cm-careers #open-positions .cm-wrap { padding-top:32px; }
 .cm-careers .cm-callout-t { font-size:45px; }
 .cm-careers .cm-career-end { padding:24px 24px 56px; }
}

/* Make the job description's disclosure easy to find and activate. */
.cm-careers .cm-role-details { margin-top:32px; }
.cm-careers .cm-role-details summary {
 display:flex;justify-content:space-between;align-items:center;gap:24px;
 width:100%;min-height:76px;padding:20px 24px;
 border:1px solid var(--cm-rule);border-radius:12px;
 background:var(--cm-sky-glass);color:var(--cm-ink);
 font-size:33px;line-height:1.35;font-weight:800;
 cursor:pointer;list-style:none;
}
.cm-careers .cm-role-details summary:hover { background:var(--cm-sky);border-color:rgba(10,10,10,.25); }
.cm-careers .cm-role-details summary:focus-visible { outline:2px solid var(--cm-focus);outline-offset:4px; }
.cm-careers .cm-role-details .cm-go { flex:0 0 auto;font-size:48px;font-weight:400;line-height:1; }
.cm-careers .cm-role-details[open] .cm-go { transform:none; }
@media(max-width:767px) {
 .cm-careers .cm-role-details summary { min-height:72px;padding:20px;font-size:30px;gap:16px; }
}

/* Carry the established blue wash into the site's footer. */
.cm-careers::after {
 content:"";position:absolute;z-index:0;pointer-events:none;
 left:var(--cm-bl,0px);width:var(--cm-bw,100%);
 bottom:calc(0px - var(--cm-footer-gap,0px));
 height:calc(480px + var(--cm-footer-gap,0px));
 background:linear-gradient(0deg,#4187d1 0,#4187d1 var(--cm-footer-gap,0px),rgba(65,135,209,0) calc(480px + var(--cm-footer-gap,0px)));
}


/* Full-width Chowder composition: open editorial rows, restrained brand fields. */
.cm-careers .cm-section { padding:64px 0; }
.cm-careers .cm-hero { padding:96px 0 64px; }
.cm-careers .cm-h2 { font-size:clamp(54px,6.75vw,96px);font-weight:800;line-height:1.08; }
.cm-careers .cm-letter-intro>p { max-width:860px; }
.cm-careers .cm-letter .cm-capabilities {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 48px;
 margin:40px 0 64px;padding-left:24px;
}
.cm-careers .cm-capabilities li { margin:0;padding:0 32px 0 4px; }
.cm-careers .cm-capabilities li+li { border-left:0;padding-left:32px; }
.cm-careers .cm-capabilities strong { display:block;margin-bottom:16px;font-size:clamp(39px,4.5vw,60px);line-height:1.15;letter-spacing:-.02em; }
.cm-careers .cm-letter-part { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 80px;padding:40px 0;border-top:1px solid var(--cm-rule); }
.cm-careers .cm-letter-heading { margin:0;font-size:clamp(42px,4.5vw,60px);line-height:1.2; }
.cm-careers .cm-letter-body { min-width:0;max-width:880px; }
.cm-careers .cm-letter-body>p:first-child { margin-top:0; }
.cm-careers #open-positions .cm-wrap { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 80px;border-top:0;padding-top:32px; }
.cm-careers #positions-title { font-size:clamp(60px,7.5vw,108px); }
.cm-careers .cm-role { min-width:0;margin-top:0;padding-top:8px; }
.cm-careers .cm-card-title { font-size:clamp(48px,5.7vw,84px); }
.cm-careers .cm-role-details summary { background:var(--cm-deep);color:#fff;border:1px solid var(--cm-rule-on-fill);box-shadow:var(--cm-glow-blue); }
.cm-careers .cm-role-details summary:hover { background:#064297;border-color:var(--cm-rule-on-fill); }
.cm-careers #open-applications::before { content:"";position:absolute;z-index:0;pointer-events:none;inset-block:0;left:var(--cm-bl,0px);width:var(--cm-bw,100%);background:var(--cm-orange); }
.cm-careers #open-applications .cm-wrap { position:relative;z-index:1; }
.cm-careers .cm-callout { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px 64px;padding:0;border:0;color:var(--cm-on-orange); }
.cm-careers .cm-callout-t { font-size:clamp(54px,6.75vw,96px);font-weight:900;color:var(--cm-on-orange); }
.cm-careers .cm-callout-d { max-width:880px;color:var(--cm-on-orange); }
.cm-careers .cm-callout .cm-actions { margin:0; }
.cm-careers .cm-career-apply { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 80px;padding:0;border:0; }
.cm-careers .cm-career-apply .cm-letter { min-width:0;margin-top:0;max-width:880px; }
.cm-careers #applicant-questions .cm-wrap { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 80px; }
.cm-careers .cm-faq { min-width:0;margin-top:0; }
.cm-careers .cm-faq details:first-child { border-top:1px solid var(--cm-rule); }
.cm-careers .cm-faq summary:hover { background:rgba(182,220,255,.3); }
@media(max-width:1023px) {
 .cm-careers .cm-letter-part,.cm-careers #open-positions .cm-wrap,.cm-careers .cm-career-apply,.cm-careers #applicant-questions .cm-wrap { grid-template-columns:minmax(0,1fr);gap:24px; }
 .cm-careers .cm-letter .cm-capabilities { gap:24px; }
 .cm-careers .cm-capabilities li { padding-right:12px; }
 .cm-careers .cm-capabilities li+li { padding-left:20px; }
 .cm-careers .cm-callout { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:767px) {
 .cm-careers .cm-section { padding:48px 0; }
 .cm-careers .cm-hero { padding:64px 0 48px; }
 .cm-careers .cm-letter .cm-capabilities { grid-template-columns:minmax(0,1fr);gap:24px;margin:32px 0 48px; }
 .cm-careers .cm-capabilities li,.cm-careers .cm-capabilities li+li { border:0;padding:0 0 0 4px; }
 .cm-careers .cm-capabilities strong { margin-bottom:8px; }
 .cm-careers .cm-letter-part { padding:32px 0; }
 .cm-careers #open-positions .cm-wrap { padding-top:0; }
}

/* Match the About page's actual width, type scale and spacing. */
.cm-careers { font-size:27px;line-height:1.65; }
.cm-careers .cm-wrap { width:100%;max-width:1180px;padding:0 24px; }
.cm-careers .cm-section { padding:80px 0; }
.cm-careers .cm-hero { padding:72px 0 56px; }
.cm-careers .cm-h1 { max-width:980px;font-size:clamp(60px,7.5vw,96px);line-height:1.08;letter-spacing:-.02em; }
.cm-careers .cm-lead { max-width:680px;margin-top:22px;font-size:31.5px;line-height:1.5;font-weight:300; }
.cm-careers .cm-h2,.cm-careers #positions-title { font-size:clamp(48px,6vw,72px);line-height:1.12;font-weight:800;letter-spacing:-.01em; }
.cm-careers .cm-actions { gap:16px;margin-top:32px; }
.cm-careers .cm-sub { margin-top:14px;font-size:28.5px;line-height:30px; }
.cm-careers .cm-letter-heading { font-size:clamp(36px,3.6vw,45px);line-height:1.2; }
.cm-careers .cm-letter p { margin-top:18px; }
.cm-careers .cm-letter .cm-capabilities { margin:32px 0 48px;gap:24px 40px; }
.cm-careers .cm-capabilities strong { font-size:36px;line-height:1.25;margin-bottom:10px; }
.cm-careers .cm-letter-part,.cm-careers #open-positions .cm-wrap,.cm-careers .cm-career-apply,.cm-careers #applicant-questions .cm-wrap { grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:40px 64px; }
.cm-careers .cm-card-title { font-size:clamp(42px,4.5vw,54px);line-height:1.2; }
.cm-careers .cm-role .cm-small { font-size:22.5px; }
.cm-careers .cm-role-details p,.cm-careers .cm-role-details li { font-size:27px; }
.cm-careers .cm-role-details summary { min-height:68px;font-size:27px; }
.cm-careers .cm-h4 { font-size:33px;line-height:1.25; }
.cm-careers .cm-callout-t { font-size:clamp(42px,5.1vw,63px);line-height:1.1; }
.cm-careers .cm-callout-d { font-size:27px;line-height:1.5; }
.cm-careers .cm-faq summary { font-size:27px; }
.cm-careers .cm-faq-a { font-size:24px;line-height:26px; }
.cm-careers a.cm-btn,.cm-careers a.cm-btn:visited { padding:17px 30px;font-size:25.5px;line-height:1.2; }
.cm-careers .cm-signature p { font-size:25.5px; }
.cm-careers .cm-career-end { max-width:1180px;padding:24px 24px 80px; }
@media(max-width:1023px) {
 .cm-careers .cm-letter-part,.cm-careers #open-positions .cm-wrap,.cm-careers .cm-career-apply,.cm-careers #applicant-questions .cm-wrap { grid-template-columns:minmax(0,1fr);gap:32px; }
}
@media(max-width:767px) {
 .cm-careers { font-size:25.5px; }
 .cm-careers .cm-wrap { padding:0 16px; }
 .cm-careers .cm-section { padding:52px 0; }
 .cm-careers .cm-hero { padding:40px 0 36px; }
 .cm-careers .cm-h1 { font-size:54px; }
 .cm-careers .cm-lead { font-size:27px; }
 .cm-careers .cm-sub { font-size:25.5px;line-height:28px; }
 .cm-careers .cm-actions { flex-direction:column;align-items:stretch; }
 .cm-careers .cm-actions a.cm-btn { width:100%; }
 .cm-careers .cm-letter-heading { font-size:36px; }
 .cm-careers .cm-role-details p,.cm-careers .cm-role-details li { font-size:25.5px; }
 .cm-careers .cm-role-details summary { min-height:64px;font-size:25.5px; }
 .cm-careers .cm-faq summary { font-size:25.5px; }
 .cm-careers .cm-career-end { padding:24px 16px 56px; }
}


/* Keep recruitment actions calm: one orange action, neutral supporting surfaces. */
.cm-careers #open-positions .cm-wrap { grid-template-columns:minmax(0,1fr);gap:40px; }
.cm-careers #open-positions .cm-head { max-width:none; }
.cm-careers #open-positions .cm-role { max-width:980px; }
.cm-careers #positions-title { font-weight:900; }
.cm-careers .cm-role-details summary {
 background:rgba(182,220,255,.24);color:var(--cm-ink);
 border:1px solid var(--cm-rule);box-shadow:none;
}
.cm-careers .cm-role-details summary:hover { background:rgba(182,220,255,.45);border-color:rgba(10,10,10,.25); }
.cm-careers #open-applications::before { display:none; }
.cm-careers .cm-callout {
 display:block;padding:40px;border:1px solid var(--cm-rule);border-radius:12px;
 background:var(--cm-glass);box-shadow:var(--cm-shadow-soft);color:var(--cm-ink);
}
.cm-careers .cm-callout-t,.cm-careers .cm-callout-d { color:var(--cm-ink); }
.cm-careers .cm-callout-d { max-width:980px; }
.cm-careers .cm-callout .cm-actions { margin-top:32px; }
@media(max-width:767px) {
 .cm-careers #open-positions .cm-wrap { gap:32px; }
 .cm-careers .cm-callout { padding:24px; }
}

/* Centre the page introduction and vacancy heading; emphasise the application action. */
.cm-careers .cm-type-hero { text-align:center; }
.cm-careers .cm-h1,.cm-careers .cm-hero .cm-lead { margin-left:auto;margin-right:auto; }
.cm-careers .cm-hero .cm-actions { justify-content:center; }
.cm-careers #open-positions .cm-head { text-align:center; }
.cm-careers #open-positions .cm-sub { margin-left:auto;margin-right:auto; }
.cm-careers #open-positions .cm-role { width:100%;margin-left:auto;margin-right:auto; }
.cm-careers .cm-role-actions a.cm-btn,.cm-careers .cm-role-actions a.cm-btn:visited {
 min-height:80px;min-width:300px;padding:24px 40px;font-size:30px;line-height:1.2;
}
@media(max-width:767px) {
 .cm-careers .cm-role-actions a.cm-btn,.cm-careers .cm-role-actions a.cm-btn:visited {
  width:100%;min-width:0;min-height:76px;padding:22px 24px;font-size:27px;
 }
}

/* Single-column capabilities and a distinct container for each vacancy. */
.cm-careers .cm-letter .cm-capabilities {
 grid-template-columns:minmax(0,1fr);gap:28px;
}
.cm-careers .cm-capabilities li,.cm-careers .cm-capabilities li+li {
 padding:0 0 0 4px;border-left:0;
}
.cm-careers #open-positions .cm-role {
 max-width:980px;padding:40px;border:1px solid var(--cm-rule);border-radius:12px;
 background:var(--cm-glass);box-shadow:var(--cm-shadow-soft);
}
@media(max-width:767px) {
 .cm-careers #open-positions .cm-role { padding:24px; }
}


/* Exact handwritten sign-off used on the homepage. */
.cm-careers .cm-signature p.cm-sign {
 margin:0 0 16px;font-family:"Caveat","Segoe Print","Bradley Hand",cursive;
 font-size:40px;line-height:1.1;font-weight:400;font-style:normal;
 letter-spacing:0;color:var(--cm-ink);
}

/* Brand-blue outline for the open application invitation. */
.cm-careers #open-applications .cm-callout { border:1px solid var(--cm-deep); }


/* An immersive illustrated header, rather than an image panel below the copy. */
.cm-careers .cm-hero {
 position:relative;isolation:isolate;min-height:clamp(1000px,90vw,1440px);
 padding:72px 0 0;
}
.cm-careers .cm-hero::before {
 content:"";position:absolute;z-index:-2;pointer-events:none;
 top:calc(0px - var(--cm-top-gap,0px));bottom:0;
 left:var(--cm-bl,0px);width:var(--cm-bw,100%);
 background:linear-gradient(180deg,var(--cm-blue) 0,#88c9fa 160px,#88c9fa 100%);
}
.cm-careers .cm-hero>.cm-wrap { position:relative;z-index:2; }
.cm-careers .cm-type-hero { max-width:1080px;margin:0 auto; }
.cm-careers .cm-hero .cm-lead { max-width:900px; }
.cm-careers .cm-careers-hero-art {
 position:absolute;z-index:-1;bottom:0;
 left:calc(var(--cm-bl,0px) + var(--cm-bw,100%) / 2);
 transform:translateX(-50%);width:var(--cm-bw,100%);height:calc(var(--cm-bw,100vw) * .5628);min-height:484px;overflow:hidden;
 margin:0;padding:0;border:0;border-radius:0;box-shadow:none;pointer-events:none;
}
.cm-careers .cm-careers-hero-art::after {
 content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,#88c9fa 0,rgba(136,201,250,0) 20%,rgba(255,255,255,0) 90%,#fff 100%);
}
.cm-careers .cm-careers-hero-art img {
 display:block;width:100%;max-width:100%;height:100%;margin:0;
 object-fit:cover;object-position:center bottom;border-radius:0;
}
/* Clip the decorative scene at the viewport without clipping the page's washes. */
.cm-careers .cm-hero { clip-path:inset(-160px calc((100% - var(--cm-bw,100%)) / 2) 0); }
@media(max-width:767px) {
 .cm-careers .cm-hero { min-height:960px;padding:48px 0 0; }
 .cm-careers .cm-hero .cm-lead { font-size:27px; }
}


/* Dynamic Jobs share the same role container; one row per published opening. */
.cm-careers .cm-jobs { display:grid;gap:32px;min-width:0; }
.cm-careers .cm-role h3 a { text-decoration:none;color:var(--cm-ink); }
.cm-careers .cm-role h3 a:hover { text-decoration:underline;text-underline-offset:6px; }
.cm-careers .cm-role-details h2,.cm-careers .cm-role-details h3,.cm-careers .cm-role-details h4 { margin:32px 0 12px;font-family:inherit;font-size:33px;line-height:1.25;font-weight:800;color:var(--cm-ink); }

.cm-job-page .cm-h1{margin:32px 0 24px}.cm-job-page .cm-small{font-size:22px;color:var(--cm-muted)}
.cm-job-page .cm-job-body{max-width:860px;margin:40px 0}.cm-job-page .cm-job-body h2,.cm-job-page .cm-job-body h3,.cm-job-page .cm-job-body h4{font-family:inherit;font-size:33px;line-height:1.25;font-weight:800;margin:32px 0 16px;color:var(--cm-ink)}
.cm-job-page .cm-job-body p{margin:24px 0}.cm-job-page .cm-job-body ul,.cm-job-page .cm-job-body ol{padding-left:30px;margin:24px 0}.cm-job-page .cm-job-body li{margin:12px 0}
@media(max-width:767px){.cm-job-page .cm-small{font-size:20px}.cm-job-page .cm-job-body h2,.cm-job-page .cm-job-body h3,.cm-job-page .cm-job-body h4{font-size:28px}}
.cm-application::before,.cm-application::after{display:none}.cm-application .cm-wrap{max-width:900px;padding:0}.cm-application .cm-h1{font-size:clamp(42px,6vw,64px);line-height:1.1}.cm-application .cm-h2{font-size:clamp(28px,4vw,36px);margin:24px 0}.cm-application .cm-application-intro{font-size:22px;margin:24px 0}.cm-application .cm-application-privacy{font-size:16px;line-height:1.6;margin:24px 0 32px}.cm-application #cm-career-form{font-size:18px;line-height:1.6;background:#fff;padding:24px;border:1px solid rgba(10,10,10,.12);border-radius:12px;box-shadow:var(--cm-shadow-soft)}.cm-application iframe{max-width:100%}.cm-application .cm-form-loading{font-size:18px}@media(max-width:767px){.cm-application #cm-career-form{padding:12px}}
