:root {
      --rr-red: #c8102e;
      --rr-red-dark: #9e001f;
      --rr-navy: #1a284e;
      --rr-ink: #0b132b;
      --rr-footer: #031339;
      --rr-footer-line: #1a2b52;
      --rr-mist: #f4f6f9;
      --rr-card: #f8f9fb;
      --rr-line: #e5e7eb;
      --rr-muted: #6b7280;
      --rr-body: #4b5563;
      --rr-soft-red: #fef2f2;
      --header-h: 76px;
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      font-family: "Plus Jakarta Sans", sans-serif;
      color: #1c1b1b;
      background: #fdfdfd;
      font-size: 16px;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }

    ::selection { background: var(--rr-red); color: #fff; }

    img { max-width: 100%; }

    h1, h2, h3, h4, p { font-family: inherit; }

    a { text-decoration: none; }

    .rr-wrap {
      width: 100%;
      max-width: 1280px;
      margin: 0 auto;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }

    @media (min-width: 768px) {
      :root { --header-h: 100px; }
      .rr-wrap { padding-left: 2rem; padding-right: 2rem; }
    }

    @media (min-width: 992px) {
      :root { --header-h: 100px; }
      .rr-wrap { padding-left: 3rem; padding-right: 3rem; }
    }

    section[id] { scroll-margin-top: 110px; }

    /* Header */
    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1030;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid #f3f4f6;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }

    .topbar {
      height: 36px;
      background: #f8f9fa;
      border-bottom: 1px solid rgba(229, 231, 235, 0.7);
      font-size: 13px;
      color: #4b5563;
    }

    .topbar-inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .topbar a,
    .topbar span {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      color: #4b5563;
    }

    .topbar a:hover { color: var(--rr-red); }

    .topbar i { color: var(--rr-red); font-size: 13px; }

    .topbar-label {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #6b7280;
    }

    .nav-shell { position: relative; }

    .site-header .navbar {
      min-height: 76px;
      padding: 0;
      width: 100%;
    }

    @media (min-width: 768px) {
      .site-header .navbar { height: 100px; min-height: 100px; }
    }

    .site-header .navbar-brand { margin: 0; padding: 0; line-height: 0; }

    .site-header .navbar-brand img { height: 52px; width: auto; }

    @media (min-width: 768px) {
      .site-header .navbar-brand img { height: 90px; }
    }

    .site-header .navbar-nav { gap: 0; }

    @media (min-width: 768px) {
      .site-header .navbar-collapse {
        align-items: center;
      }

      .site-header .main-nav {
        margin-left: 2.5rem;
        gap: 2rem;
      }
    }

    @media (min-width: 992px) {
      .site-header .navbar {
        position: relative;
      }

      .site-header .main-nav {
        position: absolute;
        left: 46%;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 0;
        gap: 2.75rem;
      }
    }

    @media (min-width: 1200px) {
      .site-header .main-nav {
        left: 39%;
        gap: 3.25rem;
      }
    }

    .site-header .navbar-nav .nav-link {
      font-size: 15px;
      font-weight: 600;
      color: #374151;
      padding: 0.5rem 0;
    }

    .site-header .navbar-nav .nav-link:hover,
    .site-header .navbar-nav .nav-link:focus,
    .site-header .navbar-nav .nav-link.active,
    .site-header .navbar-nav .nav-link.show {
      color: var(--rr-red);
    }

    .site-header .navbar-nav .nav-link.active { font-weight: 700; }

    .site-header .dropdown-toggle::after { display: none; }

    .site-header .dropdown-toggle .fa-chevron-down {
      font-size: 11px;
      margin-left: 0.3rem;
      transition: transform 0.2s ease;
    }

    .site-header .dropdown-toggle[aria-expanded="true"] .fa-chevron-down {
      transform: rotate(180deg);
    }

    .site-header .dropdown-menu {
      border: 0;
      border-top: 2px solid var(--rr-red);
      border-radius: 0 0 4px 4px;
      box-shadow: 0 20px 25px rgba(0, 0, 0, 0.12);
      min-width: 260px;
      padding: 0.5rem 0;
      margin-top: 0;
    }

    .site-header .dropdown-item {
      font-size: 14px;
      font-weight: 500;
      color: #374151;
      padding: 0.55rem 1rem;
    }

    .site-header .dropdown-item:hover,
    .site-header .dropdown-item:focus {
      background: #f9fafb;
      color: var(--rr-red);
    }

    .site-header .dropdown-item.active,
    .site-header .dropdown-item:active {
      background: rgba(254, 242, 242, 0.8);
      color: var(--rr-red);
      font-weight: 600;
    }

    .site-header .has-sub { position: relative; }

    .site-header .has-sub > a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .site-header .has-sub > a .fa-chevron-right {
      font-size: 10px;
      color: #9ca3af;
    }

    .site-header .has-sub > .submenu {
      display: none;
      top: 0;
      left: 100%;
      margin: 0;
      min-width: 320px;
      z-index: 40;
    }

    .site-header .has-sub::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: -0.7rem;
      width: 0.85rem;
    }

    .site-header .has-sub:hover > .submenu,
    .site-header .has-sub:focus-within > .submenu,
    .site-header .has-sub.open > .submenu {
      display: block;
    }

    @media (min-width: 768px) {
      .site-header .nav-item.dropdown { position: relative; }

      .site-header .nav-item.dropdown::after {
        content: "";
        position: absolute;
        left: -1.5rem;
        right: -1.5rem;
        top: 100%;
        height: 1.25rem;
      }

      .site-header .nav-item.dropdown:hover > .dropdown-menu,
      .site-header .nav-item.dropdown:focus-within > .dropdown-menu {
        display: block;
        top: calc(100% + 0.35rem);
      }
    }

    .rr-toggler {
      border: 1px solid var(--rr-line);
      background: #fff;
      color: var(--rr-navy);
      width: 42px;
      height: 42px;
      border-radius: 4px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      margin-right: 5px;
    }

    .rr-toggler:focus {
      box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.2);
      outline: none;
    }

    .rr-toggler .fa-xmark { display: none; }

    .rr-toggler[aria-expanded="true"] .fa-bars { display: none; }

    .rr-toggler[aria-expanded="true"] .fa-xmark { display: inline; }

    @media (max-width: 767.98px) {
      .site-header .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        padding: 0.35rem 1.25rem 1rem;
        border-top: 1px solid #f3f4f6;
        box-shadow: 0 16px 40px rgba(26, 26, 26, 0.08);
        z-index: 30;
      }

      .site-header .navbar-nav .nav-link {
        padding: 0.8rem 0;
        border-bottom: 1px solid #f3f4f6;
      }

      .site-header .dropdown-menu {
        position: static;
        float: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        margin: 0;
        padding: 0.25rem 0 0.5rem 0.75rem;
        min-width: 0;
      }
    }

    main { padding-top: var(--header-h); }

    /* Buttons */
    .btn-rr,
    .btn-outline-navy {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      border-radius: 4px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      line-height: 1;
      transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
      white-space: nowrap;
    }

    .btn-rr {
      background: var(--rr-red);
      color: #fff;
      border: 0;
      padding: 1.1rem 1.5rem;
      font-size: 14px;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    }

    .btn-rr:hover,
    .btn-rr:focus {
      background: var(--rr-red-dark);
      color: #fff;
    }

    .btn-rr-sm { padding: 0.55rem 0.7rem; font-size: 11px; letter-spacing: 0.03em; }

    .btn-rr-lg {
      padding: 0.95rem 1.75rem;
      font-size: 14px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
    }

    .btn-rr-lg:hover { box-shadow: 0 10px 18px rgba(0, 0, 0, 0.14); }

    .btn-rr-xl {
      padding: 1.05rem 2rem;
      font-size: 14px;
      box-shadow: 0 10px 18px rgba(0, 0, 0, 0.18);
    }

    .btn-rr:focus-visible,
    .btn-outline-navy:focus-visible {
      outline: none;
      box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.28);
    }

    .btn-outline-navy {
      background: transparent;
      color: var(--rr-navy);
      border: 2px solid var(--rr-navy);
      padding: 0.85rem 1.5rem;
      font-size: 14px;
    }

    .btn-outline-navy:hover,
    .btn-outline-navy:focus {
      background: var(--rr-navy);
      color: #fff;
    }

    /* Hero */
    .hero-banner {
      position: relative;
      height: 500px;
      background: var(--rr-navy);
      overflow: hidden;
    }

    .hero-banner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: 0.85;
      display: block;
    }

    .hero-banner__shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(11, 19, 43, 0.85) 0%, rgba(11, 19, 43, 0.5) 48%, rgba(11, 19, 43, 0) 100%);
    }

    .hero-banner__copy {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
    }

    .hero-banner__copy p {
      margin: 0;
      max-width: 42rem;
      color: rgba(255, 255, 255, 0.92);
      font-size: 1.35rem;
      font-weight: 600;
      line-height: 1.45;
    }

    @media (min-width: 992px) {
      .hero-banner__copy p { font-size: 1.75rem; }
    }

    .ribbon {
      background: var(--rr-red);
      color: #fff;
      padding: 1rem 0;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .ribbon-inner {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }

    @media (min-width: 576px) {
      .ribbon-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
      }
    }

    .ribbon h1 {
      margin: 0;
      color: #fff;
      font-size: 1.5rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      text-transform: uppercase;
      line-height: 1.2;
    }

    @media (min-width: 992px) {
      .ribbon h1 { font-size: 1.875rem; }
    }

    .ribbon-note {
      margin: 0;
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.92);
    }

    @media (min-width: 992px) {
      .ribbon-note { font-size: 0.875rem; }
    }

    .ribbon-note i {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #fff;
      display: inline-block;
    }

    .hero-body { background: #fff; padding: 3rem 0; }

    @media (min-width: 992px) {
      .hero-body { padding: 4rem 0; }
    }

    .lead-copy {
      margin: 0;
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--rr-navy);
      line-height: 1.35;
    }

    @media (min-width: 992px) {
      .lead-copy { font-size: 1.5rem; }
    }

    .body-copy {
      margin: 0;
      color: var(--rr-body);
      font-size: 1.3rem;
      line-height: 1.7;
    }

    .metric {
      height: 100%;
      background: #f9fafb;
      border: 1px solid var(--rr-line);
      border-radius: 4px;
      padding: 0.9rem;
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }

    .metric i { color: var(--rr-red); font-size: 1.05rem; }

    .metric strong { font-size: 0.875rem; color: #111827; font-weight: 700; }

    .metric strong.accent { color: var(--rr-red); }

    .metric span { font-size: 0.75rem; color: var(--rr-muted); }

    .workshop-card {
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid var(--rr-line);
      background: #fff;
      box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    }

    .workshop-card__media { position: relative; aspect-ratio: 4 / 3; }

    .workshop-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .workshop-card__shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.2) 45%, transparent);
    }

    .workshop-card__caption {
      position: absolute;
      left: 1.25rem;
      right: 1.25rem;
      bottom: 1rem;
      color: #fff;
    }

    .workshop-card__caption span {
      display: block;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #ffb3b1;
      margin-bottom: 0.25rem;
    }

    .workshop-card__caption p {
      margin: 0;
      font-size: 0.875rem;
      font-weight: 600;
    }

    /* Shared sections */
    .section-pad { padding: 4rem 0; }

    @media (min-width: 992px) {
      .section-pad { padding: 6rem 0; }
    }

    .section-pad-sm { padding: 4rem 0; }

    @media (min-width: 992px) {
      .section-pad-sm { padding: 5rem 0; }
    }

    .bg-white-section { background: #fff; }

    .bg-mist { background: var(--rr-mist); border-top: 1px solid var(--rr-line); border-bottom: 1px solid var(--rr-line); }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      margin: 0 0 0.75rem;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--rr-red);
    }

    .eyebrow::before,
    .eyebrow::after {
      content: "";
      width: 24px;
      height: 2px;
      background: var(--rr-red);
      flex-shrink: 0;
    }

    .text-center > .eyebrow,
    .services-banner .eyebrow {
      width: fit-content;
      margin-left: auto;
      margin-right: auto;
    }

    .section-title {
      margin: 0 0 0.75rem;
      font-size: 1.875rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      line-height: 1.15;
      color: var(--rr-navy);
    }

    @media (min-width: 992px) {
      .section-title { font-size: 2.25rem; }
    }

    .section-intro {
      margin: 0;
      max-width: 48rem;
      color: var(--rr-body);
      font-size: 1rem;
      line-height: 1.7;
    }

    @media (min-width: 992px) {
      .section-intro { font-size: 1.125rem; }
    }

    /* Quote */
    .quote-band { padding: 3rem 0; }

    #how-we-work .quote-card { margin-bottom: 3.5rem; }

    .quote-card {
      max-width: 1024px;
      margin: 0 auto;
      background: #fff;
      border: 1px solid var(--rr-line);
      border-radius: 8px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
      padding: 2rem 1.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.25rem;
      text-align: center;
    }

    @media (min-width: 768px) {
      .quote-card {
        flex-direction: row;
        align-items: center;
        text-align: left;
        padding: 2.5rem;
        gap: 1.5rem;
      }
    }

    .quote-mark {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: rgba(200, 16, 46, 0.1);
      color: var(--rr-red);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      flex-shrink: 0;
    }

    .quote-kicker {
      display: block;
      margin-bottom: 0.45rem;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--rr-red);
    }

    .quote-card blockquote {
      margin: 0;
      font-size: 1.125rem;
      font-weight: 600;
      color: var(--rr-navy);
      line-height: 1.4;
    }

    @media (min-width: 992px) {
      .quote-card blockquote { font-size: 1.25rem; }
    }

    .quote-by {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: 0.55rem;
      margin-top: 0.7rem;
      font-size: 0.875rem;
    }

    @media (min-width: 768px) {
      .quote-by { justify-content: flex-start; }
    }

    .quote-by strong { color: #1f2937; }

    .quote-by span { color: var(--rr-muted); }

    .quote-by i {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--rr-red);
      display: inline-block;
    }

    /* Programs */
    .portrait-card {
      position: relative;
      min-height: 420px;
      height: 100%;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid var(--rr-line);
      background: var(--rr-navy);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
    }

    .portrait-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 42%;
    }

    .portrait-card__shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(11, 19, 43, 0.82), transparent 55%);
    }

    .portrait-card__caption {
      position: absolute;
      left: 1.5rem;
      right: 1.5rem;
      bottom: 1.5rem;
      color: #fff;
    }

    .badge-solid {
      display: inline-block;
      background: var(--rr-red);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      border-radius: 4px;
      padding: 0.28rem 0.6rem;
      margin-bottom: 0.45rem;
    }

    .portrait-card__caption h3 {
      margin: 0;
      font-size: 1.125rem;
      font-weight: 700;
      color: #fff;
    }

    .portrait-card__caption p {
      margin: 0.15rem 0 0;
      font-size: 0.75rem;
      color: #d1d5db;
    }

    .program-card {
      background: var(--rr-card);
      border: 1px solid var(--rr-line);
      border-left: 4px solid var(--rr-red);
      border-radius: 8px;
      padding: 1.5rem;
      height: 100%;
      transition: box-shadow 0.2s ease;
    }

    @media (min-width: 992px) {
      .program-card { padding: 1.75rem; }
    }

    .program-card:hover { box-shadow: 0 8px 24px rgba(26, 26, 26, 0.08); }

    .program-card--navy { border-left-color: var(--rr-navy); }

    .program-card__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 0.55rem;
    }

    .chip {
      display: inline-block;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      border-radius: 4px;
      padding: 0.28rem 0.6rem;
    }

    .chip-red { color: var(--rr-red); background: var(--rr-soft-red); }

    .chip-navy { color: var(--rr-navy); background: #f1f5f9; }

    .program-card__top i { font-size: 1.15rem; }

    .program-card h3,
    .stage-card h3 {
      margin: 0 0 0.5rem;
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--rr-navy);
    }

    .program-card p,
    .stage-card p {
      margin: 0 0 1rem;
      font-size: 0.875rem;
      color: var(--rr-body);
      line-height: 1.65;
    }

    .facts {
      background: #fff;
      border: 1px solid rgba(229, 231, 235, 0.9);
      border-radius: 4px;
      padding: 0.85rem 0.95rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem 1.5rem;
      margin-bottom: 1rem;
    }

    .facts span {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 12px;
      font-weight: 500;
      color: #374151;
    }

    .facts .hot { color: var(--rr-red); font-weight: 700; }

    .dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--rr-red);
      flex-shrink: 0;
    }

    .dot-navy { background: var(--rr-navy); }

    /* Topics */
    .topic-card {
      height: 100%;
      background: #fff;
      border: 1px solid var(--rr-line);
      border-radius: 8px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
      padding: 1.5rem;
    }

    .topic-card__head {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-bottom: 1rem;
    }

    .topic-icon {
      width: 36px;
      height: 36px;
      border-radius: 4px;
      background: var(--rr-soft-red);
      color: var(--rr-red);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .topic-card h3 {
      margin: 0;
      font-size: 1rem;
      font-weight: 700;
      color: var(--rr-navy);
      line-height: 1.3;
    }

    .topic-card ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    .topic-card li {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      font-size: 12px;
      font-weight: 500;
      color: var(--rr-body);
      line-height: 1.4;
    }

    .topic-card li .dot { margin-top: 0.35rem; }

    .callout {
      background: #fff;
      border: 1px solid var(--rr-line);
      border-left: 4px solid var(--rr-red);
      border-radius: 8px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
      padding: 1.5rem;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem;
    }

    @media (min-width: 576px) {
      .callout {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
      }
    }

    .callout p {
      margin: 0;
      font-size: 0.875rem;
      font-weight: 600;
      color: #1f2937;
      line-height: 1.5;
    }

    .program-detail { max-width: 920px; }

    .program-detail h2 {
      margin: 2rem 0 0.75rem;
      color: var(--rr-red);
      font-size: 1.15rem;
      font-weight: 700;
    }

    .program-detail ul {
      margin: 0;
      padding-left: 1.25rem;
    }

    .program-detail li {
      margin: 0 0 0.35rem;
      color: #1f2937;
      font-size: 1.05rem;
      line-height: 1.6;
    }

    .cohort-note {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      background: #f8efe0;
      border-radius: 8px;
      padding: 1rem 1.15rem;
      color: #1f2937;
      font-size: 1.02rem;
      line-height: 1.55;
    }

    .cohort-note i { margin-top: 0.2rem; color: #1a284e; }

    .session-tile {
      height: 100%;
      background: #fff;
      border: 1px solid var(--rr-line);
      border-top: 4px solid var(--rr-red);
      border-radius: 8px;
      padding: 1.25rem 1.15rem 1.4rem;
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
    }

    .session-tile span {
      display: block;
      margin-bottom: 0.55rem;
      color: var(--rr-red);
      font-size: 0.8rem;
      font-weight: 800;
      letter-spacing: 0.08em;
    }

    .session-tile h3 {
      margin: 0;
      color: var(--rr-navy);
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .detail-tile {
      height: 100%;
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
      background: #fff;
      border: 1px solid var(--rr-line);
      border-radius: 8px;
      padding: 1.1rem 1rem;
    }

    .detail-tile i {
      width: 40px;
      height: 40px;
      border-radius: 8px;
      background: #fde8eb;
      color: var(--rr-red);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .detail-tile p {
      margin: 0;
      color: #1f2937;
      font-size: 0.98rem;
      font-weight: 600;
      line-height: 1.45;
    }

    .info-panel {
      height: 100%;
      border-radius: 12px;
      padding: 1.5rem 1.4rem;
    }

    .info-panel h2 {
      margin: 0 0 0.75rem;
      color: var(--rr-red);
      font-size: 1.15rem;
      font-weight: 700;
    }

    .info-panel--warm { background: #f8efe0; }

    .info-panel--card {
      background: #fff;
      border: 1px solid var(--rr-line);
      box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .private-panel {
      background: #fff;
      border: 1px solid var(--rr-line);
      border-left: 4px solid var(--rr-red);
      border-radius: 8px;
      padding: 1.6rem 1.5rem;
    }

    .callout i.fa-circle-question {
      color: var(--rr-red);
      font-size: 1.25rem;
      margin-top: 0.1rem;
    }

    .photo-card {
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid var(--rr-line);
      background: #fff;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    }

    .photo-card img {
      width: 100%;
      height: 224px;
      object-fit: cover;
      display: block;
    }

    .photo-card img.photo-center { object-position: center center; }

    .photo-card__body { padding: 1rem; }

    .photo-card__body strong {
      display: block;
      font-size: 0.875rem;
      color: var(--rr-navy);
    }

    .photo-card__body span {
      display: block;
      margin-top: 0.15rem;
      font-size: 0.75rem;
      color: var(--rr-muted);
    }

    /* Stages */
    .stage-card {
      height: 100%;
      background: var(--rr-card);
      border: 1px solid var(--rr-line);
      border-top: 4px solid var(--rr-red);
      border-radius: 8px;
      padding: 1.5rem;
      transition: box-shadow 0.2s ease;
    }

    @media (min-width: 992px) {
      .stage-card { padding: 1.75rem; }
    }

    .stage-card:hover { box-shadow: 0 8px 24px rgba(26, 26, 26, 0.08); }

    .stage-card--navy { border-top-color: var(--rr-navy); }

    .stage-card__meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0.75rem;
    }

    .stage-no {
      font-size: 12px;
      font-weight: 700;
      color: #9ca3af;
      letter-spacing: 0.04em;
    }

    .stage-chip {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      border-radius: 4px;
      padding: 0.2rem 0.5rem;
    }

    /* How we work */
    .method-photo {
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid var(--rr-line);
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.1);
    }

    .method-photo img {
      width: 100%;
      height: 320px;
      object-fit: cover;
      display: block;
    }

    .check-item {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      font-size: 0.875rem;
      font-weight: 600;
      color: #1f2937;
    }

    .check-item i { color: var(--rr-red); font-size: 1.05rem; }

    /* CTA */
    .cta-band {
      position: relative;
      overflow: hidden;
      background: var(--rr-ink);
      color: #fff;
      padding: 4rem 0;
    }

    @media (min-width: 992px) {
      .cta-band { padding: 5rem 0; }
    }

    .cta-band::after {
      content: "";
      position: absolute;
      right: -6rem;
      bottom: -6rem;
      width: 24rem;
      height: 24rem;
      border-radius: 50%;
      background: rgba(200, 16, 46, 0.15);
      filter: blur(48px);
      pointer-events: none;
    }

    .cta-kicker {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      margin-bottom: 0.7rem;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #ffb3b1;
    }

    .cta-band h2 {
      margin: 0 0 0.7rem;
      font-size: 1.5rem;
      font-weight: 800;
      color: #fff;
      line-height: 1.2;
    }

    @media (min-width: 992px) {
      .cta-band h2 { font-size: 1.875rem; }
    }

    .cta-band p {
      margin: 0;
      max-width: 40rem;
      color: #d1d5db;
      font-size: 1rem;
      line-height: 1.65;
    }

    /* Footer */
    .site-footer {
      background: #0b132b;
      color: #d1d5db;
    }

    .footer-main { padding: 2.75rem 0 2rem; }

    .footer-logo {
      height: 80px;
      width: auto;
    }

    .footer-blurb {
      margin: 1.15rem 0 0;
      max-width: 28rem;
      font-size: 15px;
      color: #d1d5db;
      line-height: 1.7;
    }

    .footer-social {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      margin-top: 1.15rem;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.1);
      color: #fff;
      font-size: 0.95rem;
    }

    .footer-social:hover { background: #c8102e; color: #fff; }

    .site-footer h2 {
      margin: 0;
      font-size: 1.125rem;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
      color: #fff;
    }

    .site-footer h2::after {
      content: "";
      display: block;
      width: 32px;
      height: 2px;
      margin-top: 0.4rem;
      border-radius: 2px;
      background: #c8102e;
    }

    .footer-links {
      list-style: none;
      margin: 1rem 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

    .footer-links a {
      color: #d1d5db;
      font-size: 15px;
    }

    .footer-links a:hover { color: #fff; }

    .footer-links .is-current { color: #fff; font-weight: 600; }

    .footer-contact {
      list-style: none;
      margin: 1rem 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
      font-size: 15px;
      color: #d1d5db;
    }

    .footer-contact a { color: #d1d5db; }

    .footer-contact a:hover { color: #fff; text-decoration: underline; }

    .footer-base {
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding: 1.35rem 0;
      font-size: 13px;
      color: #9ca3af;
    }

    .footer-base a { color: #9ca3af; }

    .footer-base a:hover { color: #fff; }

    @media (max-width: 575.98px) {
      .hero-actions .btn-rr,
      .hero-actions .btn-outline-navy,
      .callout .btn-rr { width: 100%; }
    }

    .soft-card {
      height: 100%;
      background: #fff;
      border: 1px solid var(--rr-line);
      border-radius: 8px;
      padding: 1.5rem;
    }

    .soft-card h3,
    .person-copy h3 {
      margin: 0 0 0.5rem;
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--rr-navy);
    }

    .soft-card p { font-size: 1.1rem; }

    .step-no {
      display: block;
      margin-bottom: 0.55rem;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.08em;
      color: var(--rr-red);
    }

    .tick {
      display: flex;
      align-items: flex-start;
      gap: 0.6rem;
      margin-bottom: 0.7rem;
      font-size: 0.95rem;
      font-weight: 600;
      color: #1f2937;
    }

    .tick i { color: var(--rr-red); margin-top: 0.2rem; }

    .client-chip {
      display: inline-flex;
      align-items: center;
      background: #fff;
      border: 1px solid var(--rr-line);
      border-radius: 4px;
      padding: 0.4rem 0.65rem;
      font-size: 12px;
      font-weight: 600;
      color: #374151;
    }

    .form-card {
      background: #fff;
      border: 1px solid var(--rr-line);
      border-radius: 8px;
      padding: 1.75rem;
    }

    .rr-label {
      display: block;
      margin-bottom: 0.35rem;
      font-size: 13px;
      font-weight: 600;
      color: #374151;
    }

    .rr-field,
    .rr-area {
      width: 100%;
      border: 1px solid #d1d5db;
      border-radius: 4px;
      background: #fff;
      color: #1c1b1b;
      font: inherit;
      padding: 0.75rem 0.9rem;
    }

    .rr-field { height: 48px; }

    .rr-area { min-height: 130px; resize: vertical; }

    .rr-field:focus,
    .rr-area:focus {
      outline: 2px solid var(--rr-red);
      border-color: transparent;
    }

    .video-still { position: relative; border-radius: 8px; overflow: hidden; }

    .video-still img { width: 100%; height: 420px; object-fit: cover; display: block; }

    .play-wrap {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.8rem;
      text-align: center;
      color: #fff;
      background: rgba(11, 19, 43, 0.35);
      padding: 1.5rem;
    }

    .play-btn {
      width: 74px;
      height: 74px;
      border-radius: 50%;
      background: var(--rr-red);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
    }

    .person-photo {
      width: 100%;
      height: 460px;
      object-fit: cover;
      object-position: top center;
      border-radius: 8px;
      display: block;
    }

    .founder-band { background: #f6f3f2; }

    .founder-photo {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: top center;
      border-radius: 16px;
      display: block;
    }

    .founder-name {
      margin: 1.25rem 0 0;
      font-size: 1.125rem;
      font-weight: 700;
      color: #1c1b1b;
    }

    .founder-role {
      margin: 0.2rem 0 0;
      font-size: 0.875rem;
      font-weight: 500;
      letter-spacing: 0.02em;
      color: #c8102e;
    }

    .founder-copy p {
      margin: 0 0 1.5rem;
      color: #5c403f;
      font-size: 1.125rem;
      line-height: 1.75;
    }

    .founder-copy p:last-child { margin-bottom: 0; }

    .team-page { background: #fcf9f8; }

    .team-list { display: flex; flex-direction: column; }

    .team-entry { padding: 3.25rem 0; }

    .team-photo {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center 15%;
      border-radius: 16px;
      display: block;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }

    .team-photo--afa { object-position: center 28%; }

    .team-linkedin {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      margin-top: 1rem;
      padding: 0.5rem 0.9rem;
      border-radius: 8px;
      background: #eae7e7;
      color: #1c1b1b;
      font-size: 13px;
      font-weight: 600;
    }

    .team-linkedin:hover { background: #e5e2e1; color: #1c1b1b; }

    .team-name {
      margin: 0;
      font-size: 2rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.15;
      color: #1c1b1b;
    }

    .team-role {
      margin: 0.35rem 0 0;
      color: #c8102e;
      font-size: 1.125rem;
      font-weight: 600;
    }

    .team-bio { margin-top: 1.5rem; }

    .team-bio p,
    .team-bio li {
      color: #5c403f;
      font-size: 1.2rem;
      line-height: 1.7;
    }

    .team-bio p { margin: 0 0 1rem; }

    .team-bio p:last-child { margin-bottom: 0; }

    .team-bio ul {
      margin: 0 0 1rem;
      padding-left: 1.25rem;
    }

    .team-bio li + li { margin-top: 0.35rem; }

    .team-close {
      background: #f6f3f2;
      padding: 4rem 0;
    }

    .proposal-modal {
      position: fixed;
      inset: 0;
      z-index: 2000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.25rem;
      background: rgba(11, 19, 43, 0.62);
    }

    .proposal-modal[hidden] { display: none; }

    .proposal-dialog {
      width: min(100%, 520px);
      background: #fff;
      border-radius: 12px;
      padding: 1.6rem 1.5rem 1.4rem;
      box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
    }

    .proposal-dialog h2 {
      margin: 0 2rem 0.35rem 0;
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: #1a284e;
    }

    .proposal-dialog .proposal-lead {
      margin: 0 0 1.1rem;
      color: #4b5563;
      font-size: 0.95rem;
      line-height: 1.5;
    }

    .proposal-close {
      position: absolute;
      top: 0.85rem;
      right: 0.85rem;
      width: 36px;
      height: 36px;
      border: 0;
      border-radius: 50%;
      background: #f3f4f6;
      color: #1a284e;
      cursor: pointer;
    }

    .proposal-dialog { position: relative; }

    .proposal-dialog form { display: flex; flex-direction: column; gap: 0.9rem; }

    .proposal-dialog .btn-rr { align-self: flex-start; }

    body.proposal-open { overflow: hidden; }

    .team-close h2 {
      margin: 0;
      max-width: 36rem;
      font-size: 2rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.2;
      color: #1c1b1b;
    }

    @media (min-width: 768px) {
      .team-name { font-size: 2.5rem; }
      .team-close h2 { font-size: 2.5rem; }
    }

    .hero-banner--mid { height: 380px; }

    .role-line {
      margin: 0.15rem 0 0;
      font-size: 0.85rem;
      color: var(--rr-muted);
    }

    .contact-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      color: #374151;
      font-size: 0.95rem;
    }

    .contact-list li { display: flex; align-items: flex-start; gap: 0.65rem; }

    .contact-list i { color: var(--rr-red); margin-top: 0.2rem; }

    .contact-list a { color: var(--rr-navy); font-weight: 600; }

    .contact-list a:hover { color: var(--rr-red); }

    /* Home — graphic layout matching the home concept */
    .home-hero {
      position: relative;
      overflow: hidden;
      min-height: 560px;
      background: #031339 center 55% / cover no-repeat;
      color: #fff;
    }

    .home-hero__shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(3, 19, 57, 0.94) 0%, rgba(3, 19, 57, 0.78) 46%, rgba(3, 19, 57, 0.42) 100%);
    }

    .home-hero__copy {
      position: relative;
      z-index: 1;
      padding: 4.5rem 0 4.75rem;
      max-width: 46rem;
    }

    .home-hero h1 {
      margin: 0;
      color: #fff;
      font-size: 2.2rem;
      font-weight: 800;
      line-height: 1.12;
      letter-spacing: -0.02em;
    }

    .home-hero h1 span { color: #e02b20; }

    .home-hero__lead {
      margin: 1.15rem 0 0;
      max-width: 40rem;
      color: rgba(255, 255, 255, 0.92);
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .btn-glass {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      background: rgba(255, 255, 255, 0.1);
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.28);
      border-radius: 4px;
      padding: 0.95rem 1.4rem;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      backdrop-filter: blur(6px);
      font-family: inherit;
      cursor: pointer;
    }

    .btn-glass:hover,
    .btn-glass:focus { background: rgba(255, 255, 255, 0.2); color: #fff; }

    .pillar {
      height: 100%;
      border-radius: 16px;
      padding: 1.6rem 1.45rem 1.3rem;
      display: flex;
      flex-direction: column;
    }

    .pillar,
    .pillar--light {
      background: #f8fafc;
      color: #1e293b;
      border: 1px solid #e2e8f0;
      transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
    }

    .pillar:hover {
      background: #0a192f;
      color: #fff;
      border-color: #0a192f;
      box-shadow: 0 18px 40px rgba(10, 25, 47, 0.22);
    }

    .pillar__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .pillar__icon {
      width: 48px;
      height: 48px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.15rem;
    }

    .pillar__icon { background: #e2e8f0; color: #334155; }
    .pillar:hover .pillar__icon { background: rgba(255, 255, 255, 0.1); color: #fff; }

    .pillar__no {
      font-size: 2rem;
      font-weight: 300;
      letter-spacing: -0.03em;
      line-height: 1;
    }

    .pillar__no { color: #cbd5e1; }

    .pillar__chart { width: 100%; height: 88px; margin: 0.7rem 0 0.2rem; }

    .pillar h3 {
      margin: 0 0 0.45rem;
      font-size: 1.2rem;
      font-weight: 700;
      color: inherit;
    }

    .pillar p {
      margin: 0;
      font-size: 0.9rem;
      line-height: 1.6;
    }

    .pillar p { color: #475569; }
    .pillar:hover p { color: rgba(255, 255, 255, 0.82); }

    .pillar__foot {
      margin-top: auto;
      padding-top: 1.15rem;
      margin-top: 1.35rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 0.9rem;
      font-weight: 600;
    }

    .pillar__foot { border-top: 1px solid #e2e8f0; color: #0f172a; }
    .pillar:hover .pillar__foot { border-top-color: rgba(255, 255, 255, 0.1); color: #fff; }

    .pillar__go {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid #c8102e;
      color: #c8102e;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .pillar:hover .pillar__go {
      background: #c8102e;
      border-color: #c8102e;
      color: #fff;
    }

    .photo-frame {
      position: relative;
      border-radius: 18px;
      overflow: visible;
    }

    .photo-frame img {
      width: 100%;
      height: 520px;
      object-fit: cover;
      object-position: center top;
      border-radius: 18px;
      display: block;
      box-shadow: 0 24px 50px rgba(15, 23, 42, 0.16);
    }

    .float-card {
      position: absolute;
      left: 1.25rem;
      right: 1.25rem;
      bottom: 1.25rem;
      background: #0a192f;
      color: #fff;
      border-radius: 14px;
      padding: 1.15rem 1.2rem;
      display: flex;
      gap: 0.9rem;
      align-items: flex-start;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
    }

    .float-card__icon {
      width: 48px;
      height: 48px;
      border-radius: 10px;
      background: #c8102e;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 1.15rem;
    }

    .float-card strong {
      display: block;
      margin-bottom: 0.2rem;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #fca5a5;
    }

    .float-card p { margin: 0; font-size: 0.86rem; line-height: 1.5; color: #e5e7eb; }

    .check-pill {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      margin-bottom: 1rem;
      font-weight: 600;
      color: #1e293b;
    }

    .check-pill:last-child { margin-bottom: 0; }

    .check-pill i {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: rgba(200, 16, 46, 0.12);
      color: #c8102e;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      margin-top: 0.1rem;
      flex-shrink: 0;
    }

    .client-row {
      background: #fff;
      border-top: 1px solid #e5e7eb;
      border-bottom: 1px solid #e5e7eb;
      padding: 1.6rem 0;
      overflow: hidden;
    }

    .client-slider { overflow: hidden; }

    .client-track {
      display: flex;
      width: max-content;
      animation: client-slide 28s linear infinite;
    }

    .client-set {
      display: flex;
      align-items: center;
      gap: 4.5rem;
      padding-right: 4.5rem;
    }

    .client-row img {
      height: 64px;
      width: auto;
      max-width: 168px;
      object-fit: contain;
      flex: 0 0 auto;
    }

    @keyframes client-slide {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (prefers-reduced-motion: reduce) {
      .client-track { animation: none; }
    }

    .services-banner {
      position: relative;
      background: #1b2a4a;
      color: #fff;
      text-align: center;
      padding: 4.5rem 0 5rem;
    }

    .services-banner h2 {
      margin: 0.4rem 0 0.8rem;
      color: #fff;
      font-size: 2.4rem;
      font-weight: 800;
      letter-spacing: -0.02em;
    }

    .services-banner p {
      margin: 0 auto;
      max-width: 46rem;
      color: #e2e8f0;
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .services-banner__notch {
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translate(-50%, 100%);
      width: 0;
      height: 0;
      border-left: 26px solid transparent;
      border-right: 26px solid transparent;
      border-top: 22px solid #1b2a4a;
    }

    .service-panel {
      background: #f4f6fa;
      padding: 4.5rem 0 4rem;
    }

    .svc-card {
      height: 100%;
      background: #fff;
      border: 1px solid #f1f5f9;
      border-radius: 12px;
      padding: 2rem 1.6rem 1.5rem;
      text-align: center;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
      display: flex;
      flex-direction: column;
      transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .svc-card:hover {
      background: #0a192f;
      border-color: #0a192f;
      box-shadow: 0 18px 40px rgba(10, 25, 47, 0.22);
    }

    .svc-card__rule {
      width: 48px;
      height: 4px;
      border-radius: 99px;
      background: #c8102e;
      margin: 0 auto 1rem;
    }

    .svc-card h3 {
      margin: 0 0 0.35rem;
      font-size: 1.45rem;
      font-weight: 700;
      color: #1b2a4a;
    }

    .svc-card:hover h3,
    .svc-card:hover h4,
    .svc-card:hover p { color: #fff; }

    .svc-card:hover .svc-card__foot { border-top-color: rgba(255, 255, 255, 0.12); }

    .svc-card h4 {
      margin: 0 0 0.8rem;
      font-size: 0.95rem;
      font-weight: 600;
      font-style: italic;
      color: #334155;
    }

    .svc-card p {
      margin: 0;
      color: #475569;
      font-size: 0.95rem;
      line-height: 1.65;
    }

    .svc-card__foot {
      margin-top: auto;
      padding-top: 1.4rem;
      margin-top: 1.5rem;
      border-top: 1px solid #f1f5f9;
    }

    .assess-photo {
      position: relative;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      padding: 0.7rem;
      box-shadow: 0 20px 46px rgba(15, 23, 42, 0.12);
    }

    .assess-photo img {
      width: 100%;
      height: 460px;
      object-fit: cover;
      border-radius: 14px;
      display: block;
    }

    .cap-chip {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 0.75rem 0.85rem;
      font-size: 0.9rem;
      font-weight: 600;
      color: #1e293b;
      box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    }

    .cap-chip i { color: #c8102e; }

    .impact-stage {
      position: relative;
      overflow: hidden;
      background: #f4f7fb;
      padding: 4.5rem 0;
    }

    .impact-stage__art {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .impact-stage__art svg { width: 100%; height: 100%; }

    .impact-stage__photo {
      position: absolute;
      right: 0;
      top: 0;
      width: min(42%, 520px);
      height: 70%;
      object-fit: cover;
      opacity: 0.18;
      mask-image: radial-gradient(circle at 80% 20%, #000 10%, transparent 72%);
    }

    .stat-card {
      position: relative;
      height: 100%;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 1.6rem 1.4rem 1.2rem;
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .stat-card__icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.25rem;
      margin-bottom: 1.1rem;
    }

    .stat-card strong {
      display: block;
      font-size: 3.5rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      line-height: 1;
      color: #0f172a;
      font-variant-numeric: tabular-nums;
    }

    @media (min-width: 992px) {
      .stat-card strong { font-size: 3.5rem; }
    }

    .stat-card strong.hot { color: #c8102e; }

    .stat-card h3 {
      margin: 0.7rem 0 0;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #1e293b;
      line-height: 1.4;
    }

    .stat-card__note {
      margin-top: auto;
      padding-top: 1rem;
      margin-top: 1.2rem;
      border-top: 1px solid #f1f5f9;
      font-size: 0.78rem;
      font-weight: 600;
      color: #64748b;
    }

    .quote-stage { position: relative; background: #f8fafc; }

    .quote-stage::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: radial-gradient(#c8102e 1px, transparent 1px);
      background-size: 28px 28px;
      opacity: 0.045;
      pointer-events: none;
    }

    .review-card {
      position: relative;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 18px;
      padding: 2rem 1.5rem 1.5rem;
      box-shadow: 0 24px 50px rgba(15, 23, 42, 0.08);
      overflow: hidden;
    }

    .review-card__bar {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 6px;
      background: linear-gradient(90deg, #0a192f, #c8102e, #fd5d49);
    }

    .review-card__mark {
      position: absolute;
      top: -1.2rem;
      right: 1.2rem;
      font-size: 9rem;
      line-height: 1;
      color: #f1f5f9;
      font-family: Georgia, serif;
      pointer-events: none;
    }

    .review-card blockquote {
      margin: 0;
      padding-left: 0.9rem;
      border-left: 2px solid rgba(200, 16, 46, 0.4);
      color: #1e293b;
      font-size: 1.02rem;
      line-height: 1.7;
      font-style: italic;
    }

    .stars { color: #c8102e; letter-spacing: 0.12rem; }

    .review-viewport { overflow: hidden; }

    .review-track {
      display: flex;
      transition: transform 0.45s ease;
    }

    .review-slide { flex: 0 0 100%; min-width: 100%; }

    .review-slide strong {
      display: block;
      color: #0f172a;
      font-size: 1.05rem;
    }

    .review-slide .border-top > div > span {
      color: #475569;
      font-size: 0.9rem;
    }

    .review-controls {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 0.65rem;
      margin-top: 1.25rem;
    }

    .review-dots { display: flex; align-items: center; gap: 0.4rem; margin-right: 0.35rem; }

    .review-dots button {
      width: 8px;
      height: 6px;
      padding: 0;
      border: 0;
      border-radius: 99px;
      background: #e2e8f0;
    }

    .review-dots button.is-on { width: 24px; background: #c8102e; }

    .review-arrow {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 1px solid #cbd5e1;
      background: #fff;
      color: #334155;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .review-arrow:hover { background: #0a192f; border-color: #0a192f; color: #fff; }

    .review-arrow--next:hover { background: #c8102e; border-color: #c8102e; }

    .avatar-initials,
    .review-photo {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      flex-shrink: 0;
      box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(200, 16, 46, 0.35);
    }

    .avatar-initials {
      background: #0a192f;
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
    }

    .review-photo {
      object-fit: cover;
      object-position: center 20%;
      display: block;
    }

    @media (min-width: 992px) {
      .home-hero { min-height: 709px; }
      .home-hero__copy { padding: 6.5rem 0 6rem; }
      .home-hero h1 { font-size: 3.25rem; line-height: 1.12; }
      .services-banner h2 { font-size: 3rem; }
      .review-card { padding: 2.6rem 3rem 2rem; }
    }

    @media (max-width: 767.98px) {
      :root { --header-h: 96px; }
      .rr-wrap { padding-left: 1rem; padding-right: 1rem; }
      .site-header .navbar { min-height: 96px; }
      .site-header .navbar-brand img { height: 80px; }
      .hero-banner { height: 240px; }
      .hero-banner img { object-position: center 32%; }
      .ribbon h1 { font-size: 1.15rem; }
      .ribbon-note { font-size: 0.68rem; letter-spacing: 0.03em; }
      .hero-body { padding: 2rem 0; }
      .lead-copy { font-size: 1.15rem; }
      .body-copy { font-size: 1.05rem; }
      .section-title { font-size: 1.55rem; }
      .portrait-card { min-height: 360px; }
      .team-close { padding: 2.25rem 0; }
      .team-close h2 { font-size: 1.45rem; }
      .private-panel .btn-rr,
      .team-close .btn-rr,
      .info-panel .btn-rr { width: 100%; }
      .site-header .has-sub > .submenu {
        position: static;
        left: auto;
        min-width: 0;
        box-shadow: none;
      }
    }

    @media (max-width: 359.98px) {
      .site-header .btn-rr-sm span { display: none; }
    }

    @media (max-width: 575.98px) {
      .home-hero .btn-rr,
      .home-hero .btn-glass { width: 100%; }
      .photo-frame img,
      .assess-photo img { height: 320px; }
    }
