:root{--rec-bg:#07080b;--rec-panel:#101116;--rec-line:rgba(255,255,255,.1);--rec-gold:#f2b84b;--rec-orange:#ff6b2c;--rec-text:#f7f7f8;--rec-muted:#a6a8b3}
*{box-sizing:border-box}.recruitment-hero{position:relative;overflow:hidden;min-height:650px;padding:110px 0 82px;background:radial-gradient(circle at 72% 42%,rgba(255,102,30,.15),transparent 31%),linear-gradient(145deg,#0c0d12,#050608 72%);border-bottom:1px solid var(--rec-line)}
.recruitment-hero:before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}
.recruitment-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.16}.glow-one{width:400px;height:400px;right:-140px;top:-120px;background:var(--rec-orange)}.glow-two{width:260px;height:260px;left:20%;bottom:-180px;background:var(--rec-gold)}
.recruitment-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px}.recruitment-kicker,.section-label{display:flex;align-items:center;gap:10px;color:var(--rec-gold);font:800 12px/1 Inter,sans-serif;letter-spacing:.2em}.recruitment-kicker span{width:34px;height:2px;background:var(--rec-orange)}
.recruitment-copy h1{margin:24px 0 20px;color:var(--rec-text);font:800 clamp(46px,6vw,78px)/.99 "Sora",serif;letter-spacing:-.045em}.recruitment-copy h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px var(--rec-gold);text-shadow:0 0 26px rgba(242,184,75,.1)}.recruitment-copy>p{max-width:660px;color:var(--rec-muted);font-size:18px;line-height:1.75}.recruitment-actions{display:flex;gap:12px;margin-top:32px}.recruitment-actions .btn{padding:14px 22px}.recruitment-actions .btn-primary{background:linear-gradient(135deg,var(--rec-orange),#dc3c17);border:0}.btn-ghost{color:#fff;border:1px solid var(--rec-line);background:rgba(255,255,255,.04)}
.hero-meta{display:flex;gap:0;margin-top:45px;border-top:1px solid var(--rec-line);max-width:600px}.hero-meta div{display:flex;flex-direction:column;padding:20px 32px 0 0;margin-right:32px;border-right:1px solid var(--rec-line)}.hero-meta div:last-child{border:0}.hero-meta strong{color:#fff;font-size:16px}.hero-meta span{color:var(--rec-muted);font-size:12px;margin-top:5px}
.recruitment-emblem{display:grid;place-items:center;position:relative;min-height:390px}.emblem-ring{display:grid;place-items:center;width:min(360px,78vw);aspect-ratio:1;border:1px solid rgba(242,184,75,.32);border-radius:50%;box-shadow:0 0 70px rgba(255,107,44,.1),inset 0 0 50px rgba(242,184,75,.05)}.emblem-ring:before,.emblem-ring:after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.12)}.emblem-ring:before{inset:40px}.emblem-ring:after{inset:78px}.emblem-core{display:grid;place-items:center;width:160px;aspect-ratio:1;border-radius:32px;background:linear-gradient(145deg,#171923,#090a0e);border:1px solid var(--rec-line);transform:rotate(6deg);box-shadow:0 28px 80px #000}.emblem-core img{width:118px;transform:rotate(-6deg)}.recruitment-emblem>span{position:absolute;bottom:8px;color:#777b88;font-size:10px;letter-spacing:.32em}
.recruitment-section{padding:92px 0 110px;background:var(--rec-bg);color:var(--rec-text)}.recruitment-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:54px;align-items:start}.recruitment-aside{position:sticky;top:110px}.recruitment-aside h2{font:800 38px/1.1 "Sora",serif;margin:17px 0 14px}.recruitment-aside>p{color:var(--rec-muted);line-height:1.7}.requirement-list{display:grid;gap:10px;margin-top:32px}.requirement-list>div{display:flex;gap:16px;padding:17px;border:1px solid var(--rec-line);background:rgba(255,255,255,.025);border-radius:14px}.requirement-list b{color:var(--rec-orange);font-size:12px}.requirement-list span{display:grid;gap:5px}.requirement-list strong{font-size:14px}.requirement-list small{color:var(--rec-muted);line-height:1.5}.selection-flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:24px}.selection-flow span{padding:7px 10px;background:rgba(242,184,75,.08);color:var(--rec-gold);border-radius:7px;font-size:10px;font-weight:800}.selection-flow i{color:#555;font-style:normal}
.recruitment-card{background:linear-gradient(180deg,#12141a,#0d0e12);border:1px solid var(--rec-line);border-radius:24px;padding:clamp(24px,4vw,46px);box-shadow:0 30px 90px rgba(0,0,0,.32)}.form-heading{padding-bottom:30px;border-bottom:1px solid var(--rec-line)}.form-heading>span{color:var(--rec-orange);font-size:11px;font-weight:800;letter-spacing:.19em}.form-heading h2{font:800 34px/1.15 "Sora",serif;margin:10px 0}.form-heading p{color:var(--rec-muted);line-height:1.65;margin:0}.recruitment-card fieldset{border:0;padding:32px 0 0;margin:0}.recruitment-card legend{width:100%;padding:0 0 17px;color:#fff;font-weight:800;border-bottom:1px solid var(--rec-line)}.recruitment-card legend b{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:9px;border-radius:8px;background:rgba(255,107,44,.13);color:var(--rec-orange);font-size:11px}.recruitment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:20px}.recruitment-fields label{display:grid;gap:8px;color:#d8d9df;font-size:12px;font-weight:700}.recruitment-fields .full{grid-column:1/-1}.recruitment-fields input,.recruitment-fields select,.recruitment-fields textarea{width:100%;border:1px solid var(--rec-line);border-radius:11px;background:#090a0e;color:#fff;padding:13px 14px;font:500 14px Inter,sans-serif;outline:0;transition:.2s}.recruitment-fields input:focus,.recruitment-fields select:focus,.recruitment-fields textarea:focus{border-color:var(--rec-orange);box-shadow:0 0 0 3px rgba(255,107,44,.1)}.recruitment-fields textarea{resize:vertical;line-height:1.55}.upload-field input{padding:11px}.upload-field small{color:#7f828e;font-weight:500}.recruitment-consents{display:grid;gap:12px;margin:32px 0 24px;padding:20px;border:1px solid var(--rec-line);border-radius:14px;background:rgba(255,255,255,.02)}.recruitment-consents label{display:flex;align-items:flex-start;gap:10px;color:#c8cad1;font-size:13px;line-height:1.5}.recruitment-consents input{margin-top:3px;accent-color:var(--rec-orange)}.recruitment-submit{display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 20px;border:0;border-radius:12px;background:linear-gradient(100deg,var(--rec-orange),#e0461c);color:#fff;font:800 14px Inter,sans-serif;cursor:pointer;box-shadow:0 12px 28px rgba(255,86,29,.19)}.recruitment-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.recruitment-submit:disabled{opacity:.6;cursor:wait;transform:none}.recruitment-submit b{font-size:20px}.recruitment-message{display:none;margin-top:18px;padding:14px;border-radius:10px;font-size:13px;line-height:1.55}.recruitment-message.error{display:block;color:#ffb3a0;background:rgba(255,74,37,.1);border:1px solid rgba(255,74,37,.25)}.recruitment-message.success{display:block;color:#c9ffd4;background:rgba(44,196,91,.1);border:1px solid rgba(44,196,91,.25)}.privacy-note{text-align:center;color:#757985;font-size:11px;margin:14px 0 0}.recruitment-footer{padding:30px 0;background:#050609;border-top:1px solid var(--rec-line);color:var(--rec-muted)}.recruitment-footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.recruitment-footer div div{display:flex;align-items:center;gap:10px;color:#fff}.recruitment-footer img{width:34px}.recruitment-footer p,.recruitment-footer span{font-size:12px;margin:0}
@media(max-width:900px){.recruitment-hero{padding:92px 0 65px}.recruitment-hero-inner,.recruitment-layout{grid-template-columns:1fr}.recruitment-copy{text-align:center}.recruitment-copy>p{margin-inline:auto}.recruitment-kicker,.recruitment-actions,.hero-meta{justify-content:center}.recruitment-emblem{min-height:320px}.emblem-ring{width:290px}.recruitment-aside{position:static}.recruitment-layout{gap:38px}}
@media(max-width:620px){.recruitment-hero{min-height:auto}.recruitment-copy h1{font-size:42px}.recruitment-emblem{display:none}.hero-meta div{padding-right:16px;margin-right:16px}.recruitment-section{padding:62px 0 76px}.recruitment-fields{grid-template-columns:1fr}.recruitment-fields .full{grid-column:auto}.recruitment-card{border-radius:17px;padding:22px 17px}.recruitment-footer .container{flex-direction:column;text-align:center}.recruitment-actions{flex-direction:column}.recruitment-actions .btn{width:100%;text-align:center}}


/* === DOSMOS Recruitment v30.0.1 — iPhone / Android layout hotfix === */
/* style.css globally sets every input to width:100%; never allow that rule
   to stretch recruitment checkboxes. */
.recruitment-consents label{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  gap:11px;
  width:100%;
  min-width:0;
}
.recruitment-consents input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px;
  margin:1px 0 0 !important;
  padding:0 !important;
  justify-self:start;
  accent-color:var(--rec-orange);
}
.recruitment-consents label span{
  display:block;
  width:auto;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* File inputs must stay inside the form card on Safari/Chrome mobile. */
.recruitment-fields label,
.upload-field{
  min-width:0;
  max-width:100%;
}
.upload-field input[type="file"]{
  display:block;
  width:100% !important;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:8px !important;
  font-size:12px !important;
  line-height:1.35;
}
.upload-field input[type="file"]::file-selector-button{
  max-width:145px;
  margin:0 10px 0 0;
  padding:8px 11px;
  border:0;
  border-radius:9px;
  background:#f1f1f1;
  color:#1565c0;
  font:700 12px Inter,sans-serif;
}
.upload-field input[type="file"]::-webkit-file-upload-button{
  max-width:145px;
  margin:0 10px 0 0;
  padding:8px 11px;
  border:0;
  border-radius:9px;
  background:#f1f1f1;
  color:#1565c0;
  font:700 12px Inter,sans-serif;
}

html,body{max-width:100%;overflow-x:hidden}
.recruitment-card,
.recruitment-card form,
.recruitment-card fieldset,
.recruitment-fields,
.recruitment-consents{min-width:0;max-width:100%}

@media(max-width:620px){
  .recruitment-section{padding:44px 0 62px}
  .recruitment-layout{gap:28px}
  .recruitment-aside h2{font-size:30px}
  .requirement-list{margin-top:22px}
  .requirement-list>div{padding:14px}
  .selection-flow{gap:6px}

  .recruitment-card{
    width:100%;
    padding:20px 14px;
    border-radius:16px;
    overflow:hidden;
  }
  .form-heading{padding-bottom:22px}
  .form-heading h2{font-size:28px}
  .form-heading p{font-size:13px}
  .recruitment-card fieldset{padding-top:26px}
  .recruitment-card legend{font-size:14px}
  .recruitment-fields{gap:14px;margin-top:17px}
  .recruitment-fields input,
  .recruitment-fields select,
  .recruitment-fields textarea{
    min-width:0;
    max-width:100%;
    font-size:16px; /* prevents iOS Safari zooming when a field gets focus */
  }
  .upload-field input[type="file"]{font-size:12px}
  .upload-field small{font-size:10px;line-height:1.45}

  .recruitment-consents{
    gap:16px;
    margin:26px 0 20px;
    padding:16px 14px;
    border-radius:13px;
  }
  .recruitment-consents label{
    grid-template-columns:20px minmax(0,1fr);
    gap:10px;
    font-size:12px;
    line-height:1.55;
  }
  .recruitment-consents input[type="checkbox"]{
    width:17px !important;
    min-width:17px !important;
    max-width:17px !important;
    height:17px !important;
  }
  .recruitment-submit{
    min-height:52px;
    padding:15px 16px;
    font-size:13px;
  }
}

@media(max-width:390px){
  .recruitment-card{padding:18px 12px}
  .recruitment-consents{padding:14px 12px}
  .upload-field input[type="file"]::file-selector-button,
  .upload-field input[type="file"]::-webkit-file-upload-button{
    max-width:118px;
    margin-right:6px;
    padding:7px 8px;
    font-size:11px;
  }
}
