:root{
    --green-deep:#0F241C;
    --green:#1B3E2E;
    --green-mid:#245240;
    --gold:#C9A227;
    --gold-light:#E7C878;
    --gold-dim:#8C7226;
    --ink:#1C1B17;
    --cream:#FBF6E9;
    --cream-dim:#F1E9D2;
    --rust:#A63D2B;
    --line:rgba(28,27,23,0.12);
    --radius:8px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top:90px;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{margin:0; background:var(--cream); color:var(--ink); font-family:'Work Sans',sans-serif; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,.display{font-family:'Cinzel',serif; font-weight:700; margin:0; letter-spacing:0.01em;}
  .mono{font-family:'Roboto Mono',monospace;}
  a{color:inherit;}
  .wrap{max-width:1160px; margin:0 auto; padding:0 28px;}
  button{font-family:'Work Sans',sans-serif; cursor:pointer;}
  :focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
  img{max-width:100%; display:block;}

  /* ---------- NAV ---------- */
  .nav{position:sticky; top:0; z-index:60; background:var(--cream); border-bottom:1px solid var(--line);}
  .nav .wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{width:46px; height:46px; border-radius:50%; object-fit:cover;}
  .brand .name{font-family:'Cinzel',serif; font-weight:700; font-size:19px; letter-spacing:0.03em; line-height:1.15;}
  .brand .name small{display:block; font-family:'Work Sans',sans-serif; font-weight:500; font-size:10.5px; letter-spacing:0.08em; color:var(--gold-dim); text-transform:uppercase; margin-top:2px;}
  .navlinks{display:flex; gap:30px; font-size:14px; font-weight:600;}
  .navlinks a{text-decoration:none; border-bottom:2px solid transparent; padding-bottom:4px; transition:border-color .15s, color .15s;}
  .navlinks a:hover{border-color:var(--gold); color:var(--gold-dim);}
  .nav-right{display:flex; align-items:center; gap:16px;}
  .nav-phone{font-family:'Roboto Mono',monospace; font-size:13.5px; font-weight:700; color:var(--green-deep); text-decoration:none; display:flex; align-items:center; gap:6px;}
  .nav-cta{background:var(--gold); color:var(--green-deep); border:none; padding:11px 20px; border-radius:var(--radius); font-weight:700; font-size:13.5px;}
  .nav-cta:hover{background:var(--gold-light);}
  @media (max-width:820px){ .navlinks{display:none;} }

  /* ---------- HERO ---------- */
  .hero{background:var(--green-deep); color:var(--cream); position:relative; overflow:hidden; padding:38px 38px 38px;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:44px; align-items:center;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
  .eyebrow-line{display:inline-flex; align-items:center; gap:9px; font-family:'Roboto Mono',monospace; font-size:12px; letter-spacing:0.1em; color:var(--gold-light); text-transform:uppercase; margin-bottom:18px;}
  .eyebrow-line::before{content:""; width:24px; height:1px; background:var(--gold-light);}
  .hero h1{font-size:clamp(34px,4.8vw,54px); line-height:1.12; color:var(--cream);}
  .hero h1 span{color:var(--gold-light);}
  .hero p.sub{font-family:'Work Sans',sans-serif; font-weight:400; font-size:16.5px; line-height:1.65; color:rgba(251,246,233,0.78); max-width:460px; margin-top:18px;}
  .hero-badges{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
  .hero-badge{display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(251,246,233,0.85); background:rgba(201,162,39,0.12); border:1px solid rgba(201,162,39,0.35); padding:8px 14px; border-radius:999px;}

  .medallion-art{
    background:radial-gradient(circle at 50% 45%, var(--green-mid) 0%, var(--green-deep) 72%);
    border:3px solid var(--gold);
    border-radius:50%;
    aspect-ratio:1/1;
    max-width:400px;
    margin:0 auto;
    position:relative;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 20px 50px rgba(0,0,0,0.4), inset 0 0 0 8px rgba(201,162,39,0.15);
  }
  .medallion-art img{width:78%; height:78%; object-fit:contain; border-radius:50%;}

  /* ---------- MARQUEE / SEAL DIVIDER ---------- */
  .seal-divider{background:var(--cream); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:9px 0; overflow:hidden;}
  .seal-track{display:flex; gap:30px; white-space:nowrap; animation:sealscroll 24s linear infinite; font-family:'Roboto Mono',monospace; font-size:12px; color:var(--gold-dim); letter-spacing:0.04em;}
  @keyframes sealscroll{0%{transform:translateX(0);} 100%{transform:translateX(-50%);}}
  .seal-track span{display:inline-flex; align-items:center; gap:8px;}
  .seal-track .dot{color:var(--rust); font-weight:700;}

  /* ---------- BOOKING WIDGET (overlaps hero/seal) ---------- */
  .booking-wrap{margin-top:10px; position:relative; z-index:10; padding-bottom:10px;}
  .booking-card{background:#fff; border-radius:12px; box-shadow:0 24px 50px rgba(15,36,28,0.22); border:1px solid var(--line); overflow:hidden;}
  .trip-tabs{display:flex; background:var(--green-deep);}
  .trip-tab{flex:1; text-align:center; padding:16px 10px; color:rgba(251,246,233,0.65); font-weight:700; font-size:13.5px; letter-spacing:0.03em; background:none; border:none; text-transform:uppercase;}
  .trip-tab.active{background:var(--gold); color:var(--green-deep);}
  .booking-form{padding:22px 24px; display:flex; flex-wrap:wrap; gap:14px; align-items:end;}
  .booking-form .field{flex:1 1 150px; min-width:150px;}
  .booking-form .search-btn{flex:0 0 auto;}
  @media (max-width:700px){ .booking-form .field, .booking-form .search-btn{flex:1 1 100%;} }
  .field{position:relative;}
  .field label{display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold-dim); margin-bottom:6px; font-weight:700;}
  .field select, .field input{width:100%; padding:11px 12px; border-radius:6px; border:1px solid var(--line); font-family:'Work Sans',sans-serif; font-size:14.5px; background:var(--cream-dim);}
  .suggestions{display:none; position:fixed; background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:0 12px 24px rgba(15,36,28,0.15); max-height:200px; overflow-y:auto; z-index:200;}
  .suggestions.show{display:block;}
  .suggestions .sugg-item{padding:9px 12px; font-size:13.5px; cursor:pointer;}
  .suggestions .sugg-item:hover, .suggestions .sugg-item.active{background:var(--cream-dim);}
  .search-btn{background:var(--rust); color:#fff; border:none; padding:13px 26px; border-radius:6px; font-weight:700; font-size:14px; white-space:nowrap;}
  .search-btn:hover{background:#8A3221;}

  /* Outstation One Way / Round Trip toggle */
  .subtoggle{flex:1 1 100%; display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
  .subtoggle-label{font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold-dim); font-weight:700;}
  .radio-opt{display:flex; align-items:center; gap:6px; cursor:pointer; font-weight:600; font-size:14px; color:var(--ink);}
  .radio-opt input{width:auto; accent-color:var(--gold); cursor:pointer;}

  /* Round Trip: multiple destinations */
  .extra-destinations{flex:1 1 100%; display:flex; flex-direction:column; gap:10px;}
  .dest-row{display:flex; gap:8px; align-items:center;}
  .dest-row .field{flex:1; margin:0;}
  .dest-row .remove-dest{background:none; border:none; color:var(--rust); font-size:22px; line-height:1; cursor:pointer; padding:4px 10px; flex:0 0 auto;}
  .add-dest-btn{flex:1 1 100%; align-self:flex-start; background:none; border:1px dashed var(--gold-dim); color:var(--gold-dim); font-weight:700; font-size:12.5px; padding:9px 14px; border-radius:6px; cursor:pointer; text-transform:uppercase; letter-spacing:0.04em;}
  .add-dest-btn:hover{background:var(--cream-dim);}

  /* ---------- TRUST ROW ---------- */
  .trust-row{padding:0px 0 10px;}
  .trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; text-align:center;}
  @media (max-width:820px){ .trust-grid{grid-template-columns:repeat(2,1fr);} }
  .trust-item .coin{width:58px; height:58px; border-radius:50%; background:var(--green-deep); border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; font-size:24px;}
  .trust-item h4{font-family:'Work Sans',sans-serif; font-weight:700; font-size:14.5px; margin-bottom:4px;}
  .trust-item p{font-size:12.5px; color:var(--gold-dim); margin:0; text-transform:uppercase; letter-spacing:0.04em;}

  /* ---------- SECTIONS ---------- */
  .section{padding:70px 0;}
  .section-head{max-width:640px; margin-bottom:42px;}
  .eyebrow{font-family:'Roboto Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); font-weight:700; margin-bottom:10px; display:block;}
  .section-head h2{font-size:clamp(26px,3.4vw,36px); color:var(--ink);}
  .section-head p{color:#4a4a44; font-size:15.5px; margin-top:14px; line-height:1.65;}

  /* ---------- FLEET / PACKAGES ---------- */
  .fleet-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:980px){ .fleet-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .fleet-grid{grid-template-columns:1fr;} }
  .fleet-card{background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px; text-align:center; transition:transform .15s, box-shadow .15s; position:relative;}
  .fleet-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px rgba(15,36,28,0.1);}
  .fleet-card .seat-tag{position:absolute; top:14px; right:14px; background:var(--rust); color:#fff; font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:999px;}
  .fleet-card .icon{width:78px; height:78px; margin:0 auto 10px; border-radius:18px; background:linear-gradient(180deg, rgba(255,255,255,0.85), rgba(241,233,210,0.9)); background-size:contain; background-repeat:no-repeat; background-position:center; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4);}
  .fleet-card h3{font-family:'Work Sans',sans-serif; font-weight:700; font-size:16px; text-transform:none; letter-spacing:0;}
  .fleet-card .tagline{font-size:12.5px; color:#7a7a72; margin:4px 0 12px;}
  .fleet-card .price{font-family:'Roboto Mono',monospace; font-size:19px; font-weight:700; color:var(--green-deep);}
  .fleet-card .price small{font-family:'Work Sans',sans-serif; font-weight:400; font-size:11.5px; color:#7a7a72;}
  .price-note{font-size:11.5px; color:#8a8a80; margin-top:16px;}

  .pkg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:900px){ .pkg-grid{grid-template-columns:1fr;} }
  .pkg-card{background:var(--green-deep); color:var(--cream); border-radius:10px; padding:26px; border:1px solid var(--green-mid);}
  .pkg-card .coin-mini{width:40px; height:40px; border-radius:50%; border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:16px;}
  .pkg-card h3{font-size:19px; color:var(--gold-light); text-transform:none; letter-spacing:0; margin-bottom:8px;}
  .pkg-card p{font-size:13.5px; color:rgba(251,246,233,0.7); line-height:1.6; margin:0;}

  /* ---------- SEO CONTENT ---------- */
  .story{background:var(--cream-dim);}
  .story-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
  @media (max-width:900px){ .story-grid{grid-template-columns:1fr;} }
  .story p{font-size:15px; line-height:1.75; color:#3d3d38;}
  .story-stats{display:flex; gap:30px; margin-top:24px;}
  .story-stats .num{font-family:'Cinzel',serif; font-size:28px; font-weight:700; color:var(--green-deep);}
  .story-stats .lbl{font-size:12px; color:var(--gold-dim); text-transform:uppercase; letter-spacing:0.05em; margin-top:2px;}
  .story-badge{background:#fff; border:1px solid var(--line); border-radius:10px; padding:24px; text-align:center;}
  .story-badge .big{font-family:'Cinzel',serif; font-size:40px; color:var(--gold-dim); font-weight:700;}

  /* ---------- DEMO / SEARCH APP ---------- */
  .demo-section{background:var(--cream);}
  .app-shell{background:#fff; border:1px solid var(--line); border-radius:12px; padding:0; box-shadow:0 20px 46px rgba(15,36,28,0.08); overflow:hidden;}
  .results{padding:26px;}
  .results-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:10px;}
  .results-head h3{font-family:'Work Sans',sans-serif; font-size:15.5px; font-weight:700; text-transform:none; color:var(--ink);}
  .distance-badge{display:inline-block; background:rgba(201,162,39,0.15); color:var(--gold-dim); font-weight:700; padding:2px 9px; border-radius:6px;}

  .cab-row{display:grid; grid-template-columns:70px 1.4fr 1fr auto; gap:14px; align-items:center; border-bottom:1px solid var(--line); padding:16px 4px;}
  .cab-row:last-child{border-bottom:none;}
  .cab-row .icon{width:70px; height:70px; flex-shrink:0; border-radius:16px; background-color:#ffffff; background-size:contain; background-repeat:no-repeat; background-position:center; box-shadow:inset 0 0 0 1px rgba(28,27,23,0.06); display:flex; align-items:center; justify-content:center; text-indent:-9999px;}
  .cab-name{font-weight:700; font-size:14.5px;}
  .cab-name .cab-seats{font-weight:500; color:#8a8a80; font-size:13px;}
  .cab-sub{font-size:12px; color:#8a8a80; margin-top:2px;}
  .cab-rate{font-size:12.5px; color:#6a6a62;}
  .cab-row.no-rate{grid-template-columns:70px 1fr auto;}
  .book-btn{background:var(--rust); color:#fff; border:none; padding:9px 18px; border-radius:6px; font-size:12.5px; font-weight:700; white-space:nowrap;}
  .book-btn:hover{background:#8A3221;}
  @media (max-width:760px){
    .cab-row{grid-template-columns:50px 1fr; grid-template-areas:"icon name" ". rate" ". book"; row-gap:6px;}
    .cab-row.no-rate{grid-template-columns:50px 1fr; grid-template-areas:"icon name" ". book";}
    .cab-row .icon{grid-area:icon;} .cab-row > div:nth-child(2){grid-area:name;}
    .cab-rate{grid-area:rate;}
    .book-btn{grid-area:book; justify-self:start; margin-top:4px;}
  }

  .empty-state{border:1px dashed var(--line); border-radius:10px; padding:34px; text-align:center; color:#8a8a80; font-size:14px; margin:26px;}

  .booking-form-panel{background:var(--cream-dim); border-top:1px solid var(--line); padding:26px; display:none;}
  .booking-form-panel.show{display:block;}
  .booking-form-panel h3{font-family:'Cinzel',serif; font-size:18px; margin-bottom:16px;}
  .bf-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  @media (max-width:700px){ .bf-grid{grid-template-columns:1fr;} }
  .bf-grid .field input{background:#fff;}
  .confirm-btn{margin-top:18px; background:var(--gold); color:var(--green-deep); border:none; padding:13px 28px; border-radius:6px; font-weight:700; font-size:14.5px;}
  .confirm-btn:hover{background:var(--gold-light);}
  .booking-status{margin-top:12px; font-size:13px; color:var(--green-deep); min-height:18px;}
  .confirm-note{margin-top:12px; font-size:12.5px; color:#7a7a72;}

  /* ---------- TESTIMONIALS ---------- */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:900px){ .testi-grid{grid-template-columns:1fr;} }
  .testi{background:#fff; border:1px solid var(--line); border-radius:10px; padding:22px; position:relative;}
  .testi::before{content:"“"; font-family:'Cinzel',serif; font-size:44px; color:var(--gold-light); position:absolute; top:8px; left:16px; line-height:1;}
  .testi p{font-size:14.5px; line-height:1.6; color:var(--ink); margin:22px 0 14px;}
  .testi .who{font-size:12.5px; color:var(--gold-dim); font-family:'Roboto Mono',monospace;}
  .testi .stars{color:var(--gold); font-size:14px; letter-spacing:2px; margin-top:6px;}

  /* ---------- CTA ---------- */
  .cta{background:var(--green-deep); color:var(--cream); padding:66px 0; text-align:center;}
  .cta h2{font-size:clamp(24px,3.6vw,36px); color:var(--gold-light);}
  .cta p{color:rgba(251,246,233,0.75); margin-top:12px; font-size:15px;}
  .cta .search-btn{margin-top:24px; padding:14px 30px; font-size:14.5px;}

  /* ---------- FOOTER ---------- */
  footer{background:#0B1913; color:rgba(251,246,233,0.7); padding:46px 0 24px; font-size:13.5px;}
  .foot-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:28px; border-bottom:1px solid rgba(251,246,233,0.1); padding-bottom:30px;}
  .foot-brand{max-width:260px;}
  .foot-brand .brand{margin-bottom:14px;}
  .foot-brand p{font-size:13px; line-height:1.6; color:rgba(251,246,233,0.55);}
  .foot-cols{display:flex; gap:56px; flex-wrap:wrap;}
  .foot-col h4{color:var(--gold-light); font-family:'Cinzel',serif; font-size:13.5px; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:14px;}
  .foot-col a, .foot-col p{display:block; margin-bottom:9px; text-decoration:none; color:rgba(251,246,233,0.6); font-style:normal;}
  .foot-col a:hover{color:var(--gold-light);}
  .foot-bottom{padding-top:18px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:rgba(251,246,233,0.4);}

  /* ---------- WHATSAPP FLOAT ---------- */
  .wa-float{position:fixed; bottom:24px; right:24px; width:56px; height:56px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(0,0,0,0.25); z-index:70; text-decoration:none; font-size:28px;}
  .wa-float:hover{background:#1fb955;}
