html  {
   scroll-behavior: smooth;
}
body  {
   margin: 0;
}
#dm-landing {
  --dm-bg:#fafbf7;
  --dm-paper:#fff;
  --dm-ink:#19392b;
  --dm-muted:#626f66;
  --dm-line:#dfe5dd;
  --dm-soft:#ecf1e7;
  --dm-brand:#467345;
  --dm-button:#254f36;
  --dm-onbutton:#fff;
  color:var(--dm-ink);
  background:var(--dm-bg);
  font:14px/1.6 'DM Sans',Arial,sans-serif;
  isolation:isolate;
  --dm-space:64px
}
#dm-landing * {
  box-sizing:border-box
}
#dm-landing h1,#dm-landing h2,#dm-landing h3,#dm-landing p {
  margin:0
}
#dm-landing a {
  color:inherit;
  text-decoration:none
}
#dm-landing button {
  font:inherit
}
#dm-landing .dm-wrap {
  max-width:1100px;
  margin:auto;
  padding:0 42px
}
#dm-landing .dm-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:24px;
  padding-bottom:24px;
  border-bottom:1px solid var(--dm-line)
}
#dm-landing .dm-logo {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:23px;
  font-weight:700;
  letter-spacing:-1px
}
#dm-landing .dm-symbol {
  display:grid;
  place-items:center;
  width:30px;
  height:32px;
  color:var(--dm-onbutton);
  background:var(--dm-button);
  border-radius:13px 5px 13px 5px
}
#dm-landing .dm-symbol svg {
  width:18px;
  height:18px
}
#dm-landing nav {
  display:flex;
  align-items:center;
  gap:25px;
  font-size:12px
}
#dm-landing .dm-enter {
  border:1px solid var(--dm-line);
  border-radius:7px;
  padding:8px 17px;
  background:var(--dm-paper);
  color:var(--dm-ink)
}
#dm-landing .dm-hero {
  padding-top: 64px;
  padding-bottom: 42px;
  text-align: center;
}
#dm-landing .dm-kicker {
  font-size:10px;
  font-weight:600;
  letter-spacing:1.7px;
  text-transform:uppercase;
  color:var(--dm-brand);
  margin-bottom:19px
}
#dm-landing h1 {
  font-size:clamp(38px,4.5vw,60px);
  line-height:1.1;
  letter-spacing:-2.4px;
  font-weight:500
}
#dm-landing h1 em {
  font-family:Georgia,serif;
  font-weight:400;
  color:var(--dm-brand)
}
#dm-landing .dm-description {
  font-size:14px;
  line-height:1.8;
  color:var(--dm-muted);
  max-width:520px;
  margin:23px auto 0
}
#dm-landing .dm-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  margin-top:28px;
  justify-content:center
}
#dm-landing .dm-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  background:var(--dm-button);
  color:var(--dm-onbutton);
  padding:12px 20px;
  border:0;
  border-radius:7px;
  font-size:12px;
  font-weight:500
}
#dm-landing .dm-textlink {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:8px
}
#dm-landing .dm-textlink svg {
  width:15px;
  height:15px
}
#dm-landing .dm-note {
  font-size:11px;
  color:var(--dm-muted);
  margin-top:18px
}
#dm-landing h2 {
  font-size:29px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-1px
}
#dm-landing details {
  border-bottom:1px solid var(--dm-line);
  padding:15px 0
}
#dm-landing details:first-child {
  padding-top:0
}
#dm-landing summary {
  font-size:12px;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center
}
#dm-landing summary:after {
  content:'+';
  font-size:18px;
  color:var(--dm-brand)
}
#dm-landing details[open] summary:after {
  content:'−'
}
#dm-landing details p {
  font-size:12px;
  color:var(--dm-muted);
  padding-top:12px;
  max-width:360px
}
#dm-landing .dm-footer {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  padding-top:22px;
  padding-bottom:22px;
  font-size:10px;
  color:var(--dm-muted)
}
#dm-landing .dm-footerlinks {
  display:flex;
  gap:20px
}
@media(max-width:700px) {
  #dm-landing .dm-wrap {
  padding-left:25px;
  padding-right:25px
}
#dm-landing nav {
  gap:14px
}
#dm-landing nav .dm-navhow {
  display:none
}
#dm-landing .dm-hero {
  padding-top:40px
}
#dm-landing h1 {
  font-size:44px;
}
#dm-landing .dm-description {
  max-width:440px
}
#dm-landing {
  --dm-space:42px
}
}
@media(max-width:430px) {
  #dm-landing .dm-wrap {
  padding-left:20px;
  padding-right:20px
}
#dm-landing h1 {
  font-size:38px
}
#dm-landing .dm-logo {
  font-size:21px
}

#dm-landing nav {
  gap:10px
}
#dm-landing .dm-enter {
  padding:8px 13px
}
}
#dm-landing .dm-symbol  {
   background: transparent;
}
#dm-landing .dm-symbol img  {
   width: 30px;
   height: 30px;
}
#dm-landing .dm-skip  {
   position: absolute;
   top: -100px;
   padding: 12px;
   background: white;
   z-index: 10;
}
#dm-landing .dm-skip:focus  {
   top: 0;
}
#dm-landing a:focus-visible, #dm-landing summary:focus-visible  {
   outline: 3px solid #467345;
   outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce)  {
   html  {
   scroll-behavior: auto;
}
}

/* Give both real product captures their own space, without overlapping content. */
#dm-landing .dm-showcase {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 42px 56px;
}
#dm-landing .dm-devices {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
  gap: 32px;
  align-items: start;
  padding: 28px;
  border-radius: 24px;
  background: var(--dm-soft);
}
#dm-landing .dm-device {
  min-width: 0;
  margin: 0;
}
#dm-landing .dm-device figcaption {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 16px;
}
#dm-landing .dm-device figcaption span:first-child {
  font-size: 15px;
  font-weight: 600;
}
#dm-landing .dm-device figcaption span:last-child {
  color: var(--dm-muted);
  font-size: 12px;
}
#dm-landing .dm-capture {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--dm-paper);
  box-shadow: 0 14px 36px #19392b14;
}
#dm-landing .dm-real-desktop {
  border: 1px solid var(--dm-line);
  border-radius: 12px;
}
#dm-landing .dm-real-phone {
  border: 5px solid var(--dm-ink);
  border-radius: 28px;
}
#dm-landing .dm-capture img {
  display: block;
  width: 100%;
  height: auto;
}
#dm-landing .dm-enlarge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 12px;
  border: 1px solid var(--dm-line);
  border-radius: 6px;
  background: var(--dm-paper);
  color: var(--dm-ink);
  font-size: 11px;
}
.dm-image-dialog {
  width: min(1500px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100% - 32px);
  padding: 20px;
  border: 1px solid #dfe5dd;
  border-radius: 16px;
  background: #fafbf7;
  color: #19392b;
  font: 14px/1.6 'DM Sans', Arial, sans-serif;
}
.dm-image-dialog::backdrop {
  background: #10271ddd;
}
.dm-dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
}
.dm-dialog-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
}
.dm-dialog-header button {
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid #dfe5dd;
  border-radius: 7px;
  background: #fff;
  color: #19392b;
  font: inherit;
  cursor: pointer;
}
.dm-expanded-image {
  display: block;
  max-width: 100%;
  max-height: calc(100dvh - 150px);
  width: auto;
  height: auto;
  margin: auto;
  border-radius: 8px;
}
@media (max-width: 900px) {
  #dm-landing .dm-showcase { padding: 0 25px 42px; }
  #dm-landing .dm-devices { gap: 32px; padding: 22px; grid-template-columns: minmax(0, 1fr); }
  #dm-landing .dm-mobile-device { width: min(100%, 320px); margin: auto; }
}
@media (max-width: 700px) {
  #dm-landing .dm-devices { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #dm-landing .dm-mobile-device { width: min(100%, 320px); margin: auto; }
  #dm-landing .dm-hero { text-align: left; }
  #dm-landing .dm-description { margin-left: 0; }
  #dm-landing .dm-actions { justify-content: flex-start; }
}
@media (max-width: 430px) {
  #dm-landing .dm-showcase { padding: 0 12px 32px; }
  #dm-landing .dm-devices { padding: 16px; border-radius: 16px; }
}

/* Editorial continuation: everyday food, practical detail, then a direct invitation. */
#dm-landing .dm-editorial {
  padding-top: 56px;
  padding-bottom: 100px;
}
#dm-landing .dm-editorial-label {
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dm-brand);
}
#dm-landing .dm-editorial-heading {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  column-gap: 48px;
  row-gap: 22px;
  align-items: end;
  margin-bottom: 48px;
}
#dm-landing .dm-editorial-heading .dm-editorial-label {
  grid-column: 1 / -1;
}
#dm-landing .dm-editorial-heading h2 {
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.25;
  letter-spacing: -1.2px;
}
#dm-landing .dm-editorial-heading em,
#dm-landing .dm-demo-inner em,
#dm-landing .dm-questions em,
#dm-landing .dm-farewell em {
  font-family: Georgia, serif;
  font-weight: 400;
}
#dm-landing .dm-editorial-heading > p:last-child {
  font-size: 14px;
  line-height: 1.8;
  color: var(--dm-muted);
}
#dm-landing .dm-editorial-body {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 64px;
  align-items: start;
}
#dm-landing .dm-food-story {
  margin: 0;
  min-width: 0;
}
#dm-landing .dm-food-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #35523b;
}
#dm-landing .dm-food-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#dm-landing .dm-food-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 35%, #10271dc9);
}
#dm-landing .dm-food-image p {
  position: absolute;
  left: 28px;
  bottom: 26px;
  z-index: 1;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -1.6px;
  color: #fff;
}
#dm-landing .dm-food-image em {
  font-family: Georgia, serif;
  font-weight: 400;
}
#dm-landing .dm-food-story figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 16px;
  padding-top: 14px;
  font-size: 11px;
  color: var(--dm-muted);
}
#dm-landing .dm-editorial-notes article {
  border-top: 1px solid var(--dm-line);
  padding: 24px 0 30px;
}
#dm-landing .dm-note-label {
  color: var(--dm-brand);
  font-size: 11px;
  margin-bottom: 12px;
}
#dm-landing .dm-editorial-notes h3 {
  font-size: 23px;
  line-height: 1.3;
  letter-spacing: -.6px;
  font-weight: 500;
  margin-bottom: 12px;
}
#dm-landing .dm-editorial-notes article > p:last-child {
  font-size: 14px;
  line-height: 1.8;
  color: var(--dm-muted);
}
#dm-landing .dm-demo-band {
  background: var(--dm-ink);
  color: #f4f7ef;
}
#dm-landing .dm-demo-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  padding-top: 60px;
  padding-bottom: 60px;
}
#dm-landing .dm-demo-inner .dm-editorial-label {
  color: #c4d3b7;
  margin-bottom: 20px;
}
#dm-landing .dm-demo-inner h2 {
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.2;
}
#dm-landing .dm-demo-action p {
  color: #d0dcd0;
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 20px;
}
#dm-landing .dm-demo-action a {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
  border-bottom: 1px solid #91a791;
  min-height: 44px;
  padding-bottom: 8px;
  font-size: 14px;
}
#dm-landing .dm-demo-action a:focus-visible {
  outline-color: #c4d3b7;
}
#dm-landing .dm-questions {
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  gap: 72px;
  padding-top: 90px;
  padding-bottom: 90px;
}
#dm-landing .dm-questions h2 {
  font-size: 42px;
  line-height: 1.1;
  margin-top: 20px;
}
#dm-landing .dm-question-list details {
  padding: 22px 0;
}
#dm-landing .dm-question-list details:first-child {
  border-top: 1px solid var(--dm-line);
}
#dm-landing .dm-question-list summary {
  font-size: 15px;
  line-height: 1.5;
  cursor: pointer;
  min-height: 32px;
}
#dm-landing .dm-question-list details p {
  max-width: 100%;
  font-size: 14px;
  line-height: 1.8;
  padding-top: 16px;
  padding-right: 30px;
}
#dm-landing .dm-help-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  min-height: 44px;
  margin-top: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
#dm-landing .dm-farewell {
  background: #e5ebdc;
}
#dm-landing .dm-farewell-inner {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 48px;
  padding-top: 64px;
  padding-bottom: 64px;
}
#dm-landing .dm-farewell h2 {
  margin-top: 22px;
  font-size: clamp(48px, 5.5vw, 72px);
  line-height: 1.05;
  letter-spacing: -2px;
}
#dm-landing .dm-farewell-action p {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 24px;
}
#dm-landing .dm-farewell-action > span {
  display: block;
  font-size: 11px;
  color: #53654f;
  margin-top: 14px;
}
@media (max-width: 900px) {
  #dm-landing .dm-editorial-heading { grid-template-columns: 1fr; gap: 20px; }
  #dm-landing .dm-editorial-heading > p:last-child { max-width: 480px; }
  #dm-landing .dm-editorial-body { gap: 32px; }
  #dm-landing .dm-editorial-notes h3 { font-size: 20px; }
  #dm-landing .dm-questions { gap: 36px; }
}
@media (max-width: 700px) {
  #dm-landing .dm-editorial { padding-top: 36px; padding-bottom: 56px; }
  #dm-landing .dm-editorial-heading { margin-bottom: 32px; }
  #dm-landing .dm-editorial-body { grid-template-columns: 1fr; }
  #dm-landing .dm-food-image { aspect-ratio: 5 / 4; }
  #dm-landing .dm-food-image p { font-size: 44px; }
  #dm-landing .dm-editorial-notes article { padding-bottom: 24px; }
  #dm-landing .dm-demo-inner { flex-direction: column; align-items: start; gap: 28px; padding-top: 40px; padding-bottom: 40px; }
  #dm-landing .dm-questions { grid-template-columns: 1fr; gap: 32px; padding-top: 56px; padding-bottom: 56px; }
  #dm-landing .dm-questions h2 { font-size: 36px; }
  #dm-landing .dm-questions h2 br { display: none; }
  #dm-landing .dm-farewell-inner { flex-direction: column; align-items: start; gap: 36px; padding-top: 48px; padding-bottom: 48px; }
}
