/* Dealsmaster Editorial v4.1: a tactile, lived-in, photo-led interiors journal. */

:root {
  --dm-butter: #d9b65a;
  --dm-coral: #c66349;
  --dm-blush: #e4ccc2;
  --dm-blue: #657693;
  --dm-cream: #efe5d5;
  --dm-texture-paper: url("../images/texture-eggshell-v1.webp");
  --dm-texture-pigment: url("../images/texture-pigment-wash-v1.webp");
  --dm-texture-dark: url("../images/texture-smoked-mineral-v1.webp");
}

/* A brighter, more expressive frame. */
.dm-topline {
  color: var(--dm-ink);
  background: var(--dm-butter);
}

.dm-topline a { color: var(--dm-ink); }
.dm-topline a:hover { color: var(--dm-rust); }
.dm-monogram { background: var(--dm-coral); }
.dm-nav-bar { border-bottom: 3px solid var(--dm-coral); }
.dm-nav-bar .wp-block-navigation-item__content { position: relative; }
.dm-nav-bar .wp-block-navigation-item__content::after {
  position: absolute;
  right: 0;
  bottom: -0.42rem;
  left: 0;
  height: 2px;
  background: var(--dm-coral);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}

.dm-home-page { background: var(--dm-white); }

.dm-edition-heading {
  position: relative;
  overflow: hidden;
  padding: clamp(2.8rem, 5.4vw, 5.8rem) 0 clamp(2.4rem, 4vw, 4rem);
  background: var(--dm-cream);
}

.dm-edition-heading::after {
  position: absolute;
  top: -5vw;
  right: -4vw;
  width: clamp(110px, 15vw, 230px);
  aspect-ratio: 1;
  border: clamp(18px, 2.5vw, 38px) solid var(--dm-coral);
  border-radius: 50%;
  content: "";
  opacity: 0.95;
}

.dm-edition-heading-inner {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.55fr);
  align-items: end;
}

.dm-edition-title {
  max-width: 1000px;
  font-size: clamp(3rem, 6.25vw, 6.6rem);
  font-weight: 540;
  letter-spacing: -0.062em;
  line-height: 0.9;
}

.dm-edition-heading-inner > p {
  max-width: 470px;
  color: #4f493f;
  font-size: 1.08rem;
}

/* Photo-led lead package. */
.dm-lead-section {
  padding: clamp(2.2rem, 4vw, 4rem) 0 clamp(4rem, 7vw, 7.5rem);
  background: var(--dm-white);
}

.dm-lead-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1.25rem, 2vw, 2rem);
  align-items: start;
}

.dm-lead-main { grid-column: 1 / span 8; }
.dm-lead-side {
  display: grid;
  grid-column: 9 / -1;
  grid-template-rows: auto auto;
  gap: 2.5rem;
}

.dm-story-image {
  position: relative;
  aspect-ratio: 3 / 2;
  background: var(--dm-soft);
}

.dm-story-image img,
.dm-side-image img,
.dm-room-card img,
.dm-need-panel figure img,
.dm-edit-scene img {
  transition: filter 420ms ease, transform 520ms cubic-bezier(.2,.75,.2,1);
}

.dm-image-note {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  padding: 0.4rem 0.55rem;
  color: var(--dm-ink);
  background: rgba(251,250,247,0.9);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dm-lead-copy {
  position: relative;
  z-index: 2;
  width: 91%;
  max-width: none;
  margin: clamp(-5rem, -5.2vw, -3.2rem) 0 0 4.5%;
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
  border-bottom: 7px solid var(--dm-coral);
  background: var(--dm-butter);
}

.dm-lead-copy h1 {
  max-width: 800px;
  margin-bottom: 0.8rem;
  font-size: clamp(2.6rem, 4.35vw, 4.65rem);
  line-height: 0.96;
}

.dm-lead-copy > p:not(.dm-story-meta) { color: #4b4437; }

.dm-side-story {
  display: block;
  min-height: 0;
  padding: 0 0 1.4rem;
  border-bottom: 1px solid var(--dm-ink);
}

.dm-side-story--portrait .dm-side-image { aspect-ratio: 4 / 4.35; }
.dm-side-story--landscape .dm-side-image { aspect-ratio: 16 / 10; }
.dm-side-image { display: block; overflow: hidden; background: var(--dm-soft); }
.dm-side-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.dm-side-story--portrait .dm-side-image img { object-position: center 57%; }
.dm-side-story--landscape .dm-side-image img { object-position: center 65%; }
.dm-side-story > div { padding-top: 0.85rem; }
.dm-side-story h2 { font-size: clamp(1.55rem, 2.35vw, 2.4rem); }
.dm-side-story > div > p:not(.dm-story-meta) { display: block; }

/* Quick-solve rail and a restrained moving brand beat. */
.dm-problem-rail { background: #fff; }
.dm-problem-rail .dm-shell {
  scroll-padding-left: 1rem;
  scroll-snap-type: x proximity;
}

.dm-problem-rail a {
  min-width: max-content;
  scroll-snap-align: start;
}

.dm-problem-rail a span {
  display: inline-grid;
  width: 1.55rem;
  height: 1.55rem;
  margin-right: 0.35rem;
  place-items: center;
  border-radius: 50%;
  color: var(--dm-ink);
  background: var(--dm-blush);
  font-size: 0.66rem;
}

.dm-life-strip {
  width: 100%;
  overflow: hidden;
  border-bottom: 1px solid var(--dm-ink);
  color: var(--dm-ink);
  background: var(--dm-coral);
}

.dm-life-track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: dm-life-loop 38s linear infinite;
  will-change: transform;
}

.dm-life-track span {
  padding: 0.75rem 1.1rem;
  font-family: var(--dm-serif);
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  font-weight: 600;
  white-space: nowrap;
}

.dm-life-track i { font-size: 0.7rem; font-style: normal; }

@keyframes dm-life-loop {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Goal selector. Content stays complete without JavaScript. */
.dm-room-needs {
  padding: clamp(5rem, 8.5vw, 9rem) 0;
  background: #f8eee9;
}

.dm-need-controls {
  display: none;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0 0 1.4rem;
}

.dm-has-js .dm-need-controls { display: flex; }

.dm-need-controls button {
  min-height: 48px;
  padding: 0.72rem 1.25rem;
  border: 1px solid var(--dm-ink);
  border-radius: 999px;
  color: var(--dm-ink);
  background: transparent;
  font-family: var(--dm-sans);
  font-size: 0.88rem;
  font-weight: 750;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.dm-need-controls button[aria-selected="true"] {
  color: #fff;
  background: var(--dm-ink);
}

.dm-need-panels { border-top: 1px solid var(--dm-ink); }
.dm-has-js .dm-need-panel[hidden] { display: none; }

.dm-need-panel {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  padding-top: 1.5rem;
}

.dm-has-js .dm-need-panel.is-active { animation: dm-panel-in 360ms ease both; }

@keyframes dm-panel-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.dm-need-panel figure { margin: 0; }
.dm-need-panel figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.dm-need-panel figcaption {
  padding: 0.7rem 0 0;
  color: var(--dm-muted);
  font-size: 0.77rem;
}
.dm-need-panel > div { max-width: 730px; }
.dm-need-panel h3 {
  margin: 0 0 1rem;
  font-size: clamp(2.7rem, 5.5vw, 5.9rem);
  font-weight: 540;
  letter-spacing: -0.058em;
  line-height: 0.92;
}
.dm-need-panel > div > p:not(.dm-kicker) {
  max-width: 620px;
  color: var(--dm-muted);
  font-size: 1.06rem;
  line-height: 1.62;
}

/* A photo mosaic replaces identical room boxes. */
.dm-room-section {
  padding: clamp(5rem, 8.5vw, 9rem) 0;
  background: var(--dm-butter);
}

.dm-room-section .dm-kicker { color: var(--dm-ink); }

.dm-room-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(250px, 28vw));
  gap: 1rem;
  max-height: 760px;
}

.dm-room-card {
  position: relative;
  display: block;
  min-height: 0;
  overflow: hidden;
  color: #fff;
  background: var(--dm-forest);
  text-decoration: none;
}

.dm-room-card::after {
  position: absolute;
  inset: 34% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(12,12,9,0.83));
  content: "";
}

.dm-room-card img { width: 100%; height: 100%; object-fit: cover; }
.dm-room-card--living { grid-column: 1 / span 6; grid-row: 1 / span 2; }
.dm-room-card--living img { object-position: center 72%; }
.dm-room-card--entry { grid-column: 7 / span 3; grid-row: 1 / span 2; }
.dm-room-card--kitchen { grid-column: 10 / -1; grid-row: 1; }
.dm-room-card--cosy { grid-column: 10 / -1; grid-row: 2; }

.dm-room-card > span,
.dm-room-card > strong,
.dm-room-card > i {
  position: absolute;
  z-index: 2;
  right: 1.2rem;
  left: 1.2rem;
}
.dm-room-card > span {
  bottom: 4.35rem;
  color: var(--dm-butter);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.dm-room-card > strong {
  bottom: 1.25rem;
  max-width: 86%;
  font-family: var(--dm-serif);
  font-size: clamp(1.35rem, 2.2vw, 2.2rem);
  font-weight: 560;
  line-height: 1.02;
}
.dm-room-card > i {
  bottom: 1.3rem;
  left: auto;
  font-style: normal;
}

/* A dark photo essay, not another text slab. */
.dm-useful-edit {
  padding: clamp(5rem, 8vw, 8rem) 0;
  background: var(--dm-forest);
}

.dm-useful-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
  padding-top: 0;
  padding-bottom: 0;
}

.dm-edit-scene { grid-column: 1 / span 7; grid-row: 1 / span 2; margin: 0; }
.dm-edit-scene img { display: block; width: 100%; height: 100%; min-height: 610px; object-fit: cover; }
.dm-edit-scene figcaption { padding-top: 0.65rem; color: rgba(255,255,255,0.62); font-size: 0.76rem; }
.dm-useful-intro { grid-column: 8 / -1; }
.dm-useful-edit h2 { font-size: clamp(2.7rem, 4.7vw, 5rem); }
.dm-edit-list { grid-column: 8 / -1; }

/* The original pins become an explicitly saveable layer. */
.dm-visual-library {
  padding: clamp(5rem, 8.5vw, 9rem) 0;
  background: var(--dm-blush);
}

.dm-library-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.4vw, 2.4rem);
  align-items: start;
}

.dm-library-card { display: block; color: var(--dm-ink); }
.dm-library-card--styles { grid-column: 1 / span 7; }
.dm-library-card--declutter { grid-column: 8 / -1; margin-top: 4.5rem; }
.dm-library-card--small { grid-column: 1 / span 5; }
.dm-library-card--habits { grid-column: 6 / -1; margin-top: 3rem; }
.dm-library-card figure { height: auto; }
.dm-library-card img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  flex: none;
  object-fit: contain;
  filter: none;
  box-shadow: 0 18px 50px rgba(65,41,32,0.12);
}
.dm-library-card figcaption { padding: 1rem 0 0; }

.dm-weekend {
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  border-bottom: 1px solid var(--dm-line);
  background: var(--dm-white);
}

.dm-weekend > .dm-shell > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.dm-weekend h2 {
  margin: 0;
  font-size: clamp(2.8rem, 5.5vw, 5.7rem);
  font-weight: 540;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

.dm-weekend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--dm-ink);
}

.dm-weekend-grid a {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: clamp(1.2rem, 2.5vw, 2rem);
  border-right: 1px solid var(--dm-line);
  color: var(--dm-ink);
  text-decoration: none;
  transition: color 220ms ease, background 220ms ease, transform 220ms ease;
}
.dm-weekend-grid a:last-child { border-right: 0; }
.dm-weekend-grid span { color: var(--dm-coral); font-size: 0.76rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.dm-weekend-grid strong { display: block; margin: auto 0 0.7rem; font-family: var(--dm-serif); font-size: clamp(1.55rem, 2.6vw, 2.35rem); font-weight: 560; line-height: 1.04; }
.dm-weekend-grid p { margin: 0 0 1rem; color: var(--dm-muted); font-size: 0.94rem; line-height: 1.5; }
.dm-weekend-grid i { font-size: 0.8rem; font-style: normal; font-weight: 750; }

.dm-trust { padding: clamp(2.8rem, 4.5vw, 4.5rem) 0; background: var(--dm-ink); }
.dm-trust-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(360px, 1.2fr) auto;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
}
.dm-trust h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 4rem); }
.dm-trust-grid > p { margin: 0; color: rgba(255,255,255,0.72); line-height: 1.58; }
.dm-trust .dm-read-link { align-self: end; white-space: nowrap; }

/* Editorial photography leads the article; the pin remains a useful summary. */
.dm-article-image {
  max-width: 1180px !important;
  margin-bottom: clamp(3rem, 6vw, 6rem);
  padding: 0;
  background: transparent;
}
.dm-article-image img { width: 100%; max-height: none; aspect-ratio: 16 / 10; object-fit: cover; }

.dm-pin-guide {
  display: grid;
  width: min(1040px, calc(100% - 64px));
  grid-template-columns: minmax(240px, 0.52fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  margin: clamp(4.5rem, 8vw, 7rem) auto 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--dm-cream);
}
.dm-pin-guide-copy { position: sticky; top: 1.5rem; }
.dm-pin-guide h2 { margin: 0 0 0.8rem; font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 540; letter-spacing: -0.045em; line-height: 0.98; }
.dm-pin-guide p { color: var(--dm-muted); line-height: 1.55; }
.dm-pin-guide figure { margin: 0; }
.dm-pin-guide img { display: block; width: 100%; height: auto; }
.dm-pin-guide figcaption { margin-top: 0.65rem; color: var(--dm-muted); font-size: 0.78rem; }

/* A memorable ending instead of a generic black footer. */
.dm-site-footer {
  color: var(--dm-ink);
  background: var(--dm-coral);
}
.dm-footer-wordmark { color: var(--dm-ink); font-size: clamp(4.5rem, 11vw, 11rem); line-height: 0.78; }
.dm-footer-lead,
.dm-footer-lower { border-color: rgba(23,23,20,0.35); }
.dm-footer-lead > div > p:last-child,
.dm-footer-note,
.dm-footer-lower { color: rgba(23,23,20,0.76); }
.dm-footer-grid h2 { color: var(--dm-ink); }
.dm-footer-grid a { color: rgba(23,23,20,0.86); }
.dm-footer-grid a:hover { color: var(--dm-ink); }

/* Purposeful motion: hover-capable devices only. */
@media (hover: hover) and (pointer: fine) {
  .dm-nav-bar .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
  .dm-story-image:hover img,
  .dm-side-image:hover img,
  .dm-room-card:hover img,
  .dm-room-card:focus-visible img { transform: scale(1.035); }
  .dm-room-card:hover img { filter: saturate(1.08); }
  .dm-need-controls button:hover { transform: translateY(-2px); }
  .dm-library-card:hover img { filter: saturate(1.04); transform: translateY(-5px) rotate(-0.25deg); }
  .dm-weekend-grid a:hover { color: #fff; background: var(--dm-forest); transform: translateY(-4px); }
  .dm-weekend-grid a:hover p { color: rgba(255,255,255,0.72); }
  .dm-weekend-grid a:hover span { color: var(--dm-butter); }
}

/* Lower sections stay immediately visible in captures, print, and restored tabs. */
.dm-has-js [data-dm-reveal],
.dm-has-js [data-dm-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .dm-lead-main { grid-column: 1 / span 7; }
  .dm-lead-side { grid-column: 8 / -1; }
  .dm-side-story > div > p:not(.dm-story-meta) { display: block; }
  .dm-room-mosaic { grid-template-rows: repeat(2, minmax(230px, 34vw)); }
  .dm-edit-scene { grid-column: 1 / span 7; }
  .dm-useful-intro,
  .dm-edit-list { grid-column: 8 / -1; }
  .dm-edit-scene img { min-height: 670px; }
  .dm-trust-grid { grid-template-columns: minmax(230px, 0.7fr) minmax(0, 1.3fr); }
  .dm-trust .dm-read-link { grid-column: 2; }
}

@media (max-width: 782px) {
  .dm-edition-heading { padding: 1.8rem 0 1.6rem; }
  .dm-edition-heading::after { top: -2rem; right: -2rem; opacity: 0.55; }
  .dm-edition-heading-inner { grid-template-columns: 1fr; gap: 0.9rem; }
  .dm-edition-title { max-width: 92%; font-size: clamp(2.55rem, 12.5vw, 4.15rem); }
  .dm-edition-heading-inner > p { max-width: 94%; font-size: 0.96rem; line-height: 1.45; }

  .dm-lead-section { padding-top: 1rem; }
  .dm-lead-grid { display: block; }
  .dm-story-image { aspect-ratio: 4 / 3; }
  .dm-lead-copy {
    width: calc(100% - 1.5rem);
    margin: -2.35rem 0 0 1.5rem;
    padding: 1.2rem;
    border-bottom-width: 5px;
  }
  .dm-lead-copy h1 { font-size: clamp(2.45rem, 11.5vw, 3.7rem); }

  .dm-lead-side {
    display: grid;
    grid-auto-columns: min(76vw, 420px);
    grid-auto-flow: column;
    grid-template-rows: 1fr;
    gap: 1rem;
    margin-top: 2.5rem;
    padding: 0 1rem 0.6rem 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dm-side-story { scroll-snap-align: start; }
  .dm-side-story--portrait .dm-side-image,
  .dm-side-story--landscape .dm-side-image { aspect-ratio: 4 / 3; }
  .dm-side-story--portrait .dm-side-image img { object-position: center 62%; }
  .dm-side-story h2 { font-size: 1.75rem; }

  .dm-problem-rail .dm-shell { width: 100%; }
  .dm-life-track { animation-duration: 48s; }

  .dm-room-needs,
  .dm-room-section,
  .dm-visual-library { padding: 4.5rem 0; }
  .dm-section-head { margin-bottom: 2rem; }
  .dm-need-controls {
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .dm-need-controls button { flex: 0 0 auto; scroll-snap-align: start; }
  .dm-need-panel { grid-template-columns: 1fr; gap: 1.5rem; }
  .dm-need-panel figure img { aspect-ratio: 16 / 11; object-position: center 62%; }
  .dm-need-panel h3 { font-size: clamp(2.65rem, 12vw, 4.2rem); }

  .dm-room-mosaic {
    display: grid;
    grid-auto-columns: min(78vw, 360px);
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: 430px;
    gap: 0.8rem;
    max-height: none;
    padding: 0 1rem 0.6rem 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dm-room-card,
  .dm-room-card--living,
  .dm-room-card--entry,
  .dm-room-card--kitchen,
  .dm-room-card--cosy {
    grid-column: auto;
    grid-row: 1;
    scroll-snap-align: start;
  }

  .dm-useful-edit { padding: 4.5rem 0; }
  .dm-useful-grid { grid-template-columns: 1fr; gap: 2.1rem; }
  .dm-edit-scene,
  .dm-useful-intro,
  .dm-edit-list { grid-column: 1; grid-row: auto; }
  .dm-edit-scene img { min-height: 0; aspect-ratio: 16 / 10; }
  .dm-useful-edit h2 { font-size: clamp(2.75rem, 12vw, 4.2rem); }

  .dm-library-grid {
    grid-auto-columns: min(76vw, 400px);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 1rem;
    padding: 0 1rem 1rem 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dm-library-card,
  .dm-library-card--styles,
  .dm-library-card--declutter,
  .dm-library-card--small,
  .dm-library-card--habits {
    grid-column: auto;
    margin-top: 0;
    scroll-snap-align: start;
  }

  .dm-weekend > .dm-shell > header { display: block; }
  .dm-weekend-grid {
    display: grid;
    grid-auto-columns: min(76vw, 390px);
    grid-auto-flow: column;
    grid-template-columns: none;
    padding-bottom: 0.6rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dm-weekend-grid a { min-height: 285px; scroll-snap-align: start; border-bottom: 1px solid var(--dm-line); }

  .dm-trust-grid { grid-template-columns: 1fr; gap: 1.3rem; }
  .dm-trust .dm-read-link { grid-column: auto; }

  .dm-article-image { width: calc(100% - 32px) !important; padding: 0; }
  .dm-article-image img { aspect-ratio: 4 / 3; }
  .dm-pin-guide { width: calc(100% - 32px); grid-template-columns: 1fr; }
  .dm-pin-guide-copy { position: static; }

  .dm-footer-wordmark { font-size: clamp(4rem, 21vw, 7rem); }
}

@media (max-width: 520px) {
  .dm-lead-copy > p:not(.dm-story-meta) { font-size: 0.98rem; }
  .dm-side-story > div > p:not(.dm-story-meta) { display: block; }
  .dm-side-story .dm-story-meta span:last-child { display: inline; }
  .dm-room-mosaic { grid-template-rows: 390px; }
  .dm-library-card img,
  .dm-library-card--styles img { min-height: 0; }
  .dm-weekend-grid a { min-height: 270px; }
}

@media (prefers-reduced-motion: reduce) {
  .dm-life-track { animation: none; transform: none; }
  .dm-has-js [data-dm-reveal] { opacity: 1; transform: none; }
  .dm-has-js .dm-need-panel.is-active { animation: none; }
}

/* v4.1 material direction: quiet paper, burnished pigment, and smoked mineral. */
.dm-home-page,
.dm-single {
  background-color: var(--dm-paper);
  background-image: var(--dm-texture-paper);
  background-size: 640px 640px;
  background-blend-mode: soft-light;
}

.dm-topline {
  background-color: var(--dm-butter);
  background-image:
    radial-gradient(circle at 82% -60%, rgba(255,248,218,0.72), transparent 58%),
    var(--dm-texture-pigment),
    linear-gradient(100deg, #dfc46f, #d5ae4f);
  background-size: auto, 560px 560px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: inset 0 -1px rgba(32,29,24,0.13);
}

.dm-brand-row,
.dm-nav-bar {
  background-color: var(--dm-white);
  background-image: var(--dm-texture-paper);
  background-size: 680px 680px;
  background-blend-mode: soft-light;
}

.dm-monogram {
  background-color: var(--dm-coral);
  background-image:
    radial-gradient(circle at 30% 20%, rgba(255,222,186,0.3), transparent 45%),
    var(--dm-texture-pigment),
    linear-gradient(145deg, #cf7157, #b9543e);
  background-size: auto, 260px 260px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: 0 7px 18px rgba(69,38,25,0.15);
}

.dm-nav-bar {
  border-bottom: 1px solid rgba(153,65,44,0.42);
  box-shadow: inset 0 -1px rgba(255,255,255,0.7), 0 2px 10px rgba(56,42,29,0.035);
}

.dm-nav-bar .wp-block-navigation-item__content::after {
  height: 1px;
  background: var(--dm-rust);
}

.dm-edition-heading {
  background-color: var(--dm-cream);
  background-image:
    radial-gradient(circle at 86% 0%, rgba(198,99,73,0.14), transparent 36%),
    radial-gradient(circle at 8% 110%, rgba(217,182,90,0.17), transparent 40%),
    var(--dm-texture-paper),
    linear-gradient(135deg, #f6f0e5, #ebe1d2);
  background-size: auto, auto, 680px 680px, auto;
  background-blend-mode: normal, normal, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.72), inset 0 -1px rgba(82,64,46,0.09);
}

.dm-edition-heading::after {
  border-width: clamp(5px, 0.7vw, 10px);
  border-color: rgba(198,99,73,0.48);
  opacity: 1;
  box-shadow:
    0 0 0 clamp(14px, 2.2vw, 34px) rgba(198,99,73,0.07),
    0 0 72px rgba(198,99,73,0.13),
    inset 0 0 28px rgba(255,240,210,0.12);
}

.dm-edition-heading-inner > p { color: #5f574d; }

.dm-lead-section {
  padding-bottom: clamp(3.8rem, 6vw, 6rem);
  background-color: var(--dm-white);
  background-image:
    radial-gradient(circle at 12% 8%, rgba(217,182,90,0.055), transparent 32%),
    var(--dm-texture-paper),
    linear-gradient(180deg, #fcf9f3, #f8f3eb);
  background-size: auto, 720px 720px, auto;
  background-blend-mode: normal, soft-light, normal;
}

.dm-lead-side { gap: 1.75rem; }

.dm-story-image,
.dm-side-image,
.dm-need-panel figure,
.dm-room-card {
  border-radius: 4px;
  outline: 1px solid rgba(61,47,35,0.16);
  outline-offset: -1px;
  box-shadow: 0 3px 9px rgba(54,38,26,0.08), 0 22px 58px rgba(54,38,26,0.11);
}

.dm-story-image,
.dm-side-image,
.dm-need-panel figure { overflow: hidden; }

.dm-story-image img,
.dm-side-image img,
.dm-need-panel figure img {
  border-radius: inherit;
  filter: saturate(0.96) contrast(0.985) brightness(1.01);
}

.dm-lead-copy {
  border: 1px solid rgba(93,69,43,0.16);
  border-bottom: 4px solid var(--dm-coral);
  border-radius: 4px;
  background-color: var(--dm-butter);
  background-image:
    radial-gradient(circle at 88% 4%, rgba(255,243,198,0.5), transparent 34%),
    var(--dm-texture-pigment),
    linear-gradient(135deg, #e0bd63, #d5ae50);
  background-size: auto, 520px 520px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow:
    inset 0 2px rgba(255,255,255,0.25),
    0 4px 12px rgba(53,35,24,0.08),
    0 25px 58px rgba(53,35,24,0.15);
}

.dm-side-story { border-bottom-color: rgba(32,29,24,0.22); }

.dm-image-note {
  border: 1px solid rgba(52,41,30,0.12);
  border-radius: 2px;
  background: rgba(252,248,241,0.86);
  box-shadow: 0 5px 16px rgba(43,31,22,0.1);
  backdrop-filter: blur(5px);
}

.dm-problem-rail {
  background-color: var(--dm-white);
  background-image: var(--dm-texture-paper);
  background-size: 620px 620px;
  background-blend-mode: soft-light;
}

.dm-problem-rail .dm-shell { border-color: rgba(32,29,24,0.17); }
.dm-problem-rail a span {
  background-color: var(--dm-blush);
  background-image: var(--dm-texture-pigment);
  background-size: 180px 180px;
  background-blend-mode: soft-light;
}

.dm-life-strip {
  border-bottom-color: rgba(32,29,24,0.25);
  color: var(--dm-white);
  background-color: var(--dm-coral);
  background-image:
    radial-gradient(circle at 15% 50%, rgba(255,213,177,0.22), transparent 26%),
    var(--dm-texture-pigment),
    linear-gradient(100deg, #b6503a, #8f3c2c 58%, #b85c43);
  background-size: auto, 520px 520px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.14), inset 0 -1px rgba(38,19,13,0.18);
}

.dm-room-needs {
  padding: clamp(4.4rem, 7vw, 7.25rem) 0;
  background-color: #f0e4de;
  background-image:
    radial-gradient(circle at 78% 34%, rgba(252,248,241,0.82), transparent 36%),
    radial-gradient(circle at 10% 100%, rgba(198,99,73,0.08), transparent 38%),
    var(--dm-texture-paper),
    linear-gradient(145deg, #f2e8e2, #eadbd4);
  background-size: auto, auto, 680px 680px, auto;
  background-blend-mode: normal, normal, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.55), inset 0 -1px rgba(80,55,42,0.1);
}

.dm-need-controls button {
  border-color: rgba(32,29,24,0.32);
  background: rgba(252,248,241,0.62);
  box-shadow: inset 0 1px rgba(255,255,255,0.72), 0 5px 15px rgba(60,43,32,0.055);
}

.dm-need-controls button[aria-selected="true"] {
  color: var(--dm-white);
  background-color: var(--dm-forest);
  background-image: var(--dm-texture-dark), linear-gradient(145deg, #2b4137, #1d2f28);
  background-size: 280px 280px, auto;
  background-blend-mode: soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.11), 0 8px 20px rgba(27,42,35,0.16);
}

.dm-room-needs button:focus-visible,
.dm-room-section a:focus-visible { outline-color: var(--dm-ink); }

.dm-need-panels { border-top-color: rgba(32,29,24,0.22); }

.dm-need-panel figure img {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14);
}

.dm-room-section {
  position: relative;
  overflow: hidden;
  padding: clamp(4.4rem, 7vw, 7.25rem) 0;
  background-color: var(--dm-butter);
  background-image:
    radial-gradient(circle at 10% 5%, rgba(255,245,207,0.48), transparent 34%),
    radial-gradient(circle at 90% 105%, rgba(153,65,44,0.13), transparent 36%),
    var(--dm-texture-pigment),
    linear-gradient(135deg, #dfc06a, #d1a84e);
  background-size: auto, auto, 620px 620px, auto;
  background-blend-mode: screen, multiply, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.28), inset 0 -1px rgba(77,53,26,0.14);
}

.dm-room-section::before,
.dm-visual-library::before {
  position: absolute;
  width: clamp(190px, 28vw, 430px);
  aspect-ratio: 1;
  border: 1px solid rgba(32,29,24,0.19);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.dm-room-section::before {
  top: -18vw;
  left: -10vw;
  box-shadow: 0 0 0 24px rgba(255,246,216,0.06), 0 0 90px rgba(255,235,182,0.15);
}

.dm-room-section > .dm-shell,
.dm-visual-library > .dm-shell { position: relative; z-index: 1; }
.dm-room-section .dm-section-head > p { color: #554c40; }
.dm-room-mosaic { gap: 0.75rem; }

.dm-room-card {
  background-color: var(--dm-forest);
  background-image:
    radial-gradient(circle at 30% 15%, rgba(179,138,77,0.13), transparent 40%),
    var(--dm-texture-dark),
    linear-gradient(145deg, #294037, #1d3028);
  background-size: auto, 520px 520px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: 0 4px 13px rgba(55,40,22,0.12), 0 24px 54px rgba(55,40,22,0.16);
}

.dm-room-card::after {
  inset: 28% 0 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(14,25,20,0.18) 28%, rgba(12,19,15,0.92) 100%);
}

.dm-room-card > span { color: #efd98d; }

.dm-useful-edit {
  padding: clamp(4.4rem, 7vw, 6.8rem) 0;
  background-color: var(--dm-forest);
  background-image:
    radial-gradient(circle at 18% 22%, rgba(214,157,82,0.18), transparent 38%),
    radial-gradient(circle at 84% 82%, rgba(101,118,147,0.08), transparent 32%),
    var(--dm-texture-dark),
    linear-gradient(145deg, #2a3b33, #1d2d27 72%, #17251f);
  background-size: auto, auto, 720px 720px, auto;
  background-blend-mode: screen, screen, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.06), inset 0 -1px rgba(0,0,0,0.24);
}

.dm-edit-scene img {
  border-radius: 4px;
  outline: 1px solid rgba(252,248,241,0.13);
  outline-offset: -1px;
  filter: saturate(0.92) contrast(0.99) brightness(1.02);
  box-shadow: 0 5px 16px rgba(5,10,7,0.23), 0 34px 84px rgba(5,10,7,0.3);
}

.dm-edit-list,
.dm-edit-list li { border-color: rgba(255,255,255,0.17); }

.dm-visual-library {
  position: relative;
  overflow: hidden;
  padding: clamp(4.4rem, 7vw, 7.25rem) 0;
  background-color: var(--dm-blush);
  background-image:
    radial-gradient(circle at 84% 7%, rgba(252,248,241,0.62), transparent 34%),
    radial-gradient(circle at 12% 88%, rgba(198,99,73,0.08), transparent 34%),
    var(--dm-texture-pigment),
    linear-gradient(135deg, #ead5cb, #ddbeb4);
  background-size: auto, auto, 640px 640px, auto;
  background-blend-mode: screen, multiply, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.38), inset 0 -1px rgba(91,54,42,0.1);
}

.dm-visual-library::before {
  top: 10%;
  right: -13vw;
  border-color: rgba(153,65,44,0.15);
  box-shadow: 0 0 0 26px rgba(252,248,241,0.055), 0 0 100px rgba(255,234,212,0.18);
}

.dm-library-grid { gap: clamp(1rem, 1.8vw, 1.75rem); }
.dm-library-card--declutter { margin-top: 3.25rem; }
.dm-library-card--habits { margin-top: 2rem; }

.dm-library-card img {
  border: 1px solid rgba(63,44,34,0.12);
  border-radius: 2px;
  background: var(--dm-white);
  box-shadow:
    0 2px 5px rgba(48,34,27,0.055),
    0 17px 34px rgba(48,34,27,0.1),
    0 34px 68px rgba(48,34,27,0.08);
}

.dm-library-card figcaption { padding-top: 0.8rem; }

.dm-weekend {
  padding: clamp(4.2rem, 6.4vw, 6.4rem) 0;
  border-bottom-color: rgba(32,29,24,0.16);
  background-color: var(--dm-white);
  background-image:
    radial-gradient(circle at 50% 42%, rgba(217,182,90,0.065), transparent 38%),
    var(--dm-texture-paper),
    linear-gradient(180deg, #fcf9f3, #f8f3eb);
  background-size: auto, 680px 680px, auto;
  background-blend-mode: normal, soft-light, normal;
}

.dm-weekend-grid { border-top-color: rgba(32,29,24,0.22); }
.dm-weekend-grid a {
  border-right-color: rgba(32,29,24,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.18), rgba(246,241,232,0.2));
}

.dm-trust {
  background-color: var(--dm-ink);
  background-image:
    radial-gradient(circle at 20% 50%, rgba(179,138,77,0.12), transparent 34%),
    var(--dm-texture-dark),
    linear-gradient(110deg, #1b231f, #21372e 70%, #17231e);
  background-size: auto, 680px 680px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.055), inset 0 -1px rgba(0,0,0,0.28);
}

.dm-article-image img,
.dm-next-image {
  border-radius: 4px;
  outline: 1px solid rgba(58,43,31,0.14);
  outline-offset: -1px;
  box-shadow: 0 4px 13px rgba(52,37,25,0.08), 0 26px 64px rgba(52,37,25,0.13);
}

.dm-pin-guide {
  border: 1px solid rgba(73,53,38,0.14);
  border-radius: 4px;
  background-color: var(--dm-cream);
  background-image:
    radial-gradient(circle at 8% 10%, rgba(255,249,225,0.5), transparent 32%),
    var(--dm-texture-pigment),
    linear-gradient(145deg, #efe5d5, #e6d8c5);
  background-size: auto, 560px 560px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: inset 0 2px rgba(255,255,255,0.3), 0 26px 70px rgba(51,36,25,0.11);
}

.dm-pin-guide img {
  border: 1px solid rgba(62,45,34,0.12);
  border-radius: 2px;
  box-shadow: 0 4px 12px rgba(52,35,26,0.08), 0 20px 48px rgba(52,35,26,0.12);
}

.dm-article-content blockquote,
.dm-callout,
.dm-sources {
  border-color: rgba(153,65,44,0.7);
  border-radius: 3px;
  background-color: var(--dm-soft);
  background-image: var(--dm-texture-paper), linear-gradient(145deg, #efe7dc, #e6ddd1);
  background-size: 520px 520px, auto;
  background-blend-mode: soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.48), 0 12px 30px rgba(50,36,25,0.055);
}

.dm-checklist,
.dm-after-article {
  border-radius: 4px;
  background-color: var(--dm-forest);
  background-image:
    radial-gradient(circle at 18% 12%, rgba(179,138,77,0.12), transparent 35%),
    var(--dm-texture-dark),
    linear-gradient(145deg, #293d33, #1d2f28);
  background-size: auto, 560px 560px, auto;
  background-blend-mode: screen, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.07), 0 20px 52px rgba(18,27,23,0.13);
}

.dm-summary-table table {
  background-color: var(--dm-white);
  background-image: var(--dm-texture-paper);
  background-size: 520px 520px;
  background-blend-mode: soft-light;
  box-shadow: 0 15px 42px rgba(50,36,25,0.075);
}

.dm-site-footer {
  position: relative;
  overflow: hidden;
  color: var(--dm-ink);
  background-color: var(--dm-coral);
  background-image:
    radial-gradient(45% 90% at 86% 10%, rgba(255,211,158,0.28), transparent 68%),
    radial-gradient(circle at 2% 100%, rgba(110,43,31,0.16), transparent 36%),
    var(--dm-texture-pigment),
    linear-gradient(150deg, #ca6b50, #b6533e 68%, #a94735);
  background-size: auto, auto, 620px 620px, auto;
  background-blend-mode: screen, multiply, soft-light, normal;
  box-shadow: inset 0 1px rgba(255,255,255,0.18);
}

.dm-footer-wordmark,
.dm-footer-grid h2,
.dm-footer-grid a { color: var(--dm-ink); }
.dm-footer-lead,
.dm-footer-lower { border-color: rgba(32,29,24,0.29); }
.dm-footer-lead > div > p:last-child,
.dm-footer-note,
.dm-footer-lower { color: rgba(32,29,24,0.82); }

/* Generated material washes are intentionally continuous, never visibly tiled. */
.dm-topline,
.dm-monogram,
.dm-edition-heading,
.dm-lead-section,
.dm-lead-copy,
.dm-life-strip,
.dm-room-needs,
.dm-need-controls button[aria-selected="true"],
.dm-room-section,
.dm-room-card,
.dm-useful-edit,
.dm-visual-library,
.dm-weekend,
.dm-trust,
.dm-pin-guide,
.dm-article-content blockquote,
.dm-callout,
.dm-sources,
.dm-checklist,
.dm-after-article,
.dm-site-footer { background-repeat: no-repeat; }

.dm-topline,
.dm-monogram,
.dm-lead-section,
.dm-lead-copy,
.dm-life-strip,
.dm-need-controls button[aria-selected="true"],
.dm-room-card,
.dm-weekend,
.dm-trust,
.dm-pin-guide,
.dm-checklist,
.dm-after-article { background-size: auto, cover, auto; }

.dm-edition-heading,
.dm-room-needs,
.dm-room-section,
.dm-useful-edit,
.dm-visual-library,
.dm-site-footer { background-size: auto, auto, cover, auto; }

.dm-article-content blockquote,
.dm-callout,
.dm-sources { background-size: cover, auto; }

.dm-need-controls button[aria-selected="true"] { background-size: cover, auto; }

@media (hover: hover) and (pointer: fine) {
  .dm-story-image,
  .dm-side-image,
  .dm-room-card,
  .dm-library-card img,
  .dm-edit-scene img {
    transition: transform 420ms cubic-bezier(.2,.75,.2,1), box-shadow 420ms ease, filter 420ms ease;
  }

  .dm-room-card:hover,
  .dm-room-card:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 7px 18px rgba(55,40,22,0.14), 0 30px 66px rgba(55,40,22,0.2);
  }

  .dm-library-card:hover img {
    box-shadow: 0 5px 12px rgba(48,34,27,0.08), 0 25px 60px rgba(48,34,27,0.17);
  }
}

@media (max-width: 782px) {
  .dm-room-needs,
  .dm-room-section,
  .dm-visual-library { padding: 3.9rem 0; }
  .dm-useful-edit { padding: 4rem 0; }
  .dm-weekend { padding: 3.9rem 0; }
  .dm-edition-heading::after { border-width: 4px; }
  .dm-lead-copy { border-bottom-width: 3px; }
  .dm-story-image,
  .dm-side-image,
  .dm-need-panel figure,
  .dm-room-card { box-shadow: 0 3px 10px rgba(54,38,26,0.08), 0 16px 38px rgba(54,38,26,0.1); }
  .dm-room-section::before { top: -5rem; left: -7rem; }
  .dm-visual-library::before { right: -8rem; }
  .dm-problem-rail .dm-shell,
  .dm-lead-side,
  .dm-need-controls,
  .dm-room-mosaic,
  .dm-library-grid,
  .dm-weekend-grid {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .dm-problem-rail .dm-shell::-webkit-scrollbar,
  .dm-lead-side::-webkit-scrollbar,
  .dm-need-controls::-webkit-scrollbar,
  .dm-room-mosaic::-webkit-scrollbar,
  .dm-library-grid::-webkit-scrollbar,
  .dm-weekend-grid::-webkit-scrollbar { display: none; }
}

/* v4.2 visitor-experience hardening. */
.dm-feature-title {
  max-width: 800px;
  margin: 0 0 0.8rem;
  font-size: clamp(2.6rem, 4.35vw, 4.65rem);
  font-weight: 550;
  letter-spacing: -0.045em;
  line-height: 0.96;
}

.dm-feature-title a,
.dm-side-story h2 a { color: var(--dm-ink); text-decoration: none; }
.dm-feature-title a:hover,
.dm-side-story h2 a:hover { color: var(--dm-rust); }

:where(a, button, input, textarea, select, summary):focus-visible,
.dm-summary-table:focus-visible,
[data-dm-scroll-rail]:focus-visible {
  outline: 3px solid var(--dm-ink);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(252,248,241,0.96);
}

.dm-useful-edit :where(a, button):focus-visible,
.dm-trust :where(a, button):focus-visible,
.dm-room-card:focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 6px rgba(32,29,24,0.88);
}

.dm-lead-copy .dm-story-meta { color: #4f4436; }
.dm-lead-copy .dm-story-meta span:first-child { color: #6f2b1d; }
.dm-visual-library .dm-section-head > p { color: #514840; }
.dm-weekend-grid span { color: var(--dm-rust); }
.dm-useful-edit .dm-kicker,
.dm-edit-list li > span,
.dm-trust .dm-kicker,
.dm-checklist a,
.dm-after-article .dm-kicker { color: #dfc679; }
.dm-room-card > span { color: #f4df97; }

.dm-life-strip { position: relative; }
.dm-life-track { padding-right: 7rem; }
.dm-life-track.is-paused { animation-play-state: paused; }
.dm-life-toggle {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 0.7rem;
  min-width: 72px;
  min-height: 44px;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(32,29,24,0.34);
  border-radius: 999px;
  color: var(--dm-ink);
  background: rgba(252,248,241,0.96);
  font: 700 0.76rem/1 var(--dm-sans);
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 5px 18px rgba(32,29,24,0.18);
}

.dm-library-grid--three .dm-library-card--small {
  grid-column: 3 / span 8;
  margin-top: 0.8rem;
}

.dm-summary-table {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.dm-topline a,
.dm-nav-about a,
.dm-read-link,
.dm-footer-grid a,
.wp-block-post-excerpt__more-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.dm-footer-grid a { padding-block: 0.55rem; }

.dm-site-footer {
  background-color: #d58f78;
  background-image:
    radial-gradient(45% 90% at 86% 10%, rgba(255,239,213,0.34), transparent 68%),
    radial-gradient(circle at 2% 100%, rgba(126,48,34,0.11), transparent 36%),
    var(--dm-texture-pigment),
    linear-gradient(150deg, #e3ac98, #d58f78 68%, #c97b64);
}
.dm-footer-wordmark,
.dm-footer-grid h2,
.dm-footer-grid a,
.dm-footer-lead > div > p:last-child,
.dm-footer-note,
.dm-footer-lower { color: var(--dm-ink); }

@media (max-width: 782px) {
  .dm-brand-row {
    min-height: 0;
    flex-wrap: wrap !important;
    padding-block: 0.75rem 1rem;
  }
  .dm-brand-tools {
    width: 100%;
    flex: 1 0 100%;
    gap: 0;
  }
  .dm-brand-tools .dm-edition { display: none; }
  .dm-header-search { width: 100%; flex: 1 1 100%; }
  .dm-header-search .wp-block-search__inside-wrapper {
    min-height: 48px;
    padding-left: 0.85rem;
    border: 1px solid var(--dm-line);
  }
  .dm-header-search .wp-block-search__input {
    width: 100%;
    min-width: 0;
    padding: 0.5rem 0;
    opacity: 1;
  }
  .dm-header-search .wp-block-search__button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    border: 0;
    border-left: 1px solid var(--dm-line);
  }
  .dm-topline-inner { min-height: 44px; }
  .dm-nav-bar .wp-block-navigation__responsive-container-open {
    min-width: 44px;
    min-height: 44px;
    padding: 0.55rem 0.65rem;
  }
  .dm-feature-title { font-size: clamp(2.45rem, 11.5vw, 3.7rem); }
  .dm-library-grid--three .dm-library-card--small { grid-column: auto; margin-top: 0; }
  .dm-summary-table table { display: table; width: 100%; min-width: 760px; }
  .dm-summary-table--wide table { min-width: 980px; }
  .dm-summary-table thead { display: table-header-group; }
  .dm-summary-table tbody { display: table-row-group; }
  .dm-summary-table tr { display: table-row; width: auto; margin: 0; border: 0; }
  .dm-summary-table th,
  .dm-summary-table td { display: table-cell; width: auto; }
  .dm-summary-table td::before { display: none; content: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .dm-life-toggle { display: none; }
}
