/* Studio Macaw — shared Support / Privacy document shell */
.product-document {
  background:
    radial-gradient(circle at 8% 4%, rgba(255,82,126,.045), transparent 24rem),
    radial-gradient(circle at 92% 4%, rgba(75,126,255,.05), transparent 25rem),
    var(--studio-paper) !important;
  color: var(--studio-ink) !important;
  font-family: var(--studio-font) !important;
}
.product-document .page-wrap { background: transparent !important; color: var(--studio-ink) !important; }
.product-document main { color: var(--studio-ink); }
.product-document main a { color: inherit; }
.product-document main h1,
.product-document main h2,
.product-document main h3,
.product-document main h4,
.product-document main p,
.product-document main li,
.product-document main dt,
.product-document main dd,
.product-document main summary,
.product-document main strong,
.product-document main span {
  font-family: var(--studio-font) !important;
}
.product-document main h1,
.product-document main h2,
.product-document main h3 {
  color: var(--studio-ink) !important;
  font-style: normal !important;
  letter-spacing: -.04em !important;
}
.product-document main p,
.product-document main li,
.product-document main dd { color: var(--studio-muted) !important; }
.product-document main a { text-underline-offset: 3px; }

/* Current product highlight */
.product-document.product-chord { --document-accent: #3478f6; --document-accent-rgb: 52,120,246; }
.product-document.product-asterveil { --document-accent: #8f5bd6; --document-accent-rgb: 143,91,214; }
.product-document .product-local-links a[aria-current="page"] {
  color: var(--studio-ink);
  font-weight: 720;
}
.product-document .product-local-links a[aria-current="page"]::after {
  content: "";
  display: block;
  height: 2px;
  margin-top: 5px;
  border-radius: 999px;
  background: var(--document-accent);
}

/* Hero */
.product-document .support-hero,
.product-document .subpage-hero {
  width: min(calc(100% - 40px), 1180px) !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 92px 0 70px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--studio-ink) !important;
}
.product-document .subpage-hero > div { max-width: 800px !important; margin: 0 !important; padding: 0 !important; }
.product-document .support-hero .eyebrow,
.product-document .subpage-hero .page-eyebrow {
  margin: 0 0 16px !important;
  color: #73777e !important;
  font-size: 12px !important;
  font-weight: 720 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.product-document .support-hero h1,
.product-document .subpage-hero h1 {
  margin: 0 !important;
  max-width: 860px !important;
  font-size: clamp(52px, 7.2vw, 92px) !important;
  font-weight: 740 !important;
  line-height: 1.02 !important;
  color: var(--studio-ink) !important;
}
.product-document .support-hero h1 em { color: var(--studio-ink) !important; font-style: normal !important; }
.product-document .support-hero > p:last-child,
.product-document .subpage-hero > div > p:last-child {
  max-width: 680px !important;
  margin: 24px 0 0 !important;
  color: var(--studio-muted) !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
}

/* Document grids */
.product-document .support-layout,
.product-document .privacy-layout,
.product-document .document-layout,
.product-document .policy-layout {
  width: min(calc(100% - 40px), 1180px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 76px 0 90px !important;
  border-top: 1px solid var(--studio-line) !important;
  background: transparent !important;
  color: var(--studio-ink) !important;
}
.product-document .support-layout,
.product-document .privacy-layout,
.product-document .document-layout {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  gap: clamp(50px, 8vw, 112px) !important;
  align-items: start !important;
}
.product-document .policy-layout {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.25fr) !important;
  gap: clamp(54px, 8vw, 112px) !important;
  align-items: start !important;
}

/* Sticky page index */
.product-document .support-index,
.product-document .document-nav {
  position: sticky !important;
  top: 144px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.product-document .support-index > p,
.product-document .document-nav > p {
  margin: 0 0 8px !important;
  color: #8a8e94 !important;
  font-size: 11px !important;
  font-weight: 720 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.product-document .support-index a,
.product-document .document-nav a {
  color: #666b72 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}
.product-document .support-index a:hover,
.product-document .document-nav a:hover { color: var(--studio-ink) !important; }

/* Content columns */
.product-document .support-content,
.product-document .privacy-content,
.product-document .document-content,
.product-document .policy-content { min-width: 0 !important; max-width: none !important; }
.product-document .support-section,
.product-document .document-content > section,
.product-document .privacy-section,
.product-document .policy-content > section {
  margin: 0 !important;
  padding: 0 0 64px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--studio-line) !important;
  background: transparent !important;
  color: var(--studio-ink) !important;
}
.product-document .support-section + .support-section,
.product-document .document-content > section + section,
.product-document .privacy-section + .privacy-section,
.product-document .policy-content > section + section { padding-top: 64px !important; }
.product-document .support-section:last-child,
.product-document .document-content > section:last-child,
.product-document .privacy-section:last-child,
.product-document .policy-content > section:last-child { border-bottom: 0 !important; }

.product-document .support-heading {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 0 0 30px !important;
}
.product-document .support-heading > span,
.product-document .privacy-number,
.product-document .policy-content > section > span {
  color: var(--document-accent) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  letter-spacing: .08em !important;
}
.product-document .support-heading .eyebrow,
.product-document .document-kicker,
.product-document .policy-lead .document-kicker {
  margin: 0 0 8px !important;
  color: #8a8e94 !important;
  font-size: 11px !important;
  font-weight: 720 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.product-document .support-heading h2,
.product-document .document-content h2,
.product-document .policy-lead h2,
.product-document .policy-summary h2 {
  margin: 0 !important;
  font-size: clamp(30px, 3.5vw, 46px) !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
}
.product-document .privacy-section,
.product-document .policy-content > section {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
.product-document .privacy-section h2,
.product-document .policy-content h3 {
  margin: 0 0 16px !important;
  font-size: clamp(24px, 2.5vw, 32px) !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}
.product-document .privacy-section p,
.product-document .policy-content p,
.product-document .document-content p,
.product-document .support-section p {
  font-size: 16px !important;
  line-height: 1.85 !important;
}

/* Support cards / FAQ */
.product-document .guide-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.product-document .guide-grid article,
.product-document .contact-card,
.product-document .privacy-note,
.product-document .policy-summary {
  border: 1px solid var(--studio-line) !important;
  border-radius: 24px !important;
  background: rgba(248,248,250,.82) !important;
  box-shadow: none !important;
}
.product-document .guide-grid article { padding: 22px !important; }
.product-document .guide-number { color: var(--document-accent) !important; }
.product-document .guide-grid h3 { margin: 24px 0 8px !important; font-size: 18px !important; }
.product-document .faq-list { display: grid !important; gap: 10px !important; }
.product-document .faq-list details {
  border: 1px solid var(--studio-line) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.product-document .faq-list summary {
  padding: 18px 20px !important;
  color: var(--studio-ink) !important;
  font-size: 15px !important;
  font-weight: 680 !important;
  cursor: pointer !important;
}
.product-document .faq-list details > div,
.product-document .faq-list details > p { padding: 0 20px 18px !important; }
.product-document .contact-card {
  margin-top: 24px !important;
  padding: 24px !important;
  color: var(--studio-ink) !important;
  text-decoration: none !important;
}
.product-document a.contact-card { display: grid !important; grid-template-columns: 1fr auto; gap: 16px !important; align-items: center !important; }
.product-document .contact-card strong { color: var(--studio-ink) !important; font-size: 17px !important; overflow-wrap: anywhere; }
.product-document .contact-card > span:first-child { color: #8a8e94 !important; font-size: 11px !important; letter-spacing: .12em !important; }
.product-document .privacy-note { margin-top: 24px !important; padding: 18px 20px !important; }
.product-document .simple-list { padding-left: 1.25em !important; }
.product-document .simple-list li { margin: 7px 0 !important; }

/* Privacy lead */
.product-document .policy-lead,
.product-document .policy-summary {
  position: sticky !important;
  top: 144px !important;
}
.product-document .policy-lead { padding: 0 !important; }
.product-document .policy-lead > p:last-child { font-size: 17px !important; line-height: 1.8 !important; }
.product-document .policy-summary { padding: 28px !important; }
.product-document .policy-summary .eyebrow { color: #8a8e94 !important; }
.product-document .updated { margin: 0 0 42px !important; color: #8a8e94 !important; font-size: 13px !important; }
.product-document dl { margin: 0 !important; }
.product-document dl > div { display: grid !important; grid-template-columns: 110px 1fr !important; gap: 16px !important; padding: 12px 0 !important; border-bottom: 1px solid var(--studio-line) !important; }
.product-document dt { color: #8a8e94 !important; font-size: 13px !important; }
.product-document dd { margin: 0 !important; }

@media (max-width: 820px) {
  .product-document .support-hero,
  .product-document .subpage-hero { width: min(calc(100% - 30px), 1180px) !important; padding: 66px 0 52px !important; }
  .product-document .support-layout,
  .product-document .privacy-layout,
  .product-document .document-layout,
  .product-document .policy-layout {
    width: min(calc(100% - 30px), 1180px) !important;
    grid-template-columns: 1fr !important;
    gap: 38px !important;
    padding: 52px 0 68px !important;
  }
  .product-document .support-index,
  .product-document .document-nav { position: static !important; display: none !important; }
  .product-document .policy-lead,
  .product-document .policy-summary { position: static !important; }
  .product-document .guide-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 560px) {
  .product-document .support-hero h1,
  .product-document .subpage-hero h1 { font-size: clamp(46px, 14vw, 64px) !important; }
  .product-document .support-heading,
  .product-document .privacy-section,
  .product-document .policy-content > section { grid-template-columns: 32px minmax(0,1fr) !important; gap: 12px !important; }
  .product-document dl > div { grid-template-columns: 1fr !important; gap: 3px !important; }
}
