/* Dealsmaster full rebuild prototype — visual layer only. */
:root {
  --rb-paper: #f6f0e7;
  --rb-paper-2: #fffaf2;
  --rb-ink: #24231f;
  --rb-muted: #69665d;
  --rb-line: rgba(36,35,31,.16);
  --rb-red: #d94b36;
  --rb-red-dark: #9f2f22;
  --rb-moss: #53634b;
  --rb-butter: #f4c95d;
  --rb-blue: #526d82;
  --rb-shadow: 0 18px 55px rgba(61,46,31,.12);
  --rb-radius: 1.35rem;
  --rb-width: 92rem;
}

html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at 8% 2%, rgba(244,201,93,.16), transparent 24rem),
    linear-gradient(180deg, var(--rb-paper-2), var(--rb-paper) 52rem);
  color: var(--rb-ink);
  font-family: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  line-height: 1.68;
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}
a { text-underline-offset: .18em; text-decoration-thickness: .08em; }
:focus-visible { outline: 3px solid var(--rb-red); outline-offset: 4px; border-radius: .25rem; }
h1,h2,h3,h4,.wp-block-post-title { font-family: Fraunces, Georgia, serif; letter-spacing: -.035em; line-height: 1.03; text-wrap: balance; }
p { text-wrap: pretty; }
img { border-radius: .9rem; }

/* Masthead */
header.wp-block-template-part, body > header {
  position: relative; z-index: 40; width: min(calc(100% - 2rem), var(--rb-width)); margin: .85rem auto 0;
  border: 1px solid var(--rb-line); border-radius: 1.2rem; background: rgba(255,250,242,.9);
  box-shadow: 0 8px 30px rgba(61,46,31,.07); backdrop-filter: blur(18px) saturate(1.2);
}
header .dm-header-shell { padding: .7rem clamp(.8rem,2vw,1.4rem); }
header a { color: inherit; text-decoration: none; }
header [aria-label="Dealsmaster home"] strong { font-family: Fraunces, Georgia, serif; font-size: clamp(1.35rem,2.2vw,2rem); letter-spacing: -.05em; }
header button, header input, header .wp-element-button { min-height: 2.75rem; border-radius: 999px !important; }
header nav[aria-label="Explore Dealsmaster"] { border-top: 1px solid var(--rb-line); }
header nav[aria-label="Explore Dealsmaster"] button { background: transparent; transition: background .25s, color .25s, transform .25s; }
header nav[aria-label="Explore Dealsmaster"] button:hover { background: var(--rb-ink); color: var(--rb-paper-2); transform: translateY(-1px); }

/* Homepage: warm magazine composition */
.home main, .dm-home-rebuild { overflow: clip; }
.dm-home-rebuild > section { width: min(calc(100% - 2rem), var(--rb-width)); margin-inline: auto; }
.dm-home-rebuild__hero {
  min-height: min(78vh, 54rem); margin-top: 1rem !important; padding: clamp(1.4rem,4vw,4.8rem) !important;
  border-radius: clamp(1.5rem,3vw,3rem); background: var(--rb-ink); color: #fff8ee; box-shadow: var(--rb-shadow);
}
.dm-home-rebuild__hero h1 { font-size: clamp(3.1rem,7.4vw,7.7rem); max-width: 11ch; }
.dm-home-rebuild__hero h1,.dm-home-rebuild__hero h2,.dm-home-rebuild__hero h3,.dm-home-rebuild__hero p { color:#fff8ee !important; }
.dm-home-rebuild__hero a:not(.wp-element-button) { color:var(--rb-butter) !important; }
.dm-home-rebuild__hero figure { transform: rotate(1.4deg); box-shadow: 0 22px 60px rgba(0,0,0,.32); }
.dm-home-rebuild__hero img { min-height: 28rem; object-fit: cover; }
.dm-home-rebuild__hero .wp-element-button, .dm-home-rebuild__hero a[class*="button"] { background: var(--rb-butter); color: #27251f; border: 0; border-radius: 999px; padding: .9rem 1.25rem; font-weight: 750; }
.dm-home-rebuild__hero a.dm-home-rebuild__button { color:#27251f !important; }
.dm-home-rebuild__pressure { padding-block: clamp(4rem,8vw,8rem); }
.dm-home-rebuild__pressure h2, .dm-home-rebuild__desk h2, .dm-home-rebuild__energy h2, .dm-home-rebuild__rooms h2, .dm-home-rebuild__rule h2 { font-size: clamp(2.5rem,5.4vw,5.4rem); max-width: 14ch; }
.dm-home-rebuild__pressure-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; margin-top:2.4rem; }
.dm-home-rebuild__pressure-card { grid-column:span 6; min-height:19rem; padding:clamp(1.3rem,3vw,2.4rem); border:1px solid var(--rb-line); border-radius:var(--rb-radius); background:rgba(255,250,242,.74); color:inherit; text-decoration:none; box-shadow:0 10px 30px rgba(61,46,31,.06); transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, background .35s; }
.dm-home-rebuild__pressure-card:nth-child(2), .dm-home-rebuild__pressure-card:nth-child(4) { transform:translateY(2rem); }
.dm-home-rebuild__pressure-card:hover { transform:translateY(-.5rem) rotate(-.35deg); background:#fffaf2; box-shadow:var(--rb-shadow); }
.dm-home-rebuild__pressure-card:nth-child(2):hover,.dm-home-rebuild__pressure-card:nth-child(4):hover { transform:translateY(1.3rem) rotate(.35deg); }
.dm-home-rebuild__pressure-card h3 { font-size:clamp(1.8rem,3vw,3rem); }
.dm-home-rebuild__number { color:var(--rb-red); font-weight:800; }
.dm-home-rebuild__desk { padding:clamp(3rem,7vw,7rem); border-radius:2rem; background:#dce4d7; }
.dm-home-rebuild__desk-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.dm-home-rebuild__desk article { grid-column:span 4; border-radius:var(--rb-radius); background:var(--rb-paper-2); overflow:hidden; box-shadow:0 10px 35px rgba(43,57,42,.1); transition:transform .35s; }
.dm-home-rebuild__desk article:nth-child(2){transform:translateY(1.8rem)}
.dm-home-rebuild__desk article:hover{transform:translateY(-.45rem) rotate(-.3deg)}
.dm-home-rebuild__desk article:nth-child(2):hover{transform:translateY(1.1rem) rotate(.3deg)}
.dm-home-rebuild__desk article img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.dm-home-rebuild__pace { margin-block:clamp(4rem,8vw,8rem) !important; padding:clamp(1rem,3vw,2rem); }
.dm-home-rebuild__pace-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:clamp(1rem,3vw,2.2rem); }
.dm-home-rebuild__pace article { border:1px solid var(--rb-line); border-radius:2rem; overflow:hidden; background:var(--rb-paper-2); }
.dm-home-rebuild__pace article img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0}
.dm-home-rebuild__rooms { padding:clamp(3rem,7vw,7rem); border-radius:2rem; background:#506a79; color:#fffaf2; }
.dm-home-rebuild__rooms a { color:inherit; border-color:rgba(255,255,255,.24); }
.dm-home-rebuild__closing { margin-block:1.25rem 4rem !important; padding:clamp(4rem,9vw,9rem) clamp(1.5rem,5vw,6rem); border-radius:2rem; background:#e56d52; color:#211f1b; }

/* Article frame */
.single main { width:min(calc(100% - 2rem),var(--rb-width)); margin:0 auto 5rem; }
.single main > .wp-block-group:first-child, .single .dm-article-hero { margin-top:1rem; border-radius:2rem; overflow:hidden; }
.single h1 { font-size:clamp(3rem,6.6vw,7rem); max-width:13ch; }
.single main > figure:first-of-type img, .single .dm-article-hero img { width:100%; max-height:46rem; object-fit:cover; }
.single article { font-size:clamp(1.05rem,1.3vw,1.22rem); }
.single article > p, .single article > h2, .single article > h3, .single article > ul, .single article > ol { max-width:46rem; margin-inline:auto; }
.single article > h2 { margin-top:clamp(4rem,8vw,8rem); font-size:clamp(2.4rem,5vw,4.6rem); color:var(--rb-ink); }
.single article > h3 { margin-top:3.2rem; font-size:clamp(1.8rem,3vw,2.8rem); }
.single article > p:first-of-type { font-size:clamp(1.2rem,1.8vw,1.5rem); }
.single article blockquote { max-width:58rem; margin:4rem auto; padding:2rem clamp(1.4rem,4vw,4rem); border:0; border-left:.55rem solid var(--rb-red); border-radius:0 var(--rb-radius) var(--rb-radius) 0; background:#f1dfc6; font-family:Fraunces,serif; font-size:clamp(1.35rem,2.4vw,2rem); }
.single article figure, .single article .dm-visual, .single article [class*="visual"] { max-width:68rem; margin:clamp(2.5rem,6vw,5.5rem) auto; }
.single article figure img { width:100%; box-shadow:var(--rb-shadow); }
.single article figcaption { max-width:44rem; margin:.8rem auto 0; color:var(--rb-muted); font-size:.92rem; }
.single article table { border-collapse:separate; border-spacing:0; width:100%; overflow:hidden; border:1px solid var(--rb-line); border-radius:1rem; background:var(--rb-paper-2); }
.single article th { background:var(--rb-ink); color:#fffaf2; }
.single article th,.single article td{padding:.8rem 1rem;border:0;border-bottom:1px solid var(--rb-line);text-align:left;vertical-align:top}
.single aside[aria-label="In this guide"], .single .dm-guide-companion { border:1px solid var(--rb-line); border-radius:1.2rem; background:rgba(255,250,242,.9); box-shadow:0 10px 30px rgba(61,46,31,.08); }

/* Cards, archives and search */
.archive main,.search main,.blog main,.page main { width:min(calc(100% - 2rem),var(--rb-width));margin:2rem auto 5rem; }
.wp-block-query .wp-block-post-template { gap:1rem; }
.wp-block-query .wp-block-post { border:1px solid var(--rb-line);border-radius:var(--rb-radius);background:var(--rb-paper-2);overflow:hidden;box-shadow:0 8px 25px rgba(61,46,31,.06);transition:transform .3s,box-shadow .3s; }
.wp-block-query .wp-block-post:hover{transform:translateY(-.35rem);box-shadow:var(--rb-shadow)}
.wp-block-query .wp-block-post img{border-radius:0;aspect-ratio:4/3;object-fit:cover}

/* Footer */
footer.wp-block-template-part, body > footer { width:min(calc(100% - 2rem),var(--rb-width));margin:0 auto 1rem;border-radius:2rem;background:#24231f;color:#f8f0e4;overflow:hidden; }
footer a{color:#f8f0e4;text-decoration-color:rgba(248,240,228,.45)}
footer h2{color:var(--rb-butter)}
footer img{filter:saturate(.8) contrast(1.03);}

/* --------------------------------------------------------------------------
   Guide directory: restore the missing card foundation without importing the
   retired site-wide stylesheet. The directory markup depends on those image
   and typography constraints; without them, source-size images expand each
   card and the H1 inherits body text sizing.
   -------------------------------------------------------------------------- */
.page .dm-guide-directory__header {
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .72fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: end;
  padding-block: clamp(3rem, 6vw, 5.5rem) clamp(2.25rem, 4vw, 3.5rem);
}

.page .dm-guide-directory__header h1 {
  width: auto;
  max-width: 12ch;
  margin: .35rem 0 0;
  color: var(--dm-nav-ink, #211d18);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(3.4rem, 6.4vw, 6.5rem);
  font-weight: 560;
  line-height: .92;
  letter-spacing: -.055em;
}

.page .dm-guide-directory__header > p {
  max-width: 42ch;
  margin: 0;
  color: var(--dm-nav-muted, #65594e);
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.62;
}

.page .dm-guide-directory .dm-finder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.3rem, 2.5vw, 2rem);
  align-items: stretch;
}

.page .dm-guide-directory .dm-finder-card:nth-child(n) {
  min-width: 0;
  grid-column: auto;
}

.page .dm-guide-directory .dm-experience-card {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(43, 54, 45, .14);
  border-radius: .35rem 1.4rem .35rem .35rem;
  background: rgba(255, 251, 244, .94);
  box-shadow: 0 14px 38px rgba(55, 39, 26, .07);
}

.page .dm-guide-directory .dm-finder-card:nth-child(n) .dm-experience-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e8ddce;
}

.page .dm-guide-directory .dm-experience-card__media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover;
}

.page .dm-guide-directory .dm-experience-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 1rem 1.05rem 1.2rem;
}

.page .dm-guide-directory .dm-experience-card h3 {
  margin: .35rem 0 .65rem;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.page .dm-guide-directory .dm-experience-card__body > p:not(.dm-story-meta) {
  margin: 0 0 1rem;
  color: var(--dm-nav-muted, #65594e);
  line-height: 1.55;
}

.page .dm-guide-directory .dm-experience-card__body > .dm-read-link {
  margin-top: auto;
}

@media (max-width: 960px) {
  .page .dm-guide-directory .dm-finder-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page .dm-guide-directory__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }
}

@media (max-width: 620px) {
  .page .dm-guide-directory__header h1 {
    max-width: 10ch;
    font-size: clamp(3rem, 15vw, 4.5rem);
    line-height: .94;
  }

  .page .dm-guide-directory .dm-finder-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.1rem;
  }

  .page .dm-guide-directory .dm-experience-card h3 {
    font-size: clamp(1.55rem, 7.5vw, 2.1rem);
  }
}

/* Humane motion */
.dm-rebuild-preview main section,.dm-rebuild-preview main article,.dm-rebuild-preview .dm-visual { opacity:0;transform:translateY(1.2rem);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }
.dm-rebuild-preview .dm-rb-seen{opacity:1;transform:none}

/* Dark edition */
html[data-dm-theme="dark"] { --rb-paper:#171916;--rb-paper-2:#20231f;--rb-ink:#f2ebdf;--rb-muted:#bdb7aa;--rb-line:rgba(244,238,226,.17);--rb-shadow:0 20px 60px rgba(0,0,0,.36); }
html[data-dm-theme="dark"] body{background:radial-gradient(circle at 10% 0,rgba(190,120,70,.14),transparent 28rem),#171916;color:var(--rb-ink)}
html[data-dm-theme="dark"] header.wp-block-template-part,html[data-dm-theme="dark"] body>header{background:rgba(32,35,31,.92)}
html[data-dm-theme="dark"] .dm-home-rebuild__desk{background:#28352b}
html[data-dm-theme="dark"] .dm-home-rebuild__hero{background:radial-gradient(circle at 85% 8%,rgba(244,201,93,.11),transparent 24rem),#20231f}
html[data-dm-theme="dark"] .dm-home-rebuild__closing{background:#9f4939;color:#fff7ec}
html[data-dm-theme="dark"] .single article blockquote{background:#322a22;color:#f7eee1}
html[data-dm-theme="dark"] .single article>h2{color:var(--rb-ink)}

@media (max-width: 900px){
  .dm-home-rebuild__desk-grid{grid-template-columns:1fr 1fr}.dm-home-rebuild__desk article{grid-column:auto}.dm-home-rebuild__desk article:last-child{grid-column:1/-1}.dm-home-rebuild__pace-grid{grid-template-columns:1fr}
  .single aside[aria-label="In this guide"],.single .dm-guide-companion{position:relative!important;top:auto!important;max-height:none!important}
}
@media (max-width: 680px){
  header.wp-block-template-part,body>header,.dm-home-rebuild>section,.single main,.archive main,.search main,.blog main,.page main,footer.wp-block-template-part,body>footer{width:min(calc(100% - 1rem),var(--rb-width))}
  .dm-home-rebuild__hero{min-height:auto;padding:1.25rem!important}.dm-home-rebuild__hero h1{font-size:clamp(2.65rem,13vw,4.2rem)}.dm-home-rebuild__hero img{min-height:20rem}
  .dm-home-rebuild__pressure-grid,.dm-home-rebuild__desk-grid{display:grid;grid-template-columns:1fr}.dm-home-rebuild__pressure-card,.dm-home-rebuild__desk article,.dm-home-rebuild__desk article:last-child{grid-column:auto;transform:none!important;min-height:0}
  .dm-home-rebuild__desk,.dm-home-rebuild__rooms,.dm-home-rebuild__closing{padding:2rem 1rem;border-radius:1.25rem}
  .single h1{font-size:clamp(2.7rem,12vw,4.4rem)}.single article{font-size:1.05rem}.single article>h2{margin-top:4.5rem;font-size:clamp(2.25rem,10vw,3.5rem)}
  .single article table{display:block;overflow-x:auto;scrollbar-width:thin}.single article th,.single article td{min-width:9rem}
  footer.wp-block-template-part,body>footer{border-radius:1.25rem}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.dm-rebuild-preview main section,.dm-rebuild-preview main article,.dm-rebuild-preview .dm-visual{opacity:1;transform:none;transition:none!important}.dm-home-rebuild__pressure-card,.wp-block-query .wp-block-post{transition:none!important}}

/* v6.0.1 — composed desktop proportions and a genuinely compact footer. */
@media (min-width: 901px) {
  .dm-site-header .dm-brand-row {
    display: grid !important;
    grid-template-columns: minmax(15rem, 1fr) auto minmax(18rem, 1fr) !important;
    gap: clamp(1rem, 2vw, 2rem) !important;
    align-items: center !important;
    min-height: 0 !important;
    padding-block: .7rem !important;
  }
  .dm-site-header .dm-brand-lockup,
  .dm-site-header .dm-brand-tools { width: auto !important; min-width: 0 !important; }
  .dm-site-header .dm-header-desk { justify-self: center; }
  .dm-site-header .dm-brand-tools {
    display: grid !important;
    grid-template-columns: auto minmax(14rem, 22rem) !important;
    justify-self: end;
    gap: .7rem !important;
  }
  .dm-site-header .dm-header-search { width: 100% !important; min-width: 0 !important; }

  .dm-home-rebuild__hero {
    min-height: 0;
    padding: clamp(2.5rem, 4vw, 4.25rem) !important;
  }
  .dm-home-rebuild__hero-inner {
    grid-template-columns: minmax(20rem, .9fr) minmax(27rem, 1.1fr);
    gap: clamp(2.5rem, 4.5vw, 4.5rem);
    align-items: center;
  }
  .dm-home-rebuild__hero-copy { height: auto; }
  .dm-home-rebuild__hero h1 {
    max-width: 11.5ch;
    font-size: clamp(3.5rem, 4.9vw, 5.65rem);
    line-height: .94;
  }
  .dm-home-rebuild__hero-figure { align-self: center; }
  .dm-home-rebuild__hero img {
    height: clamp(27rem, 36vw, 35rem);
    min-height: 0;
    object-position: center;
  }

  .dm-home-rebuild__pressure { padding-block: clamp(4rem, 6vw, 6rem); }
  .dm-home-rebuild__pressure-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 0;
  }
  .dm-home-rebuild__pressure-card,
  .dm-home-rebuild__pressure-card:nth-child(2),
  .dm-home-rebuild__pressure-card:nth-child(4) {
    grid-column: auto;
    min-width: 0;
    min-height: 21rem;
    padding: clamp(1.35rem, 2vw, 2rem);
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  .dm-home-rebuild__pressure-card:is(:hover, :focus-visible),
  .dm-home-rebuild__pressure-card:nth-child(2):is(:hover, :focus-visible),
  .dm-home-rebuild__pressure-card:nth-child(4):is(:hover, :focus-visible) { transform: translateY(-.4rem); }

  .dm-home-rebuild__desk { padding: clamp(4rem, 6vw, 6rem); }
  .dm-home-rebuild__feature-grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(20rem, .78fr);
    grid-template-rows: repeat(2, 20rem);
  }
  .dm-home-rebuild__desk article,
  .dm-home-rebuild__desk article:nth-child(2) {
    grid-column: auto;
    margin: 0;
    transform: none;
  }
  .dm-home-rebuild__feature--lead { grid-row: 1 / span 2; }
  .dm-home-rebuild__feature--side { height: 20rem; grid-template-columns: minmax(10rem, .88fr) minmax(13rem, 1.12fr); }
  .dm-home-rebuild__desk article img {
    height: 100%;
    min-height: 100%;
    aspect-ratio: auto;
  }

  .dm-home-rebuild__pace { margin-block: 0 !important; padding-block: clamp(4rem, 6vw, 6rem); }
  .dm-home-rebuild__pace-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-home-rebuild__pace-card { height: 24rem; min-height: 0; grid-template-columns: minmax(12rem, .88fr) minmax(15rem, 1.12fr); grid-template-rows: minmax(0, 1fr); }
  .dm-home-rebuild__pace-media { height: 100%; min-height: 0; }
  .dm-home-rebuild__pace article img { height: 100%; aspect-ratio: auto; }

  .dm-home-rebuild__rooms { padding: clamp(4rem, 6vw, 6rem); }
  .dm-home-rebuild__room-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dm-home-rebuild__closing { margin-bottom: 2rem !important; padding-block: clamp(4rem, 6vw, 6rem); }
}

footer .dm-footer-lead {
  grid-template-columns: minmax(18rem, 1.08fr) minmax(18rem, .92fr) minmax(15rem, .72fr) !important;
  gap: clamp(1.5rem, 3vw, 3rem) !important;
  align-items: center !important;
}
footer .dm-footer-snapshot {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: .55rem .55rem .75rem !important;
  align-self: center !important;
  overflow: hidden;
  border-radius: .9rem 2.4rem .9rem .9rem;
}
footer .dm-footer-snapshot img {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: .6rem 1.9rem .6rem .6rem;
}
footer .dm-footer-snapshot figcaption { margin-top: .6rem; line-height: 1.4; }

@media (max-width: 900px) {
  footer .dm-footer-lead { grid-template-columns: 1fr 1fr !important; }
  footer .dm-footer-route { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  footer .dm-footer-lead { grid-template-columns: 1fr !important; }
  footer .dm-footer-snapshot { max-width: 34rem; }
  footer .dm-footer-snapshot img { aspect-ratio: 16 / 10 !important; }
}

/* v6.0.2 — content must never wait invisibly for a scroll observer. */
.dm-rebuild-preview main section,
.dm-rebuild-preview main article,
.dm-rebuild-preview .dm-visual,
.dm-has-js .dm-home-rebuild [data-dm-home-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition-property: color, background-color, box-shadow, border-color !important;
}

/* Editorial desk: dark room, warm readable story cards. */
.dm-home-rebuild__desk,
html[data-dm-theme="dark"] .dm-home-rebuild__desk {
  color: #f8f0e4;
  background:
    radial-gradient(circle at 94% 5%, rgba(244,201,93,.14), transparent 28rem),
    linear-gradient(145deg, #1d3a31, #102820) !important;
}
.dm-home-rebuild__desk .dm-home-rebuild__section-head h2 { color:#fff8ee !important; }
.dm-home-rebuild__desk .dm-home-rebuild__section-head > p { color:#d8d0c4 !important; }
.dm-home-rebuild__desk .dm-home-rebuild__eyebrow { color:#f4c95d !important; }
.dm-home-rebuild__desk .dm-home-rebuild__feature {
  color:#24231f !important;
  background:#fffaf2 !important;
  border-color:rgba(255,250,242,.24) !important;
}
.dm-home-rebuild__desk .dm-home-rebuild__feature-copy h3,
.dm-home-rebuild__desk .dm-home-rebuild__feature-copy h3 a { color:#24231f !important; }
.dm-home-rebuild__desk .dm-home-rebuild__feature-copy > p:not(.dm-home-rebuild__eyebrow) { color:#69665d !important; }
.dm-home-rebuild__desk .dm-home-rebuild__feature-copy .dm-home-rebuild__eyebrow,
.dm-home-rebuild__desk .dm-home-rebuild__feature-copy .dm-home-rebuild__text-link { color:#a63d2c !important; }

/* Room directory: section copy stays light; every pale card owns dark ink. */
.dm-home-rebuild__rooms .dm-home-rebuild__section-head h2 { color:#fffaf2 !important; }
.dm-home-rebuild__rooms .dm-home-rebuild__section-head > p { color:#e5edf0 !important; }
.dm-home-rebuild__rooms .dm-home-rebuild__eyebrow { color:#f4c95d !important; }
.dm-home-rebuild__rooms .dm-home-rebuild__room-card { color:#173229 !important; }
.dm-home-rebuild__rooms .dm-home-rebuild__room-card strong { color:#173229 !important; }
.dm-home-rebuild__rooms .dm-home-rebuild__room-card small { color:#555d58 !important; }
.dm-home-rebuild__rooms .dm-home-rebuild__room-card i { color:#9f2f22 !important; }

html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card:nth-child(1) { background:#242923; }
html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card:nth-child(2) { background:#2b342b; }
html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card:nth-child(3) { background:#3a3424; }
html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card:nth-child(4) { background:#332821; }
html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card,
html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card h3,
html[data-dm-theme="dark"] .dm-home-rebuild__pressure-card p { color:#f1e8dc !important; }

@media (min-width: 901px) {
  .dm-home-rebuild__feature-grid { grid-template-rows:repeat(2,24rem); }
  .dm-home-rebuild__feature--side { height:24rem; }
  .dm-home-rebuild__feature--side .dm-home-rebuild__feature-copy { padding:1.35rem 1.5rem; }
}
