/* ═══════════════════════════════════════════════════════════════
   Harper Media Group — styles.css
   Consolidated stylesheet replacing per-page <style> blocks
   + semantic classes for repeated Tailwind utility patterns
═══════════════════════════════════════════════════════════════ */

/* ── Tokens ──────────────────────────────────────────────────── */
:root {
  --pk-l: #F2798F;
  --pk-m: #F24BA7;
  --pk-d: #F21DB9;
  --dark: #0D0D0D;
  --gray: #D9D9D9;
  --bg:   #F8F9FA;
}

/* ── Base ────────────────────────────────────────────────────── */
body {
  background-color: var(--bg);
  color: var(--dark);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Gradients ───────────────────────────────────────────────── */
.grad-bg {
  background: linear-gradient(135deg, var(--pk-l) 0%, var(--pk-m) 50%, var(--pk-d) 100%);
}
.grad-text {
  background: linear-gradient(135deg, var(--pk-l) 0%, var(--pk-m) 60%, var(--pk-d) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.grad-border {
  border: 1.5px solid transparent;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(135deg, var(--pk-l), var(--pk-d)) border-box;
}

/* ── Navigation ──────────────────────────────────────────────── */
#nav {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--gray);
  position: sticky;
  top: 0;
  z-index: 50;
  transition: box-shadow .3s;
}
#nav.scrolled { box-shadow: 0 4px 40px rgba(0,0,0,.09); }

/* Semantic nav layout classes */
.nav-container {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px)  { .nav-container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .nav-container { padding: 0 2rem;   } }

.nav-inner {
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.nav-logo { flex-shrink: 0; }
.nav-logo img {
  height: 2.25rem;
  width: auto;
  object-fit: contain;
}
@media (min-width: 768px) { .nav-logo img { height: 2.75rem; } }

.nav-links {
  display: none;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(13, 13, 13, 0.7);
}
@media (min-width: 1024px) { .nav-links { display: flex; } }

.nav-link {
  padding: 0.5rem 0.875rem;
  border-radius: 0.75rem;
  transition: color .15s, background .15s;
}
.nav-link:hover        { color: var(--pk-m); background: rgba(242,121,143,.06); }
.nav-link.nav-active   { color: var(--pk-m); background: rgba(242,121,143,.08); }

.nav-link-flex {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.75rem;
  transition: color .15s, background .15s;
}
.nav-link-flex:hover { color: var(--pk-m); background: rgba(242,121,143,.06); }

.nav-chevron { width: 0.875rem; height: 0.875rem; opacity: 0.5; }

.nav-actions { display: flex; align-items: center; gap: 0.75rem; }

#menu-btn {
  padding: 0.5rem;
  border-radius: 0.75rem;
  transition: background .15s;
}
#menu-btn:hover { background: rgba(242,121,143,.10); }
@media (min-width: 1024px) { #menu-btn { display: none; } }

/* ── Dropdown ────────────────────────────────────────────────── */
.has-dropdown { position: relative; }
.dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 1.25rem;
  box-shadow: 0 16px 48px rgba(0,0,0,.12);
  min-width: 220px;
  padding: 1rem .75rem .75rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 100;
}
.has-dropdown::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translateX(-50%) translateY(8px);
}
.dropdown-wide  { min-width: 680px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .5rem; }
.dropdown-mega  { min-width: 820px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: .5rem; }
.dropdown a {
  display: block;
  padding: .5rem .75rem;
  border-radius: .75rem;
  font-size: .8125rem;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
  transition: background .15s, color .15s;
}
.dropdown a:hover { background: rgba(242,75,167,.08); color: var(--pk-m); }
.dropdown-section-title {
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #9ca3af;
  padding: .5rem .75rem .25rem;
}

/* ── Mobile Menu ─────────────────────────────────────────────── */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
  border-top: 1px solid var(--gray);
  background: white;
}
@media (min-width: 1024px) { #mobile-menu { display: none; } }
#mobile-menu.open { max-height: 1400px; }

.mobile-sub         { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.mobile-sub.open    { max-height: 900px; }

/* Mobile menu semantic classes */
.mobile-menu-body {
  max-width: 72rem;
  margin: 0 auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.mobile-nav-link {
  display: block;
  font-weight: 700;
  padding: 0.625rem 0.75rem;
  border-radius: 0.75rem;
  transition: background .15s, color .15s;
}
.mobile-nav-link:hover,
.mobile-nav-link.nav-active { background: rgba(242,121,143,.08); color: var(--pk-m); }

.mobile-nav-accordion {
  width: 100%;
  text-align: left;
  font-weight: 700;
  padding: 0.625rem 0.75rem;
  border-radius: 0.75rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background .15s, color .15s;
}
.mobile-nav-accordion:hover { background: rgba(242,121,143,.08); color: var(--pk-m); }

.accordion-chevron  { width: 1rem; height: 1rem; opacity: 0.4; }

.mobile-sub-indent  { padding-left: 1rem; display: flex; flex-direction: column; gap: 0.25rem; }

.mobile-section-label {
  font-size: 0.625rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #94a3b8;
  padding: 0.5rem 0.75rem 0.25rem;
}

.mobile-sub-link {
  display: block;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  transition: background .15s, color .15s;
}
.mobile-sub-link:hover       { background: rgba(242,121,143,.08); color: var(--pk-m); }
.mobile-sub-link.nav-active  { color: var(--pk-m); }

.mobile-menu-footer { padding-top: 0.75rem; border-top: 1px solid var(--gray); }

/* ── Animations ──────────────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-anim > *                { opacity: 0; animation: fadeUp .65s ease both; }
.hero-anim > *:nth-child(1)   { animation-delay: .05s; }
.hero-anim > *:nth-child(2)   { animation-delay: .15s; }
.hero-anim > *:nth-child(3)   { animation-delay: .25s; }
.hero-anim > *:nth-child(4)   { animation-delay: .38s; }
.hero-anim > *:nth-child(5)   { animation-delay: .50s; }

.reveal           { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible   { opacity: 1; transform: none; }

.fade-in   { animation: fadeUp .6s ease both; }
.fade-in-1 { animation-delay: .1s; }
.fade-in-2 { animation-delay: .2s; }
.fade-in-3 { animation-delay: .3s; }
.fade-in-4 { animation-delay: .45s; }
.fade-in-5 { animation-delay: .6s; }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: linear-gradient(135deg, var(--pk-l), var(--pk-m) 50%, var(--pk-d));
  color: white;
  font-weight: 800;
  border-radius: 1rem;
  padding: .9rem 2rem;
  font-size: .875rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: filter .2s, transform .15s, box-shadow .2s;
}
.btn-primary:hover  { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 12px 32px rgba(242,75,167,.4); }
.btn-primary:active { transform: translateY(0); }

.btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1.5px solid var(--gray);
  background: white;
  color: #374151;
  font-weight: 700;
  border-radius: 1rem;
  padding: .875rem 1.75rem;
  font-size: .875rem;
  transition: border-color .2s, color .2s, box-shadow .2s;
}
.btn-secondary:hover { border-color: var(--pk-m); color: var(--pk-m); box-shadow: 0 4px 16px rgba(242,75,167,.12); }

/* ── Cards ───────────────────────────────────────────────────── */
.card { background: white; border: 1px solid rgba(217,217,217,.7); border-radius: 2.5rem; transition: transform .2s, box-shadow .2s; }
.card:hover { transform: translateY(-3px); box-shadow: 0 16px 48px rgba(0,0,0,.09); }

.service-card { background: white; border: 1.5px solid rgba(217,217,217,.7); border-radius: 2rem; transition: transform .2s, box-shadow .2s; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 20px 56px rgba(0,0,0,.1); }

.pricing-card { background: white; border: 1.5px solid rgba(217,217,217,.7); border-radius: 2rem; transition: transform .2s, box-shadow .2s; }
.pricing-card:hover { transform: translateY(-4px); box-shadow: 0 20px 56px rgba(0,0,0,.1); }
.pricing-card.featured { border-color: var(--pk-m); box-shadow: 0 8px 32px rgba(242,75,167,.18); }

.price-card {
  background: var(--dark);
  border: 1.5px solid rgba(255,255,255,.1);
  border-radius: 2rem;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  transition: transform .2s, box-shadow .2s;
}
.price-card:hover { transform: translateY(-4px); box-shadow: 0 20px 56px rgba(0,0,0,.4); }
.price-card.featured { border-color: var(--pk-m); box-shadow: 0 8px 32px rgba(242,75,167,.25); }

/* ── Marquee ─────────────────────────────────────────────────── */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track       { display: flex; animation: marquee 24s linear infinite; width: max-content; }
.marquee-track:hover { animation-play-state: paused; }

/* ── Tabs ────────────────────────────────────────────────────── */
.tab-btn {
  padding: .6rem 1.25rem;
  border-radius: 999px;
  font-size: .8125rem;
  font-weight: 700;
  border: 1.5px solid transparent;
  transition: background .15s, color .15s, border-color .15s;
  cursor: pointer;
  white-space: nowrap;
}
.tab-btn.active         { background: linear-gradient(135deg, var(--pk-l), var(--pk-m) 50%, var(--pk-d)); color: white; }
.tab-btn:not(.active)   { background: white; color: #374151; border-color: rgba(217,217,217,.8); }
.tab-btn:not(.active):hover { border-color: var(--pk-m); color: var(--pk-m); }
.tab-panel              { display: none; }
.tab-panel.active       { display: block; }

/* ── Page Sections (SPA) ─────────────────────────────────────── */
.page-section        { display: none; }
.page-section.active { display: block; }

/* ── Noise overlay ───────────────────────────────────────────── */
.noise::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .35;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}

/* ── Check icon ──────────────────────────────────────────────── */
.check { color: var(--pk-m); }

/* ═══════════════════════════════════════════════════════════════
   SEMANTIC CLASSES — replacing repeated Tailwind utility combos
═══════════════════════════════════════════════════════════════ */

/* Container */
.container-xl {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px)  { .container-xl { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container-xl { padding: 0 2rem; }   }

/* Section header block */
.section-header { text-align: center; margin-bottom: 3rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; }

/* Badges */
.badge-dark {
  display: inline-block;
  background: var(--dark);
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.375rem 1rem;
  border-radius: 9999px;
}
.badge-dark-flex {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--dark);
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
}

/* Pink link */
.link-pink {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pk-m);
  transition: color .15s;
}
.link-pink:hover { color: var(--pk-d); }

/* Marquee logo */
.marquee-logo {
  height: 1.75rem;
  width: auto;
  object-fit: contain;
  opacity: 0.6;
  flex-shrink: 0;
  white-space: nowrap;
  transition: opacity .15s;
}
.marquee-logo:hover { opacity: 1; }

/* Section label */
.section-label {
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--pk-m);
}

/* Breadcrumb */
.breadcrumb a       { color: var(--pk-m); font-weight: 600; }
.breadcrumb a:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER SEMANTIC CLASSES
═══════════════════════════════════════════════════════════════ */
.site-footer {
  background: var(--dark);
  color: white;
  padding-top: 4rem;
  padding-bottom: 2.5rem;
  position: relative;
  overflow: hidden;
}
.footer-container {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 640px)  { .footer-container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .footer-container { padding-left: 2rem;   padding-right: 2rem;   } }

.footer-grid {
  display: grid;
  gap: 2.5rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(4, 1fr); } }

.footer-nav-title {
  font-size: 0.625rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,.3);
  margin-bottom: 1rem;
}
.footer-link {
  display: block;
  font-size: 0.875rem;
  color: rgba(255,255,255,.55);
  font-weight: 500;
  transition: color .15s;
  padding: 0.25rem 0;
}
.footer-link:hover { color: white; }

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media (min-width: 640px) { .footer-bottom { flex-direction: row; } }

.footer-copyright { color: rgba(255,255,255,.25); font-size: 0.875rem; }
.footer-tagline   { display: flex; align-items: center; gap: 0.5rem; font-size: 0.625rem; font-weight: 900; color: rgba(255,255,255,.2); text-transform: uppercase; letter-spacing: 0.1em; }

/* ═══════════════════════════════════════════════════════════════
   PAGE-SPECIFIC COMPONENTS
═══════════════════════════════════════════════════════════════ */

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-panel        { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq-panel.open   { max-height: 600px; }
.faq-icon         { transition: transform .3s ease; }
.faq-icon.open    { transform: rotate(180deg); }

.faq-item { border: 1px solid rgba(217,217,217,.6); border-radius: 1.25rem; overflow: hidden; margin-bottom: .75rem; }
.faq-trigger { width: 100%; text-align: left; padding: 1.125rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: white; cursor: pointer; border: none; font-size: .9375rem; font-weight: 800; color: var(--dark); }
.faq-trigger:hover { background: #fafafa; }
.faq-trigger svg { width: 1.125rem; height: 1.125rem; color: #9ca3af; flex-shrink: 0; transition: transform .25s; }
.faq-body { display: none; padding: 0 1.5rem 1.25rem; background: white; }
.faq-body p { color: #475569; font-size: .9375rem; line-height: 1.8; margin: 0; }
.faq-item.open .faq-trigger svg { transform: rotate(180deg); }
.faq-item.open .faq-body { display: block; }

/* ── Article Prose ───────────────────────────────────────────── */
.article-prose h2 { font-size: 1.375rem; font-weight: 900; color: var(--dark); margin-top: 2.5rem; margin-bottom: .75rem; line-height: 1.3; }
.article-prose h3 { font-size: 1.125rem; font-weight: 800; color: var(--dark); margin-top: 1.75rem; margin-bottom: .5rem; }
.article-prose p  { color: #475569; line-height: 1.85; margin-bottom: 1.25rem; font-size: 1rem; }
.article-prose strong { color: var(--dark); font-weight: 800; }
.article-prose a  { color: var(--pk-m); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.article-prose a:hover { color: var(--pk-d); }
.article-prose ul { list-style: none; padding: 0; margin-bottom: 1.25rem; }
.article-prose ul li { display: flex; align-items: flex-start; gap: .7rem; color: #475569; font-size: 1rem; line-height: 1.75; margin-bottom: .4rem; }
.article-prose ul li::before { content: ''; display: block; width: .45rem; height: .45rem; background: var(--pk-m); border-radius: 999px; margin-top: .6rem; flex-shrink: 0; }
.article-prose ol { list-style: none; padding: 0; margin-bottom: 1.25rem; counter-reset: ol-counter; }
.article-prose ol li { display: flex; align-items: flex-start; gap: .875rem; color: #475569; font-size: 1rem; line-height: 1.75; margin-bottom: .75rem; counter-increment: ol-counter; }
.article-prose ol li::before { content: counter(ol-counter); min-width: 1.625rem; height: 1.625rem; border-radius: .5rem; background: rgba(242,75,167,.1); border: 1px solid rgba(242,75,167,.2); color: var(--pk-m); font-size: .7rem; font-weight: 900; flex-shrink: 0; margin-top: .125rem; display: flex; align-items: center; justify-content: center; }
.article-prose blockquote { border-left: 3px solid var(--pk-m); margin: 1.5rem 0; padding: 1rem 1.5rem; background: rgba(242,75,167,.04); border-radius: 0 1rem 1rem 0; }
.article-prose blockquote p { color: #374151; font-style: italic; margin-bottom: 0; }
.article-prose code { background: #f1f5f9; padding: .1rem .35rem; border-radius: .3rem; font-size: .875em; font-family: monospace; color: #0f172a; }

/* ── Blog / Category Pills ───────────────────────────────────── */
.cat-pill {
  display: inline-flex;
  align-items: center;
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .25rem .7rem;
  border-radius: 999px;
  background: #0D0D0D !important;
  color: white !important;
  border: 1px solid #0D0D0D !important;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, border-color .15s;
}
.cat-pill:hover,
.cat-pill:focus      { background: #F21DB9 !important; border-color: #F21DB9 !important; color: white !important; }
.cat-pill-active     { background: #F21DB9 !important; border-color: #F21DB9 !important; color: white !important; }

.tag-pill {
  display: inline-flex;
  align-items: center;
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .25rem .75rem;
  border-radius: 999px;
  background: #374151;
  color: white !important;
  border: 1.5px solid #374151;
  text-decoration: none;
  transition: background .15s, border-color .15s;
}
.tag-pill:hover,
.tag-pill:focus { background: var(--pk-d); border-color: var(--pk-d); color: white !important; }

.tag { display: inline-flex; align-items: center; font-size: .7rem; font-weight: 700; padding: .3rem .8rem; border-radius: 999px; background: rgba(242,75,167,.08); color: var(--pk-m); border: 1px solid rgba(242,75,167,.2); }

.post-card { background: white; border: 1px solid rgba(217,217,217,.7); border-radius: 2rem; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.post-card:hover { transform: translateY(-4px); box-shadow: 0 20px 56px rgba(0,0,0,.1); border-color: rgba(242,75,167,.3); }

.img-placeholder { background: linear-gradient(135deg, #f0f0f0 0%, #e8e8e8 100%); }

.sidebar-section { background: white; border: 1px solid rgba(217,217,217,.7); border-radius: 1.5rem; padding: 1.5rem; }
.sidebar-post-link { display: block; padding: .5rem 0; border-bottom: 1px solid rgba(217,217,217,.4); font-size: .8125rem; font-weight: 600; color: #374151; line-height: 1.4; transition: color .15s; }
.sidebar-post-link:hover { color: var(--pk-m); }
.sidebar-post-link:last-child { border-bottom: none; }

.share-btn { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: .75rem; border: 1.5px solid rgba(217,217,217,.8); background: white; color: #374151; transition: border-color .15s, color .15s, background .15s; }
.share-btn:hover { border-color: var(--pk-m); color: var(--pk-m); background: rgba(242,75,167,.05); }

/* ── Forms ───────────────────────────────────────────────────── */
.form-label { display: block; font-size: .8125rem; font-weight: 700; color: #374151; margin-bottom: .4rem; }
.form-input {
  width: 100%;
  border: 1.5px solid rgba(217,217,217,.8);
  border-radius: .875rem;
  padding: .75rem 1rem;
  font-size: .875rem;
  color: var(--dark);
  background: white;
  transition: border-color .2s, box-shadow .2s;
  outline: none;
}
.form-input:focus { border-color: var(--pk-m); box-shadow: 0 0 0 3px rgba(242,75,167,.1); }
.form-input::placeholder { color: #9ca3af; }
textarea.form-input { resize: vertical; min-height: 140px; }
.form-submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: 1.1rem 2rem;
  font-size: .875rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: none;
  cursor: pointer;
  font-weight: 800;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--pk-l), var(--pk-m) 50%, var(--pk-d));
  color: white;
  transition: filter .2s, transform .15s, box-shadow .2s;
}
.form-submit:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 12px 32px rgba(242,75,167,.4); }

/* ── Service page components ─────────────────────────────────── */
.service-card-link { display: inline-flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 700; color: var(--pk-m); transition: color .15s; }
.service-card-link:hover { color: var(--pk-d); }

.check-li   { display: flex; align-items: flex-start; gap: .65rem; }
.check-row  { display: flex; align-items: flex-start; gap: .75rem; padding: .5rem 0; border-bottom: 1px solid rgba(217,217,217,.5); }
.check-row:last-child { border-bottom: none; }

.checklist-row { display: flex; align-items: flex-start; gap: .75rem; padding: .5rem 0; border-bottom: 1px solid rgba(217,217,217,.4); font-size: .9rem; color: #374151; line-height: 1.6; }
.checklist-row:last-child { border-bottom: none; }
.check-icon { width: 1.125rem; height: 1.125rem; border-radius: 50%; flex-shrink: 0; background: rgba(242,75,167,.1); border: 1px solid rgba(242,75,167,.25); display: flex; align-items: center; justify-content: center; margin-top: .15rem; }
.check-icon svg { width: .55rem; height: .55rem; color: var(--pk-m); stroke: var(--pk-m); }

.feature-pill { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 700; padding: .35rem .9rem; border-radius: 999px; border: 1.5px solid rgba(217,217,217,.8); background: white; color: #374151; }

.ai-platform { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .6rem 1.2rem; border-radius: 999px; border: 1.5px solid rgba(217,217,217,.7); background: white; font-size: .8rem; font-weight: 700; color: #374151; }

.platform-pill { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 700; padding: .35rem .9rem; border-radius: 999px; border: 1.5px solid rgba(217,217,217,.8); background: white; color: #374151; }

/* ── Agency Partners ─────────────────────────────────────────── */
.step-num { width: 3rem; height: 3rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; font-weight: 900; font-size: 1rem; flex-shrink: 0; }
.stat-num { font-variant-numeric: tabular-nums; }

/* ── Contact page ────────────────────────────────────────────── */
.expect-item         { border-left: 3px solid var(--pk-m); }
.calendly-inline-widget { min-width: 320px; height: 700px; }

/* ── Case Studies ────────────────────────────────────────────── */
.cs-card { background: var(--dark); border-radius: 1.75rem; padding: 1.75rem 2rem; margin: 2rem 0; overflow: hidden; position: relative; }
.cs-card::before { content: ''; position: absolute; top: -40px; right: -40px; width: 160px; height: 160px; background: radial-gradient(circle, rgba(242,75,167,.18) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
.cs-header { margin-bottom: 1.125rem; }
.cs-label { font-size: .6rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: var(--pk-m); margin-bottom: .35rem; }
.cs-title { font-size: 1.0625rem; font-weight: 900; color: white; line-height: 1.35; }
.cs-stat-row { display: flex; flex-wrap: wrap; gap: .625rem; margin: 1rem 0; }
.cs-stat { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: .875rem; padding: .625rem .875rem; text-align: center; flex: 1; min-width: 5rem; }
.cs-stat .val { font-size: 1.25rem; font-weight: 900; color: var(--pk-m); line-height: 1; margin-bottom: .2rem; }
.cs-stat .lbl { font-size: .65rem; color: rgba(255,255,255,.5); line-height: 1.4; font-weight: 500; }
.cs-body p { color: rgba(255,255,255,.65); font-size: .9rem; line-height: 1.75; margin-bottom: .75rem; }
.cs-body p:last-child { margin-bottom: 0; }
.cs-body a { color: var(--pk-m); font-weight: 600; text-underline-offset: 2px; text-decoration: underline; }
.cs-card.warning { background: #1a0a0a; }
.cs-card.warning::before { background: radial-gradient(circle, rgba(239,68,68,.18) 0%, transparent 70%); }
.cs-card.warning .cs-label { color: #f87171; }
.cs-card.warning .cs-stat .val { color: #f87171; }

.cs-table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 1.25rem; overflow: hidden; border: 1px solid rgba(217,217,217,.6); margin: 1.25rem 0; font-size: .875rem; }
.cs-table thead th { padding: .875rem 1.125rem; font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; background: var(--dark); border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.5); text-align: left; }
.cs-table tbody td { padding: .875rem 1.125rem; border-bottom: 1px solid rgba(217,217,217,.35); color: #374151; }
.cs-table tbody tr:last-child td { border-bottom: none; }
.cs-table tbody td:first-child { font-weight: 700; color: var(--dark); background: #fafafa; width: 45%; }
.cs-table tbody td:nth-child(2) { color: #059669; font-weight: 700; }

/* ── Download / Cheat Sheet ──────────────────────────────────── */
.code-badge { font-family: monospace; font-weight: 800; font-size: .8rem; padding: .25rem .65rem; border-radius: .5rem; min-width: 3.5rem; display: inline-block; text-align: center; }
.badge-2xx { background: rgba(34,197,94,.12);  color: #15803d; }
.badge-3xx { background: rgba(59,130,246,.12);  color: #1d4ed8; }
.badge-4xx { background: rgba(234,179,8,.12);   color: #a16207; }
.badge-5xx { background: rgba(239,68,68,.12);   color: #dc2626; }

.risk-dot { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 700; }
.risk-dot::before { content: ''; display: inline-block; width: .5rem; height: .5rem; border-radius: 999px; flex-shrink: 0; }
.risk-critical::before { background: #dc2626; }
.risk-high::before     { background: #f97316; }
.risk-medium::before   { background: #eab308; }
.risk-low::before      { background: #22c55e; }
.risk-none::before     { background: #94a3b8; }

.preview-card { background: white; border: 1px solid rgba(217,217,217,.6); border-radius: 1.5rem; overflow: hidden; box-shadow: 0 32px 80px rgba(0,0,0,.14), 0 0 0 1px rgba(0,0,0,.04); }

/* ── Pricing Calculator ──────────────────────────────────────── */
.calc-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(217,217,217,.5); }
.calc-row:last-child { border-bottom: none; }
.qty-btn { width: 2rem; height: 2rem; border-radius: .5rem; border: 1.5px solid rgba(217,217,217,.8); background: white; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.25rem; font-weight: 300; color: #374151; transition: border-color .15s, color .15s; }
.qty-btn:hover { border-color: var(--pk-m); color: var(--pk-m); }
.qty-display { width: 2.5rem; text-align: center; font-weight: 700; font-size: 1.125rem; }

/* ── 404 ─────────────────────────────────────────────────────── */
.four-oh-four {
  font-size: clamp(8rem, 25vw, 18rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, var(--pk-l) 0%, var(--pk-m) 60%, var(--pk-d) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.15;
  user-select: none;
  pointer-events: none;
}

/* ── AI-related components ───────────────────────────────────── */
.ai-callout { background: linear-gradient(135deg, rgba(242,121,143,.06) 0%, rgba(242,75,167,.06) 50%, rgba(242,29,185,.06) 100%); border: 1px solid rgba(242,75,167,.2); border-radius: 1.5rem; padding: 1.5rem 1.75rem; margin: 1.75rem 0; }
.ai-callout-label { font-size: .6rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: var(--pk-m); margin-bottom: .5rem; }
.ai-callout h3 { font-size: 1.0625rem; font-weight: 900; color: var(--dark); margin-bottom: .75rem; }
.ai-callout p { color: #475569; font-size: .9375rem; line-height: 1.8; margin-bottom: .75rem; }
.ai-callout p:last-child { margin-bottom: 0; }
.ai-crawlers { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .875rem; }
.ai-crawler-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .75rem; border-radius: 999px; background: rgba(242,75,167,.1); color: var(--pk-m); border: 1px solid rgba(242,75,167,.2); }
.ai-crawler-badge svg { width: .65rem; height: .65rem; }

/* ── Tables ──────────────────────────────────────────────────── */
.pillar-table,
.factor-table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 1.25rem; overflow: hidden; border: 1px solid rgba(217,217,217,.6); margin: 1.25rem 0; font-size: .875rem; }
.pillar-table thead th,
.factor-table thead th { padding: .875rem 1.125rem; font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; background: #fafafa; border-bottom: 1px solid rgba(217,217,217,.5); color: #94a3b8; text-align: left; }
.pillar-table tbody td,
.factor-table tbody td { padding: .875rem 1.125rem; border-bottom: 1px solid rgba(217,217,217,.35); color: #374151; vertical-align: top; }
.pillar-table tbody tr:last-child td,
.factor-table tbody tr:last-child td { border-bottom: none; }
.pillar-table tbody td:first-child { font-weight: 800; color: var(--dark); width: 28%; }
.factor-table tbody td:first-child  { font-weight: 900; color: var(--dark); width: 20%; }
.factor-table tbody td:nth-child(2) { width: 40%; }
.factor-table tbody td:nth-child(3) { width: 40%; color: #64748b; }

/* ── Pro Tip ─────────────────────────────────────────────────── */
.pro-tip { display: flex; align-items: flex-start; gap: .875rem; background: rgba(242,75,167,.06); border: 1px solid rgba(242,75,167,.2); border-radius: 1.25rem; padding: 1.125rem 1.375rem; margin: 1.25rem 0; }
.pro-tip-icon { width: 1.875rem; height: 1.875rem; border-radius: .5rem; flex-shrink: 0; background: var(--pk-m); display: flex; align-items: center; justify-content: center; margin-top: .05rem; }
.pro-tip-icon svg { width: .9rem; height: .9rem; color: white; }
.pro-tip-body p { color: #374151; font-size: .9rem; line-height: 1.75; margin: 0; }
.pro-tip-body strong { color: var(--dark); font-weight: 800; }

/* ── Audit Checklists ────────────────────────────────────────── */
.audit-section { background: white; border: 1px solid rgba(217,217,217,.6); border-radius: 1.25rem; overflow: hidden; margin-bottom: .75rem; }
.audit-section-header { display: flex; align-items: center; gap: .75rem; padding: .875rem 1.25rem; background: #fafafa; border-bottom: 1px solid rgba(217,217,217,.5); }
.audit-section-icon { width: 1.875rem; height: 1.875rem; border-radius: .5rem; flex-shrink: 0; background: rgba(242,75,167,.1); border: 1px solid rgba(242,75,167,.2); display: flex; align-items: center; justify-content: center; }
.audit-section-icon svg { width: .85rem; height: .85rem; color: var(--pk-m); }
.audit-section-header h3 { font-size: .875rem; font-weight: 900; color: var(--dark); margin: 0; }
.audit-section-body { padding: .875rem 1.25rem; }
.audit-row { display: flex; align-items: flex-start; gap: .7rem; padding: .35rem 0; border-bottom: 1px solid rgba(217,217,217,.3); }
.audit-row:last-child { border-bottom: none; }
.audit-check { width: 1.0625rem; height: 1.0625rem; border-radius: .325rem; flex-shrink: 0; background: rgba(242,75,167,.1); border: 1px solid rgba(242,75,167,.2); display: flex; align-items: center; justify-content: center; margin-top: .15rem; }
.audit-check svg { width: .55rem; height: .55rem; color: var(--pk-m); }
.audit-row span { font-size: .875rem; color: #374151; line-height: 1.6; font-weight: 500; }
.audit-row code { background: #f1f5f9; padding: .05rem .3rem; border-radius: .25rem; font-size: .8em; font-family: monospace; color: #0f172a; }

/* ── Step / Strategy patterns ────────────────────────────────── */
.strat-step,
.opt-step { border: 1px solid rgba(217,217,217,.6); border-radius: 1.5rem; overflow: hidden; margin-bottom: .875rem; }
.strat-step-header,
.opt-step-header { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.5rem; background: #fafafa; border-bottom: 1px solid rgba(217,217,217,.5); }
.strat-step-num,
.opt-step-num { width: 2rem; height: 2rem; border-radius: .6rem; flex-shrink: 0; background: linear-gradient(135deg, var(--pk-l), var(--pk-d)); display: flex; align-items: center; justify-content: center; color: white; font-size: .75rem; font-weight: 900; }
.strat-step-header h3,
.opt-step-header h3 { font-size: 1rem; font-weight: 900; color: var(--dark); margin: 0; }
.strat-step-body,
.opt-step-body { padding: 1.25rem 1.5rem; background: white; }
.strat-step-body p,
.opt-step-body p { color: #475569; font-size: .9375rem; line-height: 1.8; margin: 0; }
.strat-step-body p + p,
.opt-step-body p + p { margin-top: .75rem; }
.strat-step-body ul,
.opt-step-body ul { list-style: none; padding: 0; margin: .75rem 0 0; }
.strat-step-body ul li,
.opt-step-body ul li { display: flex; align-items: flex-start; gap: .6rem; color: #475569; font-size: .9375rem; line-height: 1.7; margin-bottom: .3rem; }
.strat-step-body ul li::before,
.opt-step-body ul li::before { content: ''; display: block; width: .4rem; height: .4rem; background: var(--pk-m); border-radius: 999px; margin-top: .55rem; flex-shrink: 0; }
.strat-step-body strong,
.opt-step-body strong { color: var(--dark); font-weight: 800; }
.strat-step-body code,
.opt-step-body code { background: #f1f5f9; padding: .1rem .35rem; border-radius: .3rem; font-size: .875em; font-family: monospace; color: #0f172a; }

/* ── Factor cards ────────────────────────────────────────────── */
.factor-card { background: white; border: 1px solid rgba(217,217,217,.6); border-radius: 1.25rem; padding: 1.25rem 1.5rem; margin-bottom: .75rem; display: flex; align-items: flex-start; gap: 1rem; }
.factor-num { min-width: 2rem; height: 2rem; border-radius: .6rem; flex-shrink: 0; background: linear-gradient(135deg, var(--pk-l), var(--pk-d)); display: flex; align-items: center; justify-content: center; color: white; font-size: .7rem; font-weight: 900; }
.factor-card-body strong { display: block; font-size: .9375rem; font-weight: 900; color: var(--dark); margin-bottom: .3rem; }
.factor-card-body p { color: #475569; font-size: .9rem; line-height: 1.75; margin: 0; }

/* ── Conversion Rate Strip ───────────────────────────────────── */
.cr-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: .625rem; margin: 1.25rem 0; }
@media (max-width: 600px) { .cr-strip { grid-template-columns: 1fr 1fr; } }
.cr-card { background: white; border: 1px solid rgba(217,217,217,.6); border-radius: 1.125rem; padding: 1rem; text-align: center; position: relative; overflow: hidden; }
.cr-card.winner { border-color: rgba(242,75,167,.3); background: rgba(242,75,167,.03); }
.cr-card .source { font-size: .6rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: #94a3b8; margin-bottom: .375rem; }
.cr-card.winner .source { color: var(--pk-m); }
.cr-card .rate { font-size: 1.5rem; font-weight: 900; color: var(--dark); line-height: 1; }
.cr-card.winner .rate { color: var(--pk-m); }
.cr-card .label { font-size: .7rem; color: #64748b; margin-top: .25rem; font-weight: 500; }
.winner-badge { position: absolute; top: .5rem; right: .5rem; font-size: .55rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; background: var(--pk-m); color: white; padding: .1rem .4rem; border-radius: 999px; }

/* ── Comparison strip ────────────────────────────────────────── */
.compare-strip { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0; border: 1px solid rgba(217,217,217,.6); border-radius: 1.25rem; overflow: hidden; margin: 1.5rem 0; }
@media (max-width: 600px) { .compare-strip { grid-template-columns: 1fr; } }
.compare-cell.left  { background: #f8fafc; }
.compare-cell.right { background: white; }
.compare-divider { display: flex; align-items: center; justify-content: center; background: white; border-left: 1px solid rgba(217,217,217,.5); border-right: 1px solid rgba(217,217,217,.5); padding: 0 .75rem; font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: #9ca3af; writing-mode: vertical-rl; }
@media (max-width: 600px) { .compare-divider { writing-mode: horizontal-tb; padding: .5rem 1.5rem; border-left: none; border-right: none; border-top: 1px solid rgba(217,217,217,.5); border-bottom: 1px solid rgba(217,217,217,.5); } }
.compare-cell .label { font-size: .6rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; margin-bottom: .4rem; }
.compare-cell.left  .label { color: #94a3b8; }
.compare-cell.right .label { color: var(--pk-m); }
.compare-cell .title { font-size: .9375rem; font-weight: 900; color: var(--dark); margin-bottom: .35rem; }
.compare-cell .desc  { font-size: .875rem; color: #475569; line-height: 1.65; }

/* ── Pipeline / Failure groups ───────────────────────────────── */
.pipeline-badge { display: inline-flex; align-items: center; gap: .5rem; font-size: .6rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: var(--pk-m); background: rgba(242,75,167,.08); border: 1px solid rgba(242,75,167,.2); border-radius: 999px; padding: .2rem .75rem; margin-bottom: .6rem; }
.pipeline-badge svg { width: .6rem; height: .6rem; }

.failure-group { border-radius: 1.5rem; overflow: hidden; margin: 1.75rem 0; }
.failure-group-header { padding: 1rem 1.5rem; display: flex; align-items: center; gap: .75rem; }
.failure-group-header h3 { font-size: 1rem; font-weight: 900; color: var(--dark); margin: 0; line-height: 1.3; }
.failure-group-header .stage-icon { width: 2rem; height: 2rem; border-radius: .6rem; background: rgba(242,75,167,.1); border: 1px solid rgba(242,75,167,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.failure-group-header .stage-icon svg { width: .9rem; height: .9rem; color: var(--pk-m); }
.failure-group-body { border-top: 1px solid rgba(217,217,217,.5); }
.failure-group-body p { color: #475569; font-size: .9375rem; line-height: 1.8; margin-bottom: 0; }
.failure-group-body p + p { margin-top: .75rem; }
.failure-group-body strong { color: var(--dark); font-weight: 800; }

/* ── GSC Status badge ────────────────────────────────────────── */
.gsc-status { display: inline-block; font-size: .7rem; font-weight: 700; background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; border-radius: .375rem; padding: .125rem .5rem; font-family: monospace; white-space: nowrap; }

/* ── Schema list ─────────────────────────────────────────────── */
.schema-list { list-style: none; padding: 0; margin: .75rem 0 0; }
.schema-list li { display: flex; align-items: flex-start; gap: .75rem; padding: .5rem 0; border-bottom: 1px solid rgba(217,217,217,.35); font-size: .9rem; color: #374151; line-height: 1.6; font-weight: 500; }
.schema-list li:last-child { border-bottom: none; }
.schema-list li .schema-icon { width: 1.125rem; height: 1.125rem; border-radius: .35rem; background: rgba(242,75,167,.1); border: 1px solid rgba(242,75,167,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: .1rem; }
.schema-list li .schema-icon svg { width: .6rem; height: .6rem; color: var(--pk-m); }
.schema-list li code { background: #f1f5f9; padding: .05rem .3rem; border-radius: .25rem; font-size: .8em; font-family: monospace; color: #0f172a; }

/* ── Entity items ────────────────────────────────────────────── */
.entity-item { background: white; border: 1px solid rgba(217,217,217,.6); border-radius: 1.25rem; padding: 1.25rem 1.5rem; margin-bottom: .75rem; }
.entity-item-label { font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: var(--pk-m); margin-bottom: .35rem; }
.entity-item p { color: #475569; font-size: .9375rem; line-height: 1.8; margin-bottom: 0 !important; }
.entity-item strong { color: var(--dark); }

/* ── Compound callout ────────────────────────────────────────── */
.compound-callout { background: linear-gradient(135deg, rgba(242,121,143,.07) 0%, rgba(242,75,167,.07) 50%, rgba(242,29,185,.07) 100%); border: 1px solid rgba(242,75,167,.2); border-radius: 1.5rem; padding: 1.5rem 1.75rem; margin: 1.75rem 0; }
.compound-callout p { color: #374151; font-size: .9375rem; line-height: 1.8; margin: 0; }
.compound-callout p + p { margin-top: .75rem; }
.compound-callout strong { color: var(--dark); }

/* ── Why cards ───────────────────────────────────────────────── */
.why-card { display: flex; gap: 1rem; align-items: flex-start; border-radius: 1.25rem; padding: 1.25rem 1.5rem; margin-bottom: .75rem; }
.why-num { min-width: 1.875rem; height: 1.875rem; border-radius: .5rem; flex-shrink: 0; color: var(--pk-m); font-size: .7rem; font-weight: 900; }
.why-card-body strong { display: block; font-size: .9375rem; font-weight: 900; color: var(--dark); margin-bottom: .3rem; }
.why-card-body p { color: #475569; font-size: .9rem; line-height: 1.75; margin: 0; }
.why-card-body code { background: #f1f5f9; padding: .1rem .35rem; border-radius: .3rem; font-size: .8em; font-family: monospace; color: #0f172a; }

/* ── Exclusion cards ─────────────────────────────────────────── */
.exclusion-card { display: flex; align-items: flex-start; gap: 1rem; }
.exclusion-icon { width: 2.25rem; height: 2.25rem; border-radius: .75rem; flex-shrink: 0; background: rgba(242,75,167,.08); border: 1px solid rgba(242,75,167,.18); display: flex; align-items: center; justify-content: center; margin-top: .05rem; }
.exclusion-icon svg { width: 1rem; height: 1rem; color: var(--pk-m); }
.exclusion-card-body p { color: #475569; font-size: .9375rem; line-height: 1.8; margin: 0; }
.exclusion-card-body strong { color: var(--dark); font-weight: 900; display: block; margin-bottom: .25rem; }

/* ── Finding cards ───────────────────────────────────────────── */
.finding-card { background: var(--bg); border: 1px solid rgba(217,217,217,.5); border-radius: 1.25rem; padding: 1.25rem; }
.finding-number { font-size: 2rem; font-weight: 900; line-height: 1; }

/* ── Prose body ──────────────────────────────────────────────── */
.prose-body p { color: #64748b; line-height: 1.75; margin-bottom: 1rem; }
.prose-body h3 { font-weight: 900; font-size: 1.125rem; color: var(--dark); margin-bottom: .5rem; margin-top: 1.75rem; }
.prose-body ul { list-style: none; padding: 0; margin-bottom: 1rem; }
.prose-body ul li { display: flex; align-items: flex-start; gap: .6rem; color: #64748b; font-size: .875rem; line-height: 1.7; margin-bottom: .35rem; }
.prose-body ul li::before { content: ''; display: block; width: .5rem; height: .5rem; background: var(--pk-m); border-radius: 999px; margin-top: .45rem; flex-shrink: 0; }
