/* Fortis site redesign. Bootstrap owns containers and column layouts. */
:root {
  --fortis-primary: #533afd;
  --fortis-primary-hover: #4024d8;
  --fortis-secondary: #241b4b;
  --fortis-deep: #32217c;
  --fortis-footer: #21174f;
  --fortis-on-dark: #e4dfff;
  --fortis-accent-light: #ded7ff;
  --fortis-ink: #241b4b;
  --fortis-body: #625b78;
  --fortis-line: #e6e1ef;
  --fortis-mint-soft: #f0edff;
  --fortis-canvas: #f8f7fc;
  --fortis-mint: #ded7ff;
  --fortis-sky: #f0edff;
  --fortis-hover-shadow: 0 18px 42px rgba(36, 27, 75, 0.10);
  --fortis-shadow-soft: 0 12px 36px rgba(36, 27, 75, 0.05);
}

.fortis-site { color: var(--fortis-body); background: #fff; line-height: 1.75; }
.fortis-site .row { max-width: none; }
.fortis-site .container { --bs-gutter-x: 3rem; }
.fortis-site h1, .fortis-site h2, .fortis-site h3 { color: var(--fortis-ink); font-weight: 700; letter-spacing: -0.04em; }
.fortis-site p { line-height: 1.8; }
.fortis-site .section-space { padding: 100px 0; }
.fortis-site .section-space--compact { padding: 72px 0; }
.fortis-site .section-heading { max-width: 720px; margin-bottom: 44px; }
.fortis-site .section-heading h2, .fortis-site .section-title, .fortis-site .display-5 { font-size: clamp(32px, 3.25vw, 46px); line-height: 1.18; font-weight: 700; }
.fortis-site .section-heading p { margin-top: 18px; font-size: 15px; line-height: 1.8; }
.fortis-site .section-heading.mx-auto { max-width: 680px; }
.fortis-site .eyebrow { display: inline-block; margin: 0 0 18px; color: var(--fortis-primary); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; line-height: 1.5; }
.fortis-site .eyebrow::before,
.fortis-site .eyebrow::after { display: none !important; content: none !important; }
.fortis-site .section-soft { background: #f8f7fc; }
.fortis-site .section-mint { background: #f0edff; }
.fortis-site .section-dark { border: 0; color: #e4dfff; background: #241b4b; }
.fortis-site .section-dark h2, .fortis-site .section-dark h3 { color: #fff; }
.fortis-site .section-soft::before, .fortis-site .section-dark::before { display: none; }

/* Quiet navigation, with clear active and keyboard states. */
.fortis-site .site-header { border-bottom: 1px solid #ede9f4; background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(14px); }
.fortis-site .site-header.is-scrolled { box-shadow: 0 8px 28px rgba(36, 27, 75, 0.045); }
.fortis-site .navbar { min-height: 88px; }
.fortis-site .navbar-brand { margin-right: 36px; }
.fortis-site .navbar-brand img { width: 135px; height: auto; }
.fortis-site .navbar-nav { gap: 14px; }
.fortis-site .navbar-nav .nav-link { color: #514968; font-size: 13px; font-weight: 600; padding: 12px 10px !important; }
.fortis-site .navbar-nav .nav-link.active, .fortis-site .navbar-nav .nav-link:hover { color: var(--fortis-primary); }
.fortis-site .navbar-nav .nav-link::after { display: none; }
.fortis-site .btn { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; border-radius: 7px; font-size: 12px; font-weight: 600; line-height: 1.5; box-shadow: none; transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease; }
.fortis-site .btn-fortis { border-color: var(--fortis-primary); background: var(--fortis-primary); color: #fff; }
.fortis-site .btn-fortis:hover, .fortis-site .btn-fortis:focus-visible { background: var(--fortis-primary-hover); border-color: var(--fortis-primary-hover); box-shadow: 0 7px 18px rgba(83, 58, 253, 0.16); }
.fortis-site .btn-outline-fortis { color: var(--fortis-ink); border-color: #dcd5ed; background: #fff; }
.fortis-site .btn-outline-fortis:hover { background: var(--fortis-mint-soft); border-color: var(--fortis-primary); }
.fortis-site .btn-fortis-light { background: #fff; color: var(--fortis-secondary); border-color: #fff; }
.fortis-site .btn-fortis-light:hover { background: #edf0ff; border-color: #edf0ff; }
.fortis-site .text-link { gap: 10px; margin-top: 24px; color: var(--fortis-primary); font-size: 12px; font-weight: 600; }
.fortis-site a:focus-visible, .fortis-site button:focus-visible, .fortis-site select:focus-visible { outline: 3px solid #9ca1ff; outline-offset: 4px; }

/* Home: a single photograph with no overlays or caption. */
.fortis-site .hero { padding: 68px 0 72px; background: #fff; }
.fortis-site .hero-layout { min-height: 0; --bs-gutter-x: 5rem; }
.fortis-site .hero-copy { padding-top: 10px; }
.fortis-site .hero-kicker { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; color: var(--fortis-primary); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; margin-bottom: 24px; }
.fortis-site .hero h1 { font-size: clamp(40px, 3.55vw, 51px); line-height: 1.14; font-weight: 600; letter-spacing: -0.05em; margin-bottom: 26px; }
.fortis-site .hero h1 span { color: var(--fortis-primary); }
.fortis-site .hero .lead { max-width: 480px; font-size: 16px; line-height: 1.85; margin-bottom: 30px; color: var(--fortis-body); }
.fortis-site .hero-actions { flex-wrap: wrap; }
.fortis-site .hero-actions .btn { min-width: 0; min-height: 52px; padding: 14px 20px; }
.fortis-site .hero-points { gap: 12px 18px; font-size: 11px; font-weight: 600; margin-top: 24px; }
.fortis-site .hero-points i { border: 0; background: none; width: 16px; height: 16px; }
.fortis-site .hero-portrait { margin: 0; border-radius: 16px; overflow: hidden; background: #f0ecff; box-shadow: 0 18px 45px -26px rgba(83, 58, 253, 0.28); }
.fortis-site .hero-portrait > img { display: block; width: 100%; height: 500px; object-fit: cover; object-position: 54% center; transition: transform 0.8s ease; }
.fortis-site .hero::before, .fortis-site .inner-hero::before { inset: auto -12% -48% auto; width: 62%; height: 100%; background: radial-gradient(ellipse, rgba(192, 176, 255, 0.18), transparent 68%); mask-image: none; pointer-events: none; }
.fortis-site .hero::after, .fortis-site .inner-hero::after { display: none; }
.fortis-site .trust-strip { border-top: 0; border-bottom: 0; background: #f8f7fc; }
.fortis-site .trust-item { min-height: 82px; color: #514968; font-size: 11px; letter-spacing: 0; font-weight: 600; }
.fortis-site .trust-item i { font-size: 17px; margin-right: 10px; }

/* Home sections have distinct shapes and reading rhythms. */
.fortis-site .workflow-panel { padding: 38px 40px; background: #f0edff; border-radius: 14px; }
.fortis-site .workflow-panel h3 { max-width: 360px; font-size: 27px; line-height: 1.35; margin-bottom: 26px; }
.fortis-site .workflow-list { margin: 0; padding: 0; list-style: none; }
.fortis-site .workflow-list li { display: flex; align-items: flex-start; gap: 20px; padding: 17px 0; border-top: 1px solid #e2e7f3; }
.fortis-site .workflow-list li > span { color: var(--fortis-primary); font-size: 12px; padding-top: 3px; }
.fortis-site .workflow-list strong { color: var(--fortis-ink); font-size: 14px; font-weight: 600; }
.fortis-site .workflow-list p { margin: 2px 0 0; font-size: 12px; }
.fortis-site .home-challenges { background: #f8f7fc; }
.fortis-site .home-challenges .section-heading { margin-bottom: 0; }
.fortis-site .home-challenges .section-heading h2 { font-size: clamp(28px, 2.8vw, 38px); }
.fortis-site .number-card { padding: 0 8px 22px; border: 0; border-bottom: 1px solid var(--fortis-line); border-radius: 0; background: transparent; box-shadow: none; }
.fortis-site .number-card::after { display: none; }
.fortis-site .number-card .number { color: var(--fortis-primary); background: transparent; font-size: 12px; font-weight: 600; padding: 0; margin-bottom: 12px; min-width: 0; }
.fortis-site .number-card h3 { font-size: 17px; line-height: 1.4; font-weight: 600; margin-bottom: 12px; }
.fortis-site .number-card p { font-size: 12px; line-height: 1.8; }
.fortis-site .service-card { padding: 0; border: 1px solid var(--fortis-line); border-radius: 12px; box-shadow: none; background: #fff; }
.fortis-site .service-card::before, .fortis-site .value-card::before, .fortis-site .feature-card::before, .fortis-site .detail-card::before { display: none; }
.fortis-site .service-photo { height: 216px; overflow: hidden; }
.fortis-site .service-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.fortis-site .service-card-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 28px; min-height: 255px; }
.fortis-site .service-card-copy h3 { font-size: 22px; line-height: 1.3; margin-bottom: 14px; }
.fortis-site .service-card-copy p { font-size: 13px; margin-bottom: 22px; }
.fortis-site .service-card-copy .text-link { margin-top: auto; }
.fortis-site .value-card { display: flex; flex-direction: column; padding: 22px 26px 24px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.fortis-site .value-card .icon-box { width: 42px; height: 42px; margin-bottom: 20px; border-radius: 50%; color: var(--fortis-primary); background: #eeeaff; }
.fortis-site .value-card h3 { font-size: 18px; font-weight: 600; }
.fortis-site .value-card p { max-width: 340px; font-size: 13px; }

/* Inner heroes: text first, photography second, with Bootstrap columns. */
.fortis-site .inner-hero { padding: 58px 0 66px; background: #fff; }
.fortis-site .inner-hero-shell { display: flex; gap: 0; max-width: none; padding: 0; margin-left: calc(-0.5 * var(--bs-gutter-x)); margin-right: calc(-0.5 * var(--bs-gutter-x)); }
.fortis-site .inner-hero-copy { order: 1; padding: 0 calc(var(--bs-gutter-x) * 0.5); }
.fortis-site .inner-hero-figure { order: 2; }
.fortis-site .inner-hero-media { height: 380px; padding: 0; border: 0; border-radius: 12px; box-shadow: none; }
.fortis-site .inner-hero-media::after { display: none; }
.fortis-site .inner-hero-media img { border-radius: 0; height: 100%; object-fit: cover; }
.fortis-site .inner-hero-copy h1 { max-width: 19ch; font-size: clamp(36px, 3.65vw, 52px); font-weight: 700; line-height: 1.16; margin-bottom: 24px; }
.fortis-site .inner-hero-copy > p { max-width: 490px; color: var(--fortis-body); font-size: 14px; line-height: 1.9; }
.fortis-site .inner-hero-actions { margin-top: 26px; gap: 12px; }
.fortis-site .inner-hero-actions .btn { min-width: 0; padding: 13px 20px; }
.fortis-site .inner-hero-points { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 0; border: 0; margin-top: 23px; font-size: 10px; font-weight: 600; }
.fortis-site .inner-hero-chip { padding: 10px 14px; font-size: 11px; border-radius: 6px; background: var(--fortis-mint-soft); }
.fortis-site .about-intro h2 { max-width: 15ch; font-size: 36px; line-height: 1.25; }
.fortis-site .about-intro-copy { border: 0; padding: 0 0 0 25px; }
.fortis-site .about-intro-copy p { font-size: 14px; line-height: 1.95; }
.fortis-site .mission-card, .fortis-site .mission-card.secondary { border: 0; padding: 42px; border-radius: 12px; background: #eeedff; box-shadow: none; }
.fortis-site .mission-card.secondary { background: #f0edff; }
.fortis-site .mission-card h3 { max-width: 400px; font-size: 30px; line-height: 1.3; margin-bottom: 20px; }
.fortis-site .mission-card p { font-size: 14px; }
.fortis-site .process-list { padding: 0; }
.fortis-site .process-list::before { left: 20px; top: 22px; bottom: 45px; background: #d6dcf0; }
.fortis-site .process-list li { padding: 2px 0 30px 68px; margin-bottom: 0; }
.fortis-site .process-list li:last-child { padding-bottom: 0; }
.fortis-site .process-number { width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: var(--fortis-primary); box-shadow: 0 0 0 1px #d9dff2; font-size: 11px; font-weight: 600; }
.fortis-site .process-list h3 { font-size: 18px; line-height: 1.4; font-weight: 600; }
.fortis-site .process-list p { margin: 10px 0 0; max-width: 530px; font-size: 13px; }

/* Service catalog and billing process, using Bootstrap columns. */
.fortis-site #medical-billing { background: #f8f7fc; }
.fortis-site .billing-step { border: 1px solid #dfd6fc; border-radius: 16px; padding: 30px; background: linear-gradient(135deg, #eee8ff, #f7f3ff); box-shadow: none; }
.fortis-site .billing-step-top { margin-bottom: 28px; }
.fortis-site .step-caption { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; }
.fortis-site .billing-process .billing-step-top i { width: 42px; height: 42px; border-radius: 12px; font-size: 20px; color: var(--fortis-primary); background: #e1d8ff; }
.fortis-site .billing-step h3 { font-size: 18px; font-weight: 600; line-height: 1.45; }
.fortis-site .billing-step p { font-size: 12px; line-height: 1.85; }
.fortis-site #rcm { background: #fff; }
.fortis-site .rcm-catalog { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }
.fortis-site .rcm-service { gap: 20px; padding: 28px; border: 1px solid #e0d7f6; border-radius: 16px; background: linear-gradient(125deg, #eee8ff, #f7f4ff); box-shadow: 0 6px 20px rgba(36, 27, 75, 0.035); }
.fortis-site .rcm-catalog .rcm-service-number { flex-basis: 44px; width: 44px; height: 44px; padding: 0; font-size: 13px; font-weight: 600; color: #fff; background: var(--fortis-primary); border-radius: 12px; }
.fortis-site .rcm-service h3 { font-size: 16px; font-weight: 600; line-height: 1.5; }
.fortis-site .rcm-service p { max-width: 450px; font-size: 12px; }
.fortis-site #staffing { padding-top: 35px; }
.fortis-site #staffing h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.2; margin-bottom: 24px; }
.fortis-site #staffing p { font-size: 14px; }
.fortis-site .staffing-panel { padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: #f0edff; box-shadow: none; }
.fortis-site .staffing-photo { width: 100%; height: 240px; object-fit: cover; object-position: center 38%; }
.fortis-site .staffing-panel-copy { padding: 30px 34px; }
.fortis-site .staffing-panel-copy .icon-box { display: none; }
.fortis-site .staffing-panel h3 { font-size: 23px; margin: 0 0 22px; }
.fortis-site .check-list li { margin-bottom: 13px; font-size: 13px; }
.fortis-site #approach .section-title, .fortis-site #how-it-works .section-title { margin-bottom: 25px; }
.fortis-site #approach p, .fortis-site #how-it-works p { font-size: 13px; }
.fortis-site .software-section { background: linear-gradient(135deg, #e9e2ff, #f4efff); border: 0; }
.fortis-site .software-heading h2 { font-size: clamp(26px, 2.6vw, 36px); }
.fortis-site .software-heading p { font-size: 13px; }
.fortis-site .software-motion-toggle { font-size: 10px; border: 1px solid var(--fortis-line); border-radius: 5px; }
.fortis-site .software-logo { box-shadow: none; border-radius: 12px; border-color: #e6eaf2; }
.fortis-site .software-wordmark { font-size: 11px; }
.fortis-site .specialties-section { background: #f8f7fc; }
.fortis-site .specialties-section h2 { max-width: 430px; margin-bottom: 24px; }
.fortis-site .specialties-section p { font-size: 14px; }
.fortis-site .specialty-cloud { display: flex; gap: 12px; }
.fortis-site .specialty-pill { padding: 12px 16px; border: 1px solid #dfe5f0; border-radius: 6px; color: #514968; background: #fff; font-size: 11px; font-weight: 600; }

/* Forms and legal content use calm, readable panels. */
.fortis-site.page-contact main > .section-space, .fortis-site #pricing-form { background: #f8f7fc; }
.fortis-site .form-card { padding: 40px; border: 1px solid #e2e7f0; border-radius: 14px; background: #fff; box-shadow: none; }
.fortis-site .form-card .form-title, .fortis-site .form-card .h2 { font-size: 28px; line-height: 1.3; }
.fortis-site .form-card > p { font-size: 13px; }
.fortis-site .form-label, .fortis-site .form-check-label { font-size: 11px; font-weight: 600; color: #241b4b; }
.fortis-site .form-control, .fortis-site .form-select { min-height: 49px; padding: 12px 14px; font-size: 13px; line-height: 1.5; border: 1px solid #dae1ed; border-radius: 6px; background-color: #fbfcfe; color: var(--fortis-ink); }
.fortis-site .form-select { padding-right: 36px; }
.fortis-site textarea.form-control { min-height: 140px; }
.fortis-site .form-control:focus, .fortis-site .form-select:focus { border-color: var(--fortis-primary); box-shadow: 0 0 0 3px rgba(83, 58, 253, 0.09); }
.fortis-site .was-validated .form-control:invalid, .fortis-site .was-validated .form-select:invalid { border-color: #b83e43; }
.fortis-site .invalid-feedback { font-size: 11px; }
.fortis-site .form-note { max-width: 490px; font-size: 10px; color: #6a627e; }
.fortis-site .form-section { padding-top: 30px; }
.fortis-site .form-section:first-of-type { padding-top: 0; }
.fortis-site .form-section + .form-section { margin-top: 30px; }
.fortis-site .form-section-heading { gap: 12px; font-size: 16px; font-weight: 600; margin-bottom: 25px; }
.fortis-site .form-section-number { width: 28px; height: 28px; border-radius: 50%; background: #eeedff; color: var(--fortis-primary); font-size: 10px; }
.fortis-site .form-status { font-size: 12px; }
.fortis-site .contact-option { gap: 18px; padding: 24px 0; border: 0; border-top: 1px solid var(--fortis-line); border-radius: 0; background: transparent; }
.fortis-site .contact-option h3 { font-size: 15px; font-weight: 600; }
.fortis-site .contact-option p { font-size: 12px; line-height: 1.9; }
.fortis-site .contact-option .icon-box { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #f0edff; font-size: 16px; }
.fortis-site .pricing-intro { padding: 0 34px 0 calc(var(--bs-gutter-x) * 0.5); border: 0; border-radius: 0; background: none; box-shadow: none; }
.fortis-site .pricing-intro h2 { font-size: clamp(28px, 3vw, 39px); }
.fortis-site .pricing-intro p { font-size: 13px; }
.fortis-site .pricing-intro .check-list { margin: 28px 0; }
.fortis-site .legal-layout { display: flex; gap: 0; max-width: none; margin-left: calc(-0.5 * var(--bs-gutter-x)); margin-right: calc(-0.5 * var(--bs-gutter-x)); }
.fortis-site .legal-nav, .fortis-site .legal-document { padding: 0 calc(var(--bs-gutter-x) * 0.5); border: 0; border-radius: 0; background: none; box-shadow: none; }
.fortis-site .legal-nav nav { display: flex; flex-direction: column; gap: 8px; }
.fortis-site .legal-nav nav a { color: #514968; border-radius: 4px; font-size: 12px; }
.fortis-site .legal-document-section { padding-top: 35px; }
.fortis-site .legal-document-section h2 { font-size: 26px; }
.fortis-site .legal-document-section p { font-size: 14px; }
.fortis-site .legal-notice { border-left: 0; padding: 22px; background: #f0edff; border-radius: 8px; font-size: 12px; }

/* One closing invitation, followed by a restrained footer. */
.fortis-site .cta-panel { padding: 55px 60px; border-radius: 14px; box-shadow: none; color: #e4dfff; background: #241b4b; }
.fortis-site .cta-panel::after { width: 400px; height: 400px; border: 0; top: -80px; right: -80px; background: radial-gradient(circle, rgba(99, 91, 255, 0.22), transparent 65%); pointer-events: none; }
.fortis-site .cta-panel h2 { max-width: 700px; color: #fff; font-size: clamp(28px, 3vw, 39px); line-height: 1.25; margin-bottom: 20px; }
.fortis-site .cta-panel p { max-width: 620px; font-size: 13px; }
.fortis-site .cta-panel .eyebrow { color: #ded7ff !important; }
.fortis-site .cta-panel .btn { position: relative; z-index: 1; white-space: normal; }
.fortis-site .site-footer { background: var(--fortis-footer); padding-top: 64px; color: #d6cfee; }
.fortis-site .site-footer .navbar-brand img { filter: none !important; }
.fortis-site .site-footer p { max-width: 340px; font-size: 12px; }
.fortis-site .site-footer h2 { color: #fff; font-size: 10px; font-weight: 600; letter-spacing: 0.09em; }
.fortis-site .footer-links a { color: #d6cfee; font-size: 11px; }
.fortis-site .footer-links a:hover { color: #ded7ff; }
.fortis-site .footer-bottom { border-color: #493977; margin-top: 50px; padding: 24px 0; font-size: 10px; }
.fortis-site .footer-bottom a { color: #d6cfee !important; }

/* One primary indigo family for accents, section backgrounds, and footer. */
.fortis-site .heading-accent { color: var(--fortis-primary); }
.fortis-site .eyebrow { font-weight: 700; }
.fortis-site .btn { border-radius: 8px; font-size: 13px; }
.fortis-site .btn-fortis { box-shadow: 0 5px 14px rgba(83, 58, 253, 0.16); }
.fortis-site .icon-box { color: var(--fortis-primary); background: #eeedff; }
.fortis-site .hero { position: relative; isolation: isolate; padding: 72px 0 78px; overflow: hidden; background: linear-gradient(115deg, #fff 36%, #faf9ff 72%, #f0ecff 100%); }
.fortis-site .hero::before, .fortis-site .hero::after { display: none; }
.fortis-site .hero > .container { position: relative; z-index: 1; }
.fortis-site .hero-layout { --bs-gutter-x: 4rem; }
.fortis-site .hero h1 { max-width: 600px; font-size: clamp(46px, 4.15vw, 60px); font-weight: 700; line-height: 1.1; letter-spacing: -0.055em; }
.fortis-site .hero h1 span { display: block; color: #533afd; }
.fortis-site .hero .lead { max-width: 520px; font-size: 17px; color: #514968; }
.fortis-site .hero-kicker { font-size: 11px; color: #533afd; }
.fortis-site .trust-strip { background: #f8f7fc; border-top: 1px solid #ede9f6; border-bottom: 1px solid #ede9f6; }
.fortis-site .trust-item { min-height: 94px; color: #514968; font-size: 12px; }
.fortis-site .trust-item i { color: #635bff; font-size: 22px; }
.fortis-site .workflow-panel { position: relative; overflow: hidden; border-radius: 16px; background: linear-gradient(145deg, var(--fortis-primary), #3d269e); color: var(--fortis-on-dark); padding: 42px; box-shadow: 0 20px 50px -28px #241b4b; }
.fortis-site .workflow-panel::after { content: ""; position: absolute; right: -100px; top: -140px; width: 350px; height: 350px; border-radius: 50%; background: radial-gradient(circle, rgba(178,153,255,0.35), transparent 70%); pointer-events: none; }
.fortis-site .workflow-panel h3, .fortis-site .workflow-list strong { color: #fff; }
.fortis-site .workflow-panel .eyebrow, .fortis-site .workflow-list li > span { color: #ded7ff; }
.fortis-site .workflow-list li { border-color: #7863c9; }
.fortis-site .workflow-list strong { font-size: 15px; }
.fortis-site .workflow-list p { font-size: 13px; }
.fortis-site .home-challenges { position: relative; isolation: isolate; background: #f8f6fe; }
.fortis-site .home-challenges::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(circle at 8% 80%, rgba(168,148,255,0.12), transparent 30%), radial-gradient(circle at 95% 10%, rgba(167,146,255,0.13), transparent 32%); }
.fortis-site .home-challenges .section-heading h2 { font-size: clamp(32px, 3vw, 42px); }
.fortis-site .number-card { height: 100%; padding: 27px; border: 1px solid #e4e8f2; border-radius: 10px; background: #fff; box-shadow: 0 3px 8px rgba(36, 27, 75,0.02); }
.fortis-site .number-card .number { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; min-width: 38px; margin-bottom: 21px; border-radius: 10px; color: #533afd; background: #eeedff; font-size: 13px; font-weight: 700; }
.fortis-site .challenge-list > :nth-child(3n + 2) .number { background: #eeedff; color: #533afd; }
.fortis-site .challenge-list > :nth-child(3n) .number { background: #eeedff; color: #533afd; }
.fortis-site .number-card h3 { font-size: 18px; font-weight: 600; }
.fortis-site .number-card p { font-size: 13px; }
.fortis-site .service-card { box-shadow: 0 10px 30px rgba(36, 27, 75,0.05); border-color: #e6eaf3; border-radius: 12px; }
.fortis-site .service-card-copy h3 { font-weight: 700; }
.fortis-site .section-dark { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(120deg, var(--fortis-deep), #452d9f); }
.fortis-site .section-dark::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 800px; height: 800px; top: -420px; right: -280px; border: 1px solid rgba(222,215,255,0.12); border-radius: 50%; box-shadow: 0 0 0 65px rgba(222,215,255,0.035), 0 0 0 130px rgba(222,215,255,0.025), 0 0 0 195px rgba(222,215,255,0.02); }
.fortis-site .section-dark .eyebrow, .fortis-site .section-dark .heading-accent { color: #ded7ff; }
.fortis-site .section-dark .value-card { border-top: 1px solid #655099; padding-top: 25px; }
.fortis-site .section-dark .value-card p { color: #e4dfff; }
.fortis-site .section-dark .icon-box { background: #4e3994; color: #ded7ff; border-radius: 11px; }
.fortis-site .closing-section { background: #f8f7fc; }
.fortis-site .cta-panel { color: #625b78; background: linear-gradient(115deg, #f5f2ff 0%, #efedff 58%, #eae4ff 100%); border: 1px solid #e3e7f7; box-shadow: 0 12px 30px rgba(36, 27, 75,0.025); }
.fortis-site .cta-panel::after { display: none; }
.fortis-site .cta-panel h2 { color: #241b4b; font-weight: 700; }
.fortis-site .cta-panel .eyebrow { color: #533afd !important; }
.fortis-site .cta-panel .btn-fortis-light { color: #fff; background: #533afd; border-color: #533afd; }
.fortis-site .cta-panel .btn-fortis-light:hover { background: #4024d8; border-color: #4024d8; }
.fortis-site .cta-panel .btn-outline-light { color: #241b4b; background: rgba(255,255,255,0.65); border-color: #cdd5e6; }
.fortis-site .cta-panel .btn-outline-light:hover { background: #fff; border-color: #635bff; }
.fortis-site .inner-hero { background: linear-gradient(115deg, #fff 18%, #f5f2ff 62%, #f0ecff); }
.fortis-site .inner-hero::before { inset: -60% -18% auto auto; width: 65%; height: 180%; background: radial-gradient(ellipse, rgba(190,172,255,0.22), transparent 60%); }
.fortis-site .inner-hero-media { box-shadow: 0 22px 45px -25px rgba(36, 27, 75,0.32); border: 6px solid rgba(255,255,255,0.85); border-radius: 16px; }
.fortis-site .inner-hero-copy > p { font-size: 15px; }
.fortis-site .mission-card { background: linear-gradient(135deg, #e8e0ff, #f2edff); border: 1px solid #d9cdfa; border-top: 4px solid var(--fortis-primary); box-shadow: 0 9px 28px rgba(36, 27, 75,0.035); }
.fortis-site .mission-card.secondary { background: linear-gradient(135deg, #eee9ff, #e2dcf9); border: 1px solid #d9cdfa; border-top: 4px solid #8a70d5; }
.fortis-site .mission-card h3 { color: #241b4b; font-weight: 700; }
.fortis-site .mission-card.secondary .eyebrow { color: #533afd !important; }
.fortis-site .value-card h3, .fortis-site .billing-step h3, .fortis-site .rcm-service h3, .fortis-site .contact-option h3 { font-weight: 600; }
.fortis-site #how-it-works, .fortis-site #approach { background: linear-gradient(120deg, var(--fortis-deep), #452d9f); color: var(--fortis-on-dark); }
.fortis-site #how-it-works h2, .fortis-site #how-it-works h3, .fortis-site #approach h2, .fortis-site #approach h3 { color: #fff; }
.fortis-site #how-it-works .eyebrow, .fortis-site #approach .eyebrow, .fortis-site #how-it-works .heading-accent, .fortis-site #approach .heading-accent { color: #ded7ff; }
.fortis-site #how-it-works .process-number, .fortis-site #approach .process-number { background: #4e3994; color: #ded7ff; box-shadow: 0 0 0 1px #715ba9; }
.fortis-site #how-it-works .process-list::before, .fortis-site #approach .process-list::before { background: #655099; }
.fortis-site #medical-billing { background: #f8f7fc; }
.fortis-site .billing-step { box-shadow: 0 5px 20px rgba(36, 27, 75,0.03); }
.fortis-site #staffing { padding-top: 90px; background: #f5f2ff; }
.fortis-site .staffing-panel { background: #fff; border: 1px solid #e2e8f3; box-shadow: 0 8px 30px rgba(36, 27, 75,0.035); }
.fortis-site .specialties-section { background: linear-gradient(115deg, #f5f2ff, #f4f1ff); }
.fortis-site .software-heading h2 { color: #241b4b; font-weight: 700; }
.fortis-site .software-motion-toggle { color: #514968; background: #f8f7fc; }
.fortis-site .form-card { border-color: #e1e6f0; box-shadow: 0 18px 55px rgba(36, 27, 75,0.06); }
.fortis-site.page-contact main > .section-space, .fortis-site #pricing-form { background: linear-gradient(120deg, #f8f7fc 50%, #f0f1ff); }
.fortis-site .form-label, .fortis-site .form-check-label { font-size: 12px; font-weight: 600; }
.fortis-site .form-card .form-title { font-weight: 700; }
.fortis-site .site-footer h2 { font-size: 12px; }
.fortis-site .site-footer p, .fortis-site .footer-links a { font-size: 13px; }
.fortis-site .footer-bottom { font-size: 11px; }


/* Square brand mark in the sticky header; reserve space to prevent navigation shifts. */
.fortis-site .site-header .navbar-brand { position: relative; width: 135px; height: 40px; flex-shrink: 0; }
.fortis-site .site-header .brand-logo-full { transition: opacity 0.2s ease; }
.fortis-site .site-header .navbar-brand .brand-logo-mark { position: absolute; left: 0; top: 0; width: 40px; height: 40px; opacity: 0; visibility: hidden; transition: opacity 0.2s ease; }
.fortis-site .site-header.is-scrolled .brand-logo-full { opacity: 0; visibility: hidden; }
.fortis-site .site-header.is-scrolled .navbar-brand .brand-logo-mark { opacity: 1; visibility: visible; }

/* About values have their own surfaces without changing the home page. */
.fortis-site.page-about .value-card { padding: 30px; border: 1px solid #e0d7f6; border-radius: 16px; background: linear-gradient(135deg, #f0eaff, #f8f5ff); box-shadow: 0 6px 20px rgba(36, 27, 75, 0.035); }
.fortis-site.page-about .value-card .icon-box { width: 46px; height: 46px; border-radius: 13px; background: #e1d8ff; }
.fortis-site.page-about .value-card p { max-width: none; }
.fortis-site .rcm-service > div { min-width: 0; }

/* A static, responsive software list needs no animation control. */
.fortis-site .software-platform-list { padding-left: 0; margin-bottom: 0; list-style: none; }
.fortis-site .software-platform { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; min-height: 140px; padding: 20px 8px; border: 1px solid #dcd2f5; border-radius: 14px; background: rgba(255, 255, 255, 0.7); }
.fortis-site .software-platform .software-logo { width: 60px; height: 60px; border: 0; background: #fff; }
.fortis-site .software-platform .software-wordmark { white-space: normal; overflow-wrap: anywhere; text-align: center; }

/* Keep form notes and validation messages in the natural document flow. */
.fortis-site .form-card { height: auto; overflow: visible; }
.fortis-site .form-card .form-note, .fortis-site .form-card .form-status { font-size: 12px; line-height: 1.8; white-space: normal; overflow-wrap: anywhere; }
.fortis-site .form-card .form-note { max-width: none; }
.fortis-site .form-card .form-status { scroll-margin-top: 112px; }

@media (max-width: 767.98px) {
  .fortis-site .site-header .navbar-brand { width: 108px; }
  .fortis-site.page-about .value-card { padding: 24px; }
}

@media (min-width: 1200px) { .fortis-site .container { max-width: 1240px; } }
@media (min-width: 992px) {
  .fortis-site .home-challenges .col-lg-4 > .section-heading { position: sticky; top: 120px; }
  .fortis-site .legal-nav { position: sticky; top: 125px; }
}
@media (hover: hover) and (pointer: fine) {
  .fortis-site .service-card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(36, 27, 75, 0.08); border-color: #c7cbff; }
  .fortis-site .service-card:hover .service-photo img { transform: scale(1.045); }
  .fortis-site .hero-portrait:hover > img { transform: scale(1.02); }
  .fortis-site .number-card:hover, .fortis-site .rcm-service:hover, .fortis-site .value-card:hover { transform: translateY(-3px); box-shadow: none; border-color: #b2b7f5; }
  .fortis-site .number-card:hover .number { background: none; color: var(--fortis-primary); }
  .fortis-site .billing-step:hover { border-color: #b2b7f5; box-shadow: 0 14px 30px rgba(36, 27, 75, 0.05); transform: translateY(-4px); }
  .fortis-site .value-card:hover .icon-box { background: #e2e3ff; color: var(--fortis-primary); transform: translateY(-2px); }
  .fortis-site .mission-card:hover, .fortis-site .staffing-panel:hover { box-shadow: none; transform: translateY(-3px); }
  .fortis-site .pricing-intro:hover { box-shadow: none; transform: none; }
  .fortis-site .contact-option:hover { transform: translateX(3px); background: none; }
  .fortis-site .process-list li:hover .process-number { color: #fff; }
}

@media (max-width: 1199.98px) {
  .fortis-site .hero-layout { --bs-gutter-x: 3rem; }
  .fortis-site .hero-portrait > img { height: 440px; }
  .fortis-site .navbar-nav { gap: 4px; }
  .fortis-site .inner-hero-media { height: 360px; }
  .fortis-site .service-card-copy { padding: 24px; }
  .fortis-site .cta-panel { padding: 40px; }
}
@media (max-width: 991.98px) {
  .fortis-site .section-space { padding: 72px 0; }
  .fortis-site .hero { padding: 48px 0; }
  .fortis-site .hero-copy { max-width: none; }
  .fortis-site .hero h1 { max-width: 650px; font-size: 52px; }
  .fortis-site .hero .lead { max-width: 590px; }
  .fortis-site .hero-portrait > img { height: 440px; object-position: center 43%; }
  .fortis-site .inner-hero { padding: 42px 0 55px; }
  .fortis-site .inner-hero-copy { padding-bottom: 0; }
  .fortis-site .inner-hero-copy h1 { max-width: 23ch; font-size: 42px; }
  .fortis-site .inner-hero-copy > p { max-width: 630px; }
  .fortis-site .inner-hero-media { height: 350px; }
  .fortis-site .about-intro-copy { padding-left: 0; }
  .fortis-site .about-intro h2 { max-width: 26ch; }
  .fortis-site .section-heading { margin-bottom: 35px; }
  .fortis-site .service-card-copy { min-height: 260px; }
  .fortis-site .pricing-intro { padding-right: calc(var(--bs-gutter-x) * 0.5); }
  .fortis-site .legal-nav nav { flex-direction: row; flex-wrap: wrap; }
  .fortis-site .legal-nav nav a { text-align: left; }
}
@media (max-width: 767.98px) {
  .fortis-site #staffing { padding-top: 56px; }
  .fortis-site { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .fortis-site .site-header { backdrop-filter: none; }
  .fortis-site .container { --bs-gutter-x: 2.5rem; }
  .fortis-site .section-space { padding: 56px 0; }
  .fortis-site .navbar { min-height: 74px; padding: 12px 0; }
  .fortis-site .navbar > .container { display: flex; flex-wrap: nowrap; gap: 12px; }
  .fortis-site .site-header .navbar-brand { margin: 0; }
  .fortis-site .site-header .navbar-brand img { width: 108px; }
  .fortis-site .site-header .navbar-collapse { flex: 0 1 auto; margin-left: auto !important; }
  .fortis-site .site-header .navbar-collapse > .btn { padding: 11px 12px; font-size: 9px; min-height: 39px; border-radius: 6px; }
  .fortis-site .site-header .navbar-nav { display: flex !important; flex-direction: row; gap: 0; border-radius: 0; border-top: 1px solid #e2e7f0; background: #fff; padding-top: 6px; }
  .fortis-site .site-header .navbar-nav .nav-item { flex: 1 1 0; width: auto; }
  .fortis-site .site-header .navbar-nav .nav-link, .fortis-site .site-header .navbar-nav .nav-link.active { font-size: 10px; height: 50px; padding: 5px !important; gap: 4px; }
  .fortis-site .site-header .navbar-nav .nav-link.active { background: #eeedff; }
  .fortis-site .site-header .navbar-nav .nav-link.active::before { display: none; }
  .fortis-site .site-header .navbar-nav .mobile-nav-label { font-size: 9px; }
  .fortis-site .hero { padding: 34px 0 40px; }
  .fortis-site .hero-layout { --bs-gutter-x: 1.5rem; --bs-gutter-y: 2rem; }
  .fortis-site .hero-kicker { font-size: 9px; letter-spacing: 0.1em; margin-bottom: 19px; }
  .fortis-site .hero h1 { font-size: clamp(34px, 8.8vw, 48px); margin-bottom: 22px; }
  .fortis-site .hero .lead { font-size: 14px; line-height: 1.8; margin-bottom: 24px; }
  .fortis-site .hero-actions { gap: 10px !important; }
  .fortis-site .hero-actions .btn { min-height: 48px; font-size: 11px; }
  .fortis-site .hero-points { font-size: 9px; gap: 10px 15px; }
  .fortis-site .hero-portrait { border-radius: 10px; }
  .fortis-site .hero-portrait > img { height: 320px; }
  .fortis-site .trust-item { min-height: 62px; font-size: 9px; justify-content: flex-start; padding-right: 8px; }
  .fortis-site .trust-item i { font-size: 15px; margin-right: 7px; }
  .fortis-site .eyebrow { font-size: 9px; margin-bottom: 15px; }
  .fortis-site .section-heading h2, .fortis-site .display-5, .fortis-site .section-title { font-size: 29px; }
  .fortis-site .section-heading p { font-size: 13px; }
  .fortis-site .workflow-panel { padding: 26px; border-radius: 10px; }
  .fortis-site .workflow-panel h3 { font-size: 24px; }
  .fortis-site .workflow-list li { gap: 14px; }
  .fortis-site .workflow-list strong { font-size: 13px; }
  .fortis-site .workflow-list p { font-size: 11px; }
  .fortis-site .number-card { padding-bottom: 25px; }
  .fortis-site .number-card h3 { max-width: 300px; font-size: 18px; }
  .fortis-site .number-card p { font-size: 13px; }
  .fortis-site .service-photo { height: 220px; }
  .fortis-site .service-card-copy { min-height: 0; padding: 26px; }
  .fortis-site .service-card-copy h3 { font-size: 23px; }
  .fortis-site .service-card-copy .text-link { margin-top: 5px; }
  .fortis-site .value-card { padding: 8px 0 18px; }
  .fortis-site .value-card .icon-box { margin-bottom: 15px; }
  .fortis-site .value-card p { max-width: none; }
  .fortis-site .inner-hero { padding: 32px 0 42px; }
  .fortis-site .inner-hero-shell { --bs-gutter-y: 2rem; }
  .fortis-site .inner-hero-copy h1 { font-size: 33px; max-width: 22ch; }
  .fortis-site .inner-hero-copy > p { font-size: 13px; }
  .fortis-site .inner-hero-media { height: 270px; border-radius: 10px; }
  .fortis-site .inner-hero-media img { border-radius: 0; }
  .fortis-site .inner-hero-actions--chips { display: flex; flex-direction: column; }
  .fortis-site .inner-hero-points { display: flex; flex-direction: column; font-size: 10px; padding: 0; border: 0; }
  .fortis-site .about-intro h2 { font-size: 29px; }
  .fortis-site .mission-card, .fortis-site .mission-card.secondary { padding: 30px; }
  .fortis-site .mission-card h3 { font-size: 26px; }
  .fortis-site .process-list li { padding-left: 60px; }
  .fortis-site .process-list h3 { font-size: 17px; }
  .fortis-site .billing-step { padding: 26px; }
  .fortis-site .rcm-catalog { --bs-gutter-x: 1.5rem; }
  .fortis-site .rcm-service { gap: 14px; padding: 22px 18px; }
  .fortis-site .rcm-service h3 { font-size: 16px; }
  .fortis-site .staffing-photo { height: 215px; }
  .fortis-site .staffing-panel-copy { padding: 26px; }
  .fortis-site .specialty-cloud { gap: 9px; }
  .fortis-site .specialty-pill { font-size: 10px; padding: 11px 13px; }
  .fortis-site .form-card { padding: 25px 21px; border-radius: 10px; }
  .fortis-site .form-card .form-title, .fortis-site .form-card .h2 { font-size: 25px; }
  .fortis-site .form-control, .fortis-site .form-select { font-size: 16px; }
  .fortis-site .cta-panel { padding: 34px 27px; border-radius: 10px; }
  .fortis-site .cta-panel h2 { font-size: 28px; }
  .fortis-site .cta-panel p { font-size: 12px; }
  .fortis-site .site-footer { padding-top: 45px; }
  .fortis-site .footer-bottom { margin-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .fortis-site *, .fortis-site *::before, .fortis-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .fortis-site .hero-portrait:hover > img, .fortis-site .service-card:hover .service-photo img { transform: none; }
  .fortis-site .reveal { opacity: 1; transform: none; }
  .fortis-site .software-track { width: 100%; }
}
