/* Desert Solace "Shade": inner pages. Loaded on every page except Home (setup.php), and on Home by parts/first-session.php.
   Everything new is scoped (.ds-read, .ds-page--*, .ds-pt-*, .ds-tl) so the Counsellors and Help templates, which also load
   this file, keep their own look.
   1. Shared prose base  2. Inner-page header, place photos, "On this page"  3. Long-form reading layout (.ds-read)
   4. Blocks: quotes, keyed lists, common questions, numbered lists, references, tables, tap-to-call
   5. How it works  6. First session, minute by minute  7. Fees  8. About  9. Crisis  10. Contact  11. 404 and lists */

/* 1. Shared prose base (all inner templates) ------------------------------------------------------------------------------- */
.ds-page > .ds-prose { padding-block: var(--space-2xl) var(--space-3xl); }
.ds-page > .ds-prose > *, .ds-page .ds-band > .wp-block-group__inner-container > * { max-width: 40rem; }
.ds-page > .ds-prose > .ds-band { max-width: none; }
.ds-page .ds-prose { font-size: var(--fs-base); }
:where(.ds-page .ds-prose) h2 { font-size: var(--fs-h2); max-width: 22ch; }
:where(.ds-page .ds-prose) h3 { font-size: var(--fs-h3); }
.ds-page .ds-prose .ds-band { padding-block: var(--space-2xl); }
.ds-page .ds-prose .ds-band:first-child { padding-top: 0; }
.ds-page .ds-prose .ds-fees-wrap, .ds-page .ds-prose .ds-counsellors, .ds-page .ds-prose .ds-concerns, .ds-page .ds-prose .ds-strip,
.ds-page .ds-prose .ds-helper, .ds-page .ds-prose .ds-more-lines, .ds-page .ds-prose .wp-block-table, .ds-page .ds-prose .ds-form-wrap { max-width: none; }
.ds-page .ds-prose > p:first-child, .ds-page .ds-band:first-child h2 + p { font-size: var(--fs-lg); line-height: 1.5; }
.ds-page__updated, .ds-page__officer { font-size: var(--fs-sm); color: var(--c-sage); }
.ds-prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.ds-prose .wp-block-button__link { display: inline-flex; align-items: center; min-height: 3rem; padding: 0.7rem 1.35rem; background: var(--c-lake); color: var(--c-paper); border-radius: var(--radius); font-weight: 600; text-decoration: none; }
.ds-prose .wp-block-separator { border: 0; border-top: 1px solid var(--c-rule); }
.ds-prose li::marker { color: var(--c-sage); }
/* <details> written straight into content (the questions bands use .ds-qa, section 4) */
.ds-prose details:not(.ds-qa__item) { border-bottom: 1px solid var(--c-rule); }
.ds-prose details:not(.ds-qa__item):first-of-type { border-top: 1px solid var(--c-rule); }
.ds-prose details:not(.ds-qa__item) > summary { list-style: none; cursor: pointer; position: relative; padding: 1rem 2rem 1rem 0; font-family: var(--font-heading); font-size: 1.3rem; line-height: 1.3; }
.ds-prose details:not(.ds-qa__item) > summary::-webkit-details-marker { display: none; }
.ds-prose details:not(.ds-qa__item) > summary::after { content: ""; position: absolute; right: 0.4rem; top: 1.45rem; width: 0.6rem; height: 0.6rem; border-right: 1.5px solid var(--c-sage); border-bottom: 1.5px solid var(--c-sage); transform: rotate(45deg); transition: transform .15s ease; }
.ds-prose details:not(.ds-qa__item)[open] > summary::after { transform: rotate(-135deg); top: 1.7rem; }
.ds-prose details:not(.ds-qa__item) > :not(summary) { padding-bottom: var(--space-md); }

/* 2. Inner-page header: text, then (wide screens) a place photo or "at a glance" beside it; "On this page" below ---------- */
.ds-pt-header { border-bottom: 4px solid; border-image: linear-gradient(to right, var(--c-sky), var(--c-sand)) 1; }
.ds-pt-header__grid { display: grid; gap: var(--space-xl); }
.ds-pt-header__text { min-width: 0; }
@media (min-width: 1000px) {
  .ds-pt-header--media .ds-pt-header__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-3xl); align-items: start; }
  .ds-pt-header--media .ds-pt-header__grid > .ds-place, .ds-pt-header--media .ds-pt-header__grid > .ds-glance { margin-top: 2.6rem; }
  .ds-pt-header .ds-toc { grid-column: 1 / -1; }
}
/* phones: the current page's crumb stays on the Home line, shortened */
@media (max-width: 699px) {
  .ds-pt-header .ds-breadcrumbs__list { flex-wrap: nowrap; }
  .ds-pt-header .ds-breadcrumbs__item:last-child { flex: 1 1 0; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.ds-place { margin: 0; min-width: 0; }
.ds-place__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); background: var(--c-step); }
@media (min-width: 1000px) { .ds-place--tall .ds-place__img { aspect-ratio: 5 / 6; } }
.ds-place__caption { margin-top: 0.6rem; font-family: var(--font-heading); font-size: 1.05rem; line-height: 1.4; color: var(--c-sage); max-width: 30rem; }

.ds-toc { margin-top: var(--space-md); padding-top: var(--space-xs); border-top: 1px solid var(--c-rule); }
.ds-toc__label { font-family: var(--font-body); font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0; line-height: 1.3; color: var(--c-sage); cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; }
.ds-toc__label::-webkit-details-marker { display: none; }
.ds-toc__label::after { content: ""; width: 0.5rem; height: 0.5rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-0.15rem) rotate(45deg); transition: transform .15s ease; }
.ds-toc__details[open] > .ds-toc__label::after { transform: translateY(0.1rem) rotate(-135deg); }
.ds-toc__label:hover { color: var(--c-shade); }
.ds-toc__list { list-style: none; padding: 0; margin-top: var(--space-sm); columns: 2 15rem; column-gap: var(--space-xl); counter-reset: ds-toc; }
.ds-toc__list li { max-width: none; break-inside: avoid; padding: 0.3rem 0 0.3rem 2rem; position: relative; counter-increment: ds-toc; line-height: 1.35; }
.ds-toc__list li::before { content: counter(ds-toc); position: absolute; left: 0; top: 0.3rem; width: 1.5rem; font-size: var(--fs-sm); font-variant-numeric: lining-nums tabular-nums; color: var(--c-sage); }
.ds-toc__list a { color: var(--c-shade); text-decoration-color: var(--c-rule); }
.ds-toc__list a:hover { text-decoration-color: currentColor; }

/* 3. Long-form reading: one ~66-character column; on wide screens each section's heading waits beside its text ------------ */
.ds-read .ds-read__body { padding-block: var(--space-2xl) var(--space-3xl); }
@media (min-width: 900px) { .ds-read .ds-read__body { padding-top: var(--space-3xl); } }
.ds-read .ds-read__body .ds-band { padding-block: var(--space-xl); }
@media (min-width: 900px) { .ds-read .ds-read__body .ds-band { padding-block: var(--space-3xl); } }
.ds-read .ds-read__body .ds-band:first-child { padding-top: 0; }
.ds-read .ds-read__body .ds-band + .ds-band { border-top: 1px solid var(--c-rule); }
.ds-read .ds-band h2 { margin-bottom: var(--space-md); }
@media (min-width: 1100px) {
  .ds-read .ds-read__body .ds-band > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: var(--space-3xl); }
  .ds-read .ds-read__body .ds-band > .wp-block-group__inner-container > * { grid-column: 2; }
  .ds-read .ds-read__body .ds-band > .wp-block-group__inner-container > h2 {
    grid-column: 1; grid-row: 1 / span 60; align-self: start; position: sticky; top: calc(var(--header-h) + 1.75rem);
    margin: 0; max-width: 13ch; line-height: 1.12;
  }
  .ds-read .ds-read__body .ds-band > .wp-block-group__inner-container > h2 + * { margin-top: 0.35rem; }
  /* wide parts take the whole row under their heading */
  .ds-read .ds-read__body .ds-band:has(.ds-fees-wrap, .ds-helper) > .wp-block-group__inner-container { display: block; }
  .ds-read .ds-read__body .ds-band:has(.ds-fees-wrap, .ds-helper) > .wp-block-group__inner-container > h2 { position: static; max-width: 22ch; margin-bottom: var(--space-md); }
}
.ds-read .ds-read__body > .ds-band, .ds-read .ds-read__body > section { max-width: none; }
.ds-read__meta { max-width: none !important; margin-top: var(--space-lg); padding-top: var(--space-lg); border-top: 1px solid var(--c-rule); display: flex; flex-wrap: wrap; gap: 0.25rem var(--space-xl); }
@media (min-width: 1100px) { .ds-read__meta { padding-left: calc((100% - var(--space-3xl)) / 3 + var(--space-3xl)); } }
.ds-read__meta p { margin: 0 !important; }

/* legal pages: quieter headings, the reading column a touch tighter */
.ds-read--legal .ds-read__body .ds-band p, .ds-read--legal .ds-read__body .ds-band li { font-size: 1.0625rem; }

/* help-now moments inside long-form pages: the pine shade, numbers in antelope-brush */
.ds-read .ds-read__body .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) {
  --bleed: var(--c-shade); color: var(--c-on-dark); border-top: 0 !important;
}
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) + .ds-band { border-top: 0 !important; }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) :is(h2, h3, strong) { color: var(--c-on-dark); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) :is(p, li) { color: var(--c-on-dark-soft); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) a { color: var(--c-on-dark); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) a.ds-tel { color: var(--c-brush); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) :focus-visible { outline-color: var(--c-brush); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) .ds-keyed { border-color: rgba(185, 196, 187, 0.3); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) .ds-keyed > li { border-color: rgba(185, 196, 187, 0.22); }
.ds-read .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"]) mark.ds-flag { color: var(--c-shade); }

/* whose land this is: set apart on paper, the page's last light before the closing shade */
.ds-read .ds-read__body:has(> .ds-band:last-child:is([class*="whose-land"], [class*="acknowledgment"])) { padding-bottom: 0; }
.ds-read .ds-read__body .ds-band:is([class*="whose-land"], [class*="acknowledgment"], [class*="--where-we-began"]) {
  --bleed: var(--c-cream); border-top: 0 !important;
}
.ds-read .ds-band:is([class*="whose-land"], [class*="acknowledgment"], [class*="--where-we-began"]) + .ds-band { border-top: 0 !important; }
.ds-read .ds-band:is([class*="whose-land"], [class*="acknowledgment"], [class*="--where-we-began"]) p { font-family: var(--font-heading); font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.3rem); line-height: 1.55; }

/* full-bleed bands inside the reading column: a viewport-wide ground drawn behind the band (body clips the overflow) */
.ds-read .ds-read__body .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"], [class*="whose-land"], [class*="acknowledgment"], [class*="--where-we-began"]),
.ds-page--about .ds-read__body .ds-band--the-name, .ds-page--crisis .ds-band:has(.ds-lines) { position: relative; isolation: isolate; }
.ds-read .ds-read__body .ds-band:is([class*="when-you-need-it-now"], [class*="--if-its-urgent"], [class*="need-help-right-now"], [class*="whose-land"], [class*="acknowledgment"], [class*="--where-we-began"])::before,
.ds-page--about .ds-read__body .ds-band--the-name::before, .ds-page--crisis .ds-band:has(.ds-lines)::before {
  content: ""; position: absolute; z-index: -1; top: -1px; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); background: var(--bleed, transparent);
}

/* 4. Blocks ------------------------------------------------------------------------------------------------------------------ */
/* the script you read to your insurer, and other quotes: set off on paper, key words on the shade step */
.ds-read .wp-block-quote, .ds-read .ds-prose blockquote {
  margin-block: var(--space-lg); padding: var(--space-lg) var(--space-lg) var(--space-lg) var(--space-xl);
  background: var(--c-paper); border-left: 3px solid var(--c-lake); border-radius: 0 var(--radius) var(--radius) 0;
  font-family: var(--font-heading); font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.5rem); line-height: 1.45; color: var(--c-shade);
}
.ds-read blockquote p { max-width: 34em; }
.ds-read blockquote strong { font-weight: 450; background: linear-gradient(transparent 58%, var(--c-step) 58%); }
.ds-read .wp-block-quote cite { display: block; margin-top: var(--space-sm); font-family: var(--font-body); font-size: var(--fs-sm); font-style: normal; color: var(--c-sage); }
.ds-copy { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-md); margin-top: calc(-1 * var(--space-sm)) !important; }
.ds-copy__btn { min-height: 2.75rem; padding: 0.45rem 1rem; }
.ds-copy__status { font-size: var(--fs-sm); color: var(--c-sage); }

/* "Label: text" lists (insurers, principles, free services): a label column on wide screens */
.ds-prose ul.ds-keyed { list-style: none; padding: 0; border-top: 1px solid var(--c-rule); }
.ds-prose ul.ds-keyed > li { max-width: none; margin: 0; padding: 0.85rem 0; border-bottom: 1px solid var(--c-rule-soft); }
.ds-keyed__k { display: block; font-family: var(--font-heading); font-weight: 400; font-size: 1.2rem; line-height: 1.3; color: var(--c-shade); }
.ds-keyed__v { display: block; margin-top: 0.15rem; }
.ds-keyed__v::first-letter { text-transform: uppercase; }
@media (min-width: 700px) {
  .ds-prose ul.ds-keyed > li { display: grid; grid-template-columns: minmax(9rem, 13rem) 1fr; column-gap: var(--space-lg); align-items: baseline; }
  .ds-keyed__v { margin-top: 0; }
}
.ds-keyed__p { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* common questions: native <details>, the open one steps into the shade */
.ds-qa { margin: var(--space-lg) calc(-1 * var(--space-md)) 0 !important; border-top: 1px solid var(--c-rule); max-width: none !important; }
.ds-qa__item { padding-inline: var(--space-md); border-bottom: 1px solid var(--c-rule); transition: background-color .15s ease; }
.ds-qa__item[open] { background: var(--c-paper); }
.ds-qa__q { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr 1.5rem; gap: var(--space-md); align-items: center; padding: 1.05rem 0; }
.ds-qa__q::-webkit-details-marker { display: none; }
.ds-qa__q::after { content: ""; justify-self: center; width: 0.6rem; height: 0.6rem; border-right: 1.5px solid var(--c-sage); border-bottom: 1.5px solid var(--c-sage); transform: translateY(-0.15rem) rotate(45deg); transition: transform .15s ease; }
.ds-qa__item[open] > .ds-qa__q::after { transform: translateY(0.15rem) rotate(-135deg); }
.ds-prose .ds-qa__h { margin: 0; font-size: var(--fs-h3); font-weight: 380; line-height: 1.3; max-width: 32em; }
.ds-qa__q:hover .ds-qa__h { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ds-qa__q:focus-visible { outline-offset: 2px; }
.ds-qa__a { padding: 0 0 var(--space-lg); }
.ds-qa__a > * + * { margin-top: var(--space-sm); }

/* numbered steps written in content ("Then two follow-ups") */
.ds-read .ds-prose ol.wp-block-list { list-style: none; padding-left: 0; counter-reset: ds-ol; }
.ds-read .ds-prose ol.wp-block-list > li { position: relative; counter-increment: ds-ol; padding-left: 2.6rem; }
.ds-read .ds-prose ol.wp-block-list > li + li { margin-top: var(--space-sm); }
.ds-read .ds-prose ol.wp-block-list > li::before { content: counter(ds-ol); position: absolute; left: 0; top: -0.2rem; font-family: var(--font-heading); font-size: 1.6rem; line-height: 1.2; font-variant-numeric: lining-nums; color: var(--c-sage); }

/* references (RTC vs RCC) and the research list (How it works): footnote size, numbered */
.ds-read .ds-band--references ul { list-style: none; padding: 0; counter-reset: ds-ref; border-top: 1px solid var(--c-rule); font-size: var(--fs-sm); }
.ds-read .ds-band--references li { max-width: none; counter-increment: ds-ref; position: relative; padding: 0.55rem 0 0.55rem 2rem; border-bottom: 1px solid var(--c-rule-soft); margin: 0 !important; }
.ds-read .ds-band--references li::before { content: counter(ds-ref); position: absolute; left: 0; top: 0.55rem; color: var(--c-sage); font-variant-numeric: tabular-nums; }
.ds-read .ds-band--references a { color: var(--c-shade); }
.ds-read .ds-evidence { counter-reset: ds-ev; margin-top: var(--space-lg) !important; }
.ds-read .ds-evidence__item { position: relative; padding-left: 2.6rem; counter-increment: ds-ev; }
.ds-read .ds-evidence__item::before { content: counter(ds-ev); position: absolute; left: 0; top: var(--space-md); font-family: var(--font-heading); font-size: 1.6rem; line-height: 1.2; color: var(--c-sage); }
.ds-read .ds-evidence__claim { font-family: var(--font-heading); font-size: 1.2rem; line-height: 1.45; }
.ds-read .ds-evidence__source a { color: var(--c-sage); }

/* tables written in content */
.ds-prose .wp-block-table { overflow-x: auto; }
.ds-prose table:not(.ds-fees__table) { width: 100%; font-size: 1.0625rem; font-variant-numeric: lining-nums tabular-nums; }
.ds-prose table:not(.ds-fees__table) :is(th, td) { text-align: left; vertical-align: top; padding: 0.75rem 1rem 0.75rem 0; border-bottom: 1px solid var(--c-rule); }
.ds-prose table:not(.ds-fees__table) thead th { font-size: var(--fs-sm); color: var(--c-sage); font-weight: 600; border-bottom-color: var(--c-sage); }
.ds-prose figure.wp-block-table figcaption { font-size: var(--fs-sm); color: var(--c-sage); margin-top: var(--space-sm); }

/* open questions keep one size inside display-size text */
.ds-read :is(blockquote, h2 + p, .ds-evidence__claim) mark.ds-flag, .ds-page--crisis h2 + p mark.ds-flag { font-size: 0.875rem; font-family: var(--font-body); vertical-align: 0.15em; }

/* phone numbers in running text */
a.ds-tel { white-space: nowrap; font-weight: 600; }

/* 5. How it works -------------------------------------------------------------------------------------------------------- */
.ds-page--how .ds-steps { background: var(--c-paper); border-bottom: 1px solid var(--c-rule-soft); }
.ds-page--how .ds-steps > .ds-wrap { padding-top: var(--space-xl); }
.ds-steps__heading { font-size: var(--fs-h2); max-width: 24ch; }
.ds-steps__list { list-style: none; padding: 0; margin-top: var(--space-xl); display: grid; counter-reset: ds-step; }
.ds-steps__item { position: relative; max-width: none; padding: 0 0 var(--space-xl) 3.5rem; counter-increment: ds-step; }
.ds-steps__item::before {
  content: counter(ds-step); position: absolute; left: 0; top: -0.2rem; width: 2.4rem; height: 2.4rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--c-paper); border: 1px solid var(--c-sage);
  font-family: var(--font-heading); font-size: 1.2rem; line-height: 1; font-variant-numeric: lining-nums; color: var(--c-shade);
}
.ds-steps__item:first-child::before { background: var(--c-shade); border-color: var(--c-shade); color: var(--c-paper); }
.ds-steps__item::after { content: ""; position: absolute; left: 1.2rem; top: 2.4rem; bottom: 0.2rem; width: 1px; background: var(--c-rule); }
.ds-steps__item:last-child { padding-bottom: 0; }
.ds-steps__item:last-child::after { display: none; }
.ds-steps__title { font-size: var(--fs-h3); line-height: 1.2; }
.ds-steps__line { margin-top: 0.35rem; font-size: 1.0625rem; color: var(--c-shade); }
@media (min-width: 900px) {
  .ds-steps__list { grid-template-columns: repeat(var(--steps, 4), minmax(0, 1fr)); column-gap: var(--space-lg); }
  .ds-steps__item { padding: 3.6rem var(--space-sm) 0 0; }
  .ds-steps__item::before { top: 0; }
  .ds-steps__item::after { left: 2.9rem; right: calc(-1 * var(--space-lg) + 0.5rem); top: 1.2rem; bottom: auto; width: auto; height: 1px; }
}
.ds-how__session { border-bottom: 1px solid var(--c-rule-soft); }
.ds-page--how .ds-read__body .ds-band--what-you-need ul { list-style: none; padding: 0; display: grid; gap: 0 var(--space-xl); border-top: 1px solid var(--c-rule); }
@media (min-width: 700px) { .ds-page--how .ds-read__body .ds-band--what-you-need ul { grid-template-columns: 1fr 1fr; } }
.ds-page--how .ds-read__body .ds-band--what-you-need li { max-width: none; margin: 0; padding: 0.8rem 0 0.8rem 1.9rem; border-bottom: 1px solid var(--c-rule-soft); position: relative; }
.ds-page--how .ds-read__body .ds-band--what-you-need li::before { content: ""; position: absolute; left: 0.15rem; top: 1.2rem; width: 0.8rem; height: 0.45rem; border-left: 1.5px solid var(--c-lake); border-bottom: 1.5px solid var(--c-lake); transform: rotate(-45deg); }

/* 6. First session, minute by minute (parts/first-session.php + ds.js) ------------------------------------------------------ */
.ds-session { margin-top: 0; }
.ds-session__heading { font-size: var(--fs-h2); max-width: 20ch; }
.ds-session__intro { margin-top: var(--space-md); max-width: 38rem; font-size: var(--fs-lg); line-height: 1.5; color: var(--c-sage); }
/* without JS (and "Show the whole hour"): a quiet vertical timeline */
.ds-session__list { list-style: none; padding: 0; margin-top: var(--space-xl); display: block; border-top: 0; }
.ds-session__step { max-width: none; display: grid; grid-template-columns: 1fr; gap: 0; padding: 0 0 0 var(--space-lg); border: 0; border-left: 1px solid var(--c-rule); position: relative; }
.ds-session__step::before { content: ""; position: absolute; left: -5px; top: 0.45rem; width: 9px; height: 9px; border-radius: 50%; background: var(--c-mist); border: 1.5px solid var(--c-shade); }
.ds-session__step:first-child::before { border-style: dashed; }
.ds-session__time { font-family: var(--font-body); font-size: var(--fs-sm); line-height: 1.4; color: var(--c-sage); font-variant-numeric: lining-nums tabular-nums; }
.ds-session__what { padding: 0.15rem 0 var(--space-lg); }
.ds-session__title { font-size: var(--fs-h3); line-height: 1.25; }
.ds-session__line { margin-top: 0.3rem; }
.ds-session__source { margin-top: 0.45rem; font-size: var(--fs-sm); color: var(--c-sage); display: flex; align-items: center; gap: 0.6rem; }
.ds-session__faces { display: inline-flex; }
.ds-session__faces { gap: 0.25rem; }
.ds-session__faces img { width: 1.6rem; height: 2rem; border-radius: 2px; object-fit: cover; object-position: center 22%; background: var(--c-step); }
@media (min-width: 760px) {
  .ds-session__step { grid-template-columns: 9rem 1fr; column-gap: var(--space-lg); border-left: 0; padding-left: 0; }
  .ds-session__step::before { left: calc(9rem + var(--space-lg) / 2 - 4.5px); }
  .ds-session__time { grid-row: auto; text-align: right; padding-top: 0.15rem; font-family: var(--font-heading); font-size: 1.15rem; }
  .ds-session__step > .ds-session__what { grid-column: 2; border-left: 1px solid var(--c-rule); padding-left: var(--space-lg); margin-left: calc(-1 * var(--space-lg) / 2); }
}
.ds-session.is-app:not(.is-all) .ds-session__list { display: none; }
.ds-session.is-all .ds-tl__body { display: none; }

/* with JS: the hour to scale, the moments beside one open moment */
.ds-tl { margin-top: var(--space-xl); }
.ds-tl__scale { position: relative; }
.ds-tl__track { position: relative; height: 0.85rem; }
.ds-tl__seg { position: absolute; top: 0; bottom: 0; border-radius: 2px; background: var(--c-paper); box-shadow: inset 0 0 0 1px var(--c-rule); cursor: pointer; transition: background-color .25s ease, box-shadow .25s ease; }
.ds-tl__seg--before { background: transparent; box-shadow: none; border: 1px dashed var(--c-sage); }
.ds-tl__seg:hover { box-shadow: inset 0 0 0 1px var(--c-shade); }
.ds-tl__seg.is-done { background: var(--c-step); box-shadow: none; border-color: transparent; }
.ds-tl__seg.is-now { background: #A9BAAC; box-shadow: inset 0 0 0 1px var(--c-sage); border-color: transparent; }   /* glare to shade: done = the shade step, now = one step deeper (r2 creative 21) */
.ds-tl__marker { display: none; }
.ds-tl__ticks { position: relative; height: 1.5rem; margin-top: 0.45rem; font-size: var(--fs-sm); line-height: 1.5rem; color: var(--c-sage); font-variant-numeric: lining-nums tabular-nums; }
.ds-tl__tick { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.ds-tl__tick--zero, .ds-tl__tick--before { transform: none; }
.ds-tl__tick--end { transform: translateX(-100%); }
@media (max-width: 599px) { .ds-tl__tick--before, .ds-tl__tick--odd:not(.ds-tl__tick--end) { display: none; } }
.ds-tl__body { display: grid; gap: var(--space-lg); margin-top: var(--space-lg); }
@media (min-width: 900px) { .ds-tl__body { grid-template-columns: minmax(17rem, 4fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: start; margin-top: var(--space-xl); } }
.ds-tl__index { display: none; list-style: none; padding: 0; border-top: 1px solid var(--c-rule); }
@media (min-width: 900px) { .ds-tl__index { display: block; } }
.ds-tl__index li { max-width: none; border-bottom: 1px solid var(--c-rule-soft); }
.ds-tl__pick {
  width: 100%; min-height: 2.9rem; display: grid; grid-template-columns: 8.25rem 1fr; gap: 0.75rem; align-items: baseline;
  padding: 0.55rem 0.6rem; background: none; border: 0; border-radius: 2px; color: var(--c-shade); text-align: left; cursor: pointer; font-size: 1rem; line-height: 1.3;
  transition: background-color .15s ease;
}
.ds-tl__pick-time { font-size: var(--fs-sm); color: var(--c-sage); font-variant-numeric: lining-nums tabular-nums; }
.ds-tl__pick:hover .ds-tl__pick-title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ds-tl__pick[aria-current] { background: var(--c-step); }
.ds-tl__pick[aria-current] .ds-tl__pick-time { color: var(--c-shade); }
.ds-tl__pick[aria-current] .ds-tl__pick-title { font-weight: 600; }
.ds-tl__panel { background: var(--c-paper); border-radius: var(--radius); padding: var(--space-lg); min-height: 17rem; }
@media (min-width: 900px) { .ds-tl__panel { padding: var(--space-xl) var(--space-2xl); min-height: 19rem; } }
.ds-tl__panel:focus { outline: none; }
.ds-tl__panel:focus-visible { outline: 3px solid var(--c-lake); outline-offset: 3px; }
.ds-tl__panel > * { animation: ds-fade .18s ease-out; }
.ds-tl__time { font-family: var(--font-heading); font-weight: 320; font-size: clamp(2.1rem, 1.6rem + 1.9vw, 3.25rem); line-height: 1; letter-spacing: -0.018em; font-variant-numeric: lining-nums tabular-nums; color: var(--c-shade); }
.ds-tl__panel .ds-session__title { margin-top: var(--space-md); font-size: var(--fs-h3); line-height: 1.2; }
.ds-tl__panel .ds-session__line { margin-top: var(--space-sm); font-size: var(--fs-lg); line-height: 1.55; max-width: 32em; }
.ds-tl__panel .ds-session__source { margin-top: var(--space-lg); }
.ds-tl__count { margin-top: var(--space-md); font-size: var(--fs-sm); color: var(--c-sage); font-variant-numeric: tabular-nums; }
.ds-tl__nav { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-md); margin-top: var(--space-sm); }
.ds-tl__next { flex: 1 1 14rem; justify-content: flex-start; text-align: left; }
@media (min-width: 900px) { .ds-tl__next { flex: 0 1 auto; } }
.ds-tl__prev[disabled] { opacity: 0.4; cursor: default; }
.ds-tl__prev[disabled]:hover { background: transparent; border-color: var(--c-rule); }
.ds-tl__all { margin-top: var(--space-md); }
/* on Home the band sits on mist; the timeline fills the band width */
.ds-home__content .ds-tl { max-width: none; }

/* 7. Fees ---------------------------------------------------------------------------------------------------------------- */
.ds-glance { min-width: 0; }
.ds-glance__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--c-rule); }
.ds-glance__item { max-width: none; border-bottom: 1px solid var(--c-rule-soft); }
.ds-glance__item:nth-child(odd) { border-right: 1px solid var(--c-rule-soft); }
.ds-glance__link { display: block; height: 100%; padding: var(--space-md) var(--space-md) var(--space-md) 0; color: var(--c-shade); text-decoration: none; }
.ds-glance__item:nth-child(even) .ds-glance__link { padding-left: var(--space-md); }
.ds-glance__big { display: block; overflow-wrap: break-word; font-family: var(--font-heading); font-weight: 330; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 3rem); line-height: 1.05; letter-spacing: -0.015em; font-variant-numeric: lining-nums; }
.ds-glance__item--word .ds-glance__big { font-size: clamp(1.45rem, 1.25rem + 0.8vw, 2rem); line-height: 1.15; }
.ds-glance__to { font-family: var(--font-body); font-size: 0.42em; letter-spacing: 0; color: var(--c-sage); vertical-align: 0.4em; }
.ds-glance__small { display: block; margin-top: 0.4rem; font-size: var(--fs-sm); line-height: 1.35; color: var(--c-sage); }
.ds-glance__link:hover .ds-glance__small { color: var(--c-shade); text-decoration: underline; text-underline-offset: 0.18em; }
.ds-glance__note { margin-top: var(--space-sm); font-size: var(--fs-sm); color: var(--c-sage); }

.ds-page--fees .ds-fees-wrap { margin-top: var(--space-lg); }
.ds-page--fees .ds-fees__table tbody th { position: relative; min-width: 13rem; padding-left: 4.25rem; }
@media (min-width: 800px) { .ds-fees__td--individual, .ds-fees__td--couples { min-width: 10.5rem; } }
.ds-fees__face { position: absolute; left: 0; top: 0.95rem; width: 2.8rem; height: 3.5rem; object-fit: cover; object-position: center 22%; border-radius: var(--radius); background: var(--c-step); }
.ds-page--fees .ds-fees__table tbody tr.is-match > :first-child { padding-left: 4.25rem; }
.ds-page--fees .ds-fees__table tbody tr.is-match .ds-fees__face { left: 0.75rem; }
.ds-price { display: block; line-height: 1.3; }
.ds-price + .ds-price { margin-top: 0.4rem; }
.ds-price__amt { font-family: var(--font-heading); font-weight: 400; font-size: 1.3rem; line-height: 1.15; font-variant-numeric: lining-nums tabular-nums; color: var(--c-shade); }
.ds-price:first-child .ds-price__amt { font-size: 1.6rem; }
.ds-price__unit { font-size: var(--fs-sm); color: var(--c-sage); white-space: nowrap; }
.ds-price__pre { display: block; font-weight: 600; color: var(--c-shade); font-size: var(--fs-sm); margin-bottom: 0.1rem; }
.ds-fees__td--consult, .ds-fees__td--lower_cost, .ds-fees__td--billing { font-size: 1rem; }
@media (max-width: 799px) {
  .ds-page--fees .ds-fees__table tbody th { padding-left: 4.25rem; min-height: 3.6rem; }
  .ds-fees__face { top: 0.15rem; }
  .ds-page--fees .ds-fees__table tbody tr.is-match .ds-fees__face { left: 0; }
}
/* the coverage checker (fees helper): two questions side by side on paper */
.ds-page--fees .ds-helper { padding: var(--space-lg); background: var(--c-paper); border-radius: var(--radius); }
@media (min-width: 1000px) { .ds-page--fees .ds-helper { padding: var(--space-2xl); max-width: 46rem; } }
.ds-page--fees .ds-helper__option { padding: 0.75rem 0.5rem; margin-inline: -0.5rem; border-radius: 2px; transition: background-color .15s ease; }
.ds-page--fees .ds-helper__option:hover { background: var(--c-mist); }
.ds-page--fees .ds-helper__option:has(input:checked) { background: var(--c-step); }
.ds-page--fees .ds-helper__option:has(input:checked) label { font-weight: 600; }
.ds-page--fees .ds-helper__result, .ds-page--fees .ds-helper__insurer-result { background: var(--c-mist); border-left-color: var(--c-lake); }
.ds-page--fees .ds-helper--js .ds-helper__result { margin: var(--space-sm) 0 0; }
.ds-helper__ask { margin-top: var(--space-lg); }
.ds-helper__ask-label { font-weight: 600; }
.ds-helper__ask blockquote { margin: var(--space-sm) 0 var(--space-md); padding: var(--space-md) var(--space-md) var(--space-md) var(--space-lg); background: var(--c-mist); border-left: 3px solid var(--c-lake); font-family: var(--font-heading); font-size: 1.2rem; line-height: 1.45; }
.ds-helper__ask blockquote strong { font-weight: 450; background: linear-gradient(transparent 58%, var(--c-step) 58%); }
.ds-helper__ask-more { margin-top: var(--space-sm); font-size: var(--fs-sm); }
/* bands that carry a single big idea */
.ds-page--fees .ds-band--free-first-conversations h2 + p { font-family: var(--font-heading); font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.45rem); line-height: 1.45; }

/* 8. About ----------------------------------------------------------------------------------------------------------------- */
.ds-page--about .ds-read__body .ds-band--the-name {
  --bleed: var(--c-shade); color: var(--c-on-dark); border-top: 0 !important;
}
.ds-page--about .ds-band--the-name + .ds-band { border-top: 0 !important; }
.ds-page--about .ds-band--the-name h2 { color: var(--c-on-dark); }
.ds-page--about .ds-band--the-name p { color: var(--c-on-dark-soft); }
.ds-page--about .ds-band--the-name h2 + p { font-family: var(--font-heading); font-weight: 350; font-size: clamp(1.45rem, 1.15rem + 1.2vw, 2.1rem); line-height: 1.3; color: var(--c-on-dark); max-width: 24em; }
.ds-page--about .ds-band--the-name a { color: var(--c-on-dark); }
.ds-page--about .ds-band--the-name :focus-visible { outline-color: var(--c-brush); }
.ds-page--about .ds-band--the-name mark.ds-flag { color: var(--c-shade); }
.ds-page--about .ds-band--what-we-stand-for h2 + p { font-family: var(--font-heading); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.4rem); line-height: 1.45; }
@media (min-width: 700px) {
  .ds-page--about .ds-band--what-we-stand-for ul.ds-keyed { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-xl); border-top: 0; }
  .ds-page--about .ds-band--what-we-stand-for ul.ds-keyed > li { display: block; padding: var(--space-md) 0 var(--space-lg); border-top: 1px solid var(--c-rule); border-bottom: 0; }
  .ds-page--about .ds-band--what-we-stand-for .ds-keyed__k { font-size: 1.35rem; margin-bottom: 0.3rem; }
}
.ds-page--about .ds-strip { margin-top: var(--space-lg) !important; }

/* 9. Crisis: numbers first, in deep shade, no alarm colours ---------------------------------------------------------------- */
.ds-page--crisis .ds-page-header--crisis { background: var(--c-deep); color: var(--c-on-dark); padding: var(--space-xl) 0 var(--space-md); }
@media (min-width: 900px) { .ds-page--crisis .ds-page-header--crisis { padding: var(--space-2xl) 0 var(--space-lg); } }
.ds-crisis-body > .ds-qx-note { margin-top: 0; margin-bottom: var(--space-lg); }
.ds-page--crisis .ds-page-header__title { color: var(--c-on-dark); margin-top: 0; }
@media (min-width: 1000px) { .ds-page--crisis .ds-page-header__title { padding-right: 0; } }
.ds-page--crisis .ds-page-header__intro { color: var(--c-on-dark-soft); }
.ds-page--crisis .ds-page-header :focus-visible { outline-color: var(--c-brush); }
/* the numbers: in the template's own block, or in the content band that holds them */
.ds-crisis-now { background: var(--c-deep); }
.ds-crisis-now, .ds-page--crisis .ds-band:has(.ds-lines) { color: var(--c-on-dark); }
.ds-crisis-now { padding: var(--space-sm) 0 var(--space-3xl); }
.ds-page--crisis .ds-band:has(.ds-lines) { --bleed: var(--c-deep); background: none; padding-block: var(--space-md) var(--space-3xl); }
.ds-page--crisis .ds-band:has(.ds-lines) h2 { color: var(--c-on-dark); font-size: var(--fs-h3); }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) :focus-visible { outline-color: var(--c-brush); }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) :is(.ds-lines__name, .ds-lines__line) { color: var(--c-on-dark-soft); }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) .ds-lines__name { font-size: 1.0625rem; color: var(--c-on-dark); font-weight: 600; }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) .ds-lines__call { color: var(--c-brush); font-size: clamp(2.1rem, 1.7rem + 1.5vw, 2.9rem); white-space: nowrap; }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) .ds-lines__text { border-color: var(--c-on-dark-soft); color: var(--c-on-dark); min-height: 3rem; padding-inline: 1.1rem; }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) .ds-lines__text:hover { background: var(--c-on-dark); color: var(--c-shade); }
.ds-page--crisis :is(.ds-crisis-now, .ds-band:has(.ds-lines)) :is(.ds-lines, .ds-lines__item) { border-color: rgba(185, 196, 187, 0.26); }
.ds-page--crisis .ds-band .ds-lines--large, .ds-page--crisis .ds-crisis-now .ds-lines--large { max-width: 64rem; }
.ds-page--crisis .ds-lines--large .ds-lines__item { padding-block: 1.05rem; }
@media (min-width: 760px) { .ds-lines--large .ds-lines__item { grid-template-columns: 15rem 1fr; align-items: baseline; column-gap: var(--space-xl); } .ds-lines--large .ds-lines__name { grid-row: span 2; } }
.ds-page--crisis .ds-crisis-body { padding-top: 0; }
.ds-page--crisis .ds-crisis-body .ds-band { padding-block: var(--space-2xl); }
.ds-page--crisis .ds-crisis-body .ds-band:has(.ds-lines) + .ds-band { border-top: 0; }
.ds-page--crisis .ds-band--if-youre-not-sure-its-an-emergency h2 + p { font-family: var(--font-heading); font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.7rem); line-height: 1.4; }
/* the slow breath sits beside the written steps */
.ds-page--crisis [class*="ds-band--while-you-wait"] ul { list-style: none; padding: 0; counter-reset: ds-br; }
.ds-page--crisis [class*="ds-band--while-you-wait"] ul > li { counter-increment: ds-br; position: relative; padding: 0.55rem 0 0.55rem 2.4rem; border-bottom: 1px solid var(--c-rule-soft); margin: 0; }
.ds-page--crisis [class*="ds-band--while-you-wait"] ul > li::before { content: counter(ds-br); position: absolute; left: 0; top: 0.45rem; font-family: var(--font-heading); font-size: 1.35rem; color: var(--c-sage); }
.ds-page--crisis .ds-breathe { width: fit-content; min-width: min(100%, 20rem); margin-top: var(--space-md); grid-template-columns: auto 1fr; align-items: center; column-gap: var(--space-lg); justify-items: start; }
.ds-page--crisis .ds-breathe__start { grid-column: 1 / -1; }
@media (min-width: 900px) {
  .ds-page--crisis [class*="ds-band--while-you-wait"] > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--space-2xl); max-width: 64rem; }
  .ds-page--crisis [class*="ds-band--while-you-wait"] > .wp-block-group__inner-container > * { grid-column: 1; }
  .ds-page--crisis [class*="ds-band--while-you-wait"] > .wp-block-group__inner-container > h2 { grid-column: 1 / -1; }
  .ds-page--crisis [class*="ds-band--while-you-wait"] > .wp-block-group__inner-container > .ds-breathe { grid-column: 2; grid-row: 2 / span 3; align-self: start; margin-top: 0; }
}
.ds-page--crisis .ds-more-lines__number { color: var(--c-lake); }
.ds-page--crisis .ds-band--about-desert-solace-and-emergencies p { color: var(--c-sage); }
.ds-page--crisis .ds-book-buttons .ds-btn--primary { background: transparent; color: var(--c-lake); border-color: var(--c-lake); }
.ds-page--crisis .ds-book-buttons .ds-btn--primary:hover { background: var(--c-lake); color: var(--c-paper); }
.ds-page--crisis .ds-book-buttons .ds-btn--secondary { border-color: transparent; padding-inline: 0.5rem; text-decoration: underline; text-underline-offset: 0.2em; }

/* 10. Contact -------------------------------------------------------------------------------------------------------------- */
.ds-contact { display: grid; gap: var(--space-2xl); }
@media (min-width: 1000px) { .ds-contact { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-3xl); align-items: start; } }
.ds-contact__info { min-width: 0; }
.ds-contact__info .ds-band { padding-block: var(--space-xl); }
.ds-contact__info .ds-band:first-child { padding-top: 0; }
.ds-contact__info .ds-band + .ds-band { border-top: 1px solid var(--c-rule); }
.ds-contact__info h2 { font-size: var(--fs-h3) !important; margin-bottom: var(--space-sm); }
.ds-page--contact .ds-band--phone-and-email p:first-of-type { line-height: 1.85; }
.ds-page--contact .ds-band--phone-and-email a.ds-tel { font-family: var(--font-heading); font-weight: 400; font-size: 1.6rem; color: var(--c-shade); text-decoration-color: var(--c-rule); }
.ds-page--contact .ds-band--phone-and-email a[href^="mailto:"] { overflow-wrap: anywhere; }
.ds-page--contact .ds-contact__info [class*="need-help-right-now"] { margin-top: var(--space-lg); padding: var(--space-lg) !important; background: var(--c-shade); color: var(--c-on-dark-soft); border-radius: var(--radius); border-top: 0 !important; }
.ds-page--contact .ds-contact__info [class*="need-help-right-now"] :is(h2, strong, a) { color: var(--c-on-dark); }
.ds-page--contact .ds-contact__info [class*="need-help-right-now"] a.ds-tel { color: var(--c-brush); }
.ds-page--contact .ds-contact__info [class*="need-help-right-now"] :focus-visible { outline-color: var(--c-brush); }
.ds-contact__form { min-width: 0; }
.ds-page--contact .ds-form-wrap { margin-top: 0; max-width: none; }
.ds-page--contact .ds-form { max-width: none; }
.ds-page--contact .ds-form__field--radio fieldset { display: flex; flex-wrap: wrap; column-gap: 1.5rem; }
.ds-page--contact .ds-form__field--radio legend { width: 100%; }
.ds-contact__who { margin-bottom: var(--space-md); padding: var(--space-md) var(--space-lg); background: var(--c-step); border-radius: var(--radius); font-weight: 600; }
.ds-contact__privacy { margin-top: var(--space-lg); padding-left: var(--space-md); border-left: 2px solid var(--c-rule); font-size: var(--fs-sm); color: var(--c-sage); max-width: 36rem; }
.ds-contact__privacy-h { font-family: var(--font-body); font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0; color: var(--c-shade); margin-bottom: 0.2rem; }

/* 11. 404 and lists -------------------------------------------------------------------------------------------------------- */
.ds-404__head { position: relative; overflow: hidden; padding: var(--space-3xl) 0 9rem; }
@media (min-width: 900px) { .ds-404__head { padding: var(--space-section) 0; min-height: 26rem; } }
.ds-404__shade { position: absolute; inset: auto 0 0 0; height: 10rem; pointer-events: none; opacity: 0.6; -webkit-mask-image: linear-gradient(180deg, transparent, #000 60%); mask-image: linear-gradient(180deg, transparent, #000 60%); }
@media (min-width: 900px) { .ds-404__shade { inset: 0 0 0 45%; height: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); mask-image: linear-gradient(90deg, transparent, #000 45%); } }
.ds-404__shade img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.ds-404__inner { position: relative; }
.ds-404__inner .ds-page-header__title { margin-top: 0; }
.ds-404__body { display: grid; gap: var(--space-2xl); }
@media (min-width: 900px) { .ds-404__body { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-3xl); align-items: start; } }
.ds-404__label { font-family: var(--font-body); font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0; color: var(--c-sage); }
.ds-404__links { list-style: none; padding: 0; margin-top: var(--space-sm); border-top: 1px solid var(--c-rule); max-width: 40rem; }
.ds-404__links li { max-width: none; border-bottom: 1px solid var(--c-rule-soft); }
.ds-404__links a { display: block; padding: 0.95rem 0; font-family: var(--font-heading); font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem); line-height: 1.25; color: var(--c-shade); text-decoration: none; }
.ds-404__links a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ds-404__aside { padding: var(--space-lg); background: var(--c-paper); border-radius: var(--radius); }
.ds-404__crisis { color: var(--c-shade); }
.ds-404__aside .ds-breathe { margin-top: var(--space-lg); grid-template-columns: auto 1fr; align-items: center; column-gap: var(--space-lg); }
.ds-404__aside .ds-breathe__start { grid-column: 1 / -1; }
.ds-404__aside .ds-breathe__shape { width: 6.5rem; height: 6.5rem; }
.ds-post-list { list-style: none; padding: 0; }
.ds-post-list__item { padding: var(--space-lg) 0; border-bottom: 1px solid var(--c-rule-soft); }
.ds-post-list__excerpt { margin-top: var(--space-sm); color: var(--c-sage); }
