@import url("https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,500;6..72,600;6..72,700&display=swap");

:root {
  --public-paper: #F7FAFC;
  --public-surface: #FFFFFF;
  --public-ink: #1F2937;
  --public-muted: #596579;
  --public-primary: #0B3D91;
  --public-primary-dark: #082f72;
  --public-accent: #2563EB;
  --public-line: #E5E7EB;
  --public-wash: #EEF4FC;
  --public-shadow: 0 16px 40px rgba(16, 41, 75, .08);
}

body.public-modern,
body[data-page^="insights"] {
  min-height: 100vh;
  color: var(--public-ink);
  background: var(--public-paper);
  font-family: Inter, sans-serif;
  line-height: 1.7;
}

body.public-modern *,
body[data-page^="insights"] * {
  box-sizing: border-box;
}

body.public-modern :focus-visible,
body[data-page^="insights"] :focus-visible {
  outline: 3px solid var(--public-accent);
  outline-offset: 3px;
}

body.public-modern a,
body[data-page^="insights"] a {
  color: var(--public-primary);
  text-decoration: none;
}

body.public-modern a:hover,
body[data-page^="insights"] a:hover {
  color: var(--public-primary-dark);
}

body.public-modern h1,
body.public-modern h2,
body.public-modern h3,
body.public-modern h4,
body[data-page^="insights"] h1,
body[data-page^="insights"] h2,
body[data-page^="insights"] h3,
body[data-page^="insights"] h4 {
  color: var(--public-ink);
  font-family: Newsreader, Georgia, serif;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.15;
}

body.public-modern p,
body[data-page^="insights"] p {
  color: var(--public-muted);
}

body.public-modern .content-width {
  width: min(1160px, calc(100% - 48px));
  margin-inline: auto;
}

body.public-modern .site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--public-line);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.public-modern .navbar {
  position: static;
  display: block;
  width: 100%;
  padding: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: auto;
}

body.public-modern .site-header .navbar,
body[data-page^="insights"] .navbar {
  position: static;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.public-modern .navbar-container,
body[data-page^="insights"] .navbar-container {
  width: min(1160px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

body.public-modern .navbar-inner,
body[data-page^="insights"] .navbar-inner {
  display: flex;
  width: min(1160px, calc(100% - 48px));
  min-height: 82px;
  margin: 0 auto;
  padding: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: none;
  backdrop-filter: none;
}

body.public-modern .navbar-inner::before,
body.public-modern .navbar-inner::after,
body[data-page^="insights"] .navbar-inner::before,
body[data-page^="insights"] .navbar-inner::after {
  display: none;
}

body.public-modern .navbar-inner:hover,
body[data-page^="insights"] .navbar-inner:hover {
  transform: none;
  box-shadow: none;
}

body.public-modern .navbar-logo,
body[data-page^="insights"] .navbar-logo {
  flex: 0 0 auto;
  color: var(--public-primary);
  background: none;
  -webkit-text-fill-color: initial;
}

body.public-modern .site-logo,
body[data-page^="insights"] .site-logo {
  width: auto;
  height: 40px;
  max-width: 180px;
  object-fit: contain;
}

body.public-modern .navbar-menu,
body[data-page^="insights"] .navbar-menu {
  display: flex;
  margin: 0 auto 0 1.25rem;
  padding: 0;
  align-items: center;
  gap: clamp(.8rem, 2vw, 1.5rem);
  list-style: none;
}

body.public-modern .navbar-toggle,
body[data-page^="insights"] .navbar-toggle,
body.public-modern .navbar-menu .mobile-menu-action,
body[data-page^="insights"] .navbar-menu .mobile-menu-action {
  display: none;
}

body.public-modern .navbar-menu a,
body[data-page^="insights"] .navbar-menu a {
  color: var(--public-muted);
  font-size: .9rem;
  font-weight: 600;
}

body.public-modern .navbar-menu a:hover,
body[data-page^="insights"] .navbar-menu a:hover {
  color: var(--public-primary);
}

body.public-modern .navbar-cta,
body[data-page^="insights"] .navbar-cta {
  flex: 0 0 auto;
  margin: 0;
}

body.public-modern .btn,
body.public-modern .header-cta,
body.public-modern .button,
body[data-page^="insights"] .btn {
  display: inline-flex;
  min-height: 46px;
  padding: .72rem 1.15rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--public-primary);
  border-radius: 4px;
  background: var(--public-primary);
  box-shadow: none;
  color: #fffefa;
  font: 700 .92rem/1.3 Inter, sans-serif;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

body.public-modern .btn:hover,
body.public-modern .header-cta:hover,
body.public-modern .button:hover,
body[data-page^="insights"] .btn:hover {
  transform: translateY(-1px);
  border-color: var(--public-primary-dark);
  background: var(--public-primary-dark);
  color: #fffefa;
}

body.public-modern .btn-secondary,
body.public-modern .button-secondary,
body[data-page^="insights"] .btn-secondary {
  border-color: var(--public-primary);
  background: transparent;
  box-shadow: none;
  color: var(--public-primary);
}

body.public-modern .btn-secondary:hover,
body.public-modern .button-secondary:hover,
body[data-page^="insights"] .btn-secondary:hover {
  background: var(--public-wash);
  color: var(--public-primary-dark);
}

body.public-modern .hero {
  min-height: 0;
  display: block;
  padding: clamp(4rem, 8vw, 7rem) 0;
  background: var(--public-surface);
  background-image: none;
}

body.public-modern .hero::before,
body.public-modern .hero::after {
  display: none;
}

body.public-modern .hero canvas,
body.public-modern .hero-visualization,
body.public-modern .scroll-indicator {
  display: none;
}

body.public-modern .hero-content {
  width: min(1160px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}

body.public-modern .hero-text {
  max-width: 760px;
}

body.public-modern .hero-title,
body.public-modern .hero h1 {
  max-width: 760px;
  margin: 0 0 1rem;
  font-size: clamp(2.7rem, 6vw, 4.35rem);
  line-height: 1.06;
  background: none;
  -webkit-text-fill-color: currentColor;
}

body.public-modern .hero-subtitle,
body.public-modern .hero-tagline {
  max-width: 720px;
  color: var(--public-muted);
  font-size: 1.08rem;
  line-height: 1.8;
}

body.public-modern .hero-tagline {
  font-size: .94rem;
}

body.public-modern .hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

body.public-modern .section-container,
body[data-page^="insights"] .section-container {
  width: min(1160px, calc(100% - 48px));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

body.public-modern .services,
body.public-modern .approach {
  padding: clamp(3.5rem, 7vw, 5.5rem) 0;
  background: var(--public-paper);
}

body.public-modern .services:nth-of-type(even),
body.public-modern .approach {
  background: var(--public-surface);
}

body.public-modern .section-title {
  margin: 0 0 2.5rem;
  color: var(--public-ink);
  font: 600 clamp(2rem, 4vw, 3rem)/1.15 Newsreader, Georgia, serif;
  text-align: left;
  background: none;
  -webkit-text-fill-color: currentColor;
}

body.public-modern .services-grid,
body.public-modern .approach-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: 1rem;
}

body.public-modern .service-card,
body.public-modern .approach-card {
  padding: 1.5rem;
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: var(--public-surface);
  box-shadow: none;
  color: var(--public-ink);
}

body.public-modern .service-card::before,
body.public-modern .cta-background,
body.public-modern .cta-orb {
  display: none;
}

body.public-modern .service-number {
  margin-bottom: .75rem;
  background: none;
  color: var(--public-primary);
  font: 700 2rem/1.2 Inter, sans-serif;
  -webkit-text-fill-color: currentColor;
}

body.public-modern .final-cta {
  min-height: 0;
  display: block;
  padding: 3.5rem 0;
  background: var(--public-wash);
}

body.public-modern .service-card h3,
body.public-modern .approach-card h3 {
  margin: .6rem 0 .75rem;
  font-size: 1.4rem;
}

body.public-modern .service-card p,
body.public-modern .approach-card p {
  color: var(--public-muted);
}

body.public-modern .service-card p + p {
  margin-top: .75rem;
}

body.public-modern .service-card strong {
  color: var(--public-ink);
}

body.public-modern .card-icon {
  display: none;
}

body.public-modern .card-icon svg [stroke] {
  stroke: var(--public-primary);
}

body.public-modern .services-footer {
  margin-top: 2rem;
  text-align: left;
}

body.public-modern .footer {
  padding: 3rem 0 1rem;
  border-top: 1px solid var(--public-line);
  background: #EEF4FC;
  color: var(--public-ink);
}

body.public-modern .footer-container {
  width: min(1160px, calc(100% - 48px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}

body.public-modern .footer-content {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 2rem;
}

body.public-modern .footer h4,
body.public-modern .footer h5 {
  color: var(--public-ink);
}

body.public-modern .footer a {
  color: var(--public-primary);
}

body.public-modern .footer-bottom {
  margin-top: 2rem;
  border-top: 1px solid var(--public-line);
  color: var(--public-muted);
}

body.public-modern .site-footer {
  padding: 3rem 0 1.2rem;
  background: #13243B;
  color: #E8EEF6;
}

body.public-modern .site-footer .content-width {
  width: min(1160px, calc(100% - 48px));
  margin-inline: auto;
}

body.public-modern .site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap: 2rem;
}

body.public-modern .site-footer .footer-brand img {
  width: 160px;
  height: auto;
  filter: brightness(0) invert(1);
}

body.public-modern .site-footer .footer-brand > a {
  display: inline-flex;
  align-items: center;
}

body.public-modern .site-footer .brand-name {
  margin-left: .45rem;
  color: #fff;
  font: 600 1.25rem/1 Newsreader, Georgia, serif;
}

body.public-modern .site-footer .footer-brand p {
  max-width: 270px;
  margin: .9rem 0 .4rem;
  color: #D4DDEA;
  font-size: .83rem;
}

body.public-modern .site-footer .footer-brand .footer-independence {
  color: #AFC0D6;
  font-size: .72rem;
}

body.public-modern .site-footer .footer-grid h2 {
  margin: 0 0 .9rem;
  color: #fff;
  font: 700 .79rem/1.4 Inter, sans-serif;
}

body.public-modern .site-footer .footer-grid ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: .55rem;
  list-style: none;
}

body.public-modern .site-footer .footer-grid li,
body.public-modern .site-footer .footer-grid li a {
  color: #D4DDEA;
  font-size: .8rem;
  overflow-wrap: anywhere;
}

body.public-modern .site-footer .footer-grid li a:hover {
  color: #fff;
}

body.public-modern .site-footer .footer-bottom {
  display: flex;
  margin-top: 2rem;
  padding-top: 1rem;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: #AFC0D6;
  font-size: .72rem;
}

body.public-modern .site-footer .footer-bottom span {
  color: inherit;
}

body.public-modern .consultation-backdrop {
  position: fixed;
  z-index: 1000;
  inset: 0;
  background: rgba(9, 25, 48, .5);
}

body.public-modern .consultation-dialog {
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 0;
  width: min(510px, 100%);
  height: 100dvh;
  padding: 1.4rem 1.5rem calc(1.4rem + env(safe-area-inset-bottom));
  overflow-y: auto;
  border-left: 1px solid var(--public-line);
  background: #fff;
  box-shadow: -16px 0 48px rgba(10, 28, 52, .15);
}

body.public-modern .consultation-dialog[hidden],
body.public-modern .consultation-backdrop[hidden] {
  display: none;
}

body.public-modern .consultation-header {
  display: flex;
  padding-bottom: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--public-line);
}

body.public-modern .consultation-header .eyebrow {
  margin-bottom: .35rem;
  color: var(--public-accent);
}

body.public-modern .consultation-header h2 {
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.1;
}

body.public-modern .dialog-close {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--public-line);
  border-radius: 3px;
  background: white;
  color: var(--public-ink);
  font-size: 1.6rem;
  cursor: pointer;
}

body.public-modern .consultation-intro {
  margin: .9rem 0 1rem;
  color: var(--public-muted);
  font-size: .83rem;
}

body.public-modern .consultation-form {
  display: grid;
  gap: .5rem;
}

body.public-modern .consultation-form > label:not(.consent-line) {
  margin-top: .25rem;
  color: var(--public-ink);
  font-size: .79rem;
  font-weight: 700;
}

body.public-modern .consultation-form label span {
  color: var(--public-muted);
  font-weight: 400;
}

body.public-modern .consultation-form input:not([type="checkbox"]),
body.public-modern .consultation-form select,
body.public-modern .consultation-form textarea {
  width: 100%;
  min-height: 44px;
  padding: .65rem .7rem;
  border: 1px solid #B9C4D1;
  border-radius: 3px;
  background: #fff;
  color: var(--public-ink);
  font: 400 .87rem/1.45 Inter, sans-serif;
}

body.public-modern .consultation-form textarea {
  min-height: 100px;
  resize: vertical;
}

body.public-modern .field-hint,
body.public-modern .form-footnote {
  margin: -.2rem 0 .15rem;
  color: var(--public-muted);
  font-size: .7rem;
}

body.public-modern .consent-line {
  display: flex;
  margin: .35rem 0;
  align-items: flex-start;
  gap: .55rem;
  color: var(--public-muted);
  font-size: .74rem;
}

body.public-modern .consent-line input {
  width: 17px;
  height: 17px;
  margin: .1rem 0 0;
  accent-color: var(--public-primary);
}

body.public-modern .form-status {
  min-height: 1.25rem;
  color: var(--public-primary);
  font-size: .79rem;
}

body.public-modern .form-status[data-state="error"] {
  color: #B42318;
}

body.public-modern .form-status[data-state="success"] {
  color: #087A56;
}

body.public-modern .submit-enquiry {
  width: 100%;
}

body.public-modern .submit-enquiry:disabled {
  cursor: wait;
  opacity: .65;
}

body.public-modern.dialog-open {
  overflow: hidden;
}

.about-page .site-header {
  height: 82px;
}

.about-page .site-footer {
  margin-top: 0;
}

.about-page {
  margin: 0;
  background: var(--public-paper);
}

.about-page .about-header {
  position: sticky;
  top: 0;
  padding: .85rem max(24px, calc((100% - 1160px) / 2));
  border-bottom: 1px solid var(--public-line);
  background: rgba(255, 254, 250, .97);
  backdrop-filter: blur(12px);
}

.about-page .about-brand {
  color: var(--public-ink);
  font: 600 1.15rem Newsreader, Georgia, serif;
}

.about-page .about-logo {
  width: auto;
  height: 38px;
}

.about-page .about-nav {
  color: var(--public-muted);
}

.about-page .about-navigation a:hover {
  color: var(--public-primary);
}

.about-page .about-main {
  width: min(1160px, calc(100% - 48px));
  padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.about-page .about-hero {
  max-width: 820px;
  margin-bottom: 3rem;
}

.about-page .about-kicker {
  color: var(--public-accent);
  letter-spacing: .1em;
}

.about-page h1,
.about-page h2 {
  color: var(--public-ink);
  font-family: Newsreader, Georgia, serif;
  letter-spacing: normal;
}

.about-page h1 {
  font-size: clamp(2.7rem, 6vw, 4.35rem);
}

.about-page p,
.about-page .about-points li {
  color: var(--public-muted);
}

.about-page .about-section {
  padding: 1.7rem;
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: var(--public-surface);
  box-shadow: none;
}

.about-page .about-points li {
  border-left-color: var(--public-primary);
  background: var(--public-wash);
}

.about-page .about-cta {
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: #EEF4FC;
}

.about-page .about-button {
  border: 1px solid var(--public-primary);
  border-radius: 4px;
  background: var(--public-primary);
  color: #fffefa;
}

.agency-page,
.research-page {
  background: var(--public-paper);
}

.agency-page .topbar,
.research-page .topbar {
  background: rgba(255, 254, 250, .97);
  border-bottom: 1px solid var(--public-line);
  box-shadow: none;
}

.agency-page .topbar-inner,
.research-page .topbar-inner {
  width: min(1160px, calc(100% - 48px));
  min-height: 78px;
  margin-inline: auto;
}

.agency-page .brand,
.research-page .brand {
  color: var(--public-primary);
}

.agency-page .brand-mark,
.research-page .brand-mark {
  border-radius: 3px;
  background: var(--public-primary);
  box-shadow: none;
  color: #fffefa;
}

.agency-page .main-nav,
.research-page .main-nav {
  gap: clamp(.8rem, 2vw, 1.5rem);
}

.agency-page .main-nav a,
.research-page .main-nav a {
  color: var(--public-muted);
}

.agency-page .header-cta,
.research-page .header-cta {
  border-radius: 4px;
  background: var(--public-primary);
  box-shadow: none;
  color: #fffefa;
}

.agency-page .section,
.research-page .section {
  padding: clamp(3.5rem, 7vw, 5rem) 0;
}

.agency-page .agency-hero,
.research-page .hero {
  background: var(--public-surface);
}

.agency-page .agency-hero .company-title,
.research-page .company-title {
  color: var(--public-ink);
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(2.7rem, 6vw, 4.35rem);
  letter-spacing: normal;
}

.agency-page .eyebrow,
.agency-page .section-kicker,
.research-page .eyebrow,
.research-page .section-kicker {
  color: var(--public-accent);
}

.agency-page .hero-kicker {
  color: var(--public-primary);
}

.agency-page .text-block,
.agency-page .research-context-card,
.agency-page .research-flow,
.agency-page .flow-step,
.agency-page .note-panel,
.agency-page .res-card,
.agency-page .research-card,
.agency-page .comparison-row,
.agency-page .credibility-list,
.agency-page .credibility-meaning,
.agency-page .preview-panel,
.research-page .observation-card,
.research-page .hero-card,
.research-page .glass-card,
.research-page .signal-row,
.research-page .status-badge,
.research-page .state-indicator,
.research-page .info-card,
.research-page .signal-panel,
.research-page .text-block {
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: var(--public-surface);
  box-shadow: none;
  color: var(--public-ink);
}

.agency-page .research-context-card,
.agency-page .text-block,
.agency-page .note-panel,
.agency-page .credibility-meaning,
.agency-page .preview-panel,
.research-page .observation-card,
.research-page .hero-card,
.research-page .signal-panel,
.research-page .text-block {
  padding: 1.35rem;
}

.research-page .site-footer {
  border-top: 1px solid var(--public-line);
  background: #EEF4FC;
}

.research-page .footer-brand,
.research-page .footer-nav a {
  color: var(--public-primary);
}

.research-page .footer-subtitle {
  color: var(--public-muted);
}

.research-page .signal-row {
  padding: .9rem 1rem;
  border-radius: 4px;
  background: var(--public-paper);
}

.research-page .observation-card::before {
  background: var(--public-primary);
}

.research-page #observation-text,
.research-page .company-inline,
.research-page .info-card h3,
.research-page .signal-label {
  color: var(--public-ink);
}

.research-page .observation-badge {
  border: 0;
  border-radius: 0;
  background: var(--public-wash);
  color: var(--public-primary);
}

.research-page .hero-card {
  color: var(--public-ink);
}

.research-page .hero-card-label,
.research-page .hero-card-detail {
  color: var(--public-muted);
}

.research-page .hero-card-detail {
  margin: 0;
}

.research-page .status-badge,
.research-page .state-indicator {
  color: var(--public-primary);
}

.research-page .profile-meta span,
.research-page .profile-meta div {
  border-color: var(--public-line);
  background: var(--public-surface);
  color: var(--public-muted);
}

.research-page .signal-status {
  color: var(--public-primary);
}

.research-page .observation-card,
.research-page .signal-panel,
.research-page .text-block {
  padding: 1.35rem;
}

.afd-page .hero-panel,
.afd-page .reason-card,
.afd-page .assessment-card,
.afd-page .analysis-card,
.afd-page .note-card,
.afd-page .trust-card,
.afd-page .final-callout,
.afd-page .examine-card,
.afd-page .trust-column,
.afd-page .price-block {
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: var(--public-surface);
  box-shadow: none;
  color: var(--public-ink);
}

.afd-page .hero-panel,
.afd-page .reason-card {
  padding: 1.35rem;
}

.afd-page .hero-panel p,
.afd-page .reason-card p,
.afd-page .reason-text,
.afd-page .reason-context,
.afd-page .analysis-card p,
.afd-page .note-card p,
.afd-page .trust-card p,
.afd-page .examine-card p,
.afd-page .trust-column p,
.afd-page .price-label,
.afd-page .price-meta,
.afd-page .price-note {
  color: var(--public-muted);
}

.afd-page .panel-item,
.afd-page .panel-item strong,
.afd-page .assessment-list,
.afd-page .step-number,
.afd-page .price-value {
  color: var(--public-ink);
}

.afd-page .reason-header {
  border-color: var(--public-line);
  border-radius: 4px;
  background: var(--public-wash);
  color: var(--public-primary);
}

.agency-page .context-label,
.agency-page .meaning-label,
.agency-page .research-sector,
.agency-page .small-note,
.agency-page .closing-line,
.research-page .info-card p.info-label,
.research-page .signal-status {
  color: var(--public-primary);
}

.agency-page .flow-step {
  min-height: 3.5rem;
  border-color: var(--public-line);
  color: var(--public-ink);
}

.agency-page .flow-arrow {
  color: var(--public-primary);
}

.agency-page .res-card,
.agency-page .research-card {
  padding: 1.25rem;
}

.agency-page h3,
.research-page h3 {
  color: var(--public-ink);
}

.research-page .particles-background,
.researchs-page .particles-background {
  display: none;
}

.research-page .topbar .main-nav a:hover,
.agency-page .topbar .main-nav a:hover {
  color: var(--public-primary);
}

body[data-page^="insights"] {
  padding-top: 0;
}

body[data-page^="insights"] .insights-hero {
  padding: clamp(3.5rem, 7vw, 5rem) 0;
  background: var(--public-surface);
}

body[data-page^="insights"] .insights-hero::before {
  display: none;
}

body[data-page^="insights"] .insights-hero-content {
  gap: clamp(2rem, 5vw, 4rem);
}

body[data-page^="insights"] .insights-eyebrow,
body[data-page^="insights"] .article-badge {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--public-accent);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
}

body[data-page^="insights"] .insights-hero h1 {
  max-width: 760px;
  font-size: clamp(2.7rem, 6vw, 4.1rem);
}

body[data-page^="insights"] .insights-panel,
body[data-page^="insights"] .insight-card,
body[data-page^="insights"] .article-card,
body[data-page^="insights"] .article-toc,
body[data-page^="insights"] .article-cta-card,
body[data-page^="insights"] .article-content,
body[data-page^="insights"] .article-hero-meta {
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: var(--public-surface);
  box-shadow: none;
}

body[data-page^="insights"] .insights-panel {
  padding: 1.5rem;
}

body[data-page^="insights"] .insights-panel li,
body[data-page^="insights"] .insight-card p,
body[data-page^="insights"] .article-content,
body[data-page^="insights"] .article-meta,
body[data-page^="insights"] .article-excerpt,
body[data-page^="insights"] .article-toc a {
  color: var(--public-muted);
}

.about-page .about-navigation {
  display: flex;
  align-items: center;
  gap: clamp(.8rem, 2vw, 1.5rem);
}

.about-page .about-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem max(24px, calc((100% - 1160px) / 2));
  border-top: 1px solid var(--public-line);
  background: #EEF4FC;
}

.about-page .about-footer p {
  margin: 0;
  font-size: .9rem;
}

body[data-page^="insights"] .insights-panel li::before {
  color: var(--public-primary);
}

body[data-page^="insights"] .insights-toolbar {
  margin-top: 2rem;
}

body[data-page^="insights"] .insight-search {
  min-height: 46px;
  border: 1px solid var(--public-line);
  border-radius: 4px;
  background: var(--public-surface);
  color: var(--public-ink);
}

body[data-page^="insights"] .filter-pill,
body[data-page^="insights"] .like-btn,
body[data-page^="insights"] .article-audio-toggle,
body[data-page^="insights"] .article-audio-stop {
  border: 1px solid var(--public-line);
  border-radius: 4px;
  background: var(--public-surface);
  color: var(--public-muted);
}

body[data-page^="insights"] .filter-pill.active,
body[data-page^="insights"] .filter-pill:hover,
body[data-page^="insights"] .like-btn:hover,
body[data-page^="insights"] .article-audio-toggle:hover,
body[data-page^="insights"] .article-audio-stop:hover {
  border-color: var(--public-primary);
  background: var(--public-wash);
  color: var(--public-primary);
}

body[data-page^="insights"] .insight-card {
  transition: transform .18s ease, border-color .18s ease;
}

body[data-page^="insights"] .insight-card:hover {
  transform: translateY(-2px);
  border-color: var(--public-primary);
  box-shadow: none;
}

body[data-page^="insights"] .article-layout {
  gap: 1.5rem;
  min-width: 0;
}

body[data-page^="insights"] .article-sidebar {
  top: 96px;
  min-width: 0;
}

body[data-page^="insights"] .article-toc,
body[data-page^="insights"] .article-card,
body[data-page^="insights"] .article-content {
  min-width: 0;
}

body[data-page^="insights"] .article-toc a {
  overflow-wrap: anywhere;
}

body[data-page^="insights"] .article-content {
  padding: clamp(1.25rem, 4vw, 2.5rem);
  font-size: 1.06rem;
  line-height: 1.85;
}

body[data-page^="insights"] .article-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-color: var(--public-line);
  border-radius: 4px;
}

body[data-page^="insights"] .article-content th,
body[data-page^="insights"] .article-content td {
  border-color: var(--public-line);
}

body[data-page^="insights"] .article-content th {
  background: var(--public-wash);
  color: var(--public-ink);
}

body[data-page^="insights"] .article-content h1,
body[data-page^="insights"] .article-content h2,
body[data-page^="insights"] .article-content h3 {
  color: var(--public-ink);
}

body[data-page^="insights"] .article-content a,
body[data-page^="insights"] .article-toc a.active {
  color: var(--public-primary);
}

body[data-page^="insights"] .article-hero {
  padding-top: 3.5rem;
}

body[data-page^="insights"] .footer {
  padding: 3rem 0 1rem;
  border-top: 1px solid var(--public-line);
  background: #EEF4FC;
}

body[data-page^="insights"] .footer-container {
  width: min(1160px, calc(100% - 48px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}

body[data-page^="insights"] .footer-content {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 2rem;
}

body[data-page^="insights"] .footer h4,
body[data-page^="insights"] .footer h5 {
  color: var(--public-ink);
}

body[data-page^="insights"] .footer ul {
  padding: 0;
  list-style: none;
}

body[data-page^="insights"] .footer a {
  color: var(--public-primary);
}

body[data-page^="insights"] .footer-bottom {
  margin-top: 2rem;
  border-top: 1px solid var(--public-line);
  color: var(--public-muted);
}

.afd-page {
  background: var(--public-paper);
  color: var(--public-ink);
}

.afd-page .afd-topbar {
  background: rgba(255, 254, 250, .97);
  border-bottom: 1px solid var(--public-line);
  box-shadow: none;
}

.afd-page .afd-nav a {
  color: var(--public-muted);
}

.afd-page .afd-nav a:hover {
  color: var(--public-primary);
}

.afd-page .button {
  min-height: 46px;
  padding: .72rem 1.15rem;
  border: 1px solid var(--public-primary);
  border-radius: 4px;
  font: 700 .92rem/1.3 Inter, sans-serif;
}

.afd-page .button-primary,
.afd-page .header-button {
  background: var(--public-primary);
  box-shadow: none;
  color: #fffefa;
}

.afd-page .button-secondary {
  background: transparent;
  color: var(--public-primary);
}

.afd-page .afd-hero {
  background: var(--public-surface);
}

.afd-page h1,
.afd-page h2,
.afd-page h3 {
  color: var(--public-ink);
  font-family: Newsreader, Georgia, serif;
  letter-spacing: normal;
}

.afd-page .eyebrow,
.afd-page .section-kicker {
  color: var(--public-accent);
}

@media (max-width: 760px) {
  body.public-modern .navbar,
  body[data-page^="insights"] .navbar {
    position: static;
  }

  body.public-modern .navbar-container,
  body[data-page^="insights"] .navbar-container,
  body.public-modern .section-container,
  body[data-page^="insights"] .section-container,
  body.public-modern .hero-content,
  body.public-modern .footer-container,
  .agency-page .topbar-inner,
  .research-page .topbar-inner {
    width: calc(100% - 32px);
  }

  body.public-modern .navbar-inner,
  body[data-page^="insights"] .navbar-inner {
    width: 100%;
    min-height: 70px;
    justify-content: space-between;
    gap: .75rem;
  }

  body.public-modern .navbar-toggle,
  body[data-page^="insights"] .navbar-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    padding: 10px;
    flex: 0 0 auto;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--public-line);
    border-radius: 4px;
    background: var(--public-surface);
  }

  body.public-modern .navbar-toggle span,
  body[data-page^="insights"] .navbar-toggle span {
    width: 20px;
    background: var(--public-primary);
  }

  body.public-modern .navbar-menu,
  body[data-page^="insights"] .navbar-menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    margin: 0;
    padding: .5rem 1rem 1rem;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid var(--public-line);
    background: var(--public-surface);
    box-shadow: 0 12px 22px rgba(29, 41, 37, .08);
  }

  body.public-modern .navbar-menu.mobile-open,
  body[data-page^="insights"] .navbar-menu.mobile-open {
    display: flex;
  }

  body.public-modern .navbar-menu li,
  body[data-page^="insights"] .navbar-menu li {
    width: 100%;
    border-bottom: 1px solid var(--public-line);
  }

  body.public-modern .navbar-menu a,
  body[data-page^="insights"] .navbar-menu a {
    display: block;
    padding: .75rem .25rem;
  }

  body.public-modern .navbar-cta,
  body[data-page^="insights"] .navbar-cta {
    display: none;
  }

  body.public-modern .navbar-menu .mobile-menu-action,
  body[data-page^="insights"] .navbar-menu .mobile-menu-action {
    display: block;
  }

  body.public-modern .navbar-inner.open,
  body[data-page^="insights"] .navbar-inner.open {
    position: relative;
  }

  body.public-modern .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-modern .site-footer .footer-brand {
    grid-column: 1 / -1;
  }

  body.public-modern .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  body[data-page^="insights"] .insights-hero-content,
  body[data-page^="insights"] .article-layout {
    grid-template-columns: 1fr;
  }

  body[data-page^="insights"] .article-sidebar {
    position: static;
    grid-row: 2;
  }

  .agency-page .topbar-inner,
  .research-page .topbar-inner {
    flex-wrap: wrap;
    padding-block: .75rem;
  }

  .agency-page .main-nav,
  .research-page .main-nav {
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }

  .agency-page .header-cta,
  .research-page .header-cta {
    font-size: .8rem;
  }

  .about-page .about-navigation {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem .9rem;
  }
}

@media (max-width: 900px) {
  body.public-modern .navbar-inner,
  body[data-page^="insights"] .navbar-inner {
    width: 100%;
    min-height: 70px;
    justify-content: space-between;
    gap: .75rem;
  }

  body.public-modern .navbar-toggle,
  body[data-page^="insights"] .navbar-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    padding: 10px;
    flex: 0 0 auto;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--public-line);
    border-radius: 4px;
    background: var(--public-surface);
  }

  body.public-modern .navbar-toggle span,
  body[data-page^="insights"] .navbar-toggle span {
    width: 20px;
    background: var(--public-primary);
  }

  body.public-modern .navbar-menu,
  body[data-page^="insights"] .navbar-menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    margin: 0;
    padding: .5rem 1rem 1rem;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid var(--public-line);
    background: var(--public-surface);
    box-shadow: 0 12px 22px rgba(29, 41, 37, .08);
  }

  body.public-modern .navbar-menu.mobile-open,
  body[data-page^="insights"] .navbar-menu.mobile-open {
    display: flex;
  }

  body.public-modern .navbar-menu li,
  body[data-page^="insights"] .navbar-menu li {
    width: 100%;
    border-bottom: 1px solid var(--public-line);
  }

  body.public-modern .navbar-menu a,
  body[data-page^="insights"] .navbar-menu a {
    display: block;
    padding: .75rem .25rem;
  }

  body.public-modern .navbar-cta,
  body[data-page^="insights"] .navbar-cta {
    display: none;
  }

  body.public-modern .navbar-menu .mobile-menu-action,
  body[data-page^="insights"] .navbar-menu .mobile-menu-action {
    display: block;
  }

  body.public-modern .navbar-inner.open,
  body[data-page^="insights"] .navbar-inner.open {
    position: relative;
  }

  .agency-page .topbar-inner,
  .research-page .topbar-inner {
    flex-wrap: wrap;
    padding-block: .75rem;
  }

  .agency-page .main-nav,
  .research-page .main-nav {
    display: flex;
    order: 3;
    width: 100%;
    flex-basis: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (max-width: 520px) {
  body.public-modern .navbar-menu {
    left: -16px;
    width: calc(100% + 32px);
  }

  body.public-modern .hero-buttons > *,
  body.public-modern .btn-large,
  body[data-page^="insights"] .insights-hero-actions > * {
    width: 100%;
  }

  body[data-page^="insights"] .insights-grid {
    grid-template-columns: 1fr;
  }

  body.public-modern .consultation-dialog {
    top: auto;
    bottom: 0;
    width: 100%;
    height: min(94dvh, 900px);
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    border-top: 1px solid var(--public-line);
    border-left: 0;
  }

  .agency-page .research-flow {
    grid-template-columns: 1fr;
  }

  .agency-page .flow-arrow {
    transform: rotate(90deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.public-modern *,
  body[data-page^="insights"] * {
    scroll-behavior: auto;
    transition-duration: .01ms;
  }
}
