/* ================================================================
   public-website.css  —  WebFiling public marketing website
   All classes prefixed .pub- to prevent collision with portal.css
   ================================================================ */

:root {
  --pub-navy:       #123a63;
  --pub-navy-mid:   #1b4d78;
  --pub-navy-light: #315f87;
  --pub-blue:       #3d5475;   /* muted slate-blue — professional, not bright */
  --pub-blue-hover: #2d4360;
  --pub-blue-pale:  #e6ebf2;
  --pub-gold:       #ca8a04;
  --pub-gold-light: #fef3c7;
  --pub-white:      #ffffff;
  --pub-surface:    #f8fafc;
  --pub-surface-2:  #f1f5f9;
  --pub-border:     #e2e8f0;
  --pub-border-mid: #cbd5e1;
  --pub-text:       #123a63;
  --pub-text-mid:   #315f87;
  --pub-text-muted: #64748b;
  --pub-success:    #137333;
  --pub-warn:       #b45309;
  --pub-ok:         #137333;
  --pub-error:      #ba1a1a;
  --pub-radius-sm:  6px;
  --pub-radius-md:  10px;
  --pub-radius-lg:  16px;
  --pub-shadow-sm:  0 1px 3px rgba(18,58,99,.07), 0 1px 2px rgba(18,58,99,.05);
  --pub-shadow-md:  0 4px 16px rgba(18,58,99,.09);
  --pub-shadow-lg:  0 8px 32px rgba(18,58,99,.12);
  --pub-transition: 0.17s ease;
  --pub-font:       'Public Sans', system-ui, -apple-system, BlinkMacSystemFont,
                    'Segoe UI', Roboto, sans-serif;
  --pub-font-mono:  'Courier New', ui-monospace, SFMono-Regular, Menlo, monospace;
  /* Portal surface tokens (used in showcase mock) */
  --outline-variant:        #c3c6d1;
  --surface-container-low:  #f1f3ff;
  --surface-container:      #e8eeff;
  --surface-container-high: #e3e8f9;
  --brand-navy-container:   #003366;
}

/* ── Base reset for all pub- elements ───────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: var(--pub-font);
  color: var(--pub-text);
  line-height: 1.6;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  background: #fbfaf6;  /* warm off-white — distinguishes from pure-white SaaS */
}

/* Serif accent — sparingly for italic word-clusters in headlines */
.serif-it {
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* Material Symbols (portal icon font — used in showcase mock & trust band) */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  user-select: none;
  vertical-align: middle;
}
h1, h2, h3, h4, h5 {
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--pub-navy);
  margin: 0;
}
p  { margin: 0; }
ul { margin: 0; padding: 0; }
a  { color: var(--pub-blue); }
img { max-width: 100%; display: block; }

/* ── Container ───────────────────────────────────────────────── */
.pub-container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 24px;
}
.pub-container--narrow {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.pub-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--pub-radius-md);
  font-family: var(--pub-font);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .01em;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background var(--pub-transition), color var(--pub-transition),
              border-color var(--pub-transition), box-shadow var(--pub-transition),
              transform var(--pub-transition);
  white-space: nowrap;
  line-height: 1;
}
.pub-btn:focus-visible { outline: 3px solid var(--pub-blue); outline-offset: 2px; }

.pub-btn-primary             { background: var(--pub-navy); color: #fff; border-color: var(--pub-navy); }
.pub-btn-primary:hover       { background: #0d3156; border-color: #0d3156; transform: translateY(-1px); }
.pub-btn-secondary           { background: #fff; color: var(--pub-navy); border-color: rgba(18,58,99,.15); }
.pub-btn-secondary:hover     { border-color: var(--pub-navy); }
.pub-btn-white               { background: #fff; color: var(--pub-navy); border-color: #fff; }
.pub-btn-white:hover         { transform: translateY(-1px); }
.pub-btn-ghost               { background: transparent; color: var(--pub-navy); padding: 13px 0; border-color: transparent; }
.pub-btn-ghost:hover         { color: var(--pub-blue); }
.pub-btn-outline-white       { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.pub-btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.pub-btn-outline-dark        { background: transparent; color: var(--pub-navy); border-color: var(--pub-border-mid); }
.pub-btn-outline-dark:hover  { border-color: var(--pub-navy); background: var(--pub-surface); }

.pub-btn-lg    { padding: 15px 32px; font-size: 16px; }
.pub-btn-sm    { padding: 8px 16px; font-size: 13px; }
.pub-btn-block { width: 100%; }

/* ── Navigation ──────────────────────────────────────────────── */
.pub-nav {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(251,250,246,.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(15,23,42,.07);
}
.pub-nav-inner {
  display: flex;
  align-items: center;
  height: 64px;
  gap: 0;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 24px;
}
.pub-nav-logo {
  display: flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  font-size: 17px;
  font-weight: 800;
  color: var(--pub-navy);
  letter-spacing: -0.03em;
  flex-shrink: 0;
  margin-right: 8px;
}
.pub-nav-logo svg { flex-shrink: 0; }
.pub-nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
}
.pub-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  font-size: 14px;
  font-weight: 500;
  color: var(--pub-text-mid);
  text-decoration: none;
  border-radius: var(--pub-radius-sm);
  border: none;
  background: none;
  cursor: pointer;
  font-family: var(--pub-font);
  transition: color var(--pub-transition), background var(--pub-transition);
  white-space: nowrap;
}
.pub-nav-link:hover,
.pub-nav-link--active { color: var(--pub-navy); background: rgba(18,58,99,.05); }
.pub-nav-cta { display: flex; align-items: center; gap: 8px; flex-shrink: 0; margin-left: 8px; }

/* Dropdown */
.pub-nav-dropdown { position: relative; }
.pub-nav-dropdown-btn svg { width: 10px; height: 10px; transition: transform var(--pub-transition); }
.pub-nav-dropdown-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.pub-nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);
  box-shadow: var(--pub-shadow-lg);
  padding: 6px;
  z-index: 300;
}
.pub-nav-dropdown-menu--open { display: block; }
.pub-nav-dropdown-item {
  display: block;
  padding: 9px 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--pub-text-mid);
  text-decoration: none;
  border-radius: var(--pub-radius-sm);
  transition: color var(--pub-transition), background var(--pub-transition);
}
.pub-nav-dropdown-item:hover { color: var(--pub-navy); background: rgba(18,58,99,.05); }

/* Hamburger */
.pub-nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: var(--pub-radius-sm);
  width: 36px;
  height: 36px;
  margin-left: auto;
}
.pub-nav-hamburger span {
  display: block;
  height: 2px;
  background: var(--pub-navy);
  border-radius: 2px;
  transition: transform var(--pub-transition), opacity var(--pub-transition);
  transform-origin: center;
}
.pub-nav-hamburger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pub-nav-hamburger--open span:nth-child(2) { opacity: 0; }
.pub-nav-hamburger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.pub-nav-hamburger:focus-visible { outline: 3px solid var(--pub-blue); }

/* Mobile nav open state */
.pub-nav-links--open {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  background: #fbfaf6;
  border-top: 1px solid rgba(15,23,42,.07);
  border-bottom: 1px solid rgba(15,23,42,.07);
  padding: 8px 16px 16px;
  gap: 2px;
  box-shadow: var(--pub-shadow-md);
  z-index: 199;
}
.pub-nav-links--open .pub-nav-link { width: 100%; }
.pub-nav-links--open .pub-nav-dropdown { width: 100%; }
.pub-nav-links--open .pub-nav-dropdown-menu {
  position: static;
  box-shadow: none;
  border: none;
  padding: 0 0 0 12px;
  display: none;
}
.pub-nav-links--open .pub-nav-dropdown-menu--open { display: block; }

/* ── Sections ────────────────────────────────────────────────── */
.pub-section     { padding: 96px 0; }
.pub-section--alt  { background: #fff; }
.pub-section--dark { background: var(--pub-navy); color: #fff; }
.pub-section--dark h2,
.pub-section--dark h3 { color: #fff; }

.pub-section-header { margin-bottom: 64px; max-width: 720px; }
.pub-section-header.center { margin-left: auto; margin-right: auto; text-align: center; }
.pub-section-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pub-blue);
  margin-bottom: 16px;
}
.pub-section-title  {
  font-size: clamp(28px, 4.2vw, 48px);
  font-weight: 800;
  color: var(--pub-navy);
  letter-spacing: -0.035em;
  line-height: 1.05;
  margin-bottom: 16px;
}
.pub-section--dark .pub-section-title { color: #fff; }
.pub-section-sub {
  font-size: 18px;
  color: var(--pub-text-mid);
  max-width: 58ch;
  line-height: 1.55;
}
.pub-section--dark .pub-section-sub { color: rgba(255,255,255,.72); }
.pub-section-footer-cta { text-align: center; margin-top: 40px; }

/* ── Alternating feature blocks ──────────────────────────────── */
.pub-feature-row {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 64px;
  align-items: center;
  padding: 64px 0;
  border-top: 1px solid rgba(18,58,99,.08);
}
.pub-feature-row:first-child { border-top: none; padding-top: 16px; }
.pub-feature-row--reverse { grid-template-columns: 1.05fr 1fr; }
.pub-feature-row--reverse .pub-feature-copy  { order: 2; }
.pub-feature-row--reverse .pub-feature-visual { order: 1; }

.pub-feature-copy .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--pub-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  font-variant-numeric: tabular-nums;
}
.pub-feature-copy h3 {
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 14px;
  color: var(--pub-navy);
}
.pub-feature-copy p {
  font-size: 16px;
  color: var(--pub-text-mid);
  line-height: 1.6;
  margin-bottom: 14px;
  max-width: 50ch;
}
.pub-feature-list { display: flex; flex-direction: column; gap: 9px; margin-top: 16px; list-style: none; padding: 0; }
.pub-feature-list li {
  font-size: 14px;
  color: var(--pub-text-mid);
  padding-left: 26px;
  position: relative;
  line-height: 1.55;
}
.pub-feature-list li .material-symbols-outlined {
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 18px;
  color: #137333;
}

/* Feature visual frame */
.pub-feature-visual {
  background: linear-gradient(160deg, #f3f1ea 0%, #ece9df 100%);
  border-radius: 14px;
  padding: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  border: 1px solid rgba(15,23,42,.06);
}
.pub-feature-visual-inner {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 12px 32px -12px rgba(15,23,42,.25);
  width: 100%;
  max-width: 460px;
  overflow: hidden;
}
.fv-head {
  padding: 12px 16px;
  border-bottom: 1px solid var(--outline-variant);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fv-head .t { font-size: 12px; font-weight: 800; color: var(--pub-navy); }
.fv-head .m { font-size: 10px; color: var(--pub-text-muted); }

/* Visual: Wizard */
.viz-wizard { padding: 14px; }
.viz-steps { display: flex; gap: 6px; margin-bottom: 16px; }
.viz-step { flex: 1; height: 4px; border-radius: 2px; background: var(--surface-container-high); }
.viz-step.done, .viz-step.active { background: var(--brand-navy-container); }
.viz-step-label { font-size: 10.5px; color: var(--pub-text-muted); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 10px; }
.viz-field { margin-bottom: 12px; }
.viz-field label { display: block; font-size: 11px; color: var(--pub-text); font-weight: 600; margin-bottom: 4px; }
.viz-field input { width: 100%; padding: 8px 10px; border: 1px solid var(--outline-variant); border-radius: 4px; font-size: 12px; font-family: inherit; background: #f9f9ff; }
.viz-ok { font-size: 10.5px; color: #137333; margin-top: 4px; display: flex; align-items: center; gap: 4px; }
.viz-ok .material-symbols-outlined { font-size: 12px; }
.viz-actions { display: flex; justify-content: space-between; margin-top: 14px; }
.viz-btn { font-size: 11px; padding: 6px 12px; border-radius: 4px; border: 1px solid transparent; cursor: default; }
.viz-btn-p { background: var(--brand-navy-container); color: #fff; }
.viz-btn-s { background: transparent; color: var(--pub-text-mid); border-color: var(--outline-variant); }

/* Visual: Calendar */
.viz-cal { padding: 14px; }
.viz-cal-month { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.viz-cal-month .m { font-size: 13px; font-weight: 800; color: var(--pub-navy); letter-spacing: -0.02em; }
.viz-cal-nav { display: flex; gap: 6px; }
.viz-cal-nav span { width: 22px; height: 22px; border-radius: 4px; background: var(--surface-container-low); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; color: var(--pub-text-muted); }
.viz-cal-dow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 6px; }
.viz-cal-dow span { font-size: 9px; font-weight: 700; letter-spacing: 0.04em; color: var(--pub-text-muted); text-align: center; padding: 4px 0; }
.viz-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.viz-day {
  position: relative;
  aspect-ratio: 1.05;
  border-radius: 4px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 4px 5px;
  font-size: 10px;
  font-weight: 600;
  color: var(--pub-text-mid);
  background: #fff;
}
.viz-day.muted  { color: var(--pub-border-mid); }
.viz-day.has-od  { background: #ffdad6; color: #ba1a1a; }
.viz-day.has-due { background: #fff7ed; color: #b45309; }
.viz-day.has-ok  { background: #e6f4ea; color: #137333; }
.viz-day.today   { box-shadow: inset 0 0 0 2px var(--brand-navy-container); color: var(--pub-navy); }

/* Visual: Feed */
.viz-feed { padding: 12px 16px; }
.viz-feed-item { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--outline-variant); }
.viz-feed-item:last-child { border-bottom: none; }
.viz-feed-icon { width: 22px; height: 22px; border-radius: 999px; background: #e6f4ea; color: #137333; display: inline-flex; align-items: center; justify-content: center; }
.viz-feed-icon .material-symbols-outlined { font-size: 14px; }
.viz-feed-icon.pending { background: #fff7ed; color: #b45309; }
.viz-feed-icon.reject  { background: #ffdad6; color: #ba1a1a; }
.viz-feed-co  { font-size: 12px; font-weight: 700; color: var(--pub-navy); }
.viz-feed-meta { font-size: 10.5px; color: var(--pub-text-muted); margin-top: 2px; }
.viz-feed-ts { font-family: var(--pub-font-mono); font-size: 10px; color: var(--pub-text-muted); }

/* ── Hero ────────────────────────────────────────────────────── */
.pub-hero {
  padding: 80px 0 64px;
  position: relative;
  overflow: hidden;
}
.pub-hero-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}

/* Eyebrow line above hero headline */
.pub-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pub-text-muted);
  padding: 0 0 18px;
}
.pub-eyebrow img { width: 16px; height: 16px; opacity: .85; }
.pub-eyebrow-dot {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--pub-text-muted);
}

.pub-hero-headline {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 800;
  color: var(--pub-navy);
  letter-spacing: -0.035em;
  line-height: 1.04;
  max-width: 16ch;
  margin: 0 0 28px;
}
.pub-hero-sub {
  font-size: 19px;
  color: var(--pub-text-mid);
  line-height: 1.55;
  max-width: 56ch;
  margin: 0 0 28px;
}
.pub-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 0;
}
.pub-hero-meta {
  font-size: 13px;
  color: var(--pub-text-muted);
  margin-left: 6px;
}

/* ── Numbers strip ───────────────────────────────────────────── */
.pub-numbers {
  margin-top: 64px;
  border-top: 1px solid rgba(15,23,42,.1);
  border-bottom: 1px solid rgba(15,23,42,.1);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.pub-number {
  padding: 28px 24px;
  border-right: 1px solid rgba(18,58,99,.08);
}
.pub-number:last-child { border-right: none; }
.pub-number-value {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: var(--pub-navy);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.pub-number-label {
  font-size: 13px;
  color: var(--pub-text-muted);
  margin-top: 10px;
  line-height: 1.45;
  max-width: 22ch;
}

/* ── Product showcase (mock app below hero) ──────────────────── */
.pub-showcase {
  margin-top: 56px;
  background: var(--pub-navy);
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 36px 80px -30px rgba(15,23,42,.45), 0 12px 28px rgba(15,23,42,.18);
  position: relative;
}
.pub-showcase::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.app-mock {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 200px 1fr;
  min-height: 380px;
}
.app-mock-side {
  background: #fff;
  border-right: 1px solid var(--outline-variant);
  padding: 18px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.app-mock-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 8px 16px;
  border-bottom: 1px solid var(--outline-variant);
  margin-bottom: 6px;
}
.app-mock-brand .mark {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: var(--brand-navy-container);
  color: #fff;
  font-weight: 900;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.app-mock-brand .name {
  font-size: 13px;
  font-weight: 800;
  color: var(--pub-navy);
  letter-spacing: -0.02em;
}
.app-mock-side a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12.5px;
  color: #475569;
  font-weight: 500;
  text-decoration: none;
  cursor: default;
}
.app-mock-side a .material-symbols-outlined { font-size: 16px; }
.app-mock-side a.active {
  background: #eff6ff;
  color: var(--brand-navy-container);
  font-weight: 700;
  border-right: 2px solid var(--brand-navy-container);
  padding-right: 8px;
}
.app-mock-main { padding: 18px 22px; }
.app-mock-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 18px;
}
.app-mock-title { font-size: 15px; font-weight: 800; color: var(--pub-navy); letter-spacing: -0.02em; }
.app-mock-crumb { font-size: 11px; color: var(--pub-text-muted); }
.app-mock-kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}
.app-mock-kpi {
  background: var(--surface-container-low);
  border: 1px solid var(--outline-variant);
  border-radius: 6px;
  padding: 10px 12px;
}
.app-mock-kpi .l {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pub-text-muted);
}
.app-mock-kpi .v {
  font-size: 22px;
  font-weight: 800;
  color: var(--pub-navy);
  line-height: 1;
  margin-top: 6px;
  font-variant-numeric: tabular-nums;
}
.app-mock-kpi .v.warn { color: #b45309; }
.app-mock-kpi .v.ok   { color: #137333; }

.app-mock-table { border: 1px solid var(--outline-variant); border-radius: 6px; overflow: hidden; }
.app-mock-table th,
.app-mock-table td { padding: 8px 12px; font-size: 11px; text-align: left; }
.app-mock-table th {
  background: var(--surface-container);
  color: var(--pub-text-mid);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 10px;
}
.app-mock-table tr + tr { border-top: 1px solid var(--outline-variant); }
.app-mock-table tbody tr:hover { background: var(--surface-container-low); }
.app-mock-table .mono { font-family: var(--pub-font-mono); color: var(--pub-text-muted); font-size: 10.5px; }
.app-mock-table .badge {
  display: inline-flex;
  padding: 2px 6px;
  border-radius: 2px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.badge-od  { background: #ffdad6; color: #ba1a1a; border: 1px solid #fad2cf; }
.badge-due { background: #fff7ed; color: #b45309; border: 1px solid #fed7aa; }
.badge-ok  { background: #e6f4ea; color: #137333; border: 1px solid #ceead6; }

/* ── Trust band ──────────────────────────────────────────────── */
.pub-trust-band {
  padding: 36px 0;
  border-top: 1px solid rgba(18,58,99,.08);
  border-bottom: 1px solid rgba(18,58,99,.08);
  background: #fbfaf6;
}
.pub-trust-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.pub-trust-row .pub-trust-label {
  font-size: 13px;
  color: var(--pub-text-muted);
  font-weight: 500;
}
.pub-trust-row .pub-trust-badges { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.pub-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pub-text-mid);
}
.pub-trust-badge .material-symbols-outlined { font-size: 18px; color: var(--brand-navy-container); }
.pub-trust-badge svg { flex-shrink: 0; color: #34d399; }

/* ── Feature grid ────────────────────────────────────────────── */
.pub-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.pub-feature-card {
  background: #fff;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);
  padding: 26px;
  box-shadow: var(--pub-shadow-sm);
  transition: box-shadow var(--pub-transition), transform var(--pub-transition);
}
.pub-feature-card:hover { box-shadow: var(--pub-shadow-md); transform: translateY(-2px); }
.pub-feature-icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 14px;
  display: block;
}
.pub-feature-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--pub-navy);
  margin-bottom: 7px;
}
.pub-feature-desc {
  font-size: 13.5px;
  color: var(--pub-text-muted);
  line-height: 1.6;
}

/* ── Steps ───────────────────────────────────────────────────── */
.pub-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  position: relative;
}
.pub-step { text-align: center; position: relative; }
.pub-step::after {
  content: '';
  position: absolute;
  top: 23px;
  left: calc(50% + 26px);
  right: calc(-50% + 26px);
  height: 2px;
  background: var(--pub-border-mid);
}
.pub-step:last-child::after { display: none; }
.pub-step-number {
  width: 46px; height: 46px;
  background: var(--pub-blue);
  color: #fff;
  font-weight: 800;
  font-size: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  position: relative;
  z-index: 1;
}
.pub-step-title { font-size: 14px; font-weight: 700; color: var(--pub-navy); margin-bottom: 7px; }
.pub-step-desc  { font-size: 13px; color: var(--pub-text-muted); line-height: 1.55; }

/* ── Persona cards ───────────────────────────────────────────── */
.pub-personas {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.pub-persona {
  background: #fff;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);
  padding: 24px;
  box-shadow: var(--pub-shadow-sm);
}
.pub-persona-icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 12px;
  display: block;
}
.pub-persona h3 { font-size: 15px; margin-bottom: 7px; }
.pub-persona p  { font-size: 13.5px; color: var(--pub-text-muted); line-height: 1.55; }

/* ── Pricing ─────────────────────────────────────────────────── */
.pub-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}
.pub-pricing-grid--full { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.pub-pricing-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 12px;
  padding: 28px 26px;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--pub-transition), border-color var(--pub-transition);
}
.pub-pricing-card:hover { box-shadow: 0 18px 48px -16px rgba(15,23,42,.22); border-color: rgba(15,23,42,.2); }

/* Dark navy featured card */
.pub-pricing-card--featured {
  background: var(--pub-navy);
  color: #fff;
  border-color: var(--pub-navy);
}
.pub-pricing-card--featured::after {
  content: 'Most popular';
  position: absolute;
  top: 18px;
  right: 18px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
}

.pub-pricing-badge {
  /* Hidden — "Most popular" now uses ::after pseudo-element on featured card */
  display: none;
}
.pub-pricing-name {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pub-navy);
  margin-bottom: 18px;
}
.pub-pricing-card--featured .pub-pricing-name { color: rgba(255,255,255,.7); }
.pub-pricing-price {
  font-size: 52px;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.95;
  color: var(--pub-navy);
  margin-bottom: 4px;
}
.pub-pricing-card--featured .pub-pricing-price { color: #fff; }
.pub-pricing-price span {
  font-size: 16px;
  font-weight: 500;
  color: var(--pub-text-muted);
  letter-spacing: 0;
}
.pub-pricing-card--featured .pub-pricing-price span { color: rgba(255,255,255,.55); }
.pub-pricing-companies {
  font-size: 14px;
  color: var(--pub-text-mid);
  margin-bottom: 24px;
}
.pub-pricing-card--featured .pub-pricing-companies { color: rgba(255,255,255,.7); }
.pub-pricing-desc {
  font-size: 13.5px;
  color: var(--pub-text-muted);
  line-height: 1.55;
  margin-bottom: 18px;
}
.pub-pricing-card--featured .pub-pricing-desc { color: rgba(255,255,255,.65); }
.pub-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.pub-pricing-features li {
  font-size: 14px;
  color: var(--pub-text-mid);
  padding-left: 24px;
  position: relative;
  line-height: 1.5;
}
.pub-pricing-card--featured .pub-pricing-features li { color: rgba(255,255,255,.85); }
.pub-pricing-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--pub-success);
  font-weight: 700;
  font-size: 13px;
}
.pub-pricing-card--featured .pub-pricing-features li::before { color: #34d399; }
/* Override button colours inside featured card */
.pub-pricing-card--featured .pub-btn-primary {
  background: #fff;
  color: var(--pub-navy);
  border-color: #fff;
}
.pub-pricing-card--featured .pub-btn-primary:hover { opacity: .92; }
.pub-pricing-card--featured .pub-btn-secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.3);
}
.pub-pricing-card--featured .pub-btn-secondary:hover { border-color: #fff; }


.pub-pricing-features a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.pub-pricing-card--featured .pub-pricing-features a { color: #fff; }
.pub-feature-link { margin-top: 12px; font-size: 13px; font-weight: 700; }
.pub-feature-link a, .pub-service-pricing-link { color: var(--pub-blue); }
.pub-service-pricing-link { display: inline-flex; margin-top: 4px; font-size: 14px; font-weight: 700; }
/* ── Plan service pricing ───────────────────────────────────── */
.pub-pricing-anchor-index { position: relative; height: 0; overflow: visible; }
.pub-pricing-anchor-index span { position: absolute; top: -96px; }
.pub-plan-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.pub-plan-service-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 14px;
  box-shadow: var(--pub-shadow-sm);
}
.pub-plan-service-card--featured { border: 2px solid var(--pub-navy); }
.pub-plan-service-head {
  position: relative;
  padding: 28px 28px 24px;
  background: #fff;
  border-bottom: 1px solid var(--pub-border);
}
.pub-plan-service-card--featured .pub-plan-service-head { background: var(--pub-navy); }
.pub-plan-service-card--featured .pub-pricing-name,
.pub-plan-service-card--featured .pub-pricing-price { color: #fff; }
.pub-plan-service-card--featured .pub-pricing-price span,
.pub-plan-service-card--featured .pub-pricing-companies { color: rgba(255,255,255,.7); }
.pub-plan-service-body { padding: 26px 28px 28px; }
.pub-plan-service-section + .pub-plan-service-section { margin-top: 28px; }
.pub-plan-service-subtitle {
  margin-bottom: 12px;
  color: var(--pub-navy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.pub-plan-service-empty {
  margin: 0;
  padding: 12px 14px;
  border: 1px dashed var(--pub-border);
  border-radius: 9px;
  color: var(--pub-text-muted);
  font-size: 13px;
  line-height: 1.5;
}
.pub-plan-core-list,
.pub-plan-included-list,
.pub-plan-paid-list { list-style: none; padding: 0; margin: 0; }
.pub-plan-core-list { display: grid; gap: 8px; margin-bottom: 18px; }
.pub-plan-core-list li {
  position: relative;
  padding-left: 22px;
  color: var(--pub-text-mid);
  font-size: 13px;
  line-height: 1.45;
}
.pub-plan-core-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--pub-success);
  font-weight: 800;
}
.pub-plan-service-label {
  margin: 18px 0 9px;
  color: var(--pub-text-mid);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.pub-plan-included-list { display: grid; gap: 8px; }
.pub-plan-included-list li,
.pub-plan-paid-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 14px;
  align-items: center;
}
.pub-plan-included-list li {
  padding: 10px 12px;
  border-radius: 9px;
  background: rgba(5,150,105,.06);
  font-size: 13px;
}
.pub-plan-service-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 14px;
  padding: 0 10px 7px;
  color: var(--pub-text-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pub-plan-service-columns span:last-child { text-align: right; }
.pub-plan-paid-list li {
  padding: 10px;
  border-top: 1px solid var(--pub-border);
  font-size: 12.5px;
}
.pub-plan-service-name { color: var(--pub-navy); font-weight: 650; line-height: 1.35; }
.pub-plan-price-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  line-height: 1.15;
  white-space: nowrap;
}
.pub-plan-base-price {
  color: #b91c1c;
  font-size: 11.5px;
  font-weight: 700;
  text-decoration-line: line-through;
  text-decoration-color: #dc2626;
  text-decoration-thickness: 2px;
}
.pub-plan-service-price { color: var(--pub-navy); font-weight: 800; text-align: right; white-space: nowrap; }
.pub-plan-base-price + .pub-plan-service-price { margin-top: 3px; }
.pub-plan-service-note {
  margin: 24px 0 18px;
  padding: 12px 14px;
  border-radius: 9px;
  background: var(--pub-blue-pale);
  color: var(--pub-navy);
  font-size: 12.5px;
  line-height: 1.5;
}
.pub-plan-service-card[id],
.pub-plan-paid-list li[id],
.pub-plan-included-list li[id],
#service-pricing { scroll-margin-top: 96px; }
@media (max-width: 900px) {
  .pub-plan-service-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .pub-plan-service-head, .pub-plan-service-body { padding-left: 20px; padding-right: 20px; }
  .pub-plan-service-columns { display: none; }
  .pub-plan-included-list li,
  .pub-plan-paid-list li { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
}

/* ── Trust grid (light variant) ──────────────────────────────── */
.pub-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.pub-trust-item {
  background: #fff;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);
  padding: 24px;
  box-shadow: var(--pub-shadow-sm);
}
.pub-section--dark .pub-trust-item {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.1);
}
.pub-trust-icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 12px;
  display: block;
}
.pub-trust-item h3 { font-size: 15px; margin-bottom: 7px; }
.pub-section--dark .pub-trust-item h3 { color: #fff; }
.pub-trust-item p  { font-size: 13.5px; color: var(--pub-text-muted); line-height: 1.55; }
.pub-section--dark .pub-trust-item p { color: rgba(255,255,255,.62); }
.pub-trust-item a  { color: var(--pub-blue); }

/* ── Problem grid ────────────────────────────────────────────── */
.pub-problem-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.pub-problem-item {
  background: #fff;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);
  padding: 24px;
  box-shadow: var(--pub-shadow-sm);
  text-align: center;
}
.pub-problem-icon {
  font-size: 30px;
  line-height: 1;
  margin-bottom: 12px;
  display: block;
}
.pub-problem-item h3 { font-size: 15px; margin-bottom: 7px; }
.pub-problem-item p  { font-size: 13.5px; color: var(--pub-text-muted); line-height: 1.55; }

/* ── FAQ ─────────────────────────────────────────────────────── */
.pub-faq { margin: 0; }
.pub-faq-section-heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--pub-navy);
  margin: 40px 0 8px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--pub-blue-pale);
}
.pub-faq-section-heading:first-child { margin-top: 0; }
.pub-faq-item { border-bottom: 1px solid var(--pub-border); }
.pub-faq-item:first-of-type { border-top: 1px solid var(--pub-border); }
.pub-faq-btn {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 18px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--pub-font);
  font-size: 15.5px;
  font-weight: 600;
  color: var(--pub-navy);
  line-height: 1.45;
  transition: color var(--pub-transition);
}
.pub-faq-btn:hover { color: var(--pub-blue); }
.pub-faq-btn:focus-visible { outline: 3px solid var(--pub-blue); border-radius: 4px; }
.pub-faq-btn::after {
  content: '+';
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 300;
  color: var(--pub-text-muted);
  line-height: 1;
  transition: transform var(--pub-transition), color var(--pub-transition);
}
.pub-faq-item--open .pub-faq-btn::after { transform: rotate(45deg); color: var(--pub-blue); }
.pub-faq-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.28s ease;
  padding-bottom: 0;
}
.pub-faq-body p {
  font-size: 15px;
  color: var(--pub-text-mid);
  line-height: 1.7;
  padding-bottom: 18px;
}
.pub-faq-body strong { color: var(--pub-navy); }

/* ── CTA Banner ──────────────────────────────────────────────── */
.pub-cta-banner {
  background: var(--pub-navy);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.pub-cta-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 60% at 50% 100%, rgba(29,78,216,.35) 0%, transparent 70%);
  pointer-events: none;
}
.pub-cta-banner-inner { position: relative; text-align: center; }
.pub-cta-banner-title {
  font-size: clamp(32px, 4.4vw, 56px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #fff;
  margin-bottom: 18px;
}
.pub-cta-banner-sub {
  font-size: 18px;
  color: rgba(255,255,255,.7);
  margin-bottom: 32px;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.55;
}
.pub-cta-banner-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* ── Page header (inner pages) ───────────────────────────────── */
.pub-page-header {
  background: var(--pub-navy);
  padding: 52px 0 48px;
}
.pub-page-header-title {
  font-size: clamp(26px, 3.8vw, 44px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-bottom: 12px;
}
.pub-page-header-sub {
  font-size: 17px;
  color: rgba(255,255,255,.72);
  max-width: 620px;
  line-height: 1.65;
}

/* ── Prose (long-form inner pages) ──────────────────────────── */
.pub-prose-lead {
  font-size: 18px;
  color: var(--pub-text-mid);
  line-height: 1.75;
  margin-bottom: 28px;
}
.pub-prose-heading {
  font-size: 22px;
  font-weight: 700;
  color: var(--pub-navy);
  margin: 36px 0 12px;
  letter-spacing: -0.02em;
}
.pub-prose {
  font-size: 16px;
  color: var(--pub-text-mid);
  line-height: 1.75;
  margin-bottom: 16px;
}
.pub-prose:last-child { margin-bottom: 0; }

/* ── Contact grid ────────────────────────────────────────────── */
.pub-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}
.pub-contact-panel {
  background: var(--pub-surface);
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);
  padding: 36px;
}
.pub-contact-panel h2 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 14px;
}
.pub-contact-panel p {
  font-size: 15px;
  color: var(--pub-text-mid);
  line-height: 1.7;
  margin-bottom: 14px;
}
.pub-contact-panel p:last-of-type { margin-bottom: 20px; }

/* ── Footer ──────────────────────────────────────────────────── */
.pub-footer {
  background: #fbfaf6;
  padding: 64px 0 32px;
  border-top: 1px solid rgba(18,58,99,.08);
}
.pub-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(18,58,99,.08);
  margin-bottom: 24px;
}
.pub-footer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-bottom: 14px;
}
.pub-footer-logo-img {
  display: block;
  width: 200px;
  height: 200px;
  object-fit: contain;
}
.pub-footer-tagline {
  font-size: 14px;
  color: var(--pub-text-mid);
  line-height: 1.55;
  max-width: 260px;
  margin-bottom: 18px;
}
.pub-footer-compliance {
  font-size: 12px;
  color: var(--pub-text-muted);
  line-height: 1.65;
  max-width: 300px;
}
.pub-footer-heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pub-text-muted);
  margin-bottom: 16px;
}
.pub-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.pub-footer-links a {
  font-size: 14px;
  color: var(--pub-text-mid);
  text-decoration: none;
  transition: color var(--pub-transition);
}
.pub-footer-links a:hover { color: var(--pub-navy); }
.pub-footer-compliance-line {
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(18,58,99,.08);
  font-size: 11px;
  line-height: 1.5;
  color: var(--pub-text-muted);
  width: 100%;
  max-width: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.pub-footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}
.pub-footer-bottom p {
  font-size: 12px;
  color: var(--pub-text-muted);
  line-height: 1.55;
}
.pub-footer-crest {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--pub-text-muted);
}
.pub-footer-crest img { width: 20px; height: 20px; opacity: .7; }

.pub-footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
.pub-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--pub-border-mid);
  color: var(--pub-text-mid);
  transition: color var(--pub-transition), border-color var(--pub-transition), background var(--pub-transition);
}
.pub-footer-social a:hover {
  color: #fff;
  background: var(--pub-navy);
  border-color: var(--pub-navy);
}
.pub-footer-social svg { display: block; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .pub-feature-row, .pub-feature-row--reverse { grid-template-columns: 1fr; gap: 32px; }
  .pub-feature-row--reverse .pub-feature-copy  { order: 1; }
  .pub-feature-row--reverse .pub-feature-visual { order: 2; }
  .pub-feature-grid     { grid-template-columns: repeat(2, 1fr); }
  .pub-steps            { grid-template-columns: repeat(2, 1fr); }
  .pub-step::after      { display: none; }
  .pub-trust-grid       { grid-template-columns: repeat(2, 1fr); }
  .pub-problem-grid     { grid-template-columns: repeat(2, 1fr); }
  .pub-personas         { grid-template-columns: repeat(2, 1fr); }
  .pub-footer-grid      { grid-template-columns: 1fr 1fr; }
  .pub-numbers          { grid-template-columns: repeat(2, 1fr); }
  .pub-number:nth-child(2) { border-right: none; }
  .pub-number:nth-child(1),
  .pub-number:nth-child(2) { border-bottom: 1px solid rgba(18,58,99,.08); }
}

@media (max-width: 768px) {
  .pub-nav-links        { display: none; }
  .pub-nav-cta          { display: none; }
  .pub-nav-hamburger    { display: flex; }
  .pub-section          { padding: 64px 0; }
  .pub-hero             { padding: 60px 0 48px; }
  .pub-hero-inner       { padding: 0 20px; }
  .pub-hero-actions     { flex-wrap: wrap; }
  .pub-feature-grid     { grid-template-columns: 1fr; }
  .pub-pricing-grid     { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
  .pub-personas         { grid-template-columns: 1fr; }
  .pub-trust-grid       { grid-template-columns: 1fr; }
  .pub-problem-grid     { grid-template-columns: 1fr; }
  .pub-steps            { grid-template-columns: 1fr; }
  .pub-contact-grid     { grid-template-columns: 1fr; }
  .pub-footer-grid      { grid-template-columns: 1fr 1fr; }
  .pub-cta-banner       { padding: 64px 0; }
  .pub-cta-banner-actions { flex-direction: column; align-items: center; }
  .pub-numbers          { grid-template-columns: 1fr; }
  .pub-number           { border-right: none; border-bottom: 1px solid rgba(18,58,99,.08); }
  .pub-number:last-child { border-bottom: none; }
  .app-mock             { grid-template-columns: 1fr; min-height: 0; }
  .app-mock-side        { display: none; }
  .pub-trust-row        { flex-direction: column; gap: 16px; }
}

@media (max-width: 480px) {
  .pub-container        { padding: 0 16px; }
  .pub-container--narrow { padding: 0 16px; }
  .pub-hero-inner       { padding: 0 16px; }
  .pub-hero-actions .pub-btn { width: 100%; justify-content: center; }
  .pub-footer-grid      { grid-template-columns: 1fr; }
  .pub-pricing-grid     { max-width: 100%; }
  .pub-footer-bottom    { flex-direction: column; }
}

/* ==============================================================
   REAL PLATFORM PREVIEWS — public marketing pages
   Mirrors the structure of the authenticated WebFiling interface
   using example data only. 2026-08-14.
   ============================================================== */
.platform-preview{margin:2.25rem 0 0}.platform-preview__chrome{overflow:hidden;border:1px solid #d8dee8;border-radius:18px;background:#fff;box-shadow:0 24px 60px -34px rgba(18,58,99,.35)}.platform-preview figcaption{margin:.75rem .25rem 0;color:#64748b;font-size:.76rem;line-height:1.45}.platform-preview__topbar{display:grid;grid-template-columns:170px 1fr auto;align-items:center;min-height:54px;border-bottom:1px solid #e4e8ef;background:#fff}.platform-preview__brand{height:100%;display:flex;align-items:center;gap:9px;padding:0 16px;border-right:1px solid #e4e8ef;font-size:.82rem;font-weight:800;color:#123a63}.platform-preview__brand-mark{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:7px;background:#566a86;color:#fff;font-size:.72rem;font-weight:900}.platform-preview__crumb{padding:0 16px;font-size:.8rem;color:#475569}.platform-preview__top-actions{display:flex;gap:10px;padding:0 16px;color:#667085}.platform-preview__top-actions .material-symbols-outlined{font-size:19px}.platform-preview__body{display:grid;grid-template-columns:170px minmax(0,1fr);min-height:470px}.platform-preview__sidebar{padding:14px 9px 18px;border-right:1px solid #e4e8ef;background:#f8fafc}.platform-preview__nav-label{margin:11px 9px 5px;color:#98a2b3;font-size:.52rem;font-weight:800;letter-spacing:.09em}.platform-preview__nav-item{display:flex;align-items:center;gap:8px;min-height:31px;margin:2px 0;padding:6px 9px;border-radius:6px;color:#667085;font-size:.65rem;font-weight:650}.platform-preview__nav-item .material-symbols-outlined{font-size:15px}.platform-preview__nav-item.active{background:#eaf0f7;color:#2f4f75;font-weight:800}.platform-preview__workspace{min-width:0;padding:20px 18px 22px;background:#fff}.pp-pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.pp-pagehead h3{display:flex;align-items:center;gap:7px;margin:0;color:#233044;font-size:1.02rem;font-weight:800;letter-spacing:-.015em}.pp-pagehead p{margin:.25rem 0 0;color:#98a2b3;font-size:.65rem}.pp-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:50%;background:#eef2f6;color:#667085;font-size:.6rem}.pp-actions,.pp-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border:1px solid #4f6280;border-radius:6px;background:#566a86;color:#fff;font-size:.59rem;font-weight:750;white-space:nowrap}.pp-btn.light{border-color:#d4dae4;background:#fff;color:#536174}.pp-btn .material-symbols-outlined{font-size:13px}.pp-filterbar{display:flex;align-items:center;gap:7px;margin-bottom:11px;flex-wrap:wrap}.pp-search,.pp-select{display:flex;align-items:center;gap:6px;min-height:29px;padding:0 9px;border:1px solid #d8dee8;border-radius:5px;background:#fff;color:#98a2b3;font-size:.58rem}.pp-search{flex:1;min-width:155px}.pp-search .material-symbols-outlined{font-size:13px}.pp-select{min-width:105px;justify-content:space-between}.pp-tablewrap{overflow-x:auto;border:1px solid #e3e7ee;border-radius:7px;background:#fff}.pp-table{width:100%;min-width:620px;border-collapse:collapse}.pp-table th{padding:9px 10px;border-bottom:1px solid #e4e8ef;background:#fafbfc;color:#8a94a5;text-align:left;font-size:.52rem;font-weight:800;letter-spacing:.055em;white-space:nowrap}.pp-table td{padding:10px;border-bottom:1px solid #eef1f5;color:#4b5563;font-size:.58rem;vertical-align:middle}.pp-table tr:last-child td{border-bottom:0}.pp-table td a{color:#4f6380;font-weight:750}.pp-table td strong{display:block;color:#334155;font-size:.61rem}.pp-table td small,.pp-card small,.pp-person-row small,.pp-alert small,.pp-card-title small{display:block;margin-top:2px;color:#94a3b8;font-size:.52rem;line-height:1.35}.pp-status{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:4px;font-size:.51rem;font-weight:800;white-space:nowrap}.pp-status.active{background:#e8f7ee;color:#257447}.pp-status.pending{background:#fff1db;color:#b36a00}.pp-status.neutral{background:#eef2f6;color:#667085}.pp-date{display:inline-flex;min-width:71px;justify-content:center;padding:3px 7px;border-radius:3px;font-size:.52rem;font-weight:700}.pp-date.good{background:#e5f7e9;color:#287646}.pp-date.warn{background:#fff0e3;color:#b86620}.pp-row-actions{display:flex;gap:6px}.pp-row-actions span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #d7dde6;border-radius:5px;color:#596a82}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pp-company-strip{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:11px;border:1px solid #dce4ed;border-radius:8px;background:#f9fbfd}.pp-company-strip>.material-symbols-outlined{color:#526987;font-size:18px}.pp-company-strip div{flex:1}.pp-company-strip strong{display:block;color:#334155;font-size:.65rem}.pp-company-strip small{display:block;color:#94a3b8;font-size:.52rem}.pp-card{padding:13px;margin-bottom:11px;border:1px solid #e1e6ee;border-radius:9px;background:#fff}.pp-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-card-grid .pp-card{margin:0}.pp-card-title{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.pp-card-title>.material-symbols-outlined{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:#edf2f7;color:#536a88;font-size:15px}.pp-card-title strong{display:block;color:#334155;font-size:.64rem}.pp-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pp-choice{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:10px;border:1px solid #dce2ea;border-radius:7px;color:#64748b}.pp-choice .material-symbols-outlined{grid-row:1/3;font-size:18px;color:#64748b}.pp-choice strong{font-size:.6rem;color:#475569}.pp-choice small{font-size:.5rem}.pp-choice.selected{border-color:#68809f;background:#f3f6fa}.pp-choice.selected .material-symbols-outlined,.pp-choice.selected strong{color:#405a7c}.pp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.pp-tabs span{padding:5px 9px;border:1px solid #dce2ea;border-radius:999px;background:#fff;color:#667085;font-size:.53rem;font-weight:750}.pp-tabs span.selected{background:#566a86;border-color:#566a86;color:#fff}.pp-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.pp-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-form-grid label,.pp-inline-form label,.pp-field{display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:.5rem;font-weight:800}.pp-form-grid label span,.pp-inline-form label span,.pp-field span{display:flex;align-items:center;min-height:29px;padding:0 8px;border:1px solid #d8dee8;border-radius:5px;background:#fff;color:#334155;font-size:.55rem;font-weight:600}.pp-mini-balance{overflow:hidden;border:1px solid #e0e5ec;border-radius:7px}.pp-mini-balance>div{display:grid;grid-template-columns:1.5fr .75fr .75fr}.pp-mini-balance span{padding:6px 8px;border-bottom:1px solid #edf0f4;color:#596579;font-size:.52rem;text-align:right}.pp-mini-balance span:first-child{text-align:left}.pp-mini-balance .head span{background:#f8fafc;color:#8a94a5;font-weight:800}.pp-mini-balance .total span{background:#f8fafc;color:#334155;font-weight:800;border-bottom:0}.pp-info-box{padding:8px 9px;margin-bottom:9px;border:1px solid #dce5ef;border-radius:6px;background:#f7fafc;color:#596579;font-size:.54rem;line-height:1.5}.pp-question{margin:7px 0 6px;color:#475569;font-size:.55rem;font-weight:700}.pp-radio{display:flex;gap:11px;color:#64748b;font-size:.54rem}.pp-radio .selected{color:#405a7c;font-weight:800}.pp-person-row{display:flex;align-items:center;gap:8px;padding:8px;margin-bottom:8px;border:1px solid #e0e5ec;border-radius:7px;background:#fafbfc}.pp-person-row>.material-symbols-outlined{font-size:18px;color:#64748b}.pp-person-row div{flex:1}.pp-person-row strong{display:block;color:#334155;font-size:.58rem}.pp-inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:9px}.pp-alert{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:7px;font-size:.54rem}.pp-alert .material-symbols-outlined{font-size:17px}.pp-alert strong{display:block;font-size:.58rem}.pp-alert.success{border:1px solid #c9ead6;background:#f2fbf5;color:#287447}.pp-alert.info{border:1px solid #d5e4f4;background:#f5f9fd;color:#43617f}.pp-type{display:inline-flex;padding:2px 5px;margin-right:4px;border-radius:3px;font-size:.48rem;font-weight:800;text-transform:uppercase}.pp-type.accounts{background:#e6f0fb;color:#356ca5}.pp-type.cs{background:#f0e9f6;color:#735292}

@media (max-width:900px){.platform-preview__topbar{grid-template-columns:145px 1fr auto}.platform-preview__body{grid-template-columns:145px minmax(0,1fr)}.platform-preview__sidebar{padding-left:6px;padding-right:6px}.platform-preview__nav-item{font-size:.59rem}.pp-card-grid{grid-template-columns:1fr}.pp-form-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.platform-preview{margin-top:1.5rem}.platform-preview__chrome{border-radius:13px}.platform-preview__topbar{grid-template-columns:1fr auto}.platform-preview__brand{border-right:0}.platform-preview__crumb{display:none}.platform-preview__body{display:block;min-height:0}.platform-preview__sidebar{display:none}.platform-preview__workspace{padding:13px 10px 15px}.pp-pagehead{align-items:flex-start}.pp-pagehead h3{font-size:.84rem}.pp-actions{display:none}.pp-filterbar{gap:5px}.pp-select{min-width:90px}.pp-table{min-width:590px}.pp-form-grid,.pp-form-grid.two{grid-template-columns:1fr}.pp-choice-grid{grid-template-columns:1fr}.pp-inline-form{grid-template-columns:1fr}.pp-inline-form .pp-btn{justify-self:start}.platform-preview figcaption{font-size:.7rem}}

/* ==============================================================
   PUBLIC WEBSITE — MOBILE QA HARDENING, 2026-08-14
   ============================================================== */
.pub-nav-mobile-cta { display: none; }

@media (max-width: 768px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .pub-nav { position: sticky; top: 0; z-index: 500; }
  .pub-nav-inner { height: 60px; padding: 0 18px; }
  .pub-nav-logo { font-size: 15px; min-width: 0; }
  .pub-nav-logo svg { width: 26px; height: 26px; }
  .pub-nav-links--open {
    top: 60px;
    max-height: calc(100dvh - 60px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .pub-nav-links--open > .pub-nav-link,
  .pub-nav-links--open .pub-nav-dropdown-btn {
    min-height: 44px;
    justify-content: space-between;
    padding: 10px 12px;
    font-size: 15px;
  }
  .pub-nav-links--open .pub-nav-dropdown-item {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 9px 12px;
  }
  .pub-nav-mobile-cta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    width: 100%;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid rgba(18,58,99,.08);
  }
  .pub-nav-mobile-cta .pub-btn { min-height: 44px; width: 100%; justify-content: center; }

  .pub-page-header { padding: 38px 0 34px; }
  .pub-page-header-title { font-size: clamp(28px, 8vw, 36px); line-height: 1.08; }
  .pub-page-header-sub { font-size: 15.5px; line-height: 1.55; }
  .pub-section { padding: 52px 0; }
  .pub-section-header { margin-bottom: 34px; }
  .pub-section-title { font-size: clamp(27px, 8vw, 38px); line-height: 1.08; }
  .pub-section-sub { font-size: 16px; }
  .pub-prose, .pub-prose-lead, .pub-feature-desc, .pub-footer-compliance, .pub-footer-tagline { overflow-wrap: anywhere; }
  .pub-prose-lead { font-size: 17px; line-height: 1.65; }
  .pub-prose-heading { font-size: 21px; line-height: 1.25; margin-top: 30px; }
  .pub-feature-card { padding: 22px; }
  .pub-feature-card:hover { transform: none; }
  .pub-cta-banner { padding: 52px 0; }
  .pub-cta-banner-title { font-size: clamp(29px, 8.5vw, 40px); }
  .pub-cta-banner-sub { font-size: 16px; margin-bottom: 24px; }
  .pub-footer { padding-top: 54px; }

  .platform-preview__topbar { min-height: 50px; }
  .platform-preview__brand { padding: 0 12px; font-size: .76rem; }
  .platform-preview__brand-mark { width: 26px; height: 26px; }
  .platform-preview__top-actions { padding: 0 12px; gap: 7px; }
  .platform-preview__workspace { padding: 14px 11px 16px; }
  .pp-pagehead { gap: 8px; margin-bottom: 11px; }
  .pp-pagehead h3 { font-size: .88rem; line-height: 1.2; }
  .pp-pagehead p { font-size: .64rem; line-height: 1.4; }
  .pp-pagehead > .pp-status { flex-shrink: 0; }
  .pp-card { padding: 11px; }
  .pp-card-title strong { font-size: .7rem; line-height: 1.35; }
  .pp-card-title small, .pp-card small, .pp-person-row small, .pp-alert small { font-size: .61rem; }
  .pp-question, .pp-radio, .pp-info-box { font-size: .63rem; }
  .pp-form-grid label, .pp-inline-form label, .pp-field { font-size: .6rem; }
  .pp-form-grid label span, .pp-inline-form label span, .pp-field span { min-height: 34px; font-size: .65rem; }
  .pp-choice strong { font-size: .67rem; }
  .pp-choice small { font-size: .59rem; }
  .pp-tabs span { font-size: .6rem; }
  .pp-status { font-size: .58rem; }
  .pp-btn { min-height: 30px; font-size: .62rem; }
  .pp-person-row strong { font-size: .66rem; }
  .pp-mini-balance span { font-size: .59rem; padding: 7px 6px; }
  .pp-mini-balance>div { grid-template-columns: 1.35fr .8fr .8fr; }
}

@media (max-width: 768px) {
  /* Mobile data tables become readable cards instead of desktop-width scroll areas. */
  .pp-tablewrap { overflow: visible; border: 0; background: transparent; }
  .pp-table.pp-table--portfolio,
  .pp-table.pp-table--filings,
  .pp-table.pp-table--deadlines,
  .pp-table.pp-table--audit { min-width: 0; display: block; }
  .pp-table.pp-table--portfolio thead,
  .pp-table.pp-table--filings thead,
  .pp-table.pp-table--deadlines thead,
  .pp-table.pp-table--audit thead { display: none; }
  .pp-table.pp-table--portfolio tbody,
  .pp-table.pp-table--filings tbody,
  .pp-table.pp-table--deadlines tbody,
  .pp-table.pp-table--audit tbody { display: grid; gap: 9px; }
  .pp-table.pp-table--portfolio tr,
  .pp-table.pp-table--filings tr,
  .pp-table.pp-table--deadlines tr,
  .pp-table.pp-table--audit tr {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    overflow: hidden;
    border: 1px solid #e2e7ee;
    border-radius: 9px;
    background: #fff;
  }
  .pp-table.pp-table--portfolio td,
  .pp-table.pp-table--filings td,
  .pp-table.pp-table--deadlines td,
  .pp-table.pp-table--audit td {
    display: block;
    min-width: 0;
    padding: 8px 9px;
    border: 0;
    border-bottom: 1px solid #eef1f5;
    color: #475569;
    font-size: .64rem;
    overflow-wrap: anywhere;
  }
  .pp-table.pp-table--portfolio td::before,
  .pp-table.pp-table--filings td::before,
  .pp-table.pp-table--deadlines td::before,
  .pp-table.pp-table--audit td::before {
    display: block;
    margin-bottom: 3px;
    color: #94a3b8;
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .pp-table.pp-table--portfolio td:nth-child(1)::before { content: 'Number'; }
  .pp-table.pp-table--portfolio td:nth-child(2)::before { content: 'Company'; }
  .pp-table.pp-table--portfolio td:nth-child(3)::before { content: 'Status'; }
  .pp-table.pp-table--portfolio td:nth-child(4)::before { content: 'Category'; }
  .pp-table.pp-table--portfolio td:nth-child(5)::before { content: 'Accounts due'; }
  .pp-table.pp-table--portfolio td:nth-child(6)::before { content: 'CS due'; }
  .pp-table.pp-table--portfolio td:nth-child(7)::before { content: 'Actions'; }
  .pp-table.pp-table--portfolio td:nth-child(7) { grid-column: 1 / -1; border-bottom: 0; }

  .pp-table.pp-table--filings td:nth-child(1)::before { content: 'Company'; }
  .pp-table.pp-table--filings td:nth-child(2)::before { content: 'Filing type'; }
  .pp-table.pp-table--filings td:nth-child(3)::before { content: 'Submission'; }
  .pp-table.pp-table--filings td:nth-child(4)::before { content: 'Mode'; }
  .pp-table.pp-table--filings td:nth-child(5)::before { content: 'Status'; }
  .pp-table.pp-table--filings td:nth-child(6)::before { content: 'Submitted'; }
  .pp-table.pp-table--filings td:nth-child(7)::before { content: 'Action'; }
  .pp-table.pp-table--filings td:nth-child(7) { border-bottom: 0; }

  .pp-table.pp-table--deadlines td:nth-child(1)::before { content: 'Company'; }
  .pp-table.pp-table--deadlines td:nth-child(2)::before { content: 'Filing type'; }
  .pp-table.pp-table--deadlines td:nth-child(3)::before { content: 'Due date'; }
  .pp-table.pp-table--deadlines td:nth-child(4)::before { content: 'Status'; }
  .pp-table.pp-table--deadlines td:nth-child(3),
  .pp-table.pp-table--deadlines td:nth-child(4) { border-bottom: 0; }

  .pp-table.pp-table--audit td:nth-child(1)::before { content: 'Time'; }
  .pp-table.pp-table--audit td:nth-child(2)::before { content: 'Actor'; }
  .pp-table.pp-table--audit td:nth-child(3)::before { content: 'Action'; }
  .pp-table.pp-table--audit td:nth-child(4)::before { content: 'Result'; }
  .pp-table.pp-table--audit td:nth-child(3),
  .pp-table.pp-table--audit td:nth-child(4) { border-bottom: 0; }
}

@media (max-width: 480px) {
  .pub-nav-inner { padding: 0 14px; }
  .pub-nav-logo span { font-size: 14px; }
  .pub-nav-mobile-cta { grid-template-columns: 1fr; }
  .pub-hero { padding: 44px 0 38px; }
  .pub-hero-headline { font-size: clamp(34px, 10.5vw, 46px); max-width: 100%; margin-bottom: 20px; }
  .pub-hero-sub { font-size: 17px; line-height: 1.5; margin-bottom: 22px; }
  .pub-hero-meta { margin-left: 0; line-height: 1.45; }
  .pub-section { padding: 44px 0; }
  .pub-section-header { margin-bottom: 28px; }
  .pub-feature-card { padding: 20px; }
  .pub-cta-banner-actions .pub-btn { width: 100%; max-width: 360px; }
  .pub-footer-grid { gap: 32px; }
  .platform-preview { margin-top: 1.25rem; }
  .platform-preview__chrome { border-radius: 11px; }
  .platform-preview__top-actions .material-symbols-outlined:first-child { display: none; }
  .pp-pagehead { flex-direction: column; }
  .pp-pagehead > .pp-status { align-self: flex-start; }
  .pp-filterbar { display: grid; grid-template-columns: 1fr 1fr; }
  .pp-filterbar .pp-search { grid-column: 1 / -1; min-width: 0; }
  .pp-filterbar .pp-btn { width: 100%; }
  .pp-card-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .pp-card-actions .pp-btn { width: 100%; }
  .pp-mini-balance span { font-size: .55rem; padding: 7px 4px; }
}

@media (max-width: 360px) {
  .pub-nav-logo span { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pub-container, .pub-container--narrow, .pub-hero-inner { padding-left: 13px; padding-right: 13px; }
  .pp-filterbar { grid-template-columns: 1fr; }
  .pp-filterbar .pp-search { grid-column: auto; }
  .pp-table.pp-table--portfolio tr,
  .pp-table.pp-table--filings tr,
  .pp-table.pp-table--deadlines tr,
  .pp-table.pp-table--audit tr { grid-template-columns: 1fr; }
  .pp-table.pp-table--portfolio td:nth-child(7),
  .pp-table.pp-table--filings td:nth-child(7),
  .pp-table.pp-table--deadlines td:nth-child(4),
  .pp-table.pp-table--audit td:nth-child(4) { border-bottom: 0; }
  .pp-card-actions { grid-template-columns: 1fr; }
  .pp-mini-balance { overflow-x: auto; }
  .pp-mini-balance > div { min-width: 310px; }
}

@media (max-width: 768px) {
  /* Must come after the generic .pub-nav-links { display:none } mobile rule. */
  .pub-nav-links.pub-nav-links--open { display: flex; }
}
