/*
 * Такси «Фортуна» — одностраничный сайт
 * Тема: modern midnight / violet / warm yellow
 * Все основные цвета, отступы и адаптивность редактируются здесь.
 */
:root {
    color-scheme: dark;
    --bg: #0b0a11;
    --bg-deep: #07070c;
    --surface: #14131c;
    --surface-2: #1b1926;
    --white: #f8f7fa;
    --muted: #9996aa;
    --gold: #ffda59;
    --gold-soft: #ffe58d;
    --purple: #8e3bda;
    --stroke: rgba(255,255,255,.105);
    --container: 1264px;
    --radius: 25px;
    --ease: cubic-bezier(.2,.7,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--white); font-family: Manrope, Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
body::selection { background: var(--gold); color: #17121c; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { max-width: 100%; display: block; }
svg { display: block; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.icon { width: 21px; height: 21px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(calc(100% - 88px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; left: 24px; top: -90px; padding: 12px 16px; color: #111; background: var(--gold); border-radius: 12px; }
.skip-link:focus { top: 10px; }

/* Top navigation */
.site-header { position: relative; z-index: 40; height: 98px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(10,9,16,.75); }
.site-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg,transparent,rgba(167,71,240,.25) 65%, transparent); pointer-events: none; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 100%; }
.brand { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; white-space: nowrap; }
.brand__mark { position: relative; display: flex; justify-content: center; align-items: flex-end; height: 57px; width: 46px; color: var(--gold); }
.brand__mark > span { font-size: 47px; font-weight: 800; line-height: 1.06; letter-spacing: -.1em; }
.brand__crown { position: absolute; top: -3px; left: 4px; width: 34px; height: 28px; transform: scale(.82); }
.brand__text { display: flex; flex-direction: column; gap: 0; margin-top: 6px; }
.brand__small { color: #b8b2c0; letter-spacing: .54em; font-weight: 800; font-size: 9px; padding-left: 3px; line-height: 1.1; }
.brand__name { color: var(--white); font-size: 28px; line-height: 1.07; font-weight: 800; letter-spacing: -.075em; }
.brand__dot { color: var(--gold); }
.site-nav { display: flex; justify-content: center; align-items: center; gap: clamp(17px,2.5vw,37px); padding-left: 15px; }
.site-nav a, .footer__links a { position: relative; display: inline-flex; align-items: center; color: #c5c2cf; font-size: 12px; font-weight: 700; transition: color .22s; white-space: nowrap; }
.site-nav a::after { content: ''; position: absolute; bottom: -9px; left: 0; width: 100%; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .28s var(--ease); }
.site-nav a:hover, .footer__links a:hover { color: #fff; }
.site-nav a:hover::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.header-phone { display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 0 17px; color: var(--gold); border: 1px solid rgba(255,218,89,.4); border-radius: 100px; font-size: 13px; font-weight: 800; white-space: nowrap; transition: background .22s, transform .22s, border-color .22s; }
.header-phone .icon { width: 17px; height: 17px; }
.header-phone:hover { background: rgba(255,218,89,.1); border-color: var(--gold); transform: translateY(-1px); }
.menu-toggle { display: none; align-items: center; justify-content: center; height: 44px; width: 44px; padding: 0; color: #fff; border: 1px solid var(--stroke); border-radius: 13px; background: rgba(255,255,255,.05); cursor: pointer; }
.menu-toggle__close { display: none; }

/* Shared design elements */
.eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0; color: var(--gold); font-size: 11px; line-height: 1.5; letter-spacing: .2em; font-weight: 800; text-transform: uppercase; }
.eyebrow__square { width: 7px; height: 7px; display: inline-block; background: var(--gold); border-radius: 2px; }
.eyebrow__line { display: inline-block; width: 21px; height: 1px; background: #6e6475; }
.eyebrow--hero { color: #e7dfeb; }
.signal { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(255,218,89,.09), 0 0 20px rgba(255,218,89,.3); }
.section { padding-block: 126px; }
.section h2 { margin: 22px 0 0; font-size: clamp(44px, 5.1vw, 74px); line-height: 1.14; font-weight: 800; letter-spacing: -.072em; }
.section h2 em { font-style: normal; color: var(--gold); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 43px; }
.section-heading__aside { max-width: 355px; margin: 0 0 8px; color: #a5a2b3; font-size: 15px; line-height: 1.85; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; height: 64px; padding: 0 24px; border-radius: 16px; font-size: 14px; font-weight: 800; letter-spacing: -.015em; transition: transform .23s var(--ease), box-shadow .23s var(--ease), background .23s var(--ease); white-space: nowrap; }
.btn:hover { transform: translateY(-3px); }
.btn--yellow { background: var(--gold); color: #18141b; box-shadow: 0 10px 40px rgba(255,211,77,.15); }
.btn--yellow:hover { background: #ffe37b; box-shadow: 0 15px 50px rgba(255,211,77,.21); }
.btn--yellow .icon { stroke-width: 1.9; }
.btn .icon--last { margin-left: 15px; width: 18px; height: 18px; }
.btn--white { background: white; color: #16131a; }
.btn--white:hover { background: #fff0b7; }
.text-link { display: inline-flex; align-items: center; gap: 13px; padding: 12px 0; color: #f4f1f6; font-size: 13px; font-weight: 700; }
.text-link .icon { width: 18px; height: 18px; color: var(--gold); transition: transform .22s; }
.text-link:hover .icon { transform: translateX(5px); }

/* Local route accents: quiet location marker, not a separate advertisement. */
.hero__routes { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.hero__route-main, .hero__route-near { display: inline-flex; align-items: center; gap: 9px; min-height: 36px; padding: 8px 13px; border: 1px solid rgba(255,218,89,.27); border-radius: 100px; color: #f5e9c3; background: rgba(255,218,89,.065); font-size: 11px; font-weight: 800; white-space: nowrap; }
.hero__route-main .icon { width: 14px; height: 14px; color: var(--gold); }
.hero__route-main .hero__route-arrow { width: 13px; height: 13px; color: #a995bf; }
.hero__route-near { border-color: rgba(255,255,255,.11); background: rgba(255,255,255,.035); color: #beb6c9; font-weight: 700; }

/* First screen */
.hero { position: relative; isolation: isolate; overflow: hidden; min-height: 719px; background: radial-gradient(ellipse 42% 48% at 79% 40%,rgba(97,24,171,.18),transparent 95%), linear-gradient(115deg,#0b0a11 0%,#0b0a11 48%,#110b1e 100%); }
.hero__grid { pointer-events: none; position: absolute; inset: 0; z-index: -1; opacity: .35; background-image: linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px), linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px); background-size: 92px 92px; mask-image: linear-gradient(90deg,transparent 25%,black 80%); }
.hero__glow { pointer-events: none; position: absolute; z-index: -1; left: 53%; top: -180px; width: 900px; height: 850px; background: radial-gradient(circle,rgba(103,34,185,.18),transparent 68%); }
.hero__layout { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(0,.97fr); position: relative; min-height: 632px; }
.hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; position: relative; z-index: 5; padding: 32px 0 38px; }
.hero h1 { margin: 28px 0 21px; font-size: clamp(66px,6.35vw,98px); line-height: 1.06; letter-spacing: -.088em; font-weight: 800; white-space: nowrap; }
.hero h1 > span { color: var(--gold); }
.hero__h1-kicker { display: block; margin: 0 0 13px; color: var(--gold); font-size: clamp(11px, 1vw, 14px); line-height: 1.4; letter-spacing: .26em; text-transform: uppercase; font-weight: 800; }
.full-stop { color: #9955df; }
.hero__lead { max-width: 465px; margin: 0; color: #aeabba; font-size: 17px; line-height: 1.9; font-weight: 500; }
.hero__buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 30px; margin-top: 32px; }
.hero__footnote { display: flex; align-items: center; gap: 12px; margin-top: 29px; color: #9692a4; font-size: 12px; letter-spacing: .02em; }
.hero__footnote-mark { font-size: 19px; color: var(--gold); }
.hero__visual { position: relative; min-height: 632px; }
.hero__orb { position: absolute; width: 600px; height: 600px; top: 28px; left: -20px; border-radius: 50%; background: radial-gradient(circle at 53% 50%,rgba(128,49,212,.3) 0,rgba(77,30,126,.13) 42%,transparent 69%); filter: blur(1px); }
.hero__orb::after { content: ''; position: absolute; border: 1px solid rgba(166,83,238,.15); border-radius: 50%; inset: 70px; }
.hero__car { position: absolute; z-index: 2; top: 11px; right: -150px; max-width: none; width: 735px; height: 610px; object-fit: contain; object-position: center; filter: brightness(.96) saturate(.96) contrast(1.01) drop-shadow(0 27px 38px rgba(0,0,0,.35)); -webkit-mask-image: radial-gradient(ellipse 75% 79% at 53% 51%,#000 57%,rgba(0,0,0,.92) 68%,transparent 100%); mask-image: radial-gradient(ellipse 75% 79% at 53% 51%,#000 57%,rgba(0,0,0,.92) 68%,transparent 100%); }
.hero__index { position: absolute; z-index: 3; right: 0; top: 47px; color: rgba(255,255,255,.23); font-size: 11px; font-weight: 800; letter-spacing: .22em; }
.hero__floating-card { position: absolute; z-index: 5; bottom: 48px; right: 0; display: flex; align-items: center; gap: 14px; width: 324px; min-height: 87px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(24,20,34,.85); box-shadow: 0 24px 64px rgba(0,0,0,.33); backdrop-filter: blur(16px); }
.floating-card__icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 14px; color: var(--gold); background: rgba(255,218,89,.12); }
.floating-card__icon .icon { width: 23px; height: 23px; }
.floating-card__copy { display: flex; flex-direction: column; gap: 5px; }
.floating-card__copy strong { font-size: 12px; }
.floating-card__copy small { color: #aaa4b8; font-size: 10px; font-weight: 600; }
.floating-card__arrow { margin-left: auto; align-self: flex-start; width: 17px; height: 17px; color: #d1c8d9; }
.hero__lower { position: relative; z-index: 6; display: flex; align-items: center; justify-content: space-between; min-height: 86px; border-top: 1px solid rgba(255,255,255,.10); color: #7e7a8f; font-size: 10px; letter-spacing: .18em; font-weight: 800; }
.hero__lower a { display: inline-flex; align-items: center; gap: 18px; transition: color .2s; }
.hero__lower a:hover { color: var(--gold); }
.icon--down { width: 18px; height: 18px; transform: rotate(90deg); color: var(--gold); }

/* Trust strip */
.proof-strip { background: #13111b; border-block: 1px solid rgba(255,255,255,.055); }
.proof-strip__inner { display: grid; grid-template-columns: repeat(4,1fr); }
.proof { min-height: 105px; display: flex; align-items: center; justify-content: center; gap: 15px; padding: 25px 18px; color: #d4d0dd; font-size: 12px; font-weight: 800; letter-spacing: -.01em; }
.proof:not(:last-child) { border-right: 1px solid rgba(255,255,255,.07); }
.proof > .icon { color: var(--gold); width: 25px; height: 25px; }
.proof__number { color: var(--gold); font-size: 27px; letter-spacing: -.07em; font-weight: 800; }

/* Softer image borders and harmonious light levels across the page. */
.hero__car, .service-photo img, .advantages__photo img, .drivers__art img { image-rendering: auto; backface-visibility: hidden; }

/* Services */
.services { background: #0e0d15; }
.service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.service-card { position: relative; display: flex; flex-direction: column; min-height: 315px; padding: 32px 30px; background: linear-gradient(130deg,#1b1925 0%,#15141e 68%); border: 1px solid var(--stroke); border-radius: var(--radius); overflow: hidden; transition: transform .28s var(--ease), border-color .28s var(--ease), box-shadow .28s var(--ease); }
.service-card::after { content: ''; position: absolute; pointer-events: none; width: 350px; height: 350px; right: -210px; top: -210px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 40px rgba(255,255,255,.014), 0 0 0 95px rgba(255,255,255,.008); }
.service-card:hover { transform: translateY(-5px); border-color: rgba(255,218,89,.33); box-shadow: 0 25px 75px rgba(0,0,0,.15); }
.service-card__top { display: flex; justify-content: space-between; align-items: flex-start; }
.round-icon { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border: 1px solid rgba(255,218,89,.32); background: rgba(255,218,89,.065); border-radius: 19px; color: var(--gold); }
.round-icon .icon { width: 25px; height: 25px; }
.service-card__index { font-size: 11px; letter-spacing: .12em; color: #736f82; font-weight: 800; }
.service-card__body { margin-top: auto; padding-top: 24px; max-width: 320px; padding-right: 14px; }
.service-card h3 { margin: 0 0 10px; font-size: clamp(23px,2.25vw,30px); line-height: 1.18; font-weight: 800; letter-spacing: -.06em; }
.service-card p { margin: 0; color: #a5a1b2; font-size: 13px; line-height: 1.75; }
.service-card__link { display: flex; align-items: center; justify-content: center; position: absolute; right: 22px; bottom: 21px; width: 42px; height: 42px; border-radius: 50%; color: var(--gold); border: 1px solid rgba(255,255,255,.2); transition: background .25s, color .25s, transform .25s; }
.service-card__link .icon { width: 18px; height: 18px; }
.service-card__link:hover { background: var(--gold); color: #16131b; transform: rotate(45deg); }
.service-photo { grid-column: 1/-1; position: relative; min-height: 335px; border-radius: var(--radius); border: 1px solid rgba(177,87,241,.17); overflow: hidden; background: radial-gradient(ellipse 55% 125% at 80% 70%,#46147d 0%,#1b0d38 54%,#11101b 100%); }
.service-photo::before { content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg,#120d21 0%,rgba(18,13,33,.98) 24%,rgba(18,13,33,.4) 56%,transparent 77%); }
.service-photo img { position: absolute; right: -9px; bottom: -20px; height: 112%; width: 71%; object-fit: contain; object-position: right center; filter: saturate(.98) contrast(.99); -webkit-mask-image: radial-gradient(ellipse 85% 90% at 63% 53%,#000 50%,rgba(0,0,0,.95) 66%,transparent 100%); mask-image: radial-gradient(ellipse 85% 90% at 63% 53%,#000 50%,rgba(0,0,0,.95) 66%,transparent 100%); }
.service-photo__shade { position: absolute; pointer-events: none; inset: 0; box-shadow: inset 0 0 80px rgba(0,0,0,.15); }
.service-photo__caption { position: absolute; z-index: 2; left: 56px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 20px; }
.service-photo__caption span { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .28em; }
.service-photo__caption strong { color: #fff; font-size: clamp(29px,3.4vw,49px); line-height: 1.13; font-weight: 800; letter-spacing: -.06em; }

/* Advantages */
.advantages { position: relative; overflow: hidden; background: #0a0910; }
.advantages::before { content: ''; position: absolute; pointer-events: none; right: -230px; top: 10%; width: 640px; height: 650px; background: radial-gradient(circle,rgba(86,29,141,.10),transparent 66%); }
.advantages__layout { position: relative; display: grid; grid-template-columns: minmax(0,.91fr) minmax(0,1.09fr); align-items: center; gap: clamp(60px,8vw,125px); }
.advantages__visual { position: relative; min-height: 690px; }
.advantages__photo { position: absolute; inset: 0 17px 0 0; border-radius: 29px; background: #17101e; overflow: hidden; }
.advantages__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 45% 45%; filter: contrast(.99) saturate(.95) brightness(.98); }
.advantages__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(8,6,14,.12),transparent 23%,rgba(8,6,14,.02) 60%,rgba(8,6,14,.73) 100%); }
.advantages__photo-label { position: absolute; left: -26px; bottom: 44px; display: flex; align-items: center; gap: 15px; padding: 22px 25px; color: #fff; background: rgba(31,24,45,.88); border: 1px solid rgba(255,255,255,.16); border-radius: 18px; backdrop-filter: blur(18px); box-shadow: 0 25px 60px rgba(0,0,0,.22); font-size: 13px; line-height: 1.6; }
.advantages__photo-label strong { font-weight: 800; }
.advantages__photo-star { color: var(--gold); font-size: 31px; }
.advantages__edge-label { position: absolute; z-index: 1; right: -27px; top: 4px; writing-mode: vertical-rl; color: #757082; font-size: 9px; font-weight: 800; letter-spacing: .26em; }
.advantages__content { position: relative; }
.advantages__intro { max-width: 530px; margin: 24px 0 28px; color: #9e9aab; line-height: 1.85; font-size: 14px; }
.benefit-list { border-top: 1px solid var(--stroke); }
.benefit-item { display: flex; align-items: center; gap: 19px; min-height: 101px; padding: 15px 0; border-bottom: 1px solid var(--stroke); }
.benefit-item__icon { width: 50px; height: 50px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 15px; background: rgba(255,218,89,.085); color: var(--gold); }
.benefit-item__icon .icon { width: 23px; height: 23px; }
.benefit-item__copy { display: flex; flex-direction: column; gap: 5px; }
.benefit-item__copy strong { font-size: 15px; font-weight: 800; }
.benefit-item__copy small { color: #9793a5; font-size: 12px; line-height: 1.6; }
.benefit-item__number { margin-left: auto; align-self: flex-start; font-size: 10px; font-weight: 800; letter-spacing: .08em; color: #666070; }

/* Drivers banner */
.drivers { padding-top: 20px; padding-bottom: 130px; background: #0a0910; }
.drivers__panel { display: flex; position: relative; min-height: 615px; overflow: hidden; isolation: isolate; border: 1px solid rgba(168,92,229,.3); border-radius: 32px; background: radial-gradient(ellipse 75% 130% at 92% 45%,#3e1668 0%,#21102f 46%,#170f20 84%); }
.drivers__ambient { pointer-events: none; position: absolute; z-index: -1; inset: 0; background: linear-gradient(98deg,rgba(24,14,34,.95),rgba(24,14,34,.82) 45%,transparent 88%); }
.drivers__panel::before { content: ''; position: absolute; top: -235px; right: -180px; width: 620px; height: 620px; border: 1px solid rgba(234,204,255,.1); box-shadow: 0 0 0 92px rgba(255,255,255,.018), 0 0 0 170px rgba(255,255,255,.013); border-radius: 50%; }
.drivers__copy { z-index: 3; width: 62%; padding: 73px 0 67px 75px; }
.eyebrow--light { color: var(--gold-soft); }
.drivers h2 { margin: 21px 0 19px; font-size: clamp(47px,4.6vw,67px); line-height: 1.17; }
.drivers h2 span { color: var(--gold); }
.drivers__copy > p:not(.eyebrow) { max-width: 500px; color: #bbb2cb; font-size: 14px; line-height: 1.95; margin: 0; }
.drivers__perks { display: flex; flex-wrap: wrap; gap: 9px; max-width: 530px; margin: 24px 0 31px; }
.drivers__perks > span { display: inline-flex; gap: 7px; align-items: center; padding: 10px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(255,255,255,.055); color: #f0eaf4; font-weight: 700; font-size: 10px; }
.drivers__perks .icon { color: var(--gold); width: 14px; height: 14px; stroke-width: 2; }
.drivers__phone { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.drivers__phone span { font-size: 11px; color: #aca2ba; }
.drivers__phone a { font-size: 13px; font-weight: 800; color: var(--gold); }
.drivers__phone a:hover { text-decoration: underline; text-underline-offset: 4px; }
.drivers__art { position: absolute; z-index: 1; pointer-events: none; right: -5%; bottom: -56px; width: 52%; height: 110%; overflow: hidden; }
.drivers__art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#1c1028 0%,rgba(28,16,40,.36) 26%,rgba(28,16,40,.03) 62%); }
.drivers__art img { position: absolute; bottom: 0; right: -65px; width: 105%; height: 107%; object-fit: cover; object-position: 50% 50%; filter: saturate(1.02) contrast(1.01) brightness(.91); -webkit-mask-image: radial-gradient(ellipse 85% 86% at 61% 53%,#000 55%,rgba(0,0,0,.9) 73%,transparent 100%); mask-image: radial-gradient(ellipse 85% 86% at 61% 53%,#000 55%,rgba(0,0,0,.9) 73%,transparent 100%); }
.drivers__art > span { position: absolute; z-index: 2; right: 135px; bottom: 78px; font-size: 12px; line-height: 1.6; letter-spacing: .48em; color: rgba(255,255,255,.48); font-weight: 800; text-align: right; }
.drivers__art-dot { color: var(--gold); }

/* Hiring: dispatchers */
.dispatchers { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 46px; align-items: center; margin-top: 22px; padding: 46px 56px; overflow: hidden; border: 1px solid rgba(168,92,229,.3); border-radius: 26px; background: radial-gradient(ellipse 80% 150% at 0% 50%,#2c1242 0%,#1b1026 54%,#150e1d 100%); }
.dispatchers::before { content: ''; position: absolute; z-index: -1; right: -130px; bottom: -230px; width: 480px; height: 480px; border: 1px solid rgba(234,204,255,.09); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.014), 0 0 0 150px rgba(255,255,255,.01); }
.dispatchers__copy { position: relative; z-index: 2; }
.dispatchers h3 { margin: 16px 0 13px; font-size: clamp(31px,3.15vw,45px); line-height: 1.16; font-weight: 800; letter-spacing: -.06em; }
.dispatchers h3 span { color: var(--gold); }
.dispatchers__copy > p:not(.eyebrow) { max-width: 590px; margin: 0; color: #bbb2cb; font-size: 14px; line-height: 1.85; }
.dispatchers__perks { display: flex; flex-wrap: wrap; gap: 9px; margin: 21px 0 0; }
.dispatchers__perks > span { display: inline-flex; gap: 7px; align-items: center; padding: 9px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(255,255,255,.055); color: #f0eaf4; font-weight: 700; font-size: 10px; }
.dispatchers__perks .icon { color: var(--gold); width: 14px; height: 14px; stroke-width: 2; }
.dispatchers__action { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: stretch; gap: 15px; min-width: 250px; }
.dispatchers__action .btn { width: 100%; }
.dispatchers__phone { display: flex; flex-direction: column; gap: 5px; }
.dispatchers__phone span { font-size: 11px; color: #aca2ba; }
.dispatchers__phone a { font-size: 15px; font-weight: 800; color: var(--gold); }
.dispatchers__phone a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Contacts / phone order */
.contacts { padding-top: 0; padding-bottom: 114px; background: #0a0910; }
.contacts__panel { position: relative; isolation: isolate; display: grid; grid-template-columns: .97fr 1.03fr; gap: 50px; align-items: center; min-height: 462px; padding: 69px 80px; border-radius: 30px; background: linear-gradient(115deg,#ffdb61 0%,#f9cf44 70%,#edba32 100%); color: #17131a; overflow: hidden; }
.contacts__panel::before { content: ''; position: absolute; inset: -180px auto auto -155px; width: 530px; height: 530px; z-index: -1; border: 1px solid rgba(76,51,14,.10); border-radius: 50%; box-shadow: 0 0 0 75px rgba(75,45,0,.024), 0 0 0 135px rgba(75,45,0,.017); }
.eyebrow--dark { color: #3b2c15; }
.eyebrow--dark .eyebrow__square { background: #16121b; }
.contacts h2 { margin: 19px 0 20px; color: #17131a; font-size: clamp(65px,6.5vw,94px); line-height: 1.05; letter-spacing: -.09em; }
.contacts h2 span { color: #7b3fc1; }
.contacts__copy > p:not(.eyebrow) { max-width: 340px; font-size: 14px; line-height: 1.8; color: #44381f; font-weight: 600; }
.contacts__sun { position: absolute; left: 36%; bottom: 37px; font-size: 35px; color: rgba(90,53,10,.4); }
.contacts__numbers { position: relative; display: flex; flex-direction: column; gap: 13px; }
.contact-number { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 23px 72px 23px 25px; min-height: 117px; border: 1px solid rgba(45,29,7,.22); border-radius: 18px; background: rgba(255,255,255,.18); transition: background .2s, transform .2s, border-color .2s; }
.contact-number:hover { transform: translateX(4px); background: rgba(255,255,255,.34); border-color: rgba(45,29,7,.43); }
.contact-number__label { color: #6e5628; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-number__digits { font-size: clamp(22px,2.2vw,31px); line-height: 1.16; font-weight: 800; letter-spacing: -.045em; white-space: nowrap; }
.contact-number__arrow { position: absolute; top: 50%; right: 24px; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid rgba(35,24,7,.3); border-radius: 50%; }
.contact-number__arrow .icon { width: 19px; height: 19px; }
.contacts__tip { display: flex; align-items: center; gap: 8px; margin: 7px 0 0 5px; font-size: 11px; font-weight: 700; color: #6e5628; }
.contacts__tip .icon { width: 14px; height: 14px; }
.contacts__extra { display: flex; flex-direction: column; gap: 9px; }
.contacts__extra-label { margin-left: 5px; color: #6e5628; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contacts__extra-list { display: grid; grid-template-columns: 1fr; gap: 9px; }
.contact-number--extra { min-height: 62px; padding: 12px 43px 12px 17px; gap: 0; }
.contact-number--extra .contact-number__digits { font-size: clamp(15px,1.35vw,19px); letter-spacing: -.03em; }
.contact-number--extra .contact-number__arrow { right: 11px; width: 28px; height: 28px; }
.contact-number--extra .contact-number__arrow .icon { width: 15px; height: 15px; }

/* FAQ */
.faq { padding-top: 0; padding-bottom: 114px; background: #0a0910; }
.faq__layout { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: clamp(40px,6vw,90px); align-items: start; }
.faq__intro { max-width: 360px; margin: 22px 0 25px; color: #9e9aab; font-size: 14px; line-height: 1.85; }
.faq__list { display: flex; flex-direction: column; gap: 12px; }
.faq-item { border: 1px solid var(--stroke); border-radius: 17px; background: linear-gradient(130deg,#1b1925 0%,#15141e 70%); transition: border-color .2s; }
.faq-item[open] { border-color: rgba(255,218,89,.24); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; cursor: pointer; list-style: none; font-size: 15px; line-height: 1.45; font-weight: 800; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 31px; height: 31px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: var(--gold); font-size: 21px; line-height: 1; transition: background .2s; }
.faq-item[open] summary::after { content: '−'; }
.faq-item summary:hover::after { background: rgba(255,218,89,.1); }
.faq-item summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 14px; }
.faq-item p { margin: 0; padding: 0 22px 20px; max-width: 660px; color: #a5a1b2; font-size: 13px; line-height: 1.8; }

/* Footer */
.footer { background: #08070e; border-top: 1px solid rgba(255,255,255,.06); }
.footer__main { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 44px 0 51px; }
.footer__brand > p { margin: 10px 0 0; color: #8e8a9c; font-size: 12px; }
.footer__location { display: inline-block; margin-top: 5px; color: #b8b1c3; font-size: 11px; }
.footer__links { display: flex; gap: 28px; align-items: center; }
.footer__top { width: 45px; height: 45px; display: flex; justify-content: center; align-items: center; border: 1px solid var(--stroke); border-radius: 14px; color: var(--gold); transition: background .2s; }
.footer__top:hover { background: rgba(255,218,89,.1); }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0 28px; border-top: 1px solid rgba(255,255,255,.07); color: #777285; font-size: 11px; }
.footer__star { color: var(--gold); }
.footer__legal { padding: 30px 0 34px; border-top: 1px solid rgba(255,255,255,.07); }
.footer__legal-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.footer__legal-title { display: flex; align-items: center; gap: 9px; margin: 0; color: var(--gold); font-size: 10px; line-height: 1.4; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.footer__legal-title::before { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-radius: 2px; background: var(--gold); }
.footer__legal-note { color: #6f697c; font-size: 10px; font-weight: 700; letter-spacing: .05em; }
.footer__legal-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(30px,4vw,70px); align-items: start; }
.footer__legal-docs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; }
.footer__legal-docs a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.07); color: #c9c3d3; font-size: 12px; font-weight: 600; text-decoration: none; transition: color .2s; }
.footer__legal-docs a:hover { color: var(--gold); }
.footer__legal-docs .icon { width: 13px; height: 13px; flex-shrink: 0; color: #6f697c; transition: transform .2s, color .2s; }
.footer__legal-docs a:hover .icon { color: var(--gold); transform: translateX(3px); }
.footer__legal-requisites { align-self: stretch; padding-left: clamp(24px,3vw,44px); border-left: 1px solid rgba(255,255,255,.08); }
.footer__legal-requisites dl { display: grid; gap: 9px; margin: 0; }
.footer__legal-requisites dl > div { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 10px; }
.footer__legal-requisites dt { padding-top: 2px; color: #777285; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer__legal-requisites dd { margin: 0; color: #b8b2c3; font-size: 10.5px; line-height: 1.6; }
.mobile-call { display: none; }

/* Reveal only after JS has successfully started. Respect reduced motion. */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1200px) {
    .container { width: min(calc(100% - 72px),var(--container)); }
    .site-nav { gap: 18px; }
    .header-phone { padding-inline: 13px; font-size: 12px; }
    .hero h1 { font-size: clamp(58px,6.5vw,84px); }
    .hero__car { right: -155px; width: 680px; }
    .hero__floating-card { right: -12px; }
    .advantages__layout { gap: 70px; }
    .drivers__copy { padding-left: 62px; }
    .dispatchers { padding-inline: 48px; }
    .contacts__panel { padding-inline: 60px; }
}

@media (max-width: 1050px) and (min-width: 621px) {
    .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .service-card:nth-of-type(3) { grid-column: 1 / -1; min-height: 235px; }
    .service-card:nth-of-type(3) .service-card__body { max-width: 490px; }
}

@media (max-width: 990px) {
    .site-nav { gap: 13px; }
    .site-nav a { font-size: 11px; }
    .brand__name { font-size: 25px; }
    .header-phone span { display: none; }
    .header-phone { width: 44px; height: 44px; justify-content: center; padding: 0; }
    .header-phone .icon { width: 19px; height: 19px; }
    .hero__layout { grid-template-columns: 1.08fr .92fr; }
    .hero h1 { font-size: clamp(54px,6vw,72px); }
    .hero__car { right: -145px; top: 15px; width: 620px; }
    .hero__orb { left: -130px; }
    .hero__lead { font-size: 15px; }
    .hero__floating-card { right: -10px; width: 290px; }
    .advantages__layout { gap: 55px; }
    .advantages__visual { min-height: 630px; }
    .advantages__photo-label { left: -12px; }
    .drivers__copy { width: 68%; }
    .drivers__art { right: -14%; width: 60%; }
    .dispatchers { grid-template-columns: 1fr; gap: 26px; padding: 42px 45px; }
    .dispatchers__action { flex-direction: row; flex-wrap: wrap; align-items: center; }
    .dispatchers__action .btn { width: auto; }
    .dispatchers__phone { min-width: 210px; }
    .contacts__panel { gap: 25px; padding: 58px 45px; }
    .contact-number { padding-right: 51px; }
    .contact-number__arrow { right: 12px; width: 31px; height: 31px; }
}

@media (max-width: 860px) {
    html { scroll-padding-top: 80px; }
    .site-header { height: 79px; }
    .site-header__inner { gap: 12px; }
    .site-nav { display: none; position: absolute; top: 78px; left: 0; right: 0; z-index: 30; padding: 19px max(36px,calc((100% - 1264px)/2)); flex-direction: column; align-items: stretch; gap: 0; background: rgba(16,13,25,.985); border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: 0 27px 40px rgba(0,0,0,.3); }
    .menu-open .site-nav { display: flex; }
    .site-nav a { font-size: 14px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
    .site-nav a:last-child { border-bottom: 0; }
    .site-nav a::after { display: none; }
    .menu-toggle { display: flex; }
    .menu-open .menu-toggle__open { display: none; }
    .menu-open .menu-toggle__close { display: block; }
    .hero { min-height: unset; }
    .hero__layout { display: block; min-height: unset; }
    .hero__copy { max-width: 690px; padding: 84px 0 0; }
    .hero h1 { font-size: clamp(65px,9vw,87px); }
    .hero__lead { max-width: 450px; font-size: 16px; }
    .hero__footnote { margin-top: 26px; }
    .hero__visual { height: 550px; min-height: 0; margin-top: -38px; }
    .hero__orb { width: 660px; height: 660px; left: 17%; top: -60px; }
    .hero__car { width: 680px; height: 555px; right: -4%; top: 0; }
    .hero__floating-card { right: 0; bottom: 30px; }
    .hero__index { right: 10%; top: 60px; }
    .hero__lower { min-height: 72px; }
    .proof-strip__inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .proof { border-bottom: 1px solid rgba(255,255,255,.07); }
    .proof:nth-child(2) { border-right: 0; }
    .proof:nth-child(3), .proof:nth-child(4) { border-bottom: 0; }
    .section { padding-block: 90px; }
    .advantages__layout { display: flex; flex-direction: column; gap: 65px; }
    .advantages__visual { width: 100%; max-width: 620px; min-height: 535px; align-self: flex-start; }
    .advantages__photo { inset: 0 24px 0 0; }
    .advantages__photo img { object-position: 50% 43%; }
    .advantages__content { width: 100%; }
    .benefit-item { min-height: 100px; }
    .faq { padding-top: 0; padding-bottom: 90px; }
    .faq__layout { grid-template-columns: 1fr; gap: 34px; }
    .footer__legal-grid { grid-template-columns: 1fr; gap: 22px; }
    .footer__legal-requisites { padding-left: 0; padding-top: 18px; border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
    .drivers { padding-top: 0; }
    .drivers__copy { width: 81%; padding: 65px 0 60px 52px; }
    .drivers__art { opacity: .32; right: -17%; width: 76%; }
    .drivers__ambient { z-index: 2; background: linear-gradient(95deg,rgba(24,14,34,.84),rgba(24,14,34,.67) 58%,rgba(24,14,34,.15)); }
    .contacts__panel { grid-template-columns: 1fr; gap: 25px; padding: 65px; }
    .contacts__copy > p:not(.eyebrow) { max-width: 450px; }
    .contacts__sun { left: auto; right: 55px; top: 60px; }
    .contacts__numbers { max-width: 560px; width: 100%; }
    .footer__links { gap: 16px; }
}

@media (max-width: 620px) {
    .container { width: calc(100% - 36px); }
    .site-header { height: 74px; }
    .site-nav { top: 73px; padding-inline: 18px; }
    .brand__mark { height: 50px; width: 38px; }
    .brand__mark > span { font-size: 42px; }
    .brand__crown { width: 29px; left: 3px; top: -4px; }
    .brand__name { font-size: 25px; }
    .brand__small { font-size: 8px; }
    .header-actions { gap: 9px; }
    .header-phone, .menu-toggle { width: 40px; height: 40px; border-radius: 12px; }
    .hero__copy { padding-top: 68px; }
    .hero h1 { margin-top: 22px; font-size: clamp(48px,11.5vw,71px); letter-spacing: -.075em; white-space: normal; }
    .hero__h1-kicker { margin-bottom: 10px; font-size: 10px; letter-spacing: .17em; }
    .hero__lead { font-size: 14px; line-height: 1.8; max-width: 410px; }
    .eyebrow--hero { gap: 8px; font-size: 9px; letter-spacing: .11em; white-space: nowrap; }
    .eyebrow--hero .eyebrow__line { width: 12px; }
    .hero__routes { gap: 8px; margin-top: 18px; }
    .hero__route-main, .hero__route-near { min-height: 32px; padding: 7px 10px; font-size: 10px; }
    .hero__buttons { margin-top: 27px; gap: 20px; }
    .hero .btn { min-height: 60px; height: 60px; }
    .hero__footnote { margin-top: 24px; font-size: 11px; }
    .hero__visual { height: 425px; margin-top: 13px; }
    .hero__car { right: -85px; top: -6px; width: 560px; height: 456px; }
    .hero__orb { left: -10%; width: 530px; height: 530px; top: -39px; }
    .hero__index { top: 22px; right: 0; }
    .hero__floating-card { right: 0; bottom: 19px; width: 268px; min-height: 79px; }
    .hero__lower { min-height: 62px; font-size: 8px; letter-spacing: .1em; }
    .hero__lower a { gap: 8px; }
    .hero__lower .icon { width: 15px; }
    .proof { min-height: 81px; padding: 15px 11px; gap: 9px; font-size: 10px; }
    .proof > .icon { width: 21px; height: 21px; }
    .proof__number { font-size: 23px; }
    .section { padding-block: 80px; }
    .section h2 { font-size: clamp(41px,9vw,57px); }
    .section-heading { display: block; margin-bottom: 27px; }
    .section-heading__aside { margin: 23px 0 0; font-size: 13px; line-height: 1.8; }
    .service-grid { display: flex; flex-direction: column; gap: 14px; }
    .service-card:nth-of-type(3) { min-height: 265px; }
    .service-card { min-height: 265px; padding: 26px; border-radius: 22px; }
    .service-card__body { max-width: 330px; padding-right: 24px; }
    .service-card h3 { font-size: 26px; }
    .service-card p { font-size: 12px; padding-right: 29px; }
    .service-card__link { right: 22px; bottom: 23px; width: 39px; height: 39px; }
    .round-icon { width: 51px; height: 51px; border-radius: 15px; }
    .service-photo { min-height: 325px; border-radius: 22px; }
    .service-photo img { width: 116%; height: 83%; bottom: -20px; right: -18%; }
    .service-photo::before { background: linear-gradient(180deg,#120d21 0%,rgba(18,13,33,.82) 34%,transparent 78%); }
    .service-photo__caption { left: 27px; top: 29px; transform: none; gap: 11px; }
    .service-photo__caption strong { font-size: 34px; }
    .advantages__layout { gap: 51px; }
    .advantages__visual { min-height: 435px; }
    .advantages__photo-label { left: -5px; bottom: 18px; padding: 15px 17px; gap: 10px; font-size: 11px; }
    .advantages__photo-star { font-size: 24px; }
    .advantages__edge-label { right: -23px; }
    .advantages__intro { margin: 21px 0 26px; font-size: 13px; }
    .benefit-item { gap: 12px; min-height: 88px; }
    .benefit-item__icon { width: 44px; height: 44px; border-radius: 12px; }
    .benefit-item__copy strong { font-size: 13px; }
    .benefit-item__copy small { font-size: 11px; }
    .drivers { padding-block: 0 82px; }
    .drivers__panel { min-height: 615px; border-radius: 23px; }
    .drivers__copy { width: 100%; padding: 43px 23px 46px; }
    .drivers h2 { font-size: clamp(34px,8.6vw,50px); }
    .drivers__copy > p:not(.eyebrow) { font-size: 12px; }
    .drivers__perks { margin: 19px 0 30px; gap: 7px; }
    .drivers__perks > span { font-size: 10px; padding: 8px 10px; }
    .drivers__art { right: -30%; width: 115%; height: 84%; bottom: -22%; opacity: .23; }
    .drivers__art > span { display: none; }
    .drivers__ambient { background: linear-gradient(180deg,rgba(20,13,28,.92),rgba(20,13,28,.68) 90%); }
    .drivers__phone { flex-direction: column; align-items: flex-start; gap: 5px; }
    .dispatchers { margin-top: 14px; padding: 33px 23px; border-radius: 22px; }
    .dispatchers h3 { font-size: clamp(29px,8vw,39px); }
    .dispatchers__copy > p:not(.eyebrow) { font-size: 12px; }
    .dispatchers__perks { margin-top: 18px; gap: 7px; }
    .dispatchers__perks > span { font-size: 10px; padding: 8px 10px; }
    .dispatchers__action { flex-direction: column; align-items: stretch; }
    .dispatchers__action .btn { width: 100%; }
    .contacts { padding: 0 0 81px; }
    .contacts__panel { min-height: 0; padding: 39px 24px; gap: 27px; border-radius: 23px; }
    .contacts h2 { font-size: clamp(57px,13.5vw,84px); }
    .contacts__copy > p:not(.eyebrow) { font-size: 12px; }
    .contacts__sun { right: 25px; top: 34px; font-size: 23px; }
    .contact-number { min-height: 100px; gap: 10px; padding: 19px 46px 19px 16px; border-radius: 14px; }
    .contact-number__digits { font-size: clamp(20px,5.6vw,29px); }
    .contact-number__arrow { right: 9px; width: 29px; height: 29px; }
    .contact-number--extra { min-height: 58px; padding: 11px 40px 11px 16px; }
    .contact-number--extra .contact-number__digits { font-size: 19px; }
    .contacts__tip { font-size: 10px; }
    .faq { padding-top: 0; padding-bottom: 82px; }
    .faq__intro { margin: 19px 0 22px; font-size: 13px; }
    .faq-item summary { padding: 17px 18px; font-size: 13px; }
    .faq-item p { padding: 0 18px 18px; font-size: 12px; }
    .footer__legal { padding: 26px 0 28px; }
    .footer__legal-head { flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 14px; }
    .footer__legal-note { font-size: 9px; }
    .footer__legal-docs { grid-template-columns: 1fr; }
    .footer__legal-docs a { padding: 7px 0; font-size: 11px; }
    .footer__legal-requisites { padding: 16px 0 0; }
    .footer__legal-requisites dl > div { grid-template-columns: 58px minmax(0,1fr); }
    .footer__main { align-items: flex-start; flex-wrap: wrap; gap: 20px; padding: 36px 0; }
    .footer__brand { flex: 1 1 calc(100% - 80px); }
    .footer__links { order: 3; flex: 1 1 100%; flex-wrap: wrap; gap: 15px 20px; }
    .footer__links a { font-size: 11px; }
    .footer__top { order: 2; }
    .footer__bottom { flex-direction: column; align-items: flex-start; gap: 9px; padding-bottom: 106px; font-size: 10px; }
    .mobile-call { position: fixed; z-index: 30; display: flex; align-items: center; justify-content: center; gap: 14px; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); height: 58px; color: #17131a; background: var(--gold); border-radius: 15px; font-size: 14px; font-weight: 800; box-shadow: 0 6px 28px rgba(0,0,0,.4),0 0 30px rgba(255,218,89,.16); }
    .mobile-call__arrow { position: absolute; right: 17px; }
}

@media (max-width: 385px) {
    .hero h1 { font-size: 45px; }
    .eyebrow--hero { gap: 8px; letter-spacing: .11em; font-size: 9px; }
    .eyebrow--hero .eyebrow__line { width: 10px; }
    .hero__buttons { gap: 15px; }
    .hero__buttons .text-link { font-size: 11px; }
    .hero__car { right: -118px; }
    .proof { font-size: 9px; }
    .drivers h2 { font-size: 33px; }
    .contact-number__digits { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .js .reveal { opacity: 1 !important; transform: none !important; }
}

/* Transparent feathering is already baked into the *-soft.webp assets. */
.hero__car, .service-photo img, .drivers__art img { -webkit-mask-image: none; mask-image: none; }
