/* Landing typography and Forma icons. Scoped to marketing, including both themes. */
.p-marketing[data-pulso="marketing"] :is(h1,h2,h3),
.p-marketing .p-story-step-card strong { letter-spacing:normal; }
.p-marketing .p-marketing-hero h1 { font-size:48px; line-height:1.1; }
.p-marketing .p-marketing-hero .p-marketing-intro { font-size:16px; }
.p-marketing .p-marketing-small { font-size:14px; line-height:1.65; }
.p-marketing .p-marketing-hero .p-marketing-small { font-size:14px; max-width:none; }
.p-marketing .p-button.primary {
  font:800 18px/1.4 var(--p-font-body);
  min-height:48px;
  padding:10px 18px;
  gap:8px;
  display:inline-flex;
  width:auto;
  max-width:100%;
  flex:0 0 auto;
  background:var(--p-highlight);
  color:var(--p-highlight-ink);
  border-color:transparent;
  white-space:normal;
  text-align:center;
}
.p-marketing .p-button.primary > span { min-width:0; }
/* Keep the marketing color and geometry through pointer and keyboard states. */
.p-marketing .p-button.primary:hover { background:var(--p-color-lime-hover); border-color:transparent; }
.p-marketing .p-button.primary:active { background:var(--p-highlight); border-color:transparent; transform:none; }
/* Secondary hero action: a white text link with the existing chevron. */
.p-marketing .p-marketing-hero .p-hero-secondary {
  color:var(--p-color-white);
  background:transparent;
  border:0;
  box-shadow:none;
  padding:12px;
  min-height:44px;
  font-size:14px;
  font-weight:600;
  gap:8px;
  flex:0 0 auto;
  text-decoration:none;
}
.p-marketing .p-marketing-hero .p-hero-secondary:is(:hover,:active) {
  color:var(--p-color-white);
  background:transparent;
  border:0;
  transform:none;
}
.p-marketing .p-marketing-hero .p-hero-secondary:hover > span {
  text-decoration:underline;
  text-underline-offset:4px;
}
@media(min-width:821px) {
  .p-marketing .p-button.primary { min-height:50px; padding:16px 40px; font-weight:700; }
  .p-marketing-hero .p-marketing-actions { align-items:center; }
}
.p-marketing :is(.p-marketing-leagues p,.p-marketing-leagues li,.p-launch-match-league) { font-size:14px; }
.p-marketing .p-launch-match-cta { font-size:18px; gap:8px; }
.p-marketing .p-marketing-text-link { display:inline-flex; align-items:center; gap:4px; }
.p-marketing .p-marketing-chevron { flex:none; display:inline-block; vertical-align:middle; }
.p-marketing svg.p-marketing-chevron-16 { width:16px; height:16px; }
.p-marketing svg.p-marketing-chevron-20 { width:20px; height:20px; }
.p-marketing svg.p-marketing-chevron-24 { width:24px; height:24px; }
.p-marketing .p-story-step-card { padding:12px 16px; grid-template-columns:36px 1fr 16px; }
.p-marketing .p-story-step-card strong { font-size:18px; line-height:1.4; }
.p-marketing .p-story-step-number { font-size:24px; line-height:1.4; }
.p-marketing .p-story-step-arrow { align-self:center; display:flex; }
.p-marketing .p-marketing-final { padding-inline:24px; }
@media(max-width:820px) {
  .p-marketing-hero .p-marketing-actions { flex-direction:column; align-items:stretch; gap:4px; margin-bottom:8px; }
  .p-marketing .p-marketing-hero .p-button.primary { width:100%; flex-grow:0; }
  .p-marketing .p-marketing-hero .p-hero-secondary { align-self:center; padding:8px; }
  .p-hero-visual-heading { display:none; }
  .p-hero-visual { margin-top:8px; }
  .p-hero-data { margin-top:0; }
}
@media(max-width:760px) {
  .p-marketing .p-marketing-final { padding:36px 24px; }
  .p-marketing :is(.p-marketing-final,.p-launch-section) .p-button.primary { width:100%; }
  .p-story-steps { grid-template-columns:repeat(3,minmax(max-content,1fr)); overflow-x:auto; scroll-snap-type:x proximity; padding:4px; margin-inline:-4px; }
  .p-story-step { scroll-snap-align:center; }
  .p-marketing .p-story-step-card { gap:6px; }
  .p-marketing .p-story-step-card strong { white-space:nowrap; }
  .p-marketing .p-story-step-arrow { display:none; }
}
