/* ================================================================
   PARADIGM LOGISTIC SOLUTIONS — Premium Edition
   Clean • Minimal • Luxury Logistics
   Palette: White + Ink Black + Royal Purple (logo-matched)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root {
  /* Surfaces — clean premium */
  --bg:           #FFFFFF;
  --bg-2:         #F7F6F3;
  --bg-3:         #EFEDE7;
  --bg-dark:      #0E0E18;
  --bg-darker:    #06060C;

  /* Text */
  --ink:          #0E0E18;
  --ink-2:        #2A2A38;
  --ink-3:        #4A4A58;
  --ink-muted:    #6E6E7C;
  --ink-soft:     #9A9AA8;

  /* Brand purple (from logo) */
  --purple:       #5B2C91;
  --purple-2:     #6E3AAE;
  --purple-light: #9D4EDD;
  --purple-deep:  #3F1E6C;
  --purple-soft:  rgba(91,44,145,0.06);
  --purple-soft2: rgba(91,44,145,0.12);
  --purple-glow:  rgba(91,44,145,0.32);

  --line:         rgba(14,14,24,0.08);
  --line-2:       rgba(14,14,24,0.14);
  --line-soft:    rgba(14,14,24,0.04);

  --shadow-xs:    0 1px 2px rgba(14,14,24,.04);
  --shadow-sm:    0 4px 14px rgba(14,14,24,.06);
  --shadow-md:    0 12px 32px rgba(14,14,24,.08);
  --shadow-lg:    0 28px 60px rgba(14,14,24,.12);
  --shadow-xl:    0 50px 120px rgba(14,14,24,.18);
  --shadow-purple:0 22px 50px rgba(91,44,145,.25);

  --ease:         cubic-bezier(.16,1,.3,1);
  --ease-2:       cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--bg-2); }
::-webkit-scrollbar-thumb { background:var(--purple); border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:var(--purple-light); }

::selection { background:var(--purple); color:#fff; }

img { max-width:100%; display:block; }

/* ── PAGE LOAD SPLASH ── */
#splash {
  position:fixed; inset:0; z-index:99999;
  background:#fff; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:24px;
  transition:opacity .8s ease, visibility .8s ease;
}
#splash.gone { opacity:0; visibility:hidden; pointer-events:none; }
.splash-logo {
  height:160px; width:auto;
  opacity:0; transform:translateY(14px) scale(.95);
  animation:splashIn 1s var(--ease) .15s forwards;
}
.splash-bar {
  width:180px; height:2px; background:var(--line);
  position:relative; overflow:hidden;
  opacity:0; animation:splashIn 1s var(--ease) .35s forwards;
}
.splash-bar::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,var(--purple),var(--purple-light));
  animation:splashLoad 1.4s ease-in-out forwards;
}
.splash-text {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.78rem; letter-spacing:5px; text-transform:uppercase;
  color:var(--ink-muted);
  opacity:0; animation:splashIn 1s var(--ease) .5s forwards;
}
@keyframes splashIn { to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes splashLoad { from { transform:translateX(-100%);} to { transform:translateX(0);} }

/* ── SCROLL PROGRESS ── */
#scrollProg {
  position:fixed; top:0; left:0; height:2px; width:0%;
  background:var(--purple);
  z-index:9999; transition:width .12s linear;
}

/* ── CURSOR (desktop only) ── */
.cursor,.cursor-ring { position:fixed; pointer-events:none; border-radius:50%; z-index:99998; }
.cursor {
  width:6px; height:6px; background:var(--purple);
  transform:translate(-50%,-50%); transition:transform .12s var(--ease-2);
}
.cursor-ring {
  width:34px; height:34px; border:1.5px solid var(--purple);
  transform:translate(-50%,-50%);
  transition:width .35s var(--ease), height .35s var(--ease), border-color .25s;
  opacity:.45;
}
.cursor-ring.hovered { width:54px; height:54px; opacity:.75; }

/* ================================================================
   NAVBAR
   ================================================================ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:110px; padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  transition:all .55s var(--ease-2);
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
nav.scrolled {
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(22px) saturate(1.6);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);
  border-bottom:1px solid var(--line);
  height:90px;
  box-shadow:0 8px 30px rgba(14,14,24,.05);
}

.nav-logo {
  display:flex; align-items:center;
  text-decoration:none;
  transition:transform .4s var(--ease);
}
.nav-logo:hover { transform:scale(1.05); }
.nav-logo img {
  height:92px; width:auto;
  transition:height .4s var(--ease-2);
}
nav.scrolled .nav-logo img { height:74px; }

.nav-links { display:flex; align-items:center; gap:2.6rem; list-style:none; }
.nav-links a {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.86rem; letter-spacing:2.2px; text-transform:uppercase;
  color:var(--ink-2); text-decoration:none; position:relative;
  padding:8px 0; transition:color .3s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1.5px; background:var(--purple);
  transition:width .4s var(--ease);
}
.nav-links a:hover, .nav-links a.active { color:var(--purple); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }

.btn-nav {
  padding:13px 30px;
  background:var(--purple);
  border:1.5px solid var(--purple);
  color:#fff !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-weight:700 !important;
  font-size:.88rem !important;
  letter-spacing:2.5px !important;
  position:relative; overflow:hidden;
  transition:all .4s var(--ease) !important;
  border-radius:3px;
  box-shadow:0 8px 22px rgba(91,44,145,.28);
  display:inline-flex; align-items:center;
}
.btn-nav::before {
  content:''; position:absolute; inset:0;
  background:var(--ink);
  transform:translateY(105%);
  transition:transform .45s var(--ease); z-index:-1;
}
.btn-nav:hover {
  border-color:var(--ink) !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(14,14,24,.28);
  transform:translateY(-3px);
}
.btn-nav:hover::before { transform:translateY(0); }
.btn-nav::after { display:none !important; }

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:6px; cursor:pointer; z-index:1100; padding:6px; }
.hamburger span { display:block; width:26px; height:2px; background:var(--ink); transition:all .35s var(--ease); border-radius:2px; }
.hamburger.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); background:var(--purple); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); background:var(--purple); }

.mob-panel {
  position:fixed; top:0; right:-100%; width:min(340px,86vw); height:100dvh;
  background:#fff;
  border-left:1px solid var(--line); z-index:1050;
  padding:30px 30px 40px;
  display:flex; flex-direction:column;
  transition:right .5s cubic-bezier(.77,0,.175,1);
  box-shadow:-30px 0 80px rgba(14,14,24,.1);
  overflow-y:auto;
}
.mob-panel.open { right:0; }

.mob-close {
  position:absolute; top:18px; right:18px;
  width:40px; height:40px;
  background:var(--bg-2); border:1px solid var(--line);
  color:var(--ink); font-size:1.1rem;
  cursor:pointer; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:all .35s var(--ease);
}
.mob-close:hover {
  background:var(--purple); color:#fff;
  border-color:var(--purple);
  transform:rotate(90deg);
  box-shadow:0 8px 20px rgba(91,44,145,.3);
}

.mob-panel-logo {
  padding:14px 0 26px;
  border-bottom:1px solid var(--line);
  margin-bottom:20px;
}
.mob-panel-logo img {
  height:64px; width:auto;
  opacity:0;
  animation:mobIn .5s var(--ease) .05s forwards;
}

.mob-panel-links {
  display:flex; flex-direction:column; flex:1;
}
.mob-panel-links a {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:1.2rem; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--ink-2); text-decoration:none;
  padding:16px 0; border-bottom:1px solid var(--line);
  opacity:0; transform:translateX(24px);
  transition:color .3s, padding-left .3s;
  display:flex; align-items:center; gap:14px;
}
.mob-panel-links a i {
  color:var(--purple); font-size:.9rem; width:20px;
  transition:transform .3s;
}
.mob-panel.open .mob-panel-links a { animation:mobIn .5s var(--ease) forwards; }
.mob-panel-links a:hover { color:var(--purple); padding-left:8px; }
.mob-panel-links a:hover i { transform:translateX(-3px); }
.mob-panel-links a:nth-child(1){animation-delay:.10s}
.mob-panel-links a:nth-child(2){animation-delay:.15s}
.mob-panel-links a:nth-child(3){animation-delay:.20s}
.mob-panel-links a:nth-child(4){animation-delay:.25s}
.mob-panel-links a:nth-child(5){animation-delay:.30s}
.mob-panel-links a:nth-child(6){animation-delay:.35s}
.mob-panel-links a.mob-cta {
  animation-delay:.42s;
  margin-top:20px;
  background:var(--purple); color:#fff !important;
  padding:16px 18px;
  border:none;
  border-radius:3px;
  justify-content:center;
  box-shadow:0 10px 26px rgba(91,44,145,.3);
}
.mob-panel-links a.mob-cta:hover { background:var(--ink); padding-left:18px; }
.mob-panel-links a.mob-cta i { color:#fff; }
@keyframes mobIn { to { opacity:1; transform:translateX(0); } }

.mob-overlay {
  position:fixed; inset:0; background:rgba(14,14,24,.4);
  backdrop-filter:blur(4px);
  z-index:1040; opacity:0; pointer-events:none; transition:opacity .4s;
}
.mob-overlay.open { opacity:1; pointer-events:all; }

/* ================================================================
   HERO — Premium split layout
   ================================================================ */
#hero {
  position:relative; min-height:100vh;
  display:grid; grid-template-columns:1.05fr 1fr;
  overflow:hidden;
  background:#fff;
}

.hero-left {
  position:relative; z-index:5;
  padding:140px 4% 120px 7%;
  display:flex; flex-direction:column; justify-content:center;
}

.hero-right {
  position:relative;
  background:var(--bg-2);
  overflow:hidden;
}
.hero-right::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%, rgba(91,44,145,.10) 0%, transparent 60%);
}

.hero-img-wrap {
  position:absolute; inset:60px 60px 60px 0;
  overflow:hidden;
  box-shadow:var(--shadow-xl);
}
.hero-img-wrap img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.04);
  transition:transform 14s ease-out;
}
.hero-img-wrap.ken img { transform:scale(1); }

/* Floating accent block */
.hero-accent-block {
  position:absolute; left:0; bottom:30px;
  width:140px; height:140px;
  background:var(--purple);
  z-index:-1;
  animation:gentleFloat 7s ease-in-out infinite;
}
.hero-accent-line {
  position:absolute; right:30px; top:30px;
  width:80px; height:80px;
  border:2px solid var(--purple);
  z-index:-1;
}

/* Floating stat card on hero image */
.hero-stat-card {
  position:absolute; left:-40px; top:30%;
  background:#fff;
  padding:18px 22px;
  box-shadow:var(--shadow-lg);
  border-left:3px solid var(--purple);
  display:flex; align-items:center; gap:14px;
  z-index:10;
  animation:gentleFloat 6s ease-in-out 1.5s infinite;
}
.hero-stat-card-icon {
  width:44px; height:44px; background:var(--purple-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--purple); font-size:1.15rem;
  border-radius:2px;
}
.hero-stat-card-n {
  font-family:'Bebas Neue',sans-serif; font-size:1.5rem; letter-spacing:1.5px;
  color:var(--ink); line-height:1;
}
.hero-stat-card-l {
  font-family:'Barlow Condensed',sans-serif; font-size:.66rem; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase; color:var(--ink-muted);
  margin-top:5px;
}

@keyframes gentleFloat {
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 18px 8px 12px;
  background:var(--purple-soft);
  border:1px solid var(--purple-soft2);
  border-radius:100px;
  margin-bottom:2rem;
  width:fit-content;
  opacity:0; animation:fadeUp .9s .2s var(--ease) forwards;
}
.hero-badge-dot {
  width:8px; height:8px; background:var(--purple); border-radius:50%;
  position:relative;
  animation:dotBlink 1.6s ease infinite;
}
.hero-badge-dot::after {
  content:''; position:absolute; inset:-4px;
  border:1px solid var(--purple); border-radius:50%;
  animation:dotRing 1.6s ease infinite;
}
@keyframes dotBlink { 0%,100%{opacity:1}50%{opacity:.4} }
@keyframes dotRing { 0%{transform:scale(.6);opacity:1} 100%{transform:scale(2.2);opacity:0} }
.hero-badge span {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.78rem; letter-spacing:3px; text-transform:uppercase; color:var(--purple);
}

.hero-h1 {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(3.4rem,6.4vw,6.4rem);
  line-height:.95; letter-spacing:.5px;
  margin-bottom:1.6rem;
  color:var(--ink);
  max-width:680px;
}
.h1-line { display:block; overflow:hidden; padding:.06em 0; }
.h1-inner {
  display:block; opacity:0; transform:translateY(105%);
  animation:lineReveal 1s cubic-bezier(.16,1,.3,1) forwards;
}
.h1-line:nth-child(1) .h1-inner { animation-delay:.4s; }
.h1-line:nth-child(2) .h1-inner {
  animation-delay:.55s;
  font-family:'Playfair Display',serif;
  font-style:italic; font-weight:600;
  color:var(--purple);
  letter-spacing:-1px;
}
.h1-line:nth-child(3) .h1-inner { animation-delay:.7s; }

@keyframes lineReveal { to{opacity:1;transform:translateY(0)} }

.hero-sub {
  font-size:1.05rem; font-weight:400; color:var(--ink-3);
  line-height:1.85; max-width:520px; margin-bottom:2.6rem;
  opacity:0; animation:fadeUp 1s 1s var(--ease) forwards;
}

.hero-btns {
  display:flex; gap:1rem; flex-wrap:wrap;
  opacity:0; animation:fadeUp 1s 1.2s var(--ease) forwards;
}

.btn-p {
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 34px; background:var(--ink); color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.92rem; letter-spacing:2.5px; text-transform:uppercase;
  text-decoration:none; border:none; cursor:pointer;
  position:relative; overflow:hidden;
  transition:all .5s var(--ease);
  box-shadow:0 12px 30px rgba(14,14,24,.18);
  border-radius:2px;
}
.btn-p::before {
  content:''; position:absolute; inset:0;
  background:var(--purple);
  transform:translateY(105%); transition:transform .5s var(--ease);
  z-index:-1;
}
.btn-p:hover { box-shadow:var(--shadow-purple); transform:translateY(-3px); }
.btn-p:hover::before { transform:translateY(0); }
.btn-p i { font-size:.88rem; transition:transform .35s var(--ease); }
.btn-p:hover i { transform:translateX(4px); }

.btn-o {
  display:inline-flex; align-items:center; gap:12px;
  padding:15px 32px; background:transparent; color:var(--ink);
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.92rem; letter-spacing:2.5px; text-transform:uppercase;
  text-decoration:none;
  border:1.5px solid var(--ink);
  border-radius:2px;
  transition:all .4s var(--ease);
  position:relative; overflow:hidden;
}
.btn-o::before {
  content:''; position:absolute; inset:0;
  background:var(--ink); transform:translateY(105%);
  transition:transform .4s var(--ease); z-index:-1;
}
.btn-o:hover { color:#fff; transform:translateY(-3px); }
.btn-o:hover::before { transform:translateY(0); }
.btn-o i { transition:transform .35s var(--ease); }
.btn-o:hover i { transform:translateX(4px); }

/* Hero stats — bottom strip */
.hero-stats-bar {
  position:absolute; bottom:0; left:0; right:0; z-index:20;
  display:flex;
  background:var(--ink);
  opacity:0; animation:fadeUp .9s 1.5s var(--ease) forwards;
}
.h-stat {
  flex:1; padding:26px 0; text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
  transition:background .35s;
  cursor:default;
}
.h-stat:last-child { border-right:none; }
.h-stat:hover { background:var(--purple); }
.h-stat-n {
  font-family:'Bebas Neue',sans-serif; font-size:2.4rem; letter-spacing:1.5px;
  color:#fff; line-height:1;
}
.h-stat-l {
  font-family:'Barlow Condensed',sans-serif; font-size:.72rem; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  margin-top:6px;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.h-stat-l i { color:var(--purple-light); }
.h-stat:hover .h-stat-l { color:rgba(255,255,255,.9); }
.h-stat:hover .h-stat-l i { color:#fff; }

@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }

/* ================================================================
   MARQUEE
   ================================================================ */
.marquee-wrap {
  overflow:hidden; padding:24px 0;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;
}
.marquee-wrap::before, .marquee-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2;
  pointer-events:none;
}
.marquee-wrap::before { left:0; background:linear-gradient(to right,#fff,transparent); }
.marquee-wrap::after { right:0; background:linear-gradient(to left,#fff,transparent); }

.marquee-track {
  display:flex; gap:0; white-space:nowrap;
  animation:marquee 32s linear infinite;
}
.marquee-wrap:hover .marquee-track { animation-play-state:paused; }
.m-item {
  font-family:'Bebas Neue',sans-serif; font-size:1.05rem; letter-spacing:5px;
  color:var(--ink-3);
  padding:0 50px;
  display:flex; align-items:center; gap:50px;
  transition:color .35s;
}
.m-item:hover { color:var(--purple); }
.m-diamond {
  width:6px; height:6px; background:var(--purple); flex-shrink:0;
  transform:rotate(45deg);
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ================================================================
   SECTION COMMONS
   ================================================================ */
section { position:relative; }

.s-tag {
  display:inline-flex; align-items:center; gap:12px;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.78rem; letter-spacing:5px; text-transform:uppercase;
  color:var(--purple); margin-bottom:1.5rem;
}
.s-tag i { font-size:.85rem; }
.s-tag::before { content:''; width:32px; height:1.5px; background:var(--purple); }

.s-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.6rem,4.6vw,4.6rem);
  line-height:.98; letter-spacing:.5px; margin-bottom:1.2rem;
  color:var(--ink);
}
.s-title .ac {
  color:var(--purple);
  font-family:'Playfair Display',serif;
  font-style:italic; font-weight:600;
  letter-spacing:-1px;
}

.s-sub {
  color:var(--ink-muted);
  font-size:1rem;
  font-weight:400;
  line-height:1.85;
  max-width:600px;
}

.divider {
  width:100%; height:1px;
  background:linear-gradient(90deg,transparent,var(--line-2),transparent);
}

.container { max-width:1280px; margin:0 auto; }

/* ================================================================
   ABOUT
   ================================================================ */
#about {
  padding:140px 5%;
  background:#fff;
}

.about-grid {
  display:grid; grid-template-columns:1fr 1.05fr; gap:90px;
  align-items:center; max-width:1280px; margin:0 auto;
}

.about-img-block {
  position:relative;
  padding:18px 18px 0 0;
}
.about-img-main {
  width:100%; aspect-ratio:4/4.2; object-fit:cover;
  display:block;
  box-shadow:var(--shadow-lg);
  transition:transform .8s var(--ease);
  position:relative; z-index:2;
}
.about-img-block::before {
  content:''; position:absolute; top:0; right:0;
  width:60%; height:65%;
  border:2px solid var(--purple);
  z-index:1;
}
.about-img-block::after {
  content:''; position:absolute; bottom:-22px; right:-22px;
  width:140px; height:140px;
  background:var(--purple);
  z-index:1;
}
.about-img-corner {
  position:absolute; bottom:-30px; left:-30px;
  width:200px; aspect-ratio:1; object-fit:cover;
  border:6px solid #fff; box-shadow:var(--shadow-lg);
  animation:gentleFloat 7s ease-in-out infinite;
  z-index:3;
}
.about-badge {
  position:absolute; top:40px; right:-26px;
  background:#fff;
  padding:18px 24px;
  box-shadow:var(--shadow-lg);
  border-left:4px solid var(--purple);
  z-index:4;
}
.about-badge-n {
  font-family:'Bebas Neue',sans-serif; font-size:2.6rem; letter-spacing:1.5px;
  color:var(--ink); line-height:1;
}
.about-badge-l {
  font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:600;
  letter-spacing:3px; text-transform:uppercase; color:var(--ink-muted);
  margin-top:6px;
}

.about-text {
  color:var(--ink-3); line-height:1.95;
  font-size:1rem; font-weight:400; margin-bottom:1.4rem;
}

.check-list {
  list-style:none;
  display:flex; flex-direction:column; gap:14px;
  margin:2rem 0;
}
.check-list li {
  display:flex; align-items:center; gap:14px;
  font-size:.95rem; font-weight:500; color:var(--ink-2);
  transition:transform .3s, color .3s;
}
.check-list li:hover { transform:translateX(6px); color:var(--purple); }
.check-list li i {
  color:#fff; background:var(--purple);
  width:26px; height:26px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.65rem; flex-shrink:0;
}

.about-metrics {
  display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:3rem;
  border:1px solid var(--line);
  background:var(--bg-2);
}
.am {
  padding:28px 18px; text-align:center;
  border-right:1px solid var(--line);
  transition:background .35s, transform .35s;
  cursor:default;
}
.am:last-child { border-right:none; }
.am:hover { background:#fff; transform:translateY(-4px); box-shadow:var(--shadow-md); }
.am-n {
  font-family:'Bebas Neue',sans-serif; font-size:2.4rem; letter-spacing:1px;
  color:var(--purple); line-height:1;
}
.am-l {
  font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase; color:var(--ink-muted);
  margin-top:6px;
}

/* ================================================================
   SERVICES — Premium grid
   ================================================================ */
#services {
  padding:140px 5%;
  background:var(--bg-2);
  position:relative; overflow:hidden;
}

.srv-header { text-align:center; max-width:640px; margin:0 auto 80px; }
.srv-header .s-tag { justify-content:center; }
.srv-header .s-tag::before { display:none; }
.srv-header .s-sub { margin:1rem auto 0; }

.srv-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:28px;
  max-width:1280px; margin:0 auto;
}

.srv-card {
  background:#fff; position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  border:1px solid var(--line);
  transition:all .55s var(--ease);
  border-radius:4px;
}
.srv-card::before {
  content:''; position:absolute; top:0; left:0;
  width:0; height:3px;
  background:var(--purple);
  transition:width .6s var(--ease); z-index:3;
}
.srv-card:hover {
  transform:translateY(-12px);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}
.srv-card:hover::before { width:100%; }

.srv-img { width:100%; height:300px; overflow:hidden; position:relative; background:var(--bg-2); }
.srv-img img {
  width:100%; height:100%; object-fit:cover;
  object-position:center 60%;
  transition:all .8s var(--ease);
}
.srv-card:hover .srv-img img { transform:scale(1.1); }

.srv-body { padding:30px 32px 36px; flex:1; position:relative; }

.srv-icon-wrap {
  width:56px; height:56px; margin-bottom:22px;
  background:var(--purple-soft);
  display:flex; align-items:center; justify-content:center;
  border-radius:3px;
  transition:all .45s var(--ease);
}
.srv-card:hover .srv-icon-wrap {
  background:var(--purple);
  transform:rotate(-6deg) scale(1.1);
  box-shadow:0 14px 30px rgba(91,44,145,.35);
}
.srv-icon-wrap i {
  font-size:1.25rem; color:var(--purple);
  transition:color .35s, transform .45s;
}
.srv-card:hover .srv-icon-wrap i { color:#fff; transform:rotate(6deg); }

.srv-num {
  position:absolute; top:18px; right:24px;
  font-family:'Bebas Neue',sans-serif; font-size:3.4rem;
  line-height:1; color:rgba(14,14,24,.06);
  z-index:1; transition:color .45s;
}
.srv-card:hover .srv-num { color:rgba(91,44,145,.18); }

.srv-title {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:1.2rem; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--ink); margin-bottom:12px;
}
.srv-text {
  font-size:.92rem; font-weight:400;
  color:var(--ink-3); line-height:1.85;
}

/* ================================================================
   PROCESS / ROAD
   ================================================================ */
#road {
  padding:140px 5%;
  background:#fff;
}
.road-header { text-align:center; max-width:600px; margin:0 auto 90px; }
.road-header .s-tag { justify-content:center; }
.road-header .s-tag::before { display:none; }
.road-header .s-sub { margin:1rem auto 0; }

.road-process {
  display:grid; grid-template-columns:repeat(4,1fr);
  position:relative; max-width:1180px; margin:0 auto;
}
.road-process::before {
  content:''; position:absolute;
  top:44px; left:calc(12.5% + 20px); right:calc(12.5% + 20px);
  height:2px;
  background:repeating-linear-gradient(90deg,var(--purple) 0 8px,transparent 8px 18px);
  opacity:.4;
  z-index:0;
}

.rp-step { text-align:center; position:relative; padding:0 20px; }
.rp-num-wrap {
  position:relative; z-index:1;
  width:88px; height:88px; margin:0 auto 28px;
  background:#fff; border:1.5px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  transition:all .45s var(--ease);
  box-shadow:var(--shadow-sm);
  border-radius:50%;
}
.rp-step:hover .rp-num-wrap {
  background:var(--purple);
  border-color:var(--purple);
  box-shadow:var(--shadow-purple);
  transform:translateY(-6px);
}
.rp-num-wrap i {
  font-size:1.6rem; color:var(--purple);
  transition:color .35s, transform .45s;
}
.rp-step:hover .rp-num-wrap i { color:#fff; transform:scale(1.15); }

.rp-step-num {
  position:absolute; top:-10px; right:30%;
  font-family:'Bebas Neue',sans-serif; font-size:1rem;
  letter-spacing:1px; color:var(--purple);
  background:#fff; padding:2px 8px;
  border:1px solid var(--purple);
  border-radius:2px;
  z-index:2;
}

.rp-label {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:1.1rem; letter-spacing:1.8px; text-transform:uppercase;
  color:var(--ink); margin-bottom:12px;
}
.rp-desc {
  font-size:.9rem; font-weight:400;
  color:var(--ink-muted); line-height:1.8;
}

/* ================================================================
   WHY US
   ================================================================ */
#why {
  padding:140px 5%;
  background:var(--bg-2);
}
.why-grid {
  display:grid; grid-template-columns:1fr 1.1fr; gap:90px;
  max-width:1280px; margin:0 auto; align-items:start;
}

.why-img-col { position:relative; }
.why-img {
  width:100%; aspect-ratio:3/4; object-fit:cover;
  display:block;
  box-shadow:var(--shadow-lg);
}
.why-img-tag {
  position:absolute; bottom:-40px; right:-30px;
  background:var(--ink); padding:30px 34px;
  max-width:280px;
  box-shadow:var(--shadow-lg);
  border-left:4px solid var(--purple);
}
.why-img-tag-q {
  font-family:'Playfair Display',serif; font-style:italic; font-weight:600;
  font-size:1.4rem; color:#fff;
  line-height:1.35; margin-bottom:12px;
}
.why-img-tag-a {
  font-size:.85rem; font-weight:400;
  color:rgba(255,255,255,.7); line-height:1.7;
}

.why-img-2-wrap {
  position:relative;
  width:62%;
  margin:80px 0 0 auto;
  padding:18px 18px 0 0;
}
.why-img-2-wrap::before {
  content:''; position:absolute; top:0; right:0;
  width:55%; height:50%;
  border:2px solid var(--purple);
  z-index:0;
}
.why-img-2-wrap::after {
  content:''; position:absolute; bottom:-22px; right:-22px;
  width:90px; height:90px;
  background:var(--purple);
  z-index:0;
  opacity:.9;
}
.why-img-2 {
  width:100%; aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
  display:block;
  box-shadow:var(--shadow-lg);
  position:relative; z-index:1;
  transition:transform .8s var(--ease);
}
.why-img-2:hover { transform:translateY(-4px); }

.why-img-2-stat {
  position:absolute; bottom:-22px; left:-22px;
  background:var(--purple); color:#fff;
  padding:18px 22px;
  z-index:3;
  box-shadow:var(--shadow-purple);
  min-width:130px;
  text-align:center;
}
.why-img-2-stat-n {
  font-family:'Bebas Neue',sans-serif;
  font-size:2rem; letter-spacing:1.5px;
  line-height:1;
}
.why-img-2-stat-l {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.7rem; letter-spacing:2.5px; text-transform:uppercase;
  margin-top:5px;
  color:rgba(255,255,255,.85);
}

.why-points-col { padding-top:8px; }
.why-pts { display:flex; flex-direction:column; margin-top:1rem; }
.why-pt {
  display:flex; gap:24px; padding:30px 0;
  border-bottom:1px solid var(--line);
  transition:all .35s var(--ease);
  position:relative;
}
.why-pt:first-child { border-top:1px solid var(--line); }
.why-pt::before {
  content:''; position:absolute; left:0; top:50%; width:0; height:1px;
  background:var(--purple); transform:translateY(-50%);
  transition:width .4s var(--ease);
}
.why-pt:hover { padding-left:18px; }
.why-pt:hover::before { width:14px; }
.why-pt-icon {
  width:50px; height:50px; flex-shrink:0;
  background:var(--purple-soft);
  display:flex; align-items:center; justify-content:center;
  border-radius:3px;
  transition:all .4s var(--ease);
  margin-top:2px;
}
.why-pt:hover .why-pt-icon {
  background:var(--purple);
  box-shadow:0 12px 26px rgba(91,44,145,.32);
}
.why-pt-icon i { font-size:1.1rem; color:var(--purple); transition:color .35s; }
.why-pt:hover .why-pt-icon i { color:#fff; }
.why-pt-title {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:1.1rem; letter-spacing:1.6px; text-transform:uppercase;
  color:var(--ink); margin-bottom:8px;
}
.why-pt-text {
  font-size:.94rem; font-weight:400;
  color:var(--ink-3); line-height:1.85;
}

.perf-bars {
  margin-top:3.5rem;
  padding:34px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  box-shadow:var(--shadow-sm);
}
.pb-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.85rem; font-weight:700; letter-spacing:4px; text-transform:uppercase;
  color:var(--purple); margin-bottom:2rem;
  display:flex; align-items:center;
}
.pb-item { margin-bottom:1.6rem; }
.pb-item:last-child { margin-bottom:0; }
.pb-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.pb-name {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.86rem; letter-spacing:2px; text-transform:uppercase; color:var(--ink-2);
}
.pb-pct {
  font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:1px; color:var(--purple);
}
.pb-bar {
  height:5px; background:var(--bg-3); overflow:hidden;
  border-radius:3px;
}
.pb-fill {
  height:100%; width:0;
  background:linear-gradient(90deg,var(--purple),var(--purple-light));
  transition:width 1.6s cubic-bezier(.23,1,.32,1);
  border-radius:3px;
}
.pb-fill.run { width:var(--w); }

/* ================================================================
   FLEET
   ================================================================ */
#fleet {
  padding:140px 5%;
  background:#fff;
}
.fleet-top {
  display:flex; justify-content:space-between; align-items:flex-end;
  max-width:1280px; margin:0 auto 70px; flex-wrap:wrap; gap:24px;
}
.fleet-top .s-sub { max-width:380px; }

.fleet-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  max-width:1280px; margin:0 auto;
}

.fc {
  position:relative; overflow:hidden; background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  transition:all .55s var(--ease);
}
.fc:hover {
  transform:translateY(-12px);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}

.fc-img { width:100%; height:340px; overflow:hidden; position:relative; background:var(--bg-2); }
.fc-img img {
  width:100%; height:100%; object-fit:cover;
  object-position:center;
  transition:all .8s var(--ease);
}
.fc:hover .fc-img img { transform:scale(1.08); }

.fc-body { padding:30px 30px 34px; }
.fc-icon {
  width:50px; height:50px; margin-bottom:18px;
  background:var(--purple-soft);
  display:flex; align-items:center; justify-content:center;
  border-radius:3px;
  transition:all .4s var(--ease);
}
.fc:hover .fc-icon { background:var(--purple); transform:rotate(-6deg); }
.fc-icon i { font-size:1.1rem; color:var(--purple); transition:color .35s, transform .4s; }
.fc:hover .fc-icon i { color:#fff; transform:rotate(6deg); }

.fc-title {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:1.2rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--ink); margin-bottom:10px;
}
.fc-text {
  font-size:.92rem; font-weight:400;
  color:var(--ink-3); line-height:1.85; margin-bottom:22px;
}
.fc-tag {
  display:inline-block; padding:7px 16px;
  background:var(--purple-soft);
  border:1px solid var(--purple-soft2);
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.72rem; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--purple);
  border-radius:2px;
}

/* ================================================================
   CONTACT
   ================================================================ */
#contact {
  padding:140px 5% 120px;
  background:var(--bg-2);
}
.cta-grid {
  display:grid; grid-template-columns:1fr 1.2fr; gap:90px;
  max-width:1280px; margin:0 auto; align-items:start;
}

.cta-info-item {
  display:flex; gap:18px; padding:24px 0;
  border-bottom:1px solid var(--line);
  align-items:flex-start;
  transition:padding-left .35s var(--ease);
}
.cta-info-item:hover { padding-left:8px; }
.cta-info-item:first-of-type { border-top:1px solid var(--line); margin-top:2rem; }
.cta-icon {
  width:48px; height:48px; flex-shrink:0;
  background:var(--purple-soft);
  display:flex; align-items:center; justify-content:center;
  border-radius:3px;
  transition:all .35s;
}
.cta-info-item:hover .cta-icon { background:var(--purple); }
.cta-info-item:hover .cta-icon i { color:#fff; }
.cta-icon i { font-size:1rem; color:var(--purple); transition:color .35s; }
.cta-lbl {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.7rem; letter-spacing:3px; text-transform:uppercase;
  color:var(--ink-muted); margin-bottom:6px;
}
.cta-val {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:1.05rem; letter-spacing:.5px; color:var(--ink);
}

.cta-form {
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  padding:48px;
  position:relative;
  box-shadow:var(--shadow-md);
}
.cta-form::before {
  content:''; position:absolute; top:0; left:0; width:60%; height:3px;
  background:var(--purple);
  border-radius:4px 0 0 0;
}
.cta-form-title {
  font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:2px;
  color:var(--ink); margin-bottom:2rem;
}
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.f-grp { margin-bottom:20px; }
.f-grp label {
  display:block;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.72rem; letter-spacing:3px; text-transform:uppercase;
  color:var(--ink-muted); margin-bottom:8px;
}
.f-grp input, .f-grp select, .f-grp textarea {
  width:100%; background:var(--bg-2);
  border:1px solid transparent;
  padding:14px 16px; color:var(--ink);
  font-family:'Inter',sans-serif; font-size:.95rem; font-weight:400;
  outline:none;
  transition:border-color .3s, box-shadow .3s, background .3s;
  appearance:none; -webkit-appearance:none;
  border-radius:2px;
}
.f-grp input:focus, .f-grp select:focus, .f-grp textarea:focus {
  border-color:var(--purple);
  box-shadow:0 0 0 3px rgba(91,44,145,.1);
  background:#fff;
}
.f-grp textarea { resize:vertical; min-height:110px; }
.f-grp select option { background:#fff; }
.f-submit {
  width:100%; padding:17px;
  background:var(--ink); border:none; color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.95rem; letter-spacing:3px; text-transform:uppercase;
  cursor:pointer;
  border-radius:2px;
  transition:all .4s var(--ease);
  margin-top:12px; position:relative; overflow:hidden;
}
.f-submit::before {
  content:''; position:absolute; inset:0;
  background:var(--purple);
  transform:translateY(105%); transition:transform .45s var(--ease);
  z-index:-1;
}
.f-submit:hover {
  box-shadow:var(--shadow-purple);
  transform:translateY(-3px);
}
.f-submit:hover::before { transform:translateY(0); }
.f-note {
  font-size:.78rem; font-weight:400;
  color:var(--ink-muted); text-align:center;
  margin-top:14px;
}

/* ================================================================
   FOOTER — Premium dark
   ================================================================ */
footer {
  background:var(--bg-dark);
  color:#fff;
  padding:90px 5% 36px;
  position:relative; overflow:hidden;
}
footer::before {
  content:''; position:absolute; top:-200px; right:-200px;
  width:600px; height:600px;
  background:radial-gradient(ellipse,rgba(91,44,145,.30) 0%,transparent 70%);
  pointer-events:none;
}

.ft-grid {
  display:grid; grid-template-columns:1.4fr 1fr 1fr;
  gap:80px; max-width:1280px; margin:0 auto;
  padding-bottom:60px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:36px;
  position:relative; z-index:1;
}

.ft-logo {
  display:inline-flex; align-items:center;
  margin-bottom:24px;
  background:#fff; padding:16px 22px;
  border-radius:4px;
  box-shadow:0 18px 50px rgba(91,44,145,.30);
  transition:transform .4s var(--ease), box-shadow .4s;
}
.ft-logo img {
  height:90px; width:auto;
  transition:transform .4s var(--ease);
}
.ft-logo:hover { transform:translateY(-4px); box-shadow:0 24px 60px rgba(91,44,145,.45); }
.ft-logo:hover img { transform:scale(1.05); }

.ft-brand-n {
  font-family:'Bebas Neue',sans-serif;
  font-size:1.5rem; letter-spacing:2.5px;
  color:#fff;
  line-height:1.1;
  margin-bottom:6px;
}
.ft-brand-tag {
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.78rem; letter-spacing:3.5px; text-transform:uppercase;
  color:var(--purple-light); margin-bottom:20px;
}
.ft-brand-text {
  font-size:.95rem; font-weight:400;
  color:rgba(255,255,255,.55); line-height:1.9;
  margin-bottom:24px;
  max-width:380px;
}

.ft-social { display:flex; gap:10px; }
.ft-social a {
  width:40px; height:40px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6);
  text-decoration:none;
  transition:all .35s var(--ease);
  font-size:.95rem;
  border-radius:50%;
}
.ft-social a:hover {
  background:var(--purple); border-color:var(--purple);
  color:#fff; transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(91,44,145,.4);
}

.ft-col-title {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.84rem; letter-spacing:3.5px; text-transform:uppercase;
  color:#fff; margin-bottom:24px;
  position:relative; padding-bottom:14px;
}
.ft-col-title::after {
  content:''; position:absolute; bottom:0; left:0;
  width:32px; height:2px; background:var(--purple-light);
}
.ft-links { list-style:none; display:flex; flex-direction:column; gap:13px; }
.ft-links a {
  font-size:.92rem; font-weight:400;
  color:rgba(255,255,255,.55); text-decoration:none;
  transition:color .3s, padding-left .3s;
  display:flex; align-items:center;
}
.ft-links a:hover { color:var(--purple-light); padding-left:6px; }
.ft-links a i { color:var(--purple-light); }

.ft-bottom {
  display:flex; justify-content:space-between; align-items:center;
  max-width:1280px; margin:0 auto; flex-wrap:wrap; gap:16px;
  position:relative; z-index:1;
}
.ft-copy {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.8rem; letter-spacing:1.5px;
  color:rgba(255,255,255,.4);
}
.ft-badges { display:flex; gap:14px; flex-wrap:wrap; }
.ft-badge {
  padding:6px 16px;
  border:1px solid rgba(255,255,255,.12);
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:.7rem; letter-spacing:2.5px; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  transition:all .3s;
  border-radius:2px;
}
.ft-badge:hover { border-color:var(--purple-light); color:#fff; }
.ft-badge i { color:var(--purple-light); }

.ft-credit {
  max-width:1280px; margin:30px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.06);
  text-align:center;
  font-family:'Barlow Condensed',sans-serif; font-weight:500;
  font-size:.78rem; letter-spacing:2px; text-transform:uppercase;
  color:rgba(255,255,255,.45);
  position:relative; z-index:1;
}
.ft-credit a {
  color:var(--purple-light);
  text-decoration:none;
  font-weight:700;
  letter-spacing:2.5px;
  margin-left:6px;
  position:relative;
  transition:color .3s;
}
.ft-credit a::after {
  content:''; position:absolute; left:0; right:0; bottom:-3px;
  height:1px; background:var(--purple-light);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.ft-credit a:hover { color:#fff; }
.ft-credit a:hover::after { transform:scaleX(1); background:#fff; }

/* ================================================================
   REVEAL ANIMATIONS
   ================================================================ */
.rv {
  opacity:0; transform:translateY(40px);
  transition:opacity 1s cubic-bezier(.23,1,.32,1), transform 1s cubic-bezier(.23,1,.32,1);
}
.rv-l {
  opacity:0; transform:translateX(-40px);
  transition:opacity 1s cubic-bezier(.23,1,.32,1), transform 1s cubic-bezier(.23,1,.32,1);
}
.rv-r {
  opacity:0; transform:translateX(40px);
  transition:opacity 1s cubic-bezier(.23,1,.32,1), transform 1s cubic-bezier(.23,1,.32,1);
}
.rv.show, .rv-l.show, .rv-r.show { opacity:1; transform:translate(0); }

/* ================================================================
   BACK TO TOP
   ================================================================ */
#backTop {
  position:fixed; bottom:30px; right:30px; z-index:900;
  width:48px; height:48px;
  background:var(--ink); color:#fff;
  border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem;
  border-radius:50%;
  opacity:0; visibility:hidden; transform:translateY(20px);
  transition:all .4s var(--ease);
  box-shadow:var(--shadow-md);
}
#backTop.show { opacity:1; visibility:visible; transform:translateY(0); }
#backTop:hover { background:var(--purple); transform:translateY(-4px); box-shadow:var(--shadow-purple); }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:1100px) {
  #hero { grid-template-columns:1fr; min-height:auto; }
  .hero-left { padding:140px 5% 60px; }
  .hero-right { height:520px; }
  .hero-img-wrap { inset:0 5% 60px 5%; }
  .hero-stat-card { left:5%; }
}

@media(max-width:1024px) {
  .about-grid, .why-grid, .cta-grid { grid-template-columns:1fr; gap:80px; }
  .fleet-grid, .srv-grid { grid-template-columns:1fr 1fr; }
  .road-process { grid-template-columns:1fr 1fr; gap:50px; }
  .road-process::before { display:none; }
  .ft-grid { grid-template-columns:1fr 1fr; gap:50px; }
  .hero-stats-bar .h-stat:nth-child(4) { display:none; }
  .about-img-corner { width:160px; }
  .about-badge { right:0; }
  .why-img-tag { bottom:-30px; right:0; }
}

@media(max-width:768px) {
  body { cursor:auto; }
  .cursor, .cursor-ring { display:none !important; }
  .nav-links { display:none; }
  .hamburger { display:flex; }

  /* Nav */
  nav { padding:0 5%; height:80px; }
  nav.scrolled { height:68px; }
  .nav-logo img { height:60px; }
  nav.scrolled .nav-logo img { height:52px; }

  /* Splash */
  .splash-logo { height:120px; }
  .splash-text { font-size:.7rem; letter-spacing:3px; padding:0 20px; text-align:center; }
  .splash-bar { width:140px; }

  /* Hero */
  .hero-left { padding:110px 5% 50px; }
  .hero-h1 { font-size:clamp(2.6rem,10vw,4rem); margin-bottom:1.4rem; }
  .hero-sub { font-size:.95rem; margin-bottom:2.2rem; }
  .hero-right { height:340px; }
  .hero-img-wrap { inset:0 5% 80px 5%; }
  .hero-accent-block { width:80px; height:80px; bottom:80px; }
  .hero-accent-line { width:50px; height:50px; }
  .hero-stat-card { left:6%; padding:12px 16px; gap:10px; }
  .hero-stat-card-icon { width:36px; height:36px; font-size:.95rem; }
  .hero-stat-card-n { font-size:1.15rem; }
  .hero-stat-card-l { font-size:.6rem; letter-spacing:1.8px; }

  /* Hero stats */
  .hero-stats-bar { flex-wrap:wrap; }
  .h-stat { min-width:50%; padding:18px 0; border-top:1px solid rgba(255,255,255,.08); }
  .h-stat:nth-child(2n) { border-right:none; }
  .h-stat-n { font-size:1.9rem; }
  .h-stat-l { font-size:.62rem; letter-spacing:1.8px; }

  /* Marquee */
  .m-item { font-size:.9rem; letter-spacing:3px; padding:0 30px; gap:30px; }

  /* Section commons */
  .s-title { font-size:clamp(2rem,8vw,2.8rem); }
  .s-tag { font-size:.7rem; letter-spacing:3.5px; }

  /* About */
  #about { padding:90px 5%; }
  .about-grid { gap:60px; }
  .about-img-block { padding:0; max-width:480px; margin:0 auto; }
  .about-img-block::before, .about-img-block::after { display:none; }
  .about-img-corner { display:none; }
  .about-badge { right:0; top:20px; padding:14px 18px; }
  .about-badge-n { font-size:1.9rem; }
  .about-badge-l { font-size:.62rem; }
  .about-metrics { grid-template-columns:1fr 1fr; }
  .about-metrics .am { border-bottom:1px solid var(--line); }
  .about-metrics .am:nth-child(2n) { border-right:none; }
  .am-n { font-size:1.9rem; }
  .check-list li { font-size:.9rem; }

  /* Services */
  #services { padding:90px 5%; }
  .srv-header { margin-bottom:50px; }
  .srv-grid { grid-template-columns:1fr; gap:22px; }
  .srv-img { height:240px; }
  .srv-body { padding:24px 24px 28px; }

  /* Road / Process */
  #road { padding:90px 5%; }
  .road-header { margin-bottom:50px; }
  .road-process { grid-template-columns:1fr 1fr; gap:40px; }
  .rp-num-wrap { width:72px; height:72px; }
  .rp-num-wrap i { font-size:1.3rem; }

  /* Why */
  #why { padding:90px 5%; }
  .why-grid { gap:60px; }
  .why-img-col { display:none; }
  .why-points-col { padding-top:0; }
  .perf-bars { padding:24px; }
  .pb-title { letter-spacing:3px; }

  /* Fleet */
  #fleet { padding:90px 5%; }
  .fleet-top { margin-bottom:50px; }
  .fleet-grid { grid-template-columns:1fr; gap:22px; }
  .fc-img { height:280px; }
  .fc-body { padding:24px 24px 28px; }

  /* Contact */
  #contact { padding:90px 5%; }
  .cta-grid { gap:60px; }
  .f-row { grid-template-columns:1fr; gap:0; }
  .cta-form { padding:30px 22px; }
  .cta-form-title { font-size:1.6rem; }

  /* Footer */
  footer { padding:60px 5% 30px; }
  .ft-grid { grid-template-columns:1fr; gap:46px; padding-bottom:40px; margin-bottom:24px; }
  .ft-logo { padding:12px 16px; }
  .ft-logo img { height:60px; }
  .ft-brand-n { font-size:1.25rem; letter-spacing:2px; }
  .ft-brand-text { font-size:.88rem; }
  .ft-bottom { flex-direction:column; text-align:center; gap:18px; }
  .ft-credit { font-size:.72rem; letter-spacing:1.5px; padding-top:18px; margin-top:24px; }

  /* Back-to-top */
  #backTop { width:42px; height:42px; bottom:20px; right:20px; }
}

@media(max-width:520px) {
  nav { padding:0 4%; height:74px; }
  nav.scrolled { height:64px; }
  .nav-logo img { height:54px; }
  nav.scrolled .nav-logo img { height:48px; }

  /* Splash */
  .splash-logo { height:96px; }

  #about, #services, #road, #why, #fleet, #contact {
    padding-left:5%; padding-right:5%;
    padding-top:70px; padding-bottom:70px;
  }
  footer { padding-left:5%; padding-right:5%; padding-top:50px; }

  /* Hero */
  .hero-left { padding:100px 5% 40px; }
  .hero-h1 { font-size:clamp(2.2rem,11vw,3rem); }
  .hero-sub { font-size:.9rem; }
  .hero-btns { flex-direction:column; width:100%; gap:.7rem; }
  .btn-p, .btn-o { justify-content:center; width:100%; padding:14px 24px; font-size:.85rem; }
  .hero-right { height:280px; }
  .hero-img-wrap { inset:0 5% 90px 5%; }
  .hero-stat-card { display:none; }
  .hero-accent-block { width:60px; height:60px; }
  .hero-accent-line { display:none; }

  /* Stats */
  .h-stat-n { font-size:1.6rem; }

  /* Section titles */
  .s-title { font-size:2rem; letter-spacing:.5px; }
  .s-sub { font-size:.92rem; }

  /* Process — 1 column */
  .road-process { grid-template-columns:1fr; gap:32px; }

  /* About */
  .about-badge { padding:12px 16px; }
  .about-badge-n { font-size:1.6rem; }
  .about-metrics { grid-template-columns:1fr 1fr; }
  .am { padding:18px 12px; }
  .am-n { font-size:1.6rem; }
  .am-l { font-size:.6rem; letter-spacing:2px; }

  /* Services / Fleet */
  .srv-card, .fc { border-radius:3px; }
  .srv-img { height:200px; }
  .fc-img { height:240px; }
  .srv-body, .fc-body { padding:22px 20px 26px; }
  .srv-title, .fc-title { font-size:1.05rem; letter-spacing:1.5px; }

  /* Why */
  .why-img-tag { padding:20px 22px; max-width:100%; right:0; }
  .why-img-tag-q { font-size:1.15rem; }
  .why-pt { gap:16px; padding:22px 0; }
  .why-pt-icon { width:44px; height:44px; }
  .perf-bars { padding:20px; margin-top:2.4rem; }
  .pb-title { font-size:.78rem; letter-spacing:2.5px; }

  /* Contact */
  .cta-form { padding:24px 18px; }
  .cta-form-title { font-size:1.4rem; letter-spacing:1.5px; }
  .f-grp input, .f-grp select, .f-grp textarea { padding:12px 14px; font-size:.9rem; }
  .cta-info-item { padding:18px 0; gap:14px; }
  .cta-icon { width:42px; height:42px; }
  .cta-val { font-size:.96rem; }

  /* Footer */
  footer { padding-bottom:24px; }
  .ft-logo img { height:52px; }
  .ft-brand-n { font-size:1.15rem; }
  .ft-brand-tag { font-size:.7rem; letter-spacing:2.5px; }
  .ft-grid { gap:36px; }
  .ft-badges { justify-content:center; gap:8px; }
  .ft-badge { font-size:.62rem; padding:5px 12px; letter-spacing:2px; }
  .ft-credit a { letter-spacing:2px; }

  /* Mobile panel close button — bigger tap area */
  .mob-close { width:44px; height:44px; }

  /* Back to top — smaller */
  #backTop { width:40px; height:40px; bottom:16px; right:16px; }
}

@media(max-width:360px) {
  .nav-logo img { height:48px; }
  nav.scrolled .nav-logo img { height:42px; }
  .s-title { font-size:1.8rem; }
  .hero-h1 { font-size:2rem; }
  .ft-logo img { height:46px; }
  .ft-brand-n { font-size:1.05rem; }
}
