:root {
  --ink: #12302E;
  --ink-2: #3D5250;
  --ink-3: #4A5B59;
  --teal: #0E6B63;
  --teal-dark: #0A4F49;
  --teal-tint: #E2F1EF;
  --blue: #0B4A63;
  --blue-deep: #0A3D4F;
  --navy: #072A33;
  --orange: #D97706;            --orange-strong: #B45309;     --orange-btn: #B85507;        --orange-btn-hover: #9A4506;
  --orange-bright: #F59E0B;     --orange-tint: #FFF1DE;
  --mint: #8FD3C9;
  --amber: #D97706;
  --mist: #EEF6F6;
  --warm: #FFF8EF;
  --line: #D8E6E6;
  --line-2: #CFDEDE;
  --connector: #9CC5C1;
  --dark: #0A3D4F;
  --dark-2: #11566B;
  --deep: #072A33;
  --on-dark: #E6F0EE;
  --on-dark-2: #C5DDE2;
  --error: #B42318;
  --band: #0B4A63;            --font-head: Manrope, system-ui, sans-serif;
  --font-body: "Public Sans", system-ui, sans-serif;
  --wrap: 1200px;
  --gutter: 20px;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow: 0 14px 36px rgba(11, 74, 99, 0.12);
  --header-h: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: #FFFFFF;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4 { margin: 0; font-family: var(--font-head); letter-spacing: -0.02em; }
p, ul, ol { margin: 0; }
a { color: var(--teal); text-underline-offset: 0.18em; }
a:hover { color: var(--orange-strong); }
input, textarea, select, button { font: inherit; }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; border-radius: 4px; }
.section--dark :focus-visible, .cta-band :focus-visible, .site-footer :focus-visible { outline-color: var(--orange-bright); }
[id] { scroll-margin-top: calc(var(--header-h) + 24px); }
main:focus { outline: none; }

.skip-link {
  position: absolute; left: 12px; top: -80px; z-index: 100;
  padding: 12px 18px; border-radius: 8px;
  background: var(--ink); color: #FFFFFF; font-weight: 600; text-decoration: none;
}
.skip-link:focus { top: 12px; color: #FFFFFF; }

.icon {
  width: 24px; height: 24px; flex-shrink: 0;
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.icon-check { stroke-width: 2.5; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.wrap--narrow { max-width: 860px; }
.section { padding: clamp(56px, 8vw, 96px) 0; }
.section--mist { background: var(--mist); }
.section--dark { position: relative; overflow: hidden; background: var(--band); color: #FFFFFF; }
.stack { display: flex; flex-direction: column; gap: 16px; }
.stack--lg { gap: 20px; }

.grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min, 300px)), 1fr)); }
.grid--2 { --min: 340px; }
.grid--3 { --min: 300px; }
.grid--4 { --min: 230px; }

.section-head { display: flex; flex-direction: column; gap: 14px; max-width: 780px; margin-bottom: clamp(32px, 4vw, 48px); }
.section-head--split { max-width: none; flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }
.section-head--split .h2 { max-width: 760px; }

.eyebrow { font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--orange-strong); }
.eyebrow::before {
  content: ""; display: inline-block; width: 16px; height: 7px; margin-right: 10px; border-radius: 4px;
  vertical-align: 0.15em; transform: rotate(-30deg);
  background: linear-gradient(90deg, var(--teal) 50%, var(--orange) 50%);
}
.section--dark .eyebrow, .cta-band .eyebrow { color: var(--orange-bright); }
.section--dark .eyebrow::before, .cta-band .eyebrow::before { background: linear-gradient(90deg, var(--mint) 50%, var(--orange-bright) 50%); }
.h1 { font-weight: 800; font-size: clamp(38px, 5.6vw, 64px); line-height: 1.05; letter-spacing: -0.03em; }
.h1--page { font-size: clamp(34px, 4.6vw, 54px); line-height: 1.08; max-width: 860px; }
.h2 { font-weight: 800; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; }
.h3 { font-weight: 800; font-size: 22px; line-height: 1.25; }
.lead { font-size: clamp(17px, 1.6vw, 19px); color: var(--ink-2); max-width: 680px; }
.section--dark .lead { color: var(--on-dark-2); }
.muted { color: var(--ink-2); }
.fine-print { margin-top: 28px; font-size: 15px; color: var(--ink-3); max-width: 860px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 24px; border-radius: 8px; border: 1.5px solid transparent;
  font-weight: 600; font-size: 16px; line-height: 1.2; text-decoration: none; white-space: nowrap;
  cursor: pointer; transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.btn .icon { width: 20px; height: 20px; }
.btn--primary { background: var(--orange-btn); color: #FFFFFF; }
.btn--primary:hover { background: var(--orange-btn-hover); color: #FFFFFF; }
.btn--outline { border-color: var(--teal); color: var(--teal); background: rgba(255, 255, 255, 0.6); }
.btn--outline:hover { background: var(--teal); border-color: var(--teal); color: #FFFFFF; }
.btn--light { background: #FFFFFF; color: var(--ink); }
.btn--light:hover { background: var(--orange-tint); color: var(--ink); }
.section--dark .btn--primary, .cta-band .btn--primary, .service-card--accent .btn--primary {
  background: var(--orange-bright); color: var(--navy);
}
.section--dark .btn--primary:hover, .cta-band .btn--primary:hover { background: #FBBF24; color: var(--navy); }
.btn--ghost-light { border-color: rgba(255, 255, 255, 0.45); color: #FFFFFF; }
.btn--ghost-light:hover { border-color: #FFFFFF; color: #FFFFFF; background: rgba(255, 255, 255, 0.08); }
.btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: 0.65; cursor: progress; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 480px) { .btn-row .btn, .cta-actions .btn { flex: 1 1 100%; } }
@media (max-width: 380px) { .site-header .logo { font-size: 27px; } }

.link-arrow { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; color: var(--orange-strong); text-decoration: none; }
.link-arrow .icon { width: 18px; height: 18px; transition: transform 0.15s; }
.link-arrow:hover .icon { transform: translateX(3px); }
.link-arrow--light { color: var(--orange-bright); }
.link-arrow--light:hover { color: #FFFFFF; }

.logo {
  display: inline-block; padding: 8px 0;
  font-family: var(--font-head); font-weight: 800; font-size: 34px; letter-spacing: -0.035em; line-height: 1;
  color: var(--ink); text-decoration: none; white-space: nowrap;
}
.logo:hover { color: var(--ink); }
.logo { word-spacing: -0.03em; }
.logo-i { position: relative; display: inline-block; }
.logo-i::after {
  content: ""; position: absolute; top: 0.06em; left: 50%;
  width: 0.4em; height: 0.178em; border-radius: 0.089em;
  transform: translateX(-50%) rotate(-30deg);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.12) 38%, rgba(255, 255, 255, 0) 52%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0.16) 100%),
    linear-gradient(90deg, #138276 0%, var(--teal) 46.5%, rgba(255, 255, 255, 0.95) 46.5%, rgba(255, 255, 255, 0.95) 50.5%, #E88A0E 50.5%, var(--amber) 100%);
  box-shadow: 0 0.018em 0.04em rgba(18, 48, 46, 0.28), inset 0 -0.01em 0 rgba(0, 0, 0, 0.08);
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
a.logo:hover .logo-i::after { transform: translateX(-50%) rotate(-16deg); }
.logo-med { color: var(--teal); letter-spacing: -0.04em; }
.logo--light, .logo--light:hover { color: #FFFFFF; }
.logo--light .logo-med { color: var(--mint); }
.logo--light .logo-i::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.12) 38%, rgba(255, 255, 255, 0) 52%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0.18) 100%),
    linear-gradient(90deg, #A6DED6 0%, var(--mint) 46.5%, rgba(10, 61, 79, 0.9) 46.5%, rgba(10, 61, 79, 0.9) 50.5%, var(--orange-bright) 50.5%, #E08A08 100%);
  box-shadow: 0 0.02em 0.05em rgba(0, 0, 0, 0.35);
}

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.86);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  border-bottom: 1px solid rgba(11, 74, 99, 0.12);
  box-shadow: 0 6px 24px rgba(11, 74, 99, 0.06);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.site-header::before { content: ""; display: block; height: 3px; background: var(--teal); }
.site-header.is-hidden { transform: translateY(-100%); }
.site-header:focus-within { transform: none; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: var(--header-h); }

.nav { display: flex; align-items: center; }
.nav-menu { display: flex; align-items: center; gap: 12px; }
.nav-links { display: flex; align-items: center; gap: 2px; list-style: none; padding: 0; }
.nav-links > li { position: relative; display: flex; align-items: center; }
.nav-top {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; border-radius: 8px;
  color: var(--ink); font-size: 15px; font-weight: 500; text-decoration: none; white-space: nowrap;
}
.nav-top:hover { background: var(--mist); color: var(--teal); }
.nav-links > li[data-active] > .nav-top { color: var(--teal); font-weight: 700; box-shadow: inset 0 -3px 0 var(--orange); border-radius: 8px 8px 0 0; }
.sub-toggle {
  display: inline-grid; place-items: center; width: 28px; height: 44px; margin-left: -6px; padding: 0;
  border: 0; border-radius: 6px; background: transparent; color: var(--ink-3); cursor: pointer;
}
.sub-toggle .icon { width: 16px; height: 16px; stroke-width: 2.2; transition: transform 0.2s; }
.sub-toggle:hover { color: var(--orange-strong); background: var(--mist); }
.has-sub.is-open .sub-toggle .icon { transform: rotate(180deg); }

.submenu {
  display: none; position: absolute; top: 100%; left: 0; z-index: 60; width: max-content; min-width: 240px; max-width: 360px;
  list-style: none; margin: 0; padding: 8px;
  background: #FFFFFF; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 40px rgba(18, 48, 46, 0.14);
}
.has-sub.is-open .submenu { display: block; }
@media (hover: hover) and (min-width: 921px) {
  .has-sub:hover .submenu { display: block; }
}
.submenu a { display: flex; align-items: center; min-height: 44px; padding: 8px 14px; border-radius: 10px; color: var(--ink); font-size: 15px; font-weight: 600; text-decoration: none; }
.submenu a:hover { background: var(--mist); color: var(--teal); }
.submenu a[aria-current="page"] { color: var(--teal); }
.submenu-foot { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.submenu-foot a { flex-direction: row; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--orange-strong); }
.submenu-foot .icon { width: 18px; height: 18px; }

.nav-phone {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 8px;
  color: var(--ink); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.nav-phone .icon { width: 18px; height: 18px; color: var(--teal); }
.nav-cta[aria-current="page"] { background: var(--orange-btn-hover); }

.menu-toggle {
  display: none; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 8px;
  border: 1.5px solid var(--line-2); background: #FFFFFF; color: var(--ink);
  font-weight: 600; font-size: 15px; text-decoration: none; cursor: pointer;
}
.menu-toggle:hover { color: var(--ink); border-color: var(--ink); }
.menu-toggle .icon { width: 20px; height: 20px; }
.menu-open, .menu-close { display: inline-flex; }
.menu-close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-close { display: inline-flex; }

@media (max-width: 1140px) {
  .nav-phone { display: none; }
}

@media (max-width: 920px) {
  :root { --header-h: 74px; }
  .site-header .logo { font-size: 30px; }
  .menu-toggle { display: inline-flex; }
  .nav-menu {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 8px;
    padding: 8px var(--gutter) 24px;
    background: #FFFFFF; border-bottom: 1px solid var(--line);
    box-shadow: 0 16px 32px rgba(18, 48, 46, 0.12);
    max-height: calc(100vh - var(--header-h)); overflow-y: auto;
  }
  .nav-menu.is-open { display: flex; }
  .nav-links { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links > li { display: block; border-bottom: 1px solid var(--line); }
  .nav-top { display: flex; min-height: 52px; padding: 0 4px; font-size: 18px; font-weight: 700; border-radius: 0; }
  .nav-top:hover { background: transparent; color: var(--teal); }
  .nav-links > li[data-active] > .nav-top { color: var(--teal); }
  .sub-toggle { display: none; }
  .submenu { display: block; position: static; width: auto; padding: 0 0 10px 4px; border: 0; box-shadow: none; background: transparent; }
  .submenu a { min-height: 44px; padding: 6px 10px; font-weight: 500; }
  .submenu-foot { margin-top: 2px; border-top: 0; }
  .nav-phone { display: inline-flex; padding: 0 4px; font-size: 17px; }
  .nav-cta { min-height: 52px; font-size: 16px; margin-top: 8px; }
}

.hero { position: relative; overflow: hidden; background: var(--mist); }
.hero::after, .page-hero::after {
  content: ""; position: absolute; pointer-events: none; border-radius: 999px; transform: rotate(-30deg);
  background: linear-gradient(90deg, var(--teal) 50%, var(--orange) 50%);
}
.hero::after { right: -150px; top: 24px; width: 600px; height: 250px; opacity: 0.13; }
.hero-grid { position: relative; z-index: 1; }
.hero-grid {
  display: grid; align-items: center; gap: clamp(32px, 5vw, 56px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(48px, 8vw, 96px);
}
.hero-copy { display: flex; flex-direction: column; gap: 22px; }
.hero-copy .lead { max-width: 580px; }
.hero-report { margin: 0; justify-self: center; width: min(100%, 460px); }
.hero-report a { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; box-shadow: var(--shadow); }
.hero-report img { display: block; width: 100%; height: auto; }
.hero-report figcaption { margin-top: 10px; font-size: 14px; color: var(--ink-3); text-align: center; }
.trust-line { font-size: 15px; color: var(--ink-2); }
@media (max-width: 700px) { .hero-report { display: none; } }

.challenge-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.challenge-copy .section-head { margin-bottom: 28px; }
.challenge-photo { margin: 0; }
.challenge-photo img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
@media (max-width: 900px) { .challenge-grid { grid-template-columns: minmax(0, 1fr); } }

.fact-list { display: grid; gap: 14px; max-width: 820px; margin: 0; padding: 0; list-style: none; }
.fact-list li { position: relative; padding-left: 24px; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
.fact-list li::before { content: ""; position: absolute; left: 4px; top: 0.6em; width: 8px; height: 8px; border-radius: 50%; background: var(--teal); }
.fact-list b { color: var(--ink); }
.fact-list a { white-space: nowrap; }

.mtm-list { display: grid; gap: 18px 40px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); margin: 0; padding: 0; list-style: none; }
.mtm-list li { padding-top: 14px; border-top: 1px solid var(--line-2); color: var(--ink-2); line-height: 1.5; }
.mtm-list b { display: block; margin-bottom: 4px; font-family: var(--font-head); font-size: 18px; color: var(--ink); }

.pf-card .eyebrow { font-size: 13px; letter-spacing: 0; text-transform: none; }
.pf-card .eyebrow::before { display: none; }

.sample-table { display: grid; gap: 12px; margin-top: 40px; }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #FFFFFF; }
.data-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; }
.data-table th, .data-table td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.data-table thead th { font-size: 14px; color: var(--ink-3); background: var(--mist); }
.data-table tbody th { font-weight: 700; color: var(--ink); white-space: nowrap; }
.data-table td { color: var(--ink-2); }
.data-table td:last-child { color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.data-table tbody tr:last-child > * { border-bottom: 0; }
@media (max-width: 640px) {
  .data-table { min-width: 0; }
  .data-table thead { display: none; }
  .data-table tr { display: grid; gap: 4px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .data-table tbody tr:last-child { border-bottom: 0; }
  .data-table th, .data-table td { padding: 0; border: 0; white-space: normal; }
  .data-table td:last-child { font-weight: 700; white-space: normal; }
}

.terms { display: grid; gap: 14px; margin-top: 32px; max-width: 860px; }

.package-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); margin-bottom: 28px; }
.package { display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 3vw, 28px); border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; }
.package-for { color: var(--ink-2); }
.package .checklist { font-size: 16px; }
.package-price { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line-2); font-size: 15px; color: var(--ink-2); }
.package b { color: var(--ink); }
@media (min-width: 1000px) { .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.choose { display: grid; gap: 10px; max-width: 620px; }
.choose-label { font-size: 15px; font-weight: 700; color: var(--ink-2); }
.choose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.choose-card {
  display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 16px;
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: #FFFFFF; color: var(--ink); text-decoration: none;
  box-shadow: 0 6px 18px rgba(11, 74, 99, 0.07); transition: border-color 0.15s, box-shadow 0.15s;
}
.choose-card:hover { color: var(--ink); border-color: var(--teal); box-shadow: var(--shadow); }
.choose-card:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.choose-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--teal-tint); color: var(--teal); }
.choose-icon .icon { width: 22px; height: 22px; }
.choose-card b { font-family: var(--font-head); font-size: 19px; font-weight: 800; line-height: 1.2; }
.choose-sub { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.choose-go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; font-size: 15px; font-weight: 700; color: var(--orange-strong); }
.choose-go .icon { width: 17px; height: 17px; transition: transform 0.15s; }
.choose-card:hover .choose-go .icon { transform: translateX(3px); }
@media (max-width: 520px) { .choose-grid { grid-template-columns: minmax(0, 1fr); } }
.includes p + p { margin-top: 12px; }
.field[hidden] { display: none; }

.trust { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; padding: 0; font-size: 15px; font-weight: 500; color: var(--ink-2); }
.trust li { display: inline-flex; align-items: center; gap: 8px; }
.trust .icon { width: 20px; height: 20px; color: var(--teal); }
.trust li:nth-child(2) .icon { color: var(--orange); }


.flow { counter-reset: flow; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 26px; margin: 0; padding: 0; list-style: none; }
.flow-step {
  --lane: var(--teal); --lane-text: var(--teal);
  counter-increment: flow; position: relative; display: flex; flex-direction: column; gap: 8px;
  padding: 20px 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF;
}
.flow-step--you { --lane: var(--orange); --lane-text: var(--orange-strong); }
.flow-step--rx { --lane: var(--blue); --lane-text: var(--blue); }
.flow-step--both { --lane: var(--teal-dark); --lane-text: var(--teal-dark); }
.flow-step:not(:last-child)::after {
  content: ""; position: absolute; top: 50%; right: -19px; width: 10px; height: 10px;
  border-top: 3px solid var(--orange); border-right: 3px solid var(--orange); transform: translateY(-50%) rotate(45deg);
}
.flow-who { display: flex; align-items: center; gap: 8px; color: var(--lane-text); font-size: 13.5px; font-weight: 700; }
.flow-who::before {
  content: counter(flow); display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%;
  background: var(--lane); color: #FFFFFF; font-family: var(--font-head); font-size: 13px; letter-spacing: 0;
}
.flow-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: var(--teal-tint); color: var(--teal); }
.flow-step--you .flow-icon { background: var(--orange-tint); color: var(--orange-strong); }
.flow-icon .icon { width: 22px; height: 22px; }
.flow-step h3 { font-size: 19px; font-weight: 800; }
.flow-step p { color: var(--ink-2); font-size: 15px; line-height: 1.45; }
.flow-foot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 32px; align-items: start; margin-top: 28px; }
.flow-urgent { margin: 0; }
.flow-triggers { display: grid; gap: 10px; }
.flow-triggers .chips { gap: 8px; }
.flow-triggers .chips li { padding: 6px 12px; font-size: 14px; }
@media (max-width: 1099px) {
  .flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .flow-step:nth-child(3)::after { display: none; }
  .flow-foot { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 699px) {
  .flow { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .flow-step:not(:last-child)::after, .flow-step:nth-child(3)::after {
    display: block; top: auto; right: auto; bottom: -19px; left: 50%; transform: translateX(-50%) rotate(135deg);
  }
}

.report-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px); gap: clamp(28px, 4vw, 56px); align-items: start; }
.report-points { --min: 240px; }
.report-sample { margin: 0; }
.report-sample a { display: block; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); transition: transform 0.2s, box-shadow 0.2s; }
.report-sample a:hover { box-shadow: 0 20px 44px rgba(11, 74, 99, 0.18); }
.report-sample img { display: block; width: 100%; height: auto; }
.report-sample figcaption { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; color: var(--ink-2); font-size: 15px; }
.report-sample figcaption .icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; color: var(--orange-strong); }
@media (max-width: 900px) {
  .report-split { grid-template-columns: minmax(0, 1fr); }
  .report-sample { max-width: 520px; }
}

.card {
  display: flex; flex-direction: column; gap: 14px;
  padding: clamp(24px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF;
}
.card .link-arrow { margin-top: -6px; }
.card-icon { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 12px; background: var(--teal-tint); color: var(--teal); }
.card-icon--orange,
.grid > :nth-child(even) > .card-icon { background: var(--orange-tint); color: var(--orange-strong); }
.card-icon--lg { width: 64px; height: 64px; border-radius: 16px; }
.card-icon--lg .icon { width: 34px; height: 34px; }
.card-stat { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink-2); }
.card-stat strong { color: var(--ink); }

.checklist { list-style: none; padding: 0; display: grid; gap: 10px; }
.checklist li { display: flex; gap: 10px; align-items: flex-start; }
.checklist .icon { width: 20px; height: 20px; margin-top: 4px; color: var(--teal); }
.checklist--cols { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px 32px; }
.card .checklist { font-size: 16px; }

.care-map { display: grid; grid-template-columns: minmax(0, 1fr) 260px minmax(0, 1fr); column-gap: 56px; align-items: center; }
.care-col { position: relative; display: flex; flex-direction: column; gap: 24px; list-style: none; padding: 0; }
.care-col::after { content: ""; position: absolute; top: 56px; bottom: 56px; border-left: 2px solid var(--connector); }
.care-left::after { right: -29px; }
.care-right::after { left: -29px; }
.care-card {
  position: relative; display: flex; align-items: center; gap: 14px; height: 112px;
  padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #FFFFFF;
}
.care-card > .icon { width: 26px; height: 26px; color: var(--teal); }
.care-right .care-card > .icon { color: var(--orange-strong); }
.care-card b { display: block; font-family: var(--font-head); font-size: 17px; }
.care-card b + span { display: block; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.care-left .care-card::after, .care-right .care-card::before { content: ""; position: absolute; top: 50%; width: 28px; border-top: 2px solid var(--connector); }
.care-left .care-card::after { right: -29px; }
.care-right .care-card::before { left: -29px; }
.care-hub {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 28px 22px; border-radius: 20px; background: var(--band); color: #FFFFFF; text-align: center;
  box-shadow: var(--shadow);
}
.care-hub::before, .care-hub::after { content: ""; position: absolute; top: 50%; width: 28px; border-top: 2px solid var(--connector); }
.care-hub::before { left: -29px; }
.care-hub::after { right: -29px; }
.care-hub > .icon { width: 40px; height: 40px; color: var(--orange-bright); }
.care-hub-title { font-family: var(--font-head); font-weight: 800; font-size: 22px; line-height: 1.2; }
.care-hub-sub { font-size: 15px; line-height: 1.45; color: var(--on-dark-2); }
.care-hub-pill {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 6px;
  background: none; color: var(--orange-bright); font-size: 14px; font-weight: 600;
}
.care-hub-pill .icon { width: 16px; height: 16px; stroke-width: 2; }

@media (max-width: 1024px) {
  .care-map { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
  .care-hub { order: -1; margin-bottom: 12px; }
  .care-col { gap: 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
  .care-card { height: auto; }
  .care-col::after, .care-left .care-card::after, .care-right .care-card::before, .care-hub::before, .care-hub::after { display: none; }
}

.steps { display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); list-style: none; padding: 0; }
.step { display: flex; flex-direction: column; gap: 8px; }
.step h3 { font-size: 19px; font-weight: 700; }
.step p { color: var(--ink-2); }
.step-num {
  display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%;
  background: var(--orange-btn); color: #FFFFFF; font-family: var(--font-head); font-weight: 800; font-size: 19px;
  box-shadow: 0 6px 14px rgba(184, 85, 7, 0.25);
}

.callout {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px;
  margin-top: clamp(32px, 4vw, 48px); padding: clamp(24px, 3vw, 32px); border-radius: var(--radius); background: var(--mist);
}
.callout > div { max-width: 720px; }
.callout--white { background: #FFFFFF; border: 1px solid var(--line); }
.callout-title { font-size: 19px; font-weight: 700; margin-bottom: 6px; }

.chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.chips li { padding: 8px 14px; border-radius: 18px; background: #FFFFFF; border: 1px solid #BFDCD7; color: var(--teal-dark); font-size: 15px; font-weight: 500; }
.section--mist .chips li { background: #FFFFFF; }

.tile {
  display: flex; flex-direction: column; gap: 6px; padding: 24px; min-height: 100%;
  border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF;
  color: var(--ink); text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.tile:hover { color: var(--ink); border-color: var(--teal); box-shadow: var(--shadow); }
.tile > .icon { width: 30px; height: 30px; margin-bottom: 8px; color: var(--orange-strong); }
.tile b { font-family: var(--font-head); font-size: 19px; }
.tile span { color: var(--ink-2); font-size: 15px; }

.person { display: grid; gap: clamp(32px, 5vw, 64px); align-items: center; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); }
.person > .stack { max-width: 680px; }
.portrait {
  display: grid; place-items: center; aspect-ratio: 4 / 5; width: 100%; overflow: hidden;
  position: relative; border-radius: var(--radius); background: var(--band);
  box-shadow: 0 18px 44px rgba(11, 74, 99, 0.22);
}
.portrait::after { content: ""; position: absolute; right: -40px; bottom: 28px; width: 180px; height: 72px; border-radius: 999px; transform: rotate(-30deg); background: linear-gradient(90deg, var(--mint) 50%, var(--orange-bright) 50%); opacity: 0.35; }
.portrait img { width: 100%; height: 100%; object-fit: cover; }
.portrait-mono { position: relative; z-index: 1; font-family: var(--font-head); font-weight: 800; font-size: 88px; letter-spacing: -0.04em; color: #FFFFFF; opacity: 0.92; }
.person-meta { font-weight: 600; color: var(--ink-2); }
.creds { list-style: none; padding: 0; display: grid; gap: 12px; margin-top: 4px; }
.creds li { display: flex; gap: 12px; align-items: flex-start; }
.creds .icon { color: var(--teal); margin-top: 2px; }
.creds li:nth-child(even) .icon { color: var(--orange-strong); }

@media (max-width: 760px) {
  .person { grid-template-columns: minmax(0, 1fr); }
  .portrait { max-width: 200px; }
  .portrait-mono { font-size: 64px; }
}

.faq-title { margin-bottom: 24px; }
.faq { border-top: 1px solid var(--line-2); }
.faq-item { border-bottom: 1px solid var(--line-2); }
.faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 60px; padding: 14px 0; cursor: pointer; list-style: none;
  font-family: var(--font-head); font-size: 18px; font-weight: 700; line-height: 1.35;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: ""; flex-shrink: 0; width: 10px; height: 10px; margin-right: 6px;
  border-right: 2px solid var(--orange); border-bottom: 2px solid var(--orange);
  transform: translateY(-3px) rotate(45deg); transition: transform 0.2s;
}
.faq-item[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.faq-item summary:hover { color: var(--teal); }
.faq-a { padding: 0 0 20px; color: var(--ink-2); max-width: 70ch; }

.cta-band { position: relative; overflow: hidden; background: var(--band); color: #FFFFFF; padding: clamp(56px, 7vw, 80px) 0; }
.cta-band::before, .section--dark::before {
  content: ""; position: absolute; pointer-events: none; right: -120px; bottom: -60px; width: 520px; height: 210px;
  border-radius: 999px; transform: rotate(-30deg); opacity: 0.12;
  background: linear-gradient(90deg, var(--mint) 50%, var(--orange-bright) 50%);
}
.cta-band > .wrap, .section--dark > .wrap { position: relative; z-index: 1; }
.cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; }
.cta-copy { max-width: 680px; gap: 10px; }
.cta-copy p { color: var(--on-dark-2); }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.page-hero { position: relative; overflow: hidden; padding: clamp(40px, 6vw, 80px) 0 clamp(40px, 5vw, 64px); background: var(--mist); }
.page-hero::after { right: -120px; top: 30px; width: 440px; height: 180px; opacity: 0.1; }
.page-hero > .wrap { position: relative; z-index: 1; }

.hero-title { display: flex; flex-direction: column; gap: 18px; }
.hero-title .eyebrow, .hero-title .h1 { display: block; }

.breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; list-style: none; padding: 0; font-size: 14px; font-weight: 600; color: var(--ink-3); }
.breadcrumb li + li::before { content: "/"; margin: 0 10px; color: #9AAAA7; font-weight: 400; }
.breadcrumb a { display: inline-flex; align-items: center; min-height: 32px; color: var(--teal); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }

.byline { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--ink-2); }
.byline .icon { width: 20px; height: 20px; color: var(--orange); }
.byline a { font-weight: 600; }

.glance-title { margin-bottom: 24px; }
.facts { margin: 0; border-top: 1px solid var(--line-2); }
.facts > div { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 1fr); gap: 4px 24px; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.facts dt { font-weight: 700; }
.facts dd { margin: 0; color: var(--ink-2); }
.facts dd::first-letter { text-transform: uppercase; }
.facts dd.facts-plain::first-letter { text-transform: none; }
@media (max-width: 560px) { .facts > div { grid-template-columns: minmax(0, 1fr); } }

.qa-group { margin-bottom: 8px; }
.qa { padding: 24px 0; border-bottom: 1px solid var(--line-2); }
.qa:last-child { border-bottom: 0; padding-bottom: 0; }
.qa h3 { font-size: 20px; font-weight: 700; line-height: 1.35; margin-bottom: 8px; }
.qa-a { color: var(--ink-2); max-width: 70ch; }
.qa-a p + p { margin-top: 10px; }
.faq-more { margin-top: 16px; }

.subnav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.subnav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 8px;
  border: 1px solid #C9D6D4; background: #FFFFFF; color: var(--ink); font-size: 15px; font-weight: 500; text-decoration: none;
  white-space: nowrap; transition: border-color 0.15s, color 0.15s;
}
.subnav a:hover { border-color: var(--teal); color: var(--teal); }
@media (max-width: 760px) {
  .subnav { gap: 8px; }
  .subnav a { min-height: 40px; padding: 0 14px; font-size: 14px; }
}

.service-grid { display: grid; gap: clamp(28px, 4vw, 64px); grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
@media (max-width: 900px) { .service-grid { grid-template-columns: minmax(0, 1fr); } }
.service-num { font-family: var(--font-head); font-size: 15px; font-weight: 800; color: var(--teal); }
.detail { display: flex; flex-direction: column; gap: 6px; padding-top: 16px; border-top: 1px solid var(--line-2); }
.detail h3 { font-size: 17px; font-weight: 700; }
.detail p { color: var(--ink-2); }
.includes { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF; }
.section:not(.section--mist) .includes { background: var(--mist); border-color: transparent; }
.includes-title { font-size: 17px; font-weight: 700; color: var(--ink); margin-bottom: 14px; }
.includes-foot { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line-2); font-size: 15px; color: var(--ink-2); }
.includes-foot b { color: var(--ink); }
.audience-for { font-weight: 600; color: var(--teal); }

.value-card { display: flex; flex-direction: column; gap: 14px; padding: clamp(28px, 3vw, 36px); border-radius: var(--radius); background: #FFFFFF; color: var(--ink); }
.value-card p { color: var(--ink-2); }

.scope { padding: clamp(24px, 3vw, 32px); border-radius: var(--radius); display: flex; flex-direction: column; gap: 16px; }
.scope--do { background: var(--teal-tint); }
.scope--dont { background: var(--warm); }
.scope--dont .icon { color: var(--orange-strong); }

.principle { display: flex; flex-direction: column; gap: 10px; }
.principle h3 { font-size: 19px; font-weight: 700; }
.principle p { color: var(--ink-2); }

.refs { list-style: none; padding: 0; border-top: 1px solid var(--line-2); }
.refs li { display: flex; flex-direction: column; gap: 4px; padding: 18px 0; border-bottom: 1px solid var(--line-2); }
.refs a { font-weight: 600; }
.refs p { color: var(--ink-2); font-size: 16px; }
.ref-src { display: inline-block; color: var(--ink-3); font-size: 14px; font-weight: 600; }

.prose { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.prose h2 { font-size: 22px; font-weight: 800; margin-top: 18px; }
.prose h2:first-child { margin-top: 0; }
.prose p, .prose li { color: var(--ink-2); }
.prose ul { padding-left: 22px; display: grid; gap: 6px; }

.page-message { min-height: 50vh; display: flex; align-items: center; }

.contact { background: var(--mist); }
.contact-grid { display: grid; gap: clamp(32px, 5vw, 64px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); align-items: start; }
.next { margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--line-2); }
.next-title { font-size: 19px; font-weight: 700; margin-bottom: 16px; }
.next-steps { list-style: none; padding: 0; display: grid; gap: 18px; }
.next-steps li { display: block; padding-left: 16px; border-left: 2px solid var(--line-2); }
.next-steps p { color: var(--ink-2); font-size: 16px; }
.contact-list { list-style: none; padding: 0; display: grid; gap: 4px; }
.contact-list a, .contact-list li > span { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); font-weight: 600; text-decoration: none; }
.contact-list a:hover { color: var(--teal); }
.contact-list .icon { color: var(--teal); }

.form-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px;
  padding: clamp(24px, 3vw, 36px); border-radius: var(--radius); background: #FFFFFF; box-shadow: var(--shadow); border: 1px solid var(--line);
}
.form-title { font-size: 22px; font-weight: 800; }
.field-row { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-size: 15px; font-weight: 600; }
.req { color: var(--orange-strong); }
.optional { font-weight: 400; color: var(--ink-3); }
.field input, .field select, .field textarea {
  width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #768A87; border-radius: 8px;
  background: #FFFFFF; color: var(--ink); font-size: 16px; line-height: 1.4;
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(14, 107, 99, 0.22); }
.field [aria-invalid="true"] { border-color: var(--error); }
.field-error { font-size: 14px; color: var(--error); font-weight: 500; }
.hint { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--ink-3); }
.hint .icon { width: 16px; height: 16px; margin-top: 3px; color: var(--teal); }
.form-note { font-size: 14px; color: var(--ink-3); }
.form-status { padding: 12px 16px; border-radius: 10px; font-size: 15px; font-weight: 500; }
.form-status.is-error { background: #FDECEA; color: var(--error); border: 1px solid #F5C2BC; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.site-footer { background: var(--navy); color: #A9C4C9; font-size: 15px; }
.footer-grid {
  display: grid; gap: 32px 40px; padding-top: 56px; padding-bottom: 40px;
  grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) { .footer-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); } }
.footer-brand { display: flex; flex-direction: column; gap: 10px; max-width: 400px; }
.footer-brand .footer-contact { list-style: none; padding: 0; margin-top: 6px; display: grid; gap: 2px; }
.footer-brand .logo { font-size: 24px; padding: 0 0 4px; }
.footer-tagline { display: flex; align-items: center; gap: 10px; color: var(--orange-bright); font-size: 12.5px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.footer-tagline::before { content: ""; width: 26px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--mint) 50%, var(--orange-bright) 50%); }
.footer-head { font-family: var(--font-body); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #FFFFFF; margin-bottom: 10px; }
.footer-col ul { list-style: none; padding: 0; display: grid; gap: 2px; }
.footer-col a, .footer-contact a, .footer-contact li > span { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; color: #D5E3E1; text-decoration: none; }
.footer-col a:hover, .footer-contact a:hover { color: #FFFFFF; text-decoration: underline; }
.footer-contact .icon { width: 18px; height: 18px; color: var(--orange-bright); }
.footer-contact a { overflow-wrap: anywhere; }
.footer-bottom { position: relative; display: flex; flex-direction: column; gap: 12px; padding-top: 24px; padding-bottom: 36px; }
.footer-bottom::before { content: ""; position: absolute; top: 0; left: var(--gutter); right: var(--gutter); border-top: 1px solid rgba(255, 255, 255, 0.1); }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.footer-legal a { display: inline-flex; align-items: center; min-height: 32px; color: #D5E3E1; }
.footer-legal a:hover { color: #FFFFFF; }
.footer-disclaimer { max-width: 920px; font-size: 14px; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.hero .hero-title .h1 { font-size: clamp(36px, 4.9vw, 58px); line-height: 1.06; }
.checklist .icon-alert { color: #B45309; }

.service-card, .card--link, .audience-card, .detail-card--link {
  color: var(--ink); text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.service-card {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 10px; padding: clamp(22px, 3vw, 28px);
  border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF;
}
.service-card h3, .audience-card h3 { font-size: 20px; font-weight: 800; line-height: 1.25; }
.service-benefit { font-weight: 600; color: var(--teal); }
.service-card p:not(.service-benefit), .audience-card p { color: var(--ink-2); font-size: 16px; }
.service-more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-weight: 700; color: var(--orange-strong); }
.service-more .icon { width: 18px; height: 18px; transition: transform 0.15s; }
.service-card--accent { background: var(--band); border-color: var(--blue); color: #FFFFFF; }
.service-card--accent .card-icon, .grid > :nth-child(even).service-card--accent > .card-icon { background: rgba(255, 255, 255, 0.12); color: var(--orange-bright); }
.service-card--accent p:not(.service-benefit) { color: var(--on-dark-2); }
.service-card--accent .service-benefit, .service-card--accent .service-more { color: var(--orange-bright); }
.service-card:hover, .card--link:hover, .audience-card:hover, .detail-card--link:hover {
  color: inherit; border-color: var(--teal); box-shadow: var(--shadow);
}
.service-card--accent:hover { color: #FFFFFF; }
.service-card:hover .service-more .icon, .card--link:hover .service-more .icon,
.audience-card:hover .service-more .icon, .service-row:hover .service-more .icon { transform: translateX(3px); }
.card--link { color: var(--ink); }

.service-rows { display: grid; gap: 14px; }
.service-row {
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 20px;
  padding: clamp(20px, 3vw, 28px); border: 1px solid var(--line); border-radius: var(--radius);
  color: var(--ink); text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s;
}
.service-row:nth-child(even) .card-icon { background: var(--orange-tint); color: var(--orange-strong); }
.service-row:hover { color: var(--ink); border-color: var(--teal); box-shadow: var(--shadow); }
.service-row-main { display: flex; flex-direction: column; gap: 4px; }
.service-row h3 { font-size: 21px; font-weight: 800; }
.service-row .service-more { margin-top: 0; padding-top: 0; }
@media (max-width: 640px) {
  .service-row { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 12px; }
}

.audience-card {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 3vw, 32px);
  border: 1px solid var(--line); border-radius: var(--radius); background: #FFFFFF;
}
.audience-card .checklist { font-size: 16px; }

.detail-cards { margin-top: clamp(24px, 3vw, 32px); }
.section-head + .detail-cards { margin-top: 0; }
.detail-card { display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: var(--radius); background: #FFFFFF; border: 1px solid var(--line); }
.section:not(.section--mist) .detail-card { background: var(--mist); border-color: transparent; }
.detail-card h3 { font-size: 18px; font-weight: 700; }
.detail-card p { color: var(--ink-2); font-size: 16px; }
.detail-card--link h3 { color: var(--teal); }

.deliverable { display: flex; flex-direction: column; gap: 10px; }
.deliverable h3 { font-size: 18px; font-weight: 700; }
.deliverable p { color: var(--ink-2); font-size: 16px; }

.related { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line-2); font-size: 15px; color: var(--ink-3); }
.related a { font-weight: 600; }


.brief-card { gap: 12px; }
.brief-form { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.brief-fields { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.brief-fields .field { flex: 1 1 200px; }
.brief-fields .btn { flex: 0 0 auto; }
.brief-form.is-done .brief-fields, .brief-form.is-done .form-note { display: none; }
.form-status.is-success { background: var(--teal-tint); color: var(--teal-dark); border: 1px solid #BFDCD7; }

.draft-banner { position: relative; z-index: 60; padding: 10px var(--gutter); background: #FEF3C7; color: #78350F; font-size: 15px; font-weight: 600; text-align: center; }
.card--draft { border-style: dashed; }
.checklist-doc .step-head { display: flex; align-items: center; gap: 12px; margin: 32px 0 14px; }
.checklist-doc .step-head:first-child { margin-top: 0; }
.tick-list { list-style: none; padding: 0; display: grid; gap: 10px; }
.tick-list li { position: relative; padding: 12px 14px 12px 48px; border: 1px solid var(--line); border-radius: 10px; background: #FFFFFF; }
.tick-list li::before { content: ""; position: absolute; left: 14px; top: 14px; width: 20px; height: 20px; border: 2px solid var(--orange); border-radius: 5px; }
.agenda { counter-reset: agenda; list-style: none; padding: 0; display: grid; gap: 10px; }
.agenda li { counter-increment: agenda; position: relative; padding: 12px 14px 12px 50px; border-radius: 10px; background: var(--teal-tint); }
.agenda li::before { content: counter(agenda); position: absolute; left: 16px; top: 12px; font-weight: 800; color: var(--teal); }
.agenda b { color: var(--teal-dark); }
.result-box { display: grid; gap: 14px; margin-top: 28px; padding: 18px 20px; border: 2px dashed var(--teal); border-radius: 12px; }
.result-box p { margin: 0; }
.tick-inline { display: inline-flex; align-items: center; gap: 8px; margin: 0 18px 0 10px; }
.tick-inline::before { content: ""; width: 18px; height: 18px; border: 2px solid var(--orange); border-radius: 4px; }
.sources { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 15px; }
.sources ul { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 6px; }

@media print {
  .draft-banner, [data-print], .breadcrumb, .byline .icon { display: none !important; }
  .tick-list li, .agenda li, .result-box { break-inside: avoid; }
}

.svc-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 24px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; width: fit-content; max-width: 100%; }
.svc-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 8px; background: transparent; color: var(--ink-2); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: background 0.15s, color 0.15s; }
.svc-tab .icon { width: 18px; height: 18px; color: var(--teal); }
.svc-tab:hover { background: var(--teal-tint); color: var(--teal-dark); }
.svc-tab[aria-selected="true"] { background: var(--band); color: #FFFFFF; }
.svc-tab[aria-selected="true"] .icon { color: var(--orange-bright); }
.svc-tab:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.svc-grid > [hidden] { display: none; }
@media (min-width: 700px) { .svc-grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .svc-grid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.svc-in { animation: svc-in 0.35s ease both; }
@keyframes svc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.svc-audience { margin-top: 22px; color: var(--ink-2); font-size: 16px; }
.svc-audience p { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; }
.svc-audience p[data-aud="all"] { display: block; }
.svc-audience p[hidden] { display: none; }
.svc-audience a:not(.link-arrow) { color: var(--teal); font-weight: 600; }
@media (max-width: 640px) {
  .svc-tabs { border-radius: 16px; width: 100%; }
  .svc-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
  .svc-tab { justify-content: center; padding: 0 8px; font-size: 14px; white-space: nowrap; }
  .svc-tab .icon { display: none; }
}

.pathfinder { position: relative; z-index: 2; background: var(--band); padding: 26px 0 30px; }
.pf-bar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: center; gap: 12px; }
.pf-head { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-bottom: 4px; }
.pf-label { margin: 0; color: #FFFFFF; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.pf-sub { color: var(--on-dark-2); font-size: 16px; }
.pf-field select {
  width: 100%; min-height: 56px; padding: 0 54px 0 20px; text-overflow: ellipsis;
  border: 0; border-radius: 10px; color: var(--ink); font-size: 16px; font-weight: 500;
  -webkit-appearance: none; appearance: none; cursor: pointer;
  background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23D97706'/%3E%3Cpath d='M11 15l7 7 7-7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 36px 36px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.pf-field select:has(option[value=""]:checked) { color: var(--ink-3); }
.pf-field select:focus-visible { outline: 3px solid var(--orange-bright); outline-offset: 2px; }
.pf-bar .btn--primary {
  min-height: 56px; padding: 0 30px; border-radius: 10px; font-size: 17px; font-weight: 700;
  background: var(--orange-bright); color: var(--navy);
}
.pf-bar .btn--primary:hover { background: #FBBF24; color: var(--navy); }
.pf-result { scroll-margin-top: calc(var(--header-h) + 16px); }

.pf-pinbar {
  position: fixed; top: var(--header-h); left: 0; right: 0; z-index: 45; padding: 10px 0 12px;
  background: var(--band); box-shadow: 0 12px 26px rgba(7, 42, 51, 0.22);
  transform: translateY(-115%); visibility: hidden; transition: transform 0.25s ease, visibility 0s linear 0.25s;
}
.pf-pinbar.is-on { transform: none; visibility: visible; transition: transform 0.25s ease; }
.pf-pinbar .pf-bar { grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto; gap: 10px; }
.pf-pinbar .pf-head { grid-column: auto; margin: 0 6px 0 0; }
.pf-pinbar .pf-sub { display: none; }
.pf-pinbar .pf-label { font-size: 19px; white-space: nowrap; }
.pf-pinbar .pf-field select { min-height: 44px; padding-left: 16px; font-size: 15px; background-size: 30px 30px; background-position: right 7px center; box-shadow: none; }
.pf-pinbar .pf-bar .btn--primary { min-height: 44px; padding: 0 24px; font-size: 16px; box-shadow: none; }
.pf-pinbar .pf-hint { margin: 8px 0 0; font-size: 14px; }
@media (max-width: 920px) { .pf-pinbar { display: none; } }
.pathfinder :focus-visible { outline-color: var(--orange-bright); }
.pf-hint { margin-top: 10px; color: var(--orange-bright); font-weight: 600; }

.pf-result {
  margin-top: 18px; padding: clamp(20px, 3vw, 28px); border-radius: var(--radius);
  background: #FFFFFF; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}
.pf-result:focus { outline: none; }
.pf-result :focus-visible { outline-color: var(--teal); }
.pf-result-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.pf-result-title { font-size: 22px; font-weight: 800; }
.pf-reset { min-height: 44px; padding: 0 6px; border: 0; background: none; color: var(--teal); font-weight: 700; text-decoration: underline; text-underline-offset: 0.18em; cursor: pointer; }
.pf-reset:hover { color: var(--orange-strong); }
.pf-cards { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.pf-card { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border-radius: 14px; background: var(--mist); }
.pf-card[hidden] { display: none; }
.pf-card--service { background: var(--warm); }
.pf-card h4 { margin: 0; font-family: var(--font-head); font-size: 20px; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; }
.pf-card p:not(.eyebrow) { color: var(--ink-2); font-size: 16px; }
.pf-card .link-arrow { margin-top: auto; }
.pf-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 12px 16px; border-radius: 10px; background: var(--teal-tint); color: var(--teal-dark); font-weight: 500; }
.pf-note[hidden] { display: none; }
.pf-note .icon { width: 20px; height: 20px; margin-top: 2px; }
.pf-note--warn { background: var(--orange-tint); color: #7C3A06; }
.pf-note--warn a { color: #7C3A06; font-weight: 700; }
.pf-actions { margin-top: 18px; }

@media (max-width: 1100px) {
  .pf-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pf-submit { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 720px) {
  .pf-bar { grid-template-columns: minmax(0, 1fr); }
  .pf-submit { justify-self: stretch; }
}

@media (max-width: 760px) {
  .hero::after { right: -170px; top: 0; width: 340px; height: 140px; opacity: 0.09; }
  .page-hero::after { right: -150px; top: 10px; width: 300px; height: 120px; opacity: 0.07; }
}

.resource-type { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--orange-strong); }
.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: 11px; letter-spacing: 0.06em; }
.badge--draft { background: #FEF3C7; color: #78350F; }
.upcoming { margin-top: 24px; }
.upcoming .checklist .icon { color: var(--orange-strong); }
.checklist-note { margin: -4px 0 12px; font-size: 15px; }
.checklist-cta { margin-top: 24px; }
.alert-box { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0; padding: 12px 16px; border-radius: 10px; background: var(--teal-tint); color: var(--teal-dark); font-size: 16px; }
.alert-box .icon { width: 20px; height: 20px; margin-top: 2px; }
.alert-box--urgent { background: #FDECEA; color: #8A1C12; border: 1px solid #F5C2BC; }
.flag-group { margin-bottom: 22px; padding: 22px 24px; border-radius: var(--radius); border: 1px solid var(--line); border-left-width: 6px; background: #FFFFFF; }
.flag-group--911 { border-left-color: var(--error); background: #FFF6F5; }
.flag-group--today { border-left-color: var(--orange); background: var(--warm); }
.flag-group--report { border-left-color: var(--teal); background: var(--mist); }
.flag-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.flag-group--911 .flag-head { color: var(--error); }
.flag-group--today .flag-head { color: var(--orange-strong); }
.flag-group--report .flag-head { color: var(--teal); }
.flag-list { padding-left: 22px; display: grid; gap: 6px; color: var(--ink); }
.flag-note { margin-top: 12px; font-size: 15px; font-weight: 600; color: #8A1C12; }
.checklist-foot { margin-top: 28px; }
@media print {
  .flag-group { break-inside: avoid; }
  .checklist-cta { display: none !important; }
}

.eyebrow::before, .logo-i::after, .footer-tagline::before, .portrait::after,
.hero::after, .page-hero::after, .section--dark::before, .cta-band::before {
  --pill-x: translate(0, 0); --pill-r: -30deg; --pill-amp: 1;
}
.logo-i::after { --pill-x: translateX(-50%); }
.footer-tagline::before { --pill-r: 0deg; }
.portrait::after { --pill-amp: 0.6; }
.hero::after, .page-hero::after, .section--dark::before, .cta-band::before { --pill-amp: 0.35; }

@keyframes pill-jiggle {
  0%   { transform: var(--pill-x) rotate(var(--pill-r)); }
  22%  { transform: var(--pill-x) rotate(calc(var(--pill-r) + 18deg * var(--pill-amp))); }
  38%  { transform: var(--pill-x) rotate(calc(var(--pill-r) + 12deg * var(--pill-amp))); }
  52%  { transform: var(--pill-x) rotate(calc(var(--pill-r) + 14deg * var(--pill-amp))); }
  74%  { transform: var(--pill-x) rotate(calc(var(--pill-r) - 5deg * var(--pill-amp))); }
  88%  { transform: var(--pill-x) rotate(calc(var(--pill-r) + 2deg * var(--pill-amp))); }
  100% { transform: var(--pill-x) rotate(var(--pill-r)); }
}

.eyebrow.jiggle::before, .eyebrow:hover::before,
.card:hover .eyebrow::before, .pf-card:hover .eyebrow::before, .section-head:hover .eyebrow::before,
.footer-tagline.jiggle::before, .footer-tagline:hover::before,
.logo.jiggle .logo-i::after, span.logo:hover .logo-i::after,
.portrait.jiggle::after, .portrait:hover::after,
.hero.jiggle::after, .page-hero.jiggle::after,
.section--dark.jiggle::before, .cta-band.jiggle::before {
  animation: pill-jiggle 1.1s cubic-bezier(0.37, 0, 0.3, 1);
}
.hero.jiggle::after, .page-hero.jiggle::after, .section--dark.jiggle::before, .cta-band.jiggle::before { animation-duration: 1.6s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

@media print {
  .site-header, .cta-band, .site-footer nav, .skip-link, .subnav, .pathfinder { display: none !important; }
  .section, .page-hero { padding: 24px 0; }
  .section--dark, .stat p { background: #FFFFFF; color: var(--ink); }
  .stat-num { color: var(--teal); }
  .section--dark, .cta-band { background: #FFFFFF !important; }
  .hero::after, .page-hero::after, .section--dark::before, .cta-band::before, .site-header::before { display: none !important; }
}
