/*
  CareCascade /business-review page (alternate homepage under test).
  _SimpleLayout.cshtml loads this file on that route only, in place of carecascade.css.
  public-shell.css still loads there. Apart from the same reduced-motion scroll rule this file has,
  it styles only the shared .cc- site shell and other pages; this page has its own header and footer.
  Brand values are the live carecascade.com computed styles: colors, Arial, heading treatment,
  button shapes and card radius. Layout and content are new.
*/

:root {
  --cc-navy: #0d2044;
  --cc-navy-deep: #0a1a38;
  --cc-ink: #102344;
  --cc-blue: #29709a;
  --cc-blue-deep: #205878;
  --cc-blue-em: #28779c;
  --cc-sky: #65b6e3;
  --cc-sky-soft: #a0d7f5;
  --cc-on-dark: #e0edf7;
  --cc-on-dark-2: #d4e9f9;
  --cc-bg-a: #edf5fa;
  --cc-bg-b: #f0f7fc;
  --cc-bg-c: #f4f8fa;
  --cc-bg-d: #f6f8fc;
  --cc-footer: #f0f5fb;
  --cc-line: #d8e2ee;
  --cc-line-strong: #c5d3e3;
  --cc-muted: #50647c;
  --cc-error: #b3361f;
  --cc-font: Arial, Helvetica, sans-serif;
  --cc-radius: 9px;
  --cc-radius-btn: 7px;
  --cc-radius-sky: 10px;
  --cc-shadow-soft: 0 1px 2px rgba(16, 35, 68, .05), 0 12px 32px -16px rgba(16, 35, 68, .24);
  --cc-shadow-lift: 0 2px 6px rgba(16, 35, 68, .06), 0 32px 72px -30px rgba(13, 32, 68, .45);
  --cc-wrap: 1200px;
  --cc-gutter: 30px;
  --cc-header-h: 72px;
}

/* Base */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--cc-ink); font-family: var(--cc-font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a { color: inherit; }
button, input, textarea { font-family: inherit; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: calc(var(--cc-header-h) + 12px); }
section[id] { scroll-margin-top: calc(var(--cc-header-h) + 1px); }
:focus-visible { outline: 3px solid var(--cc-sky); outline-offset: 2px; }

.br-wrap { width: min(var(--cc-wrap), 100%); margin: 0 auto; padding: 0 var(--cc-gutter); }
/* Shared layout markup: the skip link, the main element it targets, and the hidden class that
   lead-forms.js toggles on the request status messages. */
.skip-link { position: absolute; top: -60px; left: 12px; z-index: 100; padding: 10px 14px; border-radius: 6px; background: var(--cc-navy); color: #fff; font-weight: 700; text-decoration: none; }
.skip-link:focus { top: 12px; }
.br-main:focus { outline: none; }
.hidden { display: none !important; }
.br-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Type */

.br-eyebrow { margin: 0 0 16px; color: var(--cc-blue-em); font-size: 11px; font-weight: 750; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.br-dark .br-eyebrow { color: var(--cc-sky-soft); }
.br-h1 { margin: 0 0 24px; color: #fff; font-size: clamp(38px, calc(3.4vw + 10px), 58px); font-weight: 800; letter-spacing: -.055em; line-height: 1.02; }
.br-h1 em { display: block; margin-top: .08em; color: var(--cc-sky); font-style: normal; font-weight: 400; }
h2 { color: var(--cc-ink); font-size: clamp(30px, 3.4vw, 44px); font-weight: 700; letter-spacing: -.045em; line-height: 1.08; }
h2 em { color: var(--cc-blue-em); font-style: normal; font-weight: 400; }
.br-dark h2 { color: #fff; }
.br-dark h2 em { color: var(--cc-sky); }
.br-section-lead { max-width: 440px; margin: 18px 0 30px; color: var(--cc-muted); font-size: 17px; line-height: 1.6; }
.br-textlink { border-bottom: 1px solid rgba(41, 112, 154, .35); color: var(--cc-blue); font-weight: 700; text-decoration: none; transition: border-color .15s ease, color .15s ease; }
.br-textlink:hover { border-bottom-color: currentColor; color: var(--cc-blue-deep); }
.br-textlink--dark { border-bottom-color: rgba(101, 182, 227, .45); color: var(--cc-sky); }
.br-textlink--dark:hover { color: #fff; }

/* Buttons */

.br-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 13px 23px; border: 0; border-radius: var(--cc-radius-btn); font-size: 14px; font-weight: 650; line-height: 1.2; text-align: center; text-decoration: none; text-wrap: balance; cursor: pointer; transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.br-btn svg { width: 18px; height: 18px; flex: none; }
.br-btn:active { transform: translateY(1px); }
.br-btn:focus-visible { outline: 3px solid var(--cc-sky); outline-offset: 3px; }
.br-btn--primary { background: var(--cc-blue); color: #fff; box-shadow: 0 10px 22px -14px rgba(41, 112, 154, .95); }
.br-btn--primary:hover { background: var(--cc-blue-deep); }
.br-btn--sky { border-radius: var(--cc-radius-sky); background: var(--cc-sky); color: var(--cc-navy); font-weight: 800; box-shadow: 0 16px 34px -16px rgba(101, 182, 227, .9); }
.br-btn--sky:hover { background: #7cc3ea; }
.br-btn--lg { min-height: 54px; padding: 15px 24px; font-size: 15.5px; }
.br-btn--xl { min-height: 60px; padding: 18px 28px; font-size: 17px; }
.br-btn--block { width: 100%; }
.br-btn__arrow { display: inline-block; transition: transform .15s ease; }
.br-btn:hover .br-btn__arrow { transform: translateX(3px); }
.br-cta-note { margin-top: 12px; color: var(--cc-muted); font-size: 14px; line-height: 1.45; }

/* Header */

.br-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--cc-line); background: #fff; transition: box-shadow .2s ease; }
.br-header.is-scrolled { box-shadow: 0 10px 26px -18px rgba(16, 35, 68, .4); }
.br-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: var(--cc-header-h); }
.br-logo { display: inline-flex; flex: none; }
.br-logo img { width: 198px; height: auto; }
.br-header__actions { display: flex; align-items: center; gap: 26px; }
.br-call { display: inline-flex; align-items: center; gap: 8px; color: var(--cc-ink); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.br-call svg { width: 18px; height: 18px; flex: none; color: var(--cc-blue); }
.br-call__label { color: var(--cc-muted); font-weight: 400; }
.br-call:hover .br-call__label { color: var(--cc-ink); }
.br-header__cta { min-height: 44px; padding: 11px 20px; }

/* Rep follow-up ribbon */

.br-ribbon { border-bottom: 1px solid var(--cc-line); background: var(--cc-bg-a); }
.br-ribbon__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; padding-bottom: 12px; }
.br-ribbon__text { display: flex; align-items: center; gap: 12px; color: var(--cc-ink); font-size: 15px; font-weight: 700; line-height: 1.4; }
.br-ribbon__dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--cc-blue); box-shadow: 0 0 0 4px rgba(41, 112, 154, .18); }
.br-ribbon__cta { color: var(--cc-blue); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.br-ribbon__cta:hover { color: var(--cc-blue-deep); }

/* Hero */

.br-hero { position: relative; isolation: isolate; overflow: hidden; padding: 72px 0 48px; background: var(--cc-navy); color: var(--cc-on-dark); }
.br-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(760px 460px at 88% 10%, rgba(101, 182, 227, .22), transparent 62%), radial-gradient(700px 520px at -6% 110%, rgba(41, 112, 154, .5), transparent 62%), linear-gradient(180deg, #0d2044 0%, #0c1e40 100%); }
.br-hero__bg::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(160, 215, 245, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(160, 215, 245, .07) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 58% 72% at 80% 38%, #000 8%, transparent 74%); mask-image: radial-gradient(ellipse 58% 72% at 80% 38%, #000 8%, transparent 74%); }
.br-hero__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); align-items: center; gap: 64px; }
.br-hero__copy { min-width: 0; }
.br-hero__lead { max-width: 600px; margin: 0 0 32px; color: var(--cc-on-dark); font-size: 18px; line-height: 1.6; }
.br-hero__cta { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.br-keep { display: flex; align-items: center; gap: 9px; color: var(--cc-on-dark-2); font-size: 14.5px; line-height: 1.4; }
.br-keep svg { width: 18px; height: 18px; flex: none; color: var(--cc-sky); }

.br-proof { position: relative; padding: 24px; border: 1px solid rgba(160, 215, 245, .2); border-radius: 16px; background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)); box-shadow: 0 44px 80px -44px rgba(0, 0, 0, .6); }
.br-proof__title { margin: 0 0 14px; color: var(--cc-sky-soft); font-size: 11px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.br-tiles { display: grid; gap: 12px; }
.br-tile { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 22px; padding: 22px 24px; border-radius: var(--cc-radius); background: #fff; color: var(--cc-ink); }
.br-tile__num { color: var(--cc-navy); font-size: 66px; font-weight: 800; letter-spacing: -.06em; line-height: .9; white-space: nowrap; }
.br-tile__num span { display: inline-block; margin-left: .04em; color: var(--cc-blue); font-size: .52em; letter-spacing: 0; transform: translateY(-.68em); }
.br-tile__body { display: grid; gap: 5px; }
.br-tile__label { font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; }
.br-tile__src { color: var(--cc-muted); font-size: 13px; line-height: 1.4; }
.br-proof__caption { margin-top: 14px; color: var(--cc-on-dark-2); font-size: 13.5px; line-height: 1.5; }

/* Experience behind your review: operating scale at the base of the hero */

.br-scale { display: grid; grid-template-columns: minmax(0, .74fr) minmax(0, 2.26fr); align-items: center; gap: 12px 48px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(160, 215, 245, .18); }
.br-scale__title { color: var(--cc-sky-soft); font-size: 11px; font-weight: 750; letter-spacing: .11em; line-height: 1.5; text-transform: uppercase; }
.br-scale__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.br-stat { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 2px 24px; border-left: 1px solid rgba(160, 215, 245, .18); }
.br-stat__num { color: #fff; font-size: 42px; font-weight: 800; letter-spacing: -.05em; line-height: 1; white-space: nowrap; }
.br-stat__num span { color: var(--cc-sky); }
.br-stat__txt { color: var(--cc-on-dark-2); font-size: 14.5px; line-height: 1.4; }
.br-scale__src { grid-column: 2; padding-left: 25px; color: rgba(212, 233, 249, .66); font-size: 12.5px; line-height: 1.5; }

/* Sections */

.br-section { padding: 108px 0; }
.br-section-head { max-width: 720px; margin: 0 0 52px; }
.br-section-head--center { margin-right: auto; margin-left: auto; text-align: center; }

/* What your review covers */

.br-outcomes { border-bottom: 1px solid var(--cc-line); background: var(--cc-bg-d); }
.br-outcomes__grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.54fr); align-items: start; gap: 64px; }
.br-outcomes__head { position: sticky; top: calc(var(--cc-header-h) + 48px); }
.br-outcome-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.br-outcome { display: flex; flex-direction: column; padding: 28px 28px 26px; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: #fff; box-shadow: 0 1px 2px rgba(16, 35, 68, .04); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.br-outcome:hover { border-color: #c3d5e7; box-shadow: var(--cc-shadow-soft); transform: translateY(-2px); }
.br-outcome__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.br-icon-tile { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 11px; background: var(--cc-bg-a); color: var(--cc-blue); }
.br-icon-tile svg { width: 22px; height: 22px; }
.br-outcome__num { color: #7d93aa; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.br-outcome h3 { margin: 0 0 10px; font-size: 22px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2; }
.br-outcome__text { margin: 0 0 24px; color: var(--cc-muted); font-size: 16px; line-height: 1.6; }
/* Named services under each outcome (third Astra pass). Hidden when the Named services toggle is off. */
.br-work { margin: 0 0 24px; }
.br-work__label { margin: 0 0 10px; color: var(--cc-blue-em); font-size: 11px; font-weight: 750; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.br-work__list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.br-work__list li { position: relative; padding-left: 17px; color: var(--cc-ink); font-size: 15px; line-height: 1.45; }
.br-work__list li::before { content: ""; position: absolute; top: .5em; left: 1px; width: 6px; height: 6px; border-radius: 2px; background: var(--cc-sky); }
.br-work__more { margin: 12px 0 0; font-size: 14px; }
.br-outcome__proof { display: grid; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--cc-line); }
.br-result { display: grid; gap: 3px; color: var(--cc-ink); font-size: 15px; line-height: 1.45; }
.br-result__fig { color: var(--cc-navy); font-size: 36px; font-weight: 800; letter-spacing: -.05em; line-height: 1.05; }
.br-result__fig small { margin-right: 6px; color: var(--cc-blue); font-size: 14px; font-weight: 700; letter-spacing: -.01em; }
.br-result__txt { font-weight: 700; }
.br-result__src { color: var(--cc-muted); font-size: 12.5px; }
.br-result--line { padding-top: 14px; border-top: 1px dashed var(--cc-line); font-size: 14px; }
.br-result--line .br-result__txt { font-weight: 400; }
.br-result__tag { justify-self: start; margin-bottom: 4px; padding: 3px 7px; border-radius: 4px; background: var(--cc-bg-a); color: var(--cc-blue-em); font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.br-result--link { font-size: 14px; }
.br-result--viz { grid-template-columns: minmax(0, 1fr) auto; column-gap: 18px; }
.br-result--viz > span { grid-column: 1; }
.br-viz { grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 108px; height: 68px; color: var(--cc-blue); }
.br-viz__gain { fill: var(--cc-sky); }
.br-viz__cut { fill: rgba(101, 182, 227, .14); stroke: var(--cc-sky); stroke-width: 1.5; stroke-dasharray: 3 2.5; }

/* Powered by Buffaly */

.br-buffaly { position: relative; isolation: isolate; overflow: hidden; background: var(--cc-navy); color: var(--cc-on-dark); }
.br-buffaly__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(640px 420px at 100% 0%, rgba(101, 182, 227, .17), transparent 60%), radial-gradient(560px 440px at 0% 100%, rgba(41, 112, 154, .34), transparent 60%), linear-gradient(180deg, var(--cc-navy) 0%, var(--cc-navy-deep) 100%); }
.br-buffaly__grid { display: grid; grid-template-areas: "copy pillars" "more pillars"; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); grid-template-rows: auto auto; gap: 0 72px; }
.br-buffaly__copy { grid-area: copy; align-self: end; }
.br-buffaly__more { grid-area: more; align-self: start; margin-top: 28px; }
.br-label { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 22px; padding: 6px 13px 6px 7px; border: 1px solid rgba(160, 215, 245, .3); border-radius: 999px; color: var(--cc-sky-soft); font-size: 11px; font-weight: 750; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.br-label__mark { width: 16px; height: 16px; border-radius: 5px; background: linear-gradient(135deg, var(--cc-sky), var(--cc-blue)); }
.br-buffaly__intro { max-width: 520px; margin: 22px 0 0; font-size: 18px; line-height: 1.62; }
.br-pillars { display: grid; grid-area: pillars; align-self: center; gap: 14px; margin: 0; padding: 0; list-style: none; }
.br-pillar { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 20px; padding: 22px 24px; border: 1px solid rgba(160, 215, 245, .16); border-radius: 12px; background: rgba(255, 255, 255, .04); }
.br-pillar p { color: var(--cc-on-dark-2); font-size: 15.5px; line-height: 1.55; }
.br-pillar strong { display: block; color: #fff; font-size: 18px; letter-spacing: -.015em; line-height: 1.35; }
.br-pillar__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: rgba(101, 182, 227, .14); color: var(--cc-sky); }
.br-pillar__icon svg { width: 24px; height: 24px; }
.br-pillar--feature { grid-template-columns: auto minmax(0, 1fr); gap: 26px; padding: 26px; border-color: rgba(101, 182, 227, .42); background: linear-gradient(135deg, rgba(101, 182, 227, .18), rgba(41, 112, 154, .08)); }
.br-pillar .br-pillar__fig { min-width: 126px; color: #fff; font-size: 58px; font-weight: 800; letter-spacing: -.06em; line-height: .9; }
.br-pillar__fig small { display: block; margin-bottom: 8px; color: var(--cc-sky-soft); font-size: 11px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.br-pillar__more { display: inline-block; margin-top: 8px; font-size: 14px; }

/* What happens next */

.br-meeting { background: #fff; }
.br-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.br-step { position: relative; padding: 30px 28px 28px; border: 1px solid var(--cc-line); border-radius: var(--cc-radius); background: linear-gradient(180deg, #fff 0%, var(--cc-bg-d) 100%); }
.br-step:not(:last-child)::after { content: ""; position: absolute; top: 51px; right: -23px; width: 24px; height: 2px; background: var(--cc-sky); }
.br-step__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.br-step__num { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: var(--cc-navy); color: #fff; font-size: 17px; font-weight: 800; }
.br-step__meta { color: var(--cc-blue-em); font-size: 11px; font-weight: 750; letter-spacing: .1em; line-height: 1.3; text-align: right; text-transform: uppercase; }
.br-step h3 { margin: 0 0 10px; font-size: 21px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.br-step p { color: var(--cc-muted); font-size: 15.5px; line-height: 1.6; }
.br-promise { max-width: 900px; margin: 64px auto 0; text-align: center; }
.br-promise p { color: var(--cc-ink); font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; letter-spacing: -.035em; line-height: 1.25; text-wrap: balance; }
.br-promise em { color: var(--cc-blue-em); font-style: normal; font-weight: 400; }
.br-quote { position: relative; max-width: 940px; margin: 52px auto 0; padding: 44px 56px 40px; border-radius: 14px; background: var(--cc-bg-a); }
.br-quote::before { content: "\201C"; position: absolute; top: 8px; left: 24px; color: rgba(41, 112, 154, .2); font-size: 110px; font-weight: 700; line-height: 1; }
.br-quote blockquote p { position: relative; color: var(--cc-ink); font-size: 21px; letter-spacing: -.012em; line-height: 1.55; }
.br-quote mark { background: none; color: var(--cc-blue-em); font-weight: 700; }
.br-quote figcaption { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.br-avatar { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 50%; background: var(--cc-navy); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.br-quote__who { display: grid; line-height: 1.35; }
.br-quote__who strong { font-size: 15px; }
.br-quote__who span { color: var(--cc-muted); font-size: 13.5px; }

/* Review request (#book) */

.br-book { position: relative; border-top: 1px solid var(--cc-line); background: var(--cc-bg-a); }
.br-book__grid { display: grid; grid-template-areas: "head card" "details card"; grid-template-columns: minmax(0, .9fr) minmax(0, 1.14fr); grid-template-rows: auto 1fr; align-items: start; gap: 0 72px; }
.br-book__head { grid-area: head; padding-top: 8px; }
.br-book__card { grid-area: card; }
.br-book__details { grid-area: details; padding-top: 30px; }
.br-book__lead { margin: 14px 0 0; }
.br-checks { display: grid; gap: 14px; margin: 0 0 28px; padding: 0; list-style: none; }
.br-checks li { position: relative; padding-left: 36px; font-size: 16px; line-height: 1.5; }
.br-checks li::before { content: ""; position: absolute; top: 0; left: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--cc-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.br-book__call { margin-top: 20px; color: var(--cc-muted); font-size: 15px; }
.br-book__call a { color: var(--cc-blue); font-weight: 700; text-decoration: none; }
.br-book__call a:hover { color: var(--cc-blue-deep); }

/* Request form card */

.br-flow { overflow: hidden; border: 1px solid #cfdeec; border-radius: 14px; background: #fff; box-shadow: var(--cc-shadow-lift); scroll-margin-top: calc(var(--cc-header-h) + 16px); }
.br-form { padding: 26px 28px 28px; }
.br-panel { animation: br-in .28s ease both; }
@keyframes br-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.br-panel__title { font-size: 24px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2; outline: none; }
.br-panel__sub { margin: 6px 0 22px; color: var(--cc-muted); font-size: 15px; line-height: 1.5; }
.br-field { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.br-field label, .br-field legend { display: block; margin: 0 0 7px; padding: 0; color: var(--cc-ink); font-size: 14px; font-weight: 700; line-height: 1.35; }
.br-opt { margin-left: 3px; color: var(--cc-muted); font-size: 13px; font-weight: 400; }
.br-input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--cc-line-strong); border-radius: 8px; background: #fff; color: var(--cc-ink); font-size: 16px; line-height: 1.4; -webkit-appearance: none; appearance: none; transition: border-color .15s ease, box-shadow .15s ease; }
.br-input::placeholder { color: #8193a7; }
.br-input:hover { border-color: #a9bed3; }
.br-input:focus { border-color: var(--cc-blue); outline: none; box-shadow: 0 0 0 4px rgba(101, 182, 227, .28); }
.br-input:disabled { background: var(--cc-bg-c); color: #93a3b5; }
textarea.br-input { min-height: 74px; resize: vertical; }
.br-input[aria-invalid="true"] { border-color: var(--cc-error); box-shadow: 0 0 0 3px rgba(179, 54, 31, .12); }
.br-field__error { display: none; margin-top: 6px; color: var(--cc-error); font-size: 13px; font-weight: 700; }
.br-field.is-invalid .br-field__error { display: block; }
.br-field__hint { margin-top: 6px; color: var(--cc-muted); font-size: 12.5px; }
.br-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.br-field .br-check { display: inline-flex; align-items: center; gap: 9px; margin: 10px 0 0; color: var(--cc-muted); font-size: 14px; font-weight: 400; cursor: pointer; }
.br-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--cc-blue); }
.br-legend-hint { display: block; margin-top: 2px; color: var(--cc-muted); font-size: 13px; font-weight: 400; }
.br-chips__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.br-chip { position: relative; display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 12px 36px 12px 14px; border: 1.5px solid var(--cc-line-strong); border-radius: 10px; background: #fff; color: var(--cc-ink); font-size: 14px; font-weight: 700; line-height: 1.25; text-align: left; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.br-chip svg { width: 20px; height: 20px; flex: none; color: var(--cc-blue); }
.br-chip:hover { border-color: var(--cc-blue); }
.br-chip::after { content: ""; position: absolute; top: 50%; right: 12px; width: 16px; height: 16px; margin-top: -8px; border: 1.5px solid var(--cc-line-strong); border-radius: 50%; background: #fff; }
.br-chip[aria-pressed="true"] { border-color: var(--cc-blue); background: var(--cc-bg-a); box-shadow: inset 0 0 0 1px var(--cc-blue); }
.br-chip[aria-pressed="true"]::after { border-color: var(--cc-blue); background: var(--cc-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.br-actions { margin-top: 22px; }
.br-fine { margin-top: 14px; color: var(--cc-muted); font-size: 12.5px; line-height: 1.5; }
.br-fine--center { text-align: center; }
.br-fine a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.br-fine a:hover { color: var(--cc-ink); }

/* reCAPTCHA v3 protects the request form. Google allows hiding its corner badge only while its
   disclosure stays in the user flow, so keep the line under the submit button with this rule. The
   badge is hidden because the fixed mobile bar would otherwise cover it. */
.grecaptcha-badge { visibility: hidden; }

/* Confirmation */

.br-done__icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 18px; border-radius: 50%; background: var(--cc-bg-a); color: var(--cc-blue); box-shadow: 0 0 0 8px rgba(101, 182, 227, .14); }
.br-done__icon svg { width: 28px; height: 28px; }
.br-done__lead { margin: 8px 0 22px; color: var(--cc-ink); font-size: 17px; line-height: 1.5; }
.br-done__list { display: grid; gap: 12px; margin: 0 0 24px; padding: 18px; border-radius: 10px; background: var(--cc-bg-c); list-style: none; }
.br-done__list li { display: flex; gap: 12px; font-size: 14.5px; line-height: 1.45; }
.br-done__list svg { width: 18px; height: 18px; flex: none; margin-top: 1px; color: var(--cc-blue); }

/* Footer */

.br-footer { padding: 44px 0 40px; border-top: 1px solid var(--cc-line); background: var(--cc-footer); }
.br-footer__inner { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.br-footer__brand img { width: 164px; height: auto; margin-bottom: 10px; }
.br-footer__brand p, .br-footer__meta p { color: var(--cc-muted); font-size: 13.5px; line-height: 1.5; }
.br-footer__meta { display: grid; justify-items: end; gap: 8px; text-align: right; }
.br-footer__meta nav { display: flex; gap: 18px; }
.br-footer__meta a { color: var(--cc-ink); font-size: 13.5px; font-weight: 700; text-decoration: none; }
.br-footer__meta a:hover { color: var(--cc-blue); }

/* Sticky mobile request bar */

.br-sticky { position: fixed; right: 0; bottom: 0; left: 0; z-index: 45; display: none; align-items: center; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--cc-line); background: rgba(255, 255, 255, .97); box-shadow: 0 -14px 30px -20px rgba(16, 35, 68, .45); transform: translateY(110%); transition: transform .25s ease; }
.br-sticky.is-visible { transform: none; }
.br-sticky .br-btn { flex: 1 1 auto; }
.br-sticky__call { display: grid; place-items: center; width: 52px; height: 52px; flex: none; border: 1px solid var(--cc-line-strong); border-radius: var(--cc-radius-btn); color: var(--cc-blue); }
.br-sticky__call svg { width: 22px; height: 22px; }

/* Responsive */

@media (max-width: 1100px) {
  .br-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 44px; }
  .br-tile { gap: 4px 18px; padding: 20px; }
  .br-tile__num { font-size: 58px; }
  .br-scale { grid-template-columns: 1fr; }
  .br-scale__src { grid-column: auto; padding-left: 0; }
  .br-stat:first-child { padding-left: 0; border-left: 0; }
  .br-outcomes__grid { grid-template-columns: 1fr; gap: 40px; }
  .br-outcomes__head { position: static; max-width: 640px; }
  .br-buffaly__grid { column-gap: 48px; }
  .br-book__grid { gap: 0 44px; }
}

/* Short laptop screens (1366 x 768 leaves about 657px): keep the hero CTA and its promise above the fold. */
@media (min-width: 900px) and (max-height: 780px) {
  .br-hero { padding-top: 44px; padding-bottom: 40px; }
  .br-scale { margin-top: 40px; }
  .br-hero__lead { margin-bottom: 26px; }
}

@media (max-width: 899px) {
  :root { --cc-gutter: 20px; --cc-header-h: 64px; }
  .br-header { position: relative; }
  /* The header scrolls away on small screens, so anchors no longer need a header offset. */
  [id] { scroll-margin-top: 12px; }
  section[id] { scroll-margin-top: 0; }
  .br-flow { scroll-margin-top: 16px; }
  .br-header__cta, .br-call__label { display: none; }
  /* Only the number shows here, so give the tap-to-call link a full-size touch target. */
  .br-call { min-height: 44px; }
  .br-logo img { width: 158px; }
  .br-hero { padding: 40px 0 36px; }
  .br-hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .br-hero__lead { margin-bottom: 26px; font-size: 17px; }
  .br-hero__cta { align-items: stretch; }
  .br-hero__cta .br-btn { width: 100%; }
  .br-btn--xl { padding: 17px 18px; font-size: 16px; }
  .br-proof { padding: 18px; border-radius: 14px; }
  .br-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .br-tile { grid-template-columns: 1fr; align-items: start; align-content: start; gap: 8px; padding: 18px; }
  .br-tile__num { font-size: 52px; }
  .br-scale { margin-top: 40px; padding-top: 24px; }
  .br-stat { padding: 2px 16px; }
  .br-stat__num { font-size: clamp(26px, 5vw, 36px); }
  .br-stat__txt { font-size: 13.5px; }
  .br-section { padding: 72px 0; }
  .br-outcome-list { grid-template-columns: 1fr; }
  .br-buffaly__grid { grid-template-areas: "copy" "pillars" "more"; grid-template-columns: 1fr; gap: 32px; }
  .br-buffaly__more { margin-top: 0; }
  .br-steps { grid-template-columns: 1fr; gap: 16px; }
  .br-step:not(:last-child)::after { top: auto; right: auto; bottom: -17px; left: 49px; width: 2px; height: 18px; }
  .br-promise { margin-top: 48px; }
  .br-quote { margin-top: 40px; padding: 34px 24px 28px; }
  .br-quote::before { top: 0; left: 12px; font-size: 80px; }
  .br-quote blockquote p { font-size: 18px; }
  .br-book__grid { grid-template-areas: "head" "card" "details"; grid-template-columns: 1fr; grid-template-rows: auto; gap: 0; }
  .br-book__head { margin-bottom: 24px; }
  .br-form { padding: 22px 20px 24px; }
  .br-sticky { display: flex; }
  .br-footer { padding-bottom: 100px; }
  .br-footer__meta { justify-items: start; text-align: left; }
}

@media (max-width: 520px) {
  .br-ribbon__inner { flex-direction: column; align-items: flex-start; gap: 6px; }
  .br-hero { padding-top: 28px; }
  .br-h1 { margin-bottom: 18px; }
  .br-hero__lead { margin-bottom: 22px; font-size: 16px; }
  .br-proof { padding: 14px; }
  .br-proof__title { margin-bottom: 10px; }
  .br-tile { padding: 16px 14px; }
  .br-tile__num { font-size: 44px; }
  .br-tile__label { font-size: 14.5px; }
  .br-tile__src { font-size: 12px; }
  .br-outcome { padding: 24px 22px 22px; }
  .br-viz { width: 88px; height: 55px; }
  .br-scale__stats { grid-template-columns: 1fr; }
  .br-stat { display: flex; align-items: baseline; gap: 14px; padding: 11px 0; border-top: 1px solid rgba(160, 215, 245, .12); border-left: 0; }
  .br-stat:first-child { padding-top: 4px; border-top: 0; }
  .br-stat__num { min-width: 140px; font-size: 28px; }
  .br-row--contact { grid-template-columns: 1fr; gap: 0; }
  .br-chips__grid { grid-template-columns: 1fr; }
  .br-chip { min-height: 52px; }
  .br-pillar { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 18px; }
  .br-pillar__icon { width: 44px; height: 44px; }
  .br-pillar--feature { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 400px) {
  .br-hero__cta .br-btn__arrow { display: none; }
}

@media (max-width: 360px) {
  .br-row { grid-template-columns: 1fr; gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Request error message from lead-forms.js, in the same error color as the field messages. */

.br-alert { margin: 18px 0 0; padding: 12px 14px; border: 1px solid var(--cc-error); border-radius: var(--cc-radius-btn); background: var(--cc-bg-c); color: var(--cc-error); font-size: 14px; font-weight: 700; line-height: 1.45; }
