:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152542;background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:8px max(24px,calc((100vw - 1250px)/2));background:#fff;gap:20px}.brand{display:flex;align-items:center;width:218px;height:60px}.brand img{display:block;width:100%;height:100%;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.nav-cta,.primary-btn{background:#1668db;color:#fff;border:0;border-radius:11px;padding:13px 23px;font-weight:700;box-shadow:0 9px 22px #1668db25}.nav-cta:hover,.primary-btn:hover{background:#0958c4}.hero{position:relative;max-width:1920px;margin:0 auto}.hero-image{display:block;width:100%;height:auto}.hero-fade{position:absolute;bottom:-1px;left:0;right:0;height:14%;background:linear-gradient(to bottom,#fff0,#fff)}.apply-section{max-width:1060px;margin:0 auto;padding:18px 24px 90px;text-align:center;scroll-margin-top:24px}.eyebrow{font-size:12px;letter-spacing:.34em;font-weight:750;color:#1d73e2}.apply-section h1{font-size:clamp(30px,4vw,49px);letter-spacing:-.045em;line-height:1.14;margin:15px 0 10px}.apply-section h1 span{color:#176bd5}.intro{font-size:16px;color:#6d7b90;margin:0 auto 32px;max-width:640px;line-height:1.6}.application-card{text-align:left;background:#fff;border:1px solid #d6e4f8;border-radius:22px;padding:34px 46px 24px;box-shadow:0 24px 60px #1e5d9920}.stepper{display:flex;justify-content:center;align-items:center;gap:15px;margin:0 0 39px}.step{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#8490a5;white-space:nowrap}.step.active,.step.complete{color:#1468d5}.step-num{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;background:#eef2f8;border:1px solid #e3e9f2;font-weight:800;flex:none}.step.active .step-num{background:#1a72e6;border-color:#1a72e6;color:white;box-shadow:0 4px 14px #2676de44}.step.complete .step-num{background:#dcecff;color:#1367cf}.step-line{height:1px;background:#d7e1ec;max-width:80px;flex:1}.step-page[hidden],button[hidden]{display:none!important}.step-page h2{font-size:23px;margin:0 0 6px;letter-spacing:-.025em}.step-description{margin:0 0 25px;color:#7d8ba1;font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}.fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650}.fields label .required-mark{color:#e13557}.fields small{color:#8490a4;font-weight:450}.fields input:not([type=file]),.fields select,.fields textarea{width:100%;min-width:0;border:1px solid #d6e0ec;border-radius:10px;padding:13px 15px;min-height:47px;background:#fff;color:#263d59;outline:none;transition:border-color .15s,box-shadow .15s}.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:#4284e9;box-shadow:0 0 0 3px #357ce51e}.fields textarea{resize:vertical}.fields .wide{grid-column:1/-1}.upload-box{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-height:150px;border:1.5px dashed #91b9f1;border-radius:13px;background:#f8fbff;position:relative;text-align:center;padding:15px;overflow:hidden}.upload-box .upload-icon{border-radius:50%;display:grid;place-items:center;width:32px;height:32px;background:#e5f0ff;color:#1669d2;font-size:22px}.upload-box strong{font-size:14px;color:#245798}.upload-box small{overflow-wrap:anywhere}.upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-box:focus-within{outline:3px solid #4284e9}.form-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:16px}.form-bottom .primary-btn{margin-left:auto}.back-btn{border:1px solid #dbe4ef;background:#f2f6fa;border-radius:10px;padding:12px 25px;color:#697a91}.notice{padding:14px 18px;border-radius:11px;margin:20px auto;max-width:780px;background:#eef4ff;color:#254d81}.notice.success{background:#e8f8ed;color:#216c3a}.notice.error{background:#fff0ef;color:#9e2a2a}footer{border-top:1px solid #f0f2f6;display:flex;align-items:center;flex-direction:column;padding:28px 20px 36px;color:#7b8697;font-size:13px}footer img{width:175px;height:65px;object-fit:contain}footer p{margin:0 0 11px}footer small{font-size:11px}@media(max-width:680px){.site-header{height:61px;padding:4px 14px}.brand{width:145px;height:52px}.site-header nav{gap:12px;font-size:12px}.site-header nav>a:first-child{display:none}.nav-cta{padding:10px 13px}.hero-fade{height:20%}.apply-section{padding:26px 14px 50px}.eyebrow{font-size:10px;letter-spacing:.22em}.intro{font-size:14px;margin-bottom:22px}.application-card{padding:23px 18px 20px;border-radius:17px}.stepper{gap:5px;margin-bottom:27px}.step{gap:5px;flex-direction:column;text-align:center;font-size:10px;flex:1;white-space:normal}.step-num{width:29px;height:29px}.step-line{max-width:14px;flex:0 0 10px;align-self:flex-start;margin-top:14px}.fields{grid-template-columns:1fr;gap:17px}.fields .wide{grid-column:auto}.step-page h2{font-size:21px}.primary-btn,.back-btn{padding:12px 15px;font-size:13px}.form-bottom{margin-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Careers landing page: the supplied hiring artwork is the entire hero. No navbar. */
.hero{max-width:none}
.career-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left;margin:37px auto 0;padding:0 8px}
.highlight{display:flex;gap:13px;align-items:flex-start;padding:8px 2px}
.highlight-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:50%;background:#edf5ff;color:#176bd5;font-size:12px;font-weight:800}
.highlight strong{display:block;font-size:14px;color:#17294c;margin:2px 0 4px}
.highlight p{margin:0;font-size:12px;color:#7a879b;line-height:1.55}
.position-notice{margin:0 0 22px;text-align:left;font-size:13px}
@media(max-width:680px){.career-highlights{grid-template-columns:1fr;gap:11px;margin-top:29px;padding:0 6px}.highlight{padding:2px 0}.hero-fade{height:16%}}

/* v3: minimal, image-first application layout. */
.apply-section{padding-top:12px}
.application-card{margin-top:0}
/* Reserve the form's true horizontal center for Next / Submit, even when Back is visible. */
.form-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}
.form-bottom .back-btn{grid-column:1;grid-row:1;justify-self:start}
.form-bottom .primary-btn{grid-column:2;grid-row:1;justify-self:center;margin-left:0}
footer{padding:18px 14px 25px;display:block;text-align:center}
footer p{margin:0;color:#7b8697;font-size:12px;line-height:1.5;white-space:nowrap}
@media(max-width:680px){.apply-section{padding-top:16px}.form-bottom{gap:4px}.form-bottom .primary-btn{padding-left:13px;padding-right:13px}.form-bottom .back-btn{padding-left:10px;padding-right:10px}footer p{font-size:11px;white-space:normal}}

/* v4: tidy required labels and shorten empty space under the quiz. */
.fields label .field-title{display:inline-flex;align-items:baseline;gap:4px;min-height:18px;flex-wrap:wrap;color:#152542}
.fields label .field-title .required-mark{color:#e13557;display:inline;line-height:1;font-weight:750}
.fields label .field-title small{font-weight:450;color:#8490a4}
.apply-section{padding-bottom:48px}
.application-card{padding-bottom:29px}
@media(max-width:680px){.apply-section{padding-bottom:30px}.application-card{padding-bottom:23px}}



/* v6 — original artwork intact; smaller desktop frame; plain job description. */
body{background:#fff}
.hero-frame{width:min(1480px,calc(100% - 64px));margin:28px auto 0;border-radius:27px;overflow:hidden;background:#fff;box-shadow:0 22px 65px rgba(48,38,34,.13)}
.hero-frame .hero{width:100%;max-width:none}
.hero-frame .hero-image{display:block;width:100%;height:auto;object-fit:contain}
.hero-frame .hero-fade{height:11%;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.98))}
/* Desktop frame is narrower, so the same full image ends higher on the page. */
@media(min-width:681px){
  .hero-frame{width:min(1180px,calc(100% - 72px));margin-top:18px;border-radius:22px}
}
.role-intro{width:min(100%,850px);margin:0 auto;padding:22px 24px 38px;text-align:left;color:#263348}
.role-intro h1{margin:0 0 12px;font-size:clamp(26px,3vw,34px);line-height:1.25;letter-spacing:-.025em;font-weight:800;color:#152542}
.role-lead,.role-invite,.role-outro{max-width:none;margin:0 0 22px;font-size:15px;line-height:1.7;color:#34445b}
.role-skills{max-width:none;margin:0 0 18px;text-align:left}
.role-skills h2{margin:0 0 9px;font-size:16px;line-height:1.5;letter-spacing:0;font-weight:750}
.role-skills ul{display:block;list-style:disc;margin:0 0 0 23px;padding:0}
.role-skills li{display:list-item;min-height:0;margin:0 0 6px;padding:0;border:0;border-radius:0;background:transparent;font-size:15px;font-weight:400;line-height:1.65;color:#34445b;text-align:left}
.role-invite{margin-top:18px;margin-bottom:22px}
.role-facts{display:block;max-width:none;margin:0 0 22px;text-align:left}
.role-facts p{margin:0 0 8px;font-size:15px;line-height:1.65;color:#34445b;overflow-wrap:anywhere}
.role-facts strong{color:#20334f;font-weight:750}
.role-outro{margin-bottom:20px}
.role-apply-wrap{text-align:center}
.role-apply-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:49px;padding:13px 25px;border-radius:12px;background:#1668db;color:#fff;font-size:14px;line-height:1.4;font-weight:760;box-shadow:0 10px 25px rgba(22,104,219,.22);transition:background .2s,transform .2s}
.role-apply-btn:hover{background:#0756c0;transform:translateY(-1px)}
.role-apply-btn:focus-visible{outline:3px solid #8cbbff;outline-offset:4px}
.apply-section:not(:target){display:none}
.apply-section:target{display:block;padding-top:24px;scroll-margin-top:20px}
footer{margin-top:0}
@media(max-width:680px){
  /* Match the previously approved mobile hero dimensions and framing exactly. */
  .hero-frame{width:calc(100% - 20px);margin:10px auto 0;border-radius:16px;box-shadow:0 12px 32px rgba(48,38,34,.11)}
  .hero-frame .hero-fade{height:12%}
  .role-intro{padding:25px 18px 34px}
  .role-intro h1{font-size:clamp(26px,7vw,32px)}
  .role-lead,.role-invite,.role-outro,.role-skills li,.role-facts p{font-size:14px}
  .role-skills h2{font-size:15px}
  .role-skills ul{margin-left:20px}
  .role-apply-btn{width:100%;max-width:420px;padding:14px 12px}
  .apply-section:target{padding-top:14px;scroll-margin-top:10px}
}
@media(prefers-reduced-motion:reduce){.role-apply-btn:hover{transform:none}}


/* Final desktop refinement: image artwork is unchanged and mobile design stays intact.
   Straight-edged, unframed hero with bottom-only viewport cropping and a white fade. */
@media (min-width:681px) {
  .hero-frame {
    width:min(1180px,100%);
    margin:0 auto;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    background:#fff;
  }
  .hero-frame .hero {
    position:relative;
    width:100%;
    aspect-ratio:2.16 / 1;
    overflow:hidden;
  }
  .hero-frame .hero-image {
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    object-fit:unset;
  }
  .hero-frame .hero-fade {
    bottom:0;
    height:19%;
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.55) 65%,#fff 100%);
  }
  .role-intro {
    box-sizing:border-box;
    width:min(100%,790px);
    margin:0 auto;
    padding:12px 24px 32px;
    text-align:left;
  }
  .role-intro h1 {
    text-align:left;
    margin:0 0 10px;
    font-size:clamp(26px,2.3vw,32px);
    line-height:1.25;
  }
  .role-lead,.role-invite,.role-outro {
    margin-bottom:17px;
    font-size:15px;
    line-height:1.62;
  }
  .role-skills {margin:0 0 14px;}
  .role-skills h2 {margin:0 0 7px;}
  .role-skills ul {margin-left:22px;}
  .role-skills li {margin-bottom:2px;line-height:1.6;}
  .role-invite {margin:13px 0 17px;}
  .role-facts {margin:0 0 17px;}
  .role-facts p {margin:0 0 5px;line-height:1.6;}
  .role-outro {margin:0 0 18px;}
  .role-apply-wrap {text-align:center;}
}
