.candidate-invitation {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px max(24px, calc((100vw - 1200px)/2));background:#edf6f4;border-bottom:1px solid #d4e7e2;}
.candidate-invitation h2 {font-size:22px;color:var(--navy);margin:0 0 6px;}
.candidate-invitation p {color:var(--medium-gray);margin:0;line-height:1.6;}
.candidate-invitation .btn {flex-shrink:0;}
.resume-page {background:linear-gradient(150deg,#edf6f4,#f8fafb 65%);padding:32px 24px 40px;}
.resume-intro {max-width:740px;margin:0 auto 20px;text-align:center;}
.resume-eyebrow {color:var(--teal);font-weight:700;letter-spacing:.15em;font-size:12px;}
.resume-intro h1 {font-size:clamp(28px,3.5vw,38px);line-height:1.15;color:var(--navy);margin:12px 0;}
.resume-intro p {line-height:1.6;margin-bottom:12px;}
.resume-purpose,.resume-form-note,#file-help,#file-selected {font-size:13px;line-height:1.6;color:var(--medium-gray);}
.resume-card {max-width:740px;background:white;border:1px solid #dce7e6;border-radius:16px;margin:auto;padding:24px;box-shadow:0 12px 35px #0b3d5c08;}
.resume-fields {display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;}
.resume-page input {max-width:100%;min-width:0;font:inherit;}
.resume-upload {padding:12px;border:1px dashed #90b7af;border-radius:10px;background:#f8fbfa;}
.resume-upload input {width:100%;font-size:14px;}
.resume-upload button {margin-top:8px;}
.resume-page .resume-consent {display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;font-weight:400;}
.resume-consent input {flex:0 0 auto;width:18px;height:18px;margin-top:3px;}
.resume-page a {color:var(--teal);}
.resume-page :focus-visible,.candidate-invitation :focus-visible {outline:3px solid var(--teal);outline-offset:4px;}
.resume-page [aria-invalid=true] {border-color:#b42318;}
.resume-page [hidden] {display:none!important;}
.resume-page button:disabled {opacity:.65;cursor:wait;}
#resume-status.error {color:#b42318;}
#resume-success h2 {color:var(--navy);margin-bottom:16px;}
#resume-success p {line-height:1.7;margin-bottom:24px;}
.resume-skip {position:absolute;left:16px;top:-100px;z-index:10000;background:white;padding:12px;}
.resume-skip:focus {top:16px;}
@media(max-width:700px){.candidate-invitation{align-items:flex-start;flex-direction:column;gap:16px;}.resume-page{padding:24px 16px 32px;}.resume-card{padding:18px 16px;}.resume-fields{grid-template-columns:1fr;}.resume-intro{text-align:left;}.resume-card button[type=submit]{width:100%;}}

.resume-page .btn-gold {color:var(--navy);}

/* Keep the shared modal spacing out of the standalone form. */
.resume-card .apply-form {padding:0;gap:12px;}
.resume-card .apply-field-error:empty {display:none;}
.resume-card .apply-field input:not([type=checkbox]) {min-height:44px;}
.resume-card .resume-form-note {margin:0;font-size:12px;}
.resume-intro .resume-purpose {margin-top:16px;font-size:12px;}
.resume-card #resume-status {font-size:13px;line-height:1.5;}
.resume-card #resume-status:empty {display:none;}
@media(min-width:1000px) {
  .resume-page {display:grid;grid-template-columns:minmax(280px,360px) minmax(0,660px);justify-content:center;align-items:start;gap:40px;}
  .resume-intro {text-align:left;margin:24px 0 0;}
  .resume-card {width:100%;margin:0;}
}

.resume-drop-hint {font-weight:400;color:var(--medium-gray);}
.resume-upload.is-dragging {border-color:var(--teal);background:#e5f4ef;box-shadow:0 0 0 2px var(--teal);}
#file-selected {overflow-wrap:anywhere;}

.required-mark {color:#c0392b;font-weight:700;}
.resume-control {position:relative;min-width:0;}
.resume-input-icon {position:absolute;left:13px;top:14px;width:18px;height:18px;color:#6b8c96;pointer-events:none;}
.resume-card .resume-control input {width:100%;padding:11px 14px 11px 41px;}
.resume-card .apply-field input:not([type=file]):not([type=checkbox]) {background:#f8fafb;border:1px solid #d7e2e6;border-radius:9px;color:var(--navy);font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s;}
.resume-card .apply-field input::placeholder {color:#71828c;font-weight:400;font-size:13px;}
.resume-card .apply-field input:not([type=file]):not([type=checkbox]):focus {background:white;border-color:var(--teal);box-shadow:0 0 0 3px #1e8a7a18;outline:none;}
.resume-card .apply-field input[aria-invalid=true] {border-color:#c0392b;}
.resume-phone-control {display:flex;align-items:stretch;border:1px solid #d7e2e6;border-radius:9px;background:#f8fafb;min-width:0;}
.resume-card .resume-phone-control input {border:0!important;background:transparent!important;border-radius:0!important;min-width:0;}
.resume-card .resume-phone-control input:first-child {width:82px;flex:0 0 82px;border-right:1px solid #d7e2e6!important;border-radius:9px 0 0 9px!important;font-weight:600;}
.resume-card .resume-phone-control input:last-child {width:100%;border-radius:0 9px 9px 0!important;}
.resume-phone-control:focus-within {border-color:var(--teal);box-shadow:0 0 0 3px #1e8a7a18;}
.resume-phone-control:has([aria-invalid=true]) {border-color:#c0392b;}
.resume-suggestion-list {position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:20;padding:5px;background:white;border:1px solid #d7e2e6;border-radius:10px;box-shadow:0 10px 24px #0b3d5c18;max-height:220px;overflow-y:auto;}
.resume-suggestion-option {padding:10px;border-radius:6px;font-size:14px;color:var(--navy);cursor:pointer;overflow-wrap:anywhere;}
.resume-suggestion-option[aria-selected=true],.resume-suggestion-option:hover {background:#eaf5f1;color:var(--teal);}
.resume-suggestion-note {padding:8px 10px;font-size:12px;color:var(--medium-gray);line-height:1.5;}

/* Shared job application fields on the standalone resume page. */
#general-form-host .apply-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
#general-form-host .apply-field-wide,#general-form-host [type=submit],#resume-status {grid-column:1/-1;}
#general-form-host [hidden] {display:none!important;}
#general-form-host .apply-resume-dropzone {position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px dashed #9bb4c2;padding:12px;border-radius:6px;background:#f8fbfc;}
#general-form-host .apply-resume-dropzone input[type=file] {position:absolute;width:1px;height:1px;padding:0;opacity:0;clip-path:inset(50%);}
#general-form-host .apply-resume-dropzone:focus-within,#general-form-host .apply-resume-dropzone.is-dragging {outline:2px solid var(--teal);outline-offset:2px;}
#general-form-host .apply-resume-dropzone small {flex-basis:100%;}
#general-form-host #resume-resume-browse {width:auto;flex:0 0 auto;margin-top:0;padding:7px 14px;font-size:13px;line-height:1.4;white-space:nowrap;}
#general-form-host .apply-field select {padding:10px 12px;border:1px solid var(--light-gray);border-radius:6px;font:inherit;font-size:13px;}
#general-form-host .resume-consent input {width:18px;height:18px;}
#general-form-host .apply-field {position:relative;min-width:0;}
@media(max-width:600px){#general-form-host .apply-form{grid-template-columns:1fr;}}

#general-form-host .apply-field select {min-height:44px;width:100%;background:#f8fbfb;color:var(--navy);}
#general-form-host .resume-consent span {flex:1;min-width:0;}

/* Premium standalone intake; shared Careers styles retain their own layout. */
.resume-submission-page .resume-page {
  padding: 32px 24px;
  gap: 48px;
  background: radial-gradient(ellipse at 8% 8%, rgba(30,138,122,.07), transparent 45%), var(--bg);
}
.resume-submission-page .resume-intro h1,
.resume-submission-page .resume-card h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  letter-spacing: -.025em;
}
.resume-submission-page .resume-intro h1 span { color: var(--teal); }
.resume-submission-page .resume-intro > .resume-eyebrow { display: flex; align-items: center; gap: 10px; }
.resume-submission-page .resume-intro > .resume-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--teal); }
.resume-submission-page .resume-intro h1 { font-size: clamp(32px,3.4vw,44px); line-height: 1.17; margin: 12px 0 16px; }
.resume-submission-page .resume-intro > p:not(.resume-eyebrow) { color: var(--medium-gray); font-size: 15px; line-height: 1.75; }
.resume-submission-page .resume-eyebrow { font-size: 10px; letter-spacing: .14em; }
.resume-submission-page .resume-intro > p.resume-purpose { font-size: 12px; line-height: 1.65; margin-top: 18px; }
.resume-submission-page .builder-entry { text-align: left; padding: 16px 0 0; border: 0; border-top: 1px solid var(--light-gray); border-radius: 0; background: transparent; margin: 20px 0 0; }
.resume-submission-page .builder-entry strong { font-size: 14px; color: var(--navy); }
.resume-submission-page .builder-entry p { font-size: 13px; color: var(--medium-gray); margin: 6px 0 0; line-height: 1.65; }
.resume-submission-page .resume-card { position: relative; padding: 28px; border: 1px solid var(--light-gray); border-radius: 20px; box-shadow: 0 16px 48px rgba(11,61,92,.06), inset 0 3px 0 var(--teal); }
.resume-submission-page .resume-card-heading { margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--light-gray); }
.resume-submission-page .resume-card-heading h2 { color: var(--navy); font-size: 28px; margin: 6px 0 8px; line-height: 1.2; }
.resume-submission-page .resume-card-heading > p:last-of-type { font-size: 13px; color: var(--medium-gray); line-height: 1.6; margin: 0; }
.resume-submission-page .resume-required-note { display: block; margin-top: 8px; font-size: 11px; color: var(--medium-gray); }
.resume-submission-page #general-form-host .apply-form { gap: 12px 20px; }
.resume-submission-page .apply-field label { line-height: 1.4; }
.resume-submission-page #general-form-host .apply-field input:not([type=file]):not([type=checkbox]),
.resume-submission-page #general-form-host .apply-field select,
.resume-submission-page #general-form-host .apply-field textarea {
  width: 100%; min-height: 44px; padding: 11px 12px; background: var(--bg); border: 1px solid var(--light-gray); border-radius: 9px; font: 14px/1.4 var(--font-stack); color: var(--navy); transition: border-color .15s, box-shadow .15s, background .15s;
}
.resume-submission-page #general-form-host .apply-field input:not([type=file]):not([type=checkbox]):focus,
.resume-submission-page #general-form-host .apply-field select:focus,
.resume-submission-page #general-form-host .apply-field textarea:focus { outline: none; background: white; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(30,138,122,.12); }
.resume-submission-page #general-form-host .apply-field [aria-invalid=true] { border-color: #b42318; }
.resume-submission-page #general-form-host .apply-field input:disabled { background: var(--light-gray); opacity: .7; }
.resume-submission-page .apply-field textarea::placeholder,
.resume-submission-page .apply-field input::placeholder { color: var(--medium-gray); font-size: 12px; }
.resume-submission-page #general-form-host .apply-field-details { padding-top: 12px; border-top: 1px solid var(--light-gray); }
.resume-submission-page #general-form-host .apply-field textarea { min-height: 84px; }
.resume-submission-page #general-form-host .apply-resume-dropzone { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px 12px; padding: 16px; border: 1px dashed rgba(30,138,122,.45); border-radius: 12px; background: linear-gradient(120deg,var(--bg),rgba(30,138,122,.04)); }
.resume-submission-page #general-form-host .apply-resume-dropzone:has(#remove-resume[hidden]) { grid-template-columns: minmax(0,1fr) auto; }
.resume-submission-page #file-selected { grid-column: 1; color: var(--navy); font-size: 13px; font-weight: 600; line-height: 1.5; }
.resume-submission-page #general-form-host #resume-resume-browse,
.resume-submission-page #general-form-host #remove-resume { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 36px; padding: 7px 14px; margin: 0; font-size: 13px; line-height: 1.4; border-radius: 8px; white-space: nowrap; }
.resume-submission-page #general-form-host #resume-resume-browse { grid-column: 2; background: var(--navy); color: white; }
.resume-submission-page #general-form-host #remove-resume { grid-column: 3; background: white; color: var(--navy); box-shadow: inset 0 0 0 1px var(--light-gray); }
.resume-submission-page #general-form-host .apply-resume-dropzone small { grid-column: 1 / -1; color: var(--medium-gray); font-size: 12px; }
.resume-submission-page #general-form-host .resume-consent { padding: 14px; background: var(--bg); border: 1px solid var(--light-gray); border-radius: 10px; line-height: 1.65; }
.resume-submission-page #general-form-host .resume-consent input { accent-color: var(--teal); margin-top: 2px; }
.resume-submission-page #general-form-host .apply-form > [type=submit] { min-height: 46px; border-radius: 10px; color: var(--navy); background: linear-gradient(180deg,rgba(255,255,255,.2),transparent),var(--gold); box-shadow: inset 0 1px 0 rgba(255,255,255,.5),0 4px 14px rgba(242,169,59,.15); transform: none; }
.resume-submission-page .resume-card:has(#resume-success:not([hidden])) .resume-card-heading { display: none; }
.resume-submission-page #resume-success h2 { font-size: 30px; }
@media (min-width:900px) {
  .resume-submission-page .resume-page { display: grid; grid-template-columns: minmax(240px,360px) minmax(0,660px); justify-content: center; align-items: start; gap: 40px; }
  .resume-submission-page .resume-intro { text-align: left; margin: 16px 0 0; }
  .resume-submission-page .resume-card { width: 100%; margin: 0; }
}
@media (max-width:899px) {
  .resume-submission-page .resume-intro { width: 100%; text-align: left; margin: 0 auto 24px; }
  .resume-submission-page .resume-intro h1 { max-width: 560px; font-size: clamp(30px,4vw,38px); line-height: 1.2; margin: 12px 0 14px; }
  .resume-submission-page .resume-intro > p:not(.resume-eyebrow) { max-width: 560px; }
  .resume-submission-page .resume-intro > p.resume-purpose { margin-top: 20px; }
  .resume-submission-page .builder-entry { padding-top: 16px; margin-top: 20px; }
}
@media (max-width:700px) {
  .resume-submission-page .resume-page { padding: 24px 16px; }
  .resume-submission-page .resume-intro h1 { margin-bottom: 14px; }
  .resume-submission-page .resume-card { padding: 22px 16px; border-radius: 16px; }
  .resume-submission-page .resume-card-heading { margin-bottom: 16px; padding-bottom: 14px; }
  .resume-submission-page .resume-card-heading h2 { font-size: 26px; }
  .resume-submission-page #general-form-host .apply-form { gap: 12px; }
  .resume-submission-page #general-form-host .apply-resume-dropzone,
  .resume-submission-page #general-form-host .apply-resume-dropzone:has(#remove-resume[hidden]) { grid-template-columns: auto auto minmax(0,1fr); padding: 12px; }
  .resume-submission-page #file-selected { grid-column: 1 / -1; }
  .resume-submission-page #general-form-host #resume-resume-browse { grid-column: 1; }
  .resume-submission-page #general-form-host #remove-resume { grid-column: 2; }
}
@media (prefers-reduced-motion:reduce) {
  .resume-submission-page #general-form-host .apply-field input,
  .resume-submission-page #general-form-host .apply-field select,
  .resume-submission-page #general-form-host .apply-field textarea { transition: none; }
}

/* Frosted surfaces and an existing brand photograph give intake a calmer finish. */
.resume-submission-page .resume-page {
  background:
    radial-gradient(ellipse at 0% 15%, rgba(30,138,122,.2), transparent 48%),
    radial-gradient(ellipse at 100% 35%, rgba(63,133,173,.14), transparent 48%),
    radial-gradient(ellipse at 55% 75%, rgba(242,169,59,.1), transparent 42%),
    #edf3f5;
}
.resume-submission-page .resume-portrait {
  position: relative;
  margin: 20px 0 0;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px 24px 64px 24px;
  background: rgba(255,255,255,.35);
  box-shadow: 0 18px 40px rgba(11,61,92,.12), inset 0 1px 0 white;
}
.resume-submission-page .resume-portrait img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center 22%;
  border-radius: 18px 18px 58px 18px;
}
.resume-submission-page .resume-portrait::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 18px 18px 58px 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.2), transparent 45%);
  pointer-events: none;
}
.resume-submission-page .resume-card {
  border: 1px solid rgba(255,255,255,.85);
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(255,255,255,.58));
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  backdrop-filter: blur(24px) saturate(140%);
  box-shadow: 0 24px 64px rgba(11,61,92,.1), 0 2px 8px rgba(11,61,92,.04), inset 0 1px 0 white, inset 0 -1px 0 rgba(255,255,255,.65);
}
.resume-submission-page .resume-card-heading,
.resume-submission-page .builder-entry,
.resume-submission-page #general-form-host .apply-field-details { border-color: rgba(11,61,92,.1); }
.resume-submission-page #general-form-host .apply-field input:not([type=file]):not([type=checkbox]),
.resume-submission-page #general-form-host .apply-field select,
.resume-submission-page #general-form-host .apply-field textarea {
  border-color: rgba(11,61,92,.12);
  background: rgba(255,255,255,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 1px 2px rgba(11,61,92,.025);
}
.resume-submission-page #general-form-host .apply-field input:not([type=file]):not([type=checkbox]):focus,
.resume-submission-page #general-form-host .apply-field select:focus,
.resume-submission-page #general-form-host .apply-field textarea:focus { background: rgba(255,255,255,.95); border-color: var(--teal); box-shadow: 0 0 0 3px rgba(30,138,122,.12), inset 0 1px 0 white; }
.resume-submission-page #general-form-host .apply-field [aria-invalid=true] { border-color: #b42318; }
.resume-submission-page #general-form-host .apply-field input:disabled { background: rgba(11,61,92,.07); }
.resume-submission-page #general-form-host .apply-resume-dropzone { background: linear-gradient(120deg, rgba(255,255,255,.65), rgba(30,138,122,.06)); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.resume-submission-page #general-form-host #resume-resume-browse { background: linear-gradient(160deg,rgba(255,255,255,.15),transparent 55%),var(--navy); box-shadow: inset 0 1px 0 rgba(255,255,255,.3),0 3px 8px rgba(11,61,92,.1); }
.resume-submission-page #general-form-host #remove-resume { background: rgba(255,255,255,.75); }
.resume-submission-page #general-form-host .resume-consent { background: rgba(255,255,255,.35); border-color: rgba(11,61,92,.1); }
.resume-submission-page #general-form-host .apply-form > [type=submit] { background: linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.08) 48%,transparent 49%),var(--gold); box-shadow: inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(160,102,11,.15),0 6px 16px rgba(242,169,59,.2); }
@media (max-width:899px) {
  .resume-submission-page .resume-portrait { max-width: 560px; margin-top: 20px; border-radius: 20px; }
  .resume-submission-page .resume-portrait img { height: 200px; object-position: center 12%; border-radius: 14px; }
  .resume-submission-page .resume-portrait::after { border-radius: 14px; }
}
@media (max-width:600px) { .resume-submission-page .resume-portrait img { height: 160px; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .resume-submission-page .resume-card { background: #f6f9fa; }
}
@media (prefers-reduced-transparency:reduce) {
  .resume-submission-page .resume-card { background: #f6f9fa; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .resume-submission-page #general-form-host .apply-field input:not([type=file]):not([type=checkbox]),
  .resume-submission-page #general-form-host .apply-field select,
  .resume-submission-page #general-form-host .apply-field textarea { background: white; }
}
