/* =========================================================
   MovR 2026 — "Warm & Energetic" redesign (Direction A)
   Production stylesheet. Friendly, rounded, soft-shadowed.
   Blue primary, coral secondary. Plus Jakarta Sans.
   Link this once per page; markup uses the classes below.
   ========================================================= */
:root{
  --blue:#2196F3; --blue-dark:#1577CF; --blue-soft:#E8F3FE;
  --coral:#FF6B4A; --coral-soft:#FFEDE7;
  --bg:#FFFBF7; --surface:#FFFFFF; --cream:#FFF4EC;
  --ink:#1B1F27; --ink-2:#3A4150; --muted:#7C8595; --line:#EFE7DE;
  --green:#1FB36E; --amber:#FFB400;
  --r:18px; --r-lg:28px; --r-xl:36px; --pill:999px;
  --sh-sm:0 2px 8px rgba(27,31,39,.06);
  --sh:0 14px 40px -18px rgba(27,31,39,.22);
  --sh-blue:0 18px 40px -14px rgba(33,150,243,.5);
  --sh-coral:0 16px 34px -12px rgba(255,107,74,.5);
  --maxw:1200px;
  --font:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.55;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.08;font-weight:800;}

/* keyboard focus (quality floor) */
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px;}
.btn:focus-visible{outline:2px solid var(--blue-dark);outline-offset:3px;}
.nav-links a:focus-visible,.signin:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:15px;padding:14px 26px;border-radius:var(--pill);transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,background .2s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--sh-blue);}
.btn-primary:hover{background:var(--blue-dark);}
.btn-coral{background:var(--coral);color:#fff;box-shadow:var(--sh-coral);}
.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm);}
.btn-ghost:hover{background:#fff;}
.btn-block{width:100%;justify-content:center;}
.btn-lg{padding:17px 32px;font-size:16px;}

/* chips / headers */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--blue);background:var(--blue-soft);padding:7px 14px;border-radius:var(--pill);}
.eyebrow.coral{color:var(--coral);background:var(--coral-soft);}
.sec{padding:96px 0;}
.shead{text-align:center;max-width:640px;margin:0 auto 56px;}
.shead h2{font-size:clamp(32px,4.4vw,52px);margin:18px 0 14px;}
.shead p{color:var(--muted);font-size:18px;margin:0;}
.stars{color:var(--amber);}

/* =================== HEADER =================== */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,251,247,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;position:relative;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-.03em;}
.brand .m{width:38px;height:38px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:18px;box-shadow:var(--sh-blue);}
.nav-links{display:flex;gap:6px;}
.nav-links a{padding:9px 15px;border-radius:var(--pill);font-weight:600;font-size:15px;color:var(--ink-2);transition:background .15s,color .15s;}
.nav-links a:hover,.nav-links a.active{background:var(--blue-soft);color:var(--blue);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-cta .signin{font-weight:700;font-size:15px;padding:9px 8px;}
.menu-btn{display:none;background:none;border:none;font-size:22px;color:var(--ink);cursor:pointer;padding:6px 8px;border-radius:10px;}

/* =================== HERO =================== */
.hero{position:relative;overflow:hidden;padding:70px 0 90px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(40px,6vw,72px);}
.hero h1 .accent{color:var(--blue);}
.hero .lede{font-size:19px;color:var(--ink-2);margin:24px 0 32px;max-width:30em;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-trust{display:flex;align-items:center;gap:16px;margin-top:34px;}
.avs{display:flex;}
.avs img{width:46px;height:46px;border-radius:50%;border:3px solid var(--bg);object-fit:cover;margin-left:-12px;}
.avs img:first-child{margin-left:0;}
.hero-trust .tx b{display:block;font-weight:800;}
.hero-trust .tx span{color:var(--muted);font-size:14px;}
.hero-visual{position:relative;}
.blob{position:absolute;border-radius:50%;filter:blur(8px);opacity:.5;z-index:0;}
.blob.b1{width:340px;height:340px;background:var(--blue-soft);top:-40px;right:-30px;}
.blob.b2{width:240px;height:240px;background:var(--coral-soft);bottom:-30px;left:-20px;}
.phone{position:relative;z-index:2;width:300px;margin:0 auto;background:#0E1116;border-radius:46px;padding:11px;box-shadow:0 40px 80px -30px rgba(27,31,39,.5);}
.phone img{width:100%;border-radius:36px;}
.fcard{position:absolute;z-index:3;background:var(--surface);border-radius:var(--r);box-shadow:var(--sh);padding:14px 16px;display:flex;align-items:center;gap:12px;}
.fcard .ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:17px;}
.fcard small{display:block;color:var(--muted);font-size:12px;font-weight:600;}
.fcard b{font-size:15px;}
.fcard.f1{top:54px;left:-36px;animation:float 5s ease-in-out infinite;}
.fcard.f2{bottom:80px;right:-30px;animation:float 5s ease-in-out .8s infinite;}
.fcard.f3{bottom:-14px;left:30px;animation:float 5s ease-in-out 1.6s infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@media(prefers-reduced-motion:reduce){.fcard{animation:none!important;}.btn,.svc,.prow{transition:none!important;}html{scroll-behavior:auto;}}

/* =================== STAT BAR =================== */
.statbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm);margin-top:-30px;position:relative;z-index:5;}
.statbar-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:30px;text-align:center;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat .n{font-size:38px;font-weight:800;letter-spacing:-.03em;}
.stat .n span{color:var(--coral);}
.stat .l{color:var(--muted);font-size:14px;font-weight:600;margin-top:4px;}

/* =================== SERVICE CARDS =================== */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.svc{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s,box-shadow .25s;border:1px solid var(--line);}
.svc:hover{transform:translateY(-8px);box-shadow:var(--sh);}
.svc .ph{height:180px;background:#fff;padding:18px;}
.svc .ph img{width:100%;height:100%;object-fit:contain;}
.svc .bd{padding:22px 24px 26px;}
.svc .tag{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:5px 11px;border-radius:var(--pill);margin-bottom:12px;}
.svc h3{font-size:21px;margin-bottom:7px;}
.svc p{color:var(--muted);font-size:14.5px;margin:0 0 16px;}
.svc .price{font-weight:800;font-size:15px;}
.svc .price small{color:var(--muted);font-weight:600;}
.svc .go{float:right;width:40px;height:40px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;transition:.2s;}
.svc:hover .go{background:var(--blue);color:#fff;}

/* =================== CATEGORIES (the 2 app services) =================== */
.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 30px 26px;box-shadow:var(--sh-sm);transition:transform .25s,box-shadow .25s;}
.cat:hover{transform:translateY(-6px);box-shadow:var(--sh);}
.cat .ic{width:54px;height:54px;border-radius:16px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:22px;margin-bottom:16px;}
.cat h3{font-size:23px;margin-bottom:8px;}
.cat p{color:var(--muted);font-size:15px;margin:0 0 18px;}
.cat .fleet{display:flex;flex-wrap:wrap;gap:8px;}
.cat .fleet span{font-size:12.5px;font-weight:700;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);padding:6px 12px;border-radius:var(--pill);}
.cat .kv{display:flex;justify-content:space-between;font-size:14px;padding:9px 0;border-bottom:1px solid var(--line);}
.cat .kv:last-child{border-bottom:none;}
.cat .kv .k{color:var(--muted);}
.cat .kv .v{font-weight:700;}
.team-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);margin-bottom:14px;}
.cat .role{font-size:13px;font-weight:700;color:var(--blue);margin:2px 0 8px;}

/* =================== FAQ ACCORDION =================== */
.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden;}
.faq-q{width:100%;display:flex;align-items:center;gap:14px;padding:18px 20px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:15.5px;font-weight:700;color:var(--ink);text-align:left;}
.faq-q .qnum{font-size:11.5px;font-weight:800;color:var(--blue);background:var(--blue-soft);padding:4px 9px;border-radius:var(--pill);flex-shrink:0;}
.faq-q .qtext{flex:1;}
.faq-q .toggle{font-size:22px;color:var(--muted);line-height:1;transition:transform .2s;}
.faq-item.open .faq-q .toggle{transform:rotate(45deg);color:var(--blue);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:340px;}
.faq-a p{margin:0;padding:0 20px 20px;color:var(--muted);font-size:14.5px;line-height:1.6;}

/* =================== CONTACT CHANNELS =================== */
.channels{display:flex;flex-direction:column;gap:12px;}
.channel{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 18px;box-shadow:var(--sh-sm);transition:transform .2s,box-shadow .2s;}
.channel:hover{transform:translateY(-2px);box-shadow:var(--sh);}
.channel .ic{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:16px;flex-shrink:0;}
.channel .tx{flex:1;}
.channel .k{font-size:12px;font-weight:700;color:var(--muted);}
.channel .v{font-weight:700;font-size:15px;margin-top:1px;}

/* =================== HELP TOPICS =================== */
.help-topic{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-sm);transition:transform .25s,box-shadow .25s;}
.help-topic:hover{transform:translateY(-6px);box-shadow:var(--sh);}
.help-topic .ico{width:50px;height:50px;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:20px;margin-bottom:16px;}
.help-topic .num{font-size:12px;font-weight:700;color:var(--coral);margin-bottom:6px;}
.help-topic h4{font-size:18px;margin-bottom:7px;}
.help-topic p{color:var(--muted);font-size:14px;margin:0 0 14px;}
.help-topic .arrow{font-weight:700;font-size:13.5px;color:var(--blue);}

/* =================== SEARCH BOX =================== */
.search-box{display:flex;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--pill);box-shadow:var(--sh-sm);padding:8px 8px 8px 20px;}
.search-box input{flex:1;border:none;background:none;font-family:inherit;font-size:16px;color:var(--ink);}
.search-box input:focus{outline:none;}
.search-box button{flex-shrink:0;}
.tagcloud{display:flex;flex-wrap:wrap;gap:10px;}
.tagcloud a{font-size:13.5px;font-weight:700;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:8px 14px;border-radius:var(--pill);transition:.15s;}
.tagcloud a:hover{border-color:var(--blue);color:var(--blue);}

/* =================== GUIDES TABLE =================== */
.gtable{display:flex;flex-direction:column;gap:10px;}
.grow{display:grid;grid-template-columns:80px 1.6fr 110px 80px 40px;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;box-shadow:var(--sh-sm);transition:transform .2s,box-shadow .2s;color:inherit;}
.grow:hover{transform:translateY(-2px);box-shadow:var(--sh);}
.grow .gcode{font-size:13px;font-weight:800;color:var(--blue);}
.grow .gname{font-weight:800;font-size:15.5px;}
.grow .gname small{display:block;color:var(--muted);font-weight:600;font-size:13px;margin-top:2px;}
.grow .gcell{font-size:13.5px;color:var(--ink-2);font-weight:600;}
.grow .garrow{color:var(--blue);text-align:right;}

/* =================== HOW (steps) =================== */
.how{background:linear-gradient(180deg,var(--cream),var(--bg));}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.step{background:var(--surface);border-radius:var(--r-lg);padding:34px 28px;box-shadow:var(--sh-sm);position:relative;border:1px solid var(--line);}
.step .num{position:absolute;top:-18px;left:28px;width:44px;height:44px;border-radius:14px;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;box-shadow:var(--sh-coral);}
.step .ic{width:54px;height:54px;border-radius:16px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:22px;margin:14px 0 16px;}
.step h3{font-size:20px;margin-bottom:8px;}
.step p{color:var(--muted);font-size:15px;margin:0;}

/* =================== PRICING BAND + CARD =================== */
.pricing-band{background:var(--blue);border-radius:var(--r-xl);color:#fff;padding:56px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;box-shadow:var(--sh-blue);position:relative;overflow:hidden;}
.pricing-band .glow{position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.12);top:-120px;right:-80px;}
.pricing-band h2{font-size:clamp(30px,3.6vw,44px);color:#fff;position:relative;}
.pricing-band p{color:rgba(255,255,255,.9);font-size:17px;margin:16px 0 28px;position:relative;}
.pcard{background:#fff;border-radius:var(--r-lg);padding:28px;color:var(--ink);box-shadow:var(--sh);position:relative;}
.pcard .row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;}
.pcard .row:last-of-type{border-bottom:none;}
.pcard .row .v{font-weight:700;}
.pcard .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:16px;border-top:2px solid var(--line);}
.pcard .total .big{font-size:34px;font-weight:800;color:var(--blue);}

/* =================== APP CTA =================== */
.appcta{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.appcta .ph2{width:260px;margin:0 auto;background:#0E1116;border-radius:42px;padding:10px;box-shadow:var(--sh);}
.appcta .ph2 img{border-radius:33px;width:100%;}
.store{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.store a{display:flex;align-items:center;gap:11px;background:var(--ink);color:#fff;padding:13px 22px;border-radius:var(--r);font-weight:700;}
.store a i{font-size:24px;}
.store a small{display:block;font-weight:500;font-size:11px;opacity:.8;}

/* =================== FOOTER =================== */
.ft{background:var(--ink);color:#fff;padding:64px 0 30px;margin-top:90px;}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.ft .brand{color:#fff;}.ft .brand .m{background:#fff;color:var(--blue);box-shadow:none;}
.ft p{color:rgba(255,255,255,.6);font-size:14px;max-width:30ch;margin:14px 0 18px;}
.ft h5{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin:0 0 16px;}
.ft ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.ft ul a{color:rgba(255,255,255,.8);font-size:14.5px;}
.ft ul a:hover{color:#fff;}
.socials{display:flex;gap:10px;}
.socials a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;transition:.2s;}
.socials a:hover{background:var(--blue);}
.ft-bot{display:flex;justify-content:space-between;padding-top:24px;color:rgba(255,255,255,.5);font-size:13px;flex-wrap:wrap;gap:12px;}

/* =================== SUB-PAGE HERO + BREADCRUMB =================== */
.page-hero{padding:48px 0 8px;}
.crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:18px;}
.crumb a:hover{color:var(--blue);}
.crumb .here{color:var(--ink);}
.page-hero h1{font-size:clamp(34px,5vw,60px);}
.page-hero .accent{color:var(--blue);}
.page-hero p{color:var(--ink-2);font-size:18px;margin:16px 0 0;max-width:52ch;}

/* =================== FORMS (booking) =================== */
.book-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start;}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);}
.book-step{padding:26px 28px;border-bottom:1px solid var(--line);}
.book-step:last-child{border-bottom:none;}
.book-step-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.book-step-head .n{width:30px;height:30px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0;}
.book-step-head h3{font-size:19px;}
.book-step-head .sub{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--muted);}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.field label{font-size:13px;font-weight:700;color:var(--ink-2);}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);padding:13px 15px;transition:border-color .15s,box-shadow .15s,background .15s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--blue-soft);}
.field textarea{min-height:92px;resize:vertical;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field-row.three{grid-template-columns:1fr 1fr 1fr;}
/* vehicle picker (4 app vehicle types — 2x2) */
.vpick{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.vpick label{cursor:pointer;border:1.5px solid var(--line);border-radius:var(--r);padding:10px;background:var(--bg);transition:.18s;display:flex;flex-direction:column;gap:6px;position:relative;}
.vpick label:hover{border-color:var(--blue);}
.vpick input{position:absolute;opacity:0;}
.vpick label:has(input:checked){border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 3px var(--blue-soft);}
.vpick label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px;}
.vpick .vimg{background:#fff;border-radius:12px;height:74px;padding:6px;}
.vpick .vimg img{width:100%;height:100%;object-fit:contain;}
.vpick .vn{font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:baseline;}
.vpick .vn small{color:var(--muted);font-weight:600;font-size:11px;}
.vpick .vc{color:var(--muted);font-size:12px;}
/* pills */
.pills{display:flex;flex-wrap:wrap;gap:10px;}
.pill{padding:10px 16px;border-radius:var(--pill);border:1.5px solid var(--line);background:var(--bg);font-weight:700;font-size:13.5px;cursor:pointer;user-select:none;transition:.15s;}
.pill:hover{border-color:var(--blue);}
.pill.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.pill.on::before{content:"\2713  ";}
/* summary aside */
.summary{position:sticky;top:96px;padding:28px;}
.summary h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;}
.summary .quote{font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.summary .quote small{font-size:22px;color:var(--muted);font-weight:700;}
.summary .quote .est{display:block;font-size:12px;font-weight:700;color:var(--coral);letter-spacing:.04em;margin-top:6px;}
.summary .bd{margin:18px 0;border-top:1px solid var(--line);padding-top:16px;}
.summary .bd .row{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;color:var(--ink-2);}
.summary .bd .row .v{font-weight:700;color:var(--ink);}
.summary .note{font-size:12.5px;color:var(--muted);margin-top:14px;}

/* =================== PRICING TABLE (pricing page) =================== */
.ptable{display:flex;flex-direction:column;gap:14px;}
.prow{display:grid;grid-template-columns:90px 1.4fr 1fr 1fr 1fr;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 20px;box-shadow:var(--sh-sm);transition:transform .2s,box-shadow .2s;}
.prow:hover{transform:translateY(-3px);box-shadow:var(--sh);}
.prow .pimg{height:64px;display:grid;place-items:center;}
.prow .pimg img{max-height:100%;object-fit:contain;}
.prow .pname{font-weight:800;font-size:17px;}
.prow .pname small{display:block;color:var(--muted);font-weight:600;font-size:12.5px;}
.prow .pcell{font-size:14px;color:var(--ink-2);}
.prow .pcell b{display:block;font-size:17px;color:var(--ink);font-weight:800;}
.prow .pcell.accent b{color:var(--blue);}
.ph-head{display:grid;grid-template-columns:90px 1.4fr 1fr 1fr 1fr;gap:12px;padding:0 20px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}

/* =================== TRACKING =================== */
.track-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start;}
.map{height:460px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-sm);position:relative;background:
  radial-gradient(circle at 30% 40%,rgba(33,150,243,.06),transparent 60%),
  linear-gradient(0deg,#EAF1F6,#EAF1F6);}
.map .grid-ov{position:absolute;inset:0;background:
  linear-gradient(to right,rgba(27,31,39,.04) 1px,transparent 1px) 0 0/40px 100%,
  linear-gradient(to bottom,rgba(27,31,39,.04) 1px,transparent 1px) 0 0/100% 40px;}
.map .badge{position:absolute;top:16px;left:16px;background:#fff;border-radius:var(--pill);padding:9px 16px;font-weight:700;font-size:13px;box-shadow:var(--sh-sm);display:flex;align-items:center;gap:8px;}
.map .badge .d{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(31,179,110,.2);}
.track-card{padding:26px;}
.track-card .driver{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.track-card .driver img{width:54px;height:54px;border-radius:50%;object-fit:cover;}
.track-card .driver b{font-size:17px;font-weight:800;display:block;}
.track-card .driver span{color:var(--muted);font-size:13px;font-weight:600;}
.timeline{list-style:none;padding:0;margin:18px 0 0;}
.timeline li{display:flex;gap:14px;padding-bottom:20px;position:relative;}
.timeline li::before{content:"";position:absolute;left:11px;top:26px;bottom:-2px;width:2px;background:var(--line);}
.timeline li:last-child{padding-bottom:0;}
.timeline li:last-child::before{display:none;}
.timeline .dot{width:24px;height:24px;border-radius:50%;background:var(--line);color:#fff;display:grid;place-items:center;font-size:11px;flex-shrink:0;z-index:1;}
.timeline li.done .dot{background:var(--green);}
.timeline li.active .dot{background:var(--blue);box-shadow:0 0 0 5px var(--blue-soft);}
.timeline .ti b{display:block;font-weight:700;font-size:15px;}
.timeline .ti span{color:var(--muted);font-size:13px;}

/* =================== LEGAL PAGES =================== */
.legal-grid{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;}
.legal-toc{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:22px;}
.legal-toc h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px;}
.legal-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.legal-toc ol a{display:block;padding:7px 10px;border-radius:var(--r);font-size:13.5px;font-weight:600;color:var(--ink-2);}
.legal-toc ol a:hover{background:var(--bg);color:var(--blue);}
.legal-toc ol a.active{background:var(--blue-soft);color:var(--blue);}
.legal-toc .download{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;}
.legal-toc .download a{font-size:13px;font-weight:700;color:var(--blue);}
.legal-meta-card{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:32px;}
.legal-meta-card>div{background:var(--surface);padding:16px 18px;}
.legal-meta-card .k{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;}
.legal-meta-card .v{font-weight:700;font-size:14px;margin-top:3px;}
.legal-content section{margin-bottom:36px;}
.legal-content h2{font-size:24px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.legal-content h2 .num{font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.02em;flex-shrink:0;}
.legal-content h3{font-size:17px;margin:20px 0 8px;}
.legal-content p{color:var(--ink-2);margin:0 0 12px;line-height:1.7;}
.legal-content p.muted{color:var(--muted);}
.legal-content ul,.legal-content ol{color:var(--ink-2);line-height:1.7;margin:0 0 14px;padding-left:22px;}
.legal-content li{margin-bottom:6px;}
.legal-content a{color:var(--blue);font-weight:600;}

/* =================== DASHBOARD (portals) =================== */
.dash{display:grid;grid-template-columns:248px 1fr;gap:28px;max-width:var(--maxw);margin:0 auto;padding:28px 24px 60px;align-items:start;}
.dside{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:18px;}
.dside h5{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:18px 0 8px;}
.dside h5:first-child{margin-top:0;}
.dside a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r);font-weight:600;font-size:14px;color:var(--ink-2);transition:background .15s,color .15s;}
.dside a .ico{width:20px;text-align:center;color:var(--muted);}
.dside a:hover{background:var(--bg);}
.dside a.active{background:var(--blue-soft);color:var(--blue);}
.dside a.active .ico{color:var(--blue);}
.dside a .badge{margin-left:auto;background:var(--coral);color:#fff;font-size:11px;font-weight:800;border-radius:var(--pill);padding:1px 8px;}
.duser{display:flex;align-items:center;gap:11px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.duser img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.duser .un{font-weight:800;font-size:14px;}
.duser .um{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.04em;}
.dmain{min-width:0;}
.dbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:24px;}
.dbar h1{font-size:clamp(26px,3.4vw,36px);}
.dactions{display:flex;gap:10px;flex-wrap:wrap;}
.dstats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;}
.dstat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:20px;}
.dstat.accent{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:var(--sh-blue);}
.dstat.coral{background:var(--coral);color:#fff;border-color:var(--coral);box-shadow:var(--sh-coral);}
.dstat .k{font-size:12px;font-weight:700;opacity:.8;}
.dstat .v{font-size:30px;font-weight:800;letter-spacing:-.03em;margin-top:4px;}
.dstat .v .suf{font-size:14px;font-weight:600;opacity:.7;}
.dstat .delta{font-size:11.5px;font-weight:700;margin-top:8px;opacity:.85;}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
.dpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;}
.dpanel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);gap:10px;}
.dpanel-head h3{font-size:16px;}
.dpanel-head .tools{display:flex;gap:4px;flex-wrap:wrap;}
.dpanel-head .tools a{font-size:12.5px;font-weight:700;color:var(--muted);padding:5px 10px;border-radius:var(--pill);}
.dpanel-head .tools a.active{background:var(--blue-soft);color:var(--blue);}
.dpanel-head .link,.dpanel-head .link{font-size:12.5px;font-weight:700;color:var(--blue);}
.dpad{padding:22px;}
.dpad .field{margin-bottom:12px;}
.jrow{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);font-size:14px;}
.jrow:last-child{border-bottom:none;}
.jrow .code{font-weight:800;font-size:12.5px;color:var(--blue);}
.jrow .route{font-weight:700;}
.jrow .route .sub{display:block;font-weight:500;font-size:12px;color:var(--muted);margin-top:3px;}
.jrow .jv{font-size:12px;font-weight:700;color:var(--ink-2);}
.jrow .price{font-weight:800;}
.st{font-size:11px;font-weight:800;padding:4px 10px;border-radius:var(--pill);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.st.live{background:var(--blue-soft);color:var(--blue);}
.st.matched{background:#FFF3E0;color:#C77700;}
.st.done{background:#E3F7ED;color:var(--green);}
.dmap{position:relative;height:240px;background:radial-gradient(circle at 30% 40%,rgba(33,150,243,.06),transparent 60%),#EAF1F6;}
.dmap .ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(27,31,39,.04) 1px,transparent 1px) 0 0/36px 100%,linear-gradient(to bottom,rgba(27,31,39,.04) 1px,transparent 1px) 0 0/100% 36px;}
.dmap .stamp{position:absolute;top:14px;left:14px;background:#fff;border-radius:var(--pill);padding:7px 14px;font-size:12px;font-weight:700;box-shadow:var(--sh-sm);display:flex;align-items:center;gap:8px;}
.dmap .stamp .d{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(31,179,110,.2);}
.dmap .eta{position:absolute;bottom:14px;right:14px;background:var(--ink);color:#fff;border-radius:var(--r);padding:12px 16px;text-align:right;box-shadow:var(--sh);}
.dmap .eta small{display:block;font-size:10.5px;opacity:.7;font-weight:600;}
.dmap .eta .v{font-size:22px;font-weight:800;letter-spacing:-.02em;}
.chart-bars{display:flex;align-items:flex-end;gap:10px;height:150px;margin:8px 0 28px;}
.chart-bars .bar{flex:1;background:var(--blue-soft);border-radius:8px 8px 0 0;position:relative;}
.chart-bars .bar.accent{background:var(--blue);}
.chart-bars .bar.coral{background:var(--coral);}
.chart-bars .bar::after{content:attr(data-day);position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:10px;font-weight:700;color:var(--muted);}
.chart-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);font-weight:600;}
.tasks{display:flex;flex-direction:column;}
.task{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);}
.task:last-child{border-bottom:none;}
.task .check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;cursor:pointer;display:grid;place-items:center;}
.task.done .check{background:var(--green);border-color:var(--green);}
.task.done .check::after{content:"\2713";color:#fff;font-size:12px;}
.task .tl{flex:1;}
.task .tl .label{font-weight:700;font-size:14px;}
.task.done .tl .label{text-decoration:line-through;color:var(--muted);}
.task .tl .meta{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:3px;}
.task .when{font-size:11px;font-weight:800;color:var(--muted);}
.st.cancel{background:#FBE9E7;color:#C0392B;}
.bidcard{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);}
.bidcard:last-child{border-bottom:none;}
.bidcard .rl{font-weight:800;font-size:15px;}
.bidcard .rl .arrow{color:var(--blue);margin:0 4px;}
.bidcard .meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);font-weight:600;margin-top:5px;}
.bidcard .ba{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.bidcard .bp{font-weight:800;font-size:18px;}
.bidcard .bbtn{background:var(--blue);color:#fff;border:none;border-radius:var(--pill);padding:9px 16px;font-family:inherit;font-weight:700;font-size:13px;cursor:pointer;box-shadow:var(--sh-blue);}
.bidcard .bbtn:hover{background:var(--blue-dark);}
.qactions{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px;}
.qaction{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:18px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.qaction:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--sh-sm);}
.qaction .ico{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:17px;margin-bottom:12px;}
.qaction h4{font-size:15px;margin-bottom:5px;}
.qaction .sub{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;}

/* =================== AUTH (login) =================== */
.authwrap{min-height:68vh;display:grid;place-items:center;padding:48px 24px;}
.authcard{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:38px 34px;text-align:center;}
.authcard .badge-m{width:54px;height:54px;border-radius:15px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;margin:0 auto 18px;box-shadow:var(--sh-blue);}
.authcard h1{font-size:26px;margin-bottom:8px;}
.authcard .sub{color:var(--muted);font-size:15px;margin:0 0 26px;}
.gbtn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px;border:1.5px solid var(--line);border-radius:var(--pill);background:#fff;font-family:inherit;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.gbtn:hover{border-color:var(--blue);box-shadow:var(--sh-sm);}
.gbtn .gico{color:#EA4335;font-size:18px;}
.rolepick{display:grid;gap:12px;text-align:left;}
.rolebtn{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s;width:100%;text-align:left;}
.rolebtn:hover{border-color:var(--blue);background:var(--blue-soft);}
.rolebtn .ic{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:18px;flex-shrink:0;}
.rolebtn b{display:block;font-size:15px;color:var(--ink);}
.rolebtn span{font-size:13px;color:var(--muted);}
.authmsg{font-size:13.5px;margin-top:16px;color:var(--ink-2);}
.authmsg.err{color:var(--coral);font-weight:600;}
.authsmall{font-size:12.5px;color:var(--muted);margin-top:20px;}
.authsmall a{color:var(--blue);font-weight:700;}
.coming-soon{padding:26px 22px;text-align:center;color:var(--muted);font-size:13.5px;font-weight:600;}
.coming-soon i{display:block;font-size:20px;color:var(--line);margin-bottom:8px;}
.pending-banner{display:flex;gap:14px;align-items:flex-start;background:var(--coral-soft);border:1px solid var(--coral);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:24px;}
.pending-banner .ic{color:var(--coral);font-size:20px;flex-shrink:0;margin-top:2px;}
.pending-banner b{display:block;font-size:15px;margin-bottom:3px;}
.pending-banner p{margin:0;font-size:13.5px;color:var(--ink-2);}

/* mid breakpoint: 4 service cards -> 2x2 */
@media(max-width:1080px){
  .cards{grid-template-columns:repeat(2,1fr);}
  .dstats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:920px){
  .hero-grid,.appcta,.pricing-band,.book-grid,.track-grid{grid-template-columns:1fr;}
  .cards,.steps,.cats{grid-template-columns:1fr;}
  .dash{grid-template-columns:1fr;}
  .dside{position:static;}
  .dstats,.dgrid{grid-template-columns:1fr;}
  .qactions{grid-template-columns:1fr;}
  .jrow{grid-template-columns:1fr auto;row-gap:6px;}
  .jrow .code,.jrow .jv{grid-column:1;}
  .legal-grid{grid-template-columns:1fr;}
  .legal-toc{position:static;}
  .legal-meta-card{grid-template-columns:1fr 1fr;}
  .vpick{grid-template-columns:1fr 1fr;}
  .statbar-grid{grid-template-columns:1fr 1fr;}
  .stat:nth-child(2){border-right:none;}.stat{border-bottom:1px solid var(--line);}
  .nav-links{display:none;}
  .menu-btn{display:block;}
  /* mobile dropdown nav */
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;gap:4px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--sh-sm);padding:12px 24px 16px;z-index:60;}
  .ft-top{grid-template-columns:1fr 1fr;}
  .summary{position:static;}
  .grow{grid-template-columns:64px 1fr 40px;}
  .grow .gcell{display:none;}
  .prow,.ph-head{grid-template-columns:64px 1.2fr 1fr 1fr;}
  .prow .pcell.hide-sm,.ph-head .hide-sm{display:none;}
  .field-row,.field-row.three{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .vpick{grid-template-columns:1fr;}
}

/* ---------- portal sub-pages ---------- */
.dsub{color:var(--muted);font-size:14.5px;font-weight:600;margin-top:6px;}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.acard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:18px 20px;}
.acard .tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);background:var(--blue-soft);padding:3px 10px;border-radius:var(--pill);}
.acard h4{font-size:15px;margin:12px 0 4px;}
.acard p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5;}
.acard .uses{margin-top:12px;font-size:12px;font-weight:700;color:var(--ink-2);}
.kv{display:grid;grid-template-columns:160px 1fr;gap:2px 18px;padding:14px 22px;border-bottom:1px solid var(--line);align-items:center;font-size:14px;}
.kv:last-child{border-bottom:none;}
.kv .k{color:var(--muted);font-weight:700;font-size:13px;}
.kv .v{font-weight:700;}
.kv .v input,.kv .v select{width:100%;max-width:340px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);padding:10px 13px;}
.kv .v input:focus,.kv .v select:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--blue-soft);}
.pill-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 11px;border-radius:var(--pill);}
.pill-tag.ok{background:#E3F7ED;color:var(--green);}
.pill-tag.warn{background:#FFF3E0;color:#C77700;}
.pill-tag.muted{background:var(--bg);color:var(--muted);}
.panel-foot{padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
@media(max-width:560px){ .kv{grid-template-columns:1fr;} }
