:root {
  --ride-black: #061014;
  --ride-panel: #0c1a1e;
  --ride-panel-2: #102328;
  --ride-line: rgba(119, 238, 195, .18);
  --ride-ink: #f4fffa;
  --ride-muted: #9bb0ac;
  --ride-mint: #6cf0bb;
  --ride-green: #1d8a67;
  --ride-amber: #e9a153;
  --concept-focus: #a4ffd9;
  --concept-max: 1320px;
}

body { background: var(--ride-black); color: var(--ride-ink); font-family: Inter, sans-serif; }
.glide-page { overflow: clip; background: radial-gradient(circle at 80% 5%,rgba(28,139,103,.16),transparent 28%),var(--ride-black); }
.concept-nav { border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(6,16,20,.9); }
.concept-brand { font: 700 24px/1 "Space Grotesk", sans-serif; }
.glide-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--ride-mint); color: #071610; font-size: 16px; }
.world-cta,.glide-primary { background: var(--ride-mint); color: #051711; border-radius: 8px; box-shadow: 0 10px 30px rgba(108,240,187,.14); }
.glide-secondary { border-color: var(--ride-line); background: rgba(8,24,28,.74); }

.world-hero { min-height: 780px; position: relative; display: grid; grid-template-columns: minmax(520px,.82fr) minmax(0,1.18fr); column-gap: 32px; border-bottom: 1px solid rgba(255,255,255,.07); }
.world-copy { padding: 78px clamp(28px,4vw,74px) 54px max(24px,calc((100vw - var(--concept-max))/2)); display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 4; }
.world-hero h1 { max-width: 620px; margin: 0 0 22px; font: 680 clamp(52px,4.1vw,68px)/.95 "Space Grotesk", sans-serif; letter-spacing: -.055em; }
.world-hero .lede { max-width: 500px; margin: 0; color: #aec0bd; font-size: 17px; line-height: 1.62; }
.glide-points { display: grid; gap: 11px; margin-top: 24px; color: #c1cfcc; font-size: 13px; }
.glide-points span { display: flex; align-items: center; gap: 10px; }
.glide-points i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: rgba(108,240,187,.1); color: var(--ride-mint); font-style: normal; }
.actions { display: flex; gap: 12px; margin-top: 28px; }
.metric-row { width: 100%; max-width: 500px; margin-top: 42px; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ride-line); border-radius: 14px; background: rgba(8,25,29,.7); }
.metric { min-height: 78px; padding: 16px 18px; text-align: center; }
.metric + .metric { border-left: 1px solid var(--ride-line); }
.metric b { display: block; font: 700 22px/1 "Space Grotesk", sans-serif; }
.metric span { display: block; margin-top: 7px; color: var(--ride-muted); font-size: 9px; }
.surface { min-height: 780px; position: relative; overflow: hidden; }
.city-map { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(90deg,rgba(6,16,20,.72),transparent 30%),linear-gradient(180deg,transparent 72%,var(--ride-black)),url('/images/generated-concepts/glide-warsaw-night-v1.webp') center/cover no-repeat; }
.city-map::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 55% 45%,rgba(43,180,132,.05),transparent 35%); }
.route-line { position: absolute; inset: 5% 4% 4% 9%; z-index: 2; transform-origin: center; filter: drop-shadow(0 0 8px rgba(108,240,187,.85)); }
.route-line svg { width: 100%; height: 100%; overflow: visible; }
.route-line path { fill: none; stroke: var(--ride-mint); stroke-width: 5; stroke-linecap: round; }
.route-pin { position: absolute; z-index: 4; padding: 11px 13px; border: 1px solid var(--ride-line); border-radius: 12px; background: rgba(8,24,28,.9); box-shadow: 0 14px 36px rgba(0,0,0,.3); font-size: 11px; }
.route-pin b { display: block; color: #fff; }.route-pin span { color: var(--ride-muted); font-size: 9px; }.route-pin.pickup { right: 24%; top: 9%; }.route-pin.dropoff { right: 7%; bottom: 16%; }
.route-time { position: absolute; right: 8%; top: 3%; z-index: 4; padding: 9px 12px; border-radius: 10px; background: rgba(7,20,24,.84); font-size: 10px; }
.ride-sheet { width: 360px; position: absolute; left: 3%; top: 50%; z-index: 8; transform: translateY(-50%); padding: 18px; border: 1px solid rgba(108,240,187,.22); border-radius: 18px; background: rgba(8,24,28,.9); backdrop-filter: blur(18px); box-shadow: 0 28px 80px rgba(0,0,0,.45); }
.location-row { min-height: 50px; display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: center; border-bottom: 1px solid var(--ride-line); }
.location-row i { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--ride-mint); color: #071610; font-style: normal; font-size: 9px; }
.location-row small { display: block; color: var(--ride-muted); font-size: 8px; }.location-row b { font-size: 11px; }
.sheet-label { display: block; margin: 16px 0 9px; color: var(--ride-muted); font-size: 9px; }
.ride-option { min-height: 68px; margin-top: 7px; padding: 10px; display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(255,255,255,.025); cursor: pointer; }
.ride-option.is-selected,.ride-option[aria-pressed="true"] { border-color: var(--ride-mint)!important; background: rgba(108,240,187,.07)!important; }
.car-dot { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: rgba(108,240,187,.15); color: var(--ride-mint); font-weight: 700; }
.ride-option b { font-size: 12px; }.ride-option p { margin: 3px 0 0; color: var(--ride-muted); font-size: 8px; }.ride-option > span { text-align: right; font-weight: 700; font-size: 12px; }.ride-option > span small { display: block; color: var(--ride-mint); }
.driver-card { margin-top: 12px; display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; }
.driver-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#805d43,#d6ad91); font-weight: 700; }
.driver-card b { display: block; font-size: 12px; }.driver-card small { color: var(--ride-muted); font-size: 8px; }.eta-pill { color: var(--ride-mint); font-size: 9px; }
.ride-sheet .glide-primary { width: 100%; margin-top: 12px; }
.confidence { margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--ride-line); color: var(--ride-muted); font-size: 9px; }.confidence b { float: right; color: var(--ride-mint); }.confidence-bar { height: 4px; margin-top: 8px; border-radius: 99px; background: #17322d; }.confidence-bar i { display: block; width: 98%; height: 100%; background: var(--ride-mint); }

.glide-section { padding: 76px 0; border-bottom: 1px solid rgba(255,255,255,.07); position: relative; }
.glide-section-title { max-width: 560px; margin-bottom: 34px; }.glide-section-title h2 { margin: 0; font: 650 34px/1.05 "Space Grotesk", sans-serif; letter-spacing: -.04em; }.glide-section-title p { margin: 10px 0 0; color: var(--ride-muted); }
.journey { position: relative; display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid rgba(108,240,187,.55); border-radius: 18px; overflow: hidden; background: rgba(8,24,28,.56); box-shadow: 0 0 35px rgba(43,180,132,.08); }
.journey::before { content: ""; position: absolute; left: 0; right: 0; top: 28px; height: 2px; background: var(--ride-mint); opacity: .65; }
.journey-step { min-height: 220px; padding: 18px; position: relative; z-index: 1; }.journey-step + .journey-step { border-left: 1px solid var(--ride-line); }
.journey-step > i { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 20px; border: 1px solid var(--ride-mint); border-radius: 50%; background: #0a1c20; color: var(--ride-mint); font-style: normal; box-shadow: 0 0 0 7px var(--ride-black); }
.journey-step h3 { margin: 0; font: 600 16px/1.2 "Space Grotesk", sans-serif; }.journey-step p { min-height: 66px; margin: 7px 0 14px; color: var(--ride-muted); font-size: 11px; line-height: 1.5; }
.journey-proof { min-height: 48px; padding: 8px; border-radius: 9px; background: rgba(255,255,255,.035); color: #c7d7d4; font-size: 9px; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ride-line); border-radius: 18px; overflow: hidden; background: rgba(8,24,28,.56); }
.feature { min-height: 330px; padding: 24px; }.feature + .feature { border-left: 1px solid var(--ride-line); }.feature h3 { margin: 0; font: 600 23px/1.1 "Space Grotesk", sans-serif; }.feature > p { margin: 8px 0 18px; color: var(--ride-muted); font-size: 12px; line-height: 1.55; }
.feature-card { padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.025); }
.feature-list { display: grid; gap: 8px; }.feature-list button,.feature-list div { min-height: 50px; width: 100%; padding: 9px 10px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.06); border-radius: 10px; background: rgba(255,255,255,.025); color: #fff; text-align: left; }
.feature-list i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: rgba(108,240,187,.1); color: var(--ride-mint); font-style: normal; }.feature-list b { display: block; font-size: 11px; }.feature-list small { color: var(--ride-muted); font-size: 8px; }
.receipt { font: 400 9px/1.75 "IBM Plex Mono",monospace; }.receipt div { display: flex; justify-content: space-between; }.receipt .total { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--ride-line); font-size: 13px; }
.reserve-banner { min-height: 270px; padding: 34px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; align-items: center; border: 1px solid var(--ride-line); border-radius: 18px; background: linear-gradient(90deg,rgba(6,16,20,.98),rgba(6,16,20,.5)),url('/images/generated-concepts/glide-warsaw-night-v1.webp') center/cover no-repeat; }
.reserve-banner h2 { margin: 0; font: 650 34px/1.05 "Space Grotesk",sans-serif; }.reserve-banner p { color: var(--ride-muted); }.reserve-points { display: grid; gap: 8px; color: #c7d7d4; font-size: 12px; }.reserve-points span::before { content: "✓"; margin-right: 9px; color: var(--ride-mint); }
.reserve-card { justify-self: end; width: min(460px,100%); padding: 18px; border: 1px solid var(--ride-line); border-radius: 14px; background: rgba(8,24,28,.84); backdrop-filter: blur(12px); }.reserve-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.reserve-card b { display: block; }.reserve-card small { color: var(--ride-muted); }
.glide-footer { padding: 50px 0 28px; display: grid; grid-template-columns: 1.2fr repeat(4,.8fr); gap: 30px; color: var(--ride-muted); font-size: 11px; }.glide-footer h3 { color: #fff; font-size: 12px; }.glide-footer a { display: block; margin: 8px 0; text-decoration: none; }

.glide-dialog { width: min(560px,calc(100% - 32px)); padding: 0; border: 1px solid var(--ride-line); border-radius: 18px; background: #0b1a1e; color: #fff; }.glide-dialog::backdrop { background: rgba(2,8,10,.84); backdrop-filter: blur(10px); }.dialog-inner { padding: 26px; }.dialog-head { display: flex; justify-content: space-between; gap: 20px; }.dialog-head h2 { margin: 0; font: 650 27px/1.1 "Space Grotesk",sans-serif; }.dialog-close { width: 44px; height: 44px; border: 1px solid var(--ride-line); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }.reserve-form { margin-top: 22px; display: grid; gap: 13px; }.reserve-field { display: grid; gap: 6px; }.reserve-field label { color: var(--ride-muted); font-size: 11px; }.reserve-field input,.reserve-field select { width: 100%; min-height: 48px; padding: 0 12px; border: 1px solid var(--ride-line); border-radius: 9px; background: #061114; color: #fff; }
.reserve-route-summary { padding: 12px 14px; display: grid; gap: 3px; border: 1px solid rgba(108,240,187,.28); border-radius: 10px; background: rgba(108,240,187,.06); }
.reserve-route-summary span,.reserve-route-summary small { color: var(--ride-muted); font-size: 10px; }
.reserve-route-summary strong { color: var(--ride-mint); font-size: 14px; }

@media(max-width:1000px){.world-hero{grid-template-columns:1fr}.world-copy{min-height:640px;padding-left:24px;padding-right:24px;background:linear-gradient(90deg,rgba(6,16,20,.96),rgba(6,16,20,.72) 70%,transparent);position:absolute;left:0;top:0;width:48%;}.surface{min-height:720px}.ride-sheet{left:auto;right:3%;}.journey{grid-template-columns:repeat(3,1fr)}.journey-step:nth-child(4){border-left:0;border-top:1px solid var(--ride-line)}.journey-step:nth-child(5){border-top:1px solid var(--ride-line)}.feature-grid{grid-template-columns:1fr 1fr}.feature:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--ride-line)}}
@media(max-width:760px){.world-hero{display:block;min-height:1020px}.surface{min-height:610px}.world-copy{position:relative;width:auto;min-height:0;padding:50px 16px 36px;background:linear-gradient(180deg,rgba(6,16,20,.95),rgba(6,16,20,.84))}.world-hero h1{font-size:clamp(48px,14vw,64px);max-width:360px}.world-hero .lede{font-size:15px}.metric-row{margin-top:28px}.metric{padding-inline:8px}.surface{border-top:1px solid var(--ride-line)}.city-map{background-position:60% center}.ride-sheet{width:calc(100% - 32px);left:16px;right:16px;top:50%;transform:translateY(-50%)}.route-pin{font-size:9px}.route-pin.pickup{right:12px}.route-pin.dropoff{right:12px}.glide-section{padding:58px 0}.journey{grid-template-columns:1fr}.journey::before{left:35px;right:auto;top:20px;bottom:20px;width:2px;height:auto}.journey-step{min-height:155px;display:grid;grid-template-columns:38px 1fr;gap:12px}.journey-step+.journey-step{border-left:0;border-top:1px solid var(--ride-line)}.journey-step h3{margin-top:5px}.journey-step p{min-height:0}.journey-proof{grid-column:2}.feature-grid{grid-template-columns:1fr}.feature+.feature,.feature:nth-child(3){grid-column:auto;border-left:0;border-top:1px solid var(--ride-line)}.reserve-banner{grid-template-columns:1fr;padding:24px}.reserve-card{justify-self:stretch}.reserve-card-grid{grid-template-columns:1fr}.glide-footer{grid-template-columns:1fr 1fr}.glide-footer>div:first-child{grid-column:1/-1}}

.feature-list button { cursor: pointer; }
.feature-list button[data-toggle-key] > span:last-child { opacity: .38; transition: opacity .18s ease, color .18s ease; }
.feature-list button[data-toggle-key][aria-pressed="true"] { border-color: rgba(108,240,187,.5); background: rgba(108,240,187,.08); }
.feature-list button[data-toggle-key][aria-pressed="true"] > span:last-child { opacity: 1; color: var(--ride-mint); }
#glideAddedStop { border-color: rgba(108,240,187,.45); background: rgba(108,240,187,.07); }
#glideActionDialog p { margin: 18px 0 22px; color: var(--ride-muted); line-height: 1.6; }
#glideActionDialog .concept-btn + .concept-btn { margin-left: 8px; }
.glide-footer .concept-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}.glide-footer>div:first-child p{margin:0;line-height:1.55}
