:root{--black:#111;--ink:#1c1c1c;--gray:#f2f2f0;--line:#d9d9d6;--accent:#e0661b;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
h2,h3,.btn{font-family:"Oswald","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.04em}
h2{font-size:2rem;margin:0 0 1.2rem;color:var(--black)}
h2::after{content:"";display:block;width:56px;height:4px;background:var(--accent);margin-top:8px}
section{padding:64px 0}
.hero{background:var(--white);text-align:center;padding:0;border-bottom:6px solid var(--black)}
.hero-logo{padding:36px 20px 20px}
.logo-img{display:block;width:min(440px,88%);height:auto;margin:0 auto}
.hero-banner{position:relative;min-height:320px;background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-overlay{display:flex;align-items:center;justify-content:center;min-height:320px;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.62));padding:48px 0}
.hero-overlay .tagline{font-size:clamp(1.15rem,2.5vw,1.55rem);color:#fff;margin:0 0 1.4rem;text-shadow:0 1px 3px rgba(0,0,0,.45);max-width:36rem;margin-left:auto;margin-right:auto}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;padding:14px 32px;border-radius:4px;font-size:1.1rem;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:#c2530f}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:#fff;border:2px solid var(--black);border-radius:6px;padding:0;overflow:hidden;display:flex;flex-direction:column}
.card-img{display:block;width:100%;height:180px;object-fit:cover;object-position:center;border-radius:4px 4px 0 0}
.card-body{padding:18px 22px 22px}
.card-body h3{margin:0 0 .4rem;font-size:1.3rem;color:var(--black)}
.card-body p{margin:0}
.area{margin-top:28px;padding:14px 18px;background:var(--gray);border-left:4px solid var(--accent);border-radius:4px}
.how{background:var(--gray)}
.how h2::after{background:var(--accent)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.step{background:#fff;border:2px solid var(--black);border-radius:6px;padding:22px 20px;text-align:center}
.step-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--black);display:flex;align-items:center;justify-content:center}
.step-icon svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step h3{margin:0 0 .4rem;font-size:1.2rem;color:var(--black)}
.step p{margin:0;font-size:.95rem;color:#444}
.why{background:var(--black);color:#e8e8e8}
.why h2{color:#fff}
.why ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:0}
.why li{border-left:3px solid var(--accent);padding-left:14px}
.why strong{color:#fff}
#contact{background:#fff}
#contact a{color:var(--black);font-weight:700}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;padding:26px;border-radius:6px;border:2px solid var(--black)}
label{display:flex;flex-direction:column;font-weight:600;font-size:.95rem;color:var(--black)}
label.full,form .btn{grid-column:1/-1}
input,select,textarea{margin-top:6px;padding:11px;border:1px solid #bdbdbd;border-radius:4px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:transparent}
form .btn{justify-self:start}
footer{background:var(--black);color:#bbb;text-align:center;padding:22px 0;font-size:.9rem}
footer a{color:#fff}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:600px){
  form{grid-template-columns:1fr}
  section{padding:44px 0}
  form .btn{justify-self:stretch}
  .hero-logo{padding:24px 16px 12px}
  .hero-banner,.hero-overlay{min-height:260px}
  .hero-overlay{padding:36px 0}
  .card-img{height:160px}
  .steps{gap:16px}
}

/* full-bleed photo hero */
.hero{background-color:#111;background-size:cover;background-position:center 60%;border-bottom:6px solid var(--black);padding:0}
.hero .hero-overlay{min-height:560px;padding:56px 0 64px;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.45) 50%,rgba(0,0,0,.7))}
.hero .logo-img{width:min(460px,86%);margin:0 auto 22px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
@media(max-width:600px){.hero .hero-overlay{min-height:460px;padding:36px 0 44px}}

.jobs{background:#fff}
.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.job-grid figure{margin:0;border:2px solid var(--black);border-radius:6px;overflow:hidden;background:#fff}
.job-grid img{display:block;width:100%;height:320px;object-fit:cover}
.job-grid figcaption{padding:12px 16px;font-weight:600;border-top:4px solid var(--accent)}

.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
