/* ============================================================
   ADA WEB DIVISION — FINAL PUBLIC THEME
   Clean, trustworthy, Namibia-first visual system.
   Loaded only on public marketing pages. Login/admin surfaces
   intentionally do not load this file.
   ============================================================ */

body.public-site {
  --ada-ink: #0f1b2d;
  --ada-muted: #5c6b7f;
  --ada-subtle: #7a8798;
  --ada-blue: #2563a9;
  --ada-blue-strong: #174f8c;
  --ada-blue-soft: #eaf3ff;
  --ada-line: #dbe4ee;
  --ada-paper: #ffffff;
  --ada-paper-alt: #f6f8fb;
  --ada-navy: #0e1b2b;
  --ada-shadow: 0 18px 55px rgba(24, 49, 80, .08);
  --ada-shadow-soft: 0 10px 30px rgba(24, 49, 80, .06);
  --font-display: 'Inter', 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--ada-paper-alt) !important;
  color: var(--ada-ink) !important;
  line-height: 1.5;
}

body.public-site h1,
body.public-site h2,
body.public-site h3,
body.public-site h4,
body.public-site .h1,
body.public-site .h2,
body.public-site .h3,
body.public-site .card-title { color: var(--ada-ink); }
body.public-site p,
body.public-site .body-text,
body.public-site .body-text-lg { color: var(--ada-muted); }
body.public-site .eyebrow { color: var(--ada-blue); }
body.public-site a:focus-visible,
body.public-site button:focus-visible,
body.public-site input:focus-visible,
body.public-site select:focus-visible,
body.public-site textarea:focus-visible { outline-color: var(--ada-blue); }

/* ---------- Navigation ---------- */
body.public-site .site-nav {
  top: 12px;
  left: max(12px, calc((100vw - 1320px) / 2));
  right: max(12px, calc((100vw - 1320px) / 2));
  min-height: 60px;
  padding: 9px 12px 9px 16px;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(168,184,201,.48) !important;
  box-shadow: 0 12px 36px rgba(20,44,72,.08) !important;
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
body.public-site .site-nav::before { display: none !important; }
body.public-site .site-nav .logo-text { color: var(--ada-ink); font-weight: 700; letter-spacing: -.025em; }
body.public-site .site-nav .nav-center { gap: clamp(16px, 2vw, 28px); }
body.public-site .site-nav .nav-center a { color: #526174; font-weight: 550; }
body.public-site .site-nav .nav-center a:hover,
body.public-site .site-nav .nav-center a[aria-current="page"] { color: var(--ada-ink); }
body.public-site .nav-actions { display: none; align-items: center; gap: 8px; }
body.public-site .nav-login {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 13px; border-radius: 999px; color: #526174;
  font-size: .78rem; font-weight: 600;
}
body.public-site .nav-login:hover { color: var(--ada-blue-strong); background: #f3f7fb; }
body.public-site .site-nav .nav-cta {
  display: inline-flex;
  background: var(--ada-ink) !important;
  color: #fff !important;
  border: 1px solid var(--ada-ink) !important;
  box-shadow: none !important;
  padding: 10px 17px;
  font-weight: 650;
}
body.public-site .site-nav .nav-cta::before { display: none !important; }
body.public-site .site-nav .menu-btn {
  background: #f5f8fb !important; color: var(--ada-ink) !important;
  border: 1px solid var(--ada-line) !important; box-shadow: none !important;
}
body.public-site .site-nav .menu-btn::before { display: none !important; }
body.public-site .site-nav .menu-panel {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid var(--ada-line) !important;
  box-shadow: 0 18px 55px rgba(18,42,70,.14) !important;
}
body.public-site .site-nav .menu-panel::before { display: none !important; }
body.public-site .site-nav .menu-panel a { color: #405167; }
body.public-site .site-nav .menu-panel a:hover { background: #f2f6fa; color: var(--ada-ink); }
@media (min-width: 1024px) {
  body.public-site .nav-actions { display: flex; }
  body.public-site .site-nav > .nav-cta { display: none; }
}

/* ---------- Shared light surfaces ---------- */
body.public-site .liquid-glass,
body.public-site .liquid-glass-strong {
  background: rgba(255,255,255,.91) !important;
  border: 1px solid var(--ada-line) !important;
  box-shadow: var(--ada-shadow-soft) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.public-site .liquid-glass::before,
body.public-site .liquid-glass-strong::before { display: none !important; }
body.public-site .section { background: transparent; }
body.public-site .section-wrapper { max-width: 1180px; }
body.public-site .page-hero {
  padding-top: 152px;
  padding-bottom: 64px;
  background:
    radial-gradient(circle at 85% 12%, rgba(79,143,216,.13), transparent 24rem),
    linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border-bottom: 1px solid #e5ebf1;
}
body.public-site .page-hero .h1 { max-width: 780px; }
body.public-site .page-hero .lede { max-width: 680px; color: var(--ada-muted); }
body.public-site .serif-italic { color: var(--ada-blue-strong) !important; }
body.public-site .tag,
body.public-site .filter-btn,
body.public-site .status-badge {
  color: #496077 !important;
  background: #fff !important;
  border-color: var(--ada-line) !important;
  box-shadow: none !important;
}
body.public-site .filter-btn.active,
body.public-site .filter-btn:hover { color: #fff !important; background: var(--ada-blue-strong) !important; border-color: var(--ada-blue-strong) !important; }

/* ---------- Forms ---------- */
body.public-site .form-field label { color: #41536a !important; font-weight: 600; }
body.public-site .form-field input,
body.public-site .form-field select,
body.public-site .form-field textarea {
  width: 100%;
  color: var(--ada-ink) !important;
  background: #fff !important;
  border: 1px solid #cfd9e4 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
body.public-site .form-field input::placeholder,
body.public-site .form-field textarea::placeholder { color: #8995a4; }
body.public-site .form-field select option { background: #fff !important; color: var(--ada-ink) !important; }
body.public-site form .btn-simple,
body.public-site form button[type="submit"] {
  background: var(--ada-ink) !important; color: #fff !important;
  border: 1px solid var(--ada-ink) !important;
  box-shadow: none !important;
}
body.public-site .form-success { background: #f3f9ff !important; border-color: #bcd5f1 !important; }
body.public-site .auth-message.error { color: #9b2c2c !important; background: #fff1f1 !important; border: 1px solid #f0caca; }

/* ---------- Commercial pages ---------- */
body.public-site .commercial-hero {
  padding-top: clamp(9rem, 13vw, 11rem);
  background:
    radial-gradient(circle at 84% 18%, rgba(72,139,219,.14), transparent 26rem),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%) !important;
  border-bottom: 1px solid #e3eaf1;
}
body.public-site .commercial-hero::before {
  background-image: linear-gradient(rgba(33,82,131,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(33,82,131,.035) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  opacity: 1 !important;
}
body.public-site .commercial-kicker { color: var(--ada-blue-strong); background: #edf5ff; border-color: #c9dff5; }
body.public-site .commercial-kicker::before { background: var(--ada-blue); }
body.public-site .commercial-title { color: var(--ada-ink); max-width: 980px; }
body.public-site .commercial-lede { color: var(--ada-muted); max-width: 760px; }
body.public-site .commercial-primary {
  background: var(--ada-ink) !important; color:#fff !important; border-color: var(--ada-ink) !important;
}
body.public-site .commercial-secondary {
  background:#fff !important; color:var(--ada-ink) !important; border-color:#cbd6e2 !important;
}
body.public-site .commercial-section { background: #fff !important; border-top: 1px solid #edf1f5; }
body.public-site main > .commercial-section:nth-of-type(even) { background: #f6f8fb !important; }
body.public-site main > .commercial-section:nth-of-type(odd) { background: #fff !important; }
body.public-site .commercial-head h2 { color: var(--ada-ink); }
body.public-site .commercial-head p { color: var(--ada-muted); }
body.public-site .offer-card,
body.public-site .price-card,
body.public-site .clarity-card,
body.public-site .access-band {
  background: #fff !important;
  border: 1px solid var(--ada-line) !important;
  box-shadow: var(--ada-shadow-soft) !important;
}
body.public-site .offer-card.entry,
body.public-site .price-card.featured {
  background: linear-gradient(180deg,#f3f8ff 0%,#fff 100%) !important;
  border-color: #b8d3ef !important;
}
body.public-site .offer-card h3,
body.public-site .price-card h3,
body.public-site .clarity-card strong,
body.public-site .access-band h3 { color: var(--ada-ink); }
body.public-site .offer-card p,
body.public-site .price-card .for,
body.public-site .price-note,
body.public-site .offer-list li,
body.public-site .clarity-card span,
body.public-site .access-band p,
body.public-site .access-meta span,
body.public-site .schema-note { color: var(--ada-muted); }
body.public-site .price { color: var(--ada-ink); }
body.public-site .price-badge { background:#e4f0ff; color:#245d9a; border-color:#c0d9f2; }
body.public-site .comparison { background:#fff; border:1px solid var(--ada-line); border-radius:18px; overflow:hidden; box-shadow:var(--ada-shadow-soft); }
body.public-site .comparison th { color:#35516f; background:#f5f8fb; }
body.public-site .comparison td { color:#53657a; }
body.public-site .comparison th,
body.public-site .comparison td { border-color:#e3eaf1; }
body.public-site .media-card { border:1px solid var(--ada-line); box-shadow:var(--ada-shadow); }
body.public-site .media-card::after { background:linear-gradient(180deg,transparent 28%,rgba(10,25,43,.86)); }
body.public-site .media-copy h3 { color:#fff; }
body.public-site .media-copy p { color:rgba(255,255,255,.78); }
body.public-site .footer-simple { background:var(--ada-navy) !important; border-top:0 !important; }
body.public-site .footer-simple .body-text { color:rgba(255,255,255,.66) !important; }

/* ---------- Homepage: clean trust-led composition ---------- */
body.public-site .home-hero {
  min-height: 94vh;
  padding-top: 118px;
  background:
    radial-gradient(circle at 88% 18%, rgba(68,137,218,.15), transparent 26rem),
    radial-gradient(circle at 8% 88%, rgba(73,142,219,.06), transparent 22rem),
    #ffffff !important;
  border-bottom: 1px solid #e4eaf1;
}
body.public-site .home-hero::after { background:linear-gradient(90deg,transparent,#d9e5f1,transparent); }
body.public-site .web-kicker {
  color:#385671; background:#f5f9fd; border-color:#cfdce9; box-shadow:none;
}
body.public-site .web-kicker-dot { background:var(--ada-blue); box-shadow:0 0 14px rgba(37,99,169,.28); }
body.public-site .hero-v2-title { color:var(--ada-ink); }
body.public-site .hero-v2-title .hero-soft { color:var(--ada-blue-strong); }
body.public-site .hero-v2-lede { color:var(--ada-muted); }
body.public-site .hero-primary { background:var(--ada-ink) !important; color:#fff !important; }
body.public-site .hero-secondary { color:var(--ada-ink) !important; background:#fff !important; border-color:#cbd6e2 !important; }
body.public-site .hero-watch { color:#174f8c; background:#edf5ff; border-color:#c4dbee; }
body.public-site .hero-watch:hover { background:#e3f0ff; border-color:#98bfe5; }
body.public-site .hero-watch-icon { background:var(--ada-blue); color:#fff; box-shadow:none; }
body.public-site .hero-watch-duration { color:#75859a; }
body.public-site .hero-proofline { color:#68778a; }
body.public-site .hero-proofline span::before { background:var(--ada-blue); }
body.public-site .hero-photo-card { border-color:#d8e1ea; box-shadow:0 34px 80px rgba(25,51,82,.16); }
body.public-site .hero-overlay-card { color:#fff; background:rgba(9,22,38,.82); border-color:rgba(255,255,255,.18); }
body.public-site .hero-overlay-card strong { color:#fff; }
body.public-site .hero-overlay-card p,
body.public-site .hero-overlay-card span { color:rgba(255,255,255,.72); }
body.public-site .hero-status { color:rgba(255,255,255,.9); }
body.public-site .hero-video-badge { background:rgba(8,22,39,.72); color:rgba(255,255,255,.9); }

body.public-site .home-band::before { background:#fff !important; }
body.public-site .home-band-glass::before,
body.public-site .home-band-blue::before,
body.public-site .home-band-blue-soft::before,
body.public-site .home-band-soft::before,
body.public-site .home-band-sky::before { background:#f6f8fb !important; }
body.public-site .home-band-light::before { background:#fff !important; }
body.public-site .home-band-dark::before { background:#f6f8fb !important; }
body.public-site .home-section { border-top:1px solid #edf1f5; }
body.public-site .home-section-header p { color:var(--ada-muted) !important; }
body.public-site .principle-strip,
body.public-site .problem-card,
body.public-site .path-card,
body.public-site .standard-card,
body.public-site .access-card,
body.public-site .case-shell,
body.public-site .check-shell {
  background:#fff !important; border-color:var(--ada-line) !important; box-shadow:var(--ada-shadow-soft) !important;
}
body.public-site .principle { border-color:#e4eaf0 !important; }
body.public-site .principle strong,
body.public-site .problem-card h3,
body.public-site .path-card h3,
body.public-site .standard-card h3,
body.public-site .access-card h3,
body.public-site .case-stage h3 { color:var(--ada-ink); }
body.public-site .principle span,
body.public-site .problem-card p,
body.public-site .path-card p,
body.public-site .standard-card p,
body.public-site .access-card > p,
body.public-site .access-list li,
body.public-site .case-stage p,
body.public-site .case-empty { color:var(--ada-muted) !important; }
body.public-site .problem-number,
body.public-site .path-label,
body.public-site .standard-index,
body.public-site .access-tag,
body.public-site .case-stage span,
body.public-site .result-label { color:var(--ada-blue) !important; }
body.public-site .path-arrow,
body.public-site .access-cta { color:var(--ada-blue-strong) !important; }
body.public-site .path-card:hover,
body.public-site .problem-card:hover,
body.public-site .standard-card:hover,
body.public-site .access-card:hover { border-color:#b8cfe7 !important; box-shadow:0 20px 48px rgba(27,60,97,.10) !important; }
body.public-site .access-card.featured { background:linear-gradient(180deg,#eef6ff,#fff) !important; border-color:#b6d1ed !important; }
body.public-site .check-intro { border-color:#e0e7ef !important; }
body.public-site .check-intro p,
body.public-site .check-note,
body.public-site .form-field label { color:var(--ada-muted) !important; }
body.public-site .check-note { background:#f2f6fa !important; border:1px solid #e0e7ef; }
body.public-site .check-submit { background:var(--ada-ink) !important; color:#fff !important; }
body.public-site .check-result { background:#edf6ff !important; border-color:#bdd8f2 !important; }
body.public-site .check-result p,
body.public-site .check-result ul { color:#4c6078 !important; }
body.public-site .case-empty { background:#f3f6f9 !important; border:1px solid #e2e8ef; }

body.public-site .ownership-shell {
  background:linear-gradient(135deg,#0e1b2b 0%,#163251 100%) !important;
  border-color:#1b3859 !important;
  box-shadow:0 26px 60px rgba(16,38,63,.16) !important;
}
body.public-site .ownership-copy h2,
body.public-site .ownership-copy p,
body.public-site .ownership-shell .eyebrow { color:#fff !important; }
body.public-site .ownership-copy p { color:rgba(255,255,255,.72) !important; }
body.public-site .asset-record div { background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.14); }
body.public-site .asset-record strong { color:#fff; }
body.public-site .asset-record span { color:rgba(255,255,255,.62); }

body.public-site .local-shell {
  background:linear-gradient(135deg,#eaf4ff 0%,#f8fbff 65%,#fff 100%) !important;
  border:1px solid #cfe0f1 !important;
  box-shadow:var(--ada-shadow) !important;
}
body.public-site .local-shell::before { background:radial-gradient(circle at 88% 18%,rgba(54,126,207,.16),transparent 25rem) !important; }
body.public-site .local-copy h2 { color:var(--ada-ink) !important; }
body.public-site .local-copy p { color:var(--ada-muted) !important; }
body.public-site .local-points span { color:#405872 !important; border-color:#c6d7e8 !important; background:#fff !important; }
body.public-site .home-final { background:#fff !important; }
body.public-site .home-final p { color:var(--ada-muted) !important; }

/* ---------- Legacy cards (blog, team, gallery, careers) ---------- */
body.public-site .blog-card,
body.public-site .team-card,
body.public-site .career-card,
body.public-site .resource-card,
body.public-site .gallery-item,
body.public-site .feature-card,
body.public-site .info-card {
  background:#fff !important;
  border:1px solid var(--ada-line) !important;
  box-shadow:var(--ada-shadow-soft) !important;
}
body.public-site .blog-card:hover,
body.public-site .team-card:hover,
body.public-site .gallery-item:hover { border-color:#b9cee3 !important; box-shadow:0 20px 48px rgba(27,60,97,.10) !important; }
body.public-site .placeholder-tile { background:#f3f6f9 !important; color:#7b8999 !important; }
body.public-site .roster-note { color:var(--ada-muted) !important; }
body.public-site .icon-circle { background:#edf4fb !important; color:var(--ada-blue-strong) !important; }
body.public-site .lightbox { background:rgba(10,22,37,.88); }
body.public-site .lightbox .lightbox-close { background:#fff !important; color:var(--ada-ink) !important; }

/* ---------- Footer ---------- */
body.public-site footer.section-wrapper {
  max-width:none !important;
  padding:0 !important;
  background:var(--ada-navy);
}
body.public-site footer.section-wrapper > .site-footer,
body.public-site footer.section-wrapper > .liquid-glass-strong.site-footer,
body.public-site .site-footer {
  border-radius:0 !important;
  border:0 !important;
  background:var(--ada-navy) !important;
  box-shadow:none !important;
  color:#fff !important;
  padding:64px 24px 28px !important;
}
body.public-site .site-footer::before { display:none !important; }
body.public-site .site-footer .footer-col h5 { color:rgba(255,255,255,.48); }
body.public-site .site-footer .footer-col a { color:rgba(255,255,255,.72); }
body.public-site .site-footer .footer-col a:hover { color:#fff; }
body.public-site .site-footer .body-text { color:rgba(255,255,255,.62) !important; }
body.public-site .site-footer .footer-copy { color:rgba(255,255,255,.45); }
body.public-site .site-footer .footer-bottom { border-color:rgba(255,255,255,.1); }
body.public-site .footer-access-note { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.46); font-size:.72rem; }
body.public-site .footer-access-note::before { content:''; width:6px; height:6px; border-radius:50%; background:#6fa8df; }

/* ---------- Trailer: intentionally silent ---------- */
body.public-site .trailer-dialog { background:#fff; color:var(--ada-ink); border-color:#d6e0ea; box-shadow:0 40px 100px rgba(10,28,49,.28); }
body.public-site .trailer-dialog-head h2 { color:var(--ada-ink); }
body.public-site .trailer-close { color:var(--ada-ink); background:#f2f6fa; border-color:#d9e2eb; }
body.public-site .trailer-close:hover { background:#e9eff5; }
body.public-site .trailer-caption { color:var(--ada-muted); }
body.public-site .trailer-frame { border-color:#d5dee8; }

@media (max-width: 760px) {
  body.public-site .home-hero { min-height:auto; padding-top:112px; padding-bottom:72px; }
  body.public-site .site-nav { left:10px; right:10px; top:10px; }
  body.public-site .hero-v2-title { font-size:clamp(3rem,15vw,4.8rem); }
  body.public-site .commercial-title { font-size:clamp(2.6rem,12vw,4.5rem); }
  body.public-site .footer-columns { grid-template-columns:1fr 1fr; }
}
@media (max-width: 520px) {
  body.public-site .footer-columns { grid-template-columns:1fr; }
  body.public-site .hero-v2-actions > * { width:100%; justify-content:center; text-align:center; }
}
body.public-site .hero-video-card video { filter:saturate(.9) contrast(1.02) brightness(.92) !important; }
body.public-site .hero-video-card::after { background:linear-gradient(180deg,rgba(7,18,31,.02),rgba(7,18,31,.04) 42%,rgba(7,18,31,.55)) !important; }
/* Image-led cards keep high-contrast white copy. */
body.public-site .audience-copy h3 { color:#fff !important; }
body.public-site .audience-copy p { color:rgba(255,255,255,.76) !important; }
body.public-site .audience-copy .eyebrow { color:#b8d9ff !important; }

/* ---------- Complete site directory / migrated quick links ---------- */
body.public-site footer.public-footer {
  background:#f4f7fa !important;
  border-top:1px solid #e2e8ef;
  color:var(--ada-ink);
}
body.public-site .site-directory-wrap {
  max-width:1180px;
  margin:0 auto;
  padding:72px 24px 30px;
}
body.public-site .site-directory-panel {
  background:#fff;
  border:1px solid #d9e2eb;
  border-radius:28px;
  box-shadow:0 22px 70px rgba(25,53,83,.08);
  padding:38px 40px 34px;
}
body.public-site .directory-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding-bottom:28px;
  border-bottom:1px solid #e7edf3;
}
body.public-site .directory-eyebrow {
  display:block;
  margin-bottom:10px;
  color:var(--ada-blue-strong);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
body.public-site .directory-head h2 {
  margin:0;
  color:var(--ada-ink);
  font-size:clamp(1.65rem,3vw,2.35rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
body.public-site .directory-head p {
  max-width:620px;
  margin:10px 0 0;
  color:var(--ada-muted);
  line-height:1.65;
}
body.public-site .directory-project-cta {
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
  background:var(--ada-navy);
  color:#fff !important;
  font-size:.88rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
body.public-site .directory-project-cta:hover {
  transform:translateY(-2px);
  background:#0f3155;
  box-shadow:0 12px 28px rgba(18,48,80,.18);
}
body.public-site .solution-shortcuts {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding:24px 0 30px;
  border-bottom:1px solid #e7edf3;
}
body.public-site .solution-shortcuts a {
  display:flex;
  min-height:92px;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  border:1px solid #dce5ee;
  border-radius:16px;
  background:#f8fafc;
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
body.public-site .solution-shortcuts a:hover {
  transform:translateY(-2px);
  border-color:#b9cee3;
  background:#fff;
  box-shadow:0 12px 28px rgba(27,60,97,.08);
}
body.public-site .solution-shortcuts span {
  color:#718194;
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.public-site .solution-shortcuts strong {
  color:var(--ada-ink);
  font-size:.9rem;
  line-height:1.25;
}
body.public-site .directory-grid {
  display:grid;
  grid-template-columns:1.55fr .9fr .95fr 1fr .8fr;
  gap:34px;
  padding-top:34px;
}
body.public-site .directory-brand-lockup {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--ada-ink) !important;
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-.025em;
  text-decoration:none;
}
body.public-site .directory-brand-lockup img { object-fit:contain; }
body.public-site .directory-brand-lockup small {
  color:var(--ada-blue-strong);
  font-size:.55em;
  letter-spacing:.12em;
}
body.public-site .directory-brand p {
  max-width:250px;
  margin:18px 0 18px;
  color:var(--ada-muted);
  font-size:.88rem;
  line-height:1.65;
}
body.public-site .directory-contact {
  display:grid;
  gap:9px;
  max-width:280px;
  margin:0 0 18px;
}
body.public-site .directory-contact-link {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  padding:9px 0;
  border-bottom:1px solid #e5ebf1;
  color:var(--ada-ink) !important;
  text-decoration:none;
}
body.public-site .directory-contact-link:first-child { border-top:1px solid #e5ebf1; }
body.public-site .directory-contact-link span {
  color:#728093;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.public-site .directory-contact-link strong {
  color:#26384c;
  font-size:.82rem;
  font-weight:650;
  overflow-wrap:anywhere;
  text-align:right;
}
body.public-site .directory-contact-link:hover strong,
body.public-site .directory-contact-link:focus-visible strong { color:var(--ada-blue-strong); }
body.public-site .directory-contact-link:focus-visible { outline:2px solid #8db7ff; outline-offset:4px; border-radius:4px; }
body.public-site .directory-location {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#708094;
  font-size:.72rem;
  font-weight:650;
}
body.public-site .directory-location::before {
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:#5f9fda;
  box-shadow:0 0 0 4px #eaf3fb;
}
body.public-site .directory-col {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
body.public-site .directory-col h3 {
  margin:0 0 6px;
  color:#728093;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.public-site .directory-col a {
  color:#314255 !important;
  font-size:.86rem;
  font-weight:580;
  line-height:1.35;
  text-decoration:none;
  transition:color .16s ease, transform .16s ease;
}
body.public-site .directory-col a:hover {
  color:var(--ada-blue-strong) !important;
  transform:translateX(2px);
}
body.public-site .footer-legal-bar {
  background:var(--ada-navy);
  color:rgba(255,255,255,.62);
}
body.public-site .footer-legal-inner {
  max-width:1180px;
  min-height:68px;
  margin:0 auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:.74rem;
}
@media (max-width: 980px) {
  body.public-site .solution-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.public-site .directory-grid { grid-template-columns:1.35fr 1fr 1fr; }
  body.public-site .directory-brand { grid-row:span 2; }
}
@media (max-width: 720px) {
  body.public-site .site-directory-wrap { padding:52px 16px 24px; }
  body.public-site .site-directory-panel { padding:28px 22px; border-radius:22px; }
  body.public-site .directory-head { align-items:flex-start; flex-direction:column; }
  body.public-site .directory-project-cta { width:100%; justify-content:space-between; }
  body.public-site .solution-shortcuts { grid-template-columns:1fr 1fr; }
  body.public-site .directory-grid { grid-template-columns:1fr 1fr; gap:30px 22px; }
  body.public-site .directory-brand { grid-column:1 / -1; grid-row:auto; }
  body.public-site .footer-legal-inner { align-items:flex-start; flex-direction:column; gap:6px; }
}
@media (max-width: 480px) {
  body.public-site .solution-shortcuts { grid-template-columns:1fr; }
  body.public-site .solution-shortcuts a { min-height:76px; }
  body.public-site .directory-grid { grid-template-columns:1fr 1fr; }
  body.public-site .directory-col-wide { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }
  body.public-site .directory-col-wide h3 { grid-column:1 / -1; }
}

/* ADA Web visual storytelling strips — uses the collected media library without turning pages into stock-photo walls. */
.visual-story-strip{position:relative;z-index:2;padding:0 0 2.2rem;background:transparent}.visual-story-track{width:min(1180px,calc(100% - 2rem));margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.visual-story-card{margin:0;min-height:190px;overflow:hidden;border-radius:20px;border:1px solid rgba(15,23,42,.08);background:#eef2f7;box-shadow:0 16px 45px rgba(15,23,42,.06)}.visual-story-card:nth-child(2){transform:translateY(12px)}.visual-story-card img{width:100%;height:100%;min-height:190px;object-fit:cover;display:block}.visual-story-track:has(.visual-story-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.visual-story-track,.visual-story-track:has(.visual-story-card:nth-child(3):last-child){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.35rem;scrollbar-width:none}.visual-story-track::-webkit-scrollbar{display:none}.visual-story-card{flex:0 0 78%;scroll-snap-align:start;min-height:220px}.visual-story-card:nth-child(2){transform:none}}

/* ---------- Footer interaction hardening ----------
   Legacy public pages use full-viewport decorative .bg-mesh layers. Those
   layers must never intercept pointer/touch events above the site directory. */
body.public-site .bg-mesh,
body.public-site .bg-mesh::before,
body.public-site .bg-mesh::after {
  pointer-events: none !important;
}

body.public-site footer.public-footer {
  position: relative;
  z-index: 20;
  isolation: isolate;
}

body.public-site .site-directory-wrap,
body.public-site .site-directory-panel,
body.public-site .solution-shortcuts,
body.public-site .directory-grid,
body.public-site .footer-legal-bar {
  position: relative;
  z-index: 1;
}

body.public-site .site-directory-panel a,
body.public-site .footer-legal-bar a {
  pointer-events: auto;
  position: relative;
  z-index: 2;
}

/* ============================================================
   ADA WEB — PUBLIC READABILITY & SPACING AUDIT
   2026-08-22
   Gives every marketing page a consistent content gutter and
   removes undersized copy without touching login/admin surfaces.
   ============================================================ */
body.public-site {
  --ada-content-max: 1240px;
  --ada-page-gutter: clamp(24px, 4vw, 56px);
  --text-xs: .82rem;
  --text-sm: .96rem;
  --text-base: 1rem;
  --text-lg: 1.16rem;
  --text-xl: 1.55rem;
}

/* Consistent breathing room on all public page bodies. */
body.public-site main .section-wrapper,
body.public-site main .home-shell,
body.public-site main .home-wrap,
body.public-site main .commercial-shell {
  width: min(var(--ada-content-max), calc(100% - (var(--ada-page-gutter) * 2))) !important;
  max-width: var(--ada-content-max) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* Paragraph/list copy should never fall into micro-text territory. */
body.public-site main p,
body.public-site main li,
body.public-site main dd,
body.public-site main td {
  font-size: max(.95rem, 1em);
}
body.public-site .body-text { font-size: .98rem; line-height: 1.7; }
body.public-site .body-text-lg { font-size: 1.16rem; line-height: 1.65; }
body.public-site .card-title { font-size: 1rem; line-height: 1.35; }
body.public-site .eyebrow,
body.public-site .commercial-kicker,
body.public-site .home-kicker,
body.public-site .directory-eyebrow {
  font-size: .8rem !important;
  font-weight: 750;
  letter-spacing: .12em;
}

/* Buttons, filters and interaction labels remain comfortably readable. */
body.public-site :is(.btn-simple,.btn-primary,.btn-secondary,.commercial-primary,.commercial-secondary,.hero-primary,.hero-secondary,.filter-btn,.tag,.nav-login) {
  font-size: .92rem;
}
body.public-site .form-field label { font-size: .92rem; }
body.public-site .form-field input,
body.public-site .form-field select,
body.public-site .form-field textarea { font-size: 1rem !important; }

/* Home page section that previously had undefined wrapper/head classes. */
body.public-site .home-media-library {
  padding-top: clamp(76px, 8vw, 112px) !important;
  padding-bottom: clamp(76px, 8vw, 112px) !important;
}
body.public-site .home-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  align-items: end;
  gap: clamp(28px, 5vw, 72px);
  margin-bottom: 34px;
}
body.public-site .home-section-head h2 {
  margin: .55rem 0 0;
  max-width: 760px;
  color: var(--ada-ink);
  font-size: clamp(2.35rem, 5vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
body.public-site .home-section-head > p {
  justify-self: end;
  max-width: 520px;
  color: var(--ada-muted) !important;
  font-size: 1.05rem !important;
  line-height: 1.75;
}
body.public-site .home-media-grid {
  gap: 1rem;
  margin-top: 0;
}
body.public-site .home-media-action { margin-top: 1.65rem; }
body.public-site .home-media-action > span { font-size: .9rem; }

/* Legacy/content-page typography that was designed at 11–13px. */
body.public-site .team-card-detailed .position,
body.public-site .team-card-detailed .bio,
body.public-site .team-card-skills span,
body.public-site .stat-label,
body.public-site .case-study-tag,
body.public-site .placeholder-tile span,
body.public-site .blog-card .tag,
body.public-site .testimonial-meta .t-org,
body.public-site .case-meta-item .label,
body.public-site .price-badge,
body.public-site .price-note,
body.public-site .schema-note,
body.public-site .clarity-card span,
body.public-site .access-meta span,
body.public-site .media-kind,
body.public-site .media-library-card-meta span:first-child {
  font-size: .82rem !important;
  line-height: 1.5;
}

/* Site directory should feel like a useful navigation panel, not fine print. */
body.public-site .directory-brand p,
body.public-site .directory-col a { font-size: .94rem; }
body.public-site .directory-col { gap: 12px; }
body.public-site .directory-col h3,
body.public-site .solution-shortcuts span,
body.public-site .directory-location { font-size: .78rem; }
body.public-site .solution-shortcuts strong { font-size: .98rem; }
body.public-site .footer-legal-inner { font-size: .82rem; }

@media (max-width: 760px) {
  body.public-site { --ada-page-gutter: 20px; }
  body.public-site .home-section-head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
    margin-bottom: 26px;
  }
  body.public-site .home-section-head > p { justify-self: start; max-width: 680px; }
  body.public-site .home-media-library { padding-top: 68px !important; padding-bottom: 72px !important; }
}

@media (max-width: 480px) {
  body.public-site { --ada-page-gutter: 16px; }
  body.public-site .home-section-head h2 { font-size: clamp(2.1rem, 11vw, 3rem); }
}

/* Home-specific microcopy raised after the full-page typography review. */
body.public-site .hero-overlay-card strong { font-size: .95rem; }
body.public-site .hero-overlay-card p,
body.public-site .hero-overlay-card span,
body.public-site .hero-status { font-size: .82rem; }
body.public-site .principle span,
body.public-site .audience-copy p,
body.public-site .asset-record span,
body.public-site .local-points span,
body.public-site .trailer-caption { font-size: .88rem; }
body.public-site :is(.problem-number,.path-label,.check-result .result-label,.case-stage > span,.standard-index,.access-tag,.hero-watch-duration,.hero-video-badge) {
  font-size: .78rem;
}
body.public-site :is(.path-arrow,.access-cta) { font-size: .9rem; }
body.public-site .check-note,
body.public-site .case-empty { font-size: .88rem; }
body.public-site .asset-record strong { font-size: .92rem; }
body.public-site .visual-story-track {
  width: min(var(--ada-content-max), calc(100% - (var(--ada-page-gutter) * 2))) !important;
}

/* Commercial/content metadata: readable without competing with headings. */
body.public-site .offer-card .number,
body.public-site .price small { font-size: .86rem; }
body.public-site .price-card .for,
body.public-site .offer-card .outcome,
body.public-site .comparison th,
body.public-site .comparison td { font-size: .94rem; }
body.public-site .clarity-card span,
body.public-site .access-meta span { font-size: .9rem !important; }
body.public-site .media-library-card-meta span:first-child { font-size: .88rem !important; }
body.public-site .media-kind { font-size: .78rem !important; }

/* ---------- ADA WhatsApp navigation CTA ---------- */
body.public-site .nav-whatsapp-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 15px;
  border-radius: 999px;
  background: #ffffff !important;
  color: #0d6f56 !important;
  border: 1px solid rgba(13, 111, 86, .28) !important;
  box-shadow: none !important;
  font-size: .79rem;
  font-weight: 700;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
body.public-site .nav-whatsapp-cta::before { display: none !important; }
body.public-site .nav-whatsapp-cta:hover {
  background: #eefaf6 !important;
  color: #095c48 !important;
  border-color: rgba(13, 111, 86, .48) !important;
  transform: translateY(-1px);
}
body.public-site .site-nav .menu-panel .menu-whatsapp-cta {
  color: #0d6f56 !important;
  font-weight: 750;
  background: #eefaf6;
  border: 1px solid rgba(13, 111, 86, .18);
  border-radius: 12px;
  margin-top: 4px;
}
body.public-site .site-nav .menu-panel .menu-whatsapp-cta:hover {
  background: #e2f7ef !important;
  color: #095c48 !important;
}

/* Mobile navigation reliability fix */
@media (max-width: 1023px) {
  body.public-site .site-nav {
    overflow: visible !important;
  }
  body.public-site .site-nav .menu-wrap {
    position: relative;
    z-index: 320;
  }
  body.public-site .site-nav .menu-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(88vw, 320px);
    max-height: calc(100vh - 96px);
    overflow-y: auto;
    padding: 10px;
    border-radius: 18px;
    z-index: 400;
  }
  body.public-site .site-nav .menu-panel.open {
    display: block !important;
  }
  body.public-site .site-nav .menu-panel a {
    padding: 13px 14px;
    font-size: .95rem;
  }
}
