/* ============================================================
   South Golden Transport Co. — "Golden Trust, In Motion" v2
   Award-grade rebuild. No framework. Modern CSS.
   Type: Clash Display + General Sans + Space Mono + Noto Devanagari
   Brand: SGT Red primary · Gold = ACCENT ONLY · ink editorial base
   CTAs align to the two real channels: PHONE + EMAIL.
   ============================================================ */

/* Fonts self-served via Fontshare (Clash/General) + Google (mono/Devanagari).
   Swap to local woff2 in production for best CWV. */
@import url('https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&f[]=general-sans@400,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Noto+Sans+Devanagari:wght@400;600;700&display=swap');

:root{
  /* Brand */
  --red:      #d81f26;
  --red-deep: #a30d12;
  --gold:     #ffd21f;   /* ACCENT ONLY — never body text on light/gold */
  --maroon:   #5c1416;

  /* Ink base */
  --ink-900: #0c0b0e;
  --ink-850: #121116;
  --ink-800: #17161c;
  --ink-700: #201e26;
  --line:    rgba(255,255,255,.10);
  --line-2:  rgba(255,255,255,.055);

  --paper:  #f6f1e9;

  --fg:      #f5f3ef;
  --fg-dim:  #b0acb6;
  --fg-mut:  #74707c;

  --font-display: 'Clash Display', 'Anton', system-ui, sans-serif;
  --font-sans:    'General Sans', system-ui, -apple-system, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, monospace;
  --font-deva:    'Noto Sans Devanagari', var(--font-sans);

  /* Crisper, engineered radii (mixed, not uniform) */
  --r-card: 6px;
  --r-btn:  8px;
  --r-chip: 6px;

  --ease: cubic-bezier(.22,.61,.36,1);
  --maxw: 1240px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:96px; }
section[id],[id]{ scroll-margin-top:92px; }
body{
  margin:0; font-family:var(--font-sans);
  background:var(--ink-900); color:var(--fg);
  line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--gold); color:#141105; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:24px; }
.mono{ font-family:var(--font-mono); }
.deva{ font-family:var(--font-deva); font-weight:600; }

.eyebrow{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.26em;
  text-transform:uppercase; color:var(--gold);
  display:inline-flex; align-items:center; gap:.6rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--gold); opacity:.75; }

/* Global visible focus (keyboard a11y, WCAG 2.2) */
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:3px; }

/* Skip link */
.skip{ position:absolute; left:-9999px; top:0; background:var(--gold); color:#141105; padding:10px 16px; z-index:300; border-radius:0 0 6px 0; font-weight:600; }
.skip:focus{ left:0; }

/* =========================================================
   BUTTONS — branded 3-tier system
   ========================================================= */
.btn{
  --bg:var(--red); --bd:var(--red); --tx:#fff;
  position:relative; display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-weight:700; font-size:.82rem;
  letter-spacing:.06em; text-transform:uppercase;
  padding:14px 22px; border-radius:var(--r-btn);
  background:var(--bg); color:var(--tx);
  border:1.5px solid var(--bd);
  transition:transform .18s var(--ease), background .2s, color .2s, border-color .2s;
  will-change:transform;
}
.btn .lbl{ display:inline-block; }
.btn .ar{ transition:transform .25s var(--ease); }
@media (hover:hover){
  .btn:hover{ transform:translatey(-2px); }
  .btn:hover .ar{ transform:translatex(5px); }
}
.btn:active{ transform:translatey(0); box-shadow:inset 0 0 0 2px rgba(255,255,255,.35); }

.btn.primary{ --bg:var(--gold); --bd:var(--gold); --tx:#141105; }
.btn.primary:hover{ --bg:#ffdb47; --bd:#ffdb47; }

.btn.secondary{ --bg:transparent; --bd:var(--line); --tx:#fff; }
.btn.secondary:hover{ --bg:rgba(255,255,255,.06); --bd:rgba(255,255,255,.25); }

.btn.onlight{ --bg:#141105; --bd:#141105; --tx:var(--gold); }
.btn.onlight:hover{ --bg:#000; }

/* tertiary inline link with wipe underline + arrow */
.link{
  font-family:var(--font-mono); font-size:.8rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--gold);
  display:inline-flex; align-items:center; gap:9px; position:relative;
}
.link .ar{ transition:transform .25s var(--ease); }
.link::after{ content:""; position:absolute; left:0; bottom:-4px; height:1px; width:0; background:var(--gold); transition:width .3s var(--ease); }
.link:hover::after{ width:calc(100% - 26px); }
.link:hover .ar{ transform:translatex(5px); }

/* =========================================================
   HEADER
   ========================================================= */
.site-head{
  position:fixed; inset:0 0 auto 0; z-index:100;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:15px 24px;
  background:linear-gradient(to bottom, rgba(12,11,14,.94), rgba(12,11,14,.5) 70%, transparent);
  backdrop-filter:blur(8px);
  transition:background .3s var(--ease), padding .3s var(--ease), border-color .3s;
  border-bottom:1px solid transparent;
}
/* .site-head.scrolled{ background:rgba(12,11,14,.92); padding:11px 24px; border-bottom-color:var(--line-2); backdrop-filter:blur(16px); } */
.site-head.scrolled{
2
background:linear-gradient(to bottom, rgba(163,13,18,.97), rgba(140,10,15,.95));
3
padding:11px 24px; border-bottom-color:rgba(0,0,0,.25);
4
backdrop-filter:blur(16px); box-shadow:0 6px 24px rgba(0,0,0,.35);
5
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:46px; width:auto; filter:drop-shadow(0 2px 8px rgba(0,0,0,.45)); }
.brand .b-txt{ display:flex; flex-direction:column; line-height:1; }
.brand .b-txt b{ font-family:var(--font-display); font-weight:600; font-size:1.02rem; letter-spacing:.01em; color:#fff; }
.brand .b-txt span{ font-family:var(--font-mono); font-size:.58rem; letter-spacing:.24em; color:var(--gold); margin-top:4px; }

.nav-pill{ display:flex; align-items:center; gap:2px; background:rgba(255,255,255,.05); border:1px solid var(--line); padding:5px; border-radius:100px; }
.nav-pill a{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-dim); padding:9px 15px; border-radius:100px; transition:color .2s, background .2s; }
.nav-pill a:hover{ color:#fff; background:rgba(255,255,255,.08); }

.head-cta{ display:flex; align-items:center; gap:10px; }
.burger{ display:none; background:none; border:1px solid var(--line); color:#fff; width:46px; height:46px; border-radius:10px; font-size:1.1rem; }

/* =========================================================
   HERO
   ========================================================= */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; padding-top:120px; padding-bottom:46px; }
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; opacity:.32; filter:saturate(.82) contrast(1.06); transform:scale(1.08); transform-origin:70% 40%; animation:kenburns 22s var(--ease) infinite alternate; }
@keyframes kenburns{ from{ transform:scale(1.08) translate3d(0,0,0); } to{ transform:scale(1.16) translate3d(-2%,-1.5%,0); } }
.hero-bg::after{ content:""; position:absolute; inset:0;
  background:
    radial-gradient(120% 80% at 14% 8%, rgba(216,31,38,.20), transparent 55%),
    linear-gradient(180deg, rgba(12,11,14,.5) 0%, rgba(12,11,14,.32) 40%, rgba(12,11,14,.97) 100%); }
.hero-lines{ position:absolute; inset:0; z-index:1; background-image:linear-gradient(var(--line-2) 1px,transparent 1px); background-size:100% 84px;
  mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent); opacity:.5; }

.hero-inner{ position:relative; z-index:2; width:100%; }
.hero h1{ font-family:var(--font-display); font-weight:600; font-size:clamp(3rem,10vw,9rem); line-height:.9; letter-spacing:-.015em; margin:.22em 0 .12em; text-transform:uppercase; color:#fff; }
.hero h1 .g{ color:var(--gold); }
.hero h1 .stroke{ color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.5); }
.hero-sub{ max-width:540px; color:var(--fg-dim); font-size:1.06rem; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.hero-note{ margin-top:16px; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; color:var(--fg-mut); text-transform:uppercase; }

/* Large decorative Devanagari watermark drifting across the hero */
.hero-deva{
  position:absolute; right:2%; bottom:86%; z-index:1;
  font-size:clamp(2rem,6vw,5.5rem); line-height:1; white-space:nowrap;
  color:transparent; -webkit-text-stroke:1px rgba(255,210,31,.16);
  pointer-events:none; user-select:none;
  animation:deva-drift 26s linear infinite;
}
@keyframes deva-drift{ 0%{ opacity:0; transform:translatex(30px); } 12%,88%{ opacity:1; } 100%{ opacity:0; transform:translatex(-30px); } }

/* Marquee */
.marquee{ position:relative; z-index:3; border-block:1px solid rgba(0,0,0,.15); background:var(--gold); color:#141105; overflow:hidden; }
.marquee .track{ display:flex; gap:2.4rem; width:max-content; padding:12px 0; animation:scroll 26s linear infinite; }
.marquee span{ font-family:var(--font-display); font-weight:600; font-size:1.02rem; letter-spacing:.02em; text-transform:uppercase; display:inline-flex; align-items:center; gap:2.4rem; }
.marquee span::after{ content:"◆"; font-size:.6em; opacity:.55; }
@keyframes scroll{ to{ transform:translatex(-50%); } }

/* =========================================================
   QUICK ACTIONS (phone + email aligned)
   ========================================================= */
.quick{ background:var(--ink-850); border-bottom:1px solid var(--line-2); }
.quick-grid{ display:grid; grid-template-columns:1.1fr .95fr .95fr; gap:1px; background:var(--line-2); }
.quick-card{ background:var(--ink-850); padding:34px 30px; transition:background .3s; }
.quick-card:hover{ background:var(--ink-800); }
.quick-card h3{ font-family:var(--font-display); font-weight:600; font-size:1.3rem; margin:.5rem 0 .5rem; color:#fff; }
.quick-card p{ color:var(--fg-dim); font-size:.92rem; margin:0 0 18px; }
.quick-card .ic{ width:46px; height:46px; border-radius:10px; display:grid; place-items:center; font-size:1.05rem; background:rgba(255,210,31,.12); color:var(--gold); border:1px solid rgba(255,210,31,.25); }
.quick-card.dark-cta{ background:var(--red-deep); }
.quick-card.dark-cta:hover{ background:var(--red); }
.quick-card.dark-cta .ic{ background:rgba(255,255,255,.15); color:#fff; border-color:rgba(255,255,255,.3); }
.quick-card.dark-cta .link{ color:#fff; }
.quick-card.dark-cta .link::after{ background:#fff; }

/* =========================================================
   SECTION SCAFFOLD
   ========================================================= */
.section-pad{ padding:120px 0 88px; }               /* asymmetric editorial rhythm */
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:52px; flex-wrap:wrap; }
.section-head h2{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; font-size:clamp(2.2rem,5.5vw,4.2rem); line-height:.94; letter-spacing:-.015em; margin:.35em 0 0; color:#fff; }
.section-head h2 .g{ color:var(--gold); }
.section-head p{ max-width:420px; color:var(--fg-dim); margin:0; }

/* STATS */
.stats{ background:var(--ink-850); border-block:1px solid var(--line-2); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-2); }
.stat{ background:var(--ink-850); padding:40px 26px; }
.stat .num{ font-family:var(--font-display); font-weight:600; font-size:clamp(2.6rem,5vw,3.6rem); line-height:1; color:#fff; }
.stat .num .u{ color:var(--gold); }
.stat .lbl{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:var(--fg-mut); margin-top:10px; }

/* =========================================================
   SERVICES — PLAYING-CARD DECK (uniform, image-optimised)
   ========================================================= */
.deck{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.pcard{
  position:relative; display:flex; flex-direction:column;
  background:linear-gradient(180deg, var(--ink-800), #131217);
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
  padding:16px;
  transition:transform .4s var(--ease), border-color .3s, box-shadow .4s;
  will-change:transform;
}
.pcard:hover{ transform:translatey(-6px) rotate(-.4deg); border-color:rgba(255,210,31,.45); box-shadow:0 30px 60px rgba(0,0,0,.5); }

/* Card "rank" corners — like a real playing card (replaces "01 —" labels) */
.rank{ position:absolute; z-index:4; display:flex; flex-direction:column; align-items:center; line-height:1; pointer-events:none; }
.rank b{ font-family:var(--font-display); font-weight:600; font-size:.92rem; letter-spacing:.02em; color:var(--gold); }
.rank i{ font-size:.7rem; color:var(--gold); margin-top:4px; opacity:.9; }
.rank.tl{ top:14px; left:14px; }
.rank.br{ bottom:14px; right:14px; transform:rotate(180deg); }

/* Image "window" — a fixed frame so every image sits identically */
.pcard-window{
  position:relative; border-radius:10px; overflow:hidden;
  aspect-ratio:16/10; margin:8px 6px 0;
  background:radial-gradient(120% 100% at 70% 20%, rgba(255,210,31,.10), rgba(255,255,255,.02) 45%, #0f0e13 78%);
  border:1px solid var(--line-2);
}
.pcard-window img{ position:absolute; inset:0; width:100%; height:100%; transition:transform .6s var(--ease); }
.pcard-window.photo img{ object-fit:cover; }
.pcard-window.cut img{ object-fit:contain; padding:16px 18px; }
.pcard:hover .pcard-window img{ transform:scale(1.05); }
.pcard-window::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(12,11,14,.35)); }

.pcard-body{ padding:18px 8px 6px; display:flex; flex-direction:column; gap:0; }
.pcard-body h3{ font-family:var(--font-display); font-weight:600; font-size:1.35rem; line-height:1.05; margin:0 0 7px; color:#fff; }
.pcard-body p{ margin:0 0 14px; color:var(--fg-dim); font-size:.9rem; line-height:1.55; }
.pcard-body .specs{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.pcard-body .specs span{ font-family:var(--font-mono); font-size:.64rem; letter-spacing:.03em; color:var(--fg); background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:var(--r-chip); padding:4px 9px; }
.pcard-body .link{ margin-top:auto; }

/* Joker / Wild Card */
.pcard.joker{ background:linear-gradient(150deg, var(--red) 0%, var(--red-deep) 100%); border-color:transparent; }
.pcard.joker .rank b, .pcard.joker .rank i{ color:#fff; }
.joker-inner{ position:relative; flex:1; display:flex; align-items:flex-end; min-height:100%; padding:8px; overflow:hidden; border-radius:10px; }
.joker-deva{ position:absolute; top:-6px; right:-4px; font-size:clamp(2.4rem,6vw,3.6rem); line-height:.9; text-align:right; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.28); pointer-events:none; }
.joker-body{ position:relative; z-index:2; }
.joker-tag{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#ffd21f; }
.joker-body h3{ font-family:var(--font-display); font-weight:600; font-size:clamp(1.6rem,2.4vw,2rem); line-height:1; text-transform:uppercase; color:#fff; margin:.4rem 0 .5rem; }
.joker-body p{ color:rgba(255,255,255,.9); font-size:.92rem; margin:0 0 18px; max-width:32ch; }

/* =========================================================
   NETWORK
   ========================================================= */
.network{ background:var(--maroon); background-image:radial-gradient(120% 90% at 80% 10%, rgba(255,210,31,.08), transparent 60%); border-block:1px solid rgba(255,255,255,.08); }
.net-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.net-copy h2{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; font-size:clamp(2.4rem,5vw,4rem); line-height:.94; margin:.3em 0 .4em; color:#fff; }
.net-copy h2 .g{ color:var(--gold); }
.net-copy p{ color:rgba(255,240,230,.82); max-width:460px; }
.net-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px 20px; margin:26px 0 30px; padding:0; list-style:none; }
.net-list li{ font-family:var(--font-mono); font-size:.8rem; color:#fff; display:flex; align-items:center; gap:10px; opacity:.92; }
.net-list li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--gold); flex:none; box-shadow:0 0 10px var(--gold); }
.net-map{ position:relative; border-radius:var(--r-card); overflow:hidden; border:1px solid rgba(255,255,255,.14); box-shadow:0 30px 70px rgba(0,0,0,.5); }
.net-map img{ width:100%; height:auto; }

/* VALUES — Mission / Vision / Promise (UX-focused) */
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.value{ position:relative; border:1px solid var(--line); border-radius:14px; padding:32px 30px 30px; background:linear-gradient(180deg, var(--ink-800), #131217); overflow:hidden; transition:border-color .3s, transform .3s, box-shadow .3s; }
.value::before{ content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg, var(--red), var(--gold)); transform:scalex(0); transform-origin:left; transition:transform .5s var(--ease); }
.value:hover{ border-color:rgba(255,210,31,.35); transform:translatey(-4px); box-shadow:0 24px 50px rgba(0,0,0,.4); }
.value:hover::before{ transform:scalex(1); }
.value-top{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.value-ic{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center; font-size:1.15rem; color:var(--gold); background:rgba(255,210,31,.10); border:1px solid rgba(255,210,31,.24); flex:none; }
.value-kicker{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-mut); }
.value h3{ font-family:var(--font-display); font-weight:600; font-size:1.55rem; line-height:1.02; margin:0 0 .5rem; color:#fff; }
.value h3 .g{ color:var(--gold); }
.value p{ color:var(--fg-dim); font-size:.94rem; margin:0; max-width:34ch; }
.value-deva{ position:absolute; right:18px; bottom:8px; font-size:2.6rem; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(255,210,31,.14); pointer-events:none; user-select:none; }

/* CTA STRIP */
.cta-strip{ background:var(--gold); color:#141105; }
.cta-strip .wrap{ display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:64px; flex-wrap:wrap; }
.cta-strip h2{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; font-size:clamp(2rem,4.4vw,3.2rem); line-height:.95; margin:0; max-width:640px; }
.cta-strip .actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* CONTACT */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.contact-info address{ font-style:normal; color:var(--fg-dim); line-height:1.85; }
.contact-info .row{ display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid var(--line-2); }
.contact-info .row i{ color:var(--gold); width:22px; text-align:center; margin-top:3px; }
.contact-info a:hover{ color:var(--gold); }
.contact-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.map-embed{ border-radius:var(--r-card); overflow:hidden; border:1px solid var(--line); min-height:380px; }
.map-embed iframe{ width:100%; height:100%; min-height:380px; border:0; filter:grayscale(.3) invert(.9) hue-rotate(180deg); }

/* FOOTER */
.foot{ background:var(--ink-850); border-top:1px solid var(--line); padding:56px 0 30px; }
.foot-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap; }
.foot .brand img{ height:54px; }
.foot p{ color:var(--fg-mut); max-width:340px; font-size:.9rem; }
.foot-contact{ display:flex; flex-direction:column; gap:8px; }
.foot-contact a{ font-family:var(--font-mono); font-size:.84rem; color:var(--fg-dim); display:inline-flex; align-items:center; gap:10px; }
.foot-contact a:hover{ color:var(--gold); }
.foot-contact i{ color:var(--gold); width:18px; text-align:center; }
.foot-bot{ display:flex; justify-content:space-between; gap:16px; margin-top:40px; padding-top:22px; border-top:1px solid var(--line-2); color:var(--fg-mut); font-size:.82rem; flex-wrap:wrap; }
.foot-bot .mono{ letter-spacing:.05em; }

/* =========================================================
   STICKY MOBILE ACTION BAR — Call + Email (the two real channels)
   ========================================================= */
.mobile-bar{ position:fixed; left:0; right:0; bottom:0; z-index:120; display:none; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border-top:1px solid var(--line); }
.mobile-bar a{ display:flex; align-items:center; justify-content:center; gap:10px; padding:16px; font-family:var(--font-mono); font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.mobile-bar .call{ background:var(--red); color:#fff; }
.mobile-bar .email{ background:var(--ink-800); color:var(--gold); }

/* Reveal on scroll */
[data-reveal]{ opacity:0; transform:translatey(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  .nav-pill{ display:none; }
  .burger{ display:grid; place-items:center; }
  .hero-truck{ width:74vw; opacity:.55; }
  .quick-grid{ grid-template-columns:1fr; }
  .net-grid{ grid-template-columns:1fr; gap:36px; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .deck{ grid-template-columns:repeat(2,1fr); }
  .values-grid{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .wrap{ padding-inline:18px; }
  .section-pad{ padding:76px 0 60px; }
  .head-cta .btn .lbl{ display:none; }
  .head-cta .btn{ padding:13px 15px; }
  .hero{ align-items:center; padding-top:120px; padding-bottom:120px; }
  .hero-truck{ display:none; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .deck{ grid-template-columns:1fr; }
  .mobile-bar{ display:grid; }
  .foot{ padding-bottom:96px; }   /* clear the sticky bar */
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  [data-reveal]{ opacity:1; transform:none; }
}
