/* October 2026 audit fixes. Keep the incumbent plum, champagne and editorial type. */
:root { --focus-light: #ffe0ac; --error-ink: #7a2536; }
.content > *, .request-grid > *, .content-main, .content-aside { min-width: 0; }
.content-main { width: 100%; overflow-wrap: anywhere; }
.content-main p, .content-main li { max-width: 70ch; }
.content-main ul { list-style: disc; padding-left: 1.35em; }
.content-main ol { list-style: decimal; padding-left: 1.35em; }
.content-main li { color: var(--muted); padding-block: .35em; font-size: 18px; }
.content-main a:not(.button), .content-aside p a, .consent a { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.content-main a:hover, .content-aside p a:hover { color: var(--gold-dark); }
.content-main h2 { text-wrap: balance; }
.content-main section { scroll-margin-top: 24px; }
.table-scroll { width: 100%; max-width: 100%; overflow-x: auto; margin-block: 24px; overscroll-behavior-x: contain; }
.content-main table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 15px; }
.content-main th, .content-main td { border-bottom: 1px solid var(--line); padding: 14px 16px; vertical-align: top; text-align: left; }
.content-main th { color: var(--plum); background: var(--blush); font-weight: 700; }
.content-main caption { text-align: left; padding-block: 10px; color: var(--muted); }
.worksheet { padding: 24px; background: var(--blush); margin-block: 24px; }
.worksheet p { margin: 0; line-height: 1.9; }
.content-main .source-list p, .content-main .source-list li { font-size: 15px; }
.button::after, .button-dark::after {
  width: 21px; height: 21px; right: 20px; border-radius: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
}
.button:hover::after { transform: translate(3px,-50%); }
.button-rose { background: var(--plum); color: var(--paper); }
.button-rose:hover { background: var(--gold-dark); }
.text-link::after, .related-link::after, .feature-card::before, .hub-card::after {
  content: ""; display: inline-block; width: 21px; height: 21px; flex-shrink: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .2s ease-out;
}
.feature-card::before, .hub-card::after { position: absolute; bottom: 22px; right: 24px; z-index: 3; color: var(--gold-dark); }
.feature-dark::before, .feature-rose::before { color: var(--focus-light); }
.hub-card { padding-bottom: 54px; }
.text-link:hover::after, .related-link:hover::after, .hub-card:hover::after, .feature-card:hover::before { transform: translateX(3px); }
.feature-image .section-kicker { color: var(--plum-deep); }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.site-header :where(a,button):focus-visible, .page-hero :where(a,button):focus-visible, .home-hero :where(a,button):focus-visible, .site-footer a:focus-visible { outline-color: var(--focus-light); }
.menu-toggle { display: none; }
.hero-motion-toggle { position: absolute; right: 24px; bottom: 22px; z-index: 3; background: var(--plum-deep); color: var(--paper); border: 1px solid var(--focus-light); padding: 10px 15px; min-height: 44px; font-size: 12px; cursor: pointer; }
.home-copy h1 { max-width: 680px; font-size: clamp(46px,4.9vw,70px); }
.home-h1-descriptor { display: block; margin-top: 20px; font-size: .48em; line-height: 1.2; letter-spacing: -.02em; }
.home-hero .image-caption { position: static; margin-top: 32px; }
.home-hero .home-copy { padding-bottom: 85px; }
.page-hero h1 { font-size: clamp(42px,5.5vw,76px); }
.blog-meta-row { color: #f4e7e9; }
.form-status.error { color: var(--error-ink); background: var(--paper); padding: 14px; margin-bottom: 20px; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: var(--muted); opacity: 1; }
.lead-form input, .lead-form textarea { caret-color: var(--gold-dark); }
.lead-form .consent input { width: 22px; height: 22px; flex: 0 0 22px; margin-top: 1px; }
.consent { min-height: 44px; }
.form-status:focus { outline: 2px solid var(--gold-dark); outline-offset: 3px; }
.button:disabled { opacity: .7; cursor: wait; transform: none; }
.related-link { align-items: center; }
@media (max-width: 1050px) {
  .site-header { gap: 12px; }
  .site-header nav { gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
  .js .menu-toggle { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; color: var(--paper); border: 1px solid var(--gold); background: var(--plum-deep); cursor: pointer; font-size: 13px; }
  .js .site-header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--plum-deep); padding: 18px 24px; border-bottom: 1px solid var(--gold); flex-direction: column; align-items: stretch; gap: 3px; }
  .js .site-header nav.is-open { display: flex; }
  .js .site-header nav a:not(.nav-cta) { display: flex; padding-inline: 10px; }
  .js .site-header nav .nav-cta { align-self: flex-start; margin-top: 10px; }
}
@media (max-width: 700px) {
  .home-hero .home-copy { padding-top: 300px; padding-bottom: 86px; }
  .home-copy h1 { max-width: 15ch; font-size: clamp(35px,9vw,49px); }
  .page-hero, .blog-article .page-hero { padding-top: 220px; min-height: 0; }
  .page-hero h1 { font-size: clamp(34px,8.7vw,47px); }
  .page-hero .breadcrumbs { margin-bottom: 22px; }
  .page-hero::after { background: linear-gradient(0deg,#20131d 0%,rgba(32,19,29,.98) 46%,rgba(32,19,29,.6) 75%,rgba(32,19,29,.6) 100%); }
  .site-header .logo { font-size: 16px; }
  .site-header .logo-mark { width: 32px; height: 32px; flex-shrink: 0; }
  .site-header { padding-inline: 16px; }
  html:not(.js) .site-header { flex-wrap: wrap; position: relative; background: var(--plum-deep); padding-block: 16px; }
  html:not(.js) .site-header nav { width: 100%; justify-content: flex-start; gap: 12px; }
  html:not(.js) .site-header nav a:not(.nav-cta) { display: inline-flex; }
  .hero-actions .button { letter-spacing: .04em; font-size: 11px; }
  .marquee { flex-wrap: wrap; gap: 18px; padding-inline: 12px; }
  .marquee span:nth-child(n+3) { display: none; }
  .footer-links a { min-height: 44px; display: inline-flex; align-items: center; }
  .blog-meta-row { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .text-link::after, .related-link::after, .feature-card::before, .hub-card::after { transition: none; }
  .hero-motion-toggle { display: none; }
}
