:root {
  --red: #ff0000;
  --ink: #000000;
  --white: #ffffff;
  --light: #f2f2f2;
  --muted: #000000;
  --line: #f2f2f2;
  --soft: #ffffff;
  --slide-w: min(100vw, calc(100vh * 16 / 9));
  --margin-x: 5.25cqw;
  --margin-top: 2.05cqw;
  --margin-bottom: 1.7cqw;
  --header-h: 3cqw;
  --title-h: 5.5cqw;
  --summary-h: 2.7cqw;
  --footer-h: 1.9cqw;
  --gap-xs: .7cqw;
  --gap-sm: 1.15cqw;
  --gap-md: 1.9cqw;
  --gap-lg: 3cqw;
  --fs-micro: .72cqw;
  --fs-meta: .9cqw;
  --fs-small: 1.15cqw;
  --fs-body: 1.45cqw;
  --fs-lead: 1.9cqw;
  --fs-title: 2.85cqw;
  --fs-statement: 3.8cqw;
  --fs-hero: 4.5cqw;
}

* { box-sizing: border-box; }

html,
body,
.deck,
.slide-stage,
.slide {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

html,
body {
  width: 100%;
  height: 100%;
}

body {
  margin: 0;
  overflow: hidden;
  background: var(--light);
  color: var(--ink);
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-synthesis: none;
  line-break: strict;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}

body.dark-stage {
  background: var(--ink);
}

.deck {
  width: 100vw;
  height: 100vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: inherit;
}

.slide-stage {
  position: relative;
  width: var(--slide-w);
  aspect-ratio: 16 / 9;
  container-type: inline-size;
  overflow: hidden;
  background: var(--light);
}

.slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: var(--header-h) var(--title-h) var(--summary-h) 1fr var(--footer-h);
  padding: var(--margin-top) var(--margin-x) var(--margin-bottom);
  background: var(--light);
  opacity: 0;
  pointer-events: none;
}

.slide.active {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}

.slide-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1cqw;
  color: var(--red);
  font-size: var(--fs-meta);
  font-weight: 700;
  letter-spacing: .08em;
}

.slide-header > span:first-child {
  text-align: left;
}

.slide-header > span:last-child {
  text-align: right;
  color: var(--ink);
  opacity: .7;
}

.section-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6cqw;
  color: var(--ink);
  opacity: .82;
  font-size: .68cqw;
  letter-spacing: .1em;
}

.section-progress-dots {
  display: flex;
  align-items: center;
  gap: .35cqw;
}

.section-progress-dots i {
  display: block;
  width: .55cqw;
  height: .55cqw;
  border-radius: 50%;
  background: var(--line);
}

.section-progress-dots i.is-done {
  background: var(--ink);
  opacity: .45;
}

.section-progress-dots i.is-current {
  background: var(--red);
}

.slide[data-layout="title"] .section-progress,
.slide[data-layout="agenda"] .section-progress,
.slide[data-layout="sectionDivider"] .section-progress {
  color: var(--white);
}

.slide[data-layout="title"] .section-progress-dots i,
.slide[data-layout="agenda"] .section-progress-dots i,
.slide[data-layout="sectionDivider"] .section-progress-dots i {
  background: rgba(255, 255, 255, .3);
}

.slide[data-layout="title"] .section-progress-dots i.is-done,
.slide[data-layout="agenda"] .section-progress-dots i.is-done,
.slide[data-layout="sectionDivider"] .section-progress-dots i.is-done {
  background: rgba(255, 255, 255, .65);
  opacity: 1;
}

.slide[data-layout="title"] .section-progress-dots i.is-current,
.slide[data-layout="agenda"] .section-progress-dots i.is-current,
.slide[data-layout="sectionDivider"] .section-progress-dots i.is-current {
  background: var(--red);
}

.slide-title {
  align-self: end;
  max-width: 84%;
}

.slide-title p {
  display: none;
}

.slide-title h1 {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.summary {
  display: flex;
  align-items: center;
  color: var(--muted);
  opacity: .56;
  font-size: var(--fs-small);
  line-height: 1.5;
}

.slide-content {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: var(--gap-xs);
}

.slide-footer {
  display: flex;
  justify-content: space-between;
  align-items: end;
  color: var(--muted);
  opacity: .52;
  font-size: var(--fs-micro);
  letter-spacing: .08em;
}

.progress {
  display: block;
  position: fixed;
  z-index: 30;
  left: 0;
  right: 0;
  bottom: 0;
  height: .28rem;
  background: rgba(0, 0, 0, .08);
}

.progress span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--red);
  transition: width .15s ease;
}

/* Viewer navigation: page jump at lower left and a hover/focus agenda at right. */
.page-jump {
  position: fixed;
  z-index: 40;
  left: max(1rem, calc((100vw - var(--slide-w)) / 2 + .9rem));
  bottom: .85rem;
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .55rem;
  border-radius: .35rem;
  background: rgba(0, 0, 0, .9);
  color: var(--white);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.page-jump label { color: var(--white); }

.page-jump input {
  width: 3.6rem;
  min-height: 1.8rem;
  padding: .15rem .35rem;
  border: 0;
  border-radius: .18rem;
  background: var(--white);
  color: var(--ink);
  font: inherit;
  letter-spacing: 0;
  text-align: center;
}

.page-jump input:focus-visible,
.deck-outline button:focus-visible {
  outline: .16rem solid var(--red);
  outline-offset: .12rem;
}

.deck-outline {
  position: fixed;
  z-index: 40;
  top: 50%;
  right: 0;
  width: min(25rem, 78vw);
  transform: translate(calc(100% - 2.6rem), -50%);
  transition: transform .18s ease;
}

.deck-outline:hover,
.deck-outline:focus-within { transform: translate(0, -50%); }

.deck-outline-trigger {
  position: absolute;
  top: 50%;
  left: 0;
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 7.8rem;
  padding: 0;
  transform: translate(-100%, -50%);
  border: 0;
  border-radius: .45rem 0 0 .45rem;
  background: var(--red);
  color: var(--white);
  font: 700 .72rem/1 "Noto Sans JP", sans-serif;
  letter-spacing: .12em;
  writing-mode: vertical-rl;
  cursor: pointer;
}

.deck-outline-panel {
  max-height: min(84vh, 50rem);
  overflow-y: auto;
  padding: 1.1rem 1rem 1.25rem;
  background: rgba(0, 0, 0, .96);
  color: var(--white);
}

.deck-outline-heading {
  margin-bottom: .85rem;
  color: var(--red);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.deck-outline-group + .deck-outline-group { margin-top: 1rem; }

.deck-outline-group h2 {
  margin: 0 0 .35rem;
  color: var(--white);
  font-size: .95rem;
  line-height: 1.3;
}

.deck-outline-group button {
  width: 100%;
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: .45rem;
  padding: .42rem .25rem;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
  background: transparent;
  color: var(--white);
  font: 400 .78rem/1.35 "Noto Sans JP", sans-serif;
  text-align: left;
  cursor: pointer;
}

.deck-outline-group button b { color: rgba(255, 255, 255, .58); }
.deck-outline-group button:hover,
.deck-outline-group button.is-current { background: rgba(255, 255, 255, .12); }
.deck-outline-group button.is-current b { color: var(--red); }

@media print {
  .page-jump,
  .deck-outline { display: none !important; }
}

@media print {
  .progress {
    display: none !important;
  }
}

.speaker-notes {
  position: fixed;
  z-index: 20;
  left: 50%;
  bottom: 2.4cqw;
  width: min(72rem, 84vw);
  padding: 1rem 1.25rem;
  transform: translate(-50%, calc(100% + 5rem));
  background: var(--ink);
  color: var(--white);
  font-size: 16px;
  line-height: 1.7;
  transition: transform .18s ease;
}

.speaker-notes.open {
  transform: translate(-50%, 0);
}

.slide[data-layout="title"],
.slide[data-layout="agenda"],
.slide[data-layout="sectionDivider"] {
  grid-template-rows: 1fr var(--footer-h);
  background: var(--ink);
  color: var(--white);
}

.slide[data-layout="title"] .slide-header,
.slide[data-layout="title"] .slide-title,
.slide[data-layout="title"] .summary,
.slide[data-layout="agenda"] .slide-title,
.slide[data-layout="agenda"] .summary,
.slide[data-layout="sectionDivider"] .slide-title,
.slide[data-layout="sectionDivider"] .summary {
  display: none;
}

.slide[data-layout="sectionDivider"] {
  grid-template-rows: var(--header-h) 1fr var(--footer-h);
}

.slide[data-layout="sectionDivider"] .slide-header {
  display: grid;
}

.slide[data-layout="sectionDivider"] .slide-header > span {
  visibility: hidden;
}

.slide[data-layout="title"] .slide-footer,
.slide[data-layout="agenda"] .slide-footer,
.slide[data-layout="sectionDivider"] .slide-footer {
  color: var(--white);
  opacity: .72;
}

.title-cover {
  width: 100%;
  height: 100%;
}

.section-cover,
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.title-cover-text p {
  margin: 0 0 var(--gap-md);
  font-size: var(--fs-body);
  font-weight: 700;
  letter-spacing: .14em;
}

.title-cover-text h2,
.section-cover h2,
.placeholder h2 {
  margin: 0;
  font-size: var(--fs-hero);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.035em;
}

.title-cover-text span {
  margin-top: var(--gap-lg);
  font-size: var(--fs-lead);
}

.section-cover {
  align-items: center;
  text-align: center;
}

.section-cover b {
  display: grid;
  place-items: center;
  width: 4.3cqw;
  height: 4.3cqw;
  margin-bottom: 1.8cqw;
  border: 0;
  border-radius: 50%;
  background: var(--red);
  font-size: var(--fs-lead);
}

.section-cover p {
  margin: 2.1cqw 0 0;
  font-size: var(--fs-body);
}

.statement-box {
  width: 100%;
  text-align: center;
}

.statement-box span {
  display: block;
  color: var(--red);
  font-size: var(--fs-small);
  font-weight: 700;
  letter-spacing: .12em;
}

.statement-box strong {
  display: block;
  margin-top: 1.5cqw;
  font-size: var(--fs-statement);
  line-height: 1.18;
}

.statement-box p {
  margin: 1.8cqw 0 0;
  color: var(--muted);
  font-size: var(--fs-body);
}

.agenda-wrap {
  width: 94%;
  display: flex;
  flex-direction: column;
  gap: 1.6cqw;
}

.agenda-goal {
  display: flex;
  flex-direction: column;
  padding-bottom: 1.4cqw;
  border-bottom: .12cqw solid rgba(255, 255, 255, .22);
}

.agenda-goal span {
  color: var(--red);
  font-size: var(--fs-meta);
  font-weight: 700;
  letter-spacing: .14em;
}

.agenda-goal strong {
  margin-top: .55cqw;
  color: var(--white);
  font-size: 2.35cqw;
  font-weight: 700;
  line-height: 1.25;
}

.agenda-goal p {
  margin: .55cqw 0 0;
  color: var(--white);
  opacity: .62;
  font-size: 1.05cqw;
  line-height: 1.5;
}

.agenda-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1cqw;
}

.agenda-grid article {
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  min-height: 10.5cqw;
  padding: 1.3cqw;
  color: var(--ink);
  background: var(--white);
  border: 0;
  border-radius: 1.05cqw;
  transition: opacity .15s ease;
}

.agenda-grid article:first-child,
.agenda-grid article:last-child {
  grid-column: 1 / -1;
  grid-template-columns: 4cqw 26cqw 1fr;
  align-items: center;
  min-height: 4.5cqw;
  padding: .8cqw 1.3cqw;
}

.agenda-grid article.is-muted {
  opacity: .3;
}

.agenda-grid article.is-active strong {
  color: var(--red);
}

.agenda-grid b,
.card-grid b {
  display: block;
  color: var(--red);
  font-size: var(--fs-small);
}

.agenda-grid strong,
.card-grid strong {
  display: block;
  margin-top: 0;
  font-size: var(--fs-lead);
}

.agenda-grid span,
.card-grid span {
  display: block;
  margin-top: 0;
  color: var(--ink);
  font-size: 1.02cqw;
  line-height: 1.55;
}

.agenda-grid span {
  opacity: .68;
}

.signal-layout {
  width: 100%;
  display: grid;
  grid-template-columns: 18cqw 1fr;
  gap: 3cqw;
  align-items: center;
}

.signal-center {
  display: grid;
  place-items: center;
  width: 17cqw;
  height: 17cqw;
  border: .32cqw solid var(--red);
  border-radius: 50%;
  color: var(--red);
  font-size: 4cqw;
  font-weight: 700;
}

.signal-grid {
  display: grid;
  gap: 1.25cqw;
}

.signal-grid article {
  display: grid;
  grid-template-columns: 4.2cqw 14.5cqw 1fr;
  column-gap: .9cqw;
  align-items: center;
  min-height: 5cqw;
  border-bottom: .08cqw solid var(--line);
}

.signal-grid b {
  color: var(--red);
  font-size: var(--fs-small);
}

.signal-grid strong {
  font-size: var(--fs-lead);
}

.signal-grid span {
  color: var(--muted);
  font-size: var(--fs-body);
}

.template-blocks-layout {
  width: 100%;
}

.template-blocks-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.2cqw;
}

.template-blocks-grid article {
  min-height: 12.4cqw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.3cqw 1cqw;
  border-radius: 1.05cqw;
  background: var(--white);
  text-align: center;
}

.template-blocks-grid b {
  display: grid;
  place-items: center;
  width: 2.6cqw;
  height: 2.6cqw;
  margin-bottom: .85cqw;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  font-size: 1.2cqw;
  font-weight: 700;
}

.template-blocks-grid strong {
  display: block;
  font-size: 1.32cqw;
  line-height: 1.3;
}

.template-blocks-grid span {
  display: block;
  margin-top: .65cqw;
  color: var(--ink);
  font-size: .88cqw;
  line-height: 1.45;
  opacity: .68;
}

.template-blocks-layout > p {
  margin: 1.4cqw 0 0;
  color: var(--red);
  font-size: var(--fs-small);
  font-weight: 700;
  text-align: center;
}

.prompt-card-layout {
  width: 92%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.prompt-card {
  width: 100%;
  border-radius: 1cqw;
  overflow: hidden;
  background: var(--ink);
}

.prompt-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1cqw;
  padding: .85cqw 1.3cqw;
  background: rgba(255, 255, 255, .06);
}

.prompt-card-header span {
  color: var(--white);
  opacity: .62;
  font-size: .85cqw;
  font-weight: 700;
  letter-spacing: .1em;
}

.prompt-copy-btn {
  flex: 0 0 auto;
  padding: .5cqw 1.15cqw;
  border: 0;
  border-radius: .5cqw;
  background: var(--red);
  color: var(--white);
  font-family: inherit;
  font-size: .85cqw;
  font-weight: 700;
  cursor: pointer;
}

.prompt-copy-btn.is-copied {
  background: var(--white);
  color: var(--red);
}

.prompt-md {
  padding: 1.5cqw 1.7cqw;
  max-height: 31cqw;
  overflow-y: auto;
}

.prompt-md .md-mark {
  margin-right: .55cqw;
  color: var(--red);
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-weight: 700;
}

.prompt-md .md-h1 {
  margin: 0 0 .9cqw;
  color: var(--white);
  font-size: 1.55cqw;
  font-weight: 700;
  line-height: 1.3;
}

.prompt-md .md-h1 .md-mark {
  color: rgba(255, 255, 255, .4);
}

.prompt-md .md-h2 {
  margin: 1.3cqw 0 .6cqw;
  padding-top: 1cqw;
  border-top: .06cqw solid rgba(255, 255, 255, .15);
  color: var(--red);
  font-size: .92cqw;
  font-weight: 700;
  letter-spacing: .05em;
}

.prompt-md .md-h1 + .md-h2 {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.prompt-md .md-h3 {
  margin: .7cqw 0 .1cqw;
  color: rgba(255, 255, 255, .82);
  font-size: .88cqw;
  font-weight: 700;
}

.prompt-md .md-numbered {
  margin-top: .55cqw;
  color: rgba(255, 255, 255, .92);
  font-size: .92cqw;
  line-height: 1.62;
}

.prompt-md .md-list {
  margin: .35cqw 0 0;
  padding-left: 0;
}

.prompt-md .md-list li {
  margin-top: .32cqw;
  color: rgba(255, 255, 255, .88);
  font-size: .92cqw;
  line-height: 1.58;
  list-style: none;
}

.prompt-md .md-p {
  margin: .35cqw 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: .92cqw;
  line-height: 1.62;
}

.prompt-md strong {
  color: var(--white);
  font-weight: 700;
}

.prompt-md code {
  padding: .08cqw .45cqw;
  border-radius: .32cqw;
  background: rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .92);
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: .84cqw;
}

.image-showcase {
  width: 94%;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 3cqw;
}

.image-showcase-visual {
  border-radius: 1.05cqw;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--ink);
}

.image-showcase-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.image-showcase-text {
  display: flex;
  flex-direction: column;
}

.image-showcase-text span {
  color: var(--red);
  font-size: var(--fs-meta);
  font-weight: 700;
  letter-spacing: .1em;
}

.image-showcase-text strong {
  margin-top: 1.1cqw;
  font-size: 2.35cqw;
  line-height: 1.35;
  font-weight: 700;
}

.image-showcase-text p {
  margin-top: 1.4cqw;
  color: var(--ink);
  font-size: 1.1cqw;
  line-height: 1.6;
  opacity: .72;
}

.thumbnail-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15cqw;
}

.thumbnail-card {
  min-width: 0;
  aspect-ratio: 16 / 8.3;
  padding: .5cqw;
  border-radius: 1.05cqw;
  background: var(--white);
  overflow: hidden;
}

.thumbnail-art {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: .72cqw;
  background: var(--ink);
  overflow: hidden;
}

.thumbnail-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.variant-1 .thumbnail-art img,
.variant-4 .thumbnail-art img,
.variant-5 .thumbnail-art img {
  object-position: center;
}

.component-layout,
.science-layout {
  width: 100%;
}

.component-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1cqw;
}

.component-grid article {
  grid-column: span 3;
  min-height: 9.2cqw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.35cqw;
  border-radius: 1.05cqw;
  background: var(--white);
}

.component-grid article:nth-child(n + 5) {
  grid-column: span 4;
}

.component-grid b,
.science-grid b {
  color: var(--red);
  font-size: var(--fs-meta);
  letter-spacing: .08em;
}

.science-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5cqw;
}

.science-tag {
  padding: .22cqw .65cqw;
  border-radius: .35cqw;
  background: var(--light);
  color: var(--ink);
  font-size: .68cqw;
  font-weight: 700;
  font-style: normal;
  letter-spacing: .03em;
  opacity: .78;
  white-space: nowrap;
}

.science-intro {
  margin-bottom: 1cqw;
  padding: .95cqw 1.3cqw;
  border-left: .3cqw solid var(--red);
  background: var(--white);
  color: var(--ink);
  font-size: 1.08cqw;
  font-weight: 700;
  line-height: 1.4;
}

.component-grid strong,
.science-grid strong {
  margin-top: .65cqw;
  font-size: 1.65cqw;
  line-height: 1.25;
}

.component-grid span,
.science-grid span {
  margin-top: .65cqw;
  color: var(--ink);
  font-size: .98cqw;
  line-height: 1.45;
  opacity: .7;
}

.component-layout > p,
.science-layout > p {
  margin: 1.3cqw 0 0;
  color: var(--red);
  font-size: var(--fs-small);
  font-weight: 700;
  text-align: center;
}

.science-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1cqw;
}

.science-grid article {
  min-height: 10.2cqw;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.3cqw;
  padding: 1.35cqw 1.5cqw;
  border-radius: 1.05cqw;
  background: var(--white);
}

.science-thumb {
  flex: 0 0 38%;
  aspect-ratio: 16 / 9;
  border-radius: .55cqw;
  overflow: hidden;
  background: var(--ink);
}

.science-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.science-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.science-grid small {
  display: block;
  margin-top: 1.25cqw;
  color: var(--ink);
  font-size: .75cqw;
  line-height: 1.4;
  opacity: .78;
}

.work-box {
  position: relative;
  width: 78%;
  padding: 2.4cqw 3cqw 2.2cqw;
  border: 0;
  border-radius: .9cqw;
  background: var(--white);
  text-align: center;
  overflow: hidden;
}

.work-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: .3cqw;
  background: var(--red);
}

.work-label {
  display: inline-block;
  margin-bottom: 1.3cqw;
  padding: .35cqw .8cqw;
  background: var(--red);
  color: var(--white);
  font-size: var(--fs-meta);
  font-weight: 700;
  letter-spacing: .12em;
}

.work-box h3 {
  margin: 0;
  font-size: 2.3cqw;
}

.choice-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1cqw;
  margin-top: 2cqw;
}

.choice-grid span {
  min-width: 10.5cqw;
  padding: 1cqw 1.4cqw;
  border: .1cqw solid var(--line);
  font-size: var(--fs-body);
  font-weight: 700;
}

.work-box p {
  margin: 1.8cqw 0 0;
  color: var(--red);
  font-size: var(--fs-small);
  font-weight: 700;
}

.card-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.1cqw;
}

.card-grid article {
  min-height: 13cqw;
  padding: 1.5cqw;
  border: .09cqw solid var(--line);
}

.hell-layout {
  width: 100%;
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 4cqw;
  align-items: center;
}

.loop {
  display: flex;
  align-items: center;
  gap: .7cqw;
  padding: 2.5cqw 2cqw;
  border: .12cqw solid var(--ink);
}

.loop span {
  display: grid;
  place-items: center;
  width: 7cqw;
  height: 7cqw;
  border-radius: 50%;
  background: var(--soft);
  font-size: var(--fs-body);
  font-weight: 700;
}

.loop i {
  color: var(--red);
  font-size: var(--fs-lead);
  font-style: normal;
  font-weight: 700;
}

.hell-result {
  padding-left: 2.4cqw;
  border-left: .4cqw solid var(--red);
}

.hell-result > b {
  color: var(--red);
  font-size: 3cqw;
}

.hell-result ul,
.compare-grid ul {
  margin: 1.3cqw 0 0;
  padding-left: 1.3em;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: 1.9;
}

.compare-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 5cqw 1fr;
  align-items: center;
}

.compare-grid article {
  min-height: 18cqw;
  padding: 2.2cqw;
  border: .1cqw solid var(--line);
  background: var(--soft);
}

.compare-grid article.accent {
  border: .18cqw solid var(--red);
  background: var(--white);
}

.compare-grid h3 {
  margin: 0;
  font-size: var(--fs-lead);
}

.compare-grid .arrow,
.visual-compare .arrow {
  color: var(--red);
  text-align: center;
  font-size: 2.8cqw;
  font-weight: 700;
}

.aidai-flow {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 2cqw 1fr 2cqw 1fr 2cqw 1fr 2cqw 1fr;
  align-items: center;
}

.aidai-flow article {
  min-height: 15.5cqw;
  padding: 1.3cqw 1.1cqw;
  border: .1cqw solid var(--line);
  text-align: center;
}

.aidai-badge {
  position: relative;
  width: 5.4cqw;
  height: 5.4cqw;
  margin: 0 auto;
}

.aidai-icon {
  width: 100%;
  height: 100%;
  color: var(--red);
}

.aidai-badge b {
  position: absolute;
  right: -.5cqw;
  bottom: -.5cqw;
  display: grid;
  place-items: center;
  width: 2.3cqw;
  height: 2.3cqw;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  font-size: .95cqw;
}

.aidai-flow strong {
  display: block;
  margin-top: 1.2cqw;
  font-size: var(--fs-small);
}

.aidai-flow span {
  display: block;
  margin-top: .9cqw;
  color: var(--muted);
  font-size: .95cqw;
  line-height: 1.5;
}

.aidai-flow small {
  display: block;
  margin-top: 1cqw;
  padding: .45cqw .35cqw;
  border-radius: .45cqw;
  background: var(--light);
  color: var(--red);
  font-size: .66cqw;
  font-weight: 700;
  line-height: 1.3;
}

.aidai-flow i {
  color: var(--red);
  text-align: center;
  font-size: 1.6cqw;
  font-style: normal;
}

.formula-card {
  width: 88%;
  padding: 3cqw;
  border-left: .55cqw solid var(--red);
  background: var(--soft);
}

.formula-card > strong {
  display: block;
  color: var(--ink);
  font-size: 3.25cqw;
  line-height: 1.25;
}

.formula-card > div {
  display: grid;
  grid-template-columns: 5cqw 1fr;
  gap: 1.2cqw;
  align-items: center;
  margin-top: 2.2cqw;
  padding-top: 1.5cqw;
  border-top: .1cqw solid var(--line);
}

.formula-card > div b {
  color: var(--red);
  font-size: var(--fs-small);
}

.formula-card > div span {
  font-size: var(--fs-body);
}

.formula-card > p {
  margin: 1.4cqw 0 0;
  padding: .75cqw 1cqw;
  border-radius: .65cqw;
  background: var(--light);
  color: var(--red);
  font-size: var(--fs-small);
  font-weight: 700;
}

.science-deep-layout {
  width: 92%;
  display: grid;
  grid-template-columns: 1fr 1.55fr;
  gap: 2.6cqw;
  align-items: stretch;
}

.science-deep-theory {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.2cqw 2cqw;
  border-radius: 1cqw;
  background: var(--ink);
  color: var(--white);
}

.science-deep-tag {
  align-self: flex-start;
  padding: .32cqw .85cqw;
  border-radius: .4cqw;
  background: var(--red);
  color: var(--white);
  font-size: .78cqw;
  font-weight: 700;
  letter-spacing: .06em;
}

.science-deep-theory strong {
  display: block;
  margin-top: 1.3cqw;
  font-size: 1.8cqw;
  line-height: 1.35;
}

.science-deep-theory small {
  display: block;
  margin-top: 1.5cqw;
  color: rgba(255, 255, 255, .6);
  font-size: .85cqw;
  line-height: 1.55;
}

.science-deep-body {
  display: flex;
  flex-direction: column;
  gap: 1.3cqw;
  justify-content: center;
}

.science-deep-block {
  padding: 1.3cqw 1.6cqw;
  border-radius: .8cqw;
  background: var(--white);
}

.science-deep-block b {
  display: block;
  color: var(--red);
  font-size: .85cqw;
  font-weight: 700;
  letter-spacing: .04em;
}

.science-deep-block p {
  margin: .65cqw 0 0;
  color: var(--ink);
  font-size: 1.08cqw;
  line-height: 1.68;
  opacity: .82;
}

.science-deep-caution {
  padding: .9cqw 1.4cqw;
  border-radius: .6cqw;
  background: var(--light);
  color: var(--ink);
  font-size: .82cqw;
  line-height: 1.5;
  opacity: .68;
}

.template-layout {
  width: 92%;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 4cqw;
  align-items: center;
}

.sheet {
  border: .13cqw solid var(--ink);
  background: var(--white);
}

.sheet header {
  padding: 1.2cqw 1.4cqw;
  background: var(--ink);
  color: var(--white);
  font-size: var(--fs-small);
  font-weight: 700;
}

.sheet div {
  display: grid;
  grid-template-columns: 3.4cqw 1fr;
  align-items: center;
  min-height: 3.15cqw;
  border-top: .08cqw solid var(--line);
}

.sheet div b {
  text-align: center;
  color: var(--red);
}

.sheet div span {
  font-size: var(--fs-body);
}

.template-copy strong,
.template-copy span {
  display: block;
}

.template-copy strong {
  font-size: 2.5cqw;
}

.template-copy span {
  margin-top: 1.2cqw;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: 1.6;
}

.template-copy a {
  display: inline-block;
  margin-top: 2cqw;
  padding: 1cqw 1.4cqw;
  background: var(--red);
  color: var(--white);
  font-size: var(--fs-small);
  font-weight: 700;
  text-decoration: none;
}

.timeline {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 2cqw 1fr 2cqw 1fr 2cqw 1fr;
  align-items: center;
}

.timeline article {
  min-height: 14cqw;
  padding: 1.6cqw;
  border-top: .3cqw solid var(--red);
  background: var(--soft);
}

.timeline article b,
.timeline article strong,
.timeline article span {
  display: block;
}

.timeline article b {
  color: var(--red);
  font-size: var(--fs-lead);
}

.timeline article strong {
  margin-top: 1.3cqw;
  font-size: var(--fs-body);
}

.timeline article span {
  margin-top: .8cqw;
  color: var(--muted);
  font-size: var(--fs-small);
}

.timeline i {
  color: var(--red);
  text-align: center;
  font-size: 1.7cqw;
  font-style: normal;
}

.score-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.3cqw;
}

.score-grid article {
  display: grid;
  grid-template-columns: 8cqw 1fr 10cqw;
  align-items: center;
  min-height: 7cqw;
  padding: 1.3cqw 1.6cqw;
  border: .1cqw solid var(--line);
}

.score-grid strong {
  font-size: var(--fs-lead);
}

.score-grid span {
  color: var(--muted);
  font-size: var(--fs-small);
}

.score-grid article div {
  display: flex;
  justify-content: flex-end;
  gap: .65cqw;
}

.score-grid i {
  display: grid;
  place-items: center;
  width: 2.5cqw;
  height: 2.5cqw;
  border: .08cqw solid var(--line);
  font-size: var(--fs-small);
  font-style: normal;
}

.score-grid i:first-child {
  border-color: var(--red);
  color: var(--red);
}

.visual-compare {
  width: 95%;
  display: grid;
  grid-template-columns: 1fr 5cqw 1fr;
  align-items: center;
}

.visual-compare article > b {
  display: block;
  margin-bottom: .8cqw;
  color: var(--muted);
  font-size: var(--fs-meta);
  letter-spacing: .1em;
}

.mock-banner {
  min-height: 15cqw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2cqw;
  border: .1cqw solid var(--ink);
  background: var(--soft);
}

.after .mock-banner {
  border: .24cqw solid var(--red);
  background: var(--white);
}

.mock-banner strong {
  font-size: 2.6cqw;
  line-height: 1.2;
}

.before .mock-banner strong {
  font-size: 1.8cqw;
}

.mock-banner span {
  margin-top: 1.3cqw;
  color: var(--muted);
  font-size: var(--fs-small);
}

.visual-compare article p {
  margin: 1cqw 0 0;
  color: var(--red);
  font-size: var(--fs-small);
  font-weight: 700;
}

.preflight {
  width: 90%;
  text-align: center;
}

.check-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.3cqw;
}

.check-grid span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1cqw;
  padding: 2.1cqw 1.4cqw;
  border: .1cqw solid var(--line);
  font-size: var(--fs-lead);
  font-weight: 700;
}

.check-grid i {
  display: grid;
  place-items: center;
  width: 3.8cqw;
  height: 3.8cqw;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  font-size: var(--fs-lead);
  font-style: normal;
}

.preflight p {
  margin: 2cqw 0 0;
  color: var(--red);
  font-size: var(--fs-body);
  font-weight: 700;
}

.closing-layout {
  width: 92%;
}

.closing-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5cqw;
}

.closing-action strong {
  font-size: 3.6cqw;
}

.closing-action i {
  color: var(--red);
  font-size: 3cqw;
  font-style: normal;
}

.closing-checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.3cqw;
  margin-top: 3cqw;
}

.closing-checks span {
  display: flex;
  align-items: center;
  gap: 1cqw;
  padding: 1.2cqw;
  border-top: .2cqw solid var(--red);
  background: var(--soft);
  font-size: var(--fs-small);
}

.closing-checks b {
  color: var(--red);
}

/* 2026-07 KAWAI LIVE art direction */
strong,
b {
  font-weight: 700;
}

.slide[data-layout="agenda"] {
  grid-template-rows: var(--header-h) 1fr var(--footer-h);
}

.slide[data-layout="agenda"] .slide-header {
  display: flex;
  color: var(--red);
}

.slide[data-layout="agenda"] .slide-title,
.slide[data-layout="agenda"] .summary {
  display: none;
}

.slide[data-layout="agenda"] .slide-content {
  padding-top: 0;
}

.statement-box {
  width: 92%;
  padding: 3.6cqw 3cqw;
  border-radius: 1.2cqw;
  background: var(--white);
}

.work-box {
  width: 94%;
}

.template-layout,
.preflight,
.closing-layout,
.visual-compare {
  width: 96%;
}

.signal-center,
.signal-grid article,
.work-box,
.card-grid article,
.loop,
.hell-result,
.compare-grid article,
.aidai-flow article,
.formula-card,
.sheet,
.timeline article,
.score-grid article,
.mock-banner,
.check-grid span,
.closing-checks span {
  border: 0;
  border-radius: 1.15cqw;
  background: var(--white);
}

.signal-center {
  color: var(--red);
}

.signal-grid article {
  min-height: 5.3cqw;
  padding: 0 1.5cqw;
}

.signal-grid span,
.card-grid span,
.hell-result ul,
.compare-grid ul,
.formula-card > div span,
.template-copy span,
.timeline article span,
.score-grid span,
.mock-banner span,
.visual-compare article > b {
  color: var(--ink);
  opacity: .72;
}

.choice-grid span {
  border: 0;
  border-radius: .8cqw;
  background: var(--light);
}

.work-box {
  padding: 2.7cqw 3.2cqw 2.5cqw;
}

.card-grid article {
  padding: 1.7cqw;
}

.loop {
  padding: 2.5cqw 2cqw;
}

.loop span {
  background: var(--light);
}

.hell-result {
  padding: 2.2cqw;
}

.compare-grid article,
.compare-grid article.accent {
  border: 0;
  background: var(--white);
}

.compare-grid article.accent h3 {
  color: var(--red);
}

.formula-card {
  padding: 3.2cqw;
}

.formula-card > div {
  border: 0;
  padding-top: 0;
}

.sheet {
  overflow: hidden;
}

.sheet div {
  border: 0;
}

.sheet div:nth-child(even) {
  background: var(--light);
}

.timeline article {
  padding: 1.8cqw;
}

.score-grid i {
  border: 0;
  border-radius: .55cqw;
  background: var(--light);
}

.score-grid i:first-child {
  background: var(--red);
  color: var(--white);
}

.before .mock-banner,
.after .mock-banner {
  border: 0;
  background: var(--white);
}

.after .mock-banner strong {
  color: var(--red);
}

.check-grid span {
  padding: 2.3cqw 1.4cqw;
}

.closing-checks span {
  padding: 1.35cqw;
}

/* 2026-07-30 editorial layout refinement
   Reference traits: asymmetric section pages, restrained cards,
   compact labels, strong type hierarchy, and purposeful whitespace. */
:root {
  --margin-x: 6.35cqw;
  --margin-top: 2.55cqw;
  --margin-bottom: 1.85cqw;
  --header-h: 2.35cqw;
  --title-h: 5.15cqw;
  --summary-h: 2.45cqw;
  --footer-h: 1.45cqw;
  --fs-title: 2.62cqw;
}

.slide-header {
  align-items: flex-start;
  font-size: .78cqw;
  letter-spacing: .11em;
}

.slide-title {
  max-width: 92%;
}

.slide-title h1 {
  line-height: 1.12;
  letter-spacing: -.035em;
}

.summary {
  max-width: 72%;
  font-size: 1.02cqw;
  opacity: .72;
}

.slide-content {
  padding-top: .4cqw;
}

.slide-footer {
  font-size: .62cqw;
  opacity: .58;
}

.slide-footer span:first-child {
  visibility: hidden;
}

.title-cover {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: center;
  gap: 3.2cqw;
  padding: 0 1.4cqw;
}

.title-cover-text {
  position: relative;
  padding-bottom: 1.4cqw;
}

.title-cover-text p {
  margin-bottom: 1.35cqw;
  color: var(--red);
  font-size: .95cqw;
  letter-spacing: .16em;
}

.title-cover-logo {
  display: block;
  width: 18.5cqw;
  height: auto;
  margin: 0 0 2.1cqw;
}

.title-cover-text h2 {
  font-size: 6.35cqw;
  line-height: 1.04;
  letter-spacing: -.055em;
}

.title-cover-text span {
  display: block;
  margin-top: 4.5cqw;
  font-size: 2.6cqw;
  opacity: .72;
}

.title-cover-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 1.08 / 1;
}

.title-thumb {
  position: absolute;
  border: .14cqw solid var(--light);
  border-radius: .5cqw;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--ink);
}

.title-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.title-thumb:nth-child(1) { top: 18%; left: 18%; width: 66%; z-index: 6; transform: rotate(-1deg); }
.title-thumb:nth-child(2) { top: 1%; left: -7%; width: 40%; z-index: 2; transform: rotate(-9deg); }
.title-thumb:nth-child(3) { top: -3%; left: 65%; width: 42%; z-index: 3; transform: rotate(7deg); }
.title-thumb:nth-child(4) { top: 60%; left: -5%; width: 42%; z-index: 2; transform: rotate(6deg); }
.title-thumb:nth-child(5) { top: 57%; left: 61%; width: 45%; z-index: 5; transform: rotate(-8deg); }
.title-thumb:nth-child(6) { top: 76%; left: 26%; width: 37%; z-index: 1; transform: rotate(9deg); }

.title-cover-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 14cqw;
  height: .48cqw;
  background: var(--red);
}

.section-cover {
  position: relative;
  align-items: flex-start;
  justify-content: center;
  padding: 0 1.4cqw 1.4cqw;
  text-align: left;
}

.section-cover b {
  display: block;
  width: auto;
  height: auto;
  margin: 0 0 1.15cqw;
  border-radius: 0;
  background: transparent;
  color: var(--red);
  font-size: 5.8cqw;
  line-height: .88;
  letter-spacing: -.06em;
}

.section-cover h2 {
  max-width: 72%;
  font-size: 4.75cqw;
  line-height: 1.05;
}

.section-cover p {
  max-width: 66%;
  margin-top: 1.5cqw;
  font-size: 1.25cqw;
  opacity: .7;
}

.section-cover::after {
  content: "";
  position: absolute;
  left: 1.4cqw;
  bottom: 0;
  width: 20cqw;
  height: .48cqw;
  background: var(--red);
}

.slide[data-layout="agenda"] .slide-title h1 {
  font-size: 2.45cqw;
}

.agenda-grid {
  width: 100%;
  gap: 1.3cqw;
}

.agenda-grid article {
  min-height: 9.7cqw;
  padding: 1.15cqw 1.25cqw;
  border-radius: .62cqw;
}

.agenda-grid article:first-child,
.agenda-grid article:last-child {
  grid-template-columns: 3.5cqw 22cqw 1fr;
  min-height: 3.85cqw;
  padding: .65cqw 1.2cqw;
}

.agenda-grid strong {
  font-size: 1.48cqw;
}

.agenda-grid span {
  font-size: .88cqw;
}

.statement-box {
  position: relative;
  width: 76%;
  padding: 3.7cqw 4.2cqw 3.4cqw;
  border-radius: 1.15cqw;
  background: var(--white);
  overflow: hidden;
}

.statement-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: .32cqw;
  background: var(--red);
}

.statement-box span {
  display: inline-block;
  padding-left: .85cqw;
  border-left: .28cqw solid var(--red);
  font-size: .85cqw;
  text-align: left;
}

.statement-box strong {
  margin-top: 1.4cqw;
  font-size: 4.1cqw;
  line-height: 1.14;
  letter-spacing: -.04em;
}

.statement-box p {
  max-width: 74%;
  margin: 1.6cqw auto 0;
  font-size: 1.2cqw;
  line-height: 1.6;
  opacity: .72;
}

.signal-layout {
  grid-template-columns: 20cqw 1fr;
  gap: 4.2cqw;
}

.signal-center {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  border: .16cqw solid var(--red);
  border-radius: 50%;
  background: var(--white);
  font-size: 3.4cqw;
  font-weight: 700;
  letter-spacing: -.03em;
}

.signal-grid {
  gap: 1.15cqw;
}

.signal-grid article {
  min-height: 4.65cqw;
  grid-template-columns: 4.2cqw 14.5cqw 1fr;
  column-gap: .9cqw;
  border-radius: .62cqw;
}

.thumbnail-grid {
  gap: 1.2cqw;
}

.thumbnail-card {
  padding: .28cqw;
  border-radius: .62cqw;
}

.thumbnail-art {
  border-radius: .42cqw;
}

.component-grid,
.science-grid {
  gap: 1.3cqw;
}

.component-grid article,
.science-grid article {
  border-radius: .62cqw;
}

.component-grid article {
  min-height: 9cqw;
  padding: 1.35cqw 1.4cqw;
}

.component-grid strong,
.science-grid strong {
  margin-top: .42cqw;
  font-size: 1.45cqw;
}

.component-grid span,
.science-grid span {
  margin-top: .38cqw;
}

.science-grid article {
  min-height: 10.4cqw;
  padding: .92cqw 1.2cqw;
}

.science-grid small {
  margin-top: .8cqw;
}

.component-layout > p,
.science-layout > p {
  margin-top: 1cqw;
  font-size: .92cqw;
}

.work-box {
  width: 82%;
  padding: 2.55cqw 3.2cqw 2.35cqw;
  border-radius: .7cqw;
}

.work-label {
  margin-bottom: 1.1cqw;
  padding: .3cqw .72cqw;
  border-radius: .3cqw;
  font-size: .72cqw;
}

.work-box h3 {
  font-size: 2.6cqw;
  line-height: 1.25;
}

.choice-grid {
  margin-top: 1.55cqw;
  gap: 1.1cqw;
}

.choice-grid span {
  min-width: 9.5cqw;
  padding: .78cqw 1.15cqw;
  border-radius: .45cqw;
  font-size: 1.1cqw;
}

.work-box p {
  margin-top: 1.35cqw;
  font-size: .9cqw;
}

.card-grid {
  gap: 1.3cqw;
}

.card-grid article {
  min-height: 11.6cqw;
  padding: 1.45cqw;
  border-radius: .62cqw;
}

.hell-layout {
  width: 94%;
  grid-template-columns: 1.35fr .8fr;
  gap: 2.4cqw;
}

.loop,
.hell-result,
.compare-grid article,
.aidai-flow article,
.formula-card,
.sheet,
.timeline article,
.score-grid article,
.mock-banner,
.check-grid span,
.closing-checks span {
  border-radius: .62cqw;
}

.loop {
  padding: 2cqw 1.6cqw;
}

.loop span {
  width: 6.4cqw;
  height: 6.4cqw;
}

.hell-result {
  padding: 1.9cqw;
}

.compare-grid,
.visual-compare {
  width: 92%;
  grid-template-columns: 1fr 4.2cqw 1fr;
}

.compare-grid article {
  min-height: 16.8cqw;
  padding: 2cqw 2.2cqw;
}

.aidai-flow {
  width: 96%;
}

.aidai-flow article {
  min-height: 14.3cqw;
  padding: 1.2cqw .95cqw;
}

.aidai-badge {
  width: 4.6cqw;
  height: 4.6cqw;
}

.aidai-badge b {
  width: 2cqw;
  height: 2cqw;
  font-size: .82cqw;
}

.aidai-flow small {
  border-radius: .32cqw;
}

.framework-layout {
  width: 88%;
  display: flex;
  align-items: center;
  gap: 2.6cqw;
}

.framework-icon {
  flex: 0 0 auto;
  width: 6.4cqw;
  height: 6.4cqw;
  color: var(--red);
}

.framework-icon svg {
  width: 100%;
  height: 100%;
}

.formula-card {
  flex: 1;
  min-width: 0;
  width: auto;
  padding: 2.8cqw 3cqw;
}

.formula-card > strong {
  font-size: 3.45cqw;
}

.template-layout {
  width: 90%;
  gap: 4.5cqw;
}

.sheet {
  border-radius: .62cqw;
}

.timeline {
  width: 96%;
}

.timeline article {
  min-height: 12.8cqw;
  padding: 1.45cqw;
}

.score-grid {
  width: 94%;
  gap: 1.2cqw;
}

.score-grid article {
  min-height: 6.4cqw;
  grid-template-columns: 7.6cqw 1fr 9cqw;
  padding: 1.1cqw 1.4cqw;
}

.visual-compare .mock-banner {
  min-height: 13.8cqw;
}

.preflight,
.closing-layout {
  width: 88%;
}

.check-grid {
  gap: 1.3cqw;
}

.check-grid span {
  padding: 1.85cqw 1.2cqw;
}

.check-grid i {
  width: 3.2cqw;
  height: 3.2cqw;
}

.closing-action strong {
  font-size: 4cqw;
}

.closing-checks {
  margin-top: 2.35cqw;
  gap: 1.3cqw;
}

/* 2026-08-03: presentation hierarchy and vertical rhythm refinement */
.title-cover-text::after {
  display: none;
}

/* Page 07: make the five prompt blocks readable as one vertical sequence. */
.template-blocks-layout {
  width: 94%;
}

.template-blocks-grid {
  grid-template-columns: 1fr;
  gap: .7cqw;
}

.template-blocks-grid article {
  min-height: 4.25cqw;
  display: grid;
  grid-template-columns: 4.5cqw 16cqw 1fr;
  align-items: center;
  column-gap: 1.05cqw;
  padding: .55cqw 1.2cqw;
  text-align: left;
}

.template-blocks-grid b {
  width: 2.5cqw;
  height: 2.5cqw;
  margin: 0;
  font-size: 1.1cqw;
}

.template-blocks-grid strong,
.template-blocks-grid span {
  margin: 0;
}

.template-blocks-grid strong {
  font-size: 1.45cqw;
}

.template-blocks-grid span {
  font-size: 1.02cqw;
  line-height: 1.35;
}

.template-blocks-layout > p {
  margin-top: .85cqw;
}

/* All hands-on pages: remove the outer card and make the choice itself primary. */
.work-box {
  width: 100%;
  padding: 0;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

.work-box::before {
  display: none;
}

.work-label {
  margin-bottom: 1.8cqw;
  padding: .48cqw 1.05cqw;
  font-size: 1.05cqw;
}

.work-box h3 {
  font-size: 4.5cqw;
  line-height: 1.16;
}

.choice-grid {
  margin-top: 2.4cqw;
  gap: 1.35cqw;
}

.choice-grid span {
  min-width: 14cqw;
  padding: 1.25cqw 1.7cqw;
  border: 0;
  border-radius: .55cqw;
  background: var(--white);
  font-size: 1.85cqw;
}

.work-box p {
  margin-top: 2cqw;
  font-size: 1.35cqw;
}

/* Pages 12 and 13: treat each item as a large, scannable vertical list. */
.component-layout,
.component-grid,
.card-grid {
  width: 94%;
}

.component-grid,
.card-grid {
  grid-template-columns: 1fr;
  gap: .7cqw;
}

.component-grid article,
.component-grid article:nth-child(n + 5),
.card-grid article {
  grid-column: auto;
  min-height: 3.75cqw;
  display: grid;
  grid-template-columns: 5.5cqw 15.5cqw 1fr;
  align-items: center;
  column-gap: 1cqw;
  padding: .55cqw 1.25cqw;
  border: 0;
  background: var(--white);
}

.component-grid strong,
.component-grid span,
.card-grid article strong,
.card-grid article span {
  margin: 0;
}

.component-grid strong,
.card-grid article strong {
  font-size: 1.6cqw;
}

.component-grid span,
.card-grid article span {
  font-size: 1.05cqw;
  line-height: 1.35;
}

.component-layout > p {
  margin-top: .85cqw;
}

/* Page 14: make the return arrow unmistakable without enlarging every arrow. */
.hell-layout {
  width: 96%;
  gap: 3.4cqw;
}

.loop i:last-child {
  margin-left: .45cqw;
  font-size: 5.4cqw;
  line-height: 1;
}

/* Full-bleed user-supplied cover image. */
.slide[data-layout="title"] {
  grid-template-rows: 1fr;
  padding: 0;
}

.slide[data-layout="title"] .slide-content {
  padding: 0;
}

.slide[data-layout="title"] .slide-footer {
  display: none;
}

.title-cover-image,
.title-cover-image img {
  width: 100%;
  height: 100%;
}

.title-cover-image {
  display: block;
  grid-template-columns: none;
  padding: 0;
}

.title-cover-image img {
  display: block;
  object-fit: cover;
}

body.cover-stage {
  background: var(--red);
}

/* 2026-08-03: section dividers, prompt examples, and theory readability */
body.section-divider-stage .progress {
  display: none !important;
}

.deck:has(.slide[data-layout="sectionDivider"].active) .progress {
  display: none !important;
}

.section-cover::after {
  display: none;
}

/* 2026-08-03: mobile-first readability pass.
   Non-prompt slides use a 1.5x minimum scale for formerly small text,
   with row heights and layouts expanded at the same time. */
:root {
  --fs-micro: 1.08cqw;
  --fs-meta: 1.35cqw;
  --fs-small: 1.72cqw;
  --fs-body: 2.18cqw;
  --fs-lead: 2.85cqw;
  --fs-title: 3.93cqw;
}

.slide-header { font-size: 1.17cqw; }
.section-progress { font-size: 1.02cqw; }
.summary { max-width: 88%; font-size: 1.53cqw; line-height: 1.45; }
.slide-footer { font-size: .93cqw; }

.section-cover p { max-width: 76%; font-size: 1.88cqw; line-height: 1.5; }
.agenda-grid article { min-height: 12.2cqw; padding: 1.5cqw; }
.agenda-grid article:first-child,
.agenda-grid article:last-child { min-height: 5.2cqw; padding: .95cqw 1.45cqw; }
.agenda-grid article.is-muted { background: #e6e6e6; opacity: 1; }
.agenda-grid strong { font-size: 2.12cqw; line-height: 1.2; }
.agenda-grid span { font-size: 1.32cqw; line-height: 1.45; }

/* Agenda: six secondary items need three generous columns, not five narrow ones. */
.agenda-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agenda-grid article:first-child { grid-column: 1 / -1; }
.agenda-grid article:last-child {
  grid-column: auto;
  grid-template-columns: 1fr;
  min-height: 12.2cqw;
  padding: 1.5cqw;
}

.signal-grid article { min-height: 6.6cqw; grid-template-columns: 5cqw 17cqw 1fr; }
.signal-grid b { font-size: 1.72cqw; }
.signal-grid strong { font-size: 2.4cqw; }
.signal-grid span { font-size: 1.7cqw; line-height: 1.4; }

.template-blocks-grid { gap: 1cqw; }
.template-blocks-grid article { min-height: 5.8cqw; grid-template-columns: 5.5cqw 20cqw 1fr; padding: .8cqw 1.45cqw; }
.template-blocks-grid b { width: 3.25cqw; height: 3.25cqw; font-size: 1.5cqw; }
.template-blocks-grid strong { font-size: 2.18cqw; line-height: 1.2; }
.template-blocks-grid span { font-size: 1.53cqw; line-height: 1.35; }
.template-blocks-layout > p { font-size: 1.38cqw; }

.component-grid,
.card-grid { gap: 1cqw; }
.component-grid article,
.component-grid article:nth-child(n + 5),
.card-grid article { min-height: 5.25cqw; grid-template-columns: 6.5cqw 20cqw 1fr; padding: .8cqw 1.5cqw; }
.component-grid b,
.card-grid b { font-size: 1.35cqw; }
.component-grid strong,
.card-grid article strong { font-size: 2.4cqw; line-height: 1.2; }
.component-grid span,
.card-grid article span { font-size: 1.58cqw; line-height: 1.35; }
.component-layout > p { font-size: 1.38cqw; }

/* P12 has seven rows: preserve the large type but reclaim vertical rhythm. */
.component-grid article,
.component-grid article:nth-child(n + 5) {
  min-height: 4.35cqw;
  padding: .5cqw 1.5cqw;
}

.aidai-flow { gap: .9cqw; }
.aidai-flow article { min-height: 6.1cqw; grid-template-columns: 6.5cqw 20cqw 1fr 15cqw; column-gap: 1.2cqw; padding: .8cqw 1.5cqw; }
.aidai-badge { width: 4.4cqw; height: 4.4cqw; }
.aidai-badge b { width: 2.05cqw; height: 2.05cqw; font-size: 1.02cqw; }
.aidai-flow strong { font-size: 2.25cqw; line-height: 1.15; }
.aidai-flow span { font-size: 1.53cqw; line-height: 1.3; }
.aidai-flow small { padding: .55cqw .8cqw; font-size: 1.17cqw; line-height: 1.25; }
.aidai-flow i { height: 1.55cqw; font-size: 1.5cqw; }

.formula-card { padding: 3.6cqw; }
.formula-card > strong { font-size: 4.2cqw; }
.formula-card > div b { font-size: 1.72cqw; }
.formula-card > div span { font-size: 2.05cqw; }
.formula-card > p { font-size: 1.68cqw; line-height: 1.4; }

.science-intro { padding: 1.25cqw 1.6cqw; font-size: 1.62cqw; }
.science-grid article { min-height: 12.4cqw; padding: 1.25cqw 1.5cqw; }
.science-grid b { font-size: 1.35cqw; }
.science-grid strong { font-size: 2.18cqw; line-height: 1.2; }
.science-grid span { font-size: 1.47cqw; line-height: 1.38; }
.science-grid small { font-size: 1.12cqw; line-height: 1.35; }

/* Six science cards: two generous columns prevent headline clipping. */
.science-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 10.3cqw;
  gap: .8cqw 1.2cqw;
}
.science-grid article {
  min-height: 7.8cqw;
  padding: .8cqw 1.1cqw;
  gap: 1cqw;
}
.science-thumb { flex-basis: 27%; }
.slide[data-layout="scienceGrid"] {
  grid-template-rows: var(--header-h) 7.2cqw 0 1fr var(--footer-h);
}
.slide[data-layout="scienceGrid"] .summary { display: none; }
.slide[data-layout="scienceGrid"] .slide-content {
  align-items: flex-start;
  padding-top: 1.5cqw;
}
.slide[data-layout="scienceGrid"] .science-layout > p {
  margin-top: .55cqw;
  font-size: 1.1cqw;
  line-height: 1.25;
}

.science-deep-layout { width: 96%; gap: 2.5cqw; }
.science-deep-tag { font-size: 1.17cqw; }
.science-deep-theory strong { font-size: 2.48cqw; line-height: 1.28; }
.science-deep-theory small { font-size: 1.28cqw; line-height: 1.45; }
.science-deep-block { padding: 1.5cqw 1.8cqw; }
.science-deep-block b { font-size: 1.28cqw; }
.science-deep-block p { font-size: 1.62cqw; line-height: 1.45; }
.science-deep-caution { padding: 1.1cqw 1.5cqw; font-size: 1.23cqw; line-height: 1.4; }

.template-copy strong { font-size: 3.75cqw; }
.template-copy span { font-size: 1.82cqw; line-height: 1.45; }
.sheet header { font-size: 1.72cqw; }
.sheet div { min-height: 4.35cqw; }
.sheet div span { font-size: 1.9cqw; }

.timeline article { min-height: 15.4cqw; padding: 1.8cqw; }
.timeline article b { font-size: 2.7cqw; }
.timeline article strong { font-size: 2.05cqw; }
.timeline article span { font-size: 1.6cqw; line-height: 1.4; }
.score-grid article { min-height: 8.3cqw; grid-template-columns: 9cqw 1fr 11cqw; }
.score-grid strong { font-size: 2.5cqw; }
.score-grid span { font-size: 1.65cqw; }
.score-grid i { width: 3.2cqw; height: 3.2cqw; font-size: 1.6cqw; }

.mock-banner strong { font-size: 3.9cqw; }
.before .mock-banner strong { font-size: 2.7cqw; }
.mock-banner span,
.visual-compare article > b,
.visual-compare article p { font-size: 1.65cqw; line-height: 1.4; }
.check-grid span { font-size: 2.65cqw; }
.closing-checks span { font-size: 1.7cqw; }

/* Prompt examples retain their compact heading scale so long variant names
   never collide with the global navigation. */
.slide[data-layout="promptCard"] {
  grid-template-rows: var(--header-h) 7.7cqw var(--summary-h) 1fr var(--footer-h);
}
.slide[data-layout="promptCard"] .slide-title h1 { font-size: 2.55cqw; line-height: 1.15; }

/* Remove the repeated section label and the explanatory deck line under every title. */
.slide-header > span:first-child,
.summary {
  visibility: hidden !important;
  pointer-events: none;
}

.slide:not([data-layout="title"]):not([data-layout="agenda"]):not([data-layout="sectionDivider"]) .summary {
  display: flex !important;
}

.slide[data-layout="agenda"] .slide-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}

.statement-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1cqw;
  margin-top: 2cqw;
}

.statement-steps b {
  display: grid;
  place-items: center;
  min-height: 5.3cqw;
  border-radius: .62cqw;
  background: var(--white);
  color: var(--ink);
  font-size: 1.8cqw;
}

.statement-steps + p {
  margin-top: 1.5cqw;
}

.statement-box.has-steps {
  width: 92%;
  padding: 0;
  background: transparent;
  overflow: visible;
}

.statement-box.has-steps::before {
  display: none;
}

.statement-box.has-steps > span,
.statement-box.has-steps > strong,
.statement-box.has-steps > p {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.aidai-flow {
  width: 92%;
  grid-template-columns: 1fr;
  gap: .55cqw;
}

.aidai-flow article {
  min-height: 4.35cqw;
  display: grid;
  grid-template-columns: 5.5cqw 16cqw 1fr 13cqw;
  align-items: center;
  column-gap: 1cqw;
  padding: .55cqw 1.25cqw;
  text-align: left;
}

.aidai-badge {
  width: 3.35cqw;
  height: 3.35cqw;
  margin: 0;
}

.aidai-badge b {
  width: 1.55cqw;
  height: 1.55cqw;
  font-size: .68cqw;
}

.aidai-flow strong,
.aidai-flow span,
.aidai-flow small {
  margin: 0;
}

.aidai-flow strong {
  font-size: 1.5cqw;
}

.aidai-flow span {
  font-size: 1.02cqw;
  line-height: 1.35;
}

.aidai-flow small {
  padding: .45cqw .7cqw;
  font-size: .78cqw;
  text-align: center;
}

.aidai-flow i {
  height: 1.15cqw;
  transform: rotate(90deg);
  font-size: 1.1cqw;
}

.prompt-card-layout.has-thumbnail {
  width: 96%;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 2cqw;
  align-items: center;
}

.prompt-card-layout.has-thumbnail .prompt-md {
  max-height: 28cqw;
  padding: 1.2cqw 1.35cqw;
}

.prompt-card-thumbnail {
  margin: 0;
}

.prompt-card-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: .62cqw;
}

.science-deep-layout {
  width: 94%;
  gap: 2cqw;
}

.science-deep-theory {
  padding: 1.9cqw;
}

.science-deep-theory strong {
  font-size: 1.65cqw;
}

.science-deep-theory small,
.science-deep-block p {
  line-height: 1.45;
}

.science-deep-block {
  padding: 1.1cqw 1.35cqw;
}

@media (prefers-reduced-motion: reduce) {
  .progress span,
  .speaker-notes {
    transition: none;
  }
}

@page {
  size: 13.333333in 7.5in;
  margin: 0;
}

@media print {
  html,
  body {
    width: 13.333333in;
    height: auto;
    overflow: visible;
    background: var(--white);
  }

  .deck {
    width: auto;
    height: auto;
    display: block;
    overflow: visible;
  }

  .slide-stage {
    width: 13.333333in;
    height: auto;
    overflow: visible;
  }

  .slide {
    position: relative;
    width: 13.333333in;
    height: 7.5in;
    break-after: page;
    opacity: 1;
    pointer-events: auto;
  }

  .progress,
  .speaker-notes {
    display: none !important;
  }
}
