/* Dispatcher partner page */
.dp-hero{padding:8px 16px 0}
.dp-hero-in{background:var(--char);color:#f4f3ee;border-radius:var(--r-lg);overflow:hidden;padding:72px 56px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:end;max-width:1440px;margin:0 auto}
.dp-copy{align-self:center;padding-bottom:72px}
.dp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--lime);margin-bottom:22px}
.dp-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime)}
.dp-hero h1{font-size:clamp(40px,5vw,70px);line-height:1;letter-spacing:-.045em}
.dp-hero .lead{color:var(--on-dark);margin-top:22px}
.dp-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}
.dp-ctas .btn-line{color:#f4f3ee;border-color:#4a4a40}
.dp-login{color:var(--on-dark);font-weight:600;font-size:15px;padding:12px 8px;text-decoration:none}
.dp-login:hover{color:#fff}
.dp-cities{margin-top:28px;font-size:14px;color:#a9a89c}
.dp-cities b{color:#f4f3ee;font-weight:600}

/* Dashboard illustration */
.dp-board{background:var(--page);color:var(--ink);border-radius:22px 22px 0 0;padding:18px;box-shadow:0 -20px 60px -30px rgba(0,0,0,.6)}
.dp-board-top{display:flex;align-items:center;gap:10px;padding:4px 6px 16px}
.dp-board-top b{font-family:var(--f-head);font-weight:800;font-size:15px}
.dp-board-top span{font-size:12px;color:var(--muted)}
.dp-board-top i{margin-left:auto;font-style:normal;font-family:var(--f-head);font-weight:800;font-size:13px;padding:9px 14px;border-radius:999px;background:var(--lime);white-space:nowrap}
.dp-panes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dp-rides{background:var(--paper);border-radius:var(--r-sm);padding:6px 16px;list-style:none;margin:0}
.dp-rides li{padding:14px 0;border-bottom:1px solid #ecebe5}
.dp-rides li:last-child{border-bottom:0}
.dp-ride-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700}
.dp-badge{font-weight:600;font-size:11px;padding:3px 9px;border-radius:999px;background:#e9e8e1;color:#3a3a31}
.dp-badge.live{background:var(--lime);color:var(--ink)}
.dp-badge.done{background:var(--page);color:var(--muted)}
.dp-route{display:block;margin-top:6px;font-size:14px;font-weight:600}
.dp-guest{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.dp-map{background:#dfe4d6;border-radius:var(--r-sm);min-height:300px;position:relative;overflow:hidden}
.dp-map svg{position:absolute;inset:0;width:100%;height:100%}
.dp-map p{position:absolute;left:12px;right:12px;bottom:12px;background:var(--paper);border-radius:12px;padding:12px 14px;font-size:13px}
.dp-map p span{color:var(--muted)}
.dp-car{animation:dp-pulse 2.4s ease-in-out infinite;transform-origin:160px 190px}
@keyframes dp-pulse{50%{transform:scale(1.25)}}

/* Hero entrance */
.js .dp-hero .dp-copy>*,.js .dp-hero .dp-board{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .dp-hero.ready .dp-copy>*,.js .dp-hero.ready .dp-board{opacity:1;transform:none}
.js .dp-hero.ready .dp-copy>:nth-child(2){transition-delay:.06s}
.js .dp-hero.ready .dp-copy>:nth-child(3){transition-delay:.12s}
.js .dp-hero.ready .dp-copy>:nth-child(4){transition-delay:.18s}
.js .dp-hero.ready .dp-copy>:nth-child(5){transition-delay:.24s}
.js .dp-hero.ready .dp-board{transition-delay:.25s}

/* Who */
.dp-who-sub{margin:12px 0 40px}
.dp-who{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none;margin:0;padding:0}
.dp-who li{display:flex;gap:18px;padding:22px 0;border-top:1px solid var(--line)}
.dp-who b{font-family:var(--f-head);font-weight:800;font-size:20px;letter-spacing:-.015em;min-width:170px;flex:none}
.dp-who span{color:var(--ink-2);font-size:15px;line-height:1.55}

/* Features */
.dp-feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dp-feat{background:var(--page);border-radius:var(--r);padding:26px}
.dp-feat h3{font-size:19px;letter-spacing:-.01em}
.dp-feat p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.dp-feat.hl{background:var(--char);color:#f4f3ee}
.dp-feat.hl p{color:var(--on-dark)}
.dp-feat.hl h3::before{content:"";display:block;width:28px;height:4px;border-radius:2px;background:var(--lime);margin-bottom:16px}

/* How */
.dp-how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.dp-steps{list-style:none;margin:28px 0 0;padding:0}
.dp-steps li{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.dp-steps .step-n{flex:none;background:var(--paper)}
.dp-steps li:first-child .step-n{background:var(--lime)}
.dp-steps b{display:block;font-size:18px}
.dp-steps li span:last-child span{display:block;margin-top:4px;color:var(--ink-2);font-size:15px;line-height:1.55}
.dp-photo{border-radius:28px;overflow:hidden;aspect-ratio:4/5;max-height:600px;justify-self:end;width:100%;max-width:480px}
.dp-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}

/* FAQ */
.dp-faq-p{margin-top:14px}
.sec-white .faq summary::after{background:var(--page)}

/* Apply band */
.dp-apply{background:var(--lime);border-radius:var(--r-lg);padding:56px;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.dp-apply>div:first-child{flex:1 1 460px;min-width:0}
.dp-apply h2{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.035em}
.dp-apply p{margin-top:14px;font-size:17px;line-height:1.5;color:#2a3306;max-width:560px}
.dp-apply-btns{display:flex;flex-wrap:wrap;gap:12px}
.dp-apply .btn-line{border-color:var(--ink)}

@media (max-width:1100px){
  .dp-hero-in{grid-template-columns:1fr;padding:56px 40px 0;gap:8px}
  .dp-copy{padding-bottom:40px}
  .dp-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .dp-who{grid-template-columns:1fr}
  .dp-how{grid-template-columns:1fr;gap:40px}
  .dp-photo{justify-self:stretch;max-width:none;aspect-ratio:4/3}
}
@media (max-width:720px){
  .dp-hero{padding:4px 8px 0}
  .dp-hero-in{padding:40px 22px 0;border-radius:var(--r)}
  .dp-hero h1{font-size:clamp(36px,10vw,46px)}
  .dp-ctas .btn{flex:1 1 100%}
  .dp-login{flex:1 1 100%;text-align:center}
  .dp-panes{grid-template-columns:1fr}
  .dp-map{display:none}
  .dp-board{padding:12px;border-radius:18px 18px 0 0}
  .dp-board-top span{display:none}
  .dp-rides li:nth-child(n+4){display:none}
  .dp-who li{flex-direction:column;gap:6px;padding:18px 0}
  .dp-who b{min-width:0;font-size:19px}
  .dp-feats{grid-template-columns:1fr;gap:12px}
  .dp-feat{padding:22px}
  .dp-photo{aspect-ratio:4/3.4;border-radius:var(--r)}
  .dp-apply{padding:36px 24px;border-radius:var(--r)}
  .dp-apply-btns{width:100%}
  .dp-apply-btns .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.dp-car{animation:none}}
