.candidate-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:5%;padding:48px 4.5% 72px;align-items:center}.candidate-heading h1{font-size:clamp(48px,5.5vw,80px);line-height:1.05;letter-spacing:-3px;margin:24px 0}.candidate-heading h1 em{font-style:normal;color:var(--red)}.candidate-heading .intro{max-width:540px}.candidate-small{font-size:14px;line-height:1.65;color:#555}.candidate-small a{text-decoration:underline;text-underline-offset:3px}.candidate-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;min-height:450px}.candidate-photo img{width:100%;height:100%;min-height:0;flex:1;object-fit:cover;object-position:50% 35%;border-radius:2px}.candidate-photo figcaption{font-size:14px;border-bottom:1px solid var(--line);padding:16px 0}.candidate-sectors{background:var(--gray);padding:70px 4.5%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:7%}.candidate-section-title h2,.candidate-aside h2,.candidate-faq h2{font-size:clamp(34px,3.6vw,50px);line-height:1.12;letter-spacing:-1.8px;margin:20px 0}.candidate-section-title p{max-width:410px}.candidate-sector-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 32px}.candidate-sector{display:block;padding:18px 0;border-top:1px solid #ccc}.candidate-sector>span{font-size:14px;color:var(--red);font-weight:700}.candidate-sector h3{font-size:20px;margin:10px 0}.candidate-sector p{font-size:16px;margin:0;color:#555}.candidate-sector:hover h3{color:var(--red)}.candidate-apply{padding:88px 4.5%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:9%;align-items:start}.candidate-steps{list-style:none;padding:0;counter-reset:step}.candidate-steps li{counter-increment:step;position:relative;padding:20px 0 20px 46px;border-bottom:1px solid var(--line)}.candidate-steps li:before{content:'0' counter(step);color:var(--red);font-weight:700;position:absolute;left:0;top:20px}.candidate-steps strong{font-size:16px;display:block}.candidate-steps span{display:block;font-size:15px;color:#555;margin-top:6px}.candidate-form{border:1px solid var(--line);padding:32px;background:#fff;min-width:0}.candidate-form label{display:flex;flex-direction:column;font-size:15px;font-weight:600;gap:8px;margin-bottom:20px}.candidate-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}.candidate-form input:not([type=checkbox]),.candidate-form textarea{width:100%;min-width:0;border:1px solid #b9b9b9;border-radius:0;padding:12px;background:#fff;color:#151515;font-size:16px;min-height:48px}.candidate-form textarea{resize:vertical}.candidate-upload{background:#f5f5f3;padding:20px;border:1px dashed #aaa}.candidate-upload span{font-size:14px;font-weight:400;color:#555}.candidate-upload input[type=file]{background:transparent;border:0;padding:8px 0;min-height:44px;font-size:14px}.candidate-upload input::file-selector-button{border:1px solid #aaa;background:white;padding:10px;margin-right:10px;font:inherit;cursor:pointer}.candidate-form label.candidate-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;font-size:14px;font-weight:400}.candidate-consent input{width:19px;height:19px;accent-color:var(--red);margin-top:4px}.candidate-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.candidate-form button{white-space:normal;min-height:50px}.candidate-form button:disabled{opacity:.6;cursor:wait}.candidate-faq{padding:0 4.5% 88px;max-width:1040px;margin:auto}.candidate-faq details{padding:20px 0;border-bottom:1px solid var(--line)}.candidate-faq summary{cursor:pointer;font-weight:600;font-size:18px}.candidate-faq details p{color:#555;max-width:800px}#candidate-status.error{color:#b01020}#candidate-success{padding:24px;background:#f3f3f1;border-left:4px solid var(--red);overflow-wrap:anywhere}#candidate-success h3{margin-top:0}#candidate-success a{text-decoration:underline}.candidate-form [hidden]{display:none!important}@media(max-width:1050px){.candidate-sectors{grid-template-columns:minmax(0,1fr);gap:25px}.candidate-apply{gap:4%;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.candidate-fields{grid-template-columns:minmax(0,1fr)}.candidate-heading h1{letter-spacing:-2px}}@media(max-width:760px){.candidate-hero{grid-template-columns:minmax(0,1fr);padding-top:28px;gap:30px;padding-bottom:40px}.candidate-photo{min-height:0}.candidate-photo img{height:300px;flex:none;object-position:50% 35%}.candidate-heading h1{font-size:52px}.candidate-sectors{padding-top:40px;padding-bottom:40px}.candidate-apply{grid-template-columns:minmax(0,1fr);padding-top:45px;padding-bottom:48px;gap:24px}.candidate-form{padding:22px 18px}.candidate-faq{padding-bottom:48px}.candidate-sector-grid{gap:10px 20px}.candidate-sector h3{font-size:18px}}@media(max-width:380px){.candidate-sector-grid{grid-template-columns:minmax(0,1fr)}.candidate-heading h1{font-size:44px}}

/* Portrait crop: preserve the face and tablet on small screens. */
@media(max-width:760px){.candidate-photo img{height:auto;aspect-ratio:4/5;max-height:520px;object-position:50% 35%}}
