/* v5.8.2 — Editorial Motion & Alignment */
:root{
  --copy-wide: 720px;
  --copy-body: 650px;
  --copy-card: 42ch;
  --section-gap: clamp(88px, 10vw, 156px);
}

/* Editorial alignment */
.dm-hero-content,
.dm-story-intro,
.product-switcher-head,
.product-stage-head,
.product-panel-copy,
.product-card > div,
.product-hero-copy,
.product-final-cta .shell > div,
.footer-brand,
.footer-col{ text-align:left; }

.dm-hero-content h1,
.product-hero-copy h1{ max-width: 760px; text-wrap:balance; }
.dm-hero-content .dm-lead,
.product-hero-copy > p:not(.eyebrow){ max-width: 620px; }
.dm-story-intro p,
.product-stage-head > p,
.product-switcher-head > p{ max-width: var(--copy-body); }
.product-stage-head{ align-items:end; }
.product-stage-head > div{ max-width:var(--copy-wide); }
.product-stage-head h2{ text-wrap:balance; }
.product-proof p,.product-card p,.experience-step small{ max-width:var(--copy-card); }

/* Stronger desktop rhythm */
@media (min-width: 1024px){
  .dm-hero-grid{ grid-template-columns:minmax(420px,.92fr) minmax(560px,1.18fr); gap:clamp(48px,6vw,108px); }
  .dm-hero-content{ align-self:center; padding-block:clamp(48px,7vh,92px); }
  .dm-hero-content h1{ font-size:clamp(56px,5.2vw,92px); line-height:.94; letter-spacing:-.045em; }
  .dm-lead{ font-size:clamp(18px,1.35vw,23px); line-height:1.55; }
  .dm-hero-visual{ min-height:min(720px,78vh); }
  .dm-media-frame{ height:100%; min-height:640px; }
  .dm-media-frame img[data-dm-image]{ object-fit:cover; object-position:var(--dm-focus,50% 50%); }
  .dm-story-grid{ grid-template-columns:minmax(300px,.48fr) minmax(640px,1fr); gap:clamp(60px,8vw,130px); }
  .dm-story-intro{ position:sticky; top:140px; align-self:start; }
  .product-stage{ padding-block:var(--section-gap); }
  .product-stage-head{ grid-template-columns:minmax(0,.9fr) minmax(360px,.55fr); gap:70px; }
  .product-card{ grid-template-rows:320px auto; }
  .product-card img{ width:100%; height:320px; object-fit:cover; }
  .product-gallery{ grid-template-columns:repeat(12,1fr); gap:24px; }
  .product-gallery figure:nth-child(1){ grid-column:span 7; }
  .product-gallery figure:nth-child(2){ grid-column:span 5; }
  .product-gallery figure:nth-child(3){ grid-column:3/span 8; }
  .product-gallery figure img{ width:100%; height:clamp(320px,36vw,560px); object-fit:contain; background:#101014; }
}

/* Motion-ready masks */
[data-editorial-hero] .dm-media-frame,
[data-motion-card],
[data-editorial-section]{ will-change:transform,opacity; }
.dm-media-frame{ overflow:hidden; }
.dm-media-frame::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg,rgba(245,179,52,.18),transparent 34%,transparent 70%,rgba(181,84,58,.12));
  mix-blend-mode:screen; opacity:.55;
}
.editorial-progress{ position:fixed; inset:0 0 auto; height:3px; z-index:1000; background:rgba(255,255,255,.04); }
.editorial-progress > span{ display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#f5b334,#e6e1d6,#b5543a); }

/* Better controls */
.dm-product-nav button,.product-tab,.experience-step{
  position:relative; overflow:hidden; transform:translateZ(0);
}
.dm-product-nav button::after,.product-tab::after,.experience-step::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg,#f5b334,#b5543a); transform:scaleX(0); transform-origin:left; transition:transform .45s ease;
}
.dm-product-nav button[aria-selected="true"]::after,
.product-tab[aria-selected="true"]::after,
.experience-step[aria-selected="true"]::after,
.dm-product-nav button:hover::after,.product-tab:hover::after,.experience-step:hover::after{ transform:scaleX(1); }
.button{ transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.button:hover{ transform:translateY(-3px); box-shadow:0 14px 40px rgba(0,0,0,.28); }
.button:active{ transform:translateY(0) scale(.985); }

/* Readability */
.product-proof,.product-card,.experience-view,.product-panel{ background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)); border-color:rgba(245,179,52,.18); }
.product-proof h3,.product-card h3,.experience-caption h3{ text-wrap:balance; }

@media (max-width:1023px){
  .dm-hero-content h1,.product-hero-copy h1{ font-size:clamp(42px,11vw,66px); }
  .product-stage-head,.product-switcher-head{ align-items:start; }
  .product-gallery figure img{ object-fit:contain; background:#101014; }
}

@media (prefers-reduced-motion:reduce){
  [data-motion-card],[data-editorial-section]{ transform:none!important; opacity:1!important; }
  .editorial-progress{ display:none; }
}
