/* ==========================================================================
   PRC Group  — Design tokens
   ========================================================================== */
:root{
  --navy-900:#08192F;
  --navy-800:#0B2545;
  --navy-700:#123166;
  --slate-600:#55606D;
  --slate-400:#8A93A0;
  --fog-100:#F3F5F7;
  --fog-50:#FAFBFC;
  --white:#FFFFFF;
  --accent:#FF6A3D;
  --accent-dark:#E1502A;

  --font-display:'Space Grotesk', 'Inter', sans-serif;
  --font-body:'Inter', sans-serif;

  --container:1240px;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:16px;

  --shadow-card:0 10px 30px -18px rgba(8,25,47,0.35);
  --shadow-lift:0 20px 40px -20px rgba(8,25,47,0.45);

  --ease:cubic-bezier(.2,.65,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--navy-900);
  background:linear-gradient(180deg, #f7f9fb 0%, #ffffff 100%);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--navy-900);
  line-height:1.12;
  margin:0 0 .5em;
  font-weight:600;
  letter-spacing:-0.01em;
}
p{margin:0 0 1em; color:var(--slate-600); max-width:62ch;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
img:not(.social-icons img){filter:saturate(1.05) contrast(1.04) brightness(0.97);}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
input,textarea,select{font-family:inherit; font-size:1rem;}

.wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--navy-900); color:var(--white);
  padding:12px 18px; z-index:999; border-radius:0 0 var(--radius-sm) 0;
}
.skip-link:focus{left:0;}

:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px;
}

section{padding:96px 0;}
@media (max-width:768px){ section{padding:64px 0;} }

.eyebrow{
  display:inline-block;
  font-size:0.85rem;
  font-weight:600;
  color:var(--accent-dark);
  margin-bottom:14px;
}

.section-head{
  max-width:640px;
  margin-bottom:56px;
}
.section-head h2{font-size:clamp(1.8rem,3vw,2.4rem);}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 28px;
  border-radius:var(--radius-sm);
  font-weight:600;
  font-size:0.98rem;
  border:1.5px solid transparent;
  transition:transform .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 12px 30px -18px rgba(255,106,61,0.9);}
.btn-accent{background:linear-gradient(135deg, var(--accent) 0%, #ff8a5b 100%); color:var(--white); box-shadow:0 16px 28px -18px rgba(255,106,61,0.9);}
.btn-accent:hover{background:linear-gradient(135deg, var(--accent-dark) 0%, #d34b2d 100%);}
.btn-outline{border-color:var(--navy-900); color:var(--navy-900);}
.btn-outline:hover{background:var(--navy-900); color:var(--white);}
.btn-ghost-light{border-color:rgba(255,255,255,0.55); color:var(--white);}
.btn-ghost-light:hover{background:rgba(255,255,255,0.12); border-color:var(--white);}
.btn-sm{padding:10px 20px; font-size:0.9rem;}
.btn-full{width:100%;}

/* ==========================================================================
   Header / Nav
   ========================================================================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background-color .35s var(--ease), box-shadow .35s var(--ease), padding .35s var(--ease), backdrop-filter .35s var(--ease);
  padding:20px 0;
  background:rgba(8,25,47,0.12);
  backdrop-filter:blur(10px);
}
.site-header.scrolled{
  background:rgba(255,255,255,0.94);
  box-shadow:0 4px 24px -12px rgba(8,25,47,0.18);
  padding:12px 0;
  backdrop-filter:blur(14px);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:var(--font-display); font-weight:600; font-size:1.2rem;
  color:var(--white);
}
.brand em{font-style:normal; color:var(--accent);}
.site-header.scrolled .brand{color:var(--navy-900);}

.main-nav ul{display:flex; gap:32px;}
.nav-link{
  font-size:0.96rem; font-weight:500; color:rgba(255,255,255,0.88);
  position:relative; padding:6px 0;
  transition:color .25s var(--ease);
}
.site-header.scrolled .nav-link{color:var(--navy-800);}
.nav-link::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--accent); transition:width .25s var(--ease);
}
.nav-link:hover, .nav-link.active-link{color:var(--accent);}
.site-header.scrolled .nav-link:hover, .site-header.scrolled .nav-link.active-link{color:var(--accent-dark);}
.nav-link.active-link::after, .nav-link:hover::after{width:100%;}

.header-actions{display:flex; align-items:center; gap:18px;}

.hamburger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:none; padding:0;
}
.hamburger span{
  display:block; height:2px; width:100%; background:var(--white);
  transition:transform .3s var(--ease), opacity .3s var(--ease), background-color .3s var(--ease);
}
.site-header.scrolled .hamburger span{background:var(--navy-900);}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{
  position:fixed; top:0; right:0; height:100vh; width:min(80vw,340px);
  background:var(--navy-900); color:var(--white);
  padding:100px 32px 32px;
  transform:translateX(100%);
  transition:transform .4s var(--ease);
  z-index:99;
  display:flex; flex-direction:column; gap:32px;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav ul{display:flex; flex-direction:column; gap:22px;}
.mobile-nav a{font-family:var(--font-display); font-size:1.2rem; font-weight:600;}

@media (max-width:960px){
  .main-nav{display:none;}
  .hamburger{display:flex;}
  .header-actions .btn-sm{display:none;}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  color:var(--white);
  overflow:hidden;
}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-media img{width:100%; height:100%; object-fit:cover;}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,25,47,0.78) 0%, rgba(8,25,47,0.62) 45%, rgba(8,25,47,0.92) 100%);
}
.hero-route{position:absolute; left:0; right:0; bottom:16%; width:100%; height:180px; opacity:0.5;}
.hero-route path{
  stroke-dasharray:1600;
  stroke-dashoffset:1600;
  animation:drawRoute 2.6s var(--ease) 0.4s forwards;
}
@keyframes drawRoute{to{stroke-dashoffset:0;}}

.hero-content{position:relative; z-index:1; padding-top:140px; padding-bottom:80px;}
.badge{
  display:inline-block;
  padding:8px 18px;
  border:1px solid rgba(255,255,255,0.35);
  border-radius:999px;
  font-size:0.82rem;
  font-weight:600;
  margin-bottom:24px;
  background:rgba(255,255,255,0.06);
}
.hero h1{
  font-size:clamp(2.4rem,5.6vw,4.2rem);
  max-width:16ch;
  color:var(--white);
  margin-bottom:.4em;
}
.hero-lead{
  color:rgba(255,255,255,0.82);
  font-size:1.15rem;
  max-width:52ch;
  margin-bottom:36px;
}
.hero-actions{display:flex; gap:18px; flex-wrap:wrap;}

.reveal-item{
  opacity:0; transform:translateY(18px);
  animation:heroIn .8s var(--ease) forwards;
}
.hero h1.reveal-item{animation-delay:.15s;}
.hero-lead.reveal-item{animation-delay:.3s;}
.hero-actions.reveal-item{animation-delay:.45s;}
.badge.reveal-item{animation-delay:0s;}
@keyframes heroIn{to{opacity:1; transform:translateY(0);}}

.hero-stats{
  position:relative; z-index:1;
  border-top:1px solid rgba(255,255,255,0.18);
  padding:28px 0 12px;
  background:linear-gradient(180deg, rgba(8,25,47,0.12), rgba(8,25,47,0.34));
}
.hero-stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;
}
.hstat{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.16);
  border-radius:18px;
  padding:22px 18px 18px;
  backdrop-filter:blur(4px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
  min-height:120px;
  display:flex; flex-direction:column; justify-content:center;
}
.hstat strong{
  display:block; font-family:var(--font-display); font-size:clamp(2rem,3vw,2.8rem);
  color:var(--white); line-height:1.1; margin-bottom:8px; letter-spacing:-0.04em;
}
.hstat span{font-size:0.9rem; color:rgba(255,255,255,0.82);}

@media (max-width:768px){
  .hero-stats-grid{grid-template-columns:repeat(2,1fr); row-gap:20px;}
}

/* ==========================================================================
   Scroll reveal (generic)
   ========================================================================== */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in-view{opacity:1; transform:translateY(0);}

/* ==========================================================================
   About
   ========================================================================== */
.about-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;
}
.about-media{position:relative;}
.about-media img{
  border-radius:var(--radius-lg); width:100%; aspect-ratio:4/5; object-fit:cover;
  background:linear-gradient(180deg, #123566 0%, #0c1f3b 100%);
  box-shadow:0 28px 48px -34px rgba(8,25,47,0.5);
}
.floating-badge{
  position:absolute; left:-24px; bottom:32px;
  background:rgba(255,255,255,0.96); border-radius:var(--radius-md);
  padding:18px 22px; box-shadow:var(--shadow-lift);
  border:1px solid rgba(8,25,47,0.06);
}
.floating-badge strong{display:block; font-family:var(--font-display); font-size:1.3rem; color:var(--accent-dark);}
.floating-badge span{font-size:0.85rem; color:var(--slate-600);}

.about-copy h2{font-size:clamp(1.8rem,3vw,2.4rem);}
.check-list{margin:24px 0 32px; display:grid; gap:12px;}
.check-list li{
  position:relative; padding-left:30px; font-weight:500; color:var(--navy-800);
}
.check-list li::before{
  content:"✓"; position:absolute; left:0; top:0;
  width:20px; height:20px; border-radius:50%;
  background:var(--accent); color:var(--white);
  font-size:0.7rem; display:flex; align-items:center; justify-content:center;
}

@media (max-width:900px){
  .about-grid{grid-template-columns:1fr; gap:48px;}
  .floating-badge{left:16px; bottom:-24px;}
}

/* ==========================================================================
   Services
   ========================================================================== */
.service-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
}
.service-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(243,245,247,0.96));
  border:1px solid rgba(8,25,47,0.06);
  border-radius:var(--radius-lg);
  padding:34px 30px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
}
.service-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px -28px rgba(8,25,47,0.28);
  border-color:rgba(255,106,61,0.25);
  background:linear-gradient(180deg, #ffffff, #fff3ee);
}
.service-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:12px;
  background:var(--navy-900); color:var(--accent);
  margin-bottom:20px;
}
.service-card h3{font-size:1.2rem; margin-bottom:8px;}
.card-link{
  display:inline-flex; align-items:center; gap:6px;
  font-weight:600; color:var(--navy-900); margin-top:8px;
  transition:gap .25s var(--ease), color .25s var(--ease);
}
.card-link:hover{gap:10px; color:var(--accent-dark);}

@media (max-width:900px){ .service-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .service-grid{grid-template-columns:1fr;} }

/* ==========================================================================
   Why choose us
   ========================================================================== */
.why{background:var(--navy-900); color:var(--white);}
.why .eyebrow{color:var(--accent);}
.why .section-head h2{color:var(--white);}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.why-card{
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius-lg);
  padding:28px 26px;
}
.why-num{
  font-family:var(--font-display); font-size:2.2rem; color:var(--accent);
  margin-bottom:6px;
}
.why-card h3{color:var(--white); font-size:1.1rem;}
.why-card p{color:rgba(255,255,255,0.68); font-size:0.94rem;}

@media (max-width:900px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .why-grid{grid-template-columns:1fr;} }

/* ==========================================================================
   Fleet slider
   ========================================================================== */
.fleet-slider-wrap{padding-top:8px;}
.fleet-slider{overflow:hidden; padding:6px 0;}
.fleet-track{
  display:flex; gap:24px;
  transition:transform .5s var(--ease);
  padding:0 24px;
}
.fleet-card{
  flex:0 0 320px;
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid rgba(8,25,47,0.08);
  box-shadow:var(--shadow-card);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.fleet-card:hover{transform:translateY(-6px); box-shadow:0 24px 48px -24px rgba(8,25,47,0.35);}
.fleet-card img{width:100%; height:200px; object-fit:cover;}
.fleet-body{padding:22px 24px; background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(243,245,247,0.96));}
.fleet-body h3{font-size:1.35rem; margin-bottom:6px; letter-spacing:-0.03em;}
.fleet-meta{font-size:0.85rem; color:var(--accent-dark); font-weight:700; margin-bottom:8px;}

.fleet-controls{
  display:flex; align-items:center; justify-content:center; gap:20px; margin-top:32px;
}
.slider-btn{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid rgba(8,25,47,0.15); background:var(--white); color:var(--navy-900);
  display:flex; align-items:center; justify-content:center;
  transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease), opacity .25s var(--ease);
}
.slider-btn:hover:not(:disabled){background:var(--navy-900); color:var(--white); border-color:var(--navy-900); transform:translateY(-1px);}
.slider-btn:disabled{opacity:0.4; cursor:not-allowed;}
.slider-dots{display:flex; gap:8px;}
.slider-dots button{
  width:8px; height:8px; border-radius:50%; border:none; background:rgba(8,25,47,0.18); padding:0;
  transition:background-color .25s var(--ease), width .25s var(--ease);
}
.slider-dots button.active{background:var(--accent); width:22px; border-radius:5px;}

/* ==========================================================================
   Tracking
   ========================================================================== */
.tracking{background:var(--fog-100);}
.tracking-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
.tracking-form{display:flex; gap:12px; margin-top:8px; flex-wrap:wrap;}
.tracking-form input{
  flex:1; min-width:220px;
  padding:14px 18px; border-radius:var(--radius-sm);
  border:1.5px solid rgba(8,25,47,0.15);
  background:var(--white);
}
.tracking-form input:focus{border-color:var(--accent);}
.tracking-hint{font-size:0.85rem; margin-top:12px; color:var(--slate-400);}
.tracking-hint code{background:rgba(8,25,47,0.06); padding:2px 6px; border-radius:4px;}

.tracking-result{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:32px;
  min-height:280px;
  box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; justify-content:center;
}
.tracking-placeholder{text-align:center; color:var(--slate-400);}
.tracking-placeholder svg{margin:0 auto 12px;}

.track-header{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:24px; flex-wrap:wrap; gap:12px;}
.track-id{font-family:var(--font-display); font-size:1.2rem;}
.track-status{
  display:inline-block; padding:6px 14px; border-radius:999px; font-size:0.8rem; font-weight:600;
  background:rgba(255,106,61,0.12); color:var(--accent-dark);
}
.track-status.delivered{background:rgba(35,150,90,0.12); color:#1E7E4E;}

.track-timeline{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0;}
.track-timeline li{
  position:relative; padding:0 0 22px 34px; font-size:0.94rem; color:var(--slate-600);
}
.track-timeline li:last-child{padding-bottom:0;}
.track-timeline li::before{
  content:""; position:absolute; left:0; top:2px; width:16px; height:16px; border-radius:50%;
  background:var(--fog-100); border:2px solid var(--slate-400);
}
.track-timeline li::after{
  content:""; position:absolute; left:7px; top:18px; width:2px; height:calc(100% - 8px);
  background:rgba(8,25,47,0.12);
}
.track-timeline li:last-child::after{display:none;}
.track-timeline li.done{color:var(--navy-900); font-weight:500;}
.track-timeline li.done::before{background:#1E7E4E; border-color:#1E7E4E;}
.track-timeline li.current{color:var(--accent-dark); font-weight:600;}
.track-timeline li.current::before{background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px rgba(255,106,61,0.18);}

.track-error{text-align:center; padding:20px 0;}
.track-error svg{margin:0 auto 14px; color:var(--accent-dark);}

@media (max-width:900px){ .tracking-grid{grid-template-columns:1fr; gap:40px;} }

/* ==========================================================================
   Industries
   ========================================================================== */
.industry-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.industry-card{
  position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:1/1.05;
}
.industry-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
.industry-card:hover img{transform:scale(1.08);}
.industry-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,25,47,0.08) 12%, rgba(8,25,47,0.56) 60%, rgba(8,25,47,0.88) 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:18px 18px 20px;
  color:var(--white);
}
.industry-overlay h3{
  color:var(--white); font-size:clamp(1.5rem, 2vw, 2rem); margin-bottom:6px;
  text-shadow:0 3px 18px rgba(0,0,0,0.52); letter-spacing:-0.03em; line-height:1.08;
}
.industry-overlay p{
  color:rgba(255,255,255,0.9); font-size:0.82rem; margin:0; max-width:22ch; line-height:1.45;
  text-shadow:0 2px 10px rgba(0,0,0,0.42);
}

@media (max-width:900px){ .industry-grid{grid-template-columns:repeat(2,1fr);} }

/* ==========================================================================
   Process timeline
   ========================================================================== */
.process-timeline{
  display:grid; grid-template-columns:repeat(5,1fr); gap:24px; counter-reset:none;
  position:relative;
}
.process-timeline::before{
  content:""; position:absolute; top:26px; left:6%; right:6%; height:2px; background:rgba(8,25,47,0.1);
}
.process-step{position:relative;}
.step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%;
  background:var(--white); border:2px solid var(--navy-900);
  font-family:var(--font-display); font-weight:600; color:var(--navy-900);
  margin-bottom:18px; position:relative; z-index:1;
  transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.process-step.in-view .step-num{background:var(--accent); border-color:var(--accent); color:var(--white);}
.process-step h3{font-size:1.02rem;}
.process-step p{font-size:0.9rem;}

@media (max-width:900px){
  .process-timeline{grid-template-columns:1fr 1fr; gap:36px;}
  .process-timeline::before{display:none;}
}
@media (max-width:560px){ .process-timeline{grid-template-columns:1fr;} }

/* ==========================================================================
   Stats
   ========================================================================== */
.stats{
  background:linear-gradient(120deg, var(--navy-900), var(--navy-700));
  color:var(--white);
}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.stat-num{
  font-family:var(--font-display); font-size:clamp(2.2rem,4vw,3rem); color:var(--accent); margin-bottom:6px;
}
.stat-item span{color:rgba(255,255,255,0.78); font-size:0.92rem;}

@media (max-width:768px){ .stats-grid{grid-template-columns:1fr 1fr; row-gap:32px;} }

/* ==========================================================================
   Testimonials
   ========================================================================== */
.testimonial-slider{overflow:hidden;}
.testimonial-track{display:flex; transition:transform .5s var(--ease);}
.testimonial-card{
  flex:0 0 100%;
  max-width:720px; margin:0 auto;
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(243,245,247,1));
  border:1px solid rgba(8,25,47,0.06);
  border-radius:var(--radius-lg);
  padding:44px;
  text-align:center;
  box-shadow:0 18px 40px -30px rgba(8,25,47,0.24);
}
.stars{color:var(--accent); font-size:1.1rem; letter-spacing:2px; margin-bottom:16px;}
.testimonial-card p{
  font-family:var(--font-display); font-size:1.25rem; color:var(--navy-900);
  max-width:none; margin-bottom:24px; font-weight:500;
}
.testimonial-card footer{display:flex; align-items:center; justify-content:center; gap:12px;}
.testimonial-card footer img{width:44px; height:44px; border-radius:50%; object-fit:cover; box-shadow:0 8px 18px -12px rgba(8,25,47,0.45);}
.testimonial-card footer strong{display:block; font-size:0.95rem;}
.testimonial-card footer span{font-size:0.82rem; color:var(--slate-400);}

.testimonial-controls{display:flex; align-items:center; justify-content:center; gap:20px; margin-top:36px;}

/* ==========================================================================
   CTA
   ========================================================================== */
.cta{position:relative; padding:120px 0; color:var(--white);}
.cta-media{position:absolute; inset:0; z-index:0;}
.cta-media img{width:100%; height:100%; object-fit:cover;}
.cta-overlay{position:absolute; inset:0; background:rgba(8,25,47,0.82);}
.cta-content{position:relative; z-index:1; text-align:center; max-width:680px; margin:0 auto;}
.cta-content h2{color:var(--white); font-size:clamp(1.8rem,3.4vw,2.6rem);}
.cta-content p{color:rgba(255,255,255,0.82); margin:0 auto 32px; max-width:52ch;}
.cta-actions{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}

/* ==========================================================================
   Contact
   ========================================================================== */
.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:72px;}
.contact-list{margin-top:28px; display:grid; gap:22px;}
.contact-list li{display:flex; gap:16px; align-items:flex-start;}
.contact-icon{
  flex:0 0 auto; width:42px; height:42px; border-radius:10px;
  background:var(--fog-100); color:var(--accent-dark);
  display:flex; align-items:center; justify-content:center;
}
.contact-list strong{display:block; font-size:0.95rem; color:var(--navy-900);}
.contact-list span{font-size:0.9rem; color:var(--slate-600);}

.contact-form{background:linear-gradient(180deg, rgba(255,255,255,1), rgba(243,245,247,1)); border:1px solid rgba(8,25,47,0.06); border-radius:var(--radius-lg); padding:36px; box-shadow:0 20px 42px -36px rgba(8,25,47,0.35);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{margin-bottom:18px;}
.field label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; color:var(--navy-800);}
.field input, .field textarea, .field select{
  width:100%; padding:12px 14px; border-radius:var(--radius-sm);
  border:1.5px solid rgba(8,25,47,0.15); background:var(--white);
  transition:border-color .25s var(--ease);
}
.field input:focus, .field textarea:focus, .field select:focus{border-color:var(--accent);}
.field.has-error input, .field.has-error textarea{border-color:#D64545;}
.field-error{display:block; font-size:0.8rem; color:#D64545; margin-top:6px; min-height:1em;}

.form-status{
  margin-top:16px; padding:12px 16px; border-radius:var(--radius-sm); font-size:0.9rem;
  display:none;
}
.form-status.success{display:block; background:rgba(35,150,90,0.1); color:#1E7E4E;}
.form-status.error{display:block; background:rgba(214,69,69,0.1); color:#B03A3A;}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr; gap:44px;}
  .form-row{grid-template-columns:1fr;}
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{background:var(--navy-900); color:rgba(255,255,255,0.75); padding-top:80px;}
.footer-grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr; gap:40px;
  padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.1);
}
.brand-light{color:var(--white); margin-bottom:16px;}
.footer-brand p{color:rgba(255,255,255,0.6); font-size:0.9rem;}
.social-icons{display:flex; gap:12px; margin-top:18px;}
.social-icons a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.2);
  display:flex; align-items:center; justify-content:center;
  transition:background-color .25s var(--ease), border-color .25s var(--ease);
}
.social-icons a:hover{background:var(--accent); border-color:var(--accent);}

.footer-col h3{color:var(--white); font-size:0.95rem; margin-bottom:18px;}
.footer-col ul{display:grid; gap:12px;}
.footer-col a{font-size:0.9rem; transition:color .2s var(--ease);}
.footer-col a:hover{color:var(--accent);}

.footer-newsletter form{display:flex; margin-top:6px; border:1px solid rgba(255,255,255,0.2); border-radius:var(--radius-sm); overflow:hidden;}
.footer-newsletter input{
  flex:1; background:transparent; border:none; padding:11px 14px; color:var(--white); font-size:0.88rem;
}
.footer-newsletter input::placeholder{color:rgba(255,255,255,0.5);}
.footer-newsletter button{
  background:var(--accent); border:none; padding:0 16px; color:var(--white); display:flex; align-items:center;
}

.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; padding:26px 0; flex-wrap:wrap; gap:12px;
  font-size:0.85rem;
}
.footer-legal{display:flex; gap:20px;}
.footer-legal a:hover{color:var(--accent);}

@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr; gap:36px;}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Back to top
   ========================================================================== */
.back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:80;
  width:48px; height:48px; border-radius:50%;
  background:var(--navy-900); color:var(--white); border:none;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-lift);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
}
.back-to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
.back-to-top:hover{background:var(--accent);}

/* ==========================================================================
   Loader
   ========================================================================== */
.loader{
  position:fixed; inset:0; background:var(--navy-900); color:var(--accent);
  display:flex; align-items:center; justify-content:center; z-index:1000;
  transition:opacity .5s var(--ease), visibility .5s;
}
.loader-mark svg{animation:pulseMark 1.1s ease-in-out infinite;}
@keyframes pulseMark{0%,100%{opacity:0.5;} 50%{opacity:1;}}
.loader.loaded{opacity:0; visibility:hidden;}

/* ==========================================================================
   Responsive type scale tweaks
   ========================================================================== */
@media (max-width:576px){
  .wrap{padding:0 18px;}
  .hero-content{padding-top:120px;}
  section{padding:56px 0;}
  .fleet-card{flex-basis:270px;}
  .contact-form{padding:24px;}
}
