
:root {
  --ink: #12352f;
  --deep: #163f38;
  --river: #2f6f68;
  --blue: #426f86;
  --copper: #b46a44;
  --sand: #d8c5a6;
  --cream: #fbf8ef;
  --paper: #fffdf7;
  --mint: #e8f1ec;
  --line: rgba(18, 53, 47, .16);
  --muted: #5d716d;
  --shadow: 0 28px 80px rgba(18, 53, 47, .14);
  --sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(180,106,68,.18), transparent 28rem),
    radial-gradient(circle at 92% 12%, rgba(66,111,134,.16), transparent 34rem),
    linear-gradient(135deg, var(--cream), #f6f7ed 52%, #e8f1ec);
  font-family: var(--sans);
  line-height: 1.58;
  overflow-x: hidden;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.skip-link { position:absolute; left:-999px; top:8px; background:var(--ink); color:white; padding:8px 12px; z-index:999; }
.skip-link:focus { left:8px; }
.site-header { position:sticky; top:0; z-index:100; border-bottom:1px solid var(--line); background:rgba(251,248,239,.9); backdrop-filter:blur(18px); }
.utility { display:flex; align-items:center; gap:12px; max-width:1240px; margin:0 auto; padding:8px 22px; color:var(--muted); border-bottom:1px solid rgba(18,53,47,.09); font-size:12px; }
.utility span { margin-right:auto; color:var(--deep); font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.utility strong { color:var(--copper); letter-spacing:.1em; text-transform:uppercase; font-size:11px; }
.utility a { border:1px solid var(--line); border-radius:999px; padding:6px 10px; background:rgba(255,255,255,.66); text-decoration:none; font-weight:850; white-space:nowrap; }
.utility a[href^="tel"] { color:white; background:var(--ink); border-color:var(--ink); }
.nav { display:flex; align-items:center; gap:16px; max-width:1240px; min-height:78px; margin:0 auto; padding:12px 22px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { width:58px; height:58px; }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand strong { font-family:var(--serif); font-size:25px; line-height:.92; letter-spacing:-.04em; }
.brand small { margin-top:7px; color:var(--river); font-size:10px; font-weight:950; letter-spacing:.18em; text-transform:uppercase; }
.desktop-links { display:flex; gap:15px; margin-left:auto; }
.desktop-links a { color:var(--deep); font-size:13px; font-weight:850; text-decoration:none; white-space:nowrap; }
.desktop-links a:hover { color:var(--copper); }
.nav-actions { display:flex; align-items:center; gap:8px; }
.nav-actions a { min-height:42px; display:inline-flex; align-items:center; border-radius:999px; padding:0 14px; font-size:13px; font-weight:950; text-decoration:none; }
.nav-call { color:white; background:var(--ink); }
.nav-ghost { border:1px solid var(--line); background:white; color:var(--deep); }
.menu-button { display:none; margin-left:auto; width:44px; height:44px; border:1px solid var(--line); border-radius:999px; background:white; place-content:center; gap:4px; }
.menu-button span { display:block; width:18px; height:2px; background:var(--ink); border-radius:999px; }
.mobile-menu { display:none; padding:0 18px 18px; border-top:1px solid var(--line); }
.mobile-menu.open { display:grid; gap:6px; }
.mobile-menu a { padding:12px; border-bottom:1px solid rgba(18,53,47,.1); text-decoration:none; font-weight:850; }
.mobile-cta { border-radius:12px; background:var(--ink); color:white; text-align:center; border-bottom:0 !important; }
.mobile-cta.ghost { background:white; color:var(--ink); border:1px solid var(--line) !important; }
.hero, .page-hero { max-width:1240px; margin:0 auto; padding:clamp(38px, 7vw, 88px) 22px; }
.home-hero { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(330px, .9fr); gap:clamp(24px, 5vw, 58px); align-items:center; min-height:74vh; }
.eyebrow { margin:0 0 14px; color:var(--copper); font-size:12px; font-weight:950; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow::after { content:""; display:block; width:52px; height:3px; margin-top:11px; border-radius:999px; background:var(--copper); }
.eyebrow.dark { color:var(--river); }
h1, h2, h3, p { margin-top:0; }
h1 { max-width:11ch; margin-bottom:20px; font-family:var(--serif); font-size:clamp(48px, 9.5vw, 104px); line-height:.84; letter-spacing:-.075em; color:var(--ink); }
.page-hero h1 { max-width:14ch; font-size:clamp(42px, 7vw, 80px); }
h2 { margin-bottom:16px; font-family:var(--serif); font-size:clamp(32px, 5.2vw, 62px); line-height:.95; letter-spacing:-.052em; color:var(--ink); }
h3 { margin-bottom:10px; font-family:var(--serif); font-size:clamp(24px, 2.4vw, 34px); line-height:1.02; letter-spacing:-.035em; color:var(--deep); }
.hero-text, .page-hero p, .section-head p, .content-wrap p, .coverage-copy p, .cta p, .form-card p { max-width:820px; color:var(--muted); font-size:clamp(18px, 2.2vw, 24px); line-height:1.48; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.hero-actions.centered { justify-content:center; }
.btn { min-height:54px; display:inline-flex; align-items:center; justify-content:center; border:2px solid transparent; border-radius:999px; padding:0 18px; text-decoration:none; font-weight:950; text-align:center; }
.btn-call { background:#dcebe4; border-color:#bfd4ca; color:var(--ink); }
.btn-primary { background:var(--ink); color:white; }
.btn-secondary { background:white; border-color:var(--line); color:var(--ink); }
.hero-panel { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:34px; background:linear-gradient(145deg, white, #f3eee3); padding:clamp(20px, 3vw, 32px); box-shadow:var(--shadow); }
.panel-map { display:block; width:100%; border-radius:24px; border:1px solid rgba(18,53,47,.12); background:white; }
.panel-kicker { margin:22px 0 8px; color:var(--river); font-size:12px; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }
.hero-panel h2 { font-size:clamp(28px, 3.2vw, 42px); }
.chip-cloud { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.chip-cloud a, .chip-cloud span { border:1px solid rgba(18,53,47,.16); border-radius:999px; background:rgba(255,255,255,.75); padding:9px 12px; color:var(--deep); font-size:13px; font-weight:900; text-decoration:none; }
.chip-cloud.towns a { background:white; }
.trust-band { max-width:1240px; margin:0 auto; padding:0 22px 44px; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.trust-band article { border:1px solid var(--line); border-radius:22px; padding:20px; background:rgba(255,255,255,.78); box-shadow:0 14px 40px rgba(18,53,47,.07); }
.trust-band strong { display:block; font-size:19px; color:var(--deep); margin-bottom:7px; }
.trust-band span { color:var(--muted); }
.card-section, .content-band, .coverage-band, .faq-band, .form-band { padding:clamp(44px, 7vw, 82px) 22px; }
.section-head, .content-wrap, .faq-band, .form-card { max-width:1120px; margin:0 auto; }
.section-head { margin-bottom:28px; }
.card-grid { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.card-grid.three .card:nth-child(4) { grid-column:auto; }
.card { min-height:260px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:24px; padding:24px; background:rgba(255,255,255,.82); text-decoration:none; box-shadow:0 18px 50px rgba(18,53,47,.08); transition:transform .18s ease, box-shadow .18s ease; }
.card:hover { transform:translateY(-4px); box-shadow:0 26px 62px rgba(18,53,47,.13); }
.card p { color:var(--muted); }
.card span { margin-top:auto; color:var(--copper); font-weight:950; }
.content-band:nth-of-type(odd) { background:rgba(255,255,255,.36); border-block:1px solid rgba(18,53,47,.08); }
.content-wrap { display:grid; grid-template-columns:minmax(0, .72fr) minmax(0, 1fr); gap:clamp(20px, 5vw, 70px); align-items:start; }
.coverage-band { display:grid; grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr); gap:clamp(22px, 5vw, 58px); align-items:center; max-width:1240px; margin:0 auto; }
.coverage-map img { width:100%; border:1px solid var(--line); border-radius:28px; background:white; box-shadow:var(--shadow); }
.cta { padding:clamp(58px, 8vw, 96px) 22px; color:white; text-align:center; background:linear-gradient(135deg, #102d28, #255b53 58%, #79482f); }
.cta h2 { max-width:900px; margin-left:auto; margin-right:auto; color:white; }
.cta p { margin-left:auto; margin-right:auto; color:rgba(255,255,255,.8); }
.cta .btn-secondary { color:white; background:transparent; border-color:rgba(255,255,255,.38); }
.faq-band details { max-width:900px; margin:0 auto 12px; border:1px solid var(--line); border-radius:18px; padding:18px 20px; background:white; }
.faq-band summary { cursor:pointer; font-weight:950; color:var(--ink); }
.faq-band p { color:var(--muted); }
.form-card { border:1px solid var(--line); border-radius:28px; padding:clamp(20px, 4vw, 34px); background:white; box-shadow:var(--shadow); }
form { display:grid; gap:16px; margin-top:22px; }
label { display:grid; gap:7px; color:var(--deep); font-weight:900; }
label span { font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
input, select, textarea { width:100%; border:1px solid var(--line); border-radius:14px; padding:13px 14px; background:#fbfaf5; color:var(--ink); font:inherit; }
input:focus, select:focus, textarea:focus { outline:0; border-color:var(--river); box-shadow:0 0 0 4px rgba(47,111,104,.14); background:white; }
.footer { padding:54px 22px 110px; color:rgba(255,255,255,.76); background:#102d28; }
.footer-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.2fr .7fr 1.1fr .9fr; gap:28px; }
.footer h2, .footer h3 { color:white; }
.footer h2 { margin-bottom:12px; font-family:var(--serif); font-size:36px; letter-spacing:-.04em; }
.footer h3 { margin-bottom:12px; font-size:13px; letter-spacing:.15em; text-transform:uppercase; }
.footer a { display:block; color:rgba(255,255,255,.82); margin:7px 0; }
.footer-note { color:rgba(255,255,255,.58); font-size:13px; }
.footer-links { column-count:2; column-gap:18px; }
.footer-bottom { max-width:1240px; margin:34px auto 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.56); font-size:12px; }
.footer-bottom a { display:inline; color:rgba(255,255,255,.75); }
.sticky-actions { position:fixed; left:0; right:0; bottom:0; z-index:140; display:none; gap:8px; padding:9px; border-top:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); box-shadow:0 -12px 34px rgba(18,53,47,.16); }
.sticky-actions a { flex:1; min-height:46px; display:grid; place-items:center; border-radius:12px; background:var(--ink); color:white; text-decoration:none; font-weight:950; }
.sticky-actions a:nth-child(2), .sticky-actions a:nth-child(3) { background:white; color:var(--ink); border:1px solid var(--line); }
@media (max-width:1080px) {
  .desktop-links, .nav-actions { display:none; }
  .menu-button { display:grid; }
  .home-hero, .coverage-band, .content-wrap, .footer-grid { grid-template-columns:1fr; }
  .card-grid, .trust-band { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
  .utility strong, .utility a[href^="mailto"], .utility span { display:none; }
  .utility { justify-content:center; }
  .utility a[href^="tel"] { width:100%; justify-content:center; text-align:center; }
  .nav { min-height:70px; padding:10px 16px; }
  .brand strong { font-size:22px; }
  .brand img { width:48px; height:48px; }
  .hero, .page-hero { padding:34px 16px; }
  h1 { font-size:43px; line-height:.9; }
  .hero-text, .page-hero p { font-size:17px; }
  .hero-actions .btn { width:100%; }
  .trust-band, .card-grid { grid-template-columns:1fr; }
  .card-section, .content-band, .coverage-band, .faq-band, .form-band { padding:40px 16px; }
  .footer { padding:42px 16px 92px; }
  .footer-links { column-count:1; }
  .sticky-actions { display:flex; }
}

/* ============================================================
   METRO EAST HEALTH — v2 patient-facing design layer
   ============================================================ */
:root{
  --gold:#c98a4b; --gold-deep:#b06f33;
  --ink-soft:#274a43; --wash:rgba(255,255,255,.66);
  --ring:0 0 0 4px rgba(47,111,104,.16);
}
body{ line-height:1.62; }
::selection{ background:rgba(180,106,68,.22); }

/* gentle entrance + scroll reveal */
@media (prefers-reduced-motion:no-preference){
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
  .reveal.in{ opacity:1; transform:none; }
  .reveal.d1{ transition-delay:.06s } .reveal.d2{ transition-delay:.12s } .reveal.d3{ transition-delay:.18s } .reveal.d4{ transition-delay:.24s }
}

/* refined buttons */
.btn{ transition:transform .16s ease, box-shadow .16s ease, background .16s ease; letter-spacing:-.01em; }
.btn-primary{ background:linear-gradient(135deg,var(--ink),#1f4f47); box-shadow:0 12px 30px rgba(16,45,40,.26); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 18px 40px rgba(16,45,40,.32); }
.btn-call{ background:linear-gradient(135deg,#e7f1ea,#d3e6dc); }
.btn-call:hover,.btn-secondary:hover{ transform:translateY(-2px); }
a.card:focus-visible,.btn:focus-visible,.chip-cloud a:focus-visible,summary:focus-visible{ outline:0; box-shadow:var(--ring); border-radius:14px; }

/* hero polish */
.home-hero .hero-text{ font-size:clamp(18px,2.1vw,23px); }
.hero-reassure{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:22px; color:var(--ink-soft); font-weight:850; font-size:14px; }
.hero-reassure span{ display:inline-flex; align-items:center; gap:8px; }
.hero-reassure span::before{ content:""; width:18px; height:18px; flex:none; border-radius:50%;
  background:radial-gradient(circle at 50% 42%, #fff 0 24%, transparent 25%), var(--river);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.55); }

/* the river rule — signature divider */
.river-rule{ height:2px; max-width:1240px; margin:0 auto; border:0;
  background:linear-gradient(90deg,transparent,var(--sand) 12%,var(--copper) 50%,var(--sand) 88%,transparent); opacity:.6; }

/* AUDIENCE ROUTER — homepage signature */
.audience{ max-width:1240px; margin:0 auto; padding:clamp(40px,6vw,72px) 22px 8px; }
.audience .section-head{ text-align:center; max-width:760px; margin:0 auto 30px; }
.audience .section-head p{ margin-inline:auto; }
.audience-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.audience-card{ position:relative; display:flex; flex-direction:column; min-height:230px; padding:24px 22px;
  border:1px solid var(--line); border-radius:22px; text-decoration:none; overflow:hidden;
  background:linear-gradient(160deg,#fff, #f6f1e6); box-shadow:0 16px 44px rgba(18,53,47,.09);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.audience-card:hover{ transform:translateY(-5px); box-shadow:0 26px 60px rgba(18,53,47,.16); border-color:rgba(180,106,68,.4); }
.audience-card .glyph{ width:46px; height:46px; margin-bottom:16px; border-radius:13px; display:grid; place-items:center;
  background:var(--mint); color:var(--river); border:1px solid rgba(47,111,104,.2); }
.audience-card .glyph svg{ width:24px; height:24px; }
.audience-card h3{ font-size:clamp(20px,2vw,25px); margin-bottom:7px; }
.audience-card p{ color:var(--muted); font-size:15px; line-height:1.5; margin:0; }
.audience-card .go{ margin-top:auto; padding-top:14px; color:var(--copper); font-weight:950; font-size:14px; }
.audience-card .go::after{ content:" \2192"; transition:margin .18s ease; }
.audience-card:hover .go::after{ margin-left:5px; }

/* generic feature/section helpers */
.lede{ max-width:760px; color:var(--muted); font-size:clamp(18px,2.1vw,22px); }
.wrap{ max-width:1120px; margin:0 auto; }
.section{ padding:clamp(44px,7vw,84px) 22px; }
.section.tint{ background:var(--wash); border-block:1px solid rgba(18,53,47,.07); }

/* steps — "what happens next" */
.steps{ max-width:1120px; margin:26px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; counter-reset:step; }
.steps.four{ grid-template-columns:repeat(4,1fr); }
.step{ position:relative; padding:26px 22px 22px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(18,53,47,.07); }
.step::before{ counter-increment:step; content:counter(step,decimal-leading-zero); display:block; margin-bottom:12px;
  font-family:var(--serif); font-size:34px; line-height:1; color:var(--copper); letter-spacing:-.04em; }
.step h3{ font-size:21px; margin-bottom:6px; }
.step p{ color:var(--muted); font-size:15px; margin:0; }

/* explainer two-column (condition / service body) */
.explainer{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(24px,5vw,60px); align-items:start; }
.explainer h2{ font-size:clamp(28px,4vw,46px); }
.prose p{ color:var(--ink-soft); font-size:17px; margin-bottom:16px; }
.prose p.big{ font-size:clamp(19px,2.1vw,22px); color:var(--ink); }
.prose strong{ color:var(--ink); }

/* signs / checklist grid */
.signs{ display:grid; gap:10px; padding:24px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(160deg,#fff,#f7f2e8); box-shadow:0 16px 44px rgba(18,53,47,.08); }
.signs h3{ font-size:19px; margin-bottom:4px; }
.signs ul{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.signs li{ position:relative; padding-left:30px; color:var(--ink-soft); font-size:15.5px; }
.signs li::before{ content:""; position:absolute; left:0; top:3px; width:18px; height:18px; border-radius:6px;
  background:var(--mint); border:1px solid rgba(47,111,104,.34); }
.signs li::after{ content:""; position:absolute; left:6px; top:7px; width:5px; height:9px; border:2px solid var(--river); border-top:0; border-left:0; transform:rotate(40deg); }
.signs.alert{ background:linear-gradient(160deg,#fff,#fbeee6); }
.signs.alert li::before{ background:#fbe3d6; border-color:rgba(180,106,68,.5); }
.signs.alert li::after{ border-color:var(--copper); }

/* callout / reassurance band */
.callout{ max-width:1000px; margin:30px auto 0; padding:24px 26px; border-radius:20px;
  background:var(--mint); border:1px solid rgba(47,111,104,.22); color:var(--ink); }
.callout strong{ color:var(--deep); }
.callout.warn{ background:#fbeee6; border-color:rgba(180,106,68,.3); }

/* pill row (services / who-we-help) */
.pill-row{ display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.pill-row a,.pill-row span{ border:1px solid var(--line); border-radius:999px; background:#fff; padding:10px 14px; color:var(--deep); font-weight:850; font-size:14px; text-decoration:none; transition:border-color .16s, transform .16s; }
.pill-row a:hover{ border-color:var(--copper); transform:translateY(-2px); }

/* feature cards (services index, audience supports) */
.feature-grid{ max-width:1120px; margin:26px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature{ display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.85); box-shadow:0 16px 44px rgba(18,53,47,.07); text-decoration:none; transition:transform .18s, box-shadow .18s; }
a.feature:hover{ transform:translateY(-4px); box-shadow:0 24px 58px rgba(18,53,47,.13); }
.feature h3{ font-size:22px; margin-bottom:8px; }
.feature p{ color:var(--muted); font-size:15px; margin:0 0 12px; }
.feature .go{ margin-top:auto; color:var(--copper); font-weight:950; font-size:14px; }
a.feature:hover .go::after{ margin-left:5px; }
.feature .go::after{ content:" \2192"; transition:margin .18s; }

/* local band (town pages) */
.local{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(22px,5vw,56px); align-items:center; }
.local .map-card{ border:1px solid var(--line); border-radius:24px; overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.local .map-card img{ display:block; width:100%; }

/* nearby town chips, smaller */
.nearby{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.nearby a{ border:1px solid var(--line); border-radius:999px; background:#fff; padding:8px 12px; font-size:13px; font-weight:850; color:var(--deep); text-decoration:none; }
.nearby a:hover{ border-color:var(--copper); }

/* phone emphasis inside prose */
.tel-big{ display:inline-flex; align-items:baseline; gap:10px; margin-top:6px; font-family:var(--serif); font-size:clamp(26px,3.4vw,38px); letter-spacing:-.03em; color:var(--ink); text-decoration:none; }
.tel-big small{ font-family:var(--sans); font-size:13px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:var(--river); }

@media (max-width:1080px){
  .audience-grid{ grid-template-columns:1fr 1fr; }
  .steps,.steps.four,.feature-grid{ grid-template-columns:1fr 1fr; }
  .explainer,.local{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .audience-grid,.steps,.steps.four,.feature-grid{ grid-template-columns:1fr; }
  .audience{ padding-top:36px; }
}

/* ============ v3 — card redesign + topic surfacing ============ */
:root{ --accent-bar:linear-gradient(90deg,#bf7048,#1f5e54); }

/* feature + audience cards: crisper, accent rule, icon slot */
.feature, .audience-card{
  position:relative; background:#fffefb; border:1px solid #e7e0d0; border-radius:20px;
  box-shadow:0 1px 0 rgba(18,53,47,.04), 0 18px 40px -24px rgba(18,53,47,.45);
  overflow:hidden; isolation:isolate;
}
.feature::before, .audience-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--accent-bar);
  transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
.feature:hover::before, .audience-card:hover::before{ transform:scaleX(1); }
.feature:hover, .audience-card:hover{
  transform:translateY(-5px); border-color:#d9cdb2;
  box-shadow:0 1px 0 rgba(18,53,47,.04), 0 30px 60px -28px rgba(18,53,47,.55);
}
.feature .ic, .topic .ic{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center; margin-bottom:14px;
  background:linear-gradient(160deg,#1f5e54,#11362f); color:#eef6f1; flex:none;
}
.feature .ic svg, .topic .ic svg{ width:24px; height:24px; }
.feature h3{ letter-spacing:-.01em; }

/* topic grid — compact, named, Googleable */
.topic-grid{ max-width:1120px; margin:26px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.topic{
  display:flex; gap:14px; align-items:flex-start; padding:18px 18px; border-radius:16px;
  background:#fffefb; border:1px solid #e7e0d0; text-decoration:none; transition:.2s;
  box-shadow:0 14px 34px -26px rgba(18,53,47,.5);
}
.topic:hover{ transform:translateY(-3px); border-color:#d2c4a6; box-shadow:0 24px 48px -28px rgba(18,53,47,.6); }
.topic .ic{ width:42px; height:42px; margin:0; border-radius:12px; }
.topic .tx{ display:flex; flex-direction:column; gap:3px; }
.topic .tx strong{ color:var(--ink); font-size:17px; letter-spacing:-.01em; line-height:1.2; }
.topic .tx span{ color:var(--muted); font-size:13.5px; line-height:1.45; }
.topic .tx .also{ color:#9a8f78; font-size:12px; font-style:italic; }

/* "one team" bi-state band */
.oneteam{ max-width:1120px; margin:0 auto; padding:clamp(28px,4vw,44px); border-radius:26px;
  background:linear-gradient(150deg,#12352f,#0e2a25); color:#eaf2ed; position:relative; overflow:hidden; }
.oneteam::after{ content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle,rgba(95,151,170,.28),transparent 70%); }
.oneteam .eyebrow{ color:#8fc3cf; }
.oneteam h2{ color:#fff; max-width:18ch; }
.oneteam p{ color:#cdded6; max-width:62ch; }
.oneteam-cols{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:24px; position:relative; }
.oneteam-cols .col{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:20px; }
.oneteam-cols .col h3{ color:#fff; font-size:19px; margin-bottom:6px; }
.oneteam-cols .col p{ color:#bcd0c8; font-size:14.5px; margin:0; }
.oneteam-cols .col .badge{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase;
  color:#0e2a25; background:#d8c5a6; padding:3px 9px; border-radius:999px; margin-bottom:10px; }
.oneteam .line{ position:relative; margin-top:22px; color:#9fb8b0; font-size:14px; }

@media (max-width:760px){ .topic-grid{ grid-template-columns:1fr; } .oneteam-cols{ grid-template-columns:1fr; } }
.footer-bottom .micro{ font-size:12.5px; color:#7f8d86; margin-top:8px; }
.footer-bottom strong{ color:#cdded6; }
