.elementor-129 .elementor-element.elementor-element-12051ce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-12051ce *//**
 * AmazonSellersAppeal: main page body CSS (#main-content). Pair with:
 *   amazonsellersappeal-premium-header.css + amazonsellersappeal-premium-footer.css
 * Design tokens: https://css-tricks.com/a-complete-guide-to-custom-properties/
 * Carousel: scroll-snap (https://css-tricks.com/how-to-make-a-css-only-carousel/)
 * Reduced motion: https://css-tricks.com/revisiting-prefers-reduced-motion/
 * Scroll-driven section heads: https://css-tricks.com/unleash-the-power-of-scroll-driven-animations/ (Chrome/Safari 18.2+; degrades)
 * Gradient borders (proof strip): https://css-tricks.com/gradient-borders-in-css/
 * Counters: JS (initHeroCounters); CSS counters: https://css-tricks.com/styling-counters-in-css/
 *
 * PageSpeed: compositor-friendly animations (will-change, outline vs box-shadow),
 * transitions on transform/opacity only where animated.
 *
 * Section mapping (HTML id → CSS class): paste into matching Section Advanced:
 * #top                    .sa-sec-hero
 * #what-is-asa-compliance-group .sa-sec-entity
 * #problem                .sa-sec-problem
 * #keywords-guide         .sa-sec-keywords-guide
 * #about                  .sa-sec-about
 * #proof                  .sa-sec-proof
 * #case-studies           .sa-sec-case-studies
 * #testimonials           .sa-sec-testimonials
 * #videos                 .sa-sec-videos
 * #media                  .sa-sec-media
 * #why-reinstatement-happens .sa-sec-mechanism
 * #why-appeals-fail       .sa-sec-appeals-fail
 * #strategy-review        .sa-sec-strategy
 * #premium-pricing        .sa-sec-pricing
 * #included               .sa-sec-included
 * #suspension-types       .sa-sec-types (service URLs: add .sa-sec-types--service-nav + .sa-types-cards--service-nav on hub grid)
 * #lawyer                 .sa-sec-lawyer
 * #faq                    .sa-sec-faq
 * #contact                .sa-sec-contact (section id; in-page CTAs use #sa-contact-form-slot)
 *
 * Shared: .sa-premium (main wrapper), .sa-wrap, .sa-sec-head, .sa-card, etc.
 *
 * Site header/footer live in separate partials; scroll-margin still clears the sticky bar when header partial is loaded.
 */
.sa-premium-page {
  padding-top: 0;
}
.sa-premium [id] {
  scroll-margin-top: 90px;
}
:root {
  /* === Colors === */
  --sa-ink: #334155;
  /* Body / secondary: solid slate for WCAG AA contrast on white & soft backgrounds */
  --sa-text: #334155;
  --sa-muted: #5c6570;
  --sa-text-strong: #1e293b;
  /* Prose links: distinguish from surrounding text (1.4.1); ≥4.5:1 on white */
  --sa-link: #b45309;
  --sa-link-hover: #92400e;
  --sa-line: rgba(51, 65, 85, 0.06);
  --sa-line-strong: rgba(51, 65, 85, 0.1);
  --sa-soft: #f8f9fb;
  --sa-soft-2: #eef1f5;
  --sa-bg: #fff;
  --sa-bg-page: #f0f2f5;
  --sa-skip-bg: #1a365d;
  --sa-risk-bg: rgba(255, 243, 243, 0.5);

  /* Accent (orange brand) */
  --sa-accent: #e86b0c;
  --sa-accent-original: #f26c0f;
  --sa-accent-2: #ff9f4d;

  /* Gold (testimonial cards: stars, left frame) */
  --sa-gold: #d8bc6a;

  /* === Spacing (8px base) === */
  --sa-space-xs: 0.25rem;
  --sa-space-sm: 0.375rem;
  --sa-space-md: 1rem;
  --sa-space-lg: 1.5rem;
  --sa-space-xl: 2rem;
  --sa-space-2xl: 2.5rem;

  /* === Border radius === */
  --sa-r-sm: 12px;
  --sa-r-md: 16px;
  --sa-r-lg: 24px;

  /* === Shadows (layered, one light source 1:2 ratio, color-matched to ink) === */
  --sa-shadow-hsl: 218 20% 18%;
  --sa-shadow-sm:
    1px 2px 2px hsl(var(--sa-shadow-hsl) / 0.06),
    2px 4px 4px hsl(var(--sa-shadow-hsl) / 0.05),
    4px 8px 8px hsl(var(--sa-shadow-hsl) / 0.04);
  --sa-shadow-md:
    1px 2px 2px hsl(var(--sa-shadow-hsl) / 0.08),
    2px 4px 4px hsl(var(--sa-shadow-hsl) / 0.06),
    4px 8px 8px hsl(var(--sa-shadow-hsl) / 0.05),
    8px 16px 16px hsl(var(--sa-shadow-hsl) / 0.04);
  --sa-shadow-lg:
    1px 2px 2px hsl(var(--sa-shadow-hsl) / 0.06),
    2px 4px 4px hsl(var(--sa-shadow-hsl) / 0.05),
    4px 8px 8px hsl(var(--sa-shadow-hsl) / 0.05),
    8px 16px 16px hsl(var(--sa-shadow-hsl) / 0.04),
    16px 32px 32px hsl(var(--sa-shadow-hsl) / 0.04);
  --sa-shadow-accent:
    1px 2px 4px hsl(24 85% 45% / 0.15),
    4px 8px 16px hsl(24 85% 45% / 0.12);

  /* === Layout (aligned across header, main, footer) === */
  --sa-max: 1200px;
  --sa-max-wide: 1400px;
  --sa-max-read: 980px;
  --sa-hero-read: 680px;
  --sa-checklist-max-height: 420px;
  --sa-scroll-offset: 6.25rem; /* sticky header + padding for anchor targets */

  /* Tiled section backgrounds (subtle; layered over zebra / section fills) */
  --sa-bg-pat-tic: url('https://amazonsellersappeal.com/wp-content/uploads/2024/08/tic-tac-toe.webp');
  --sa-bg-pat-round: url('https://amazonsellersappeal.com/wp-content/uploads/2024/08/round.png');
  --sa-bg-pat-dot: url('https://amazonsellersappeal.com/wp-content/uploads/2024/08/dot-grid.webp');
  --sa-bg-pat-waves: url('https://amazonsellersappeal.com/wp-content/uploads/2024/08/white-waves.webp');
  --sa-bg-pat-opacity: 0.44;

  /* === Typography (optional heading font) === */
  --sa-font-heading: 'Playfair Display', Georgia, serif;

  /* === Motion (respect prefers-reduced-motion) === */
  --duration-fast: 140ms;
  --duration-normal: 260ms;
  --duration-slow: 420ms;
  --sa-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sa-ease-out: cubic-bezier(0.33, 1, 0.68, 1);

  /* Fluid body scale (CSS-Tricks: clamp for responsive type) */
  --sa-font-body: clamp(15px, 0.88rem + 0.35vw, 17px);
  /* Frosted header: solid fallback overridden when backdrop-filter applies */
  --sa-header-glass: rgba(255, 255, 255, 0.78);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-normal: 0ms;
    --duration-slow: 0ms;
  }
}

/* =========================================================
 Card component pattern (CSS-Tricks: intrinsic layout, object-fit)
 https://css-tricks.com/how-to-make-a-media-query-less-card-component/
 ========================================================= */
.sa-card {
  display: flex;
  flex-direction: column;
  background: var(--sa-bg);
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-r-md);
  overflow: hidden;
  box-shadow: var(--sa-shadow-sm);
  transition: box-shadow var(--duration-normal) var(--sa-ease),
    transform var(--duration-normal) var(--sa-ease),
    border-color var(--duration-normal) var(--sa-ease);
}
.sa-card:hover {
  box-shadow: var(--sa-shadow-md);
  border-color: var(--sa-line-strong);
}
.sa-card-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
.sa-card-body {
  padding: var(--sa-space-md) var(--sa-space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--sa-space-sm);
  flex: 1;
}
.sa-card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--sa-ink);
  margin: 0;
  line-height: 1.3;
}
.sa-card-text {
  font-size: 0.95rem;
  color: var(--sa-text);
  line-height: 1.55;
  margin: 0;
}

/* Sub-page bar: logo centered, Back = CTA style (no header/footer on sub-pages) */
.sa-subpage-bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 16px 24px;
  background: #fff;
  border-bottom: 1px solid var(--sa-line);
  position: sticky;
  top: 0;
  z-index: 100;
}
.sa-subpage-bar .sa-subpage-back {
  justify-self: start;
}
.sa-subpage-bar .sa-subpage-logo {
  display: block;
  line-height: 0;
  justify-self: center;
}
.sa-subpage-bar .sa-subpage-logo img {
  height: 72px;
  width: auto;
  max-width: 320px;
  object-fit: contain;
}
.sa-subpage-bar .sa-subpage-bar-spacer {
  justify-self: end;
  min-width: 0;
}

/* CTA styles for subpage bar (matches .sa-premium .sa-btn-secondary) */
.sa-subpage-bar .sa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 1rem 2rem;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  border-radius: 12px 50px 12px 50px;
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  transition: transform var(--duration-normal) var(--sa-ease), border-color var(--duration-normal) var(--sa-ease), color var(--duration-normal) var(--sa-ease), background var(--duration-normal) var(--sa-ease);
}
.sa-subpage-bar .sa-btn-secondary {
  background: transparent;
  border: 1px solid var(--sa-line);
  color: var(--sa-muted) !important;
  box-shadow: none;
  font-weight: 400;
  font-size: 11px;
  padding: 0.35rem 0.65rem;
  min-height: 44px;
}
.sa-subpage-bar .sa-btn-secondary:hover {
  color: var(--sa-text) !important;
  border-color: var(--sa-line);
}
.sa-subpage-bar .sa-subpage-back {
  padding: 0.5rem 1rem;
  font-size: 13px;
}

@media (max-width: 480px) {
  .sa-subpage-bar { padding: 12px 16px; }
  .sa-subpage-bar .sa-subpage-logo img { height: 56px; max-width: 240px; }
}

.sa-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 24px 0;
  font-size: 0.9rem;
  color: var(--sa-muted);
}
.sa-breadcrumb a {
  color: var(--sa-accent-original);
  text-decoration: none;
}
.sa-breadcrumb a:hover { text-decoration: underline; }
.sa-breadcrumb span:last-child { color: var(--sa-text); }

/* #problem .sa-sec-problem */
.sa-premium .sa-sec-problem {
  background: #fff;
}
.sa-premium .sa-sec-problem .sa-h2 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(20px, 2.2vw, 24px);
  letter-spacing: -0.01em;
  color: var(--sa-ink);
}
/* Container query: grid responds to section width, not viewport */
.sa-premium .sa-sec-problem {
  container-type: inline-size;
  container-name: problem-section;
}
.sa-premium .sa-sec-problem .sa-problem-grid {
  margin-top: var(--sa-space-xl);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sa-space-xl);
}
@container problem-section (max-width: 980px) {
  .sa-premium .sa-sec-problem .sa-problem-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@container problem-section (max-width: 500px) {
  .sa-premium .sa-sec-problem .sa-problem-grid {
    grid-template-columns: 1fr;
  }
}
.sa-premium .sa-sec-problem .sa-problem-card {
  background: var(--sa-soft);
  border: 1px solid var(--sa-line);
  border-left: 3px dotted var(--sa-accent-original);
  border-radius: 18px;
  padding: 24px 26px 24px 30px;
  box-shadow: var(--sa-shadow-sm);
  transition: transform var(--duration-normal) var(--sa-ease), box-shadow var(--duration-normal) var(--sa-ease);
}
.sa-premium .sa-sec-problem .sa-problem-card:hover,
.sa-premium .sa-sec-problem .sa-problem-card:focus-within {
  transform: translateY(-6px);
  box-shadow: var(--sa-shadow-md);
}
.sa-premium .sa-sec-problem .sa-problem-card h3 {
  font-family: inherit;
  font-size: 17px;
  font-weight: 500;
  margin: 0 0 10px 0;
  color: var(--sa-ink);
}
.sa-premium .sa-sec-problem .sa-problem-card h3 .sa-num {
  color: var(--sa-accent-original);
  font-weight: 700;
}
.sa-premium .sa-sec-problem .sa-problem-card p {
  margin: 0;
  font-size: 0.98rem;
  color: var(--sa-text);
  line-height: 1.65;
}
.sa-premium .sa-sec-problem .sa-problem-card .sa-problem-card-bridge {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed rgba(15, 23, 42, 0.12);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--sa-ink);
  line-height: 1.55;
}
.sa-premium .sa-problem-rejected {
  margin: 16px 0 0 0;
  font-weight: 600;
  color: var(--sa-accent-original);
  font-size: 1rem;
}
.sa-premium .sa-problem-24h {
  margin: 8px 0 0 0;
  font-size: 0.95rem;
}
.sa-premium .sa-problem-24h a {
  color: var(--sa-accent-original);
  font-weight: 600;
  text-decoration: none;
}
.sa-premium .sa-problem-24h a:hover {
  text-decoration: underline;
}
/* =========================================================
 AmazonSellersAppeal Premium - Design system + main page sections
 Scope: .sa-premium (header/footer/FAB: separate HTML + CSS partials)
========================================================= */

/* Page background so content has depth */
body { background: var(--sa-bg-page); }

.sa-premium {
  /* Design tokens defined in :root above */
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: var(--sa-font-body);
  line-height: 1.62;
  color: var(--sa-ink);
  background: var(--sa-bg);

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Line breaks at word boundaries only; no automatic hyphenation mid-word */
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
}
.sa-premium p {
  hyphens: inherit;
  overflow-wrap: normal;
  word-break: normal;
}

.sa-premium,
.sa-premium * { box-sizing: border-box; }

.sa-premium h1,
.sa-premium h2,
.sa-premium h3,
.sa-premium .sa-h1,
.sa-premium .sa-h2,
.sa-premium .sa-h3 {
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  color: var(--sa-ink);
}
.sa-premium .sa-h2 { font-weight: 500; }
.sa-premium h3 { font-weight: 500; }

.sa-premium img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.sa-premium .sa-wrap {
  width: min(var(--sa-max), 92%);
  margin-left: auto;
  margin-right: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
}
/* Prevent overlapping content: contain overflow */
.sa-premium-page {
  overflow-x: hidden;
}
.sa-premium .sa-videos-grid > *,
.sa-premium .sa-proof-grid > *,
.sa-premium .sa-framework > *,
.sa-premium .sa-types-cards > * {
  min-width: 0;
}

/* Spacing and layout utilities */
.sa-premium .sa-mt-sm { margin-top: var(--sa-space-sm); }
.sa-premium .sa-mt-md { margin-top: var(--sa-space-md); }
.sa-premium .sa-mt-lg { margin-top: var(--sa-space-lg); }
.sa-premium .sa-mt-xl { margin-top: var(--sa-space-xl); }
.sa-premium .sa-max-w-980 { max-width: var(--sa-max-read); }

/* Base section rhythm: breathing room; heavy sections get more space so pacing isn’t rushed */
.sa-premium .sa-sec {
  padding: 100px 0;
  position: relative;
  isolation: isolate;
}
.sa-premium .sa-sec > * {
  position: relative;
  z-index: 1;
}
.sa-premium .sa-sec-hero,
.sa-premium .sa-sec-contact { padding: 120px 0; }
.sa-premium .sa-sec-mechanism,
.sa-premium .sa-sec-appeals-fail { padding: 80px 0; }
@media (max-width: 900px) {
  .sa-premium .sa-sec { padding: 72px 0; }
  .sa-premium .sa-sec-hero,
  .sa-premium .sa-sec-contact { padding: 88px 0; }
  .sa-premium .sa-sec-mechanism,
  .sa-premium .sa-sec-appeals-fail { padding: 64px 0; }
}

/* Smooth scroll + offset for sticky header (replaces JS anchor scroll) */
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--sa-scroll-offset);
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Anchor scroll targets: offset so sticky header does not cover section headings */
#main-content,
.sa-premium section[id],
.sa-premium #sa-contact-form-slot {
  scroll-margin-top: var(--sa-scroll-offset);
}
.sa-premium .sa-sec-mechanism,
.sa-premium .sa-sec-appeals-fail,
.sa-premium .sa-sec-strategy,
.sa-premium .sa-sec-pricing,
.sa-premium .sa-sec-types {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-mechanism,
  .sa-premium .sa-sec-appeals-fail,
  .sa-premium .sa-sec-strategy,
  .sa-premium .sa-sec-pricing,
  .sa-premium .sa-sec-types {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}

/* Section separators: single consistent rule (control) */
.sa-premium-page > section.sa-sec {
  border-bottom: 1px solid var(--sa-line);
}
.sa-premium-page > section.sa-sec:nth-of-type(even) {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 55%);
}
.sa-premium-page > section.sa-sec:nth-of-type(odd) {
  background: #fff;
}
.sa-premium-page > section.sa-sec:last-of-type {
  border-bottom: 0;
}

/* Section tiled patterns (::before over section background; content stays above) */
.sa-premium .sa-sec::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: var(--sa-bg-pat-opacity);
  background-repeat: repeat;
  background-position: 0 0;
}
.sa-premium .sa-sec-hero::before {
  background-image: var(--sa-bg-pat-waves);
  background-size: 480px auto;
}
.sa-premium .sa-sec-problem::before {
  background-image: var(--sa-bg-pat-tic);
  background-size: 280px auto;
}
.sa-premium .sa-sec-keywords-guide::before {
  background-image: var(--sa-bg-pat-dot);
  background-size: 240px auto;
}
.sa-premium .sa-sec-entity::before {
  background-image: var(--sa-bg-pat-dot);
  background-size: 220px auto;
  opacity: calc(var(--sa-bg-pat-opacity) * 0.92);
}
.sa-premium .sa-sec-about::before {
  background-image: var(--sa-bg-pat-round);
  background-size: 380px auto;
}
.sa-premium .sa-sec-proof::before {
  background-image: var(--sa-bg-pat-dot);
  background-size: 240px auto;
}
.sa-premium .sa-sec-case-studies::before {
  background-image: var(--sa-bg-pat-waves);
  background-size: 480px auto;
}
.sa-premium .sa-sec-testimonials::before {
  background-image: var(--sa-bg-pat-tic);
  background-size: 280px auto;
}
.sa-premium .sa-sec-videos::before {
  background-image: var(--sa-bg-pat-dot);
  background-size: 240px auto;
}
.sa-premium .sa-sec-media::before {
  background-image: var(--sa-bg-pat-round);
  background-size: 380px auto;
}
.sa-premium .sa-sec-mechanism::before {
  background-image: var(--sa-bg-pat-waves);
  background-size: 480px auto;
}
.sa-premium .sa-sec-appeals-fail::before {
  opacity: 0.26;
  background-image: var(--sa-bg-pat-dot);
  background-size: 240px auto;
}
.sa-premium .sa-sec-strategy::before {
  background-image: var(--sa-bg-pat-tic);
  background-size: 280px auto;
}
.sa-premium .sa-sec-pricing::before {
  background-image: var(--sa-bg-pat-round);
  background-size: 380px auto;
}
.sa-premium .sa-sec-included::before {
  background-image: var(--sa-bg-pat-dot);
  background-size: 240px auto;
}
.sa-premium .sa-sec-types::before {
  background-image: var(--sa-bg-pat-waves);
  background-size: 480px auto;
}
.sa-premium .sa-sec-lawyer::before {
  background-image: var(--sa-bg-pat-tic);
  background-size: 280px auto;
}
.sa-premium .sa-sec-faq::before {
  background-image: var(--sa-bg-pat-round);
  background-size: 380px auto;
}
.sa-premium .sa-sec-contact::before {
  background-image: var(--sa-bg-pat-waves);
  background-size: 480px auto;
}
@media (prefers-contrast: more) {
  .sa-premium .sa-sec::before {
    opacity: 0.14;
  }
  .sa-premium .sa-sec-appeals-fail::before {
    opacity: 0.1;
  }
}

/* Hero vertical padding: set with .sa-sec-hero block below (matches SellerAppeal rhythm) */
/* Keyword guide band: explicit background so nth-of-type striping stays predictable */
.sa-premium-page > section.sa-sec.sa-sec-keywords-guide {
  padding: 88px 0 96px;
  background: linear-gradient(180deg, #ffffff 0%, var(--sa-soft) 42%, #ffffff 100%);
}
.sa-premium .sa-sec-keywords-guide .sa-sec-head {
  margin-bottom: 0;
}
.sa-premium .sa-sec-about { padding: 100px 0; }
.sa-premium .sa-sec-appeals-fail { padding: 100px 0; }
.sa-premium .sa-sec-contact { padding: 100px 0; }

/* Head blocks: more space below so content breathes */
.sa-premium .sa-sec-head { max-width: 920px; margin-bottom: var(--sa-space-md); }
.sa-premium .sa-sec-head .sa-h2 { margin-bottom: 0; }
.sa-premium .sa-sec-head .sa-lead { margin-top: 12px; }

/* =========================================================
 H1 / H2 / H3: Orange: ONE STRICT RULE
 Orange ONLY for: (1) primary CTAs (buttons/FAB), (2) hero title .sa-hero-title-accent,
   (3) proof 98% value and its card left border, (4) takeover flow spine and step markers.
 No orange on: section framing, rails, H2 bars, generic cards, contact container, secondary emphasis.
========================================================= */

/* H2: section anchor; subtle left accent, not a heavy divider */
.sa-premium .sa-h2 {
  font-family: var(--sa-font-heading);
  margin: 0 0 0 0;
  line-height: 1.35;
  letter-spacing: -0.01em;
  text-wrap: balance;
  color: var(--sa-ink);
  border-left: 2px solid var(--sa-accent-original);
  padding-left: 14px;
  margin-left: 0;
  font-weight: 500;
  font-size: clamp(18px, 1.8vw, 22px);
}
.sa-premium .sa-h2 .sa-accent { color: var(--sa-accent-original); font-weight: 600; }
@media (max-width: 600px) {
  .sa-premium .sa-h2 { font-size: clamp(18px, 4.5vw, 22px); line-height: 1.4; }
}

.sa-premium .sa-lead {
  margin: 10px 0 0 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sa-text);
  font-weight: 400;
  text-wrap: balance;
}
@media (max-width: 900px) { .sa-premium .sa-lead { font-size: 0.95rem; line-height: 1.6; } }
@media (max-width: 600px) { .sa-premium .sa-lead { font-size: 1rem; } }

.sa-premium p {
  margin: 0 0 16px 0;
  color: var(--sa-text);
  line-height: 1.65;
  font-size: 1em;
  font-weight: 400;
}
.sa-premium p:last-child { margin-bottom: 0; }

/* H1: two-line stack: question line + ownership line (LCP: first line paints fast) */
.sa-premium .sa-hero-title {
  font-family: var(--sa-font-heading);
  margin: 3rem 0 0.75rem 0;
  padding-bottom: 0.4em;
  border-bottom: 1px solid var(--sa-line);
  text-wrap: balance;
  color: var(--sa-ink);
  position: relative;
  display: block;
  font-weight: 700;
}
.sa-premium .sa-hero-title-q {
  display: block;
  font-size: clamp(44px, 6.8vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.03em;
}
.sa-premium .sa-hero-title-line {
  display: block;
  margin-top: 0.22em;
  font-size: clamp(26px, 4.6vw, 52px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: var(--sa-ink);
}
.sa-premium .sa-case-strip + .sa-hero-title {
  margin-top: 1.35rem;
}
@media (max-width: 600px) {
  .sa-premium .sa-hero-title { margin: 2rem 0 0.5rem 0; }
  .sa-premium .sa-case-strip + .sa-hero-title { margin-top: 1.1rem; }
  .sa-premium .sa-hero-title-q {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.1;
  }
  .sa-premium .sa-hero-title-line {
    font-size: clamp(22px, 6.2vw, 32px);
    line-height: 1.12;
    margin-top: 0.28em;
  }
}
.sa-premium .sa-hero-emotional {
  margin: 0 0 1rem 0;
  font-size: 1.06rem;
  font-weight: 600;
  color: var(--sa-accent-original);
  line-height: 1.45;
  max-width: 52ch;
}
.sa-premium .sa-hero-title-accent {
  color: var(--sa-accent-original);
  font-weight: 600;
  display: inline-block;
  position: relative;
}
/* Glowing line under accent word (e.g. suspended) */
.sa-premium .sa-hero-title-accent::after {
  content: "";
  display: block;
  width: 120%;
  margin-left: -10%;
  margin-top: 0.2em;
  height: 5px;
  background: linear-gradient(90deg, transparent, var(--sa-accent-original), transparent);
  border-radius: 3px;
  opacity: 0.8;
}

/* H3: structural; orange left bar for emphasis */
.sa-premium h3 {
  margin: 12px 0 6px 0;
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--sa-ink);
  letter-spacing: -0.01em;
  position: relative;
  padding-left: 12px;
  border-left: 2px solid var(--sa-accent-original);
}
.sa-premium h3::before {
  content: none;
}

/* Kicker */
.sa-premium .sa-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sa-muted);
}

.sa-premium a { color: inherit; text-decoration: none; }

/* Inline prose links (not .sa-btn / .sa-fab / media cards) */
.sa-premium .sa-about-text p a:not(.sa-btn),
.sa-premium .sa-problem-24h a {
  color: var(--sa-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.sa-premium .sa-about-text p a:not(.sa-btn):hover,
.sa-premium .sa-problem-24h a:hover {
  color: var(--sa-link-hover);
}
.sa-premium .sa-about-text .sa-about-strong a {
  color: var(--sa-link);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sa-premium .sa-about-text .sa-about-strong a:hover {
  color: var(--sa-link-hover);
}

.sa-premium a:focus-visible,
.sa-premium button:focus-visible,
.sa-premium summary:focus-visible {
  outline: 2px solid var(--sa-accent);
  outline-offset: 3px;
  border-radius: 8px;
}

/* =========================================================
 Buttons: Primary dominant, secondary demoted everywhere
========================================================= */
.sa-premium .sa-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.sa-premium .sa-cta-row .sa-btn-primary {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
}
.sa-premium .sa-cta-row .sa-btn-secondary {
  font-size: 0.9rem;
  font-weight: 500;
}

.sa-premium .sa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 1rem 2rem;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;

  border-radius: 12px 50px 12px 50px;
  border: 1px solid transparent;
  cursor: pointer;
  user-select: none;

  transition: transform var(--duration-normal) var(--sa-ease), box-shadow var(--duration-normal) var(--sa-ease), background var(--duration-normal) var(--sa-ease), border-color var(--duration-normal) var(--sa-ease);
}

.sa-premium .sa-btn:active { transform: scale(0.985); }

.sa-premium .sa-btn-primary {
  position: relative;
  overflow: hidden;
  color: #fff !important;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--sa-accent-original) 94%, #1c1006) 0%,
    var(--sa-accent-2) 48%,
    var(--sa-accent-original) 100%
  );
  box-shadow:
    var(--sa-shadow-accent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  font-weight: 700;
}
.sa-premium .sa-btn-primary:hover {
  color: #fff !important;
  background: color-mix(in srgb, var(--sa-accent-original) 82%, #14110f);
  transform: translateY(-1px);
  box-shadow:
    var(--sa-shadow-md),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.sa-premium .sa-btn-primary:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow:
    0 0 0 4px rgba(242, 108, 15, 0.42),
    var(--sa-shadow-accent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
.sa-premium .sa-btn-primary:hover .sa-free-cta,
.sa-premium .sa-btn-primary:hover .sa-free-cta strong { color: #fff !important; }
.sa-premium .sa-btn-primary::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 55%; height: 100%;
  background: rgba(255,255,255,0.22);
  transform: skewX(-20deg) translateX(-90%);
  animation: saShimmer 7.5s cubic-bezier(0.4,0,0.2,1) infinite;
  pointer-events: none;
  z-index: -1;
}
@keyframes saShimmer {
  0% { transform: skewX(-20deg) translateX(-90%); }
  45% { transform: skewX(-20deg) translateX(150%); }
  100% { transform: skewX(-20deg) translateX(-90%); }
}

/* Strategy H2 + complimentary badge: single unit, no spacing gap */
.sa-premium .sa-free-cta {
  white-space: nowrap;
}
.sa-premium .sa-btn-primary .sa-free-cta {
  color: rgba(255,255,255,0.95) !important;
}
.sa-premium .sa-btn-primary .sa-free-cta strong {
  font-weight: 800;
  color: inherit !important;
}

/* Secondary: clearly subordinate, does not compete with primary */
.sa-premium .sa-btn-secondary {
  background: transparent;
  border: 1px solid var(--sa-line);
  color: var(--sa-muted) !important;
  box-shadow: none;
  font-weight: 400;
  font-size: 11px;
  padding: 0.35rem 0.65rem;
  min-height: 44px;
}
.sa-premium .sa-btn-secondary:hover {
  color: var(--sa-text) !important;
  border-color: var(--sa-line);
}
.sa-premium .sa-btn-secondary:hover .sa-free-cta,
.sa-premium .sa-btn-secondary:hover .sa-free-cta strong {
  color: var(--sa-text) !important;
}
/* Hero + Contact: primary dominates, secondary clearly subordinate */
.sa-premium .sa-sec-hero .sa-btn-primary,
.sa-premium .sa-sec-contact .sa-btn-primary {
  padding: 1.2rem 2.25rem;
  font-size: 16px;
  font-weight: 700;
}
.sa-premium .sa-sec-hero .sa-btn-secondary,
.sa-premium .sa-sec-contact .sa-btn-secondary {
  padding: 0.3rem 0.6rem;
  font-size: 11px;
  font-weight: 400;
  color: var(--sa-muted) !important;
  min-height: 44px;
}

@media (max-width: 600px) {
  .sa-premium .sa-btn { width: 100%; padding: 1rem 1.4rem; }
}

/* =========================================================
 Shared: minimal structure, no decorative boxes
========================================================= */
.sa-premium .sa-sheet {
  background: #fff;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

/* Rail = structural (neutral). Orange reserved for CTAs + 98% + H2 only. */
.sa-premium .sa-rail {
  position: relative;
  padding-left: 16px;
}
.sa-premium .sa-rail::before {
  content: "";
  position: absolute;
  left: 0; top: 2px; bottom: 2px;
  width: 0;
  border-left: 3px dotted var(--sa-line-strong);
}

/* Shared list style: neutral bar bullets (consolidated) */
.sa-premium .sa-about-list,
.sa-premium .sa-strategy-list,
.sa-premium .sa-strategy-deliverables-list,
.sa-premium .sa-compare-list,
.sa-premium .sa-contact-list,
.sa-premium .sa-contact-fast-list,
.sa-premium .sa-sec-included ul {
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.sa-premium .sa-about-list li,
.sa-premium .sa-strategy-list li,
.sa-premium .sa-strategy-deliverables-list li,
.sa-premium .sa-compare-list li,
.sa-premium .sa-contact-fast-list li,
.sa-premium .sa-sec-included ul li {
  position: relative;
  padding-left: 18px;
  color: var(--sa-text-strong);
  line-height: 1.55;
}
.sa-premium .sa-about-list li::before,
.sa-premium .sa-strategy-list:not(.sa-strategy-list--numbered):not(.sa-strategy-list--checks) li::before,
.sa-premium .sa-strategy-deliverables-list:not(.sa-strategy-list--checks) li::before,
.sa-premium .sa-compare-list li::before,
.sa-premium .sa-contact-fast-list li::before,
.sa-premium .sa-sec-included ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 2px;
  background: var(--sa-accent-original);
  border-radius: 1px;
}

/* No decorative card accent: content only */
.sa-premium .sa-card-accent::before {
  display: none;
}

/* =========================================================
 Drawer (FAQ / details)
========================================================= */
.sa-premium .sa-drawer {
  border-bottom: 1px solid var(--sa-line);
}
.sa-premium .sa-drawer-summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 1rem;
  color: var(--sa-ink);
}
.sa-premium .sa-drawer-summary::-webkit-details-marker { display: none; }
.sa-premium .sa-drawer-summary .sa-drawer-icon {
  display: none; /* icon shown via ::after below */
}
/* Native details: smooth open/close + icon via CSS (no JS) */
.sa-premium .sa-drawer-summary::after {
  content: '+';
  margin-left: 8px;
  opacity: 0.7;
}
.sa-premium .sa-drawer[open] .sa-drawer-summary {
  color: var(--sa-accent-original);
}
.sa-premium .sa-drawer[open] .sa-drawer-summary::after {
  content: '×';
}
.sa-premium .sa-drawer-body {
  padding: 0 0 14px 0;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height var(--duration-normal) var(--sa-ease), opacity var(--duration-normal) var(--sa-ease);
}
.sa-premium .sa-drawer[open] .sa-drawer-body {
  max-height: 80vh;
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .sa-premium .sa-drawer-body { transition: none; }
}
.sa-premium .sa-drawer-body p { margin-bottom: 8px; }
.sa-premium .sa-drawer-body p:last-child { margin-bottom: 0; }

/* 98% details: transparency mechanism (structural, not decorative) */
.sa-premium .sa-drawer-transparency {
  border: 2px solid var(--sa-line-strong);
  border-radius: 12px;
  background: #fff;
  padding: 0;
  overflow: hidden;
  margin-top: 1.25rem;
}
.sa-premium .sa-drawer-transparency .sa-drawer-summary {
  font-weight: 800;
  color: var(--sa-ink);
  padding: 18px 20px 18px 24px;
  border-left: 4px solid var(--sa-ink);
  background: var(--sa-soft);
}
.sa-premium .sa-drawer-transparency .sa-drawer-body {
  padding: 0 0 20px 24px;
  border-top: 1px solid var(--sa-line);
}

/* =========================================================
 Hero: #top .sa-sec-hero
 Original concept: single row, flow in soft panel (no orange wrapper)
 ========================================================= */
.sa-premium .sa-sec-hero {
  min-height: auto;
  /* Below fixed header: matches anchor offset (no extra bump) */
  padding-top: var(--sa-scroll-offset);
  padding-bottom: 64px;
  padding-left: 0;
  padding-right: 0;
  background: linear-gradient(180deg, #fff 0%, var(--sa-soft) 100%);
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-hero {
    min-height: auto;
    padding-bottom: 56px;
  }
}

.sa-premium .sa-hero-wrap {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  grid-template-rows: auto auto auto;
  /* Row gap: breathing room without doubling .sa-hero-detail offset */
  gap: 2.5rem 3rem;
  align-items: start;
}
.sa-premium .sa-hero-left-top { grid-column: 1; grid-row: 1; }
.sa-premium .sa-hero-right { grid-column: 2; grid-row: 1; align-self: start; }
/* Desktop: top of figure aligns with H1 (below case strip + title offset) */
@media (min-width: 901px) {
  .sa-premium .sa-hero-right {
    margin-top: calc(13px * 1.35 + 14px + 1.35rem);
  }
}
/* Proof / identity / qualify: own row under hero pair so ATF ends at primary CTA */
.sa-premium .sa-hero-post-atf {
  grid-column: 1;
  grid-row: 2;
  /* Extra air after primary CTA row; proof strip margin-top is 0 here (see below) */
  padding-top: 0.75rem;
}
.sa-premium .sa-hero-post-atf .sa-hero-proof-strip {
  margin-top: 0;
}
.sa-premium .sa-hero-left-bottom { grid-column: 1; grid-row: 3; }
@media (max-width: 900px) {
  .sa-premium .sa-hero-wrap { grid-template-columns: 1fr; grid-template-rows: auto; gap: 2.6rem; }
  .sa-premium .sa-hero-left-top,
  .sa-premium .sa-hero-right,
  .sa-premium .sa-hero-post-atf,
  .sa-premium .sa-hero-left-bottom { grid-column: 1; grid-row: auto; align-self: auto; }
  .sa-premium .sa-hero-right { margin-top: 0; }
  /* Proof + qualify block directly under CTAs; image/flow follows (better mobile scan) */
  .sa-premium .sa-hero-left-top { order: 1; }
  .sa-premium .sa-hero-post-atf { order: 2; }
  .sa-premium .sa-hero-right { order: 3; }
  .sa-premium .sa-hero-left-bottom { order: 4; }
}
.sa-premium .sa-hero-left::before {
  display: none;
}
@media (max-width: 900px) {
  .sa-premium .sa-hero-left { padding-left: 0; }
}

.sa-premium .sa-hero-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  color: var(--sa-muted);
  margin-bottom: 20px;
  letter-spacing: 0.02em;
}
.sa-premium .sa-hero-kbrand { font-weight: 800; color: var(--sa-text-strong); }
.sa-premium .sa-hero-kdot { color: var(--sa-line-strong); opacity: 0.8; }

/* Hero ATF: compact problem / fail / fix scan (replaces long anchor paragraphs) */
.sa-premium .sa-hero-atf-points {
  list-style: none;
  margin: 0 0 0 0;
  padding: 14px 16px 14px 18px;
  max-width: 42rem;
  border-radius: 14px;
  border: 1px solid var(--sa-line);
  background: linear-gradient(165deg, #fff 0%, var(--sa-soft) 100%);
  box-shadow: var(--sa-shadow-sm);
}
.sa-premium .sa-hero-atf-points li {
  display: grid;
  grid-template-columns: minmax(7.25rem, 30%) 1fr;
  gap: 8px 14px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.sa-premium .sa-hero-atf-points li:first-child { padding-top: 0; }
.sa-premium .sa-hero-atf-points li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.sa-premium .sa-hero-atf-kicker {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--sa-muted);
  line-height: 1.3;
}
.sa-premium .sa-hero-atf-text {
  font-size: 0.94rem;
  line-height: 1.45;
  color: var(--sa-text);
}
@media (max-width: 520px) {
  .sa-premium .sa-hero-atf-points li {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .sa-premium .sa-hero-atf-kicker { font-size: 0.65rem; }
}

/* Hero tagline: punchy close before CTAs */
.sa-premium .sa-hero-tagline {
  margin: 0.4rem 0 0;
  font-weight: 600;
  color: var(--sa-text);
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--sa-accent, #f26c0f);
  letter-spacing: 0.02em;
}

/* Hero identity beat: after proof strip */
.sa-premium .sa-hero-post-atf .sa-hero-identity {
  margin: 0.85rem 0 0;
  font-size: 0.88rem;
  color: var(--sa-muted);
  font-style: normal;
  line-height: 1.5;
  max-width: 52ch;
}

/* Visual pause before first CTA: space to "land"; no hyphenation on "reinstatements" */
.sa-premium .sa-hero-cta-note {
  margin: 0.75rem 0 0 0;
  font-size: 0.85rem;
  color: var(--sa-muted);
  line-height: 1.5;
  hyphens: none;
}
.sa-premium .sa-hero-cta-note .sa-hero-cta-note-stat {
  white-space: nowrap;
}
.sa-premium .sa-hero-ctas {
  margin-top: 1.35rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--sa-line);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-start;
}
@media (max-width: 600px) {
  .sa-premium .sa-hero-ctas { margin-top: 1.25rem; padding-top: 1.1rem; gap: 12px; }
  .sa-premium .sa-hero-cta-note { margin-top: 0.75rem; font-size: 0.8rem; }
}
@media (max-width: 640px) {
  .sa-premium .sa-cta-row { gap: 12px; }
}

/* Hero entrance: staggered fade-in (respect reduced motion).
   LCP: .sa-hero-title is NOT animated so it can paint immediately and register as LCP. */
@media (prefers-reduced-motion: no-preference) {
  .sa-premium .sa-sec-hero .sa-case-strip,
  .sa-premium .sa-sec-hero .sa-eyebrow,
  .sa-premium .sa-sec-hero .sa-hero-emotional,
  .sa-premium .sa-sec-hero .sa-hero-atf-points,
  .sa-premium .sa-sec-hero .sa-hero-tagline,
  .sa-premium .sa-sec-hero .sa-hero-ctas,
  .sa-premium .sa-sec-hero .sa-hero-proof-strip,
  .sa-premium .sa-sec-hero .sa-hero-identity,
  .sa-premium .sa-sec-hero .sa-hero-qualify,
  .sa-premium .sa-sec-hero .sa-hero-cta-note,
  .sa-premium .sa-sec-hero .sa-hero-right {
    animation: saHeroFadeIn 0.7s ease-out backwards;
  }
  .sa-premium .sa-sec-hero .sa-case-strip { animation-delay: 0s; }
  .sa-premium .sa-sec-hero .sa-eyebrow { animation-delay: 0.05s; }
  .sa-premium .sa-sec-hero .sa-hero-emotional { animation-delay: 0.1s; }
  .sa-premium .sa-sec-hero .sa-hero-atf-points { animation-delay: 0.16s; }
  .sa-premium .sa-sec-hero .sa-hero-tagline { animation-delay: 0.22s; }
  .sa-premium .sa-sec-hero .sa-hero-ctas { animation-delay: 0.26s; }
  .sa-premium .sa-sec-hero .sa-hero-proof-strip { animation-delay: 0.3s; }
  .sa-premium .sa-sec-hero .sa-hero-identity { animation-delay: 0.34s; }
  .sa-premium .sa-sec-hero .sa-hero-qualify { animation-delay: 0.38s; }
  .sa-premium .sa-sec-hero .sa-hero-cta-note { animation-delay: 0.42s; }
  .sa-premium .sa-sec-hero .sa-hero-right { animation-delay: 0.28s; }
}

@keyframes saHeroFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Scroll-linked section heads: transform-only so below-fold copy never looks “washed out” */
@keyframes saScrollReveal {
  from {
    transform: translateY(14px);
  }
  to {
    transform: translateY(0);
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .sa-premium-page[data-sa-motion="premium"] section.sa-sec:not(.sa-sec-hero) .sa-sec-head {
      /* Duration ignored when tied to view(); placeholder required for valid shorthand */
      animation: saScrollReveal 1s linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 30%;
    }
  }
}

/* Detail block: post-ATF is already a separate grid row; keep a light rule, not a second huge break */
.sa-premium .sa-hero-detail {
  margin-top: 0;
  padding-top: 1.35rem;
  border-top: 1px solid var(--sa-line);
}
@media (max-width: 900px) {
  .sa-premium .sa-hero-detail {
    margin-top: 0;
    padding-top: 1.25rem;
  }
}
.sa-premium .sa-sec-hero.sa-show-checklist .sa-cta-checklist {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--sa-line);
  font-size: 0.8rem;
  opacity: 0.82;
  color: var(--sa-muted);
}
/* Flow stays unwrapped even when .sa-panel-emphasis is added by JS */
.sa-premium .sa-cta-checklist-list { color: var(--sa-muted); font-size: 0.85rem; }
.sa-premium .sa-hero-detail .sa-hero-subhead,
.sa-premium .sa-hero-detail .sa-hero-body,
.sa-premium .sa-hero-detail .sa-hero-speed {
  font-size: 0.95rem;
  color: var(--sa-text);
  margin-bottom: 18px;
  line-height: 1.65;
}
.sa-premium .sa-hero-subhead {
  margin: 0 0 18px 0;
  color: var(--sa-text);
  line-height: 1.68;
  font-size: 1rem;
}
.sa-premium .sa-hero-body {
  margin: 0 0 18px 0;
  font-size: 1rem;
  color: var(--sa-text);
  line-height: 1.7;
}
.sa-premium .sa-hero-speed {
  margin: 0 0 18px 0;
  font-size: 0.98rem;
  color: var(--sa-muted);
  line-height: 1.68;
}
.sa-premium .sa-hero-micro-note {
  margin: 20px 0 0 0;
  font-size: 14px;
  color: var(--sa-muted);
  line-height: 1.55;
}
.sa-premium .sa-hero-detail .sa-hero-control {
  margin: 6px 0 4px 0;
}
.sa-premium .sa-hero-detail .sa-hero-control-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sa-text);
}
.sa-premium .sa-hero-verified {
  margin: 10px 0 0 0;
  font-size: 13px;
  color: var(--sa-muted);
  font-style: italic;
  line-height: 1.5;
}
.sa-premium .sa-guarantee-block {
  margin: 18px 0 0 0;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(248, 249, 251, 0.9) 0%, rgba(255, 255, 255, 0.95) 100%);
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-r-md);
  box-shadow: var(--sa-shadow-sm);
}
.sa-premium .sa-guarantee-title {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sa-ink);
  font-weight: 500;
}
.sa-premium .sa-guarantee-condition {
  margin: 12px 0 0 0;
  font-size: 0.9rem;
}
.sa-premium .sa-guarantee-condition a {
  color: var(--sa-accent-original);
  font-weight: 600;
}
.sa-premium .sa-strategy-risk-free {
  margin: 1.25rem 0 0;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(248, 249, 251, 0.9) 0%, rgba(255, 255, 255, 0.95) 100%);
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-r-md);
  box-shadow: var(--sa-shadow-sm);
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sa-text-strong);
}

/* ===============================
   Hero: original concept (improved): flow in soft panel, no orange wrapper
   Scope: .sa-premium .sa-sec-hero
=============================== */

.sa-premium { --sa-orange: var(--sa-accent-original); }

.sa-premium .sa-sec-hero .sa-hero-wrap {
  width: min(var(--sa-max), 92%);
  margin: 0 auto;
}

/* Remove any old left vertical rail if it exists */
.sa-premium .sa-sec-hero .sa-left-rail {
  display: none !important;
}

/* Case strip: editorial byline, no pill */
.sa-premium .sa-sec-hero .sa-case-strip {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.35em;
  font-size: 13px;
  color: var(--sa-muted);
  margin-bottom: 14px;
}
.sa-premium .sa-sec-hero .sa-case-strip span:first-child {
  font-weight: 600;
  color: var(--sa-ink);
}
.sa-premium .sa-sec-hero .sa-case-dot {
  color: var(--sa-muted);
  font-weight: 300;
  opacity: 0.6;
}

/* Typography */
.sa-premium .sa-sec-hero .sa-eyebrow { margin-bottom: 12px; font-size: 0.9rem; white-space: nowrap; }

.sa-premium .sa-sec-hero .sa-accent { color: var(--sa-orange); }

.sa-premium .sa-sec-hero .sa-hero-subhead {
  font-size: 19px;
  color: var(--sa-text);
  max-width: 620px;
  margin-bottom: 12px;
}

.sa-premium .sa-sec-hero .sa-hero-body {
  max-width: 640px;
  color: #374151;
}

.sa-premium .sa-sec-hero a.sa-btn-primary:hover,
.sa-premium .sa-sec-hero a.sa-btn-primary:focus,
.sa-premium .sa-sec-hero a.sa-btn-primary:active {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Trust metrics */
.sa-premium .sa-sec-hero .sa-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-top: 32px;
  max-width: 620px;
}
@media (max-width: 650px) {
  .sa-premium .sa-sec-hero .sa-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}
.sa-premium .sa-sec-hero .sa-trust-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}
.sa-premium .sa-sec-hero .sa-count {
  font-size: 28px;
  font-weight: 700;
  color: var(--sa-orange);
  margin-bottom: 0;
  display: block;
  line-height: 1.2;
}
.sa-premium .sa-sec-hero .sa-trust-item .sa-trust-label {
  font-size: 14px;
  color: var(--sa-text);
  line-height: 1.5;
  display: block;
  margin: 0;
  padding: 0;
}

/* Next hint */
.sa-premium .sa-sec-hero .sa-next { margin-top: 18px; }
.sa-premium .sa-sec-hero .sa-next-link {
  display: inline-block;
  font-size: 13px;
  color: var(--sa-muted);
  border-bottom: 1px solid rgba(255, 153, 0, 0.35);
  padding-bottom: 3px;
}
.sa-premium .sa-sec-hero .sa-next-link:hover {
  border-bottom-color: rgba(255, 153, 0, 0.7);
}

/* Hero image (above flow in sa-hero-right): single image, no carousel */
.sa-premium .sa-sec-hero .sa-hero-figure {
  margin: 0 0 0.5rem 0;
}
.sa-premium .sa-sec-hero .sa-hero-image {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: var(--sa-r-md);
  display: block;
  margin-bottom: 0;
}
@media (min-width: 901px) {
  /* Free vertical space so the full flow list fits closer to first viewport */
  .sa-premium .sa-sec-hero .sa-hero-figure {
    margin-bottom: 0.12rem;
  }
  .sa-premium .sa-sec-hero .sa-hero-image {
    max-height: min(240px, 34vh);
  }
  .sa-premium .sa-sec-hero .sa-hero-image-cap {
    margin-top: 0.1rem;
    font-size: 0.625rem;
    line-height: 1.3;
  }
}
.sa-premium .sa-sec-hero .sa-hero-image-cap {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1.35;
  color: var(--sa-ink);
  text-align: center;
}
.sa-premium .sa-sec-hero .sa-hero-image-tag {
  font-weight: 500;
  display: block;
}
.sa-premium .sa-sec-hero .sa-hero-image-venues {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  color: var(--sa-muted);
  font-weight: 400;
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-hero .sa-hero-image {
    max-height: 280px;
  }
  .sa-premium .sa-sec-hero .sa-hero-image-cap {
    margin-top: 0.2rem;
    font-size: 0.625rem;
  }
  .sa-premium .sa-sec-hero .sa-hero-image-venues {
    font-size: 8px;
  }
}

/* Right side flow: no wrapper box, aligned next to H1 (below case strip + eyebrow) */
.sa-premium .sa-sec-hero .sa-flow {
  background: transparent;
  border-radius: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  position: relative;
  margin-top: 0.5rem;
}
@media (min-width: 901px) {
  .sa-premium .sa-sec-hero .sa-flow {
    margin-top: 0.2rem;
  }
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-hero .sa-flow { margin-top: 0; }
}

/* Flow header */
.sa-premium .sa-sec-hero .sa-flow-head { margin-bottom: 14px; }
@media (min-width: 901px) {
  .sa-premium .sa-sec-hero .sa-flow-head {
    margin-bottom: 18px;
  }
}
.sa-premium .sa-sec-hero .sa-flow-title {
  font-weight: 700;
  color: var(--sa-ink);
  line-height: 1.2;
  font-size: clamp(0.9rem, 0.82rem + 0.35vw, 1rem);
}
.sa-premium .sa-sec-hero .sa-flow-subtag {
  margin-top: 4px;
  font-size: 11px;
  color: var(--sa-muted);
  display: inline-block;
}

/* Steps: dot at left, connecting line between steps (no 01/02 counters) */
.sa-premium .sa-sec-hero .sa-flow-step {
  position: relative;
  padding-left: 26px;
  padding-top: 4px;
  padding-bottom: 24px;
  min-height: 0;
  font-size: clamp(0.8125rem, 0.76rem + 0.22vw, 0.9375rem);
  line-height: 1.32;
  color: #374151;
  transition: opacity var(--duration-slow) var(--sa-ease), transform var(--duration-slow) var(--sa-ease);
  will-change: transform;
}
@media (min-width: 901px) {
  .sa-premium .sa-sec-hero .sa-flow-step {
    padding-bottom: 34px;
  }
}
.sa-premium .sa-sec-hero .sa-flow-step:last-child { padding-bottom: 0; }

.sa-premium .sa-sec-hero .sa-flow-step span {
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--sa-orange);
  outline: 0;
  transition: transform var(--duration-slow) var(--sa-ease), opacity var(--duration-slow) var(--sa-ease);
  will-change: transform;
}

.sa-premium .sa-sec-hero .sa-flow-step::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 20px;
  width: 2px;
  height: calc(100% - 20px);
  background: rgba(255, 153, 0, 0.28);
}
.sa-premium .sa-sec-hero .sa-flow-step:last-child::before { display: none; }

/* Hide counter numbers (original concept uses dots only) */
.sa-premium .sa-sec-hero .sa-flow-step::after { content: none; display: none; }

/* Active step */
.sa-premium .sa-sec-hero .sa-flow-step.is-active {
  color: #111827;
  font-weight: 600;
  transform: translateX(2px);
}
.sa-premium .sa-sec-hero .sa-flow-step.is-active span {
  transform: scale(1.25);
  outline: 6px solid rgba(255, 153, 0, 0.16);
  outline-offset: 2px;
}

/* Done steps */
.sa-premium .sa-sec-hero .sa-flow-step.is-done {
  color: #111827;
}

/* Final step emphasized */
.sa-premium .sa-sec-hero .sa-flow-final {
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.01em;
  position: relative;
  z-index: 0;
}

/* Final step highlight only when completed (no orange box) */
.sa-premium .sa-sec-hero .sa-flow.is-complete .sa-flow-final::after {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  top: -10px;
  bottom: -10px;
  background: #fff7ed;
  border: 1px solid rgba(255, 153, 0, 0.4);
  border-radius: 18px;
  z-index: -1;
}

.sa-premium .sa-sec-hero .sa-flow.is-complete .sa-flow-final span {
  transform: translateY(-50%) scale(1.35);
  outline: 8px solid rgba(255, 153, 0, 0.16);
  outline-offset: 2px;
}

/* Fade previous steps only after completion */
.sa-premium .sa-sec-hero .sa-flow.is-complete .sa-flow-step:not(.sa-flow-final) {
  opacity: 0.45;
}

.sa-premium .sa-sec-hero .sa-flow.is-complete .sa-flow-step:not(.sa-flow-final) span {
  opacity: 0.35;
}

.sa-premium .sa-sec-hero .sa-flow.is-complete .sa-flow-step:not(.sa-flow-final)::before {
  background: rgba(255, 153, 0, 0.14);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .sa-premium .sa-sec-hero .sa-flow-step,
  .sa-premium .sa-sec-hero .sa-flow-step span {
    transition: none !important;
  }
}

.sa-premium .sa-sec-hero .sa-trust-item .sa-trust-label {
  white-space: normal;
  min-width: 0;
  overflow-wrap: break-word;
}

.sa-premium .sa-sec-hero .sa-trust-grid {
  max-width: 680px;
}

/* Checklist: supportive, not competing; collapsed until scroll */
.sa-premium .sa-cta-checklist {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  transition: max-height var(--duration-slow) var(--sa-ease), opacity var(--duration-normal) var(--sa-ease);
}
.sa-premium .sa-sec-hero.sa-show-checklist .sa-cta-checklist {
  max-height: var(--sa-checklist-max-height);
  opacity: 0.7;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--sa-line);
  font-size: 0.72rem;
}
/* Checklist: supportive only: reinforces primary CTA, not a second decision block */
.sa-premium .sa-cta-checklist-title {
  font-size: 0.68rem;
  font-weight: 400;
  color: var(--sa-muted);
}

.sa-premium .sa-cta-checklist-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.sa-premium .sa-cta-checklist-list li {
  position: relative;
  padding-left: 18px;
  color: var(--sa-text-strong);
  line-height: 1.5;
}
.sa-premium .sa-cta-checklist-list li::before {
  content: "-";
  position: absolute;
  left: 0;
  color: var(--sa-muted);
  font-weight: 500;
  font-size: 12px;
}

/* Right panel: softer on first view so it doesn’t compete */
.sa-premium .sa-takeover-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: take;
  display: grid;
  gap: 12px;
  position: relative;
  padding-left: 44px;
}
/* No vertical connector line between list numbers */
.sa-premium .sa-takeover-list li {
  counter-increment: take;
  position: relative;
  color: var(--sa-text-strong);
  line-height: 1.55;
}
.sa-premium .sa-takeover-list li::before {
  content: counter(take, decimal-leading-zero);
  position: absolute;
  left: -44px;
  top: 0;
  width: 34px;
  text-align: right;
  font-weight: 950;
  letter-spacing: 0.06em;
  color: var(--sa-ink);
}
.sa-premium .sa-takeover-list li::after {
  display: none;
}
/* Right-panel list when numbers are on timeline (no counter) */
.sa-premium .sa-takeover-list-no-nums {
  padding-left: 0;
  list-style: none;
  counter-reset: none;
}
.sa-premium .sa-takeover-list-no-nums li {
  counter-increment: none;
  padding-left: 0;
}
.sa-premium .sa-takeover-list-no-nums li::before {
  display: none;
}
.sa-premium .sa-takeover-list-no-nums li {
  padding-top: 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
}
.sa-premium .sa-takeover-list-no-nums li:last-of-type {
  border-bottom: 0;
  font-weight: 800;
  color: var(--sa-ink);
}
.sa-premium .sa-takeover-list-no-nums li:nth-child(n+5) {
  font-weight: 700;
  color: var(--sa-text-strong);
}
.sa-premium .sa-takeover-list-no-nums li.is-active {
  color: var(--sa-ink);
  font-weight: 700;
  padding-left: 8px;
  border-left: 3px solid var(--sa-ink);
}
.sa-premium .sa-takeover-list-no-nums li.is-done {
  color: var(--sa-text-strong);
}
.sa-premium .sa-takeover-list-no-nums li.is-done.is-active {
  border-left-color: var(--sa-ink);
}

/* Hero metrics row: counter placeholders styled so layout doesn’t jump before JS */
.sa-premium .sa-hero-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 32px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--sa-line);
}
.sa-premium .sa-hero-metric {
  min-width: 0;
}
.sa-premium .sa-count {
  min-height: 1.8em;
  min-width: 2ch;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--sa-ink);
  line-height: 1.2;
}
.sa-premium .sa-hero-metric-label {
  font-size: 14px;
  color: var(--sa-muted);
  line-height: 1.45;
  max-width: 160px;
}

/* Next section link */
.sa-premium .sa-next { margin-top: 20px; }
.sa-premium .sa-next-link {
  font-size: 14px;
  color: var(--sa-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sa-premium .sa-next-link:hover { color: var(--sa-ink); }

/* #about .sa-sec-about */
.sa-premium .sa-sec-about {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 65%);
  border-top: 1px solid var(--sa-line-strong);
  padding: 120px 0;
}

/* About: wrap as grid so header is constrained to left column: prevents lead overflow into avatar */
.sa-premium .sa-sec-about .sa-wrap {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 32px;
  row-gap: 10px;
  align-items: start;
}
.sa-premium .sa-sec-about .sa-sec-head {
  margin-bottom: 8px;
  grid-column: 1;
  overflow-wrap: normal;
  word-wrap: normal;
  hyphens: none;
}
.sa-premium .sa-sec-about .sa-sec-head .sa-lead {
  line-height: 1.45;
  margin-bottom: 0;
}
.sa-premium .sa-sec-about .sa-about-grid {
  grid-column: 1 / -1;
  margin-top: 6px;
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-about .sa-wrap {
    display: block;
  }
}
.sa-premium .sa-about-credential {
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--sa-muted);
  margin: 0 0 16px 0;
  font-weight: 600;
  max-width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.sa-premium .sa-about-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 32px;
  align-items: start;
  padding: 0;
}
@media (max-width: 900px) {
  .sa-premium .sa-about-grid {
    grid-template-columns: 1fr;
    padding: 24px;
    display: flex;
    flex-direction: column;
  }
  .sa-premium .sa-about-rail {
    order: -1;
    margin-top: 0;
    margin-bottom: 24px;
    padding: 0;
    border-left: none;
  }
  .sa-premium .sa-about-avatar { margin: 0 auto 24px; }
}

/* Profile image: dominant authority signal: use high-res source for sharpness */
.sa-premium .sa-about-avatar {
  width: 100%;
  max-width: 500px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 999px;
  display: block;
  margin: 0 0 24px 0;
  border: 3px solid var(--sa-line-strong);
  box-shadow: var(--sa-shadow-lg);
  object-fit: cover;
  /* Use a high-res source image (e.g. 800×800+) for sharpness: CSS cannot fix soft assets */
}
@media (min-width: 901px) {
  .sa-premium .sa-about-avatar { max-width: 620px; }
}
@media (max-width: 600px) {
  .sa-premium .sa-about-avatar { max-width: 320px; }
}

.sa-premium .sa-about-text {
  min-width: 0;
}
.sa-premium .sa-about-text p {
  margin-bottom: 20px;
}
.sa-premium .sa-about-text .sa-about-strong {
  margin-top: 24px;
  padding: 0 0 0 18px;
  border-left: 4px solid var(--sa-ink);
  background: transparent;
}
.sa-premium .sa-about-text .sa-about-strong::before {
  display: none;
}

.sa-premium .sa-about-rail {
  padding: 0 0 0 16px;
  border-left: 2px solid var(--sa-line);
  background: transparent;
}
@media (min-width: 901px) {
  .sa-premium .sa-about-rail {
    margin-top: -120px; /* pull right column up to align with left column content: desktop only */
  }
}
.sa-premium .sa-about-rail .sa-kicker {
  color: var(--sa-muted);
  font-size: 10px;
  font-weight: 500;
  margin-bottom: 8px;
  letter-spacing: 0.04em;
}
.sa-premium .sa-about-rail .sa-about-list li {
  font-weight: 400;
  color: var(--sa-text);
  font-size: 0.9rem;
  line-height: 1.5;
}
.sa-premium .sa-about-rail .sa-about-list li::before {
  width: 6px;
  height: 2px;
  background: var(--sa-line-strong);
}

.sa-premium .sa-about-strong {
  font-weight: 800;
  color: var(--sa-ink);
}

/* Conference image: centered below both columns */
.sa-premium .sa-about-conference {
  margin: 64px 0 0 0;
  padding: 0;
  text-align: center;
  grid-column: 1 / -1;
}
.sa-premium .sa-about-conference img {
  width: 100%;
  height: auto;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  border-radius: var(--sa-r-md);
  box-shadow: var(--sa-shadow-md);
}
.sa-premium .sa-about-conference-cap {
  margin-top: 12px;
  font-size: 13px;
  color: var(--sa-muted);
  letter-spacing: 0.04em;
}

/* Uses .sa-list-bar: add class to HTML or extend here */
.sa-premium .sa-about-list,
.sa-premium .sa-strategy-list,
.sa-premium .sa-strategy-deliverables-list,
.sa-premium .sa-compare-list,
.sa-premium .sa-contact-fast-list,
.sa-premium .sa-sec-included ul {
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.sa-premium .sa-about-list li,
.sa-premium .sa-strategy-list li,
.sa-premium .sa-strategy-deliverables-list li,
.sa-premium .sa-compare-list li,
.sa-premium .sa-contact-fast-list li,
.sa-premium .sa-sec-included ul li {
  position: relative;
  padding-left: 18px;
  color: var(--sa-text-strong);
  line-height: 1.55;
}
.sa-premium .sa-about-list li::before,
.sa-premium .sa-strategy-list:not(.sa-strategy-list--numbered):not(.sa-strategy-list--checks) li::before,
.sa-premium .sa-strategy-deliverables-list:not(.sa-strategy-list--checks) li::before,
.sa-premium .sa-compare-list li::before,
.sa-premium .sa-contact-fast-list li::before,
.sa-premium .sa-sec-included ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 2px;
  background: var(--sa-accent-original);
  border-radius: 1px;
}

/* =========================================================
 Proof: #proof .sa-sec-proof
 Hard reset from narrative; 98% dominates; disclosure = transparency signal
 ========================================================= */
.sa-premium .sa-sec-proof {
  background: linear-gradient(180deg, #fff 0%, var(--sa-soft) 100%);
  content-visibility: auto;
  contain-intrinsic-size: auto 380px;
}
.sa-premium .sa-sec-proof .sa-sec-head {
  margin-top: 0;
}

/* Proof: tight alignment, consistent spacing, no excess gaps */
.sa-premium .sa-proof-head {
  margin-bottom: 20px;
  max-width: 720px;
}
.sa-premium .sa-proof-head .sa-h2 {
  margin-bottom: 8px;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.3;
  padding-left: 14px;
}
.sa-premium .sa-proof-head .sa-lead {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  padding-left: 14px;
  color: var(--sa-text);
}
.sa-premium .sa-proof-fit-note {
  margin: 0.5rem 0 0;
  padding-left: 14px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--sa-ink);
}

/* Proof body: shield + stat cards; stacked on small screens, side-by-side on wide (no overlap, fills width) */
.sa-premium .sa-proof-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
  width: 100%;
  min-width: 0;
}
@media (min-width: 960px) {
  .sa-premium .sa-proof-body {
    grid-template-columns: minmax(260px, 400px) minmax(0, 1fr);
    gap: 32px 40px;
    align-items: stretch;
  }
}

/* Brand shield illustration */
.sa-premium .sa-proof-shield-wrap {
  margin: 0 auto;
  max-width: min(400px, 100%);
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 0;
}
@media (min-width: 960px) {
  .sa-premium .sa-proof-shield-wrap {
    margin: 0;
    max-width: none;
    align-self: center;
  }
}
/* Crop + center artwork so the shield aligns with the laptop in the asset (shift view slightly up/right) */
.sa-premium .sa-proof-shield-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: 54% 40%;
  border-radius: var(--sa-r-md);
  box-shadow: var(--sa-shadow-sm);
  background: var(--sa-bg);
}
@media (min-width: 960px) {
  .sa-premium .sa-proof-shield-img {
    max-height: min(420px, 52vh);
  }
}

/* Stat cards: 3 + 2 grid beside shield (desktop); stacks on small screens */
.sa-premium .sa-proof-grid {
  margin-top: 0;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px 16px;
  align-items: stretch;
  position: relative;
  z-index: 1;
}
.sa-premium .sa-proof-grid > * {
  min-width: 0;
}
@media (min-width: 640px) {
  .sa-premium .sa-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 960px) {
  /* 6-col: row1 = three pairs; row2 = two pairs centered (concept: 3 + 2) */
  .sa-premium .sa-proof-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .sa-premium .sa-proof-card:nth-child(1) {
    grid-column: 1 / 3;
  }
  .sa-premium .sa-proof-card:nth-child(2) {
    grid-column: 3 / 5;
  }
  .sa-premium .sa-proof-card:nth-child(3) {
    grid-column: 5 / 7;
  }
  .sa-premium .sa-proof-card:nth-child(4) {
    grid-column: 2 / 4;
  }
  .sa-premium .sa-proof-card:nth-child(5) {
    grid-column: 4 / 6;
  }
}

.sa-premium .sa-proof-card {
  background: var(--sa-bg);
  border: 1px solid var(--sa-line);
  border-radius: 14px 18px 14px 22px;
  padding: 16px 18px;
  border-left: 4px solid var(--sa-line);
  display: flex;
  flex-direction: column;
  box-shadow: var(--sa-shadow-sm);
  transition: box-shadow var(--duration-fast) var(--sa-ease), border-color var(--duration-fast) var(--sa-ease);
  min-height: 0;
  text-align: left;
}
.sa-premium .sa-proof-card:hover {
  border-left-color: var(--sa-line-strong);
  box-shadow: var(--sa-shadow-md);
}

.sa-premium .sa-proof-card-primary {
  border-left: 4px solid var(--sa-accent-original);
  padding: 18px 20px;
  background: rgba(242, 108, 15, 0.06);
}
.sa-premium .sa-proof-card-primary:hover {
  border-left-color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.08);
}
/* Secondary proof cards: subtle emphasis so 98% doesn't overpower */
.sa-premium .sa-proof-card:nth-child(2) {
  border-left-width: 4px;
  border-left-color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.03);
}

.sa-premium .sa-proof-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 8px;
  margin-bottom: 8px;
}
.sa-premium .sa-proof-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--sa-muted);
}
.sa-premium .sa-proof-badge {
  font-size: 10px;
  font-weight: 600;
  color: var(--sa-muted);
  letter-spacing: 0.03em;
}
.sa-premium .sa-proof-card-primary .sa-proof-badge {
  color: var(--sa-accent-original);
}

.sa-premium .sa-proof-value {
  margin-bottom: 6px;
}
.sa-premium .sa-proof-number {
  font-size: clamp(15px, 1.6vw, 18px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--sa-accent-original);
}
.sa-premium .sa-proof-card-primary .sa-proof-number {
  color: var(--sa-accent-original);
  font-size: clamp(48px, 5.5vw, 72px);
  font-weight: 700;
  line-height: 1;
}

.sa-premium .sa-proof-number-small {
  font-size: clamp(13px, 1.4vw, 15px) !important;
  font-weight: 600;
  line-height: 1.35;
}

.sa-premium .sa-proof-desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--sa-text);
  margin-top: 0;
  max-width: 100%;
}

.sa-premium .sa-proof-no-insider {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--sa-text);
  margin-bottom: 0;
}
.sa-premium .sa-proof-drawer {
  margin-top: 28px;
}
.sa-premium .sa-proof-mini-title {
  margin: 0 0 12px 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--sa-ink);
}
.sa-premium .sa-proof-drawer .sa-drawer-body p {
  margin-bottom: 10px;
}
.sa-premium .sa-proof-drawer .sa-drawer-body p:last-child {
  margin-bottom: 0;
}

/* =========================================================
 Videos: Meta visible (case type + outcome), “listen for” prominent
========================================================= */
/* Written Testimonials: Carousel with 5 stars, avatars (aligned with Reinstato) */
.sa-premium .sa-sec-testimonials {
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
  border-top: 1px solid var(--sa-line);
  padding-top: 56px;
  padding-bottom: 32px;
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-testimonials {
    padding-top: 44px;
  }
}
.sa-premium .sa-testimonials-head {
  text-align: center;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}
.sa-premium .sa-testimonials-kicker {
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sa-muted);
}
.sa-premium .sa-testimonials-title {
  display: block;
  text-align: center;
  border-left-color: var(--sa-orange);
}
.sa-premium .sa-testimonials-sub {
  max-width: 660px;
  margin: 0.5rem auto 0;
  text-align: center;
}
.sa-premium .sa-testimonials-carousel {
  position: relative;
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
/* Carousel: CSS-Tricks stacked card row (css-tricks.com homepage pattern) */
/* Scroll shadows: CSS-Tricks trick for horizontal scroll: indicates more content (does not work on iOS Safari) */
.sa-premium .sa-testimonials-track {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
  user-select: none;
  -webkit-user-select: none;
  display: flex;
  gap: 0;
  padding: 12px 4px 28px;
  background:
    linear-gradient(to right, var(--sa-bg) 30%, rgba(255, 255, 255, 0)) left center,
    linear-gradient(to left, var(--sa-bg) 30%, rgba(255, 255, 255, 0)) right center,
    radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.12), transparent) left center,
    radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.12), transparent) right center;
  background-repeat: no-repeat;
  background-size: 40px 100%, 40px 100%, 16px 100%, 16px 100%;
  background-attachment: local, local, scroll, scroll;
}
.sa-premium .sa-testimonials-track::-webkit-scrollbar {
  display: none;
}
.sa-premium .sa-testimonial-slide {
  flex: 0 0 min(310px, 30%);
  min-width: 260px;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  position: relative;
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 4px solid var(--sa-gold);
  border-radius: 12px;
  padding: 24px 20px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 240px;
  box-shadow: var(--sa-shadow-md);
  transition: transform var(--duration-normal) var(--sa-ease), border-color var(--duration-normal) var(--sa-ease);
  will-change: transform;
}
.sa-premium .sa-testimonial-slide:not(:first-child) {
  margin-left: -80px;
  box-shadow: -1.5rem 0 2rem -1rem hsl(var(--sa-shadow-hsl) / 0.12), var(--sa-shadow-md);
}
.sa-premium .sa-testimonial-slide:hover,
.sa-premium .sa-testimonial-slide:focus-within {
  transform: translate(0, -8px) rotate(2deg);
  box-shadow: var(--sa-shadow-lg);
}
.sa-premium .sa-testimonial-slide:hover ~ .sa-testimonial-slide,
.sa-premium .sa-testimonial-slide:focus-within ~ .sa-testimonial-slide {
  transform: translateX(80px);
}
.sa-premium .sa-testimonial-slide:first-child:hover,
.sa-premium .sa-testimonial-slide:first-child:focus-within {
  transform: translate(-4px, -8px) rotate(2deg);
}
@media (max-width: 1024px) {
  .sa-premium .sa-testimonial-slide:not(:first-child) { margin-left: -40px; }
  .sa-premium .sa-testimonial-slide:hover ~ .sa-testimonial-slide,
  .sa-premium .sa-testimonial-slide:focus-within ~ .sa-testimonial-slide {
    transform: translateX(40px);
  }
}
@media (max-width: 600px) {
  .sa-premium .sa-testimonial-slide:not(:first-child) { margin-left: -20px; }
  .sa-premium .sa-testimonial-slide:hover ~ .sa-testimonial-slide,
  .sa-premium .sa-testimonial-slide:focus-within ~ .sa-testimonial-slide {
    transform: translateX(20px);
  }
}
.sa-premium .sa-testimonial-slide.is-active {
  border-left-color: var(--sa-gold);
  box-shadow: 0 8px 28px rgba(216, 188, 106, 0.2), var(--sa-shadow-md);
}
.sa-premium .sa-testimonial-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sa-accent-original) 0%, var(--sa-accent-2) 100%);
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 10px;
}
.sa-premium .sa-testimonial-slide img.sa-testimonial-avatar-img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.sa-premium .sa-testimonial-stars {
  color: var(--sa-gold);
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
  line-height: 1;
}
.sa-premium .sa-testimonial-slide blockquote.sa-testimonial-quote {
  margin: 0 0 14px 0;
  font-size: 0.95rem;
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.85);
  font-style: normal;
  flex: 1;
}
.sa-premium .sa-testimonial-meta {
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.8rem;
  width: 100%;
}
.sa-premium .sa-testimonial-meta strong {
  display: block;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 3px;
  font-weight: 600;
  font-size: 0.9rem;
}
.sa-premium .sa-testimonial-meta span {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.12);
  padding: 3px 8px;
  border-radius: 12px;
}
.sa-premium .sa-carousel-btn {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid var(--sa-line);
  background: #fff;
  color: var(--sa-ink);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: border-color var(--duration-fast) var(--sa-ease), background var(--duration-fast) var(--sa-ease), color var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-carousel-prev { padding-right: 1px; }
.sa-premium .sa-carousel-next { padding-left: 1px; }
.sa-premium .sa-carousel-btn:hover {
  border-color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.08);
  color: var(--sa-accent-original);
  box-shadow: var(--sa-shadow-accent);
}
.sa-premium .sa-carousel-btn:focus-visible {
  outline: 3px solid var(--sa-accent-original);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(242, 108, 15, 0.2);
}
.sa-premium .sa-media-thumb-wrap:focus-visible {
  outline: 3px solid var(--sa-accent-original);
  outline-offset: 2px;
  border-radius: 13px 13px 0 0;
}
@media (max-width: 640px) {
  .sa-premium .sa-carousel-btn { display: none; }
}
@media (max-width: 800px) {
  .sa-premium .sa-testimonial-slide {
    flex: 0 0 min(310px, 88vw);
  }
}
.sa-premium .sa-testimonials-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 6px 8px;
  margin-top: 20px;
  flex-wrap: wrap;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 8px 12px 6px;
  min-height: 36px;
  content-visibility: visible;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}
.sa-premium .sa-testimonials-dot {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  line-height: 0;
  vertical-align: middle;
  transition: transform var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-testimonials-dot::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(51, 65, 85, 0.38);
  outline: 0;
  transition: opacity var(--duration-fast) var(--sa-ease), transform var(--duration-fast) var(--sa-ease);
  will-change: transform;
}
.sa-premium .sa-testimonials-dot:hover::before {
  background: var(--sa-accent-original);
  opacity: 0.8;
}
.sa-premium .sa-testimonials-dot.is-active::before {
  background: var(--sa-accent-original);
  transform: scale(1.35);
  outline: 2px solid rgba(242, 108, 15, 0.35);
  outline-offset: 1px;
}
.sa-premium .sa-testimonials-dot:focus-visible {
  outline: 2px solid var(--sa-accent-original);
  outline-offset: 3px;
}
.sa-premium .sa-testimonials-note {
  font-size: 0.85rem;
  color: var(--sa-muted);
  margin-top: 12px;
  letter-spacing: 0.01em;
  text-align: center;
}

/* #videos .sa-sec-videos: evidence, not decorative */
.sa-premium .sa-sec-videos {
  background: var(--sa-soft);
  border-top: 1px solid var(--sa-line);
  padding-top: 48px;
  padding-bottom: 80px;
}
@media (max-width: 900px) {
  .sa-premium .sa-sec-videos {
    padding-top: 40px;
    padding-bottom: 64px;
  }
}
.sa-premium .sa-videos-kicker {
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--sa-muted);
}
.sa-premium .sa-sec-videos .sa-sec-head {
  margin-bottom: 20px;
}
.sa-premium .sa-sec-videos .sa-lead {
  font-size: 1rem;
  font-weight: 500;
  color: var(--sa-text-strong);
}
.sa-premium .sa-sec-videos .sa-wrap {
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  max-width: min(1320px, 92%);
  margin-left: auto;
  margin-right: auto;
}
/* Videos: Vimeo embeds, grid layout */
.sa-premium .sa-videos-dots-label {
  margin: 20px 0 0 0;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sa-muted);
  text-align: center;
}
.sa-premium .sa-videos-cta-note {
  margin-top: 24px;
  margin-bottom: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--sa-text);
}
/* Five testimonial embeds: one row on large screens, responsive below */
.sa-premium .sa-videos-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 1199px) {
  .sa-premium .sa-videos-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .sa-premium .sa-videos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .sa-premium .sa-videos-grid {
    grid-template-columns: 1fr;
  }
}
.sa-premium .sa-video-embed {
  position: relative;
  width: 100%;
  min-width: 0;
  border-radius: 10px;
  overflow: hidden;
  background: transparent;
}
.sa-premium .sa-vimeo-iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 280px;
  border: 0;
}
@media (min-width: 901px) {
  .sa-premium .sa-vimeo-iframe { min-height: 360px; }
}
@media (min-width: 1200px) {
  .sa-premium .sa-vimeo-iframe { min-height: 420px; }
}

/* Media carousel: YouTube thumbnails, click to play inline */
.sa-premium .sa-media-carousel {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
/* Carousel: CSS-Tricks stacked card row (css-tricks.com homepage pattern) */
/* Scroll shadows: CSS-Tricks trick for horizontal scroll: indicates more content (does not work on iOS Safari) */
.sa-premium .sa-media-track {
  flex: 1;
  min-width: 0;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
  padding: 12px 0 28px;
  background:
    linear-gradient(to right, var(--sa-bg) 30%, rgba(255, 255, 255, 0)) left center,
    linear-gradient(to left, var(--sa-bg) 30%, rgba(255, 255, 255, 0)) right center,
    radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.12), transparent) left center,
    radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.12), transparent) right center;
  background-repeat: no-repeat;
  background-size: 40px 100%, 40px 100%, 16px 100%, 16px 100%;
  background-attachment: local, local, scroll, scroll;
}
.sa-premium .sa-media-track::-webkit-scrollbar { display: none; }
.sa-premium .sa-media-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 6px 8px;
  margin-top: 20px;
  flex-wrap: wrap;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 8px 12px 6px;
  min-height: 36px;
  content-visibility: visible;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}
.sa-premium .sa-media-dot {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  border: none;
  line-height: 0;
  vertical-align: middle;
  transition: transform var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-media-dot::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(51, 65, 85, 0.38);
  outline: 0;
  transition: opacity var(--duration-fast) var(--sa-ease), transform var(--duration-fast) var(--sa-ease);
  will-change: transform;
}
.sa-premium .sa-media-dot:hover::before {
  background: var(--sa-accent-original);
  opacity: 0.8;
}
.sa-premium .sa-media-dot.is-active::before {
  background: var(--sa-accent-original);
  transform: scale(1.35);
  outline: 2px solid rgba(242, 108, 15, 0.35);
  outline-offset: 1px;
}
.sa-premium .sa-media-dot:focus-visible {
  outline: 2px solid var(--sa-accent-original);
  outline-offset: 3px;
}
.sa-premium .sa-media-card {
  flex: 0 0 min(300px, 85vw);
  min-width: 260px;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  position: relative;
  cursor: pointer;
  transition: transform var(--duration-fast) var(--sa-ease), box-shadow var(--duration-fast) var(--sa-ease);
  display: flex;
  flex-direction: column;
  background: var(--sa-bg);
  border: 1px solid var(--sa-line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--sa-shadow-sm);
}
.sa-premium .sa-media-card:not(:first-child) {
  margin-left: -80px;
  box-shadow: -1.5rem 0 2rem -1rem hsl(var(--sa-shadow-hsl) / 0.06), var(--sa-shadow-sm);
}
.sa-premium .sa-media-card:hover,
.sa-premium .sa-media-card:focus-within {
  transform: translate(0, -8px) rotate(2deg);
  box-shadow: var(--sa-shadow-md);
}
.sa-premium .sa-media-card:hover ~ .sa-media-card,
.sa-premium .sa-media-card:focus-within ~ .sa-media-card {
  transform: translateX(80px);
}
.sa-premium .sa-media-card:first-child:hover,
.sa-premium .sa-media-card:first-child:focus-within {
  transform: translate(-4px, -8px) rotate(2deg);
}
@media (max-width: 1024px) {
  .sa-premium .sa-media-card:not(:first-child) { margin-left: -40px; }
  .sa-premium .sa-media-card:hover ~ .sa-media-card,
  .sa-premium .sa-media-card:focus-within ~ .sa-media-card {
    transform: translateX(40px);
  }
}
@media (max-width: 600px) {
  .sa-premium .sa-media-card:not(:first-child) { margin-left: -20px; }
  .sa-premium .sa-media-card:hover ~ .sa-media-card,
  .sa-premium .sa-media-card:focus-within ~ .sa-media-card {
    transform: translateX(20px);
  }
}
.sa-premium .sa-media-card.is-playing .sa-media-thumb-wrap {
  position: relative;
}
.sa-premium .sa-media-card.is-playing .sa-media-thumb,
.sa-premium .sa-media-card.is-playing .sa-media-play {
  display: none;
}
.sa-premium .sa-media-card.is-playing .sa-media-info {
  display: none;
}
.sa-premium .sa-media-thumb-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 13px 13px 0 0;
  background: var(--sa-line);
  cursor: pointer;
}
.sa-premium .sa-media-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sa-premium .sa-media-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  transition: background var(--duration-fast) var(--sa-ease), transform var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-media-play-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--sa-shadow-lg);
  transition: transform var(--duration-fast) var(--sa-ease), background var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-media-play-icon::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 20px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 6px;
}
.sa-premium .sa-media-card:hover .sa-media-play {
  background: rgba(0, 0, 0, 0.5);
}
.sa-premium .sa-media-card:hover .sa-media-play-icon {
  transform: scale(1.08);
  background: var(--sa-accent-original);
}
.sa-premium .sa-media-card:hover .sa-media-play-icon::after {
  border-left-color: #fff;
}
.sa-premium .sa-media-card iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.sa-premium .sa-media-info {
  padding: 16px 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sa-premium .sa-media-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--sa-ink);
  line-height: 1.3;
  font-family: Poppins, system-ui, sans-serif;
}
.sa-premium .sa-media-youtube-link {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--sa-accent-original);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: stretch;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px;
  margin: 0 -14px -6px;
  border-radius: 10px;
  transition: color var(--duration-fast) var(--sa-ease), opacity var(--duration-fast) var(--sa-ease), background var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-media-youtube-link:hover {
  color: var(--sa-accent-2);
  text-decoration: underline;
  background: color-mix(in srgb, var(--sa-accent-original) 14%, transparent);
}
.sa-premium .sa-media-youtube-link:focus-visible {
  outline: 3px solid var(--sa-accent-original);
  outline-offset: 2px;
}
.sa-premium .sa-media-youtube-link::after {
  content: '↗';
  font-size: 0.75em;
  opacity: 0.8;
}

/* =========================================================
 Media / Webinars: #media .sa-sec-media
 YouTube thumbnails, scroll carousel
 ========================================================= */
.sa-premium .sa-sec-media {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 70%);
  border-top: 1px solid var(--sa-line);
}
.sa-premium .sa-media-kicker {
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--sa-muted);
}
.sa-premium .sa-media-note {
  font-size: 0.85rem;
  color: var(--sa-muted);
  text-align: center;
  margin-bottom: 0;
}
.sa-premium .sa-inline-code {
  font-family: monospace;
  font-size: 0.8em;
  padding: 2px 6px;
  background: var(--sa-soft);
  border-radius: 4px;
}

/* =========================================================
 Framework: #why-reinstatement-happens .sa-sec-mechanism
 Directional flow; mechanics (evaluation process), not features
========================================================= */
.sa-premium .sa-sec-mechanism {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 70%);
}
.sa-premium .sa-sec-mechanism .sa-sec-head .sa-lead {
  margin-bottom: 0;
  font-size: 1.05rem;
  line-height: 1.62;
}
.sa-premium .sa-sec-mechanism .sa-sec-head {
  margin-bottom: 32px;
}
.sa-premium .sa-sec-mechanism .sa-framework {
  margin-top: 40px;
}
.sa-premium .sa-framework-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sa-muted);
  margin-bottom: 12px;
}

/* Card container: CSS-Tricks flex-wrap pattern */
.sa-premium .sa-framework {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
  position: relative;
}
.sa-premium .sa-framework > * {
  flex: 1 1 min(220px, 100%);
  min-width: 0;
}

/* Framework: evaluation mechanism, not feature cards: clear connection between steps */
.sa-premium .sa-fw-item {
  background: rgba(255,255,255,0.5);
  border: 1px solid var(--sa-line);
  border-left: 3px solid var(--sa-accent-original);
  border-radius: 0 8px 8px 0;
  padding: 18px 16px 18px 20px;
  position: relative;
  box-shadow: var(--sa-shadow-sm);
  transition: transform var(--duration-normal) var(--sa-ease), box-shadow var(--duration-normal) var(--sa-ease);
}
.sa-premium .sa-fw-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--sa-shadow-md);
}
/* Connector between steps: dotted line to next (desktop) so process feels mechanical */
@media (min-width: 1025px) {
  .sa-premium .sa-fw-item:not(:nth-child(4n))::after {
    content: "";
    position: absolute;
    right: -6px;
    top: 50%;
    width: 12px;
    height: 0;
    border-top: 2px dotted var(--sa-line-strong);
  }
}
@media (min-width: 601px) and (max-width: 1024px) {
  .sa-premium .sa-fw-item:nth-child(2n)::after { content: none; }
  .sa-premium .sa-fw-item:not(:nth-child(2n))::after {
    content: "";
    position: absolute;
    right: -6px;
    top: 50%;
    width: 12px;
    height: 0;
    border-top: 2px dotted var(--sa-line-strong);
  }
}
/* Framework: header row (icon + number) */
.sa-premium .sa-fw-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.sa-premium .sa-fw-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(242, 108, 15, 0.1);
  color: var(--sa-accent-original);
  flex-shrink: 0;
}
.sa-premium .sa-fw-icon svg {
  width: 20px;
  height: 20px;
}
.sa-premium .sa-fw-item .sa-fw-num {
  font-size: 0.9rem;
  margin-bottom: 0;
  color: var(--sa-accent-original);
  font-weight: 600;
  letter-spacing: 0.06em;
}
.sa-premium .sa-fw-item .sa-fw-title {
  font-size: 1rem;
}
.sa-premium .sa-fw-item .sa-fw-text {
  font-size: 0.9rem;
  color: var(--sa-muted);
}

/* Staggered reveal on scroll: unique entrance (only when JS adds .sa-framework-reveal-ready) */
.sa-premium .sa-framework.sa-framework-reveal-ready:not(.is-revealed) [data-sa-fw-item] {
  opacity: 0;
  transform: translateY(16px);
}
.sa-premium .sa-framework.is-revealed [data-sa-fw-item] {
  opacity: 1;
  transform: translateY(0);
}
.sa-premium .sa-framework.is-revealed [data-sa-fw-item]:nth-child(1) { transition-delay: 0ms; }
.sa-premium .sa-framework.is-revealed [data-sa-fw-item]:nth-child(2) { transition-delay: 60ms; }
.sa-premium .sa-framework.is-revealed [data-sa-fw-item]:nth-child(3) { transition-delay: 120ms; }
.sa-premium .sa-framework.is-revealed [data-sa-fw-item]:nth-child(4) { transition-delay: 180ms; }
.sa-premium [data-sa-fw-item] {
  transition: opacity var(--duration-slow) var(--sa-ease-out), transform var(--duration-slow) var(--sa-ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .sa-premium .sa-framework.sa-framework-reveal-ready:not(.is-revealed) [data-sa-fw-item] {
    opacity: 1;
    transform: none;
  }
  .sa-premium .sa-fw-item:hover {
    transform: none;
  }
}

.sa-premium .sa-fw-num {
  padding-top: 6px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--sa-accent-original);
  margin-bottom: 6px;
  font-size: 0.95rem;
}
.sa-premium .sa-fw-title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--sa-ink);
  margin-bottom: 6px;
}
.sa-premium .sa-fw-text {
  color: var(--sa-text);
  line-height: 1.6;
  font-size: 0.95rem;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

/* =========================================================
 Why appeals fail: #why-appeals-fail .sa-sec-appeals-fail
 Emotional contrast; loop = trap; CTA = escape
========================================================= */
.sa-premium .sa-sec-appeals-fail {
  background: linear-gradient(180deg, rgba(254,226,226,0.5) 0%, rgba(254,226,226,0.35) 40%, var(--sa-soft) 75%, #fff 95%);
  border-top: 1px solid rgba(185,28,28,0.2);
}

.sa-premium .sa-sec-appeals-fail .sa-h2 { color: var(--sa-ink); }
.sa-premium .sa-sec-appeals-fail .sa-lead {
  font-weight: 700;
  color: var(--sa-text);
  padding-left: 17px;
  margin-top: 12px;
}
.sa-premium .sa-sec-appeals-fail .sa-sec-head {
  margin-bottom: 24px;
}
.sa-premium .sa-appeals-fail-kicker {
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: 0.12em;
}

/* DIY appeals collapse: numbered steps (stacked mobile, 3-up desktop) */
.sa-premium .sa-appeal-loop {
  margin-top: 28px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  position: relative;
  display: grid;
  gap: 0;
  counter-reset: loop-step;
}
.sa-premium .sa-appeal-loop::before {
  content: none;
}
.sa-premium .sa-loop-step {
  position: relative;
  padding: 14px 0 14px 44px;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  border-left: 2px solid var(--sa-line-strong);
  border-bottom: 1px solid var(--sa-line);
  counter-increment: loop-step;
}
.sa-premium .sa-loop-step:first-child {
  margin-top: 0;
  padding-top: 14px;
}
.sa-premium .sa-loop-step:last-of-type {
  border-bottom: none;
}
.sa-premium .sa-loop-step::before {
  content: counter(loop-step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--sa-accent-original);
}

.sa-premium .sa-loop-step-rejected {
  position: relative;
  overflow: visible;
  border-left-color: rgba(185, 28, 28, 0.5);
  background: rgba(254, 226, 226, 0.15);
  padding-right: clamp(3.25rem, 22vw, 5rem);
}

.sa-premium .sa-loop-arrow {
  display: none;
}

@media (min-width: 960px) {
  .sa-premium .sa-appeal-loop {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0 10px;
    align-items: stretch;
  }
  .sa-premium .sa-appeal-loop > .sa-loop-step {
    border-left: none;
    border-bottom: none;
    padding: 22px 18px 26px 52px;
    margin: 0;
    background: #fff;
    border-radius: 14px;
    border: 1px solid var(--sa-line);
    box-shadow: var(--sa-shadow-sm);
    min-height: 100%;
  }
  .sa-premium .sa-appeal-loop > .sa-loop-step::before {
    left: 16px;
    top: 22px;
  }
  .sa-premium .sa-appeal-loop > .sa-loop-step-rejected {
    padding-right: clamp(5.25rem, 14vw, 7rem);
    background: linear-gradient(180deg, rgba(254, 226, 226, 0.45) 0%, #fff 55%);
    border-color: rgba(185, 28, 28, 0.22);
  }
  .sa-premium .sa-loop-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    min-width: 1.25rem;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1;
    color: var(--sa-accent-original);
    user-select: none;
  }
  .sa-premium .sa-loop-note {
    grid-column: 1 / -1;
    margin-top: 8px;
  }
  .sa-premium .sa-sec-appeals-fail .sa-appeal-loop > .sa-cta-row {
    grid-column: 1 / -1;
  }
}

.sa-premium .sa-rejected-stamp {
  position: absolute;
  top: 10px;
  right: -4px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.15em;
  color: #fff;
  background: #b91c1c;
  border: 2px solid #991b1b;
  border-radius: 4px;
  transform: rotate(12deg) translateX(6px);
  box-shadow: 0 2px 8px rgba(185, 28, 28, 0.4);
  opacity: 0.95;
  pointer-events: none;
}

.sa-premium .sa-loop-title {
  font-weight: 700;
  color: var(--sa-ink);
  margin-bottom: 6px;
  font-size: 1rem;
}
.sa-premium .sa-loop-step-rejected .sa-loop-title {
  color: var(--sa-ink);
}
.sa-premium .sa-loop-text {
  color: var(--sa-text);
  line-height: 1.6;
  font-size: 0.95rem;
}

.sa-premium .sa-loop-note {
  margin-top: 20px;
  padding: 16px 0 0;
  border-top: 1px solid var(--sa-line-strong);
  color: var(--sa-text-strong);
  font-weight: 600;
  font-size: 0.95rem;
}

.sa-premium .sa-sec-appeals-fail .sa-cta-row {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--sa-line-strong);
  text-align: center;
}
.sa-premium .sa-sec-appeals-fail .sa-cta-row .sa-btn-primary {
  padding: 1.25rem 2.75rem;
  font-size: 17px;
  font-weight: 700;
  width: 100%;
  max-width: 340px;
  display: inline-flex;
  justify-content: center;
  box-shadow: var(--sa-shadow-accent);
}
.sa-premium .sa-sec-appeals-fail .sa-btn-primary::after {
  content: " →";
  margin-left: 6px;
  font-weight: 700;
}

/* =========================================================
 Strategy review: #strategy-review .sa-sec-strategy
 Intake → outcomes split card; numbered vs check lists; complimentary case-review badge in markup
========================================================= */
.sa-premium .sa-sec-strategy { background: #fff; }

/* Strategy: H2 + inline complimentary badge (semantic markup) */
.sa-premium .sa-sec-strategy .sa-h2--strategy {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 14px 16px;
  flex-wrap: wrap;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.25;
}
.sa-premium .sa-sec-strategy .sa-h2-strategy-text {
  flex: 1 1 280px;
  min-width: 0;
}
.sa-premium .sa-strategy-free-badge {
  flex: 0 0 auto;
  align-self: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 999px;
  border: 2px solid rgba(34, 197, 94, 0.45);
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.2) 0%, rgba(34, 197, 94, 0.1) 100%);
  color: #166534;
  box-shadow: 0 1px 2px rgba(22, 101, 52, 0.12);
}

/* Intake → outcomes split card */
.sa-premium .sa-strategy-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.12fr);
  gap: 0;
  margin-top: 28px;
  align-items: stretch;
  border-radius: var(--sa-r-lg);
  border: 1px solid var(--sa-line-strong);
  background: var(--sa-bg);
  box-shadow: var(--sa-shadow-md);
  overflow: hidden;
}

.sa-premium .sa-strategy-lane {
  min-width: 0;
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
}

.sa-premium .sa-strategy-lane--in {
  background: linear-gradient(165deg, var(--sa-soft-2) 0%, #fff 55%);
  border-right: 1px solid var(--sa-line);
}

.sa-premium .sa-strategy-lane--out {
  background: linear-gradient(
    165deg,
    rgba(255, 247, 237, 0.85) 0%,
    rgba(255, 255, 255, 0.98) 65%
  );
  border-left: 3px solid rgba(242, 108, 15, 0.35);
  box-shadow: inset 1px 0 0 rgba(242, 108, 15, 0.08);
}

.sa-premium .sa-strategy-lane-head {
  margin-bottom: 14px;
}

.sa-premium .sa-strategy-lane-eyebrow {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sa-muted);
  margin-bottom: 6px;
}

.sa-premium .sa-strategy-lane--out .sa-strategy-lane-eyebrow {
  color: var(--sa-accent-original);
}

.sa-premium .sa-strategy-lane-title {
  margin: 0 0 8px 0;
  font-size: clamp(1.05rem, 1.5vw, 1.15rem);
  font-weight: 800;
  color: var(--sa-ink);
  line-height: 1.3;
}

.sa-premium .sa-strategy-lane-note {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--sa-muted);
}

.sa-premium .sa-strategy-connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 44px;
  flex-shrink: 0;
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 50%, var(--sa-soft) 100%);
  border-left: 1px solid var(--sa-line);
  border-right: 1px solid var(--sa-line);
}

.sa-premium .sa-strategy-connector-line {
  flex: 1 1 12px;
  width: 1px;
  min-height: 8px;
  background: linear-gradient(180deg, transparent, rgba(242, 108, 15, 0.35), transparent);
}

.sa-premium .sa-strategy-connector-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 800;
  color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.12);
  border: 1px solid rgba(242, 108, 15, 0.35);
  box-shadow: var(--sa-shadow-sm);
}

.sa-premium .sa-strategy-split .sa-strategy-list {
  margin-top: 4px;
}

/* Numbered intake list */
.sa-premium .sa-strategy-list--numbered {
  counter-reset: strat-in;
}

.sa-premium .sa-strategy-list--numbered li {
  padding-left: 32px;
  counter-increment: strat-in;
}

.sa-premium .sa-strategy-list--numbered li::before {
  content: counter(strat-in, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(51, 65, 85, 0.06);
  border: 1px solid rgba(51, 65, 85, 0.12);
  color: var(--sa-accent-original);
  line-height: 22px;
  text-align: center;
}

/* Outcomes: same disc + SVG check as What's included (brand orange = After review lane) */
.sa-premium .sa-strategy-list--checks li {
  padding-left: 30px;
}

.sa-premium .sa-strategy-list--checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.32em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--sa-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5%206.2%205.1%208.8%209.5%203.2'/%3E%3C/svg%3E");
  background-size: 11px 11px;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.sa-premium .sa-strategy-deliverables-list li {
  font-weight: 500;
  color: var(--sa-text-strong);
  font-size: 0.88rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .sa-premium .sa-strategy-split {
    grid-template-columns: 1fr;
  }
  .sa-premium .sa-strategy-lane--in {
    border-right: none;
    border-bottom: 1px solid var(--sa-line);
  }
  .sa-premium .sa-strategy-lane--out {
    border-left: none;
    border-top: none;
    box-shadow: none;
  }
  .sa-premium .sa-strategy-connector {
    flex-direction: row;
    width: 100%;
    height: 44px;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--sa-line);
    padding: 0 16px;
  }
  .sa-premium .sa-strategy-connector-line {
    flex: 1 1 20px;
    width: auto;
    height: 1px;
    min-height: 0;
    min-width: 0;
    background: linear-gradient(90deg, transparent, rgba(242, 108, 15, 0.35), transparent);
  }
  .sa-premium .sa-strategy-connector-arrow {
    transform: rotate(90deg);
  }
}

/* Single-column layout: prose below split */
.sa-premium .sa-strategy-block {
  margin-top: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  background: transparent;
  max-width: 1040px;
}
.sa-premium .sa-strategy-block > p {
  margin-bottom: 12px;
}

.sa-premium .sa-strategy-block > p:first-of-type {
  margin-bottom: 10px;
}
.sa-premium .sa-strategy-block > .sa-strategy-split + p {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--sa-line);
}
.sa-premium .sa-strategy-block > p + p {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--sa-line);
}
.sa-premium .sa-strategy-block > .sa-cta-row {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 2px solid var(--sa-line);
}

.sa-premium .sa-strategy-close {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed rgba(242, 108, 15, 0.28);
  color: var(--sa-ink);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* =========================================================
 Full-service pricing: #premium-pricing .sa-sec-pricing
 (id unchanged for anchors; compare table: document vs full case service)
========================================================= */
.sa-premium .sa-sec-pricing {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 78%);
}

.sa-premium .sa-compare {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 18px;
}
@media (max-width: 900px) {
  .sa-premium .sa-compare { grid-template-columns: 1fr; }
}

.sa-premium .sa-compare {
  overflow: visible;
}
.sa-premium .sa-compare-col {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 20px 0;
  padding-left: 20px;
  border-left: 4px solid var(--sa-line);
  position: relative;
  overflow: visible;
  min-width: 0;
  z-index: 0;
}
.sa-premium .sa-compare-col:last-child {
  z-index: 1;
}

.sa-premium .sa-compare-title {
  padding-top: 0;
  font-weight: 700;
  color: var(--sa-ink);
  margin-bottom: 12px;
  font-size: 1.05rem;
}

.sa-premium .sa-compare-col:first-child {
  opacity: 1;
  background: transparent;
  border-left-style: dashed;
}
.sa-premium .sa-compare-col:last-child {
  border-left: 4px solid var(--sa-accent-original);
  box-shadow: none;
  padding: 20px 0 20px 20px;
  z-index: 1;
  background: transparent;
  position: relative;
}
.sa-premium .sa-compare-col:last-child::before {
  content: "Recommended";
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--sa-accent-original);
  background: transparent;
  padding: 0;
  position: static;
  display: block;
  margin-bottom: 8px;
}

/* Document vs Premium comparison table */
.sa-premium .sa-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

.sa-premium .sa-compare-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: var(--sa-r-md);
  border: 1px solid var(--sa-line-strong);
  background: var(--sa-bg);
  box-shadow: var(--sa-shadow-md);
  -webkit-overflow-scrolling: touch;
}

.sa-premium .sa-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.5;
}

.sa-premium .sa-compare-table th,
.sa-premium .sa-compare-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--sa-line);
  vertical-align: top;
}

.sa-premium .sa-compare-table tbody td.sa-compare-cell-doc,
.sa-premium .sa-compare-table tbody td.sa-compare-cell-premium {
  padding-left: 48px;
}

.sa-premium .sa-compare-table thead th {
  padding: 16px 16px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  color: var(--sa-muted);
  border-bottom: 1px solid var(--sa-line-strong);
}

.sa-premium .sa-compare-th-cat {
  position: relative;
  width: 22%;
  background: var(--sa-soft-2);
  border-right: 1px solid var(--sa-line);
}

.sa-premium .sa-compare-th-doc {
  width: 39%;
  background: linear-gradient(180deg, #eef1f5 0%, #e8ecf1 100%);
  color: var(--sa-muted);
  border-right: 1px solid var(--sa-line);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.sa-premium .sa-compare-th-premium {
  width: 39%;
  position: relative;
  background: linear-gradient(
    165deg,
    rgba(242, 108, 15, 0.14) 0%,
    rgba(255, 159, 77, 0.08) 45%,
    #fff 100%
  );
  color: var(--sa-accent-original);
  border-left: 3px solid var(--sa-accent-original);
  padding-left: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.sa-premium .sa-compare-th-premium-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.sa-premium .sa-compare-th-premium-label {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sa-text-strong);
}

.sa-premium .sa-compare-badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(180deg, var(--sa-accent-original) 0%, #d45a0a 100%);
  padding: 4px 10px;
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(180, 83, 9, 0.35);
}

.sa-premium .sa-compare-table tbody th[scope="row"] {
  font-weight: 700;
  color: var(--sa-ink);
  width: 22%;
  background: var(--sa-soft);
  border-right: 1px solid var(--sa-line);
}

.sa-premium .sa-compare-table tbody tr:last-child th,
.sa-premium .sa-compare-table tbody tr:last-child td {
  border-bottom: none;
}

.sa-premium .sa-compare-table tbody tr:nth-child(even) th[scope="row"] {
  background: #f1f4f8;
}

.sa-premium .sa-compare-table tbody tr:nth-child(even) td.sa-compare-cell-doc {
  background: rgba(248, 250, 252, 0.95);
}

.sa-premium .sa-compare-table tbody tr:nth-child(even) td.sa-compare-cell-premium {
  background: rgba(255, 247, 237, 0.65);
}

.sa-premium .sa-compare-table tbody td.sa-compare-cell-doc {
  position: relative;
  color: var(--sa-muted);
  font-weight: 500;
}

.sa-premium .sa-compare-table tbody td.sa-compare-cell-doc::before {
  content: "\d7";
  position: absolute;
  left: 14px;
  top: 15px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(185, 28, 28, 0.1);
  border: 1px solid rgba(185, 28, 28, 0.28);
  font-size: 0.95rem;
  font-weight: 800;
  color: #b91c1c;
  line-height: 22px;
  text-align: center;
}

.sa-premium .sa-compare-table tbody td.sa-compare-cell-doc--empty::before {
  content: "\2014";
  font-size: 0.8rem;
  font-weight: 700;
  color: #94a3b8;
  background: rgba(148, 163, 184, 0.12);
  border-color: rgba(148, 163, 184, 0.35);
}

.sa-premium .sa-compare-none {
  color: var(--sa-muted);
  font-style: italic;
}

.sa-premium .sa-compare-table tbody td.sa-compare-cell-premium {
  position: relative;
  color: var(--sa-ink);
  font-weight: 600;
  background: rgba(255, 247, 237, 0.35);
  border-left: 1px solid rgba(242, 108, 15, 0.12);
  box-shadow: inset 1px 0 0 rgba(242, 108, 15, 0.06);
}

.sa-premium .sa-compare-table tbody td.sa-compare-cell-premium::before {
  content: "\2713";
  position: absolute;
  left: 14px;
  top: 15px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(242, 108, 15, 0.14);
  border: 1px solid rgba(242, 108, 15, 0.38);
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--sa-accent-original);
  line-height: 22px;
  text-align: center;
}

/* Mobile: stack compare rows as cards so three columns are not clipped (desktop table unchanged) */
@media (max-width: 640px) {
  .sa-premium .sa-compare-table-wrap {
    overflow-x: visible;
    -webkit-overflow-scrolling: auto;
  }

  .sa-premium .sa-compare-table {
    display: block;
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .sa-premium .sa-compare-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
  }

  .sa-premium .sa-compare-table tbody {
    display: block;
  }

  .sa-premium .sa-compare-table tbody tr {
    display: block;
    margin-bottom: 12px;
    border: 1px solid var(--sa-line-strong);
    border-radius: var(--sa-r-md);
    background: var(--sa-bg);
    box-shadow: var(--sa-shadow-sm);
    overflow: hidden;
  }

  .sa-premium .sa-compare-table tbody tr:last-child {
    margin-bottom: 0;
  }

  .sa-premium .sa-compare-table tbody th[scope="row"] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid var(--sa-line-strong);
    padding: 10px 14px;
    background: var(--sa-soft-2);
    font-size: 0.84rem;
  }

  .sa-premium .sa-compare-table tbody td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid var(--sa-line);
    padding: 62px 14px 14px 44px;
    position: relative;
    min-height: 0;
    font-size: 0.88rem;
  }

  .sa-premium .sa-compare-table tbody tr td:last-child {
    border-bottom: none;
  }

  .sa-premium .sa-compare-table tbody td.sa-compare-cell-doc::after {
    content: "Document";
    position: absolute;
    top: 10px;
    left: 44px;
    right: 12px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--sa-muted);
    line-height: 1.2;
  }

  .sa-premium .sa-compare-table tbody td.sa-compare-cell-premium {
    background: rgba(255, 247, 237, 0.55);
    border-left: none;
    box-shadow: none;
  }

  .sa-premium .sa-compare-table tbody td.sa-compare-cell-premium::after {
    content: "Full case service";
    position: absolute;
    top: 10px;
    left: 44px;
    right: 12px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--sa-accent-original);
    line-height: 1.2;
  }

  .sa-premium .sa-compare-table tbody td.sa-compare-cell-doc::before,
  .sa-premium .sa-compare-table tbody td.sa-compare-cell-premium::before {
    left: 12px;
    top: 36px;
    width: 22px;
    height: 22px;
    line-height: 22px;
    font-size: 0.8rem;
  }

  .sa-premium .sa-compare-table tbody td.sa-compare-cell-doc--empty::before {
    font-size: 0.72rem;
  }

  .sa-premium .sa-compare-table tbody tr:nth-child(even) td.sa-compare-cell-doc,
  .sa-premium .sa-compare-table tbody tr:nth-child(even) td.sa-compare-cell-premium {
    background: rgba(248, 250, 252, 0.98);
  }

  .sa-premium .sa-compare-table tbody tr:nth-child(even) td.sa-compare-cell-premium {
    background: rgba(255, 247, 237, 0.65);
  }
}

/* =========================================================
 Suspension types: #suspension-types .sa-sec-types
 Card grid: row1 = 3 cols, row2 = 2 cols centered (6-column CSS grid). Bullets link to articles; no per-card category footer CTA.
 Must beat .sa-premium-page > section:nth-of-type(even) zebra (same as .sa-sec-keywords-guide).
 Bottom fades to --sa-soft-2 so #lawyer meets without a white seam.
========================================================= */
.sa-premium-page > section.sa-sec.sa-sec-types {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #ffffff 58%, var(--sa-soft-2) 100%);
  border-bottom: none;
}

.sa-premium .sa-types-intro {
  font-size: 17px;
  color: var(--sa-text);
  line-height: 1.55;
  padding: 0;
  background: transparent;
  border-radius: 0;
  border: none;
  margin-top: 24px;
  max-width: 640px;
  font-weight: 600;
}
.sa-premium .sa-types-intro a {
  color: var(--sa-link);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sa-premium .sa-types-intro a:hover {
  color: var(--sa-link-hover);
}

/* Row 1: three equal cards; row 2: two cards centered (6-column grid) */
.sa-premium .sa-types-cards {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.sa-premium .sa-types-card:nth-child(1) { grid-column: 1 / 3; }
.sa-premium .sa-types-card:nth-child(2) { grid-column: 3 / 5; }
.sa-premium .sa-types-card:nth-child(3) { grid-column: 5 / 7; }
.sa-premium .sa-types-card:nth-child(4) { grid-column: 2 / 4; }
.sa-premium .sa-types-card:nth-child(5) { grid-column: 4 / 6; }
@media (max-width: 767px) {
  .sa-premium .sa-types-cards {
    grid-template-columns: 1fr;
    gap: 20px;
    grid-auto-rows: auto;
  }
  .sa-premium .sa-types-card:nth-child(n) {
    grid-column: auto;
  }
}

.sa-premium .sa-types-card {
  background: #fff;
  border: 1px solid var(--sa-line);
  border-radius: 14px;
  padding: 20px 20px 20px 20px;
  border-left: 4px solid var(--sa-accent-original);
  box-shadow: var(--sa-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  align-items: stretch;
  transition: box-shadow var(--duration-fast) var(--sa-ease), border-color var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-types-card:hover {
  box-shadow: var(--sa-shadow-md);
  border-left-color: var(--sa-accent-original);
}

.sa-premium .sa-types-card-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--sa-ink);
  letter-spacing: -0.01em;
  padding: 0;
  border: none;
  line-height: 1.3;
}
.sa-premium .sa-types-card-title::before { display: none; }

.sa-premium .sa-types-keywords-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.sa-premium .sa-types-keywords-list li {
  font-size: 14px;
  color: var(--sa-text);
  line-height: 1.5;
  padding-left: 0;
  position: relative;
}
/* Topic rows: no muted dot; links carry their own affordance */
.sa-premium .sa-types-keywords-list li::before {
  display: none;
}
.sa-premium .sa-types-keywords-list li a {
  color: var(--sa-link);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(180, 83, 9, 0.45);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--duration-fast) var(--sa-ease),
    text-decoration-color var(--duration-fast) var(--sa-ease);
}
/* Trailing chevron: reads as “go to article” before hover */
.sa-premium .sa-types-keywords-list li a::after {
  content: "";
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  margin-left: 0.35em;
  margin-bottom: 0.06em;
  vertical-align: middle;
  border-right: 2px solid var(--sa-link);
  border-bottom: 2px solid var(--sa-link);
  transform: rotate(-45deg);
  opacity: 0.75;
  text-decoration: none;
}
.sa-premium .sa-types-keywords-list li a:hover {
  color: var(--sa-link-hover);
  text-decoration-color: rgba(146, 64, 14, 0.65);
}
.sa-premium .sa-types-keywords-list li a:hover::after {
  border-color: var(--sa-link-hover);
  opacity: 1;
}
.sa-premium .sa-types-keywords-list li a:focus-visible {
  outline: 2px solid var(--sa-accent-original);
  outline-offset: 3px;
  border-radius: 2px;
}
.sa-premium .sa-types-card-guarantee {
  margin: 10px 0 0 0;
  font-size: 0.85rem;
  color: var(--sa-text);
  line-height: 1.45;
}
.sa-premium .sa-types-card-guarantee a {
  color: var(--sa-accent-original);
  font-weight: 600;
}

.sa-premium .sa-condition-guarantee-callout {
  padding: 20px 24px;
  background: linear-gradient(135deg, rgba(242, 108, 15, 0.06) 0%, rgba(255, 255, 255, 0.95) 100%);
  border: 1px solid rgba(242, 108, 15, 0.25);
  border-radius: var(--sa-r-md);
}
.sa-premium .sa-condition-guarantee-heading {
  margin: 0 0 10px 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--sa-ink);
}
.sa-premium .sa-condition-guarantee-callout p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--sa-text);
}
.sa-premium .sa-condition-guarantee-callout a {
  color: var(--sa-accent-original);
  font-weight: 600;
}

/* #lawyer .sa-sec-lawyer (beat nth-of-type(odd) #fff zebra; same bg as types gradient end) */
.sa-premium-page > section.sa-sec.sa-sec-lawyer {
  background: var(--sa-soft-2);
  border-bottom: 1px solid var(--sa-line-strong);
  padding-top: 140px;
  padding-bottom: 140px;
  margin-top: 0;
  margin-bottom: 0;
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
}
.sa-premium .sa-sec-lawyer .sa-wrap {
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.sa-premium .sa-sec-lawyer .sa-sec-head p,
.sa-premium .sa-sec-lawyer .sa-h2 {
  hyphens: none;
  -webkit-hyphens: none;
}
.sa-premium .sa-sec-lawyer .sa-h2 {
  border-left-color: var(--sa-line-strong);
  font-size: clamp(20px, 2.2vw, 26px);
}
.sa-premium .sa-lawyer-content {
  max-width: 920px;
  margin-top: 24px;
}
.sa-premium .sa-lawyer-story {
  counter-reset: lawyer-step;
}
.sa-premium .sa-lawyer-block {
  counter-increment: lawyer-step;
  position: relative;
  margin: 0 0 18px 0;
  padding: 20px 22px 22px 58px;
  border-radius: var(--sa-r-md);
  border: 1px solid var(--sa-line);
  background: #fff;
  box-shadow: var(--sa-shadow-sm);
  border-left: 4px solid var(--sa-line-strong);
  transition: box-shadow var(--duration-fast) var(--sa-ease), border-color var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-lawyer-block:hover {
  box-shadow: var(--sa-shadow-md);
}
.sa-premium .sa-lawyer-block:nth-child(1) {
  border-left-color: #64748b;
}
.sa-premium .sa-lawyer-block:nth-child(2) {
  border-left-color: var(--sa-accent-original);
}
.sa-premium .sa-lawyer-block:nth-child(3) {
  border-left-color: #0d9488;
}
.sa-premium .sa-lawyer-block::before {
  content: counter(lawyer-step, decimal-leading-zero);
  position: absolute;
  left: 18px;
  top: 22px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 28px;
  text-align: center;
  color: var(--sa-ink);
  background: var(--sa-soft-2);
  border: 1px solid var(--sa-line-strong);
}
.sa-premium .sa-lawyer-block:nth-child(1)::before {
  color: #475569;
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.25);
}
.sa-premium .sa-lawyer-block:nth-child(2)::before {
  color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.1);
  border-color: rgba(242, 108, 15, 0.3);
}
.sa-premium .sa-lawyer-block:nth-child(3)::before {
  color: #0f766e;
  background: rgba(13, 148, 136, 0.1);
  border-color: rgba(13, 148, 136, 0.28);
}
.sa-premium .sa-lawyer-content p {
  margin-bottom: 0;
  hyphens: none;
  -webkit-hyphens: none;
}
.sa-premium .sa-lawyer-inline-link {
  color: var(--sa-link);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(180, 83, 9, 0.45);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--duration-fast) var(--sa-ease),
    text-decoration-color var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-lawyer-inline-link:hover {
  color: var(--sa-link-hover);
  text-decoration-color: rgba(146, 64, 14, 0.65);
}
.sa-premium .sa-lawyer-inline-link:focus-visible {
  outline: 2px solid var(--sa-accent-original);
  outline-offset: 2px;
  border-radius: 2px;
}
.sa-premium .sa-lawyer-callout {
  margin-top: 6px;
  padding: 22px 24px 22px 58px;
  border-radius: var(--sa-r-md);
  border: 1px solid rgba(242, 108, 15, 0.35);
  background: linear-gradient(135deg, rgba(242, 108, 15, 0.07) 0%, rgba(255, 255, 255, 0.98) 55%);
  box-shadow: var(--sa-shadow-sm);
  position: relative;
}
.sa-premium .sa-lawyer-callout::before {
  content: "\2713";
  position: absolute;
  left: 20px;
  top: 22px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--sa-accent-original);
  font-size: 0.75rem;
  font-weight: 900;
  line-height: 28px;
  text-align: center;
  color: #fff;
  box-shadow: 0 1px 3px rgba(180, 83, 9, 0.35);
}
.sa-premium .sa-lawyer-close {
  font-weight: 700;
  color: var(--sa-text-strong);
  font-size: 1rem;
  line-height: 1.55;
}
@media (max-width: 600px) {
  .sa-premium .sa-lawyer-block {
    padding: 18px 16px 18px 52px;
  }
  .sa-premium .sa-lawyer-block::before {
    left: 14px;
    top: 22px;
  }
  .sa-premium .sa-lawyer-callout {
    padding-left: 52px;
  }
  .sa-premium .sa-lawyer-callout::before {
    left: 14px;
  }
}

/* #faq .sa-sec-faq */
.sa-premium .sa-sec-faq {
  background: linear-gradient(180deg, var(--sa-soft) 0%, #fff 78%);
  padding-bottom: 80px;
  content-visibility: auto;
  contain-intrinsic-size: auto 400px;
}
.sa-premium .sa-sec-faq .sa-sec-head {
  margin-bottom: 16px;
}

/* Link to dedicated long-form FAQ page (homepage #faq stays this short accordion list). */
.sa-premium .sa-faq-full-link {
  margin: 0 0 24px;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.55;
  color: var(--sa-muted);
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
.sa-premium .sa-faq-full-link-a {
  color: var(--sa-accent-original);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sa-premium .sa-faq-full-link-a:hover,
.sa-premium .sa-faq-full-link-a:focus-visible {
  color: var(--sa-text-strong);
}
.sa-premium .sa-faq-full-link-a:focus-visible {
  outline: 2px solid var(--sa-accent-original);
  outline-offset: 2px;
  border-radius: 4px;
}
.sa-premium .sa-faq-full-link-hint {
  font-weight: 500;
  color: var(--sa-muted);
}

.sa-premium .sa-faq-bridge {
  font-size: 16px;
  font-weight: 500;
  color: var(--sa-text);
  text-align: center;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 0;
  background: transparent;
  border-radius: 0;
  border: none;
  border-top: 1px solid var(--sa-line);
  box-shadow: none;
}
.sa-premium .sa-sec-faq .sa-cta-row {
  margin-top: 24px;
  justify-content: center;
  gap: 16px;
}
.sa-premium .sa-sec-faq .sa-btn-primary {
  padding: 1.2rem 2.5rem;
  font-size: 17px;
  font-weight: 700;
}

.sa-premium .sa-sec-contact {
  background: linear-gradient(180deg, #fff 0%, var(--sa-soft) 20%, #fff 50%);
  border-top: 1px solid var(--sa-line);
  padding-top: 100px;
}

/* Contact is last before the footer partial; section rhythm padding-bottom reads as a white strip above the dark footer.
   Use .sa-premium section (not only .sa-premium-page > section) so it still applies when Elementor wraps <main> or the page root. */
.sa-premium section#contact.sa-sec-contact {
  padding-bottom: 0;
  margin-bottom: 0;
}
#main-content.sa-premium {
  margin-bottom: 0;
  padding-bottom: 0;
}
.sa-premium #contact .sa-contact-inner {
  margin-bottom: 0;
}
.sa-premium #contact .sa-contact-form-slot .wpcf7 {
  margin-bottom: 0;
}

/* =========================================================
 Contact: #contact .sa-sec-contact
 Anxiety-reducing; form note part of flow; final CTA dominant
========================================================= */
.sa-premium .sa-sec-contact .sa-lead {
  font-weight: 500;
  color: var(--sa-text);
  max-width: 640px;
  font-size: 1rem;
}

/* Contact: two-column layout: left = head + lead + contact/options, right = form.
   Section header sits in the left column so the H2 top-aligns with the form intro on the right. */
.sa-premium .sa-contact-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px 56px;
  align-items: start;
  margin-top: 0;
}
.sa-premium .sa-contact-left .sa-contact-head {
  max-width: none;
  margin-bottom: 20px;
}
.sa-premium .sa-contact-inner.sa-contact-form-only {
  grid-template-columns: 1fr;
}
.sa-premium .sa-contact-left {
  min-width: 0;
}
/* Lead block beside form: clear separation between paragraphs */
.sa-premium .sa-contact-lead {
  margin-bottom: 28px;
}
.sa-premium .sa-contact-lead .sa-lead {
  margin-top: 0;
  margin-bottom: 18px;
  font-weight: 500;
  color: var(--sa-text);
  max-width: 640px;
  font-size: 1rem;
  line-height: 1.6;
}
.sa-premium .sa-contact-lead .sa-lead:last-child {
  margin-bottom: 0;
}
.sa-premium .sa-contact-lead .sa-contact-informed {
  margin: 18px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--sa-line);
  font-size: 0.92rem;
  line-height: 1.58;
  color: var(--sa-muted);
  max-width: 640px;
}
.sa-premium .sa-contact-right {
  min-width: 0;
}
@media (max-width: 900px) {
  .sa-premium .sa-contact-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sa-premium .sa-contact-right {
    margin-top: 0;
  }
}

/* Form intro: reduces perceived friction */
.sa-premium .sa-form-intro {
  margin: 0 0 8px 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--sa-text-strong);
  line-height: 1.5;
}

/* CF7 shortcode slot (SellerAppeal pattern): in Elementor, add a separate Shortcode widget sibling to the HTML widget; paste only [contact-form-7 id="…"]. JS moves .wpcf7 into #sa-contact-form-slot. Hide CF7 everywhere else so stray widgets do not show. */
.wpcf7 {
  display: none !important;
}
.sa-premium .sa-contact-form-slot .wpcf7 {
  display: block !important;
}
/* Blog / subpages: wrap shortcode in <div class="sa-cf7-blog">…</div> so the form is not killed by the rule above. Optional: amazonsellersappeal-cf7-blog.css for matching styles. */
.sa-cf7-blog .wpcf7 {
  display: block !important;
}
.sa-premium .sa-contact-form-slot:has(.wpcf7) .sa-form-fallback,
.sa-premium:has(.wpcf7) .sa-form-fallback,
.sa-contact-form-slot.sa-cf7-active .sa-form-fallback {
  display: none !important;
}

.sa-premium .sa-contact-form-slot {
  margin-top: 4px;
}

.sa-premium .sa-contact-block {
  margin-top: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
  position: relative;
}
.sa-premium .sa-contact-block::before {
  content: none;
}

.sa-premium .sa-contact-subhead {
  font-weight: 700;
  color: var(--sa-ink);
  margin-top: 4px;
  margin-bottom: 14px;
  font-size: 1.05rem;
  letter-spacing: 0.01em;
}

.sa-premium .sa-contact-list li a {
  color: var(--sa-link);
  text-decoration: underline;
  text-decoration-color: rgba(180, 83, 9, 0.45);
  text-underline-offset: 3px;
}
.sa-premium .sa-contact-list li a:hover {
  color: var(--sa-link-hover);
  text-decoration-color: var(--sa-link-hover);
}

.sa-premium .sa-contact-one-step {
  margin-top: 1.25rem;
}

.sa-premium .sa-contact-fast {
  margin-top: 20px;
  padding: 18px 0 0 0;
  border: none;
  border-top: 1px solid var(--sa-line);
  border-radius: 0;
  background: transparent;
}
.sa-premium .sa-contact-fast .sa-kicker {
  color: var(--sa-text);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
}
.sa-premium .sa-contact-fast-list li {
  font-weight: 500;
  color: var(--sa-text-strong);
}
/* Contact: no orange on containers: rail uses neutral (handled by global .sa-rail) */

/* Final CTA: primary unmistakably dominant at decision point */
.sa-premium .sa-sec-contact .sa-cta-row {
  align-items: center;
  gap: 24px;
  margin-top: 32px;
  padding-top: 28px;
  border-top: 2px solid var(--sa-line);
}
.sa-premium .sa-sec-contact .sa-btn-primary {
  padding: 1.5rem 3rem;
  font-size: 18px;
  font-weight: 800;
  box-shadow: var(--sa-shadow-accent);
}
.sa-premium .sa-sec-contact .sa-form-actions .sa-btn-primary {
  padding: 1.5rem 3rem;
  font-size: 18px;
  font-weight: 800;
  width: 100%;
  max-width: 440px;
}
.sa-premium .sa-sec-contact .sa-btn-secondary {
  font-size: 12px;
  padding: 0.4rem 0.8rem;
  opacity: 0.85;
  font-weight: 400;
  border-color: var(--sa-line);
  min-height: 38px;
}
@media (max-width: 600px) {
  .sa-premium .sa-sec-contact .sa-btn-primary { width: 100%; }
  .sa-premium .sa-sec-contact .sa-btn-secondary { width: 100%; }
}

/* =========================================================
 Contact form
========================================================= */
.sa-premium .sa-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sa-premium .sa-form-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sa-premium .sa-form-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--sa-ink);
  letter-spacing: 0.01em;
}
/* Clear “write here” areas: visible border, white fill, placeholder styling */
.sa-premium .sa-form-input,
.sa-premium .sa-form-select,
.sa-premium .sa-form-textarea {
  width: 100%;
  padding: 11px 14px;
  min-height: 44px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--sa-ink);
  background: #ffffff;
  border: 2px solid #cbd5e1;
  border-radius: 10px;
  transition: border-color var(--duration-normal) var(--sa-ease), box-shadow var(--duration-normal) var(--sa-ease), background-color var(--duration-normal) var(--sa-ease);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
}
.sa-premium .sa-form-input::placeholder,
.sa-premium .sa-form-textarea::placeholder {
  color: #64748b;
  opacity: 1;
}
.sa-premium .sa-form-input:hover,
.sa-premium .sa-form-select:hover,
.sa-premium .sa-form-textarea:hover {
  border-color: #94a3b8;
}
.sa-premium .sa-form-textarea {
  min-height: 130px;
  resize: vertical;
}
.sa-premium .sa-form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
}
.sa-premium .sa-form-input:focus,
.sa-premium .sa-form-select:focus,
.sa-premium .sa-form-textarea:focus {
  outline: none;
  border-color: var(--sa-accent);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.04), 0 0 0 3px rgba(255,122,24,0.2);
  background: #ffffff;
}
.sa-premium .sa-form-input:focus-visible,
.sa-premium .sa-form-select:focus-visible,
.sa-premium .sa-form-textarea:focus-visible {
  outline: 2px solid var(--sa-accent);
  outline-offset: 2px;
}
/* Form note: integrated into form flow, not appended */
.sa-premium .sa-form-include-note {
  font-size: 0.88rem;
  color: var(--sa-text);
  padding: 8px 12px;
  margin: 0 0 4px 0;
  background: var(--sa-soft);
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-r-md);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sa-premium .sa-form-include-label {
  font-weight: 600;
  font-size: 0.82rem;
  color: var(--sa-ink);
}
.sa-premium .sa-form-actions {
  margin-top: 8px;
  padding-top: 4px;
}

/* What's included: uses shared list-bar styles */

/* =========================================================
 Contact Form 7 (WordPress): match .sa-form look inside slot
========================================================= */
/* CF7: match .sa-form look inside slot */
.sa-premium .sa-contact-form-slot .wpcf7 {
  max-width: 100%;
}
.sa-premium .sa-contact-form-slot .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sa-premium .sa-contact-form-slot .wpcf7-form p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sa-premium .sa-contact-form-slot .wpcf7-form label {
  font-size: 14px;
  font-weight: 700;
  color: var(--sa-ink);
  letter-spacing: 0.01em;
}
/* Clear “write here” areas: visible border, white fill, placeholder styling */
.sa-premium .sa-contact-form-slot .wpcf7-form-control {
  width: 100%;
  padding: 11px 14px;
  min-height: 44px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--sa-ink);
  background: #ffffff;
  border: 2px solid #cbd5e1;
  border-radius: 10px;
  transition: border-color var(--duration-normal) var(--sa-ease), box-shadow var(--duration-normal) var(--sa-ease), background-color var(--duration-normal) var(--sa-ease);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control::placeholder {
  color: #64748b;
  opacity: 1;
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control:hover {
  border-color: #94a3b8;
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control:focus {
  outline: none;
  border-color: var(--sa-accent);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.04), 0 0 0 3px rgba(255,122,24,0.2);
  background: #ffffff;
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control:focus-visible {
  outline: 2px solid var(--sa-accent);
  outline-offset: 2px;
}
/* Select dropdown: same “box” look so it’s clearly a field */
.sa-premium .sa-contact-form-slot .wpcf7-form-control.wpcf7-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control.wpcf7-textarea {
  min-height: 130px;
  resize: vertical;
  padding: 11px 14px;
}
.sa-premium .sa-contact-form-slot .wpcf7-form .sa-cf7-include-note {
  margin: 0;
  padding: 8px 12px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--sa-ink);
}
.sa-premium .sa-contact-form-slot .wpcf7-form .sa-cf7-include-note strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
  color: var(--sa-ink);
}
/* Hint <p> must not inherit flex column from .wpcf7-form p (would stack each text node + <strong> on separate lines). */
.sa-premium .sa-contact-form-slot .wpcf7-form p.sa-cf7-message-hint {
  display: block;
  margin: 4px 0 1rem;
  font-size: 13px;
  color: #64748b;
  line-height: 1.45;
}
.sa-premium .sa-contact-form-slot .wpcf7-form p.sa-cf7-message-hint strong {
  display: inline;
  font-weight: 700;
  color: #475569;
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control.wpcf7-submit {
  width: auto;
  margin-top: 4px;
  cursor: pointer;
  padding: 14px 28px;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  background: var(--sa-accent);
  border: none;
  border-radius: var(--sa-r-md);
  transition: transform var(--duration-normal) var(--sa-ease), box-shadow var(--duration-normal) var(--sa-ease);
}
.sa-premium .sa-contact-form-slot .wpcf7-form-control.wpcf7-submit:hover {
  transform: translateY(-1px);
  box-shadow: var(--sa-shadow-accent);
}

/* Mobile: CF7 submit often uses long label text; full width + wrap so it isn’t clipped */
@media (max-width: 640px) {
  .sa-premium .sa-contact-form-slot,
  .sa-premium .sa-contact-right,
  .sa-premium .sa-contact-inner {
    min-width: 0;
  }
  .sa-premium .sa-contact-form-slot .wpcf7-form p:has(.wpcf7-submit) {
    max-width: 100%;
  }
  .sa-premium .sa-contact-form-slot .wpcf7-form-control.wpcf7-submit {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    line-height: 1.3;
    padding: 14px 16px;
    font-size: 15px;
    text-align: center;
    word-break: break-word;
  }
  .sa-premium .sa-sec-contact .sa-form-actions .sa-btn-primary {
    max-width: none;
    white-space: normal;
    line-height: 1.3;
    padding: 1.1rem 1.25rem;
    font-size: 16px;
    text-align: center;
  }
}
.sa-premium .sa-contact-form-slot .wpcf7-not-valid {
  border-color: #c53030;
}
.sa-premium .sa-contact-form-slot .wpcf7-not-valid-tip {
  font-size: 13px;
  color: #c53030;
}
.sa-premium .sa-contact-form-slot .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 12px 14px;
  border-radius: var(--sa-r-md);
  border-width: 1px;
  font-size: 14px;
}

/* Evidence map rows: highlight on hover/focus (replaces JS .is-active) */
.sa-premium .sa-map-row[data-map]:hover,
.sa-premium .sa-map-row[data-map]:focus-within {
  background: var(--sa-soft);
  outline: none;
}
.sa-premium .sa-map-row[data-map] {
  transition: background var(--duration-fast) var(--sa-ease);
}

/* =========================================================
 Form: word-count hint + error block (premium)
========================================================= */
.sa-premium .sa-form-hint {
  margin: 0.35rem 0 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--sa-muted);
}
.sa-premium .sa-form-field-intro {
  margin: 0 0 0.45rem 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--sa-text);
  max-width: 52ch;
}
.sa-premium .sa-form-row--textarea + .sa-form-row--textarea {
  margin-top: 1.1rem;
}
.sa-premium .sa-form-textarea.sa-form-textarea--invalid {
  border-color: #dc2626;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(220, 38, 38, 0.2);
}
.sa-premium .sa-form-word-error {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 0.75rem;
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff5f5 0%, #fef2f2 100%);
  border: 1px solid rgba(220, 38, 38, 0.35);
  border-radius: var(--sa-r-md);
  color: var(--sa-ink);
  box-shadow: 0 2px 10px rgba(220, 38, 38, 0.06);
}
.sa-premium .sa-form-word-error__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  margin-top: 2px;
  border-radius: 50%;
  background: #dc2626;
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  line-height: 28px;
  text-align: center;
}
.sa-premium .sa-form-word-error__body { min-width: 0; }
.sa-premium .sa-form-word-error__title {
  margin: 0 0 6px 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: #991b1b;
}
.sa-premium .sa-form-word-error__text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--sa-text);
}

/* CF7: min-word alert (below form in #sa-contact-form-slot) + invalid message field */
.sa-premium .sa-cf7-word-alert {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 14px;
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff5f5 0%, #fef2f2 100%);
  border: 1px solid rgba(220, 38, 38, 0.35);
  border-radius: var(--sa-r-md);
  color: var(--sa-ink);
  box-shadow: 0 2px 10px rgba(220, 38, 38, 0.06);
}
.sa-premium .sa-cf7-word-alert[hidden] {
  display: none !important;
}
.sa-premium .sa-cf7-word-alert__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  margin-top: 2px;
  border-radius: 50%;
  background: #dc2626;
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  line-height: 28px;
  text-align: center;
}
.sa-premium .sa-cf7-word-alert__body { min-width: 0; }
.sa-premium .sa-cf7-word-alert__title {
  margin: 0 0 6px 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: #991b1b;
}
.sa-premium .sa-cf7-word-alert__text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--sa-text);
}
.sa-premium .sa-contact-form-slot .wpcf7-form textarea.sa-cf7-textarea--invalid {
  border-color: #dc2626 !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(220, 38, 38, 0.2) !important;
}

/* Contact: one-step line (narrative handoff to form) */
.sa-premium .sa-contact-one-step-inline {
  font-size: 15px;
  font-weight: 500;
  color: var(--sa-text);
  margin-top: 0;
  margin-bottom: 0;
}

/* Case studies */
/* #case-studies .sa-sec-case-studies */
.sa-premium .sa-sec-case-studies {
  background: var(--sa-soft);
}
.sa-premium .sa-case-studies-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 20px;
  margin-top: 28px;
  align-items: stretch;
}
/* Featured pattern study: full width, three-phase timeline on wide viewports */
.sa-premium .sa-case-study-card--featured {
  grid-column: 1 / -1;
}
@media (max-width: 1000px) {
  .sa-premium .sa-case-studies-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .sa-premium .sa-case-study-card--featured {
    grid-column: 1 / -1;
  }
  /* Third seller card: avoid a lone narrow cell in a 2-col row */
  .sa-premium .sa-case-studies-grid > .sa-case-study-card:last-child {
    grid-column: 1 / -1;
    max-width: 480px;
    justify-self: center;
    width: 100%;
  }
}
@media (max-width: 560px) {
  .sa-premium .sa-case-studies-grid {
    grid-template-columns: 1fr;
  }
  .sa-premium .sa-case-study-card--featured {
    grid-column: auto;
  }
  .sa-premium .sa-case-studies-grid > .sa-case-study-card:last-child {
    grid-column: auto;
    max-width: none;
    justify-self: stretch;
  }
}
.sa-premium .sa-case-study-card {
  background: #fff;
  border: 1px solid var(--sa-line);
  border-radius: var(--sa-r-md);
  padding: 0;
  border-left: 4px solid var(--sa-accent-original);
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--sa-shadow-sm);
  transition: box-shadow var(--duration-fast) var(--sa-ease), border-color var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-case-study-card:hover {
  box-shadow: var(--sa-shadow-md);
  border-color: rgba(51, 65, 85, 0.1);
}
.sa-premium .sa-case-study-card-head {
  padding: 16px 18px 14px;
  border-bottom: 1px solid var(--sa-line);
  background: linear-gradient(180deg, rgba(248, 249, 251, 0.65) 0%, #fff 100%);
}
.sa-premium .sa-case-study-eyebrow {
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sa-muted);
  margin-bottom: 6px;
}
.sa-premium .sa-case-study-heading {
  margin: 0;
  font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.08rem);
  font-weight: 700;
  color: var(--sa-text-strong);
  line-height: 1.3;
  letter-spacing: -0.02em;
  border: none;
  padding: 0;
}
.sa-premium .sa-case-study-heading::before {
  content: none;
}
.sa-premium .sa-case-study-lane {
  margin: 8px 0 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--sa-muted);
}
.sa-premium .sa-case-study-phases {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}
@media (min-width: 900px) {
  .sa-premium .sa-case-study-card--featured .sa-case-study-phases {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
    padding: 16px 18px 18px;
  }
}
.sa-premium .sa-case-study-phase {
  border-radius: 12px;
  padding: 12px 14px;
  border: 1px solid var(--sa-line);
  position: relative;
}
.sa-premium .sa-case-study-phase--before {
  background: linear-gradient(165deg, rgba(241, 245, 249, 0.85) 0%, rgba(255, 255, 255, 0.95) 100%);
  border-left: 3px solid rgba(100, 116, 139, 0.45);
}
.sa-premium .sa-case-study-phase--after {
  background: linear-gradient(165deg, rgba(255, 247, 237, 0.95) 0%, rgba(255, 255, 255, 0.98) 100%);
  border-left: 3px solid rgba(242, 108, 15, 0.65);
}
.sa-premium .sa-case-study-phase--insight {
  background: linear-gradient(165deg, rgba(240, 253, 250, 0.5) 0%, rgba(255, 255, 255, 0.95) 100%);
  border-left: 3px solid rgba(13, 148, 136, 0.45);
}
.sa-premium .sa-case-study-phase-label {
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sa-muted);
  margin-bottom: 6px;
}
.sa-premium .sa-case-study-phase--after .sa-case-study-phase-label {
  color: #9a3412;
}
.sa-premium .sa-case-study-phase-text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--sa-text);
}
.sa-premium .sa-case-study-foot {
  margin-top: auto;
  padding: 12px 18px 16px;
  border-top: 1px solid var(--sa-line);
  background: rgba(248, 249, 251, 0.35);
}
.sa-premium .sa-case-study-foot--note {
  background: rgba(248, 249, 251, 0.55);
}
.sa-premium .sa-case-study-foot--note p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--sa-muted);
}
.sa-premium .sa-case-study-cite {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--sa-text-strong);
}
.sa-premium .sa-case-study-cite::before {
  content: "- ";
  color: var(--sa-muted);
  font-weight: 600;
}

/* Form intro: PN definition + checklist */
.sa-premium .sa-form-pn-def {
  margin: 6px 0 0 0;
  font-size: 0.9rem;
  color: var(--sa-text);
  line-height: 1.55;
}
.sa-premium .sa-form-checklist {
  margin: 10px 0 0 0;
  padding: 12px 16px;
  background: var(--sa-soft);
  border-radius: 12px;
  border-left: 4px solid var(--sa-accent-original);
}
.sa-premium .sa-form-checklist-title { margin: 0 0 6px 0; font-size: 0.95rem; }
.sa-premium .sa-form-checklist-list {
  margin: 0;
  padding-left: 20px;
  font-size: 0.9rem;
  line-height: 1.6;
}

/* Testimonials recency */
.sa-premium .sa-testimonials-recent {
  margin: 8px 0 0 0;
  font-size: 0.85rem;
  color: var(--sa-muted);
}

/* =========================================================
 Class hooks: modifiers & helpers used in premium HTML
 (audit: every class token has an explicit rule where needed)
========================================================= */

/* Proof: do not set width: 100% here; it overrides .sa-wrap and full-bleeds the section */
.sa-premium .sa-wrap.sa-proof-wrap {
  position: relative;
}

/* Strategy: split card (.sa-strategy-split) replaces legacy halves */

/* Hero trust metrics: numeric modifiers (also used by initHeroCounters in JS) */
.sa-premium .sa-sec-hero .sa-trust-item .sa-count.sa-count-98 {
  font-size: clamp(26px, 3.5vw, 32px);
}
.sa-premium .sa-sec-hero .sa-trust-item .sa-count.sa-count-5200 {
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: -0.03em;
}
.sa-premium .sa-sec-hero .sa-trust-item .sa-count.sa-count-10 {
  font-size: clamp(26px, 3.5vw, 32px);
}

/* Proof drawer: caveat / footnote line */
.sa-premium .sa-drawer-body .sa-note {
  margin: 14px 0 0;
  padding: 14px 16px;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--sa-muted);
  background: rgba(248, 249, 251, 0.95);
  border-radius: var(--sa-r-sm);
  border-left: 3px solid var(--sa-line-strong);
}

/* =========================================================
 Reduced motion: respect user preference globally
========================================================= */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .sa-premium *,
  .sa-reduced-motion * {
    animation: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
  .sa-premium .sa-btn-primary::before,
  .sa-btn-primary::before { display: none !important; }
  .sa-premium .sa-problem-card:hover,
  .sa-premium .sa-problem-card:focus-within { transform: none !important; }
}

/* KB improvement plan: hero proof strip, entity, flow emphasis, form reassurance */
.sa-premium .sa-hero-proof-strip {
  list-style: none;
  margin: 14px 0 0 0;
  padding: 12px 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: baseline;
  border: 1px solid transparent;
  border-radius: var(--sa-r-md);
  background:
    linear-gradient(var(--sa-soft), var(--sa-soft)) padding-box,
    linear-gradient(
      135deg,
      rgba(242, 108, 15, 0.42),
      rgba(216, 188, 106, 0.5),
      rgba(242, 108, 15, 0.28)
    )
    border-box;
  background-clip: padding-box, border-box;
  box-shadow: var(--sa-shadow-sm);
  font-size: 0.9rem;
  color: var(--sa-text-strong);
}
.sa-premium .sa-hero-proof-strip li { margin: 0; padding: 0; }
.sa-premium .sa-hero-proof-strip-vetting {
  flex-basis: 100%;
  font-size: 0.82rem;
  color: var(--sa-muted);
  font-weight: 500;
}
.sa-premium .sa-hero-qualify {
  margin: 10px 0 0 0;
  font-size: 0.88rem;
  color: var(--sa-text);
  line-height: 1.5;
  max-width: 52ch;
}
.sa-premium .sa-sec-entity {
  padding-top: 48px;
  padding-bottom: 48px;
}
.sa-premium .sa-wrap-narrow { max-width: 720px; margin: 0 auto; }
.sa-premium .sa-entity-definition {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--sa-text);
}
.sa-premium .sa-problem-bridge {
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--sa-text-strong);
  margin-top: 12px;
}
.sa-premium .sa-proof-no-insider-lead {
  margin: 0.75rem 0 0 0;
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--sa-ink);
  max-width: 62ch;
}
.sa-premium .sa-pricing-outcome {
  margin-top: 1rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--sa-muted);
  max-width: 62ch;
}
.sa-premium .sa-mechanism-transition {
  font-weight: 600;
  color: var(--sa-text-strong);
  max-width: 62ch;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
.sa-premium .sa-pricing-open { font-weight: 600; color: var(--sa-ink); }
.sa-premium .sa-included-scope {
  font-size: 0.95rem;
  color: var(--sa-muted);
  margin-top: 8px;
}

/* What's included: lifecycle intro + numbered pillar cards */
.sa-premium .sa-sec-included .sa-wrap {
  position: relative;
  z-index: 1;
}
.sa-premium .sa-included-intro {
  margin-top: 20px;
  max-width: 800px;
  padding: 16px 18px;
  border-radius: var(--sa-r-md);
  border: 1px solid var(--sa-line);
  background: linear-gradient(180deg, var(--sa-soft) 0%, rgba(255, 255, 255, 0.92) 100%);
  box-shadow: var(--sa-shadow-sm);
}
.sa-premium .sa-included-intro p {
  margin: 0;
}
.sa-premium .sa-included-pillars {
  counter-reset: inc-pillar;
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
@media (min-width: 900px) {
  .sa-premium .sa-included-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 22px;
  }
  .sa-premium .sa-included-card:nth-child(5) {
    grid-column: 1 / -1;
    max-width: 720px;
    justify-self: center;
    width: 100%;
  }
}
.sa-premium .sa-included-card {
  counter-increment: inc-pillar;
  position: relative;
  margin: 0;
  padding: 20px 20px 22px 56px;
  border-radius: var(--sa-r-md);
  border: 1px solid var(--sa-line);
  background: #fff;
  box-shadow: var(--sa-shadow-sm);
  border-left: 4px solid var(--sa-line-strong);
  transition: box-shadow var(--duration-fast) var(--sa-ease), border-color var(--duration-fast) var(--sa-ease);
}
.sa-premium .sa-included-card:hover {
  box-shadow: var(--sa-shadow-md);
}
.sa-premium .sa-included-card:nth-child(1) {
  border-left-color: #64748b;
}
.sa-premium .sa-included-card:nth-child(2) {
  border-left-color: var(--sa-accent-original);
}
.sa-premium .sa-included-card:nth-child(3) {
  border-left-color: #0d9488;
}
.sa-premium .sa-included-card:nth-child(4) {
  border-left-color: #b45309;
}
.sa-premium .sa-included-card:nth-child(5) {
  border-left-color: #475569;
}
.sa-premium .sa-included-card::before {
  content: counter(inc-pillar, decimal-leading-zero);
  position: absolute;
  left: 16px;
  top: 22px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 28px;
  text-align: center;
  color: var(--sa-ink);
  background: var(--sa-soft-2);
  border: 1px solid var(--sa-line-strong);
}
.sa-premium .sa-included-card:nth-child(1)::before {
  color: #475569;
  background: rgba(100, 116, 139, 0.12);
  border-color: rgba(100, 116, 139, 0.28);
}
.sa-premium .sa-included-card:nth-child(2)::before {
  color: var(--sa-accent-original);
  background: rgba(242, 108, 15, 0.1);
  border-color: rgba(242, 108, 15, 0.3);
}
.sa-premium .sa-included-card:nth-child(3)::before {
  color: #0f766e;
  background: rgba(13, 148, 136, 0.12);
  border-color: rgba(13, 148, 136, 0.28);
}
.sa-premium .sa-included-card:nth-child(4)::before {
  color: #92400e;
  background: rgba(180, 83, 9, 0.1);
  border-color: rgba(180, 83, 9, 0.28);
}
.sa-premium .sa-included-card:nth-child(5)::before {
  color: #334155;
  background: rgba(71, 85, 105, 0.1);
  border-color: rgba(71, 85, 105, 0.22);
}
.sa-premium .sa-included-h3 {
  margin: 0 0 10px 0;
  font-size: clamp(1rem, 0.95rem + 0.35vw, 1.1rem);
  font-weight: 700;
  color: var(--sa-ink);
  line-height: 1.35;
  border: none;
  padding: 0;
}
.sa-premium .sa-included-card ul {
  margin-top: 4px;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.sa-premium .sa-sec-included .sa-included-card ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 6px;
}
.sa-premium .sa-sec-included .sa-included-card ul li:last-child {
  margin-bottom: 0;
}
/* Crisp check in a filled disc; hue matches each pillar’s left accent (not generic green tiles) */
.sa-premium .sa-sec-included .sa-included-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.32em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #64748b;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5%206.2%205.1%208.8%209.5%203.2'/%3E%3C/svg%3E");
  background-size: 11px 11px;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.sa-premium .sa-included-card:nth-child(2) ul li::before {
  background-color: #e86b0c;
}
.sa-premium .sa-included-card:nth-child(3) ul li::before {
  background-color: #0d9488;
}
.sa-premium .sa-included-card:nth-child(4) ul li::before {
  background-color: #b45309;
}
.sa-premium .sa-included-card:nth-child(5) ul li::before {
  background-color: #475569;
}
.sa-premium .sa-included-inline-link {
  color: var(--sa-link);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(180, 83, 9, 0.45);
  text-underline-offset: 2px;
}
.sa-premium .sa-included-inline-link:hover {
  color: var(--sa-link-hover);
  text-decoration-color: rgba(146, 64, 14, 0.65);
}
.sa-premium .sa-included-inline-link:focus-visible {
  outline: 2px solid var(--sa-accent-original);
  outline-offset: 2px;
  border-radius: 2px;
}
.sa-premium .sa-included-foot {
  margin: 22px 0 0 0;
  padding: 14px 16px;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--sa-text-strong);
  line-height: 1.5;
  border-radius: var(--sa-r-sm);
  border-left: 3px solid rgba(242, 108, 15, 0.45);
  background: rgba(254, 243, 230, 0.45);
  max-width: 48rem;
}
@media (max-width: 600px) {
  .sa-premium .sa-included-card {
    padding-left: 52px;
  }
  .sa-premium .sa-included-card::before {
    left: 12px;
  }
}
.sa-premium .sa-contact-expect {
  font-size: 0.95rem;
  color: var(--sa-muted);
  margin-top: 8px;
  max-width: 58ch;
}
.sa-premium .sa-form-reassurance {
  margin: 10px 0 0 0;
  font-size: 0.88rem;
  color: var(--sa-muted);
}
.sa-premium .sa-flow .sa-flow-step {
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  font-weight: 600;
}
.sa-premium .sa-flow .sa-flow-final {
  font-size: clamp(1.02rem, 0.96rem + 0.25vw, 1.12rem);
  font-weight: 800;
  color: var(--sa-accent-original);
}
.sa-premium .sa-sec-contact .sa-btn-primary {
  box-shadow: 0 2px 8px rgba(255, 122, 24, 0.2);
}
@media (max-width: 900px) {
  .sa-premium .sa-hero-proof-strip { flex-direction: column; gap: 6px; }
}/* End custom CSS */