/* ============================================================
   KHANDELWAL CAR TRANSPORT - MAIN CSS
   Fonts: Rajdhani (headings) + DM Sans (body)
   Palette: Navy #0f2044 | Orange #f97316
   ============================================================ */
:root {
  --navy:#0f2044; --navy2:#1a3260; --orange:#f97316; --orange2:#ea580c;
  --gold:#fbbf24; --white:#fff; --offwhite:#f8fafc; --light:#f1f5f9;
  --border:#e2e8f0; --text:#1e293b; --muted:#64748b; --green:#10b981;
  --grad:linear-gradient(135deg,#0f2044 0%,#1a3260 55%,#0f2044 100%);
  --shadow:0 4px 24px rgba(15,32,68,.11);
  --shadow2:0 12px 48px rgba(15,32,68,.17);
  --r:12px; --r2:8px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:#fff;overflow-x:hidden;line-height:1.6}
h1,h2,h3,h4,h5{font-family:'Rajdhani',sans-serif;font-weight:700;line-height:1.2}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.text-center{text-align:center}
.mt-2{margin-top:1.5rem}
.mt-3{margin-top:2rem}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1rem;padding:.75rem 1.75rem;border-radius:var(--r2);border:none;cursor:pointer;transition:all .3s;letter-spacing:.3px;text-decoration:none}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(249,115,22,.35)}
.btn-outline{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:var(--orange);color:#fff}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.btn-outline-white:hover{background:rgba(255,255,255,.12)}
.btn-wa{background:rgba(37,211,102,.15);color:#fff;border:2px solid #25D366}
.btn-wa:hover{background:#25D366}
.btn-full{width:100%;justify-content:center;font-size:1.1rem;padding:1rem}

/* TOP BAR */
.topbar{background:var(--navy);padding:.42rem 0}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4rem}
.topbar a,.topbar span{color:rgba(255,255,255,.78);font-size:.8rem;margin-right:.9rem;transition:color .2s}
.topbar a:hover{color:var(--orange)}
.topbar i{color:var(--orange);margin-right:.3rem}

/* NAVBAR */
.navbar{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.07);transition:box-shadow .3s}
.navbar.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.13)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.25rem;gap:1rem}
.logo{display:flex;align-items:center;gap:.7rem}
.logo-icon{width:43px;height:43px;background:var(--grad);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.15rem;flex-shrink:0}
.logo-main{display:block;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1.22rem;color:var(--navy);line-height:1}
.logo-sub{display:block;font-size:.67rem;color:var(--orange);font-weight:600;letter-spacing:1.5px;text-transform:uppercase}
.nav-menu{display:flex;align-items:center;gap:.1rem}
.nav-menu>li>a{display:block;padding:.52rem .78rem;font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.97rem;color:var(--text);border-radius:var(--r2);transition:all .2s}
.nav-menu>li>a:hover,.nav-menu>li>a.active{color:var(--orange);background:#fff7ed}
.has-drop{position:relative}
.dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;background:#fff;box-shadow:var(--shadow2);border-radius:var(--r);min-width:220px;padding:.5rem;z-index:200;border-top:3px solid var(--orange)}
.dropdown-cities{min-width:420px;display:none;grid-template-columns:1fr 1fr}
.has-drop:hover .dropdown{display:block}
.has-drop:hover .dropdown-cities{display:grid}
.dropdown li a{display:flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:var(--r2);color:var(--text);font-size:.88rem;transition:all .2s}
.dropdown li a:hover{background:#fff7ed;color:var(--orange)}
.dropdown li a i{color:var(--orange);width:14px;flex-shrink:0}
.all-cities-link{color:var(--navy)!important;font-weight:700!important;border-top:1px solid var(--border);margin-top:.2rem;padding-top:.65rem!important;grid-column:1/-1}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.btn-call{display:flex;align-items:center;gap:.4rem;background:transparent;border:2px solid var(--navy);color:var(--navy);padding:.45rem .9rem;border-radius:var(--r2);font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.88rem;transition:all .2s}
.btn-call:hover{background:var(--navy);color:#fff}
.btn-call i{color:var(--orange)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.2rem}
.burger span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:all .3s}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* HERO */
.hero{background:var(--grad);position:relative;overflow:hidden;padding:5rem 0 4rem;min-height:88vh;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 12% 50%,rgba(249,115,22,.07) 0%,transparent 50%),radial-gradient(circle at 88% 15%,rgba(255,255,255,.04) 0%,transparent 40%)}
.hero-bg::after{content:'';position:absolute;width:700px;height:700px;background:radial-gradient(circle,rgba(249,115,22,.05),transparent 70%);top:-200px;right:-150px;animation:pulse 7s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;z-index:1}
.pill{display:inline-flex;align-items:center;gap:.4rem;background:rgba(249,115,22,.14);color:var(--orange);border:1px solid rgba(249,115,22,.28);padding:.33rem .95rem;border-radius:50px;font-size:.82rem;font-weight:600;margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.4rem,4.5vw,3.6rem);color:#fff;margin-bottom:1rem}
.grad-text{background:linear-gradient(90deg,#f97316,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{color:rgba(255,255,255,.76);font-size:1.04rem;margin-bottom:2rem;max-width:490px;line-height:1.75}
.hero-stats{display:flex;gap:1rem;flex-wrap:wrap}
.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:var(--r2);padding:.68rem 1.1rem;text-align:center}
.stat span{display:block;font-family:'Rajdhani',sans-serif;font-size:1.45rem;font-weight:700;color:var(--orange)}
.stat small{color:rgba(255,255,255,.63);font-size:.74rem}

/* QUOTE FORM CARD */
.qcard{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 24px 72px rgba(0,0,0,.22)}
.qcard h3{font-size:1.28rem;color:var(--navy);margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}
.qcard h3 i{color:var(--orange)}
.fg{margin-bottom:.88rem}
.fg label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}
.fg select,.fg input,.fg textarea{width:100%;padding:.65rem .9rem;border:2px solid var(--border);border-radius:var(--r2);font-family:'DM Sans',sans-serif;font-size:.92rem;color:var(--text);background:#fff;transition:border-color .2s,box-shadow .2s;appearance:none}
.fg select:focus,.fg input:focus,.fg textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(249,115,22,.1)}
.fnote{text-align:center;font-size:.76rem;color:var(--muted);margin-top:.6rem}
.fnote i{color:var(--orange)}
.alert-success{display:flex;align-items:flex-start;gap:.75rem;background:#d1fae5;border:2px solid var(--green);border-radius:var(--r);padding:1.25rem}
.alert-success i{font-size:1.5rem;color:var(--green);flex-shrink:0;margin-top:.1rem}
.alert-success strong{display:block;color:#065f46;font-size:1.05rem}
.alert-success p{color:#047857;font-size:.88rem;margin-top:.2rem}

/* TRUST BAR */
.trust-bar{background:var(--navy2);padding:.82rem 0}
.trust-flex{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:.42rem;color:rgba(255,255,255,.88);font-size:.84rem;font-weight:500}
.trust-item i{color:var(--orange);font-size:.98rem}

/* SECTIONS */
.section{padding:5rem 0}
.section-alt{background:var(--offwhite)}
.sec-head{text-align:center;margin-bottom:3rem}
.tag{display:inline-block;background:#fff7ed;color:var(--orange);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:1.5px;padding:.28rem .88rem;border-radius:50px;margin-bottom:.62rem;border:1px solid rgba(249,115,22,.18)}
.sec-head h2{font-size:clamp(1.75rem,3.5vw,2.5rem);color:var(--navy);margin-bottom:.62rem}
.sec-head p{color:var(--muted);font-size:1rem;max-width:570px;margin:0 auto}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1.5rem}
.svc-card{background:#fff;border-radius:var(--r);padding:1.75rem;border:2px solid var(--border);transition:all .3s;position:relative;overflow:hidden}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc-card:hover::before,.svc-card.hot::before{transform:scaleX(1)}
.svc-card.hot::before{background:linear-gradient(90deg,var(--orange),var(--orange2))}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow2);border-color:transparent}
.svc-card.hot{border-color:var(--orange)}
.hot-badge{position:absolute;top:.9rem;right:.9rem;background:var(--orange);color:#fff;font-size:.68rem;font-weight:700;padding:.18rem .6rem;border-radius:50px}
.svc-ico{width:52px;height:52px;background:var(--grad);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.svc-ico i{font-size:1.3rem;color:#fff}
.svc-card h3{font-size:1.18rem;color:var(--navy);margin-bottom:.62rem}
.svc-card p{color:var(--muted);font-size:.9rem;margin-bottom:1.1rem}
.svc-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--orange);font-weight:700;font-size:.88rem;transition:gap .2s}
.svc-link:hover{gap:.65rem}

/* HOW IT WORKS */
.steps-row{display:flex;align-items:flex-start;justify-content:center;gap:.75rem;flex-wrap:wrap}
.step{flex:1;min-width:165px;max-width:205px;text-align:center;padding:1.1rem .75rem}
.step-n{font-family:'Rajdhani',sans-serif;font-size:2.8rem;font-weight:700;color:rgba(249,115,22,.11);line-height:1;margin-bottom:.35rem}
.step-ico{width:60px;height:60px;background:var(--grad);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;box-shadow:0 8px 24px rgba(15,32,68,.2)}
.step-ico i{font-size:1.35rem;color:#fff}
.step h4{font-size:1.03rem;color:var(--navy);margin-bottom:.4rem}
.step p{font-size:.84rem;color:var(--muted)}
.step-arr{color:var(--orange);font-size:1.25rem;align-self:center;margin-top:-.5rem;opacity:.38}

/* CITIES */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(182px,1fr));gap:1rem}
.city-card{background:#fff;border-radius:var(--r);padding:1.3rem 1.05rem;border:2px solid var(--border);text-align:center;transition:all .3s;display:block}
.city-card:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:var(--shadow)}
.city-em{font-size:1.85rem;margin-bottom:.38rem}
.city-card h4{font-size:1.03rem;color:var(--navy);margin-bottom:.22rem}
.city-card p{font-size:.77rem;color:var(--muted);margin-bottom:.6rem}
.city-lnk{font-size:.78rem;color:var(--orange);font-weight:700}

/* WHY US */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.why-content .tag{margin-bottom:.65rem}
.why-content h2{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--navy);margin-bottom:.9rem}
.why-content>p{color:var(--muted);margin-bottom:1.4rem}
.why-list{margin-bottom:1.75rem}
.why-list li{display:flex;align-items:flex-start;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.93rem}
.why-list li:last-child{border:none}
.why-list li i{color:var(--orange);margin-top:.12rem;flex-shrink:0}
.why-card{background:var(--grad);border-radius:20px;padding:3rem 2rem;text-align:center;box-shadow:var(--shadow2);position:relative;overflow:hidden}
.why-card::before{content:'';position:absolute;width:280px;height:280px;background:radial-gradient(circle,rgba(249,115,22,.12),transparent 70%);top:-90px;right:-90px}
.big-n{font-family:'Rajdhani',sans-serif;font-size:5rem;font-weight:700;color:var(--orange);line-height:1}
.big-l{color:rgba(255,255,255,.73);font-size:1rem;margin-bottom:2rem}
.why-stats{display:flex;justify-content:space-around;gap:1rem}
.why-stats div{text-align:center}
.why-stats span{display:block;font-family:'Rajdhani',sans-serif;font-size:1.75rem;font-weight:700;color:#fff}
.why-stats small{color:rgba(255,255,255,.63);font-size:.75rem}

/* PRICING */
.price-wrap{overflow-x:auto;border-radius:var(--r);box-shadow:var(--shadow)}
.ptable{width:100%;border-collapse:collapse;background:#fff}
.ptable thead tr{background:var(--grad)}
.ptable th{padding:.88rem 1.1rem;color:#fff;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.93rem;text-align:left}
.ptable td{padding:.78rem 1.1rem;border-bottom:1px solid var(--border);font-size:.87rem}
.ptable tr:hover td{background:#fff7ed}
.ptable td:first-child{font-weight:600;color:var(--navy)}
.price-note{margin-top:1.1rem;color:var(--muted);font-size:.88rem;text-align:center}
.price-note i{color:var(--orange)}

/* REVIEWS */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.35rem}
.rev-card{background:var(--offwhite);border-radius:var(--r);padding:1.35rem;border:1px solid var(--border);transition:all .3s}
.rev-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.rev-top{display:flex;align-items:center;gap:.62rem;margin-bottom:.88rem}
.rev-av{width:40px;height:40px;background:var(--grad);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.92rem;flex-shrink:0}
.rev-top strong{display:block;color:var(--text);font-weight:700;font-size:.93rem}
.rev-top small{color:var(--muted);font-size:.77rem}
.stars{margin-left:auto;color:#f59e0b;font-size:.93rem;letter-spacing:2px}
.rev-card p{color:var(--muted);font-size:.88rem;line-height:1.72;margin-bottom:.62rem}
.rev-date{font-size:.74rem;color:var(--muted)}

/* FAQ */
.faq-wrap{max-width:770px;margin:0 auto}
.faq-item{background:#fff;border-radius:var(--r2);margin-bottom:.6rem;border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:all .2s}
.faq-item:hover{border-color:var(--orange)}
.faq-item.open{border-color:var(--orange);box-shadow:0 4px 12px rgba(249,115,22,.08)}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.15rem;font-weight:700;color:var(--navy);font-family:'Rajdhani',sans-serif;font-size:1.02rem}
.faq-q i{color:var(--orange);transition:transform .3s;flex-shrink:0;margin-left:.6rem}
.faq-item.open .faq-q i{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;padding:0 1.15rem;color:var(--muted);font-size:.9rem;transition:all .35s;line-height:1.75}
.faq-item.open .faq-a{max-height:300px;padding:.1rem 1.15rem 1rem}

/* CTA SECTION */
.cta-section{background:var(--grad);padding:4rem 0;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='1' fill='%23fff' fill-opacity='0.03'/%3E%3C/svg%3E")}
.cta-inner{position:relative;z-index:1}
.cta-inner h2{font-size:clamp(1.8rem,3.5vw,2.8rem);color:#fff;margin-bottom:.75rem}
.cta-inner p{color:rgba(255,255,255,.76);font-size:1.04rem;margin-bottom:1.7rem}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}

/* PAGE HERO (City/Inner pages) */
.page-hero{background:var(--grad);padding:3.5rem 0 2.5rem;text-align:center;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);color:#fff;margin-bottom:.75rem}
.page-hero p{color:rgba(255,255,255,.76);max-width:560px;margin:0 auto 1.2rem;font-size:1rem}
.breadcrumb{display:flex;align-items:center;gap:.45rem;justify-content:center;font-size:.82rem;color:rgba(255,255,255,.58);margin-bottom:.85rem}
.breadcrumb a{color:rgba(255,255,255,.72);transition:color .2s}
.breadcrumb a:hover{color:var(--orange)}
.breadcrumb i{font-size:.6rem}
.hero-tags{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1.1rem}
.hero-tags span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);color:#fff;padding:.3rem .8rem;border-radius:50px;font-size:.8rem;display:flex;align-items:center;gap:.3rem}
.hero-tags span i{color:var(--orange)}

/* CITY LAYOUT */
.city-layout{display:grid;grid-template-columns:1fr 310px;gap:2.5rem;padding:3.5rem 0;align-items:start}
/* Prevent any child from causing horizontal overflow */
.city-main{min-width:0;overflow:hidden}
.city-main h2{font-size:1.7rem;color:var(--navy);margin:1.5rem 0 .75rem}
.city-main h2:first-child{margin-top:0}
.city-main p{color:var(--muted);margin-bottom:1.1rem;line-height:1.8;font-size:.95rem}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:1rem 0 1.5rem}
.route-btn{background:var(--offwhite);border:1px solid var(--border);border-radius:var(--r2);padding:.52rem .88rem;font-size:.82rem;color:var(--navy);transition:all .2s;display:flex;align-items:center;gap:.38rem;text-decoration:none}
.route-btn:hover{border-color:var(--orange);color:var(--orange);background:#fff7ed}
.route-btn i{color:var(--orange);flex-shrink:0;font-size:.8rem}
.sticky-wrap{position:sticky;top:90px}
.sidebar-cities{background:#fff;border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow);margin-top:1.25rem}
.sidebar-cities h4{font-family:'Rajdhani',sans-serif;font-size:1rem;color:var(--navy);margin-bottom:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.4rem}
.sidebar-cities h4 i{color:var(--orange)}
.sidebar-cities ul li a{display:flex;align-items:center;gap:.4rem;padding:.32rem 0;color:var(--muted);font-size:.85rem;border-bottom:1px solid var(--light);transition:color .2s}
.sidebar-cities ul li a:hover{color:var(--orange)}
.sidebar-cities ul li a i{color:var(--orange);font-size:.62rem}
.sidebar-call{background:var(--grad);border-radius:var(--r);padding:1.25rem;margin-top:1.25rem;text-align:center}
.sidebar-call p{color:rgba(255,255,255,.72);font-size:.85rem;margin-bottom:.6rem}
.sidebar-call a{display:flex;align-items:center;justify-content:center;gap:.45rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:var(--r2);padding:.6rem 1rem;font-weight:700;margin-bottom:.5rem;font-size:.92rem;transition:all .2s}
.sidebar-call a:hover{background:var(--orange);border-color:var(--orange)}
.sidebar-call a i{font-size:1rem}
.sidebar-call .wa-btn{background:rgba(37,211,102,.15);border-color:#25D366}
.sidebar-call .wa-btn:hover{background:#25D366}

/* LOCATIONS PAGE */
.all-cities{padding:3.5rem 0;background:var(--offwhite)}
.city-category{margin-bottom:3rem}
.cat-title{font-family:'Rajdhani',sans-serif;font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:1rem;padding:.5rem 1rem;background:#fff;border-radius:var(--r2);border-left:4px solid var(--orange);display:inline-flex;align-items:center;gap:.5rem;box-shadow:var(--shadow)}

/* GET QUOTE PAGE */
.quote-page{padding:4rem 0;background:var(--offwhite)}
.quote-page-wrap{max-width:720px;margin:0 auto}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.contact-card{background:#fff;border-radius:var(--r);padding:1.5rem;text-align:center;border:2px solid var(--border);transition:all .3s}
.contact-card:hover{border-color:var(--orange);transform:translateY(-3px)}
.contact-card i{font-size:1.75rem;display:block;margin-bottom:.6rem}
.contact-card h4{font-family:'Rajdhani',sans-serif;font-size:1.1rem;color:var(--navy);margin-bottom:.35rem}
.contact-card p{font-size:.85rem;color:var(--muted)}
.contact-card a{font-weight:700;transition:color .2s}
.contact-card a:hover{color:var(--orange)}

/* ABOUT/PRICING/CONTACT PAGES */
.inner-page{padding:4rem 0}
.page-content p{color:var(--muted);margin-bottom:1.1rem;line-height:1.8;font-size:.96rem}
.page-content h3{font-size:1.4rem;color:var(--navy);margin:2rem 0 .75rem}

/* THANK YOU PAGE */
.thankyou-wrap{text-align:center;padding:5rem 0}
.thankyou-wrap .ty-icon{font-size:5rem;margin-bottom:1rem}
.thankyou-wrap h1{font-size:2.5rem;color:var(--navy);margin-bottom:.75rem}
.thankyou-wrap p{color:var(--muted);font-size:1.05rem;max-width:500px;margin:0 auto 2rem}

/* FOOTER */
.footer{background:#07142b;color:rgba(255,255,255,.78)}
.footer-top{padding:3.5rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:2.25rem}
.footer-logo{display:flex;align-items:center;gap:.68rem;margin-bottom:1rem}
.footer-logo .logo-main{color:#fff}
.footer-logo .logo-sub{color:var(--orange)}
.fcol>p{font-size:.87rem;color:rgba(255,255,255,.58);margin-bottom:1.1rem;line-height:1.7}
.fsocial{display:flex;gap:.42rem;margin-bottom:.9rem}
.fsocial a{width:33px;height:33px;background:rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.72);transition:all .2s;font-size:.88rem}
.fsocial a:hover{background:var(--orange);color:#fff;transform:translateY(-2px)}
.fbadges{display:flex;gap:.38rem;flex-wrap:wrap}
.fbadges span{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.22);color:var(--orange);font-size:.69rem;font-weight:600;padding:.2rem .58rem;border-radius:50px;display:flex;align-items:center;gap:.25rem}
.fcol h4{font-family:'Rajdhani',sans-serif;font-size:1.03rem;color:#fff;margin-bottom:.82rem;padding-bottom:.42rem;border-bottom:1px solid rgba(255,255,255,.1)}
.fcol ul li{margin-bottom:.35rem}
.fcol ul li a{color:rgba(255,255,255,.58);font-size:.86rem;transition:all .2s}
.fcol ul li a:hover{color:var(--orange);padding-left:4px}
.fcontact p{font-size:.86rem;color:rgba(255,255,255,.58);margin-bottom:.42rem}
.fcontact a{color:rgba(255,255,255,.73);transition:color .2s}
.fcontact a:hover{color:var(--orange)}
.fcontact i{color:var(--orange);margin-right:.35rem;width:13px}
.footer-cities-bar{background:rgba(0,0,0,.18);padding:.62rem 0;font-size:.79rem;color:rgba(255,255,255,.48);line-height:1.9}
.footer-cities-bar strong{color:rgba(255,255,255,.73)}
.footer-cities-bar a{color:rgba(255,255,255,.55);transition:color .2s}
.footer-cities-bar a:hover{color:var(--orange)}
.footer-btm{background:rgba(0,0,0,.28);padding:.82rem 0}
.footer-btm-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.38rem}
.footer-btm p{font-size:.79rem;color:rgba(255,255,255,.48)}
.footer-btm a{color:rgba(255,255,255,.6);transition:color .2s}
.footer-btm a:hover{color:var(--orange)}
.tagline{color:rgba(249,115,22,.62)!important;font-weight:600}

/* FLOATING BUTTONS */
.float-wa{position:fixed;bottom:1.5rem;right:5.5rem;z-index:500;display:flex;align-items:center;gap:.42rem;background:#25D366;color:#fff;padding:.68rem 1.1rem;border-radius:50px;font-weight:700;font-size:.87rem;box-shadow:0 6px 24px rgba(37,211,102,.38);transition:all .3s;animation:bounceIn .6s ease .4s both}
.float-wa:hover{transform:translateY(-3px) scale(1.04)}
.float-wa i{font-size:1.2rem}
.float-call{position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;width:50px;height:50px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.12rem;box-shadow:0 6px 24px rgba(249,115,22,.38);transition:all .3s;animation:bounceIn .6s ease .6s both}
.float-call:hover{transform:scale(1.1)}
.back-top{position:fixed;bottom:5.5rem;right:1.5rem;z-index:500;width:40px;height:40px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.88rem;border:none;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s;box-shadow:var(--shadow)}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{background:var(--orange);transform:translateY(-3px)}
@keyframes bounceIn{0%{transform:scale(0)}60%{transform:scale(1.1)}100%{transform:scale(1)}}

/* ============================================================ RESPONSIVE */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .city-layout{grid-template-columns:1fr}
  .sticky-wrap{position:static}
}
@media(max-width:768px){
  .topbar{display:none}
  .nav-menu{position:fixed;top:70px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;gap:0;padding:1rem;overflow-y:auto;transform:translateX(-100%);transition:transform .3s;align-items:flex-start;box-shadow:var(--shadow2)}
  .nav-menu.open{transform:translateX(0)}
  .nav-menu>li>a{padding:.85rem 1rem;font-size:1.05rem;width:100%}
  .dropdown,.dropdown-cities{position:static!important;display:none!important;grid-template-columns:1fr 1fr!important;box-shadow:none;border:none;background:var(--offwhite);min-width:unset!important}
  .has-drop.mob-open .dropdown,.has-drop.mob-open .dropdown-cities{display:grid!important}
  .all-cities-link{grid-column:1/-1}
  .burger{display:flex}
  .btn-call{display:none}
  .hero{padding:2.5rem 0 2rem;min-height:auto}
  .hero-inner{grid-template-columns:1fr;gap:2rem}
  .hero-stats{justify-content:center}
  .trust-flex{justify-content:center;gap:.55rem}
  .trust-item{font-size:.78rem}
  .svc-grid{grid-template-columns:1fr}
  .city-grid{grid-template-columns:repeat(2,1fr)}
  .reviews-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-btm-inner{flex-direction:column;text-align:center}
  .steps-row{gap:.25rem}
  .step-arr{display:none}
  .float-wa span{display:none}
  .float-wa{padding:.85rem;border-radius:50%}
  .route-grid{grid-template-columns:1fr}
  .cta-btns{flex-direction:column;align-items:center}
  .contact-cards{grid-template-columns:1fr}
}
@media(max-width:480px){
  .city-grid{grid-template-columns:1fr 1fr}
  .hero-stats{gap:.55rem}
  .stat{padding:.48rem .68rem}
  .footer-grid{grid-template-columns:1fr}
  .price-wrap{font-size:.8rem}
}

/* ============================================================
   REVIEWS SLIDER  — redesigned
   ============================================================ */
.reviews-section {
  background: var(--offwhite);
}

/* ── Rating Summary Bar ── */
.rating-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  margin: 1.5rem auto 0;
  max-width: 640px;
  background: #fff;
  border-radius: var(--r);
  padding: 1.25rem 2rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
}
.rating-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}
.rating-big {
  font-family: 'Rajdhani', sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1;
}
.rating-big span {
  font-size: 1.1rem;
  color: var(--muted);
  font-weight: 400;
}
.rating-stars-big {
  color: #f59e0b;
  font-size: 1.15rem;
  letter-spacing: 2px;
}
.rating-count {
  font-size: .8rem;
  color: var(--muted);
}
.rating-right {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.rating-bar-row {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.rating-bar-label {
  font-size: .75rem;
  color: var(--muted);
  width: 28px;
  text-align: right;
  flex-shrink: 0;
}
.rating-bar-label i {
  color: #f59e0b;
  font-size: .65rem;
}
.rating-bar-track {
  width: 110px;
  height: 6px;
  background: var(--border);
  border-radius: 50px;
  overflow: hidden;
  flex-shrink: 0;
}
.rating-bar-fill {
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(90deg, #f59e0b, var(--orange));
}
.rating-bar-count {
  font-size: .72rem;
  color: var(--muted);
  width: 24px;
}

/* ── Slider Wrapper ── */
.rev-slider-wrap {
  position: relative;
  margin-top: 2.5rem;
  padding: 0 56px; /* space for prev/next buttons on sides */
}
.rev-slider-clip {
  overflow: hidden;
  padding-bottom: 8px; /* room for hover shadow */
}
.rev-slider {
  display: flex;
  transition: transform .5s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
  align-items: stretch;
}

/* ── Each Slide ── */
.rev-slide {
  min-width: calc(33.333% - 1rem);
  width: calc(33.333% - 1rem);
  margin: 0 .5rem;
  flex-shrink: 0;
  display: flex;
}

/* ── Card ── */
.rev-card-new {
  background: #fff;
  border-radius: var(--r);
  padding: 1.5rem 1.4rem 1.3rem;
  border: 1.5px solid var(--border);
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .3s, box-shadow .3s, border-color .3s;
  box-shadow: 0 2px 16px rgba(15,32,68,.07);
  overflow: hidden;
}
.rev-card-new::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--orange), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s;
}
.rev-card-new:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow2);
  border-color: rgba(249,115,22,.25);
}
.rev-card-new:hover::before {
  transform: scaleX(1);
}

/* ── Quote Icon ── */
.rev-quote-icon {
  color: rgba(249,115,22,.12);
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: .6rem;
  flex-shrink: 0;
}

/* ── Card Top: avatar + name + stars ── */
.rev-card-top {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}

/* Avatar — fixed 52px circle, image fills it */
.rev-av-new {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0,0,0,.18);
  border: 2px solid rgba(255,255,255,.9);
}
.rev-av-new img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

/* Name + location */
.rev-info {
  flex: 1;
  min-width: 0;
}
.rev-info strong {
  display: block;
  color: var(--text);
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rev-info small {
  color: var(--muted);
  font-size: .76rem;
  display: flex;
  align-items: center;
  gap: .22rem;
  margin-top: .12rem;
}
.rev-info small i {
  color: var(--orange);
  font-size: .65rem;
}

/* Stars */
.rev-stars-new {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}
.rev-stars-new i {
  color: #f59e0b;
  font-size: .9rem;
}

/* Review text */
.rev-text {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Footer: route + date */
.rev-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .4rem;
  padding-top: .8rem;
  border-top: 1px solid var(--border);
  margin-top: auto;
}
.rev-route {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .76rem;
  font-weight: 700;
  color: var(--navy);
  background: var(--offwhite);
  border: 1px solid var(--border);
  border-radius: 50px;
  padding: .22rem .65rem;
}
.rev-route i {
  color: var(--orange);
  font-size: .68rem;
}
.rev-date-new {
  font-size: .72rem;
  color: var(--muted);
}

/* ── Prev / Next Buttons — sit in the padding area outside clip ── */
.rev-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--border);
  color: var(--navy);
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .25s;
  z-index: 10;
  box-shadow: 0 4px 20px rgba(15,32,68,.14);
}
.rev-btn:hover {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 24px rgba(249,115,22,.38);
}
.rev-prev { left: 0; }
.rev-next { right: 0; }

/* ── Dots ── */
.rev-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-top: 1.75rem;
}
.rev-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--border);
  cursor: pointer;
  transition: all .3s;
  border: none;
  padding: 0;
}
.rev-dot.active {
  background: var(--orange);
  width: 28px;
  border-radius: 4px;
}

/* ── Responsive ── */
@media(max-width: 1024px) {
  .rev-slide { min-width: calc(50% - 1rem); width: calc(50% - 1rem); }
}
@media(max-width: 640px) {
  .rev-slide        { min-width: calc(100% - 1rem); width: calc(100% - 1rem); }
  .rev-slider-wrap  { padding: 0 44px; }
  .rev-btn          { width: 36px; height: 36px; font-size: .82rem; }
  .rating-summary   { gap: 1.25rem; padding: 1rem; flex-direction: column; }
  .rating-right     { width: 100%; }
  .rating-bar-track { flex: 1; }
  .rating-big       { font-size: 2.4rem; }
}

/* ============================================================
   FOOTER REDESIGN
   ============================================================ */

/* Footer Top Grid */
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 3rem;
  padding: 3.5rem 0 2.5rem;
}

/* Brand Col */
.fcol-brand { }
.brand-desc {
  font-size: .87rem;
  color: rgba(255,255,255,.58);
  margin: .75rem 0 1.25rem;
  line-height: 1.7;
}

/* Professional Contact Info */
.footer-contact-pro {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin-bottom: 1.5rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r);
  padding: 1.25rem;
}
.fcp-item {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
}
.fcp-icon {
  width: 36px; height: 36px;
  background: rgba(249,115,22,.18);
  border: 1px solid rgba(249,115,22,.25);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--orange); font-size: .9rem;
  flex-shrink: 0; margin-top: .1rem;
}
.fcp-wa  { background: rgba(37,211,102,.15); border-color: rgba(37,211,102,.25); color: #25D366; }
.fcp-mail{ background: rgba(59,130,246,.15); border-color: rgba(59,130,246,.25);  color: #60a5fa; }
.fcp-addr{ background: rgba(139,92,246,.15); border-color: rgba(139,92,246,.25);  color: #a78bfa; }
.fcp-info {
  display: flex;
  flex-direction: column;
  gap: .18rem;
}
.fcp-label {
  font-size: .7rem;
  font-weight: 700;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.fcp-info a,
.fcp-info span {
  font-size: .85rem;
  color: rgba(255,255,255,.82);
  transition: color .2s;
  line-height: 1.5;
}
.fcp-info a:hover { color: var(--orange); }

/* Links Col */
.fcol-links { }
.flinks { margin-bottom: .5rem; }
.flinks li { margin-bottom: .28rem; }
.flinks li a {
  display: flex; align-items: center; gap: .45rem;
  color: rgba(255,255,255,.6); font-size: .86rem;
  transition: all .2s; padding: .18rem 0;
}
.flinks li a i {
  color: var(--orange); font-size: .6rem;
  transition: transform .2s;
}
.flinks li a:hover {
  color: var(--orange);
  padding-left: 4px;
}
.flinks li a:hover i { transform: translateX(3px); }

/* ============================================================
   CITY SERVICES ACCORDION
   ============================================================ */
.footer-cities-section {
  background: rgba(0,0,0,.25);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 0;
}

/* Toggle Button */
.cities-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.85);
  padding: 1.1rem 0;
  cursor: pointer;
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .4px;
  transition: color .2s;
  text-align: left;
}
.cities-toggle:hover { color: var(--orange); }
.cities-toggle > span:first-child {
  display: flex; align-items: center; gap: .5rem;
  flex: 1;
}
.cities-toggle i.fa-map-marker-alt { color: var(--orange); }
.cities-count {
  background: var(--orange);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: .22rem .65rem;
  border-radius: 50px;
  letter-spacing: .5px;
}
.toggle-arrow {
  color: rgba(255,255,255,.5) !important;
  font-size: .85rem !important;
  transition: transform .35s !important;
}
.toggle-arrow.open { transform: rotate(180deg); }

/* Cities Accordion Content */
.cities-accordion {
  max-height: 0;
  overflow: hidden;
  transition: max-height .45s cubic-bezier(.4,0,.2,1);
}
.cities-accordion.open {
  max-height: 800px;
}

/* City Row - 14 per row */
.city-row {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  gap: .4rem;
  margin-bottom: .4rem;
}

/* City Box */
.city-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .22rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  padding: .55rem .3rem;
  text-align: center;
  transition: all .25s;
  text-decoration: none;
}
.city-box:hover {
  background: rgba(249,115,22,.15);
  border-color: rgba(249,115,22,.35);
  transform: translateY(-2px);
}
.city-box-em {
  font-size: 1.1rem;
  line-height: 1;
}
.city-box-name {
  font-size: .62rem;
  color: rgba(255,255,255,.72);
  font-weight: 600;
  line-height: 1.2;
  transition: color .2s;
}
.city-box:hover .city-box-name { color: var(--orange); }

/* View All Button */
.cities-view-all {
  text-align: center;
  padding: .85rem 0 1.1rem;
}
.cities-view-all a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(249,115,22,.15);
  border: 1px solid rgba(249,115,22,.3);
  color: var(--orange);
  padding: .6rem 1.5rem;
  border-radius: 50px;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: .92rem;
  transition: all .25s;
}
.cities-view-all a:hover {
  background: var(--orange);
  color: #fff;
}

/* Footer Bottom */
.footer-btm { background: rgba(0,0,0,.35); padding: .85rem 0; }
.footer-btm-inner {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: .4rem;
}
.footer-btm p { font-size: .78rem; color: rgba(255,255,255,.45); }
.footer-btm a { color: rgba(255,255,255,.6); transition: color .2s; }
.footer-btm a:hover { color: var(--orange); }
.tagline { color: rgba(249,115,22,.6) !important; font-weight: 600; }

/* ============================================================
   FOOTER RESPONSIVE
   ============================================================ */
@media(max-width: 1024px) {
  .city-row { grid-template-columns: repeat(10, 1fr); }
}
@media(max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 0 1.5rem; }
  .city-row { grid-template-columns: repeat(7, 1fr); gap: .3rem; }
  .city-box-em { font-size: .95rem; }
  .city-box-name { font-size: .55rem; }
  .city-box { padding: .45rem .2rem; }
  .footer-btm-inner { flex-direction: column; text-align: center; }
  .footer-contact-pro { padding: 1rem; }
}
@media(max-width: 480px) {
  .city-row { grid-template-columns: repeat(4, 1fr); }
  .city-box-name { font-size: .58rem; }
}

/* ============================================================
   CITY PAGE — CUSTOM CLASSES
   (replaces all inline styles in city pages)
   ============================================================ */

/* Page Hero — bg image set via data-bg via JS or per-city class */
.page-hero-city {
  background-size: cover;
  background-position: center;
}

/* Hero CTA buttons row */
.hero-cta-row {
  margin-top: 1.5rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* City overview image */
.city-cover-img {
  width: 100%;
  border-radius: var(--r);
  margin-bottom: 1.5rem;
  height: 300px;
  object-fit: cover;
  display: block;
}

/* Pricing table wrapper spacing */
.price-wrap-mt { margin-top: 1.2rem; }

/* Price note orange icon */
.price-note i { color: var(--orange); }

/* Steps row spacing */
.steps-row-mt { margin: 1.5rem 0; }

/* WHY CHOOSE US — 3-col feature cards */
.why-feat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 1.2rem 0 1.5rem;
}
.why-feat-card {
  background: var(--offwhite);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 1.1rem 1rem;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  transition: all .25s;
}
.why-feat-card:hover {
  border-color: var(--orange);
  background: #fff;
  box-shadow: var(--shadow);
}
.why-feat-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  background: var(--grad);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.why-feat-icon i { color: #fff; font-size: .95rem; }
.why-feat-text strong {
  display: block;
  font-family: 'Rajdhani', sans-serif;
  font-size: .98rem;
  color: var(--navy);
  margin-bottom: .18rem;
}
.why-feat-text span {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.5;
}

/* Review avatar — bg color set via .rev-av-c1 … c8 classes */
.rev-av-new img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.rev-av-c1  { background: #f97316; }
.rev-av-c2  { background: #0f2044; }
.rev-av-c3  { background: #1a3260; }
.rev-av-c4  { background: #ea580c; }
.rev-av-c5  { background: #065f46; }
.rev-av-c6  { background: #7c3aed; }
.rev-av-c7  { background: #1b5e20; }
.rev-av-c8  { background: #880e4f; }
.rev-av-c9  { background: #1565c0; }
.rev-av-c10 { background: #6a1b9a; }
.rev-av-c11 { background: #00695c; }
.rev-av-c12 { background: #b71c1c; }
.rev-av-c13 { background: #1a237e; }
.rev-av-c14 { background: #33691e; }

/* Route orange icon */
.route-icon { color: var(--orange); margin-right: .4rem; }

/* Responsive */
@media(max-width: 768px) {
  .why-feat-grid { grid-template-columns: 1fr 1fr; }
  .why-feat-card:last-child:nth-child(2n+1) { grid-column: 1 / -1; max-width: 60%; justify-self: center; }
  .hero-cta-row  { justify-content: center; }
}
@media(max-width: 480px) {
  .why-feat-grid { grid-template-columns: 1fr; }
  .city-cover-img { height: 200px; }
}

/* price-col — orange bold (replaces inline color on last td) */
.ptable td.price-col { color: var(--orange); font-weight: 700; }