/* Welcome: warm editorial framing, real photography and direct role choices. */
body:has(.welcome-premium){background:var(--surface-f6f5f1);color:var(--ink-1b1b19)}
body:has(.welcome-premium) .welcome-bold-topbar{position:relative;inset:auto;height:86px;max-width:1180px;padding:29px 24px 25px;margin:0 auto;background:transparent;border:0;display:flex;align-items:center}
body:has(.welcome-premium) .welcome-bold-topbar>a:has(.wordmark){flex-basis:150px}
body:has(.welcome-premium) .welcome-bold-topbar .wordmark{width:150px;max-width:150px;height:auto;filter:none}
.welcome-premium{max-width:1180px;margin:0 auto;min-height:calc(100svh - 86px);padding:0 24px max(26px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:25px}
.welcome-visual{display:flex;flex-direction:column;gap:30px;min-width:0}
.welcome-photo{display:block;width:100%;height:clamp(230px,36svh,380px);object-fit:cover;object-position:48% 45%;border-radius:22px}
.welcome-message{padding:0 2px}
.welcome-message h1{font-size:clamp(35px,10.1vw,48px);line-height:1.07;letter-spacing:-1.9px;font-weight:600;margin:0;color:var(--ink-1b1b19)}
.welcome-message h1 span{color:var(--ink-77766f)}
.welcome-entry{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;padding:0;background:transparent}
.welcome-entry>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:20px;min-height:137px;padding:18px;border-radius:17px;text-align:left;font-family:"DM Sans",Arial,sans-serif;cursor:pointer;transition:background .15s,transform .15s}
.welcome-entry .welcome-passenger{background:var(--surface-1c1d1b);color:var(--ink-ffffff);border:1px solid var(--line-1c1d1b);box-shadow:0 5px 14px #1717170b}
.welcome-entry .welcome-driver{background:var(--surface-eeede7);color:var(--ink-1c1d1b);border:1px solid var(--line-e0dfd7)}
.welcome-role-icon{display:grid;place-items:center;width:28px;height:28px}
.welcome-role-icon .icon{width:25px;height:25px;stroke-width:1.6}
.welcome-role-label strong{display:block;font-size:17px;line-height:1.3;font-weight:600;letter-spacing:-.3px}
.welcome-role-label small{display:block;font-size:11px;line-height:1.5;font-weight:400;margin-top:4px;opacity:.65}
.welcome-role-arrow{position:absolute;top:20px;right:17px;opacity:.8}.welcome-role-arrow .icon{width:18px;height:18px}
.welcome-entry .welcome-passenger:hover{background:var(--surface-33342f)}.welcome-entry .welcome-driver:hover{background:var(--surface-e5e4dd)}.welcome-entry>button:active{transform:scale(.985)}
.welcome-entry button:focus-visible{outline:2px solid var(--line-777777);outline-offset:4px}
.welcome-signin{grid-column:1/-1;margin:0;text-align:center;font-size:11px;line-height:1.5;color:var(--ink-77766f)}
.welcome-signin button{font:600 11px "DM Sans",Arial,sans-serif;color:var(--ink-1b1b19);background:transparent;border:0;min-height:44px;padding:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(min-width:800px){body:has(.welcome-premium) .welcome-bold-topbar{height:108px;padding:34px 40px}.welcome-premium{min-height:calc(100svh - 108px);padding:12px 40px 50px;display:grid;grid-template-columns:1.3fr 1fr;column-gap:64px;align-items:center}.welcome-visual{display:contents}.welcome-photo{grid-column:1;grid-row:1/3;height:min(70svh,680px);border-radius:26px;object-position:46% center}.welcome-message{grid-column:2;align-self:end;padding-bottom:15px}.welcome-message h1{font-size:clamp(40px,4.5vw,60px);letter-spacing:-2.5px}.welcome-entry{grid-column:2;align-self:start;margin-top:0}.welcome-entry>button{min-height:158px;padding:22px}.welcome-role-label strong{font-size:19px}}
@media(max-width:360px){body:has(.welcome-premium) .welcome-bold-topbar{padding-left:20px;padding-right:20px}.welcome-premium{padding-left:20px;padding-right:20px;gap:22px}.welcome-message h1{font-size:34px}.welcome-entry>button{padding:16px;min-height:125px}.welcome-role-label strong{font-size:16px}}
@media(max-height:700px) and (max-width:799px){body:has(.welcome-premium) .welcome-bold-topbar{height:72px;padding-top:23px;padding-bottom:21px}.welcome-premium{min-height:calc(100svh - 72px);gap:21px;padding-bottom:20px}.welcome-photo{height:32svh;min-height:180px}.welcome-visual{gap:23px}.welcome-message h1{font-size:36px}.welcome-entry>button{min-height:119px;gap:14px}}
@media(prefers-reduced-motion:reduce){.welcome-entry>button{transition:none}}

/* Typography led welcome. */
.welcome-premium{gap:32px}.welcome-visual{flex:1;justify-content:center;min-height:300px;padding:30px 0}.welcome-message{padding:0}.welcome-message h1{font-size:clamp(48px,13.5vw,76px);line-height:1.02;letter-spacing:-2.7px}.welcome-tagline{font-size:16px;line-height:1.6;color:var(--ink-6a6962);margin:25px 0 0;letter-spacing:-.2px}.welcome-entry{margin-top:0}
@media(min-width:800px){.welcome-premium{grid-template-columns:1.3fr 1fr;align-items:center}.welcome-visual{display:flex;min-height:480px}.welcome-message{padding:0}.welcome-message h1{font-size:clamp(68px,7vw,94px);letter-spacing:-4px}.welcome-tagline{font-size:19px}.welcome-entry{align-self:center}}
@media(max-height:700px) and (max-width:799px){.welcome-visual{min-height:230px;padding:22px 0}.welcome-message h1{font-size:50px}.welcome-tagline{font-size:14px;margin-top:20px}}
