/* Editorial library: shared image proportions and explicit media provenance. */
.dn12-resources{--dn12-ink:#19323e;--dn12-muted:#526972;--dn12-line:#dbe2e0;color:var(--dn12-ink)}
.dn12-resources .dn12-resource-intro{padding-bottom:28px}
.dn12-resources .dn12-resource-intro h1{font-size:clamp(36px,4.5vw,60px);line-height:1.08;letter-spacing:-.045em;max-width:1000px;margin:14px 0 20px}
.dn12-resource-intro .dn-lead{max-width:820px;font-size:20px;line-height:1.55}
.dn12-resource-nav-wrap{padding-top:0!important;padding-bottom:22px!important}
.dn12-resource-nav{display:flex;flex-wrap:wrap;gap:8px;border-block:1px solid var(--dn12-line);padding:16px 0}
.dn12-resource-nav a{color:var(--dn12-ink);background:#edf1ef;text-decoration:none;padding:10px 16px;font-size:14px;font-weight:650;border-radius:3px;transition:background .15s}
.dn12-resource-nav a:hover,.dn12-resource-nav a:focus-visible{background:#ff9e16;color:#19323e}
.dn12-resources .dn12-resource-section{padding-top:36px;padding-bottom:42px;scroll-margin-top:105px}
.dn12-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:26px}
.dn12-section-head h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.035em;margin:8px 0 0}
.dn12-section-head>p{font-size:17px;line-height:1.55;color:var(--dn12-muted);max-width:410px;margin:0 0 3px}
.dn12-section-head .eyebrow{font-size:12px;letter-spacing:.13em;margin:0}
.dn12-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dn12-resource-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--dn12-line);border-radius:5px;overflow:hidden;transition:box-shadow .2s,border-color .2s}
.dn12-resource-card:hover{box-shadow:0 10px 30px rgba(25,50,62,.065);border-color:#bdc9c9}
.dn12-resource-cover{position:relative;display:block!important;aspect-ratio:3/2;overflow:hidden;background:#edf1f0;border-bottom:1px solid var(--dn12-line);color:var(--dn12-ink)}
.dn12-resource-cover>img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;object-position:50% 50%;margin:0!important;border:0!important}
.dn12-resource-cover.dn12-fit-object>img{object-fit:contain;padding:12px 10px 28px;box-sizing:border-box}
.dn12-resource-cover.dn12-fit-drawing{background:#fff}
.dn12-resource-cover.dn12-fit-drawing>img{object-fit:contain;padding:14px 14px 32px;box-sizing:border-box}
.dn12-image-label{position:absolute;left:12px;bottom:10px;border:1px solid #dce4e3;background:rgba(255,255,255,.94);padding:4px 7px;border-radius:2px;color:#415a64;font-size:14px;line-height:1.2;font-weight:500;letter-spacing:.02em}
.dn12-resource-copy{padding:23px 24px 24px;display:flex;flex-direction:column;flex:1;gap:0}
.dn12-resource-copy .dn12-card-tag{font-size:14px;font-weight:700;letter-spacing:.04em;line-height:1.5;margin:0 0 12px;color:#61767b;min-height:16px}
.dn12-resource-copy h3{font-size:23px;line-height:1.22;font-weight:600;letter-spacing:-.035em;margin:0 0 14px;min-height:84.2px}
.dn12-resource-copy h3 a{color:var(--dn12-ink);text-decoration:none}
.dn12-resource-copy h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.dn12-resource-copy .dn12-card-desc{font-size:16px;line-height:1.55;color:var(--dn12-muted);margin:0 0 24px}
.dn12-resource-copy .dn12-card-date{font-size:13px;color:#7b590b;font-weight:650;line-height:1.5;margin:0 0 12px}
.dn12-card-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #e3e8e5;color:var(--dn12-ink);font-size:14px;font-weight:700;text-decoration:none}
.dn12-card-link span{font-size:21px;font-weight:400;color:#9a650d;line-height:1}
.dn12-card-link:hover{color:#95610b}
.dn12-editorial-figure{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0!important;margin:28px 0 36px!important;border:1px solid #dbe2e0!important;border-radius:4px;overflow:hidden;background:#fff}
.dn12-editorial-figure>img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/2!important;object-fit:contain!important;margin:0!important;padding:0!important}
.dn12-editorial-figure>figcaption{align-self:center!important;display:flex!important;flex-direction:column;gap:12px;text-align:left!important;padding:24px!important;margin:0!important;border:0!important;background:#fff!important;color:#526972!important;font-size:15px!important;line-height:1.55!important;width:auto!important;min-width:0}
.dn12-editorial-figure>figcaption strong{font-size:23px;line-height:1.2;font-weight:600;letter-spacing:-.025em;color:#19323e}
.dn12-editorial-label{font-size:12px;letter-spacing:.12em;font-weight:700;color:#6b787a}
@media(max-width:1050px){.dn12-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dn12-resource-copy h3{font-size:22px;min-height:80.6px}.dn12-section-head>p{max-width:320px}.dn12-editorial-figure{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.dn12-editorial-figure>figcaption{padding:18px!important}.dn12-editorial-figure>figcaption strong{font-size:20px}}
@media(max-width:650px){.dn12-resource-grid{grid-template-columns:minmax(0,1fr);gap:20px}.dn12-resources .dn12-resource-section{padding-top:24px;padding-bottom:28px}.dn12-resource-nav{gap:6px;padding:12px 0}.dn12-resource-nav a{font-size:12px;padding:9px 10px}.dn12-section-head{display:block;margin-bottom:20px}.dn12-section-head>p{margin-top:12px;font-size:16px;max-width:unset}.dn12-resource-copy{padding:20px}.dn12-resource-copy h3{min-height:0;font-size:24px;margin-bottom:12px}.dn12-resource-intro .dn-lead{font-size:18px}.dn12-resource-copy .dn12-card-desc{font-size:16px;margin-bottom:18px}.dn12-editorial-figure{grid-template-columns:minmax(0,1fr)}.dn12-editorial-figure>figcaption{padding:20px!important;gap:9px}.dn12-editorial-figure>figcaption strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.dn12-resource-card,.dn12-resource-nav a{transition:none}}

/* V12 hub catalogue media. Load after prior theme styles.
   Only the products and wear-parts directory grids use these classes. */
.dn12-catalogue {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.dn12-catalogue > .dn12-catalogue-card {
  display:flex; flex-direction:column; min-width:0; padding:0;
  margin:0; overflow:visible; background:#fff; border:1px solid #dce3e1;
}
.dn12-catalogue > .dn12-catalogue-card[hidden] { display:none !important; }
.dn12-catalogue-media {
  box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr);
  height:280px; min-height:280px; width:100%; gap:18px;
  padding:18px; margin:0; background:#f5f6f3; overflow:hidden;
}
.dn12-catalogue-media.dn12-catalogue-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dn12-catalogue-cell { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; }
.dn12-catalogue-object {
  display:block; position:relative; flex:none;
  width:min(100%,var(--dn12-art-width)); aspect-ratio:var(--dn12-art-ratio);
  margin:0; padding:0; border:0; overflow:hidden;
}
.dn12-catalogue-object > img {
  position:absolute; display:block; top:var(--dn12-source-top); left:var(--dn12-source-left);
  width:var(--dn12-source-width); height:auto; max-width:none; max-height:none;
  margin:0; padding:0; border:0; object-fit:contain;
  transform:none !important; filter:none; mix-blend-mode:normal;
}
.dn12-catalogue-card > .dn12-catalogue-note {
  box-sizing:border-box; min-height:66px; margin:0; padding:12px 18px;
  background:#fff; border-bottom:1px solid #e1e7e4;
  color:#596a71; font-size:14px; line-height:1.5; text-align:left;
}
.dn12-catalogue-copy { display:flex; flex-direction:column; flex:1; gap:0; min-width:0; padding:22px; }
.dn12-catalogue-label { margin:0 0 10px; min-height:21px; font-size:14px; line-height:1.5; color:#6f5a35; }
.dn12-catalogue-copy > h3 {
  min-height:2.4em; margin:0 0 12px; font-size:25px; line-height:1.2;
  letter-spacing:-.03em; color:#19323e; overflow-wrap:break-word;
}
.dn12-catalogue-description { min-height:3.3em; margin:0 0 18px; font-size:15px; line-height:1.65; color:#52646d; }
.dn12-catalogue-link {
  display:flex; align-items:center; min-height:44px; margin-top:auto; padding:8px 0;
  font-size:14px; font-weight:650; line-height:1.5; color:#19323e;
  text-decoration:underline; text-decoration-color:#9dabaf; text-underline-offset:5px;
}
.dn12-catalogue-link:hover { color:#5c421a; text-decoration-color:#FF9E16; }
.dn12-catalogue-link:focus-visible { outline:2px solid #19323e; outline-offset:4px; }
.dn12-featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:stretch; margin-top:32px; }
.dn12-featured-card { min-width:0; display:flex; flex-direction:column; background:white; border:1px solid #dce3e1; }
.dn12-featured-card .dn12-catalogue-media { height:210px; min-height:210px; padding:12px; }
.dn12-featured-card .dn12-catalogue-object { width:min(100%,calc(var(--dn12-art-width) * .79)); }
.dn12-featured-note { min-height:21px; margin:0; padding:8px 18px; font-size:14px; line-height:1.5; color:#596a71; }
.dn12-featured-copy { display:flex; flex-direction:column; flex:1; padding:14px 18px 18px; }
.dn12-featured-copy .dn12-catalogue-label { min-height:42px; }
.dn12-featured-copy h3 { min-height:2.4em; margin:0 0 10px; color:#19323e; font-size:22px; line-height:1.2; }
@media(max-width:1050px) {
  .dn12-catalogue { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dn12-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .dn12-catalogue { grid-template-columns:minmax(0,1fr); gap:22px; }
  .dn12-catalogue-media { height:260px; min-height:260px; padding:18px; }
  .dn12-catalogue-object { width:min(100%,calc(var(--dn12-art-width) * .9)); }
  .dn12-catalogue-copy { padding:20px; }
  .dn12-catalogue-copy > h3,.dn12-catalogue-description { min-height:0; }
  .dn12-catalogue-copy > h3 { font-size:26px; }
  .dn12-featured-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .dn12-featured-copy .dn12-catalogue-label,.dn12-featured-copy h3 { min-height:0; }
}

/* Wide screens need only two title lines; avoid empty third-line space. */
@media(min-width:1200px){.dn12-resource-copy h3{min-height:56.12px}.dn12-catalogue-copy>h3{min-height:30px}}
.dn12-catalogue-card>.dn12-catalogue-note{min-height:67px}

@media(min-width:651px){.dn12-resource-copy .dn12-card-date{min-height:39px}}
