/* Native marketing / search / Woo page styles */

:root {
  --rc-wash: #f5f7f9;
  --rc-surface: #ffffff;
  --rc-ink: #1a2332;
  --rc-muted: #5a6573;
  --rc-brand: #045482;
  --rc-brand-dark: #033d5e;
}

.rc-marketing,
.rc-search-page,
.rc-woo,
.rc-page {
  background: var(--rc-wash);
  color: var(--rc-ink);
}

.rc-page-hero {
  background:
    radial-gradient(120% 80% at 10% 0%, rgba(255, 255, 255, 0.18), transparent 55%),
    linear-gradient(160deg, #033d5e 0%, #045482 55%, #045482 100%);
  color: #fff;
  padding: 6.75rem 1.25rem 2.75rem;
}

/*
 * Mobile: topbar is hidden (≤720px), so hero no longer needs topbar clearance.
 * Desktop / tablet padding above stays unchanged.
 */
@media (max-width: 720px) {
  .rc-page-hero,
  .rc-concierge-hero.rc-page-hero {
    padding: 4.75rem 1.15rem 2rem;
  }

  body.admin-bar .rc-page-hero,
  body.admin-bar .rc-concierge-hero.rc-page-hero {
    padding-top: calc(4.75rem + 20px);
  }
}

.rc-page-hero__inner {
  width: min(100%, 1100px);
  margin: 0 auto;
}

.rc-page-hero__eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.9;
  font-weight: 500;
}

.rc-page-hero__title {
  margin: 0 0 0.6rem;
  font-size: clamp(1.55rem, 3.2vw, 2.25rem);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: #fff;
}

.rc-page-hero__lead {
  margin: 0;
  max-width: 36rem;
  font-size: clamp(0.95rem, 1.3vw, 1.05rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
}

.rc-page-hero__lead p {
  margin: 0;
}

.rc-prose,
.rc-services,
.rc-faq,
.rc-search-page__form,
.rc-search-page__results,
.rc-woo__inner {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto;
  padding: 2.25rem 0 3.25rem;
}

.rc-prose__body {
  max-width: 46rem;
  padding: 1.75rem 1.5rem;
  background: var(--rc-surface);
  border-radius: 8px;
  border: 1px solid #e6eaee;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--rc-ink);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.rc-prose__body p {
  margin: 0 0 1.1rem;
}

.rc-prose__body p:last-child {
  margin-bottom: 0;
}

.rc-prose--full .rc-prose__body {
  max-width: none;
  width: 100%;
}

.rc-checklist {
  margin: 1.1rem 0 1.5rem;
  padding: 0;
  list-style: none;
}

.rc-checklist li {
  position: relative;
  padding: 0.35rem 0 0.35rem 1.4rem;
  color: var(--rc-ink);
}

.rc-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--rc-brand);
}

.rc-btn {
  /* Base + variants: assets/css/rc-buttons.css */
}

/* —— Contact page (homepage look & feel) —— */
.rc-contact-page {
  overflow-x: clip;
  background: var(--rc-wash, #f8fafc);
}

.rc-contact {
  width: min(100% - 2.5rem, 1120px);
  margin: 0 auto;
  padding: 3rem 0 3.5rem;
}

.rc-contact__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
  gap: 2rem 2.75rem;
  align-items: start;
}

.rc-contact__kicker {
  margin: 0 0 0.45rem;
  color: var(--rc-accent, #05abc1);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rc-contact__aside {
  display: flex;
  flex-direction: column;
  padding: 0.35rem 0 0;
}

.rc-contact__aside-title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--rc-brand);
}

.rc-contact__aside-lead {
  margin: 0 0 1.5rem;
  color: var(--rc-muted);
  font-size: 1.02rem;
  line-height: 1.55;
  max-width: 28rem;
}

.rc-contact__channels {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.rc-contact__channel {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.05rem;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e6eaee;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

a.rc-contact__channel:hover,
a.rc-contact__channel:focus-visible {
  border-color: rgba(5, 171, 193, 0.45);
  box-shadow: 0 8px 22px rgba(4, 84, 130, 0.1);
  outline: none;
  transform: translateY(-1px);
}

.rc-contact__channel--static {
  cursor: default;
}

.rc-contact__channel-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  height: 2.55rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--rc-accent, #05abc1);
  color: #fff;
}

.rc-contact__channel-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  padding-top: 0.15rem;
}

.rc-contact__channel-label {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rc-muted);
}

.rc-contact__channel-value {
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--rc-ink);
  word-break: break-word;
}

.rc-contact__hint {
  margin-top: 1.5rem;
  padding: 1.35rem 1.25rem;
  border-radius: 14px;
  background: var(--rc-accent, #05abc1);
  color: #fff;
}

.rc-contact__hint-title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.rc-contact__hint-text {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.95);
}

.rc-contact__fleet-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #fff;
  font-weight: 650;
  font-size: 0.95rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  padding-bottom: 0.1rem;
  transition: border-color 0.15s ease;
}

.rc-contact__fleet-link:hover,
.rc-contact__fleet-link:focus-visible {
  border-bottom-color: #fff;
  outline: none;
}

.rc-contact__form {
  display: grid;
  gap: 1.15rem;
  padding: 1.75rem 1.6rem 1.8rem;
  background: #fff;
  border: 2px solid var(--rc-accent, #05abc1);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(4, 84, 130, 0.1);
}

.rc-contact__form-head {
  margin-bottom: 0.15rem;
}

.rc-contact__form-head h2 {
  margin: 0 0 0.4rem;
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--rc-brand);
}

.rc-contact__form-head p {
  margin: 0;
  color: var(--rc-muted);
  font-size: 0.98rem;
  line-height: 1.5;
}

.rc-contact__fluent .fluentform,
.rc-contact__fluent [class*="fluentform_wrapper_"],
.rc-contact__fluent .ffs_default_wrap {
  margin: 0;
}

.rc-contact__fluent fieldset {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-inline-size: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.rc-contact__fluent .ff-el-group {
  margin-bottom: 0.95rem;
}

.rc-contact__fluent .ff-name-field-wrapper {
  margin-bottom: 0.95rem;
}

.rc-contact__fluent .ff-name-field-wrapper .ff-el-group {
  margin-bottom: 0;
}

.rc-contact__fluent .ff-el-input--label {
  margin-bottom: 0.4rem;
}

.rc-contact__fluent .ff-el-input--label label,
.rc-contact__fluent .ff-el-input--label {
  font-family: var(--rc-font, Outfit, system-ui, sans-serif);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--rc-ink);
  margin-bottom: 0;
}

.rc-contact__fluent .ff-el-is-required.asterisk-right label::after,
.rc-contact__fluent .asterisk-right.ff-el-is-required label::after {
  color: #c0392b;
  margin-left: 0.2em;
}

.rc-contact__fluent .ff-el-form-control,
.rc-contact__fluent input[type="text"],
.rc-contact__fluent input[type="email"],
.rc-contact__fluent input[type="tel"],
.rc-contact__fluent input[type="number"],
.rc-contact__fluent textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid #cfd7df;
  border-radius: 8px;
  font: inherit;
  font-weight: 450;
  font-size: 0.98rem;
  line-height: 1.4;
  background: #fff;
  color: var(--rc-ink);
  box-shadow: none;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.rc-contact__fluent .ff-el-form-control::placeholder,
.rc-contact__fluent input::placeholder,
.rc-contact__fluent textarea::placeholder {
  color: #8a94a1;
  opacity: 1;
}

.rc-contact__fluent textarea.ff-el-form-control,
.rc-contact__fluent textarea {
  min-height: 8.75rem;
  resize: vertical;
}

.rc-contact__fluent .ff-el-form-control:hover,
.rc-contact__fluent input:hover,
.rc-contact__fluent textarea:hover {
  border-color: #a8b4c0;
}

.rc-contact__fluent .ff-el-form-control:focus,
.rc-contact__fluent input:focus,
.rc-contact__fluent textarea:focus {
  outline: none;
  border-color: var(--rc-accent, #05abc1);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(5, 171, 193, 0.2);
}

.rc-contact__fluent .ff-el-is-error .ff-el-form-control {
  border-color: #c0392b;
}

.rc-contact__fluent .error,
.rc-contact__fluent .text-danger,
.rc-contact__fluent .ff-el-is-error .error,
.rc-contact__fluent .ff-errors-in-stack {
  color: #9b1c1c;
  font-size: 0.85rem;
}

.rc-contact-captcha {
  margin-top: 0.15rem;
  padding: 0.95rem 1rem 1rem;
  background: #f5f8f9;
  border: 1px solid #e1e8ec;
  border-radius: 8px;
}

.rc-contact-captcha .ff-el-input--label {
  margin-bottom: 0.5rem;
}

.rc-contact-captcha__input {
  max-width: 10rem;
}

.rc-contact-captcha__hint {
  margin: 0.55rem 0 0;
  color: var(--rc-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.rc-contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.rc-contact__fluent .ff_submit_btn_wrapper,
.rc-contact__fluent .ff-el-group.ff_submit_btn_wrapper {
  margin: 0.35rem 0 0;
}

.rc-contact__fluent .ff-btn-submit,
.rc-contact__fluent button.ff-btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.85rem;
  height: auto !important;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: 8px !important;
  background: var(--rc-brand) !important;
  color: #fff !important;
  font-family: var(--rc-font, Outfit, system-ui, sans-serif);
  font-size: 0.95rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: none !important;
  transition: background-color 0.15s ease;
}

.rc-contact__fluent .ff-btn-submit:hover,
.rc-contact__fluent .ff-btn-submit:focus-visible,
.rc-contact__fluent button.ff-btn-submit:hover,
.rc-contact__fluent button.ff-btn-submit:focus-visible {
  background: var(--rc-brand-dark) !important;
}

.rc-contact__fluent .ff-t-container,
.rc-contact__fluent .ff-el-form-buttons {
  margin-top: 0.15rem;
}

.rc-contact__promise {
  margin: 0.35rem 0 0;
  color: var(--rc-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.rc-contact__error {
  margin: 0;
  padding: 0.75rem 0.9rem;
  border-radius: 8px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #9b1c1c;
  font-size: 0.92rem;
  font-weight: 500;
}

.fmp-contact-cta {
  margin: 0;
}

@media (max-width: 900px) {
  .rc-contact__layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .rc-contact__aside {
    padding-top: 0;
  }

  .rc-contact__form {
    order: -1;
  }
}

@media (max-width: 640px) {
  .rc-contact {
    padding: 2rem 0 2.75rem;
  }

  .rc-contact__form {
    padding: 1.35rem 1.15rem 1.45rem;
  }

  .rc-contact__fluent .ff-t-container {
    flex-direction: column;
  }

  .rc-contact__fluent .ff-t-cell {
    width: 100% !important;
  }

  .rc-contact__fluent .ff-t-cell + .ff-t-cell .ff-el-group {
    margin-top: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-contact__channel,
  .rc-contact__fluent .ff-el-form-control,
  .rc-contact__fluent input,
  .rc-contact__fluent textarea,
  .rc-contact__fluent .ff-btn-submit {
    transition: none;
  }

  a.rc-contact__channel:hover,
  a.rc-contact__channel:focus-visible {
    transform: none;
  }
}

/* —— Concierge —— */
/* Hero padding comes from shared .rc-page-hero (incl. mobile ≤720px). */

.rc-concierge-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.rc-concierge-page .rc-services {
  /* Same body rhythm as .rc-faq / .rc-prose */
  padding: 2.25rem 0 3.25rem;
}

.rc-services__intro {
  margin: 0 0 1.35rem;
  max-width: 40rem;
}

.rc-services__intro-title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--rc-ink);
}

.rc-services__intro-lead {
  margin: 0;
  color: var(--rc-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

.rc-services__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .rc-services__list {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
}

.rc-services__item {
  margin: 0;
  min-width: 0;
}

.rc-services__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background: var(--rc-surface);
  border: 1px solid #e4e9ee;
  border-radius: 1rem;
  overflow: hidden;
  isolation: isolate;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.rc-services__link:hover,
.rc-services__link:focus-visible {
  border-color: rgba(1, 111, 116, 0.35);
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.07);
  outline: none;
  transform: translateY(-1px);
}

.rc-services__link:focus-visible {
  box-shadow:
    0 0 0 3px rgba(1, 111, 116, 0.28),
    0 8px 22px rgba(16, 24, 40, 0.07);
}

.rc-services__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #1a222c;
  flex: 0 0 auto;
}

.rc-services__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.rc-services__link:hover .rc-services__img,
.rc-services__link:focus-visible .rc-services__img {
  transform: scale(1.04);
}

.rc-services__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 55%,
    rgba(10, 16, 24, 0.28) 100%
  );
  pointer-events: none;
}

.rc-services__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.2rem 1.25rem 1.3rem;
  flex: 1 1 auto;
}

.rc-services__meta {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rc-brand);
}

.rc-services__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--rc-ink);
}

.rc-services__desc {
  margin: 0;
  color: var(--rc-muted);
  line-height: 1.5;
  font-size: 0.92rem;
}

.rc-services__cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  margin-top: 0.35rem;
  padding-top: 0.15rem;
}

.rc-services__cta-text {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--rc-brand);
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.rc-services__ext {
  display: inline-block;
  transition: transform 0.2s ease;
}

.rc-services__link:hover .rc-services__ext,
.rc-services__link:focus-visible .rc-services__ext {
  transform: translate(2px, -2px);
}

.rc-services__hint {
  font-size: 0.75rem;
  color: #8a939e;
}

.rc-concierge-help {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto 3.25rem;
}

.rc-concierge-help__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.25rem;
  padding: 1.35rem 1.4rem;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(1, 135, 141, 0.12), transparent 55%),
    #eef4f5;
  border: 1px solid #d7e4e6;
  border-radius: 1rem;
}

.rc-concierge-help__copy {
  display: grid;
  gap: 0.35rem;
  min-width: min(100%, 22rem);
  flex: 1 1 16rem;
}

.rc-concierge-help__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--rc-ink);
}

.rc-concierge-help__lead {
  margin: 0;
  max-width: 34rem;
  color: var(--rc-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

@media (prefers-reduced-motion: reduce) {
  .rc-services__link,
  .rc-services__link:hover,
  .rc-services__img,
  .rc-services__link:hover .rc-services__img,
  .rc-services__ext,
  .rc-services__link:hover .rc-services__ext {
    transition: none;
    transform: none;
  }
}

.rc-faq {
  display: grid;
  gap: 0.5rem;
}

.rc-faq__item {
  background: var(--rc-surface);
  border: 1px solid #e6eaee;
  border-radius: 8px;
  padding: 0 1.1rem;
}

.rc-faq__q {
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.95rem 0;
  list-style: none;
  color: var(--rc-ink);
}

.rc-faq__q::-webkit-details-marker {
  display: none;
}

.rc-faq__a {
  padding: 0 0 1rem;
  color: var(--rc-muted);
  line-height: 1.55;
  font-size: 0.95rem;
}

.rc-faq__a p {
  margin: 0;
}

/* —— Reviews page —— */
.rc-reviews-page__body {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto;
  padding: 2rem 0 3rem;
}

.rc-reviews-page__body .rc-reviews__summary {
  margin-bottom: 1.35rem;
}

.rc-reviews-page__body .rc-reviews__grid {
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

@media (min-width: 720px) {
  .rc-reviews-page__body .rc-reviews__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.rc-reviews-page__google-note {
  margin: 1.75rem 0 0;
  text-align: center;
}

.rc-reviews-page__google-note a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--rc-brand);
  font-weight: 600;
  text-decoration: none;
}

.rc-reviews-page__google-note a:hover,
.rc-reviews-page__google-note a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.rc-search-page__form-inner {
  /* Panel variant owns its own card chrome */
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.rc-search-page__empty {
  text-align: center;
  color: var(--rc-muted);
  padding: 2rem 0;
}

.rc-woo .woocommerce {
  font-family: Outfit, system-ui, sans-serif;
}

.rc-woo .woocommerce-cart-form,
.rc-woo .checkout,
.rc-woo .woocommerce-cart-form__contents,
.rc-woo .cart-collaterals,
.rc-woo form.checkout {
  background: var(--rc-surface);
}

.rc-woo .woocommerce {
  max-width: 100%;
}

.rc-woo .woocommerce-message,
.rc-woo .woocommerce-info,
.rc-woo .woocommerce-error {
  border-radius: 6px;
}

body.admin-bar .rc-page-hero {
  padding-top: calc(6.75rem + 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar .rc-page-hero {
    padding-top: calc(6.75rem + 46px);
  }
}

/* Mobile admin-bar: match reduced hero clearance (see .rc-page-hero ≤720px). */
@media screen and (max-width: 720px) {
  body.admin-bar .rc-page-hero,
  body.admin-bar .rc-concierge-hero.rc-page-hero {
    padding-top: calc(4.75rem + 20px);
  }
}

/* Product page: ensure title is an H1 for SEO when OVA uses H2 */
.rc-product .product_title,
.rc-product h1.product_title,
.ovabrw-modern .product_title {
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
}

/* —— About Us page —— */
.rc-about-page {
  overflow-x: clip;
}

.rc-about-hero {
  padding-bottom: 3.5rem;
}

.rc-about-hero__inner {
  width: min(100%, 1100px);
  max-width: none;
}

.rc-about-hero__inner .rc-page-hero__title {
  max-width: 40rem;
}

.rc-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

/* Button variants live in assets/css/rc-buttons.css */

.rc-about-kicker,
.rc-about-page p.rc-about-kicker,
.rc-about-story__copy p.rc-about-kicker,
.rc-about-listening__copy p.rc-about-kicker,
.rc-about-promise__copy p.rc-about-kicker {
  margin: 0 0 0.55rem;
  color: var(--rc-brand);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.rc-about-section__inner {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto;
  padding: 4.25rem 0;
}

.rc-about-section__head {
  max-width: 36rem;
  margin: 0 0 2.25rem;
}

.rc-about-section__head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.rc-about-section__head h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--rc-ink);
}

.rc-about-section__lead {
  margin: 0;
  color: var(--rc-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

/* Story */
.rc-about-story {
  background: #fff;
}

.rc-about-story__inner {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto;
  padding: 4.5rem 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 3rem 3.5rem;
  align-items: stretch;
}

.rc-about-story__media {
  position: relative;
  min-height: 36rem;
}

.rc-about-story__media--single {
  min-height: 0;
  height: 100%;
  align-self: stretch;
}

.rc-about-story__card {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border-radius: 1.35rem;
  box-shadow: 0 18px 44px rgba(16, 24, 40, 0.14);
  background: #e8edf1;
}

.rc-about-story__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.rc-about-story__card--solo {
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  aspect-ratio: auto;
  margin: 0;
}

.rc-about-story__card--main {
  left: 0;
  bottom: 0.5rem;
  z-index: 2;
  width: min(78%, 24rem);
  aspect-ratio: 3 / 4;
}

.rc-about-story__card--side {
  top: 0;
  right: 0;
  z-index: 1;
  width: min(62%, 18rem);
  aspect-ratio: 4 / 3.4;
}

.rc-about-story__media--single .rc-about-story__badge {
  left: 1rem;
  bottom: 1rem;
}

.rc-about-story__badge {
  position: absolute;
  left: 0.85rem;
  bottom: 0;
  z-index: 3;
  display: grid;
  gap: 0.15rem;
  margin: 0;
  padding: 0.95rem 1.1rem;
  border-radius: 1rem;
  background: #1c2229;
  color: #fff;
  box-shadow: 0 14px 32px rgba(16, 24, 40, 0.28);
}

.rc-about-story__badge-num {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  color: #3ec4cb;
}

.rc-about-story__badge-label {
  font-size: 0.78rem;
  opacity: 0.9;
}

.rc-about-story__copy h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.55rem, 2.6vw, 2.05rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--rc-ink);
}

.rc-about-story__copy p {
  margin: 0 0 1rem;
  color: var(--rc-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.rc-about-story__copy p:last-child {
  margin-bottom: 0;
}

.rc-about-founder-meta {
  margin: -0.35rem 0 1.15rem !important;
  color: var(--rc-brand);
  font-size: 0.95rem;
  font-weight: 650;
}

/* Quote / insight band */
.rc-about-insight {
  background: #fff;
  border-top: 1px solid #e8edf2;
  border-bottom: 1px solid #e8edf2;
}

.rc-about-insight__inner {
  width: min(100% - 2.5rem, 760px);
  margin: 0 auto;
  padding: 4.5rem 0;
  text-align: center;
}

.rc-about-insight__inner .rc-about-kicker {
  margin-bottom: 1rem;
}

.rc-about-insight__title {
  margin: 0 0 1.25rem;
  color: var(--rc-ink);
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.3;
}

.rc-about-insight__lead {
  margin: 0 auto;
  max-width: 40rem;
  color: var(--rc-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.rc-about-steps__list--3 {
  margin-top: 1.75rem;
}

.rc-about-listening {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 2.25rem 2.75rem;
  align-items: stretch;
  margin: 0 0 2.75rem;
}

.rc-about-listening__media {
  position: relative;
  margin: 0;
  min-height: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.35rem;
  box-shadow: 0 18px 44px rgba(16, 24, 40, 0.12);
  background: #e8edf1;
  aspect-ratio: auto;
}

.rc-about-listening__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.rc-about-listening__copy .rc-about-section__head {
  margin-bottom: 0;
  max-width: none;
}

.rc-about-listening__copy .rc-about-section__head h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--rc-ink);
}

.rc-about-listening__copy .rc-about-founder-meta {
  margin: 0 0 1.35rem;
}

.rc-about-listening__copy .rc-about-section__lead {
  margin: 0 0 1.25rem;
  line-height: 1.7;
}

.rc-about-listening__copy .rc-about-section__lead:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .rc-about-listening {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .rc-about-listening__media {
    position: relative;
    min-height: 18rem;
    aspect-ratio: 4 / 5;
    height: auto;
  }
}

/* Values */
.rc-about-values {
  background: var(--rc-wash);
}

.rc-about-values__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rc-about-value {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.5rem 1.35rem 1.6rem;
  background: #fff;
  border: 1px solid #e6eaee;
  border-radius: 1.15rem;
  box-shadow: 0 10px 28px rgba(16, 24, 40, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rc-about-value:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(1, 135, 141, 0.12);
}

.rc-about-value__num {
  color: rgba(1, 135, 141, 0.35);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.rc-about-value__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--rc-ink);
}

.rc-about-value__desc {
  margin: 0;
  color: var(--rc-muted);
  font-size: 0.95rem;
  line-height: 1.55;
}

/* Steps */
.rc-about-steps {
  background: #fff;
}

.rc-about-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
  align-items: stretch;
}

/* Must follow base .rc-about-steps__list so 3-col wins over 4-col */
.rc-about-steps__list.rc-about-steps__list--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  width: 100%;
}

.rc-about-step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 1.45rem 1.35rem 1.55rem;
  border-radius: 1.2rem;
  background: #fff;
  border: 1px solid #e4eaef;
  box-shadow: 0 10px 28px rgba(16, 24, 40, 0.05);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.rc-about-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.35rem;
  right: 1.35rem;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--rc-brand) 0%, #3ec4cb 100%);
  opacity: 0.9;
}

.rc-about-step:hover {
  transform: translateY(-3px);
  border-color: rgba(4, 84, 130, 0.22);
  box-shadow: 0 16px 36px rgba(4, 84, 130, 0.1);
}

.rc-about-step__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: var(--rc-brand);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 8px 18px rgba(4, 84, 130, 0.28);
}

.rc-about-step h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--rc-ink);
}

.rc-about-step p {
  margin: 0;
  color: var(--rc-muted);
  font-size: 0.98rem;
  line-height: 1.58;
  flex: 1 1 auto;
}

/* Stats / Why we built */
.rc-about-stats {
  background:
    linear-gradient(160deg, #033d5e 0%, #045482 55%, #045482 100%);
  color: #fff;
}

.rc-about-stats .rc-about-section__inner {
  padding: 4.25rem 0;
}

.rc-about-stats .rc-about-section__head h2,
.rc-about-stats .rc-about-section__lead,
.rc-about-stats p {
  color: #fff;
}

.rc-about-stats .rc-about-section__lead {
  opacity: 0.92;
}

.rc-about-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.rc-about-stats__num {
  margin: 0 0 0.3rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.rc-about-stats__label {
  margin: 0;
  font-size: 0.85rem;
  opacity: 0.88;
}

/* Fleet promise */
.rc-about-promise {
  background: var(--rc-wash);
}

.rc-about-promise__inner {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto;
  padding: 4.25rem 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 2.5rem 3rem;
  align-items: stretch;
}

.rc-about-promise__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.rc-about-promise__copy h2 {
  margin: 0 0 0.9rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--rc-ink);
}

.rc-about-promise__copy > p {
  margin: 0 0 1.15rem;
  color: var(--rc-muted);
  font-size: 1.02rem;
  line-height: 1.6;
}

.rc-about-checklist {
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.rc-about-checklist li {
  position: relative;
  padding-left: 1.55rem;
  color: var(--rc-ink);
  font-weight: 550;
  font-size: 0.95rem;
}

.rc-about-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: var(--rc-brand);
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px var(--rc-brand);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.1 3.4 8.3l.9-.9 1.9 1.9 4.5-4.5.9.9z'/%3E%3C/svg%3E");
  background-size: 0.7rem;
  background-repeat: no-repeat;
  background-position: center;
}

.rc-about-promise__media {
  margin: 0;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  border-radius: 1.35rem;
  box-shadow: 0 20px 48px rgba(16, 24, 40, 0.14);
  background: #dfe5eb;
  align-self: stretch;
}

.rc-about-promise__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 32rem;
  object-fit: cover;
}

/* Always Free — light info band */
.rc-about-free {
  background: #fff;
}

.rc-about-free__inner {
  width: min(100% - 2.5rem, 760px);
  margin: 0 auto;
  padding: 4.5rem 0;
  text-align: center;
}

.rc-about-free__inner h2 {
  margin: 0 0 1rem;
  color: var(--rc-ink);
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.rc-about-free__inner p {
  margin: 0 0 1rem;
  color: var(--rc-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.rc-about-free__inner p:last-child {
  margin-bottom: 0;
}

.rc-about-free__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.rc-about-section__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

/* Final join CTA */
.rc-about-join {
  background:
    radial-gradient(90% 80% at 80% 20%, rgba(86, 199, 205, 0.22), transparent 55%),
    linear-gradient(145deg, #045482 0%, #033d5e 55%, #022a40 100%);
  color: #fff;
}

.rc-about-join__inner {
  width: min(100% - 2.5rem, 720px);
  margin: 0 auto;
  padding: 4.25rem 0;
  text-align: center;
}

.rc-about-join__eyebrow {
  margin: 0 0 0.65rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rc-about-join__inner h2 {
  margin: 0 0 0.85rem;
  color: #fff;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.rc-about-join__inner > p {
  margin: 0 auto;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.05rem;
  line-height: 1.6;
}

.rc-about-join__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

/* Reviews teaser */
.rc-about-reviews {
  background: #fff;
}

.rc-about-reviews__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 2rem;
}

.rc-about-reviews__inner .rc-about-section__head {
  margin-bottom: 0;
}

/* Final CTA */
.rc-about-cta {
  background:
    radial-gradient(90% 80% at 80% 20%, rgba(86, 199, 205, 0.25), transparent 55%),
    linear-gradient(160deg, #033d5e 0%, #033d5e 45%, #045482 100%);
  color: #fff;
}

.rc-about-cta__inner {
  width: min(100% - 2.5rem, 760px);
  margin: 0 auto;
  padding: 4rem 0;
  text-align: center;
}

.rc-about-cta__inner h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #fff;
}

.rc-about-cta__inner > p {
  margin: 0 auto 1.5rem;
  max-width: 32rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.05rem;
  line-height: 1.55;
}

.rc-about-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

@media (max-width: 980px) {
  .rc-about-story__inner,
  .rc-about-promise__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  /*
   * Absolute collage collapses to width:0 on narrow grids (no in-flow children).
   * Switch to a stacked media layout so photos actually render.
   */
  .rc-about-story__media {
    position: relative;
    min-height: 0;
    max-width: 22rem;
    width: 100%;
    margin: 0 auto;
    display: block;
  }

  .rc-about-story__media--single {
    max-width: 22rem;
    height: auto;
  }

  .rc-about-story__card {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
  }

  .rc-about-story__card--solo,
  .rc-about-story__card--main {
    inset: auto;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .rc-about-story__card--side {
    display: none;
  }

  .rc-about-story__badge {
    left: 0.75rem;
    bottom: 0.75rem;
    max-width: 9.5rem;
  }

  .rc-about-values__grid {
    grid-template-columns: 1fr;
  }

  .rc-about-steps__list {
    grid-template-columns: 1fr 1fr;
  }

  .rc-about-steps__list.rc-about-steps__list--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
  }

  .rc-about-stats__grid {
    grid-template-columns: 1fr 1fr;
  }

  .rc-about-promise__media {
    order: -1;
    min-height: 18rem;
  }

  .rc-about-promise__media img {
    min-height: 18rem;
  }
}

@media (max-width: 640px) {
  .rc-about-hero {
    padding-bottom: 2.25rem;
  }

  .rc-about-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    margin-top: 1.15rem;
  }

  .rc-about-hero__actions .rc-btn {
    width: 100%;
    justify-content: center;
  }

  .rc-about-section__inner,
  .rc-about-story__inner,
  .rc-about-promise__inner,
  .rc-about-cta__inner {
    width: min(100% - 1.75rem, 1100px);
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .rc-about-story__inner {
    padding-top: 2rem;
  }

  .rc-about-section__head {
    margin-bottom: 1.5rem;
  }

  .rc-about-story__media {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .rc-about-story__card--main,
  .rc-about-story__card--side {
    width: 100%;
    aspect-ratio: 16 / 10;
  }

  .rc-about-story__card--side {
    max-width: 85%;
    justify-self: end;
  }

  .rc-about-story__badge {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    max-width: 10rem;
  }

  .rc-about-steps__list {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .rc-about-steps__list.rc-about-steps__list--3 {
    grid-template-columns: 1fr;
  }

  .rc-about-stats .rc-about-section__inner {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .rc-about-stats__grid {
    gap: 1rem 0.85rem;
  }

  .rc-about-reviews__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1.15rem;
  }

  .rc-about-reviews__inner .rc-btn {
    align-self: stretch;
    justify-content: center;
  }

  .rc-about-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .rc-about-cta__actions .rc-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-about-value {
    transition: none;
  }

  .rc-about-value:hover {
    transform: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Join the Directory page                                                     */
/* -------------------------------------------------------------------------- */

.rc-join-provide-list {
  margin: 1.75rem auto 0;
  max-width: 40rem;
  text-align: left;
}

.rc-join-audience {
  background: var(--rc-wash);
}

.rc-join-audience .rc-about-section__inner {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}

.rc-join-audience .rc-about-section__head {
  margin: 0 auto 2.75rem;
  max-width: 42rem;
}

.rc-join-audience .rc-about-kicker {
  margin: 0 0 0.85rem;
}

.rc-join-audience .rc-about-section__head h2 {
  margin: 0 0 1.15rem;
  line-height: 1.2;
}

.rc-join-audience .rc-about-section__lead {
  margin: 0;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
  color: var(--rc-muted);
}

.rc-join-audience .rc-about-steps__list {
  margin-top: 0;
  gap: 1.35rem;
  align-items: stretch;
}

.rc-join-audience .rc-about-step {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: auto;
  min-height: 0;
  padding: 1.85rem 1.6rem 1.9rem;
  background: #fff;
}

.rc-join-audience .rc-about-step__index {
  margin: 0 0 1.15rem;
}

.rc-join-audience .rc-about-step h3 {
  margin: 0 0 0.7rem;
  line-height: 1.3;
  font-size: 1.1rem;
}

.rc-join-audience .rc-about-step p {
  margin: 0;
  flex: 0 0 auto;
  line-height: 1.65;
  font-size: 0.98rem;
}

.rc-join-audience__note {
  margin: 2.5rem auto 0;
  max-width: 36rem;
  text-align: center;
  color: var(--rc-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .rc-join-audience .rc-about-section__inner {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }

  .rc-join-audience .rc-about-section__head {
    margin-bottom: 2rem;
  }

  .rc-join-audience .rc-about-steps__list,
  .rc-join-audience .rc-about-steps__list.rc-about-steps__list--3 {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 0;
  }
}

.rc-join-peer {
  background: var(--rc-wash);
}

.rc-join-plans {
  background: #fff;
}

.rc-join-plans__inner {
  width: min(100% - 2.5rem, 1100px);
  margin: 0 auto;
  padding: 4.25rem 0 4.75rem;
}

.rc-join-plans__highlights {
  margin: 1.25rem auto 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
  max-width: 34rem;
  text-align: left;
}

.rc-join-plans__highlights li {
  position: relative;
  padding-left: 1.35rem;
  color: var(--rc-muted);
  font-size: 0.98rem;
  line-height: 1.45;
}

.rc-join-plans__highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--rc-brand);
}

.rc-join-plans__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  margin-top: 2.5rem;
  margin-bottom: 3.25rem;
  align-items: stretch;
}

.rc-join-plan {
  position: relative;
  display: block;
  cursor: pointer;
  margin: 0;
}

.rc-join-plan__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.rc-join-plan__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  padding: 1.35rem 1.25rem 1.25rem;
  background: var(--rc-surface);
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.rc-join-plan:hover .rc-join-plan__inner {
  border-color: rgba(4, 84, 130, 0.28);
  box-shadow: 0 14px 32px rgba(4, 84, 130, 0.08);
  transform: translateY(-2px);
}

.rc-join-plan.is-selected .rc-join-plan__inner,
.rc-join-plan:has(.rc-join-plan__input:checked) .rc-join-plan__inner {
  border-color: var(--rc-brand);
  box-shadow: 0 0 0 3px rgba(4, 84, 130, 0.12), 0 14px 32px rgba(4, 84, 130, 0.1);
}

.rc-join-plan--featured .rc-join-plan__inner {
  background: linear-gradient(180deg, rgba(4, 84, 130, 0.05) 0%, #fff 7.5rem);
  border-color: rgba(4, 84, 130, 0.28);
}

.rc-join-plan__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}

.rc-join-plan__name {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--rc-ink);
  letter-spacing: -0.01em;
}

.rc-join-plan__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(4, 84, 130, 0.1);
  color: var(--rc-brand);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.rc-join-plan__badge--featured {
  background: linear-gradient(135deg, #045482 0%, #05abc1 100%);
  color: #fff;
}

.rc-join-plan__price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-bottom: 0.35rem;
}

.rc-join-plan__amount {
  font-size: clamp(1.85rem, 3vw, 2.25rem);
  font-weight: 750;
  letter-spacing: -0.03em;
  color: var(--rc-ink);
  line-height: 1;
}

.rc-join-plan__period {
  color: var(--rc-muted);
  font-size: 0.92rem;
}

.rc-join-plan__tagline {
  margin-bottom: 1rem;
  color: var(--rc-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.rc-join-plan__features {
  margin: 0 0 1.15rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.3rem;
  flex: 1;
  align-content: start;
}

.rc-join-plan__features li {
  position: relative;
  padding: 0 0 0 1.25rem;
  margin: 0;
  color: var(--rc-ink);
  font-size: 0.9rem;
  line-height: 1.35;
}

.rc-join-plan__features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rc-brand);
  font-weight: 700;
  font-size: 0.85rem;
}

.rc-join-plan__selected {
  display: none;
  align-self: flex-start;
  margin-top: auto;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(4, 84, 130, 0.1);
  color: var(--rc-brand);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rc-join-plan.is-selected .rc-join-plan__selected,
.rc-join-plan:has(.rc-join-plan__input:checked) .rc-join-plan__selected {
  display: inline-flex;
}

.rc-join-plans__definition {
  margin-top: 0;
  padding: 1.35rem 1.4rem;
  background: var(--rc-wash);
  border: 1px solid #e6eaee;
  border-radius: 12px;
  border-left: 3px solid var(--rc-brand);
}

.rc-join-plans__definition-panel h3 {
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--rc-ink);
}

.rc-join-plans__definition-panel p {
  margin: 0 0 0.75rem;
  color: var(--rc-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

.rc-join-plans__definition-panel p:last-child {
  margin-bottom: 0;
}

.rc-join-plans__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  margin-top: 1.75rem;
}

.rc-join-plans__login {
  margin: 0;
  color: var(--rc-muted);
  font-size: 0.92rem;
}

.rc-join-plans__login a {
  color: var(--rc-brand);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rc-join-plans__login a:hover {
  color: var(--rc-brand-dark);
}

@media (max-width: 980px) {
  .rc-join-plans__grid {
    grid-template-columns: 1fr;
    max-width: 26rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-join-plan:hover .rc-join-plan__inner {
    transform: none;
  }
}
