:root{
  --bg2:#f7fafc;
  --card:#ffffff;
  --muted:#c2ccd9;
  --accent1:#0b2540; /* deep navy */
  --accent2:#0f66a3; /* teal/blue */
  --max:1200px;
}
html{
  scroll-padding-top:139px;
  height:auto;
  min-height:100%;
  scroll-behavior:smooth;
}
@media (max-width:900px){
  html{scroll-padding-top:80px}
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  color: #0b1724;
  background: var(--bg2);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.container{max-width:var(--max);margin:0 auto;padding:28px}
.header-inner{display:flex;align-items:stretch;justify-content:space-between;padding:12px 28px}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;margin:32px 0}
.nav{display:flex;align-items:stretch;margin:-12px -28px -12px 0}
.nav a:not(.cta){color:var(--accent1);text-decoration:none;margin-left:18px;font-weight:500;transition:all 0.2s ease;display:inline-flex;align-items:center;padding:12px 8px}
.nav a:not(.cta):hover{background:var(--accent1);color:#ffffff;padding-left:16px;padding-right:16px}
.nav .cta{background:#ffffff;border:1px solid rgba(11,37,64,0.06);padding:12px 20px;border-radius:999px;color:var(--accent1);margin-left:18px;transition:all 0.2s ease;align-self:center;position:relative;overflow:hidden;font-weight:600;text-decoration:none}
.nav .cta::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(15,102,163,0.15),transparent);transform:skewX(-25deg);transition:left 0.3s ease-in-out;pointer-events:none;z-index:0}
.nav .cta:hover{background:rgba(11,37,64,0.04);border-color:rgba(11,37,64,0.12)}
.nav .cta:hover::before{left:100%}
.site-header{background:rgba(255,255,255,0.9);box-shadow:0 1px 0 rgba(15,23,36,0.04);position:sticky;top:0;z-index:1000}
.site-main{padding:0}
.section.hero{padding-top:0;padding-bottom:0}

/* Full-screen slideshow sections */
.section.fullscreen{
  /* min-height:100vh; */
  display:flex;
  align-items:center;
  justify-content:center;
  /* padding:80px 0; */
}

.hero-inner{display:grid;grid-template-columns:1fr 540px;gap:48px;align-items:center}

.hero{min-height:70vh;max-height:600px;display:flex;align-items:center}
.hero-content{max-width:62ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:900px){.hero-inner{grid-template-columns:1fr;}.hero-visual{order:-1}}
h1{font-size: clamp(2rem, 3.8vw, 3rem);line-height:1.03;margin:0 0 18px;font-weight:700}
h2{font-size: clamp(1.75rem, 3vw, 2.25rem);line-height:1.2;margin:16px 0;font-weight:700}
.lead{color:var(--muted);max-width:55ch;margin: 32px 0;}
.btn{display:inline-block;padding:12px 20px;border-radius:999px;background:transparent;color:inherit;text-decoration:none;border:1px solid rgba(15,23,36,0.06);font-weight:600;transition:all 0.2s ease}
.btn.primary{background: linear-gradient(90deg,var(--accent1),var(--accent2));color:white;border:none;box-shadow:0 10px 30px rgba(15,54,100,0.08);position:relative;overflow:hidden;vertical-align:middle}
.btn.primary::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.5),transparent);transform:skewX(-25deg);transition:left 0.3s ease-in-out;pointer-events:none;z-index:0}
.btn.primary:hover{box-shadow:0 14px 40px rgba(15,54,100,0.15)}
.btn.primary:hover::before{left:100%}
.btn.secondary{background:var(--accent1);color:white;border:none;box-shadow:0 4px 12px rgba(11,37,64,0.15);position:relative;overflow:hidden;vertical-align:middle}
.btn.secondary::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);transform:skewX(-25deg);transition:left 0.3s ease-in-out;pointer-events:none;z-index:0}
.btn.secondary:hover{background:var(--accent2);box-shadow:0 6px 16px rgba(11,37,64,0.2)}
.btn.secondary:hover::before{left:100%}
.btn.ghost{background:#ffffff;border:1px solid rgba(11,37,64,0.06);color:var(--accent1);position:relative;overflow:hidden;vertical-align:middle}
.btn.ghost::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(15,102,163,0.15),transparent);transform:skewX(-25deg);transition:left 0.3s ease-in-out;pointer-events:none;z-index:0}
.btn.ghost:hover{background:rgba(11,37,64,0.04);border-color:rgba(11,37,64,0.12)}
.btn.ghost:hover::before{left:100%}
.hero-visual{display:flex;align-items:center;justify-content:center}
.truck{max-width:100%;height:auto}
.wheel{transform-origin:center;transition:transform 0.7s linear}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.reveal.in-view{opacity:1;transform:none}

.benefits{display:flex;flex-direction:row;gap:20px;height:400px;margin:40px 0}
.benefit-card{flex:1;position:relative;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;color:white;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(11,37,64,0.15);padding:32px 24px}
.benefit-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(11,37,64,0.2) 0%,rgba(11,37,64,0.7) 70%,rgba(11,37,64,0.85) 100%);z-index:1;transition:opacity 0.4s ease}
.benefit-card:hover::before{background:linear-gradient(to bottom,rgba(11,37,64,0.1) 0%,rgba(11,37,64,0.6) 70%,rgba(11,37,64,0.8) 100%)}
.benefit-card h3,.benefit-card p{position:relative;z-index:2;margin:0;text-shadow:0 2px 8px rgba(0,0,0,0.3)}
.benefit-card h3{margin-bottom:12px;font-size:1.5rem;font-weight:700;letter-spacing:-0.02em}
.benefit-card p{color:rgba(255,255,255,0.95);font-size:0.95rem;line-height:1.5;max-width:280px}
.benefit-card:hover{flex-grow:1.15;transform:translateY(-4px);box-shadow:0 20px 50px rgba(11,37,64,0.25)}
.detect-early{background-image:url('assets/vision_1.jpeg')}
.fleet-ready{background-image:url('assets/vision_2.jpeg')}
.actionable-output{background-image:url('assets/vision_3.jpeg')}
@media (max-width:900px){.benefits{flex-direction:column;height:auto}.benefit-card{min-height:300px}}

/* Use cases gallery */
.use-cases-header{display:flex;justify-content:space-between;/* align-items:center; */}
.use-cases-gallery{position:relative;min-height:300px;overflow:hidden;width:100%;box-shadow:0 20px 60px rgba(11,37,64,0.15);border-radius:12px}
.use-case-slide{position:absolute;top:0;left:0;width:100%;opacity:0;transition:opacity 0.5s ease;pointer-events:none}
.use-case-slide.active{opacity:1;pointer-events:auto;position:relative}
.use-case-content{position:relative;background:var(--card);padding:0;border-radius:12px;overflow:hidden;width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;min-height:550px;box-shadow:0 10px 30px rgba(11,37,64,0.15);transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}
.use-case-image{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}
.use-case-image img{width:100%;height:100%;object-fit:cover;display:block}
.use-case-content::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(11,37,64,0.2) 0%,rgba(11,37,64,0.7) 70%,rgba(11,37,64,0.85) 100%);z-index:1;transition:opacity 0.4s ease}
.use-case-text{position:relative;z-index:2;padding:40px;color:white}
.use-case-content h3{font-size:1.8rem;font-weight:700;margin:0 0 16px;color:white;text-shadow:0 2px 8px rgba(0,0,0,0.3)}
.use-case-content p{font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,0.95);margin:0;text-shadow:0 2px 8px rgba(0,0,0,0.3)}
.use-cases-paginator{display:flex;gap:12px;align-items:center}
.paginator-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent1);background:transparent;cursor:pointer;transition:all 0.3s ease;padding:0}
.paginator-dot:hover{background:rgba(11,37,64,0.3);transform:scale(1.2)}
.paginator-dot.active{background:var(--accent1);transform:scale(1.15)}

.team-grid{display:flex;gap:18px}
.person{flex:1;background:#ffffff;padding:18px;border-radius:8px;border:1px solid #eef2f7;box-shadow:0 6px 18px rgba(16,24,40,0.03);display:flex;flex-direction:row;align-items:flex-start;gap:16px}
.person-photo{width:120px;height:120px;object-fit:cover;object-position:center top;border-radius:6px;flex-shrink:0}
.person-content{display:flex;flex-direction:column;flex:1}
.person h4{margin:0 0 8px;font-size:1.1rem;font-weight:600}
.person p{margin:0 0 16px;color:#64748b;line-height:1.6}
.person-links{display:flex;gap:12px;margin-top:auto}
.person-links a{color:var(--accent1);text-decoration:none;font-size:0.9rem;font-weight:500;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}
.person-links a svg{flex-shrink:0}
.person-links a .link-icon{flex-shrink:0;object-fit:contain;border-radius:2px}
.person-links a:hover{color:var(--accent2)}

/* CTA Card */
.cta-card{background:linear-gradient(135deg,var(--accent1) 0%,var(--accent2) 100%);color:#ffffff;padding:56px 48px;border-radius:16px;text-align:center;box-shadow:0 20px 60px rgba(11,37,64,0.2);position:relative;overflow:hidden}
.cta-card::before{content:'';position:absolute;top:-50%;right:-50%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.cta-card h2{color:#ffffff;margin:0 0 20px;font-size:clamp(1.75rem,3vw,2.25rem);text-shadow:0 2px 8px rgba(0,0,0,0.1)}
.cta-description{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,0.95);max-width:700px;margin:0 auto 32px;text-shadow:0 1px 4px rgba(0,0,0,0.1)}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.cta-note{font-size:0.85rem;color:rgba(255,255,255,0.75);margin:0;max-width:650px;margin:0 auto;line-height:1.5}
@media (max-width:768px){.cta-card{padding:40px 28px}.cta-actions{flex-direction:column;align-items:stretch}.cta-actions .btn{width:100%}}

.site-footer{border-top:1px solid #eef2f7;padding:20px 0;margin-top:40px;background:transparent}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-inner small{display:inline-flex;align-items:center;gap:8px}
.emu-logo{height:24px;width:auto;vertical-align:middle;object-fit:contain}

/* subtle floating animation for decorative visual */
@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-4px)}100%{transform:translateY(0)}}
.hero-visual{animation:floaty 8s ease-in-out infinite;opacity:0.98}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-visual, .reveal{animation:none;transition:none}
  .wheels.rotate .wheel{animation:none}
}

/* accessible focus */
a:focus{outline:3px solid rgba(11,37,64,0.12);outline-offset:3px}

/* small utilities */
.lead strong{color:var(--accent1)}

/* visually hidden utility for accessible image alt text */
.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}

/* hero background image support (place assets/hero-truck.jpg) */
.hero.has-bg{
  background-image: linear-gradient(90deg, rgba(11,37,64,0.75) 0%, rgba(11,37,64,0.15) 48%, transparent 75%), url('assets/hero-truck.jpg');
  background-size:110%;
  background-position:75% center;
  background-repeat:no-repeat;
  color: #ffffff;
  overflow:hidden;
}
.hero.has-bg .hero-content{color:#ffffff}
.hero.has-bg .btn.ghost{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.16);color:#fff}
.hero.has-bg .hero-visual{display:none}

/* partner logos */
.partners{display:flex;gap:48px;align-items:center;margin-top:28px;justify-content:center;flex-wrap:wrap}
.partners .logo{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px}
.partners .logo:last-child img{height:75px;width:auto}
.partners .logo:first-child img{height:40px;width:auto}
.partners .logo img{object-fit:contain}

/* tweaks for smaller screens */
@media (max-width:900px){
  .nav{display:none}
  .header-inner{padding:8px 16px}
  .brand{margin:16px 0}
  .brand img{width:200px}
  .container{padding:20px}
  .hero-inner{grid-template-columns:1fr;gap:0;display:flex;flex-direction:column}
  .hero{min-height:auto;max-height:none;padding:0}
  .hero.has-bg{background:none;color:inherit;min-height:auto}
  .hero.has-bg .hero-content{background:var(--accent1);color:#ffffff;padding:40px 20px;margin:0 -20px;border-radius:12px}
  .hero.has-bg .hero-content .lead{color:rgba(255,255,255,0.9);max-width:100%}
  .hero.has-bg .hero-content img{position:relative;width:calc(100% + 40px);margin:-40px -20px 32px -20px;height:auto;max-height:60vh;object-fit:cover;display:block}
  .hero.has-bg .sr-only{position:relative;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;border:0}
  .hero-content{max-width:100%}
  h1{font-size:clamp(1.75rem,7vw,2.5rem);line-height:1.1;margin:0 0 16px}
  .lead{margin:20px 0;font-size:0.95rem;line-height:1.5}
  .hero-actions{margin-top:24px}
  .btn{padding:10px 18px;font-size:0.9rem}
  .hero.has-bg .btn.primary{background:#ffffff;color:var(--accent1);box-shadow:0 4px 16px rgba(0,0,0,0.15)}
  .hero.has-bg .btn.primary:hover{box-shadow:0 6px 20px rgba(0,0,0,0.25)}
  .partners{overflow-x:auto;justify-content:flex-start;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .partners .logo{flex-shrink:0}
  .benefits{flex-direction:column;height:auto}
  .benefit-card{min-height:300px}
  .section.fullscreen{min-height:auto;}
  .use-cases-header{flex-direction: row;gap:16px}
  .use-cases-paginator{margin-bottom:24px}
  .use-case-slide{position:relative;display:none}
  .use-case-slide.active{display:block}
  .use-case-content{min-height:auto;display:block;background:transparent;box-shadow:0 10px 30px rgba(11,37,64,0.15);border-radius:12px;overflow:hidden}
  .use-case-content::before{display:none}
  .use-case-image{position:relative;height:auto;border-radius:12px 12px 0 0;overflow:hidden}
  .use-case-image img{height:auto;min-height:250px;max-height:50vh}
  .use-case-text{background:var(--accent1);padding:32px 24px;border-radius:0 0 12px 12px;text-shadow:none}
  .use-case-content h3{font-size:1.5rem;text-shadow:none}
  .use-case-content p{text-shadow:none}
  .use-cases-gallery{box-shadow:none;border-radius:0;overflow:visible}
  .team-grid{flex-direction:column}
  .person{flex-direction:row;max-width:100%}
}
