/* Dealsmaster v5.4.2 — the living magazine.
 *
 * This layer changes the composition, not only the colour. The homepage opens
 * as a photographic magazine spread, reaches useful stories immediately, and
 * gives supporting tools a quieter place later in the visit.
 */

:root {
  --dm-v54-paper: #fffaf1;
  --dm-v54-oat: #f2e5d3;
  --dm-v54-butter: #efc965;
  --dm-v54-peach: #eab18f;
  --dm-v54-coral: #ce684d;
  --dm-v54-wine: #713a38;
  --dm-v54-moss: #315244;
  --dm-v54-forest: #163a30;
  --dm-v54-ink: #211d18;
  --dm-v54-muted: #62564b;
  --dm-v54-shadow: rgba(65, 41, 25, .18);
  --dm-v54-ease: cubic-bezier(.19, .78, .22, 1);
}

/* --------------------------------------------------------------------------
   A smaller masthead: the room, not the navigation, owns the first impression.
   -------------------------------------------------------------------------- */

.dm-human-warmth .dm-site-header {
  border-bottom: 1px solid rgba(69, 48, 34, .13);
  background: rgba(255, 250, 242, .96);
  box-shadow: 0 8px 28px rgba(70, 49, 34, .045);
}

.dm-human-warmth .dm-site-header::before,
.dm-human-warmth .dm-site-header::after,
.dm-human-warmth .dm-site-header .dm-header-art,
.dm-human-warmth .dm-site-header .dm-header-promise {
  display: none !important;
}

.dm-human-warmth .dm-site-header .dm-atmosphere-edition {
  display: none !important;
}

.dm-human-warmth .dm-site-header .dm-topline {
  display: none;
}

.dm-human-warmth .dm-site-header .dm-brand-row {
  min-height: 78px;
  grid-template-columns: minmax(230px, 1fr) minmax(260px, 420px);
  gap: 2rem;
  padding-block: .75rem;
}

.dm-human-warmth .dm-site-header .dm-brand-signature {
  width: max-content;
}

.dm-human-warmth .dm-site-header .dm-monogram {
  width: 44px;
  height: 44px;
}

.dm-human-warmth .dm-site-header .dm-brand-name {
  font-size: clamp(2rem, 3vw, 2.85rem);
  letter-spacing: -.06em;
}

.dm-human-warmth .dm-site-header .dm-brand-tagline {
  margin-top: -.15rem;
  color: #7b5a47;
  font-family: var(--dm-serif);
  font-size: .67rem;
  font-style: italic;
  font-weight: 560;
  letter-spacing: .01em;
}

.dm-human-warmth .dm-site-header .dm-brand-tools {
  justify-self: end;
}

.dm-human-warmth .dm-site-header .dm-header-search {
  width: min(390px, 31vw);
}

.dm-human-warmth .dm-site-header .dm-nav-bar {
  background: var(--dm-v54-forest);
}

.dm-human-warmth .dm-site-header .dm-nav-inner {
  min-height: 48px;
}

.dm-human-warmth .dm-site-header .wp-block-navigation-item__content,
.dm-human-warmth .dm-site-header .dm-nav-about a {
  font-size: .7rem;
  letter-spacing: .055em;
}

/* --------------------------------------------------------------------------
   The new first impression: one wide room, two human details, useful routes.
   -------------------------------------------------------------------------- */

.dm-human-warmth .dm-home-hero--alive {
  position: relative;
  min-height: 820px;
  overflow: clip;
  padding: clamp(2.6rem, 4.5vw, 4.8rem) 0 clamp(4.5rem, 7vw, 7.3rem);
  color: var(--dm-v54-ink);
  background:
    radial-gradient(circle at 4% 13%, rgba(239, 201, 101, .36), transparent 26rem),
    radial-gradient(circle at 97% 8%, rgba(206, 104, 77, .22), transparent 30rem),
    linear-gradient(126deg, #fff8ed 0%, #f5dfca 52%, #eebda2 100%);
}

.dm-alive-hero__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.dm-alive-hero__glow span {
  position: absolute;
  border: 1px solid rgba(118, 65, 42, .16);
  border-radius: 50%;
}

.dm-alive-hero__glow span:nth-child(1) {
  top: -11rem;
  left: 34%;
  width: 34rem;
  height: 28rem;
  transform: rotate(-12deg);
}

.dm-alive-hero__glow span:nth-child(2) {
  right: -12rem;
  bottom: -8rem;
  width: 31rem;
  height: 31rem;
  border-color: rgba(48, 88, 71, .17);
}

.dm-alive-hero__glow span:nth-child(3) {
  bottom: 9%;
  left: -5rem;
  width: 14rem;
  height: 9rem;
  border-color: rgba(206, 104, 77, .26);
  transform: rotate(18deg);
}

.dm-alive-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto auto auto;
  gap: clamp(1.2rem, 2vw, 2rem);
  align-items: start;
}

.dm-alive-hero__mast {
  position: relative;
  z-index: 7;
  grid-column: 1 / span 7;
  grid-row: 1;
  padding-top: clamp(.3rem, 1vw, .8rem);
}

.dm-alive-hero__welcome {
  display: flex;
  gap: .75rem;
  align-items: center;
  margin: 0 0 1rem;
  color: #7b3f31;
  font-family: var(--dm-serif);
  font-size: clamp(.94rem, 1.3vw, 1.16rem);
  font-style: italic;
}

.dm-alive-hero__welcome span {
  font-weight: 660;
}

.dm-alive-hero__welcome i {
  width: clamp(1.8rem, 4vw, 4.2rem);
  height: 1px;
  background: currentColor;
  opacity: .42;
}

.dm-alive-hero__welcome strong {
  font-weight: 510;
}

.dm-alive-hero__mast h1 {
  max-width: 12ch;
  margin: 0;
  font-family: var(--dm-serif);
  font-size: clamp(4.3rem, 7.5vw, 8.35rem);
  font-weight: 490;
  letter-spacing: -.073em;
  line-height: .82;
  text-shadow: 0 1px 0 rgba(255, 250, 241, .76), 0 0 28px rgba(255, 246, 232, .62);
  text-wrap: balance;
}

.dm-alive-hero__dek {
  max-width: 44ch;
  margin: clamp(1.4rem, 2vw, 2rem) 0 0;
  color: #554a40;
  font-size: clamp(1.04rem, 1.3vw, 1.18rem);
  line-height: 1.62;
}

.dm-alive-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1.25rem;
  align-items: center;
  margin-top: 1.5rem;
}

.dm-alive-hero__actions a {
  min-height: 44px;
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  color: var(--dm-v54-forest);
  font-size: .79rem;
  font-weight: 760;
  text-underline-offset: .22em;
}

.dm-alive-hero__actions .dm-alive-hero__primary {
  padding: .65rem 1.05rem;
  border-radius: 999px;
  color: #fffaf1;
  background: var(--dm-v54-forest);
  text-decoration: none;
  box-shadow: 0 9px 24px rgba(23, 58, 48, .16);
}

.dm-alive-hero__scene {
  position: relative;
  z-index: 2;
  grid-column: 5 / -1;
  grid-row: 1 / span 2;
  min-height: clamp(530px, 52vw, 720px);
  display: block;
  overflow: hidden;
  border: 9px solid rgba(255, 250, 241, .96);
  border-radius: .25rem 6.8rem .25rem .25rem;
  color: #fffaf1;
  background: #8f684c;
  box-shadow: 0 36px 84px rgba(80, 46, 26, .24);
  text-decoration: none;
}

.dm-alive-hero__scene::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(24, 26, 20, .58));
  content: "";
  pointer-events: none;
}

.dm-alive-hero__scene img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
  object-position: 49% center;
  transform: translate3d(
    var(--dm-v54-scene-x, 0px),
    var(--dm-v54-scene-y, 0px),
    0
  ) scale(1.012);
  transition: transform 900ms var(--dm-v54-ease), filter 500ms ease;
}

.dm-alive-hero__scene > span {
  position: absolute;
  z-index: 2;
  right: 1.35rem;
  bottom: 1.15rem;
  max-width: 31ch;
  padding: .75rem .9rem;
  color: rgba(255, 250, 241, .94);
  background: rgba(23, 31, 26, .62);
  font-family: var(--dm-serif);
  font-size: .8rem;
  font-style: italic;
  line-height: 1.38;
  backdrop-filter: blur(9px);
}

.dm-alive-hero__scene > span em {
  color: #f3cf78;
  font-style: normal;
  font-weight: 700;
}

.dm-alive-hero__story {
  position: relative;
  z-index: 8;
  grid-column: 1 / span 5;
  grid-row: 2;
  align-self: end;
  margin-top: clamp(1rem, 3vw, 3.8rem);
  padding: clamp(1.25rem, 2.1vw, 1.85rem);
  border-top: 4px solid var(--dm-v54-coral);
  border-radius: .15rem 1.8rem .15rem .15rem;
  background: rgba(255, 250, 241, .97);
  box-shadow: 0 25px 66px rgba(72, 43, 26, .2);
  transform: rotate(-.55deg);
}

.dm-alive-hero__story > p {
  margin: 0 0 .55rem;
  color: #8a4334;
  font-family: var(--dm-serif);
  font-size: .75rem;
  font-style: italic;
}

.dm-alive-hero__story h2 {
  margin: 0;
  font-family: var(--dm-serif);
  font-size: clamp(1.85rem, 3.1vw, 3rem);
  font-weight: 520;
  letter-spacing: -.045em;
  line-height: .98;
}

.dm-alive-hero__story h2 a {
  color: inherit;
  text-decoration: none;
}

.dm-alive-hero__story > span {
  max-width: 52ch;
  display: block;
  margin-top: .75rem;
  color: var(--dm-v54-muted);
  font-size: .9rem;
  line-height: 1.52;
}

.dm-alive-hero__story > a:last-child {
  min-height: 42px;
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  margin-top: .7rem;
  color: var(--dm-v54-forest);
  font-size: .75rem;
  font-weight: 780;
}

.dm-alive-hero__detail {
  position: relative;
  z-index: 9;
  display: block;
  padding: .42rem .42rem .7rem;
  border: 1px solid rgba(75, 49, 31, .16);
  color: #4f443a;
  background: #fffaf1;
  box-shadow: 0 22px 54px rgba(65, 39, 23, .2);
  text-decoration: none;
  transition: transform 500ms var(--dm-v54-ease), box-shadow 500ms ease;
}

.dm-alive-hero__detail::before {
  position: absolute;
  z-index: 2;
  top: -.55rem;
  left: 36%;
  width: 3.6rem;
  height: 1rem;
  background: rgba(238, 201, 101, .72);
  content: "";
}

.dm-alive-hero__detail img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.dm-alive-hero__detail span {
  display: block;
  padding: .55rem .25rem 0;
  font-family: var(--dm-serif);
  font-size: .72rem;
  font-style: italic;
  line-height: 1.28;
}

.dm-alive-hero__detail--keys {
  grid-column: 8 / span 3;
  grid-row: 2 / span 2;
  justify-self: end;
  width: min(240px, 19vw);
  margin: -1.7rem 1rem 0 0;
  transform: translate3d(
    var(--dm-v54-keys-x, 0px),
    var(--dm-v54-keys-y, 0px),
    0
  ) rotate(2.2deg);
}

.dm-alive-hero__detail--keys img {
  aspect-ratio: 4 / 3;
}

.dm-alive-hero__detail--kitchen {
  grid-column: 10 / -1;
  grid-row: 2 / span 2;
  justify-self: end;
  width: min(250px, 19vw);
  margin: clamp(4rem, 8vw, 7rem) -1rem 0 0;
  transform: translate3d(
    var(--dm-v54-kitchen-x, 0px),
    var(--dm-v54-kitchen-y, 0px),
    0
  ) rotate(-2.4deg);
}

.dm-alive-hero__detail--kitchen img {
  aspect-ratio: 1;
}

.dm-alive-hero__note {
  position: relative;
  z-index: 7;
  grid-column: 4 / span 4;
  grid-row: 3;
  align-self: end;
  margin: 1rem 0 0;
  padding: 1rem 1.15rem 1rem 1.35rem;
  border-left: 3px solid var(--dm-v54-moss);
  border-radius: 0 1.4rem 1.4rem 0;
  background: rgba(255, 250, 241, .68);
  transform: rotate(.5deg);
}

.dm-alive-hero__note p {
  margin: 0;
  color: #7e3f32;
  font-size: .61rem;
  font-weight: 820;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.dm-alive-hero__note strong {
  display: block;
  margin-top: .28rem;
  font-family: var(--dm-serif);
  font-size: clamp(.96rem, 1.4vw, 1.18rem);
  font-style: italic;
  font-weight: 560;
  line-height: 1.35;
}

/* --------------------------------------------------------------------------
   Stories arrive as a lively magazine spread, not a dark dashboard.
   -------------------------------------------------------------------------- */

.dm-human-warmth .dm-desk-stream {
  padding: clamp(4rem, 6vw, 6.3rem) 0;
  color: var(--dm-v54-ink);
  background:
    radial-gradient(circle at 96% 4%, rgba(234, 177, 143, .22), transparent 25rem),
    var(--dm-v54-paper);
}

.dm-human-warmth .dm-desk-stream::before {
  display: none;
}

.dm-human-warmth .dm-desk-stream__header {
  grid-template-columns: minmax(0, 1fr) minmax(260px, .46fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 3.5vw, 3.2rem);
}

.dm-human-warmth .dm-desk-stream__header .dm-kicker {
  color: #8a4334;
}

.dm-human-warmth .dm-desk-stream__header h2 {
  max-width: 15ch;
  color: var(--dm-v54-ink);
  font-size: clamp(3rem, 5.4vw, 5.5rem);
  line-height: .9;
}

.dm-human-warmth .dm-desk-stream__header > p {
  margin: 0;
  padding: 0 0 .3rem 1.25rem;
  border-left: 1px solid rgba(117, 72, 50, .3);
  color: #61544a;
  font-size: 1rem;
}

.dm-human-warmth .dm-desk-stream__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, .8fr));
  gap: clamp(1rem, 2vw, 1.7rem);
  overflow: visible;
}

.dm-human-warmth .dm-desk-story {
  min-width: 0;
  grid-column: auto !important;
  grid-row: auto !important;
  overflow: hidden;
  border: 0;
  border-radius: .25rem 1.6rem .25rem .25rem;
  background: #f6eadb;
  box-shadow: none;
  transform: none;
}

.dm-human-warmth .dm-desk-story--lead {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

.dm-human-warmth .dm-desk-story:nth-child(2),
.dm-human-warmth .dm-desk-story:nth-child(5) {
  background: #e8d8c3;
}

.dm-human-warmth .dm-desk-story:nth-child(3),
.dm-human-warmth .dm-desk-story:nth-child(6) {
  background: #f1d4c4;
}

.dm-human-warmth .dm-desk-story__media {
  border-radius: inherit;
}

.dm-human-warmth .dm-desk-story--lead .dm-desk-story__media {
  min-height: clamp(400px, 43vw, 610px);
}

.dm-human-warmth .dm-desk-story--brief .dm-desk-story__media {
  aspect-ratio: 16 / 9;
}

.dm-human-warmth .dm-desk-story__media img {
  transition: transform 650ms var(--dm-v54-ease), filter 450ms ease;
}

.dm-human-warmth .dm-desk-story__body {
  padding: 1.05rem 1.1rem 1.25rem;
}

.dm-human-warmth .dm-desk-story .dm-story-meta {
  margin-bottom: .45rem;
  color: #864336;
}

.dm-human-warmth .dm-desk-story h3 {
  font-size: clamp(1.35rem, 2.1vw, 2.1rem);
}

.dm-human-warmth .dm-desk-story--lead h3 {
  font-size: clamp(2rem, 3.5vw, 3.65rem);
}

.dm-human-warmth .dm-desk-stream__footer {
  margin-top: 1.7rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(95, 68, 50, .18);
  color: #695b50;
}

.dm-human-warmth .dm-desk-stream__footer a {
  color: var(--dm-v54-forest);
}

/* The visual rail now follows the newest stories while curiosity is highest. */
.dm-human-warmth .dm-field-notes {
  padding-block: clamp(3.5rem, 5.5vw, 5.8rem);
  color: #fff8ed;
  background:
    radial-gradient(circle at 95% 0, rgba(239, 201, 101, .17), transparent 28rem),
    linear-gradient(134deg, #244a3d, #163a30 55%, #102f27);
}

.dm-human-warmth .dm-field-notes .dm-kicker {
  color: #f0c86d;
}

.dm-human-warmth .dm-field-notes h2 {
  max-width: 12ch;
  color: #fff8ed;
  font-size: clamp(2.9rem, 5.1vw, 5.2rem);
}

.dm-human-warmth .dm-field-notes__rail {
  gap: clamp(.8rem, 1.5vw, 1.25rem);
}

.dm-human-warmth .dm-field-note-card {
  border: 0;
  border-radius: .2rem 2rem .2rem .2rem;
  background: #fff8ed;
  box-shadow: 0 22px 54px rgba(3, 22, 17, .24);
}

.dm-human-warmth .dm-field-note-card:nth-child(even) {
  margin-top: 1.6rem;
}

.dm-human-warmth .dm-field-note-card figcaption {
  color: var(--dm-v54-ink);
}

/* --------------------------------------------------------------------------
   Varied pacing: personal letter, useful edit, image library, then tools.
   -------------------------------------------------------------------------- */

.dm-human-warmth .dm-lived-letter {
  padding-block: clamp(4.3rem, 7vw, 7rem);
}

.dm-human-warmth .dm-lived-letter__copy h2 {
  font-size: clamp(3.1rem, 5.6vw, 6rem);
}

.dm-human-warmth .dm-useful-edit {
  padding-block: clamp(4rem, 6vw, 6rem);
  background:
    radial-gradient(circle at 96% 8%, rgba(239, 201, 101, .24), transparent 22rem),
    #f8f0e4;
}

.dm-human-warmth .dm-useful-grid {
  column-gap: clamp(2rem, 5vw, 5.3rem);
}

.dm-human-warmth .dm-edit-scene {
  border-radius: .25rem 4rem .25rem .25rem;
  box-shadow: 0 28px 70px rgba(69, 44, 28, .16);
}

.dm-human-warmth .dm-useful-intro h2 {
  font-size: clamp(2.75rem, 4.8vw, 4.9rem);
}

.dm-human-warmth .dm-edit-list li {
  border-top-color: rgba(99, 69, 48, .18);
}

.dm-human-warmth .dm-visual-library {
  padding-block: clamp(3.8rem, 6vw, 6.2rem);
  background: #e9c6ae;
}

.dm-human-warmth .dm-visual-library .dm-section-head h2 {
  max-width: 12ch;
  font-size: clamp(2.9rem, 5vw, 5.15rem);
}

.dm-human-warmth .dm-library-card figure {
  border-radius: .25rem 2rem .25rem .25rem;
  box-shadow: 0 22px 54px rgba(78, 45, 28, .17);
}

/* Atmospheres become an image-led route, not a second homepage. */
.dm-human-warmth .dm-atmosphere-portal {
  padding-block: clamp(3.7rem, 5.7vw, 5.8rem);
}

.dm-human-warmth .dm-atmosphere-portal__head {
  margin-bottom: 2rem;
}

.dm-human-warmth .dm-atmosphere-portal__head h2 {
  max-width: 11ch;
  font-size: clamp(2.8rem, 4.8vw, 4.8rem);
}

.dm-human-warmth .dm-atmosphere-portal__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: .9rem;
}

.dm-human-warmth .dm-atmosphere-portal__card:nth-child(-n + 3) {
  grid-column: span 4;
}

.dm-human-warmth .dm-atmosphere-portal__card:nth-child(n + 4) {
  grid-column: span 3;
}

.dm-human-warmth .dm-atmosphere-portal__card figure,
.dm-human-warmth .dm-atmosphere-portal__card--gallery figure,
.dm-human-warmth .dm-atmosphere-portal__card--retreat figure,
.dm-human-warmth .dm-atmosphere-portal__card--outdoors figure {
  min-height: 290px;
}

.dm-human-warmth .dm-atmosphere-portal__copy strong {
  font-size: clamp(1.55rem, 2.6vw, 2.55rem);
}

.dm-human-warmth .dm-atmosphere-portal__copy small {
  display: none;
}

/* The interactive utilities now feel like a helpful workshop near the end. */
.dm-human-warmth .dm-reset-lab {
  padding-block: clamp(3.8rem, 5.5vw, 5.6rem);
}

.dm-human-warmth .dm-reset-lab__grid {
  min-height: 0;
}

.dm-human-warmth .dm-reset-lab h2 {
  max-width: 10ch;
  font-size: clamp(2.85rem, 5vw, 5rem);
}

.dm-human-warmth .dm-reset-lab__result {
  border-radius: .2rem 2rem .2rem .2rem;
}

.dm-human-warmth .dm-guide-finder {
  padding-block: clamp(3.8rem, 5.5vw, 5.8rem);
  background:
    radial-gradient(circle at 5% 8%, rgba(234, 177, 143, .27), transparent 23rem),
    #fffaf1;
}

.dm-human-warmth .dm-finder-head {
  margin-bottom: 1.7rem;
}

.dm-human-warmth .dm-finder-head h2 {
  max-width: 12ch;
  font-size: clamp(2.8rem, 4.8vw, 4.8rem);
}

.dm-human-warmth .dm-finder-form {
  border-radius: .25rem 2rem .25rem .25rem;
  box-shadow: 0 18px 48px rgba(71, 45, 28, .09);
}

.dm-human-warmth .dm-my-rooms:has(.dm-my-rooms__board[hidden]) {
  padding-block: 2.5rem;
  background: #244a3d;
}

.dm-human-warmth .dm-my-rooms:has(.dm-my-rooms__board[hidden]) h2 {
  max-width: none;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
}

.dm-human-warmth .dm-my-rooms:has(.dm-my-rooms__board[hidden]) .dm-my-rooms__empty {
  min-height: 0;
  padding: 1rem 1.15rem;
}

.dm-human-warmth .dm-trust {
  padding-block: clamp(2.5rem, 4vw, 4rem);
}

/* --------------------------------------------------------------------------
   Footer: an affectionate closing page rather than another navigation system.
   -------------------------------------------------------------------------- */

.dm-human-warmth .dm-site-footer {
  background:
    radial-gradient(circle at 88% 0, rgba(239, 201, 101, .17), transparent 24rem),
    linear-gradient(132deg, #283f36, #163a30 56%, #102d26) !important;
}

.dm-human-warmth .dm-site-footer .dm-footer-art {
  display: none;
}

.dm-human-warmth .dm-site-footer .dm-footer-lead {
  align-items: center;
}

.dm-human-warmth .dm-site-footer .dm-footer-brand > h2 {
  font-size: clamp(2.8rem, 4.8vw, 4.9rem);
}

.dm-human-warmth .dm-site-footer .dm-footer-route {
  min-height: 0;
  padding: 1.35rem;
}

.dm-human-warmth .dm-site-footer .dm-footer-grid {
  margin-top: clamp(2.5rem, 4vw, 4rem);
}

/* --------------------------------------------------------------------------
   Movement with a reason: photographs and paper arrive, nothing loops forever.
   -------------------------------------------------------------------------- */

@keyframes dm-v54-scene-arrive {
  from { opacity: .72; transform: translate3d(0, 22px, 0) scale(.985); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes dm-v54-mast-arrive {
  from { opacity: 0; transform: translate3d(-18px, 14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes dm-v54-paper-arrive {
  from { opacity: 0; transform: translate3d(12px, 18px, 0) rotate(3.5deg); }
  to { opacity: 1; transform: translate3d(0, 0, 0) rotate(2.2deg); }
}

.dm-human-warmth.dm-page-ready:not(.dm-reduced-motion) .dm-alive-hero__scene {
  animation: dm-v54-scene-arrive 980ms var(--dm-v54-ease) both;
}

.dm-human-warmth.dm-page-ready:not(.dm-reduced-motion) .dm-alive-hero__mast {
  animation: dm-v54-mast-arrive 760ms var(--dm-v54-ease) 120ms both;
}

.dm-human-warmth.dm-page-ready:not(.dm-reduced-motion) .dm-alive-hero__detail--keys {
  animation: dm-v54-paper-arrive 780ms var(--dm-v54-ease) 330ms both;
}

.dm-human-warmth:not(.dm-reduced-motion) .dm-home-page [data-dm-reveal] {
  transition: opacity 680ms var(--dm-v54-ease), transform 680ms var(--dm-v54-ease);
}

@media (hover: hover) and (pointer: fine) {
  .dm-alive-hero__scene:hover img,
  .dm-alive-hero__scene:focus-visible img {
    transform: translate3d(
      var(--dm-v54-scene-x, 0px),
      var(--dm-v54-scene-y, 0px),
      0
    ) scale(1.035);
    filter: saturate(1.04);
  }

  .dm-alive-hero__detail:hover,
  .dm-alive-hero__detail:focus-visible {
    z-index: 12;
    box-shadow: 0 30px 72px rgba(55, 34, 21, .24);
  }

  .dm-alive-hero__detail--keys:hover,
  .dm-alive-hero__detail--keys:focus-visible {
    transform: translate3d(
      var(--dm-v54-keys-x, 0px),
      calc(-7px + var(--dm-v54-keys-y, 0px)),
      0
    ) rotate(.8deg);
  }

  .dm-alive-hero__detail--kitchen:hover,
  .dm-alive-hero__detail--kitchen:focus-visible {
    transform: translate3d(
      var(--dm-v54-kitchen-x, 0px),
      calc(-7px + var(--dm-v54-kitchen-y, 0px)),
      0
    ) rotate(-.7deg);
  }

  .dm-human-warmth .dm-desk-story:hover,
  .dm-human-warmth .dm-desk-story:focus-within {
    box-shadow: 0 24px 60px rgba(68, 42, 26, .14);
    transform: translateY(-5px);
  }

  .dm-human-warmth .dm-desk-story:hover .dm-desk-story__media img,
  .dm-human-warmth .dm-desk-story:focus-within .dm-desk-story__media img {
    transform: scale(1.025);
  }
}

/* --------------------------------------------------------------------------
   Responsive composition
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
  .dm-alive-hero__mast {
    grid-column: 1 / span 8;
  }

  .dm-alive-hero__mast h1 {
    font-size: clamp(4rem, 8.3vw, 7rem);
  }

  .dm-alive-hero__scene {
    grid-column: 4 / -1;
  }

  .dm-alive-hero__story {
    grid-column: 1 / span 6;
  }

  .dm-alive-hero__detail--keys {
    grid-column: 8 / span 3;
  }

  .dm-alive-hero__detail--kitchen {
    grid-column: 10 / -1;
  }
}

@media (max-width: 900px) {
  .dm-human-warmth .dm-site-header .dm-brand-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
  }

  .dm-human-warmth .dm-home-hero--alive {
    min-height: 0;
    padding-top: 2rem;
  }

  .dm-alive-hero {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .dm-alive-hero__mast,
  .dm-alive-hero__scene,
  .dm-alive-hero__story,
  .dm-alive-hero__note {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .dm-alive-hero__mast {
    margin-bottom: .5rem;
  }

  .dm-alive-hero__mast h1 {
    max-width: 11.5ch;
    font-size: clamp(4rem, 10vw, 6.7rem);
  }

  .dm-alive-hero__scene {
    min-height: clamp(420px, 70vw, 610px);
    border-radius: .25rem 5rem .25rem .25rem;
  }

  .dm-alive-hero__story {
    z-index: 7;
    width: calc(100% - 2rem);
    justify-self: center;
    margin: -3rem auto 0;
  }

  .dm-alive-hero__detail--keys,
  .dm-alive-hero__detail--kitchen {
    grid-row: auto;
    width: 100%;
    margin: .75rem 0 0;
    justify-self: stretch;
  }

  .dm-alive-hero__detail--keys {
    grid-column: 1 / span 3;
  }

  .dm-alive-hero__detail--kitchen {
    grid-column: 4 / -1;
  }

  .dm-alive-hero__detail img {
    aspect-ratio: 4 / 3;
  }

  .dm-alive-hero__note {
    margin-top: .75rem;
  }

  .dm-human-warmth .dm-desk-stream__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dm-human-warmth .dm-desk-story--lead {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
  }

  .dm-human-warmth .dm-desk-story--lead .dm-desk-story__media {
    min-height: 430px;
  }
}

@media (max-width: 782px) {
  .dm-human-warmth .dm-site-header .dm-brand-row {
    min-height: 68px;
    padding-block: .55rem;
  }

  .dm-human-warmth .dm-site-header .dm-monogram {
    width: 38px;
    height: 38px;
  }

  .dm-human-warmth .dm-site-header .dm-brand-name {
    font-size: clamp(1.78rem, 8vw, 2.25rem);
  }

  .dm-human-warmth .dm-site-header .dm-brand-tagline {
    display: block;
    max-width: 20ch;
    font-size: .6rem;
  }

  .dm-human-warmth .dm-home-hero--alive {
    padding: 1.45rem 0 3.8rem;
  }

  .dm-alive-hero {
    gap: .9rem;
  }

  .dm-alive-hero__welcome {
    gap: .55rem;
    font-size: .88rem;
  }

  .dm-alive-hero__welcome strong {
    max-width: 22ch;
  }

  .dm-alive-hero__mast h1 {
    max-width: 10.6ch;
    font-size: clamp(3.35rem, 15vw, 5rem);
    line-height: .84;
  }

  .dm-alive-hero__dek {
    margin-top: 1.1rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  .dm-alive-hero__actions {
    margin-top: 1.1rem;
  }

  .dm-alive-hero__scene {
    min-height: 390px;
    margin-top: .65rem;
    border-width: 5px;
    border-radius: .2rem 3.7rem .2rem .2rem;
  }

  .dm-alive-hero__scene img {
    object-position: 52% center;
  }

  .dm-alive-hero__scene > span {
    right: .65rem;
    bottom: .65rem;
    max-width: calc(100% - 1.3rem);
    padding: .6rem .7rem;
    font-size: .72rem;
  }

  .dm-alive-hero__story {
    width: calc(100% - 1rem);
    margin-top: -2rem;
    padding: 1.05rem;
    transform: rotate(-.25deg);
  }

  .dm-alive-hero__story h2 {
    font-size: clamp(1.72rem, 8vw, 2.45rem);
  }

  .dm-alive-hero__story > span {
    font-size: .84rem;
  }

  .dm-alive-hero__detail span {
    font-size: .66rem;
  }

  .dm-human-warmth .dm-desk-stream {
    padding-block: 3.6rem;
  }

  .dm-human-warmth .dm-desk-stream__header {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .dm-human-warmth .dm-desk-stream__header h2 {
    max-width: 11ch;
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .dm-human-warmth .dm-desk-stream__header > p {
    padding-left: 1rem;
  }

  .dm-human-warmth .dm-desk-stream__grid {
    display: flex;
    gap: .85rem;
    margin-right: calc((100vw - var(--dm-shell)) / -2);
    padding-right: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .dm-human-warmth .dm-desk-stream__grid::-webkit-scrollbar {
    display: none;
  }

  .dm-human-warmth .dm-desk-story,
  .dm-human-warmth .dm-desk-story--lead {
    min-width: min(82vw, 340px);
    grid-column: auto !important;
    grid-row: auto !important;
    display: block;
    scroll-snap-align: start;
  }

  .dm-human-warmth .dm-desk-story--lead .dm-desk-story__media {
    min-height: 330px;
  }

  .dm-human-warmth .dm-desk-story--brief .dm-desk-story__media {
    aspect-ratio: 4 / 3;
  }

  .dm-human-warmth .dm-field-note-card:nth-child(even) {
    margin-top: 0;
  }

  .dm-human-warmth .dm-atmosphere-portal__copy small {
    display: block;
  }

  .dm-human-warmth .dm-my-rooms:has(.dm-my-rooms__board[hidden]) .dm-my-rooms__shell {
    gap: 1rem;
  }
}

@media (max-width: 500px) {
  .dm-alive-hero__mast h1 {
    font-size: clamp(3.05rem, 14.6vw, 4.25rem);
  }

  .dm-alive-hero__scene {
    min-height: 340px;
  }

  .dm-alive-hero__detail::before {
    width: 2.6rem;
  }

  .dm-alive-hero__detail span {
    padding-top: .42rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dm-alive-hero__mast,
  .dm-alive-hero__scene,
  .dm-alive-hero__detail,
  .dm-alive-hero__scene img,
  .dm-human-warmth .dm-desk-story,
  .dm-human-warmth .dm-desk-story__media img {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .dm-alive-hero__scene,
  .dm-alive-hero__story,
  .dm-alive-hero__detail,
  .dm-alive-hero__note {
    border: 1px solid CanvasText;
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
  }
}

@media print {
  .dm-alive-hero__glow,
  .dm-alive-hero__detail,
  .dm-alive-hero__note {
    display: none;
  }

  .dm-human-warmth .dm-home-hero--alive,
  .dm-human-warmth .dm-desk-stream,
  .dm-human-warmth .dm-field-notes {
    color: #000;
    background: #fff;
  }
}
