/* Flinyo 0.8 — public experience. Intentionally scoped: consoles keep their own layout. */
body:is(.marketing, .auth-body, .share-body) {
  --forest: #123e34;
  --forest-deep: #092d25;
  --lime: #d8f38b;
  --paper: #f8f8f2;
  --ink: #153d32;
  --muted: #607369;
  --line: #dce3d8;
  --radius: 32px;
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: clip;
}
body:is(.marketing, .auth-body, .share-body) :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #5d862f;
  outline-offset: 5px;
}
body:is(.marketing, .auth-body, .share-body) :is(input, select, textarea) { font-size: 16px; }
body:is(.marketing, .auth-body, .share-body) :is(.button, .store-button) {
  min-height: 54px;
  padding: 16px 23px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.4;
  gap: 18px;
  transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
body:is(.marketing, .auth-body, .share-body) .button.dark { background: var(--forest); color: #fff; }
body:is(.marketing, .auth-body, .share-body) .button.outline { background: transparent; border: 1px solid #b8c7b9; }
body:is(.marketing, .auth-body, .share-body) .eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1.8; }
body:is(.marketing, .auth-body, .share-body) .fineprint { font-size: 13px; line-height: 1.8; }
body:is(.marketing, .auth-body, .share-body) .brand { font-size: 33px; letter-spacing: -1.5px; gap: 9px; }
body:is(.marketing, .auth-body, .share-body) .brand img { width: 38px; height: 38px; }
body:is(.marketing, .auth-body, .share-body) .motion-utility { display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 13px; color: var(--muted); }
body:is(.marketing, .auth-body, .share-body) [data-motion-toggle] { min-height: 44px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 100px; background: #fff9; font-size: 13px; line-height: 1.5; white-space: normal; }
body.marketing .shell { width: 100%; max-width: 1400px; margin-inline: auto; padding-inline: 56px; }
body.marketing .skip:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; padding: 0; overflow: hidden; white-space: nowrap; }
body.marketing .top-note { min-height: 40px; padding: 8px 24px; font-size: 12px; line-height: 1.5; letter-spacing: .02em; background: var(--forest); color: #fff; gap: 11px; }
body.marketing .top-note > a { font-size: 12px; margin-inline-start: 22px; gap: 10px; }
body.marketing .note-dot { background: var(--lime); width: 6px; height: 6px; }
body.marketing .header { min-height: 106px; gap: 28px; }
body.marketing .header nav { gap: 27px; }
body.marketing .header nav > a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; position: relative; }
body.marketing .header nav > a::after { content: ''; position: absolute; inset-inline: 0; bottom: 7px; height: 2px; background: var(--forest); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
body.marketing .header nav > a:hover::after { transform: scaleX(1); }
body.marketing .header-actions { gap: 16px; }
body.marketing .country-trigger { min-height: 44px; font-size: 13px; gap: 8px; }
body.marketing .language { min-height: 44px; gap: 5px; }
body.marketing .language select { font-size: 13px; min-height: 44px; }
body.marketing .login-link { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
body.marketing .header .button.compact { min-height: 46px; padding: 12px 17px; font-size: 13px; }
body.marketing .hero { grid-template-columns: 1fr 1fr; gap: 52px; padding-top: 38px; padding-bottom: 68px; align-items: center; }
body.marketing .hero-copy { padding-block: 20px 0; padding-inline-end: 0; }
body.marketing .hero-eyebrow { font-size: 11px; letter-spacing: .13em; gap: 10px; }
body.marketing .spark { font-size: 23px; color: #507b3e; }
body.marketing .hero h1 { margin-top: 28px; font-size: clamp(64px, 6.8vw, 96px); line-height: 1.04; letter-spacing: -.065em; font-weight: 650; }
body.marketing .hero h1 > span { color: #6c8663; }
body.marketing .hero-copy > p { max-width: 480px; margin-top: 28px; font-size: 18px; line-height: 1.85; color: #647368; }
body.marketing .hero-actions { margin-top: 34px; gap: 20px; }
body.marketing .text-link { min-height: 48px; font-size: 14px; gap: 10px; }
body.marketing .hero-platforms { margin-top: 30px; gap: 12px; }
body.marketing .hero-platforms strong { font-size: 14px; }
body.marketing .hero-platforms div > span { font-size: 13px; }
body.marketing .mini-app-icon { width: 43px; height: 43px; border-radius: 13px; }
body.marketing .hero-signature { max-width: 440px; padding-top: 25px; margin-top: 33px; gap: 24px; }
body.marketing .hero-signature > span:first-child { font-size: 26px; }
body.marketing .hero-signature > span:last-child { font-size: 12px; line-height: 1.6; }
body.marketing .hero-scene { height: 690px; border-radius: 34px; background: #dce4c8; }
body.marketing .hero-photo { border-radius: inherit; object-position: 36% center; }
body.marketing .scene-shade { border-radius: inherit; background: linear-gradient(180deg, #0a302944 0%, transparent 35%, #0a302999 100%); }
body.marketing .scene-top { inset-inline: 28px; top: 25px; }
body.marketing .scene-kicker { font-size: 10px; letter-spacing: .12em; max-width: 160px; line-height: 1.7; }
body.marketing .scene-stamp { font-size: 39px; }
body.marketing .scene-place { top: 96px; inset-inline-start: 24px; max-width: 232px; font-size: 12px; line-height: 1.6; padding: 13px 15px; border-radius: 13px; }
body.marketing .scene-place .icon { width: 18px; height: 18px; }
body.marketing .floating-note { top: auto; bottom: 70px; inset-inline-start: -30px; z-index: 4; max-width: 242px; padding: 17px 19px; border-radius: 18px; box-shadow: 0 14px 35px #0a302926; gap: 12px; }
body.marketing .floating-icon { width: 42px; height: 42px; border-radius: 13px; }
body.marketing .floating-note strong { font-size: 13px; line-height: 1.6; }
body.marketing .floating-note div > span { font-size: 11px; line-height: 1.7; }
body.marketing .scene-caption { bottom: 16px; inset-inline: 24px; font-size: 9px; letter-spacing: .08em; color: #fff; }
body.marketing .phone-preview { --phone-tilt: 5deg; width: 300px; inset-inline-end: 28px; bottom: 98px; padding: 19px 17px 11px; border: 6px solid #13392f; border-radius: 36px; transform: rotate(var(--phone-tilt)); box-shadow: 14px 25px 50px #092d254d; }
body.marketing .phone-status { font-size: 10px; margin-bottom: 19px; }
body.marketing .phone-heading small { font-size: 9px; }
body.marketing .phone-heading strong { font-size: 14px; }
body.marketing .phone-avatar { width: 34px; height: 34px; font-size: 12px; }
body.marketing .phone-preview h2 { margin-top: 19px; font-size: 27px; letter-spacing: -1px; line-height: 1.18; }
body.marketing .phone-service-tabs { margin-top: 18px; }
body.marketing .phone-service-tabs button { min-height: 44px; font-size: 13px; border-radius: 12px; padding: 10px; transition: background-color 160ms ease, color 160ms ease; }
body.marketing .phone-service-tabs .icon { width: 18px; height: 18px; }
body.marketing .phone-map { height: 115px; }
body.marketing .map-route-line { inset: 0; width: 100%; height: 100%; border: 0; border-radius: 0; transform: none; }
body.marketing .map-route-line svg { display: block; width: 100%; height: 100%; fill: none; stroke-linejoin: round; stroke-linecap: round; }
body.marketing .phone-route-base { stroke: #aec39e; stroke-width: 2; stroke-dasharray: 4 5; }
body.marketing .phone-route-trace { stroke: #184f3b; stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: 0; }
body.marketing .phone-map-pin { top: 22px; inset-inline-start: calc(28.8% - 15px); }
body.marketing .map-label { font-size: 11px; }
body.marketing .phone-destination { min-height: 45px; font-size: 11px; }
body.marketing .phone-vehicle { padding-block: 13px; }
body.marketing .phone-vehicle strong { font-size: 11px; }
body.marketing .phone-vehicle small { font-size: 10px; }
body.marketing .phone-vehicle b { font-size: 11px; }
body.marketing .phone-action { min-height: 44px; font-size: 12px; padding: 12px; border-radius: 11px; }
body.marketing .phone-bottom { padding-top: 12px; }
body.marketing .phone-food-photo { height: 148px; }
body.marketing .phone-food-photo > span { font-size: 11px; }
body.marketing .phone-food-info strong { font-size: 14px; }
body.marketing .phone-food-info > span { font-size: 12px; line-height: 1.65; }
body.marketing .phone-food-info { padding-block: 15px; }
body.marketing .brand-strip { display: grid; grid-template-columns: .9fr repeat(4, 1fr); gap: 22px; padding-top: 27px; padding-bottom: 27px; border-block: 1px solid var(--line); }
body.marketing .brand-strip > span { font-size: 10px; line-height: 1.8; letter-spacing: .14em; }
body.marketing .brand-strip > div { font-size: 13px; gap: 12px; line-height: 1.6; }
body.marketing .brand-strip .icon { width: 23px; height: 23px; }
body.marketing .section-space { padding-top: 104px; padding-bottom: 0; margin-top: 0; }
body.marketing .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 40px; }
body.marketing :is(.section-heading h2, .advanced-heading h2, .estimate-copy h2, .faq h2) { font-size: clamp(43px, 4.4vw, 62px); letter-spacing: -.055em; line-height: 1.12; font-weight: 650; margin-top: 16px; }
body.marketing :is(.section-heading > p, .market-intro > p, .advanced-heading > p) { font-size: 16px; color: #637267; line-height: 1.9; max-width: 420px; }
body.marketing .service-grid { gap: 26px; }
body.marketing .service-card { min-height: 642px; padding: 36px; border-radius: 30px; }
body.marketing .ride-card { background: #ddebba; }
body.marketing .service-label { font-size: 15px; gap: 10px; }
body.marketing .service-number { font-size: 12px; opacity: .7; }
body.marketing .service-card h3 { font-size: clamp(43px, 4.25vw, 60px); letter-spacing: -.055em; line-height: 1.1; margin-top: 30px; font-weight: 650; }
body.marketing .service-card p { font-size: 15px; line-height: 1.9; margin-top: 20px; position: relative; z-index: 2; }
body.marketing .service-tags { gap: 8px; margin-top: 21px; }
body.marketing .service-tags > span { font-size: 12px; padding: 7px 12px; border: 1px solid #6c866350; border-radius: 100px; background: #ffffff44; }
body.marketing .ride-art { bottom: 85px; height: 230px; }
body.marketing .ride-art > img { width: 86%; max-width: 430px; }
body.marketing .ride-art-word { font-size: 130px; opacity: .15; }
body.marketing .service-link { inset-inline: 36px; width: calc(100% - 72px); bottom: 24px; min-height: 59px; padding-top: 13px; border-top: 1px solid #123e3426; font-size: 14px; }
body.marketing .circle-arrow { width: 43px; height: 43px; border-radius: 50%; }
body.marketing .eat-card .service-link { border-color: #ffffff66; }
body.marketing .eat-shade { background: linear-gradient(180deg, #152f23df 0%, #152f2373 56%, #152f23e0 100%); }
body.marketing .eat-sticker { width: 112px; height: 112px; bottom: 119px; inset-inline-end: 34px; font-size: 30px; line-height: 1.2; }
body.marketing .eat-sticker small { font-size: 10px; }
body.marketing .advanced-heading { grid-template-columns: 1.25fr 1fr; gap: 0 60px; margin-bottom: 38px; }
body.marketing .advanced-heading > .eyebrow { grid-column: 1 / -1; }
body.marketing .advanced-grid { grid-template-columns: 1.1fr 1fr 1fr; gap: 20px; }
body.marketing .advanced-card { border-radius: 26px; min-height: 445px; padding: 32px; display: flex; flex-direction: column; }
body.marketing .advanced-safety { background: #123e34; }
body.marketing .advanced-food { background: #e5edda; }
body.marketing .advanced-work { background: #eeeadf; }
body.marketing .advanced-icon { width: 48px; height: 48px; border-radius: 15px; margin-bottom: 24px; font-size: 26px; }
body.marketing .advanced-label { font-size: 10px; letter-spacing: .14em; opacity: .8; }
body.marketing .advanced-card h3 { font-size: 28px; line-height: 1.22; letter-spacing: -.045em; margin-bottom: 20px; font-weight: 650; }
body.marketing .advanced-card > p { font-size: 14px; line-height: 1.85; opacity: .85; max-width: none; padding-bottom: 25px; }
body.marketing .advanced-mini { margin-top: auto; font-size: 12px; min-height: 55px; }
body.marketing .advanced-workflow { margin-top: auto; padding-top: 18px; border-top: 1px solid #c3d0b9; display: flex; gap: 10px; align-items: center; font-size: 11px; font-weight: 700; line-height: 1.7; }
body.marketing .advanced-safety .advanced-workflow { border-color: #ffffff33; color: #def0cc; }
body.marketing .advanced-workflow > b { width: 29px; height: 29px; border-radius: 50%; background: #d8f38b; color: var(--forest); display: grid; place-items: center; flex-shrink: 0; }
body.marketing .advanced-note { font-size: 13px; color: #667265; line-height: 1.8; margin-top: 22px; text-align: start; }
body.marketing .markets-section { margin-top: 104px; padding-block: 82px; background: #eff1e8; border-block: 1px solid #e2e6d9; }
body.marketing .configuration-note { font-size: 12px; line-height: 1.8; margin-top: 20px; }
body.marketing .market-workspace { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); border: 1px solid #d6dece; border-radius: 28px; overflow: hidden; background: #fffdf7; }
body.marketing .market-browser { padding: 30px; min-width: 0; }
body.marketing .market-search { min-height: 54px; padding-inline: 17px; border: 1px solid #d7dfcf; border-radius: 13px; background: #fff; }
body.marketing .market-search input { font-size: 15px; min-height: 52px; }
body.marketing .region-tabs { gap: 7px; margin-block: 20px; flex-wrap: wrap; }
body.marketing .region-tabs button { font-size: 13px; min-height: 44px; padding: 10px 15px; border-radius: 100px; }
body.marketing .region-tabs button.selected { background: var(--forest); color: #fff; }
body.marketing .country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: 436px; overflow: auto; padding: 3px 6px 5px 3px; scrollbar-width: thin; scrollbar-color: #a5b99a #f0f3e9; }
body.marketing .country-card { min-height: 76px; padding: 14px; gap: 12px; border: 1px solid #e2e7da; border-radius: 13px; background: #fff; transition: border-color 180ms ease, background-color 180ms ease; }
body.marketing .country-card.selected { background: #e9f0dc; border-color: #829e65; box-shadow: inset 0 0 0 1px #829e65; }
body.marketing .country-card strong { font-size: 14px; line-height: 1.5; white-space: normal; }
body.marketing .country-card small { font-size: 12px; line-height: 1.6; margin-top: 4px; }
body.marketing .country-check { font-size: 13px; }
body.marketing .market-results { font-size: 12px; margin-top: 17px; }
body.marketing .market-detail { background: var(--forest); color: #fff; padding: 31px; border: 0; border-radius: 0; }
body.marketing .market-detail h3 { font-size: 39px; letter-spacing: -.04em; margin-top: 22px; }
body.marketing .market-native { font-size: 22px; color: #d0dfbf; margin-top: 4px; }
body.marketing .demo-pill { font-size: 10px; letter-spacing: .07em; padding: 7px 10px; border-radius: 100px; }
body.marketing .market-detail .demo-pill { background: #d8f38b; color: #123e34; }
body.marketing .market-detail-line { font-size: 13px; padding-block: 16px; border-bottom-color: #ffffff26; color: #d4dfcc; }
body.marketing .market-detail-line > span { color: #cbd9c3; }
body.marketing .market-detail-line strong { font-size: 15px; color: #fff; }
body.marketing .market-detail > label { font-size: 13px; color: #e5edde; margin-top: 22px; margin-bottom: 9px; }
body.marketing .market-detail > select { min-height: 51px; font-size: 15px; background: #f9fbf2; padding-inline: 14px; border-radius: 11px; }
body.marketing .market-small-map { height: 145px; margin-block: 20px; border-radius: 14px; }
body.marketing .market-small-map > span { font-size: 13px; background: #fff; color: var(--forest); }
body.marketing .market-small-map small { font-size: 10px; background: #ffffffd9; color: #314c3b; padding: 3px 6px; border-radius: 4px; }
body.marketing .market-detail .button { background: var(--lime); color: var(--forest); font-size: 14px; }
body.marketing .markets-disclaimer { font-size: 13px; margin-top: 22px; text-align: start; color: #657160; line-height: 1.8; }
body.marketing .estimate-stage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 65px; padding: 54px; border: 0; border-radius: 32px; background: var(--forest); color: #fff; }
body.marketing .estimate-copy .eyebrow { font-size: 11px; color: #d8f38b; }
body.marketing .estimate-copy h2 { font-size: clamp(44px, 4.5vw, 66px); margin-top: 24px; }
body.marketing .estimate-copy > p { font-size: 16px; color: #cbd9c6; line-height: 1.85; margin-top: 23px; }
body.marketing .estimate-benefits { gap: 18px; margin-top: 35px; }
body.marketing .estimate-benefits > div { font-size: 13px; gap: 12px; line-height: 1.7; }
body.marketing .estimate-benefits > div > span:first-child { width: 23px; height: 23px; background: #d8f38b; color: var(--forest); flex-shrink: 0; }
body.marketing .estimate-decoration { color: #537949; margin-top: 45px; }
body.marketing .estimate-form { padding: 29px; border: 1px solid #fff; border-radius: 22px; color: var(--forest); background: #fbfcf7; box-shadow: 0 24px 60px #061f2433; }
body.marketing .estimate-form-head { margin-bottom: 25px; }
body.marketing .estimate-form-head > span:first-child { font-size: 17px; }
body.marketing :is(.estimate-form > label, .estimate-form legend, .route-fields label) { font-size: 13px; line-height: 1.6; margin-bottom: 9px; }
body.marketing .estimate-form select { height: 52px; font-size: 14px; padding-inline: 13px; border-radius: 11px; }
body.marketing .route-fields { margin-block: 20px; }
body.marketing .route-fields > div { padding-inline-start: 24px; }
body.marketing .vehicle-option { border-radius: 12px; min-height: 110px; padding: 12px 6px; }
body.marketing .vehicle-option strong { font-size: 14px; }
body.marketing .vehicle-option small { font-size: 11px; line-height: 1.6; }
body.marketing .vehicle-option img { height: 38px; width: 77px; }
body.marketing .vehicle-option.selected { background: #eaf0dc; border-color: #769451; }
body.marketing .vehicle-option:has(input:focus-visible) { outline: 3px solid #5d862f; outline-offset: 4px; }
body.marketing .estimate-form > .button { min-height: 53px; font-size: 14px; margin-top: 23px; }
body.marketing .estimate-form > .fineprint { font-size: 12px; color: #63715e; margin-top: 15px; }
body.marketing .estimate-result { background: #eaf1dd; border: 0; padding: 17px; border-radius: 13px; margin-top: 18px; align-items: start; flex-direction: column; gap: 9px; }
body.marketing .estimate-result > div:first-child > span { font-size: 12px; }
body.marketing .estimate-result strong { font-size: 27px; line-height: 1.4; }
body.marketing .estimate-result-meta { font-size: 12px; line-height: 1.6; }
body.marketing .feature-grid { gap: 22px; }
body.marketing .feature-card { padding: 29px; border-radius: 23px; background: #fffefa; display: flex; flex-direction: column; }
body.marketing .feature-icon { width: 48px; height: 48px; border-radius: 14px; margin-bottom: 24px; }
body.marketing .feature-card h3 { font-size: 25px; letter-spacing: -.04em; line-height: 1.3; min-height: 0; }
body.marketing .feature-card > p { font-size: 14px; line-height: 1.85; max-width: none; margin-block: 17px 22px; min-height: 0; }
body.marketing .feature-ui { width: 100%; min-height: 78px; padding: 14px; margin-top: auto; gap: 12px; }
body.marketing .feature-ui strong { font-size: 13px; }
body.marketing .feature-ui small { font-size: 12px; }
body.marketing .chat-ui > span:last-child { font-size: 12px; line-height: 1.6; }
body.marketing .partner-banner { padding: 47px; border-radius: 28px; min-height: 280px; background: #e4edce; color: var(--forest); display: flex; align-items: center; justify-content: space-between; gap: 50px; }
body.marketing .partner-banner .eyebrow { color: #57724d; }
body.marketing .partner-banner h2 { font-size: clamp(40px, 4vw, 58px); letter-spacing: -.055em; line-height: 1.12; margin-top: 20px; }
body.marketing .partner-banner > p { position: relative; z-index: 1; font-size: 16px; line-height: 1.85; max-width: 390px; color: #4e674c; }
body.marketing .partner-banner-word { opacity: .06; font-size: 170px; }
body.marketing .partner-grid { margin-top: 24px; gap: 20px; }
body.marketing .partner-card { padding: 29px 25px; border: 1px solid var(--line); border-radius: 21px; background: #fffefa; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; align-items: start; }
body.marketing .partner-icon { width: 48px; height: 48px; border-radius: 14px; }
body.marketing .partner-card h3 { font-size: 22px; line-height: 1.3; letter-spacing: -.03em; }
body.marketing .partner-card p { font-size: 14px; line-height: 1.8; margin-top: 12px; }
body.marketing .partner-card div > span { display: block; font-size: 13px; margin-top: 22px; font-weight: 750; padding-inline-end: 18px; }
body.marketing .partner-arrow { width: 19px; height: 19px; inset-inline-end: 21px; bottom: 26px; top: auto; }
body.marketing .partner-note { text-align: start; margin-top: 20px; }
body.marketing .faq { grid-template-columns: .85fr 1.25fr; gap: 90px; }
body.marketing .faq-heading > p { font-size: 16px; color: #6b796b; line-height: 1.9; margin-top: 24px; }
body.marketing .faq-flower { font-size: 80px; color: #78915f; margin-top: 28px; }
body.marketing .faq-list details { padding-block: 0; border-bottom: 1px solid var(--line); }
body.marketing .faq-list summary { min-height: 77px; padding-block: 22px; gap: 24px; font-size: 16px; line-height: 1.7; }
body.marketing .faq-list summary > span:last-child { width: 29px; height: 29px; font-size: 25px; background: #ecf0e2; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; line-height: 1; }
body.marketing .faq-list details > p { font-size: 15px; line-height: 1.9; padding: 0 28px 26px 0; color: #687465; }
body.marketing .download-panel { grid-template-columns: 1.3fr .8fr; padding: 58px; border-radius: 32px; min-height: 480px; background: var(--forest); color: #fff; }
body.marketing .download-panel .eyebrow { color: #c9ddae; }
body.marketing .download-panel h2 { font-size: clamp(42px, 4.25vw, 61px); line-height: 1.15; letter-spacing: -.045em; margin-top: 22px; }
body.marketing .download-panel h2 > span { color: var(--lime); }
body.marketing .download-panel p { font-size: 16px; line-height: 1.85; color: #cfddc6; margin-top: 24px; }
body.marketing .store-buttons { gap: 13px; margin-top: 27px; }
body.marketing .store-button { padding: 13px 18px; min-height: 65px; background: #fbfcf6; color: var(--forest); gap: 12px; }
body.marketing .store-button small { font-size: 10px; line-height: 1.5; color: #65765a; }
body.marketing .store-button strong { font-size: 16px; line-height: 1.4; }
body.marketing .store-button > svg { width: 25px; height: 25px; }
body.marketing .download-demo-link { font-size: 13px; line-height: 1.7; margin-top: 22px; min-height: 44px; display: inline-flex; align-items: center; color: #e5efd9; }
body.marketing .download-art { width: 100%; height: 340px; align-self: center; }
body.marketing .download-app-icon { width: 125px; height: 125px; border-radius: 31px; }
body.marketing .download-arabic { font-size: 69px; color: var(--lime); }
body.marketing .download-tag { font-size: 11px; color: #355b32; }
body.marketing .footer { padding-top: 77px; padding-bottom: 25px; }
body.marketing .footer-main { gap: 45px; padding-bottom: 48px; }
body.marketing .footer-brand > p { font-size: 14px; line-height: 1.8; margin-top: 20px; }
body.marketing .footer-group > strong { font-size: 11px; letter-spacing: .1em; margin-bottom: 12px; }
body.marketing .footer-group :is(a, button) { font-size: 14px; min-height: 37px; line-height: 1.6; text-align: start; }
body.marketing .footer-country > span { font-size: 25px; }
body.marketing .footer-country > button { min-height: 45px; padding: 9px 13px; font-size: 13px; }
body.marketing .footer-bottom { font-size: 12px; padding-block: 21px; gap: 25px; }
body.marketing .footer-bottom > p { font-size: 12px; line-height: 1.8; }
body.marketing .footer-bottom > a { width: 44px; height: 44px; font-size: 23px; }
body.marketing .footer .motion-utility { border-top: 1px solid var(--line); padding-top: 15px; }
body.marketing .modal { width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 41px; border-radius: 25px; border: 1px solid #d4dfc9; box-shadow: 0 30px 100px #092d2540; }
body.marketing .modal::backdrop { background: #082b27a6; backdrop-filter: blur(6px); }
body.marketing .modal-close { width: 44px; height: 44px; top: 16px; inset-inline-end: 16px; font-size: 28px; border-radius: 50%; background: #edf1e4; }
body.marketing .modal > .eyebrow { padding-inline-end: 35px; display: block; }
body.marketing .modal h2 { font-size: 37px; line-height: 1.17; letter-spacing: -.045em; margin-top: 17px; }
body.marketing .modal > p { font-size: 15px; line-height: 1.85; margin-top: 20px; }
body.marketing .modal-country-list { gap: 10px; max-height: 380px; margin-top: 20px; padding: 4px; }
body.marketing .modal-country-list .country-card { min-height: 72px; padding: 13px; }
body.marketing .modal-country-list .country-card strong { font-size: 13px; }
body.marketing .modal-country-list .country-card small { font-size: 11px; }
body.marketing .modal .fineprint { font-size: 12px; }
body.marketing .info-content { font-size: 15px; line-height: 1.85; }
body.marketing .info-content p { margin-top: 18px; }
body.marketing .food-menu-preview article { padding-block: 17px; }
body.marketing .food-menu-preview strong { font-size: 15px; }
body.marketing .food-menu-preview small { font-size: 13px; }
body.marketing .food-menu-preview b { font-size: 14px; }
body.marketing #toast { font-size: 14px; line-height: 1.7; border-radius: 14px; max-width: min(520px, calc(100vw - 32px)); padding: 15px 22px; }

/* The same materials and type scale continue through authentication. */
body.auth-body .auth-header { max-width: 1400px; padding: 29px 56px; margin: 0 auto; min-height: 100px; }
body.auth-body .auth-language { gap: 24px; }
body.auth-body .auth-language select { min-height: 44px; font-size: 14px; border-radius: 10px; padding: 10px 12px; }
body.auth-body .back-link { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
body.auth-body .auth-layout { max-width: 1400px; margin: 0 auto; padding: 14px 56px 60px; grid-template-columns: 1.05fr 1fr; gap: 84px; align-items: start; }
body.auth-body .auth-art { top: 26px; min-height: 790px; padding: 42px; border-radius: 30px; }
body.auth-body .auth-art > .eyebrow { font-size: 10px; line-height: 1.8; }
body.auth-body .auth-art h1 { font-size: clamp(44px, 4.4vw, 62px); line-height: 1.16; letter-spacing: -.05em; margin-top: 38px; }
body.auth-body .auth-art > p { font-size: 16px; line-height: 1.85; margin-top: 25px; color: #e0e9d6; }
body.auth-body .auth-art::after { background: linear-gradient(180deg, #072d24f5 0%, #123e34cb 44%, #123e341a 84%, #123e3470); }
body.auth-body .auth-art-note { inset-inline: 30px; bottom: 30px; padding: 17px; font-size: 13px; line-height: 1.6; border-radius: 13px; }
body.auth-body .auth-panel { padding-top: 29px; max-width: 500px; width: 100%; }
body.auth-body .auth-panel > .eyebrow { font-size: 11px; color: #688158; }
body.auth-body .auth-panel h2 { font-size: 43px; line-height: 1.18; letter-spacing: -.05em; font-weight: 650; margin-top: 19px; }
body.auth-body .auth-panel > p { font-size: 16px; line-height: 1.8; margin-top: 18px; color: #687767; }
body.auth-body .auth-tabs { display: flex; background: #eaf0df; padding: 5px; border: 1px solid #dce4d3; border-radius: 13px; margin-top: 29px; margin-bottom: 28px; gap: 5px; }
body.auth-body .auth-tabs button { min-height: 47px; flex: 1; padding: 11px; border: 0; border-radius: 9px; font-size: 14px; line-height: 1.6; }
body.auth-body .auth-tabs button.selected { background: #fff; box-shadow: 0 2px 6px #19392f0f; }
body.auth-body .form-field { margin-bottom: 22px; }
body.auth-body .form-field label { display: block; font-size: 14px; font-weight: 750; margin-bottom: 9px; }
body.auth-body .form-field :is(input, select, textarea) { min-height: 55px; border-radius: 11px; font-size: 16px; padding: 14px; background: #fffefa; border: 1px solid #ccd7c5; }
body.auth-body .form-field textarea { line-height: 1.7; min-height: 105px; }
body.auth-body .auth-country-row { gap: 16px; grid-template-columns: 1fr 1fr; }
body.auth-body .auth-country-row select { font-size: 16px; padding-inline: 12px; }
body.auth-body .phone-input, body.auth-body .password-input { min-height: 55px; border-radius: 11px; border: 1px solid #ccd7c5; background: #fffefa; }
body.auth-body .phone-input input, body.auth-body .password-input input { border: 0; background: transparent; min-width: 0; }
body.auth-body .phone-input > span { font-size: 14px; padding-inline: 14px; }
body.auth-body .password-input > button { width: 48px; min-height: 51px; font-size: 21px; }
body.auth-body .form-hint, body.auth-body .auth-fineprint { font-size: 12px; line-height: 1.85; margin-top: 9px; color: #6b7868; }
body.auth-body .auth-submit { min-height: 55px; font-size: 15px; margin-top: 4px; }
body.auth-body .form-feedback { padding: 15px; border-radius: 11px; font-size: 14px; line-height: 1.75; margin-block: 15px; }
body.auth-body .api-status { margin-top: 25px; padding: 19px; background: #f0f2e8; border: 1px solid #dce4d4; border-radius: 14px; font-size: 13px; }
body.auth-body .api-status > strong { display: flex; align-items: center; gap: 9px; font-size: 13px; }
body.auth-body .api-status > strong::before { content: ''; width: 7px; height: 7px; background: #7b8976; border-radius: 50%; }
body.auth-body .api-status[data-connection=connected] > strong::before { background: #4d7d2b; }
body.auth-body .api-status[data-connection=unavailable] > strong::before { background: #a56a35; }
body.auth-body .api-status p { font-size: 12px; line-height: 1.85; margin-top: 8px; }
body.auth-body .demo-accounts { padding: 13px; border-radius: 11px; }
body.auth-body .demo-accounts > summary { font-size: 13px; min-height: 35px; }
body.auth-body .demo-accounts > p { font-size: 12px; line-height: 1.8; }
body.auth-body .demo-account { min-height: 44px; padding: 11px; font-size: 12px; gap: 13px; }
body.auth-body .demo-account b { font-size: 12px; }
body.auth-body .account-identity { margin-top: 28px; gap: 16px; }
body.auth-body .account-avatar { width: 58px; height: 58px; font-size: 23px; }
body.auth-body .account-identity h3 { font-size: 24px; }
body.auth-body .account-identity p { font-size: 14px; line-height: 1.7; }
body.auth-body .auth-account dl { font-size: 14px; line-height: 2; }
body.auth-body .account-summary { gap: 15px; margin-top: 24px; }
body.auth-body .account-summary > div { padding: 20px; border-radius: 14px; background: #e9efdd; }
body.auth-body .account-summary strong { font-size: 35px; }
body.auth-body .account-summary span { font-size: 12px; line-height: 1.7; }
body.auth-body .account-launchers { gap: 11px; }
body.auth-body .partner-application { padding: 25px; margin-top: 28px; background: #f0f3e7; border-radius: 19px; }
body.auth-body .partner-application h3 { font-size: 25px; letter-spacing: -.03em; }
body.auth-body .partner-application > p { font-size: 14px; line-height: 1.8; margin-block: 13px 25px; }
body.auth-body .partner-app-status article { font-size: 14px; padding: 15px; line-height: 1.8; }
body.auth-body .text-button { font-size: 14px; min-height: 48px; margin-top: 18px; }
body.auth-body .auth-utility { max-width: 1288px; margin: 0 auto; padding: 20px 0 28px; border-top: 1px solid var(--line); }

/* Private shared trips: clear status, itinerary, driver and privacy context. */
body.share-body { min-height: 100dvh; background: radial-gradient(ellipse at top right, #e1edcc 0, transparent 55%), var(--paper); }
body.share-body .share-shell { max-width: 1060px; padding: 36px 36px 28px; margin: 0 auto; }
body.share-body .share-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 32px; border-bottom: 1px solid #d5dfca; }
body.share-body #share-language { min-height: 46px; font-size: 14px; border: 1px solid #cad8be; border-radius: 11px; padding: 10px 13px; background: #fff9; }
body.share-body .share-heading { display: grid; grid-template-columns: 1fr auto; gap: 14px 30px; margin: 54px 0 34px; }
body.share-body .share-heading > .eyebrow { grid-column: 1 / -1; color: #63834f; }
body.share-body .share-heading h1 { font-size: clamp(40px, 5vw, 61px); line-height: 1.1; letter-spacing: -.05em; font-weight: 650; }
body.share-body .share-heading p { grid-column: 1; max-width: 580px; font-size: 16px; color: #64775f; line-height: 1.85; }
body.share-body .share-emblem { grid-column: 2; grid-row: 2 / 4; align-self: center; display: grid; place-items: center; width: 86px; height: 86px; border-radius: 25px; background: #d8edb8; color: #547343; }
body.share-body .share-emblem svg { width: 41px; height: 41px; fill: none; stroke: currentColor; stroke-width: 1.4; }
body.share-body .share-card { overflow: hidden; padding: 0; background: #fffefa; border: 1px solid #d5dfcb; border-radius: 26px; box-shadow: 0 18px 60px #173c2e09; }
body.share-body .share-status { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; padding: 23px 30px; min-height: 79px; background: var(--forest); color: #fff; }
body.share-body .share-status .live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); flex-shrink: 0; }
body.share-body #status { font-size: 16px; line-height: 1.7; }
body.share-body #freshness { font-size: 12px; color: #d8e6c8; margin-inline-start: auto; }
body.share-body .share-card[data-state=error] .share-status { background: #67563c; }
body.share-body .share-card[data-state=ended] .share-status { background: #53685c; }
body.share-body .share-card[data-state=error] .live-dot, body.share-body .share-card[data-state=ended] .live-dot { background: #e7dcc3; }
body.share-body .share-content { padding: 32px; display: grid; grid-template-columns: 1.15fr 1fr; gap: 38px; align-items: start; }
body.share-body .route { display: flex; flex-direction: column; gap: 0; padding: 0; }
body.share-body .route > div { padding: 0 0 27px 30px; position: relative; }
body.share-body .route > div::before { content: ''; position: absolute; inset-inline-start: 1px; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: #67834f; box-shadow: 0 0 0 5px #e8efdc; }
body.share-body .route > div:last-child::before { border-radius: 2px; background: var(--forest); }
body.share-body .route > div:not(:last-child)::after { content: ''; position: absolute; inset-inline-start: 5px; top: 25px; bottom: 9px; border-inline-start: 1px dashed #b3c5a3; }
body.share-body .route small { display: block; font-size: 12px; color: #6b7c64; margin-bottom: 7px; }
body.share-body .route h2 { font-size: 22px; line-height: 1.45; letter-spacing: -.025em; overflow-wrap: anywhere; }
body.share-body #driver-card { padding: 23px; border-radius: 17px; background: #edf2e4; border: 1px solid #e0e8d4; }
body.share-body #driver-card h3 { font-size: 23px; margin-top: 12px; }
body.share-body #vehicle { font-size: 14px; line-height: 1.8; color: #63735a; margin-top: 9px; }
body.share-body #map-link { margin-top: 22px; background: var(--forest); color: #fff; font-size: 13px; justify-content: center; padding: 13px; min-height: 47px; }
body.share-body .share-refresh { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 30px; border-top: 1px solid #e0e6d7; background: #f7f9f0; }
body.share-body .muted { font-size: 13px; color: #6c7b64; line-height: 1.7; }
body.share-body #refresh { font-size: 14px; min-height: 48px; border: 1px solid #bdcfad; border-radius: 12px; background: #fff; padding: 13px 20px; }
body.share-body .share-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 33px; margin-top: 28px; }
body.share-body .share-note { font-size: 13px; color: #6a7962; line-height: 1.85; }
body.share-body .share-note strong { display: block; font-size: 13px; color: #314f37; margin-bottom: 8px; }
body.share-body .motion-utility { border-top: 1px solid #d5dfca; margin-top: 35px; padding-top: 18px; }
body.share-body .share-empty { grid-column: 1 / -1; max-width: 620px; padding: 10px 0 17px; }
body.share-body .share-empty-icon { display: grid; place-items: center; width: 46px; height: 46px; background: #e8efd9; border-radius: 14px; font-size: 25px; margin-bottom: 21px; }
body.share-body .share-empty h2 { font-size: 28px; line-height: 1.3; letter-spacing: -.035em; }
body.share-body .share-empty p { font-size: 15px; line-height: 1.85; color: #6a7a61; margin-top: 14px; }
body.share-body .share-empty a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; font-weight: 750; margin-top: 17px; }

/* Motion is finite and subordinate to the shared preference/OS setting. */
@keyframes public-panel-enter { from { opacity: .25; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes public-dialog-enter { from { opacity: .25; transform: translateY(15px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes public-photo-enter { from { opacity: .5; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@keyframes public-phone-enter { from { opacity: .2; transform: translateY(32px) rotate(calc(var(--phone-tilt) + 4deg)); } to { opacity: 1; transform: translateY(0) rotate(var(--phone-tilt)); } }
@keyframes public-route-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes public-route-marker { 0% { box-shadow: 0 0 0 0 #d8f38b70; } 65% { box-shadow: 0 0 0 12px #d8f38b00; } 100% { box-shadow: 0 0 0 0 #d8f38b00; } }
@media (prefers-reduced-motion: no-preference) {
  html:not([data-motion-reduced=true]) body.marketing .hero-copy { animation: public-panel-enter 560ms cubic-bezier(.2,.7,.2,1) both; }
  html:not([data-motion-reduced=true]) body.marketing .hero-photo { animation: public-photo-enter 900ms cubic-bezier(.2,.7,.2,1) both; }
  html:not([data-motion-reduced=true]) body.marketing .hero-scene:not([data-intro=complete]) .phone-preview { animation: public-phone-enter 700ms 120ms cubic-bezier(.16,.75,.24,1) backwards; }
  html:not([data-motion-reduced=true]) body.marketing .hero-scene:not([data-intro=complete]) .floating-note { animation: public-panel-enter 500ms 410ms cubic-bezier(.2,.7,.2,1) backwards; }
  html:not([data-motion-reduced=true]) body.marketing .hero-scene:not([data-intro=complete]) .phone-route-trace { animation: public-route-trace 1100ms 800ms cubic-bezier(.3,.6,.25,1) backwards; }
  html:not([data-motion-reduced=true]) body.marketing .hero-scene:not([data-intro=complete]) .phone-map-pin { animation: public-route-marker 430ms 1750ms ease-out; }
  html:not([data-motion-reduced=true]) body.marketing :is(#phone-ride, #phone-eat, .estimate-result):not([hidden]) { animation: public-panel-enter 240ms ease both; }
  html:not([data-motion-reduced=true]) body.marketing .modal[open] { animation: public-dialog-enter 230ms cubic-bezier(.2,.7,.2,1) both; }
  html:not([data-motion-reduced=true]) body.auth-body :is(.auth-panel, #account:not([hidden]), #name-field:not([hidden]), #partner-section:not([hidden])) { animation: public-panel-enter 300ms ease both; }
  html:not([data-motion-reduced=true]) body.share-body .share-card { animation: public-panel-enter 380ms ease both; }
}
@media (hover: hover) and (pointer: fine) {
  body:is(.marketing, .auth-body, .share-body) .button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px #13392f1a; }
  body.marketing .phone-preview:hover { transform: rotate(2deg) translateY(-5px); }
  body.marketing :is(.service-card, .feature-card, .partner-card) { transition: transform 220ms ease, box-shadow 220ms ease; }
  body.marketing :is(.service-card, .feature-card, .partner-card):hover { transform: translateY(-4px); box-shadow: 0 15px 35px #123e3410; }
  body.marketing .country-card:hover { background: #f0f5e7; border-color: #94ae78; }
}
html[data-motion-reduced=true] body:is(.marketing, .auth-body, .share-body) *,
html[data-motion-reduced=true] body:is(.marketing, .auth-body, .share-body) *::before,
html[data-motion-reduced=true] body:is(.marketing, .auth-body, .share-body) *::after { animation: none !important; transition: none !important; }
html[data-motion-reduced=true] body.marketing :is(.button, .service-card, .feature-card, .partner-card):hover { transform: none; }

/* Logical spacing keeps every public page natural in Arabic. */
html[dir=rtl] body:is(.marketing, .auth-body, .share-body) { font-family: Tajawal, Manrope, sans-serif; }
html[dir=rtl] body:is(.marketing, .auth-body, .share-body) :is(h1,h2,h3,.eyebrow,.hero-eyebrow,.advanced-label) { letter-spacing: 0; }
html[dir=rtl] body.marketing .hero h1 { font-size: clamp(67px, 6.8vw, 96px); line-height: 1.15; }
html[dir=rtl] body.marketing .hero-copy > p { font-size: 20px; line-height: 1.8; }
html[dir=rtl] body.marketing :is(.hero-eyebrow,.eyebrow) { font-size: 13px; }
html[dir=rtl] body.marketing .phone-preview { --phone-tilt: -5deg; transform: rotate(var(--phone-tilt)); }
html[dir=rtl] body.marketing .map-route-line svg { transform: scaleX(-1); }
html[dir=rtl] body.marketing .phone-preview h2 { font-size: 28px; }
html[dir=rtl] body.marketing :is(.section-heading h2,.advanced-heading h2,.faq h2) { font-size: clamp(43px, 4.4vw, 62px); }
html[dir=rtl] body.marketing :is(.section-heading > p,.market-intro > p,.advanced-heading > p,.service-card p) { font-size: 17px; }
html[dir=rtl] body.marketing .service-card h3 { font-size: clamp(43px, 4.25vw, 60px); }
html[dir=rtl] body.marketing :is(.feature-card > p,.partner-card p,.advanced-card > p,.faq-list details > p) { font-size: 16px; }
html[dir=rtl] body.marketing .feature-card h3 { font-size: 27px; }
html[dir=rtl] body.marketing .faq-list details > p { padding-inline: 0 28px; }
html[dir=rtl] body.auth-body .auth-art h1 { font-size: clamp(44px, 4.4vw, 62px); line-height: 1.3; }
html[dir=rtl] body.auth-body .auth-panel h2 { font-size: 46px; }
html[dir=rtl] body.share-body .route > div { padding-inline: 30px 0; }

@media (max-width: 1180px) {
  body.marketing .shell { padding-inline: 36px; }
  body.marketing .header { gap: 20px; }
  body.marketing .header nav { gap: 18px; }
  body.marketing .header-actions { gap: 12px; }
  body.marketing .header-country { display: none; }
  body.marketing .header .button.compact { display: none; }
  body.marketing .hero { gap: 36px; }
  body.marketing .hero h1 { font-size: 72px; }
  body.marketing .hero-copy > p { font-size: 16px; }
  body.marketing .hero-scene { height: 665px; }
  body.marketing .phone-preview { inset-inline-end: 21px; width: 282px; }
  body.marketing .floating-note { inset-inline-start: -15px; max-width: 215px; }
  body.marketing .advanced-card { padding: 26px; }
  body.marketing .advanced-card h3 { font-size: 25px; }
  body.marketing .market-workspace { grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); }
  body.marketing .market-browser { padding: 23px; }
  body.marketing .market-detail { padding: 26px; }
  body.marketing .country-card { padding: 12px; gap: 10px; }
  body.marketing .country-card strong { font-size: 13px; }
  body.marketing .estimate-stage { padding: 38px; gap: 38px; }
  body.marketing .estimate-form { padding: 23px; }
  body.marketing .feature-card { padding: 24px; }
  body.marketing .partner-card { display: flex; flex-direction: column; gap: 20px; }
  body.marketing .faq { gap: 60px; }
  body.marketing .download-panel { padding: 44px; }
  body.auth-body .auth-layout { padding-inline: 36px; gap: 48px; }
  body.auth-body .auth-header { padding-inline: 36px; }
  body.auth-body .auth-art { padding: 34px; min-height: 830px; }
  body.auth-body .auth-panel h2 { font-size: 37px; }
  body.auth-body .auth-utility { margin-inline: 36px; }
}
@media (max-width: 900px) {
  body.marketing .hero { grid-template-columns: 1fr 1fr; gap: 27px; padding-top: 28px; }
  body.marketing .hero h1 { font-size: 60px; letter-spacing: -.06em; }
  body.marketing .hero-copy > p { font-size: 15px; }
  body.marketing .hero-actions { gap: 10px; margin-top: 24px; }
  body.marketing .hero-actions .button { font-size: 13px; padding-inline: 16px; }
  body.marketing .hero-signature { gap: 15px; }
  body.marketing .hero-signature > span:last-child { font-size: 11px; }
  body.marketing .hero-platforms div > span { font-size: 12px; }
  body.marketing .hero-scene { height: 640px; }
  body.marketing .phone-preview { width: 266px; inset-inline-end: 12px; bottom: 104px; padding-inline: 13px; }
  body.marketing .floating-note { bottom: 51px; inset-inline-start: 12px; }
  body.marketing .scene-place { display: none; }
  body.marketing .brand-strip { grid-template-columns: repeat(2, 1fr); gap: 20px 30px; }
  body.marketing .brand-strip > span { grid-column: 1 / -1; }
  body.marketing .section-space { padding-top: 80px; }
  body.marketing .service-card { padding: 29px; min-height: 620px; }
  body.marketing .service-card h3 { font-size: 44px; }
  body.marketing .service-card p { font-size: 14px; }
  body.marketing .service-link { inset-inline: 29px; width: calc(100% - 58px); font-size: 13px; }
  body.marketing .advanced-grid { grid-template-columns: 1fr; }
  body.marketing .advanced-card { min-height: 0; padding: 30px; display: grid; grid-template-columns: 52px 1fr; gap: 0 22px; }
  body.marketing .advanced-icon { grid-row: 1 / 4; }
  body.marketing .advanced-label { grid-column: 2; }
  body.marketing .advanced-card h3 { grid-column: 2; font-size: 28px; }
  body.marketing .advanced-card > p { grid-column: 2; padding-bottom: 21px; }
  body.marketing :is(.advanced-mini,.advanced-workflow) { grid-column: 2; }
  body.marketing .market-workspace { grid-template-columns: 1.3fr 1fr; }
  body.marketing .country-grid { grid-template-columns: 1fr; max-height: 470px; }
  body.marketing .country-card strong { font-size: 15px; }
  body.marketing .country-card small { font-size: 12px; }
  body.marketing .market-detail h3 { font-size: 34px; }
  body.marketing .estimate-stage { grid-template-columns: 1fr; gap: 34px; padding: 40px; }
  body.marketing .estimate-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
  body.marketing .estimate-copy .eyebrow { grid-column: 1 / -1; }
  body.marketing .estimate-copy h2 { grid-column: 1; }
  body.marketing .estimate-copy > p { grid-column: 1; font-size: 15px; }
  body.marketing .estimate-benefits { grid-column: 2; grid-row: 2 / 4; align-self: center; }
  body.marketing .estimate-decoration { display: none; }
  body.marketing .estimate-form { width: 100%; padding: 30px; }
  body.marketing .feature-grid { grid-template-columns: 1fr; }
  body.marketing .feature-card { display: grid; grid-template-columns: 48px 1fr; gap: 0 22px; padding: 28px; }
  body.marketing .feature-icon { grid-row: 1 / 4; }
  body.marketing .feature-card h3, body.marketing .feature-card > p, body.marketing .feature-ui { grid-column: 2; }
  body.marketing .feature-ui { max-width: 390px; }
  body.marketing .partner-banner { padding: 35px; gap: 35px; }
  body.marketing .partner-banner > p { font-size: 14px; }
  body.marketing .partner-grid { grid-template-columns: 1fr; gap: 14px; }
  body.marketing .partner-card { display: grid; grid-template-columns: 48px 1fr; padding: 26px; gap: 23px; }
  body.marketing .partner-card div > span { margin-top: 13px; }
  body.marketing .faq { gap: 40px; }
  body.marketing .download-panel { grid-template-columns: 1fr; padding: 42px; }
  body.marketing .download-art { display: none; }
  body.marketing .footer-main { grid-template-columns: 1.2fr 1fr 1fr; gap: 25px; }
  body.marketing .footer-country { grid-column: 1 / -1; display: flex; gap: 24px; align-items: center; justify-content: space-between; }
  body.auth-body .auth-layout { grid-template-columns: .8fr 1fr; gap: 32px; }
  body.auth-body .auth-art { padding: 28px; min-height: 780px; }
  body.auth-body .auth-art h1 { font-size: 40px; }
  body.auth-body .auth-art > p { font-size: 14px; }
  body.auth-body .auth-art-note { font-size: 12px; inset-inline: 23px; }
  body.auth-body .auth-panel h2 { font-size: 33px; }
  body.auth-body .auth-country-row { grid-template-columns: 1fr; gap: 0; }
  body.auth-body .auth-country-row select { font-size: 16px; }
  html[dir=rtl] body.marketing .hero h1 { font-size: 66px; }
  html[dir=rtl] body.auth-body .auth-art h1 { font-size: 43px; }
}
@media (max-width: 680px) {
  body.marketing .shell { padding-inline: 22px; }
  body.marketing .top-note { min-height: 43px; padding-inline: 16px; font-size: 10px; gap: 8px; }
  body.marketing .top-note > a { flex-shrink: 0; max-width: 106px; font-size: 10px; margin-inline-start: 6px; gap: 5px; }
  body.marketing .header { min-height: 88px; gap: 18px; position: relative; }
  body.marketing .header .brand { font-size: 29px; }
  body.marketing .header .brand img { width: 34px; height: 34px; }
  body.marketing .header-actions { gap: 9px; }
  body.marketing .country-trigger { padding: 9px 0; gap: 4px; }
  body.marketing .language { min-height: 44px; }
  body.marketing .language > .icon { display: none; }
  body.marketing .language select { font-size: 12px; padding-inline: 3px; }
  body.marketing .login-link { display: none; }
  body.marketing .menu-toggle { width: 40px; height: 44px; padding: 12px 7px; }
  body.marketing .header nav.mobile-open { display: flex; gap: 0; flex-direction: column; top: 78px; inset-inline: 16px; padding: 14px 20px; background: #fffef8; border: 1px solid #d5dfcb; box-shadow: 0 15px 40px #163a2f1f; border-radius: 17px; }
  body.marketing .header nav.mobile-open > a { font-size: 15px; min-height: 49px; }
  body.marketing .hero { grid-template-columns: 1fr; gap: 37px; padding-top: 22px; padding-bottom: 38px; }
  body.marketing .hero-copy { padding: 0; }
  body.marketing .hero-eyebrow { font-size: 10px; letter-spacing: .1em; }
  body.marketing .hero h1 { font-size: clamp(54px, 14.2vw, 84px); letter-spacing: -.065em; margin-top: 24px; }
  body.marketing .hero-copy > p { font-size: 16px; line-height: 1.85; margin-top: 22px; max-width: 450px; }
  body.marketing .hero-copy > p br { display: none; }
  body.marketing .hero-actions { gap: 12px 19px; margin-top: 26px; }
  body.marketing .hero-actions .button { font-size: 14px; padding-inline: 19px; }
  body.marketing .hero-actions .text-link { font-size: 13px; gap: 8px; }
  body.marketing .hero-platforms { margin-top: 22px; }
  body.marketing .hero-platforms strong { font-size: 13px; }
  body.marketing .hero-platforms div > span { font-size: 12px; }
  body.marketing .hero-signature { margin-top: 24px; padding-top: 21px; gap: 20px; max-width: none; }
  body.marketing .hero-signature > span:first-child { font-size: 25px; }
  body.marketing .hero-signature > span:last-child { font-size: 12px; max-width: 210px; }
  body.marketing .hero-scene { height: 760px; width: 100%; max-width: 500px; margin-inline: auto; border-radius: 25px; }
  body.marketing .scene-top { inset-inline: 22px; top: 22px; }
  body.marketing .scene-kicker { font-size: 9px; }
  body.marketing .phone-preview { --phone-tilt: 4deg; width: 286px; top: 48px; bottom: auto; inset-inline-end: 25px; padding-inline: 16px; transform: rotate(var(--phone-tilt)); }
  body.marketing .phone-preview h2 { font-size: 26px; }
  body.marketing .floating-note { bottom: 32px; inset-inline-start: 16px; max-width: 242px; padding: 14px 16px; }
  body.marketing .floating-note strong { font-size: 12px; }
  body.marketing .floating-note div > span { font-size: 11px; }
  body.marketing .floating-icon { width: 36px; height: 36px; }
  body.marketing .scene-caption { font-size: 8px; bottom: 10px; inset-inline: 22px; }
  body.marketing .brand-strip { padding-block: 24px; gap: 18px; }
  body.marketing .brand-strip > span { font-size: 10px; }
  body.marketing .brand-strip > div { font-size: 12px; gap: 10px; }
  body.marketing .brand-strip .icon { width: 21px; height: 21px; }
  body.marketing .section-space { padding-top: 71px; }
  body.marketing .section-heading { display: flex; flex-direction: column; align-items: start; gap: 22px; margin-bottom: 29px; }
  body.marketing :is(.section-heading h2,.advanced-heading h2,.faq h2) { font-size: 42px; letter-spacing: -.05em; line-height: 1.13; }
  body.marketing :is(.section-heading > p,.advanced-heading > p,.market-intro > p) { font-size: 15px; line-height: 1.8; }
  body.marketing .eyebrow { font-size: 10px; letter-spacing: .11em; }
  body.marketing .service-grid { grid-template-columns: 1fr; gap: 20px; }
  body.marketing .service-card { padding: 29px; min-height: 600px; border-radius: 24px; }
  body.marketing .service-label { font-size: 14px; }
  body.marketing .service-card h3 { font-size: 48px; letter-spacing: -.055em; margin-top: 27px; }
  body.marketing .service-card p { font-size: 14px; line-height: 1.9; }
  body.marketing .service-card p br { display: none; }
  body.marketing .service-tags > span { font-size: 12px; }
  body.marketing .ride-art { bottom: 72px; height: 217px; }
  body.marketing .ride-art > img { width: 90%; }
  body.marketing .ride-art-word { font-size: 120px; }
  body.marketing .service-link { inset-inline: 29px; width: calc(100% - 58px); font-size: 13px; min-height: 60px; }
  body.marketing .eat-sticker { width: 108px; height: 108px; font-size: 29px; }
  body.marketing .advanced-heading { grid-template-columns: 1fr; gap: 17px; margin-bottom: 29px; }
  body.marketing .advanced-heading h2 { margin-top: 0; }
  body.marketing .advanced-card { padding: 27px; display: flex; border-radius: 24px; }
  body.marketing .advanced-icon { margin-bottom: 22px; }
  body.marketing .advanced-card h3 { font-size: 29px; }
  body.marketing .advanced-card > p { font-size: 15px; }
  body.marketing :is(.advanced-workflow,.advanced-mini) { font-size: 12px; }
  body.marketing .advanced-note { font-size: 12px; margin-top: 20px; }
  body.marketing .markets-section { padding-block: 64px; margin-top: 72px; }
  body.marketing .market-workspace { grid-template-columns: 1fr; border-radius: 23px; }
  body.marketing .market-browser { padding: 22px; }
  body.marketing .market-search input { font-size: 14px; }
  body.marketing .region-tabs { gap: 4px; flex-wrap: nowrap; overflow: auto; margin-block: 17px; padding-bottom: 3px; }
  body.marketing .region-tabs button { padding: 10px 11px; font-size: 12px; min-height: 44px; flex-shrink: 0; }
  body.marketing .country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 390px; gap: 8px; }
  body.marketing .country-card { padding: 12px 10px; gap: 9px; min-height: 85px; align-items: start; flex-wrap: wrap; }
  body.marketing .country-card strong { font-size: 12px; }
  body.marketing .country-card small { font-size: 10px; }
  body.marketing .country-info { flex: 1; min-width: 63px; }
  body.marketing .country-card .flag > img { width: 24px; height: 18px; }
  body.marketing .country-check { display: none; }
  body.marketing .market-detail { padding: 28px; }
  body.marketing .market-detail h3 { font-size: 39px; }
  body.marketing .market-detail-line { font-size: 14px; }
  body.marketing .market-detail > label { font-size: 14px; }
  body.marketing .market-small-map { height: 156px; }
  body.marketing .markets-disclaimer { font-size: 12px; }
  body.marketing .estimate-stage { padding: 30px 22px 23px; gap: 30px; border-radius: 25px; }
  body.marketing .estimate-copy { display: block; }
  body.marketing .estimate-copy .eyebrow { font-size: 10px; }
  body.marketing .estimate-copy h2 { font-size: 48px; margin-top: 22px; }
  body.marketing .estimate-copy > p { font-size: 15px; }
  body.marketing .estimate-benefits { margin-top: 25px; gap: 16px; }
  body.marketing .estimate-benefits > div { font-size: 12px; }
  body.marketing .estimate-form { padding: 22px 17px; border-radius: 18px; }
  body.marketing .estimate-form-head > span:first-child { font-size: 16px; }
  body.marketing .estimate-form select { font-size: 14px; height: 53px; }
  body.marketing .vehicle-option { min-height: 108px; padding: 12px 4px; }
  body.marketing .vehicle-option img { width: 70px; height: 38px; }
  body.marketing .vehicle-option strong { font-size: 13px; }
  body.marketing .vehicle-option small { font-size: 10px; }
  body.marketing .estimate-form > .fineprint { font-size: 11px; }
  body.marketing .feature-card { padding: 27px; display: flex; border-radius: 22px; }
  body.marketing .feature-card h3 { font-size: 26px; }
  body.marketing .feature-card > p { font-size: 15px; margin-block: 14px 22px; }
  body.marketing .feature-ui { max-width: none; }
  body.marketing .feature-ui strong { font-size: 13px; }
  body.marketing .chat-ui > span:last-child { font-size: 12px; }
  body.marketing .partner-banner { padding: 31px; flex-direction: column; align-items: start; gap: 23px; border-radius: 24px; }
  body.marketing .partner-banner h2 { font-size: 41px; }
  body.marketing .partner-banner > p { font-size: 15px; }
  body.marketing .partner-banner-word { font-size: 110px; }
  body.marketing .partner-card { padding: 25px 23px; gap: 18px; border-radius: 19px; }
  body.marketing .partner-card h3 { font-size: 23px; }
  body.marketing .partner-card p { font-size: 14px; }
  body.marketing .partner-note { font-size: 12px; }
  body.marketing .faq { grid-template-columns: 1fr; gap: 29px; }
  body.marketing .faq-heading { position: relative; padding-inline-end: 45px; }
  body.marketing .faq-heading > p { font-size: 15px; }
  body.marketing .faq-flower { position: absolute; inset-inline-end: 4px; top: 15px; font-size: 45px; margin: 0; }
  body.marketing .faq-list summary { min-height: 77px; font-size: 15px; padding-block: 20px; }
  body.marketing .faq-list details > p { font-size: 14px; line-height: 1.9; }
  body.marketing .download-panel { padding: 34px 29px; border-radius: 24px; min-height: 0; }
  body.marketing .download-panel h2 { font-size: 42px; line-height: 1.16; letter-spacing: -.045em; }
  body.marketing .download-panel p { font-size: 15px; line-height: 1.85; }
  body.marketing .store-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  body.marketing .store-button { min-height: 66px; padding: 12px; gap: 8px; justify-content: start; }
  body.marketing .store-button > svg { width: 20px; height: 20px; }
  body.marketing .store-button strong { font-size: 13px; }
  body.marketing .store-button small { font-size: 9px; }
  body.marketing .store-button > span:last-child { display: none; }
  body.marketing .download-demo-link { font-size: 12px; align-items: start; }
  body.marketing .footer { padding-top: 60px; }
  body.marketing .footer-main { grid-template-columns: 1fr 1fr; gap: 30px 22px; padding-bottom: 30px; }
  body.marketing .footer-brand { grid-column: 1 / -1; }
  body.marketing .footer-brand > p { font-size: 14px; }
  body.marketing .footer-group > strong { font-size: 10px; }
  body.marketing .footer-group :is(a,button) { font-size: 13px; min-height: 40px; }
  body.marketing .footer-country { gap: 15px; }
  body.marketing .footer-country > span { font-size: 23px; }
  body.marketing .footer-bottom { display: grid; grid-template-columns: 1fr auto; gap: 13px; }
  body.marketing .footer-bottom > p { grid-column: 1 / -1; grid-row: 2; text-align: start; font-size: 11px; }
  body.marketing .footer-bottom > a { grid-column: 2; grid-row: 1; }
  body.marketing .motion-utility { gap: 15px; font-size: 11px; }
  body.marketing [data-motion-toggle] { font-size: 12px; }
  body.marketing .modal { padding: 32px 23px; border-radius: 21px; }
  body.marketing .modal h2 { font-size: 33px; line-height: 1.2; }
  body.marketing .modal > p { font-size: 14px; }
  body.marketing .modal-country-list { gap: 8px; }
  body.marketing .modal-country-list .country-card { padding: 12px 10px; min-height: 84px; }
  body.marketing .modal-country-list .country-card strong { font-size: 12px; }
  body.marketing .modal-country-list .country-card small { font-size: 10px; }
  body.marketing .info-content { font-size: 14px; }
  body.auth-body .auth-header { padding: 20px 23px; min-height: 85px; gap: 20px; }
  body.auth-body .auth-header .brand { font-size: 29px; }
  body.auth-body .auth-header .brand img { width: 33px; height: 33px; }
  body.auth-body .auth-language { gap: 13px; }
  body.auth-body .auth-language select { font-size: 12px; min-height: 44px; padding: 9px; }
  body.auth-body .back-link { font-size: 12px; line-height: 1.6; }
  body.auth-body .auth-layout { padding: 15px 25px 38px; grid-template-columns: 1fr; max-width: 560px; gap: 0; }
  body.auth-body .auth-art { display: none; }
  body.auth-body .auth-panel { padding-top: 15px; max-width: none; }
  body.auth-body .auth-panel h2 { font-size: 39px; margin-top: 20px; }
  body.auth-body .auth-panel > p { font-size: 15px; margin-top: 17px; }
  body.auth-body .auth-tabs { margin-top: 28px; margin-bottom: 28px; }
  body.auth-body .auth-tabs button { font-size: 14px; min-height: 47px; }
  body.auth-body .auth-country-row { grid-template-columns: 1fr 1fr; gap: 14px; }
  body.auth-body .auth-country-row select { font-size: 16px; }
  body.auth-body .form-field label { font-size: 14px; }
  body.auth-body .form-hint, body.auth-body .auth-fineprint { font-size: 12px; }
  body.auth-body .api-status { padding: 17px; }
  body.auth-body .auth-utility { margin-inline: 25px; gap: 15px; font-size: 11px; }
  body.auth-body [data-motion-toggle] { font-size: 12px; }
  body.auth-body .partner-application { padding: 21px; }
  body.share-body .share-shell { padding: 24px 21px; }
  body.share-body .share-header { padding-bottom: 23px; }
  body.share-body .share-header .brand { font-size: 29px; }
  body.share-body .share-header .brand img { width: 34px; height: 34px; }
  body.share-body .share-heading { margin-block: 38px 28px; grid-template-columns: 1fr; }
  body.share-body .share-heading h1 { font-size: 41px; }
  body.share-body .share-heading p { font-size: 15px; }
  body.share-body .share-emblem { display: none; }
  body.share-body .share-card { border-radius: 21px; }
  body.share-body .share-status { padding: 20px; min-height: 78px; }
  body.share-body #status { font-size: 15px; }
  body.share-body #freshness { margin-inline-start: 19px; }
  body.share-body .share-content { grid-template-columns: 1fr; padding: 25px 23px; gap: 15px; }
  body.share-body .route h2 { font-size: 21px; }
  body.share-body #driver-card { padding: 22px; }
  body.share-body .share-refresh { padding: 20px; gap: 15px; align-items: start; flex-direction: column; }
  body.share-body #refresh { width: 100%; }
  body.share-body .share-notes { grid-template-columns: 1fr; gap: 20px; margin-top: 25px; }
  body.share-body .share-note { font-size: 12px; }
  body.share-body .motion-utility { font-size: 12px; margin-top: 28px; gap: 18px; }
  html[dir=rtl] body.marketing .top-note { font-size: 11px; line-height: 1.8; }
  html[dir=rtl] body.marketing .top-note > a { font-size: 11px; line-height: 1.8; }
  html[dir=rtl] body.marketing .hero h1 { font-size: clamp(60px, 15vw, 86px); line-height: 1.16; }
  html[dir=rtl] body.marketing .hero-copy > p { font-size: 18px; }
  html[dir=rtl] body.marketing .phone-preview { --phone-tilt: -4deg; transform: rotate(var(--phone-tilt)); }
  html[dir=rtl] body.marketing :is(.section-heading h2,.advanced-heading h2,.faq h2) { font-size: 45px; }
  html[dir=rtl] body.marketing .service-card h3 { font-size: 51px; }
  html[dir=rtl] body.marketing .download-panel h2 { font-size: 44px; }
  html[dir=rtl] body.auth-body .auth-panel h2 { font-size: 42px; }
  html[dir=rtl] body.auth-body .auth-tabs button { font-size: 16px; }
}
@media (max-width: 380px) {
  body.marketing .shell { padding-inline: 18px; }
  body.marketing .header-actions { gap: 5px; }
  body.marketing .hero h1 { font-size: 52px; }
  body.marketing .hero-scene { height: 760px; }
  body.marketing .phone-preview { width: 265px; inset-inline-end: 19px; top: 48px; bottom: auto; }
  body.marketing .phone-preview h2 { font-size: 25px; }
  body.marketing .country-grid { grid-template-columns: 1fr; max-height: 360px; }
  body.marketing .country-card { flex-wrap: nowrap; align-items: center; min-height: 71px; }
  body.marketing .country-card strong { font-size: 14px; }
  body.marketing .country-card small { font-size: 12px; }
  body.marketing .estimate-stage { padding-inline: 18px; }
  body.marketing .estimate-form { padding-inline: 14px; }
  body.marketing .download-panel { padding-inline: 24px; }
  body.marketing .download-panel h2 { font-size: 37px; }
  body.marketing .store-buttons { grid-template-columns: 1fr; }
  body.marketing .store-button strong { font-size: 15px; }
  body.marketing .store-button small { font-size: 11px; }
  body.auth-body .auth-header { padding-inline: 18px; }
  body.auth-body .back-link { max-width: 87px; font-size: 11px; }
  body.auth-body .auth-layout { padding-inline: 21px; }
  body.auth-body .auth-panel h2 { font-size: 35px; }
  body.auth-body .auth-country-row { grid-template-columns: 1fr; gap: 0; }
  body.auth-body .auth-country-row select { font-size: 16px; }
  body.share-body .share-heading h1 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.marketing, .auth-body, .share-body) *,
  body:is(.marketing, .auth-body, .share-body) *::before,
  body:is(.marketing, .auth-body, .share-body) *::after { animation: none !important; transition: none !important; }
  body.marketing :is(.button,.service-card,.feature-card,.partner-card):hover { transform: none; }
}
