/* Editorial disclaimer page composition. Shared shell rules remain in the declared stylesheets. */
body:has(main.disclaimer-page) { margin: 0; background: #f7f4fc; color: #24183b; font-family: Inter, "Segoe UI", Arial, sans-serif; }
body:has(main.disclaimer-page) > header.gcu-region { position: relative; z-index: 2; background-color: #28134e !important; }
main.disclaimer-page { box-sizing: border-box; display: block; max-width: 1280px; margin: 0 auto; padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 5vw, 4.5rem); line-height: 1.7; }
main.disclaimer-page *, main.disclaimer-page *::before, main.disclaimer-page *::after { box-sizing: border-box; }
main.disclaimer-page h1, main.disclaimer-page h2, main.disclaimer-page p { margin-top: 0; }
main.disclaimer-page h1, main.disclaimer-page h2 { color: #28134e; line-height: 1.15; letter-spacing: -.025em; }
main.disclaimer-page h1 { margin-bottom: 1rem; font-size: clamp(2.35rem, 5vw, 4.25rem); }
main.disclaimer-page h2 { margin-bottom: .85rem; font-size: clamp(1.45rem, 2.5vw, 2rem); }
main.disclaimer-page p { max-width: 70ch; margin-bottom: 1rem; color: #4b4260; }
main.disclaimer-page a { color: #5920b4; font-weight: 650; text-underline-offset: .2em; }
main.disclaimer-page a:focus-visible { outline: 3px solid #f4b73c; outline-offset: 3px; }
.disclaimer-hero { position: relative; isolation: isolate; overflow: hidden; margin: 0 0 clamp(2.5rem, 6vw, 5rem); padding: clamp(2rem, 5vw, 4rem); border: 1px solid #e5daf8; border-radius: 1.5rem; background: linear-gradient(135deg, #fff 0%, #f0e8fc 100%); box-shadow: 0 1.25rem 3rem rgba(40,19,78,.09); }
.disclaimer-hero__inner { max-width: 850px; }
.disclaimer-kicker, .section-eyebrow { margin-bottom: .75rem; color: #7430ea !important; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.disclaimer-hero__lead { max-width: 62ch; font-size: clamp(1.05rem, 1.7vw, 1.25rem); }
.scope-note { display: flex; align-items: flex-start; gap: 1rem; max-width: 790px; margin: 1.75rem 0; padding: 1rem 1.25rem; border-left: 4px solid #7430ea; border-radius: .75rem; background: #fff; }
.scope-note p { margin: 0; }
.scope-note__mark { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background-color: #7430ea; color: #fff; font-weight: 800; }
.disclaimer-jump, .close-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 2.9rem; padding: .7rem 1.1rem; border-radius: 999px; background-color: #5920b4; color: #fff !important; text-decoration: none; }
.hero-index { position: absolute; right: clamp(1rem, 4vw, 3rem); bottom: 1.5rem; display: flex; gap: .7rem; align-items: baseline; color: #7d6d96; font-size: .8rem; }
.content-section { display: grid; grid-template-columns: minmax(6rem, .22fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 3.5rem); align-items: start; padding: clamp(1.5rem, 4vw, 3.25rem) 0; border-top: 1px solid #dfd7eb; }
.section-index { padding-top: .35rem; color: #7430ea; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.section-copy { min-width: 0; }
.section-copy > :last-child { margin-bottom: 0; }
.disclaimer-method { grid-template-columns: minmax(6rem, .22fr) minmax(0, 1fr) minmax(13rem, .55fr); }
.method-card { align-self: center; padding: 1.5rem; border: 1px solid #e5daf8; border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 1.8rem rgba(40,19,78,.06); }
.method-card__number { display: block; margin-bottom: .5rem; color: #7430ea; font-size: 2rem; font-weight: 850; }
.method-card p { margin: 0; }
.reader-checklist { margin: clamp(2rem, 5vw, 4rem) 0; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.25rem; background: #28134e; color: #fff; }
.reader-checklist h2, .reader-checklist p { color: #fff !important; }
.reader-checklist__heading { max-width: 700px; }
.checklist-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.checklist-list li { display: flex; align-items: flex-start; gap: .9rem; min-height: 4.5rem; padding: 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: .8rem; background-color: #39215f; color: #fff; }
.checklist-number { color: #d4b9ff; font-size: .8rem; font-weight: 850; }
.disclaimer-close { margin: clamp(2rem, 5vw, 4rem) calc(-1 * clamp(1rem, 5vw, 4.5rem)) calc(-1 * clamp(2rem, 5vw, 5rem)); padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 5vw, 4.5rem) !important; background: #eee6fa; }
.disclaimer-close__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; max-width: 1100px; margin: 0 auto; }
.disclaimer-close__inner p { margin-bottom: 0; }
.close-mark { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 1rem; background-color: #7430ea; color: #fff; font-weight: 850; }

@media (max-width: 760px) {
  main.disclaimer-page { padding: 1.25rem 1rem 2rem; }
  .disclaimer-hero { padding: 1.5rem; border-radius: 1rem; }
  .hero-index { position: static; margin-top: 1.25rem; }
  .content-section, .disclaimer-method { grid-template-columns: 1fr; gap: .65rem; }
  .section-index { padding-top: 0; }
  .method-card { margin-top: .5rem; }
  .checklist-list { grid-template-columns: 1fr; }
  .disclaimer-close { margin-right: -1rem; margin-left: -1rem; }
  .disclaimer-close__inner { grid-template-columns: auto minmax(0, 1fr); gap: 1rem; }
  .close-link { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 420px) {
  main.disclaimer-page { padding-inline: .85rem; }
  .disclaimer-hero { padding: 1.2rem; }
  .scope-note { gap: .7rem; padding: .85rem; }
}

@media (max-width: 600px) {
  .disclaimer-close {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    box-sizing: border-box;
  }
}
