:root{
  --bg:#FAF6EE;
  --bg-alt:#F1EADA;
  --panel:#FFFFFF;
  --ink:#23201B;
  --ink-muted:#5B5346;
  --road:#1C1E22;
  --road-2:#101114;
  --amber:#D98A2B;
  --amber-ink:#5A3A0E;
  --red:#B8402B;
  --green:#2F5D50;
  --border:rgba(28,30,34,0.14);
  --border-soft:rgba(28,30,34,0.08);
  --shadow:0 1px 2px rgba(20,18,14,0.06);
  --focus:#1C6E5C;
  --max:1120px;
}
 
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E0F12;
    --bg-alt:#17181C;
    --panel:#1B1C21;
    --ink:#EDE8DB;
    --ink-muted:#A79F8E;
    --road:#0A0B0D;
    --road-2:#000000;
    --amber:#E8A94E;
    --amber-ink:#2A1C08;
    --red:#D9705A;
    --green:#5C9C89;
    --border:rgba(237,232,219,0.14);
    --border-soft:rgba(237,232,219,0.08);
    --shadow:0 1px 3px rgba(0,0,0,0.4);
    --focus:#7FC4B0;
  }
}
:root[data-theme="dark"]{
  --bg:#0E0F12;
  --bg-alt:#17181C;
  --panel:#1B1C21;
  --ink:#EDE8DB;
  --ink-muted:#A79F8E;
  --road:#0A0B0D;
  --road-2:#000000;
  --amber:#E8A94E;
  --amber-ink:#2A1C08;
  --red:#D9705A;
  --green:#5C9C89;
  --border:rgba(237,232,219,0.14);
  --border-soft:rgba(237,232,219,0.08);
  --shadow:0 1px 3px rgba(0,0,0,0.4);
  --focus:#7FC4B0;
}
 
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Rajdhani','Inter',sans-serif;
  font-weight:700;
  letter-spacing:0.01em;
  line-height:1.08;
  margin:0;
  color:var(--ink);
}
p{margin:0;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
section{padding:88px 0;}
@media (max-width:640px){ section{padding:56px 0;} }
 
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;}
 
/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
  transition:box-shadow .2s ease, border-color .2s ease;
}
.site-header.is-scrolled{box-shadow:var(--shadow);border-color:var(--border);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:var(--max);margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1.3rem;text-decoration:none;color:var(--ink);}
.brand .mark{width:34px;height:34px;flex:none;}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-weight:600;font-size:0.95rem;}
.nav-links a{text-decoration:none;color:var(--ink-muted);padding:6px 2px;border-bottom:2px solid transparent;transition:color .15s, border-color .15s;}
.nav-links a:hover{color:var(--ink);border-color:var(--amber);}
.nav-cta{display:flex;align-items:center;gap:10px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.02em;
  padding:11px 20px;border-radius:6px;text-decoration:none;border:2px solid transparent;
  transition:transform .12s ease, background .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-amber{background:var(--amber);color:var(--amber-ink);}
.btn-amber:hover{background:color-mix(in srgb, var(--amber) 85%, white 15%);}
.btn-outline{background:transparent;border-color:var(--border);}
.btn-outline:hover{border-color:var(--green);}
.btn-ghost{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding:11px 4px;}
.menu-toggle{display:none;background:none;border:1px solid var(--border);border-radius:6px;padding:8px;color:var(--ink);}
@media (max-width:860px){
  .nav-links{display:none;}
  .menu-toggle{display:inline-flex;}
  .nav-cta .btn-outline{display:none;}
}
.mobile-panel{display:none;flex-direction:column;gap:2px;padding:8px 24px 18px;border-bottom:1px solid var(--border-soft);}
.mobile-panel.open{display:flex;}
.mobile-panel a{padding:12px 4px;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid var(--border-soft);}
 
/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:var(--road);color:#F4EFE3;
  padding:96px 0 76px;
}
.hero .wrap{position:relative;z-index:2;}
.hero-road-svg{position:absolute;inset:0;width:100%;height:100%;opacity:0.9;z-index:1;}
.kicker{
  font-size:1rem;color:#D8CDB4;font-weight:600;max-width:640px;margin-bottom:18px;
}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);max-width:820px;color:#FBF7EC;}
.hero h1 .accent{color:var(--amber);}
.hero-sub{margin-top:22px;max-width:600px;color:#D8CDB4;font-size:1.08rem;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.hero .btn-outline{border-color:rgba(244,239,227,0.35);color:#F4EFE3;}
.hero .btn-outline:hover{border-color:var(--amber);}
 
.odometer{
  margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(244,239,227,0.16);padding-top:28px;gap:20px;
}
.odometer div{display:flex;flex-direction:column;gap:4px;}
.odometer strong{font-family:'Rajdhani',sans-serif;font-size:1.9rem;color:var(--amber);}
.odometer span{font-size:0.85rem;color:#C8BEA6;}
@media (max-width:700px){ .odometer{grid-template-columns:repeat(2,1fr);} }
 
/* ---------- Section headings ---------- */
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.3rem);}
.section-head p{margin-top:12px;color:var(--ink-muted);font-size:1.02rem;}
.alt{background:var(--bg-alt);}
 
/* ---------- Services ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3{grid-template-columns:1fr;}}
.service-card{
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:26px 24px;display:flex;flex-direction:column;gap:14px;
}
.icon-badge{
  width:46px;height:46px;border-radius:8px;background:var(--bg-alt);
  display:flex;align-items:center;justify-content:center;border:1px solid var(--border);flex:none;
}
.icon-badge svg{width:24px;height:24px;stroke:var(--green);fill:none;stroke-width:1.7;}
.service-card h3{font-size:1.2rem;}
.service-card p{color:var(--ink-muted);font-size:0.96rem;}
 
/* ---------- Routes / milestones ---------- */
.route-scroller{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:900px){.route-scroller{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.route-scroller{grid-template-columns:1fr;}}
.milestone{
  border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--panel);
}
.milestone-top{
  background:var(--green);color:#F4EFE3;padding:10px 16px;
  display:flex;align-items:center;justify-content:space-between;
  font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:0.03em;
}
.milestone-top .dist{font-size:1.05rem;}
.milestone-body{padding:16px;}
.milestone-body h3{font-size:1.1rem;margin-bottom:6px;}
.milestone-body p{font-size:0.9rem;color:var(--ink-muted);}
 
/* ---------- Why choose ---------- */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 40px;}
@media (max-width:700px){.why-grid{grid-template-columns:1fr;}}
.why-item{display:flex;gap:16px;}
.why-item .icon-badge{background:transparent;border-color:var(--border);}
.why-item h3{font-size:1.08rem;margin-bottom:6px;}
.why-item p{color:var(--ink-muted);font-size:0.95rem;}
 
/* ---------- Fleet ---------- */
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.fleet-grid{grid-template-columns:1fr;}}
.fleet-card{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:0;overflow:hidden;}
.fleet-plate{
  background:var(--road);color:#F4EFE3;padding:22px 24px 16px;
  display:flex;align-items:center;justify-content:space-between;
}
.fleet-plate svg{width:40px;height:40px;stroke:var(--amber);fill:none;stroke-width:1.5;}
.fleet-plate span{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:0.85rem;color:#C8BEA6;}
.fleet-body{padding:20px 24px 24px;}
.fleet-body h3{font-size:1.2rem;margin-bottom:8px;}
.fleet-body p{color:var(--ink-muted);font-size:0.93rem;}
.fleet-body ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:0.88rem;color:var(--ink-muted);}
.fleet-body li::before{content:"— ";color:var(--red);}
 
/* ---------- Testimonials ---------- */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){.quote-grid{grid-template-columns:1fr;}}
.quote-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:16px;}
.quote-card p.line{font-size:1rem;color:var(--ink);}
.quote-who{font-size:0.88rem;color:var(--ink-muted);font-weight:600;}
 
/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:10px;max-width:760px;}
details{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:4px 20px;}
details summary{
  cursor:pointer;padding:16px 0;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1.08rem;
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
details summary::-webkit-details-marker{display:none;}
details summary::after{content:"+";font-size:1.4rem;color:var(--red);flex:none;}
details[open] summary::after{content:"–";}
details p{padding:0 0 18px;color:var(--ink-muted);font-size:0.96rem;max-width:640px;}
 
/* ---------- CTA / contact ---------- */
.cta-band{
  background:var(--road);color:#F4EFE3;border-radius:14px;padding:48px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;
}
.cta-band h2{color:#FBF7EC;font-size:clamp(1.5rem,3vw,2rem);max-width:460px;}
.cta-band p{color:#C8BEA6;margin-top:10px;max-width:440px;}
.contact-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{border:1px solid var(--border);border-radius:10px;padding:22px;background:var(--panel);}
.contact-card h3{font-size:1rem;margin-bottom:8px;}
.contact-card address{font-style:normal;color:var(--ink-muted);font-size:0.95rem;line-height:1.6;}
.contact-card a{color:var(--green);font-weight:600;text-decoration:none;}
.contact-card a:hover{text-decoration:underline;}
 
/* ---------- Footer ---------- */
footer{background:var(--road-2);color:#C8BEA6;padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
footer h4{color:#F4EFE3;font-family:'Rajdhani',sans-serif;font-size:0.95rem;letter-spacing:0.04em;margin-bottom:14px;}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:0.9rem;}
footer a{text-decoration:none;color:#C8BEA6;}
footer a:hover{color:var(--amber);}
.footer-brand p{color:#A79F8E;font-size:0.9rem;max-width:280px;margin-top:12px;}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(244,239,227,0.1);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:0.82rem;color:#8B8371;}
 
.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;}
 
/* ---------- Floating call / WhatsApp actions ---------- */
.float-actions{
  position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  z-index:60;display:flex;flex-direction:column;gap:14px;
}
.float-btn{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,0.25);border:1px solid rgba(0,0,0,0.08);
  transition:transform .15s ease, box-shadow .15s ease;
}
.float-btn svg{width:26px;height:26px;stroke-width:2;}
.float-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 22px rgba(0,0,0,0.3);}
.float-btn:active{transform:translateY(0) scale(0.97);}
.float-call{background:var(--road);color:#F4EFE3;}
.float-call svg{stroke:var(--amber);fill:none;}
.float-whatsapp{background:#2FA86E;color:#fff;position:relative;}
.float-whatsapp svg{stroke:#fff;fill:none;}
.float-whatsapp::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid #2FA86E;opacity:0.6;animation:pulseRing 2.4s ease-out infinite;
}
@keyframes pulseRing{
  0%{transform:scale(0.9);opacity:0.6;}
  70%{transform:scale(1.35);opacity:0;}
  100%{transform:scale(1.35);opacity:0;}
}
@media (max-width:480px){
  .float-actions{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));gap:12px;}
  .float-btn{width:50px;height:50px;}
  .float-btn svg{width:22px;height:22px;}
}
 
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
  .float-whatsapp::before{animation:none;display:none;}
}
 