/* Fraughton brand theme — matched to fraughtonmp.com: orange, black, gold, warm cream. */
:root{
  --fm-orange:#ff975c;
  --fm-orange-dark:#e87435;
  --fm-orange-soft:#ffd2b8;
  --fm-gold:#f2c84b;
  --fm-black:#050505;
  --fm-charcoal:#171717;
  --fm-cream:#fff8ef;
  --fm-paper:#ffffff;
  --fm-ink:#151515;
  --fm-line:#e6c4a8;
}
body{background:var(--fm-cream)!important;color:var(--fm-ink)}
.site-header{background:#fff!important;border-bottom:8px solid var(--fm-orange)!important;box-shadow:0 10px 35px rgba(0,0,0,.18)!important}
.site-header:after{content:"";display:block;height:5px;background:var(--fm-black)}
.brand{display:flex;align-items:center;background:#fff;padding:7px 12px;border:0;box-shadow:none}
.brand img{display:block!important;opacity:1!important;filter:none!important;max-width:100%;height:70px!important;object-fit:contain!important}
.site-header nav a{color:var(--fm-black)!important;padding:11px 15px;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}
.site-header nav a:hover{background:var(--fm-orange)!important;color:var(--fm-black)!important}

.application-hero{position:relative;background:
 linear-gradient(105deg,rgba(0,0,0,.98) 0%,rgba(10,10,10,.96) 56%,rgba(54,31,14,.93) 100%),
 radial-gradient(circle at 82% 24%,rgba(255,151,92,.55),transparent 31%)!important;
 border-bottom:14px solid var(--fm-orange)!important;padding:88px 0 80px!important}
.application-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 18px);pointer-events:none}
.application-hero:after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:7px;background:var(--fm-black)!important}
.application-hero .eyebrow{color:var(--fm-orange)!important;font-family:Arial,Helvetica,sans-serif;font-weight:900}
.application-hero h1{color:#fff!important;text-transform:uppercase;letter-spacing:.015em}
.application-hero h1 em{color:var(--fm-orange)!important;font-style:normal}
.application-hero p{color:#eee!important}
.hero-badges span{background:var(--fm-orange)!important;border:2px solid var(--fm-gold)!important;color:var(--fm-black)!important;font-weight:900}
.hero-callout{background:var(--fm-paper)!important;border:5px solid var(--fm-orange)!important;box-shadow:18px 18px 0 var(--fm-black),0 25px 70px rgba(0,0,0,.42)!important}
.hero-callout:before{border-color:var(--fm-gold)!important}
.callout-kicker,.hero-start{color:var(--fm-orange-dark)!important}
.hero-start{border-bottom:3px solid var(--fm-orange)!important}

.application-shell{background:
 linear-gradient(rgba(255,248,239,.96),rgba(255,248,239,.96)),
 repeating-linear-gradient(135deg,rgba(255,151,92,.18) 0 2px,transparent 2px 24px)!important}
.application-intro:before{color:var(--fm-orange)!important}
.application-intro h2{color:var(--fm-black)!important}
.application-progress{background:var(--fm-black)!important;border:4px solid var(--fm-orange)!important;box-shadow:0 15px 32px rgba(0,0,0,.25)!important}
.application-progress a{color:#fff!important;border-right-color:#3e3e3e!important}
.application-progress a span{background:#191919!important;border-color:var(--fm-orange)!important;color:#fff!important}
.application-progress a.active,.application-progress a:hover{background:var(--fm-orange)!important;color:var(--fm-black)!important}
.application-progress a.active span,.application-progress a:hover span{background:var(--fm-black)!important;color:var(--fm-gold)!important;border-color:#fff!important}

.application-form .form-section{position:relative!important;padding:0 38px 40px!important;background:var(--fm-paper)!important;border:2px solid var(--fm-line)!important;border-left:10px solid var(--fm-orange)!important;box-shadow:0 18px 42px rgba(48,25,8,.14)!important;overflow:hidden!important}
.application-form .form-section:before{content:"";position:absolute;top:0;left:0;right:0;height:9px!important;background:linear-gradient(90deg,var(--fm-orange) 0 76%,var(--fm-black) 76% 92%,var(--fm-gold) 92% 100%)!important}
.application-form .section-title{position:relative!important;display:grid!important;grid-template-columns:70px 1fr!important;align-items:center!important;column-gap:20px!important;min-height:112px!important;margin:0 -38px 30px!important;padding:24px 38px!important;background:linear-gradient(105deg,var(--fm-black) 0%,var(--fm-charcoal) 73%,var(--fm-orange) 73%,var(--fm-orange) 100%)!important;border:0!important;color:#fff!important}
.application-form .section-title:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--fm-gold)}
.application-form .section-number{position:absolute!important;z-index:3!important;left:38px!important;top:28px!important;width:60px!important;height:60px!important;margin:0!important;border-radius:50%!important;background:var(--fm-orange)!important;color:var(--fm-black)!important;border:4px solid #fff!important;box-shadow:0 0 0 4px rgba(242,200,75,.78)!important;font-size:1.4rem!important;font-weight:900!important}
.application-form .section-title h2{grid-column:2!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-size:clamp(1.65rem,3.8vw,2.5rem)!important;text-shadow:none!important;margin:0!important}
.application-form .section-title p,.application-form .section-title .section-kicker{grid-column:2!important;color:var(--fm-orange-soft)!important;margin:.32rem 0 0!important}
.application-form .section-title .section-kicker{letter-spacing:.16em!important;color:var(--fm-gold)!important}
.application-form label,.field>label{color:#27211d!important}
input,select,textarea{background:#fff!important;border:2px solid #d7b99f!important;border-radius:4px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important}
input:hover,select:hover,textarea:hover{border-color:var(--fm-orange)!important}
input:focus,select:focus,textarea:focus{border-color:var(--fm-orange-dark)!important;box-shadow:0 0 0 4px rgba(255,151,92,.22)!important;outline:none!important}
.choice-row label{background:#fff4e9!important;border:2px solid #e5c6ac!important;border-radius:4px!important}
.choice-row label:has(input:checked){background:var(--fm-orange-soft)!important;border-color:var(--fm-orange-dark)!important;color:var(--fm-black)!important;box-shadow:0 0 0 3px rgba(255,151,92,.16)}

.certification-box{background:linear-gradient(135deg,var(--fm-black),#252525)!important;border:5px solid var(--fm-orange)!important;border-left:12px solid var(--fm-gold)!important;box-shadow:18px 18px 0 var(--fm-orange)!important}
.cert-number{background:var(--fm-orange)!important;color:var(--fm-black)!important;border-color:#fff!important;box-shadow:0 0 0 4px var(--fm-gold)!important}
.certification-box h2{color:#fff!important;text-transform:uppercase;letter-spacing:.04em;font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important}
.certification-box p{color:#eee!important}
.certification-box .consent{border-color:rgba(255,151,92,.6)!important;background:rgba(255,151,92,.1)!important}
.submit-btn{background:var(--fm-orange)!important;border:4px solid var(--fm-black)!important;color:var(--fm-black)!important;box-shadow:0 14px 0 var(--fm-black),0 23px 35px rgba(0,0,0,.28)!important;font-weight:900!important}
.submit-btn:hover{background:var(--fm-gold)!important;transform:translateY(-2px)!important;box-shadow:0 16px 0 var(--fm-black),0 27px 40px rgba(0,0,0,.3)!important}
.eeo-note{color:#51483e!important}
.site-footer{background:var(--fm-black)!important;border-top:10px solid var(--fm-orange)!important;box-shadow:inset 0 5px 0 var(--fm-gold)}

/* Admin branding */
.admin-top{background:var(--fm-black)!important;border-bottom:6px solid var(--fm-orange)!important}
.admin-top nav a:hover{color:var(--fm-orange)!important}
.admin-body{background:var(--fm-cream)!important}
.panel,.stat-grid>div{border-top:5px solid var(--fm-orange)!important}
.btn.primary{background:var(--fm-orange)!important;color:var(--fm-black)!important;border-color:var(--fm-black)!important}
.btn.primary:hover{background:var(--fm-gold)!important}
.actions a{color:var(--fm-orange-dark)!important}

@media(max-width:800px){
  .brand{padding:5px 8px}.brand img{height:52px!important}
  .application-form .form-section{padding:0 18px 28px!important;border-left-width:6px!important}
  .application-form .section-title{grid-template-columns:54px 1fr!important;column-gap:13px!important;min-height:94px!important;margin:0 -18px 24px!important;padding:18px!important}
  .application-form .section-number{left:18px!important;top:20px!important;width:48px!important;height:48px!important;font-size:1.05rem!important}
  .application-form .section-title h2{font-size:1.35rem!important}
  .application-form .section-title p{font-size:.88rem!important}
  .hero-callout{box-shadow:10px 10px 0 var(--fm-black)!important}
  .certification-box{box-shadow:10px 10px 0 var(--fm-orange)!important}
}

@media print{
  .site-header,.application-progress,.hero-callout,.site-footer{display:none!important}
  .application-hero{background:#fff!important;color:#000!important;border-bottom:5px solid #000!important;padding:20px 0!important}
  .application-hero h1,.application-hero p{color:#000!important}
  .application-form .section-title{background:#ddd!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .application-form .section-title h2{color:#000!important}
  .application-form .section-number{background:#000!important;color:#fff!important}
}

/* Mobile-first essential application refinements */
.application-intro p{max-width:680px}
.application-form .field{margin-bottom:22px}
.application-form .field:last-child{margin-bottom:0}
.application-form .field>label{display:block;margin-bottom:8px;font-weight:800}
.application-form textarea{min-height:118px;resize:vertical}
.application-form input,.application-form select,.application-form textarea{font-size:16px;min-height:52px;width:100%}
.choice-row input{width:auto;min-height:auto}
.resume-section small{display:block;margin:5px 0 10px;color:#6c6258;font-weight:500}

@media(max-width:640px){
  html{scroll-padding-top:74px}
  .site-header{position:relative}
  .nav-wrap{height:auto;min-height:72px;padding:8px 14px;gap:8px}
  .brand{min-width:0;flex:1}.brand img{width:100%!important;height:auto!important;max-height:52px!important;object-position:left center}
  .site-header nav{display:none}
  .application-hero{padding:46px 0 44px!important}
  .application-hero-inner{gap:28px!important}
  .application-hero h1{font-size:clamp(2.45rem,13vw,3.7rem)!important;line-height:.98!important}
  .application-hero p{font-size:1rem!important;line-height:1.55!important}
  .hero-badges{gap:7px!important;margin-top:20px!important}.hero-badges span{font-size:.63rem!important;padding:7px 9px!important}
  .hero-callout{padding:28px 24px!important}.hero-callout strong{font-size:1.9rem!important}
  .application-shell{padding:38px 0 55px!important}
  .narrow{width:min(100% - 24px,1080px)!important}
  .application-intro{padding-bottom:20px!important}.application-intro h2{font-size:2.25rem!important}.application-intro p{font-size:.96rem!important}
  .application-progress{position:relative!important;top:auto!important;margin:0 -12px 24px!important;border-width:3px!important;scroll-snap-type:x mandatory}
  .application-progress a{min-width:76px!important;flex-basis:76px!important;padding:10px 5px!important;scroll-snap-align:start}
  .application-progress a span{width:30px!important;height:30px!important;margin-bottom:5px!important}.application-progress a small{font-size:.52rem!important}
  .application-form{gap:18px!important}
  .application-form .form-section{padding:0 14px 22px!important;border-left-width:4px!important;box-shadow:0 10px 24px rgba(48,25,8,.12)!important}
  .application-form .section-title{grid-template-columns:46px 1fr!important;column-gap:10px!important;min-height:82px!important;margin:0 -14px 20px!important;padding:14px!important;background:linear-gradient(105deg,var(--fm-black) 0%,var(--fm-charcoal) 72%,var(--fm-orange) 72%,var(--fm-orange) 100%)!important}
  .application-form .section-number{left:14px!important;top:17px!important;width:42px!important;height:42px!important;border-width:3px!important;box-shadow:0 0 0 3px rgba(242,200,75,.78)!important;font-size:1rem!important}
  .application-form .section-title h2{font-size:1.18rem!important;line-height:1.15!important;letter-spacing:.025em!important}
  .application-form .section-title p,.application-form .section-title .section-kicker{font-size:.76rem!important;line-height:1.3!important}
  .form-grid,.essential-grid{grid-template-columns:1fr!important;gap:14px!important}
  .application-form label{font-size:.91rem!important;margin-bottom:14px!important}
  .application-form input,.application-form select,.application-form textarea{font-size:16px!important;min-height:50px!important;padding:12px!important}
  .application-form textarea{min-height:110px!important}
  .choice-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .choice-row label{display:flex!important;align-items:center!important;min-height:48px!important;margin:0!important;padding:10px!important;font-size:.86rem!important}
  .choice-row input{flex:0 0 auto!important;margin-right:8px!important}
  .certification-box{padding:82px 20px 26px!important;box-shadow:7px 7px 0 var(--fm-orange)!important}
  .cert-number{left:20px!important;top:20px!important;width:44px!important;height:44px!important}
  .certification-box h2{font-size:1.55rem!important}.certification-box p{font-size:.9rem!important;line-height:1.55!important}
  .certification-box .consent{display:flex!important;align-items:flex-start!important;font-size:.9rem!important;padding:13px!important}.certification-box .consent input{width:22px!important;height:22px!important;min-height:22px!important;flex:0 0 22px!important;margin:1px 10px 0 0!important}
  .submit-btn{position:sticky;bottom:10px;z-index:8;width:100%!important;min-height:58px!important;font-size:.92rem!important;box-shadow:0 8px 0 var(--fm-black),0 16px 25px rgba(0,0,0,.22)!important}
  .eeo-note{font-size:.78rem!important;padding:0 4px!important}
}

/* v4 certification layout fix — desktop, tablet, and phone */
.certification-box{
  overflow:hidden!important;
}
.certification-box .consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:28px 0 0!important;
  padding:18px 20px!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.45!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  cursor:pointer!important;
}
.certification-box .consent input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  display:block!important;
  width:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  height:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  flex:0 0 26px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  accent-color:var(--fm-orange)!important;
}
.certification-box .consent-text{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  color:#fff!important;
}
@media(max-width:640px){
  .certification-box .consent{
    gap:11px!important;
    padding:14px!important;
    font-size:.91rem!important;
  }
  .certification-box .consent input[type="checkbox"]{
    width:24px!important;
    min-width:24px!important;
    max-width:24px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    flex-basis:24px!important;
  }
}

/* v5 readability and disclaimer styling */
.hero-callout > p{
  color:#2f2a25!important;
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1.6!important;
  opacity:1!important;
}

.application-intro > p{
  color:#3f3933!important;
  font-size:1.04rem!important;
  font-weight:600!important;
  line-height:1.65!important;
  opacity:1!important;
}

.eeo-note{
  color:#a99f96!important;
  font-style:italic!important;
  font-size:.9rem!important;
  font-weight:500!important;
  line-height:1.7!important;
  text-align:center!important;
  max-width:820px!important;
  margin:18px auto 0!important;
  opacity:1!important;
}

@media(max-width:640px){
  .hero-callout > p{
    color:#332d27!important;
    font-size:.95rem!important;
    line-height:1.55!important;
  }
  .application-intro > p{
    color:#403a34!important;
    font-size:.96rem!important;
    line-height:1.6!important;
  }
  .eeo-note{
    color:#aaa198!important;
    font-size:.78rem!important;
    line-height:1.6!important;
    padding:0 8px!important;
  }
}

/* v10 — premium application dropdowns */
.application-form select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:100%!important;
  min-height:62px!important;
  padding:14px 68px 14px 20px!important;
  color:#17120f!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:1.05rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  cursor:pointer!important;
  border:3px solid var(--fm-orange)!important;
  border-radius:12px!important;
  background-color:#fffdfa!important;
  background-image:
    linear-gradient(45deg,transparent 50%,#111 50%),
    linear-gradient(135deg,#111 50%,transparent 50%),
    linear-gradient(90deg,rgba(255,151,92,.16),rgba(255,151,92,.16))!important;
  background-position:
    calc(100% - 28px) 27px,
    calc(100% - 20px) 27px,
    calc(100% - 56px) 0!important;
  background-size:8px 8px,8px 8px,56px 100%!important;
  background-repeat:no-repeat!important;
  box-shadow:
    0 7px 0 rgba(210,112,54,.22),
    0 12px 24px rgba(45,24,10,.10),
    inset 0 1px 0 rgba(255,255,255,.95)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.application-form select:hover{
  transform:translateY(-1px)!important;
  border-color:var(--fm-orange-dark)!important;
  background-color:#fff8f1!important;
  box-shadow:
    0 8px 0 rgba(210,112,54,.30),
    0 16px 30px rgba(45,24,10,.14),
    0 0 0 4px rgba(255,151,92,.12)!important;
}
.application-form select:focus{
  transform:translateY(-1px)!important;
  border-color:var(--fm-black)!important;
  background-color:#fff!important;
  outline:none!important;
  box-shadow:
    0 8px 0 var(--fm-orange)!important,
    0 16px 30px rgba(45,24,10,.16)!important,
    0 0 0 5px rgba(255,151,92,.30)!important;
}
.application-form select:required:invalid{
  color:#65584e!important;
  font-weight:700!important;
}
.application-form select option{
  color:#17120f!important;
  background:#fff!important;
  font-size:1rem!important;
  font-weight:700!important;
  padding:12px!important;
}
.application-form .field:has(select) > label,
.application-form label:has(> select){
  color:#211b17!important;
}

@media(max-width:640px){
  .application-form select{
    min-height:56px!important;
    padding:12px 58px 12px 15px!important;
    border-width:2px!important;
    border-radius:10px!important;
    font-size:16px!important;
    background-position:
      calc(100% - 25px) 24px,
      calc(100% - 18px) 24px,
      calc(100% - 50px) 0!important;
    background-size:7px 7px,7px 7px,50px 100%!important;
    box-shadow:0 5px 0 rgba(210,112,54,.22),0 9px 18px rgba(45,24,10,.09)!important;
  }
  .application-form select:focus{
    box-shadow:0 6px 0 var(--fm-orange),0 12px 22px rgba(45,24,10,.13),0 0 0 4px rgba(255,151,92,.26)!important;
  }
}

/* =========================================================
   v11 — compact polished dropdowns
   Overrides the larger v10 dropdown treatment.
   ========================================================= */
.application-form select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  padding:0 48px 0 16px!important;
  color:#211b17!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.2!important;
  cursor:pointer!important;
  border:2px solid #d8b89f!important;
  border-radius:9px!important;
  background-color:#fff!important;
  background-image:
    linear-gradient(45deg,transparent 50%,#17120f 50%),
    linear-gradient(135deg,#17120f 50%,transparent 50%),
    linear-gradient(90deg,rgba(255,151,92,.11),rgba(255,151,92,.11))!important;
  background-position:
    calc(100% - 23px) 21px,
    calc(100% - 17px) 21px,
    calc(100% - 45px) 0!important;
  background-size:6px 6px,6px 6px,45px 100%!important;
  background-repeat:no-repeat!important;
  box-shadow:0 3px 9px rgba(45,24,10,.08)!important;
  transform:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.application-form select:hover{
  transform:none!important;
  border-color:var(--fm-orange)!important;
  background-color:#fffaf5!important;
  box-shadow:0 4px 12px rgba(255,151,92,.16)!important;
}
.application-form select:focus{
  transform:none!important;
  border-color:var(--fm-orange-dark)!important;
  background-color:#fff!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(255,151,92,.20),0 4px 12px rgba(45,24,10,.08)!important;
}
.application-form select:required:invalid{
  color:#65584e!important;
  font-weight:650!important;
}
.application-form select option{
  color:#17120f!important;
  background:#fff!important;
  font-size:16px!important;
  font-weight:600!important;
}

@media(max-width:640px){
  .application-form select{
    height:48px!important;
    min-height:48px!important;
    padding:0 44px 0 14px!important;
    font-size:16px!important;
    border-radius:8px!important;
    background-position:
      calc(100% - 22px) 20px,
      calc(100% - 16px) 20px,
      calc(100% - 42px) 0!important;
    background-size:6px 6px,6px 6px,42px 100%!important;
    box-shadow:0 2px 7px rgba(45,24,10,.07)!important;
  }
  .application-form select:focus{
    box-shadow:0 0 0 3px rgba(255,151,92,.20),0 3px 9px rgba(45,24,10,.07)!important;
  }
}

/* =========================================================
   v12 — public job listings and position discovery
   ========================================================= */
.hero-action-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.hero-jobs-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:2px solid rgba(255,255,255,.7);border-radius:8px;color:#fff!important;font-weight:800;text-decoration:none;transition:.2s ease}
.hero-jobs-link:hover{background:#fff;color:#15110e!important;border-color:#fff;transform:translateY(-1px)}
.position-help-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:14px 16px;border-left:4px solid var(--fm-orange);background:#fff7ef;border-radius:8px;color:#4d4036;font-size:.95rem}
.position-details-link{color:#9e3f13!important;font-weight:800;text-decoration:none;white-space:nowrap}
.position-details-link:hover{text-decoration:underline}
.jobs-hero{background:linear-gradient(120deg,#111 0%,#25201c 62%,#8d3b18 100%);color:#fff;padding:76px 0 64px;position:relative;overflow:hidden}
.jobs-hero:after{content:"F";position:absolute;right:-20px;bottom:-120px;font-size:320px;line-height:1;font-weight:900;color:rgba(255,151,92,.08)}
.jobs-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;position:relative;z-index:1}
.jobs-hero h1{font-size:clamp(2.7rem,6vw,5.4rem);line-height:.95;margin:12px 0 22px;letter-spacing:-.045em}
.jobs-hero h1 em{color:var(--fm-orange);font-style:normal}
.jobs-hero p{max-width:650px;color:#e9dfd5;font-size:1.15rem;line-height:1.7;margin:0}
.jobs-hero-badge{min-width:170px;min-height:170px;border-radius:50%;background:var(--fm-orange);color:#17120f;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 16px 40px rgba(0,0,0,.25);border:8px solid rgba(255,255,255,.12)}
.jobs-hero-badge strong{font-size:4rem;line-height:.9}.jobs-hero-badge span{margin-top:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.jobs-section{background:#f4eee6}
.jobs-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.jobs-heading h2{font-size:clamp(2rem,4vw,3.3rem);margin:5px 0 10px;color:#1d1713}.jobs-heading p{margin:0;color:#66594f;max-width:700px;line-height:1.6}
.job-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.job-card{background:#fff;border:1px solid #dfd0c2;border-top:7px solid var(--fm-orange);border-radius:14px;padding:28px;box-shadow:0 12px 32px rgba(55,32,17,.09);display:flex;flex-direction:column;min-height:360px;transition:.2s ease}
.job-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(55,32,17,.15);border-top-color:#d66f33}
.job-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.job-status-dot{display:inline-flex;align-items:center;gap:7px;color:#8c3a15;font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.job-status-dot:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--fm-orange);box-shadow:0 0 0 5px rgba(255,151,92,.17)}.job-department{font-size:.8rem;font-weight:800;color:#66594f;background:#f6eee7;padding:7px 10px;border-radius:99px}
.job-card h2{font-size:1.75rem;line-height:1.1;margin:0 0 14px;color:#211a16}.job-summary{color:#62564d;line-height:1.65;margin:0 0 22px;flex:1}
.job-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px}.job-facts span{background:#faf6f1;border:1px solid #eadfd4;border-radius:9px;padding:11px 12px;color:#453a32;font-size:.9rem}.job-facts b{display:block;color:#9b421c;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.job-card-actions{display:flex;gap:10px}.job-card-actions .btn{flex:1;text-align:center;justify-content:center}
.jobs-empty{text-align:center;background:#fff;border:1px solid #dfd0c2;border-radius:14px;padding:55px 24px;box-shadow:0 12px 30px rgba(55,32,17,.08)}.jobs-empty-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--fm-orange);color:#17120f;font-size:2.4rem;font-weight:900;margin:0 auto 18px}.jobs-empty h2{margin:0 0 10px}.jobs-empty p{color:#66594f;margin:0 0 24px}
@media(max-width:800px){.jobs-hero{padding:52px 0}.jobs-hero-inner{align-items:flex-start}.jobs-hero-badge{min-width:115px;min-height:115px}.jobs-hero-badge strong{font-size:2.8rem}.job-card-grid{grid-template-columns:1fr}.jobs-heading{align-items:flex-start;flex-direction:column}.job-facts{grid-template-columns:1fr 1fr}.position-help-row{align-items:flex-start;flex-direction:column}.position-details-link{white-space:normal}}
@media(max-width:560px){.jobs-hero-inner{display:block}.jobs-hero-badge{margin-top:28px}.job-card{padding:21px}.job-facts{grid-template-columns:1fr}.job-card-actions{flex-direction:column}.hero-action-row{align-items:stretch;flex-direction:column}.hero-action-row a{width:100%}.position-help-row{font-size:.9rem}}

/* ===== v45 polished application choices and upload controls ===== */
.application-form .choice-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:stretch;
}
.application-form .choice-row label{
  position:relative;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 16px!important;
  border:2px solid #e1bfa3!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#fffdfb 0%,#fff5eb 100%)!important;
  color:#28211c!important;
  font-weight:800!important;
  line-height:1.2!important;
  cursor:pointer!important;
  box-shadow:0 4px 0 rgba(105,58,27,.08)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.application-form .choice-row label:hover{
  transform:translateY(-1px);
  border-color:var(--fm-orange)!important;
  box-shadow:0 6px 0 rgba(232,116,53,.14),0 9px 18px rgba(78,40,16,.08)!important;
}
.application-form .choice-row label:has(input:checked){
  background:linear-gradient(180deg,#ffad7d 0%,var(--fm-orange) 100%)!important;
  border-color:#111!important;
  color:#111!important;
  box-shadow:0 5px 0 #111!important;
  transform:translateY(-2px)!important;
}
.application-form .choice-row input[type="checkbox"],
.application-form .choice-row input[type="radio"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #8e7665!important;
  background:#fff!important;
  box-shadow:none!important;
  flex:0 0 20px!important;
  display:grid!important;
  place-content:center!important;
}
.application-form .choice-row input[type="checkbox"]{border-radius:5px!important}
.application-form .choice-row input[type="radio"]{border-radius:50%!important}
.application-form .choice-row input[type="checkbox"]:checked:after{
  content:"✓";
  color:#111;
  font-size:15px;
  line-height:1;
  font-weight:1000;
}
.application-form .choice-row input[type="radio"]:checked:after{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#111;
}
.application-form input[type="file"]{
  padding:8px!important;
  min-height:58px!important;
  background:#fffaf5!important;
  cursor:pointer!important;
}
.application-form input[type="file"]::file-selector-button{
  margin-right:14px;
  padding:10px 16px;
  border:2px solid #111;
  border-radius:8px;
  background:var(--fm-orange);
  color:#111;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 3px 0 #111;
}
.application-form input[type="file"]::file-selector-button:hover{background:var(--fm-gold)}
.application-form select{
  background-image:
    linear-gradient(45deg,transparent 50%,#111 50%),
    linear-gradient(135deg,#111 50%,transparent 50%),
    linear-gradient(to left,#fff1e7 0,#fff1e7 54px,transparent 54px)!important;
  background-position:
    calc(100% - 24px) calc(50% - 3px),
    calc(100% - 18px) calc(50% - 3px),
    100% 0!important;
  background-size:7px 7px,7px 7px,54px 100%!important;
  background-repeat:no-repeat!important;
}
@media(max-width:640px){
  .application-form .choice-row{grid-template-columns:1fr 1fr!important;display:grid!important;gap:9px!important}
  .application-form .choice-row label{width:100%!important;padding:10px 11px!important;border-radius:8px!important}
}
