/*
Theme Name: Lets Drive Odisha
Theme URI: https://letsdriveodisha.example
Author: Lets Drive Odisha
Description: Premium responsive self-drive car rental theme for Cuttack and Odisha.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: lets-drive-odisha
*/

:root {
  --navy: #071b3d;
  --navy-2: #0d2a58;
  --gold: #f7b51d;
  --gold-2: #ffcf5a;
  --ink: #111827;
  --muted: #64748b;
  --paper: #f6f8fc;
  --white: #fff;
  --green: #15a85a;
  --line: #dce3ef;
  --radius: 22px;
  --shadow: 0 22px 60px rgba(7, 27, 61, .13);
  --font-display: "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 88px;
  --page-gutter: clamp(16px, 3vw, 32px);
  --section-space: clamp(72px, 8vw, 96px);
  --section-space-compact: clamp(48px, 6vw, 64px);
  --content-gap: clamp(32px, 5vw, 52px);
  --grid-gap: clamp(18px, 2.2vw, 24px);
  --card-space: clamp(22px, 3vw, 30px);
}

.service-gateway{padding:clamp(36px,6vw,72px) 0 26px;background:linear-gradient(145deg,#061633,#0d2a58 62%,#123d78);color:#fff}.service-gateway h1{margin:10px 0 28px;font-family:var(--font-display);font-size:clamp(38px,6vw,68px);line-height:1;letter-spacing:-.03em}.service-choice{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-choice-card{appearance:none;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:rgba(255,255,255,.08);color:#fff;text-align:left;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;cursor:pointer;transition:.25s ease;box-shadow:none}.service-choice-card:hover,.service-choice-card.active{transform:translateY(-3px);border-color:var(--gold);background:#fff;color:var(--navy);box-shadow:0 22px 55px rgba(0,0,0,.22)}.service-choice-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--gold);font-size:28px}.service-choice-card strong{display:block;font-size:24px;margin-bottom:7px}.service-choice-card small{display:block;font-size:15px;line-height:1.6;color:inherit;opacity:.76}.service-choice-card b{grid-column:2;color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.service-choice-card.active b{color:var(--navy)}
.search-mode-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.search-mode-head h2{margin:6px 0 0;font-family:var(--font-display);font-size:clamp(25px,3vw,38px);color:var(--navy)}.inline-service-switch{display:flex;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.inline-service-switch button{border:0;border-radius:999px;padding:11px 18px;background:transparent;color:var(--navy);font-weight:800;cursor:pointer}.inline-service-switch button.active{background:var(--navy);color:#fff}.marketplace-search{display:grid;grid-template-columns:1fr 1.15fr 1.15fr auto;gap:14px;align-items:end}.marketplace-search .field{margin:0}.marketplace-search .btn{min-height:52px}.advanced-filters{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}.advanced-filters summary{cursor:pointer;color:var(--navy);font-weight:800}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.filter-grid label{display:grid;gap:6px;font-size:13px;font-weight:700}.filter-grid select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px}.filter-grid .filter-check{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}.filter-check input{width:auto;min-height:0}.search-feedback{margin-top:14px;color:var(--navy);font-weight:700}.marketplace-taxi-results{background:var(--paper)}.taxi-card-grid{display:grid;gap:18px}.taxi-card{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.taxi-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:#fff6d8;font-size:34px}.verified-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#087a3f;font-size:11px;font-weight:900;text-transform:uppercase}.taxi-card h3{margin:8px 0 6px;font-size:22px}.taxi-card p{margin:0 0 12px;color:var(--muted)}.taxi-price{display:grid;text-align:right;gap:5px}.taxi-price strong{font-size:25px;color:var(--navy)}.taxi-price .btn{margin-top:8px}
html[data-service="taxi"] .hero{background:linear-gradient(145deg,#fff9e7,#eef4ff)}html[data-service="taxi"] .hero-badge{border-color:var(--gold)}
html[data-service="taxi"] .scroll-road-section,html[data-service="taxi"] .vehicle-showcase,html[data-service="taxi"] .offers-section,html[data-service="taxi"] #booking-form,html[data-service="taxi"] .seo-hub,html[data-service="taxi"] .testimonials{display:none}
@media(max-width:900px){.service-choice{grid-template-columns:1fr}.marketplace-search{grid-template-columns:1fr 1fr}.marketplace-search .btn{grid-column:1/-1}.filter-grid{grid-template-columns:1fr 1fr}.taxi-card{grid-template-columns:auto 1fr}.taxi-price{grid-column:2;text-align:left;grid-template-columns:1fr auto;align-items:center}.taxi-price .btn{margin:0}}
@media(max-width:620px){.service-gateway{padding-top:28px}.service-choice-card{grid-template-columns:auto 1fr;padding:18px}.search-mode-head{align-items:start;flex-direction:column}.marketplace-search,.filter-grid{grid-template-columns:1fr}.advanced-filters{grid-column:1}.taxi-card{grid-template-columns:1fr}.taxi-icon{width:58px;height:58px}.taxi-price{grid-column:1;grid-template-columns:1fr}.inline-service-switch{width:100%}.inline-service-switch button{flex:1}}
.condition-evidence{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,56px);margin-top:32px;padding:clamp(24px,4vw,42px);border:1px solid #b8d7ca;border-radius:28px;background:linear-gradient(135deg,#effcf5,#fff 55%,#fff9e6);box-shadow:var(--shadow)}.condition-evidence h2{margin:8px 0 12px;font-family:var(--font-display);font-size:clamp(30px,4vw,48px);color:#0b5132}.condition-evidence p,.condition-evidence li{color:#52635b;line-height:1.7}.condition-evidence ul{padding-left:20px}.condition-evidence form{display:grid;gap:15px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line)}.condition-evidence label{display:grid;gap:7px;font-weight:800;color:var(--navy)}.condition-evidence input,.condition-evidence select{min-height:48px;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.evidence-capture input{position:absolute;opacity:0;pointer-events:none}.evidence-capture span{display:grid;place-items:center;min-height:92px;border:2px dashed #79b397;border-radius:15px;background:#effaf4;color:#0b6338;cursor:pointer}.condition-evidence form>small{color:var(--muted);line-height:1.5}@media(max-width:760px){.condition-evidence{grid-template-columns:1fr;padding:20px}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); line-height: 1.6; }
body { overflow-x: clip; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea { max-width: 100%; }
section[id] { scroll-margin-top: 84px; }
.container { width: min(1180px, calc(100% - (var(--page-gutter) * 2))); margin-inline: auto; }
.section { padding: var(--section-space) 0; }
.section.compact { padding: var(--section-space-compact) 0; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #b27800; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; font-size: .76rem; }
.eyebrow::before { content: ""; width: 32px; height: 3px; border-radius: 99px; background: var(--gold); }
.section-title { margin: 12px 0 16px; font-family: var(--font-display); font-size: clamp(2rem, 5vw, 4.1rem); line-height: .98; letter-spacing: -.035em; text-transform: uppercase; }
.section-lead { max-width: 680px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 999px; padding: 0 24px; background: var(--gold); color: var(--navy); font-weight: 900; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(247,181,29,.28); }
.btn-dark { background: var(--navy); color: var(--white); }
.btn-outline { background: transparent; color: inherit; border: 1px solid rgba(255,255,255,.35); }
.btn-block { width: 100%; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(7,27,61,.94); color: #fff; border-bottom: 1px solid rgba(255,255,255,.09); backdrop-filter: blur(16px); }
.nav-shell { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; }
.brand-mark { width: 48px; height: 48px; border-radius: 14px; object-fit: cover; }
.brand-copy strong { display: block; font-size: 1.05rem; letter-spacing: .03em; }
.brand-copy small { display: block; color: var(--gold-2); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 26px; font-size: .92rem; font-weight: 800; }
.primary-nav a:hover { color: var(--gold-2); }
.nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: transparent; color: #fff; font-size: 1.35rem; }

.hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 78% 22%, #173b75 0, var(--navy) 45%, #031127 100%); }
.hero::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(90deg, transparent 49%, rgba(255,255,255,.15) 50%), linear-gradient(transparent 49%, rgba(255,255,255,.15) 50%); background-size: 72px 72px; }
.hero-grid { position: relative; z-index: 1; min-height: 720px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 52px; padding: 86px 0 108px; }
.hero h1 { margin: 16px 0 22px; max-width: 760px; font-family: var(--font-display); font-size: clamp(3.2rem, 7.4vw, 7rem); line-height: .84; letter-spacing: -.05em; text-transform: uppercase; }
.hero h1 span { color: var(--gold); }
.hero-copy { color: #c9d5e8; max-width: 650px; font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 40px; color: #dbe5f5; font-size: .88rem; font-weight: 750; }
.trust-row span::before { content: "✓"; display: inline-grid; width: 24px; height: 24px; margin-right: 8px; place-items: center; border-radius: 50%; background: rgba(247,181,29,.18); color: var(--gold); }
.hero-media { position: relative; }
.hero-card { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 30px; background: rgba(255,255,255,.08); box-shadow: 0 34px 90px rgba(0,0,0,.36); transform: rotate(1.5deg); }
.hero-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.hero-badge { position: absolute; right: -10px; bottom: 42px; padding: 18px 22px; border-radius: 20px; background: var(--gold); color: var(--navy); box-shadow: var(--shadow); font-weight: 900; transform: rotate(-4deg); }
.hero-badge strong { display: block; font-size: 1.55rem; line-height: 1; }

.booking-strip { position: relative; z-index: 3; margin-top: -58px; }
.booking-panel { padding: 26px; border-radius: 26px; background: #fff; box-shadow: var(--shadow); }
.booking-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr .85fr; gap: 14px; align-items: end; }
.field label { display: block; margin: 0 0 7px; color: #39465b; font-size: .8rem; font-weight: 900; }
.field input, .field select, .field textarea { width: 100%; min-height: 52px; border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 12px 14px; color: var(--ink); outline: none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #e4a610; box-shadow: 0 0 0 4px rgba(247,181,29,.15); }
.stats-band { padding: var(--section-space-compact) 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgba(7,27,61,.06); }
.stats-grid div { padding: 24px; text-align: center; }
.stats-grid div + div { border-left: 1px solid var(--line); }
.stats-grid strong { display: block; color: var(--navy); font-family: var(--font-display); font-size: 2.1rem; line-height: 1; }
.stats-grid span { color: var(--muted); font-size: .78rem; font-weight: 750; }

.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 42px; }
.feature-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.feature-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: #fff5d8; color: #a96f00; font-size: 1.3rem; }
.feature-card h3 { margin: 18px 0 7px; }
.feature-card p { margin: 0; color: var(--muted); font-size: .93rem; }

.fleet-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.fleet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 42px; }
.car-card { overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 16px 46px rgba(7,27,61,.09); }
.car-image { position: relative; overflow: hidden; aspect-ratio: 16/10; background: #d9e1ec; }
.car-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.car-card:hover .car-image img { transform: scale(1.04); }
.car-tag { position: absolute; top: 16px; left: 16px; padding: 7px 11px; border-radius: 999px; background: var(--navy); color: #fff; font-size: .72rem; font-weight: 900; }
.car-body { padding: 22px; }
.car-body h3 { margin: 0; font-size: 1.3rem; }
.car-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 13px 0; color: var(--muted); font-size: .82rem; }
.hourly-prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 14px 0; }
.hourly-prices span { padding: 9px; border: 1px solid var(--line); border-radius: 11px; background: #f8fafc; text-align: center; }
.hourly-prices small, .hourly-prices strong { display: block; }
.hourly-prices small { color: var(--muted); font-size: .65rem; }
.hourly-prices strong { color: var(--navy); font-size: .92rem; }
.car-price { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.car-price strong { color: var(--navy); font-size: 1.35rem; }
.car-price small { display: block; color: var(--muted); font-size: .72rem; font-weight: 600; }

.vehicle-showcase { background: #eef3f9; }
.vehicle-showcase-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.vehicle-photo-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; margin-top: 38px; }
.vehicle-photo { position: relative; min-height: 420px; overflow: hidden; border-radius: 28px; background: #cbd6e4; box-shadow: 0 18px 48px rgba(7,27,61,.14); }
.vehicle-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; transition: transform .6s ease; }
.vehicle-photo-large img { object-position: center 38%; }
.vehicle-photo:hover img { transform: scale(1.025); }
.vehicle-photo::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(2,12,29,.9)); pointer-events: none; }
.vehicle-photo figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; gap: 4px; padding: 28px; color: #fff; }
.vehicle-photo figcaption strong { font-family: var(--font-display); font-size: 1.65rem; letter-spacing: .02em; }
.vehicle-photo figcaption span { color: #dce6f3; font-size: .88rem; }

.dark-section { color: #fff; background: var(--navy); }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 42px; counter-reset: steps; }
.step { position: relative; padding: 26px; border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius); background: rgba(255,255,255,.055); counter-increment: steps; }
.step::before { content: "0" counter(steps); color: var(--gold); font-family: var(--font-display); font-size: 2rem; font-weight: 900; }
.step h3 { margin: 12px 0 6px; }
.step p { margin: 0; color: #b9c8de; font-size: .9rem; }
.offers-section { background: #edf2f8; }
.offer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 38px; }
.offer-card { display: flex; min-height: 310px; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.offer-card > span { width: fit-content; padding: 5px 9px; border-radius: 999px; background: #edf2f7; color: var(--muted); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.offer-card h3 { margin: 22px 0 8px; color: var(--navy); font-family: var(--font-display); font-size: 2.2rem; text-transform: uppercase; }
.offer-card p { color: var(--muted); }
.offer-card > strong { margin-top: auto; color: var(--navy); font-size: 1.45rem; }
.offer-card > small { color: var(--muted); }
.offer-card.featured { border-color: var(--gold); background: var(--navy); color: #fff; transform: translateY(-10px); box-shadow: var(--shadow); }
.offer-card.featured h3, .offer-card.featured > strong { color: var(--gold); }
.offer-card.featured p, .offer-card.featured > small { color: #c4d0e1; }
.owner-promo { background: linear-gradient(125deg, #fffaf0, #f4f7fb); }
.owner-grid { display: grid; grid-template-columns: 1fr .85fr; gap: 50px; align-items: center; }
.owner-grid img { max-height: 520px; width: 100%; border-radius: 28px; object-fit: cover; object-position: top; box-shadow: var(--shadow); }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 38px; }
.testimonial-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.testimonial-grid p { color: #39475d; font-size: 1.02rem; }
.testimonial-grid strong, .testimonial-grid span { display: block; }
.testimonial-grid span { color: var(--muted); font-size: .8rem; }
.stars { color: #e8a600; letter-spacing: .12em; }
.seo-hub { background: #fff; }
.seo-link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 36px; }
.seo-link-grid a { display: grid; gap: 7px; min-height: 138px; align-content: center; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #f8fafc; transition: border-color .2s, transform .2s, box-shadow .2s; }
.seo-link-grid a:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 12px 30px rgba(7,27,61,.08); }
.seo-link-grid strong { color: var(--navy); }
.seo-link-grid span { color: var(--muted); font-size: .82rem; }
.seo-hero { padding: 74px 0; color: #fff; background: radial-gradient(circle at 78% 20%, #173b75, var(--navy) 48%, #031127); }
.seo-hero-grid { display: grid; grid-template-columns: 1fr 330px; gap: 54px; align-items: center; }
.seo-hero h1 { margin: 15px 0; max-width: 820px; font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6.2rem); line-height: .9; letter-spacing: -.045em; text-transform: uppercase; }
.seo-hero p { max-width: 680px; color: #c5d3e6; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 36px; color: #aebed4; font-size: .78rem; }
.breadcrumbs a:hover { color: var(--gold); }
.seo-hero-card { display: grid; gap: 5px; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.07); }
.seo-hero-card span { margin-top: 13px; color: #9fb0c8; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.seo-hero-card span:first-child { margin-top: 0; }
.seo-hero-card strong { color: #fff; font-size: 1.05rem; }
.seo-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.seo-content { min-width: 0; }
.seo-intro { margin: 0 0 36px; color: #33445d; font-size: 1.2rem; line-height: 1.75; }
.seo-sections { display: grid; gap: 18px; }
.seo-sections section, .seo-booking-note, .seo-faq { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.seo-content h2 { margin: 0 0 10px; color: var(--navy); font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; }
.seo-content p { color: #56657a; }
.seo-booking-note { margin-top: 20px; background: #fff6da; border-color: #efd485; }
.seo-faq { margin-top: 20px; }
.seo-faq details { border-top: 1px solid var(--line); }
.seo-faq summary { padding: 16px 0; cursor: pointer; color: var(--navy); font-weight: 850; }
.seo-faq details p { margin-top: 0; }
.seo-sidebar { position: sticky; top: 102px; display: grid; gap: 18px; }
.seo-sidebar > div { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.seo-sidebar h3 { margin-top: 0; }
.seo-sidebar a { display: block; padding: 8px 0; color: #40516a; font-size: .86rem; font-weight: 750; }
.seo-sidebar a:hover { color: #a56c00; }
.seo-contact-card { background: var(--navy) !important; color: #fff; }
.seo-contact-card p { color: #b9c8dc; }
.seo-contact-card a { color: var(--gold); font-size: 1.05rem; }

.location-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 46px; align-items: center; }
.area-cloud { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.area-cloud span { padding: 9px 14px; border: 1px solid #cad5e5; border-radius: 999px; background: #fff; color: #253650; font-size: .84rem; font-weight: 800; }
.map-card { min-height: 430px; border-radius: 28px; background: linear-gradient(145deg, #dbe8f4, #fefefe); box-shadow: var(--shadow); padding: 32px; }
.map-lines { position: relative; min-height: 250px; border-radius: 22px; overflow: hidden; background: radial-gradient(circle at 45% 45%, rgba(247,181,29,.55) 0 5px, transparent 6px), linear-gradient(25deg, transparent 47%, #b7c9d8 48% 50%, transparent 51%), linear-gradient(115deg, transparent 47%, #cad7e2 48% 50%, transparent 51%), #eaf2f7; background-size: auto, 70px 70px, 95px 95px, auto; }
.map-pin { position: absolute; left: 46%; top: 42%; display: grid; width: 58px; height: 58px; place-items: center; border: 8px solid #fff; border-radius: 50% 50% 50% 0; background: var(--gold); color: var(--navy); font-weight: 900; box-shadow: var(--shadow); transform: rotate(-45deg); }
.map-pin span { transform: rotate(45deg); }

.cta-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 44px; border-radius: 30px; background: linear-gradient(110deg, var(--gold), #ffd978); color: var(--navy); }
.cta-panel h2 { margin: 0 0 8px; font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1; text-transform: uppercase; }
.cta-panel p { margin: 0; max-width: 690px; }

.faq-list { display: grid; gap: 12px; margin-top: 36px; }
.faq-list details { border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 0 20px; }
.faq-list summary { cursor: pointer; padding: 18px 0; font-weight: 850; }
.faq-list p { margin: 0 0 20px; color: var(--muted); }

.form-card { padding: 28px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.form-grid .full { grid-column: 1 / -1; }
.form-status { display: none; margin-top: 14px; border-radius: 12px; padding: 12px 14px; }
.form-status.success { display: block; background: #e8f8ef; color: #116a39; }
.form-status.error { display: block; background: #fff0f0; color: #a12727; }
.account-shell { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(52px, 7vw, 92px); align-items: center; }
.account-intro h2, .dashboard-head h2 { margin: 12px 0; font-family: var(--font-display); font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .95; text-transform: uppercase; }
.account-intro > p { max-width: 560px; margin: 20px 0 0; color: #33445d; font-size: 1.02rem; line-height: 1.75; }
.account-benefits { display: grid; gap: 10px; margin-top: 26px; }
.account-benefits span { display: flex; align-items: center; gap: 10px; color: #40516a; font-size: .82rem; font-weight: 750; }
.account-benefits span::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle, var(--gold) 0 4px, #fff3cf 5px); box-shadow: inset 0 0 0 1px #efd487; }
.account-type { display: inline-flex; gap: 6px; margin-top: 22px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.account-type button { min-width: 112px; min-height: 44px; border: 0; border-radius: 999px; padding: 10px 18px; background: transparent; color: var(--muted); font-weight: 850; cursor: pointer; transition: color .2s, background .2s, box-shadow .2s; }
.account-type button.active { background: var(--navy); color: #fff; box-shadow: 0 8px 22px rgba(7,27,61,.18); }
.auth-card { position: relative; overflow: hidden; border: 1px solid rgba(7,27,61,.07); padding: clamp(30px, 4vw, 44px); border-radius: 30px; box-shadow: 0 30px 80px rgba(7,27,61,.14); }
.auth-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 5px; background: linear-gradient(90deg, var(--gold), #ffe29a 45%, var(--navy) 100%); }
.auth-card-head { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.auth-card-head > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: var(--navy); background: #fff2c9; font-family: var(--font-display); font-size: 1.2rem; font-weight: 950; }
.auth-card-head small { color: #a36e00; font-size: .66rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.auth-card-head h3 { margin: 2px 0 5px; color: var(--navy); font-family: var(--font-display); font-size: 1.65rem; text-transform: uppercase; }
.auth-card-head p { max-width: 470px; margin: 0; color: var(--muted); font-size: .8rem; }
.auth-card form { display: grid; gap: 20px; }
.auth-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.auth-card .field { display: grid; min-width: 0; gap: 8px; }
.auth-card .field label { margin: 0; color: #263850; font-size: .74rem; letter-spacing: .02em; }
.auth-card .field input { min-height: 58px; border-color: #ced9e8; border-radius: 16px; background: #fbfcfe; padding: 13px 16px; transition: border-color .2s, background .2s, box-shadow .2s; }
.auth-card .field input:focus { border-color: var(--gold); background: #fff; box-shadow: 0 0 0 4px rgba(247,181,29,.13); }
.phone-input { display: grid; grid-template-columns: 64px 1fr; align-items: center; overflow: hidden; border: 1px solid #ced9e8; border-radius: 16px; background: #fbfcfe; transition: border-color .2s, box-shadow .2s; }
.phone-input:focus-within { border-color: var(--gold); background: #fff; box-shadow: 0 0 0 4px rgba(247,181,29,.13); }
.phone-input > span { display: grid; height: 32px; place-items: center; border-right: 1px solid #dbe3ee; color: var(--navy); font-size: .82rem; font-weight: 900; }
.auth-card .phone-input input { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.auth-card .phone-input input:focus { border: 0; background: transparent; box-shadow: none; }
.auth-submit { position: relative; min-height: 58px; margin-top: 2px; border: 1px solid rgba(255,255,255,.08); background: linear-gradient(105deg, #071b3d, #0c3269); box-shadow: 0 15px 32px rgba(7,27,61,.2); letter-spacing: .02em; }
.auth-submit::after { content: "\2192"; position: absolute; right: 22px; font-size: 1.25rem; transition: transform .2s; }
.auth-submit:hover::after { transform: translateX(4px); }
.auth-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding-top: 2px; }
.auth-trust span { position: relative; padding-left: 16px; color: #78889c; font-size: .62rem; font-weight: 750; line-height: 1.35; }
.auth-trust span::before { content: ""; position: absolute; top: 4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #29b66f; box-shadow: 0 0 0 3px #e1f7eb; }
.otp-verify { margin-top: 16px; }
.otp-verify:not([hidden]) { display: grid; gap: 16px; margin-top: 0; }
.dashboard-shell { padding: 4px 0 40px; }
.dashboard-head { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 28px; }
.dashboard-head p { color: var(--muted); }
.btn-outline-dark { border: 1px solid var(--navy); background: transparent; color: var(--navy); }
.approval-banner { margin: 0 0 22px; padding: 20px 22px; border-radius: 18px; }
.approval-banner p { margin: 4px 0 0; }
.approval-banner.pending { border: 1px solid #f1d184; background: #fff7dc; color: #76520b; }
.approval-banner.approved { border: 1px solid #99dbb5; background: #e9f9ef; color: #176438; }
.profile-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.profile-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 15px 40px rgba(7,27,61,.07); }
.profile-card h3 { margin: 0 0 8px; color: var(--navy); font-size: 1.35rem; }
.profile-card > p { color: var(--muted); }
.kyc-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); }
.kyc-row > div { display: grid; gap: 5px; }
.status-pill { width: fit-content; padding: 4px 9px; border-radius: 999px; background: #eef2f7; color: #59687c; font-size: .72rem; font-weight: 800; text-transform: capitalize; }
.consent-check { display: flex; gap: 9px; align-items: flex-start; margin: 14px 0; color: var(--muted); font-size: .85rem; }
.consent-check input { margin-top: 5px; }
.payment-choice { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.payment-choice label { display: block; cursor: pointer; border: 1px solid var(--line); border-radius: 14px; padding: 12px; }
.payment-choice input { width: auto; min-height: 0; margin-right: 7px; }
.price-preview { margin: 14px 0; padding: 14px; border-radius: 14px; background: #f3f6fa; }
.availability-status { margin-top: 18px; padding: 12px 14px 12px 38px; border: 1px solid #d5deea; border-radius: 14px; color: #526277; background: #f7f9fc; font-size: .78rem; font-weight: 750; }
.availability-status::before { content: ""; position: absolute; }
.availability-status { position: relative; }
.availability-status::before { top: 50%; left: 16px; width: 10px; height: 10px; border-radius: 50%; background: #93a4ba; transform: translateY(-50%); box-shadow: 0 0 0 4px rgba(147,164,186,.14); }
.availability-status.checking::before { background: var(--gold); box-shadow: 0 0 0 4px rgba(247,181,29,.17); animation: availability-pulse 1s infinite alternate; }
.availability-status.available { border-color: #a8ddbe; color: #17623a; background: #edf9f2; }
.availability-status.available::before { background: #24a662; box-shadow: 0 0 0 4px rgba(36,166,98,.14); }
.availability-status.unavailable { border-color: #edb6b6; color: #8d2e2e; background: #fff3f3; }
.availability-status.unavailable::before { background: #d94b4b; box-shadow: 0 0 0 4px rgba(217,75,75,.12); }
@keyframes availability-pulse { to { opacity: .45; transform: translateY(-50%) scale(.76); } }

/* Role-specific account layouts */
.mini-label,
.account-label,
.owner-account-label { display: block; margin-bottom: 8px; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.customer-dashboard-hero { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: var(--content-gap); align-items: center; padding: clamp(30px, 5vw, 58px); border-radius: 30px; color: #fff; background: radial-gradient(circle at 82% 18%, #19427f, var(--navy) 48%, #031127); box-shadow: var(--shadow); }
.customer-dashboard-hero h2,
.owner-dashboard-head h2 { margin: 10px 0 14px; font-family: var(--font-display); font-size: clamp(2.6rem, 6vw, 5rem); line-height: .9; letter-spacing: -.035em; text-transform: uppercase; }
.customer-dashboard-hero p { max-width: 650px; margin: 0; color: #c7d4e6; }
.account-label { color: var(--gold); }
.customer-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.account-contact-card { display: grid; gap: 7px; padding: 24px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.08); }
.account-contact-card span { color: #9fb1ca; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.account-contact-card strong { color: var(--gold); font-size: 1.35rem; }
.account-contact-card small { overflow-wrap: anywhere; color: #d5dfed; }
.account-contact-card a { width: fit-content; margin-top: 12px; border-bottom: 1px solid rgba(255,255,255,.4); font-weight: 800; }
.customer-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); margin: var(--space-5) 0; }
.customer-quick-card { display: grid; min-height: 185px; align-content: start; gap: 8px; padding: var(--card-space); border: 1px solid var(--line); border-radius: 22px; background: #fff; transition: transform .2s, box-shadow .2s, border-color .2s; }
.customer-quick-card:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 16px 38px rgba(7,27,61,.09); }
.customer-quick-card.accent { border-color: var(--gold); background: #fff8e5; }
.customer-quick-card > span { color: #b27800; font-family: var(--font-display); font-size: 1.6rem; font-weight: 900; }
.customer-quick-card strong { margin-top: auto; color: var(--navy); font-size: 1.12rem; }
.customer-quick-card small { color: var(--muted); }
.customer-content-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: var(--grid-gap); align-items: start; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.card-heading h3 { margin: 0; }
.mini-label { color: #9a6900; }
.readiness-score { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; background: #edf2f7; color: var(--navy); font-size: .76rem; font-weight: 900; }
.customer-guide-card { padding: var(--card-space); border-radius: 22px; color: #fff; background: var(--navy); box-shadow: 0 15px 40px rgba(7,27,61,.12); }
.customer-guide-card h3 { margin: 0; font-size: 1.45rem; }
.customer-guide-card .mini-label { color: var(--gold); }
.customer-guide-card ol { display: grid; gap: 18px; margin: 25px 0; padding: 0; list-style: none; }
.customer-guide-card li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: center; color: #c7d4e6; font-size: .9rem; }
.customer-guide-card li span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(247,181,29,.16); color: var(--gold); font-weight: 900; }
.customer-guide-card a { color: var(--gold); font-weight: 900; }
.owner-dashboard { padding-top: 0; }
.owner-dashboard-head { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: clamp(28px, 4vw, 46px); border-radius: 28px 28px 0 0; color: #fff; background: linear-gradient(115deg, #083e26, #0d6b3d); }
.owner-dashboard-head p { max-width: 650px; margin: 0; color: #c4e4d2; }
.owner-account-label { color: #8ff0b7; }
.owner-head-actions { display: grid; justify-items: end; gap: 14px; }
.owner-status { padding: 8px 13px; border-radius: 999px; font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.owner-status.pending { background: #fff1bd; color: #76520b; }
.owner-status.approved { background: #c9f4d9; color: #155f36; }
.owner-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #cfe1d7; border-top: 0; background: #fff; }
.owner-metrics article { display: grid; gap: 3px; padding: 24px 28px; }
.owner-metrics article + article { border-left: 1px solid #dce8e1; }
.owner-metrics span,
.owner-metrics small { color: var(--muted); font-size: .75rem; }
.owner-metrics span { font-weight: 850; text-transform: uppercase; }
.owner-metrics strong { color: #0b6338; font-size: 1.35rem; }
.owner-workspace { display: grid; grid-template-columns: 275px minmax(0, 1fr); gap: var(--grid-gap); margin-top: var(--space-5); align-items: start; }
.owner-sidebar { display: grid; gap: var(--grid-gap); }
.owner-sidebar section,
.owner-vehicle-list { padding: var(--card-space); border: 1px solid #d9e7df; border-radius: 22px; background: #fff; }
.owner-sidebar h3,
.owner-vehicle-list h3 { margin: 0; color: #104c31; }
.owner-check { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); }
.owner-check:first-of-type { margin-top: 18px; }
.owner-check > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #eef2f0; color: #77877e; font-weight: 900; }
.owner-check.done > span { background: #dff6e8; color: #14743f; }
.owner-check div { display: grid; }
.owner-check small { color: var(--muted); text-transform: capitalize; }
.owner-support { color: #fff; background: #104c31 !important; }
.owner-support .mini-label,
.owner-support a { color: #8ff0b7; }
.owner-support h3 { color: #fff; }
.owner-support p { color: #c4dfd0; font-size: .88rem; }
.owner-support a { font-weight: 900; }
.owner-main { display: grid; gap: var(--grid-gap); min-width: 0; }
.owner-main .approval-banner { margin: 0; }
.owner-verification,
.owner-vehicle-card { box-shadow: none; border-color: #d9e7df; }
.owner-kyc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.owner-kyc-grid .kyc-row { border: 1px solid var(--line); border-radius: 16px; padding: 16px; }
.locked-vehicle-state { display: grid; justify-items: center; padding: 42px 24px; border: 1px dashed #bdccc3; border-radius: 18px; background: #f7faf8; text-align: center; }
.locked-vehicle-state > span { font-size: 1.8rem; }
.locked-vehicle-state h4 { margin: 12px 0 6px; color: #104c31; font-size: 1.2rem; }
.locked-vehicle-state p { max-width: 480px; margin: 0; color: var(--muted); }
.submitted-vehicle { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0; border-top: 1px solid var(--line); }
.submitted-vehicle div { display: grid; }
.submitted-vehicle small { color: var(--muted); }

.policy-hero { padding: 74px 0 42px; color: #fff; background: var(--navy); }
.policy-body { display: grid; grid-template-columns: 220px 1fr; gap: 34px; padding: 54px 0 90px; }
.policy-nav { position: sticky; top: 102px; align-self: start; padding: 20px; border-radius: 18px; background: #fff; }
.policy-nav a { display: block; padding: 8px 0; color: var(--muted); font-weight: 700; }
.policy-content { padding: 34px; border-radius: 22px; background: #fff; }
.policy-content h2 { margin-top: 36px; color: var(--navy); }
.policy-image { border: 1px solid var(--line); border-radius: 18px; margin: 28px 0; }

.site-footer { position: relative; padding-top: 28px; color: #d6e0ef; background: #031127; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 36px; padding: 64px 0 46px; }
.footer-grid h3 { color: #fff; margin: 0 0 16px; }
.footer-grid p, .footer-grid li { color: #aebdd2; font-size: .9rem; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-grid li { margin: 8px 0; }
.socials { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.socials a { padding: 8px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; font-size: .82rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); color: #8fa0b8; font-size: .82rem; }
.footer-service-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(255,255,255,.045); }
.footer-service-strip > div { display: grid; gap: 3px; padding: 20px 22px; }
.footer-service-strip > div + div { border-left: 1px solid rgba(255,255,255,.1); }
.footer-service-strip strong { color: var(--gold); font-family: var(--font-display); font-size: 1.3rem; }
.footer-service-strip span { color: #9eb0c8; font-size: .72rem; }
.footer-about p { max-width: 370px; }
.footer-policy-links { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); }
.footer-policy-links a { color: #aebdd2; font-size: .78rem; font-weight: 750; }
.footer-policy-links a:hover,
.footer-grid a:hover { color: var(--gold); }
.whatsapp-float { position: fixed; right: max(22px, calc((100vw - 1440px) / 2 + 22px)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 60; display: flex; max-width: calc(100vw - 32px); align-items: center; gap: 9px; padding: 14px 18px; border-radius: 999px; background: #1fbd65; color: #fff; box-shadow: 0 14px 38px rgba(31,189,101,.35); font-weight: 900; }

/* Premium navigation and 3D hero */
.site-header { position: sticky; top: 0; width: 100%; transition: background .35s, box-shadow .35s; }
.site-header.scrolled { background: rgba(3,17,39,.88); box-shadow: 0 12px 40px rgba(0,0,0,.22); }
.nav-shell { transition: min-height .35s; }
.site-header.scrolled .nav-shell { min-height: 68px; }
.brand { position: relative; transition: transform .3s; }
.brand:hover { transform: translateY(-2px); }
.brand-mark { transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .3s; }
.brand:hover .brand-mark { transform: rotate(-5deg) scale(1.06); box-shadow: 0 10px 24px rgba(247,181,29,.22); }
.primary-nav a { position: relative; display: inline-flex; min-height: 42px; align-items: center; }
.primary-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 4px; height: 2px; border-radius: 99px; background: var(--gold); transition: left .25s, right .25s; }
.primary-nav a:hover::after,
.primary-nav .current-menu-item > a::after { left: 0; right: 0; }
.primary-nav li { list-style: none; }
.nav-actions { display: flex; align-items: center; gap: 13px; }
.nav-account { display: inline-flex; min-height: 42px; align-items: center; gap: 7px; color: #d9e4f2; font-size: .82rem; font-weight: 850; }
.nav-account span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: var(--gold); transition: border-color .25s, background .25s; }
.nav-account:hover span { border-color: var(--gold); background: rgba(247,181,29,.12); }
.nav-book { overflow: hidden; position: relative; isolation: isolate; }
.nav-book::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.52), transparent 80%); transform: translateX(-120%); transition: transform .65s; }
.nav-book:hover::before { transform: translateX(120%); }
.nav-book span { transition: transform .25s; }
.nav-book:hover span { transform: translateX(4px); }
.nav-toggle { position: relative; color: transparent; font-size: 0; background-color: transparent; background-image: linear-gradient(#fff,#fff), linear-gradient(#fff,#fff), linear-gradient(#fff,#fff); background-repeat: no-repeat; background-size: 21px 2px, 15px 2px, 21px 2px; background-position: center calc(50% - 7px), calc(50% - 3px) 50%, center calc(50% + 7px); transition: background-position .25s, background-size .25s, transform .25s; }
.nav-toggle[aria-expanded="true"] { background-image: none; transform: none; }
.nav-toggle[aria-expanded="true"]::before,
.nav-toggle[aria-expanded="true"]::after { content: ""; position: absolute; top: 50%; left: 50%; width: 23px; height: 2px; border-radius: 2px; background: #fff; transform: translate(-50%, -50%) rotate(45deg); }
.nav-toggle[aria-expanded="true"]::after { transform: translate(-50%, -50%) rotate(-45deg); }
.mobile-nav-support,
.nav-scrim { display: none; }
.hero-3d-shell { position: relative; min-height: 610px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 34px; background: radial-gradient(circle at 72% 20%, rgba(34,86,157,.85), rgba(5,20,45,.96) 58%, #030d1e); box-shadow: 0 36px 100px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.1); transform: perspective(1200px) rotateY(-2deg) rotateX(1deg); transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s; }
.hero-3d-shell:hover { transform: perspective(1200px) rotateY(0) rotateX(0) translateY(-4px); box-shadow: 0 42px 110px rgba(0,0,0,.5), 0 0 60px rgba(55,111,205,.1); }
.hero-3d-shell::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(130deg, rgba(255,255,255,.09), transparent 24%, transparent 70%, rgba(247,181,29,.08)); }
.hero-3d-canvas,
.hero-3d-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-3d-canvas { display: block; opacity: 0; cursor: grab; touch-action: pan-y; transition: opacity .22s ease; }
.hero-3d-canvas:active { cursor: grabbing; }
.hero-3d-fallback img { width: 100%; height: 100%; object-fit: cover; opacity: .72; }
.hero-3d-topline { position: absolute; top: 20px; left: 20px; right: 20px; z-index: 2; display: flex; justify-content: space-between; gap: 12px; color: #c7d5e8; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hero-3d-topline span { display: inline-flex; align-items: center; gap: 7px; }
.hero-3d-topline i { width: 7px; height: 7px; border-radius: 50%; background: #55e692; box-shadow: 0 0 0 5px rgba(85,230,146,.12); animation: live-pulse 1.8s infinite; }
@keyframes live-pulse { 50% { box-shadow: 0 0 0 9px rgba(85,230,146,0); } }
.hero-3d-speed { position: absolute; z-index: 2; top: 64px; right: 20px; display: grid; justify-items: end; color: #fff; line-height: 1; }
.hero-3d-speed span,
.hero-3d-speed small { color: #92a9c5; font-size: .55rem; font-weight: 850; letter-spacing: .14em; }
.hero-3d-speed strong { color: var(--gold); font-family: var(--font-display); font-size: 2.5rem; }
.hero-3d-caption { position: absolute; z-index: 2; left: 20px; bottom: 20px; display: grid; padding: 14px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(3,17,39,.55); backdrop-filter: blur(12px); }
.hero-3d-caption strong { color: #fff; font-size: .9rem; }
.hero-3d-caption span { color: #91a5bf; font-size: .65rem; }
.hero-3d-fallback { display: none; }
.three-ready .hero-3d-canvas { opacity: 1; }
.three-fallback .hero-3d-fallback { display: block; }

/* Scroll-driven 3D Odisha road journey */
.scroll-road-section { position: relative; height: 340vh; min-height: 2200px; color: #fff; background: #061630; }
.scroll-road-sticky { position: sticky; top: 0; height: 100vh; min-height: 680px; overflow: hidden; background: #061630; }
.scroll-road-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity .22s ease; }
.road-3d-ready .scroll-road-canvas { opacity: 1; }
.scroll-road-gradient { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(3,14,32,.93) 0, rgba(3,14,32,.52) 26%, transparent 45%, transparent 70%, rgba(3,14,32,.78) 100%), linear-gradient(180deg, rgba(3,14,32,.66), transparent 22%, transparent 76%, rgba(3,14,32,.8)); }
.scroll-road-copy { position: relative; z-index: 2; height: 100%; pointer-events: none; }
.scroll-road-heading { position: absolute; top: clamp(100px, 16vh, 170px); left: 0; width: min(390px, 35vw); }
.scroll-road-heading .eyebrow { color: var(--gold); }
.scroll-road-heading h2 { margin: 16px 0 20px; font-family: var(--font-display); font-size: clamp(3.2rem, 6.5vw, 6.8rem); line-height: .82; letter-spacing: -.045em; text-transform: uppercase; }
.scroll-road-heading h2 span { color: var(--gold); }
.scroll-road-heading p { max-width: 360px; color: #b8c8dc; font-size: .95rem; }
.scroll-motto { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 18px; color: #e6eef8; font-family: var(--font-display); font-size: 1.05rem; letter-spacing: .04em; text-transform: uppercase; }
.scroll-motto strong { color: var(--gold); }
.journey-values { position: absolute; left: 50%; bottom: clamp(38px, 7vh, 70px); width: min(410px, 34vw); transform: translateX(-50%); }
.journey-values article { display: none; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 16px 18px; border: 1px solid rgba(247,181,29,.28); border-radius: 18px; background: rgba(3,17,39,.76); box-shadow: 0 18px 50px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.journey-values article.active { display: grid; animation: value-card-in .42s cubic-bezier(.22,1,.36,1); }
.journey-values span { grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.journey-values strong { font-size: .94rem; }
.journey-values small { color: #aebed1; font-size: .68rem; line-height: 1.45; }
@keyframes value-card-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.scroll-business-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.scroll-business-info > span { display: grid; gap: 2px; padding: 10px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; color: #aebfd3; background: rgba(7,27,61,.58); backdrop-filter: blur(10px); font-size: .64rem; line-height: 1.35; }
.scroll-business-info strong { color: var(--gold); font-size: .75rem; }
.scroll-business-info .location { grid-column: 1 / -1; display: block; padding-left: 31px; position: relative; }
.scroll-business-info .location::before { content: ""; position: absolute; left: 12px; top: 12px; width: 9px; height: 9px; border: 3px solid var(--gold); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.scroll-business-info .location strong { margin-right: 4px; }
.scroll-road-progress { position: absolute; right: 308px; top: 50%; width: 3px; height: 230px; border-radius: 99px; background: rgba(255,255,255,.13); transform: translateY(-50%); }
.scroll-road-progress span { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(var(--gold), #fff0b8); transform: scaleY(0); transform-origin: top; box-shadow: 0 0 18px rgba(247,181,29,.45); }
.road-milestones { position: absolute; top: 50%; right: 0; display: grid; width: 270px; gap: 12px; transform: translateY(-50%); }
.road-milestones article { display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: center; padding: 12px 14px; border: 1px solid transparent; border-radius: 15px; opacity: .38; transform: translateX(10px); transition: opacity .35s, transform .35s, border-color .35s, background .35s; }
.road-milestones article.active { border-color: rgba(247,181,29,.3); opacity: 1; transform: none; background: rgba(7,27,61,.72); backdrop-filter: blur(10px); }
.road-milestones article > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #a9bad0; font-size: .7rem; font-weight: 900; }
.road-milestones article.active > span { border-color: var(--gold); color: var(--navy); background: var(--gold); box-shadow: 0 0 22px rgba(247,181,29,.24); }
.road-milestones article div { display: grid; }
.road-milestones strong { font-size: .9rem; }
.road-milestones small { color: #9aacc3; font-size: .66rem; }
.razorpay-trust { display: flex; align-items: flex-start; gap: 12px; margin-top: var(--space-4); padding: 16px; border: 1px solid #cbd9ed; border-radius: 16px; background: #f4f8ff; }
.razorpay-trust > span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: #fff; background: #1b4ea3; }
.razorpay-trust div { display: grid; gap: 3px; }
.razorpay-trust strong { color: var(--navy); font-size: .9rem; }
.razorpay-trust small { color: var(--muted); font-size: .72rem; line-height: 1.45; }
.scroll-road-fallback { position: absolute; inset: 0; display: none; place-items: center; overflow: hidden; opacity: .75; }
.fallback-road { width: 110px; height: 130%; border: 3px dashed var(--gold); border-top: 0; border-bottom: 0; background: #182132; transform: rotate(12deg) skewY(-16deg); }
.fallback-car { position: absolute; top: 46%; left: 50%; display: grid; width: 72px; height: 110px; place-items: center; border-radius: 20px; color: var(--navy); background: var(--gold); box-shadow: var(--shadow); transform: translate(-50%,-50%); font-size: .65rem; font-weight: 950; }
.road-3d-fallback .scroll-road-fallback { display: grid; }

/* Drive Assistant chatbot */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ldo-chatbot { position: fixed; right: max(22px, calc((100vw - 1440px) / 2 + 22px)); bottom: calc(92px + env(safe-area-inset-bottom)); z-index: 70; max-width: calc(100vw - 32px); font-family: var(--font-body); }
.ldo-chat-toggle { position: relative; display: flex; min-height: 62px; align-items: center; gap: 12px; border: 0; border-radius: 999px; padding: 8px 20px 8px 8px; color: #fff; background: var(--navy); box-shadow: 0 18px 48px rgba(7,27,61,.28); cursor: pointer; }
.ldo-chat-toggle-icon,
.ldo-chat-avatar { display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--gold); font-family: var(--font-display); font-weight: 950; }
.ldo-chat-toggle-icon { width: 46px; height: 46px; font-size: 1.35rem; }
.ldo-chat-toggle-copy { display: grid; text-align: left; line-height: 1.2; }
.ldo-chat-toggle-copy small { margin-top: 3px; color: #b9c8de; font-size: .7rem; }
.ldo-chat-unread { position: absolute; top: -3px; right: -3px; display: grid; width: 22px; height: 22px; place-items: center; border: 3px solid #fff; border-radius: 50%; color: #fff; background: #e53e3e; font-size: .65rem; font-weight: 900; }
.ldo-chat-panel { position: absolute; right: 0; bottom: 0; display: grid; width: min(390px, calc(100vw - 24px)); height: min(650px, calc(100vh - 120px)); grid-template-rows: auto minmax(0, 1fr) auto auto auto; overflow: hidden; border: 1px solid rgba(7,27,61,.12); border-radius: 26px; background: #fff; box-shadow: 0 28px 80px rgba(7,27,61,.3); transform-origin: bottom right; animation: ldo-chat-in .2s ease-out; }
.ldo-chat-panel[hidden] { display: none; }
.ldo-chatbot.open .ldo-chat-toggle { visibility: hidden; }
@keyframes ldo-chat-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
.ldo-chat-header { display: grid; grid-template-columns: 44px 1fr 38px 38px; gap: 10px; align-items: center; padding: 16px; color: #fff; background: linear-gradient(110deg, var(--navy), #0e3570); }
.ldo-chat-avatar { width: 44px; height: 44px; }
.ldo-chat-header > div:nth-child(2) { display: grid; line-height: 1.3; }
.ldo-chat-header span { color: #bcd0e8; font-size: .72rem; }
.ldo-chat-header i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: #4ee28c; }
.ldo-chat-header button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; color: #fff; background: rgba(255,255,255,.06); font-size: 1.25rem; cursor: pointer; }
.ldo-chat-messages { overflow-y: auto; padding: 20px 16px 10px; background: linear-gradient(#f6f8fc, #fff); scrollbar-width: thin; }
.ldo-chat-message { display: flex; margin-bottom: 14px; flex-direction: column; align-items: flex-start; }
.ldo-chat-message.user { align-items: flex-end; }
.ldo-chat-bubble { max-width: 86%; padding: 11px 14px; border: 1px solid var(--line); border-radius: 6px 18px 18px 18px; color: #334155; background: #fff; box-shadow: 0 5px 16px rgba(7,27,61,.05); font-size: .86rem; line-height: 1.5; }
.ldo-chat-message.user .ldo-chat-bubble { border-color: var(--navy); border-radius: 18px 6px 18px 18px; color: #fff; background: var(--navy); }
.ldo-chat-action { display: inline-flex; min-height: 38px; align-items: center; margin-top: 7px; border-radius: 999px; padding: 0 14px; color: var(--navy); background: var(--gold); font-size: .78rem; font-weight: 900; }
.ldo-chat-typing { width: fit-content; margin: 0 16px 8px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 6px 18px 18px 18px; background: #fff; }
.ldo-chat-typing[hidden] { display: none; }
.ldo-chat-typing span { display: inline-block; width: 6px; height: 6px; margin: 0 2px; border-radius: 50%; background: #8fa0b8; animation: ldo-typing 1s infinite ease-in-out; }
.ldo-chat-typing span:nth-child(2) { animation-delay: .15s; }
.ldo-chat-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes ldo-typing { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-4px); } }
.ldo-chat-quick { display: flex; gap: 7px; overflow-x: auto; padding: 9px 14px 12px; border-top: 1px solid #eef2f7; scrollbar-width: none; }
.ldo-chat-quick::-webkit-scrollbar { display: none; }
.ldo-chat-quick button { flex: 0 0 auto; min-height: 34px; border: 1px solid #cad5e5; border-radius: 999px; padding: 0 12px; color: #31445f; background: #fff; font-size: .73rem; font-weight: 800; cursor: pointer; }
.ldo-chat-quick button:hover { border-color: var(--gold); background: #fff8e5; }
.ldo-chat-form { display: grid; grid-template-columns: 1fr 44px; gap: 8px; padding: 12px 14px; border-top: 1px solid var(--line); background: #fff; }
.ldo-chat-form input { min-width: 0; height: 44px; border: 1px solid var(--line); border-radius: 14px; padding: 0 13px; outline: none; }
.ldo-chat-form input:focus { border-color: #e4a610; box-shadow: 0 0 0 3px rgba(247,181,29,.15); }
.ldo-chat-form button { display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 14px; color: var(--navy); background: var(--gold); font-size: 1.1rem; cursor: pointer; }
.ldo-chat-note { padding: 0 14px 10px; color: #8492a6; background: #fff; text-align: center; font-size: .62rem; }

/* Uniform spacing system shared by every public, SEO, policy and account page. */
.section-title { margin: var(--space-2) 0 var(--space-3); }
.hero-actions { gap: var(--space-2); margin-top: var(--space-5); }
.trust-row { gap: var(--space-4); margin-top: var(--space-6); }
.booking-panel,
.feature-card,
.step,
.offer-card,
.testimonial-grid article,
.form-card,
.profile-card,
.seo-hero-card,
.seo-sections section,
.seo-booking-note,
.seo-faq {
  padding: var(--card-space);
}
.booking-grid,
.form-grid,
.payment-choice {
  gap: var(--space-3);
}
.field label { margin-bottom: var(--space-1); }
.feature-grid,
.fleet-grid,
.steps,
.offer-grid,
.testimonial-grid,
.seo-link-grid,
.faq-list,
.profile-grid {
  gap: var(--grid-gap);
  margin-top: var(--space-6);
}
.profile-grid { margin-top: 0; }
.car-body,
.seo-link-grid a,
.seo-sidebar > div,
.policy-nav {
  padding: var(--space-4);
}
.car-meta,
.hourly-prices,
.price-preview {
  margin: var(--space-3) 0;
}
.owner-grid,
.location-grid,
.account-shell,
.seo-hero-grid,
.seo-layout {
  gap: var(--content-gap);
}
.area-cloud { margin-top: var(--space-4); }
.cta-panel { gap: var(--space-5); padding: clamp(28px, 4vw, 44px); }
.seo-hero { padding: var(--section-space-compact) 0; }
.breadcrumbs { margin-bottom: var(--space-5); }
.seo-intro { margin-bottom: var(--space-5); }
.seo-sections,
.seo-sidebar {
  gap: var(--space-3);
}
.seo-booking-note,
.seo-faq {
  margin-top: var(--space-3);
}
.account-type { margin-top: var(--space-4); }
.otp-verify { margin-top: var(--space-3); }
.dashboard-shell { padding: var(--space-1) 0 var(--section-space-compact); }
.dashboard-head { gap: var(--space-4); margin-bottom: var(--space-5); }
.approval-banner { margin-bottom: var(--space-4); padding: var(--space-4); }
.policy-hero { padding: var(--section-space-compact) 0 var(--space-6); }
.policy-body { gap: var(--space-5); padding: var(--section-space-compact) 0 var(--section-space); }
.policy-content { padding: var(--card-space); }
.policy-content h2 { margin-top: var(--space-6); }
.policy-image { margin: var(--space-5) 0; }
.footer-grid { gap: var(--space-5); padding: var(--space-7) 0 var(--space-6); }
.footer-bottom { gap: var(--space-4); padding: var(--space-4) 0; }

@media (max-width: 980px) {
  body.menu-open { overscroll-behavior: contain; }
  .primary-nav { position: absolute; top: calc(100% + 8px); right: max(12px, env(safe-area-inset-right)); bottom: auto; left: max(12px, env(safe-area-inset-left)); display: none; flex-direction: column; align-items: stretch; padding: 24px; background: var(--navy); }
  .primary-nav.open { display: flex; animation: premium-menu-in .42s cubic-bezier(.22,1,.36,1); }
  @keyframes premium-menu-in { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
  .primary-nav { z-index: 55; width: auto; max-width: none; max-height: calc(100dvh - 95px); overflow-y: auto; overscroll-behavior: contain; gap: 4px; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; padding: 16px; background: linear-gradient(145deg, rgba(10,36,76,.99), rgba(3,17,39,.995)); box-shadow: 0 28px 80px rgba(0,0,0,.42); backdrop-filter: blur(22px); }
  .primary-nav a { min-height: 52px; border-radius: 14px; padding: 0 16px; font-size: 1rem; opacity: 0; transform: translateX(-12px); }
  .primary-nav.open a { animation: premium-link-in .35s forwards; }
  .primary-nav.open a:nth-of-type(2) { animation-delay: .04s; }
  .primary-nav.open a:nth-of-type(3) { animation-delay: .08s; }
  .primary-nav.open a:nth-of-type(4) { animation-delay: .12s; }
  .primary-nav.open a:nth-of-type(5) { animation-delay: .16s; }
  .primary-nav.open a:nth-of-type(6) { animation-delay: .2s; }
  @keyframes premium-link-in { to { opacity: 1; transform: none; } }
  .primary-nav a:hover { color: var(--navy); background: var(--gold); }
  .primary-nav a::after { display: none; }
  .mobile-nav-support { display: grid; gap: 10px; margin-top: 10px; border-top: 1px solid rgba(255,255,255,.12); padding: 16px 10px 4px; }
  .mobile-nav-support > span { color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .mobile-nav-support > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
  .mobile-nav-support > div a { min-height: 44px; justify-content: center; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; padding: 0 10px; opacity: 1; transform: none; }
  .mobile-nav-support > div a:first-child { border-color: var(--gold); color: var(--navy); background: var(--gold); }
  .mobile-nav-support small { color: #9fb1c9; font-size: .68rem; }
  body.menu-open .nav-scrim { position: fixed; inset: 79px 0 0; z-index: 54; display: block; width: 100%; border: 0; background: rgba(1,8,20,.66); backdrop-filter: blur(3px); }
  .site-header.scrolled .nav-scrim { top: 69px; }
  .nav-toggle { display: block; flex: 0 0 46px; margin-left: auto; }
  .nav-actions { display: none; }
  .nav-account { display: none; }
  .nav-book { display: none; }
  .hero-grid, .location-grid, .account-shell, .owner-grid, .seo-hero-grid, .seo-layout { grid-template-columns: 1fr; }
  .account-shell { align-items: start; }
  .auth-card { width: 100%; max-width: 720px; }
  .vehicle-photo-grid { grid-template-columns: 1fr 1fr; }
  .vehicle-photo { min-height: 360px; }
  .hero-grid { padding-top: 68px; }
  .hero-media { max-width: 650px; }
  .hero-3d-shell { min-height: 560px; transform: none; }
  .scroll-road-heading { width: min(360px, 42vw); }
  .scroll-road-progress { right: 238px; }
  .road-milestones { width: 215px; }
  .booking-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-grid, .fleet-grid { grid-template-columns: repeat(2, 1fr); }
  .offer-grid { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-service-strip { grid-template-columns: repeat(2, 1fr); }
  .footer-service-strip > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .footer-service-strip > div:nth-child(4) { border-top: 1px solid rgba(255,255,255,.1); }
  .seo-link-grid { grid-template-columns: repeat(2, 1fr); }
  .seo-sidebar { position: static; }
  .customer-dashboard-hero,
  .customer-content-grid,
  .owner-workspace { grid-template-columns: 1fr; }
  .owner-sidebar { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  :root {
    --page-gutter: 12px;
    --section-space: 64px;
    --section-space-compact: 48px;
    --content-gap: 32px;
    --card-space: 20px;
  }
  .container { width: min(100% - (var(--page-gutter) * 2), 1180px); }
  .section { padding: var(--section-space) 0; }
  .section.compact { padding: var(--section-space-compact) 0; }
  .hero-grid { min-height: auto; padding-bottom: 92px; }
  .hero h1 { font-size: clamp(3rem, 16vw, 5.6rem); }
  .hero-media { margin-top: 12px; }
  .hero-3d-shell { min-height: 480px; border-radius: 26px; }
  .hero-3d-shell:hover { transform: none; }
  .hero-3d-caption span { display: none; }
  .scroll-road-section { height: 300vh; min-height: 1900px; }
  .scroll-road-sticky { min-height: 620px; }
  .scroll-road-gradient { background: linear-gradient(180deg, rgba(3,14,32,.92), rgba(3,14,32,.15) 38%, transparent 58%, rgba(3,14,32,.88)); }
  .scroll-road-heading { top: 86px; width: calc(100% - 24px); }
  .scroll-road-heading h2 { max-width: 340px; font-size: clamp(3.2rem, 15vw, 5rem); }
  .scroll-road-heading p { max-width: 320px; font-size: .82rem; }
  .scroll-motto { margin-top: 12px; font-size: .82rem; }
  .scroll-business-info { max-width: 330px; margin-top: 13px; }
  .scroll-business-info > span { padding: 7px 9px; font-size: .58rem; }
  .scroll-business-info strong { font-size: .65rem; }
  .scroll-business-info .location { padding-left: 27px; }
  .scroll-business-info .location::before { left: 10px; top: 9px; }
  .scroll-road-progress { right: auto; left: 24px; top: auto; bottom: 88px; width: calc(100% - 48px); height: 3px; transform: none; }
  .scroll-road-progress span { transform-origin: left; }
  .road-milestones { top: auto; right: 12px; bottom: 104px; width: 210px; transform: none; }
  .road-milestones article { display: none; padding: 10px 12px; background: rgba(7,27,61,.82); }
  .road-milestones article.active { display: grid; }
  .journey-values { right: 12px; bottom: 184px; left: 12px; width: auto; transform: none; }
  .journey-values article { padding: 12px 14px; }
  .journey-values strong { font-size: .8rem; }
  .journey-values small { font-size: .62rem; }
  .hero-badge { right: 8px; }
  .booking-grid, .feature-grid, .fleet-grid, .steps, .form-grid, .footer-grid, .payment-choice, .profile-grid, .offer-grid, .testimonial-grid, .seo-link-grid { grid-template-columns: 1fr; }
  .footer-grid { padding-top: 36px; }
  .footer-grid > div { min-width: 0; }
  .footer-grid li,
  .footer-grid a,
  .footer-bottom { overflow-wrap: anywhere; }
  .footer-service-strip > div { padding: 16px; }
  .footer-policy-links { gap: 8px 16px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid div + div { border-left: 0; }
  .stats-grid div:nth-child(even) { border-left: 1px solid var(--line); }
  .stats-grid div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .offer-card.featured { transform: none; }
  .fleet-header, .cta-panel, .footer-bottom { align-items: flex-start; flex-direction: column; display: flex; }
  .vehicle-showcase-heading { align-items: flex-start; flex-direction: column; }
  .vehicle-photo-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .vehicle-photo { min-height: 330px; }
  .policy-body { grid-template-columns: 1fr; }
  .policy-hero { padding: var(--section-space-compact) 0 var(--space-5); }
  .policy-nav { position: static; }
  .dashboard-head { align-items: flex-start; flex-direction: column; }
  .kyc-row { align-items: flex-start; flex-direction: column; }
  .customer-quick-grid,
  .owner-metrics,
  .owner-sidebar,
  .owner-kyc-grid { grid-template-columns: 1fr; }
  .owner-dashboard-head { align-items: flex-start; flex-direction: column; }
  .owner-head-actions { justify-items: start; }
  .owner-metrics article + article { border-left: 0; border-top: 1px solid #dce8e1; }
  .card-heading { align-items: flex-start; flex-direction: column; }
  .form-grid .full { grid-column: auto; }
  .auth-card { padding: 24px 20px; border-radius: 24px; }
  .auth-card-head { grid-template-columns: 42px 1fr; gap: 13px; margin-bottom: 24px; padding-bottom: 20px; }
  .auth-card-head > span { width: 42px; height: 42px; border-radius: 13px; }
  .auth-card-head h3 { font-size: 1.35rem; }
  .auth-field-grid { grid-template-columns: 1fr; }
  .auth-trust { grid-template-columns: 1fr; gap: 7px; }
  .whatsapp-float span { display: none; }
  .whatsapp-float { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); width: 54px; height: 54px; justify-content: center; padding: 0; }
  .ldo-chatbot { right: max(12px, env(safe-area-inset-right)); bottom: calc(80px + env(safe-area-inset-bottom)); }
  .ldo-chat-toggle { width: 58px; height: 58px; min-height: 58px; justify-content: center; padding: 6px; }
  .ldo-chat-toggle-copy { display: none; }
  .ldo-chat-toggle-icon { width: 46px; height: 46px; }
  .ldo-chat-panel { position: fixed; inset: 10px 10px 76px; width: auto; height: auto; border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .brand,
  .brand-mark,
  .nav-book::before,
  .hero-3d-shell { transition: none; }
  .hero-3d-topline i,
  .ldo-chat-typing span { animation: none; }
  .scroll-road-section { height: 100vh; min-height: 720px; }
  .road-milestones article { transition: none; }
  html { scroll-behavior: auto; }
}

/* OYO-style guided marketplace entry */
.marketplace-entry { min-height: calc(100dvh - 80px); color: #fff; background: radial-gradient(circle at 18% 15%, rgba(247,181,29,.18), transparent 28%), radial-gradient(circle at 82% 70%, rgba(36,106,191,.24), transparent 32%), #06172f; }
.marketplace-entry .service-gateway { display: grid; min-height: calc(100dvh - 80px); align-items: center; padding: clamp(54px,8vw,100px) 0; background: transparent; }
.marketplace-entry .service-gateway .container { max-width: 1050px; }
.marketplace-entry .service-gateway h1,.journey-panel h1 { max-width: 800px; margin: 12px 0 30px; color: #fff; font-size: clamp(3rem,7vw,6.4rem); line-height: .92; letter-spacing: -.055em; }
.service-choice { gap: 22px; }
.service-choice-card { min-height: 300px; align-content: space-between; border: 1px solid rgba(255,255,255,.13); border-radius: 28px; padding: clamp(24px,3.5vw,38px); color: #fff; background: linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,.035)); box-shadow: 0 28px 70px rgba(0,0,0,.22); backdrop-filter: blur(15px); transition: transform .3s,border-color .3s,background .3s; }
.service-choice-card:hover { border-color: var(--gold); background: linear-gradient(150deg,rgba(247,181,29,.19),rgba(255,255,255,.04)); transform: translateY(-8px); }
.service-choice-card strong { font-size: clamp(2rem,4vw,3.4rem); }
.service-choice-card small { max-width: 480px; color: #b9c8dc; font-size: .96rem; line-height: 1.65; }
.service-choice-icon { display: grid; width: 76px; height: 76px; place-items: center; border-radius: 22px; background: var(--gold); box-shadow: 0 15px 35px rgba(247,181,29,.24); font-size: 2.1rem; }
.service-choice-card b { width: fit-content; color: var(--gold); }
.journey-setup { min-height: calc(100dvh - 80px); padding: clamp(35px,6vw,72px) 0; }
.journey-shell { max-width: 1080px; }
.journey-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 46px; }
.journey-back { border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 11px 18px; color: #fff; background: rgba(255,255,255,.06); cursor: pointer; }
.journey-progress { display: flex; gap: 8px; }
.journey-progress span { display: flex; align-items: center; gap: 6px; color: #72859e; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.journey-progress span::before { content: ''; width: 26px; height: 3px; border-radius: 5px; background: #30405a; }
.journey-progress span.active { color: #fff; }.journey-progress span.active::before { background: var(--gold); }
.journey-panel > p { max-width: 680px; margin: -10px 0 28px; color: #a9bad0; font-size: 1.05rem; }
.journey-search { display: flex; max-width: 580px; height: 58px; align-items: center; gap: 12px; margin-bottom: 24px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; padding: 0 18px; background: rgba(255,255,255,.08); }
.journey-search input { width: 100%; border: 0; outline: 0; color: #fff; background: transparent; font-size: 1rem; }.journey-search input::placeholder{color:#8092aa}
.state-grid,.city-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.state-grid button,.city-grid button { display: grid; min-height: 150px; align-content: center; justify-items: start; gap: 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: 20px; color: #fff; background: rgba(255,255,255,.055); text-align: left; cursor: pointer; transition: .25s; }
.state-grid button:hover,.city-grid button:hover,.city-grid button.selected { border-color: var(--gold); background: rgba(247,181,29,.13); transform: translateY(-4px); }
.state-grid button > span,.city-grid button > span { font-size: 1.55rem; }.state-grid button strong,.city-grid button strong{font-size:1rem}.state-grid button small,.city-grid button small{color:#91a3ba}
.state-grid .coming-soon { opacity: .5; cursor: not-allowed; }.state-grid .coming-soon:hover{border-color:rgba(255,255,255,.12);transform:none;background:rgba(255,255,255,.055)}
.location-suggest { display: grid; max-width: 580px; grid-template-columns: 48px 1fr; grid-template-rows:auto auto; gap: 2px 12px; align-items:center; margin-bottom:18px;border:1px solid rgba(247,181,29,.45);border-radius:18px;padding:14px 18px;color:#fff;background:rgba(247,181,29,.1);text-align:left;cursor:pointer}.location-suggest>span{grid-row:1/3;display:grid;width:44px;height:44px;place-items:center;border-radius:14px;color:var(--navy);background:var(--gold);font-size:1.5rem}.location-suggest small{color:#a9bad0}
.location-feedback { min-height: 24px; margin: 8px 0 16px; color: #ffd46d; font-weight: 800; }
.journey-date-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:760px}.journey-date-grid label{display:grid;gap:9px;color:#c7d3e4;font-size:.82rem;font-weight:900}.journey-date-grid input{width:100%;min-height:62px;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:0 16px;color:#fff;color-scheme:dark;background:rgba(255,255,255,.08)}
.duration-summary { display:flex;max-width:760px;align-items:center;justify-content:space-between;margin:18px 0;border-radius:16px;padding:16px 18px;color:#a9bad0;background:rgba(255,255,255,.06)}.duration-summary strong{color:var(--gold);font-size:1.15rem}.journey-submit{min-height:56px}
.owner-benefits { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.owner-benefits span{display:grid;border:1px solid #d7e0ec;border-radius:15px;padding:14px;color:var(--muted);font-size:.72rem}.owner-benefits b{color:var(--navy);font-size:1.35rem}.owner-benefit-list{display:grid;gap:8px;padding-left:20px;color:var(--muted)}

/* Rental Company operations workspace */
.company-control { width:min(calc(100% - 32px),1180px);margin:48px auto;border:1px solid #dce5f0;border-radius:30px;padding:clamp(22px,4vw,42px);background:#f7f9fc;box-shadow:0 26px 70px rgba(7,27,61,.08)}
.company-control-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:end;border-radius:24px;padding:clamp(24px,4vw,38px);color:#fff;background:linear-gradient(120deg,#071b3d,#104c8c)}.company-control-hero h2{margin:8px 0;color:#fff;font-size:clamp(2rem,4vw,3.2rem)}.company-control-hero p{color:#c1d0e3}.company-metrics{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:18px}.company-metrics span{display:grid;gap:3px;padding:17px 13px;border-left:1px solid rgba(255,255,255,.12);color:#b7c8dd;font-size:.67rem}.company-metrics span:first-child{border-left:0}.company-metrics strong{color:var(--gold);font-size:1.25rem}
.company-control-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:20px;margin-top:20px}.company-fleet-panel,.company-staff-panel,.availability-audit{border:1px solid #dde5ef;border-radius:22px;padding:24px;background:#fff}.control-heading h3,.company-staff-panel h3,.availability-audit h3{margin:0 0 5px}.control-heading p,.company-staff-panel>p{color:var(--muted);font-size:.82rem}.availability-cards{display:grid;gap:10px;margin-top:20px}.availability-cards article{display:grid;grid-template-columns:1fr minmax(170px,.55fr);gap:10px;align-items:center;border:1px solid #e4eaf2;border-radius:16px;padding:14px}.availability-cards article>div{display:grid}.availability-cards small{color:var(--muted)}.availability-cards select{min-height:44px;border:1px solid #ccd7e5;border-radius:12px;padding:0 10px;background:#fff}.availability-save{grid-column:1/-1;min-height:0;color:var(--muted);font-size:.73rem}.availability-save.success{color:#087a3f}.availability-save.error{color:#b42318}
.company-staff-panel form{display:grid;gap:11px;margin:18px 0}.company-staff-panel label{display:grid;gap:6px;font-size:.75rem;font-weight:900}.company-staff-panel input{min-height:46px;border:1px solid #ccd7e5;border-radius:12px;padding:0 12px}.staff-list{display:grid;gap:8px}.staff-list>span{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-radius:12px;padding:11px;background:#f3f6fa}.staff-list>span>b{color:#124f8e;font-size:.72rem}.staff-list>span>span{display:grid;font-size:.78rem}.staff-list small{color:var(--muted)}.staff-list em{color:#087a3f;font-size:.68rem;font-style:normal}.availability-audit{margin-top:20px}.availability-audit>div{display:grid;margin-top:15px}.availability-audit>div>span{display:grid;grid-template-columns:.8fr 1.6fr auto;gap:16px;padding:12px 0;border-top:1px solid #e8edf3;font-size:.78rem}.availability-audit time{color:var(--muted)}

@media(max-width:900px){.state-grid,.city-grid{grid-template-columns:repeat(2,1fr)}.company-control-hero,.company-control-grid{grid-template-columns:1fr}.company-metrics{grid-template-columns:repeat(2,1fr)}.company-metrics span:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.12)}.company-metrics span:nth-child(4){border-top:1px solid rgba(255,255,255,.12)}}
@media(max-width:640px){.marketplace-entry{min-height:calc(100dvh - 70px)}.marketplace-entry .service-gateway{min-height:calc(100dvh - 70px);padding:32px 0}.marketplace-entry .service-gateway h1,.journey-panel h1{font-size:clamp(2.6rem,14vw,4.4rem)}.service-choice{grid-template-columns:1fr}.service-choice-card{min-height:210px;padding:22px}.service-choice-icon{width:56px;height:56px;border-radius:17px;font-size:1.55rem}.service-choice-card strong{font-size:1.8rem}.journey-progress span{font-size:0}.journey-progress span::before{width:20px}.journey-top{margin-bottom:32px}.state-grid,.city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.state-grid button,.city-grid button{min-height:120px;padding:14px}.journey-date-grid{grid-template-columns:1fr}.duration-summary{align-items:flex-start;flex-direction:column;gap:4px}.owner-benefits{grid-template-columns:repeat(2,1fr)}.company-control{width:calc(100% - 24px);padding:14px;border-radius:22px}.company-control-hero{padding:22px}.company-metrics{grid-template-columns:1fr 1fr}.availability-cards article{grid-template-columns:1fr}.availability-audit>div>span{grid-template-columns:1fr;gap:4px}.payment-choice{grid-template-columns:1fr}}
