/* Refindable partner landings: shared styles.
   Layout and colors live inline in each page (exported from the design canvas).
   This file holds page basics and the mobile overrides. */

/* Brand fonts, self-hosted (SIL Open Font License) */
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/rubik-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/rubik-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/barlow-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/barlow-latin-600-normal.woff2') format('woff2'); }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img { max-width: 100%; }
a { color: #185ADB; }
a:hover { color: #0B5394; }
a[style*="border-radius: 999px"] { transition: opacity .15s ease, transform .15s ease; }
a[style*="border-radius: 999px"]:hover { opacity: .9; transform: translateY(-1px); }

/* Brand tokens, for future edits */
:root {
  --rf-blue: #185ADB;
  --rf-navy: #0B5394;
  --rf-sky: #4DACFF;
  --rf-mint: #64DEA4;
  --rf-teal: #02C39A;
  --rf-charcoal: #252022;
  --rf-card: #EAF0FB;
  --rf-hairline: #DDDBDC;
  --rf-muted: #726B6F;
}

@media (max-width: 760px) {
  .hero-body { padding: 72px 0 80px !important; }
  .cta-band { padding: 48px 24px !important; border-radius: 22px !important; }
  .trigger-quote { font-size: 20px !important; }

  /* White-label: squad diagram */
  .squad-connector { flex-basis: 100% !important; padding: 16px 0 !important; }
  .squad-connector svg { transform: rotate(90deg); width: 48px; }
  .squad-hex { aspect-ratio: auto !important; }
  .squad-hex-shape { display: none !important; }
  .squad-hex-inner {
    position: static !important;
    padding: 32px 24px !important;
    background: #EAF0FB;
    border: 2px solid #185ADB;
    border-radius: 20px;
  }

  /* White-label: service path */
  .path-line, .path-conn { display: none !important; }
  .path-row {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
  }
  .path-node { order: -1; }
  .path-side { width: 100%; }
}
