:root {
  /* Industrial palette */
  --steel:      #1e2228;      /* dark steel panel */
  --steel2:     #252b33;      /* lighter steel */
  --steel3:     #2e3540;      /* card bg */
  --iron:       #181c21;      /* deep iron */
  --concrete:   #3a3d42;      /* mid concrete */
  --concrete-lt:#52575e;      /* light concrete */
  --rust-white: #e8e4dc;      /* warm off-white, aged paper */
  --warm-white: #f0ece3;
  --smoke:      #d4cfc6;      /* concrete smoke */
  --yellow:     #e8a020;      /* worn machinery yellow */
  --yellow2:    #f0b030;
  --red:        #c0392b;
  --red2:       #d94030;
  --red-lo:     rgba(192,57,43,0.12);
  --border:     rgba(255,255,255,0.06);
  --border2:    rgba(255,255,255,0.11);
  --mid:        rgba(232,228,220,0.45);
  --dim:        rgba(232,228,220,0.28);
  --disp:       'Bebas Neue', 'Arial Narrow', sans-serif;
  --body:       'DM Sans', sans-serif;
  --ease:       cubic-bezier(0.22,1,0.36,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:60px;}
body{font-family:var(--body);color:var(--rust-white);background:var(--iron);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}

/* ── NOISE TEXTURE (SVG data URI) ── */
.tex {
  position:relative;
}
.tex::after {
  content:'';
  position:absolute;inset:0;pointer-events:none;z-index:1;
  opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px;
  mix-blend-mode:overlay;
}
.tex > * { position:relative;z-index:2; }

/* Diagonal stripe texture for section accents */
.stripe-bg {
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 6px,
    rgba(0,0,0,0.08) 6px,
    rgba(0,0,0,0.08) 7px
  );
}

/* Hazard stripe — yellow + iron diagonal motif. Use as a thin accent. */
.hazard-stripe{
  background:repeating-linear-gradient(
    -45deg,
    var(--yellow) 0 6px,
    var(--iron) 6px 12px
  );
}
.hazard-edge{position:relative;}
.hazard-edge::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:6px;
  background:repeating-linear-gradient(
    -45deg,
    var(--yellow) 0 6px,
    var(--iron) 6px 12px
  );
}
.hazard-edge-top{position:relative;}
.hazard-edge-top::before{
  content:'';position:absolute;left:0;right:0;top:0;height:6px;
  background:repeating-linear-gradient(
    -45deg,
    var(--yellow) 0 6px,
    var(--iron) 6px 12px
  );
}

/* ── VIDEO HERO ── */
.hero {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:var(--iron);
  overflow:hidden;
}
.hero-video {
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(0.85) contrast(1.02);
}
/* Placeholder when no video — raw steel look */
.hero-video-placeholder {
  width:100%;height:100%;
  background:
    linear-gradient(160deg, #1a1e24 0%, #252b33 40%, #1c2028 70%, #141820 100%);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:16px;
}
.hero-placeholder-text {
  font-family:var(--disp);font-size:clamp(28px,4vw,56px);
  letter-spacing:0.1em;text-transform:uppercase;
  color:rgba(232,228,220,0.15);text-align:center;line-height:1.1;
}
.hero-placeholder-sub {
  font-family:var(--body);font-size:13px;font-weight:400;
  letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(232,228,220,0.1);
}
/* Dark overlay for legibility */
.hero-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(20,24,32,0.15) 0%, rgba(20,24,32,0.55) 100%);
  pointer-events:none;
}
/* Bottom weld line — red strip at bottom of video */
.hero-weld {
  position:absolute;bottom:0;left:0;right:0;
  height:4px;background:var(--red);
}

nav {
  background:var(--steel);
  border-bottom:1px solid var(--border2);
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  transform:translateY(-100%);
  transition:transform 0.28s ease;
}
nav.pinned {
  transform:translateY(0);
}
nav::before {
  content:'';
  display:block;height:3px;
  background:var(--red);
}
.nav-inner {
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;height:56px;
}
.nav-brand{cursor:pointer;display:flex;flex-direction:column;gap:1px;text-decoration:none;}
.nav-brand-name{font-family:var(--disp);font-size:20px;letter-spacing:0.06em;color:var(--rust-white);line-height:1;}
.nav-brand-sub{font-size:9px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--yellow);}
.nav-links{display:none;}
.nav-phone{
  display:flex;align-items:center;gap:8px;
  background:var(--red);color:var(--rust-white);
  font-size:12px;font-weight:600;letter-spacing:0.06em;
  padding:9px 20px;text-decoration:none;
  transition:background 0.2s;flex-shrink:0;
  margin-left:16px;
}
.nav-phone:hover{background:var(--red2);}
.ham{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.ham span{width:22px;height:1.5px;background:var(--rust-white);display:block;transition:transform 0.25s,opacity 0.25s;}

/* ── MOBILE DRAWER ── */
.mob-menu-overlay{
  position:fixed;inset:0;z-index:98;
  background:rgba(0,0,0,0.55);
  opacity:0;pointer-events:none;
  transition:opacity 0.28s ease;
}
.mob-menu-overlay.open{opacity:1;pointer-events:auto;}
.mob-menu{
  position:fixed;top:68px;right:14px;z-index:99;
  width:min(62vw,220px);
  background:var(--steel);
  border:1px solid var(--border2);
  box-shadow:-8px 12px 28px rgba(0,0,0,0.5);
  padding:10px 14px;
  display:flex;flex-direction:column;gap:0;
  transform:translateX(calc(100% + 24px));
  opacity:0;
  transition:transform 0.28s var(--ease),opacity 0.2s ease;
}
.mob-menu.open{transform:translateX(0);opacity:1;}
.mob-menu a{
  font-family:var(--disp);font-size:18px;letter-spacing:0.06em;
  color:var(--rust-white);text-decoration:none;
  padding:11px 4px;border-bottom:1px solid var(--border);transition:color 0.2s;
}
.mob-menu a:hover{color:var(--yellow);}
.mob-menu a:last-child{border-bottom:none;}

/* ── SECTION SCAFFOLDING ── */
.sec { padding:88px 56px; }
.sec-steel  { background:var(--steel);  }
.sec-steel2 { background:var(--steel2); }
.sec-iron   { background:var(--iron);   }
.sec-warm   { background:var(--warm-white); color:var(--iron); }

.sec-label {
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--yellow);margin-bottom:14px;
}
.sec-label::before{content:'';width:20px;height:2px;background:var(--yellow);}
.sec-warm .sec-label{color:var(--red);}
.sec-warm .sec-label::before{background:var(--red);}

.sec-h2 {
  font-family:var(--disp);
  font-size:clamp(44px,6vw,84px);
  line-height:0.9;letter-spacing:0.02em;
  margin-bottom:52px;color:var(--rust-white);
}
.sec-h2 .accent{color:var(--red);}
.sec-warm .sec-h2{color:var(--iron);}

/* Section top rule — worn metal feel */
.rule-top {
  border-top:1px solid var(--border2);
  padding-top:88px;
}

/* ── BUTTONS — shared sizing, color-only variants ── */
.btn-red,.btn-steel,.btn-dark,.btn-white{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--body);
  font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  padding:14px 28px;min-height:46px;min-width:200px;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;
  box-sizing:border-box;
  transition:background 0.2s,border-color 0.2s,color 0.2s,transform 0.15s,opacity 0.2s;
}
.btn-red{background:var(--red);color:var(--rust-white);}
.btn-red:hover{background:var(--red2);transform:translateY(-1px);}
.btn-steel{background:transparent;border-color:var(--border2);color:var(--mid);}
.btn-steel:hover{border-color:rgba(232,228,220,0.35);color:var(--rust-white);}
.btn-dark{background:var(--iron);color:var(--rust-white);border-color:var(--border2);}
.btn-dark:hover{background:var(--steel);}
.btn-white{background:var(--rust-white);color:var(--iron);font-weight:700;flex-shrink:0;}
.btn-white:hover{opacity:0.88;}
@media(max-width:640px){
  .btn-red,.btn-steel,.btn-dark,.btn-white{width:100%;min-width:0;}
}

/* ── SCROLLING CAROUSEL / TICKER (replaces old marquee, now lives in hero area) ── */
/* Nothing here — carousel is the nav now */

/* ── SERVICES GRID ── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,0.4);}
.srv-card{
  background:var(--steel2);padding:36px 30px;
  position:relative;overflow:hidden;transition:background 0.2s;
}
/* Worn metal plate feel — slight diagonal texture */
.srv-card::before {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(-60deg,transparent,transparent 20px,rgba(0,0,0,0.02) 20px,rgba(0,0,0,0.02) 21px);
}
.srv-card::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--red);transform:scaleY(0);transform-origin:bottom;
  transition:transform 0.3s var(--ease);z-index:3;
}
.srv-card>*{transition:transform 0.3s var(--ease);}
.srv-card:hover>*{transform:scale(1.03);}
.srv-card:hover{background:var(--steel3);}
.srv-card:hover::after{transform:scaleY(1);}
.srv-num{font-family:var(--disp);font-size:52px;letter-spacing:0.02em;color:var(--red);line-height:1;position:absolute;top:16px;right:16px;z-index:2;transition:text-shadow 0.3s;}
.srv-card:hover .srv-num{text-shadow:0 0 8px rgba(192,57,43,0.6),0 0 20px rgba(192,57,43,0.4),0 0 40px rgba(192,57,43,0.2);}
.srv-icon{width:42px;height:42px;background:rgba(232,160,32,0.1);border:1px solid rgba(232,160,32,0.25);display:flex;align-items:center;justify-content:center;margin-bottom:18px;position:relative;z-index:2;transition:background 0.25s,border-color 0.25s,box-shadow 0.25s;}
.srv-icon svg{stroke:var(--yellow);transition:filter 0.25s;}
.srv-card:hover .srv-icon{background:rgba(232,160,32,0.2);border-color:rgba(232,160,32,0.45);box-shadow:0 0 16px rgba(232,160,32,0.15);}
.srv-card:hover .srv-icon svg{filter:brightness(1.3);}
.srv-title{font-family:var(--disp);font-size:24px;letter-spacing:0.04em;text-transform:uppercase;color:var(--rust-white);margin-bottom:9px;line-height:1.05;position:relative;z-index:2;}
.srv-body{font-size:13px;font-weight:400;line-height:1.7;color:var(--smoke);position:relative;z-index:2;}
.srv-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--yellow);cursor:pointer;text-decoration:none;transition:gap 0.2s,color 0.2s,text-shadow 0.2s;position:relative;z-index:2;}
.srv-link:hover{color:var(--rust-white);}
.srv-card:hover .srv-link{gap:12px;}
/* Service card background images — subtle, darkened */
.srv-card-bg{position:absolute;inset:-10px;z-index:0;pointer-events:none;background-size:cover;background-position:center;opacity:0;filter:saturate(0.3);will-change:transform,opacity;}
.srv-card:hover .srv-card-bg{opacity:0.2 !important;filter:saturate(0.3);}

/* ── ABOUT SPLIT ── */
.about-split{display:grid;grid-template-columns:55% 45%;min-height:560px;}
.about-img{position:relative;overflow:hidden;}
.about-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.75) contrast(1.1) saturate(0.7);}
/* Colour grade toward warm */
.about-img::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(232,160,32,0.08) 0%,transparent 60%);}
.about-img::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(to right,transparent 65%,var(--warm-white) 100%);}
.about-text{background:var(--warm-white);color:var(--iron);padding:64px 52px;display:flex;flex-direction:column;justify-content:center;}
@media(min-width:901px){
  .about-text > *:not(.about-logo){max-width:58%;}
}
.about-text{position:relative;}
.about-text .sec-label{margin-bottom:12px;}
.about-logo{
  position:absolute;
  top:50%;right:5%;
  transform:translateY(-50%);
  width:min(38%,260px);
  height:auto;
  pointer-events:none;
  z-index:1;
}
@media(max-width:900px){
  .about-logo{
    position:static;
    transform:none;
    display:block;
    width:300px;max-width:80%;
    margin:0 auto 28px;
  }
}
.about-text h2{font-family:var(--disp);font-size:clamp(40px,4.5vw,68px);line-height:0.9;letter-spacing:0.02em;color:var(--iron);margin-bottom:22px;}
.about-text h2 span{color:var(--red);}
.about-text p{font-size:14px;font-weight:300;line-height:1.85;color:rgba(24,28,33,0.65);margin-bottom:14px;}
.about-text p:last-of-type{margin-bottom:26px;}
.oem-tag{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(192,57,43,0.3);background:rgba(192,57,43,0.06);padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);width:fit-content;margin-bottom:22px;}

/* ── TESTIMONIAL ── */
.testi{
  background:var(--steel);
  padding:56px;
  display:flex;align-items:center;gap:48px;
  border-top:1px solid var(--border2);
  border-bottom:1px solid var(--border2);
  position:relative;overflow:hidden;
}
/* Hazard stripe accent left */
.testi::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:6px;
  background:repeating-linear-gradient(
    -45deg,
    var(--yellow) 0px, var(--yellow) 6px,
    var(--iron) 6px, var(--iron) 12px
  );
}
.testi-quote{font-family:var(--disp);font-size:clamp(24px,3.2vw,42px);letter-spacing:0.02em;line-height:1.15;color:var(--rust-white);flex:1;padding-left:32px;}
.testi-src{flex-shrink:0;text-align:right;}
.testi-name{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--rust-white);}
.testi-role{font-size:11px;color:var(--yellow);letter-spacing:0.08em;text-transform:uppercase;margin-top:3px;}

/* ── COMPONENTS ── */
.parts-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border2);}
.part-row{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);transition:background 0.15s;}
.part-row:nth-child(even){border-right:none;}
.part-row:nth-last-child(-n+2){border-bottom:none;}
.part-row:hover{background:rgba(255,255,255,0.03);}
.part-arrow{color:var(--yellow);font-size:11px;flex-shrink:0;}
.part-name{font-size:13px;font-weight:400;color:rgba(232,228,220,0.75);flex:1;}
.parts-cta-inline{
  padding:28px;
  background:var(--red);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.parts-cta-inline p{font-size:15px;font-weight:300;color:var(--rust-white);}
.parts-cta-inline p strong{font-weight:600;}

/* ── SECTION CTAs (home page) ── */
.services-cta{
  position:relative;overflow:hidden;
  padding:40px 56px;
  background:linear-gradient(to left,var(--iron) 0%,#0a0d11 100%);
  border-top:1px solid var(--border);
}
.services-cta-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.services-cta-content p{font-size:15px;font-weight:300;color:var(--rust-white);max-width:620px;}
.services-cta-content p strong{font-weight:700;color:var(--yellow);letter-spacing:0.02em;}
.services-cta .btn-white{transition:background 0.4s ease,color 0.4s ease,transform 0.4s ease,box-shadow 0.4s ease,border-color 0.4s ease;}
.services-cta .btn-white:hover{background:var(--red);color:var(--rust-white);opacity:1;}
.services-cta .btn-white.btn-near{
  background:var(--red);
  color:var(--rust-white);
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 10px 28px rgba(192,57,43,0.32);
}
@media(max-width:1024px){
  .services-cta{padding:36px 28px;}
}

/* ── FLEET CARDS (HIRE) ── */
.fleet-table{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(0,0,0,0.3);}
.fleet-card{
  background:var(--steel2);padding:24px;
  display:flex;gap:20px;align-items:flex-start;
  border-left:3px solid var(--yellow);
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
}
.fleet-card:hover{background:var(--steel3);transform:translateY(-3px) scale(1.01);box-shadow:0 6px 24px rgba(0,0,0,0.35);z-index:2;position:relative;border-left-color:var(--red);}
.fleet-card-img{width:160px;height:120px;flex-shrink:0;overflow:hidden;border:1px solid var(--border2);}
.fleet-card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.8) contrast(1.1) saturate(0.7);transition:transform 0.4s var(--ease),filter 0.4s;}
.fleet-card:hover .fleet-card-img img{transform:scale(1.08);filter:brightness(0.9) contrast(1.15) saturate(0.8);}
.fleet-card:hover .fleet-card-enquire{color:var(--rust-white);gap:10px;}
.fleet-card-body{flex:1;min-width:0;}
.fleet-card-body h4{font-family:var(--disp);font-size:22px;letter-spacing:0.04em;color:var(--rust-white);margin-bottom:6px;line-height:1.05;}
.fleet-card-body p{font-size:13px;font-weight:400;line-height:1.65;color:var(--smoke);margin-bottom:12px;}
.fleet-card-price{font-family:var(--disp);font-size:20px;color:var(--yellow);letter-spacing:0.03em;margin-bottom:12px;}
.fleet-card-enquire{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--yellow);text-decoration:none;transition:color 0.2s;}
.fleet-card-enquire:hover{color:var(--rust-white);}
.hire-note{
  margin-top:1px;padding:24px 28px;
  background:var(--steel2);
  border-top:2px solid var(--yellow);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.hire-note p{font-size:14px;font-weight:300;color:var(--mid);}
.hire-note p strong{color:var(--rust-white);font-weight:500;}

/* ── FOR SALE MARQUEE ── */
.forsale-strip{
  background:var(--steel);border-top:3px solid var(--red);border-bottom:1px solid var(--border2);
  overflow:hidden;height:56px;display:flex;align-items:center;
}
.forsale-marquee{display:flex;width:100%;overflow:hidden;}
.forsale-marquee-track{
  display:flex;align-items:center;gap:0;flex-shrink:0;
  animation:marquee-scroll 40s linear infinite;
}
@keyframes marquee-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}
.forsale-marquee-track span{
  font-family:var(--disp);font-size:26px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--rust-white);white-space:nowrap;padding:0 16px;
}
.forsale-marquee-track span em{color:var(--red);font-style:normal;}
.forsale-marquee-track .mq-icon{padding:0 22px;display:flex;align-items:center;}
.forsale-marquee-track .mq-icon img{height:1em;width:auto;opacity:0.4;filter:invert(1);object-fit:contain;}

/* ── FOR SALE HERO ── */
.sale-hero{
  background:#0a0a0a;
  display:flex;align-items:stretch;min-height:420px;
  position:relative;overflow:hidden;
}
.sale-hero-content{padding:72px 56px;flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;}
.sale-hero-title{font-family:var(--disp);font-size:clamp(56px,7vw,100px);line-height:0.88;letter-spacing:0.02em;color:var(--rust-white);margin-bottom:8px;}
.sale-hero-title span{color:var(--yellow);}
.sale-hero-sub{font-family:var(--disp);font-size:clamp(18px,2vw,26px);letter-spacing:0.08em;text-transform:uppercase;color:var(--rust-white);margin-bottom:32px;}
.sale-hero-stats{display:flex;gap:0;margin-bottom:32px;}
.sale-hero-stat{padding:12px 24px;border-left:2px solid var(--yellow);display:flex;flex-direction:column;gap:2px;}
.sale-hero-stat-val{font-family:var(--disp);font-size:clamp(28px,3vw,38px);letter-spacing:0.02em;color:var(--rust-white);line-height:1;}
.sale-hero-stat-label{font-size:9px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--yellow);}
.sale-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.btn-yellow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--yellow);color:var(--iron);
  font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:13px 28px;text-decoration:none;border:none;cursor:pointer;
  transition:background 0.2s;
}
.btn-yellow:hover{background:var(--yellow2);}
.sale-hero-right{
  flex:1;display:flex;align-items:flex-end;justify-content:flex-end;
  padding:40px 56px;position:relative;z-index:2;
}
.sale-hero-price{
  background:var(--yellow);padding:16px 24px;text-align:center;
}
.sale-hero-price-label{font-size:9px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,0,0,0.5);margin-bottom:2px;}
.sale-hero-price-val{font-family:var(--disp);font-size:clamp(32px,4vw,48px);letter-spacing:0.02em;color:var(--iron);line-height:1;}
.sale-hero-price-gst{font-size:10px;font-weight:500;letter-spacing:0.08em;color:rgba(0,0,0,0.45);margin-top:2px;}
.sale-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(0.35) contrast(1.1) saturate(0.5);}
.sale-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(10,10,10,0.92) 0%,rgba(10,10,10,0.5) 50%,rgba(10,10,10,0.15) 100%);}
.sale-hero + .sale-hero{border-top:1px solid var(--border2);}
.sale-hero-sold{
  font-family:var(--disp);font-size:clamp(56px,8vw,96px);letter-spacing:0.06em;
  color:var(--red);
  text-shadow:0 0 20px rgba(192,57,43,0.4),0 0 60px rgba(192,57,43,0.15);
}

/* ── INSPECTION ── */
.insp-split{display:grid;grid-template-columns:1fr 1fr;}
.insp-img{position:relative;overflow:hidden;}
.insp-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6) contrast(1.1) saturate(0.65);}
.insp-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--steel) 100%);}
/* Corner target */
.insp-img::before{content:'';position:absolute;top:20px;left:20px;z-index:2;width:22px;height:22px;border-top:2px solid var(--yellow);border-left:2px solid var(--yellow);}
.insp-content{background:var(--steel);padding:68px 48px;display:flex;flex-direction:column;justify-content:center;}
.insp-eyebrow{font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.insp-eyebrow::before{content:'';width:20px;height:1px;background:var(--yellow);}
.insp-title{font-family:var(--disp);font-size:clamp(42px,5vw,76px);line-height:0.9;letter-spacing:0.02em;color:var(--rust-white);margin-bottom:18px;}
.insp-title span{color:var(--red);}
.insp-desc{font-size:14px;font-weight:300;line-height:1.8;color:var(--mid);margin-bottom:26px;}
.checklist{list-style:none;display:flex;flex-direction:column;margin-bottom:28px;}
.check-item{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;font-weight:400;color:rgba(232,228,220,0.72);}
.check-item:last-child{border-bottom:none;}
.check-num{font-size:10px;font-weight:500;letter-spacing:0.06em;color:var(--yellow);width:18px;flex-shrink:0;}
.check-tick{width:16px;height:16px;flex-shrink:0;border:1px solid rgba(192,57,43,0.3);background:rgba(192,57,43,0.08);display:flex;align-items:center;justify-content:center;margin-left:auto;}
.check-tick svg{width:9px;height:9px;}

/* ── CONTACT ── */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;}
.contact-left{
  background:var(--red);padding:68px 52px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
/* Diagonal stripe texture on contact left */
.contact-left::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(0,0,0,0.06) 20px,rgba(0,0,0,0.06) 21px);
}
.contact-left>*{position:relative;z-index:1;}
.contact-left-h2{font-family:var(--disp);font-size:clamp(52px,6vw,92px);line-height:0.88;letter-spacing:0.02em;color:var(--rust-white);margin-bottom:32px;}
.contact-details{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,0.18);}
.cd-row{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,0.12);}
.cd-row:last-child{border-bottom:none;}
.cd-key{font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(232,228,220,0.55);padding:12px 14px;border-right:1px solid rgba(255,255,255,0.12);width:auto;min-width:72px;flex-shrink:0;display:flex;align-items:center;white-space:nowrap;}
.cd-val{font-size:13px;font-weight:500;color:var(--rust-white);padding:12px 16px;text-decoration:none;display:flex;align-items:center;transition:opacity 0.2s;}
a.cd-val:hover{opacity:0.75;}
.contact-socials{display:flex;gap:8px;margin-top:20px;}
.contact-soc{border:1px solid rgba(255,255,255,0.22);padding:8px 16px;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(232,228,220,0.75);text-decoration:none;transition:background 0.2s,color 0.2s;}
.contact-soc:hover{background:rgba(255,255,255,0.1);color:var(--rust-white);}
.contact-right{background:var(--steel2);padding:68px 52px;display:flex;flex-direction:column;justify-content:center;}
.contact-right h3{font-family:var(--disp);font-size:34px;letter-spacing:0.04em;text-transform:uppercase;color:var(--rust-white);margin-bottom:28px;}
.form-field{margin-bottom:14px;}
.form-field label{display:block;font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;}
.form-field input,.form-field select,.form-field textarea{width:100%;background:rgba(0,0,0,0.25);border:1px solid var(--border2);color:var(--rust-white);font-family:var(--body);font-size:16px;padding:11px 14px;outline:none;appearance:none;transition:border-color 0.2s;}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(232,228,220,0.18);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:rgba(192,57,43,0.6);}
.form-field textarea{min-height:100px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* ── FOOTER ── */
/* ── CONTACT FORM STATUS ── */
.form-status{font-size:13px;line-height:1.5;margin:8px 0 14px;min-height:1em;}
.form-status.err{color:var(--red);}
.form-status.ok{color:var(--yellow);}
.form-success{padding:32px 4px;text-align:left;}
.form-success h4{font-family:var(--disp);font-size:24px;letter-spacing:0.04em;color:var(--yellow);margin-bottom:10px;}
.form-success p{font-size:14px;line-height:1.7;color:var(--smoke);}

/* ── PHONE GATE (math captcha) ── */
.phone-blur{filter:blur(5px);user-select:none;pointer-events:none;opacity:0.65;}
.phone-reveal-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(232,160,32,0.1);border:1px solid rgba(232,160,32,0.4);color:var(--yellow);font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;padding:9px 16px;cursor:pointer;transition:background 0.2s,border-color 0.2s;white-space:nowrap;}
.phone-reveal-btn:hover{background:rgba(232,160,32,0.18);border-color:var(--yellow);}
.phone-reveal-btn svg{flex-shrink:0;}
.phone-revealed{font-family:var(--disp);font-weight:400;letter-spacing:0.04em;color:var(--yellow);text-decoration:none;}
.phone-revealed:hover{color:var(--yellow2);}
.phone-challenge{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.78);align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.phone-challenge.open{display:flex;}
.phone-challenge-box{background:var(--steel);border-top:3px solid var(--red);padding:36px 32px;width:min(380px,90vw);text-align:center;}
.phone-challenge-title{font-family:var(--disp);font-size:22px;letter-spacing:0.08em;color:var(--rust-white);margin-bottom:6px;}
.phone-challenge-sub{font-size:13px;color:var(--smoke);margin-bottom:24px;}
.phone-challenge-question{font-family:var(--disp);font-size:36px;color:var(--yellow);margin-bottom:18px;letter-spacing:0.05em;}
.phone-challenge-input{background:var(--steel3);border:1px solid var(--border);color:var(--rust-white);font-family:var(--disp);font-size:22px;text-align:center;padding:14px;width:100%;outline:none;letter-spacing:0.1em;margin-bottom:14px;border-radius:0;transition:border-color 0.2s;}
.phone-challenge-input:focus{border-color:var(--yellow);}
.phone-challenge-input.error{border-color:var(--red);animation:phshake 0.3s ease;}
@keyframes phshake{0%,100%{transform:translateX(0);}25%{transform:translateX(-6px);}75%{transform:translateX(6px);}}
.phone-challenge-submit{width:100%;background:var(--red);color:var(--rust-white);font-family:var(--disp);font-size:14px;letter-spacing:0.12em;text-transform:uppercase;padding:14px;border:none;cursor:pointer;margin-bottom:10px;transition:background 0.2s;}
.phone-challenge-submit:hover{background:#d4422f;}
.phone-challenge-cancel{font-family:var(--body);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);cursor:pointer;transition:color 0.2s;}
.phone-challenge-cancel:hover{color:var(--rust-white);}

footer{background:var(--iron);border-top:3px solid var(--red);padding:56px 56px 36px;}
.footer-top{display:flex;flex-direction:column;gap:18px;margin-bottom:32px;padding-top:8px;}
.footer-brand-name{font-family:var(--disp);font-size:24px;letter-spacing:0.06em;color:var(--rust-white);margin-bottom:4px;}
.footer-brand-sub{font-size:9px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:12px;}
.footer-brand p{font-size:12px;font-weight:300;color:var(--dim);line-height:1.7;max-width:220px;}
.footer-col h4{font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:12px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul li a{font-size:12px;font-weight:300;color:var(--dim);text-decoration:none;transition:color 0.2s;}
.footer-col ul li a:hover{color:var(--rust-white);}
.footer-bottom{border-top:1px solid var(--border);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px 32px;}
.footer-copy{font-size:12px;color:rgba(232,228,220,0.32);letter-spacing:0.06em;line-height:1.7;max-width:520px;}
.footer-socs{display:flex;gap:14px;}
.footer-soc{width:38px;height:38px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:border-color 0.2s;}
.footer-soc:hover{border-color:rgba(232,160,32,0.5);}
.footer-soc svg{width:13px;height:13px;}

/* ── SCROLL REVEAL ── */
.rv{opacity:0;transform:translateY(20px);transition:opacity 0.6s var(--ease),transform 0.6s var(--ease);}
.rv.in{opacity:1;transform:translateY(0);}
.rv.d1{transition-delay:0.08s}.rv.d2{transition-delay:0.16s}.rv.d3{transition-delay:0.24s}

/* ── WORD SLIDE ANIMATION (scroll-driven) ── */
.slide-title .sw{display:inline-block;will-change:transform,opacity;}

/* ── TESTIMONIAL SLIDE (scroll-driven) ── */
.slide-testi .sw{display:inline-block;will-change:transform,opacity;}
.slide-testi-src{will-change:transform,opacity;}

/* ── ACCORDION DROPDOWNS ── */
.accordion{border:1px solid var(--border2);margin-bottom:1px;}
.accordion-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;background:var(--steel2);cursor:pointer;
  border-left:3px solid var(--yellow);transition:background 0.2s;
}
.accordion-header:hover{background:var(--steel3);}
.accordion-header h3{font-family:var(--disp);font-size:24px;letter-spacing:0.04em;color:var(--rust-white);}
.accordion-toggle{font-family:var(--disp);font-size:28px;color:var(--yellow);transition:transform 0.3s;line-height:1;}
.accordion.open .accordion-toggle{transform:rotate(45deg);}
.accordion-body{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.22,1,0.36,1);background:rgba(0,0,0,0.2);}
.accordion.open > .accordion-body,
.accordion:hover > .accordion-body{max-height:500px;}
.accordion:hover .accordion-toggle,
.accordion.open .accordion-toggle{transform:rotate(45deg);}
.accordion-inner{padding:24px;font-size:14px;font-weight:300;line-height:1.8;color:var(--smoke);}
.accordion-inner strong{color:var(--rust-white);font-weight:600;}

/* ── STACKED SERVICE ROWS (services page) ── */
.services-stack{display:flex;flex-direction:column;}
.service-row{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:380px;background:var(--steel2);
  position:relative;border-bottom:1px solid var(--border);
  overflow:hidden;
}
.service-row:nth-child(even){direction:rtl;}
.service-row:nth-child(even) > *{direction:ltr;}
.service-row-img{background-size:cover;background-position:center;position:relative;filter:brightness(0.7) saturate(0.7) contrast(1.05);transition:transform 0.6s var(--ease),filter 0.5s ease,box-shadow 0.5s ease;}
.service-row:hover .service-row-img{transform:scale(1.04);filter:brightness(0.8) saturate(0.8) contrast(1.05);}
.service-row-img.img-near{transform:scale(1.04);filter:brightness(0.92) saturate(0.85) contrast(1.05);box-shadow:0 12px 36px rgba(0,0,0,0.35);}
.service-row-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--steel2) 100%);}
.service-row:nth-child(even) .service-row-img::after{background:linear-gradient(to left,transparent 55%,var(--steel2) 100%);}
.service-row-content{padding:56px 52px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;}
.service-row-num{
  font-family:var(--disp);font-size:96px;color:var(--red);line-height:1;
  position:absolute;top:20px;right:28px;opacity:0.85;
  transition:text-shadow 0.3s;
}
.service-row:hover .service-row-num{text-shadow:0 0 12px rgba(192,57,43,0.5),0 0 32px rgba(192,57,43,0.25);}
.service-row-icon{
  width:52px;height:52px;border:1px solid rgba(232,160,32,0.3);
  background:rgba(232,160,32,0.1);display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;transition:background 0.25s,border-color 0.25s,box-shadow 0.25s;
}
.service-row-icon svg{stroke:var(--yellow);transition:filter 0.25s;}
.service-row:hover .service-row-icon{background:rgba(232,160,32,0.2);border-color:rgba(232,160,32,0.5);box-shadow:0 0 18px rgba(232,160,32,0.15);}
.service-row:hover .service-row-icon svg{filter:brightness(1.3);}
.service-row-title{
  font-family:var(--disp);font-size:clamp(32px,3.5vw,48px);
  letter-spacing:0.04em;color:var(--rust-white);
  margin-bottom:14px;line-height:1.05;text-transform:uppercase;
}
.service-row-body{font-size:14px;font-weight:400;line-height:1.8;color:var(--smoke);margin-bottom:22px;max-width:560px;}
.service-row-body strong{color:var(--rust-white);font-weight:600;}
.service-row-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--yellow);text-decoration:none;
  transition:color 0.2s,gap 0.2s;width:fit-content;
}
.service-row-link:hover{color:var(--rust-white);gap:12px;}
/* No-image variant for the 3 content-heavy sections */
.service-row.no-img{grid-template-columns:1fr;}
.service-row.no-img .service-row-content{padding:56px 72px;max-width:1100px;}
@media(max-width:900px){
  .service-row{grid-template-columns:1fr;min-height:auto;}
  .service-row:nth-child(even){direction:ltr;}
  .service-row-img{min-height:240px;}
  .service-row-img::after,.service-row:nth-child(even) .service-row-img::after{background:linear-gradient(to bottom,transparent 60%,var(--steel2) 100%);}
  .service-row-content{padding:40px 28px;}
  .service-row-num{font-size:64px;top:16px;right:20px;}
  .service-row.no-img .service-row-content{padding:40px 28px;}
}

/* ── NAV ALWAYS VISIBLE ON SUBPAGES ── */
nav.always-on{transform:translateY(0);position:fixed;top:0;left:0;right:0;}
/* Push body content below fixed nav on subpages (59px = 3px border + 56px nav) */
body:has(nav.always-on):not(:has(.hero)){padding-top:59px;}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-inner{padding:0 24px;}
  .about-split{grid-template-columns:1fr;}
  .about-img{aspect-ratio:16/9;}
  .about-img::after{background:linear-gradient(to bottom,transparent 65%,var(--warm-white) 100%);}
  .about-text{padding:48px 28px;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .fleet-table{grid-template-columns:1fr 1fr;}
  .fleet-card{flex-direction:column;}
  .fleet-card-img{width:100%;height:160px;}
  .sale-hero{flex-direction:column;}.sale-hero-right{padding:0 28px 40px;justify-content:flex-start;}
  .insp-split{grid-template-columns:1fr;}
  .insp-img{aspect-ratio:16/9;}
  .insp-img::after{background:linear-gradient(to bottom,transparent 55%,var(--steel) 100%);}
  .insp-content{padding:40px 28px;}
  .contact-layout{grid-template-columns:1fr;}
  .contact-left,.contact-right{padding:52px 28px;}
  .testi{flex-direction:column;gap:24px;padding:48px 28px;}
  .testi-src{text-align:left;}
  .sec{padding:72px 28px;}
  .tradein-banner{padding:36px 28px;}
  footer{padding:36px 28px 28px;}
  .parts-grid{grid-template-columns:1fr;}
  .part-row:nth-child(even){border-right:1px solid var(--border);}
  .hire-note{padding:20px 24px;}
}
@media(max-width:640px){
  .services-grid{grid-template-columns:1fr;}
  .fleet-table{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .hero{aspect-ratio:auto;height:82svh;min-height:560px;}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
}
