/* Recruitment additions: keep the confirmed hero and v9 motion unchanged. */
.entry-grid{align-items:start;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
.entry-copy{padding-top:24px}
.job-info{border-top:4px solid var(--gold);min-width:0}
.job-info h3{margin-top:12px;border-color:var(--gold)}
.job-info h4{font-size:clamp(22px,2.2vw,30px);line-height:1.55;margin:24px 0 12px}
.job-info h4 span{display:block;font-size:14px;margin-top:6px;font-weight:600}
.job-info dl div{grid-template-columns:94px minmax(0,1fr);gap:16px}
.job-access{display:block;font-size:13px;margin-top:8px;color:#56665b}
.open-company-info{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}
.open-company-info>a{font-weight:800;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.open-company-info small{font-size:12px;display:block}
.open-company-info>a{display:grid;grid-template-columns:1fr auto;align-items:center}.open-company-info>a small{grid-row:2}.open-company-info>a>span{grid-column:2;grid-row:1/3}
.open-company-info p{font-size:12px;line-height:1.8;margin:14px 0 0;color:#56665b}
.application{background:var(--paper)}
.application [hidden]{display:none!important}
.application-heading{text-align:center;margin-bottom:40px}
.application-heading h2{font-size:clamp(28px,3.8vw,46px);font-weight:900;margin:12px 0 16px}
.application-heading>p{font-size:15px}
.application-card{position:relative;max-width:900px;margin:0 auto;padding:clamp(22px,4vw,56px);background:#fff;border-top:4px solid var(--gold);box-shadow:0 16px 60px rgba(0,62,51,.06)}
.preview-notice{padding:16px 20px;background:var(--paper);border-left:3px solid var(--gold);font-size:13px;line-height:1.9;margin-bottom:28px}
.preview-notice a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.form-legend{font-size:12px;margin-bottom:24px}
.required-label{display:inline-block;font-size:10px;line-height:1.5;padding:3px 7px;background:var(--deep);color:#fff;font-weight:700;vertical-align:middle;margin-left:6px;letter-spacing:.05em}
.form-legend .required-label{margin-left:0}
.application fieldset{border:0;padding:0;margin:0;min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px}
.form-field{min-width:0}.form-full{grid-column:1/-1}
.form-field label{display:block;font-size:14px;font-weight:800;margin-bottom:10px}
.form-field input,.form-field select,.form-field textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;border:1px solid #bdc9c1;border-radius:0;background:#fcfcf9;padding:13px 14px;color:var(--ink);font:inherit;font-size:16px;line-height:1.6;min-height:52px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#69776e;opacity:1}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px;background:#fff}
.form-field textarea{resize:vertical;min-height:150px}
.form-field input[type=file]{padding:12px;font-size:13px}
.form-field input::file-selector-button{border:0;background:var(--deep);color:#fff;padding:10px 12px;margin-right:12px;font:inherit;cursor:pointer}
.field-help{font-size:12px;color:#56665b;line-height:1.8;margin:-2px 0 10px}
.field-error{color:#a02725;font-size:13px;margin:8px 0 0}.field-error:empty{display:none}
.form-field [aria-invalid=true]{border:2px solid #a02725}
.form-submit{width:100%;max-width:520px;margin:36px auto 0;border:0;text-align:left;cursor:pointer;min-height:84px}
.form-submit:disabled{cursor:wait;opacity:.65}
.form-submit span{font-size:22px}.form-submit small{font-size:13px}
.form-feedback{border-left:3px solid var(--green);padding:16px 20px;margin:24px 0 0;background:var(--paper);font-size:14px;overflow-wrap:anywhere}
.form-feedback[data-state=error]{border-color:#a02725;color:#a02725}
.application-success{text-align:center;padding:36px 0}.application-success h3{font-size:24px;margin:20px 0}
.application-contact{margin:36px 0 0;border-top:1px solid var(--line);padding-top:26px;text-align:center;font-size:12px}
.application-contact a{display:inline-block;font:800 25px/1.6 var(--en);margin:4px 0;letter-spacing:.03em}.application-contact span{display:block}
.form-trap{display:none}
.form-in-view .mobile-entry{visibility:hidden;pointer-events:none}
@media(max-width:860px){.entry-grid{grid-template-columns:1fr;gap:36px}.entry-copy{padding-top:0}.job-info{padding:26px 22px}.job-info dl div{grid-template-columns:1fr;gap:4px}.application-card{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:24px}.application-heading{text-align:left;margin-bottom:28px}.preview-notice{padding:14px;font-size:12px}.form-submit{padding:18px}.form-submit small{font-size:12px}}

/* Requested centered copy; equal side columns keep text truly centered. */
.job-info .cta,.form-submit,.open-company-info>a{grid-template-columns:24px minmax(0,1fr) 24px;text-align:center}
.job-info .cta>span,.form-submit>span,.open-company-info>a>.open-company-title{grid-column:2;grid-row:1}
.job-info .cta>small,.form-submit>small,.open-company-info>a>small{grid-column:2;grid-row:2}
.job-info .cta>i,.form-submit>i,.open-company-info>a>.cta-arrow{grid-column:3;grid-row:1/3}
.open-company-info p,.preview-notice,.resume-field{text-align:center}
.resume-picker{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 18px;min-height:78px;padding:16px;background:#fcfcf9;border:1px solid #bdc9c1}
.resume-picker #recruit-resume{position:absolute;inset:0;width:100%;height:100%;max-width:100%;margin:0;opacity:0;cursor:pointer}
.resume-picker:focus-within{outline:2px solid var(--green);outline-offset:3px}
.resume-choose{display:block;background:var(--deep);color:#fff;font-size:13px;line-height:1.6;padding:12px 18px;text-align:center;pointer-events:none}
.resume-filename{font-size:13px;max-width:100%;min-width:0;overflow-wrap:anywhere;pointer-events:none;text-align:center}

/* Privacy consent row: same wording, link and field as /recruit/. */
.form-consent{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;font-size:14px;font-weight:700;line-height:1.7;text-align:center;cursor:pointer}
.form-consent input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--green);cursor:pointer}
.form-consent input:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.form-consent a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.form-consent{gap:10px;font-size:13px}}
