:root{
  --black:#0d0d0d;
  --near-black:#141414;
  --red:#c0392b;
  --red-dark:#a3241a;
  --cream:#f4f2ee;
  --line:#e3e0da;
  --gray:#5b5b5b;
  --mono: 'IBM Plex Mono', monospace;
  --display: 'Archivo', sans-serif;
  --body: 'Barlow', sans-serif;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--body);
  color:var(--black);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

.wrap{
  max-width:1280px;
  margin:0 auto;
  padding:0 40px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  font-family:var(--display);
  font-weight:800;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--red-dark);}
.btn-light{background:#fff;color:var(--black);}
.btn-light:hover{background:#e9e9e9;}
.btn-outline-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,0.5);}
.btn-outline-dark:hover{border-color:#fff;}
.btn-outline-light-mode{background:transparent;color:var(--black);border-color:var(--black);}
.btn-outline-light-mode:hover{background:var(--black);color:#fff;}

/* Top bar */
.topbar{background:var(--black);color:#c8c8c8;font-family:var(--mono);}
.topbar-inner{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 40px;
  font-size:12px;letter-spacing:0.08em;
}
.topbar-label{font-weight:600;}
.topbar-phone{color:#fff;font-weight:600;}

/* Header */
.site-header{background:#fff;border-bottom:3px solid var(--red);position:relative;z-index:10;}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;
  gap:32px;
}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{display:flex;}
.logo-text{
  font-family:var(--display);
  font-weight:900;
  font-size:22px;
  letter-spacing:0.01em;
  color:var(--red);
}
.logo-text.light{color:#fff;}
.main-nav{display:flex;gap:32px;flex:1;margin-left:40px;}
.main-nav a{
  font-family:var(--display);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.06em;
  color:var(--gray);
  padding-bottom:4px;
}
.main-nav a.active{color:var(--black);border-bottom:2px solid var(--red);}

/* Hero */
.hero{background:var(--black);color:#fff;position:relative;}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  padding:80px 40px 70px;
  align-items:start;
}
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-family:var(--display);font-weight:700;
  font-size:13px;letter-spacing:0.1em;
  color:#fff;margin-bottom:22px;
}
.eyebrow .rule{width:32px;height:2px;background:var(--red);display:inline-block;}
.eyebrow.dark{color:var(--red);}
.eyebrow.dark .num{color:#9a9a9a;font-family:var(--mono);margin-right:12px;font-weight:600;}
.hero h1{
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(40px,5.4vw,64px);
  line-height:0.95;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  margin:0 0 24px;
}
.hero .lede{
  font-size:17px;line-height:1.6;color:#c9c9c9;max-width:460px;margin:0 0 32px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

.hero-media{display:flex;flex-direction:column;gap:20px;}
.hero-media figure{margin:0;}
.photo{
  width:100%;aspect-ratio:16/10;border-radius:2px;
  background-size:cover;background-position:center;
  background-color:#2a2a2a;
}
.photo-crane{background:linear-gradient(135deg,#3a3a2a 0%,#c9a227 38%,#7d7d7d 60%,#4a4a4a 100%);}
.photo-elevator{background:linear-gradient(135deg,#8a2e22 0%,#c9c9c9 45%,#6d6d6d 80%);}
figcaption{
  margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;
  color:#9a9a9a;text-transform:uppercase;
}

/* Stat band */
.stat-band{background:var(--near-black);border-top:1px solid #262626;}
.stat-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
  padding:44px 40px;
}
.stat-num{
  font-family:var(--display);font-weight:900;font-size:40px;color:#fff;
  border-top:2px solid var(--red);padding-top:16px;margin-bottom:10px;display:inline-block;
}
.stat-num span{font-family:var(--mono);font-size:15px;color:#9a9a9a;font-weight:500;margin-left:4px;}
.stat-label{
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:0.08em;color:#fff;margin-bottom:4px;
}
.stat-sub{color:#8f8f8f;font-size:14px;}

/* Section generic */
.section{padding:96px 0;}
.section-alt{background:#eeece6;}
.section-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  margin-bottom:56px;flex-wrap:wrap;
}
h2{
  font-family:var(--display);font-weight:900;font-size:clamp(32px,4vw,44px);
  text-transform:uppercase;line-height:1.05;margin:0 0 16px;letter-spacing:-0.01em;
}
.section-sub{max-width:520px;color:var(--gray);font-size:16px;line-height:1.6;margin:0;}

/* Equipment cards */
.equip-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.equip-card{
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--line);padding:36px;
}
.equip-card.accent{border-top-color:var(--red);}
.equip-kicker{font-family:var(--mono);font-size:12px;letter-spacing:0.08em;color:var(--gray);margin-bottom:10px;}
.equip-card h3{font-family:var(--display);font-weight:800;font-size:24px;margin:0 0 12px;}
.equip-card p{color:var(--gray);line-height:1.6;margin:0 0 28px;}
.spec-list{margin:0;}
.spec-list div{
  display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);
  font-size:14px;
}
.spec-list dt{color:var(--gray);margin:0;}
.spec-list dd{margin:0;font-family:var(--mono);font-weight:600;letter-spacing:0.02em;}
.spec-list dd span{color:var(--gray);font-weight:500;font-size:12px;margin-left:2px;}

/* Service cards */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;}
.service-photo{
  aspect-ratio:16/11;margin-bottom:18px;background-size:cover;background-position:center;
}
.service-photo-1{background:linear-gradient(135deg,#8a2e22,#3a3a3a);}
.service-photo-2{background:linear-gradient(135deg,#c9a227,#2a2a2a);}
.service-photo-3{background:linear-gradient(135deg,#5a5a5a,#8a2e22);}
.service-kicker{font-family:var(--mono);font-size:12px;letter-spacing:0.08em;color:var(--red);margin-bottom:8px;}
.service-card h3{font-family:var(--display);font-weight:800;font-size:20px;margin:0 0 10px;}
.service-card p{color:var(--gray);line-height:1.6;margin:0;font-size:15px;}

/* Quote */
.quote-section{background:#fff;}
.quote-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;}
.quote-copy .rule{display:block;width:48px;height:3px;background:var(--red);margin-bottom:24px;}
.quote-facts{display:flex;gap:48px;margin-top:32px;}
.fact-label{display:block;color:var(--gray);font-size:13px;margin-bottom:6px;}
.fact-val{font-family:var(--mono);font-weight:700;font-size:18px;}
.fact-val span{font-size:12px;color:var(--gray);font-weight:500;}

.quote-form{background:var(--cream);border:1px solid var(--line);padding:40px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{margin-bottom:20px;}
.field label{
  display:block;font-family:var(--display);font-weight:700;font-size:11px;
  letter-spacing:0.08em;color:var(--gray);margin-bottom:8px;
}
.field input,.field select,.field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);background:#fff;
  font-family:var(--body);font-size:14px;color:var(--black);
}
.field textarea{resize:vertical;}
.field input::placeholder,.field textarea::placeholder{color:#a9a9a4;}
.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px;}
.or-call{font-family:var(--mono);font-size:13px;color:var(--gray);}
.or-call a{color:var(--black);font-weight:600;}

/* Dispatch band */
.dispatch-band{background:var(--red);color:#fff;}
.dispatch-inner{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;
  padding:56px 40px;
}
.dispatch-band h2{margin:0 0 8px;font-size:clamp(24px,3vw,34px);}
.dispatch-band p{margin:0;color:#f6d9d5;font-size:15px;}
.dispatch-phone{
  background:#fff;color:var(--red);font-family:var(--mono);font-weight:700;font-size:22px;
  padding:16px 28px;white-space:nowrap;
}
.hazard-strip{
  height:14px;
  background:repeating-linear-gradient(45deg,#111 0 14px,#e8b400 14px 28px);
}

/* Footer */
.site-footer{background:var(--black);color:#b7b7b7;}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;
  padding:64px 40px 40px;
}
.footer-tagline{
  font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:#8a8a8a;
  margin:10px 0 18px;text-transform:uppercase;
}
.footer-desc{font-size:14px;line-height:1.7;max-width:360px;margin:0 0 22px;color:#9c9c9c;}
address{font-style:normal;font-family:var(--mono);font-size:13px;line-height:2;color:#9c9c9c;}
address a:hover{color:#fff;}
.footer-col h4{
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:0.08em;
  color:#fff;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid #2a2a2a;
}
.footer-col a{display:block;font-size:14px;padding:6px 0;color:#9c9c9c;}
.footer-col a:hover{color:#fff;}
.footer-bottom{
  border-top:1px solid #262626;padding:20px 40px;font-size:12px;color:#6f6f6f;
  font-family:var(--mono);
}

/* Responsive */
@media (max-width:900px){
  .wrap{padding:0 20px;}
  .header-inner{padding:16px 20px;flex-wrap:wrap;}
  .main-nav{margin-left:0;order:3;width:100%;}
  .hero-grid{grid-template-columns:1fr;padding:56px 20px;}
  .stat-grid{grid-template-columns:1fr;padding:36px 20px;gap:28px;}
  .section{padding:64px 0;}
  .section-head{flex-direction:column;align-items:flex-start;}
  .equip-grid{grid-template-columns:1fr;}
  .service-grid{grid-template-columns:1fr;}
  .quote-grid{grid-template-columns:1fr;gap:40px;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;padding:48px 20px;}
  .dispatch-inner{padding:40px 20px;}
  .topbar-inner{padding:10px 20px;font-size:11px;}
}
