/* ============================================================
   KING HEAVY EQUIPMENT  —  Style v7
   Aesthetic: Industrial-bold. Dark anchors, white space, yellow power.
   Fonts: Bebas Neue (impact display) + Inter (clean body)
   Images: Local /images/ folder only
============================================================ */

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  /* Brand */
  --y:   #FFD000;
  --y2:  #D4AC00;
  --y3:  rgba(255,208,0,.10);
  --y4:  rgba(255,208,0,.30);
  --g:   #2D6A1F;

  /* Surfaces — light theme */
  --bg:  #FFFFFF;
  --s1:  #F4F5F7;
  --s2:  #FFFFFF;
  --s3:  #ECEEF1;

  /* Text */
  --tx:  #0D0F12;
  --tx2: #1E2430;
  --tx3: #4A5568;

  /* Borders */
  --bdr:  rgba(0,0,0,.08);
  --bdr2: rgba(0,0,0,.15);

  /* Type */
  --fh: 'Bebas Neue', 'Oswald', sans-serif;
  --fb: 'Inter', 'DM Sans', sans-serif;

  /* Spacing */
  --sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:20px;--sp6:24px;
  --sp7:32px;--sp8:40px;--sp9:56px;--sp10:80px;

  --sec-pad: 80px;
  --r:  5px;
  --r2: 10px;
  --t:  .2s ease;
  --sh1: 0 1px 8px rgba(0,0,0,.07);
  --sh2: 0 6px 28px rgba(0,0,0,.12);
  --sh3: 0 0 0 3px rgba(255,208,0,.35);
  --mw:  1200px;
}

/* ── RESET ──────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body {
  font-family: var(--fb);
  font-size: 18px;
  background: var(--bg);
  color: var(--tx);
  overflow-x: hidden;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a  { text-decoration:none; color:inherit }
ul { list-style:none }
img { max-width:100%; display:block; height:auto }
button { cursor:pointer; font-family:var(--fb); border:none; background:none }
input,select,textarea { font-family:var(--fb) }

.wrap { max-width:var(--mw); margin:0 auto; padding:0 20px }
.section { padding:var(--sec-pad) 0 }
.bg-alt { background:var(--s1) }

/* ── TYPOGRAPHY ─────────────────────────────────────────── */
.yl { color:var(--y2) }

.sec-hd { text-align:center; margin-bottom:52px }
.sec-tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.68rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:var(--g);
  margin-bottom:12px;
}
.sec-tag::before, .sec-tag::after {
  content:''; display:block; width:24px; height:2px; background:var(--g);
}
.sec-h2 {
  font-family:var(--fh);
  font-size:clamp(2.2rem,5.5vw,3.6rem);
  letter-spacing:2px;
  color:var(--tx);
  line-height:1;
  margin-bottom:14px;
}
.sec-p { font-size:1.05rem; color:var(--tx3); max-width:540px; margin:0 auto; line-height:1.75 }

/* ── BUTTONS ────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--fb); font-size:.82rem; font-weight:700;
  letter-spacing:.6px; text-transform:uppercase;
  border-radius:var(--r); white-space:nowrap;
  cursor:pointer; transition:all var(--t);
  min-height:48px; padding:0 24px;
  border:2px solid transparent;
}
.btn-y   { background:var(--y); color:#000; border-color:var(--y) }
.btn-y:hover { background:var(--y2); border-color:var(--y2); transform:translateY(-1px); box-shadow:0 6px 20px rgba(255,208,0,.4) }
.btn-dark { background:var(--tx); color:#fff; border-color:var(--tx) }
.btn-dark:hover { background:#000; transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.3) }
.btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.4) }
.btn-ghost:hover { border-color:var(--y); color:var(--y); transform:translateY(-1px) }
.btn-outline { background:transparent; color:var(--tx); border-color:var(--bdr2) }
.btn-outline:hover { background:var(--tx); color:#fff; border-color:var(--tx); transform:translateY(-1px) }
.btn-sm  { min-height:38px; font-size:.75rem; padding:0 16px }
.btn-lg  { min-height:56px; font-size:.88rem; padding:0 32px }
.btn-full { width:100%; justify-content:center }

/* ── TOPBAR ─────────────────────────────────────────────── */
.topbar {
  background:#0D0F12;
  border-bottom:3px solid var(--y);
  padding:9px 0;
  font-size:.73rem; font-weight:600;
}
.topbar-in { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap }
.tb-contacts { display:flex; align-items:center; gap:20px; flex-wrap:wrap }
.tb-link { display:flex; align-items:center; gap:5px; color:rgba(255,255,255,.6); transition:color var(--t) }
.tb-link i { color:var(--y); font-size:.7rem }
.tb-link:hover { color:#fff }
.tb-sms {
  display:flex; align-items:center; gap:5px;
  background:var(--y); color:#000;
  padding:5px 14px; border-radius:20px;
  font-size:.7rem; font-weight:800; letter-spacing:.5px;
  transition:background var(--t);
}
.tb-sms:hover { background:var(--y2) }
@media(max-width:520px) { .tb-hide-sm { display:none } }
@media(max-width:768px) { .tb-hide-md { display:none } }

/* ── NAVBAR ─────────────────────────────────────────────── */
.navbar {
  position:sticky; top:0; z-index:900;
  background:#fff;
  border-bottom:1px solid var(--bdr);
  transition:box-shadow var(--t);
}
.navbar.scrolled { box-shadow:0 2px 20px rgba(0,0,0,.10) }
.nav-in {
  display:flex; align-items:center;
  justify-content:space-between;
  gap:12px; height:80px;
}

/* LOGO — uses real image */
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; text-decoration:none }
.logo img { height:165px; width:auto; display:block }

.logo-txt { display:flex; flex-direction:column; line-height:1 }
.logo-txt strong { font-family:var(--fh); font-size:1.5rem; letter-spacing:3px; color:var(--tx) }
.logo-txt small  { font-size:.48rem; font-weight:800; letter-spacing:4px; text-transform:uppercase; color:var(--g) }

.nav-list { display:none; align-items:center; gap:4px }
.nav-a {
  font-size:.8rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:var(--tx2); padding:8px 12px; border-radius:var(--r);
  transition:color var(--t); position:relative;
}
.nav-a::after {
  content:''; position:absolute; bottom:4px; left:11px; right:11px;
  height:2px; background:var(--y);
  transform:scaleX(0); transition:transform var(--t); border-radius:1px;
}
.nav-a:hover, .nav-a.current { color:var(--tx) }
.nav-a:hover::after, .nav-a.current::after { transform:scaleX(1) }

.nav-end { display:flex; align-items:center; gap:12px; flex-shrink:0 }
.nav-phone { display:none; align-items:center; gap:6px; font-size:.8rem; font-weight:700; color:var(--tx2); transition:color var(--t) }
.nav-phone i { color:var(--y) }
.nav-phone:hover { color:var(--tx) }
.nav-quote { display:none }

.burger {
  width:44px; height:44px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:5px; background:var(--s3); border-radius:var(--r);
}
.burger span { display:block; width:18px; height:2px; background:var(--tx); border-radius:1px; transition:all .28s }
.burger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg) }
.burger[aria-expanded="true"] span:nth-child(2) { opacity:0; transform:scaleX(0) }
.burger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) }

.nav-list.open {
  display:flex; flex-direction:column; gap:0;
  position:absolute; top:80px; left:0; right:0;
  background:#fff; border-bottom:3px solid var(--y);
  padding:8px 0; z-index:899;
  box-shadow:0 10px 40px rgba(0,0,0,.12);
}
.nav-list.open .nav-a { display:block; padding:13px 24px; border-radius:0; color:var(--tx); font-size:.88rem }
.nav-list.open .nav-a::after { display:none }

/* ── HERO ───────────────────────────────────────────────── */
.hero {
  position:relative;
  min-height:90svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden;
}
.hero-media { position:absolute; inset:0 }
.hero-img { width:100%; height:100%; object-fit:cover; object-position:center 40% }
.hero-scrim {
  position:absolute; inset:0;
  background:linear-gradient(
    170deg,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.55) 40%,
    rgba(0,0,0,.92) 100%
  );
}
.hero-body {
  position:relative; z-index:2;
  padding:var(--sp10) 20px 120px;
  max-width:800px;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.65rem; font-weight:800; letter-spacing:3px;
  text-transform:uppercase; color:var(--y);
  background:rgba(255,208,0,.12); border:1px solid rgba(255,208,0,.25);
  padding:6px 14px; border-radius:2px;
  margin-bottom:20px;
}
.dot { width:6px; height:6px; border-radius:50%; background:var(--y); flex-shrink:0; animation:pulse 2s ease infinite }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.5)} }

.hero-h1 {
  font-family:var(--fh);
  font-size:clamp(3.2rem,10vw,7rem);
  letter-spacing:3px;
  color:#fff;
  line-height:.92;
  margin-bottom:20px;
}
.hero-h1 mark {
  background:var(--y); color:#000;
  padding:0 8px; border-radius:2px;
  display:inline-block; line-height:1;
}
.hero-sub {
  font-size:clamp(.9rem,2vw,1.05rem);
  color:rgba(255,255,255,.72);
  line-height:1.65;
  margin-bottom:32px;
  max-width:520px;
}
.hero-ctas { display:flex; gap:12px; flex-wrap:wrap }

/* trust bar */
.hero-trust {
  position:absolute; bottom:0; left:0; right:0;
  background:var(--y); z-index:2; padding:12px 0;
}
.trust-in {
  display:flex; align-items:center; justify-content:center;
  gap:12px; flex-wrap:wrap;
}
.trust-item {
  display:flex; align-items:center; gap:5px;
  font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.5px;
  color:#000; white-space:nowrap;
}
.trust-item i { color:var(--g); font-size:.75rem }
.trust-sep { color:rgba(0,0,0,.2); font-size:.85rem }

/* ── MACHINE CARDS ──────────────────────────────────────── */
/* White-bg product images: use contain + padding, not cover */
.mach-grid { display:grid; grid-template-columns:1fr; gap:20px }

.mach-card {
  background:var(--s2);
  border:1px solid var(--bdr);
  border-radius:var(--r2);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform var(--t), box-shadow var(--t), border-color var(--t);
  box-shadow:var(--sh1);
}
.mach-card:hover { transform:translateY(-5px); box-shadow:var(--sh2); border-color:var(--y4) }

/* Product image area — white background, contain so full machine shows */
.mach-img-wrap {
  position:relative;
  background:#F6F7F9;
  padding:24px 16px 16px;
  border-bottom:1px solid var(--bdr);
  display:flex; align-items:center; justify-content:center;
  min-height:200px;
}
.mach-img-wrap img {
  width:100%; max-height:180px;
  object-fit:contain;
  transition:transform .5s ease;
  display:block;
}
.mach-card:hover .mach-img-wrap img { transform:scale(1.04) }

.mach-badge {
  position:absolute; top:12px; left:12px;
  background:var(--tx); color:#fff;
  font-size:.58rem; font-weight:800; letter-spacing:1.5px;
  text-transform:uppercase; padding:4px 10px; border-radius:2px;
}
.mach-badge-pop { background:var(--y); color:#000 }

.mach-body { padding:20px; flex:1; display:flex; flex-direction:column; gap:12px }
.mach-model { font-size:.6rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--g) }
.mach-name  { font-family:var(--fh); font-size:1.6rem; letter-spacing:2px; color:var(--tx); line-height:1 }

.mach-price {
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
  padding:10px 14px;
  background:var(--tx);
  border-radius:var(--r);
  color:#fff;
}
.mach-price strong { font-family:var(--fh); font-size:1.7rem; letter-spacing:1px; color:var(--y); line-height:1 }
.mach-price .sep  { color:rgba(255,255,255,.2); font-size:.8rem }
.mach-price span  { font-size:.68rem; font-weight:700; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:1px }

.mach-atts { display:flex; flex-wrap:wrap; gap:6px }
.mach-att-chip {
  font-size:.62rem; font-weight:700; padding:4px 9px;
  border-radius:2px;
  background:var(--s3); border:1px solid var(--bdr2); color:var(--tx2);
}
.mach-actions { display:flex; gap:8px; margin-top:auto; padding-top:4px }

/* ── WHY US ─────────────────────────────────────────────── */
.why-grid { display:grid; grid-template-columns:1fr; gap:16px }
.why-card {
  display:flex; align-items:flex-start; gap:16px;
  background:var(--s2); border:1px solid var(--bdr);
  border-radius:var(--r2); padding:24px;
  box-shadow:var(--sh1); transition:all var(--t);
  border-left:4px solid transparent;
}
.why-card:hover { border-left-color:var(--y); box-shadow:var(--sh2); transform:translateX(3px) }
.why-icon {
  width:48px; height:48px; flex-shrink:0;
  background:var(--y); color:#000;
  border-radius:var(--r);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem;
}
.why-text h3 { font-family:var(--fh); font-size:1.15rem; letter-spacing:1px; color:var(--tx); margin-bottom:6px }
.why-text p  { font-size:.95rem; color:var(--tx2); line-height:1.7 }

/* ── STATS BAR ──────────────────────────────────────────── */
.stats-bar {
  background:var(--tx);
  padding:52px 0;
  position:relative;
  overflow:hidden;
}
.stats-bar::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--y);
}
.stats-in { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; text-align:center }
.stat-box strong {
  font-family:var(--fh);
  font-size:clamp(2.4rem,7vw,4rem);
  letter-spacing:2px;
  display:block; color:var(--y); line-height:1;
  margin-bottom:6px;
}
.stat-box span { font-size:.62rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.45) }

/* ── SERVICES ───────────────────────────────────────────── */
.ot-grid { display:grid; grid-template-columns:1fr; gap:20px }
.ot-card {
  background:var(--s2); border:1px solid var(--bdr);
  border-radius:var(--r2); overflow:hidden; box-shadow:var(--sh1);
}
.ot-img-wrap { position:relative; width:100%; aspect-ratio:16/8; overflow:hidden }
.ot-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .6s ease }
.ot-card:hover .ot-img-wrap img { transform:scale(1.04) }
.ot-scrim { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.5) 100%) }
.ot-body { padding:24px; display:flex; flex-direction:column; gap:12px }
.ot-tag {
  display:inline-flex; align-items:center; gap:6px;
  font-size:.62rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  color:var(--g); background:rgba(45,106,31,.08); border:1px solid rgba(45,106,31,.2);
  padding:5px 11px; border-radius:2px; align-self:flex-start;
}
.ot-body h3 { font-family:var(--fh); font-size:1.55rem; letter-spacing:1px; color:var(--tx); line-height:1.05 }
.ot-body p  { font-size:.95rem; color:var(--tx2); line-height:1.7 }

/* ── REVIEWS ────────────────────────────────────────────── */
.rev-grid { display:grid; grid-template-columns:1fr; gap:16px }
.rev-card {
  background:var(--s2); border:1px solid var(--bdr);
  border-radius:var(--r2); padding:24px;
  display:flex; flex-direction:column; gap:14px;
  box-shadow:var(--sh1); transition:all var(--t);
  position:relative;
}
.rev-card:hover { box-shadow:var(--sh2); transform:translateY(-3px); border-color:var(--y4) }
.rev-card::before {
  content:'"';
  font-family:Georgia,serif; font-size:5rem; line-height:1;
  color:var(--y3); position:absolute; top:8px; right:20px;
  pointer-events:none;
}
.rev-stars { color:var(--y2); font-size:.85rem; letter-spacing:2px }
.rev-quote { font-size:.98rem; color:var(--tx2); line-height:1.75; font-style:italic }
.rev-author { display:flex; align-items:center; gap:12px; margin-top:auto }
.rev-av {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:var(--y); color:#000;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fh); font-size:.9rem; font-weight:700; letter-spacing:1px;
}
.rev-name { font-size:.85rem; font-weight:700; display:block; color:var(--tx) }
.rev-loc  { font-size:.72rem; color:var(--tx3) }

/* ── FAQ ────────────────────────────────────────────────── */
.faq-list { max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:8px }
.faq-item { background:var(--s2); border:1px solid var(--bdr); border-radius:var(--r2); overflow:hidden }
.faq-q {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:18px 24px; text-align:left;
  font-family:var(--fb); font-size:.92rem; font-weight:700; color:var(--tx);
  cursor:pointer; background:none; border:none; min-height:56px; transition:color var(--t);
}
.faq-q:hover { color:var(--g) }
.faq-q[aria-expanded="true"] { color:var(--g) }
.faq-icon {
  width:24px; height:24px; flex-shrink:0;
  background:var(--s3); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.6rem; color:var(--tx3); transition:all var(--t);
}
.faq-q[aria-expanded="true"] .faq-icon { background:var(--y); color:#000; transform:rotate(180deg) }
.faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease }
.faq-a-in { padding:0 24px 20px; font-size:.95rem; color:var(--tx2); line-height:1.75 }
.faq-item.open .faq-a { max-height:300px }

/* ── CONTACT ────────────────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:1fr; gap:48px; align-items:start }
.con-label { font-size:.65rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--tx3); margin-bottom:10px }
.con-phone {
  display:block; font-family:var(--fh);
  font-size:clamp(2rem,6vw,3rem); letter-spacing:2px;
  color:var(--tx); line-height:1.05; margin-bottom:4px; transition:color var(--t);
}
.con-phone:hover { color:var(--g) }
.con-phone-2 { font-size:1.3rem; color:var(--tx3); letter-spacing:1px; margin-bottom:20px }
.con-sms {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--y); color:#000;
  padding:11px 22px; border-radius:24px;
  font-size:.8rem; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  transition:background var(--t);
}
.con-sms:hover { background:var(--y2) }
.con-details { display:flex; flex-direction:column; gap:14px; margin:24px 0 }
.con-row { display:flex; align-items:flex-start; gap:12px; font-size:.88rem; color:var(--tx2) }
.con-row i { color:var(--g); width:15px; flex-shrink:0; margin-top:2px }
.con-row a:hover { color:var(--g) }
.avail-box {
  display:flex; align-items:flex-start; gap:10px;
  background:rgba(45,106,31,.07); border:1px solid rgba(45,106,31,.18);
  border-radius:var(--r); padding:14px 18px;
  font-size:.82rem; color:var(--g); line-height:1.5;
}
.avail-dot {
  width:9px; height:9px; border-radius:50%; background:#16a34a;
  flex-shrink:0; margin-top:3px; animation:pulse 2s ease infinite;
}

/* Form */
.con-form-wrap {
  background:var(--s2); border:1px solid var(--bdr);
  border-radius:var(--r2); padding:32px;
  box-shadow:var(--sh2);
}
.form-title {
  font-family:var(--fh); font-size:1.7rem; letter-spacing:2px;
  color:var(--tx); margin-bottom:24px;
}
.form-row-2 { display:grid; grid-template-columns:1fr; gap:16px }
.fg { display:flex; flex-direction:column; gap:6px; margin-bottom:16px }
.fg:last-of-type { margin-bottom:0 }
.fg label { font-size:.62rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--tx3) }
.fg input, .fg select, .fg textarea {
  background:var(--s1); border:1.5px solid var(--bdr);
  border-radius:var(--r); padding:12px 14px;
  color:var(--tx); font-size:.92rem;
  transition:border-color var(--t), box-shadow var(--t);
  outline:none; width:100%;
  -webkit-appearance:none; appearance:none;
}
.fg input::placeholder, .fg textarea::placeholder { color:var(--tx3) }
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color:var(--y); box-shadow:var(--sh3) }
.fg select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7280' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:10px;
  padding-right:36px; cursor:pointer;
}
.fg select option { background:#fff; color:#111827 }
.fg textarea { resize:vertical; min-height:100px }
.form-msg { margin-top:16px; padding:12px 16px; border-radius:var(--r); font-size:.85rem; font-weight:600; display:flex; align-items:flex-start; gap:8px; line-height:1.5 }
.form-msg.ok  { background:rgba(22,163,74,.07); border:1px solid rgba(22,163,74,.2); color:#16a34a }
.form-msg.err { background:rgba(220,38,38,.07); border:1px solid rgba(220,38,38,.2); color:#dc2626 }

/* ── FOOTER ─────────────────────────────────────────────── */
.footer { background:#0D0F12; border-top:4px solid var(--y); padding-top:var(--sp10) }
.ft-grid { display:grid; grid-template-columns:1fr; gap:40px; padding-bottom:56px }
.ft-brand p { font-size:.88rem; color:rgba(255,255,255,.6); line-height:1.75; margin-top:14px; max-width:280px }
.ft-logo img { height:100px; width:auto }
.ft-social { display:flex; gap:8px; margin-top:16px }
.ft-social a {
  width:36px; height:36px; border-radius:var(--r);
  border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
  font-size:.82rem; transition:all var(--t);
}
.ft-social a:hover { background:var(--y); color:#000; border-color:var(--y) }
.ft-col h4 { font-size:.6rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--y); margin-bottom:16px }
.ft-col ul { display:flex; flex-direction:column; gap:9px }
.ft-col li a, .ft-col li span { font-size:.88rem; color:rgba(255,255,255,.6); transition:color var(--t) }
.ft-col li a:hover { color:#fff }
.ft-contact li { display:flex; align-items:flex-start; gap:8px }
.ft-contact i { color:var(--y); margin-top:2px; flex-shrink:0; font-size:.75rem }
.ft-bottom { border-top:1px solid rgba(255,255,255,.06); padding:16px 0 }
.ft-bot-in { display:flex; flex-direction:column; gap:4px; font-size:.74rem; color:rgba(255,255,255,.25) }

/* ── MODAL ──────────────────────────────────────────────── */
.modal-bg { position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity var(--t) }
.modal-bg.show { opacity:1; pointer-events:all }
.modal { position:fixed; top:50%; left:50%; transform:translate(-50%,-48%) scale(.96); z-index:1001; width:min(92vw,840px); max-height:90svh; overflow-y:auto; background:#fff; border-radius:var(--r2); opacity:0; pointer-events:none; transition:all var(--t); box-shadow:0 24px 80px rgba(0,0,0,.25) }
.modal.show { opacity:1; pointer-events:all; transform:translate(-50%,-50%) scale(1) }
.modal-close { position:sticky; top:12px; float:right; margin:12px 12px 0 0; width:34px; height:34px; border-radius:50%; background:var(--s3); color:var(--tx3); display:flex; align-items:center; justify-content:center; font-size:.8rem; transition:all var(--t); z-index:2; min-height:unset; padding:0; border:1px solid var(--bdr) }
.modal-close:hover { background:var(--y); color:#000; transform:rotate(90deg) }
.modal-hero-img { width:100%; aspect-ratio:16/8; object-fit:cover }
.modal-content { padding:24px }
.modal-cat { font-size:.6rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--g); margin-bottom:6px }
.modal-name { font-family:var(--fh); font-size:1.9rem; letter-spacing:2px; color:var(--tx); margin-bottom:16px }
.modal-prices { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; background:var(--s3); border-radius:var(--r); padding:16px; margin-bottom:16px }
.mp-item { text-align:center }
.mp-item strong { display:block; font-family:var(--fh); font-size:1.2rem; color:var(--y2) }
.mp-item span { font-size:.6rem; color:var(--tx3); text-transform:uppercase; letter-spacing:1px; font-weight:700 }
.modal-desc { font-size:.88rem; color:var(--tx2); line-height:1.72; margin-bottom:16px }
.modal-specs-title { font-size:.62rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--tx3); margin-bottom:10px }
.modal-specs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:16px }
.ms-item { background:var(--s3); border-radius:var(--r); padding:10px 12px }
.ms-item span { font-size:.58rem; color:var(--tx3); text-transform:uppercase; letter-spacing:1px; display:block; margin-bottom:2px }
.ms-item strong { font-size:.85rem; font-weight:700; color:var(--tx) }
.modal-actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:16px; border-top:1px solid var(--bdr) }

/* ── INNER PAGE HERO ────────────────────────────────────── */
.page-hero {
  background:#0D0F12;
  padding:64px 0 48px;
  border-bottom:4px solid var(--y);
}
.page-hero .sec-tag { color:var(--y); background:rgba(255,208,0,.1); border:1px solid rgba(255,208,0,.2) }
.page-hero .sec-tag::before, .page-hero .sec-tag::after { background:var(--y) }
.page-hero .sec-p { color:rgba(255,255,255,.6) }
.page-hero h1 { font-family:var(--fh); font-size:clamp(2.4rem,6vw,4.2rem); letter-spacing:3px; color:#fff; line-height:.98; margin:14px 0 16px }
.page-hero h1 span { color:var(--y) }
.page-hero p { font-size:1rem; color:rgba(255,255,255,.6); max-width:600px; line-height:1.65 }

/* ── EQUIPMENT PAGE CARDS ───────────────────────────────── */
.eq-block { margin-bottom:72px }
.eq-block:last-child { margin-bottom:0 }
.eq-layout { display:grid; grid-template-columns:1fr; gap:32px }
.eq-img-panel {
  background:#F6F7F9; border:1px solid var(--bdr);
  border-radius:var(--r2);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:4/3;
}
.eq-img-panel img { width:90%; height:90%; object-fit:contain }
.eq-info-panel { display:flex; flex-direction:column; gap:20px }
.eq-model { font-size:.6rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--g) }
.eq-name { font-family:var(--fh); font-size:clamp(2rem,5vw,3rem); letter-spacing:2px; color:var(--tx); line-height:1 }
.eq-desc { font-size:1rem; color:var(--tx2); line-height:1.75 }
.eq-specs-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px }
.eq-spec { background:var(--s3); border-radius:var(--r); padding:12px }
.eq-spec label { font-size:.6rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--tx2); display:block; margin-bottom:3px }
.eq-spec span  { font-size:1rem; font-weight:700; color:var(--tx) }
.eq-pricing-row {
  display:flex; gap:12px; flex-wrap:wrap;
  padding:16px 20px; background:var(--tx);
  border-radius:var(--r);
}
.eq-price-item { text-align:center }
.eq-price-item strong { font-family:var(--fh); font-size:1.8rem; letter-spacing:1px; color:var(--y); display:block; line-height:1 }
.eq-price-item span  { font-size:.62rem; font-weight:700; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:1px }
.eq-delivery-note { display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--g); background:rgba(45,106,31,.07); border:1px solid rgba(45,106,31,.18); border-radius:var(--r); padding:10px 14px }
.eq-atts-hd { font-size:.6rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--tx3); margin-bottom:8px }
.att-chips { display:flex; flex-wrap:wrap; gap:6px }
.att-chip { font-size:.68rem; font-weight:700; padding:4px 10px; border-radius:2px; background:var(--s3); border:1px solid var(--bdr2); color:var(--tx2); display:flex; align-items:center; gap:5px }
.eq-actions { display:flex; gap:10px; flex-wrap:wrap }

/* ── ATTACHMENT CARDS ───────────────────────────────────── */
.att-grid { display:grid; grid-template-columns:1fr; gap:14px }
.att-card { background:var(--s2); border:1px solid var(--bdr); border-radius:var(--r2); padding:20px; display:flex; align-items:flex-start; gap:16px; box-shadow:var(--sh1); transition:all var(--t) }
.att-card:hover { border-left:3px solid var(--y); box-shadow:var(--sh2) }
.att-ico { width:48px; height:48px; flex-shrink:0; background:var(--y); border-radius:var(--r); display:flex; align-items:center; justify-content:center; color:#000; font-size:1.1rem }
.att-info h3 { font-family:var(--fh); font-size:1.15rem; letter-spacing:1px; color:var(--tx); margin-bottom:5px }
.att-info p  { font-size:.95rem; color:var(--tx2); line-height:1.7; margin-bottom:10px }
.att-compat { display:flex; gap:6px; flex-wrap:wrap }
.att-compat span { font-size:.6rem; font-weight:800; padding:3px 9px; border-radius:2px; background:rgba(45,106,31,.08); border:1px solid rgba(45,106,31,.2); color:var(--g); text-transform:uppercase; letter-spacing:.5px }
.att-note { text-align:center; font-size:.88rem; color:var(--tx3); margin-top:32px }
.att-note a { color:var(--g); font-weight:700 }

/* ── USE CASES ──────────────────────────────────────────── */
.uc-grid { display:grid; grid-template-columns:1fr; gap:14px }
.uc-card { background:var(--s2); border:1px solid var(--bdr); border-radius:var(--r2); padding:20px; display:flex; flex-direction:column; gap:10px; box-shadow:var(--sh1); transition:all var(--t) }
.uc-card:hover { border-color:var(--y4); box-shadow:var(--sh2); transform:translateY(-2px) }
.uc-icon { width:44px; height:44px; background:var(--y3); border:1px solid var(--y4); border-radius:var(--r); display:flex; align-items:center; justify-content:center; color:var(--y2); font-size:1rem; transition:all var(--t) }
.uc-card:hover .uc-icon { background:var(--y); color:#000 }
.uc-card h3 { font-family:var(--fh); font-size:1.1rem; letter-spacing:.5px; color:var(--tx) }
.uc-card p  { font-size:.95rem; color:var(--tx2); line-height:1.7 }
.uc-machine { font-size:.64rem; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--g); background:rgba(45,106,31,.08); padding:4px 9px; border-radius:2px; align-self:flex-start; border:1px solid rgba(45,106,31,.18) }

/* ── DELIVERY ───────────────────────────────────────────── */
.del-layout { display:grid; grid-template-columns:1fr; gap:48px; align-items:start }
.del-map { background:var(--s1); border:1px solid var(--bdr); border-radius:var(--r2); padding:24px }
.del-map svg { width:100%; max-width:360px; margin:0 auto; display:block }
.del-zones { display:flex; flex-direction:column; gap:12px }
.del-zone { background:var(--s2); border:1px solid var(--bdr); border-radius:var(--r2); padding:18px; display:flex; align-items:center; gap:14px; box-shadow:var(--sh1); transition:all var(--t) }
.del-zone:hover { border-color:var(--y4); box-shadow:var(--sh2) }
.dz-icon { font-size:1.6rem; flex-shrink:0 }
.dz-info h3 { font-family:var(--fh); font-size:1.05rem; letter-spacing:.5px; color:var(--tx); margin-bottom:3px }
.dz-info p  { font-size:.8rem; color:var(--tx3); line-height:1.5 }
.dz-price { margin-left:auto; flex-shrink:0; font-size:.68rem; font-weight:800; letter-spacing:.5px; color:var(--g); background:rgba(45,106,31,.08); border:1px solid rgba(45,106,31,.2); padding:4px 12px; border-radius:14px; white-space:nowrap; text-transform:uppercase }

/* ── FLOATING BTNS ──────────────────────────────────────── */
.float-wrap { position:fixed; bottom:20px; right:16px; z-index:800; display:flex; flex-direction:column; gap:8px; align-items:flex-end }
.float-btn { display:flex; align-items:center; gap:7px; padding:11px 18px; border-radius:24px; font-family:var(--fb); font-size:.78rem; font-weight:800; box-shadow:0 4px 20px rgba(0,0,0,.18); transition:all var(--t); white-space:nowrap }
.float-call { background:#0D0F12; color:#fff }
.float-call:hover { background:#000; transform:scale(1.04) }
.float-sms { background:var(--y); color:#000 }
.float-sms:hover { background:var(--y2); transform:scale(1.04) }
.float-btn span { display:none }
.btt { position:fixed; bottom:20px; left:16px; z-index:800; width:42px; height:42px; border-radius:var(--r); background:var(--s3); color:var(--tx3); border:1px solid var(--bdr); display:flex; align-items:center; justify-content:center; font-size:.8rem; opacity:0; pointer-events:none; transform:translateY(8px); transition:all var(--t) }
.btt.show { opacity:1; pointer-events:all; transform:none }
.btt:hover { background:var(--y); color:#000; border-color:var(--y) }

/* ── CTA BAND ───────────────────────────────────────────── */
.cta-band { background:#0D0F12; padding:56px 0; border-top:4px solid var(--y); text-align:center }
.cta-band h2 { font-family:var(--fh); font-size:clamp(1.6rem,4vw,2.8rem); letter-spacing:2px; color:#fff; margin-bottom:12px }
.cta-band h2 span { color:var(--y) }
.cta-band p { font-size:.92rem; color:rgba(255,255,255,.5); margin-bottom:28px; max-width:480px; margin-left:auto; margin-right:auto }
.cta-band .btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap }

/* ── REVEAL ─────────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease }
.reveal.in { opacity:1; transform:none }

/* ── RESPONSIVE 640px+ ──────────────────────────────────── */
@media(min-width:640px) {
  :root { --sec-pad:96px }
  .wrap { padding:0 32px }
  .mach-grid { grid-template-columns:repeat(3,1fr) }
  .why-grid { grid-template-columns:repeat(2,1fr) }
  .stats-in { grid-template-columns:repeat(4,1fr) }
  .rev-grid { grid-template-columns:repeat(2,1fr) }
  .ot-grid  { grid-template-columns:repeat(2,1fr) }
  .att-grid { grid-template-columns:repeat(2,1fr) }
  .uc-grid  { grid-template-columns:repeat(2,1fr) }
  .form-row-2 { grid-template-columns:1fr 1fr }
  .float-btn span { display:inline }
  .del-layout { grid-template-columns:1fr 1fr; align-items:center }
  .eq-layout { grid-template-columns:1fr 1fr; align-items:start }
}

/* ── RESPONSIVE 1024px+ ─────────────────────────────────── */
@media(min-width:1024px) {
  :root { --sec-pad:110px }
  .wrap { padding:0 40px }
  .nav-list { display:flex !important }
  .nav-list.open { position:static; flex-direction:row; background:none; border:none; padding:0; box-shadow:none }
  .nav-list.open .nav-a { padding:8px 11px; border-radius:var(--r); color:var(--tx2); font-size:.8rem }
  .nav-phone { display:flex }
  .nav-quote { display:inline-flex }
  .burger { display:none }
  .why-grid { grid-template-columns:repeat(4,1fr) }
  .att-grid { grid-template-columns:repeat(3,1fr) }
  .att-card { flex-direction:column; padding:24px }
  .uc-grid { grid-template-columns:repeat(3,1fr) }
  .contact-grid { grid-template-columns:1fr 1.1fr; gap:64px }
  .ft-grid { grid-template-columns:2fr 1fr 1fr 1.3fr; gap:64px }
  .ft-bot-in { flex-direction:row; justify-content:space-between }
  .modal-prices { grid-template-columns:repeat(4,1fr) }
  .modal-specs-grid { grid-template-columns:repeat(3,1fr) }
  .hero-body { padding:140px 40px 130px }
}

@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important } }
@media print { .topbar,.navbar,.float-wrap,.btt,.hero-trust,.modal-bg,.modal { display:none!important } }

/* ── MISSING CLASSES (audit fix) ────────────────────────── */
.att-info { flex:1 }
.btn-txt  { display:flex; align-items:center; gap:8px }
.btn-spin { display:flex; align-items:center; gap:8px }
.submit-btn { position:relative }

.con-info { display:flex; flex-direction:column }

.dz-info { flex:1 }

/* Footer */
.ft-brand { display:flex; flex-direction:column }
.ft-logo  { display:inline-block; margin-bottom:12px }
.ft-col   { display:flex; flex-direction:column }
.ft-contact { display:flex; flex-direction:column; gap:9px }

/* Stats */
.stat-box { display:flex; flex-direction:column; align-items:center; gap:4px }

/* Why-text inner */
.why-text { display:flex; flex-direction:column; gap:6px; flex:1 }
/* ─────────────────────────────────────────────────────────
   SHARED FLEET / GALLERY / QUICK SECTIONS
   (used on index.html + city landing pages)
   ───────────────────────────────────────────────────────── */
.gallery-section { padding:100px 0; background:#fff; }
.gallery-header  { text-align:center; margin-bottom:60px; }
.gallery-tag {
  display:inline-flex; align-items:center; gap:10px;
  font-size:.65rem; font-weight:800; letter-spacing:3px; text-transform:uppercase;
  color:#2D6A1F; margin-bottom:16px;
}
.gallery-tag::before, .gallery-tag::after {
  content:''; width:28px; height:2px; background:#2D6A1F;
}
.gallery-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.4rem,5vw,3.8rem);
  letter-spacing:2px; color:#0D0F12; line-height:1;
}
.gallery-title span { color:#D4AC00; }

.gal-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
}
.gal-card {
  position:relative; background:#F4F5F7;
  border-radius:12px; overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  transition:all .35s ease; cursor:pointer; text-decoration:none;
}
.gal-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.12); }
.gal-card-img { position:relative; height:220px; overflow:hidden; }
.gal-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gal-card:hover .gal-card-img img { transform:scale(1.08); }
.gal-badge {
  position:absolute; top:14px; left:14px;
  background:#FFD000; color:#0D0F12;
  font-size:.62rem; font-weight:800; letter-spacing:1px; text-transform:uppercase;
  padding:6px 12px; border-radius:4px;
}
.gal-card-body { padding:24px; }
.gal-card-cat {
  font-size:.6rem; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:#2D6A1F; margin-bottom:8px;
}
.gal-card-name {
  font-family:'Bebas Neue',sans-serif;
  font-size:1.8rem; letter-spacing:1px; color:#0D0F12; margin-bottom:12px;
}
.gal-card-price {
  display:flex; align-items:baseline; gap:6px; margin-bottom:16px;
}
.gal-card-price strong,
.gal-card-price .amt { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; color:#0D0F12; font-weight:700; }
.gal-card-price span  { font-size:.78rem; color:#7A8394; }
.gal-card-link {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.75rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:#0D0F12; transition:color .2s;
}
.gal-card-link i { transition:transform .2s; }
.gal-card:hover .gal-card-link   { color:#D4AC00; }
.gal-card:hover .gal-card-link i { transform:translateX(4px); }

.quick-section { padding:80px 0; background:#F4F5F7; }
.quick-grid    { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.quick-card {
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:12px;
  padding:32px 28px; text-align:center; transition:all .3s ease; text-decoration:none;
}
.quick-card:hover { border-color:#FFD000; box-shadow:0 12px 40px rgba(255,208,0,.15); transform:translateY(-4px); }
.quick-icon {
  width:64px; height:64px; margin:0 auto 20px;
  background:linear-gradient(135deg,rgba(255,208,0,.1),rgba(255,208,0,.05));
  border:1px solid rgba(255,208,0,.2); border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:#D4AC00; transition:all .3s;
}
.quick-card:hover .quick-icon { background:#FFD000; color:#0D0F12; transform:scale(1.08); }
.quick-card h3 { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:1px; color:#0D0F12; margin-bottom:8px; }
.quick-card p  { font-size:.85rem; color:#7A8394; line-height:1.6; }
