/* Premium Car Rental Jabalpur — dark theme v3
   Palette taken from the brand logo: deep black, glowing red, chrome silver. */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800&family=Montserrat:wght@400;500;600;700&display=swap');

:root{
  --bg: #000000;
  --bg-soft: #0b0b0b;
  --card: #131313;
  --card-line: rgba(255,255,255,0.10);
  --text: #f3f3f3;
  --text-soft: #a3a3a3;
  --amber: #e3161f;
  --amber-deep: #9e0d14;
  --gold: #d9dde2;
  --teal-light: #b9bec4;
  --max: 1140px;
  --serif: 'Cinzel', Georgia, serif;
  --sans: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.6;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{font-family:var(--serif); font-weight:600; line-height:1.15; margin:0 0 .5em; color:#fff;}
p{margin:0 0 1em; max-width:62ch; color:var(--text-soft);}
.container{max-width:var(--max); margin:0 auto; padding:0 28px;}

/* ---------- Nav ---------- */
header.site-header{background:rgba(0,0,0,0.85); backdrop-filter:blur(6px); border-bottom:1px solid var(--card-line); position:sticky; top:0; z-index:50;}
header.site-header::after{content:""; display:block; height:2px; background:linear-gradient(90deg, transparent, var(--amber), var(--gold), transparent); opacity:.6;}
nav.main-nav{display:flex; align-items:center; justify-content:space-between; padding-top:16px; padding-bottom:16px;}
.brand{display:flex; align-items:center; gap:12px;}
.brand-mark{height:64px; mix-blend-mode:screen; width:auto; flex:none; object-fit:contain;}
.brand-text{display:flex; flex-direction:column; line-height:1.1;}
.brand-text .name{font-family:var(--serif); font-weight:700; font-size:1.1rem; color:#fff;}
.brand-text .tagline{font-size:.7rem; color:var(--text-soft);}
.nav-links{display:flex; gap:28px; align-items:center; list-style:none; margin:0; padding:0;}
.nav-links a{font-weight:600; font-size:.92rem; color:var(--text-soft); padding:6px 2px; border-bottom:2px solid transparent; transition:color .2s ease, border-color .2s ease;}
.nav-links a:hover, .nav-links a.active{border-bottom-color:var(--amber); color:#fff;}
.nav-phone{display:inline-flex; align-items:center; color:var(--text-soft); font-weight:600; font-size:.86rem; border-bottom:2px solid transparent; white-space:nowrap;}
.nav-phone svg{color:var(--amber);}
.nav-phone:hover{color:#fff;}
.nav-toggle{display:none;}
@media (max-width: 860px){
  .nav-links{position:absolute; top:100%; left:0; right:0; background:var(--bg-soft); flex-direction:column; align-items:flex-start; padding:18px 28px; border-bottom:1px solid var(--card-line); gap:16px;}
  .nav-toggle{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--card-line); background:none; border-radius:6px; cursor:pointer;}
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{content:""; display:block; width:18px; height:2px; background:#fff; position:relative;}
  .nav-toggle span::before{position:absolute; top:-6px;}
  .nav-toggle span::after{position:absolute; top:6px;}
}

/* ---------- Hero ---------- */
.hero{border-bottom:1px solid var(--card-line); background:radial-gradient(ellipse at 78% 18%, rgba(227,22,31,0.14), transparent 55%), radial-gradient(ellipse at 10% 90%, rgba(79,143,134,0.10), transparent 50%), #000;}
.hero .container{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding-top:60px; padding-bottom:60px;}
.hero-badge{display:inline-flex; align-items:center; gap:8px; background:rgba(227,22,31,0.12); border:1px solid rgba(227,22,31,0.35); color:var(--amber); font-weight:700; font-size:.8rem; padding:7px 16px; border-radius:30px;}
.hero h1{font-size:clamp(2rem, 3.6vw, 2.9rem); margin-top:.4em; color:#fff;}
.hero h1 .accent{color:var(--amber);}
.hero p.lead{font-size:1.05rem; max-width:48ch;}
.hero-actions{display:flex; gap:14px; margin-top:24px; flex-wrap:wrap;}
.hero-art{position:relative;}

/* Full-bleed photo hero */
.hero-photo{position:relative; min-height:600px; display:flex; align-items:center; overflow:hidden; border-bottom:1px solid var(--card-line);}
.hero-bg-slide{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; opacity:0; transition:opacity 1.4s ease;}
.hero-bg-slide.active{opacity:1;}
.hero-photo .hero-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.72) 60%, rgba(0,0,0,0.88) 100%); z-index:1;}
.hero-photo .container{position:relative; z-index:2; text-align:center; max-width:820px; padding-top:70px; padding-bottom:70px;}
.hero-photo .hero-badge{display:inline-flex; margin-bottom:18px;}
.hero-photo h1{font-size:clamp(2.2rem, 5vw, 3.4rem); line-height:1.12; margin-bottom:.4em;}
.hero-photo h1 .hl-amber{color:var(--amber);}
.hero-photo h1 .hl-gold{color:var(--gold);}
.hero-photo .lead{font-size:1.08rem; max-width:56ch; margin:0 auto 30px;}
.hero-photo .hero-actions{justify-content:center;}
.hero-photo .btn-outline{border:1px solid rgba(255,255,255,0.5); color:#fff; background:rgba(255,255,255,0.06);}
.hero-photo .btn-outline:hover{background:rgba(255,255,255,0.12);}
.trust-row{display:flex; gap:10px 22px; justify-content:center; flex-wrap:wrap; margin-top:28px; font-size:.85rem; color:#d8d8d8;}
.trust-row span{position:relative; padding-left:16px;}
.trust-row span::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background:var(--amber);}
.trust-row span:first-child{padding-left:0;}
.trust-row span:first-child::before{display:none;}

/* Icon-badge feature grid (Why Choose Us / Our Services) */
.icon-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.icon-card{background:var(--card); border:1px solid var(--card-line); border-radius:14px; padding:26px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.icon-card:hover{transform:translateY(-4px); box-shadow:0 14px 28px rgba(0,0,0,.45); border-color:rgba(227,22,31,0.3);}
.icon-card .ibadge{width:50px; height:50px; border-radius:13px; background:rgba(227,22,31,0.15); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.icon-card .ibadge svg{width:23px; height:23px; color:var(--amber);}
.icon-card h4{font-size:1.02rem; margin-bottom:.4em;}
.icon-card p{font-size:.87rem; margin:0;}
@media (max-width:900px){.icon-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.icon-grid{grid-template-columns:1fr;} .hero-photo{min-height:520px;}}

/* Book Urbania promo section */
.urbania-box{display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:center;}
.urbania-box .imgbox{aspect-ratio:4/3; position:relative; border-radius:16px;}
.urbania-box .float-badge{position:absolute;}
.urbania-checklist{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px;}
.urbania-checklist li{display:flex; align-items:center; gap:10px; font-size:.92rem; color:var(--text-soft); background:var(--card); border:1px solid var(--card-line); border-radius:10px; padding:11px 14px;}
.urbania-checklist li svg{width:18px; height:18px; color:var(--amber); flex:none;}
@media (max-width:860px){.urbania-box{grid-template-columns:1fr;}}

/* Numbers / stats section */
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.stat-card{background:var(--card); border:1px solid var(--card-line); border-radius:14px; padding:26px; text-align:center;}
.stat-card .ibadge{width:50px; height:50px; border-radius:13px; background:rgba(227,22,31,0.15); display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.stat-card .ibadge svg{width:23px; height:23px; color:var(--amber);}
.stat-card .stat-num{font-family:var(--serif); font-weight:700; font-size:2rem; background:linear-gradient(135deg, var(--amber), var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat-card .stat-label{font-size:.88rem; color:var(--text-soft); margin-top:4px;}
@media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr);}}

/* Reviews section */
.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.review-card{background:var(--card); border:1px solid var(--card-line); border-radius:14px; padding:26px;}
.review-card .stars{color:var(--gold); letter-spacing:2px; margin-bottom:14px;}
.review-card p.quote{font-style:italic; color:var(--text-soft); margin-bottom:18px;}
.review-card .who{border-top:1px solid var(--card-line); padding-top:14px;}
.review-card .who .rname{font-weight:700; color:#fff; font-size:.95rem;}
.review-card .who .rcity{font-size:.82rem; color:var(--text-soft);}
@media (max-width:860px){.review-grid{grid-template-columns:1fr;}}
.hero-art .imgbox{aspect-ratio:4/3; border-radius:20px; border:1px solid var(--card-line);}
.float-badge{position:absolute; background:#111; border:1px solid var(--card-line); border-radius:10px; padding:10px 14px; font-size:.78rem; font-weight:700; color:#fff; box-shadow:0 10px 24px rgba(0,0,0,0.5); display:flex; align-items:center; gap:8px;}
.float-badge svg{width:16px; height:16px; color:var(--gold); flex:none;}
.float-badge .sub{display:block; font-size:.68rem; font-weight:500; color:var(--text-soft);}
.float-badge.top-right{top:-16px; right:-16px;}
.float-badge.bottom-left{bottom:-16px; left:-16px;}
@media (max-width:760px){.float-badge{position:static; margin-top:12px; display:inline-flex;} .float-badge.top-right{margin-left:10px;}}
.btn{display:inline-flex; align-items:center; gap:9px; padding:13px 26px; border-radius:30px; font-weight:700; font-size:.92rem; border:1px solid transparent; cursor:pointer;}
.btn-primary{background:linear-gradient(135deg, var(--amber), var(--amber-deep)); color:#fff; box-shadow:0 8px 20px rgba(227,22,31,0.25);}
.btn-primary:hover{filter:brightness(1.06); box-shadow:0 10px 24px rgba(227,22,31,0.35);}
.btn-ghost{border-color:var(--card-line); color:#fff; background:rgba(255,255,255,0.04);}
.btn-ghost:hover{border-color:var(--teal-light); background:rgba(255,255,255,0.07);}
.btn-red{background:#e5342e; color:#fff; box-shadow:0 4px 10px rgba(0,0,0,0.35);}
.btn-red:hover{background:#c92620;}
.hero-art .imgbox svg{width:100%; height:auto;}

/* Trust badges */
.badge-strip{border-top:1px solid var(--card-line); background:var(--bg-soft);}
.badges{display:grid; grid-template-columns:repeat(6,1fr); gap:0;}
.badge{padding:22px 14px; text-align:center; border-right:1px solid var(--card-line);}
.badge:last-child{border-right:none;}
.badge svg{width:26px; height:26px; margin:0 auto 8px; display:block; color:var(--gold);}
.badge .label{font-size:.78rem; color:var(--text-soft); font-weight:600;}
@media (max-width:900px){.badges{grid-template-columns:repeat(3,1fr);} .badge{border-bottom:1px solid var(--card-line);}}
@media (max-width:520px){.badges{grid-template-columns:repeat(2,1fr);}}

/* ---------- Sections ---------- */
section.block{padding:74px 0;}
.section-head{max-width:640px; margin-bottom:40px;}
.section-head .kicker{color:var(--amber); font-weight:700; font-size:.85rem; display:block; margin-bottom:.4em;}
.bg-soft{background:var(--bg-soft);}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* Card image box — fixed aspect ratio so every card matches, whatever the photo */
.imgbox{aspect-ratio:4/3; overflow:hidden; border-radius:10px; background:var(--card);}
.imgbox img{width:100%; height:100%; object-fit:cover; display:block;}

/* Fleet grid */
.fleet-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.fleet-card{background:var(--card); border:1px solid var(--card-line); border-radius:14px; overflow:hidden;}
.fleet-card .imgbox{border-radius:0; aspect-ratio:16/9;}
.fleet-card .fbody{padding:18px 20px 22px;}
.fleet-card h3{font-size:1.1rem; margin-bottom:.15em;}
.fleet-card .seats{font-size:.85rem; color:var(--text-soft); margin-bottom:14px;}
@media (max-width:980px){.fleet-grid{grid-template-columns:1fr;}}

/* Destination grid */
.dest-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.dest-card{background:var(--card); border:1px solid var(--card-line); border-radius:14px; overflow:hidden;}
.dest-card .imgbox{border-radius:0; position:relative; aspect-ratio:4/3;}
.dest-card .imgbox::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 38%, rgba(0,0,0,0.88) 100%); pointer-events:none;}
.dest-card .ctag{position:absolute; top:12px; left:12px; z-index:2; background:var(--amber); color:#fff; font-size:.7rem; font-weight:700; padding:5px 12px; border-radius:20px; letter-spacing:.02em;}
.dest-card .dtag{position:absolute; top:12px; right:12px; z-index:2; background:rgba(0,0,0,0.75); color:var(--gold); font-size:.72rem; font-weight:700; padding:5px 11px; border-radius:20px; display:inline-flex; align-items:center; gap:4px;}
.dest-card .dtag svg{width:11px; height:11px;}
.dest-card .img-title{position:absolute; left:14px; right:14px; bottom:12px; z-index:2; color:#fff; font-family:var(--serif); font-weight:700; font-size:1.28rem; text-shadow:0 2px 12px rgba(0,0,0,0.7); margin:0;}
.dest-card .dbody{padding:16px 18px 20px;}
.dest-card .dbody p{font-size:.86rem; margin-bottom:10px;}
.dest-card .dlink{font-size:.82rem; font-weight:700; color:var(--amber); display:inline-flex; align-items:center; gap:6px;}
.dest-card .dlink svg{width:14px; height:14px; transition:transform .2s ease;}
.dest-card .dlink:hover svg{transform:translateX(3px);}
@media (max-width:980px){.dest-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dest-grid{grid-template-columns:1fr;}}

/* Services grid */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--card-line); border-left:1px solid var(--card-line);}
.service{padding:26px 24px; border-right:1px solid var(--card-line); border-bottom:1px solid var(--card-line);}
.service svg{width:26px; height:26px; color:var(--gold); margin-bottom:10px;}
.service h4{font-size:1.02rem; margin-bottom:.3em;}
.service p{font-size:.9rem; margin:0;}
@media (max-width:760px){.services-grid{grid-template-columns:1fr;}}

/* FAQ */
.faq{max-width:760px;}
.faq details{border-top:1px solid var(--card-line); padding:16px 0;}
.faq details:last-child{border-bottom:1px solid var(--card-line);}
.faq summary{cursor:pointer; font-weight:700; font-size:1rem; color:#fff; list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"+"; color:var(--amber); font-weight:700; margin-right:12px;}
.faq details[open] summary::before{content:"–";}
.faq details p{margin-top:10px; font-size:.92rem;}

/* CTA banner */
.cta-banner{background:linear-gradient(135deg, var(--amber-deep), var(--amber)); border-radius:16px;}
.cta-banner-inner{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; padding:40px 44px;}
.cta-banner h2{color:#fff; margin-bottom:.2em; font-size:1.6rem;}
.cta-banner p{color:rgba(255,255,255,0.88); margin:0;}
.cta-banner .btn-ghost{border-color:rgba(255,255,255,0.5); color:#fff; background:rgba(255,255,255,0.08);}

/* Packages page — card grid matching destination-card visual language */
.pkg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.pkg-card{background:var(--card); border:1px solid var(--card-line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.pkg-card:hover{transform:translateY(-6px); box-shadow:0 16px 32px rgba(0,0,0,.5); border-color:rgba(227,22,31,0.35);}
.pkg-card .imgbox{aspect-ratio:4/3; position:relative;}
.pkg-card .imgbox img{transition:transform .5s ease;}
.pkg-card:hover .imgbox img{transform:scale(1.07);}
.pkg-card .imgbox::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 38%, rgba(0,0,0,0.88) 100%); pointer-events:none;}
.pkg-card .ctag{position:absolute; top:12px; left:12px; z-index:2; background:var(--amber); color:#fff; font-size:.7rem; font-weight:700; padding:5px 12px; border-radius:20px;}
.pkg-card .dtag{position:absolute; top:12px; right:12px; z-index:2; background:rgba(0,0,0,0.75); color:var(--gold); font-size:.72rem; font-weight:700; padding:5px 11px; border-radius:20px;}
.pkg-card .img-title{position:absolute; left:14px; right:14px; bottom:12px; z-index:2; color:#fff; font-family:var(--serif); font-weight:700; font-size:1.22rem; text-shadow:0 2px 12px rgba(0,0,0,0.7); margin:0;}
.pkg-body{padding:18px 20px 22px; display:flex; flex-direction:column; flex:1;}
.pkg-body p.pdesc{font-size:.86rem; margin-bottom:12px;}
.pkg-body ul.mini-days{list-style:none; margin:0 0 12px; padding:0; font-size:.8rem;}
.pkg-body ul.mini-days li{display:flex; gap:8px; padding:5px 0; border-top:1px dashed var(--card-line); color:var(--text-soft);}
.pkg-body ul.mini-days li:first-child{border-top:none;}
.pkg-body ul.mini-days .day{font-family:var(--serif); color:var(--gold); flex:none; min-width:32px;}
.pkg-body .incl{font-size:.78rem; margin-bottom:14px;}
.pkg-body .pactions{margin-top:auto;}
.pkg-body .pactions .btn{width:100%; justify-content:center;}
@media (max-width:980px){.pkg-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.pkg-grid{grid-template-columns:1fr;}}

/* Forms */
.form-card{background:var(--card); border:1px solid var(--card-line); border-radius:16px; padding:28px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-grid .field.full{grid-column:1 / -1;}
label{display:block; font-size:.83rem; font-weight:600; margin-bottom:8px; color:var(--text-soft);}
.field-input{position:relative;}
.field-input svg{position:absolute; left:14px; top:15px; width:16px; height:16px; color:var(--teal-light); pointer-events:none;}
.field-input.textarea-wrap svg{top:15px;}
input, textarea{width:100%; padding:13px 14px 13px 40px; border:1px solid var(--card-line); background:var(--bg-soft); border-radius:8px; font-family:var(--sans); font-size:.94rem; color:var(--text); transition:border-color .2s ease, background .2s ease;}
textarea{resize:vertical; min-height:110px;}
input::placeholder, textarea::placeholder{color:#6b6b6b;}
input:focus, textarea:focus{outline:none; border-color:var(--amber); background:#1a0709;}
.field-input:focus-within svg{color:var(--amber);}

/* Contact page */
.contact-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:48px;}
.ccard{background:var(--card); border:1px solid var(--card-line); border-radius:12px; padding:20px; display:flex; align-items:flex-start; gap:14px; min-width:0;}
.ccard .clabel{font-size:.76rem; color:var(--text-soft); text-transform:uppercase; letter-spacing:.03em; margin-bottom:6px; white-space:nowrap;}
.ccard a{font-weight:700; font-size:1rem; color:#fff; overflow-wrap:anywhere; word-break:break-word;}
.ccard a.nowrap{white-space:nowrap;}
@media (max-width:1080px){.ccard a{font-size:.92rem;}}
@media (max-width:420px){.ccard a{font-size:.86rem;}}
.cicon{width:44px; height:44px; border-radius:50%; background:rgba(227,22,31,0.14); display:flex; align-items:center; justify-content:center; flex:none;}
.cicon svg{width:20px; height:20px; color:var(--amber);}
@media (max-width:900px){.contact-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.contact-cards{grid-template-columns:1fr;}}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start;}
.location-card{background:var(--card); border:1px solid var(--card-line); border-radius:12px; padding:22px; margin-bottom:18px;}
.location-card h4{margin-bottom:.3em; font-size:1rem;}
.map-frame{width:100%; height:320px; border:1px solid var(--card-line); border-radius:12px; filter:saturate(.8) brightness(.95);}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}

/* Page hero (interior pages) */
.page-hero{padding:50px 0 36px; border-bottom:1px solid var(--card-line);}
.page-hero .kicker{color:var(--amber); font-weight:700; font-size:.85rem;}
.page-hero h1{font-size:clamp(1.7rem,3vw,2.3rem); margin-top:.25em;}
.breadcrumb{font-size:.8rem; color:var(--text-soft); margin-bottom:14px;}
.breadcrumb a{color:var(--teal-light); font-weight:600;}

/* Footer */
footer.site-footer{background:#000; border-top:1px solid var(--card-line); padding:52px 0 24px; position:relative;}
footer.site-footer::before{content:""; position:absolute; top:-1px; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, var(--amber), var(--gold), transparent);}
footer.site-footer .container.footer-grid{display:grid; grid-template-columns:1.3fr 0.8fr 1fr 1fr; gap:32px;}
footer h5{color:#fff; font-family:var(--serif); font-size:1rem; margin:0 0 .8em;}
footer p, footer a{font-size:.88rem; color:var(--text-soft);}
footer a:hover{color:#fff;}
.footer-logo{display:flex; align-items:center; gap:10px; margin-bottom:12px;}
.footer-logo svg, .footer-logo-img{height:92px; mix-blend-mode:screen; width:auto; flex:none; object-fit:contain;}
.footer-logo span{font-family:var(--serif); font-weight:700; color:#fff; font-size:1.08rem;}
.foot-line{display:flex; align-items:flex-start; gap:10px; margin-bottom:10px;}
.foot-line svg{width:16px; height:16px; color:var(--amber); flex:none; margin-top:3px;}
.social-row{display:flex; gap:12px; margin-top:16px;}
.social-row a{width:36px; height:36px; border-radius:50%; background:var(--card); border:1px solid var(--card-line); display:flex; align-items:center; justify-content:center; transition:background .2s ease, border-color .2s ease;}
.social-row a svg{width:17px; height:17px; color:var(--text-soft);}
.social-row a:hover{background:rgba(227,22,31,0.15); border-color:rgba(227,22,31,0.4);}
.social-row a:hover svg{color:var(--amber);}
.foot-bottom{border-top:1px solid var(--card-line); margin-top:34px; padding-top:18px; font-size:.8rem; color:#7a7a7a; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.foot-bottom .credit{color:var(--amber); font-weight:700;}
.foot-bottom .credit:hover{color:var(--gold);}
@media (max-width:900px){footer.site-footer .container.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){footer.site-footer .container.footer-grid{grid-template-columns:1fr;}}

.sticky-call{position:fixed; right:20px; bottom:20px; z-index:60; background:#25D366; color:#fff; padding:13px 20px; border-radius:30px; font-weight:700; font-size:.9rem; box-shadow:0 8px 20px rgba(0,0,0,.35); display:flex; align-items:center; gap:8px; animation:pulse 2.6s infinite;}
.sticky-call:hover{filter:brightness(1.08); animation-play-state:paused;}
.sticky-call svg{width:18px; height:18px;}
.sticky-phone{position:fixed; right:20px; bottom:78px; z-index:60; background:linear-gradient(135deg, var(--amber), var(--amber-deep)); color:#fff; padding:13px 20px; border-radius:30px; font-weight:700; font-size:.9rem; box-shadow:0 8px 20px rgba(0,0,0,.35); display:flex; align-items:center; gap:8px;}
.sticky-phone:hover{filter:brightness(1.08);}
.sticky-phone svg{width:18px; height:18px;}

@media (max-width:760px){
  .hero .container{grid-template-columns:1fr;}
}

/* ---------- Animation & interaction layer ---------- */
@keyframes pulse{
  0%{box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,0.55);}
  70%{box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 14px rgba(37,211,102,0);}
  100%{box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,0);}
}
@keyframes fadeUp{ from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);} }

/* One orchestrated hero entrance */
.hero-badge{animation:fadeUp .6s ease both;}
.hero h1{animation:fadeUp .6s ease .08s both;}
.hero p.lead{animation:fadeUp .6s ease .16s both;}
.hero-actions{animation:fadeUp .6s ease .24s both;}
.hero-art{animation:fadeUp .7s ease .2s both;}

/* Section headers reveal as you scroll to them */
.section-head.reveal{opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease;}
.section-head.reveal.in{opacity:1; transform:translateY(0);}

/* Sticky header gains depth once the page scrolls */
header.site-header{transition:box-shadow .3s ease, background .3s ease;}
header.site-header.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.55);}

/* Card interactions — respond to hover, not to scrolling */
.fleet-card, .dest-card, .service, .val, .ccard, .location-card{transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.fleet-card:hover, .dest-card:hover{transform:translateY(-6px); box-shadow:0 16px 32px rgba(0,0,0,.5); border-color:rgba(227,22,31,0.35);}
.service:hover, .val:hover, .ccard:hover{border-color:rgba(227,22,31,0.3); transform:translateY(-3px);}
.imgbox img{transition:transform .5s ease;}
.fleet-card:hover .imgbox img, .dest-card:hover .imgbox img{transform:scale(1.07);}
.dest-card .dtag{transition:background .3s ease;}

/* Buttons lift slightly on hover/press */
.btn{transition:transform .2s ease, background .2s ease, filter .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0); filter:brightness(.95);}

/* FAQ chevron rotates open */
.faq summary::before{display:inline-block; transition:transform .25s ease;}
.faq details[open] summary::before{transform:rotate(90deg);}

/* Mobile nav slides/fades in instead of snapping */
@media (max-width:860px){
  .nav-links{
    opacity:0; visibility:hidden; transform:translateY(-10px);
    pointer-events:none; transition:opacity .25s ease, transform .25s ease, visibility .25s;
    display:flex;
  }
  .nav-links.open{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;}
}

@media (prefers-reduced-motion: reduce){
  .hero-badge, .hero h1, .hero p.lead, .hero-actions, .hero-art{animation:none; opacity:1; transform:none;}
  .section-head.reveal{transition:none; opacity:1; transform:none;}
  .sticky-call{animation:none;}
  .fleet-card, .dest-card, .service, .val, .ccard, .btn, .imgbox img{transition:none;}
}

/* Popular routes chip cloud */
.routes-chips{display:flex; flex-wrap:wrap; gap:12px;}
.chip{background:var(--card); border:1px solid var(--card-line); border-radius:30px; padding:10px 18px; font-size:.86rem; font-weight:600; color:var(--text-soft); transition:border-color .25s ease, color .25s ease, transform .25s ease; white-space:nowrap;}
.chip:hover{border-color:var(--amber); color:#fff; transform:translateY(-2px);}
.chip svg{width:14px; height:14px; margin-right:6px; vertical-align:-2px; color:var(--amber);}
@media (max-width:640px){
  .routes-chips{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:6px; margin:0 -28px; padding-left:28px; padding-right:28px; scrollbar-width:none;}
  .routes-chips::-webkit-scrollbar{display:none;}
  .chip{flex:none; font-size:.82rem; padding:9px 16px;}
}

/* ---------- Premium brand layer ---------- */
h1,h2,.section-head h2{letter-spacing:.01em;}
h3,h4,h5{font-family:var(--sans); font-weight:700; letter-spacing:0;}
.dest-card .img-title,.pkg-card .img-title{font-family:var(--serif); letter-spacing:.02em;}
.section-head .kicker,.page-hero .kicker{text-transform:uppercase; letter-spacing:.18em; font-size:.74rem;}
.section-head .kicker::before,.page-hero .kicker::before{content:""; display:inline-block; width:26px; height:1px; background:var(--amber); vertical-align:middle; margin-right:10px;}
.section-head.center .kicker::after{content:""; display:inline-block; width:26px; height:1px; background:var(--amber); vertical-align:middle; margin-left:10px;}
.hero-photo .hero-scrim{background:radial-gradient(ellipse at 50% 40%, rgba(227,22,31,0.18), transparent 60%), linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.75) 60%, rgba(0,0,0,0.92) 100%);}
.hero-photo h1{text-transform:uppercase; text-shadow:0 0 28px rgba(227,22,31,0.35), 0 4px 18px rgba(0,0,0,0.6);}
.hero-photo h1 .hl-amber{color:var(--amber);}
.hero-photo h1 .hl-gold{background:linear-gradient(180deg,#ffffff,#a9aeb4); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero-badge{text-transform:uppercase; letter-spacing:.08em; font-size:.72rem;}
.stat-card .stat-num{background:linear-gradient(135deg, #ff4048, var(--amber-deep));  -webkit-background-clip:text; background-clip:text;}
.icon-card:hover,.fleet-card:hover,.dest-card:hover,.pkg-card:hover{box-shadow:0 16px 34px rgba(0,0,0,.55), 0 0 0 1px rgba(227,22,31,0.25), 0 0 28px rgba(227,22,31,0.12);}
.btn-primary,.btn-red{background:linear-gradient(135deg, #ff2b34, var(--amber-deep)); box-shadow:0 8px 22px rgba(227,22,31,0.32);}
.btn-red:hover{background:linear-gradient(135deg, #ff3b44, #b3101a);}
.review-card .stars{color:var(--amber);}
.cta-banner{background:radial-gradient(ellipse at 85% 20%, rgba(255,255,255,0.12), transparent 50%), linear-gradient(135deg, #5c070c, var(--amber-deep) 40%, var(--amber));}
@media (max-width:860px){.brand-mark{height:52px;}}
.hero-badge{color:#f1f1f1; background:rgba(227,22,31,0.16); border-color:rgba(227,22,31,0.55);}
.hero-badge svg{color:var(--amber); flex:none;}
