/* 最新情報 — 速さと根拠を同じ紙面へ置くニュースデスク。 */
body.page-news {
  --news-paper: #f1eee5;
  --news-ink: #11110f;
  --news-red: #c92f27;
  background: var(--news-paper);
  color: var(--news-ink);
}

body.page-news .context-canvas {
  display: none;
}

body.page-news .site-header {
  top: 0;
  min-height: 86px;
  padding: 10px var(--pad);
  border: 0;
  border-top: 5px solid var(--news-ink);
  border-bottom: 3px double var(--news-ink);
  background: rgba(241, 238, 229, 0.98);
  color: var(--news-ink);
  box-shadow: none;
}

body.page-news .site-header.scrolled {
  background: rgba(241, 238, 229, 0.985);
  color: var(--news-ink);
  box-shadow: 0 10px 28px rgba(17, 17, 15, 0.14);
  -webkit-backdrop-filter: blur(14px) saturate(104%);
  backdrop-filter: blur(14px) saturate(104%);
}

body.page-news .brand {
  color: var(--news-ink);
  font-family: var(--serif);
  font-size: 22px;
  letter-spacing: -0.04em;
}

body.page-news .brand::after {
  content: "THE AI LAB DAILY";
  display: block;
  margin-top: 3px;
  color: var(--news-red);
  font: 800 8px/1 var(--mono);
  letter-spacing: 0.18em;
}

body.page-news .brand-dot {
  display: none;
}

body.page-news .nav {
  align-self: stretch;
  gap: 0;
  border-left: 1px solid var(--news-ink);
}

body.page-news .nav a {
  display: grid;
  place-items: center;
  padding: 0 12px;
  border-right: 1px solid rgba(17, 17, 15, 0.28);
  color: var(--news-ink);
  font-family: var(--serif);
  opacity: 1;
}

body.page-news .nav a[aria-current="page"] {
  background: var(--news-ink);
  color: var(--news-paper);
  opacity: 1;
}

body.page-news .header-join {
  padding: 10px 0;
  border: 0;
  border-bottom: 3px solid var(--news-red);
  color: var(--news-ink);
  font-weight: 900;
}

body.page-news .site-header.scrolled .brand,
body.page-news .site-header.scrolled .nav a:not([aria-current="page"]),
body.page-news .site-header.scrolled .header-join,
body.page-news .site-header.scrolled .menu {
  color: var(--news-ink);
  opacity: 1;
}

body.page-news .site-header.scrolled .nav a[aria-current="page"] {
  background: var(--news-ink);
  color: var(--news-paper);
  opacity: 1;
}

body.page-news .hero-frontpage {
  min-height: 84svh;
  padding-top: 128px;
  padding-bottom: 48px;
  background: var(--news-paper) !important;
  color: var(--news-ink) !important;
}

body.page-news .hero-frontpage-shell {
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: min(1600px, 100%) !important;
}

body.page-news .masthead {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  gap: 24px;
  padding: 12px 0 9px;
  border-top: 3px solid var(--news-ink);
  border-bottom: 1px solid var(--news-ink);
}

body.page-news .masthead b {
  font: 400 clamp(44px, 5vw, 82px) / 0.8 var(--serif);
  letter-spacing: -0.055em;
}

body.page-news .masthead span {
  font: 800 9px/1.2 var(--mono);
  letter-spacing: 0.1em;
}

body.page-news .masthead span:last-child {
  text-align: right;
}

body.page-news .frontpage-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
  gap: 4vw;
  padding: 38px 0 28px;
  border-bottom: 1px solid var(--news-ink);
}

body.page-news .frontpage-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.38fr);
  gap: 3vw;
  align-items: end;
}

body.page-news .frontpage-lead h1 {
  max-width: none;
  color: var(--news-ink);
  font: 400 clamp(70px, 8.2vw, 138px) / 0.82 var(--serif);
  letter-spacing: -0.08em;
  text-shadow: none;
}

body.page-news .frontpage-lead h1 small {
  display: block;
  margin-bottom: 24px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--news-ink);
  color: var(--news-red);
  font: 900 clamp(13px, 1.2vw, 18px) / 1.2 var(--sans);
  letter-spacing: 0.08em;
}

body.page-news .frontpage-lead h1 span {
  font-family: var(--sans);
  font-weight: 950;
}

body.page-news .frontpage-lead p {
  max-width: 360px;
  margin-bottom: 8px;
  padding-left: 20px;
  border-left: 1px solid var(--news-ink);
  color: #3c3a34 !important;
}

body.page-news .frontpage-desk {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding-left: 26px;
  border-left: 1px solid var(--news-ink);
}

body.page-news .frontpage-desk > span {
  margin-bottom: auto;
  font: 800 10px/1 var(--mono);
  letter-spacing: 0.16em;
}

body.page-news .frontpage-desk i {
  color: var(--news-red);
  font: 400 48px/1 var(--serif);
}

body.page-news .hero-frontpage .subnav {
  display: flex;
  justify-content: space-between;
  max-width: none;
  padding-top: 16px;
}

body.page-news .hero-frontpage .subnav a {
  border-color: var(--news-ink);
  color: var(--news-ink);
}

body.page-news .section {
  border-top: 3px double var(--news-ink);
  background: var(--news-paper);
}

body.page-news .news-access {
  background: var(--news-ink);
  color: var(--news-paper);
}

body.page-news .news-access-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.55fr);
  gap: clamp(42px, 7vw, 120px);
  align-items: end;
}

body.page-news .news-access-head .section-label {
  color: rgba(241, 238, 229, 0.55);
}

body.page-news .news-access-head h2 {
  color: var(--news-paper);
  font: 950 clamp(56px, 7.6vw, 120px) / 0.86 var(--sans);
  letter-spacing: -0.075em;
}

body.page-news .news-access-head h2 span {
  color: var(--news-red);
  font-family: var(--serif);
  font-weight: 400;
}

body.page-news .rom-note {
  padding: 26px 0 8px 28px;
  border-left: 1px solid rgba(241, 238, 229, 0.38);
}

body.page-news .rom-note b {
  display: block;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(22px, 2vw, 32px);
}

body.page-news .rom-note p {
  color: rgba(241, 238, 229, 0.68);
}

body.page-news .rom-note .pill {
  margin-top: 24px;
  border-color: var(--news-paper);
  background: var(--news-paper);
  color: var(--news-ink);
}

body.page-news .news-access-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(58px, 8vw, 110px);
  border-top: 1px solid rgba(241, 238, 229, 0.42);
  border-bottom: 1px solid rgba(241, 238, 229, 0.42);
}

body.page-news .news-access-grid article {
  display: flex;
  min-height: 430px;
  padding: clamp(26px, 3vw, 44px);
  flex-direction: column;
  scroll-margin-top: 110px;
}

body.page-news .news-access-grid article + article {
  border-left: 1px solid rgba(241, 238, 229, 0.28);
}

body.page-news .news-access-grid small,
body.page-news .news-access-grid > article > span {
  color: rgba(241, 238, 229, 0.48);
  font: 800 9px/1.2 var(--mono);
  letter-spacing: 0.12em;
}

body.page-news .news-access-grid strong {
  display: block;
  margin: auto 0 6px;
  color: var(--news-red);
  font: 400 clamp(48px, 5vw, 78px) / 0.9 var(--serif);
  letter-spacing: -0.06em;
}

body.page-news .news-access-grid h3 {
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(23px, 1.8vw, 28px);
  letter-spacing: -0.045em;
  text-wrap: balance;
  word-break: auto-phrase;
}

body.page-news .news-access-grid p {
  color: rgba(241, 238, 229, 0.66);
}

body.page-news .news-access-grid > article > span {
  margin-top: 24px;
  color: var(--news-paper);
}

body.page-news .topic-ledger {
  display: grid;
  grid-template-columns: minmax(240px, 0.46fr) minmax(0, 1fr);
  gap: clamp(30px, 6vw, 90px);
  margin-top: clamp(58px, 8vw, 110px);
}

body.page-news .topic-ledger-head {
  position: sticky;
  top: 120px;
  align-self: start;
}

body.page-news .topic-ledger-head small {
  color: var(--news-red);
  font: 900 9px/1.2 var(--mono);
  letter-spacing: 0.14em;
}

body.page-news .topic-ledger-head h3 {
  margin: 18px 0 12px;
  color: var(--news-paper);
  font: 400 clamp(42px, 5vw, 72px) / 0.92 var(--serif);
  letter-spacing: -0.06em;
}

body.page-news .topic-ledger-head p {
  color: rgba(241, 238, 229, 0.58);
}

body.page-news .topic-ledger ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(241, 238, 229, 0.35);
  list-style: none;
  counter-reset: news-topic;
}

body.page-news .topic-ledger li {
  min-height: 120px;
  padding: 22px 16px;
  counter-increment: news-topic;
  border-right: 1px solid rgba(241, 238, 229, 0.2);
  border-bottom: 1px solid rgba(241, 238, 229, 0.2);
  color: var(--news-paper);
  font-weight: 850;
}

body.page-news .topic-ledger li::before {
  content: counter(news-topic, decimal-leading-zero) " / ";
  display: block;
  margin-bottom: 22px;
  color: var(--news-red);
  font: 800 9px/1 var(--mono);
  letter-spacing: 0.1em;
}

body.page-news .newsroom {
  background: #e8e2d5;
}

body.page-news .news-grid {
  gap: 0;
  border-top: 1px solid var(--news-ink);
  border-bottom: 1px solid var(--news-ink);
  background: transparent;
}

body.page-news .news-column {
  padding: 28px;
  border: 0;
  border-right: 1px solid var(--news-ink);
  background: transparent;
}

body.page-news .news-column:last-child {
  border-right: 0;
}

body.page-news .stamp {
  border-radius: 0;
  background: var(--news-red);
  color: #fff;
}

body.page-news .ledger,
body.page-news .gateway,
body.page-news .benefit-line,
body.page-news .faq details {
  border-color: var(--news-ink);
  border-radius: 0;
  background: transparent;
}

body.page-news .gateway a {
  min-height: 260px;
  border-color: var(--news-ink);
}

body.page-news .manifesto {
  background: var(--news-red);
  color: #fff;
}

body.page-news .site-footer {
  border-top: 8px double var(--news-paper);
  background: var(--news-ink);
  color: var(--news-paper);
}

body.page-news .footer-lead h2 i {
  color: var(--news-red);
}

@media (max-width: 980px) {
  body.page-news .nav {
    border: 0;
    background: var(--news-paper);
  }

  body.page-news .nav a {
    display: block;
    border: 0;
    color: var(--news-ink);
    font-family: var(--sans);
  }

  body.page-news .news-access-head,
  body.page-news .topic-ledger {
    grid-template-columns: 1fr;
  }

  body.page-news .topic-ledger-head {
    position: static;
  }

  body.page-news .news-access-grid {
    grid-template-columns: 1fr;
  }

  body.page-news .news-access-grid article {
    min-height: 330px;
  }

  body.page-news .news-access-grid article + article {
    border-top: 1px solid rgba(241, 238, 229, 0.28);
    border-left: 0;
  }
}

@media (max-width: 600px) {
  body.page-news .site-header {
    min-height: 68px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  body.page-news .brand::after {
    font-size: 6px;
  }

  body.page-news .hero-frontpage {
    min-height: auto;
    padding-top: 98px;
    padding-bottom: 24px;
  }

  body.page-news .masthead {
    grid-template-columns: 1fr auto;
  }

  body.page-news .masthead span:first-child {
    display: none;
  }

  body.page-news .frontpage-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px 0 16px;
  }

  body.page-news .frontpage-lead {
    display: block;
  }

  body.page-news .frontpage-lead h1 {
    font-size: clamp(52px, 14.7vw, 70px);
  }

  body.page-news .frontpage-lead h1 small {
    margin-bottom: 16px;
    font-size: 11px;
  }

  body.page-news .frontpage-lead p {
    margin-top: 14px;
    padding: 10px 0 0;
    border-top: 1px solid var(--news-ink);
    border-left: 0;
  }

  body.page-news .frontpage-desk {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 6px;
    padding: 10px 0 0;
    border-top: 1px solid var(--news-ink);
    border-left: 0;
  }

  body.page-news .hero-frontpage .subnav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  body.page-news .news-column {
    border-right: 0;
    border-bottom: 1px solid var(--news-ink);
  }

  body.page-news .news-access-head h2 {
    font-size: clamp(50px, 15vw, 74px);
  }

  body.page-news .rom-note {
    padding: 22px 0 0;
    border-top: 1px solid rgba(241, 238, 229, 0.38);
    border-left: 0;
  }

  body.page-news .news-access-grid,
  body.page-news .topic-ledger ol {
    margin-right: calc(var(--pad) * -1);
    margin-left: calc(var(--pad) * -1);
  }

  body.page-news .news-access-grid article {
    min-height: 300px;
  }

  body.page-news .topic-ledger ol {
    grid-template-columns: 1fr 1fr;
  }

  body.page-news .topic-ledger li {
    min-height: 108px;
  }
}
