/* Shared introduction treatment for public pages directly under the site root.
   Loaded only for root .aspx requests by the site headers/master pages. */
:root {
  --pastic-hero-blue: #0a4074;
  --pastic-hero-ink: #25364a;
  --pastic-hero-muted: #62748b;
  --pastic-hero-gold: #d9a441;
  --pastic-hero-line: #e4ebf2;
  --pastic-hero-focus: #1b80e3;
  --pastic-title-rule: #93a7bb;
}

html body :is(
  .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
  .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
  .oric-hero, .investor-hero, .universities-hero, .history-hero,
  .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
  .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
  .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
  .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
  .testimonial-hero, .sli-intro, .pastic-legacy-hero
) {
  background: #fff !important;
  background-image: none !important;
  color: var(--pastic-hero-ink) !important;
  border: 1px solid var(--pastic-hero-line) !important;
  border-left: 6px solid var(--pastic-hero-gold) !important;
  border-radius: 3px !important;
  box-shadow: 0 1px 2px rgba(16, 42, 74, .05) !important;
  padding: clamp(20px, 2.2vw, 28px) !important;
  margin: 0 0 20px !important;
  max-width: 100%;
  min-width: 0;
}

html body :is(
  .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
  .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
  .oric-hero, .investor-hero, .universities-hero, .history-hero,
  .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
  .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
  .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
  .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
  .testimonial-hero, .sli-intro, .pastic-legacy-hero
)::before,
html body :is(
  .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
  .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
  .oric-hero, .investor-hero, .universities-hero, .history-hero,
  .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
  .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
  .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
  .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
  .testimonial-hero, .sli-intro, .pastic-legacy-hero
)::after {
  display: none !important;
}

html body :is(
  .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
  .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
  .oric-hero, .investor-hero, .universities-hero, .history-hero,
  .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
  .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
  .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
  .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
  .testimonial-hero, .sli-intro, .pastic-legacy-hero
) h1 {
  color: var(--pastic-hero-blue) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2vw, 26px) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 0 0 12px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--pastic-hero-line) !important;
}

html body :is(
  .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
  .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
  .oric-hero, .investor-hero, .universities-hero, .history-hero,
  .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
  .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
  .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
  .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
  .testimonial-hero, .sli-intro, .pastic-legacy-hero
) :is(h2, h3) {
  color: var(--pastic-hero-blue) !important;
  text-shadow: none !important;
}

html body :is(
  .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
  .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
  .oric-hero, .investor-hero, .universities-hero, .history-hero,
  .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
  .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
  .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
  .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
  .testimonial-hero, .sli-intro, .pastic-legacy-hero
) > p,
html body :is(
  .abstracting-heading, .achx-hero-sub, .history-heading,
  .literature-hero-copy, .patent-hero-copy, .registration-hero-copy,
  .repro-hero-copy, .trainings-hero-copy, .projects-hero-copy,
  .testimonial-hero-copy, .pastic-legacy-hero
) > p {
  color: var(--pastic-hero-ink) !important;
  background: transparent !important;
  border: 0 !important;
  text-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  text-align: left !important;
  max-width: 78ch;
  margin: 0 !important;
  padding: 0 !important;
}

html body .pastic-legacy-hero > h5 {
  color: var(--pastic-hero-ink) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* These counters and labels previously assumed a dark banner. */
html body .achx-hero-sub strong { color: var(--pastic-hero-blue) !important; }
html body .achx-hero .achx-stat {
  background: #f7fafc !important;
  border-color: var(--pastic-hero-line) !important;
  backdrop-filter: none;
}
html body .achx-hero .achx-stat-num { color: var(--pastic-hero-blue) !important; }
html body .achx-hero .achx-stat-label { color: var(--pastic-hero-muted) !important; }
html body .sli-intro .sli-eyebrow {
  color: var(--pastic-hero-blue) !important;
  background: #f7fafc !important;
  border-color: var(--pastic-hero-line) !important;
}

/* Root pages built before the shared hero names use “intro” instead. */
html body :is(
  .spd-intro, .climate-intro, .energy-intro, .rdeq-intro,
  .ba-intro, .pubk-intro, .cu-intro, .frsh-intro,
  .nslt-intro, .books-intro, .sor-intro, .sso-intro,
  .snc-intro, .tr-intro, .tisdb-intro
) {
  background: #fff !important;
  background-image: none !important;
  color: var(--pastic-hero-ink) !important;
  border: 1px solid var(--pastic-hero-line) !important;
  border-left: 6px solid var(--pastic-hero-gold) !important;
  border-radius: 3px !important;
  box-shadow: 0 1px 2px rgba(16, 42, 74, .05) !important;
  padding: clamp(20px, 2.2vw, 28px) !important;
  margin: 0 0 20px !important;
  max-width: 100%;
  min-width: 0;
}
html body :is(
  .spd-intro, .climate-intro, .energy-intro, .rdeq-intro,
  .ba-intro, .pubk-intro, .cu-intro, .frsh-intro,
  .nslt-intro, .books-intro, .sor-intro, .sso-intro,
  .snc-intro, .tr-intro, .tisdb-intro
)::before,
html body :is(
  .spd-intro, .climate-intro, .energy-intro, .rdeq-intro,
  .ba-intro, .pubk-intro, .cu-intro, .frsh-intro,
  .nslt-intro, .books-intro, .sor-intro, .sso-intro,
  .snc-intro, .tr-intro, .tisdb-intro
)::after { display: none !important; }
html body :is(
  .spd-intro, .climate-intro, .energy-intro, .rdeq-intro,
  .ba-intro, .pubk-intro, .cu-intro, .frsh-intro,
  .nslt-intro, .books-intro, .sor-intro, .sso-intro,
  .snc-intro, .tr-intro, .tisdb-intro
) :is(h1, h2) {
  color: var(--pastic-hero-blue) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pastic-hero-line) !important;
  box-shadow: none !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2vw, 26px) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 0 0 12px !important;
  padding: 0 0 12px !important;
}
html body :is(
  .spd-intro, .climate-intro, .energy-intro, .rdeq-intro,
  .ba-intro, .pubk-intro, .cu-intro, .frsh-intro,
  .nslt-intro, .books-intro, .sor-intro, .sso-intro,
  .snc-intro, .tr-intro, .tisdb-intro
) p {
  color: var(--pastic-hero-ink) !important;
  background: transparent !important;
  text-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  text-align: left !important;
  max-width: 78ch;
}
html body :is(.frsh-intro, .nslt-intro) strong {
  color: var(--pastic-hero-blue) !important;
}
html body .pubk-intro .pubk-urdu-title {
  color: var(--pastic-hero-blue) !important;
}
html body :is(
  .spd-eyebrow, .climate-eyebrow, .energy-eyebrow, .rdeq-eyebrow,
  .ba-eyebrow, .pubk-intro-kicker, .cu-eyebrow, .books-eyebrow,
  .sor-eyebrow, .sso-eyebrow, .snc-eyebrow
) {
  color: var(--pastic-hero-blue) !important;
  background: #f7fafc !important;
  border-color: var(--pastic-hero-line) !important;
}

/* The Periodicals Directory is the reference implementation. */
html body .pdx .pdx-head {
  border-left: 6px solid var(--pastic-hero-gold);
}
html body .pdx .pdx-head-rule { display: none; }

/* Keep title styling consistent on older root pages without a hero container. */
html body :is(#page-main-content, .InnerWidth) h1:not([class*="hero"]),
html body .pastic-legacy-hero > h1 {
  color: var(--pastic-hero-blue) !important;
  text-shadow: none !important;
}

/* Small standalone root pages have no shared site header. */
html body > form > :is(h1, h2, h3):first-of-type {
  color: var(--pastic-hero-blue) !important;
  background: #fff !important;
  border: 1px solid var(--pastic-hero-line) !important;
  border-left: 6px solid var(--pastic-hero-gold) !important;
  border-radius: 3px !important;
  padding: 18px 22px !important;
  margin: 0 0 20px !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible {
  outline: 3px solid var(--pastic-hero-focus) !important;
  outline-offset: 2px;
}

@media (max-width: 720px) {
  html body :is(
    .abstracting-hero, .achx-hero, .chamber-hero, .ip-hero,
    .comm-hero, .assoc-hero, .ial-hero, .industrial-hero,
    .oric-hero, .investor-hero, .universities-hero, .history-hero,
    .liaison-hero, .literature-hero, .mainbib-hero, .nsrl-hero,
    .patent-hero, .registration-hero, .repro-hero, .request-forms-hero,
    .feedback-hero, .pastic-staff-hero, .foreign-hero, .industry-hero,
    .linkage-hero, .tis-hero, .trainings-hero, .projects-hero,
    .testimonial-hero, .sli-intro, .pastic-legacy-hero
  ) {
    display: block !important;
    padding: 20px 18px !important;
  }
  html body :is(
    .spd-intro, .climate-intro, .energy-intro, .rdeq-intro,
    .ba-intro, .pubk-intro, .cu-intro, .frsh-intro,
    .nslt-intro, .books-intro, .sor-intro, .sso-intro,
    .snc-intro, .tr-intro, .tisdb-intro
  ) { display: block !important; padding: 20px 18px !important; }
}

/* Public root-page H1 contract, matching the Scientists Analytics heading.
   This stylesheet is gated to root requests by the shared headers/masters.
   Preserve secondary headings and hidden legacy titles. */
html body :is(#page-main-content, #page, .InnerWidth, form) h1:not(header h1, nav h1, footer h1, [role="dialog"] h1, .modal h1) {
  position: relative !important;
  color: var(--pastic-hero-blue) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px dotted var(--pastic-title-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin: 0 0 14px !important;
  padding: 0 0 10px !important;
  max-width: 100%;
  overflow-wrap: break-word;
}

html body :is(#page-main-content, #page, .InnerWidth, form) h1:not(header h1, nav h1, footer h1, [role="dialog"] h1, .modal h1)::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: 0 !important;
  width: 64px !important;
  height: 4px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--pastic-hero-gold) !important;
  transform: none !important;
  pointer-events: none;
}

/* ASP.NET labels and heading links must not retain the old orange colour. */
html body :is(#page-main-content, #page, .InnerWidth, form) h1 :is(span, a) {
  color: inherit !important;
}

@media (max-width: 560px) {
  html body :is(#page-main-content, #page, .InnerWidth, form) h1:not(header h1, nav h1, footer h1, [role="dialog"] h1, .modal h1) {
    font-size: 23px !important;
  }
}

/* Unified public introduction: H1, then full-width copy on a plain white surface.
   The root-page helper marks only known introductions; tables/cards are untouched. */
html body :is(#page-main-content, #page, .InnerWidth, form) .pastic-public-intro {
  display: block !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--pastic-hero-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  text-align: left !important;
}

html body :is(#page-main-content, #page, .InnerWidth, form) .pastic-public-intro p,
html body :is(#page-main-content, #page, .InnerWidth, form) .pastic-public-intro > h5,
html body :is(#page-main-content, #page, .InnerWidth, form) :is(.rdp-intro, h1 + p) {
  color: var(--pastic-hero-ink) !important;
  background: transparent !important;
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: left !important;
  text-shadow: none !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
}

html body :is(#page-main-content, #page, .InnerWidth, form) .pastic-public-intro > :is(
  .abstracting-heading, .history-heading, .literature-hero-copy,
  .patent-hero-copy, .registration-hero-copy, .repro-hero-copy,
  .trainings-hero-copy, .projects-hero-copy, .testimonial-hero-copy,
  .pdx-head-body
) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove decorative pre-title labels, keeping real actions and statistics. */
html body .pastic-public-intro > :is([class*="eyebrow"], [class*="kicker"]),
html body .pastic-public-intro > .abstracting-heading > span:first-child,
html body .pastic-public-intro > [class$="-hero-copy"] > :is([class*="eyebrow"], [class*="kicker"]) {
  display: none !important;
}

html body .pastic-public-intro .pdx-head-top { display: block !important; }
html body .pastic-public-intro :is(.pdx-hr, .pdx-head-h2) { display: none !important; }
html body .pastic-public-intro .pdx-edition { display: block; margin: 0 0 10px; }
html body .pastic-public-intro .sci-cta-ghost {
  color: var(--pastic-hero-blue) !important;
  background: #fff !important;
  border-color: var(--pastic-title-rule) !important;
}
