/**
 * ONEO site-wide type boost — larger, bolder, higher contrast.
 * Loaded last so it wins over page CSS.
 */
:root {
  --oneo-gray-500: #5c5c63;
  --oneo-gray-700: #2e2e32;
  --oneo-type-scale: 1.08;
}

html {
  font-size: 17px;
}

body {
  font-size: 1.0625rem; /* ~18px at 17 root */
  font-weight: 500;
  line-height: 1.65;
  color: var(--oneo-gray-900);
  letter-spacing: -0.01em;
}

/* Headings */
h1, h2, h3, h4,
.oneo-sky__title,
.oneo-section__title,
.oneo-home-block__title,
.oneo-card-hero__title,
.oneo-card-strip__title,
.oneo-co-sub__title,
.oneo-co-sub__h2,
.oneo-co-hero__title,
.oneo-per-hero__title,
.oneo-per-section__title,
.oneo-biz-hero__title,
.oneo-phero__title,
.oneo-page-hero__title,
.oneo-choose__head h2 {
  font-weight: 900 !important;
  letter-spacing: -0.035em;
}

h1 { font-size: clamp(2.6rem, 6vw, 4.25rem); }
h2 { font-size: clamp(2rem, 4.2vw, 3.1rem); }
h3 { font-size: clamp(1.25rem, 2.2vw, 1.65rem); font-weight: 800 !important; }

/* Brand / nav / chrome */
.oneo-brand-line {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  color: var(--oneo-gray-700) !important;
}
.oneo-brand-line strong {
  font-weight: 800 !important;
  color: var(--oneo-black) !important;
}
.oneo-brand-line .oneo-logo__word,
.oneo-brand-line .oneo-logo__text,
.oneo-brand-line .oneo-logo__bank {
  color: var(--oneo-gray-800) !important;
}

.oneo-logo .oneo-logo__word {
  font-size: 26px !important;
}
.oneo-logo__text {
  font-weight: 900 !important;
}
.oneo-logo__mark {
  font-size: 16px !important;
  font-weight: 900 !important;
  width: 40px !important;
  height: 40px !important;
}

.oneo-topbar {
  font-size: 15px !important;
  font-weight: 600 !important;
}
.oneo-topbar a {
  font-weight: 800 !important;
}

body.oneo-site .oneo-nav__link,
.oneo-nav__link {
  font-size: 16px !important;
  font-weight: 700 !important;
}
body.oneo-site .oneo-login,
.oneo-login {
  font-size: 16px !important;
  font-weight: 700 !important;
}
.oneo-btn {
  font-size: 16px !important;
  font-weight: 700 !important;
  min-height: 50px;
}
.oneo-btn--sm {
  font-size: 15px !important;
  font-weight: 700 !important;
  min-height: 42px;
}
.oneo-btn--lg {
  font-size: 18px !important;
  font-weight: 800 !important;
  min-height: 58px;
}
body.oneo-site .oneo-btn--signup {
  font-weight: 800 !important;
  font-size: 15px !important;
}

/* Header Open account / 开户: always solid black — readable on sky and white sticky header */
body.oneo-site .oneo-header .oneo-btn--signup,
body.oneo-site .oneo-header .oneo-btn--signup:hover,
body.oneo-site .oneo-header .oneo-btn--signup:focus-visible,
body.oneo-site .oneo-header .oneo-btn--signup:active {
  background: #0a0a0a !important;
  color: #fff !important;
  box-shadow: none !important;
  border: none !important;
}

/* Solid CTA family — keep text readable on hover */
.oneo-btn--black:hover,
.oneo-btn--primary:hover {
  color: #fff !important;
}
.oneo-btn--white:hover {
  color: #0a0a0a !important;
  background: #f2f2f2 !important;
}
.oneo-drawer__signup {
  background: #fff !important;
  color: #0d0f16 !important;
}
.oneo-drawer__login {
  background: #000 !important;
  color: #fff !important;
}

/* Mega / footer */
.oneo-mega h4,
.oneo-mega__col h4 {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.9;
}
.oneo-mega a,
.oneo-mega__cols a {
  font-size: 16px !important;
  font-weight: 600 !important;
}
.oneo-mega__discover {
  font-size: 17px !important;
  font-weight: 800 !important;
}
.oneo-footer__wordmark {
  font-size: 34px !important;
  font-weight: 900 !important;
}
.oneo-footer a,
.oneo-footer__group a,
.oneo-footer__legallinks a {
  font-size: 15px !important;
  font-weight: 600 !important;
}
.oneo-footer__group h4,
.oneo-footer h4 {
  font-size: 14px !important;
  font-weight: 800 !important;
}
.oneo-footer__disclaimer,
.oneo-footer__disclaimer p,
.oneo-home-legal {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.72);
}
.oneo-home-legal {
  color: var(--oneo-gray-700) !important;
}

/* Hero */
.oneo-sky__title {
  font-size: clamp(56px, 7.8vw, 96px) !important;
  font-weight: 900 !important;
}
.oneo-sky__lead {
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  max-width: 36ch;
}
.oneo-sky__sub {
  font-size: clamp(20px, 2.6vw, 28px) !important;
  font-weight: 700 !important;
}
.oneo-sky__sub-cn {
  font-size: clamp(17px, 2.2vw, 22px) !important;
  font-weight: 600 !important;
}
.oneo-sky__float-label {
  font-size: 15px !important;
  font-weight: 700 !important;
}
.oneo-sky__float-amount {
  font-size: clamp(44px, 8.5vw, 56px) !important;
  font-weight: 900 !important;
}
.oneo-sky__float-pill {
  font-size: 14px !important;
  font-weight: 800 !important;
  min-height: 36px;
}

/* Home + section body copy */
.oneo-home-block__eyebrow,
.oneo-section__eyebrow,
.oneo-card-strip__eyebrow,
.oneo-co-sub__eyebrow,
.oneo-per-section__eyebrow,
.oneo-per-hero__label {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
}
.oneo-home-block__title {
  font-size: clamp(40px, 5.5vw, 64px) !important;
}
.oneo-home-block__text,
.oneo-section__text,
.oneo-card-hero__text,
.oneo-card-strip__text,
.oneo-co-sub__desc,
.oneo-co-sub__lead,
.oneo-per-hero__desc,
.oneo-per-section__text,
.oneo-biz-section__text {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  opacity: 0.92;
}

.oneo-home-trust__item span,
.oneo-trustribbon__text {
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Cards / choose / lists */
.oneo-choose__card h3,
.oneo-choose__card h3 {
  font-size: 22px !important;
  font-weight: 900 !important;
}
.oneo-choose__price {
  font-size: 34px !important;
  font-weight: 900 !important;
}
.oneo-choose__price span {
  font-size: 15px !important;
  font-weight: 600 !important;
}
.oneo-choose__card p {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.55;
}

.oneo-co-sub__list li,
.oneo-per-feature p,
.oneo-per-card p,
.oneo-per-step p {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.6;
}
.oneo-co-sub__card h3,
.oneo-per-card h3,
.oneo-per-feature h3,
.oneo-per-step h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
}

.oneo-life__tab {
  font-size: 16px !important;
  font-weight: 700 !important;
}
.oneo-crumb {
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Personal / kids / business hubs */
.oneo-per-hero__title,
.oneo-biz-hero__title,
.oneo-kids-hero__title,
.oneo-co-hero__title {
  font-size: clamp(44px, 6vw, 72px) !important;
}
.oneo-drawer a:not(.oneo-drawer__dl-btn),
.oneo-drawer__link {
  font-size: 17px !important;
  font-weight: 700 !important;
}
.oneo-drawer__dl-btn {
  font-size: 14px !important;
  font-weight: 800 !important;
}
.oneo-drawer__brand {
  font-size: 30px !important;
  font-weight: 800 !important;
}
.oneo-drawer__tab {
  font-size: 16px !important;
  font-weight: 800 !important;
}
.oneo-drawer__discover {
  font-size: 24px !important;
  font-weight: 800 !important;
}
.oneo-drawer__acc-btn {
  font-size: 24px !important;
  font-weight: 800 !important;
}
.oneo-drawer__login,
.oneo-drawer__signup {
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* Subnav pills */
.oneo-subnav a {
  font-size: 15px !important;
  font-weight: 700 !important;
}

@media (max-width: 640px) {
  html { font-size: 16px; }
  .oneo-sky__title { font-size: clamp(30px, 8vw, 40px) !important; }
  .oneo-home-block__text { font-size: 17px !important; }
  .oneo-sky__lead { font-size: 13px !important; }
  .oneo-sky--beyond .oneo-sky__title {
    font-size: clamp(30px, 8vw, 40px) !important;
    line-height: 1.06 !important;
  }
  .oneo-sky--beyond .oneo-sky__lead {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
}


/* Revolut hero overrides */
.oneo-sky--beyond .oneo-sky__title {
  font-size: clamp(58px, 8.2vw, 98px) !important;
  font-weight: 900 !important;
}
.oneo-sky--beyond .oneo-sky__lead {
  font-size: clamp(17px, 1.85vw, 21px) !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
.oneo-sky--beyond .oneo-sky__phone { display: flex !important; }

/* ── Light-on-dark contrast safety ──
   Dark hubs (biz / personal / kids / company) set body { color:#fff }.
   Light strips (.oneo-choose, gray bands, trust ribbon, white cards)
   must lock dark type so titles never vanish on pale backgrounds. */
.oneo-choose,
.oneo-band--gray,
.oneo-section--gray,
.oneo-home-block--light,
.oneo-trustribbon,
.oneo-detail__card,
.oneo-cardwall--light,
body.oneo-company .oneo-choose,
body.oneo-biz-hub .oneo-choose,
body.oneo-per-hub .oneo-choose,
body.oneo-kids-hub .oneo-choose {
  color: #0a0a0a !important;
}

.oneo-choose__head h2,
.oneo-choose__card h3,
.oneo-choose__price,
.oneo-band--gray .oneo-band__title,
.oneo-section--gray .oneo-section__title,
.oneo-home-block--light .oneo-home-block__title,
.oneo-trustribbon__title {
  color: #0a0a0a !important;
}

.oneo-choose__head p,
.oneo-choose__card > p:not(.oneo-choose__price),
.oneo-band--gray .oneo-band__text,
.oneo-band--gray .oneo-band__list li,
.oneo-section--gray .oneo-section__subtitle,
.oneo-home-block--light .oneo-home-block__text,
.oneo-trustribbon__text {
  color: #2e2e32 !important;
}

.oneo-choose__price span {
  color: #5c5c63 !important;
}

.oneo-choose .oneo-brand-line {
  color: #5c5c63 !important;
}
.oneo-choose .oneo-brand-line strong {
  color: #0a0a0a !important;
}

/* Dark choose variants (inner subpages) keep white type on dark strip */
body.oneo-company.oneo-co-sub .oneo-choose,
.oneo-co-sub .oneo-choose {
  background: #0a0a0a !important;
  color: #fff !important;
}
body.oneo-company.oneo-co-sub .oneo-choose__head h2,
body.oneo-company.oneo-co-sub .oneo-choose__head p,
body.oneo-company.oneo-co-sub .oneo-choose__card,
body.oneo-company.oneo-co-sub .oneo-choose__card h3,
body.oneo-company.oneo-co-sub .oneo-choose__price,
.oneo-co-sub .oneo-choose__head h2,
.oneo-co-sub .oneo-choose__head p,
.oneo-co-sub .oneo-choose__card,
.oneo-co-sub .oneo-choose__card h3,
.oneo-co-sub .oneo-choose__price {
  color: #fff !important;
}
body.oneo-company.oneo-co-sub .oneo-choose__card > p:not(.oneo-choose__price),
body.oneo-company.oneo-co-sub .oneo-choose__price span,
body.oneo-company.oneo-co-sub .oneo-choose .oneo-brand-line,
.oneo-co-sub .oneo-choose__card > p:not(.oneo-choose__price),
.oneo-co-sub .oneo-choose__price span,
.oneo-co-sub .oneo-choose .oneo-brand-line {
  color: rgba(255, 255, 255, 0.68) !important;
}
body.oneo-company.oneo-co-sub .oneo-choose .oneo-brand-line strong,
.oneo-co-sub .oneo-choose .oneo-brand-line strong {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Dark product blocks (company.css defaults) — never force black titles */
body.oneo-company .oneo-co-sub__block .oneo-co-sub__h2,
body.oneo-company .oneo-co-sub__block--ink .oneo-co-sub__h2,
body.oneo-company .oneo-deep-stage--ink .oneo-deep-stage__title,
body.oneo-company .oneo-deep-stage--slate .oneo-deep-stage__title,
body.oneo-company .oneo-co-sub__hero .oneo-co-sub__title {
  color: #fff !important;
}
body.oneo-company .oneo-co-sub__block .oneo-co-sub__lead,
body.oneo-company .oneo-co-sub__block .oneo-co-sub__list li,
body.oneo-company .oneo-deep-stage--ink .oneo-deep-stage__text,
body.oneo-company .oneo-deep-stage--slate .oneo-deep-stage__text {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Light related / prod strips on dark body pages */
body.oneo-company .oneo-deep-related,
body.oneo-company .oneo-deep-related h2 {
  color: #0a0a0a !important;
}
body.oneo-company .oneo-deep-related__links a,
body.oneo-company .oneo-deep-related__links a.oneo-co-sub__related-link {
  color: #111 !important;
  background: #fff !important;
}

/* Secondary / muted copy — readable floor (light surfaces) */
.oneo-section__subtitle,
.oneo-band__text,
.oneo-detail__intro p,
.oneo-detail__card p,
.oneo-stat__label,
.oneo-trustribbon__text {
  color: #3f3f46 !important;
}
.oneo-band--black .oneo-band__text,
.oneo-section--dark .oneo-section__subtitle {
  color: rgba(255, 255, 255, 0.78) !important;
}
.oneo-biz-section__eyebrow,
.oneo-per-section__eyebrow,
.oneo-kids-section__eyebrow,
.oneo-co-sub__eyebrow {
  color: rgba(255, 255, 255, 0.68) !important;
}
.oneo-biz-section__note,
.oneo-per-section__note,
.oneo-kids-section__note {
  color: rgba(255, 255, 255, 0.6) !important;
}
.oneo-home-block--light .oneo-home-block__eyebrow {
  color: #52525b !important;
  opacity: 1 !important;
}
.oneo-home-block--light .oneo-home-block__text {
  color: #2e2e32 !important;
  opacity: 1 !important;
}

/* Dark choose must win over secondary floor */
.oneo-co-sub .oneo-choose__head p {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* White cards / light panels inside dark pages */
.oneo-home-block--light a:not(.oneo-btn),
.oneo-choose__card {
  color: #0a0a0a !important;
}
.oneo-co-sub .oneo-choose__card {
  color: #fff !important;
}
