/* Unified typography, form sizing and public footer for the main customer entry flows. */
body.rn-booking-v113,
body.rn-account-page,
body.rc-auth-page,
body.rn-public-case-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.rn-booking-v113 .rn-hero-copy h1,
body.rn-account-page .rn-retrieve-card h1,
body.rc-auth-page .rc-auth-card h1,
body.rn-public-case-page .rn-public-intro h1 {
  font-weight: 650 !important;
  letter-spacing: -.04em !important;
  line-height: 1.12 !important;
}
body.rn-booking-v113 .rn-hero-copy p,
body.rn-account-page .rn-retrieve-card > p,
body.rc-auth-page .rc-auth-card .rc-lead,
body.rn-public-case-page .rn-public-intro > p {
  font-size: 14px;
  line-height: 1.55;
  color: #64717a;
}
body.rn-account-page .rn-retrieve-card,
body.rc-auth-page .rc-auth-card,
body.rn-public-case-page .rn-public-card {
  border-radius: 18px;
}
body.rn-account-page .rn-retrieve-card label,
body.rc-auth-page .rc-auth-card label,
body.rn-public-case-page .rn-public-card label {
  font-size: 13px;
  font-weight: 600;
}
body.rn-account-page .rn-retrieve-card input,
body.rc-auth-page .rc-auth-card input,
body.rn-public-case-page .rn-public-card input,
body.rn-public-case-page .rn-public-card select,
body.rn-public-case-page .rn-public-card textarea {
  font-family: inherit;
  font-size: 15px;
}
/* Compact, shared sea-green glass footer. */
.rn-customer-site-footer {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 11px max(20px, calc((100vw - 1160px) / 2));
  border-top: 1px solid rgba(221,255,248,.25);
  background: linear-gradient(115deg, rgba(15,118,110,.96), rgba(8,83,78,.97));
  color: #f2fbf9;
  box-shadow: 0 -5px 22px rgba(8,60,55,.10);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  backdrop-filter: blur(14px) saturate(120%);
}
.rn-customer-site-footer__shell { display:flex; align-items:center; justify-content:space-between; gap:22px; max-width:1160px; min-height:28px; margin:0 auto; }
.rn-customer-site-footer__brand { display:inline-flex; align-items:center; gap:4px; flex:0 0 auto; width:max-content; color:#f2fbf9; font-size:15px; font-weight:730; letter-spacing:-.045em; text-decoration:none; }
.rn-customer-site-footer__brand b { padding:2px 4px; border-radius:4px; background:rgba(230,255,249,.16); color:#fff; font-weight:730; }
.rn-customer-site-footer__links { display:flex; flex:1 1 auto; flex-wrap:wrap; justify-content:center; gap:6px 18px; }
.rn-customer-site-footer__links a { color:rgba(245,255,252,.88); font-size:11px; font-weight:520; text-decoration:none; transition:color .18s ease; }
.rn-customer-site-footer__links a:hover { color:#c6fff1; }
.rn-customer-site-footer__legal { flex:0 0 auto; color:rgba(239,250,247,.68); font-size:10px; white-space:nowrap; }
@media(max-width:680px) {
  body.rn-booking-v113 .rn-hero-copy h1,
  body.rn-account-page .rn-retrieve-card h1,
  body.rc-auth-page .rc-auth-card h1,
  body.rn-public-case-page .rn-public-intro h1 { font-size:clamp(23px,7vw,28px)!important; font-weight:650!important; line-height:1.16!important; letter-spacing:-.035em!important; }
  body.rn-booking-v113 .rn-hero-copy p,
  body.rn-account-page .rn-retrieve-card > p,
  body.rc-auth-page .rc-auth-card .rc-lead,
  body.rn-public-case-page .rn-public-intro > p { font-size:13px; line-height:1.48; }
  .rn-customer-site-footer { margin-top:17px; padding:10px 14px; }
  .rn-customer-site-footer__shell { display:grid; grid-template-columns:1fr auto; gap:9px 12px; min-height:0; }
  .rn-customer-site-footer__brand { font-size:14px; }
  .rn-customer-site-footer__links { grid-column:1 / -1; grid-row:2; justify-content:flex-start; gap:5px 14px; }
  .rn-customer-site-footer__links a { font-size:10px; white-space:nowrap; }
  .rn-customer-site-footer__legal { justify-self:end; font-size:9px; }
}
@media(max-width:360px) {
  .rn-customer-site-footer { padding-right:11px; padding-left:11px; }
  .rn-customer-site-footer__shell { gap:8px 9px; }
  .rn-customer-site-footer__links { gap:5px 10px; }
  .rn-customer-site-footer__links a { font-size:9px; }
}
/* About page: one type family and a restrained, responsive type scale. */
body.rn-about-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 !important;
  color: #18302e !important;
  background: #f4f8f7 !important;
  background-image: none !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.rn-about-page::before { display: none !important; }
body.rn-about-page .rn-customer-header { flex: 0 0 auto; background: rgba(20,28,32,.9) !important; }
body.rn-about-page .rn-about-shell {
  flex: 1 0 auto;
  box-sizing: border-box;
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(32px, 4vw, 48px) 0 clamp(36px, 4vw, 50px);
}
.rn-about-page .rn-about-shell,
.rn-about-page .rn-about-shell * { font-family: inherit; }
.rn-about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, .7fr);
  overflow: hidden;
  border: 1px solid #dce9e6;
  border-radius: 22px;
  background: linear-gradient(120deg, #fff, #f6fbfa 62%, #e9f5f1);
  box-shadow: 0 18px 54px rgba(26,62,57,.07);
}
.rn-about-copy { padding: clamp(30px, 5vw, 58px); }
.rn-about-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #0f766e;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .1em;
  line-height: 1.45;
}
.rn-about-kicker i { width: 22px; height: 1px; background: #70b8ac; }
.rn-about-copy h1 {
  max-width: 650px;
  margin: 16px 0 14px;
  color: #17312e;
  font-size: clamp(38px, 4.2vw, 52px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.rn-about-lead,
.rn-about-secondary,
.rn-about-story > p,
.rn-about-pillars p {
  font-weight: 400;
  letter-spacing: 0;
}
.rn-about-lead { max-width: 650px; margin: 0; color: #405b57; font-size: 16px; line-height: 1.65; }
.rn-about-secondary { max-width: 620px; margin: 12px 0 0; color: #647773; font-size: 14px; line-height: 1.65; }
.rn-about-cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 23px;
  padding: 11px 16px;
  border: 1px solid #0f766e;
  border-radius: 999px;
  background: #0f766e;
  color: #fff !important;
  font-size: 13px;
  font-weight: 550;
  line-height: 1.35;
  text-decoration: none;
}
.rn-about-visual {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 290px;
  padding: 30px;
  background: #0f766e;
  color: #f4fffc;
}
.rn-about-visual-label { color: #c1ece3; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.rn-about-route { display: flex; align-items: center; width: min(185px, 100%); margin: 35px 0 22px; }
.rn-about-route span { width: 11px; height: 11px; flex: 0 0 11px; border: 2px solid #d8fff5; border-radius: 50%; background: #0f766e; }
.rn-about-route span:last-child { border-radius: 3px; background: #a9f2e1; }
.rn-about-route i { height: 2px; flex: 1; background: linear-gradient(90deg,#b9f2e7 0 55%,transparent 55% 70%,#b9f2e7 70%); }
.rn-about-visual strong { font-size: 25px; font-weight: 550; line-height: 1.2; letter-spacing: -.03em; }
.rn-about-visual small { margin-top: 10px; color: rgba(244,255,252,.82); font-size: 13px; line-height: 1.5; }
.rn-about-story {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
  align-items: end;
  gap: 36px;
  padding: 46px 10px 24px;
}
.rn-about-section-heading h2 {
  max-width: 420px;
  margin: 9px 0 0;
  color: #193431;
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 550;
  line-height: 1.14;
  letter-spacing: -.035em;
}
.rn-about-story > p { max-width: 620px; margin: 0; color: #5e716e; font-size: 15px; line-height: 1.7; }
.rn-about-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.rn-about-pillars article { min-height: 150px; padding: 20px; border: 1px solid #e0e9e7; border-radius: 15px; background: #fff; }
.rn-about-pillars article > span { color: #0f766e; font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.rn-about-pillars h3 { margin: 12px 0 7px; color: #203b37; font-size: 16px; font-weight: 550; line-height: 1.35; }
.rn-about-pillars p { margin: 0; color: #647773; font-size: 14px; line-height: 1.65; }
.rn-about-close {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 32px;
  padding: 21px 24px;
  border-radius: 15px;
  background: #e6f3f0;
}
.rn-about-close h2 { max-width: 600px; margin: 7px 0 0; color: #1d3b36; font-size: 23px; font-weight: 550; line-height: 1.25; letter-spacing: -.025em; }
.rn-about-close .rn-about-cta { flex: 0 0 auto; margin: 0; }

/* The shared footer sits at the bottom on short pages and after content on long pages. */
body.rn-account-page,
body.rc-auth-page,
body.rn-public-case-page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
body.rn-account-page > main,
body.rc-auth-page > main,
body.rn-public-case-page > main { flex: 1 0 auto; }
body.rn-account-page > .rn-customer-site-footer,
body.rc-auth-page > .rn-customer-site-footer,
body.rn-public-case-page > .rn-customer-site-footer {
  flex: 0 0 auto;
  width: 100%;
  box-sizing: border-box;
  margin-top: auto;
}

/* Footer brand is text only; keep the product attribution and key links. */
.rn-customer-site-footer { margin-top: 24px; padding: 11px max(20px, calc((100vw - 1160px) / 2)); }
.rn-customer-site-footer__shell { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1160px; min-height:28px; margin:0 auto; }
.rn-customer-site-footer__attribution { display:flex; align-items:baseline; flex:0 0 auto; gap:7px; margin:0; color:#f2fbf9; line-height:1.4; white-space:nowrap; }
.rn-customer-site-footer__attribution strong { font-size:13px; font-weight:600; letter-spacing:-.01em; }
.rn-customer-site-footer__attribution span { color:rgba(239,250,247,.76); font-size:11px; font-weight:400; }
.rn-customer-site-footer__links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px 18px; }
.rn-customer-site-footer__links a { color:rgba(245,255,252,.9); font-size:11px; font-weight:450; text-decoration:none; transition:color .18s ease; }
.rn-customer-site-footer__links a:hover { color:#c6fff1; }
@media (max-width: 900px) {
  body.rn-about-page .rn-about-shell { width:calc(100% - 30px); padding:26px 0 34px; }
  .rn-about-hero { grid-template-columns:1fr; border-radius:18px; }
  .rn-about-copy { padding:25px 22px 27px; }
  .rn-about-copy h1 { max-width:620px; margin:13px 0 11px; font-size:clamp(32px, 7.5vw, 42px); }
  .rn-about-lead { font-size:15px; line-height:1.6; }
  .rn-about-secondary { font-size:14px; }
  .rn-about-visual { display:none; }
  .rn-about-story { grid-template-columns:1fr; gap:10px; padding:28px 3px 17px; }
  .rn-about-section-heading h2 { margin-top:7px; font-size:26px; }
  .rn-about-story > p { font-size:14px; }
  .rn-about-pillars { grid-template-columns:1fr; gap:8px; }
  .rn-about-pillars article { min-height:0; padding:14px 15px; }
  .rn-about-pillars h3 { margin:5px 0 4px; font-size:15px; }
  .rn-about-pillars p { font-size:13px; line-height:1.55; }
  .rn-about-close { align-items:flex-start; flex-direction:column; gap:12px; margin-top:18px; padding:16px; }
  .rn-about-close h2 { margin-top:6px; font-size:19px; }
  .rn-about-close .rn-about-cta { padding:10px 14px; }
  .rn-customer-site-footer { margin-top:17px; padding:10px 14px; }
  .rn-customer-site-footer__shell { display:grid; grid-template-columns:1fr; gap:9px; min-height:0; }
  .rn-customer-site-footer__attribution { flex-wrap:wrap; gap:5px 7px; }
  .rn-customer-site-footer__links { justify-content:flex-start; gap:6px 14px; }
  .rn-customer-site-footer__links a { font-size:10px; white-space:nowrap; }
}
@media (max-width: 390px) {
  body.rn-about-page .rn-about-shell { width:calc(100% - 24px); }
  .rn-about-copy { padding:21px 17px 23px; }
  .rn-about-kicker { font-size:10px; }
  .rn-about-copy h1 { font-size:clamp(30px, 8.4vw, 35px); }
  .rn-customer-site-footer { padding-right:12px; padding-left:12px; }
  .rn-customer-site-footer__links { gap:6px 11px; }
  .rn-customer-site-footer__links a { font-size:10px; }
}

/* Match the header's polished glass treatment, with RideNow sea-green color. */
.rn-customer-site-footer {
  border-top: 1px solid rgba(224,255,248,.24);
  background: linear-gradient(115deg, rgba(17,112,103,.92), rgba(7,76,72,.96));
  box-shadow: 0 -8px 28px rgba(13,55,52,.13);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}
.rn-customer-site-footer__attribution { color: rgba(250,255,253,.96); }
.rn-customer-site-footer__attribution span { color: rgba(239,250,247,.76); }
.rn-customer-site-footer__links {
  padding: 6px 12px;
  border: 1px solid rgba(232,255,250,.22);
  border-radius: 999px;
  background: rgba(8,38,36,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.rn-customer-site-footer__links a { color: rgba(250,255,253,.92); }
.rn-customer-site-footer__links a:hover { color: #c6fff1; }
@media (max-width: 900px) {
  .rn-customer-site-footer__links { justify-content:flex-start; border-radius:14px; padding:7px 10px; }
}

/* Use the customer header's charcoal glass palette, with the brand sea-green accent. */
.rn-customer-site-footer {
  border-top: 1px solid rgba(255,255,255,.14);
  background: rgba(16,25,31,.92);
  box-shadow: 0 -5px 19px rgba(7,16,20,.10);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}
.rn-customer-site-footer__attribution strong { color:#f7fbfa; }
.rn-customer-site-footer__attribution span { color:rgba(239,246,246,.72); }
.rn-customer-site-footer__links {
  border-color:rgba(255,255,255,.24);
  background:rgba(15,20,24,.40);
  box-shadow:0 6px 20px rgba(0,0,0,.11), inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
}
.rn-customer-site-footer__links a { color:rgba(255,255,255,.94); }
.rn-customer-site-footer__links a:hover { color:#74d2c5; }

/* Complete the About hero promise panel with route labels and a clear close. */
.rn-about-visual {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(145deg, #117f75 0%, #0f766e 58%, #0b655e 100%);
}
.rn-about-visual::before {
  position:absolute;
  z-index:-1;
  top:-105px;
  right:-88px;
  width:270px;
  height:270px;
  border:1px solid rgba(220,255,247,.14);
  border-radius:50%;
  box-shadow:0 0 0 26px rgba(220,255,247,.035), 0 0 0 54px rgba(220,255,247,.025);
  content:"";
}
.rn-about-route { width:100%; margin:28px 0 10px; gap:8px; }
.rn-about-route span { width:13px; height:13px; flex-basis:13px; box-shadow:0 0 0 5px rgba(217,255,247,.10); }
.rn-about-route span:last-child { box-shadow:0 0 0 5px rgba(217,255,247,.10), 0 0 14px rgba(195,255,241,.45); }
.rn-about-route i { height:2px; background:repeating-linear-gradient(90deg,rgba(204,255,245,.92) 0 8px,transparent 8px 13px); }
.rn-about-route-labels { display:flex; justify-content:space-between; color:rgba(241,255,251,.76); font-size:10px; font-weight:550; letter-spacing:.08em; }
.rn-about-visual strong { margin-top:30px; font-size:27px; }
.rn-about-visual small { font-size:13px; }
.rn-about-visual-note { display:flex; align-items:center; gap:8px; margin-top:24px; padding-top:15px; border-top:1px solid rgba(232,255,250,.2); color:rgba(241,255,251,.88); font-size:11px; line-height:1.4; }
.rn-about-visual-note i { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#a9f2e1; box-shadow:0 0 10px rgba(169,242,225,.65); }

/* Refined About promise card: complete service message without placeholder route art. */
.rn-about-visual {
  justify-content:center;
  gap:0;
  background:linear-gradient(145deg,#127c73 0%,#0f766e 58%,#0b655e 100%);
}
.rn-about-visual::before { display:none; }
.rn-about-visual-label { margin-bottom:24px; color:#c4eee6; }
.rn-about-visual strong { max-width:280px; margin:0; font-size:29px; line-height:1.18; }
.rn-about-visual small { display:block; max-width:300px; margin-top:14px; color:rgba(244,255,252,.86); font-size:14px; line-height:1.65; }
.rn-about-visual-note { margin-top:26px; padding-top:16px; font-size:12px; }

/* Match the footer's scale to the header's glass navigation. */
.rn-customer-site-footer { padding-top:13px; padding-bottom:13px; }
.rn-customer-site-footer__shell { min-height:34px; }
.rn-customer-site-footer__attribution { gap:8px; }
.rn-customer-site-footer__attribution strong { font-size:14px; }
.rn-customer-site-footer__attribution span { font-size:12px; }
.rn-customer-site-footer__links { gap:6px 18px; padding:7px 16px; }
.rn-customer-site-footer__links a { font-size:12px; }
@media (max-width:900px) {
  .rn-customer-site-footer { padding-top:10px; padding-bottom:10px; }
  .rn-customer-site-footer__attribution strong { font-size:13px; }
  .rn-customer-site-footer__attribution span { font-size:11px; }
  .rn-customer-site-footer__links { padding:7px 10px; gap:6px 14px; }
  .rn-customer-site-footer__links a { font-size:11px; }
}

/* Balance the About page vertically so the footer does not leave a large empty band. */
@media (min-width: 901px) {
  body.rn-about-page .rn-about-hero { min-height:clamp(450px,54vh,600px); }
  body.rn-about-page .rn-about-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
}
