/* ═══════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════ */
:root {
  --gold: #FDB813;
  --gold-dim: rgba(253,184,19,0.18);
  --gold-glow: rgba(253,184,19,0.35);
  --black: #000000;
  --void: #080808;
  --surface: #161616;
  --card: #1c1c1c;
  --border: rgba(255,255,255,0.07);
  --border-gold: rgba(253,184,19,0.25);
  --white: #ffffff;
  --text: rgba(255,255,255,0.82);
  --muted: rgba(255,255,255,0.45);
  --red: #c0392b;
  --ease: cubic-bezier(0.77,0,0.175,1);
  --ease-out: cubic-bezier(0.16,1,0.3,1);
}


/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after {
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  font-size:16px;
}

body {
  font-family:'Montserrat',sans-serif;
  background:#fff;
  color:#111;
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img {
  display:block;
  max-width:100%;
}

a {
  text-decoration:none;
}

button {
  font-family:'Montserrat',sans-serif;
  cursor:pointer;
}


/* ═══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
#hdr {
  position:sticky;
  top:0;
  left:0;
  right:0;
  z-index:3000;

  height:80px;

  background:#fff;

  border-bottom:3px solid var(--gold);

  display:flex;
  align-items:center;

  padding:0 3%;

  transition:
    height .35s var(--ease),
    box-shadow .35s;
}

#hdr.shrunk {
  height:65px;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}


.hdr-logo {
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.hdr-logo img {
  height:52px;
  width:auto;

  transition:height .35s var(--ease);
}

#hdr.shrunk .hdr-logo img {
  height:40px;
}


/* Desktop Navigation */
.hdr-nav {
  display:flex;
  align-items:center;
  gap:2px;
  margin-left:auto;
}


.tab-btn {
  position:relative;

  background:none;
  border:none;

  padding:10px 16px;

  font-size:11px;
  font-weight:700;

  letter-spacing:1.6px;
  text-transform:uppercase;

  color:#555;

  transition:color .25s;

  white-space:nowrap;
}


.tab-btn::after {
  content:'';

  position:absolute;

  bottom:0;
  left:16px;
  right:16px;

  height:2px;

  background:var(--gold);

  transform:scaleX(0);
  transform-origin:left;

  transition:transform .3s var(--ease-out);
}


.tab-btn:hover {
  color:#111;
}


.tab-btn.on {
  color:var(--gold);
}


.tab-btn.on::after {
  transform:scaleX(1);
}


/* ═══════════════════════════════════════════
   HAMBURGER
═══════════════════════════════════════════ */
.hamburger {
  display:none;

  flex-direction:column;
  gap:5px;

  margin-left:auto;
  padding:10px;

  background:none;
  border:none;

  z-index:4500;
}


.ham-bar {
  width:24px;
  height:2px;

  background:#111;

  border-radius:2px;

  transition:
    transform .35s var(--ease),
    opacity .25s;
}


.hamburger.x .ham-bar:nth-child(1) {
  transform:translateY(7px) rotate(45deg);
}


.hamburger.x .ham-bar:nth-child(2) {
  opacity:0;
}


.hamburger.x .ham-bar:nth-child(3) {
  transform:translateY(-7px) rotate(-45deg);
}


/* ═══════════════════════════════════════════
   MOBILE DRAWER
═══════════════════════════════════════════ */
.mob-drawer {
  position:fixed;
  inset:0;

  background:var(--void);

  z-index:2500;

  display:flex;
  flex-direction:column;

  align-items:center;
  justify-content:center;

  gap:6px;

  transform:translateX(100%);

  transition:transform .55s var(--ease);

  border-left:1px solid var(--border-gold);
}


.mob-drawer.open {
  transform:translateX(0);
}


.mob-drawer .tab-btn {
  font-size:16px;

  letter-spacing:4px;

  padding:18px 0;

  width:70%;

  text-align:center;

  color:var(--text);

  border-bottom:1px solid var(--border);
}


.mob-drawer .tab-btn.on {
  color:var(--gold);
}


.mob-drawer .tab-btn::after {
  display:none;
}


/* ═══════════════════════════════════════════
   MAIN CONTENT
═══════════════════════════════════════════ */
#vp {
  position:static;
  width:100%;
  overflow:visible;
}


.tab {
  display:block;
  min-height:auto;
}


.pg {
  padding:80px 6% 100px;

  max-width:1300px;

  margin:0 auto;
}


/* ═══════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════ */
.eyebrow {
  font-size:9px;

  letter-spacing:5px;

  font-weight:700;

  text-transform:uppercase;

  color:var(--gold);

  margin-bottom:14px;

  display:block;
}


.display {
  font-family:'Montserrat',sans-serif;

  font-size:clamp(32px,5vw,54px);

  font-weight:900;

  line-height:1.05;

  letter-spacing:-.5px;

  margin-bottom:20px;
}


.display .g,
.g {
  color:var(--gold);
}


.body-lg {
  font-size:16px;

  line-height:1.85;

  color:#444;

  font-weight:300;
}


.gold-line {
  width:48px;
  height:3px;

  background:var(--gold);

  margin:0 0 36px;

  border-radius:2px;
}


/* ═══════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════ */
.rv {
  opacity:0;

  transform:translateY(22px);

  transition:
    opacity .7s var(--ease-out),
    transform .7s var(--ease-out);
}


.rv.show {
  opacity:1;
  transform:translateY(0);
}


.rv-d1 {
  transition-delay:.08s;
}


.rv-d2 {
  transition-delay:.16s;
}


.rv-d3 {
  transition-delay:.24s;
}


/* ═══════════════════════════════════════════
   HOME HERO
═══════════════════════════════════════════ */
.hero {
  position:relative;

  min-height:calc(100vh - 80px);
  min-height:calc(100dvh - 80px);

  display:flex;

  align-items:flex-end;

  padding:0 6% 80px;

  overflow:hidden;

  background:#000;
}


.hero-bg {
  position:absolute;
  inset:0;

  background:
    url('images/work truck with trailer.png')
    center center / cover no-repeat;
}


.hero-overlay {
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      120deg,
      rgba(0,0,0,.75) 0%,
      rgba(0,0,0,.45) 60%,
      rgba(0,0,0,.2) 100%
    );
}


.hero-noise {
  position:absolute;
  inset:0;

  opacity:.03;

  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");
}


.hero-content {
  position:relative;
  z-index:2;

  max-width:780px;
}


.hero-est {
  display:inline-flex;

  align-items:center;

  gap:10px;

  font-size:10px;

  letter-spacing:5px;

  font-weight:700;

  text-transform:uppercase;

  color:var(--gold);

  margin-bottom:24px;

  opacity:0;

  animation:
    fadeUp .7s .3s var(--ease-out) forwards;
}


.hero-est::before {
  content:'';

  display:block;

  width:30px;
  height:1px;

  background:var(--gold);
}


.hero h1 {
  font-family:'Montserrat',sans-serif;

  font-size:clamp(42px,9vw,100px);

  font-weight:900;

  line-height:.96;

  letter-spacing:-1px;

  text-shadow:0 4px 40px rgba(0,0,0,.5);

  margin-bottom:28px;

  color:#fff;

  opacity:0;

  animation:
    fadeUp .7s .55s var(--ease-out) forwards;
}


.hero h1 .g {
  color:var(--gold);
}


.hero-sub {
  font-size:17px;

  font-weight:500;

  color:rgba(255,255,255,.9);

  line-height:1.75;

  max-width:600px;

  margin-bottom:42px;

  opacity:0;

  animation:
    fadeUp .7s .75s var(--ease-out) forwards;
}


.hero-actions {
  display:flex;

  flex-wrap:wrap;

  gap:14px;

  opacity:0;

  animation:
    fadeUp .7s .95s var(--ease-out) forwards;
}


/* ═══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.btn-gold {
  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:12px;

  background:var(--gold);

  color:#000;

  padding:18px 38px;

  border-radius:50px;

  font-weight:900;

  font-size:13px;

  text-transform:uppercase;

  letter-spacing:1.5px;

  box-shadow:
    0 8px 32px var(--gold-glow);

  transition:
    transform .25s var(--ease-out),
    background .25s,
    box-shadow .25s;

  border:none;
}


.btn-gold:hover {
  transform:translateY(-3px) scale(1.02);

  background:#ffc72a;

  box-shadow:
    0 14px 40px var(--gold-glow);
}


.btn-ghost {
  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  background:transparent;

  border:1px solid rgba(255,255,255,.3);

  color:#fff;

  padding:18px 36px;

  border-radius:50px;

  font-weight:600;

  font-size:13px;

  text-transform:uppercase;

  letter-spacing:1.5px;

  transition:
    border-color .25s,
    background .25s,
    color .25s;
}


.btn-ghost:hover {
  border-color:var(--gold);

  color:var(--gold);

  background:var(--gold-dim);
}


.btn-gold-sm {
  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  background:var(--gold);

  color:#000;

  padding:14px 28px;

  border-radius:50px;

  font-weight:900;

  font-size:12px;

  text-transform:uppercase;

  letter-spacing:1.5px;

  border:none;

  transition:
    transform .2s,
    background .2s,
    box-shadow .2s;
}


.btn-gold-sm:hover {
  transform:translateY(-2px);

  background:#ffc72a;

  box-shadow:
    0 10px 30px rgba(253,184,19,.4);
}


.btn-outline-sm {
  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  background:transparent;

  color:#333;

  padding:14px 28px;

  border-radius:50px;

  font-weight:700;

  font-size:12px;

  text-transform:uppercase;

  letter-spacing:1.5px;

  border:1px solid #ccc;

  transition:
    border-color .2s,
    color .2s,
    background .2s;
}


.btn-outline-sm:hover {
  border-color:var(--gold);

  color:#111;

  background:rgba(253,184,19,.06);
}


.btn-black {
  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:10px;

  background:#000;

  color:#fff;

  padding:15px 28px;

  border-radius:50px;

  border:1px solid #000;

  font-size:12px;

  font-weight:900;

  letter-spacing:1.4px;

  text-transform:uppercase;

  white-space:nowrap;

  transition:
    transform .2s,
    background .2s;
}


.btn-black:hover {
  background:#222;
  transform:translateY(-2px);
}


/* ═══════════════════════════════════════════
   HOME FOOTER
═══════════════════════════════════════════ */
.hm-footer {
  background:#000;

  padding:28px 6%;

  text-align:center;

  color:#fff;

  font-size:11px;

  letter-spacing:1px;

  border-top:
    1px solid var(--border-gold);
}


/* ═══════════════════════════════════════════
   PHILOSOPHY
═══════════════════════════════════════════ */
.phil-layout {
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:80px;

  align-items:center;
}


.phil-img {
  position:relative;

  border-radius:4px;

  overflow:hidden;
}


.phil-img img {
  width:100%;

  height:520px;

  object-fit:cover;

  filter:brightness(.9);

  transition:filter .4s;
}


.phil-img:hover img {
  filter:brightness(1);
}


.phil-img::before {
  content:'';

  position:absolute;

  top:0;
  left:0;

  width:60px;
  height:60px;

  border-top:3px solid var(--gold);

  border-left:3px solid var(--gold);

  z-index:2;
}


.phil-text p {
  font-size:15px;

  line-height:1.9;

  color:#444;

  font-weight:300;

  margin-bottom:20px;
}


.phil-text strong {
  color:#111;

  font-weight:700;
}


.phil-sig {
  display:flex;

  align-items:center;

  gap:16px;

  margin-top:34px;

  padding-top:25px;

  border-top:1px solid #e8e8e8;
}


.sig-omega {
  width:48px;
  height:48px;

  border-radius:50%;

  display:flex;

  align-items:center;

  justify-content:center;

  background:var(--gold);

  color:#000;

  font-size:27px;

  font-weight:900;
}


.sig-name {
  font-weight:900;

  color:#111;

  font-size:15px;
}


.sig-title {
  color:#777;

  text-transform:uppercase;

  font-size:9px;

  font-weight:700;

  letter-spacing:3px;

  margin-top:4px;
}


/* ═══════════════════════════════════════════
   VALUES
═══════════════════════════════════════════ */
.values-strip {
  display:grid;

  grid-template-columns:repeat(4,1fr);

  margin-top:70px;

  border:1px solid #e8e8e8;

  border-radius:4px;

  overflow:hidden;
}


.val-item {
  padding:36px 26px;

  border-right:1px solid #e8e8e8;

  background:#fafafa;
}


.val-item:last-child {
  border-right:none;
}


.val-icon {
  color:var(--gold);

  font-size:22px;

  margin-bottom:18px;
}


.val-item h2,
.val-item h3,
.val-item h4 {
  color:#111;

  font-size:13px;

  font-weight:900;

  letter-spacing:1px;

  text-transform:uppercase;

  margin-bottom:10px;
}


.val-item p {
  color:#666;

  font-size:13px;

  line-height:1.7;
}


/* ═══════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════ */
.cor-badge {
  display:inline-flex;

  align-items:center;

  gap:9px;

  padding:10px 16px;

  border-radius:3px;

  background:#f6f6f6;

  border:1px solid #e7e7e7;

  color:#555;

  font-size:10px;

  font-weight:800;

  letter-spacing:1.3px;

  text-transform:uppercase;
}


.cor-badge i {
  color:var(--gold);
}


.svc-grid {
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:2px;

  background:#ddd;
}


.svc-card {
  background:#fff;

  color:#111;

  padding:52px 6%;

  min-height:100%;

  transition:
    background .25s,
    transform .25s;
}


.svc-card:hover {
  background:#fafafa;
}


.svc-icon {
  color:var(--gold);

  font-size:27px;

  margin-bottom:20px;
}


.svc-card h2,
.svc-card h3 {
  font-size:20px;

  font-weight:900;

  margin-bottom:22px;

  color:#111;
}


.svc-card p {
  font-size:14px;

  line-height:1.8;

  color:#555;
}


.svc-list {
  list-style:none;
}


.svc-list li {
  position:relative;

  padding:9px 0 9px 18px;

  color:#555;

  font-size:13px;

  line-height:1.5;

  border-bottom:1px solid #eee;
}


.svc-list li:last-child {
  border-bottom:none;
}


.svc-list li::before {
  content:'';

  position:absolute;

  left:0;

  top:16px;

  width:5px;
  height:5px;

  border-radius:50%;

  background:var(--gold);
}


.emg-card {
  border-top:3px solid var(--red);
}


/* ═══════════════════════════════════════════
   FINANCING
═══════════════════════════════════════════ */
.fin-banner {
  background:var(--gold);

  color:#000;

  padding:36px 6%;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:35px;
}


.fin-banner-text {
  max-width:760px;
}


.fin-banner-text h2,
.fin-banner-text h3 {
  color:#000;

  font-size:22px;

  font-weight:900;

  margin-bottom:8px;
}


.fin-banner-text p {
  color:rgba(0,0,0,.72);

  font-size:14px;

  line-height:1.7;
}


/* ═══════════════════════════════════════════
   GALLERY
═══════════════════════════════════════════ */
.gal-split {
  column-count:2;

  column-gap:2px;

  background:#111;
}


.gal-item {
  position:relative;

  display:block;

  width:100%;

  margin:0 0 2px;

  break-inside:avoid;

  overflow:hidden;

  background:#111;
}


.gal-item img {
  width:100%;

  height:auto;

  min-height:330px;

  max-height:580px;

  object-fit:cover;

  transition:
    transform .6s var(--ease-out),
    filter .4s;
}


.gal-item:hover img {
  transform:scale(1.025);

  filter:brightness(.8);
}


.gal-overlay {
  position:absolute;

  inset:0;

  display:flex;

  align-items:flex-end;

  padding:30px;

  background:
    linear-gradient(
      transparent 45%,
      rgba(0,0,0,.75)
    );

  opacity:0;

  transition:opacity .3s;
}


.gal-item:hover .gal-overlay {
  opacity:1;
}


.gal-overlay span {
  color:#fff;

  font-size:12px;

  font-weight:800;

  letter-spacing:2px;

  text-transform:uppercase;

  border-left:3px solid var(--gold);

  padding-left:12px;
}


/* ═══════════════════════════════════════════
   AREAS SERVED
═══════════════════════════════════════════ */
.areas-layout {
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:center;
}


.areas-map-wrap {
  background:#f5f5f5;

  border:1px solid #e7e7e7;

  padding:20px;

  border-radius:4px;
}


.areas-map-wrap img {
  width:100%;

  height:auto;
}


.areas-badge {
  display:inline-flex;

  align-items:center;

  gap:9px;

  font-size:10px;

  font-weight:800;

  text-transform:uppercase;

  letter-spacing:1.2px;

  color:#555;

  margin-bottom:30px;
}


.areas-badge i {
  color:var(--gold);
}


.areas-columns {
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:35px;
}


.area-region-title {
  display:flex;

  align-items:center;

  gap:8px;

  color:#111;

  font-size:13px;

  font-weight:900;

  text-transform:uppercase;

  letter-spacing:1px;

  margin-bottom:16px;
}


.area-list {
  list-style:none;
}


.area-list li {
  padding:7px 0;

  border-bottom:1px solid #eee;

  font-size:13px;

  color:#555;
}


.areas-note {
  margin-top:30px;

  padding:18px 20px;

  border-left:3px solid var(--gold);

  background:#f8f8f8;
}


.areas-note p {
  color:#555;

  font-size:13px;

  line-height:1.7;
}


.areas-note strong {
  color:#111;
}


.areas-cta-row {
  display:flex;

  align-items:center;

  gap:12px;

  flex-wrap:wrap;

  margin-top:28px;
}


/* ═══════════════════════════════════════════
   CAREERS
═══════════════════════════════════════════ */
.careers-layout {
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:80px;

  align-items:start;
}


.careers-heading {
  color:#111;

  font-weight:900;

  font-size:22px;

  margin-bottom:22px;
}


.careers-layout p {
  font-size:15px;

  line-height:1.85;

  color:#444;

  margin-bottom:18px;
}


.career-values {
  border-top:1px solid #e8e8e8;
}


.career-value {
  display:flex;

  gap:20px;

  padding:24px 0;

  border-bottom:1px solid #e8e8e8;
}


.career-num {
  font-weight:900;

  font-size:28px;

  line-height:1;

  flex-shrink:0;

  width:40px;

  color:rgba(253,184,19,.45);
}


.career-value h3 {
  font-size:13px;

  font-weight:900;

  letter-spacing:1px;

  text-transform:uppercase;

  margin-bottom:6px;

  color:#111;
}


.career-value p {
  font-size:13px;

  color:#666;

  line-height:1.7;

  margin:0;
}


/* ═══════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════ */
.contact-layout {
  display:grid;

  grid-template-columns:1fr 1.1fr;

  gap:80px;

  align-items:start;
}


.ci-item {
  margin-bottom:36px;
}


.ci-label {
  font-size:9px;

  letter-spacing:4px;

  text-transform:uppercase;

  font-weight:700;

  color:var(--gold);

  margin-bottom:8px;
}


.ci-val {
  font-size:20px;

  font-weight:700;

  color:#0d0d0d;
}


.ci-val a {
  color:#0d0d0d;

  transition:color .2s;
}


.ci-val a:hover {
  color:var(--gold);
}


.emg-note {
  color:var(--red);

  font-weight:900;

  font-size:13px;

  text-transform:uppercase;

  letter-spacing:2px;

  display:flex;

  align-items:center;

  gap:8px;

  margin-top:8px;
}


.socials-row {
  display:flex;

  gap:14px;

  margin-top:40px;

  flex-wrap:wrap;
}


.soc-btn {
  display:inline-flex;

  align-items:center;

  gap:8px;

  background:#fff;

  border:1px solid #ddd;

  padding:12px 20px;

  border-radius:4px;

  font-size:11px;

  font-weight:700;

  letter-spacing:1.5px;

  text-transform:uppercase;

  color:#333;

  transition:
    border-color .25s,
    color .25s,
    background .25s;
}


.soc-btn i {
  color:var(--gold);

  font-size:15px;
}


.soc-btn:hover {
  border-color:var(--gold);

  color:#111;

  background:#fffbf0;
}


.truck-block {
  margin-top:42px;

  border-radius:4px;

  overflow:hidden;
}


.truck-block img {
  width:100%;

  height:400px;

  object-fit:cover;
}


/* ═══════════════════════════════════════════
   CONTACT FORM
═══════════════════════════════════════════ */
.form-wrap {
  background:#fff;

  padding:40px;

  border-radius:4px;

  color:#111;

  box-shadow:
    0 20px 60px rgba(0,0,0,.12);
}


.form-wrap h2,
.form-wrap h3 {
  font-weight:900;

  font-size:16px;

  letter-spacing:2px;

  text-transform:uppercase;

  margin-bottom:8px;

  color:#111;
}


.form-wrap .form-sub {
  font-size:13px;

  color:#777;

  margin-bottom:30px;

  font-weight:400;

  line-height:1.5;
}


.form-field {
  margin-bottom:16px;
}


.form-field label {
  display:block;

  font-size:9px;

  letter-spacing:3px;

  font-weight:700;

  text-transform:uppercase;

  color:#555;

  margin-bottom:6px;
}


.form-field input,
.form-field select,
.form-field textarea {
  width:100%;

  padding:13px 16px;

  border:1px solid #e0e0e0;

  border-radius:3px;

  font-family:'Montserrat',sans-serif;

  font-size:14px;

  color:#111;

  background:#fafafa;

  transition:
    border-color .2s,
    box-shadow .2s;

  outline:none;

  -webkit-appearance:none;
}


.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color:var(--gold);

  box-shadow:
    0 0 0 3px rgba(253,184,19,.15);

  background:#fff;
}


.form-field textarea {
  resize:vertical;

  min-height:120px;
}


.form-row {
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:14px;
}


.form-submit {
  width:100%;

  padding:17px;

  background:#000;

  color:#fff;

  border:none;

  border-radius:3px;

  font-family:'Montserrat',sans-serif;

  font-weight:900;

  font-size:11px;

  letter-spacing:3px;

  text-transform:uppercase;

  cursor:pointer;

  margin-top:8px;

  transition:
    background .25s,
    transform .2s;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:10px;
}


.form-submit:hover {
  background:#1a1a1a;

  transform:translateY(-2px);
}


.form-submit:disabled {
  background:#999;

  cursor:not-allowed;

  transform:none;
}


/* ═══════════════════════════════════════════
   FILE UPLOAD
═══════════════════════════════════════════ */
.file-drop {
  border:1.5px dashed #d8d8d8;

  border-radius:4px;

  background:#fafafa;

  padding:22px 16px;

  text-align:center;

  cursor:pointer;

  transition:
    border-color .2s,
    background .2s;

  position:relative;
}


.file-drop:hover,
.file-drop.drag {
  border-color:var(--gold);

  background:#fffbf0;
}


.file-drop input[type="file"] {
  position:absolute;

  inset:0;

  opacity:0;

  cursor:pointer;

  width:100%;

  height:100%;
}


.file-drop-icon {
  color:var(--gold);

  font-size:20px;

  margin-bottom:8px;
}


.file-drop-text {
  font-size:13px;

  color:#555;

  font-weight:500;
}


.file-drop-sub {
  font-size:11px;

  color:#999;

  margin-top:4px;
}


.file-list {
  margin-top:10px;

  display:flex;

  flex-direction:column;

  gap:6px;
}


.file-item {
  display:flex;

  align-items:center;

  gap:10px;

  background:#f2f2f2;

  border-radius:3px;

  padding:8px 10px;

  font-size:12px;

  color:#333;
}


.file-thumb {
  width:34px;
  height:34px;

  border-radius:3px;

  object-fit:cover;

  flex-shrink:0;

  background:#ddd;
}


.file-icon-box {
  width:34px;
  height:34px;

  border-radius:3px;

  flex-shrink:0;

  background:#e4e4e4;

  display:flex;

  align-items:center;

  justify-content:center;

  color:#888;

  font-size:14px;
}


.file-meta {
  flex:1;

  min-width:0;
}


.file-name {
  overflow:hidden;

  text-overflow:ellipsis;

  white-space:nowrap;

  display:block;
}


.file-size {
  color:#888;

  font-size:10.5px;
}


.file-remove {
  color:#c0392b;

  cursor:pointer;

  font-weight:700;

  flex-shrink:0;

  padding:4px 6px;

  font-size:15px;

  line-height:1;

  border:none;

  background:transparent;

  border-radius:3px;

  transition:background .15s;
}


.file-remove:hover {
  background:rgba(192,57,43,.1);
}


.file-count-note {
  font-size:11px;

  color:#999;

  margin-top:6px;
}


.file-error {
  color:#c0392b;

  font-size:11.5px;

  margin-top:8px;

  font-weight:600;

  display:none;
}


.file-error.show {
  display:block;
}


/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.tab-footer {
  background:#111;

  padding:28px 5%;

  text-align:center;

  color:#fff;

  font-size:11px;

  letter-spacing:1.5px;

  border-top:
    1px solid var(--border-gold);
}


/* ═══════════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════════ */
@keyframes fadeUp {

  from {
    opacity:0;
    transform:translateY(20px);
  }

  to {
    opacity:1;
    transform:translateY(0);
  }

}


/* ═══════════════════════════════════════════
   TABLET
═══════════════════════════════════════════ */
@media (max-width:1060px) {

  .svc-grid {
    grid-template-columns:1fr;
  }

  .phil-layout {
    grid-template-columns:1fr;
    gap:50px;
  }

  .phil-img img {
    height:360px;
  }

  .values-strip {
    grid-template-columns:repeat(2,1fr);
  }

  .careers-layout {
    grid-template-columns:1fr;
    gap:50px;
  }

  .contact-layout {
    grid-template-columns:1fr;
    gap:50px;
  }

  .areas-layout {
    grid-template-columns:1fr;
    gap:50px;
  }

  .areas-map-wrap img {
    max-height:400px;
    object-fit:contain;
  }

}


/* ═══════════════════════════════════════════
   MOBILE NAV BREAKPOINT
═══════════════════════════════════════════ */
@media (max-width:900px) {

  .hdr-nav {
    display:none;
  }

  .hamburger {
    display:flex;
  }

  #hdr {
    padding:0 4%;
  }

  .hero {
    padding:0 5% 60px;
  }

  .hero h1 {
    font-size:clamp(38px,12vw,70px);
  }

  .hero-sub {
    font-size:15px;
  }

  .pg {
    padding:60px 5% 80px;
  }

  .values-strip {
    grid-template-columns:repeat(2,1fr);
  }

  .val-item {
    padding:32px 20px;
  }

  .form-row {
    grid-template-columns:1fr;
  }

  .form-wrap {
    padding:36px 28px;
  }

  .gal-split {
    column-count:1;

    padding:0 5%;
  }

  .gal-item .gal-overlay {
    opacity:1;
  }

  .fin-banner {
    flex-direction:column;

    align-items:flex-start;
  }

  .areas-columns {
    grid-template-columns:1fr;
  }

}


/* ═══════════════════════════════════════════
   SMALL MOBILE
═══════════════════════════════════════════ */
@media (max-width:480px) {

  #hdr {
    height:70px;
  }

  .hdr-logo img {
    height:44px;
  }

  .hero {
    min-height:calc(100dvh - 70px);

    padding-bottom:45px;
  }

  .hero h1 {
    font-size:36px;
  }

  .hero-actions {
    flex-direction:column;

    align-items:stretch;

    width:100%;
  }

  .btn-gold,
  .btn-ghost {
    width:100%;

    justify-content:center;
  }

  .values-strip {
    grid-template-columns:1fr;
  }

  .val-item {
    border-right:none;

    border-bottom:1px solid #e8e8e8;
  }

  .val-item:last-child {
    border-bottom:none;
  }

  .areas-cta-row {
    flex-direction:column;

    align-items:stretch;
  }

  .btn-gold-sm,
  .btn-outline-sm,
  .btn-black {
    width:100%;

    justify-content:center;
  }

  .svc-card {
    padding:34px 24px;
  }

  .form-wrap {
    padding:28px 20px;
  }

  .truck-block img {
    height:280px;
  }

  .fin-banner {
    padding:32px 5%;
  }

  .mob-drawer .tab-btn {
    font-size:13px;

    padding:13px 0;
  }

}