/* Scoped to the dedicated media landing page; common header/footer are unchanged. */
.shinei-insights #content.l-content { width: 100%; max-width: none; margin: 0; padding: 0; display: block; }
.shinei-insights-main { width: 100%; min-width: 0; }
.shinei-insights-main :is(h1,h2,h3,p) { margin: 0; }
.shinei-insights-main h2 { font-family: var(--shinei-serif); font-size: clamp(25px,2.6vw,36px); font-weight: 500; line-height: 1.5; }
.shinei-insights-intro {
  display: flex;
  align-items: center;
  min-height: clamp(440px,35vw,540px);
  padding-block: 64px;
  border-bottom: 1px solid var(--shinei-line);
  background-color: #f4faff;
  background-image: linear-gradient(90deg,#ffffffed 0%,#ffffffd9 36%,#ffffff70 56%,#ffffff00 78%), url("../images/insights-hero-20261101-1920.webp");
  background-repeat: no-repeat;
  background-size: 100% 100%, auto 100%;
  background-position: center, right center;
  background-attachment: scroll;
}
.shinei-insights-intro h1 { max-width: 760px; margin-top: 16px; font-family: Arial,"Yu Gothic",sans-serif; font-size: clamp(38px,4.7vw,66px); font-weight: 700; line-height: 1.35; letter-spacing: .015em; }
.shinei-insights-intro h1 > span { display: inline-block; white-space: nowrap; }
.shinei-insights-word--shinei { color: var(--shinei-ink); }
.shinei-insights-word--insights { color: var(--shinei-blue); }
.shinei-insights-intro .shinei-insights-intro__lead { max-width: 680px; margin-top: 23px; font-family: var(--shinei-serif); font-size: clamp(20px,2.1vw,28px); font-weight: 500; line-height: 1.9; color: var(--shinei-ink); }
.shinei-insights-intro__lead > span { display: inline-block; white-space: nowrap; }
.shinei-insights-intro p:not(.shinei-eyebrow):not(.shinei-insights-intro__lead) { max-width: 560px; margin-top: 16px; font-size: 14px; line-height: 2; color: #3d4c68; }
.shinei-insights-shortcuts { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 28px; }
.shinei-insights-shortcuts a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 10px 20px; border: 1px solid #acc9f0; border-radius: 26px; background: #ffffffd9; color: var(--shinei-blue); font-size: 13px; font-weight: 600; text-decoration: none; }
.shinei-insights-shortcuts a:hover { background: #edf5ff; }
.shinei-insights-content { padding-top: 36px; }
.shinei-insights-topics { background: #f6faff; border-block: 1px solid var(--shinei-line); }
.shinei-insights-topic-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 20px; }
.shinei-insights-topic { min-width: 0; padding: 24px 20px; border: 1px solid var(--shinei-line); border-top: 2px solid #88b5ef; background: #fff; border-radius: 4px; }
.shinei-insights-topic h3 { font-family: var(--shinei-serif); font-size: 19px; font-weight: 600; line-height: 1.8; overflow-wrap: anywhere; }
.shinei-insights-topic h3 a { color: var(--shinei-ink); text-decoration: none; }
.shinei-insights-topic h3 a:hover { color: var(--shinei-blue); text-decoration: underline; }
.shinei-insights-topic > p { margin-top: 12px; font-size: 13px; line-height: 1.9; color: var(--shinei-muted); }
.shinei-insights-topic .shinei-insights-topic__count { font-size: 11px; }
.shinei-insights-pagination { margin-top: 34px; }
/* SWELL's [class*=page-numbers] also matches the UL: reset it separately. */
.shinei-insights-pagination > ul.page-numbers {
  box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: center;
  gap: 10px; width: auto; min-width: 0; height: auto; margin: 0; padding: 0;
  list-style: none; line-height: normal; color: var(--shinei-ink);
  background: transparent; box-shadow: none;
}
.shinei-insights-pagination > ul.page-numbers > li { min-width: 0; margin: 0; padding: 0; list-style: none; }
.shinei-insights-pagination > ul.page-numbers > li > .page-numbers {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  width: auto; max-width: 100%; min-width: 44px; height: auto; min-height: 44px;
  margin: 0; padding: 8px 13px; border: 1px solid #bed1ea; border-radius: 4px;
  background: #fff; color: var(--shinei-ink); box-shadow: none;
  font-size: 14px; line-height: 1.5; text-decoration: none;
}
.shinei-insights-pagination > ul.page-numbers > li > .page-numbers.current { background: var(--shinei-blue); border-color: var(--shinei-blue); color: #fff; }
.shinei-insights-pagination > ul.page-numbers > li > a.page-numbers:not(.current):hover { background: #edf5ff; color: var(--shinei-ink); }
.shinei-insights-pagination a.page-numbers:focus-visible { outline: 3px solid var(--shinei-blue); outline-offset: 3px; box-shadow: none; }
.shinei-insights-search { border-top: 1px solid var(--shinei-line); background: #f5faff; }
.shinei-insights-search h2 { margin-top: 8px; }
.shinei-insights-search form { display: flex; gap: 12px; max-width: 720px; margin-top: 26px; }
.shinei-insights-search input[type="search"] { width: 100%; min-width: 0; min-height: 48px; border: 1px solid #b7cbe6; border-radius: 5px; background: #fff; color: var(--shinei-ink); padding: 12px 15px; font: inherit; font-size: 14px; }
.shinei-insights-search button { flex-shrink: 0; }
@media (max-width: 959px) {
  .shinei-insights-intro { padding-block: 48px; }
  .shinei-insights-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .shinei-insights-intro {
    min-height: 420px;
    padding-block: 38px;
    background-image: linear-gradient(180deg,#fffffff5 0%,#f1f9ffe6 28%,#eff8ffad 52%,#f0f8ff70 72%,#f0f8ff0d 100%), url("../images/insights-hero-20261101-960.webp");
    background-size: 100% 100%, auto clamp(280px,75vw,330px);
    background-position: center, 88% bottom;
  }
  .shinei-insights-intro h1 { font-size: clamp(30px,7.4vw,40px); line-height: 1.45; letter-spacing: 0; }
  .shinei-insights-intro > .shinei-shell {
    box-sizing: border-box;
    width: min(540px, calc(100% - 40px));
    min-width: 0;
    padding: 22px 18px;
    background: rgba(255,255,255,.94);
    border: 1px solid #e0eafa;
    border-radius: 8px;
    box-shadow: none;
  }
  .shinei-insights-intro .shinei-insights-intro__lead { margin-top: 20px; font-size: 20px; line-height: 1.85; }
  .shinei-insights-intro__lead > span { display: block; }
}
@media (max-width: 599px) {
  .shinei-insights-intro { padding-block: 32px; }
  .shinei-insights-intro .shinei-insights-intro__lead { font-size: 19px; }
  .shinei-insights-topic-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .shinei-insights-topic { padding: 22px 20px; }
  .shinei-insights-search form { flex-direction: column; }
}
