/* Shared brand primitives only. Each product owns its composition. */
.product-story-site {
  background: var(--pl-paper);
}
.product-story {
  --story-line: rgba(11, 74, 60, 0.2);
  color: var(--pl-ink);
}
.product-story .pl-shell {
  width: min(1240px, calc(100% - 80px));
}
.product-story h1,
.product-story h2,
.product-story h3 {
  font-family: var(--pl-font-sans);
  letter-spacing: -0.045em;
}
.product-story h2 {
  font-size: clamp(32px, 3.3vw, 48px);
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 24px;
}
.product-story h3 {
  font-size: 24px;
  line-height: 1.25;
  font-weight: 600;
  margin: 0 0 14px;
}
.product-story p {
  line-height: 1.75;
}
.product-story figure {
  margin: 0;
  min-width: 0;
}
.product-story img {
  display: block;
  width: 100%;
  height: auto;
}
.product-story figcaption {
  font-size: 12px;
  line-height: 1.7;
  margin-top: 14px;
  color: var(--pl-muted);
}
.product-story .pl-button {
  white-space: nowrap;
  border-radius: 7px;
  min-height: 50px;
  font-size: 14px;
  box-shadow: none;
}
.product-story a:focus-visible,
.product-story button:focus-visible,
.product-story summary:focus-visible {
  outline: 3px solid var(--pl-forest-700);
  outline-offset: 4px;
}
.product-story [hidden] {
  display: none !important;
}
.product-story [data-story-faq] {
  padding: 88px 0;
  background: var(--pl-paper);
}
.product-story .mk-faq-item summary {
  font-size: 16px;
}
.product-story .mk-faq-item p {
  font-size: 14px;
  color: var(--pl-muted);
}
.product-story [data-story-faq] a {
  color: var(--pl-forest-800);
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  gap: 10px;
  align-items: center;
}
.product-story [data-story-faq] a svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.product-story-site .pl-footer-bottom,
.product-story-site .pl-footer-bottom p,
.product-story-site .pl-footer-bottom a,
.product-story-site .pl-footer-bottom .mk-listing-badge span {
  color: #bdcec6;
}
.product-story-site .pl-footer-bottom a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
}
@media (max-width: 820px) {
  .product-story .pl-shell {
    width: calc(100% - 48px);
  }
  .product-story [data-story-faq] {
    padding: 64px 0;
  }
}
@media (max-width: 640px) {
  .product-story .pl-shell {
    width: calc(100% - 36px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-story *,
  .product-story *::before,
  .product-story *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
