.dowodcy-page {
  background: var(--color-page);
}

.dowodcy-page a:focus-visible,
.dowodcy-page button:focus-visible {
  outline: 3px solid var(--color-terracotta);
  outline-offset: 3px;
}

.dowodcy-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3rem, 7vw, 6rem);
  background: var(--color-primary-deep);
  color: var(--color-surface);
}

.dowodcy-hero::before,
.dowodcy-reading::before,
.dowodcy-path-card::before,
.dowodcy-closing__panel::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image: linear-gradient(90deg, transparent 49.8%, currentColor 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, currentColor 50%, transparent 50.2%);
  background-size: 4rem 4rem;
  opacity: 0.035;
}

.dowodcy-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(32.5rem, 7fr) minmax(22.5rem, 5fr);
  align-items: center;
  gap: var(--space-7);
}

.dowodcy-hero__copy,
.dowodcy-hero__media,
.dowodcy-reading__intro,
.dowodcy-layer,
.dowodcy-profile,
.dowodcy-trio-card,
.dowodcy-development__intro,
.dowodcy-step,
.dowodcy-cooperation__article,
.dowodcy-cooperation__questions,
.dowodcy-path-card,
.dowodcy-freshness__article,
.dowodcy-freshness__checklist {
  min-width: 0;
}

.dowodcy-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  width: 100%;
  max-width: 42.5rem;
}

.dowodcy-hero__copy > * {
  margin: 0;
}

.dowodcy-hero h1,
.dowodcy-hero h2,
.dowodcy-hero h3 {
  color: var(--color-surface);
}

.dowodcy-hero h1 {
  font-size: clamp(3.25rem, 7vw, 5.5rem);
  line-height: var(--leading-tight);
}

.dowodcy-hero__eyebrow {
  color: #ead9af;
}

.dowodcy-hero__lead {
  max-width: 42rem;
  font-size: var(--text-lead);
  line-height: 1.55;
}

.dowodcy-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
}

.dowodcy-hero__actions > * {
  min-width: 0;
}

.dowodcy-hero .button {
  border-color: var(--color-gold);
}

.dowodcy-hero__note {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  width: min(100%, 30rem);
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-gold);
  background: rgba(255, 253, 247, 0.08);
}

.dowodcy-hero__note p {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.5;
}

.dowodcy-hero__note-title {
  margin-bottom: var(--space-1) !important;
  color: #ead9af;
  font-weight: 700;
}

.dowodcy-hero__compass {
  position: relative;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--color-gold);
  border-radius: 50%;
}

.dowodcy-hero__compass::before,
.dowodcy-hero__compass::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 1.7rem;
  background: var(--color-gold);
  content: "";
  transform: translate(-50%, -50%) rotate(45deg);
}

.dowodcy-hero__compass::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.dowodcy-hero__media {
  width: 100%;
  margin: 0;
  border: 1px solid rgba(180, 132, 50, 0.82);
  background: var(--color-primary);
}

.dowodcy-hero__media img {
  width: 100%;
  height: clamp(25rem, 39vw, 35rem);
  object-fit: cover;
  object-position: right center;
}

.dowodcy-hero__media figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  color: #ead9af;
}

.dowodcy-reading {
  position: relative;
  overflow: hidden;
}

.dowodcy-reading__intro {
  width: min(100%, 45rem);
  margin-bottom: var(--space-7);
}

.dowodcy-reading__intro > :last-child {
  margin-bottom: 0;
}

.dowodcy-reading__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.dowodcy-layer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-5);
  border: var(--border);
  border-inline-start-width: 4px;
  background: var(--color-surface);
}

.dowodcy-layer > * {
  margin: 0;
}

.dowodcy-layer--history { border-inline-start-color: var(--color-gold); }
.dowodcy-layer--mechanics { border-inline-start-color: var(--color-primary); }
.dowodcy-layer--decision { border-inline-start-color: var(--color-jade); }

.dowodcy-layer__label,
.dowodcy-profile__label,
.dowodcy-step__label,
.dowodcy-path-card__label,
.dowodcy-cooperation__tag {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: var(--leading-small);
  text-transform: uppercase;
}

.dowodcy-layer h3 {
  font-size: clamp(1.45rem, 2vw, 1.75rem);
}

.dowodcy-layer p:last-child {
  max-width: 44ch;
}

.dowodcy-index {
  border-block: var(--border);
  background: var(--color-surface-muted);
}

.dowodcy-index h2 {
  margin-bottom: var(--space-3);
}

.dowodcy-index__intro {
  width: min(100%, 52rem);
  margin-bottom: var(--space-5);
}

.dowodcy-index__scroll {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  border: var(--border-gold);
  background: var(--color-surface);
}

.dowodcy-index__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-1);
  min-width: 0;
  min-height: 7.5rem;
  padding: var(--space-4);
  border-inline-end: var(--border);
  color: var(--color-primary);
  text-decoration: none;
  transition: background-color var(--transition-base), transform var(--transition-fast);
}

.dowodcy-index__item:last-child { border-inline-end: 0; }
.dowodcy-index__item:hover,
.dowodcy-index__item:focus-visible { background: #f7eedc; transform: translateY(-2px); text-decoration: underline; }
.dowodcy-index__item span { color: var(--color-gold); font-size: var(--text-xs); font-weight: 700; }
.dowodcy-index__item strong { overflow-wrap: anywhere; }
.dowodcy-index__item small { color: var(--color-text-muted); }

.dowodcy-pair__heading,
.dowodcy-trio__heading {
  width: min(100%, 52rem);
  margin-bottom: var(--space-7);
}

.dowodcy-pair__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.dowodcy-profile {
  width: 100%;
  border: var(--border);
  border-radius: var(--radius-card);
  background: var(--color-surface);
  overflow: hidden;
}

.dowodcy-profile__media {
  width: 100%;
  margin: 0;
  border-bottom: var(--border);
}

.dowodcy-profile__media img,
.dowodcy-trio-card > img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.dowodcy-profile__body,
.dowodcy-trio-card__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: 100%;
  padding: var(--space-5);
}

.dowodcy-profile__body > *,
.dowodcy-trio-card__body > * {
  margin: 0;
}

.dowodcy-profile__label { color: #72521b; }
.dowodcy-profile__label--jade { color: var(--color-jade); }
.dowodcy-profile__label--terracotta { color: var(--color-terracotta); }

.dowodcy-profile h3 {
  font-size: clamp(1.7rem, 3vw, 2rem);
}

.dowodcy-profile__body > p:not(.dowodcy-profile__label) {
  max-width: 60ch;
}

.dowodcy-dropcap {
  float: inline-start;
  margin-inline-end: 0.12em;
  color: var(--color-gold);
  font-family: var(--font-heading);
  font-size: 3.5em;
  font-weight: 700;
  line-height: 0.72;
}

.dowodcy-question {
  padding: var(--space-3);
  border-inline-start: 3px solid var(--color-gold);
  background: var(--color-surface-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.dowodcy-question--jade { border-inline-start-color: var(--color-jade); }

.dowodcy-compare {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-terracotta);
  background: #f5e4dd;
}

.dowodcy-compare > * { margin: 0; }
.dowodcy-compare > p:not(.eyebrow) { max-width: 47.5rem; }

.dowodcy-trio { background: #f0e6d3; }

.dowodcy-trio__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
  gap: var(--space-5);
}

.dowodcy-trio-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  border: var(--border);
  border-radius: var(--radius-card);
  background: var(--color-surface);
  overflow: hidden;
}

.dowodcy-trio-card__body { flex: 1 1 auto; }
.dowodcy-trio-card__body > p:not(.dowodcy-profile__label):not(.dowodcy-inline-question) { max-width: 52ch; }
.dowodcy-trio-card__body > a { width: fit-content; min-height: 2.75rem; padding-top: 0.5rem; font-weight: 700; }

.dowodcy-inline-question {
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
  color: var(--color-primary);
  font-weight: 700;
}

.dowodcy-trio__conclusion {
  width: min(100%, 42.5rem);
  margin-top: var(--space-7);
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-gold);
}

.dowodcy-trio__conclusion > :last-child { margin-bottom: 0; }

.dowodcy-development__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: start;
}

.dowodcy-development__intro {
  width: 100%;
  max-width: 24rem;
}

.dowodcy-development__intro > :last-child { margin-bottom: 0; }

.dowodcy-steps {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dowodcy-step {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  padding-bottom: var(--space-5);
  border-bottom: var(--border);
}

.dowodcy-step:last-child { padding-bottom: 0; border-bottom: 0; }
.dowodcy-step__number { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid currentColor; border-radius: 50%; font-family: var(--font-heading); font-size: 1.75rem; font-weight: 700; }
.dowodcy-step > div { min-width: 0; }
.dowodcy-step h3 { margin-bottom: var(--space-2); }
.dowodcy-step p { max-width: 60ch; }
.dowodcy-step p:last-child { margin-bottom: 0; }
.dowodcy-step--terracotta { color: var(--color-terracotta); }
.dowodcy-step--blue { color: var(--color-primary); }
.dowodcy-step--jade { color: var(--color-jade); }
.dowodcy-step--gold { color: #72521b; }
.dowodcy-step h3, .dowodcy-step p { color: var(--color-text); }

.dowodcy-cooperation { background: var(--color-surface-muted); }
.dowodcy-cooperation__grid { display: grid; grid-template-columns: minmax(26.875rem, 8fr) minmax(17.5rem, 4fr); gap: var(--space-7); align-items: start; }
.dowodcy-cooperation__article { width: 100%; }
.dowodcy-cooperation__article > p:not(.eyebrow) { max-width: 70ch; }
.dowodcy-cooperation__article > :last-child { margin-bottom: 0; }
.dowodcy-cooperation__eyebrow { color: var(--color-terracotta); }
.dowodcy-cooperation__questions { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); width: 100%; padding: var(--space-5); background: var(--color-jade); color: var(--color-surface); }
.dowodcy-cooperation__questions > * { margin: 0; }
.dowodcy-cooperation__questions h3 { color: var(--color-surface); }
.dowodcy-cooperation__tag { color: #d8efe8; }
.dowodcy-cooperation__questions ol { display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding-inline-start: 1.3rem; }
.dowodcy-cooperation__questions li { max-width: 38ch; }

.dowodcy-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.dowodcy-path-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); width: 100%; min-height: 100%; padding: var(--space-5); border: var(--border); border-radius: var(--radius-card); background: var(--color-surface); overflow: hidden; }
.dowodcy-path-card > * { position: relative; margin: 0; }
.dowodcy-path-card > span { color: var(--color-gold); font-family: var(--font-heading); font-size: 2rem; font-weight: 700; line-height: 1; }
.dowodcy-path-card--battle .dowodcy-path-card__label { color: var(--color-terracotta); }
.dowodcy-path-card--map .dowodcy-path-card__label { color: var(--color-jade); }
.dowodcy-path-card > p:not(.dowodcy-path-card__label) { max-width: 45ch; }
.dowodcy-path-card > a { min-height: 2.75rem; margin-top: auto; padding-top: 0.5rem; font-weight: 700; }

.dowodcy-freshness { background: #efe5d1; }
.dowodcy-freshness__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(17.5rem, 4fr); gap: var(--space-7); align-items: start; }
.dowodcy-freshness__article { width: 100%; }
.dowodcy-freshness__article > p:not(.eyebrow) { max-width: 72ch; }
.dowodcy-freshness__article > :last-child { margin-bottom: 0; }
.dowodcy-freshness__checklist { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); width: 100%; padding: var(--space-5); border: var(--border); background: var(--color-surface); }
.dowodcy-freshness__checklist > * { margin: 0; }
.dowodcy-freshness__checklist ul { display: flex; flex-direction: column; gap: var(--space-2); padding-inline-start: 1.25rem; }
.dowodcy-freshness__checklist .meta { padding-top: var(--space-2); border-top: var(--border); }

.dowodcy-closing { background: var(--color-page); }
.dowodcy-closing__panel { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); width: min(100%, 47.5rem); margin-inline: auto; padding: var(--space-6); border: var(--border-gold); background: var(--color-primary-deep); color: var(--color-surface); overflow: hidden; }
.dowodcy-closing__panel > * { position: relative; margin: 0; }
.dowodcy-closing__panel h2 { color: var(--color-surface); }
.dowodcy-closing__panel .eyebrow { color: #ead9af; }
.dowodcy-closing__panel > p:not(.eyebrow) { max-width: 38.75rem; }
.dowodcy-closing__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); width: 100%; min-width: 0; }
.dowodcy-closing__actions > * { min-width: 0; }
.dowodcy-closing__actions .button { border-color: var(--color-gold); }
.dowodcy-closing__actions > a:not(.button) { color: var(--color-surface); font-weight: 700; }

@media (max-width: 67.49rem) {
  .dowodcy-trio__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dowodcy-trio-card--kusunoki { grid-column: 1 / span 1; }
}

@media (max-width: 61.24rem) {
  .dowodcy-hero__inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .dowodcy-hero__copy { max-width: 42.5rem; }
  .dowodcy-hero__media img { height: auto; aspect-ratio: 16 / 10; object-position: center; }
}

@media (max-width: 56.24rem) {
  .dowodcy-pair__grid,
  .dowodcy-development__grid { grid-template-columns: minmax(0, 1fr); }
  .dowodcy-development__intro { max-width: 45rem; }
}

@media (max-width: 53.74rem) {
  .dowodcy-cooperation__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 51.24rem) {
  .dowodcy-freshness__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 47.49rem) {
  .dowodcy-reading__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dowodcy-layer--decision { grid-column: 1 / span 2; }
  .dowodcy-index__scroll { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-inline: 0; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); }
  .dowodcy-index__item { flex: 0 0 13.25rem; scroll-snap-align: start; border: var(--border); border-block: var(--border-gold); }
  .dowodcy-index__item:last-child { border-inline-end: var(--border); }
  .dowodcy-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dowodcy-path-card--context { grid-column: 1 / span 2; }
}

@media (max-width: 44.99rem) {
  .dowodcy-trio__grid { grid-template-columns: minmax(0, 1fr); }
  .dowodcy-trio-card--kusunoki { grid-column: auto; }
}

@media (max-width: 34.99rem) {
  .dowodcy-hero { padding-block: var(--space-7); }
  .dowodcy-hero h1 { font-size: clamp(3.25rem, 14vw, 3.75rem); }
  .dowodcy-hero__lead { font-size: var(--text-lead); }
  .dowodcy-hero__note { grid-template-columns: 2rem minmax(0, 1fr); padding: var(--space-3); }
  .dowodcy-reading__grid,
  .dowodcy-paths__grid { grid-template-columns: minmax(0, 1fr); }
  .dowodcy-layer--decision,
  .dowodcy-path-card--context { grid-column: auto; }
  .dowodcy-layer,
  .dowodcy-profile__body,
  .dowodcy-trio-card__body,
  .dowodcy-path-card,
  .dowodcy-freshness__checklist,
  .dowodcy-cooperation__questions { padding: var(--space-4); }
  .dowodcy-step { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); }
  .dowodcy-step__number { width: 2.5rem; height: 2.5rem; }
  .dowodcy-closing__panel { padding: var(--space-5); }
  .dowodcy-closing__actions { flex-direction: column; align-items: stretch; }
  .dowodcy-closing__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .dowodcy-index__item:hover,
  .dowodcy-index__item:focus-visible { transform: none; }
}
