:root{
    --navy:#06304A;
    --navy-deep:#03202F;
    --orange:#F7941E;
    --orange-deep:#D97706;
    --red:#D62839;
    --cream:#FBF7EF;
    --cream-dim:#F1E9DA;
    --white:#FFFFFF;
    --ink:#0A2E42;
    --ink-soft:#3C5A6B;
    --line:rgba(6,48,74,0.12);
    --rail-w:96px;
    --maxw:1180px;
    --ease:cubic-bezier(.22,.9,.32,1);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    font-weight:500;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3{margin:0;font-family:'Anton',sans-serif;font-weight:400;letter-spacing:0.01em;text-transform:uppercase;color:var(--navy);}
  .script{font-family:'Kalam',cursive;font-weight:700;}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 28px 0 28px;}
  .bleed-wrap{position:relative;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'Manrope',sans-serif;font-weight:800;font-size:12px;
    letter-spacing:0.16em;text-transform:uppercase;color:var(--orange-deep);
    margin-bottom:14px;
  }
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--orange);display:inline-block;}
  section{position:relative;padding:104px 0;}
  @media(max-width:768px){section{padding:72px 0;}}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:16px 30px;border-radius:100px;font-weight:800;font-size:15px;
    letter-spacing:0.02em;cursor:pointer;border:2px solid transparent;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, color .3s, border-color .3s;
    font-family:'Manrope',sans-serif;
  }
  .btn:active{transform:scale(.97);}
  .btn-primary{background:var(--orange);color:var(--navy-deep);box-shadow:0 10px 30px -10px rgba(247,148,30,.7);}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px -10px rgba(247,148,30,.85);}
  .btn-ghost{background:transparent;border-color:rgba(255,255,255,.5);color:var(--white);}
  .btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08);transform:translateY(-3px);}
  .btn-dark{background:var(--navy);color:var(--cream);}
  .btn-dark:hover{background:var(--navy-deep);transform:translateY(-3px);}

  /* ---------- Route rail (signature element) ---------- */
  #track{position:relative;}
  .route-rail{
    position:absolute;left:0;top:0;width:var(--rail-w);height:100%;
    pointer-events:none;z-index:2;
  }
  .route-rail svg{position:absolute;top:0;left:0;width:100%;overflow:visible;}
  .route-path-bg{fill:none;stroke:var(--line);stroke-width:3;stroke-linecap:round;}
  .route-path-fg{fill:none;stroke:var(--orange);stroke-width:3;stroke-linecap:round;}
  .route-marker{transition:opacity .3s;}
  .route-marker .puff{opacity:0;}
  @media(max-width:1120px){
    .route-rail{display:none;}
    :root{--rail-w:0px;}
  }
  @media(min-width:1121px){
    .has-rail .container{padding-left:calc(28px + var(--rail-w));}
  }

  /* ---------- Reveal on scroll ---------- */
  [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
  [data-reveal].in{opacity:1;transform:translateY(0);}
  [data-reveal="fade"]{transform:none;}
  [data-reveal-delay="1"]{transition-delay:.08s;}
  [data-reveal-delay="2"]{transition-delay:.16s;}
  [data-reveal-delay="3"]{transition-delay:.24s;}
  [data-reveal-delay="4"]{transition-delay:.32s;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    [data-reveal]{opacity:1;transform:none;transition:none;}
  }

  /* ---------- Nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    padding:18px 0;transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s;
  }
  header .container{display:flex;align-items:center;justify-content:space-between;height:40px;}
  header .brand{display:flex;align-items:center;gap:10px;}
  header .brand img{height: 120px;width:auto;}
  header .brand-text{font-family:'Anton',sans-serif;font-size:19px;letter-spacing:.02em;color:var(--white);transition:color .4s;}
  header .brand-text span{color:var(--orange);}
  nav.links{display:flex;gap:34px;}
  nav.links a{font-size:14px;font-weight:700;color:rgba(255,255,255,.88);letter-spacing:.02em;position:relative;transition:color .3s;}
  nav.links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--orange);transition:width .3s var(--ease);}
  nav.links a:hover{color:var(--white);}
  nav.links a:hover::after{width:100%;}
  header .nav-cta{display:flex;align-items:center;gap:18px;}
  header.scrolled{background:rgba(6,48,74,.94);backdrop-filter:blur(10px);padding:12px 0;box-shadow:0 8px 30px -14px rgba(0,0,0,.4);}
  .menu-btn{display:none;background:none;border:0;width:34px;height:26px;position:relative;cursor:pointer;}
  .menu-btn span{position:absolute;left:0;right:0;height:2px;background:#fff;transition:.3s;}
  .menu-btn span:nth-child(1){top:0;}
  .menu-btn span:nth-child(2){top:11px;}
  .menu-btn span:nth-child(3){top:22px;}
  @media(max-width:900px){
    nav.links{position:fixed;top:0;right:0;height:100vh;width:min(78vw,340px);background:var(--navy-deep);
      flex-direction:column;padding:110px 34px;gap:26px;transform:translateX(100%);transition:transform .45s var(--ease);}
    nav.links.open{transform:translateX(0);}
    .menu-btn{display:block;z-index:60;}
    header .nav-cta .btn-primary{padding:11px 18px;font-size:13px;}
  }

  /* ---------- Hero ---------- */
  .hero{
    min-height:100vh;display:flex;align-items:center;
    background:
      radial-gradient(ellipse at 15% 15%, rgba(247,148,30,.35), transparent 55%),
      linear-gradient(155deg, rgba(3,32,47,.86) 0%, rgba(6,48,74,.78) 55%, rgba(11,74,104,.72) 100%),
      url('../images/vnsghat.jpeg') center 65%/cover no-repeat;
    position:relative;overflow:hidden;padding-top:120px;
  }
  .hero::after{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
    background-size:26px 26px;opacity:.35;pointer-events:none;
  }
  .hero-sun{
    position:absolute;right:-120px;bottom:-160px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle at 35% 35%, var(--orange), var(--red) 85%);
    filter:blur(2px);opacity:.9;
  }
  .hero-inner{position:relative;z-index:3;max-width:760px;}
  .hero .script{color:var(--orange);font-size:26px;display:block;margin-bottom:6px;}
  .hero h1{color:var(--white);font-size:clamp(40px,6.6vw,76px);line-height:1.02;margin-bottom:22px;}
  .hero h1 em{font-style:normal;color:var(--orange);}
  .hero p.lead{color:rgba(255,255,255,.82);font-size:18px;line-height:1.65;max-width:560px;margin-bottom:36px;font-weight:500;}
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:56px;}
  .hero-strip{display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);padding-top:26px;}
  .hero-strip div{color:rgba(255,255,255,.72);font-size:13px;font-weight:700;letter-spacing:.02em;}
  .hero-strip strong{display:block;color:var(--white);font-family:'Anton',sans-serif;font-size:26px;font-weight:400;letter-spacing:.01em;}
  .scroll-cue{position:absolute;left:28px;bottom:32px;color:rgba(255,255,255,.6);font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px;z-index:3;}
  .scroll-cue .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 1.8s infinite;}
  @keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.6);opacity:.4;}}

  /* ---------- Trust strip ---------- */
  .trust{background:var(--navy);padding:0;}
  .trust .container{display:flex;flex-wrap:wrap;}
  .trust-item{flex:1 1 220px;display:flex;align-items:center;gap:14px;padding:26px 20px;border-right:1px solid rgba(255,255,255,.1);}
  .trust-item:last-child{border-right:none;}
  .trust-item .ic{flex:none;width:34px;height:34px;color:var(--orange);}
  .trust-item p{margin:0;color:rgba(255,255,255,.88);font-size:13.5px;font-weight:700;line-height:1.4;}
  @media(max-width:900px){.trust-item{flex:1 1 45%;border-right:none;border-bottom:1px solid rgba(255,255,255,.1);}}

  /* ---------- Fleet ---------- */
  .fleet{background:var(--cream);}
  .fleet-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;margin-top:44px;}
  @media(max-width:900px){.fleet-grid{grid-template-columns:1fr;}}
  .fleet h2{font-size:clamp(30px,4vw,44px);margin-bottom:20px;max-width:560px;}
  .fleet p.desc{color:var(--ink-soft);font-size:16px;line-height:1.75;max-width:520px;margin-bottom:26px;}
  .spec-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;}
  .spec-chip{background:var(--white);border:1px solid var(--line);padding:9px 16px;border-radius:100px;font-size:12.5px;font-weight:800;color:var(--navy);letter-spacing:.02em;}
  .bike-card{
    background:var(--white);border-radius:22px;padding:30px;border:1px solid var(--line);
    box-shadow:0 30px 60px -30px rgba(6,48,74,.25);
  }
  .bike-card .badge{display:inline-block;background:var(--orange);color:var(--navy-deep);font-size:11px;font-weight:800;padding:5px 12px;border-radius:100px;letter-spacing:.05em;margin-bottom:16px;}
  .bike-card svg{width:100%;height:auto;margin:6px 0 18px;}
  .bike-photo{
    width:100%;height:220px;object-fit:contain;object-position:center;
    margin:2px 0 18px;
    background:radial-gradient(ellipse at center 60%, rgba(6,48,74,.08), transparent 70%);
    border-radius:16px;
    filter:drop-shadow(0 18px 20px rgba(6,48,74,.18));
  }
  .bike-card h3{font-size:26px;margin-bottom:4px;}
  .bike-card .sub{color:var(--ink-soft);font-size:13px;font-weight:700;margin-bottom:20px;}
  .price-table{border-top:1px dashed var(--line);padding-top:18px;}
  .price-row{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;}
  .price-row .plan{font-weight:800;font-size:14px;color:var(--navy);}
  .price-row .amt{font-family:'Anton',sans-serif;font-size:20px;color:var(--orange-deep);}
  .price-note{font-size:11.5px;color:var(--ink-soft);margin-top:12px;line-height:1.5;}
  .bike-card .btn{width:100%;margin-top:20px;}
  .coming-soon{margin-top:60px;}
  .coming-soon .label{font-size:13px;font-weight:800;color:var(--ink-soft);letter-spacing:.03em;margin-bottom:16px;}
  .cs-row{display:flex;gap:14px;flex-wrap:wrap;}
  .cs-chip{display:flex;align-items:center;gap:10px;background:var(--cream-dim);border:1px dashed var(--line);border-radius:14px;padding:12px 18px;color:var(--ink-soft);font-weight:800;font-size:13px;}
  .cs-chip svg{width:20px;height:20px;opacity:.6;}

  /* ---------- How it works ---------- */
  .how{background:var(--navy-deep);color:var(--cream);position:relative;overflow:hidden;}
  .how .eyebrow{color:var(--orange);}
  .how h2{color:var(--white);font-size:clamp(28px,4vw,42px);max-width:600px;margin-bottom:56px;}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
  @media(max-width:1000px){.steps{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.steps{grid-template-columns:1fr;}}
  .step{position:relative;padding:30px 26px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.03);}
  .step .num{font-family:'Anton',sans-serif;font-size:44px;color:var(--orange);opacity:.9;line-height:1;margin-bottom:14px;}
  .step h3{color:var(--white);font-size:19px;margin-bottom:10px;letter-spacing:0;}
  .step p{color:rgba(255,255,255,.68);font-size:14.5px;line-height:1.6;margin:0;font-weight:500;}

  /* ---------- Where you can ryd ---------- */
  .ryd-to{background:var(--cream-dim);}
  .ryd-to h2{font-size:clamp(28px,4vw,42px);max-width:640px;margin-bottom:14px;}
  .ryd-to p.desc{color:var(--ink-soft);font-size:16px;max-width:600px;margin-bottom:44px;line-height:1.7;}
  .spots{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:920px){.spots{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:620px){.spots{grid-template-columns:1fr;}}
  .spot{background:var(--white);border-radius:18px;padding:26px;border:1px solid var(--line);transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
  .spot:hover{transform:translateY(-6px);box-shadow:0 24px 46px -26px rgba(6,48,74,.3);}
  .spot .ic{width:38px;height:38px;color:var(--red);margin-bottom:16px;}
  .spot h3{font-family:'Manrope',sans-serif;text-transform:none;font-weight:800;font-size:17px;color:var(--navy);margin-bottom:8px;letter-spacing:0;}
  .spot p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0;}
  .spot .tag{display:inline-block;margin-top:12px;font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--orange-deep);text-transform:uppercase;}

  /* ---------- Why ---------- */
  .why{background:var(--cream);}
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:44px;}
  @media(max-width:920px){.why-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.why-grid{grid-template-columns:1fr;}}
  .why-item{background:var(--white);padding:34px 28px;}
  .why-item .ic{width:32px;height:32px;color:var(--orange-deep);margin-bottom:18px;}
  .why-item h3{font-family:'Manrope',sans-serif;text-transform:none;font-weight:800;font-size:16.5px;color:var(--navy);margin-bottom:10px;letter-spacing:0;}
  .why-item p{font-size:13.5px;color:var(--ink-soft);line-height:1.65;margin:0;}

  /* ---------- Contact ---------- */
  /* ---------- Partners & Founders ---------- */
  .people{background:var(--cream-dim);}
  .partner-row{display:flex;gap:36px;flex-wrap:wrap;align-items:center;margin:22px 0 52px;}
  .partner-chip{
    display:flex;align-items:center;justify-content:center;
    transition:transform .35s var(--ease);
  }
  .partner-chip:hover{transform:translateY(-4px);}
  .partner-chip img{height:80px;width:auto;}
  .people-divider{height:1px;background:var(--line);margin-bottom:52px;}
  .people h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:38px;max-width:520px;}
  .founders-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:640px;}
  @media(max-width:620px){.founders-grid{grid-template-columns:1fr;}}
  .founder-card{
    background:var(--white);border:1px solid var(--line);border-radius:20px;
    padding:34px 28px;text-align:center;transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .founder-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -26px rgba(6,48,74,.28);}
  .founder-photo{
    width:120px;height:120px;border-radius:50%;background:var(--cream);
    border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;
    margin:0 auto 22px;overflow:hidden;color:var(--ink-soft);
  }
  .founder-photo img{width:100%;height:100%;object-fit:cover;}
  .founder-photo.photo-top img{object-position:center 40%;}
  .founder-photo svg{width:52px;height:52px;opacity:.4;}
  .founder-card h3{font-family:'Manrope',sans-serif;text-transform:none;font-size:17.5px;color:var(--navy);margin-bottom:4px;letter-spacing:0;}
  .founder-card .role{font-size:12px;font-weight:800;color:var(--orange-deep);letter-spacing:.05em;text-transform:uppercase;margin:0;}

  .contact{background:var(--navy);color:var(--cream);position:relative;overflow:hidden;}
  .contact::before{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle, rgba(247,148,30,.22), transparent 70%);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;z-index:2;}
  @media(max-width:920px){.contact-grid{grid-template-columns:1fr;gap:44px;}}
  .contact h2{color:var(--white);font-size:clamp(28px,4vw,42px);margin-bottom:16px;max-width:480px;}
  .contact > .container > p{color:rgba(255,255,255,.7);}
  .contact-info p.lead{color:rgba(255,255,255,.72);font-size:15.5px;line-height:1.7;margin-bottom:30px;max-width:420px;}
  .info-row{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);}
  .info-row:last-of-type{border-bottom:1px solid rgba(255,255,255,.12);}
  .info-row .ic{width:22px;height:22px;color:var(--orange);flex:none;margin-top:2px;}
  .info-row strong{display:block;color:var(--white);font-size:14.5px;font-weight:800;margin-bottom:2px;}
  .info-row span{color:rgba(255,255,255,.65);font-size:13.5px;}
  .map-wrap{margin-top:26px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.14);height:200px;}
  .map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05);}

  form.enquire{background:var(--white);border-radius:22px;padding:34px;color:var(--ink);}
  form.enquire .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:520px){form.enquire .row{grid-template-columns:1fr;}}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
  .field input, .field select, .field textarea{
    width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font-family:'Manrope',sans-serif;
    font-size:14.5px;font-weight:600;color:var(--ink);background:var(--cream);transition:border-color .3s, box-shadow .3s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;border-color:var(--orange);box-shadow:0 0 0 4px rgba(247,148,30,.18);
  }
  form.enquire textarea{resize:vertical;min-height:80px;}
  form.enquire .btn{width:100%;margin-top:6px;}
  .form-note{font-size:12px;color:var(--ink-soft);margin-top:14px;text-align:center;}
  .success-msg{display:none;text-align:center;padding:40px 10px;}
  .success-msg.show{display:block;}
  .success-msg svg{width:52px;height:52px;color:var(--orange-deep);margin:0 auto 16px;}
  .success-msg h3{font-family:'Manrope',sans-serif;text-transform:none;font-size:19px;color:var(--navy);margin-bottom:8px;}
  .success-msg p{color:var(--ink-soft);font-size:14px;}

  /* ---------- Footer ---------- */
  footer{background:var(--navy-deep);padding:56px 0 26px;color:rgba(255,255,255,.6);}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);}
  .foot-brand{display:flex;align-items:center;gap:12px;}
  .foot-brand img{height:100px;width:auto;}
  .foot-brand .name{font-family:'Anton',sans-serif;font-size:20px;color:var(--white);}
  .foot-brand .name span{color:var(--orange);}
  .foot-tag{font-family:'Kalam',cursive;color:var(--orange);font-size:16px;margin-top:4px;}
  .foot-links{display:flex;gap:60px;flex-wrap:wrap;}
  .foot-links h4{color:var(--white);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-weight:800;font-family:'Manrope',sans-serif;}
  .foot-links a{display:block;font-size:13.5px;color:rgba(255,255,255,.6);margin-bottom:10px;transition:color .3s;}
  .foot-links a:hover{color:var(--orange);}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:22px;font-size:12.5px;}
  .foot-social{display:flex;gap:12px;}
  .foot-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;transition:all .3s;}
  .foot-social a:hover{background:var(--orange);border-color:var(--orange);}
  .foot-social svg{width:15px;height:15px;}

  ::selection{background:var(--orange);color:var(--navy-deep);}
