/* ATM Atlas design system — approved brand (Oct 3, 2026): navy #062B4C,
   cyan #00A5EE, pin gradient #0075D5 → #00A9F4, ice #EEF5FA, Arial.
   Cyan is a fill/large-type colour; small text and white-on-button use the
   contrast-checked --accent tokens below. */
:root {
  /* Approved logo colours (exact) */
  --brand-navy: #062B4C;
  --brand-cyan: #00A5EE;
  --brand-blue: #0075D5;      /* pin gradient top */
  --brand-pin: #00A9F4;       /* pin gradient bottom */
  /* Supporting palette (recommended) */
  --ice: #EEF5FA;
  --slate: #678197;           /* large/decorative only (4.1:1 on white) */
  /* Accessible working tokens (contrast checked on white) */
  --navy: #062B4C;            /* 13.9:1 */
  --navy-700: #0B3F6B;
  --navy-950: #041C33;
  --accent: #0075D5;          /* buttons: white text 4.7:1 */
  --accent-hover: #005CAB;    /* 6.6:1 */
  --accent-ink: #005FAF;      /* links/small text 6.4:1 */
  --accent-50: #EAF4FC;
  --accent-100: #CDE5F8;
  --provider: #00A5EE;        /* provider CTA fill, navy text 5.2:1 */
  --provider-hover: #0094D6;
  --ink: #062B4C;
  --text: #1E3550;
  --muted: #4C6378;           /* 6.0:1 */
  --subtle: #5A7086;          /* 5.0:1 */
  --line: #D6E2EC;
  --line-soft: #E6EEF5;
  --field: #7A90A5;           /* input borders 3.2:1 */
  --bg: #F4F8FB;
  --surface: #FFFFFF;
  --ok: #17663F; --ok-bg: #E7F4EC; --ok-line: #A9D8BD;
  --warn: #7A4E00; --warn-bg: #FFF4D6; --warn-line: #F0D48A;
  --danger: #B42318; --danger-bg: #FDECEA; --danger-line: #F2B8B2;
  --info-bg: #EEF5FA;
  --focus: #0075D5;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 1px 2px rgba(6, 43, 76, .06), 0 2px 8px rgba(6, 43, 76, .05);
  --shadow-lg: 0 12px 32px rgba(6, 43, 76, .16);
  --font: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --font-display: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --wrap: 1720px;
  --wrap-text: 1180px;
  --gutter: 16px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  /* Legacy aliases so existing components follow the new brand */
  --teal: var(--brand-cyan);
  --teal-btn: var(--accent);
  --teal-btn-hover: var(--accent-hover);
  --teal-ink: var(--accent-ink);
  --teal-50: var(--accent-50);
  --teal-100: var(--accent-100);
}
@media (min-width: 768px) { :root { --gutter: 32px; } }
@media (min-width: 1440px) { :root { --gutter: 48px; } }

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; font-family: var(--font); font-size: 16px; line-height: 1.55; color: var(--text);
  background: var(--bg); -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img, svg { max-width: 100%; }
a { color: var(--teal-ink); text-underline-offset: 2px; }
a:hover { color: var(--navy); }
h1, h2, h3, h4 { font-family: var(--font-display); color: var(--ink); line-height: 1.18; margin: 0 0 .5em; letter-spacing: -.005em; }
h1 { font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.6rem); font-weight: 700; }
h2 { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); font-weight: 700; }
h3 { font-size: 1.125rem; font-weight: 700; }
h4 { font-size: 1rem; font-weight: 700; }
p { margin: 0 0 1em; }
small, .small { font-size: .875rem; }
.muted { color: var(--muted); }
.subtle { color: var(--subtle); }
.nowrap { white-space: nowrap; }
.break { overflow-wrap: anywhere; word-break: break-word; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.skip-link { position: absolute; left: 8px; top: -60px; background: var(--navy); color: #fff; padding: 10px 14px; border-radius: 8px; z-index: 100; }
.skip-link:focus { top: 8px; color: #fff; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.wrap-narrow { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter); }
.stack > * + * { margin-top: 1rem; }
.row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.row-between { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.grid { display: grid; gap: 16px; }
@media (min-width: 640px) { .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 899px) { .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.section { padding-top: 40px; padding-bottom: 40px; }
@media (min-width: 900px) { .section { padding-top: 56px; padding-bottom: 56px; } }
.section-tight { padding-top: 24px; padding-bottom: 24px; }
.eyebrow { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--teal-ink); margin-bottom: .5rem; }

/* ── Header ─────────────────────────────────────────── */
.site-header { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 40; }
.site-header .wrap { display: flex; align-items: center; gap: 16px; min-height: 64px; }
.brand { display: inline-flex; align-items: center; flex: none; }
.brand img { height: 30px; width: auto; display: block; }
@media (min-width: 900px) { .brand img { height: 34px; } }
.nav { display: none; margin-left: auto; align-items: center; gap: 4px; }
.nav a:not(.btn) { color: var(--text); text-decoration: none; font-weight: 600; font-size: .9375rem; padding: 8px 12px; border-radius: 8px; }
.nav a:not(.btn):hover, .nav a[aria-current="page"] { background: var(--teal-50); color: var(--navy); }
.nav .btn { margin-left: 8px; }
.menu-btn { margin-left: auto; }
@media (min-width: 980px) { .nav { display: flex; } .menu-btn { display: none !important; } }

.drawer-backdrop { position: fixed; inset: 0; background: rgba(11, 28, 44, .45); z-index: 60; }
.drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(88vw, 360px); background: var(--surface); z-index: 61;
  display: flex; flex-direction: column; box-shadow: var(--shadow-lg); padding: 16px 16px calc(16px + var(--safe-bottom)); overflow-y: auto; }
.drawer[hidden], .drawer-backdrop[hidden] { display: none; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.drawer nav a:not(.btn) { display: block; padding: 14px 12px; border-radius: 10px; color: var(--ink); font-weight: 600; text-decoration: none; font-size: 1.0625rem; }
.drawer nav a:not(.btn):hover { background: var(--teal-50); }
.drawer .btn { width: 100%; margin-top: 12px; }
@media (prefers-reduced-motion: no-preference) { .drawer { animation: slideIn .18s ease-out; } }
@keyframes slideIn { from { transform: translateX(16px); opacity: .6; } to { transform: none; opacity: 1; } }

/* ── Buttons ────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px;
  border-radius: 10px; border: 1px solid transparent; font: 650 .9375rem/1.2 var(--font); text-decoration: none; cursor: pointer;
  background: var(--surface); color: var(--ink); white-space: nowrap; transition: background-color .15s, border-color .15s, color .15s; }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn-primary { background: var(--teal-btn); color: #fff; }
.btn-primary:hover { background: var(--teal-btn-hover); color: #fff; }
.btn-navy { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-950); color: #fff; }
.btn-outline { border-color: var(--field); color: var(--ink); background: var(--surface); }
.btn-outline:hover { border-color: var(--navy); background: var(--bg); color: var(--ink); }
.btn-ghost { background: transparent; color: var(--ink); }
.btn-ghost:hover { background: var(--teal-50); color: var(--ink); }
.btn-danger { background: var(--danger); color: #fff; }
.btn-danger:hover { background: #8F1C13; color: #fff; }
.btn-danger-outline { border-color: var(--danger-line); color: var(--danger); background: var(--surface); }
.btn-danger-outline:hover { background: var(--danger-bg); color: var(--danger); }
.btn-sm { min-height: 36px; padding: 6px 12px; font-size: .875rem; border-radius: 8px; }
.btn-lg { min-height: 52px; padding: 12px 22px; font-size: 1rem; }
.btn-block { width: 100%; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.link-btn { background: none; border: 0; padding: 0; color: var(--teal-ink); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.link-btn:hover { color: var(--navy); }

/* ── Forms ─────────────────────────────────────────── */
.field { display: block; margin-bottom: 16px; }
.field > label, .label { display: block; font-weight: 650; color: var(--ink); margin-bottom: 6px; font-size: .9375rem; }
.hint { display: block; color: var(--muted); font-size: .875rem; margin-top: 4px; }
.optional { font-weight: 500; color: var(--subtle); font-size: .8125rem; }
.input, .select, .textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--field); border-radius: var(--radius-sm);
  font: 400 1rem/1.4 var(--font); color: var(--ink); background: var(--surface); }
.textarea { min-height: 120px; resize: vertical; }
.select { appearance: none; -webkit-appearance: none; padding-right: 36px;
  background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%23142D44' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center; }
.input:focus, .select:focus, .textarea:focus { outline: 3px solid rgba(29, 111, 216, .35); outline-offset: 0; border-color: var(--focus); }
.input[aria-invalid="true"], .select[aria-invalid="true"], .textarea[aria-invalid="true"] { border-color: var(--danger); }
.field-error { display: flex; gap: 6px; color: var(--danger); font-size: .875rem; font-weight: 600; margin-top: 6px; }
.check { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; cursor: pointer; }
.check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--teal-btn); flex: none; }
.check span { line-height: 1.4; }
.code-input { font: 700 1.75rem/1 ui-monospace, "SF Mono", Menlo, monospace; letter-spacing: .4em; text-align: center; padding: 14px 8px; max-width: 280px; }
fieldset { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
legend { font-weight: 700; color: var(--ink); margin-bottom: 8px; padding: 0; }
.choice-grid { display: grid; gap: 8px; }
@media (min-width: 560px) { .choice-grid.cols-2 { grid-template-columns: 1fr 1fr; } }
.choice { position: relative; display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; }
.choice:hover { border-color: var(--field); }
.choice input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--teal-btn); flex: none; }
.choice:has(input:checked) { border-color: var(--teal-btn); background: var(--teal-50); }
.choice strong { display: block; color: var(--ink); }
.choice small { color: var(--muted); }
.pill-radio { display: flex; flex-wrap: wrap; gap: 8px; }
.pill-radio label { position: relative; }
.pill-radio input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.pill-radio span { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border: 1px solid var(--field); border-radius: 999px; font-weight: 600; font-size: .9375rem; color: var(--ink); background: var(--surface); }
.pill-radio input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.pill-radio input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }

/* ── Cards, chips, badges ──────────────────────────── */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.card-pad { padding: 20px; }
@media (min-width: 768px) { .card-pad { padding: 24px; } }
.card-title { font-size: 1.0625rem; margin-bottom: 4px; }
.divider { border: 0; border-top: 1px solid var(--line); margin: 20px 0; }
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: .8125rem; font-weight: 650; line-height: 1.5;
  background: var(--info-bg); color: var(--navy); border: 1px solid transparent; white-space: nowrap; }
.chip svg { width: 14px; height: 14px; }
.chip-teal { background: var(--teal-50); color: var(--teal-ink); border-color: var(--teal-100); }
.chip-ok { background: var(--ok-bg); color: var(--ok); border-color: var(--ok-line); }
.chip-warn { background: var(--warn-bg); color: var(--warn); border-color: var(--warn-line); }
.chip-danger { background: var(--danger-bg); color: var(--danger); border-color: var(--danger-line); }
.chip-muted { background: #F0F2F5; color: var(--muted); border-color: var(--line); }
.chip-outline { background: var(--surface); color: var(--text); border-color: var(--line); }
.dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; display: inline-block; flex: none; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.badge-verified { background: var(--ok-bg); color: var(--ok); border: 1px solid var(--ok-line); }
.badge-unverified { background: #F0F2F5; color: #3D4E61; border: 1px solid var(--line); }

/* ── Alerts ────────────────────────────────────────── */
.alert { display: flex; gap: 10px; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line); background: var(--info-bg); color: var(--ink); font-size: .9375rem; margin-bottom: 16px; }
.alert svg { width: 20px; height: 20px; flex: none; margin-top: 1px; }
.alert p:last-child { margin-bottom: 0; }
.alert-ok { background: var(--ok-bg); border-color: var(--ok-line); color: #10482C; }
.alert-warn { background: var(--warn-bg); border-color: var(--warn-line); color: #5A3A00; }
.alert-danger { background: var(--danger-bg); border-color: var(--danger-line); color: #7A1810; }
.notice-demo { background: repeating-linear-gradient(-45deg, #FFF4D6, #FFF4D6 12px, #FFEDC2 12px, #FFEDC2 24px); border: 1px solid var(--warn-line); color: #5A3A00; padding: 10px 14px; border-radius: 10px; font-weight: 600; font-size: .9375rem; }

/* ── Hero + search ─────────────────────────────────── */
.hero { background: linear-gradient(180deg, #EEF6F6 0%, #F5F7F9 100%); border-bottom: 1px solid var(--line-soft); padding: 28px 0 32px; }
@media (min-width: 900px) { .hero { padding: 48px 0 52px; } }
.hero h1 { max-width: 22ch; }
.hero-lede { font-size: 1.0625rem; color: var(--text); max-width: 60ch; }
@media (min-width: 900px) { .hero-lede { font-size: 1.125rem; } }
.hero-grid { display: grid; gap: 20px; }
@media (min-width: 980px) { .hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 40px; align-items: end; } }
.hero-join { margin: -4px 0 0; font-weight: 600; color: var(--ink); }
@media (min-width: 980px) { .hero-join { display: none; } }
.trust { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 14px 0 0; padding: 0; list-style: none; font-weight: 650; color: var(--navy); font-size: .9375rem; }
.trust li { display: inline-flex; align-items: center; gap: 6px; }
.trust svg { width: 18px; height: 18px; color: var(--teal-btn); }
.operator-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); }
.operator-card h2 { font-size: 1.0625rem; margin-bottom: 6px; }
.operator-card p { color: var(--muted); font-size: .9375rem; }

.search-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px; box-shadow: var(--shadow-lg); margin-top: 20px; }
.search-form { display: grid; gap: 10px; }
@media (min-width: 760px) { .search-form { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; align-items: end; } }
.search-form label { font-size: .8125rem; font-weight: 700; color: var(--ink); margin-bottom: 4px; display: block; }
.search-form .btn { min-height: 48px; }
.search-form .input, .search-form .select { min-height: 48px; }
.search-extra { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: .875rem; color: var(--muted); }

/* Combobox */
.combo { position: relative; }
.combo-list { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; background: var(--surface); border: 1px solid var(--field);
  border-radius: 10px; box-shadow: var(--shadow-lg); list-style: none; margin: 0; padding: 4px; max-height: 320px; overflow-y: auto; }
.combo-list[hidden] { display: none; }
.combo-list li { padding: 10px 12px; border-radius: 8px; cursor: pointer; display: flex; justify-content: space-between; gap: 10px; }
.combo-list li[aria-selected="true"], .combo-list li:hover { background: var(--teal-50); }
.combo-list li .detail { color: var(--muted); font-size: .8125rem; white-space: nowrap; }
.combo-list li.unsupported { color: var(--subtle); }

/* ── Ad slot ───────────────────────────────────────── */
.ad-slot { background: var(--surface); border-bottom: 1px solid var(--line); }
.ad-slot .wrap { display: flex; align-items: center; gap: 12px; padding-top: 8px; padding-bottom: 8px; min-height: 48px; }
.ad-label { font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); border-radius: 4px; padding: 1px 6px; flex: none; }
.ad-link { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); min-width: 0; flex: 1; }
.ad-link img { height: 36px; width: auto; max-width: 96px; object-fit: contain; border-radius: 4px; flex: none; }
.ad-text { min-width: 0; font-size: .875rem; line-height: 1.35; }
.ad-text strong { color: var(--ink); }
.ad-text span { color: var(--muted); }
.ad-cta { flex: none; font-weight: 700; font-size: .875rem; color: var(--teal-ink); text-decoration: underline; }
.ad-disclosure { font-size: .75rem; color: var(--muted); }
@media (max-width: 559px) { .ad-text span.ad-body { display: none; } .ad-link img { display: none; } }

/* ── Tiles / sections ──────────────────────────────── */
.tile { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  text-decoration: none; color: var(--text); box-shadow: var(--shadow); transition: border-color .15s, transform .15s; height: 100%; }
.tile:hover { border-color: var(--teal-btn); color: var(--text); }
@media (prefers-reduced-motion: no-preference) { .tile:hover { transform: translateY(-1px); } }
.tile h3 { margin: 0; font-size: 1.0625rem; }
.tile p { margin: 0; color: var(--muted); font-size: .9375rem; }
.tile .icon { width: 40px; height: 40px; border-radius: 10px; background: var(--teal-50); color: var(--teal-ink); display: grid; place-items: center; }
.tile .icon svg { width: 22px; height: 22px; }
.audience { padding: 24px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface); height: 100%; }
.audience.navy { background: var(--navy); border-color: var(--navy); color: #DCE7F1; }
.audience.navy h2, .audience.navy h3 { color: #fff; }
.audience.navy a:not(.btn) { color: #9FE3DF; }
.audience ul { padding-left: 1.1em; margin: 0 0 1.2em; }
.audience li + li { margin-top: 4px; }
.steps { counter-reset: step; display: grid; gap: 16px; list-style: none; padding: 0; margin: 0; }
@media (min-width: 760px) { .steps { grid-template-columns: repeat(3, 1fr); } }
.steps li { counter-increment: step; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.steps li::before { content: counter(step); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 800; margin-bottom: 10px; font-family: var(--font-display); }
.steps h3 { margin-bottom: 4px; }
.steps p { margin: 0; color: var(--muted); }
.link-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px 20px; }
@media (min-width: 560px) { .link-list.cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .link-list.cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.link-list a { display: inline-flex; gap: 6px; padding: 6px 0; font-weight: 600; }
.link-list .count { color: var(--subtle); font-weight: 500; }
.story { display: grid; gap: 24px; }
@media (min-width: 900px) { .story { grid-template-columns: .9fr 1.1fr; align-items: center; } }
.story .story-lede { margin: 0; font-family: var(--font-display); font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); line-height: 1.3; color: var(--ink); font-weight: 700; }
.cta-band { background: var(--navy); color: #DCE7F1; border-radius: 16px; padding: 28px 24px; display: grid; gap: 16px; }
@media (min-width: 760px) { .cta-band { grid-template-columns: 1fr auto; align-items: center; padding: 36px; } }
.cta-band h2 { color: #fff; margin-bottom: 6px; }
.cta-band p { margin: 0; }

/* ── Breadcrumbs / page header ─────────────────────── */
.crumbs { font-size: .875rem; color: var(--muted); padding: 14px 0 0; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; padding: 0; margin: 0; }
.crumbs li + li::before { content: "/"; margin-right: 4px; color: var(--subtle); }
.crumbs a { color: var(--muted); }
.page-head { padding: 16px 0 20px; }
.page-head p { color: var(--muted); max-width: 70ch; margin-bottom: 0; }

/* ── Results ───────────────────────────────────────── */
.results-layout { display: grid; gap: 20px; }
@media (min-width: 980px) { .results-layout { grid-template-columns: 260px minmax(0, 1fr); align-items: start; } }
.filters-panel { display: none; }
@media (min-width: 980px) { .filters-panel { display: block; position: sticky; top: 84px; } .filters-toggle { display: none !important; } }
.filters-panel h2 { font-size: 1rem; }
.results-bar { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.results-count { font-weight: 700; color: var(--ink); }
.result-list { display: grid; gap: 12px; list-style: none; padding: 0; margin: 0; }
.result { padding: 16px; }
@media (min-width: 768px) { .result { padding: 20px; } }
.result-head { display: flex; gap: 14px; align-items: flex-start; }
.avatar { width: 56px; height: 56px; border-radius: 12px; flex: none; display: grid; place-items: center; background: var(--teal-50); color: var(--teal-ink); font: 800 1.125rem/1 var(--font-display); overflow: hidden; border: 1px solid var(--teal-100); }
.avatar img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.avatar-lg { width: 88px; height: 88px; font-size: 1.6rem; border-radius: 16px; }
.result h3 { margin: 0 0 2px; font-size: 1.125rem; }
.result h3 a { color: var(--ink); text-decoration: none; }
.result h3 a:hover { text-decoration: underline; }
.identity { color: var(--muted); font-size: .875rem; }
.match-line { margin: 10px 0 0; font-size: .9375rem; color: var(--text); }
.match-line strong { color: var(--ink); }
.result-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.result-rate { margin-top: 8px; font-size: .9375rem; }
.contact-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.contact-row .btn { flex: 1 1 auto; }
@media (min-width: 768px) { .contact-row .btn { flex: 0 0 auto; } }
.contact-raw { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; font-size: .875rem; color: var(--muted); }
.contact-raw span { user-select: all; }
.empty { text-align: center; padding: 32px 20px; }
.ico { flex: none; vertical-align: middle; }
.empty .icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 12px; color: var(--teal-ink); }
.empty .icon svg { width: 100%; height: 100%; }
.empty h2 { font-size: 1.25rem; }
.empty p { color: var(--muted); max-width: 56ch; margin-left: auto; margin-right: auto; }
.pager { display: flex; gap: 8px; justify-content: center; align-items: center; margin-top: 20px; flex-wrap: wrap; }

/* ── Profile ───────────────────────────────────────── */
.profile-layout { display: grid; gap: 20px; padding-bottom: 96px; }
@media (min-width: 980px) { .profile-layout { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; padding-bottom: 40px; } }
.profile-aside { display: grid; gap: 16px; }
@media (min-width: 980px) { .profile-aside { position: sticky; top: 84px; } }
.profile-head { display: flex; gap: 16px; align-items: flex-start; }
.profile-head h1 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem); margin-bottom: 4px; }
.kv { display: grid; grid-template-columns: minmax(110px, 34%) 1fr; gap: 8px 14px; margin: 0; }
.kv dt { color: var(--muted); font-size: .9375rem; }
.kv dd { margin: 0; color: var(--ink); font-weight: 550; overflow-wrap: anywhere; }
.svc { padding: 14px 0; border-top: 1px solid var(--line-soft); }
.svc:first-of-type { border-top: 0; padding-top: 0; }
.svc h3 { font-size: 1rem; margin-bottom: 4px; }
.svc ul { margin: 4px 0 0; padding-left: 1.1em; color: var(--text); }
.svc .price { font-weight: 600; color: var(--ink); }
.gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
@media (min-width: 640px) { .gallery { grid-template-columns: repeat(3, 1fr); } }
.gallery a { display: block; aspect-ratio: 4/3; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--bg); }
.gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contact-card .btn { width: 100%; justify-content: flex-start; }
.contact-card .btn + .btn { margin-top: 8px; }
.contact-card .raw { font-size: .875rem; color: var(--muted); margin-top: 2px; overflow-wrap: anywhere; }
.sticky-contact { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; background: var(--surface); border-top: 1px solid var(--line);
  padding: 10px var(--gutter) calc(10px + var(--safe-bottom)); display: flex; gap: 8px; box-shadow: 0 -4px 16px rgba(20,45,68,.08); }
.sticky-contact .btn { flex: 1; min-width: 0; }
@media (min-width: 980px) { .sticky-contact { display: none; } }
.verify-box { border-radius: var(--radius); padding: 16px; border: 1px solid var(--line); background: #F7F9FB; }
.verify-box.verified { background: var(--ok-bg); border-color: var(--ok-line); }

/* ── Footer ────────────────────────────────────────── */
.site-footer { background: var(--navy-950); color: #B9C8D6; padding: 40px 0 calc(28px + var(--safe-bottom)); margin-top: 48px; font-size: .9375rem; }
.site-footer a { color: #E2ECF4; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; color: #fff; }
.footer-grid { display: grid; gap: 24px; }
@media (min-width: 760px) { .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; } }
.site-footer h2 { color: #fff; font-size: .875rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 10px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.footer-logo { background: #fff; border-radius: 10px; padding: 8px 12px; display: inline-block; }
.footer-logo img { height: 26px; display: block; }
.footer-legal { border-top: 1px solid rgba(255,255,255,.12); margin-top: 28px; padding-top: 16px; font-size: .8125rem; color: #9DB0C2; display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; }
/* Links inside running text must not rely on color alone (WCAG 1.4.1). */
.footer-legal a { text-decoration: underline; text-underline-offset: 2px; }

/* ── Provider area ─────────────────────────────────── */
.app-shell { display: grid; gap: 20px; padding-top: 20px; padding-bottom: 48px; }
@media (min-width: 980px) { .app-shell { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; padding-top: 28px; } }
.side-nav { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 2px; border-bottom: 1px solid var(--line); }
.side-nav::-webkit-scrollbar { display: none; }
.side-nav a { flex: none; padding: 10px 12px; font-weight: 650; color: var(--muted); text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; }
.side-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--teal-btn); }
@media (min-width: 980px) {
  .side-nav { flex-direction: column; border: 0; margin: 0; padding: 0; position: sticky; top: 84px; }
  .side-nav a { border-bottom: 0; border-left: 3px solid transparent; border-radius: 0 8px 8px 0; padding: 10px 14px; }
  .side-nav a[aria-current="page"] { border-left-color: var(--teal-btn); background: var(--teal-50); }
  .side-nav a:hover { background: var(--teal-50); color: var(--ink); }
}
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
@media (min-width: 768px) { .panel { padding: 24px; } }
.panel + .panel { margin-top: 16px; }
.panel-head { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; margin-bottom: 12px; }
.panel-head h2 { font-size: 1.125rem; margin: 0; }
.panel-head p { margin: 4px 0 0; color: var(--muted); font-size: .9375rem; }
.savebar { position: sticky; bottom: 0; z-index: 20; background: rgba(255,255,255,.96); border-top: 1px solid var(--line); margin: 20px calc(-1 * var(--gutter)) 0; padding: 12px var(--gutter) calc(12px + var(--safe-bottom));
  display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
@media (min-width: 980px) { .savebar { margin: 20px 0 0; border: 1px solid var(--line); border-radius: 12px; } }
.save-state { font-size: .875rem; font-weight: 650; display: inline-flex; align-items: center; gap: 6px; color: var(--muted); }
.save-state[data-state="dirty"] { color: var(--warn); }
.save-state[data-state="saved"] { color: var(--ok); }
.save-state[data-state="failed"] { color: var(--danger); }
.progress { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0 0 20px; }
.progress li { flex: 1; }
.progress .bar { height: 6px; border-radius: 3px; background: var(--line); }
.progress li.done .bar, .progress li.current .bar { background: var(--teal-btn); }
.progress .lbl { font-size: .8125rem; font-weight: 650; color: var(--muted); margin-top: 6px; display: block; }
.progress li.current .lbl { color: var(--ink); }
.area-list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.area-list li { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 12px; background: var(--bg); border: 1px solid var(--line); border-radius: 10px; }
.area-list li .what { font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.area-add { display: grid; gap: 10px; padding: 14px; border: 1px dashed var(--field); border-radius: 12px; background: #FBFCFD; }
@media (min-width: 760px) { .area-add.inline { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; align-items: end; } }
.svc-group { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.svc-group + .svc-group { margin-top: 10px; }
.svc-group > summary { list-style: none; cursor: pointer; padding: 14px 16px; display: flex; gap: 12px; align-items: center; justify-content: space-between; font-weight: 700; color: var(--ink); }
.svc-group > summary::-webkit-details-marker { display: none; }
.svc-group > summary::after { content: ""; width: 10px; height: 10px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); margin-right: 4px; flex: none; }
.svc-group[open] > summary::after { transform: rotate(-135deg); }
.svc-group .svc-body { padding: 0 16px 14px; }
.svc-group .count { font-weight: 600; color: var(--teal-ink); font-size: .875rem; }
.stat { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.stat .num { font: 800 1.75rem/1.1 var(--font-display); color: var(--ink); }
.stat .lbl { color: var(--muted); font-size: .875rem; }
.status-banner { display: flex; gap: 14px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.copy-field { display: flex; gap: 8px; }
.copy-field .input { font-size: .9375rem; }
.preview-frames { display: grid; gap: 20px; }
@media (min-width: 1100px) { .preview-frames { grid-template-columns: 410px minmax(0, 1fr); } }
.preview-frames iframe { width: 100%; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 0; }
.thumbs li { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--surface); display: flex; flex-direction: column; }
.thumbs img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; background: var(--bg); }
.thumbs .t-body { padding: 8px; display: grid; gap: 6px; }

/* ── Tables (admin) ───────────────────────────────── */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
table.table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.table th { text-align: left; font-size: .8125rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: 700; padding: 10px 14px; background: #F7F9FB; border-bottom: 1px solid var(--line); white-space: nowrap; }
.table td { padding: 12px 14px; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
.table tr:last-child td { border-bottom: 0; }
.table a { font-weight: 650; }
@media (max-width: 759px) {
  .table.stack-sm thead { display: none; }
  .table.stack-sm tr { display: block; padding: 10px 14px; border-bottom: 1px solid var(--line); }
  .table.stack-sm td { display: flex; gap: 10px; justify-content: space-between; padding: 4px 0; border: 0; }
  .table.stack-sm td::before { content: attr(data-label); color: var(--muted); font-size: .8125rem; font-weight: 650; flex: none; }
}

/* ── Admin shell ───────────────────────────────────── */
.admin-body { background: #F2F5F8; }
.admin-top { background: var(--navy); color: #fff; position: sticky; top: 0; z-index: 40; }
.admin-top .wrap { max-width: none; display: flex; align-items: center; gap: 12px; min-height: 56px; }
.admin-top .brand-chip { background: #fff; border-radius: 8px; padding: 5px 10px; display: inline-flex; }
.admin-top .brand-chip img { height: 22px; }
.admin-top .ttl { font-weight: 700; font-size: .9375rem; color: #DCE7F1; }
.admin-top a.top-link { color: #DCE7F1; text-decoration: none; font-weight: 600; font-size: .875rem; padding: 6px 10px; border-radius: 8px; }
.admin-top a.top-link:hover { background: rgba(255,255,255,.1); color: #fff; }
.admin-shell { display: grid; gap: 16px; padding: 16px var(--gutter) 48px; }
@media (min-width: 1100px) { .admin-shell { grid-template-columns: 220px minmax(0, 1fr); gap: 28px; padding-top: 24px; } }
.admin-nav { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--line); }
.admin-nav a { flex: none; padding: 10px 12px; color: var(--muted); font-weight: 650; text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; font-size: .9375rem; }
.admin-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--teal-btn); }
.admin-nav .sep { display: none; }
@media (min-width: 1100px) {
  .admin-nav { flex-direction: column; border: 0; position: sticky; top: 80px; align-self: start; }
  .admin-nav a { border: 0; border-radius: 8px; padding: 9px 12px; }
  .admin-nav a[aria-current="page"] { background: var(--surface); box-shadow: var(--shadow); color: var(--ink); }
  .admin-nav a:hover { background: rgba(255,255,255,.7); color: var(--ink); }
  .admin-nav .sep { display: block; height: 1px; background: var(--line); margin: 10px 4px; }
}
.admin-head { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; margin-bottom: 16px; }
.admin-head h1 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); margin: 0; }
.admin-head p { margin: 4px 0 0; color: var(--muted); }
.kpis { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
@media (min-width: 900px) { .kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kpis a.stat { text-decoration: none; display: block; }
.kpis a.stat:hover { border-color: var(--teal-btn); }
.filter-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin-bottom: 14px; }
.filter-bar .field { margin: 0; }
.filter-bar .input, .filter-bar .select { min-height: 40px; padding-top: 6px; padding-bottom: 6px; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media print { .site-header, .site-footer, .sticky-contact, .ad-slot { display: none !important; } }
.drawer .drawer-head .btn { width: auto; margin-top: 0; }
@media (max-width: 559px) { .avatar-lg { width: 64px; height: 64px; font-size: 1.25rem; border-radius: 14px; } }
.admin-top .top-links { margin-left: auto; display: flex; gap: 2px; flex-wrap: nowrap; }
@media (max-width: 639px) {
  .admin-top .ttl { display: none; }
  .admin-top a.top-link { padding: 6px 6px; font-size: .8125rem; white-space: nowrap; }
  .admin-top .brand-chip img { height: 18px; }
}
/* Focused fields scroll clear of the sticky header and the sticky save/contact bars. */
html { scroll-padding-top: 80px; scroll-padding-bottom: 110px; }

/* Results on phones: show a one-line summary instead of the whole form. */
.search-summary { display: none; }
@media (max-width: 759px) {
  .js .search-collapsible.is-collapsed .search-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; box-shadow: var(--shadow); font-size: .9375rem; }
  .js .search-collapsible.is-collapsed .search-card { display: none; }
}
.badge-preview { margin: 10px 0 14px; padding: 12px 14px; border-radius: 10px; border: 1px dashed var(--ok-line); background: #F6FBF8; font-size: .9375rem; }

/* ════════════════════════════════════════════════════════════════════
   October 2026 redesign — wide layout, illustrated hero, task panels,
   service art, films, horizontal provider rows.
   ════════════════════════════════════════════════════════════════════ */
body { background: var(--bg); }
a { color: var(--accent-ink); }
.wrap-results { max-width: 1320px; }
.section-sm { padding-top: 28px; padding-bottom: 28px; }
@media (min-width: 980px) { .section-sm { padding-top: 40px; padding-bottom: 40px; } }
.section-head { margin-bottom: 14px; }
.section-head h2 { margin: 0; }

/* Buttons: provider CTA (cyan, navy text 5.2:1) */
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-hover); color: #fff; }
.btn-provider { background: var(--provider); color: var(--navy); font-weight: 700; }
.btn-provider:hover { background: var(--provider-hover); color: var(--navy); }
.btn-navy { background: var(--navy); color: #fff; }
.input-lg, .select.input-lg { min-height: 54px; font-size: 1.0625rem; }

/* Header */
.site-header .wrap { min-height: 70px; gap: 8px; }
.brand { width: 142px; height: 70px; }
.brand img { display: block; width: 100%; height: 58px; object-fit: contain; flex-shrink: 0; }
@media (min-width: 980px) { .brand img { height: 60px; } }
.nav-main { margin-left: 28px; }
.nav-account { margin-left: auto; }
.nav-account .btn { margin-left: 6px; }
.inline-form { display: inline; margin: 0; }
.nav-link-btn { background: none; border: 0; font: 600 .9375rem var(--font); color: var(--text); padding: 8px 12px; border-radius: 8px; cursor: pointer; }
.nav-link-btn:hover { background: var(--accent-50); color: var(--navy); }
.nav a:not(.btn):hover, .nav a[aria-current="page"] { background: var(--accent-50); color: var(--navy); }

/* Hero */
.hero2 { position: relative; background: var(--brand-navy); overflow: hidden; }
.hero2-art img { display: block; width: 100%; height: 170px; object-fit: cover; object-position: center top; }
.hero2-copy { position: relative; padding: 18px var(--gutter) 22px; color: #DCEBF7; text-align: left; }
.hero2-copy h1 { color: #fff; font-size: clamp(1.7rem, 1.2rem + 2vw, 2.1rem); margin: 0 0 6px; line-height: 1.12; }
.hero2-lede { font-size: 1.0625rem; margin: 0 0 6px; color: #fff; }
.hero2-trust { margin: 0; font-weight: 700; color: #8FD6FA; font-size: .9375rem; }
.hero2-trust span + span::before { content: "·"; margin: 0 .45em; color: #5FB8E8; }
/* Short phones (e.g. 320x640, landscape): the decorative strip shrinks so the
   search fields and the Find providers button start within the first screen. */
@media (max-width: 759px) and (max-height: 760px) {
  .hero2-art img { height: 84px; object-position: center top; }
  .hero2-copy { padding: 12px var(--gutter) 14px; }
  .hero2-copy h1 { font-size: 1.5rem; margin-bottom: 4px; }
  .hero2-lede { font-size: 1rem; margin-bottom: 4px; }
}
@media (max-width: 759px) and (max-height: 680px) {
  .hero2-art { display: none; }   /* decorative only; the headline and search stay */
}
@media (max-width: 759px) and (max-height: 600px) {
  .hero2-lede { display: none; }  /* the "Free to search · No middleman" line still shows */
}
@media (min-width: 760px) and (max-width: 1099px) {
  /* Tablet: show the whole composition (no face-cropping), copy below it. */
  .hero2-art img { height: auto; aspect-ratio: 2560 / 855; object-fit: contain; }
  .hero2-copy { text-align: center; padding: 22px var(--gutter) 26px; }
  .hero2-copy h1 { font-size: 2.2rem; }
}
@media (min-width: 1100px) {
  .hero2-art img { height: clamp(380px, 32vw, 560px); object-position: center 40%; }
  .hero2-copy { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
    padding: clamp(36px, 4.6vw, 80px) 18% 0; text-align: center; pointer-events: none; }
  .hero2-copy h1 { font-size: clamp(2rem, .9rem + 2.4vw, 3.4rem); max-width: 18ch; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
  .hero2-lede { font-size: clamp(1.0625rem, .8rem + .6vw, 1.375rem); text-shadow: 0 1px 10px rgba(0,0,0,.4); }
  .hero2-trust { font-size: clamp(.9375rem, .8rem + .3vw, 1.0625rem); }
  .hero2-copy a, .hero2-copy button { pointer-events: auto; }
}

/* Paired task panels (search ⅔ · provider sign-in ⅓) */
.task-panels { display: grid; gap: 16px; position: relative; z-index: 5; margin-top: 16px; }
@media (min-width: 980px) {
  .task-panels { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px; margin-top: 20px; align-items: stretch; }
}
@media (min-width: 1100px) { .task-panels { margin-top: -118px; } }
.tpanel { background: var(--surface); border-radius: 14px; box-shadow: var(--shadow-lg); border: 1px solid rgba(6,43,76,.08); overflow: hidden; display: flex; flex-direction: column; }
.tpanel-bar { margin: 0; background: var(--navy); color: #fff; font-size: 1.25rem; padding: 14px 22px; letter-spacing: 0; }
.tpanel-bar-provider { background: var(--provider); color: var(--navy); }
.tpanel-body { padding: 18px 22px 20px; flex: 1; }
.tpanel-lead { margin: 0 0 12px; font-weight: 700; color: var(--ink); }
.search-wide { display: grid; gap: 12px; }
.search-wide label, .provider-signin label { display: block; font-size: .875rem; font-weight: 700; color: var(--ink); margin-bottom: 5px; }
.search-wide .select { min-height: 54px; }
.btn-find { min-height: 54px; }
@media (min-width: 640px) { .search-wide { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } .btn-find { grid-column: 1 / -1; } }
@media (min-width: 1180px) { .search-wide { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; align-items: end; } .btn-find { grid-column: auto; padding: 0 28px; } }
.search-extra { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; margin-top: 12px; font-size: .9375rem; color: var(--muted); }
.free-note { display: inline-flex; gap: 6px; align-items: center; font-weight: 600; color: var(--ok); }
.free-note svg { width: 16px; height: 16px; }
.provider-signin .input { margin-bottom: 10px; }
.manage-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; font-weight: 600; }

/* Service grid */
.svc-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .svc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.svc-card { display: flex; flex-direction: row; height: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 12px;
  overflow: hidden; text-decoration: none; color: var(--text); box-shadow: var(--shadow); transition: border-color .15s, box-shadow .15s; }
.svc-card:hover { border-color: var(--accent); box-shadow: 0 6px 18px rgba(6,43,76,.12); color: var(--text); }
.svc-card img { width: 128px; flex: none; height: auto; aspect-ratio: 16 / 12; object-fit: cover; display: block; background: var(--ice); }
.svc-card-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.svc-card-title { font-weight: 700; color: var(--ink); font-size: 1rem; }
.svc-card-text { font-size: .875rem; color: var(--muted); line-height: 1.4; }
@media (min-width: 560px) {
  .svc-card { flex-direction: column; }
  .svc-card img { width: 100%; aspect-ratio: 16 / 10; }
}

/* Films */
.video-grid { display: grid; gap: 20px; }
@media (min-width: 900px) { .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
.video-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.video-frame { position: relative; aspect-ratio: 16 / 9; background: #000; }
.video-frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; display: block; }
.video-error { position: absolute; inset: auto 12px 12px 12px; margin: 0; background: rgba(255,255,255,.95); padding: 10px 12px; border-radius: 8px; font-size: .9375rem; }
.video-body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.video-body h2 { font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); margin: 0; }
.video-body p { margin: 0 0 8px; color: var(--text); }

/* Why section */
.why { display: grid; gap: 20px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 20px; box-shadow: var(--shadow); }
@media (min-width: 980px) { .why { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 36px; padding: 28px; } }
.why-art { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.why-art figure { margin: 0; }
.why-art img { width: 100%; height: auto; border-radius: 10px; display: block; aspect-ratio: 16 / 10; object-fit: cover; }
.why-art figcaption { font-size: .8125rem; color: var(--muted); margin-top: 6px; }
.why-text p { max-width: 62ch; }

/* Results */
.results-top { background: var(--ice); border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.results-top .crumbs { padding-top: 12px; margin-bottom: 10px; }
.search-compact { margin: 0; padding: 12px; box-shadow: var(--shadow); }
.results-h1 { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); margin: 4px 0 6px; }
.results-head { margin-bottom: 12px; }
.results-sub { margin: 0; font-size: .9375rem; color: var(--text); max-width: 110ch; }
.pill-bar { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin: 0 0 16px; }
.fpill { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--field);
  background: var(--surface); color: var(--ink); font: 600 .9375rem var(--font); text-decoration: none; cursor: pointer; }
.fpill svg { width: 16px; height: 16px; }
.fpill:hover { border-color: var(--navy); color: var(--ink); }
.fpill.is-on { background: var(--accent-50); border-color: var(--accent); color: var(--accent-ink); }
.fpill-all { background: var(--accent); border-color: var(--accent); color: #fff; }
.fpill-all:hover { background: var(--accent-hover); color: #fff; }
.fpill-clear { font-weight: 600; font-size: .9375rem; }
.filters-toggle, .filters-panel { display: none !important; }

.prow-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.prow { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px 14px; padding: 16px; background: var(--surface);
  border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.prow-media { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; display: grid; place-items: center;
  background: linear-gradient(160deg, #EAF4FC, #CDE5F8); text-decoration: none; }
.prow-media.has-logo { background: #fff; border: 1px solid var(--line); }
.prow-media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.prow-initials { font: 700 1.6rem/1 var(--font); color: var(--accent-ink); letter-spacing: .02em; }
.prow-main { min-width: 0; }
.prow-demo-note { display: inline-block; margin: 0 0 6px; font-size: .75rem; font-weight: 700; color: #5A3A00; background: var(--warn-bg); border: 1px solid var(--warn-line); border-radius: 6px; padding: 2px 8px; }
.prow-name { margin: 0 0 4px; font-size: 1.25rem; }
.prow-name a { color: var(--accent-ink); text-decoration: none; }
.prow-name a:hover { text-decoration: underline; }
.prow-identity { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: 0 0 8px; color: var(--muted); font-size: .9375rem; }
.prow-match { display: flex; gap: 6px; align-items: flex-start; margin: 0 0 4px; color: var(--text); }
.prow-match svg { width: 18px; height: 18px; color: var(--accent); flex: none; margin-top: 2px; }
.prow-coverage { margin: 0; font-size: .875rem; color: var(--muted); }
.prow-coverage span { color: var(--ink); font-weight: 600; }
.prow-bio { margin: 8px 0 0; color: var(--text); font-size: .9375rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.prow-chips { margin-top: 8px; }
.prow-contact { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid var(--line-soft); padding-top: 12px; }
.prow-contact .btn { flex: 1 1 40%; min-height: 46px; }
.prow-phone { flex: 1 1 100%; font: 700 1.1875rem var(--font); color: var(--ink); text-decoration: none; }
.prow-raw { flex: 1 1 100%; font-size: .8125rem; color: var(--muted); }
@media (min-width: 900px) {
  .prow { grid-template-columns: 132px minmax(0, 1fr) 210px; gap: 20px; padding: 20px; }
  .prow-media { width: 132px; height: 132px; }
  .prow-initials { font-size: 2.2rem; }
  .prow-contact { grid-column: auto; flex-direction: column; flex-wrap: nowrap; border-top: 0; padding-top: 0;
    border-left: 1px solid var(--line-soft); padding-left: 20px; }
  .prow-contact .btn { flex: none; width: 100%; }
  .prow-phone { flex: none; text-align: center; font-size: 1.25rem; margin-bottom: 2px; }
  .prow-raw { flex: none; text-align: center; }
}
@media (min-width: 1100px) {
  .prow { grid-template-columns: 168px minmax(0, 1fr) 224px; gap: 24px; }
  .prow-media { width: 168px; height: 168px; }
  .prow-name { font-size: 1.375rem; }
}

.quick-tasks { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.quick-label { font-size: .875rem; font-weight: 700; color: var(--muted); margin-right: 2px; }
.qtask { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--ice); border: 1px solid var(--line);
  color: var(--navy); font-weight: 600; font-size: .875rem; text-decoration: none; }
.qtask:hover, .qtask[aria-pressed="true"] { background: var(--accent-50); border-color: var(--accent); color: var(--accent-ink); }
.hero2-trust span { white-space: nowrap; }
.footer-logo { padding: 12px 16px; border-radius: 12px; }
.footer-logo img { height: 84px; width: auto; }
@media (min-width: 900px) {
  .prow-contact { gap: 6px; }
  .prow-contact .btn { min-height: 40px; padding-top: 6px; padding-bottom: 6px; }
  .prow-contact .btn-ghost { min-height: 32px; }
  .prow-phone { font-size: 1.1875rem; }
  .prow { padding: 18px 20px; }
}
/* Phone/tablet rows: thumbnail beside identity; details and contacts full width */
@media (max-width: 899px) {
  .prow { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "media head" "details details" "contact contact"; align-items: start; }
  .prow-media { grid-area: media; width: 72px; height: 72px; }
  .prow-initials { font-size: 1.5rem; }
  .prow-main { display: contents; }
  .prow-head { grid-area: head; min-width: 0; }
  .prow-details { grid-area: details; min-width: 0; }
  .prow-contact { grid-area: contact; flex-direction: row; flex-wrap: wrap; border-left: 0; padding-left: 0;
    border-top: 1px solid var(--line-soft); padding-top: 12px; }
  .prow-contact .btn { flex: 1 1 40%; width: auto; }
  .prow-contact .btn-ghost { flex: 1 1 100%; }
  .prow-phone { flex: 1 1 100%; text-align: left; }
  .prow-raw { flex: 1 1 100%; text-align: left; }
  .prow-identity { margin-bottom: 0; }
  .prow-bio { -webkit-line-clamp: 2; }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .prow { grid-template-columns: 120px minmax(0, 1fr) 200px; }
  .prow-media { width: 120px; height: 120px; }
}
@media (max-width: 759px) {
  .pill-bar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter));
    padding: 2px var(--gutter) 6px; }
  .pill-bar::-webkit-scrollbar { display: none; }
  .fpill { flex: none; }
}

/* Horizontal pin + wordmark, October 4: legible at navigation size. */
.brand { width: 200px; height: 54px; }
.brand img { width: 100%; height: auto; }
.footer-logo img { width: 220px; height: auto; }
@media (max-width: 759px) { .brand { width: 164px; height: 48px; } }

.service-refinement { margin-top: 8px; font-size: .8125rem; }
.service-refinement summary { color: var(--navy); cursor: pointer; padding: 4px 0; }
.service-refinement[open] .select { margin-top: 8px; }
.service-refinement p { margin: 6px 0 0; max-width: 40ch; }
.service-picker { min-width: 0; }

.svc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.character-feature { display: grid; grid-template-columns: minmax(0,1fr) 34%; gap: 28px; align-items: center; padding: 28px 0; }
.character-feature img { display: block; width: 100%; height: auto; max-height: 320px; object-fit: contain; }
.character-feature h2 { font-size: 1.7rem; max-width: 22ch; }
@media (max-width:1099px) { .svc-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width:759px) { .svc-grid { grid-template-columns: 1fr; } .character-feature { grid-template-columns: 1fr; gap: 16px; } .character-feature img { max-height: 210px; width: 75%; margin: auto; } }

@media (min-width:1180px) { .search-wide { align-items: start; } .search-wide .btn-find { margin-top: 26px; } }
.service-guide-photo { width: 100%; height: auto; aspect-ratio: 8/5; object-fit: cover; border-radius: 12px; margin-bottom: 20px; }
.service-intro { background: var(--ice); border-radius: 18px; padding: 24px 32px; margin-bottom: 28px; grid-template-columns: minmax(0,1fr) 24%; }
.service-intro img { max-height: 230px; }
.join-intro { max-width: 700px; margin: 20px auto 0; }
@media(max-width:759px) { .service-intro { grid-template-columns: minmax(0,1fr) 28%; gap: 12px; padding: 20px; } .service-intro h2 { font-size:1.35rem; } .service-intro img { width:100%; } }

/* Shared wide public-page composition, October 4. */
.wrap-results { max-width: var(--wrap); }
main > .wrap-narrow { width: 100%; max-width: var(--wrap); padding-left: var(--gutter); padding-right: var(--gutter); }
main > .wrap-narrow > .stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
main > .wrap-narrow .card p, main > .wrap-narrow .card li { max-width: 75ch; }
.page-stage { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); min-height: 380px; margin: 28px 0 50px; border-radius: 24px; background: linear-gradient(120deg,#062B4C,#0B3F6B); color: white; }
.page-stage::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(ellipse at 78% 55%,rgba(0,165,238,.24),transparent 55%); z-index:-1; }
.stage-copy { padding: 48px; align-self:center; z-index:2; }
.stage-copy h1 { color:white; font-size:clamp(2.1rem,3.3vw,3.8rem); line-height:1.06; letter-spacing:-.03em; margin-bottom:20px; }
.stage-copy p:not(.eyebrow) { max-width:52ch; color:#E2EEF7; font-size:1.125rem; }
.stage-copy .eyebrow { color:#9DDEFF; }
.stage-copy .btn { background:white; color:var(--navy); margin-top:8px; }
.stage-copy .btn:hover { background:#D9F0FE; }
.stage-facts { display:flex; gap:12px 20px; flex-wrap:wrap; font-size:.875rem; font-weight:700; color:#D6EBF8; }
.stage-facts span::before { content:'✓'; color:#9DDEFF; margin-right:6px; }
.stage-art { position:relative; min-width:0; min-height:380px; pointer-events:none; }
.stage-art img { position:absolute; height:440px; width:auto; max-width:115%; object-fit:contain; bottom:-30px; left:50%; transform:translateX(-50%); filter:drop-shadow(0 20px 20px rgba(0,0,0,.18)); z-index:2; }
.stage-orbit { position:absolute; width:280px; height:280px; border-radius:50%; border:1px solid rgba(129,210,252,.35); background:rgba(0,165,238,.1); top:45px; left:50%; transform:translateX(-50%); }
.stage-orbit::after { content:''; position:absolute; inset:20px; border-radius:50%; border:1px dashed rgba(129,210,252,.3); }
.art-label { position:absolute; right:14%; bottom:30px; z-index:3; padding:12px 18px; background:white; border-radius:12px; color:var(--navy); font-size:.875rem; font-weight:700; box-shadow:var(--shadow-lg); transform:rotate(-4deg); }
.search-stage { margin-bottom:0; }
.discovery-top { border:0; background:var(--bg); padding-bottom:0; }
.discovery-top .search-collapsible { position:relative; z-index:4; margin:-12px 32px 0; }
.discovery-top .search-card { padding:24px; border-radius:18px; box-shadow:var(--shadow-lg); }
.search-compact .search-form { align-items:start; }
.search-compact .search-form > .btn { margin-top:26px; }
.journey-section { padding:24px 0 32px; }
.journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.journey-grid article { position:relative; background:white; padding:26px; border:1px solid var(--line); border-radius:16px; }
.step-number { display:block; color:var(--accent-ink); font-size:1.8rem; font-weight:700; margin-bottom:12px; }
.journey-grid p { color:var(--muted); margin:0; max-width:45ch; }
.discovery-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.service-jump { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 28px; }
.service-jump a { text-decoration:none; padding:10px 16px; border:1px solid var(--line); border-radius:30px; background:white; font-weight:700; font-size:.875rem; }
.service-jump a:hover { border-color:var(--accent); background:var(--accent-50); }
.service-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.service-block { background:white; border:1px solid var(--line); border-radius:20px; overflow:hidden; scroll-margin-top:90px; display:flex; flex-direction:column; }
.service-block-photo { position:relative; display:block; background:var(--ice); }
.service-block-photo img { display:block; width:100%; height:230px; object-fit:cover; }
.service-block-number { position:absolute; bottom:16px; left:24px; font-size:.875rem; font-weight:700; background:white; color:var(--navy); border-radius:9px; padding:8px 12px; }
.service-block-copy { padding:26px; display:flex; flex-direction:column; flex:1; }
.service-block-heading { display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.service-block-heading h2 { margin:0; font-size:1.5rem; }
.service-mark { display:flex; padding:10px; background:var(--accent-50); border-radius:10px; color:var(--accent-ink); }
.service-block-copy > p { color:var(--muted); max-width:58ch; }
.service-task-list { border-top:1px solid var(--line-soft); margin:8px 0 20px; padding-top:16px; }
.service-task-list summary { cursor:pointer; color:var(--accent-ink); font-weight:700; }
.service-task-list summary span { float:right; border-radius:20px; background:var(--accent-50); padding:0 8px; }
.service-task-list ul { padding:0; margin:16px 0; list-style:none; }
.service-task-list li { padding:10px 0; border-bottom:1px solid var(--line-soft); }
.service-task-list li span { display:block; font-size:.875rem; color:var(--muted); margin-top:4px; }
.service-block-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-top:auto; }
.service-block-actions > a:not(.btn) { font-weight:700; font-size:.875rem; }
.service-scope { display:flex; gap:24px; align-items:baseline; padding:28px; margin:28px 0 40px; border-left:4px solid var(--accent); background:var(--ice); }
.service-scope p { margin:0; max-width:72ch; }
.about-stage .stage-art img { width:110%; max-width:110%; height:420px; bottom:-36px; }
.about-blocks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:40px; }
.about-blocks .card { padding:32px; border-radius:18px; }
.about-blocks p,.about-blocks li { max-width:70ch; }
.about-blocks #ordering { border-top:4px solid var(--accent); }
@media(min-width:1600px) { .stage-art img { height:490px; } .page-stage { min-height:430px; } .service-block-photo img { height:280px; } }
@media(max-width:979px) { .stage-copy { padding:32px; } .stage-art img { height:380px; } .stage-facts { gap:8px 12px; } .art-label { right:0; } .journey-grid { gap:12px; } .journey-grid article { padding:20px; } }
@media(max-width:759px) {
 main > .wrap-narrow > .stack,.about-blocks,.service-library,.journey-grid { grid-template-columns:1fr; }
 .page-stage { min-height:0; grid-template-columns:1fr; margin-top:16px; margin-bottom:32px; border-radius:18px; }
 .stage-copy { padding:28px 24px 10px; } .stage-copy h1 { font-size:2rem; } .stage-copy p:not(.eyebrow) { font-size:1rem; }
 .stage-art { min-height:210px; } .stage-art img { height:250px; left:65%; bottom:-16px; } .stage-orbit { width:170px;height:170px;top:10px;left:65%; }
 .art-label { left:24px;right:auto;bottom:24px;max-width:145px;font-size:.8125rem; }
 .about-stage .stage-art img { height:240px;width:85%;left:60%;bottom:-18px; }
 .search-stage { margin-bottom:0; } .search-stage .stage-art { min-height:155px; } .search-stage .stage-art img { height:200px; }
 .discovery-top .search-collapsible { margin:0; } .discovery-top .search-card { padding:20px; }
 .search-compact .search-form > .btn { margin-top:0; } .service-library .service-block:last-child { display:flex;grid-column:auto; }
 .service-library .service-block:last-child .service-block-photo img { height:220px;min-height:0; }
 .service-block-photo img { height:220px; } .service-block-copy,.about-blocks .card { padding:22px; }
 .service-scope { display:block;padding:22px; } .service-scope p { margin-top:8px; }
}
@media(max-width:759px) and (max-height:760px) { .search-stage .stage-art { display:none; } .search-stage .stage-copy { padding-bottom:24px; } }
/* Preserve the full cast on phones and align popular-task shortcuts. */
@media(max-width:759px) {
 .hero2-art { display:block; }
 .hero2-art img { height:auto; aspect-ratio:2170 / 725; object-fit:contain; object-position:center; }
 .quick-tasks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:stretch; }
 .quick-label { grid-column:1/-1; }
 .qtask { display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:10px; text-align:center; padding:8px 10px; white-space:normal; }
}
.auth-wide { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px; align-items:center; }
.auth-stage { margin:0; grid-template-columns:1fr; min-height:550px; }
.auth-stage .stage-copy { padding-bottom:230px; }
.auth-stage h2 { color:white; font-size:clamp(2rem,3vw,3.4rem); }
.auth-stage .stage-art { position:absolute;bottom:0;right:0;width:45%;min-height:300px; }
.auth-stage .stage-art img { height:330px;bottom:-20px; }
.auth-form-side .card { box-shadow:var(--shadow-lg); }
@media(max-width:979px) { .auth-wide { grid-template-columns:1fr; } .auth-stage { min-height:330px; } .auth-stage .stage-copy { padding:32px 38% 32px 32px; } .auth-stage .stage-art img { height:300px; } }
@media(max-width:759px) { .stage-copy { padding-bottom:26px; } .stage-art { min-height:250px; } .search-stage .stage-art { min-height:190px; } .auth-stage { min-height:0; } .auth-stage .stage-copy { padding:24px; } .auth-stage .stage-art { display:none; } .auth-stage .stage-copy p:not(.eyebrow) { margin:0; } }
@media(max-width:759px) { .qtask { min-height:60px; } }

/* Imported contact network: city dots are distinct from service coverage. */
.network-map{display:block;width:100%;height:auto;max-height:560px;margin:16px 0 24px}
.network-map a:focus circle,.network-map a:hover circle{fill:#062b4c;stroke:#00baff;stroke-width:4}
.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 56px}
.network-grid .card{min-width:0}.network-grid h3{font-size:1.15rem;margin:0 0 8px}.network-grid .row{align-items:flex-start}
@media(max-width:1050px){.network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.network-grid{grid-template-columns:minmax(0,1fr)}.network-map{min-height:180px}}
.profile-head .avatar-lg:has(img){width:180px;height:96px;border-radius:12px;flex-shrink:0;padding:10px;background:white}
@media(max-width:650px){.profile-head .avatar-lg:has(img){width:128px;height:80px}}
@media(max-width:650px){.profile-head:has(.avatar img){flex-direction:column;align-items:flex-start}.profile-head .avatar-lg:has(img){width:200px;height:96px}}

/* Public profiles: editorial identity and social-style showcase. */
.social-profile{margin:24px 0 28px;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 40px rgba(6,43,76,.06)}
.social-cover{position:relative;height:240px;background:radial-gradient(circle at 80% 25%,#008dc3 0,transparent 38%),linear-gradient(115deg,#062b4c,#155980);overflow:hidden}
.social-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,43,76,.8),transparent 80%)}
.social-cover-image{width:100%;height:100%;object-fit:cover;object-position:center}
.social-cover-caption{position:absolute;left:42px;bottom:50px;z-index:1;color:white;display:flex;flex-direction:column;gap:8px;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:600}
.social-cover-caption .eyebrow{color:#a3e3ff;font-size:.75rem}
.social-identity{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;position:relative;padding:0 42px 24px;align-items:center}
.social-portrait{width:160px;height:160px;border:7px solid white;border-radius:24px;background:#e8f4fc;box-shadow:0 8px 22px #062b4c18;margin-top:-34px;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:3rem;font-weight:800;color:#0076d4}
.social-portrait img{width:100%;height:100%;object-fit:contain;background:white;padding:12px}
.social-person .social-portrait{border-radius:50%}.social-person .social-portrait img{object-fit:cover;padding:0}
.social-name{padding-top:24px}.social-name h1{font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.1;margin:8px 0 16px;overflow-wrap:anywhere;letter-spacing:-.035em}
.social-actions{grid-column:2;display:flex;gap:10px;flex-wrap:wrap}.social-actions [data-share-status]{flex-basis:100%;overflow-wrap:anywhere}
.social-highlights{display:flex;gap:16px 32px;flex-wrap:wrap;margin:0 42px;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.social-highlights span{display:flex;gap:7px;align-items:center}
.social-tabs{display:flex;gap:32px;padding:0 42px;border-top:1px solid var(--line);overflow-x:auto}.social-tabs a{white-space:nowrap;text-decoration:none;font-weight:700;padding:20px 0;border-bottom:3px solid transparent}.social-tabs a:hover,.social-tabs a:focus-visible{border-color:#00a5ee}
.social-layout{gap:28px}.social-layout .card-pad{padding:32px}.social-layout h2{font-size:1.5rem}.social-layout .eyebrow{font-size:.72rem;color:#0076d4;margin-bottom:10px}
.social-about p,.social-bio{max-width:78ch;overflow-wrap:anywhere}.social-bio summary{font-weight:700;color:#0076d4;cursor:pointer;margin-top:16px}.social-bio[open] .social-bio-preview{display:none}.social-about:has(.social-bio[open]) .social-bio-preview{display:none}.social-bio[open] summary{margin-bottom:16px}
.social-service{padding:22px;border:1px solid var(--line);border-radius:16px;background:#f5faff;margin-top:16px}.social-service :is(h3,h4){font-size:1.1rem}.social-service ul{padding-left:20px}
.social-contact{border-top:4px solid #00a5ee}.social-contact h2{line-height:1.2;margin-bottom:24px}.social-layout .gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.social-layout .gallery img{border-radius:14px;aspect-ratio:4/3;object-fit:cover}
#about-provider,#services,#work-gallery,#contact-h{scroll-margin-top:110px}
@media(min-width:1500px){.social-cover{height:290px}.social-identity{grid-template-columns:190px minmax(0,1fr) auto}.social-portrait{width:190px;height:190px}.social-actions{grid-column:3;max-width:390px;padding-top:26px}}
@media(max-width:650px){.social-profile{border-radius:18px;margin-top:16px}.social-cover{height:180px}.social-cover-caption{left:22px;bottom:46px;font-size:1rem}.social-cover-caption .eyebrow{font-size:.62rem}.social-identity{grid-template-columns:minmax(0,1fr);padding:0 22px 22px;gap:12px}.social-portrait{width:120px;height:120px;margin-top:-30px}.social-name{padding-top:0}.social-actions{grid-column:1}.social-actions .btn{flex:1;font-size:.84rem;padding:11px}.social-highlights{margin:0 22px;gap:12px;flex-direction:column}.social-tabs{padding:0 22px;gap:24px;font-size:.85rem}.social-layout .card-pad{padding:24px}.social-layout .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.social-service{padding:16px}}
.social-cover-monogram{position:absolute;right:6%;top:-35px;font-size:260px;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.1);line-height:1.2;transform:rotate(-8deg)}
.social-business .social-identity{grid-template-columns:230px minmax(0,1fr)}.social-business .social-portrait{width:230px;height:140px}.social-business .social-portrait img{padding:16px}
.social-trust summary{font-weight:700;color:var(--ink);cursor:pointer}.social-trust p{margin-top:12px!important}.social-trust{padding:18px 24px;background:#f5faff}
@media(min-width:1500px){.social-business .social-identity{grid-template-columns:250px minmax(0,1fr) auto}.social-business .social-portrait{width:250px;height:160px}}
@media(max-width:650px){.social-business .social-identity{grid-template-columns:minmax(0,1fr)}.social-business .social-portrait{width:200px;height:110px}.social-cover-monogram{font-size:180px;top:-10px;right:3%}}

/* One service-choice vocabulary across search, library and guide pages. */
.field-label{display:block;font-size:.875rem;font-weight:700;margin-bottom:8px;color:var(--ink)}
.service-choice-grid{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:10px}
.service-choice{position:relative;display:block;margin:0;cursor:pointer}.service-choice input{position:absolute;opacity:0;width:1px;height:1px}.service-choice span{display:flex;gap:10px;align-items:center;min-height:70px;padding:14px;border:1px solid #bdd3e5;border-radius:12px;background:#f5faff;color:var(--navy);font-size:.875rem;height:100%}.service-choice input:checked+span{background:#e0f2ff;border-color:#0076d4;box-shadow:inset 0 0 0 1px #0076d4}.service-choice input:focus-visible+span{outline:3px solid #0076d4;outline-offset:3px}
.search-form:has(.service-choice-grid){grid-template-columns:minmax(0,1fr) auto;align-items:end}.search-form:has(.service-choice-grid)>div:nth-child(2){grid-column:1/-1;grid-row:2}.search-form:has(.service-choice-grid)>.btn{grid-column:2;grid-row:1}
.service-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-jump a{border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;min-height:74px;padding:14px;background:#eaf5fd;text-decoration:none}
.service-library{grid-template-columns:1fr}.service-library .service-block,.service-library .service-block:last-child{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1fr)}.service-library .service-block .service-block-photo img,.service-library .service-block:last-child .service-block-photo img{height:100%;min-height:310px}.service-block-actions{margin-top:20px}.service-task-preview{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}.service-task-preview a{padding:6px 10px;background:#eaf5fd;border-radius:8px;font-size:.8rem;text-decoration:none}.guide-task-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-task-grid a{display:flex;flex-direction:column;gap:8px;padding:18px;background:#f2f8fd;border:1px solid var(--line);border-radius:12px;text-decoration:none;height:100%}.guide-task-grid span{color:var(--muted);font-size:.9rem}
@media(max-width:750px){.service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-choice span{min-height:84px;font-size:.8rem;padding:12px;flex-direction:column;justify-content:center;text-align:center}.service-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.service-library .service-block,.service-library .service-block:last-child{display:flex;flex-direction:column}.service-library .service-block .service-block-photo img,.service-library .service-block:last-child .service-block-photo img{height:200px;min-height:0}.guide-task-grid{grid-template-columns:1fr}.service-block-heading h2{font-size:1.35rem}.search-form:has(.service-choice-grid){grid-template-columns:1fr}.search-form:has(.service-choice-grid)>.btn{grid-column:1;grid-row:3}.search-form:has(.service-choice-grid)>div:nth-child(2){grid-row:2}}

/* Desktop search and provider film; mobile retains its existing search layout. */
.search-provider-film { display:none; }
@media (min-width: 1000px) {
 .search-desktop-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; margin-top:24px; }
 .discovery-top .search-desktop-pair { position:relative; z-index:4; margin: -12px 32px 0; }
 .discovery-top .search-desktop-pair .search-collapsible { margin:0; }
 .search-provider-film { display:flex; border-radius:18px; }
 .search-desktop-pair .search-form:has(.service-choice-grid) { grid-template-columns:1fr; align-items:start; }
 .search-desktop-pair .search-form:has(.service-choice-grid)>div:nth-child(2) { grid-column:1; grid-row:2; }
 .search-desktop-pair .search-form:has(.service-choice-grid)>.btn { grid-column:1; grid-row:3; margin-top:0; width:100%; }
 .search-desktop-pair .service-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .search-desktop-pair .service-choice span { min-height:84px; flex-direction:column; justify-content:center; text-align:center; }
}

/* Six service categories in two equal rows on desktop. */
@media(min-width:900px){
 .svc-grid,.service-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
 .svc-grid>li,.service-library>.service-block{grid-column:auto;min-width:0}
 .service-jump{grid-template-columns:repeat(3,minmax(0,1fr))}
 .svc-grid .svc-card{height:100%;display:flex;flex-direction:column}
 .svc-grid .svc-card>img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
 .service-library .service-block,.service-library .service-block:last-child{display:flex;flex-direction:column}
 .service-library .service-block .service-block-photo img,.service-library .service-block:last-child .service-block-photo img{width:100%;height:auto;min-height:0;aspect-ratio:8/5;object-fit:cover}
 .service-library .service-block-copy{flex:1;display:flex;flex-direction:column}
 .service-library .service-block-actions{margin-top:auto;padding-top:20px;flex-wrap:wrap}
}

/* Shared branded search panels and stacked service selection. */
.search-card.search-branded { padding:0;overflow:hidden;border:1px solid white; }
.discovery-top .search-card.search-branded { padding:0; }
.search-branded-body { padding:24px; }
.tpanel-search { border:1px solid white; }
.search-wide:has(.service-choice-grid) { grid-template-columns:1fr;align-items:start; }
.search-wide:has(.service-choice-grid) .btn-find { grid-column:1;grid-row:3;margin-top:0;width:100%; }
.search-wide .service-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.search-wide .service-choice span { min-height:84px;flex-direction:column;justify-content:center;text-align:center; }
@media(min-width:1000px){
 .search-desktop-pair { align-items:stretch; }
 .search-desktop-pair .search-collapsible { display:flex;flex-direction:column; }
 .search-desktop-pair .search-card { flex:1; }
 .search-desktop-pair .search-provider-film { height:100%; }
 .search-desktop-pair .video-body { flex:1;justify-content:center; }
}
/* Compact landing-page choices balance the two desktop entry panels. */
@media(min-width:980px){
 .tpanel-search .search-wide .service-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
 .tpanel-search .search-wide .service-choice span { min-height:58px;padding:10px 12px;flex-direction:row;justify-content:flex-start;text-align:left;font-size:.8125rem;gap:8px; }
 .tpanel-search .search-wide .service-choice svg { width:18px;height:18px;flex-shrink:0; }
 .tpanel-search .search-wide .btn-find { min-height:48px; }
}
/* Mobile before-and-after story: each scene gets its own full-width beat. */
@media(max-width:759px){
 .why { padding:16px;gap:24px; }
 .why-art { grid-template-columns:minmax(0,1fr);gap:22px; }
 .why-art img { width:100%;height:auto;aspect-ratio:auto;object-fit:contain; }
 .why-art figcaption { margin-top:9px;font-size:.875rem;line-height:1.5; }
 .why-art figure+figure { padding-top:20px;border-top:1px solid var(--line); }
}

.provider-profile-invite { display:none; }
@media(min-width:980px){
 .tpanel-provider .tpanel-body { display:flex;flex-direction:column; }
 .provider-profile-invite { display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid var(--line); }
 .provider-profile-invite>div { padding-top:10px; }
 .provider-profile-invite .eyebrow { font-size:.65rem;margin:0 0 6px; }
 .provider-profile-invite h3 { font-size:1.1rem;line-height:1.25;margin:0 0 8px; }
 .provider-profile-invite p:not(.eyebrow) { font-size:.8125rem;line-height:1.5;color:var(--muted);margin:0 0 8px; }
 .provider-profile-invite img { width:90px;height:160px;object-fit:contain;align-self:end; }
 .provider-invite-note { font-size:.75rem;font-weight:700;color:var(--accent-ink); }
 .tpanel-provider .provider-signin { margin-bottom:18px; }
}
.fi-search{display:grid;gap:14px;align-items:end}.fi-search label{display:block;font-weight:700;margin-bottom:6px}.fi-result-grid{display:grid;gap:20px}.fi-tags{display:flex;gap:6px;flex-wrap:wrap}.fi-tags span{background:var(--ice);border-radius:8px;padding:6px 10px;font-size:.8125rem}.fi-editor-service{border-bottom:1px solid var(--line);padding:18px 0}.fi-state-grid{display:grid;gap:8px;margin:14px 0}.fi-state-grid .check{margin:0}.fi-stage{margin-bottom:24px}
@media(min-width:760px){.fi-search{grid-template-columns:1fr 1fr auto}.fi-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fi-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FI discovery follows the public search vocabulary and wide page rhythm. */
.fi-search-panel{background:white;border:1px solid white;border-radius:18px;box-shadow:0 12px 32px #082c4618;overflow:hidden}
.fi-search-panel>h2{background:var(--navy);color:white;padding:18px 24px;margin:0;font-size:1.3rem}
.fi-search-panel .fi-search{display:flex;flex-direction:column;align-items:stretch;padding:24px;gap:18px}
.fi-search .input{width:100%}.fi-search .service-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fi-search .btn{width:100%}.fi-search p{margin:0}.fi-search details summary{cursor:pointer;color:var(--navy)}
.fi-stage .stage-art{overflow:visible;border-radius:0;align-self:center;height:380px;margin-right:24px;transform:none}
.fi-stage .stage-art .fi-bank-scene{position:relative;width:100%;height:100%;object-fit:contain;max-width:none;filter:drop-shadow(0 16px 18px #00172835);bottom:auto;right:auto}
.fi-stage .stage-orbit,.fi-stage .art-label{display:none}
@media(min-width:1000px){.fi-outcome-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fi-outcome-grid article{min-height:200px}.fi-search-panel{width:100%;max-width:none;margin-left:0;margin-right:0}}
@media(max-width:759px){.fi-search .service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fi-search-panel .fi-search{padding:18px}.fi-stage .stage-art{margin:16px 0 0;height:270px;width:100%}}
.fi-stage .stage-art{min-height:0}.fi-stage .stage-art .fi-bank-scene{left:auto;transform:none}
.fi-specialist-feature{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;margin:32px 0}.fi-specialist-feature img{width:100%;height:100%;object-fit:cover}.fi-specialist-feature>div{padding:32px;align-self:center}
@media(max-width:759px){.fi-specialist-feature{grid-template-columns:1fr}.fi-specialist-feature img{height:auto}.fi-specialist-feature>div{padding:22px}}

.fi-search-panel.section-sm{padding:0}.fi-search-panel>h2{margin:0}.fi-search .service-choice svg{flex-shrink:0}

.fi-results-empty{grid-column:1/-1}.fi-stage .stage-art .fi-bank-scene{height:calc(100% + 40px);top:-20px}
@media(max-width:759px){.fi-stage .stage-art .fi-bank-scene{height:100%;top:0}}

/* Profile artwork fills its frame; square marks keep their natural shape. */
.social-cover-caption{bottom:62px;max-width:58%;gap:10px;line-height:1.2}
.social-cover-caption small{font-size:1rem;font-weight:400;color:#d5e8f0}
.social-cover-caption .eyebrow{margin:0;overflow-wrap:anywhere}
.social-business .social-portrait{border-width:4px}
.social-business .social-portrait img{padding:0;background:transparent}
.social-business .social-portrait-square{width:148px;height:148px;background:#081d32;border-radius:20px}
.social-business .social-identity:has(.social-portrait-square){grid-template-columns:148px minmax(0,1fr)}
.social-profile,.social-layout,.social-tabs,.social-name{min-width:0}
.social-tabs{flex-wrap:wrap;gap:8px 28px;overflow:visible}
.social-tabs a{padding:16px 0}
.drawer-head .btn{width:auto;margin-top:0;flex:none}
.drawer-head img{max-width:60%;height:auto!important}
@media(min-width:1500px){.social-business .social-identity:has(.social-portrait-square){grid-template-columns:160px minmax(0,1fr) auto}.social-business .social-portrait-square{width:160px;height:160px}}
@media(max-width:1100px){.site-header .nav{display:none}.site-header .menu-btn{display:inline-flex!important}}
@media(max-width:650px){
  .site-header .wrap{min-height:62px;gap:10px}.site-header .brand img{height:27px}.menu-btn{min-height:40px}
  .social-profile{border-radius:16px}.social-cover{height:192px}
  .social-cover::after{background:linear-gradient(90deg,rgba(6,27,45,.6),transparent 90%)}
  .social-cover-image{object-position:65% center}
  .social-cover-caption{left:18px;top:24px;bottom:auto;max-width:65%;font-size:1.25rem;gap:10px}
  .social-cover-caption .eyebrow{font-size:.65rem;letter-spacing:.035em}.social-cover-caption small{font-size:.8rem}
  .social-business .social-identity,.social-business .social-identity:has(.social-portrait-square){grid-template-columns:minmax(0,1fr);padding:0 18px 18px;gap:12px}
  .social-business .social-portrait-square{width:100px;height:100px;border-width:3px;border-radius:16px;margin-top:-24px}
  .social-business .social-portrait:not(.social-portrait-square){width:180px;height:106px}
  .social-name h1{font-size:clamp(1.45rem,6.2vw,1.85rem);margin:6px 0 12px;line-height:1.15}
  .social-name .identity{font-size:.8rem}.social-name .result-meta{gap:6px}
  .social-highlights{margin:0 18px;padding:16px 0;gap:10px;font-size:.8rem}
  .social-tabs{padding:8px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
  .social-tabs a{padding:10px 0;white-space:normal;font-size:.8rem;line-height:1.3}
  .social-layout{gap:18px}.social-layout .card-pad{padding:20px}.social-trust{padding:16px 18px}
  .admin-head h1{font-size:1.3rem;overflow-wrap:anywhere}.admin-head .row{min-width:0}.admin-head .row>div{min-width:0}
  .admin-nav{flex-wrap:wrap;overflow:visible}.admin-nav a{font-size:.8rem;padding:9px}
}
/* Keep the complete ATM visible within a shallow panoramic cover. */
.social-business .social-cover{background:#081d32}
.social-business .social-cover-image{position:absolute;right:0;top:0;width:65%;object-position:right center}
@media(min-width:1050px) and (max-width:1499px){.social-business .social-identity:has(.social-portrait-square){grid-template-columns:148px minmax(0,1fr) auto}.social-business .social-actions{grid-column:3;grid-row:1;padding-top:24px}}
@media(max-width:650px){.social-business .social-cover-image{width:165%;object-fit:contain}.social-business .social-cover-caption{max-width:60%}.social-business .social-cover-caption small{font-size:.75rem}}
.social-business .social-cover-image{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}
@media(max-width:650px){.social-business .social-cover-image{max-width:none;object-position:right bottom}}

/* Provider pages put service fit and direct contact first. */
.provider-intro{margin:20px 0 24px;padding:24px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.provider-heading{display:flex;gap:18px;align-items:center;min-width:0}
.provider-avatar{width:80px;height:80px;flex:none;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--ice);font-size:1.6rem;font-weight:700}
.provider-avatar img{width:100%;height:100%;object-fit:contain}.social-person .provider-avatar{border-radius:50%}.social-person .provider-avatar img{object-fit:cover}
.provider-wordmark{width:140px;background:white}
.provider-name{min-width:0}.provider-name .identity{margin:0 0 5px;font-size:.8rem;color:var(--muted)}
.provider-name h1{font-size:clamp(1.5rem,2.7vw,2.25rem);line-height:1.15;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.provider-offerings{margin:8px 0 0;font-size:.95rem;line-height:1.5}
.provider-coverage{display:flex;gap:8px;align-items:flex-start;margin:18px 0;font-size:.95rem}.provider-coverage svg{flex:none;margin-top:2px}
.provider-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.provider-facts{display:flex;gap:8px 18px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-top:16px;align-items:center}
.provider-verification{color:var(--muted)}.provider-share{border:0;padding:0;background:none;font:inherit;color:var(--accent-ink);cursor:pointer;text-decoration:underline}
.provider-cover{height:140px;margin:20px -24px -24px;overflow:hidden;background:var(--navy)}
.provider-cover .social-cover-image{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;-webkit-mask-image:none;mask-image:none}
.social-layout{gap:24px}.social-layout .card{border:0;border-radius:0;box-shadow:none;background:transparent}.social-layout .card-pad{padding:0 0 24px}
.social-layout .stack{gap:24px}.social-layout h2{font-size:1.25rem;margin-bottom:16px}
.social-service{border:0;border-radius:0;background:transparent;margin-top:0;padding:16px 0;border-bottom:1px solid var(--line)}
.social-service:first-of-type{padding-top:0}.social-service :is(h3,h4){margin-bottom:8px}.social-service ul{margin:8px 0;padding-left:20px}
.social-contact{border-top:0!important}.social-contact h2{margin-bottom:12px}
.provider-trust{font-size:.875rem;border-top:1px solid var(--line);padding:16px 0}.provider-trust summary{cursor:pointer;color:var(--muted)}
.social-layout #report{border-top:1px solid var(--line);padding-top:16px}
.sticky-contact[hidden]{display:none}
@media(max-width:650px){
.provider-intro{padding:18px;margin:14px 0 22px}.provider-heading{gap:12px;align-items:flex-start}
.provider-avatar{width:60px;height:60px;border-radius:10px}.provider-wordmark{width:80px;height:60px}
.provider-name h1{font-size:1.35rem}.provider-name .identity{font-size:.72rem}.provider-offerings{font-size:.85rem;margin-top:6px}
.provider-coverage{font-size:.875rem;line-height:1.45;margin:14px 0}
.provider-contact-actions{gap:8px;margin-top:12px}.provider-contact-actions .btn{flex:1;min-width:80px;font-size:.85rem;padding:10px}
.provider-facts{font-size:.75rem;gap:7px 14px;margin-top:12px}.provider-cover{height:72px;margin:14px -18px -18px}
.social-layout .card-pad{padding:0 0 18px}.social-layout{gap:18px}.social-layout .stack{gap:18px}
}

/* Consistent visual boundaries for provider sections and service offerings. */
.social-layout .card{background:#fff;border:1px solid #cbdbe8;border-radius:14px;box-shadow:0 2px 6px rgba(6,43,76,.025);overflow:hidden}
.social-layout .card-pad{padding:22px}
.social-layout .card>h2{margin:-22px -22px 20px;padding:16px 22px;background:#edf4fa;border-bottom:1px solid #cbdbe8;color:var(--navy);font-size:1.15rem}
.social-layout .social-service{padding:0;border:1px solid #cbdbe8;border-radius:10px;margin:14px 0 0;background:#fff;overflow:hidden}
.social-service :is(h3,h4){margin:0;padding:13px 16px;background:#f3f7fb;border-bottom:1px solid #dce6ee;border-left:4px solid var(--accent);font-size:1rem}
.service-facts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;padding:16px}
.service-label{display:block;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:700;color:var(--muted);margin-bottom:7px}
.social-service .service-facts ul{list-style:none;padding:0;margin:0;font-size:.9rem;line-height:1.5}
.social-service .service-facts li+li{margin-top:4px}
.social-service>p{margin:0!important;padding:0 16px 13px;line-height:1.5}
.social-service>p:last-child{padding-bottom:16px}
.social-layout .social-contact>h2{margin:-22px -22px 18px;padding:16px 22px;border-top:3px solid var(--accent)}
.social-layout .provider-trust{padding:16px 20px;background:#fff;border:1px solid #cbdbe8;border-radius:12px}
.social-layout #report{padding:16px 20px}
.provider-facts{border-top:1px solid var(--line);padding-top:13px}
.provider-coverage{padding:12px 14px;border-radius:8px;background:#edf4fa;border:1px solid #dce6ee}
@media(max-width:650px){
.social-layout .card-pad{padding:16px}.social-layout .card>h2{margin:-16px -16px 16px;padding:14px 16px}
.social-layout .social-contact>h2{margin:-16px -16px 16px;padding:14px 16px}
.service-facts{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}
.service-facts>div+div{padding-top:12px;border-top:1px solid #e4ecf2}
.social-service :is(h3,h4){padding:12px 14px}.social-service>p{padding-left:14px;padding-right:14px}
.provider-coverage{padding:10px 12px}.social-layout{gap:18px}
}

/* Compact comparison cards: name, coverage, price and optional scope. */
.provider-services-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.social-layout .provider-services-grid .social-service{margin:0;display:flex;flex-direction:column;min-width:0}
.provider-services-grid .social-service :is(h3,h4){font-size:1rem;line-height:1.35;padding:12px 14px;min-height:48px;display:flex;align-items:center}
.service-area{padding:13px 14px}.service-area .service-label{display:flex;align-items:center;gap:5px}.service-label .ico{width:14px;height:14px}
.social-service .service-area ul{list-style:none;margin:0;padding:0;font-size:.875rem;line-height:1.45}
.service-area li+li{margin-top:4px}
.service-pricing{padding:12px 14px;background:#edf4fa;border-top:1px solid #dce6ee;border-bottom:1px solid #dce6ee}
.service-pricing p{margin:0;font-size:.875rem;line-height:1.45}.service-pricing .small{font-size:.75rem;margin-top:5px}
.social-service .service-note{padding:12px 14px!important;margin:0!important;font-size:.8rem;line-height:1.5}
.provider-contact-details{margin:0}.provider-contact-details dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--muted);margin:15px 0 5px}
.provider-contact-details dt:first-child{margin-top:0}.provider-contact-details dd{margin:0;overflow-wrap:anywhere;font-size:.9rem;line-height:1.5}
@media(min-width:700px){.provider-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-services-grid>.social-service:only-child{grid-column:1/-1}}
@media(min-width:980px){
.provider-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;padding:22px}
.provider-heading{grid-column:1;grid-row:1}.provider-contact-actions{grid-column:2;grid-row:1;align-self:center;margin-top:0;justify-content:flex-end;max-width:310px}
.provider-coverage{grid-column:1/-1;margin-bottom:0}.provider-facts{grid-column:1/-1;margin-top:16px}.provider-cover{grid-column:1/-1;margin:18px -22px -22px}
}

.articles-page>p{max-width:65ch}.articles-grid{display:grid;gap:20px;margin-top:28px}.articles-grid h2{font-size:1.35rem;line-height:1.3}.articles-grid h2 a{color:var(--navy)}
.article-reading{max-width:780px;margin:0 auto;padding:28px;background:white;border:1px solid var(--line);border-radius:14px}.article-reading h1{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;margin:16px 0}.article-reading h2{font-size:1.35rem;line-height:1.3;margin:30px 0 12px}.article-reading p{line-height:1.75}.article-lead{color:var(--muted);font-size:1.05rem}.article-actions{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}
@media(min-width:900px){.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.article-reading{padding:20px}.article-actions .btn{width:100%}}
@media(min-width:980px) and (max-width:1250px){.site-header .nav{display:none}.site-header .menu-btn{display:inline-flex!important}}

/* Keep all available profile contact actions aligned in one row. */
.provider-contact-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);max-width:none}
.provider-contact-actions .btn{min-width:0;white-space:nowrap}
@media(min-width:980px){.provider-contact-actions .btn{min-width:104px}}

.provider-social-heading{font-size:1rem;margin:20px 0 10px;padding-top:16px;border-top:1px solid var(--line)}
.provider-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.provider-social-links .btn{min-width:0}

/* Provider setup: one decision per screen, consistent service cards. */
.selected-services{background:var(--info-bg);border:1px solid var(--line);border-radius:10px;padding:14px;margin:16px 0}
.selected-services ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:10px 0 0}
.selected-services li{padding:5px 9px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:.875rem}
.setup-fi-option{margin:16px 0;color:var(--muted)}
.service-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-settings-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:16px;min-width:0;align-self:start}
.service-settings-card :is(h3,h4){font-size:1rem;margin:0 0 6px}
.service-adjust,.service-pricing{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.service-adjust>summary,.service-pricing>summary{font-weight:600;color:var(--accent-ink);cursor:pointer}
.service-adjust-body{padding-top:14px}
.setup-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.setup-profile-preview{width:100%;height:650px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.managing-business{font-size:.875rem;color:var(--muted);margin:0 0 6px}
@media(max-width:700px){.service-settings-grid{grid-template-columns:1fr}.progress .lbl{font-size:.75rem}.setup-profile-preview{height:600px}}

main>.provider-setup{max-width:940px}
@media(max-width:700px){.setup-decision-actions{flex-wrap:nowrap;gap:6px}.setup-decision-actions .row{flex-wrap:nowrap;gap:6px}.setup-decision-actions .btn{padding-left:10px;padding-right:10px}}

main>.provider-setup.setup-review{max-width:var(--wrap)}
.profile-embedded{padding:12px!important}

/* Public profiles: stronger boundaries and a clear visual hierarchy. */
.provider-page{background:#e7eef4}
.provider-page .provider-intro{background:#edf3f9;border:2px solid #93adc4;border-top:5px solid #062b4c;box-shadow:0 3px 10px rgba(6,43,76,.07)}
.provider-page .provider-avatar{background:#d5e3ef;color:#062b4c;border:1px solid #90aac0}
.provider-page .provider-avatar img{background:#fff}
.provider-page .provider-wordmark{background:#fff}
.provider-page .provider-name .identity{color:#405b73;font-weight:600}
.provider-page .provider-offerings{color:#294966}
.provider-page .provider-facts{border-top:1px solid #a9bfd1;color:#405b73}
.provider-page .provider-verification{padding:4px 9px;background:#fff;border:1px solid #9bb0c2;border-radius:5px;color:#40556a}
.provider-page .provider-coverage{background:#dbe8f3;border:1px solid #93adc4}
.provider-page .social-layout .card{border:2px solid #9db3c6;box-shadow:0 3px 9px rgba(6,43,76,.06);border-radius:12px}
.provider-page .social-layout .card>h2{background:#062b4c;color:#fff;border-bottom:2px solid #008bd5;font-weight:700}
.provider-page .social-layout .social-contact>h2{border-top:0}
.provider-page .social-layout .social-service{border:2px solid #91abc1;border-radius:9px;box-shadow:none}
.provider-page .social-service :is(h3,h4){background:#dce9f4;border-bottom:1px solid #9db5ca;border-left:5px solid #0075d5;color:#062b4c;font-weight:750}
.provider-page .social-service .service-area{background:#fff;color:#29445d;padding:15px 14px}
.provider-page .service-label{color:#3d5971;font-weight:750;letter-spacing:.06em}
.provider-page .social-service .service-pricing{background:#e5eef7;border-top:1px solid #9db5ca;border-bottom:0;margin-top:auto;padding:13px 14px}
.provider-page .social-service .price{color:#062b4c;font-weight:750}
.provider-page .social-service .service-note{background:#f5f8fb;border-top:1px solid #bdd0de;color:#405b73}
.provider-page .provider-contact-details dt{color:#3d5971}
.provider-page .provider-contact-details dd{padding-bottom:12px;border-bottom:1px solid #d2dfe9}
.provider-page .provider-contact-details dd:last-child{padding-bottom:0;border-bottom:0}
.provider-page .social-layout .provider-trust{border:2px solid #9db3c6;background:#f2f6fa}
.provider-page .provider-trust summary{color:#294966;font-weight:650}
.provider-page .provider-social-heading{border-color:#b3c6d6}
@media(max-width:650px){.provider-page .social-layout .card>h2{padding-top:14px;padding-bottom:14px}.provider-page .provider-intro{border-top-width:4px}}

/* The same six-category hierarchy in setup and public profiles. */
.category-title{display:flex;align-items:center;gap:10px;min-width:0}
.category-title svg{width:22px;height:22px;flex:none}
.category-count{font-size:.8rem;font-weight:600;color:#405b73;white-space:nowrap}
.service-category-editor{border:2px solid #93adc4;border-radius:10px;background:#fff;overflow:hidden;margin:14px 0}
.service-category-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#dce9f4;color:#062b4c;cursor:pointer;list-style:none}
.service-category-editor>summary::-webkit-details-marker{display:none}
.service-category-editor>summary::after{content:'⌄';font-size:1.25rem;font-weight:700}
.service-category-editor[open]>summary{border-bottom:1px solid #93adc4}
.service-category-editor[open]>summary::after{content:'⌃'}
.service-category-editor .service-settings-grid{padding:16px;background:#f4f8fb}
.service-category-editor .service-settings-card{border-color:#a2b8ca}
.public-service-category{margin:20px 0 0;border:1px solid #a2b8ca;border-radius:10px;overflow:hidden;background:#f4f8fb}
.service-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 16px;background:#c9dceb;border-bottom:1px solid #93adc4;color:#062b4c;font-size:1.05rem}
.public-service-category>.provider-services-grid{padding:14px}
.public-service-category .social-service:only-child{grid-column:1/-1}
.selected-services>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.selected-services>ul>li{padding:10px;min-width:0}
.selected-services>ul>li>strong{display:block;color:#062b4c}
.selected-services>ul>li>ul{margin-top:8px}
@media(max-width:650px){.selected-services>ul{grid-template-columns:1fr}.category-count{white-space:normal;text-align:right;font-size:.72rem}.service-category-editor>summary{padding:13px;gap:8px}.category-title{gap:8px}.public-service-category>.provider-services-grid,.service-category-editor .service-settings-grid{padding:10px}.service-category-heading{padding:13px 12px;font-size:.95rem}}
.service-settings-grid>.service-settings-card:only-child{grid-column:1/-1}

/* Profile shortcuts share the header's facts row and wrap on smaller screens. */
.provider-header-footer{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #a9bfd1;margin-top:16px;padding-top:13px}
.provider-page .provider-header-footer .provider-facts{border-top:0;padding-top:0;margin-top:0;flex-shrink:0}
.provider-category-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0;flex:1 1 380px}
.provider-category-nav-label{font-size:.75rem;color:#405b73;font-weight:650;margin-right:2px}
.provider-category-nav a{display:inline-flex;align-items:center;min-height:34px;padding:5px 9px;border:1px solid #9fb7ca;border-radius:6px;background:#fff;color:#164b75;font-size:.75rem;font-weight:600;text-decoration:none;line-height:1.35}
.provider-category-nav a:hover{background:#dce9f4;border-color:#0075d5;color:#062b4c}
.provider-category-nav a:focus-visible{outline:3px solid #0075d5;outline-offset:2px}
.provider-page .service-category-heading,.provider-page #fi-services{scroll-margin-top:90px}
@media(max-width:650px){.provider-header-footer{gap:12px;margin-top:12px}.provider-category-nav{flex-basis:100%}.provider-category-nav-label{width:100%}.provider-category-nav a{min-height:40px}}
.provider-page .provider-header-footer .provider-facts{flex:0 1 auto;min-width:0;max-width:100%}

/* Category colors stay identical throughout setup and the public profile. */
[data-service-category]{--category-accent:#2563b0;--category-tint:#eaf2fc;--category-ink:#173f72;--category-border:#83a7d2}
[data-service-category="atm-installation"]{--category-accent:#087c86;--category-tint:#e5f4f4;--category-ink:#07565d;--category-border:#78b6bb}
[data-service-category="atm-removal-relocation"]{--category-accent:#a86309;--category-tint:#fff3df;--category-ink:#764607;--category-border:#d1ab6c}
[data-service-category="atm-cash-services"]{--category-accent:#27804c;--category-tint:#eaf5ed;--category-ink:#205c38;--category-border:#86b89a}
[data-service-category="atm-placement"]{--category-accent:#7952ad;--category-tint:#f2ecfa;--category-ink:#56377e;--category-border:#b39acb}
[data-service-category="atm-routine-servicing"]{--category-accent:#586b80;--category-tint:#edf1f5;--category-ink:#35485d;--category-border:#98a7b7}
.service-color-key{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.service-color-key>span{font-size:.78rem;font-weight:650;padding:6px 9px;background:var(--category-tint);color:var(--category-ink);border:1px solid var(--category-border);border-left:5px solid var(--category-accent);border-radius:6px}
.svc-group[data-service-category],.service-category-editor[data-service-category],.public-service-category[data-service-category]{border:2px solid var(--category-border);border-left:5px solid var(--category-accent)}
.svc-group[data-service-category]>summary,.service-category-editor[data-service-category]>summary,.public-service-category[data-service-category]>.service-category-heading{background:var(--category-tint);color:var(--category-ink);border-color:var(--category-border)}
.svc-group[data-service-category] .count,.svc-group[data-service-category] .icon,.service-category-editor[data-service-category] .category-count,.public-service-category[data-service-category] .category-count{color:var(--category-ink)}
.svc-group[data-service-category] .icon{background:var(--category-tint)}
.svc-group[data-service-category] .choice:has(input:checked){background:var(--category-tint);border-color:var(--category-accent)}
.svc-group[data-service-category] input[type=checkbox]{accent-color:var(--category-accent)}
.selected-services>ul>li[data-service-category]{background:var(--category-tint);border:1px solid var(--category-border);border-left:4px solid var(--category-accent)}
.selected-services>ul>li[data-service-category]>strong{color:var(--category-ink)}
.service-category-editor[data-service-category] .service-settings-card{border-color:var(--category-border)}
.service-category-editor[data-service-category] .service-pricing{background:var(--category-tint)}
.provider-page .public-service-category[data-service-category] .social-service{border-color:var(--category-border)}
.provider-page .public-service-category[data-service-category] .social-service h4{background:var(--category-tint);border-bottom-color:var(--category-border);border-left-color:var(--category-accent);color:var(--category-ink)}
.provider-page .public-service-category[data-service-category] .service-pricing{background:var(--category-tint);border-color:var(--category-border)}
.provider-category-nav a[data-service-category]{background:var(--category-tint);color:var(--category-ink);border-color:var(--category-border);border-left:4px solid var(--category-accent)}
.provider-category-nav a[data-service-category]:hover{border-color:var(--category-accent);text-decoration:underline}

/* Service discovery uses the same category palette as profile setup. */
.service-key-label{font-size:.78rem;align-self:center;color:var(--ink);margin-right:2px}
.service-choice[data-service-category]>span{background:var(--category-tint);border:2px solid var(--category-border);border-left:5px solid var(--category-accent);color:var(--category-ink)}
.service-choice[data-service-category]:has(input:checked)>span{background:var(--category-tint);border-color:var(--category-accent);box-shadow:inset 0 0 0 1px var(--category-accent)}
.service-choice[data-service-category]:has(input:checked)>span::after{content:'✓';margin-left:auto;font-weight:800;color:var(--category-ink)}
.service-guide-heading[data-service-category]{border-left:5px solid var(--category-accent);padding-left:18px}
.guide-category-heading[data-service-category]{background:var(--category-tint);border:1px solid var(--category-border);border-left:5px solid var(--category-accent);padding:12px 14px;border-radius:6px;color:var(--category-ink)}
.guide-task-grid[data-service-category] li a{background:var(--category-tint);border:1px solid var(--category-border);border-left:4px solid var(--category-accent)}
.guide-task-grid[data-service-category] li a strong{color:var(--category-ink)}
.service-jump a[data-service-category],.category-discovery[data-service-category]{background:var(--category-tint);border:1px solid var(--category-border);border-left:4px solid var(--category-accent);color:var(--category-ink)}
.service-block[data-service-category],.svc-card[data-service-category]{border:2px solid var(--category-border);border-top:5px solid var(--category-accent)}
.service-block[data-service-category] .service-mark,.svc-card[data-service-category] .svc-card-body{background:var(--category-tint);color:var(--category-ink)}
.service-block[data-service-category] .service-block-heading h2{color:var(--category-ink)}
.service-task-list li[data-service-category]{border-left:4px solid var(--category-accent);padding-left:12px}

.delivery-question{padding:18px;margin:0 0 22px;border:2px solid #93adc4;border-radius:10px;background:#edf3f9}
.delivery-question h2{font-size:1.15rem;margin:0 0 8px}
.delivery-question fieldset{border:0;padding:0;margin:12px 0 0;display:grid;gap:8px}
.delivery-choice{display:flex;gap:10px;align-items:center;padding:12px;background:#fff;border:1px solid #a2b8ca;border-radius:7px;cursor:pointer}
.delivery-choice:has(input:checked){border-color:#0075d5;background:#e5f1fc}
.delivery-choice input{flex:none;accent-color:#0075d5}

/* Make the direct-service rule easy to notice during coverage setup. */
.delivery-question{background:#fff2f2;border-color:#bc4242;border-left:5px solid #b42323}
.delivery-question h2{display:flex;align-items:flex-start;gap:10px;color:#922020}
.delivery-alert-icon{width:24px;height:24px;flex:none}
.delivery-question>p.small{color:#7c2525}
.delivery-question .delivery-choice{border-color:#d7aaaa}
.delivery-question .delivery-choice:has(input:checked){border-color:#a92b2b;background:#fff7f7}
.delivery-question .delivery-choice input{accent-color:#a92b2b}

/* Clear multi-service search selections without shifting the tile layout. */
.service-choice>span{position:relative;padding-right:44px}
.service-choice:has(input:checked)>span{transform:none;background:#c9e2f5}
.service-choice[data-service-category]:has(input:checked)>span{background:color-mix(in srgb,var(--category-accent) 22%,white);transform:none}
.service-choice:has(input:checked)>span::after,.service-choice[data-service-category]:has(input:checked)>span::after{content:'✓';position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--category-accent,#1764a4);color:#fff;font-size:21px;font-weight:800;margin:0}

[data-use-location] { min-height:44px; display:inline-flex; align-items:center; padding:8px 0; }
[data-use-location][hidden] { display:none; }

/* Audit fixes (Oct 2026): staff sign-out is a POST form styled like the other top links; lists inside alerts. */
.admin-top .top-link-form { display: inline; margin: 0; }
.admin-top button.top-link { background: none; border: 0; cursor: pointer; color: #DCE7F1; text-decoration: none; font: inherit; font-weight: 600; font-size: .875rem; padding: 6px 10px; border-radius: 8px; }
.admin-top button.top-link:hover { background: rgba(255,255,255,.1); color: #fff; }
.admin-top button.top-link:focus-visible { outline: 3px solid #00a5ee; outline-offset: 2px; }
@media (max-width: 640px) { .admin-top button.top-link { padding: 6px 6px; font-size: .8125rem; white-space: nowrap; } }
.alert ul { margin: 6px 0 8px; padding-left: 20px; }
.alert ul li + li { margin-top: 4px; }
.alert form { margin-top: 8px; }
.provider-directory li + li { margin-top: 6px; }
.alert-stack { flex-direction: column; gap: 4px; }
.alert-stack p { margin: 0; }
