/* ProEliteDrivers — premium dark theme (shared by index + admin) */
:root{
  --bg:#07080a;--bg2:#0d0f13;--card:#121419;--card2:#171a20;--line:#23262e;--line2:#2f333d;
  --txt:#f4f5f7;--mut:#9aa0ab;--dim:#6b717c;--accent:#ffffff;--accent-ink:#0a0a0a;
  --ok:#3ecf8e;--bad:#ff6b6b;--radius:18px;--ring:0 0 0 3px rgba(255,255,255,.22);
  --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 20px 50px -20px rgba(0,0,0,.8);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.55;color:var(--txt);
  background:radial-gradient(1200px 600px at 50% -200px,#1b1e25 0%,transparent 70%),var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--txt)}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:50}.skip:focus{left:8px}
.hidden{display:none!important}
.muted{color:var(--mut)}

/* Header */
header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;
  background:rgba(7,8,10,.72);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--txt)}
.brandlogo{width:38px;height:38px;flex:none;display:block}
.logo{font-weight:700;letter-spacing:-.01em;font-size:17px;line-height:1.1}.logo b{font-weight:700;color:var(--mut)}
.logo small{display:block;font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:2px}
nav{display:flex;align-items:center;gap:6px}
nav a.link{display:none;color:var(--mut);text-decoration:none;font-size:14px;padding:8px 10px;border-radius:10px}nav a.link:hover{color:var(--txt);background:var(--card)}
.navbtn{white-space:nowrap;font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--txt);cursor:pointer;transition:background .2s,border-color .2s}
.navbtn:hover{background:var(--card2);border-color:#444}.navbtn.active{background:#fff;color:#000;border-color:#fff}

main{max-width:1120px;margin:0 auto;padding:0 16px 40px}

/* Hero */
.hero{text-align:center;padding:48px 0 28px}
.hero img{width:112px;height:112px;display:block;margin:0 auto 22px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.7))}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line2);padding:6px 12px;border-radius:999px;margin-bottom:16px}
.hero h1{font-size:clamp(34px,7vw,64px);line-height:1.04;letter-spacing:-.035em;font-weight:800;margin:0 0 14px}
.hero h1 span{background:linear-gradient(180deg,#fff 30%,#8b919c);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:clamp(16px,2.2vw,19px);color:var(--mut);max-width:560px;margin:0 auto 26px}
.cta{display:inline-flex;align-items:center;gap:8px}

/* Buttons */
.btn{font:inherit;font-weight:600;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:999px;border:1px solid #fff;
  background:#fff;color:#000;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;text-decoration:none}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(255,255,255,.45)}.btn:active{transform:none}
.btn:disabled{opacity:.6;cursor:progress;transform:none;box-shadow:none}
.btn.ghost{background:transparent;color:#fff;border-color:var(--line2)}.btn.ghost:hover{background:var(--card2);box-shadow:none}
.btn.danger{background:transparent;color:var(--bad);border-color:rgba(255,107,107,.4);padding:8px 16px;font-size:14px}.btn.danger:hover{background:rgba(255,107,107,.1);box-shadow:none}
.btn.block{width:100%}

/* How it works */
.steps{list-style:none;margin:8px 0 36px;padding:0;display:grid;gap:12px}
.steps li{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.steps .n{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:#fff;color:#000;font-size:15px}
.steps h3{margin:0 0 2px;font-size:16px;font-weight:600}.steps p{margin:0;color:var(--mut);font-size:14px}
.section-title{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);text-align:center;margin:0 0 14px}

/* Cards */
.grid{display:grid;gap:16px}
.card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.card h2{margin:0 0 16px;font-size:18px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.card h2 .n{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;background:var(--line);color:var(--txt);flex:none}

/* Calendar */
.calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.calhead strong{font-weight:600;font-size:16px}
.calhead button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--bg2);color:var(--txt);font-size:20px;cursor:pointer;transition:background .2s}
.calhead button:hover:not(:disabled){background:var(--card2)}.calhead button:disabled{opacity:.3;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.cal .dow{color:var(--dim);font-size:12px;font-weight:600;padding:4px 0;text-transform:uppercase;letter-spacing:.06em}
.day{aspect-ratio:1;min-height:40px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);color:var(--txt);cursor:pointer;font:inherit;font-weight:500;font-size:15px;
  transition:background .18s,border-color .18s,transform .12s,color .18s}
.day:hover:not(:disabled){border-color:#fff;transform:translateY(-1px)}
.day:disabled{opacity:.28;cursor:not-allowed;background:transparent}
.day.today{border-color:var(--mut);position:relative}.day.today::after{content:"";position:absolute;bottom:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.day.sel{background:#fff;color:#000;border-color:#fff;font-weight:700}

/* Slots */
#slotHint{margin:0 0 12px;font-size:14px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:380px;overflow:auto;padding:2px}
.slot{padding:11px 6px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);cursor:pointer;font:inherit;font-size:14px;font-weight:500;transition:background .18s,border-color .18s,transform .12s}
.slot:hover:not(:disabled){border-color:#fff;transform:translateY(-1px)}
.slot:disabled{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.slot.sel{background:#fff;color:#000;border-color:#fff;font-weight:700}

/* Form */
#formCard{margin-top:16px;scroll-margin-top:80px}
#selLbl{color:var(--mut);font-weight:500;font-size:15px}
form{display:grid;grid-template-columns:1fr;gap:14px}
.field{position:relative}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:16px;color:var(--txt);background:var(--bg2);border:1px solid var(--line2);border-radius:14px;padding:22px 14px 8px;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.field textarea{resize:vertical;min-height:96px}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.field label{position:absolute;left:15px;top:15px;color:var(--mut);font-size:16px;pointer-events:none;transition:all .15s ease;transform-origin:left top}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#fff;box-shadow:var(--ring)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field select+label{top:7px;font-size:12px;font-weight:500;color:var(--mut)}
.field input::placeholder,.field textarea::placeholder{color:transparent}
.field textarea:focus::placeholder{color:var(--dim)}
.hint{font-size:12px;color:var(--dim);margin:4px 2px 0}
.fare{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px;border-radius:16px;
  background:radial-gradient(400px 120px at 0 0,rgba(255,255,255,.08),transparent),var(--bg2);border:1px solid var(--line2)}
.fare .lbl{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.fare #fare{display:block;font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:2px}
.fare #fareInfo{font-size:13px;max-width:280px}
.err{color:var(--bad);font-size:14px;min-height:20px;font-weight:500}

/* Confirmation */
.confirm{max-width:640px;margin:40px auto;text-align:center}
.check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:4px auto 16px;background:#fff;color:#000;font-size:34px;font-weight:800;animation:pop .4s ease}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.confirm h2{justify-content:center;font-size:26px;margin-bottom:6px}
.ref{-webkit-user-select:text;user-select:text;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;background:var(--bg2);border:1px solid var(--line2);padding:6px 12px;border-radius:10px;color:#fff;margin-top:4px}
.summary{display:grid;grid-template-columns:1fr;text-align:left;margin:22px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.summary div{padding:10px 16px;font-size:15px}.summary div:nth-child(odd){color:var(--mut);font-size:13px;padding-bottom:0}
.summary div:nth-child(even){border-bottom:1px solid var(--line);padding-top:2px;word-break:break-word}.summary div:last-child{border-bottom:0}
.contact a{color:#fff;text-underline-offset:3px}

/* Admin list */
.dateh{font-weight:700;font-size:15px;margin:22px 0 6px;color:#fff}
.bk{border-top:1px solid var(--line);padding:14px 0;display:flex;flex-direction:column;gap:10px;font-size:14px}

/* Footer */
footer{border-top:1px solid var(--line);margin-top:30px;padding:28px 16px 36px;text-align:center;color:var(--dim);font-size:14px}
footer .flogo{width:40px;height:40px;display:block;margin:0 auto 10px;opacity:.9}
footer a{color:var(--txt);text-decoration:none;border-bottom:1px solid var(--line2)}footer a:hover{border-color:#fff}
footer .row{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:8px 0}

/* ≥ 640px */
@media (min-width:640px){.navbtn{font-size:14px;padding:9px 14px}
  header{padding:14px 28px}.brandlogo{width:44px;height:44px}.logo{font-size:18px}
  nav a.link{display:inline-block}
  main{padding:0 24px 56px}.hero{padding:72px 0 40px}.hero img{width:132px;height:132px}
  .steps{grid-template-columns:repeat(3,1fr)}
  form{grid-template-columns:1fr 1fr}form .full{grid-column:1/-1}
  .card{padding:26px}
  .summary{grid-template-columns:150px 1fr}.summary div{padding:12px 16px!important;border-bottom:1px solid var(--line)}.summary div:nth-last-child(-n+2){border-bottom:0}
  .bk{flex-direction:row;justify-content:space-between;align-items:flex-start}
}
@media (min-width:900px){.grid{grid-template-columns:1fr 1fr}}

/* Hero photo */
.hero.has-photo{position:relative;isolation:isolate;margin:16px -16px 0;padding:56px 20px 44px;border-radius:0 0 28px 28px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block;transform:scale(1.03)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,10,.72) 0%,rgba(7,8,10,.80) 45%,rgba(7,8,10,.96) 100%),radial-gradient(70% 60% at 50% 40%,transparent,rgba(7,8,10,.55))}
.hero .hero-logo{width:84px;height:84px}
.hero.has-photo p{color:#c9cdd4}
/* Trust */
.trust{display:grid;gap:18px;align-items:center;margin:40px 0 0;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.trust-photo img{width:100%;height:auto;display:block;border-radius:14px;background:#000}
.trust-photo:has(.owner-photo){display:flex;justify-content:center}
.trust-photo img.owner-photo{width:clamp(200px,56vw,220px);aspect-ratio:1/1;height:auto;border-radius:50%;object-fit:cover;object-position:50% 30%;background:#fff;border:3px solid var(--line);box-shadow:var(--shadow)}
.trust:has(.owner-photo){row-gap:8px}
@media (min-width:640px){.trust-photo img.owner-photo{width:280px}.trust-photo:has(.owner-photo){align-self:start;padding-top:4px}}
.trust-lead{color:var(--mut);margin:0 0 16px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
.stats div{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:14px 10px;text-align:center}
.stats dt{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.stats dd{margin:4px 0 0;font-size:26px;font-weight:800;letter-spacing:-.02em}
/* Gallery */
.gallery-wrap{margin-top:40px}
.gallery{display:grid;grid-template-columns:1fr;gap:12px}
.gallery figure{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:1}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font-size:13px;font-weight:500;background:linear-gradient(transparent,rgba(0,0,0,.85))}
@media (min-width:640px){
  .hero.has-photo{margin:20px 0 0;border-radius:28px;padding:80px 32px 64px}.hero .hero-logo{width:96px;height:96px}
  .trust{grid-template-columns:1fr 1.1fr;padding:24px;gap:28px}
  .gallery{grid-template-columns:repeat(3,1fr)}
}

/* Install bar */
.install{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;
  background:rgba(18,20,25,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line2);border-radius:18px;box-shadow:0 20px 50px -10px rgba(0,0,0,.8);animation:slideup .35s ease}
.install img{border-radius:50%;flex:none}
.install-txt{display:flex;flex-direction:column;font-size:13px;color:var(--mut);line-height:1.35;flex:1;min-width:0}.install-txt strong{color:#fff;font-size:14px}
.install-btn{padding:9px 16px;font-size:14px;flex:none}
.install-x{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--mut);font-size:20px;line-height:1;cursor:pointer}.install-x:hover{color:#fff;background:var(--card2)}
@keyframes slideup{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:640px){.install{left:auto;right:20px;bottom:20px;max-width:420px}}
.driver-name{margin:0;font-size:clamp(32px,6vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#fff}
.driver-role{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--mut)}
.driver-bio{margin:10px 0 4px;font-size:15px;line-height:1.6;color:var(--txt)}.driver-bio a{color:#fff;font-weight:600;text-underline-offset:3px}
.day.blocked{opacity:.32;cursor:not-allowed;background:transparent}
.day.blocked .num{text-decoration:line-through}.day.blocked:hover{border-color:var(--line);transform:none}
.calwrap{position:relative}.caltip{position:absolute;z-index:5;background:#fff;color:#000;font-size:13px;font-weight:600;padding:7px 11px;border-radius:10px;white-space:nowrap;pointer-events:none;box-shadow:0 10px 30px -8px rgba(0,0,0,.8)}
.tipnote{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-left:3px solid rgba(255,255,255,.35);color:var(--mut);font-size:14px;line-height:1.55;text-align:left}
.tipnote p{margin:0}.tipnote .sig{color:var(--txt);font-weight:600;font-size:13px}
.tipnote-confirm{margin:0 0 18px}
.depline{flex-basis:100%;display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}.depline[hidden]{display:none}.depline>div{flex:1;min-width:130px}.depline strong{display:block;font-size:20px;font-weight:700;margin-top:2px}
.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line2);margin-left:6px;vertical-align:1px}.badge.ok{color:#0a0a0a;background:var(--ok);border-color:var(--ok)}.badge.pend{color:#f5c26b;border-color:rgba(245,194,107,.5)}.badge.done{color:#fff;background:#2a2e37}
/* ---- Photo motion (transform/opacity only) ---- */
@media (prefers-reduced-motion: no-preference){
.hero-bg{overflow:hidden}
.hero-bg img{animation:kenburns 26s ease-in-out infinite alternate;will-change:transform}
@keyframes kenburns{0%{transform:scale(1.04) translate3d(0,0,0)}100%{transform:scale(1.16) translate3d(-2.5%,-2%,0)}}
.reveal-on .reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0s)}
.reveal-on .reveal.in{opacity:1;transform:none}
.gallery img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover img{transform:scale(1.07)}
}
@media (prefers-reduced-motion: reduce){.gallery figure:hover img{transform:none}}
/* ---- Route map + autocomplete ---- */
.ac{position:relative}
.ac-list{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;background:#111318;border:1px solid var(--line2);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.55);max-height:260px;overflow:auto}
.ac-list li{padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.35;cursor:pointer;color:var(--txt)}
.ac-list li:hover,.ac-list li.on{background:rgba(255,255,255,.08)}
.mapwrap{display:flex;flex-direction:column;gap:8px}
#map{height:260px;border-radius:14px;border:1px solid var(--line);background:#0d0f13;overflow:hidden;z-index:0}
@media (min-width:700px){#map{height:300px}}
#routeMsg.warn{color:#f5c26b}
input[readonly]{opacity:.9;cursor:not-allowed}
.leaflet-container{font-family:inherit}
.leaflet-control-attribution{background:rgba(7,8,10,.75)!important;color:#9aa0aa!important;font-size:10px}
.leaflet-control-attribution a{color:#cfd3da!important}
.leaflet-bar a{background:#14161b!important;color:#fff!important;border-color:var(--line)!important}
.dark-tiles{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.88) saturate(.35)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
a.navbtn{text-decoration:none;display:inline-flex;align-items:center}
.promo-row{display:flex;gap:10px;align-items:stretch}.promo-row .field{flex:1}.promo-row .btn{white-space:nowrap;padding:0 20px}
#promoMsg.ok{color:var(--ok)}#promoMsg.warn,.hint.warn{color:#f5c26b}
.discline{flex-basis:100%;display:flex;justify-content:space-between;color:var(--ok);font-size:14px;font-weight:600}.discline[hidden]{display:none}
.discline.airline{color:var(--mut)}
/* ================= Header v3: centered logo ================= */
header.hdr{position:sticky;top:0;z-index:50;display:block;padding:0;background:#08090b;border-bottom:1px solid rgba(255,255,255,.09);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.hdr-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;max-width:1160px;margin:0 auto;padding:10px 16px;transition:padding .3s ease}
.hdr-side{display:flex;align-items:center;gap:28px}
.hdr-left{justify-content:flex-start}.hdr-right{justify-content:flex-end}
.hdr-logo{display:block;line-height:0;border-radius:50%}
.hdr-logo img{width:60px;height:60px;display:block;transition:width .3s ease,height .3s ease}
.ulink{position:relative;color:#c9cdd4;text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:8px 0;display:none}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.ulink:hover,.ulink:focus-visible{color:#fff}.ulink:hover::after,.ulink:focus-visible::after{transform:scaleX(1)}
.cta{font:inherit;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0a0a0a;background:#fff;border:1px solid #fff;border-radius:999px;padding:10px 18px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.cta:hover{background:transparent;color:#fff}
#navBook{display:none}.cta-m{padding:8px 14px;font-size:11px}
.burger{display:grid;place-content:center;gap:6px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:transparent;cursor:pointer;padding:0}
.burger span{display:block;width:18px;height:1.6px;background:#fff;transition:transform .25s ease}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.8px) rotate(45deg)}.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.8px) rotate(-45deg)}
.hdr :focus-visible,.mmenu :focus-visible{outline:2px solid #fff;outline-offset:3px}
.hdr.scrolled .hdr-row{padding-top:6px;padding-bottom:6px}.hdr.scrolled .hdr-logo img{width:44px;height:44px}
.mmenu{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:96px 28px 40px;background:#08090b;opacity:0;transition:opacity .25s ease}
.mmenu.open{opacity:1}
.mmenu nav{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}
.mm-links{list-style:none;margin:0 0 36px;padding:0;display:grid;gap:10px;text-align:center}
.mm-links a{color:#fff;text-decoration:none;font-size:22px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:8px 10px;display:inline-block}
.mm-contact{display:grid;gap:10px;justify-items:center}
.mm-contact a{display:inline-flex;align-items:center;gap:10px;color:#c9cdd4;text-decoration:none;font-size:15px;padding:10px 16px;border:1px solid rgba(255,255,255,.12);border-radius:999px}
.mm-contact a:hover{color:#fff}
body.menu-open{overflow:hidden}
.ficon{display:inline-flex;align-items:center;gap:6px}.ficon svg{flex:none;color:#c9cdd4}
@media (prefers-reduced-motion: reduce){.mmenu,.hdr-logo img,.hdr-row{transition:none}}
@media (min-width:900px){
 .hdr-row{padding:12px 28px}.hdr-logo img{width:92px;height:92px}.hdr.scrolled .hdr-logo img{width:56px;height:56px}
 .ulink,#navBook{display:inline-block}.cta-m,.burger{display:none}.mmenu{display:none!important}
}
.hdr-word{line-height:1;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.22em;font-size:15px;white-space:nowrap;padding:14px 0;border-radius:4px;transition:font-size .3s ease,padding .3s ease}
.hdr.scrolled .hdr-word{padding:10px 0}
@media (min-width:900px){.hdr-word{font-size:22px;letter-spacing:.28em;padding:22px 0}.hdr.scrolled .hdr-word{font-size:18px;padding:12px 0}}
@media (max-width:380px){.hdr-word{font-size:13px;letter-spacing:.16em}}
.hdr-center{min-height:44px}@media (min-width:900px){.hdr-center{min-height:56px}}
@media (max-width:899px){.hdr-row{gap:8px;padding-left:12px;padding-right:12px}.hdr-word{font-size:clamp(11px,3.6vw,15px);letter-spacing:.14em}}
/* payment choice + tip */
.paychoice,.tipchoice{border:0;margin:0 0 12px;padding:0;min-width:0}
.paychoice legend,.tipchoice legend{padding:0;margin-bottom:8px}
.paychoice{display:grid;gap:8px}@media (min-width:600px){.paychoice{grid-template-columns:1fr 1fr}}
.payopt{position:relative;display:block;cursor:pointer}
.payopt input,.tipbtns input{position:absolute;opacity:0;width:1px;height:1px}
.payopt span{display:block;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--card2);transition:border-color .2s,background .2s}
.payopt b{display:block;color:#fff;font-size:15px}.payopt small{display:block;color:var(--mut);margin-top:3px;font-size:13px}
.payopt input:checked+span{border-color:#fff;background:#15171c;box-shadow:inset 0 0 0 1px #fff}
.payopt input:focus-visible+span,.tipbtns input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.tipbtns{display:flex;flex-wrap:wrap;gap:8px}
.tipbtns label{position:relative;cursor:pointer}
.tipbtns span{display:inline-block;padding:8px 14px;border:1px solid var(--line2);border-radius:999px;font-size:14px;font-weight:600;color:var(--txt);transition:background .2s,color .2s}
.tipbtns input:checked+span{background:#fff;color:#000;border-color:#fff}
.tipcustom{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tipcustom label{font-size:13px;color:var(--mut)}.tipcustom input{width:120px;padding:9px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--card2);color:#fff;font:inherit}
.depline .totrow{border-top:1px solid var(--line2);padding-top:6px;margin-top:4px}.depline .totrow strong{color:#fff}
.hdr-word{display:inline-flex;align-items:center;gap:10px;line-height:1}
.hdr-word .hdr-mark{width:26px;height:26px;flex:none;display:block;transition:width .3s ease,height .3s ease}
@media (max-width:899px){.hdr-word{gap:7px;font-size:clamp(10px,3.1vw,14px);letter-spacing:.12em}}
@media (min-width:900px){.hdr-word .hdr-mark{width:34px;height:34px}.hdr.scrolled .hdr-word .hdr-mark{width:28px;height:28px}}
.depline [hidden]{display:none!important}
.hero.has-photo>.eyebrow{margin-top:28px}@media (min-width:900px){.hero.has-photo>.eyebrow{margin-top:50px}}
/* Hero: photo on top, text block below the car */
.hero.has-photo{background:#07080a}
.hero.has-photo .hero-bg{bottom:auto;width:100%;height:min(66.7vw,540px);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
.hero.has-photo .hero-bg img{object-position:center 55%}
.hero.has-photo>.eyebrow{margin-top:calc(min(66.7vw,540px) - 70px)}
@media (min-width:900px){.hero.has-photo .hero-bg{height:520px}.hero.has-photo>.eyebrow{margin-top:400px}}
.hero.has-photo>.eyebrow{margin-top:calc(min(66.7vw,540px) - 125px)}@media (min-width:900px){.hero.has-photo>.eyebrow{margin-top:285px}}
.trust-lead.ministry{margin:0 0 12px;color:var(--mut)}
.scripture{margin:0 0 16px;padding:12px 16px;border-left:2px solid rgba(255,255,255,.55);background:rgba(255,255,255,.03);border-radius:0 12px 12px 0}
.scripture p{margin:0;font-style:italic;font-size:clamp(15px,2vw,17px);line-height:1.5;color:#e6e8ec}
.scripture cite{display:block;margin-top:6px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.policynote{padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-left:3px solid #fff;border-radius:12px;background:rgba(255,255,255,.04)}
.policynote strong{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:4px}
.policynote p{margin:0;font-size:14px;line-height:1.5;color:#c9cdd4}
.platforms{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:14px}
.platforms .lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.platforms img{display:block;opacity:.85}.platforms .pl-lyft{height:24px;width:auto}.platforms .pl-uber{height:20px;width:auto}
.pl-note{margin:6px 0 0;font-size:11px;color:var(--dim)}
/* Pay remaining balance */
.paybal{margin-top:28px}.paybal h2{margin:0 0 6px}
.pbform{display:grid;gap:12px;margin-top:14px}@media (min-width:760px){.pbform{grid-template-columns:1fr 1fr auto;align-items:start}.pbform .btn{height:100%;min-height:52px}}
.pbresult{margin-top:16px}.pbresult .tipchoice{margin-top:14px}
.pbtotals{display:grid;gap:6px;margin:12px 0 14px}.pbtotals div{display:flex;justify-content:space-between;gap:12px}.pbtotals .totrow{border-top:1px solid var(--line2);padding-top:6px}.pbtotals strong{color:#fff}
.pbdone{margin:12px 0 0;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;font-weight:600}
.pbresult [hidden],.paybal [hidden]{display:none!important}
.mmenu[hidden]{display:none!important}
.depline .balnote{flex-basis:100%;width:100%;margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--mut)}
.hdr-word{position:relative;left:12px}@media (min-width:900px){.hdr-word{left:50px}}
.ulink{white-space:nowrap}@media (min-width:900px) and (max-width:1199px){.hdr-side{gap:18px}.ulink{letter-spacing:.12em;font-size:12px}}
.spamnote{margin:14px 0 0;font-size:14px}
.badge.danger{color:#ff8a8a;border-color:rgba(255,120,120,.45)}
/* Header fit: all links visible on desktop; wordmark/nav shrink so nothing overlaps. Only narrow desktops move How/Meet into the menu. */
@media (min-width:900px){.hdr-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-left:20px;padding-right:20px}.hdr-side{min-width:0}}
@media (min-width:1200px){.hdr-row{max-width:1400px}.hdr-side{gap:20px}.ulink{font-size:11.5px;letter-spacing:.1em}.hdr-word{font-size:19px;letter-spacing:.2em;left:16px}}
@media (min-width:1400px){.hdr-side{gap:24px}.ulink{font-size:12px;letter-spacing:.12em}.hdr-word{font-size:20px;letter-spacing:.24em;left:24px}}
@media (min-width:900px) and (max-width:1199px){.hdr-side{gap:16px}.ulink{font-size:11px;letter-spacing:.08em}.hdr-word{font-size:16px;letter-spacing:.16em;left:10px}
 .hdr-left .ulink[href="#how"],.hdr-left .ulink[href="#meet"]{display:none}.hdr-right .burger{display:grid}.mmenu:not([hidden]){display:flex!important}}
/* Scroll fix: the sticky header must not change height while scrolling on phones (the shrink near the top fed back into
   scroll anchoring on iOS and fought scrolling back to the very top). Desktop keeps its shrink; anchoring is disabled. */
html,body{overflow-anchor:none}
@media (max-width:899px){.hdr.scrolled .hdr-row{padding-top:10px;padding-bottom:10px}.hdr.scrolled .hdr-word{padding:14px 0}.hdr.scrolled .hdr-logo img{width:60px;height:60px}}
.policynote .depnote{margin:0 0 8px;color:#fff;font-weight:800;font-size:15px}
.earlywrap{grid-column:1/-1;margin-top:10px;display:flex;flex-direction:column;gap:10px}
.earlybtn{align-self:flex-start;padding:9px 16px;font-size:14px}
.earlyrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.earlyrow[hidden]{display:none}.earlyrow .hint{grid-column:1/-1;margin:0}
.slot.early{border-style:dashed}.earlynote{margin:0;padding:10px 12px;border:1px dashed rgba(255,255,255,.25);border-radius:10px}.earlynote[hidden]{display:none}
.waitbox{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.waitbox.live{flex-direction:column;align-items:stretch;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.04)}
.wtimer{font-size:16px;color:#fff}.wtimer b{font-size:22px;font-variant-numeric:tabular-nums}.wtimer .over{color:#f5c26b}
.wbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wbtns .btn{min-height:48px}.wbtns .btn[disabled]{opacity:.45}
/* Admin header on phones: brand on one row, nav buttons wrap to a full-width row below (no overflow). */
@media (max-width:600px){header.adm-hdr{flex-wrap:wrap;row-gap:10px}header.adm-hdr nav{width:100%;display:flex;gap:8px}header.adm-hdr .navbtn{flex:1 1 0;min-width:0;min-height:44px;padding:10px 8px;text-align:center;justify-content:center;white-space:nowrap}}
/* Add to Home Screen */
body.a2hs-on{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
@media (min-width:900px){body.a2hs-on{padding-bottom:0}}
.a2hs{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;padding:16px 12px calc(16px + env(safe-area-inset-bottom))}
.a2hs.hidden{display:none}
.a2hs-card{position:relative;width:100%;max-width:420px;background:#111317;border:1px solid var(--line2);border-radius:20px;padding:24px 20px 20px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.a2hs-x{position:absolute;top:12px;right:12px}.a2hs-icon{border-radius:14px;display:block;margin:0 auto 10px}
.a2hs-card h3{margin:0 0 14px;font-size:18px;color:#fff}.a2hs-card p{color:var(--mut);margin:0 0 14px}
.a2hs-steps{list-style:none;margin:0;padding:0;text-align:left;display:grid;gap:10px;counter-reset:s}
.a2hs-steps li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;color:#c9cdd4;font-size:15px;counter-increment:s}
.a2hs-steps li::before{content:counter(s);flex:none;width:24px;height:24px;border-radius:50%;background:#fff;color:#000;font-weight:800;font-size:13px;display:grid;place-items:center}
.a2hs-ic{flex:none;width:40px;height:40px;border-radius:10px;background:rgba(10,132,255,.14);color:#0a84ff;display:grid;place-items:center}

.pausebanner{background:#f5c26b;color:#000;font-weight:700;border-radius:12px;padding:12px 14px;margin:0 0 14px;text-align:center}
.lastmin{background:#f5c26b1f;border:1px solid #f5c26b;border-radius:12px;padding:12px 14px;margin:0 0 12px;color:#fff;font-size:15px;line-height:1.5}.lastmin b{color:#f5c26b}
/* iOS home-screen app (black-translucent status bar + viewport-fit=cover): keep the sticky header and menu below the
   status bar / Dynamic Island so the top of the page is reachable and visible. env() is 0 in normal browsers. */
@media (display-mode:standalone){header.hdr{padding-top:env(safe-area-inset-top,0px)}header.adm-hdr{padding-top:calc(12px + env(safe-area-inset-top,0px))}.mmenu{padding-top:calc(96px + env(safe-area-inset-top,0px))}}
.refreshbtn{float:right;display:inline-flex;align-items:center;gap:6px;margin:-4px 0 6px 8px;padding:7px 12px;min-height:36px;border-radius:999px;border:1px solid var(--line2,rgba(255,255,255,.18));background:transparent;color:#fff;font:600 13px/1 inherit;cursor:pointer}.refreshbtn:disabled{opacity:.4;cursor:default}.refreshbtn.spin svg{animation:rfspin .8s linear infinite}@keyframes rfspin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.refreshbtn.spin svg{animation:none}}
.slot:disabled{opacity:1;color:rgba(255,255,255,.32);background:rgba(255,255,255,.02);border-style:dashed;border-color:rgba(255,255,255,.1);pointer-events:none;line-height:1.15}.slot:disabled::after{content:'Unavailable';display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.38);margin-top:2px}
.refreshnote{clear:both;margin:4px 0 12px;padding:8px 12px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);color:var(--mut);font-size:13px;line-height:1.4}.refreshnote b{color:#fff}
.testbanner{position:relative;z-index:60;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#ffcc00;color:#000;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));font-size:14px;line-height:1.35}.testbanner b{font-weight:900;letter-spacing:.08em}.testbanner button{background:#000;color:#fff;border:0;border-radius:999px;padding:8px 14px;font:700 13px/1 inherit;cursor:pointer;min-height:36px}

/* Pull-to-refresh hint bar (bottom of sticky header, always visible) */
.ptrhint{display:flex;align-items:center;justify-content:center;gap:7px;padding:5px 12px;background:#0e1014;border-top:1px solid rgba(255,255,255,.06);color:var(--mut);font-size:12.5px;line-height:1.3;letter-spacing:.01em;text-align:center}
.ptrhint svg{flex:none;color:var(--txt);opacity:.85}

.bkid,.ref{-webkit-user-select:text;user-select:text;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.copybtn{font:inherit;font-size:12px;font-weight:600;line-height:1;padding:4px 10px;margin-left:4px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:inherit;cursor:pointer;vertical-align:baseline;min-width:44px}
.copybtn:hover{background:var(--bg2)}

.payopt.autobal{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;text-align:left;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--card2)}.payopt.autobal[hidden]{display:none}.payopt.autobal input{position:static;opacity:1;width:20px;height:20px;margin-top:2px;flex:none;accent-color:#fff}.payopt.autobal span,.payopt.autobal input:checked+span{padding:0;border:0;background:none;box-shadow:none}
