body.dg-page-yoga {
    background: var(--dg-paper);
    font-size: 17px;
}

body.dg-page-yoga .dg-page--yoga {
    --yoga-ink: #17364a;
    --yoga-rust: #9b472f;
    --yoga-rust-soft: #f1dfd4;
    --yoga-sage: #dce7df;
    --yoga-sage-dark: #3f624f;
    --yoga-blue: #dfeaf0;
    --yoga-paper: #f8f4ed;
    --yoga-surface: #fffdf8;
    --yoga-line: #cfc9be;
    color: var(--dg-text);
}

body.dg-page-yoga .dg-page--yoga h1 {
    font-size: clamp(2.65rem, 6vw, 4.35rem);
    line-height: 0.98;
    max-width: 13ch;
}

body.dg-page-yoga .dg-page--yoga h2 {
    font-size: clamp(2rem, 3.7vw, 2.8rem);
    line-height: 1.05;
    max-width: 22ch;
}

body.dg-page-yoga .dg-page--yoga h3 {
    font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.yoga-hero {
    background: var(--yoga-surface);
    padding-block: clamp(2.5rem, 4vw, 4rem);
}

.yoga-hero .dg-hero__inner {
    align-items: center;
    grid-template-columns: minmax(0, 1fr);
}

.yoga-hero__label {
    color: var(--yoga-rust);
    font-size: 0.8rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.yoga-hero .dg-lede {
    font-family: var(--font-body);
    font-size: clamp(1.16rem, 1.8vw, 1.42rem);
    line-height: 1.55;
    margin-block: 1.5rem 1.35rem;
    max-width: 58ch;
}

.yoga-independence {
    background: var(--yoga-rust-soft);
    color: var(--yoga-ink);
    display: grid;
    gap: 0.35rem;
    margin-block: 1.5rem;
    max-width: 64ch;
    padding: 1.1rem 1.25rem;
}

.yoga-independence strong,
.yoga-independence p {
    margin: 0;
}

.yoga-independence strong {
    font-size: 0.92rem;
}

.yoga-independence p {
    font-size: 0.96rem;
    line-height: 1.55;
}

.yoga-hero__figure {
    margin: 0;
    min-width: 0;
}

.yoga-hero__figure img,
.yoga-materials__figure img {
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.yoga-hero__figure img {
    aspect-ratio: 3 / 2;
    box-shadow: 0.9rem 0.9rem 0 var(--yoga-rust-soft);
}

.yoga-hero__figure figcaption,
.yoga-materials__figure figcaption {
    color: #586d77;
    font-size: 0.78rem;
    line-height: 1.45;
    margin-top: 0.85rem;
}

.yoga-materials__figure figcaption {
    color: var(--yoga-ink);
}

.yoga-section {
    padding-block: clamp(2rem, 3.5vw, 3rem);
}

.yoga-section__intro {
    font-size: 1.08rem;
    line-height: 1.68;
    margin: 1.25rem 0 0;
    max-width: 66ch;
}

.yoga-essential {
    background: var(--yoga-ink);
    color: rgba(255, 253, 248, 0.86);
    padding-block: clamp(2rem, 3.5vw, 3rem);
}

.yoga-essential h2 {
    color: #fffdf8 !important;
    margin-bottom: 1.6rem !important;
}

.yoga-essential__list {
    display: grid;
    gap: 0;
}

.yoga-essential__item {
    border-top: 1px solid rgba(255, 253, 248, 0.24);
    padding-block: 1rem;
}

.yoga-essential__item:first-child {
    border-top: 0;
}

.yoga-essential__item p {
    margin: 0;
}

.yoga-essential__item strong {
    color: #fffdf8;
    display: block;
    font-size: 1.05rem;
    margin-bottom: 0.25rem;
}

.yoga-meaning {
    background: var(--yoga-surface);
}

.yoga-meaning__layout {
    display: grid;
    gap: clamp(1.75rem, 4vw, 3rem);
    margin-top: clamp(1.75rem, 4vw, 3rem);
}

.yoga-scenes p {
    font-size: clamp(1.12rem, 1.7vw, 1.35rem);
    line-height: 1.6;
    margin: 0;
    max-width: 55ch;
}

.yoga-scenes p + p {
    margin-top: 1.15rem;
}

.yoga-reading-map {
    border-block: 1px solid var(--yoga-line);
    margin: 0;
    padding-block: 1.5rem;
}

.yoga-reading-map figcaption {
    color: var(--yoga-ink);
    font-family: var(--font-title);
    font-size: 1.42rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1.15rem;
}

.yoga-reading-map dl {
    margin: 0;
}

.yoga-reading-map dl > div {
    display: grid;
    gap: 0.45rem;
    padding-block: 0.85rem;
}

.yoga-reading-map dt {
    color: var(--yoga-rust);
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.yoga-reading-map dd {
    align-items: center;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, auto) minmax(2rem, 1fr) minmax(0, auto);
    margin: 0;
}

.yoga-reading-map__line {
    background: var(--yoga-line);
    height: 1px;
    position: relative;
}

.yoga-reading-map__line::after {
    background: var(--yoga-rust);
    border-radius: 50%;
    content: "";
    height: 0.45rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0.45rem;
}

.yoga-reading-map__note {
    color: #60717a;
    font-size: 0.84rem;
    line-height: 1.45;
    margin: 1rem 0 0;
}

.yoga-meaning__decision {
    border-top: 1px solid var(--yoga-line);
    color: var(--yoga-muted);
    margin: 2rem 0 0;
    max-width: 72ch;
    padding-top: 1.15rem;
}

.yoga-formats {
    background: var(--yoga-paper);
}

.yoga-format-list {
    border-bottom: 1px solid var(--yoga-line);
    margin-top: clamp(1.75rem, 4vw, 3rem);
}

.yoga-format {
    border-top: 1px solid var(--yoga-line);
    display: grid;
    gap: 1rem;
    padding-block: clamp(1.7rem, 3vw, 2.4rem);
}

.yoga-format__name p,
.yoga-format__copy p,
.yoga-format__question p {
    margin: 0;
}

.yoga-format__name h3 {
    margin-bottom: 0.45rem !important;
}

.yoga-format__where {
    color: var(--yoga-rust);
    font-size: 0.8rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.yoga-format__copy {
    max-width: 64ch;
}

.yoga-format__question {
    color: var(--yoga-ink);
    font-size: 0.94rem;
    line-height: 1.5;
}

.yoga-format__question strong {
    display: block;
    margin-bottom: 0.25rem;
}

.yoga-session {
    background: var(--yoga-surface);
}

.yoga-session__layout {
    display: grid;
    gap: clamp(2rem, 6vw, 5rem);
    margin-top: clamp(2.5rem, 5vw, 4rem);
}

.yoga-session__steps {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.35rem;
    position: relative;
}

.yoga-session__steps::before {
    background: #9eb5a5;
    content: "";
    inset-block: 0.55rem;
    left: 0.25rem;
    position: absolute;
    width: 1px;
}

.yoga-session__steps li {
    padding: 0 0 1.65rem 1rem;
    position: relative;
}

.yoga-session__steps li:last-child {
    padding-bottom: 0;
}

.yoga-session__steps li::before {
    background: var(--yoga-sage-dark);
    border: 4px solid var(--yoga-surface);
    border-radius: 50%;
    content: "";
    height: 0.9rem;
    left: -1.55rem;
    position: absolute;
    top: 0.35rem;
    width: 0.9rem;
}

.yoga-session__steps h3 {
    font-family: var(--font-body) !important;
    font-size: 1.08rem !important;
    letter-spacing: 0 !important;
    margin-bottom: 0.35rem !important;
}

.yoga-session__steps p {
    margin: 0;
    max-width: 58ch;
}

.yoga-session__variable {
    align-self: end;
    background: var(--yoga-sage);
    color: var(--yoga-ink);
    padding: clamp(1.35rem, 3vw, 2rem);
}

.yoga-session__variable h3 {
    font-size: 1.3rem !important;
    margin-bottom: 0.65rem !important;
}

.yoga-session__variable p {
    margin: 0;
}

.yoga-adapt {
    background: var(--yoga-sage);
}

.yoga-adapt__layout {
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
    margin-top: clamp(2.5rem, 5vw, 4rem);
}

.yoga-phrases {
    border-bottom: 1px solid #aec2b3;
    list-style: none;
    margin: 1.6rem 0 0;
    padding: 0;
}

.yoga-phrases li {
    border-top: 1px solid #aec2b3;
    color: var(--yoga-ink);
    font-family: var(--font-title);
    font-size: clamp(1.1rem, 1.6vw, 1.28rem);
    line-height: 1.35;
    padding-block: 0.9rem;
}

.yoga-materials__figure {
    margin: 0;
}

.yoga-materials__figure img {
    aspect-ratio: 3 / 2;
}

.yoga-limits {
    background: var(--yoga-surface);
    margin-top: clamp(3rem, 6vw, 5rem);
    padding: clamp(1.5rem, 4vw, 2.6rem);
}

.yoga-limits h3 {
    max-width: 28ch;
}

.yoga-limits__grid {
    display: grid;
    gap: 1rem clamp(2rem, 5vw, 4rem);
    margin-top: 1.4rem;
}

.yoga-limits__grid p {
    margin: 0;
}

.yoga-stop {
    background: var(--yoga-blue);
    color: var(--yoga-ink);
    margin-top: 1.5rem;
    padding: 1.25rem 1.4rem;
}

.yoga-stop p {
    margin: 0;
}

.yoga-questions {
    background: var(--yoga-paper);
}

.yoga-question-list {
    display: grid;
    gap: 0 clamp(2rem, 5vw, 4rem);
    list-style: none;
    margin: clamp(2.5rem, 5vw, 4rem) 0 0;
    padding: 0;
}

.yoga-question-list li {
    align-items: start;
    border-top: 1px solid var(--yoga-line);
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    padding-block: 1rem;
}

.yoga-question-list__box {
    border: 1px solid var(--yoga-rust);
    height: 1rem;
    margin-top: 0.35rem;
    width: 1rem;
}

.yoga-day {
    border-top: 1px solid var(--yoga-line);
    margin-top: clamp(3rem, 6vw, 5rem);
    padding-top: clamp(2rem, 4vw, 3rem);
}

.yoga-day h3 {
    font-size: clamp(1.7rem, 3vw, 2.2rem) !important;
}

.yoga-day__steps {
    display: grid;
    gap: 0;
    margin-top: 1.5rem;
}

.yoga-day__step {
    border-top: 1px solid var(--yoga-line);
    padding-block: 1rem;
}

.yoga-day__step:first-child {
    border-top: 0;
}

.yoga-day__step strong {
    color: var(--yoga-rust);
    display: block;
    margin-bottom: 0.25rem;
}

.yoga-day__step p {
    margin: 0;
}

.yoga-sources {
    background: var(--yoga-blue);
    padding-block: clamp(2.5rem, 4vw, 3.5rem);
}

.yoga-sources h2 {
    margin-bottom: 1.25rem !important;
}

.yoga-sources p,
.yoga-sources ul {
    max-width: 72ch;
}

.yoga-sources li + li {
    margin-top: 0.55rem;
}

.yoga-sources a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
}

@media (min-width: 48rem) {
    body.dg-page-yoga {
        font-size: 18px;
    }

    .yoga-essential__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .yoga-essential__item {
        border-inline-start: 1px solid rgba(255, 253, 248, 0.24);
        border-top: 0;
        padding: 0 1.5rem;
    }

    .yoga-essential__item:first-child {
        border-inline-start: 0;
        padding-left: 0;
    }

    .yoga-essential__item:last-child {
        padding-right: 0;
    }

    .yoga-meaning__layout,
    .yoga-session__layout,
    .yoga-adapt__layout {
        grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
    }

    .yoga-format {
        grid-template-columns: minmax(11rem, 0.85fr) minmax(0, 1.6fr) minmax(12rem, 0.8fr);
    }

    .yoga-limits__grid,
    .yoga-question-list,
    .yoga-day__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yoga-day__steps {
        gap: 2rem;
    }

    .yoga-day__step,
    .yoga-day__step:first-child {
        border-top: 0;
        padding-block: 0;
    }
}

@media (min-width: 62rem) {
    .yoga-hero .dg-hero__inner {
        gap: clamp(2.5rem, 5vw, 4rem);
        grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr);
    }

    .yoga-hero__figure {
        margin-top: 1.5rem;
    }
}

@media (pointer: coarse) {
    .dg-page--yoga a,
    .dg-page--yoga summary {
        min-height: 44px;
    }
}

@media (max-width: 47.99rem) {
    .yoga-hero__label,
    .yoga-independence strong,
    .yoga-independence p,
    .yoga-reading-map dt,
    .yoga-reading-map__note,
    .yoga-format__where,
    .yoga-format__question,
    .yoga-question-list__box {
        font-size: 1rem;
        letter-spacing: 0.03em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dg-page--yoga *,
    .dg-page--yoga *::before,
    .dg-page--yoga *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
/* Page signature: sequence plus comparison, without a repeated card grid. */
.dg-page--yoga .yoga-format-list,
.dg-page--yoga .yoga-session__steps,
.dg-page--yoga .yoga-question-list {
  max-width: 76rem;
}

.dg-page--yoga .yoga-format + .yoga-format,
.dg-page--yoga .yoga-question-list li + li {
  border-top: 1px solid var(--yoga-line, #cad7d1);
}

.dg-page--yoga .yoga-meaning__decision {
  border-top: 1px solid var(--yoga-line, #cad7d1);
  margin-top: 2rem;
  max-width: 72ch;
  padding-top: 1.15rem;
}

@media (max-width: 47.99rem) {
  .dg-page--yoga .yoga-independence p,
  .dg-page--yoga .yoga-reading-map__note,
  .dg-page--yoga .yoga-hero__label,
  .dg-page--yoga .yoga-reading-map dt,
  .dg-page--yoga .yoga-format__where,
  .dg-page--yoga .yoga-format__question {
    font-size: 1.0625rem;
    letter-spacing: 0.03em;
  }
}
