.role-stage{overflow:clip}
.application-arrival{position:absolute;inset:0;z-index:5;pointer-events:none;visibility:hidden}
.application-dimmer{position:absolute;inset:0;background:#08140c;opacity:0;pointer-events:none}
.application-window{position:absolute;inset:0;pointer-events:none}
.application-poster{position:absolute;left:50%;top:0;width:min(880px,calc(100% - 96px));display:grid;grid-template-columns:.85fr 1.4fr;background:var(--ink);color:var(--night);transform-origin:50% 50%;will-change:transform,opacity;box-shadow:3px 5px 7px #0005;line-height:1.45}
.application-arrival[data-ready=true] .application-poster{pointer-events:auto}
.application-intro{display:flex;flex-direction:column;padding:30px;background:var(--olive);color:var(--night)}
.poster-wordmark{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:23px;font-weight:600;letter-spacing:.02em;line-height:1}
.application-intro h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(38px,4.2vw,58px);font-weight:600;line-height:1.03;letter-spacing:-.02em;margin:40px 0 20px}
.application-role{font-size:17px;line-height:1.4;max-width:20ch}
.application-location{margin-top:auto;padding-top:38px;font-size:12px;line-height:1.7}
.application-body{padding:30px 34px;min-width:0;display:flex;align-items:center}
.application-body form{width:100%}
.application-body h3{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin:0 0 24px;text-wrap:balance}
.application-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.application-field{min-width:0}
.application-field-wide{grid-column:1/-1}
.application-field>label{display:block;font-size:13px;line-height:1.45;margin-bottom:7px;font-weight:500}
.application-field>label span{font-size:11px;font-weight:400}
.application-field>input{display:block;min-width:0;width:100%;height:44px;border:1px solid #879080;border-radius:2px;background:#fff;color:var(--night);padding:9px 11px;font:inherit;font-size:16px;line-height:1.3;box-shadow:none;color-scheme:light}
.application-field>input:hover{border-color:var(--night)}
.application-field>input:focus-visible{outline:2px solid #395741;outline-offset:2px;border-color:#395741}
.cv-upload{position:relative;display:flex;align-items:center;gap:13px;min-height:76px;padding:14px;border:1px dashed #72806d;background:#e9eddf;color:var(--night);border-radius:2px}
.cv-upload>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}
.cv-upload>svg,.cv-upload-mark{flex-shrink:0}
.cv-upload:focus-within{outline:2px solid #395741;outline-offset:3px}
.cv-upload:hover,.cv-upload[data-dragging=true]{background:#dce4cf;border-color:var(--night)}
.cv-upload[data-invalid=true]{border-color:#983a29;background:#f4e4df}
.cv-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
#cv-filename{font-size:14px;overflow-wrap:anywhere}
#cv-description{font-size:11px;color:#46523f}
.cv-upload-mark{margin-left:auto;font-size:23px;line-height:1}
.application-error{font-size:12px;line-height:1.45;color:#8b2c1c;margin-top:8px}
.application-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;margin-top:24px;padding:11px 16px;border:0;border-radius:2px;background:var(--night);color:var(--ink);font-size:14px;line-height:1.4;transition:background .18s}
.application-submit:hover{background:#304735}
.application-submit:focus-visible,.application-other:focus-visible{outline:2px solid #395741;outline-offset:4px}
.application-notice{font-size:11px;line-height:1.5;color:#46523f;margin-top:12px;max-width:44ch}
.application-success{width:100%;padding-block:26px;outline:none}
.application-success>svg{margin-bottom:22px;color:#395741}
.application-success h3{font-size:28px;line-height:1.15;margin-bottom:16px;outline:none}
.application-success p{font-size:14px;line-height:1.6;margin-bottom:16px;max-width:32ch}
.application-success #application-success-role{font-size:16px;margin-bottom:8px}
.application-other{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding:12px 0;border:0;border-bottom:1px solid #879080;background:none;color:var(--night);font-size:14px;min-height:44px;text-align:left}
.application-other:hover{color:#395741}
.application-body [hidden]{display:none}
.role-stage[data-application=true] .story-footer{z-index:6}
.role-stage[data-application=true] .story-footer>p:after{content:''}
@media(max-width:700px){
  .application-poster{width:calc(100% - 36px);max-width:450px;grid-template-columns:1fr}
  .application-intro{position:relative;padding:21px 23px 23px}
  .poster-wordmark{font-size:16px}
  .application-intro h2{font-size:36px;margin:16px 0 8px;line-height:1.04}
  .application-intro h2 br{display:none}
  .application-role{font-size:14px;max-width:100%}
  .application-location{position:absolute;top:20px;right:23px;padding:0;margin:0;text-align:right;font-size:10px;line-height:1.5}
  .application-body{padding:23px}
  .application-body h3{font-size:20px;margin-bottom:20px}
  .application-fields{grid-template-columns:1fr;gap:15px}
  .application-field>label{font-size:13px;margin-bottom:6px}
  .application-field>input{height:42px}
  .cv-upload{min-height:72px;padding:12px;gap:11px}
  .application-submit{margin-top:20px}
  .application-notice{margin-top:11px;font-size:10px}
  .application-success{padding-block:15px}
  .application-success h3{font-size:25px}
}
@media(max-width:360px){.application-poster{width:calc(100% - 28px)}.application-body{padding:20px}.application-intro{padding:20px}.application-intro h2{font-size:32px}.application-location{right:20px}.application-fields{gap:13px}}
@media(max-height:550px) and (min-width:701px){.application-poster{width:min(800px,calc(100% - 64px))}.application-intro{padding:25px}.application-intro h2{margin-top:28px}.application-body{padding:25px}.application-body h3{margin-bottom:18px}.application-fields{gap:13px}.application-submit{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.application-poster{will-change:auto}.application-submit{transition:none}}
