/* Digital Marketing only. Existing tile spans, measured packing, motion,
   source typography, logo, background and navigation remain in site.css. */
.dm-grid [hidden],.dm-video-gallery [hidden]{display:none!important}
.dm-grid button,.dm-grid summary,.dm-video-gallery button,.dm-video-gallery .dm-watch-link{min-height:44px;touch-action:manipulation}
.dm-grid button{font:inherit;color:inherit;border-radius:0;cursor:pointer}
.dm-grid .dm-disclosure,.dm-grid .dm-video-launch{width:100%;border:0;background:transparent;text-align:left;font-size:.8125rem}
.dm-grid .dm-disclosure>span:first-child{font-size:inherit;transform:none}
.dm-grid .dm-detail{padding-top:15px}
.dm-grid .dm-detail>:last-child{margin-bottom:0}
.dm-grid .dm-spacebar-comparison{margin-top:24px}
.dm-grid .dm-spacebar-comparison figure{margin:24px 0 0;min-width:0}
.dm-grid .dm-spacebar-comparison .eyebrow{margin:0 0 8px}
.dm-grid .dm-spacebar-preview{display:block;width:100%;height:auto}
.dm-grid .dm-spacebar-comparison figcaption{margin-top:12px;font-size:.8125rem;line-height:1.5}
.dm-grid .dm-spacebar-comparison figcaption p{margin:8px 0 0}
.dm-grid .dm-spacebar-reference{display:flex;align-items:center;flex-wrap:wrap;gap:0 .3em;min-height:44px;padding:8px 0;text-underline-offset:3px}
.dm-grid .dm-spacebar-reference span{font-size:.6875rem}
.dm-grid ul,.dm-grid dl,.dm-grid blockquote{font-size:.8125rem;line-height:1.5}
.dm-grid ul{padding-left:18px}
.dm-grid li+li{margin-top:8px}
.dm-grid dt{font-weight:600;margin-top:16px}
.dm-grid dd{margin:4px 0 14px}
.dm-grid blockquote{margin:16px 0;padding-left:15px;border-left:2px solid currentColor}
.dm-grid .dm-machine-list{list-style:none;padding:0}
.dm-grid .dm-machine-list li+li{margin-top:4px}
.dm-grid .dm-lead-lessons p+p{margin-top:20px}
.dm-grid .dm-signature{margin-top:28px}
.dm-grid summary{cursor:pointer;padding:10px 0;font-size:.8125rem;line-height:1.5}
.dm-grid details[open]>summary{margin-bottom:8px}
.dm-grid .dm-pillars details+details{border-top:1px solid #05053030}
.dm-grid .dm-pillars summary{font-weight:600}
.dm-grid .dm-process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:20px 0 15px}
.dm-grid .dm-process-steps button{border:0;border-bottom:1px solid #05053040;background:transparent;text-align:left;padding:10px 0;line-height:1.5;overflow-wrap:anywhere}
.dm-grid .dm-process-steps button span{font-size:.625rem;margin-right:6px}
.dm-grid .dm-process-steps button[aria-pressed=true]{border-bottom:3px solid var(--navy);font-weight:600}
.dm-grid [data-dm-step-detail]{margin:0 0 15px}
.dm-grid .dm-photo{display:block;width:100%;height:auto}
.dm-grid .dm-gabe-photo{object-position:center}
/* Let the photographs retain their full frames. Long captions occupy their
   own space instead of covering people or the working environment. */
.dm-grid .dm-atmosphere{display:block}
.dm-grid .dm-atmosphere>.tile-image{position:static;width:100%;height:auto;object-fit:contain}
.dm-grid .dm-atmosphere>.tile-copy{background:#1d1d1d;padding:17px 35px}
.dm-grid .dm-josh-image{display:grid;background:#1d1d1d}
.dm-grid .dm-josh-image>.dm-josh-photo{grid-area:1/1;align-self:start;width:100%;height:auto}
.dm-grid .dm-josh-image>.tile-copy{grid-area:1/1;align-self:end;position:relative;background:linear-gradient(transparent,rgba(0,0,0,.88) 30%);padding:35px 35px 17px;color:#fff}
.dm-grid .dm-josh-image h2,.dm-grid .dm-josh-image p{color:#fff}
.dm-grid .dm-josh-image :focus-visible{outline-color:#fff}
.dm-grid .dm-video-preview-list{padding:8px 25px 0}
.dm-grid .dm-video-preview{display:flex;align-items:center;gap:12px;width:100%;padding:13px 0;border:0;border-bottom:1px solid #05053035;background:transparent;text-align:left}
.dm-grid .dm-video-preview strong{display:block;font-size:.8125rem;font-weight:600;line-height:1.5}
.dm-grid .dm-video-preview small{display:block;font-size:.6875rem;line-height:1.5;margin-top:3px}
.dm-grid .dm-video-number{font-size:.625rem;flex:0 0 auto}
.dm-grid .dm-play{margin-left:auto;font-size:.8125rem;flex:0 0 auto}
.dm-grid .dm-video-all{padding:0 25px 12px}
.dm-grid .dm-video-fallback{padding:17px 35px}
.dm-grid .dm-video-fallback ol{padding-left:20px}
.dm-grid .dm-video-fallback a{display:inline-block;min-height:44px;padding:8px 0;font-size:.8125rem;line-height:1.5}
.dm-grid .dm-evolution>.tile-copy{padding-bottom:20px}
.dm-grid .dm-evolution-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dm-grid .dm-evolution-pair figure{margin:0;min-width:0}
.dm-grid .dm-evolution-pair figcaption{padding:15px 20px 20px;font-size:.8125rem;line-height:1.5}
.dm-grid .dm-evolution-pair figcaption p{margin-top:8px}
.dm-video-gallery{width:calc(100% - 24px);max-width:980px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:0;background:var(--paper);color:var(--ink);font:inherit;overflow:auto;overscroll-behavior:contain}
.dm-video-gallery:not([open]){display:none}
.dm-video-gallery::backdrop{background:rgba(5,5,48,.85)}
.dm-video-gallery .dm-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 24px;position:sticky;top:0;z-index:1;background:var(--paper);border-bottom:1px solid #05053030}
.dm-video-gallery h2,.dm-video-gallery h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.5px;font-weight:600}
.dm-video-gallery h2{margin:0}
.dm-video-gallery h3{margin:20px 0 10px}
.dm-video-gallery p{font-size:.8125rem;line-height:1.5;margin:0 0 12px}
.dm-video-gallery button{font:inherit;color:inherit;background:transparent;border:1px solid #05053050;border-radius:0;padding:10px 12px;cursor:pointer}
.dm-video-gallery .dm-gallery-close{flex:0 0 auto}
.dm-video-gallery .dm-gallery-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:24px;padding:24px}
.dm-video-gallery .dm-player-column{min-width:0;overflow-wrap:anywhere}
.dm-video-gallery [data-dm-player]:empty{display:none}
/* YouTube requires a viewport at least 200px high. On narrow phones its player
   letterboxes the video inside that viewport; the video is never stretched. */
.dm-video-gallery iframe{display:block;width:100%;aspect-ratio:16/9;min-height:200px;border:0;background:#000}
.dm-video-gallery .dm-video-credits{white-space:pre-line}
.dm-video-gallery .dm-watch-link{display:inline-flex;align-items:center;font-size:.8125rem;line-height:1.5;text-underline-offset:3px}
.dm-video-gallery .dm-gallery-choices{display:grid;align-content:start;gap:8px;list-style:none;margin:0;padding:0;min-width:0}
.dm-video-gallery .dm-gallery-choices button{width:100%;text-align:left;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}
.dm-video-gallery .dm-gallery-choices strong,.dm-video-gallery .dm-gallery-choices span{display:block}
.dm-video-gallery .dm-gallery-choices strong{font-weight:600}
.dm-video-gallery .dm-gallery-choices span{font-size:.6875rem;margin-top:4px}
.dm-video-gallery .dm-gallery-choices [aria-pressed=true]{background:var(--orange);border-color:var(--navy)}
.dm-video-gallery :focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(max-width:700px){
  .dm-video-gallery .dm-gallery-body{grid-template-columns:minmax(0,1fr);padding:16px;gap:20px}
  .dm-video-gallery .dm-gallery-header{padding:12px 16px}
}
@media(max-width:480px){
  .dm-grid .dm-process-steps{gap:6px 10px}
  .dm-grid .dm-process-steps button{font-size:.8125rem}
  .dm-grid .dm-evolution-pair{grid-template-columns:minmax(0,1fr);gap:0}
  .dm-grid .dm-evolution-pair figcaption{padding:15px 35px 25px}
  .dm-grid .dm-josh-image{display:block}
  .dm-grid .dm-josh-image>.tile-copy{padding:17px 25px;background:#1d1d1d}
  .dm-video-gallery .dm-gallery-header{flex-wrap:wrap}
  .dm-video-gallery h2{font-size:1.125rem}
}

/* Composition v3: editorial size assignments, never an alternate layout engine.
   Full photo frames retain people, equipment and room context. */
.dm-grid .dm-process{--tile-rows:1}
.dm-grid .dm-process-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.dm-grid .dm-video-feature{display:grid;grid-template-columns:2fr 1fr;align-items:stretch;background:var(--navy);color:#fff}
.dm-grid .dm-video-feature .dm-josh-photo{width:100%;height:auto;align-self:start}
.dm-grid .dm-video-summary{display:flex;flex-direction:column;min-width:0}
.dm-grid .dm-video-summary>.tile-copy{padding:24px 22px 0}
.dm-grid .dm-video-summary h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.5px;margin-bottom:18px}
.dm-grid .dm-video-summary p{font-size:.9375rem;line-height:1.5}
.dm-grid .dm-video-summary strong{font-size:1rem;font-weight:600}
.dm-grid .dm-video-summary p{color:#fff}
.dm-grid .dm-video-summary :focus-visible{outline-color:#fff}
.dm-grid .dm-video-summary .dm-video-all{padding:16px 22px 24px;margin-top:auto}
.dm-grid .dm-video-summary .dm-video-launch{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0;padding:12px 14px;background:var(--orange);color:var(--navy);font-size:.875rem;line-height:1.4;font-weight:600;text-decoration:none}
.dm-grid .dm-video-summary .dm-video-launch:hover{text-decoration:underline;text-underline-offset:3px}
.dm-grid .dm-video-preview-heading{display:flex;justify-content:space-between;gap:12px;padding:18px 24px 0;font-size:.875rem;font-weight:600;line-height:1.4}
.dm-grid .dm-video-preview-heading span{font-weight:400;color:#555}
.dm-grid:not(.dm-video-enhanced) .dm-video-preview-heading,.dm-grid:not(.dm-video-enhanced) .dm-video-preview-list{display:none}
.dm-grid .dm-video-preview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:12px 12px 18px}
.dm-grid .dm-video-preview{align-items:flex-start;min-width:0;border:0;border-left:1px solid #05053028;gap:10px;padding:12px;text-align:left;transition:background-color 160ms ease}
.dm-grid .dm-video-preview:first-child{border-left:0}
.dm-grid .dm-video-preview strong{font-size:.875rem;line-height:1.45}
.dm-grid .dm-video-preview small{font-size:.75rem;color:#555}
.dm-grid .dm-video-preview .dm-play{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;margin:0;background:var(--navy);color:#fff;font-size:.75rem}
.dm-grid .dm-video-preview:hover,.dm-grid .dm-video-preview:focus-visible{background:#fff}
.dm-grid .dm-video-preview:focus-visible{outline:3px solid var(--navy);outline-offset:-3px}
.dm-grid .dm-human-photo{margin:0}
.dm-grid .dm-human-photo figcaption{padding:12px 35px 0;font-size:.8125rem;line-height:1.5}
.dm-grid .dm-human>.tile-copy{padding-top:20px}
/* Keep the existing heading size when the interior becomes a large tile. */
.dm-grid .dm-inside h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.5px}
@media(max-width:714px){
  .dm-grid .dm-video-feature{display:block}
  .dm-grid .dm-video-summary>.tile-copy{padding:22px 35px 0}
  .dm-grid .dm-video-summary .dm-video-all{padding:0 35px 16px}
  .dm-grid .dm-video-preview-heading{padding:18px 24px 0}
  .dm-grid .dm-video-preview-list{display:block;padding:8px 12px 16px}
  .dm-grid .dm-video-preview{border-left:0;border-bottom:1px solid #05053028;padding:14px 12px}
  .dm-grid .dm-video-preview:last-child{border-bottom:0}
  .dm-grid .dm-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){.dm-grid .dm-video-preview{transition:none}}

/* This existing film plays on its YouTube page; do not show a known failed embed. */
.dm-video-gallery .dm-external-video-notice{padding:24px;background:var(--navy);color:#fff;font-size:1rem;line-height:1.5;margin:0}
.dm-video-gallery .dm-watch-link--primary{padding:12px 18px;min-height:48px;background:var(--orange);color:var(--navy);font-size:.9375rem;font-weight:600;text-decoration:none}
.dm-video-gallery .dm-watch-link--primary:hover{text-decoration:underline}
.dm-video-gallery .dm-gallery-choices .dm-video-destination{font-weight:600;font-size:.75rem}
