/* careers.html – Sushi Heaven Lancaster: page + on-site application form (Washi & Vermilion) */
.apply{padding:30px 0 110px}
.apply .center{text-align:center}
.apply .eyebrow{justify-content:center}
.apply .eyebrow::before{display:none}
.apply h2{font-size:clamp(34px,4.6vw,54px)}
.af-intro{color:var(--muted);font-size:15px;margin-top:-6px}
.req{color:var(--red)}
.af{max-width:920px;margin:36px auto 0;background:var(--card);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:var(--r);padding:44px 44px 40px;position:relative}
.af-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.af-field{min-width:0;border:0;margin:0;padding:0}
.af-field.wide{grid-column:1/-1}
.af-field>label,.af-field>legend{display:block;font-family:var(--sans);font-size:14.5px;font-weight:500;letter-spacing:.06em;color:var(--ink);margin-bottom:8px;line-height:1.45;padding:0}
.af-help{font-size:13.5px;color:var(--muted);line-height:1.5;margin:-2px 0 10px}
.af input[type=text],.af input[type=tel],.af input[type=email],.af input[type=date],.af textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:400;padding:13px 14px;line-height:1.5;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.af input[type=date]{min-height:50px;color-scheme:light}
.af textarea{resize:vertical;min-height:96px}
.af input:focus,.af textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,55,45,.14)}
.af-opts{display:flex;flex-wrap:wrap;gap:10px}
.af-opt{position:relative;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-size:15px;line-height:1.3;transition:border-color .2s,background .2s;user-select:none}
.af-opt:hover{border-color:var(--red)}
.af-opt input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1px solid var(--red);background:transparent;flex:none;display:grid;place-content:center;cursor:pointer}
.af-opt input[type=radio]{border-radius:50%}
.af-opt input[type=checkbox]{border-radius:3px}
.af-opt input::before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .15s;background:var(--red)}
.af-opt input[type=radio]::before{border-radius:50%}
.af-opt input[type=checkbox]::before{clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.af-opt input:checked::before{transform:scale(1)}
.af-opt input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.af-opt:has(input:checked){border-color:var(--red);background:rgba(200,55,45,.07)}
.af-err{display:none;color:#b3261e;font-size:13.5px;margin-top:7px;line-height:1.4}
.af-field.invalid .af-err{display:block}
.af-field.invalid input[type=text],.af-field.invalid input[type=tel],.af-field.invalid input[type=email],.af-field.invalid input[type=date],.af-field.invalid textarea,.af-field.invalid .af-opt{border-color:#b3261e}
.af-statement{margin:38px 0 26px;padding:26px 28px;border-left:2px solid var(--red);background:var(--paper2);border-radius:0 8px 8px 0}
.af-statement h3{font-size:24px;margin-bottom:12px;color:var(--ink)}
.af-statement p{font-size:14.5px;color:var(--ink2);line-height:1.65}
.af-statement p+p{margin-top:12px}
.af-statement strong{font-weight:700;letter-spacing:.12em;font-size:13px;color:var(--ink)}
.af-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.af-alert{margin-top:26px;padding:14px 18px;border-radius:8px;font-size:15px;line-height:1.5}
.af-alert-err{background:#fbe9e6;border:1px solid #e3a59d;color:#8c1d15}
.af-alert a{color:var(--red);text-decoration:underline}
.af-actions{margin-top:30px;display:flex;justify-content:center}
.af-actions .btn{min-width:260px;justify-content:center;align-self:center}
.af-actions .btn[disabled]{opacity:.65;cursor:progress}
.af-actions .btn.loading .lbl::after{content:"";display:inline-block;width:12px;height:12px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:afspin .8s linear infinite;vertical-align:-1px}
@keyframes afspin{to{transform:rotate(360deg)}}
.af-done{max-width:640px;margin:36px auto 0;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:50px 34px;outline:none}
.af-check{width:64px;height:64px;margin:0 auto 18px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center}
.af-check svg{width:30px;height:30px;fill:var(--red)}
.af-done h3{font-size:34px;margin-bottom:12px}
.af-done p{color:var(--ink2)}
.af-done a{color:var(--red)}
@media (max-width:720px){
  .apply{padding:24px 0 90px}
  .af{padding:26px 18px 28px;margin-top:26px;border-radius:12px}
  .af-grid{grid-template-columns:1fr;gap:22px}
  .af-opt{font-size:15px;padding:11px 16px 11px 12px}
  .af-opts{gap:8px}
  .af-statement{padding:20px 18px;margin:30px 0 22px}
  .af-actions .btn{width:100%;min-width:0}
}
/* signature certification checkbox */
.af-field>label.af-consent{display:flex;margin:0;letter-spacing:.02em;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:15px;line-height:1.55;color:var(--ink)}
.af-field>label.af-consent:hover{border-color:var(--red)}
.af-field .af-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:2px 0 0;flex:none;border:1px solid var(--red);border-radius:3px;display:grid;place-content:center;cursor:pointer;background:transparent}
.af-field .af-consent input[type=checkbox]::before{content:"";width:11px;height:11px;transform:scale(0);transition:transform .15s;background:var(--red);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.af-field .af-consent input[type=checkbox]:checked::before{transform:scale(1)}
.af-field .af-consent input[type=checkbox]:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.af-field>label.af-consent:has(input:checked){border-color:var(--red);background:rgba(200,55,45,.06)}
.af-field.invalid>label.af-consent{border-color:#b3261e}
.af-signed-note{margin-top:12px;font-size:13.5px;color:var(--muted)}

/* careers page hero + roles */
.chero{padding:clamp(28px,5vw,64px) 0 clamp(30px,4vw,56px)}
.chero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.chero h1 em{font-style:normal;color:var(--red)}
.chero .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.chero-img{border-radius:220px 220px var(--r) var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.3;border:8px solid var(--card)}
.chero-img img{width:100%;height:100%;object-fit:cover}
.jobs-sec{padding:40px 0 30px}
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.job{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;position:relative}
.job .num{font:700 .8rem/1 var(--sans);letter-spacing:.2em;color:var(--red)}
.job h3{font-size:1.45rem;margin:12px 0 10px}
.job p{margin:0;color:var(--ink2);font-size:.97rem}
@media (max-width:860px){.chero-in{grid-template-columns:1fr}.chero-img{max-width:460px;margin:0 auto;width:100%}.jobs{grid-template-columns:1fr}}
@media (max-width:640px){.chero .btns .btn{flex:1}}
