    :root {
      --navy: #194e80;
      --navy-deep: #113455;
      --navy-dark: #0a2138;
      --teal: #40c3d7;
      --green: #7bae7f;
      --text: #18191b;
      --muted: #566677;
      --line: #d9e3ec;
      --bg: #f4f7fa;
      --card: #ffffff;
      --soft: #eef7fb;
      --radius-xl: 36px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --shadow: 0 20px 55px rgba(17, 52, 85, 0.12);
      --shadow-soft: 0 12px 30px rgba(17, 52, 85, 0.08);
      --max: 1180px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--text);
      background: var(--bg);
      line-height: 1.58;
    }
    img { max-width: 100%; display: block; }
    a { color: inherit; text-decoration: none; }
    .wrap { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }

    .top-note {
      background: #0f2f4d;
      color: #d7f5fb;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-align: center;
      padding: 10px 16px;
    }
    .topbar {
      position: sticky;
      top: 0;
      z-index: 30;
      backdrop-filter: blur(14px);
      background: rgba(10, 33, 56, 0.84);
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .topbar-inner {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .brand img { width: 66px; height: auto; }
    .brand-copy strong {
      display: block;
      color: #fff;
      font-size: 16px;
    }
    .brand-copy span {
      display: block;
      color: rgba(255,255,255,0.72);
      font-size: 12px;
    }
    .top-cta {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 0 20px;
      border-radius: 999px;
      font-weight: 800;
      font-size: 14px;
      transition: transform 0.15s ease, opacity 0.15s ease, background 0.15s ease;
      text-align: center;
    }
    .btn:hover { transform: translateY(-1px); }
    .btn-primary {
      background: #fff;
      color: var(--navy-deep);
      box-shadow: 0 10px 24px rgba(255,255,255,0.18);
    }
    .btn-secondary {
      background: rgba(255,255,255,0.1);
      color: #fff;
      border: 1px solid rgba(255,255,255,0.16);
    }
    .btn-ghost {
      background: transparent;
      color: var(--navy);
      border: 1px solid var(--line);
    }

    .hero {
      position: relative;
      overflow: hidden;
      color: #fff;
      background:
        radial-gradient(circle at top right, rgba(64,195,215,0.28), transparent 32%),
        radial-gradient(circle at left center, rgba(123,174,127,0.16), transparent 30%),
        linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 55%, var(--navy-dark) 100%);
      padding: 42px 0 62px;
    }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.06fr 0.94fr;
      gap: 30px;
      align-items: center;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.14);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #d7f5fb;
    }
    h1 {
      margin: 0 0 18px;
      max-width: 720px;
      font-size: clamp(42px, 6vw, 78px);
      line-height: 0.95;
      letter-spacing: -0.05em;
    }
    .lead {
      margin: 0 0 22px;
      max-width: 690px;
      font-size: clamp(18px, 2.2vw, 22px);
      color: rgba(255,255,255,0.84);
    }
    .hero-proof {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-bottom: 28px;
    }
    .hero-proof span {
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.12);
      color: #edfafe;
      font-size: 13px;
      font-weight: 700;
    }
    .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }
    .hero-side {
      display: grid;
      grid-template-columns: 0.95fr 1.05fr;
      gap: 16px;
      align-items: stretch;
    }
    .portrait-card,
    .office-card,
    .offer-card {
      border-radius: 28px;
      overflow: hidden;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.08);
    }
    .portrait-card { min-height: 470px; }
    .portrait-card img,
    .office-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .side-stack {
      display: grid;
      gap: 16px;
    }
    .office-card { min-height: 220px; }
    .offer-card {
      padding: 22px;
      color: #fff;
      background: rgba(255,255,255,0.1);
    }
    .offer-card .label,
    .section-label {
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .offer-card .label { color: #9ee7f2; margin-bottom: 10px; }
    .offer-card h3 {
      margin: 0 0 10px;
      font-size: 28px;
      line-height: 1.02;
      letter-spacing: -0.04em;
    }
    .offer-card p {
      margin: 0 0 16px;
      color: rgba(255,255,255,0.82);
    }
    .offer-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }
    .offer-list li {
      position: relative;
      padding-left: 22px;
      color: #edfafe;
      font-size: 14px;
    }
    .offer-list li::before {
      content: "•";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--teal);
      font-size: 20px;
      line-height: 1;
    }

    section { padding: 78px 0; }
    .section-head {
      max-width: 760px;
      margin-bottom: 28px;
    }
    .section-label {
      color: var(--teal);
      margin-bottom: 10px;
    }
    .section-head h2 {
      margin: 0 0 12px;
      font-size: clamp(32px, 4vw, 54px);
      line-height: 1.02;
      letter-spacing: -0.045em;
    }
    .section-head p {
      margin: 0;
      color: var(--muted);
      font-size: 18px;
    }

    .card-grid-4,
    .card-grid-3,
    .card-grid-2,
    .faq-grid,
    .cta-info {
      display: grid;
      gap: 18px;
    }
    .card-grid-4 { grid-template-columns: repeat(4, 1fr); }
    .card-grid-3 { grid-template-columns: repeat(3, 1fr); }
    .card-grid-2,
    .faq-grid { grid-template-columns: repeat(2, 1fr); }
    .cta-info { grid-template-columns: repeat(3, 1fr); }

    .card {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      padding: 24px;
      box-shadow: var(--shadow-soft);
    }
    .stat-card strong {
      display: block;
      font-size: 34px;
      line-height: 1;
      color: var(--navy);
      margin-bottom: 8px;
    }
    .stat-card span {
      display: block;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 10px;
    }
    .stat-card p,
    .path-card p,
    .step-card p,
    .faq-card p,
    .location-copy p,
    .comparison-copy p,
    .quote-copy p {
      margin: 0;
      color: var(--muted);
    }

    .comparison {
      background: linear-gradient(180deg, #f8fbfd 0%, #eef4f8 100%);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .comparison-grid {
      display: grid;
      grid-template-columns: 0.92fr 1.08fr;
      gap: 22px;
      align-items: start;
    }
    .comparison-copy {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 28px;
      padding: 28px;
      box-shadow: var(--shadow-soft);
    }
    .comparison-copy ul {
      margin: 18px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 12px;
    }
    .comparison-copy li {
      position: relative;
      padding-left: 26px;
      color: var(--text);
    }
    .comparison-copy li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--green);
      font-weight: 900;
    }
    .comparison-table {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 28px;
      overflow: hidden;
      box-shadow: var(--shadow-soft);
    }
    .comparison-table table {
      width: 100%;
      border-collapse: collapse;
    }
    .comparison-table th,
    .comparison-table td {
      padding: 18px 20px;
      vertical-align: top;
      border-bottom: 1px solid var(--line);
    }
    .comparison-table tr:last-child td { border-bottom: none; }
    .comparison-table thead th {
      background: #f4f8fb;
      color: var(--navy);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-align: left;
    }
    .comparison-table td:first-child {
      width: 34%;
      font-weight: 800;
      color: var(--text);
    }
    .comparison-table td:nth-child(2) {
      color: var(--navy);
      font-weight: 700;
      background: #fbfdff;
    }
    .comparison-table td:nth-child(3) {
      color: var(--muted);
    }

    .path-card .tag,
    .faq-card .tag {
      display: inline-block;
      margin-bottom: 12px;
      padding: 6px 10px;
      border-radius: 999px;
      background: #e8f7fb;
      color: var(--navy);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    .path-card h3,
    .step-card h3,
    .location-copy h3,
    .faq-card h3,
    .quote-copy h3 {
      margin: 0 0 10px;
      font-size: 26px;
      line-height: 1.06;
      letter-spacing: -0.03em;
    }
    .path-card ul,
    .step-card ul {
      margin: 16px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }
    .path-card li,
    .step-card li {
      position: relative;
      padding-left: 24px;
      color: var(--text);
    }
    .path-card li::before,
    .step-card li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--green);
      font-weight: 900;
    }

    .credentials {
      background: linear-gradient(180deg, #f8fbfd 0%, #eff5f9 100%);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .badge-row {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 14px;
      align-items: center;
    }
    .badge-box {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 18px;
      min-height: 118px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: var(--shadow-soft);
    }
    .badge-box img {
      max-width: 100%;
      max-height: 76px;
      object-fit: contain;
    }

    .quote-grid,
    .location-grid {
      display: grid;
      grid-template-columns: 1.02fr 0.98fr;
      gap: 22px;
      align-items: stretch;
    }
    .quote-copy,
    .quote-photo,
    .location-card,
    .location-copy {
      border-radius: 30px;
      overflow: hidden;
      box-shadow: var(--shadow);
    }
    .quote-copy {
      background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
      padding: 34px;
      color: #fff;
    }
    .quote-copy p { color: rgba(255,255,255,0.82); }
    .quote-list {
      display: grid;
      gap: 18px;
      margin-top: 24px;
    }
    .quote-item {
      padding: 18px 20px;
      border-radius: 22px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.1);
    }
    .quote-item blockquote {
      margin: 0 0 10px;
      font-size: 21px;
      line-height: 1.24;
      letter-spacing: -0.02em;
      font-weight: 800;
    }
    .quote-item span {
      font-size: 13px;
      font-weight: 700;
      color: rgba(255,255,255,0.76);
    }
    .quote-photo img,
    .location-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .location-copy {
      background: #fff;
      border: 1px solid var(--line);
      padding: 30px;
      box-shadow: var(--shadow-soft);
    }
    .location-meta {
      display: grid;
      gap: 14px;
      margin: 20px 0 24px;
    }
    .location-meta div {
      padding: 14px 16px;
      border-radius: 18px;
      background: #f5f9fc;
      border: 1px solid var(--line);
    }
    .location-meta strong,
    .cta-info strong {
      display: block;
      margin-bottom: 4px;
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .service-areas {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 14px;
    }
    .service-areas span {
      padding: 8px 12px;
      border-radius: 999px;
      background: var(--soft);
      border: 1px solid var(--line);
      color: var(--navy);
      font-size: 13px;
      font-weight: 700;
    }

    .faq-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      padding: 24px;
      box-shadow: var(--shadow-soft);
    }

    .cta-section {
      padding-top: 0;
    }
    .cta-box {
      background: linear-gradient(135deg, #173b61 0%, #1a9aaa 100%);
      color: #fff;
      border-radius: 34px;
      padding: 36px;
      box-shadow: var(--shadow);
    }
    .cta-box h2 {
      margin: 0 0 10px;
      font-size: clamp(32px, 4vw, 52px);
      line-height: 1.02;
      letter-spacing: -0.04em;
    }
    .cta-box p {
      margin: 0 0 22px;
      max-width: 720px;
      color: rgba(255,255,255,0.82);
      font-size: 18px;
    }
    .cta-info .info-card {
      padding: 16px 18px;
      border-radius: 22px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.16);
    }
    .cta-info strong { color: rgba(255,255,255,0.72); }

    footer {
      padding: 28px 0 50px;
      text-align: center;
      color: #6e7f90;
      font-size: 13px;
    }

    @media (max-width: 1080px) {
      .hero-grid,
      .comparison-grid,
      .quote-grid,
      .location-grid,
      .card-grid-4,
      .card-grid-3,
      .card-grid-2,
      .faq-grid,
      .badge-row,
      .cta-info {
        grid-template-columns: 1fr 1fr;
      }
      .hero-side { grid-template-columns: 1fr; }
      .portrait-card { min-height: 340px; }
      .office-card { min-height: 210px; }
      .comparison-table { overflow-x: auto; }
    }
    @media (max-width: 760px) {
      .topbar-inner,
      .hero-grid,
      .comparison-grid,
      .quote-grid,
      .location-grid,
      .card-grid-4,
      .card-grid-3,
      .card-grid-2,
      .faq-grid,
      .badge-row,
      .cta-info {
        grid-template-columns: 1fr;
      }
      .topbar-inner {
        padding: 12px 0;
      }
      .top-cta,
      .hero-actions {
        width: 100%;
      }
      .btn {
        width: 100%;
      }
      .hero { padding: 28px 0 44px; }
      section { padding: 58px 0; }
      .brand img { width: 56px; }
      .quote-photo,
      .location-card { min-height: 260px; }
      .comparison-table th,
      .comparison-table td { padding: 16px; }
    }
  /* === RICK Reach: lead capture === */
  .lead-section { padding: 56px 0; background: linear-gradient(180deg,#eef7fb 0%,#f4f7fa 100%); }
  .lead-box { display:grid; grid-template-columns: 1fr 1fr; gap:40px; align-items:center; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-xl); box-shadow:var(--shadow); padding:40px; }
  .lead-copy h2 { margin:0 0 12px; color:var(--navy-deep); font-size:30px; line-height:1.15; }
  .lead-copy p { margin:0 0 18px; color:var(--muted); }
  .lead-points { list-style:none; padding:0; margin:0 0 18px; }
  .lead-points li { position:relative; padding-left:28px; margin-bottom:10px; color:var(--text); }
  .lead-points li::before { content:'\2713'; position:absolute; left:0; top:0; width:20px; height:20px; background:var(--green); color:#fff; border-radius:50%; font-size:12px; text-align:center; line-height:20px; font-weight:800; }
  .lead-or { font-size:15px; color:var(--muted); }
  .lead-or a { color:var(--navy); font-weight:700; text-decoration:underline; }
  .lead-form { display:flex; flex-direction:column; gap:14px; }
  .lf-row { display:flex; flex-direction:column; gap:6px; }
  .lf-row label { font-size:13px; font-weight:700; color:var(--navy-deep); letter-spacing:.02em; }
  .lf-row .opt { font-weight:400; color:var(--muted); }
  .lf-row input, .lf-row select, .lf-row textarea { font:inherit; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; color:var(--text); transition:border-color .15s, box-shadow .15s; }
  .lf-row input:focus, .lf-row select:focus, .lf-row textarea:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(64,195,215,.18); }
  .lf-submit { margin-top:4px; width:100%; cursor:pointer; border:none; }
  .lf-fine { font-size:12px; color:var(--muted); text-align:center; }
  .lf-status { font-size:14px; font-weight:700; text-align:center; min-height:20px; }
  .lf-status.ok { color:var(--green); }
  .lf-status.err { color:#c0392b; }
  .lf-status.sending { color:var(--navy); }
  @media (max-width:820px){ .lead-box{ grid-template-columns:1fr; padding:28px; gap:24px; } .lead-copy h2{ font-size:25px; } }

/* === RICK Reach: service/landing page components === */
.breadcrumb { padding:18px 0 0; font-size:13px; color:var(--muted); }
.breadcrumb a { color:var(--navy); font-weight:600; }
.breadcrumb span { color:var(--muted); }
.hero-service { padding:40px 0 24px; }
.hero-service h1 { font-size:38px; line-height:1.1; color:var(--navy-deep); margin:8px 0 14px; }
.hero-service .lede { font-size:18px; color:var(--muted); max-width:760px; margin:0 0 20px; }
.hero-offer { font-size:14px; color:var(--green); font-weight:700; margin-top:14px; }
.prose { padding:24px 0 8px; max-width:860px; }
.prose h2 { font-size:26px; color:var(--navy-deep); margin:34px 0 12px; }
.prose h3 { font-size:18px; color:var(--navy); margin:0 0 8px; }
.prose p { color:var(--text); margin:0 0 14px; }
.prose a { color:var(--navy); font-weight:600; text-decoration:underline; }
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:18px 0 8px; }
.cards-3 .card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; box-shadow:var(--shadow-soft); }
.proof-list { list-style:none; padding:0; margin:14px 0; }
.proof-list li { position:relative; padding-left:30px; margin-bottom:12px; color:var(--text); }
.proof-list li::before { content:'\2713'; position:absolute; left:0; top:1px; width:21px; height:21px; background:var(--teal); color:#fff; border-radius:50%; font-size:12px; text-align:center; line-height:21px; font-weight:800; }
details.faq { border:1px solid var(--line); border-radius:var(--radius-md); padding:14px 18px; margin-bottom:10px; background:var(--card); }
details.faq summary { font-weight:700; color:var(--navy-deep); cursor:pointer; list-style:none; }
details.faq summary::-webkit-details-marker { display:none; }
details.faq summary::after { content:'+'; float:right; color:var(--teal); font-weight:800; }
details.faq[open] summary::after { content:'\2212'; }
details.faq p { margin:12px 0 0; color:var(--muted); }
@media (max-width:820px){ .cards-3{ grid-template-columns:1fr; } .hero-service h1{ font-size:30px; } }

/* hero-service sits on navy gradient — force light text for contrast */
.hero-service { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 55%, var(--navy-dark) 100%); color:#fff; }
.hero-service h1 { color:#fff; }
.hero-service .lede { color:#dbe7f2; }
.hero-service .hero-offer { color:#7fe0d6; }

.path-link { display:inline-block; margin-top:12px; color:var(--navy); font-weight:700; text-decoration:underline; }
.path-link:hover { color:var(--teal); }

.link-list { list-style:none; padding:0; margin:14px 0; }
.link-list li { margin-bottom:8px; }
.link-list a { color:var(--navy); font-weight:600; text-decoration:underline; }
.link-list a:hover { color:var(--teal); }
