/* DRILLNOVA visual consistency candidate, 2026-09-11.
 * Load once, after editorial.css and the other existing presentation assets.
 * This is deliberately unlayered: a new @layer would lose to legacy unlayered CSS.
 * No visibility, positioning, grid, image-crop, animation or interaction-state reset.
 */
:root {
  --dn-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --dn-ui-ink: #172e3c;
  --dn-ui-muted: #52636e;
  --dn-ui-paper: #ffffff;
  --dn-ui-surface: #f5f6f7;
  --dn-ui-line: #dce2e6;
  --dn-ui-gold: #ff9e16;
  --dn-ui-gold-hover: #f08d00;
  --dn-ui-radius-control: 10px;
  --dn-ui-radius-media: 12px;
  --dn-ui-radius-card: 16px;
  --dn-ui-h1: clamp(36px, 3.8vw, 54px);
  --dn-ui-h2: clamp(28px, 2.7vw, 40px);
  --dn-ui-h3: clamp(22px, 1.8vw, 24px);
  --wp--preset--font-family--industrial: var(--dn-ui-font);
  --ink: var(--dn-ui-ink);
  --muted: var(--dn-ui-muted);
  --paper: var(--dn-ui-paper);
  --line: var(--dn-ui-line);
  --dn-accent: var(--dn-ui-gold);
  --dn-accent-hover: var(--dn-ui-gold-hover);
  --dn-accent-ink: var(--dn-ui-ink);
}

body,
.dn-contact-widget,
.dn13-media-signature,
.dn13-media-dialog,
.dn-masthead-compact .dn-mobile-nav,
.dn-masthead-compact[data-enhanced=true] .dn-mobile-toggle {
  font-family: var(--dn-ui-font);
}
body { background: var(--dn-ui-paper); }
button, input, select, textarea { font-family: inherit; }
.dn-masthead { --dn-nav-paper: var(--dn-ui-paper); --dn-nav-ink: var(--dn-ui-ink); }
.dn12-resources { --dn12-ink: var(--dn-ui-ink); --dn12-muted: var(--dn-ui-muted); --dn12-line: var(--dn-ui-line); }
.dn10q { --dn10q-ink: var(--dn-ui-ink); --dn10q-muted: var(--dn-ui-muted); --dn10q-line: var(--dn-ui-line); }
.dn10-evolution { --evo-ink: var(--dn-ui-ink); --evo-copy: var(--dn-ui-muted); --evo-line: var(--dn-ui-line); }

/* One clear heading scale. Important declarations only bridge old prose rules. */
body main#content :is(.dn-page-intro, .dn7-product, .dn12-resource-intro,
  .dn15-field-intro, .dn13-manufacturing, .dn10q) h1,
body main#content.dn-prose h1,
body main#content .dn17-story h1,
body:has(.dn17-story) main#content>.wp-block-post-title {
  font-size: var(--dn-ui-h1) !important;
  font-weight: 600;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}
.home .dn-hero h1 {
  font-size: clamp(42px, 4.8vw, 72px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.home .dn-hero .dn-lead { font-size: 18px; line-height: 1.65; }
.home .dn-hero .eyebrow { font-size: 11px; letter-spacing: .09em; }
body main#content :is(.dn-section, .dn7-product, .dn12-resource-section,
  .dn13-manufacturing, .dn10q) h2,
body main#content .dn11-section-head h2 {
  font-size: var(--dn-ui-h2);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -.028em;
}
body:has(.dn17-story) main#content .dn17-story h2 {
  font-size: clamp(26px, 2.3vw, 32px) !important;
  line-height: 1.22 !important;
  font-weight: 600;
  letter-spacing: -.02em;
}
body main#content :is(.dn-card-copy, .dn11-card-copy, .dn12-catalogue-copy,
  .dn12-resource-copy, .dn13-core-option-copy) h3,
body main#content .dn15-field-copy h2,
body main#content .dn21-event-copy h3,
body main#content .dnsv-card h3,
body main#content .dn14-video h3 {
  font-size: var(--dn-ui-h3) !important;
  line-height: 1.25 !important;
  font-weight: 600;
  letter-spacing: -.02em;
}
body main#content .dn12-featured-copy h3,
body main#content .dn16-mount-grid h3,
body main#content .dn16-routes h3 { font-size: 22px; line-height: 1.25; letter-spacing: -.02em; }
body main#content .dn15-model-heading h3 { font-size: 28px; line-height: 1.15; font-weight: 600; letter-spacing: -.025em; }
:is(.dn6-models.dn15-models, #models .dn6-models.dn15-models) .dn15-model-heading h3 {
  font-size: 28px; line-height: 1.15; font-weight: 600; letter-spacing: -.025em;
}
body main#content :is(.dn15-product-field-link, .dn10-evolution) h2 {
  font-size: clamp(26px, 2.3vw, 32px); line-height: 1.22;
}
body:has(.dn17-story) main#content .dn17-story .dn17-takeaway h2,
body:has(.dn17-story) main#content .dn17-story .dn-knowledge-download h2 {
  font-size: 24px !important;
}

/* Neutral surfaces give the product photographs and brand gold room to lead. */
.dn-prose { background: var(--dn-ui-paper); }
.dn-soft, .dn-resource-section, .dn-related, .dn-product-models,
.dn-featured-models, .dn-page-intro, .dn10q .dn10q-band {
  background: var(--dn-ui-surface);
}
body main#content :is(.dn-product-card, .dn-story-card, .dn11-product-card,
  .dn11-report-card, .dn12-resource-card, .dn12-catalogue-card,
  .dn12-featured-card, .dn15-model-card, .dn15-field-card,
  .dn21-event-card, .dn14-video, .dnsv-card) {
  border-color: var(--dn-ui-line);
  border-radius: var(--dn-ui-radius-card);
}
/* Catalogue containers deliberately retain overflow:visible for focus outlines. */
.dn12-catalogue-media, .dn15-model-stage, .dn12-resource-cover {
  background: var(--dn-ui-surface);
  border-top-left-radius: var(--dn-ui-radius-card);
  border-top-right-radius: var(--dn-ui-radius-card);
}
body main#content :is(.dn-card-copy, .dn11-card-copy, .dn12-catalogue-copy, .dn12-resource-copy) {
  padding: 24px;
}
body main#content .dn21-event-copy { padding: 24px; }
body main#content .dn12-resource-copy h3 { min-height: 0; }
body main#content .dn12-catalogue-copy>h3 { min-height: 0; }
body main#content :is(.dn12-resource-copy, .dn12-catalogue-copy) p { line-height: 1.6; }
:is(.dn6-models.dn15-models, #models .dn6-models.dn15-models) .dn15-model-card {
  border-color: var(--dn-ui-line); border-radius: var(--dn-ui-radius-card);
}

/* Round the image frame, never change a technical drawing's crop or scale. */
body main#content .dn17-story figure.dn17-photo,
body main#content .dn15-guide-illustration {
  border-color: var(--dn-ui-line);
  border-radius: var(--dn-ui-radius-media);
}
body main#content .dn17-story .dn17-photo figcaption {
  background: var(--dn-ui-surface) !important;
  color: var(--dn-ui-muted) !important;
}
body main#content .dn17-story .dn18-panel,
body main#content .dn17-story .dn17-takeaway,
body main#content .dn17-story .dn18-formula,
body main#content .dn-knowledge-download,
body main#content .dn16-mount-grid article,
body main#content .dn16-guide-path,
body main#content .dn15-field-footer,
body main#content .dn21-resource-more {
  background: var(--dn-ui-surface);
  border-radius: var(--dn-ui-radius-media);
}
body main#content .dn21-announcement .dn21-announcement-hero {
  border-color: var(--dn-ui-line);
  border-radius: var(--dn-ui-radius-card);
}

/* Shared control geometry; existing filled/outline, selected and disabled roles remain. */
body .wp-block-button__link,
body .dn-submit,
body .dn7-actions a,
body .dn7-button,
body .dn10q .dn10q-button,
body .dn16-primary,
body .dn15-field-footer>a,
body .dn15-case-cta>a,
body main#content .dn15-model-actions a,
body .dn-masthead-compact .dn-header-enquiry,
body .dn-masthead-compact .dn-mobile-footer>a,
body .dn17-story .dn17-next .dn17-primary,
body .dn17-story .dn17-next>a[href^="/enquiry/"],
body .dn21-event-links .dn21-meet {
  min-height: 46px;
  border-radius: var(--dn-ui-radius-control);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.005em;
}
body .wp-block-button__link,
body .dn7-actions a,
body .dn7-button,
body .dn16-primary { padding: 13px 20px; }
.home .dn-hero .wp-block-button__link { font-size: 15px; border-radius: var(--dn-ui-radius-control); }
:is(.dn6-models.dn15-models, #models .dn6-models.dn15-models) .dn15-model-actions a {
  min-height: 46px; border-radius: var(--dn-ui-radius-control); font-size: 14px;
}
body .dn17-story .dn17-next .dn17-primary,
body .dn17-story .dn17-next>a[href^="/enquiry/"],
body .dn21-event-links .dn21-meet { background: var(--dn-ui-gold); color: var(--dn-ui-ink); }
body .dn17-story .dn17-next .dn17-primary:hover,
body .dn17-story .dn17-next>a[href^="/enquiry/"]:hover,
body .dn21-event-links .dn21-meet:hover { background: var(--dn-ui-gold-hover); }
body .dn12-resource-nav a,
body .dn17-reader-routes a,
body .dn-resource-nav a { border-radius: var(--dn-ui-radius-control); min-height: 44px; }
body .dn-filter button,
body .dn15-field-filters button { min-height: 44px; border-radius: 999px; font-size: 14px; }
body .wpcf7 input:not([type=checkbox]):not([type=submit]):not([type=hidden]),
body .wpcf7 select,
body .wpcf7 textarea,
body .dn13-resource-search input {
  border-radius: var(--dn-ui-radius-control);
  border-color: var(--dn-ui-line);
  font-size: 16px;
}

/* Products and Resources should feel like the same navigation component. */
.dn-masthead-compact .dn-header-row { min-height: 86px; }
.dn-masthead-compact .dn-site-brand img { width: 172px; }
.dn-masthead-compact .dn-product-trigger,
.dn-masthead-compact .dn-primary-link,
.dn-masthead-compact .dn-trigger-fallback { font-weight: 600; letter-spacing: -.015em; }
.dn-masthead-compact .dn-header-enquiry { padding: 8px 10px 8px 16px; }
.dn-masthead-compact .dn-enquiry-arrow { background: transparent; }
.dn-masthead-compact .dn-mega-heading h2,
#dn-panel-resources .dn-mega-heading h2 { font-size: 25px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.dn-masthead-compact .dn-mega-column>h3 { font-size: 12px; line-height: 1.5; letter-spacing: .065em; }
.dn-masthead-compact .dn-mega-link strong { font-size: 16px; line-height: 1.3; letter-spacing: -.01em; font-weight: 600; }
.dn-masthead-compact .dn-mega-link>span { font-size: 13px; line-height: 1.45; color: var(--dn-ui-muted); }
.dn-masthead-compact .dn-model-link strong { font-size: 14px; line-height: 1.4; }
.dn-masthead-compact .dn-mega-bottom { font-size: 13px; line-height: 1.5; }
.dn-masthead-compact .dn-mega-bottom a,
.dn-masthead-compact .dn-mega-overview { font-size: 14px; line-height: 1.4; }
.dn-footer-links a { font-size: 14px; line-height: 1.6; }
.dn-footer-links h2 { font-size: 12px; letter-spacing: .07em; }
.dn-contact-panel { border-radius: var(--dn-ui-radius-card); }
.dn-contact-action { border-radius: var(--dn-ui-radius-control); }

@media (hover:hover) and (pointer:fine) {
  body main#content :is(.dn12-resource-card, .dn12-catalogue-card, .dn15-field-card):hover {
    border-color: #b8c3ca;
    box-shadow: 0 6px 20px rgba(23,46,60,.055);
  }
}
@media (min-width:1024px) and (max-width:1230px) {
  .dn-masthead-compact .dn-site-brand img { width: 150px; }
  body .dn-masthead-compact .dn-header-enquiry { font-size: 13px; }
}
@media (max-width:1023px) {
  .dn-masthead-compact .dn-header-row { min-height: 74px; }
  .dn-masthead-compact .dn-site-brand img { width: 156px; }
  .dn-masthead-compact .dn-mobile-nav { background: var(--dn-ui-paper); }
  .dn-masthead-compact .dn-accordion-trigger>span,
  .dn-masthead-compact .dn-mobile-secondary a {
    font-size: 18px; line-height: 1.4; font-weight: 600; letter-spacing: -.015em;
  }
  body .dn-masthead-compact .dn-mobile-footer>a { width: 218px; max-width: 100%; }
}
@media (max-width:760px) {
  :root { --dn-ui-h1: clamp(34px, 8.8vw, 40px); --dn-ui-h2: clamp(28px, 7vw, 32px); --dn-ui-h3: 23px; }
  .home .dn-hero h1 { font-size: clamp(38px, 9.7vw, 44px); line-height: 1.08; }
  .home .dn-hero .dn-lead { font-size: 17px; line-height: 1.65; }
  body:has(.dn17-story) main#content .dn17-story h2 { font-size: 26px !important; }
  body:has(.dn17-story) main#content .dn17-story .dn17-takeaway h2,
  body:has(.dn17-story) main#content .dn17-story .dn-knowledge-download h2 { font-size: 23px !important; }
  body main#content :is(.dn-card-copy, .dn11-card-copy, .dn12-catalogue-copy, .dn12-resource-copy),
  body main#content .dn21-event-copy { padding: 22px; }
  body main#content .dn15-model-heading h3 { font-size: 27px; }
  :is(.dn6-models.dn15-models, #models .dn6-models.dn15-models) .dn15-model-heading h3 { font-size: 27px; }
}
@media (max-width:359px) {
  .dn-masthead-compact .dn-site-brand img { width: 148px; }
  body main#content :is(.dn-card-copy, .dn11-card-copy, .dn12-catalogue-copy, .dn12-resource-copy),
  body main#content .dn21-event-copy { padding: 20px; }
}

/* Media-only candidate. Load after site-v14.css, social-video-integration.css
   and editorial.css (after enqueue priority 140). No video files are changed.
   The five explicitly mapped local videos are portrait; future videos should
   use dn-media-portrait / dn-media-landscape after checking their source ratio. */

.dn14-video {
  --dn-media-width: 100%;
  --dn-media-ratio: 16 / 9;
  --dn-media-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  --dn-media-portrait-width: 270px;
  --dn-media-background: #f5f5f7;
  margin: 0;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

:is(
  #video-centre-reference,
  #video-social-core-barrel-motion,
  #video-social-bullet-tooth-removal,
  #video-social-mud-density-check,
  #video-social-bolted-roller-bit-layout,
  .dn-media-portrait
) {
  --dn-media-width: var(--dn-media-portrait-width);
  --dn-media-ratio: 9 / 16;
  --dn-media-columns: minmax(0, var(--dn-media-portrait-width)) minmax(0, 1fr);
}

.dn14-video.dn-media-landscape {
  --dn-media-width: 100%;
  --dn-media-ratio: 16 / 9;
  --dn-media-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.dn14-video-grid,
.dnsv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 40px;
  align-items: start;
}

.dn14-video-single {
  margin-block: 48px;
}

.dn14-video-single > .dn14-video-inline,
.dnsv-single .dn14-video-inline {
  display: grid;
  width: min(100%, 1040px);
  margin-inline: auto;
  grid-template-columns: var(--dn-media-columns);
  gap: 40px;
  align-items: start;
}

/* Remove the old 315/440px minimums, 3:4/4:5 ratios and caption-dependent
   height:100%. Aspect ratio now establishes an independent media rectangle. */
.dn14-video .dn14-video-stage,
.dn14-video-inline .dn14-video-stage,
.dnsv-card .dnsv-stage,
.dnsv-single .dn14-video-inline .dnsv-stage {
  position: relative;
  width: min(100%, var(--dn-media-width));
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: var(--dn-media-ratio);
  margin-inline: auto;
  align-self: start;
  overflow: hidden;
  border-radius: 12px;
  background: var(--dn-media-background);
}

.dn14-video .dn14-video-stage > video {
  position: absolute !important;
  inset: 0;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: none;
  margin: 0 !important;
  object-fit: contain;
  object-position: center;
  background: var(--dn-media-background);
}

.dn14-video figcaption,
.dnsv-card figcaption,
.dnsv-single .dn14-video-inline figcaption {
  display: block;
  width: 100%;
  max-width: 36rem;
  margin-inline: auto;
  padding: 24px 0 0;
  background: transparent;
  border: 0;
  text-align: left;
}

.dn14-video-single .dn14-video-inline figcaption {
  padding: 0;
}

.dn14-video .dn14-video-meta {
  gap: 12px;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: #68747b;
}

.dn14-video h3,
.dn7-product .dn14-video h3,
.dn17-story .dn14-video h3 {
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.dn14-video p,
.dn7-product .dn14-video p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.65;
  color: #52616b;
}

/* Match the article's existing important typography rules without affecting
   any other article paragraph. */
body:has(.dn17-story) main#content .dn17-story .dn14-video p {
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.dn14-video .dn14-video-links {
  align-items: flex-start;
  gap: 4px 20px;
}

.dn14-video .dn14-video-links a {
  min-height: 44px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  white-space: normal;
}

.dn14-video details,
.dn17-story .dn14-video details,
.dnsv-single .dn14-video-inline details {
  margin: 20px 0 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #e1e5e8;
}

.dn14-video details summary,
.dn17-story .dn14-video details summary {
  min-height: 44px;
  padding: 12px 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

.dn14-video details p,
body:has(.dn17-story) main#content .dn17-story .dn14-video details p {
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* The casing item is an external-video link with a square product rendering,
   not a locally measured landscape video. Keep the whole reference visible. */
#video-casing-system .dn14-video-play {
  position: absolute;
  inset: 0;
  padding: 16px;
  background: var(--dn-media-background);
}

#video-casing-system .dn14-video-play img {
  width: 100%;
  height: calc(100% - 72px);
  object-fit: contain;
}

/* Optional future legacy embeds keep their established landscape viewport. */
.dn-video iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

@media (max-width: 760px) {
  .dn14-video {
    --dn-media-portrait-width: 236.25px; /* 420px tall at 9:16 */
  }

  .dn14-video-grid,
  .dnsv-grid,
  .dn14-video-single > .dn14-video-inline,
  .dnsv-single .dn14-video-inline {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .dn14-video-grid,
  .dnsv-grid {
    row-gap: 40px;
  }

  .dn14-video-single {
    margin-block: 32px;
  }

  .dn14-video figcaption,
  .dnsv-card figcaption,
  .dnsv-single .dn14-video-inline figcaption {
    padding: 20px 0 0;
  }

  .dn14-video-single .dn14-video-inline figcaption {
    padding-top: 0;
  }

  .dn14-video h3,
  .dn7-product .dn14-video h3,
  .dn17-story .dn14-video h3 {
    font-size: 22px;
  }

  .dn14-video .dn14-video-links {
    display: grid;
    justify-items: start;
    gap: 4px;
  }
}

/* Shared reading rhythm. Preserve the technical content and native image viewer. */
:root { --dn-ui-h2:clamp(28px,2.5vw,36px); --dn-ui-surface:#f5f5f7; --dn-ui-section:72px; }
body :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea) { font-family:var(--dn-ui-font); }
body main#content :is(h1,h2,h3) { font-weight:600; }
body main#content .dn-section { padding-block:var(--dn-ui-section); }
body main#content :is(.dn-section,.dn7-product) h2 { font-size:var(--dn-ui-h2);line-height:1.18;letter-spacing:-.025em; }
body main#content .dn11-section-head h2 { font-size:var(--dn-ui-h2); }
body .dn-section-inner { max-width:1200px; }
body main#content .dn17-story :is(.dn17-kicker,.dn17-meta,.dn17-number),
body main#content .dn17-story .dn-knowledge-toc>p { font-size:12px!important;line-height:1.5!important; }
body main#content .dn17-story .dn17-meta { font-size:13px!important; }
body main#content .dn17-story .dn-knowledge-toc li { font-size:14px!important;line-height:1.5!important; }
body main#content .dn17-story .dn17-intro .dn17-publisher { font-size:12px!important;line-height:1.5!important;margin:-4px 0 20px; }
body main#content .dn17-story .dn17-step { padding-block:48px;gap:48px; }
body main#content .dn17-story .dn17-photo { background:var(--dn-ui-surface); }
body main#content .dn17-story .dn17-photo img { aspect-ratio:4/3;background:var(--dn-ui-surface)!important; }
body main#content .dn17-story .dn18-instrument img { aspect-ratio:auto; }
body main#content .dn17-story .dn17-photo-pair .dn17-photo img { aspect-ratio:4/3; }
body main#content .dn17-story .dn17-facts dl:has(>div:nth-child(2):last-child),
body main#content .dn17-story .dn17-facts dl:has(>div:nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
body main#content .dn17-story .dn17-facts dl>div { border:0;padding-right:0; }
body main#content .dn17-story .dn17-facts { padding:24px;border:0;border-radius:16px;background:var(--dn-ui-surface); }
body main#content .dn17-story :is(.dn18-panel,.dn17-takeaway) { border:1px solid var(--dn-ui-line);border-radius:16px; }
body main#content .dn17-story .dn18-table-wrap caption,
body main#content .dn17-story .dn18-table-wrap tbody th,
body main#content .dn17-story table th { background:var(--dn-ui-surface); }
body main#content .dn17-story .dn18-table-wrap thead th { background:var(--dn-ui-ink); }
body main#content .dn17-story .dn18-table-wrap tbody tr:nth-child(even) td { background:#fafafa; }
body main#content :is(.dn14-video,.dnsv-card) { border-radius:16px; }
body main#content :is(.dn14-video-grid,.dnsv-grid) { gap:40px 32px; }
body main#content :is(.dn14-video-grid,.dnsv-grid)>figure { padding:28px;background:var(--dn-ui-surface);border:0; }
body main#content :is(.dn14-video-inline,.dnsv-inline) { padding:32px;border-radius:20px;background:var(--dn-ui-surface); }
body main#content .dn14-video .dn14-video-stage,
body main#content .dnsv-card .dn14-video-stage { border-radius:12px; }
body main#content .dn17-story .dn14-video p { font-size:16px!important;line-height:1.6!important; }
body main#content .dn17-story .dn14-video .dn14-video-note { font-size:12px!important;line-height:1.5!important; }
body .dn-masthead-compact .dn-header-row { border-color:var(--dn-ui-line); }
body .dn-masthead-compact .dn-header-enquiry { border-radius:999px;padding:8px 12px 8px 18px; }
body .dn-masthead-compact .dn-enquiry-arrow { border-radius:999px; }
@media(max-width:760px) {
 :root { --dn-ui-section:48px; }
 body main#content .dn17-story .dn17-step { padding-block:32px;gap:22px; }
 body main#content .dn17-story .dn17-facts { padding:20px; }
 body main#content .dn17-story .dn17-facts dl:has(>div:nth-child(2):last-child),
 body main#content .dn17-story .dn17-facts dl:has(>div:nth-child(4):last-child) { grid-template-columns:1fr; }
 body main#content :is(.dn14-video-grid,.dnsv-grid)>figure { padding:24px 20px; }
 body main#content :is(.dn14-video-inline,.dnsv-inline) { padding:24px 20px; }
 body main#content .dn17-story .dn17-photo img { max-height:420px!important; }
 body main#content .dn17-story .dn18-instrument img { max-height:560px!important; }
}
/* Keep the original site-v5.css home texture; field photographs stay full-width. */
body main#content .dn17-story .dn17-step { align-items:start; }
body main#content .dn15-field-grid { gap:32px; }
body main#content .dn15-field-card { grid-template-columns:1fr; }
body main#content .dn15-field-image { aspect-ratio:16/10;min-height:0; }
body main#content .dn15-field-image img { object-fit:contain;background:#f5f5f7; }
body main#content .dn15-field-copy { padding:28px; }
body main#content .dn-page-intro { padding-top:40px;padding-bottom:40px; }
body main#content .dn16-directory-routes { margin-block:20px; }
@media(max-width:760px) {
 body main#content .dn-page-intro { padding-top:28px;padding-bottom:28px; }
 body main#content .dn15-field-copy { padding:22px; }
 body main#content .dn15-field-grid { gap:24px; }
}
/* Directory cards share a stable media row even when captions differ in length. */
body:not(.home) main#content h1 { font-size:var(--dn-ui-h1)!important;line-height:1.12!important;letter-spacing:-.035em!important; }
body main#content :is(.dn14-video-grid,.dnsv-grid) { align-items:stretch; }
body main#content :is(.dn14-video-grid,.dnsv-grid)>figure { display:flex;flex-direction:column; }
body main#content :is(.dn14-video-grid,.dnsv-grid)>figure>figcaption { flex:1;display:flex;flex-direction:column; }
body main#content :is(.dn14-video-grid,.dnsv-grid)>figure>figcaption>p:not([class]) { flex:1; }
body main#content .dn14-video-grid #video-casing-system .dn14-video-stage { width:100%;height:480px;aspect-ratio:auto; }
body main#content .dn14-video-grid #video-casing-system .dn14-video-stage img { height:100%;object-fit:contain; }
body main#content .dn-page-intro { padding-block:28px; }
body main#content .dn-page-intro .dn-breadcrumbs { margin-bottom:24px; }
body main#content .dn-page-intro .eyebrow { margin-bottom:16px; }
body main#content .dn-section:has(> .dn-filter) { padding-top:36px; }
body main#content .dn12-catalogue-card>.dn12-catalogue-note { min-height:0;padding:12px 18px;font-size:12px; }
body main#content .dn12-catalogue-copy { padding-top:20px; }
@media(max-width:760px) {
 body main#content .dn14-video-grid #video-casing-system .dn14-video-stage { height:420px; }
 body main#content .dn-page-intro { padding-block:24px; }
 body main#content .dn-section:has(> .dn-filter) { padding-top:28px; }
}
/* Page-by-page review refinements. */
body.home main#content h2 { font-size:var(--dn-ui-h2)!important; }
body.home main#content .dn-three h3 { font-size:var(--dn-ui-h3);line-height:1.3; }
body main#content .dn7-split { gap:48px; }
body main#content .dn13-actions a:first-child { border-radius:var(--dn-ui-radius-control);font-size:15px;font-weight:600; }
body main#content .wp-block-post-content>.dn14-resource-prompt { width:calc(100% - 80px);max-width:1200px;margin:24px auto; }
body .dn-footer-bottom { padding-right:160px; }
body main#content .dn13-faq h3 { margin-top:28px; }
body main#content .dn-nowrap { white-space:nowrap; }
@media(max-width:760px) {
 body main#content .dn7-split { gap:24px; }
 body main#content .wp-block-post-content>.dn14-resource-prompt { width:calc(100% - 40px); }
 body .dn-footer-bottom { padding-right:48px; }
}
/* This square source has transparent margins: frame its whole casing, not its canvas. */
body main#content #video-casing-system .dn14-video-stage,
body main#content .dn14-video-grid #video-casing-system .dn14-video-stage { width:270px;max-width:100%;height:480px;aspect-ratio:9/16; }
body main#content #video-casing-system .dn14-video-play { overflow:hidden; }
body main#content #video-casing-system .dn14-video-play img { position:absolute;width:480px!important;height:480px!important;max-width:none!important;left:50%;top:44%;transform:translate(-50%,-50%);padding:0;object-fit:contain; }
body main#content #video-casing-system.dn14-video-inline { grid-template-columns:270px minmax(0,1fr);margin-bottom:48px; }
@media(max-width:760px) {
 body main#content #video-casing-system .dn14-video-stage,
 body main#content .dn14-video-grid #video-casing-system .dn14-video-stage { width:236.25px;height:420px; }
 body main#content #video-casing-system .dn14-video-play img { width:420px!important;height:420px!important; }
 body main#content #video-casing-system.dn14-video-inline { grid-template-columns:minmax(0,1fr);margin-bottom:32px; }
}
body main#content .dn17-story .dn17-next + p { margin-top:20px; }
body main#content .dn-knowledge-rock-card { border-radius:12px;overflow:hidden; }
/* Catalogue dimensions stay visible in resource thumbnails as well as full articles. */
body main#content .dn12-resource-cover img[src*="v7-card-WS39"] { object-fit:contain!important;padding:14px!important;background:var(--dn-ui-surface); }
body main#content #video-casing-system .dn14-video-play img { top:42%;z-index:0; }
body main#content #video-casing-system .dn14-video-play span { position:absolute;z-index:1;left:12px;right:12px;bottom:42px;padding:10px 8px;border-radius:8px;font-size:13px;text-align:center; }
body main#content #video-casing-system .dn14-video-play small { position:absolute;z-index:1;left:12px;right:12px;bottom:15px;font-size:11px;text-align:center; }
/* Short numeric runs remain comparable; narrative tables retain their mobile cards. */
@media(max-width:760px) {
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) { overflow-x:auto;background:#fff; }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"])::before { content:"Scroll sideways to compare all columns";display:block;padding:10px 12px;font-size:12px;color:var(--dn-ui-muted); }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) table { display:table;min-width:540px;table-layout:auto; }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) caption { display:table-caption; }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) thead { display:table-header-group;position:static;width:auto;height:auto;clip-path:none;overflow:visible;white-space:normal;margin:0; }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) tbody { display:table-row-group; }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) tbody tr { display:table-row;margin:0;border:0; }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) tbody :is(th,td) { display:table-cell;width:auto;min-width:80px;padding:12px;font-size:14px;border:1px solid var(--dn-ui-line); }
 body main#content .dn17-story .dn18-table-wrap:has(td[data-label="Cutting time, min"]) td::before { display:none; }
}
body main#content .dn6-brand-page>p+h3 { margin-top:28px!important; }
body main#content .dn6-brand-page>h3 { margin-bottom:12px; }
body main#content :is(.dn11-focus-card,.dn7-card,.dn13-core-option) { border-radius:var(--dn-ui-radius-card);overflow:hidden; }
body main#content .dn13-core-option-actions a:last-child { border-radius:var(--dn-ui-radius-control);font-size:15px; }
@media(max-width:760px) {
 body main#content .dn17-story .dn17-facts dl>div { grid-template-columns:minmax(122px,.85fr) minmax(0,1.15fr);gap:14px; }
 body main#content .dn17-story .dn17-facts :is(dt,dd) { min-width:0;overflow-wrap:anywhere; }
}

/* Customer selection: use the connection itself as the visual comparison. */
.dn18-customer-range .dn7-hero-media { background:transparent; padding:0; border:0; }
.dn18-customer-range .dn7-hero .dn6-model-render { border:0; border-radius:18px; background:var(--dn-ui-surface); }
.dn18-customer-range .dn7-hero .dn6-model-render .dn6-render-window { background:transparent; }
.dn18-customer-range .dn16-mount-grid { gap:28px; }
.dn18-customer-range .dn16-mount-grid article { border:0; border-radius:16px; padding:28px; background:var(--dn-ui-surface); }
.dn18-mount-visual { width:100%; margin:0 0 22px; }
.dn18-mount-visual .dn6-model-render { width:220px; max-width:100%; border:0; background:transparent; }
.dn18-mount-visual .dn6-render-window { background:transparent; }
.dn18-customer-range .dn16-mount-grid h3 { margin-bottom:10px; }
.dn18-customer-range #field-evidence>.dn10-field-pair { margin-top:28px; }
.dn18-customer-range #field-evidence>.dn10-field-pair h3 { margin-bottom:8px; }
@media(max-width:600px) {
 .dn18-customer-range .dn16-mount-grid { gap:16px; }
 .dn18-customer-range .dn16-mount-grid article { padding:22px; }
 .dn18-mount-visual .dn6-model-render { width:184px; }
 .dn18-customer-range .dn7-hero .dn6-model-render { max-width:320px; }
}

/* V20 directory previews: compact browse cards, separate from article evidence. */
body main#content :is(.dn12-resources,.dn15-field-directory) {
  max-width:1280px;
  margin-inline:auto;
  padding-inline:40px;
}
/* The directory owns its gutters; nested sections must not add a second set. */
body main#content .dn12-resources>.dn-section { padding-inline:0; }
body main#content .dn12-resources .dn21-resource-more {
  padding-inline:0;
  border-inline:0;
  border-radius:0;
  background:transparent;
}
body main#content :is(.dn12-resource-grid,.dn-knowledge-pair,.dn15-field-grid,.dn11-report-grid) {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
body main#content :is(.dn12-resource-card,.dn15-field-card,.dn11-report-card) {
  display:flex;
  flex-direction:column;
  min-width:0;
  border-radius:14px;
  overflow:hidden;
  box-shadow:none;
}
body main#content :is(.dn12-resource-card,.dn15-field-card,.dn11-report-card)[hidden] { display:none!important; }
body main#content :is(.dn12-resource-cover,.dn15-field-image,.dn11-cover) {
  display:block!important;
  position:relative;
  flex:none;
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  box-sizing:border-box;
  overflow:hidden;
  border-radius:0;
  background:var(--dn-ui-surface,#f5f5f7);
}
body main#content :is(.dn12-resource-cover,.dn15-field-image,.dn11-cover)>img {
  position:absolute!important;
  inset:0;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box;
  object-fit:cover!important;
}
/* Drawings and product renderings remain complete inside the same outer frame. */
body main#content .dn12-resource-cover:is(.dn12-fit-object,.dn12-fit-drawing,.dn13-branded-cover)>img {
  object-fit:contain!important;
  object-position:50% 50%!important;
  padding:12px 14px 26px!important;
}
body main#content .dn12-resource-cover>img[src*="v7-card-WS39"] {
  object-fit:contain!important;
  object-position:50% 50%!important;
  padding:12px 14px 26px!important;
}
/* Preview crops never replace the original, annotated photographs in articles. */
body main#content :is(.dn12-resource-cover,.dn15-field-image)>img[src$="v13-shiyan-image11-1200.webp"] {
  object-position:0% 50%!important;
  transform:scale(1.32)!important;
  transform-origin:left center;
}
body main#content :is(.dn12-resource-cover,.dn15-field-image)>img[src$="v14-1200mm-inner-position-one-1200.webp"] {
  object-position:35% 50%!important;
  transform:none!important;
}
body main#content :is(.dn12-resource-cover,.dn15-field-image,.dn11-cover)>img[src$="v4-mh3-six-roller-core-barrel.webp"] { object-position:35% 50%!important; }
body main#content :is(.dn12-resource-cover,.dn15-field-image)>img[src$="v15-guangdong-lifted-bullet-barrel.webp"] { object-position:50% 58%!important; }
body main#content :is(.dn12-resource-cover,.dn15-field-image)>img[src$="dn17-hunan-highway-rock-and-site.webp"] { object-position:30% 50%!important; }
body main#content .dn12-resource-cover>img[src$="v4-b47k22-trial-tooth.webp"] { object-position:50% 48%!important; }
body main#content .dn12-resource-cover>img[src$="usgs-granite-thunder-hole-web.jpg"] { object-position:50% 40%!important; }
body main#content :is(.dn12-resource-copy,.dn15-field-copy,.dn11-report-card .dn11-card-copy) {
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  padding:20px;
}
body main#content :is(.dn12-resource-copy h3,.dn15-field-copy h2,.dn11-report-card h3) {
  margin:0 0 10px;
  font-size:21px!important;
  line-height:1.28!important;
  font-weight:600;
  letter-spacing:-.022em;
  text-wrap:pretty;
}
body main#content :is(.dn12-card-tag,.dn15-field-kind) {
  font-size:10px!important;
  letter-spacing:.08em;
  line-height:1.5;
  margin:0 0 10px!important;
}
body main#content :is(.dn12-card-desc,.dn15-field-decision,.dn11-report-card .dn11-card-copy>p:not(.dn11-eyebrow)) {
  font-size:14px!important;
  line-height:1.6!important;
  margin:0 0 18px!important;
}
body main#content .dn15-field-context { font-size:12px!important; margin:0 0 12px!important; }
body main#content :is(.dn12-card-link,.dn15-field-action) {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  align-self:stretch;
  min-height:44px;
  margin-top:auto;
  padding:12px 0 0;
  border-top:1px solid var(--dn-ui-line);
  border-bottom:0;
  font-size:14px;
  line-height:1.4;
  text-decoration:none;
}
body main#content :is(.dn12-card-link,.dn15-field-action)>span { color:#b87514; font-size:20px; }
body main#content :is(.dn12-card-link,.dn15-field-action):hover { text-decoration:underline;text-underline-offset:4px; }
body main#content .dn20-ground-reference {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px 28px;
  padding:18px 22px;
  margin:22px 0 30px;
  border:1px solid var(--dn-ui-line);
  border-left:3px solid #ee9b28;
  border-radius:0 10px 10px 0;
  background:#fafafa;
}
body main#content .dn20-ground-reference p { margin:0;font-size:14px;line-height:1.6; }
body main#content .dn20-ground-reference strong { display:block;color:var(--dn-ui-ink);font-size:16px; }
body main#content .dn20-ground-reference a { display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;white-space:nowrap;text-underline-offset:5px; }
@media(max-width:1020px) {
  body main#content :is(.dn12-resource-grid,.dn-knowledge-pair,.dn15-field-grid,.dn11-report-grid) { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
}
@media(max-width:620px) {
  body main#content :is(.dn12-resources,.dn15-field-directory) { padding-inline:20px; }
  body main#content :is(.dn12-resource-grid,.dn-knowledge-pair,.dn15-field-grid,.dn11-report-grid) { grid-template-columns:minmax(0,1fr);gap:20px; }
  body main#content :is(.dn12-resource-copy,.dn15-field-copy,.dn11-report-card .dn11-card-copy) { padding:18px; }
  body main#content :is(.dn12-resource-copy h3,.dn15-field-copy h2,.dn11-report-card h3) { font-size:20px!important; }
  body main#content .dn20-ground-reference { padding:16px 18px; }
}

/* V20 mounting component only. Append after the existing presentation CSS.
   Only #mounting.dn20-mounting and its own dn20 children are styled.
   MH-3 / MH-3B use the existing dn_model_render shortcode and geometry.
   Keep models.css image width/height/left/top custom properties and object-fit
   untouched: resizing the square source window scales the whole assembly.
   No selectors target #models, dialog, header, hero or another section. */
body main#content #mounting.dn20-mounting .dn20-mount-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:28px;
}
body main#content #mounting.dn20-mounting .dn20-mount-option {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px;
  border:1px solid var(--dn-ui-line,#dce2e6);
  border-radius:12px;
  background:#fff;
}
body main#content #mounting.dn20-mounting .dn20-mount-summary {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:24px;
}
body main#content #mounting.dn20-mounting .dn20-mount-visual {
  width:150px;
  max-width:100%;
}
body main#content #mounting.dn20-mounting .dn20-mount-visual .dn6-model-render {
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  background:transparent;
}
body main#content #mounting.dn20-mounting .dn20-mount-visual .dn6-render-window {
  background:transparent;
}
body main#content #mounting.dn20-mounting .dn20-mount-copy {
  min-width:0;
}
body main#content #mounting.dn20-mounting .dn20-mount-copy h3 {
  margin:0 0 8px;
  font-size:26px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.025em;
  color:var(--dn-ui-ink,#172e3c);
}
body main#content #mounting.dn20-mounting .dn20-mount-copy>p {
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:var(--dn-ui-ink,#172e3c);
}
body main#content #mounting.dn20-mounting .dn20-mount-check {
  margin:16px 0 0;
}
body main#content #mounting.dn20-mounting .dn20-mount-check dt {
  margin:0 0 3px;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  color:var(--dn-ui-muted,#52636e);
}
body main#content #mounting.dn20-mounting .dn20-mount-check dd {
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:var(--dn-ui-muted,#52636e);
}
body main#content #mounting.dn20-mounting .dn20-mount-footer {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:auto;
  padding-top:22px;
}
body main#content #mounting.dn20-mounting .dn20-mount-models {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}
body main#content #mounting.dn20-mounting .dn20-mount-models>span {
  display:inline-block;
  padding:4px 8px;
  border-radius:4px;
  background:var(--dn-ui-surface,#f5f5f7);
  color:var(--dn-ui-muted,#52636e);
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  white-space:nowrap;
}
body main#content #mounting.dn20-mounting .dn20-mount-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:44px;
  padding-top:10px;
  border-top:1px solid var(--dn-ui-line,#dce2e6);
  color:var(--dn-ui-ink,#172e3c);
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  text-decoration:none;
}
body main#content #mounting.dn20-mounting .dn20-mount-cta>span {
  flex:none;
  color:var(--dn-accent,#ff9e16);
  font-size:20px;
  line-height:1;
}
body main#content #mounting.dn20-mounting .dn20-mount-cta:is(:hover,:focus-visible) {
  text-decoration:underline;
  text-decoration-color:var(--dn-accent,#ff9e16);
  text-underline-offset:4px;
}
body main#content #mounting.dn20-mounting .dn20-mount-context {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 24px;
  margin:18px 0 0;
}
body main#content #mounting.dn20-mounting .dn20-mount-context p {
  flex:1 1 500px;
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:var(--dn-ui-muted,#52636e);
}
body main#content #mounting.dn20-mounting .dn20-mount-context p>span {
  display:block;
}
body main#content #mounting.dn20-mounting .dn20-mount-context>a {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  color:var(--dn-ui-ink,#172e3c);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  text-underline-offset:4px;
}
body main#content #mounting.dn20-mounting .dn20-mount-video {
  margin-top:16px;
}
@media (max-width:1000px) {
  body main#content #mounting.dn20-mounting .dn20-mount-options {
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
}
@media (max-width:600px) {
  body main#content #mounting.dn20-mounting .dn20-mount-options {
    margin-top:22px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-option {
    padding:18px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-summary {
    grid-template-columns:120px minmax(0,1fr);
    gap:16px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-visual {
    width:120px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-copy h3 {
    font-size:24px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-footer {
    padding-top:18px;
    gap:12px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-context {
    gap:2px;
  }
}
@media (max-width:359px) {
  body main#content #mounting.dn20-mounting .dn20-mount-option {
    padding:16px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-summary {
    grid-template-columns:108px minmax(0,1fr);
    gap:12px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-visual {
    width:108px;
  }
  body main#content #mounting.dn20-mounting .dn20-mount-copy h3 {
    font-size:22px;
  }
}

/* V20 product discovery only. Append after the existing theme styles.
   Product source coordinates, captions and full-image links stay intact. */
body main#content :is(.dn12-catalogue, .dn7-card-grid, .dn13-core-options, .dn11-focus-grid) {
  --dn20-product-stage: 240px;
}

/* Main catalogues only: the 210px featured cards use a separate grid. */
body main#content .dn12-catalogue > .dn12-catalogue-card > .dn12-catalogue-media {
  height: var(--dn20-product-stage);
  min-height: 0;
  padding: 16px;
  gap: 16px;
}
body main#content .dn12-catalogue > .dn12-catalogue-card > .dn12-catalogue-media .dn12-catalogue-object {
  width: min(100%, calc(var(--dn12-art-width) * .85));
}

/* The 45 catalogue drawings in the existing eight product-family grids. */
body main#content .dn7-card-grid > .dn7-card > .dn7-figure > a > img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: var(--dn20-product-stage);
  min-height: 0;
  max-height: none;
  object-fit: contain;
  padding: 12px;
}

/* Resize the crop window; its percentage-based image coordinates scale with it. */
body main#content .dn13-core-options > .dn13-core-option > .dn10-figure > .dn10-crop {
  width: min(100%, var(--dn20-product-stage));
  height: auto;
  aspect-ratio: var(--crop-ratio);
  margin-inline: auto;
}

body main#content .dn11-focus-grid > .dn11-focus-card > .dn11-product-visual {
  height: var(--dn20-product-stage);
  min-height: 0;
}
body main#content .dn11-focus-grid > .dn11-focus-card > .dn11-product-visual > .dn11-object {
  width: min(calc(100% - 24px), calc(var(--dn20-product-stage) - 20px));
  height: auto;
  aspect-ratio: 1;
}

@media (max-width: 650px) {
  body main#content :is(.dn12-catalogue, .dn7-card-grid, .dn13-core-options, .dn11-focus-grid) {
    --dn20-product-stage: 200px;
  }
  body main#content .dn12-catalogue > .dn12-catalogue-card > .dn12-catalogue-media {
    padding: 12px;
    gap: 12px;
  }
  body main#content .dn12-catalogue > .dn12-catalogue-card > .dn12-catalogue-media .dn12-catalogue-object {
    width: min(100%, calc(var(--dn12-art-width) * .73));
  }
}

/* Compact reference tables; the existing article photos keep their full evidence. */
body main#content .dn-knowledge :is(.dn20-rock-reference,.dn20-rock-texture) {
  display:block;
  margin-block:36px;
  padding-block:28px 0;
  border-top:1px solid var(--dn-ui-line);
  scroll-margin-top:110px;
}
body main#content .dn-knowledge :is(.dn20-rock-reference,.dn20-rock-texture)>p { font-size:16px;line-height:1.65;max-width:850px; }
body main#content .dn20-rock-reference .dn17-table { max-width:850px; }
body main#content .dn20-rock-reference table { width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px; }
body main#content .dn20-rock-reference caption { padding:12px 16px;text-align:left;font-weight:600;background:#f5f5f7; }
body main#content .dn20-rock-reference :is(th,td) { padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--dn-ui-line);line-height:1.6; }
body main#content .dn20-rock-reference thead th { font-size:12px;background:#19323e;color:#fff; }
body main#content .dn20-rock-reference th:first-child { width:24%; }
body main#content .dn20-rock-reference th:last-child { width:22%; }
body main#content .dn20-rock-reference tbody tr:nth-child(even) { background:#f8f9f9; }
body main#content .dn20-rock-reference td:last-child { font-variant-numeric:tabular-nums; }
body main#content .dn-knowledge .dn20-source { font-size:12px;line-height:1.6;color:var(--dn-ui-muted); }
body main#content .dn20-strength-classes { max-width:850px;margin-top:20px;border:1px solid var(--dn-ui-line);border-radius:10px;padding:0 18px; }
body main#content .dn20-strength-classes summary { cursor:pointer;min-height:48px;padding-block:14px;font-size:14px;font-weight:600; }
body main#content .dn20-strength-classes ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:0;list-style:none;margin:0 0 12px; }
body main#content .dn20-strength-classes li { display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:9px 0;border-top:1px solid var(--dn-ui-line); }
body main#content .dn20-strength-classes li>span { white-space:nowrap; }
body main#content .dn20-rock-texture .dn20-texture-points { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:20px; }
body main#content .dn20-texture-points>div { background:#f5f5f7;padding:18px;border-radius:10px; }
body main#content .dn20-texture-points dt { font-size:16px;font-weight:600;margin-bottom:8px; }
body main#content .dn20-texture-points dd { font-size:14px;line-height:1.6;margin:0; }
@media(max-width:620px) {
  body main#content .dn20-rock-reference :is(th,td) { padding:10px 8px;font-size:12px;overflow-wrap:normal; }
  body main#content .dn20-rock-reference th:first-child { width:24%; }
  body main#content .dn20-rock-reference th:last-child { width:23%; }
  body main#content .dn20-strength-classes ul,body main#content .dn20-rock-texture .dn20-texture-points { grid-template-columns:1fr; }
}

body main#content .dn12-resource-cover>img[src$="v5-hunan-roller-bit-position-measurement.webp"] { object-position:50% 30%!important; }

body main#content .dn12-resource-cover>img[src$="v4-roller-bit-common-layout-references.webp"] { object-position:50% 65%!important; }

body main#content .dn12-resource-cover>img[src$="dn17-centre-radius.webp"] { object-position:50% 35%!important; }

body main#content .dn12-resource-cover>img[src$="v4-event-ittc-2026.webp"] { object-position:50% 35%!important; }

body main#content .dn12-resource-cover>img[src$="dn17-three-circles-marked.webp"] { object-position:50% 48%!important; }

body main#content .dn12-resource-cover>img[src$="v14-outer-position-wear-reference-480.webp"] { object-position:50% 12%!important; }
/* V27: one photographed inspection, followed by clearly separate mounting references. */
body main#content .dn27-replacement .dn27-section { padding-block:36px; }
body main#content .dn27-replacement .dn27-photo-comparison { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0; }
body main#content .dn27-replacement .dn27-photo-heading { min-height:94px;padding:16px 20px;background:#f5f5f7;border-radius:12px 12px 0 0; }
body main#content .dn27-replacement .dn27-photo-heading span { display:block;font-size:12px;letter-spacing:.08em;font-weight:600;color:#546770;margin-bottom:6px; }
body main#content .dn27-replacement .dn27-photo-heading h3 { margin:0;font-size:21px;line-height:1.3; }
body main#content .dn27-replacement .dn27-replace { background:#fff4e2; }
body main#content .dn27-replacement .dn27-photo-comparison .dn17-photo { border:0;border-radius:0 0 12px 12px; }
body main#content .dn27-replacement .dn27-photo-comparison .dn17-photo img { aspect-ratio:16/9;max-height:none!important; }
body main#content .dn27-replacement .dn27-photo-comparison .dn17-photo figcaption { min-height:98px;background:#f5f5f7!important;padding:16px 20px!important; }
body main#content .dn27-replacement .dn27-context { max-width:95ch;font-size:15px!important;line-height:1.6!important; }
body main#content .dn27-replacement .dn27-record { margin:24px 0 0;padding:12px 0; }
body main#content .dn27-replacement .dn27-record summary { min-height:44px; }
body main#content .dn27-replacement .dn27-record .dn18-panel { margin:16px 0;border:0;padding:0;background:transparent; }
body main#content .dn27-replacement .dn27-record .dn18-panel h2 { font-size:24px!important; }
body main#content .dn27-replacement .dn27-mount-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0; }
body main#content .dn27-replacement .dn27-mount-grid>article { display:flex;flex-direction:column;border:1px solid #e0e5e4;border-radius:14px;overflow:hidden;background:#fff; }
body main#content .dn27-replacement .dn27-render { display:flex;align-items:center;justify-content:center;height:238px;background:#f5f5f7;padding:12px; }
body main#content .dn27-replacement .dn27-render .dn6-model-render { width:214px;max-width:100%;border:0;background:transparent;border-radius:0; }
body main#content .dn27-replacement .dn27-render .dn6-render-window { aspect-ratio:1;background:transparent; }
body main#content .dn27-replacement .dn27-mount-copy { display:flex;flex-direction:column;flex:1;padding:22px; }
body main#content .dn27-replacement .dn27-mount-copy h3 { margin:0 0 12px;font-size:21px;line-height:1.3; }
body main#content .dn27-replacement .dn27-mount-copy p { font-size:16px!important;line-height:1.6!important; }
body main#content .dn27-replacement .dn27-mount-copy .dn27-model { font-size:11px!important;letter-spacing:.07em;font-weight:600;margin-bottom:10px; }
body main#content .dn27-replacement .dn27-mount-copy dl { margin:6px 0 18px;padding-top:15px;border-top:1px solid #e0e5e4; }
body main#content .dn27-replacement .dn27-mount-copy dt { font-size:13px;font-weight:600;margin-bottom:5px; }
body main#content .dn27-replacement .dn27-mount-copy dd { font-size:15px;line-height:1.55;margin:0;color:#4e646b; }
body main#content .dn27-replacement .dn27-mount-copy a { margin-top:auto;display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5; }
body main#content .dn27-replacement .dn27-render-note { font-size:13px!important;line-height:1.5!important;max-width:95ch; }
body main#content .dn27-replacement .dn17-step .dn27-guide-photo img { object-fit:cover!important;object-position:50% 52%;aspect-ratio:4/3; }
@media(min-width:761px) and (max-width:1000px) {
 body main#content .dn27-replacement .dn27-photo-heading { min-height:118px; }
}
@media(min-width:901px) {
 @supports(grid-template-rows:subgrid) {
  body main#content .dn27-replacement .dn27-mount-grid>article { display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;padding:0 22px 22px; }
  body main#content .dn27-replacement .dn27-mount-copy { display:contents; }
  body main#content .dn27-replacement .dn27-render { margin-inline:-22px; }
  body main#content .dn27-replacement .dn27-mount-copy .dn27-model { margin-top:22px; }
  body main#content .dn27-replacement .dn27-mount-copy a { margin-top:0; }
 }
}
@media(max-width:900px) {
 body main#content .dn27-replacement .dn27-mount-grid { grid-template-columns:1fr; }
 body main#content .dn27-replacement .dn27-mount-grid>article { display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,1fr); }
 body main#content .dn27-replacement .dn27-render { height:100%;min-height:228px; }
}
@media(max-width:760px) {
 body main#content .dn27-replacement .dn27-section { padding-block:26px; }
 body main#content .dn27-replacement .dn27-photo-comparison { grid-template-columns:1fr;gap:22px; }
 body main#content .dn27-replacement .dn27-photo-heading { min-height:0;padding:16px; }
 body main#content .dn27-replacement .dn27-photo-heading h3 { font-size:20px; }
 body main#content .dn27-replacement .dn27-photo-comparison .dn17-photo figcaption { min-height:0;padding:14px 16px!important; }
 body main#content .dn27-replacement .dn27-mount-grid>article { display:flex; }
 body main#content .dn27-replacement .dn27-render { height:224px;min-height:0; }
 body main#content .dn27-replacement .dn27-mount-copy { padding:20px; }
}

/* V28: a task-led resource directory. Article layouts and evidence images are unchanged. */
body main#content .dn28-resources .dn12-resource-intro{padding-top:42px;padding-bottom:28px;}
body main#content .dn28-resources .dn12-resource-intro .dn-lead{max-width:760px;font-size:18px;line-height:1.6;}
body main#content .dn28-resources .dn13-resource-search{margin-top:24px;}
body main#content .dn28-resources .dn13-resource-search>div{max-width:660px;}
body main#content .dn28-resource-start{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;}
body main#content .dn28-resource-start>a{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:22px 38px 22px 20px;background:var(--dn-ui-surface);border:1px solid var(--dn-ui-line);border-radius:12px;text-decoration:none;color:var(--dn-ui-ink);transition:border-color .18s ease,background .18s ease;}
body main#content .dn28-resource-start strong{font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.02em;}
body main#content .dn28-resource-start span{font-size:14px;line-height:1.5;color:var(--dn-ui-muted);}
body main#content .dn28-resource-start b{position:absolute;right:16px;top:20px;font-size:20px;font-weight:400;color:#986014;}
body main#content .dn28-resource-start>a:hover{border-color:#9eabb2;background:#eef1f3;}
body main#content .dn28-resource-start>a:focus-visible{outline:2px solid var(--dn-ui-ink);outline-offset:3px;}
body main#content .dn28-resource-secondary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:16px 0 22px;border-bottom:1px solid var(--dn-ui-line);}
body main#content .dn28-resource-secondary>span{margin-right:auto;font-size:14px;color:var(--dn-ui-muted);}
body main#content .dn28-resource-secondary a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-underline-offset:4px;}
body main#content .dn28-resources .dn12-resource-section{padding-top:38px;padding-bottom:22px;scroll-margin-top:110px;}
body main#content .dn28-resources .dn12-section-head{align-items:start;margin-bottom:22px;}
body main#content .dn28-resources .dn12-section-head h2{font-size:30px;line-height:1.2;margin:0;}
body main#content .dn28-resources .dn12-section-head>p{max-width:470px;font-size:15px;line-height:1.6;margin:0;}
body main#content .dn28-resource-anchor{display:block;scroll-margin-top:110px;}
body main#content .dn28-resources .dn21-resource-more{margin-top:18px;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;}
body main#content .dn28-resources .dn21-resource-more>summary{padding:14px 0;font-size:15px;line-height:1.5;font-weight:600;cursor:pointer;color:var(--dn-ui-ink);}
body main#content .dn28-resources .dn21-resource-more>summary span{font-weight:400;color:var(--dn-ui-muted);}
body main#content .dn28-resources .dn21-resource-more[open]>.dn12-resource-grid{margin-top:14px;}
body main#content .dn28-resource-news{border-top:1px solid var(--dn-ui-line);}
body main#content .dn28-resource-news .dn21-resource-more{margin-top:0;}
body main#content .dn28-resource-news .dn21-resource-more>summary{font-size:22px;letter-spacing:-.02em;}
body main#content .dn28-resource-news details>p{font-size:15px;line-height:1.6;}
body main#content .dn28-resource-help{display:flex;align-items:center;justify-content:space-between;gap:26px;margin:24px 0 48px;padding:26px 30px;border-radius:14px;background:var(--dn-ui-surface);}
body main#content .dn28-resource-help h2{font-size:24px;line-height:1.25;margin:0 0 8px;letter-spacing:-.025em;}
body main#content .dn28-resource-help p{max-width:540px;font-size:15px;line-height:1.6;margin:0;color:var(--dn-ui-muted);}
body main#content .dn28-resource-help>a{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:18px;min-height:46px;padding:12px 18px;border-radius:999px;background:var(--dn-ui-gold);font-size:14px;font-weight:600;text-decoration:none;}
@media(max-width:1023px){body main#content .dn28-resource-start{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){
 body main#content .dn28-resources .dn12-resource-intro{padding-top:26px;padding-bottom:22px;}
 body main#content .dn28-resources .dn12-resource-intro .dn-lead{font-size:16px;}
 body main#content .dn28-resource-start{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--dn-ui-line);border-radius:12px;overflow:hidden;}
 body main#content .dn28-resource-start>a{gap:4px;padding:16px 40px 16px 16px;border:0;border-bottom:1px solid var(--dn-ui-line);border-radius:0;}
 body main#content .dn28-resource-start>a:last-child{border-bottom:0;}
 body main#content .dn28-resource-start span{font-size:13px;}
 body main#content .dn28-resource-start b{top:21px;}
 body main#content .dn28-resource-secondary{gap:0 20px;padding:12px 0;}
 body main#content .dn28-resource-secondary>span{flex-basis:100%;margin-bottom:2px;font-size:13px;}
 body main#content .dn28-resources .dn12-section-head h2{font-size:26px;}
 body main#content .dn28-resources .dn12-section-head>p{margin-top:12px;}
 body main#content .dn28-resource-help{align-items:stretch;flex-direction:column;padding:22px;gap:20px;}
 body main#content .dn28-resource-help>a{align-self:start;}
}
@media(prefers-reduced-motion:reduce){body main#content .dn28-resource-start>a{transition:none;}}
/* A short support update is a reading row, not an empty photograph card. */
body main#content .dn28-resources .dn28-news-brief{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin:20px 0 24px;background:var(--dn-ui-surface);border:1px solid var(--dn-ui-line);}
body main#content .dn28-news-brief h3{font-size:22px!important;line-height:1.3!important;margin:0 0 8px;letter-spacing:-.02em;}
body main#content .dn28-news-brief h3 a{text-decoration:none;}
body main#content .dn28-news-brief .dn12-card-desc{margin:0!important;}
body main#content .dn28-news-brief>.dn12-card-link{align-self:center;flex-shrink:0;border:0;margin:0;padding:0;gap:18px;font-size:14px;}
@media(max-width:620px){body main#content .dn28-resources .dn28-news-brief{flex-direction:column;align-items:stretch;padding:20px;gap:10px;}body main#content .dn28-news-brief>.dn12-card-link{align-self:start;}}

/* 2026-09-13: source-matched field records, with one caption per image. */
body main#content .dn31-field-records .dn10-field-pair>article { display:flex;flex-direction:column;min-width:0;border:1px solid #dce3e2;border-radius:16px;overflow:hidden; }
body main#content .dn31-field-records .dn10-field-pair>article>.dn10-figure { margin:0;border:0; }
body main#content .dn31-field-records .dn10-field-pair>article>h3 { margin:20px 20px 8px; }
body main#content .dn31-field-records .dn10-field-pair>article>a:last-child { margin: auto 20px 20px;padding-top:12px; }
body main#content .dn31-field-records .dn31-site-result { margin:8px 20px 16px;font-size:16px;line-height:1.6; }
body main#content .dn31-site-trial { display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center; }
body main#content .dn31-site-photo { margin:0;min-width:0;border:1px solid var(--dn-ui-line, #dce3e2);border-radius:16px;overflow:hidden; }
body main#content .dn31-site-photo>a { display:block;aspect-ratio:4/3;overflow:hidden; }
body main#content .dn31-site-photo img { display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;margin:0; }
body main#content .dn31-site-photo figcaption { padding:12px 16px;font-size:13px;line-height:1.5;color:var(--dn-ui-muted); }
body main#content .dn31-site-trial h3 { margin:0 0 16px; }
body main#content .dn21-record-scope { margin:12px 0 28px;font-size:15px;line-height:1.65;color:var(--dn-ui-muted); }
body main#content .dn21-measurement-log>summary { min-height:44px;display:list-item;box-sizing:border-box; }
@media(max-width:700px) {
 body main#content .dn31-site-trial { grid-template-columns:1fr;gap:22px; }
 body main#content .dn31-field-records .dn31-site-result { font-size:15px; }
}

/* V32: field-case reading layout only. Original photos and data stay intact. */
body main#content .dn17-story.dn32-case p.dn32-summary { max-width:54ch; }
body main#content .dn32-case .dn32-timeline { display:block; }
body main#content .dn32-case .dn32-stage { margin:0;padding:40px 0;border-top:1px solid var(--dn-ui-line);min-width:0; }
body main#content .dn32-case .dn32-stage h2 { margin:0 0 18px;max-width:26ch;font-size:clamp(25px,2.3vw,32px)!important;line-height:1.22!important;letter-spacing:-.025em; }
body main#content .dn32-case .dn32-stage p { max-width:68ch;margin:0 0 16px;font-size:17px!important;line-height:1.65!important; }
body main#content .dn32-case .dn32-stage>figure { width:100%;max-width:720px;margin:20px 0 0; }
body main#content .dn32-case .dn32-photo-pair { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;min-width:0; }
body main#content .dn32-case .dn32-photo-pair>figure { margin:0;min-width:0; }
body main#content .dn32-case .dn32-stage .dn17-photo { border:1px solid var(--dn-ui-line);border-radius:12px;overflow:hidden; }
body main#content .dn32-case .dn32-stage .dn17-photo>a { display:block; }
body main#content .dn32-case .dn32-stage .dn17-photo img { display:block;width:100%;height:auto;aspect-ratio:16/10;max-height:420px!important;object-fit:contain!important;background:var(--dn-ui-surface); }
body main#content .dn32-case .dn32-stage .dn17-photo figcaption { padding:14px 16px!important;font-size:13px!important;line-height:1.5!important; }
body main#content .dn32-case .dn32-records-group { margin:12px 0 36px; }
body main#content .dn32-case .dn32-records-group>h2 { margin:0 0 20px;font-size:28px!important; }
body main#content .dn32-case .dn32-records { margin:0;border-top:1px solid var(--dn-ui-line);padding:0;background:transparent; }
body main#content .dn32-case .dn32-records:last-child { border-bottom:1px solid var(--dn-ui-line); }
body main#content .dn32-case .dn32-records>summary { padding:18px 4px;cursor:pointer;font-weight:600;font-size:16px;min-height:52px; }
body main#content .dn32-case .dn32-records[open] { padding-bottom:20px; }
body main#content .dn32-case .dn32-records>p { max-width:74ch;font-size:15px!important; }
body main#content .dn32-case .dn32-takeaway { padding:28px 32px;margin:0 0 32px;border-left:3px solid var(--dn-ui-gold);background:var(--dn-ui-surface);border-radius:0 12px 12px 0; }
body main#content .dn32-case .dn32-takeaway h2 { font-size:25px!important;margin:0 0 12px; }
body main#content .dn32-case .dn32-takeaway p { max-width:75ch;margin:0;font-size:16px!important; }
body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video)) { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:40px;align-content:start; }
body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video))>h2,
body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video))>p { grid-column:1; }
body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video))>figure { grid-column:2;grid-row:1/span 8;margin:0;align-self:start; }
body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video))>details { grid-column:1/-1; }
body main#content .dn32-case .dn17-next { gap:12px; }
body main#content .dn32-case .dn17-next>p { max-width:62ch; }
@media(max-width:760px) {
 body main#content .dn32-case .dn32-stage { padding:28px 0; }
 body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video)) { display:block; }
 body main#content .dn32-case .dn32-stage:has(>figure):not(:has(>figure:nth-of-type(2))):not(:has(>.dn32-photo-pair)):not(:has(>.dn32-video))>figure { margin-top:20px; }
 body main#content .dn32-case .dn32-stage h2 { font-size:25px!important;max-width:none; }
 body main#content .dn32-case .dn32-stage p { font-size:16px!important; }
 body main#content .dn32-case .dn32-photo-pair { gap:16px; }
 body main#content .dn32-case .dn32-stage .dn17-photo img { max-height:360px!important; }
 body main#content .dn32-case .dn32-takeaway { padding:22px 24px; }
 body main#content .dn32-case .dn32-records-group>h2 { font-size:25px!important; }
}
@media(max-width:540px) {
 body main#content .dn32-case .dn32-photo-pair { grid-template-columns:minmax(0,1fr); }
}

body main#content .dn32-case .dn32-video { width:100%;max-width:720px;margin:24px 0;border:1px solid var(--dn-ui-line);border-radius:12px;background:var(--dn-ui-surface);overflow:hidden; }
body main#content .dn32-case .dn32-video video { display:block;width:100%;height:auto;max-height:420px;aspect-ratio:16/10;object-fit:contain;background:#15242b; }
body main#content .dn32-case .dn32-video figcaption { padding:16px 20px;font-size:14px;line-height:1.5; }
body main#content .dn32-case .dn32-video figcaption strong { display:block;font-size:16px;color:var(--dn-ui-ink);margin-bottom:4px; }
body main#content .dn32-case .dn32-video>details { padding:0 20px 16px;font-size:13px; }
body main#content .dn32-case .dn32-video>details>p { font-size:14px!important;margin:12px 0 0; }
body main#content .dn32-case .dn32-video>details>summary { min-height:32px;cursor:pointer; }

/* V33: source examples and optional record downloads, scoped to these additions. */
body main#content .dn17-story .dn33-source-example { margin:36px 0;padding:32px 0;border:0;border-top:1px solid var(--dn-ui-line);border-radius:0;background:transparent;min-width:0; }
body main#content .dn33-source-example>h2 { max-width:32ch;font-size:clamp(25px,2.3vw,32px)!important;line-height:1.23!important;margin:0 0 16px; }
body main#content .dn33-source-example>p { max-width:74ch;font-size:16px!important;line-height:1.65!important; }
body main#content .dn33-source-gallery { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0; }
body main#content .dn33-source-gallery:has(>figure:last-child:nth-child(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
body main#content .dn33-source-gallery:has(>figure:only-child) { grid-template-columns:minmax(0,720px); }
body main#content .dn33-source-gallery>figure { margin:0;min-width:0;overflow:hidden;border:1px solid var(--dn-ui-line);border-radius:12px; }
body main#content .dn33-source-gallery>figure a { display:block; }
body main#content .dn33-source-gallery>figure img { width:100%;height:auto!important;max-height:380px;aspect-ratio:16/10;object-fit:contain!important;background:var(--dn-ui-surface);display:block; }
body main#content .dn33-source-gallery>figure figcaption { padding:14px 16px!important;font-size:13px!important;line-height:1.5!important; }
body main#content .dn33-source-log { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin:24px 0; }
body main#content .dn33-source-log>figure { margin:0;border:1px solid var(--dn-ui-line);border-radius:12px;overflow:hidden; }
body main#content .dn33-source-log>figure img { width:100%;height:auto!important;aspect-ratio:16/10;object-fit:contain!important;background:var(--dn-ui-surface); }
body main#content .dn33-source-log>figure figcaption { padding:14px 16px!important;font-size:13px!important;line-height:1.5!important; }
body main#content .dn33-source-log h3 { font-size:21px!important;margin-top:0; }
body main#content .dn33-source-log li { margin-bottom:14px;font-size:15px;line-height:1.6; }
body main#content .dn33-source-example>details { border-top:1px solid var(--dn-ui-line);margin-top:20px; }
body main#content .dn33-source-example>details>summary { padding:18px 0;min-height:52px;font-size:16px;font-weight:600;cursor:pointer; }
body main#content .dn33-source-example>details p,body main#content .dn33-source-example>details li { font-size:15px!important;line-height:1.65!important;max-width:80ch; }
body main#content .dn33-download-links { display:flex;flex-wrap:wrap;gap:14px 26px;margin:18px 0; }
body main#content .dn33-download-links>a { min-height:44px;display:inline-flex;align-items:center;font-size:15px;font-weight:600;text-underline-offset:5px; }
body main#content .dn33-record-detail { margin-top:18px;border-top:1px solid var(--dn-ui-line); }
body main#content .dn33-record-detail>summary { padding:16px 0;min-height:48px;cursor:pointer;font-size:15px;font-weight:600; }
body main#content .dn33-record-detail p { font-size:15px!important;max-width:74ch; }
@media(max-width:700px) {
 body main#content .dn33-records .dn17-table-wrap { max-width:100%;overflow-x:auto; }
 body main#content .dn33-records .dn17-table-wrap::before { content:"Swipe to view all columns →";display:block;width:280px;padding:8px 0;color:var(--dn-ui-muted);font-size:12px;line-height:1.5; }
 body main#content .dn33-records table { min-width:680px; }
 body main#content .dn33-records th,body main#content .dn33-records td { word-break:normal!important;overflow-wrap:normal!important; }
 body main#content .dn33-records table caption { text-align:left; }
 body main#content .dn17-story .dn33-source-example { padding:26px 0;margin:24px 0; }
 body main#content .dn33-source-gallery,body main#content .dn33-source-gallery:has(>figure:last-child:nth-child(2)) { grid-template-columns:minmax(0,1fr);gap:18px; }
 body main#content .dn33-source-gallery>figure img { max-height:340px; }
 body main#content .dn33-source-log { grid-template-columns:minmax(0,1fr);gap:22px; }
 body main#content .dn33-download-links { display:block; }
 body main#content .dn33-download-links>a { display:flex;margin:4px 0; }
}

/* V34: case-level reading routes; site navigation and approved media styles stay scoped elsewhere. */
body main#content .dn17-story .dn34-case-nav { display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px 20px;align-items:start;padding:16px 0;margin:24px 0 32px;border-top:1px solid var(--dn-ui-line);border-bottom:1px solid var(--dn-ui-line); }
body main#content .dn17-story .dn34-case-nav>p { margin:0;padding-top:13px;font-size:11px!important;line-height:1.5!important;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--dn-ui-muted); }
body main#content .dn17-story .dn34-case-nav>div { display:flex;flex-wrap:wrap;gap:2px 24px;min-width:0; }
body main#content .dn17-story .dn34-case-nav a { display:inline-flex;align-items:center;min-height:44px;font-size:14px!important;line-height:1.4!important;font-weight:600;text-decoration:none;color:var(--dn-ui-ink);border-bottom:2px solid transparent; }
body main#content .dn17-story .dn34-case-nav a:hover { border-bottom-color:var(--dn-ui-gold); }
body main#content .dn17-story .dn34-case-nav a:focus-visible { outline:2px solid var(--dn-ui-gold);outline-offset:4px; }
@media(max-width:700px) {
 body main#content .dn17-story .dn34-case-nav { grid-template-columns:minmax(0,1fr);gap:8px;margin:20px 0 28px;padding:14px 0; }
 body main#content .dn17-story .dn34-case-nav>p { padding-top:0; }
 body main#content .dn17-story .dn34-case-nav>div { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px; }
 body main#content .dn17-story .dn34-case-nav a { font-size:13px!important; }
}

/* V35: a printable record, adjacent to the relevant technical review. */
body:has(.dn17-story) main#content .dn17-story .dn35-record-download { display:grid;grid-template-columns:112px minmax(0,1fr);gap:28px;align-items:start;margin:28px 0;padding:24px;border:1px solid var(--dn-ui-line);border-radius:14px;background:var(--dn-ui-surface); }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-preview { display:block;width:112px;line-height:0;box-shadow:0 3px 12px #152c3912;border:1px solid var(--dn-ui-line);border-radius:3px;overflow:hidden; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-preview img { display:block;width:100%;height:auto;margin:0;border:0;border-radius:0; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy { min-width:0; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>h2,body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>h3 { font-size:22px!important;line-height:1.3!important;letter-spacing:-.025em;margin:0 0 10px!important;max-width:38ch; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>p { font-size:15px!important;line-height:1.6!important;margin:0 0 16px;max-width:74ch; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>.dn35-sheet-label { font-size:10px!important;letter-spacing:.12em;font-weight:650;color:var(--dn-ui-muted);margin:0 0 8px; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-actions { display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;margin:18px 0 12px; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-actions>a { display:inline-flex;align-items:center;min-height:44px;font-size:14px!important;line-height:1.4!important;text-underline-offset:4px; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-actions>.dn35-download-action { gap:16px;padding:10px 16px;border-radius:7px;background:var(--dn-ui-ink);color:#fff;text-decoration:none;font-weight:600; }
body:has(.dn17-story) main#content .dn17-story .dn35-download-action:hover { background:#294657; }
body:has(.dn17-story) main#content .dn17-story .dn35-record-download a:focus-visible { outline:2px solid var(--dn-ui-gold);outline-offset:4px; }
body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>.dn35-sheet-help { font-size:12px!important;line-height:1.55!important;color:var(--dn-ui-muted);margin:0;max-width:82ch; }
body:has(.dn17-story) main#content .dn17-story .dn35-record-download .dn33-download-links { margin:12px 0 0; }
@media(max-width:700px) {
 body:has(.dn17-story) main#content .dn17-story .dn35-record-download { grid-template-columns:64px minmax(0,1fr);gap:10px 16px;padding:18px;margin:22px 0; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-preview { width:64px;grid-column:1;grid-row:1 / span 2; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy { display:contents; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>.dn35-sheet-label,body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>h2,body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>h3 { grid-column:2; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>p:not(.dn35-sheet-label),body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>div,body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>details { grid-column:1 / -1; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>h2,body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>h3 { font-size:19px!important; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>p { font-size:14px!important; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-actions { display:block;margin:4px 0; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>p:not(.dn35-sheet-label) { margin:0!important; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-copy>.dn33-record-detail { margin:8px 0 0; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-actions>a { margin:3px 0; }
 body:has(.dn17-story) main#content .dn17-story .dn35-sheet-actions>.dn35-download-action { gap:8px;padding:10px 12px; }
}
