@import url('tokens.css?v=11-refined-20260812');

/*
  Shared stylesheet architecture
  1. Foundations and type
  2. Global actions, header and heroes
  3. Cards, forms, tables and sticky layouts
  4. Shared page-composition patterns
  5. Responsive states

  Component contracts: ../../design-system/nabatcaps/COMPONENTS.dc-md
  Page HTML may only set hero image/crop custom properties inline.
*/

:root {
  color-scheme: light;
  --ink: var(--color-ink);
  --muted: var(--color-text-muted);
  --line: var(--color-border);
  --line-strong: var(--color-border-strong);
  --paper: var(--color-surface);
  --soft: var(--color-canvas);
  --soft-2: var(--color-surface-tint);
  --accent: var(--color-primary);
  --accent-soft: var(--color-success-bg);
  --technical: var(--color-technical);
  --technical-soft: var(--color-info-bg);
  --market-gold: var(--color-assay);
  --warning: var(--color-warning-text);
  --warning-soft: var(--color-warning-bg);
  --danger: var(--color-danger);
  --panel-space: var(--space-panel);
  --panel-border: var(--border-default);
  --panel-border-strong: var(--border-strong);
  --panel-shadow: var(--shadow-panel);
  --shadow: var(--shadow-float);
  --max: var(--container);
  --site-header-height: 89px;
  --sticky-offset: calc(var(--site-header-height) + var(--space-6));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-block-start: var(--sticky-offset); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--soft);
  font-family: var(--font-body);
  font-size: var(--type-body);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  overflow-wrap: anywhere;
}
body.dc-menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { cursor: pointer; }
.dc-brand-block > a { transition: opacity var(--motion-fast); }
.dc-brand-block > a:hover, .dc-brand-block > a:focus-visible { opacity: .78; }
:focus-visible { outline: 3px solid var(--technical); outline-offset: 3px; }
[hidden] { display: none !important; }
.dc-visually-hidden { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.dc-icon-sprite { width: 0; height: 0; position: absolute; overflow: hidden; }
.dc-icon-svg { width: 20px; height: 20px; display: block; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dc-icon--box { width: 48px; height: 48px; display: grid; place-items: center; margin-block-end: var(--space-6); border: 1px solid var(--line-strong); border-radius: var(--radius-icon, 10px); color: var(--accent); background: var(--accent-soft); transition: border-color var(--motion-fast), background var(--motion-fast); }
.dc-icon--box .dc-icon-svg { width: 24px; height: 24px; }
.dc-icon--mini { width: 38px; height: 38px; display: inline-grid; place-items: center; margin-block-end: var(--space-5); border: 1px solid var(--line-strong); border-radius: var(--radius-icon, 10px); color: var(--technical); background: var(--technical-soft); transition: border-color var(--motion-fast), background var(--motion-fast); }
.dc-icon--mini .dc-icon-svg { width: 20px; height: 20px; }
.dc-badge-icon { width: 14px; height: 14px; }
.dc-link-icon { width: 17px; height: 17px; transition: transform var(--motion-fast); }
.dc-text-link:hover .dc-link-icon { transform: translateX(4px); }
.is-dc-ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.dc-container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.dc-container--narrow { width: min(calc(100% - 48px), 780px); margin-inline: auto; }
.dc-skip-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  position: fixed;
  inset-block-start: var(--space-3);
  inset-inline-start: var(--space-3);
  z-index: var(--z-modal);
  padding: var(--space-2) var(--space-4);
  transform: translateY(-180%);
  color: #fff;
  background: var(--technical);
  text-decoration: none;
}
.dc-skip-link:focus { transform: translateY(0); }

h1, h2, h3, p { margin-block-start: 0; }
h1, h2, h3, h4, h5, h6, p, li, dt, dd, th, td, summary {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
h1, h2, h3 { font-family: var(--font-display); }
img, svg { max-width: 100%; }
h1 { margin-block-end: var(--space-6); font-size: var(--type-h1); line-height: .98; letter-spacing: -.045em; }
h2 { margin-block-end: var(--space-4); font-size: var(--type-h2); line-height: 1.06; letter-spacing: -.03em; }
h3 { margin-block-end: var(--space-3); font-size: var(--type-h3); line-height: 1.22; letter-spacing: -.012em; }
p { color: var(--muted); }
ul { padding-inline-start: 1.2rem; }
li + li { margin-block-start: .45rem; }
.dc-lead { max-width: 720px; font-size: var(--type-body-lg); line-height: 1.7; }
.dc-eyebrow {
  margin-block-end: var(--space-3);
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: var(--type-meta);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.dc-wf-tag { display: none !important; }

.dc-section { padding-block: var(--space-section); border-block-start: 1px solid var(--line); background: var(--soft); }
.dc-section-compact { padding-block: var(--space-section-compact); }
.dc-section.has-dc-surface-soft { background: var(--soft-2); }
.dc-section.has-dc-surface-paper { background: var(--paper); }
.dc-section-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-8); margin-block-end: var(--space-12); }
.dc-section-head > div { min-width: 0; max-width: 780px; }
.dc-section-head p { margin-block-end: 0; }

.dc-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  background: var(--paper);
  font-size: var(--type-meta);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .02em;
  overflow-wrap: anywhere;
}
.dc-badge.has-dc-tone-valid { color: var(--accent); border-color: #8fbca9; background: var(--accent-soft); }
.dc-badge.has-dc-tone-warning { color: var(--warning); border-color: #c9a94e; background: var(--warning-soft); }
.dc-badge.has-dc-tone-muted { color: var(--muted); background: var(--soft); }
.dc-tag-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.dc-tag-row + h1 { margin-block-start: var(--space-5); }
.dc-tag-row + h2, .dc-tag-row + h3 { margin-block-start: var(--space-4); }

.dc-button {
  max-width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 10px 20px;
  border: 1px solid var(--ink);
  border-radius: var(--radius-control);
  color: var(--ink);
  background: transparent;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: anywhere;
  touch-action: manipulation;
  transition: color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);
}
.dc-button:hover { color: #fff; border-color: var(--ink); background: var(--ink); text-decoration: none; transform: translateY(-2px); }
.dc-button.is-dc-primary { color: #fff; border-color: var(--accent); background: var(--accent); }
.dc-button.is-dc-primary:hover { border-color: #065b49; background: #065b49; }
.dc-button.is-dc-ghost { border-color: transparent; background: transparent; }
.dc-button.is-dc-ghost:hover { color: var(--technical); border-color: transparent; background: var(--technical-soft); }
.dc-button.is-dc-small { min-height: 44px; padding: 9px 14px; font-size: var(--type-label); }
.dc-button.is-dc-full { width: 100%; }
.dc-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }
.dc-actions > *, .dc-tag-row > *, .dc-section-head > *, .dc-section-title-row > * { min-width: 0; }
.dc-button:active { transform: translateY(0); }
.dc-button:disabled { cursor: wait; opacity: .68; transform: none; }
.dc-text-link {
  max-width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  padding: 0;
  color: var(--technical);
  background: transparent;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}
.dc-text-link:hover, .dc-text-link:focus-visible { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* A single-destination card keeps its anchor on the visible CTA when one
   exists, otherwise on the h3. Desktop expands that anchor over the card;
   mobile preserves the visible control as the only tap target. */
.is-dc-linked-card { position: relative; transition: color var(--motion-base), background var(--motion-base), border-color var(--motion-base), box-shadow var(--motion-base); }
.dc-card__link::after { position: absolute; inset: 0; z-index: 1; border-radius: var(--radius-panel); content: ''; }
.dc-card__title-link { color: inherit; text-decoration: none; transition: color var(--motion-fast); }
.dc-card__cta { max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; gap: 7px; margin-block-start: auto; color: var(--technical); text-decoration: none; font-weight: 600; white-space: normal; overflow-wrap: anywhere; touch-action: manipulation; }

@media (hover: hover) and (min-width: 681px) {
  .is-dc-linked-card { cursor: pointer; }
  .dc-card__link:focus-visible { outline: 0; }
  .is-dc-linked-card:has(.dc-card__link:focus-visible) { outline: 3px solid var(--technical); outline-offset: 3px; }
  .is-dc-linked-card:hover { border-color: var(--line-strong); background: #f2f6f3; }
  .is-dc-linked-card:hover .dc-card__title-link { color: var(--technical); }
  .is-dc-linked-card:hover .dc-card__cta { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
  .is-dc-linked-card:hover .dc-card__cta .dc-link-icon { transform: translateX(4px); }
}

.dc-service-bar { color: #dce8e3; background: var(--ink); }
.dc-service-bar .dc-container { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: 4px; font-family: var(--font-mono); font-size: .875rem; letter-spacing: .025em; }
.dc-service-message { min-height: 44px; display: inline-flex; align-items: center; gap: var(--space-2); margin: 0; color: inherit; line-height: 1; }
.dc-service-message::before { width: 7px; height: 7px; border-radius: 50%; background: var(--market-gold); box-shadow: 0 0 0 4px rgb(229 197 109 / 14%); content: ''; }
.dc-service-actions { min-width: 0; min-height: 44px; display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-5); margin: 0; }
.dc-service-actions a { max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; padding: 0; color: #fff; text-decoration-line: underline; text-decoration-color: transparent; text-underline-offset: 4px; line-height: 1.25; overflow-wrap: anywhere; transition: color var(--motion-fast), text-decoration-color var(--motion-fast); }
.dc-service-actions a:hover, .dc-service-actions a:focus-visible { color: #7fd7be; text-decoration-color: currentColor; }
#site-header { display: contents; }
.dc-site-header { position: sticky; inset-block-start: 0; z-index: var(--z-header); border-block-end: 1px solid rgb(209 220 214 / 86%); background: rgb(251 248 240 / 96%); backdrop-filter: blur(14px); }
.dc-header-inner { min-height: 88px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(20px, 3vw, 42px); }
.dc-brand { display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; }
.dc-brand-lockup { min-width: 0; display: grid; justify-items: start; align-content: center; gap: 2px; margin: 0; }
.dc-brand-block { margin: 0 !important; }
.dc-brand-block > a { display: inline-flex; align-items: center; }
.dc-header-inner .dc-brand-block img { width: clamp(136px, 10.5vw, 150px); height: auto; display: block; }
.dc-brand-tagline { margin: 0 !important; color: #66736d; font: 600 clamp(.44rem, .5vw, .52rem)/1.25 var(--font-mono); letter-spacing: .075em; white-space: nowrap; }
.dc-brand-tagline [lang='ar'] { display: inline-block; font-family: Tahoma, Arial, sans-serif; letter-spacing: 0; direction: rtl; unicode-bidi: isolate; }
.dc-footer-brand { width: fit-content; max-width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; }
.dc-footer-brand img { width: min(190px, 100%); height: auto; display: block; }
.dc-site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2vw, 30px); }
.dc-site-nav a { position: relative; padding-block: 30px 26px; color: var(--ink); text-decoration: none; font-size: .91rem; font-weight: 600; white-space: nowrap; }
.dc-site-nav a::after { position: absolute; inset-inline: 0; inset-block-end: 19px; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--accent); content: ''; transition: transform var(--motion-base); }
.dc-site-nav a:hover, .dc-site-nav a:focus-visible, .dc-site-nav a[aria-current='page'] { color: var(--accent); }
.dc-site-nav a:hover::after, .dc-site-nav a:focus-visible::after, .dc-site-nav a[aria-current='page']::after { transform: scaleX(1); }
.dc-mobile-nav-actions { display: none; }
.dc-header-actions { display: flex; gap: var(--space-2); align-items: center; }
.dc-header-actions .wp-block-button { margin: 0; }
.dc-menu-toggle { min-width: 46px; min-height: 46px; display: none; place-items: center; padding: 0; border: 1px solid var(--line-strong); border-radius: var(--radius-control); color: var(--ink); background: var(--paper); cursor: pointer; }
.dc-menu-toggle .dc-icon-svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

.dc-section--hero { min-height: clamp(640px, 74vh, 780px); display: grid; align-items: center; position: relative; overflow: hidden; padding-block: clamp(68px, 7vw, 104px) clamp(64px, 7vw, 92px); color: #fff; background-color: var(--ink); background-image: linear-gradient(90deg, rgb(23 54 76 / 99%) 0%, rgb(23 54 76 / 95%) 38%, rgb(23 54 76 / 79%) 60%, rgb(23 54 76 / 40%) 78%, rgb(23 54 76 / 16%) 100%), var(--hero-image, url('../images/hero-capsules.jpg')); background-position: center, 72% 58%; background-size: cover; }
.dc-section.has-dc-responsive-background { background-image: none; }
.dc-section__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.dc-section__media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--dc-section-position, center); }
.dc-section__media::after { position: absolute; inset: 0; content: ''; }
.dc-section--hero > .dc-section__media::after { background: linear-gradient(90deg, rgb(23 54 76 / var(--dc-section-overlay, 99%)) 0%, rgb(23 54 76 / 95%) 38%, rgb(23 54 76 / 79%) 60%, rgb(23 54 76 / 40%) 78%, rgb(23 54 76 / 16%) 100%); }
.dc-section.has-dc-responsive-background > .dc-section__content { position: relative; z-index: 2; }
.dc-section--hero::before { position: absolute; inset: 0; z-index: 1; background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, transparent, #000 60%); content: ''; pointer-events: none; }
.dc-hero-grid { display: grid; grid-template-columns: minmax(0, 760px); align-items: center; position: relative; }
.dc-hero-copy { max-width: 760px; }
.dc-hero-copy .dc-eyebrow { color: #7fd7be; }
.dc-section--hero h1 { max-width: 14ch; font-size: clamp(3.25rem, 5.35vw, 5.35rem); line-height: .94; text-wrap: balance; }
.dc-hero-copy > p { max-width: 680px; color: #d9e5e9; font-size: var(--type-body-lg); }
.dc-actions--hero { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-block: var(--space-6) var(--space-8); }
.dc-section--hero .dc-button:not(.is-dc-primary), .dc-section--page-hero .dc-button:not(.is-dc-primary), .dc-section--cta .dc-button:not(.is-dc-primary) { color: #fff; border-color: #c7d6dc; background: transparent; }
.dc-section--hero .dc-button:not(.is-dc-primary):hover, .dc-section--page-hero .dc-button:not(.is-dc-primary):hover, .dc-section--cta .dc-button:not(.is-dc-primary):hover { color: var(--ink); border-color: #fff; background: #fff; }
.dc-section--hero .dc-text-link { color: #d6e4e9; }
.dc-proof-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #6f8796; border-radius: var(--radius-pill); background: rgb(255 255 255 / 5%); }
.dc-proof-strip.has-dc-item-count-1 { grid-template-columns: minmax(0, 1fr); }
.dc-proof-strip.has-dc-item-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dc-proof-strip.has-dc-item-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dc-section--hero .dc-proof-strip { animation: proof-enter var(--motion-feature) var(--ease-standard) 220ms both; }
.dc-proof-strip > div { min-height: 72px; display: grid; align-content: center; padding: 12px 16px; }
.dc-proof-strip > div:first-child { padding-inline-start: var(--space-6); }
.dc-proof-strip > div:last-child { padding-inline-end: var(--space-6); }
.dc-proof-strip > div + div { border-inline-start: 1px solid #6f8796; }
.dc-proof-strip strong { display: block; color: #fff; font-family: var(--font-display); font-size: .9rem; }
.dc-proof-strip small { color: #c2d0d5; font-family: var(--font-mono); font-size: .75rem; line-height: 1.4; }

@keyframes proof-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.dc-section--page-hero { min-height: clamp(470px, 52vw, 600px); display: grid; align-items: center; position: relative; overflow: hidden; padding-block: clamp(58px, 7vw, 92px); color: #fff; border-block-end: 1px solid #567184; background-color: var(--ink); background-image: linear-gradient(90deg, rgb(23 54 76 / 99%) 0%, rgb(23 54 76 / 95%) 40%, rgb(23 54 76 / 79%) 60%, rgb(23 54 76 / 40%) 78%, rgb(23 54 76 / 18%) 100%), var(--page-hero-image, url('../images/page-hero-material.jpg')); background-position: center, var(--page-hero-position, 72% center); background-size: cover; }
.dc-section--page-hero > .dc-section__media::after { background: linear-gradient(90deg, rgb(23 54 76 / var(--dc-section-overlay, 99%)) 0%, rgb(23 54 76 / 95%) 40%, rgb(23 54 76 / 79%) 60%, rgb(23 54 76 / 40%) 78%, rgb(23 54 76 / 18%) 100%); }
.dc-section--page-hero::before { position: absolute; inset-block: 0; inset-inline-start: 0; z-index: 3; width: 7px; background: var(--accent); content: ''; }
body[data-page='certificates'] .dc-section--page-hero::before { background: var(--technical); }
body[data-page='resources'] .dc-section--page-hero::before { background: var(--market-gold); }
.dc-section--page-hero .dc-container { position: relative; z-index: 1; }
.dc-section--page-hero h1 { max-width: 900px; text-wrap: balance; }
.dc-section--page-hero .dc-lead, .dc-section--page-hero .dc-breadcrumbs { color: #d5e1e5; }
.dc-section--page-hero .dc-lead { max-width: 720px; }
.dc-section--page-hero .dc-breadcrumbs a { color: #fff; }
.dc-section--page-hero .dc-eyebrow { color: #7fd7be; }
.dc-section--page-hero .dc-actions { margin-block-start: var(--space-8); }
.dc-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block-end: var(--space-8); color: var(--muted); font-family: var(--font-mono); font-size: var(--type-label); }
.dc-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.dc-breadcrumbs__item { display: inline-flex; align-items: center; min-width: 0; margin-block-start: 0; }
.dc-breadcrumbs__item + .dc-breadcrumbs__item::before { margin-inline: var(--space-2); color: currentColor; content: '/'; }
.dc-breadcrumbs__item [aria-current='page'] { overflow-wrap: anywhere; }
.dc-breadcrumbs a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-inline: -8px; padding-inline: 8px; text-decoration-color: currentColor; text-underline-offset: 3px; transition: color var(--motion-fast), text-decoration-color var(--motion-fast); }
.dc-breadcrumbs a:hover, .dc-breadcrumbs a:focus-visible { color: var(--technical); text-decoration-thickness: 2px; }
.dc-section--page-hero .dc-breadcrumbs a:hover, .dc-section--page-hero .dc-breadcrumbs a:focus-visible { color: #7fd7be; }

.dc-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 52px); }
.dc-grid-2 > *, .dc-grid-3 > *, .dc-grid-4 > *, .dc-catalog-grid > *, .dc-footer-grid > *, .dc-section-title-row > *, .dc-section--cta .dc-container > * { min-width: 0; }
.dc-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.dc-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.dc-card { min-width: 0; padding: var(--panel-space); border: var(--panel-border); border-radius: var(--radius-panel); background: var(--paper); }
.dc-card-grid { align-items: stretch; }
.dc-card-grid > .dc-card { min-width: 0; height: 100%; }
.dc-task-card { min-height: 270px; display: flex; flex-direction: column; align-items: flex-start; border-block-start: 3px solid var(--ink); }
.dc-task-card .dc-text-link { margin-block-start: auto; }
.dc-task-card .dc-icon--box { margin-block-end: var(--space-8); }
.dc-number { min-width: 40px; height: 40px; display: grid; place-items: center; margin-block-end: var(--space-8); border: 1px solid var(--line-strong); border-radius: 50%; color: var(--accent); font-family: var(--font-mono); font-size: .78rem; font-weight: 600; }
.dc-product-card { min-width: 0; min-height: 430px; height: 100%; display: flex; flex-direction: column; position: relative; overflow: hidden; border-radius: var(--radius-panel); }
.dc-product-card p { flex: 1; }
.dc-product-image { height: 178px; position: relative; overflow: hidden; margin: calc(var(--panel-space) * -1) calc(var(--panel-space) * -1) var(--space-6); border-block-end: 1px solid var(--line); background-color: var(--soft-2); background-image: linear-gradient(rgb(23 54 76 / 5%) 1px, transparent 1px), linear-gradient(90deg, rgb(23 54 76 / 5%) 1px, transparent 1px); background-size: 24px 24px; color: transparent; font-size: 0; }
.dc-product-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 58%; }
.dc-card__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block-start: var(--space-5); }
.dc-card__actions .dc-button { flex: 1 1 160px; }

.dc-card-grid--qualification { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.dc-card--qualification { min-width: 0; height: 100%; display: flex; flex-direction: column; border-block-end: 1px solid var(--line-strong); background: var(--paper); }
.dc-qualification-image { aspect-ratio: 1; position: relative; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--soft-2); }
.dc-qualification-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.dc-card--qualification:nth-child(1) .dc-qualification-image img { object-position: center 62%; }
.dc-card--qualification:nth-child(2) .dc-qualification-image img { object-position: 68% center; }
.dc-qualification-number { min-width: 44px; min-height: 34px; display: grid; place-items: center; position: absolute; inset: 12px auto auto 12px; color: #fff; background: rgb(23 54 76 / 90%); font: 600 .75rem/1 var(--font-mono); letter-spacing: .06em; }
.dc-qualification-copy { min-height: 154px; flex: 1; padding: var(--space-5) var(--space-1) var(--space-6); }
.dc-qualification-copy h3 { margin-block-end: var(--space-2); }
.dc-qualification-copy p { margin: 0; font-size: var(--type-label); }
.dc-product-proof-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 0 var(--space-12); overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-product-proof-rail > div { min-height: 84px; display: grid; align-content: center; gap: 2px; padding: var(--space-4); }
.dc-product-proof-rail > div + div { border-inline-start: 1px solid var(--line); }
.dc-product-proof-rail span { color: var(--muted); font-family: var(--font-mono); font-size: .75rem; letter-spacing: .06em; }
.dc-product-proof-rail strong { font-family: var(--font-display); font-size: .9rem; }
.dc-product-proof-rail > div:nth-child(3) strong { color: var(--technical); }
.dc-product-proof-rail > div:nth-child(4) { background: var(--accent-soft); }

.dc-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-6); }
.dc-field { display: grid; gap: var(--space-2); align-content: start; }
.dc-field.is-dc-full { grid-column: 1/-1; }
.dc-field > label, fieldset > legend { margin: 0; padding: 0; color: var(--ink); font-size: var(--type-label); font-weight: 600; line-height: 1.35; }
.dc-field input:not([type='checkbox']):not([type='radio']), .dc-field select, .dc-field textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  padding: 12px 14px;
  color: var(--ink);
  background-color: #fffefa;
  transition: color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast);
}
.dc-field input:not([type='checkbox']):not([type='radio']):hover, .dc-field select:hover, .dc-field textarea:hover { border-color: var(--ink); }
.dc-field input:not([type='checkbox']):not([type='radio']):focus, .dc-field select:focus, .dc-field textarea:focus { border-color: var(--technical); background: #fff; box-shadow: 0 0 0 3px rgb(23 54 76 / 16%); outline: 0; }
.dc-field input::placeholder, .dc-field textarea::placeholder { color: #687970; opacity: 1; }
.dc-field select { appearance: none; padding-inline-end: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.dc-w3.dc-org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2317364c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); background-position: right 14px center; background-repeat: no-repeat; background-size: 18px; }
.dc-field input[aria-invalid='true'], .dc-field select[aria-invalid='true'], .dc-field textarea[aria-invalid='true'] { border-color: var(--danger); box-shadow: 0 0 0 3px rgb(180 35 46 / 10%); }
.dc-field textarea { min-height: 144px; resize: vertical; }
.dc-field-help { color: var(--muted); font-family: var(--font-mono); font-size: var(--type-meta); }
.dc-field-error { min-height: 18px; margin: 0; color: var(--danger); font-size: var(--type-meta); }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.dc-choice-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-3); margin-block-start: var(--space-2); }
.dc-choice { min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: var(--panel-border-strong); border-radius: var(--radius-control); background: #fffefa; cursor: pointer; transition: color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast); }
.dc-choice:hover { border-color: var(--ink); background: var(--soft-2); }
.dc-choice:focus-within { border-color: var(--technical); box-shadow: 0 0 0 3px rgb(23 54 76 / 16%); }
.dc-choice:has(input:checked) { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
.dc-choice input { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 0; appearance: none; border: 1.5px solid var(--line-strong); background: #fff; }
.dc-choice input[type='radio'] { border-radius: 50%; }
.dc-choice input[type='checkbox'] { border-radius: 5px; }
.dc-choice input[type='radio']:checked { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 5px #fff; }
.dc-choice input[type='checkbox']:checked { border-color: var(--accent); background-color: var(--accent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.dc-w3.dc-org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: 15px; }

.dc-catalog-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: var(--space-8); align-items: start; }
.dc-catalog-section { padding-block: 0; }
.dc-catalog-results { min-width: 0; padding-block: var(--space-section-compact); }
.dc-filter-column { min-width: 0; align-self: stretch; padding-block: var(--space-section-compact); }
.dc-filter-panel { block-size: max-content; max-block-size: none; position: sticky; inset-block-start: var(--sticky-offset); overflow: visible; padding: var(--space-6); border: var(--panel-border); border-block-start: 4px solid var(--ink); border-radius: var(--radius-panel); background: var(--paper); box-shadow: var(--panel-shadow); }
.dc-filter-panel .dc-section-head { margin-block-end: var(--space-6); }
.dc-filter-panel .dc-field + .dc-field { margin-block-start: var(--space-4); }
.dc-results-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); margin-block-end: var(--space-5); }
.dc-results-count { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; }
.dc-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.dc-catalog-feedback { margin: 0 0 var(--space-5); padding: 10px 12px; color: var(--muted); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--soft); font-family: var(--font-mono); font-size: var(--type-meta); }
.dc-catalog-layout.is-dc-loading [data-product-results] { opacity: .48; pointer-events: none; }
.dc-catalog-layout.is-dc-loading { cursor: progress; }
.dc-catalog-more { margin-block-start: var(--space-6); }
.dc-empty-state { padding: 56px var(--space-6); border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); text-align: center; }
.dc-empty-state p { max-width: 520px; margin-inline: auto; }

dialog { width: min(920px, calc(100% - 28px)); max-height: 86vh; padding: 0; color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--radius-panel); background: var(--paper); box-shadow: 0 28px 90px rgb(0 0 0 / 28%); }
dialog::backdrop { background: rgb(23 54 76 / 68%); backdrop-filter: blur(4px); }
.dc-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); padding: var(--space-5) var(--space-6); border-block-end: 1px solid var(--line); }
.dc-dialog-head h2 { margin: 0; font-size: 1.45rem; }
.dc-dialog-close { min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--paper); }
.dc-dialog-close .dc-icon-svg { margin: auto; }
.dc-dialog-body { padding: var(--space-6); overflow: auto; }

.dc-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.dc-product-detail-section { padding-block: 0; }
.dc-detail-content { min-width: 0; padding-block: var(--space-section-compact); }
.dc-sticky-column { min-width: 0; align-self: stretch; padding-block: var(--space-section-compact); }
.dc-detail-lead { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(24px, 4vw, 48px); align-items: center; margin-block-end: var(--space-12); }
.dc-detail-lead h1 { margin-block: var(--space-5) var(--space-5); }
.dc-detail-block { min-width: 0; padding-block: var(--space-12); border-block-start: 1px solid var(--line); }
.is-dc-sticky-card { max-block-size: calc(100vh - var(--sticky-offset) - var(--space-6)); position: sticky; inset-block-start: var(--sticky-offset); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: var(--space-6); border: var(--panel-border); border-block-start: 5px solid var(--accent); border-radius: var(--radius-panel); background: var(--paper); box-shadow: var(--panel-shadow); }
.is-dc-sticky-card .dc-button + .dc-button { margin-block-start: var(--space-3); }
.dc-fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.dc-fit-box { padding: var(--space-6); border: var(--panel-border); border-radius: var(--radius-panel); background: var(--paper); }
.dc-fit-box:first-child { border-block-start: 3px solid var(--accent); }
.dc-fit-box:last-child { border-block-start: 3px solid var(--warning); }
.dc-fit-box ul { margin-block-end: 0; }
.dc-table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; border: 1px solid var(--line-strong); border-radius: var(--radius-panel); background: var(--soft); }
.dc-data-table { width: 100%; border-collapse: collapse; background: var(--soft); font-size: var(--type-label); }
.dc-table-wrap .dc-data-table { min-width: 100%; }
.dc-data-table th, .dc-data-table td { padding: 15px 14px; border-block-end: 1px solid var(--line); text-align: start; vertical-align: top; overflow-wrap: anywhere; word-break: normal; }
.dc-data-table th { color: var(--ink); font-family: var(--font-display); font-weight: 600; background: var(--soft-2); }
.dc-data-table tbody tr:last-child > * { border-block-end: 0; }
.dc-table-wrap + .dc-button { margin-block-start: var(--space-6); }
.dc-document-list { display: grid; gap: var(--space-3); }
.dc-document-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-4); padding: var(--space-5); border-inline-start: 4px solid var(--technical); border-block: 1px solid var(--line); border-inline-end: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--paper); }
.dc-document-row strong { display: block; }
.dc-document-row small { color: var(--muted); font-family: var(--font-mono); font-size: var(--type-meta); }

.dc-certificate-controls { display: grid; grid-template-columns: minmax(16rem, 2fr) minmax(12rem, 1fr) auto; gap: var(--space-3); align-items: end; padding: var(--space-6); border: var(--panel-border); border-block-start: 4px solid var(--technical); border-radius: var(--radius-panel); background: var(--paper); box-shadow: var(--panel-shadow); }
.dc-certificate-controls .dc-button { min-height: 52px; }
.dc-certificate-results { margin-block-start: var(--space-8); }
.dc-certificate-finder.is-dc-compact .dc-certificate-results { margin-block-start: 0; }
.dc-certificate-results .dc-data-table { min-width: 860px; }
.dc-certificate-row td:first-child span, .dc-certificate-row td:nth-child(3) span { color: var(--technical); font-family: var(--font-mono); font-size: var(--type-meta); }
.dc-certificate-row small { font-size: .75rem; line-height: 1.45; }
.dc-certificate-row td:last-child { white-space: nowrap; }
.dc-status-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-block-start: var(--space-12); overflow: hidden; border: var(--panel-border); border-radius: var(--radius-panel); background: var(--paper); }
.dc-status-grid > div { padding: var(--space-6); }
.dc-status-grid > div + div { border-inline-start: 1px solid var(--line); }
.dc-status-grid p { margin-block: var(--space-4) 0; font-size: var(--type-label); }

.dc-card-grid--timeline { display: grid; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-card--timeline-step { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: var(--space-8); padding: var(--space-6) var(--panel-space); border: 0; border-radius: 0; background: var(--paper); }
.dc-card--timeline-step + .dc-card--timeline-step { border-block-start: 1px solid var(--line); }
.dc-card--timeline-step strong { color: var(--accent); font-family: var(--font-mono); font-size: var(--type-label); letter-spacing: .04em; }
.dc-location-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: var(--space-8); align-items: stretch; }
body[data-page='contact'] .dc-location-grid:has(.dc-market-map) { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.dc-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: var(--panel-border); border-radius: var(--radius-panel); background: var(--paper); }
.dc-stat-grid > div { padding: var(--space-8); }
.dc-stat-grid > div + div { border-inline-start: 1px solid var(--line); }
.dc-stat-grid strong { display: block; color: var(--accent); font-family: var(--font-display); font-size: 2rem; }

body[data-page='about'] .dc-facility-photo img { object-position: 16% center; }

.dc-form-shell { max-width: 940px; margin-inline: auto; }
.dc-form-panel { padding: clamp(24px, 4vw, 44px); border: var(--panel-border); border-block-start: 5px solid var(--accent); border-radius: var(--radius-panel); background: var(--paper); box-shadow: var(--panel-shadow); }
.dc-form-section + .dc-form-section { margin-block-start: var(--space-12); padding-block-start: var(--space-12); border-block-start: 1px solid var(--line); }
.dc-form-section .dc-section-head { margin-block-end: var(--space-8); }
.dc-form-footer { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); margin-block-start: var(--space-12); padding-block-start: var(--space-6); border-block-start: 1px solid var(--line); }
.dc-privacy-note { max-width: 560px; display: grid; gap: 4px; margin: 0; font-size: var(--type-meta); }
.dc-privacy-note strong { color: var(--ink); font-family: var(--font-display); font-size: .82rem; }
.dc-privacy-note span { color: var(--muted); }
.dc-success-box { padding: clamp(42px, 7vw, 72px); border: 1px solid var(--accent); border-radius: var(--radius-panel); background: var(--accent-soft); text-align: center; }
.dc-success-icon { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto var(--space-5); border: 2px solid var(--accent); border-radius: 50%; color: var(--accent); background: var(--paper); font-size: 1.5rem; }
.dc-success-icon .dc-icon-svg { width: 28px; height: 28px; }
.dc-reference { max-width: 100%; display: inline-block; margin-block: var(--space-2) var(--space-6); padding: 8px 14px; border: var(--panel-border-strong); border-radius: var(--radius-control); background: var(--paper); font-family: var(--font-mono); font-weight: 600; overflow-wrap: anywhere; direction: ltr; }

.dc-card-grid--resources { display: grid; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-card--resource { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-6); padding: var(--space-6) var(--panel-space); border: 0; border-radius: 0; background: var(--paper); }
.dc-card--resource + .dc-card--resource { border-block-start: 1px solid var(--line); }
.dc-card--resource.is-dc-linked-card:hover .dc-icon--resource { color: #fff; border-color: var(--technical); background: var(--technical); }
.dc-icon--resource { width: 64px; height: 64px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 1px solid var(--line-strong); border-radius: var(--radius-icon, 10px); color: var(--technical); background: var(--technical-soft); font-family: var(--font-mono); font-size: .75rem; font-weight: 600; line-height: 1.1; letter-spacing: .035em; text-transform: uppercase; transition: color var(--motion-fast), border-color var(--motion-fast), background var(--motion-fast); }
.dc-icon--resource .dc-icon-svg { width: 22px; height: 22px; }
.dc-card--resource h3 { margin-block-end: var(--space-1); }
.dc-card--resource p { margin: 0; }
details { border-block-start: 1px solid var(--line); padding-block: var(--space-5); }
details:last-of-type { border-block-end: 1px solid var(--line); }
summary { min-height: 44px; display: flex; align-items: center; position: relative; padding-inline-end: 44px; cursor: pointer; font-family: var(--font-display); font-size: 1.08rem; font-weight: 600; line-height: 1.35; list-style: none; }
summary::-webkit-details-marker { display: none; }
.dc-summary-icon { width: 30px; height: 30px; position: absolute; inset-inline-end: 0; inset-block-start: 7px; padding: 6px; border: 1px solid var(--line); border-radius: calc(var(--radius-icon, 10px) - 2px); color: var(--technical); background: var(--paper); transition: border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-base); }
summary:hover .dc-summary-icon { border-color: var(--line-strong); background: var(--technical-soft); }
details[open] .dc-summary-icon { transform: rotate(180deg); }
details p { margin-block: var(--space-4) 0; }

.dc-section--cta { padding-block: clamp(52px, 7vw, 84px); color: #fff; background-color: var(--ink); background-image: linear-gradient(90deg, rgb(23 54 76 / 98%), rgb(23 54 76 / 86%)), url('../images/manufacturing-quality.jpg'); background-position: center 44%; background-size: cover; }
.dc-section--cta > .dc-section__media::after { background: linear-gradient(90deg, rgb(23 54 76 / var(--dc-section-overlay, 98%)), rgb(23 54 76 / 86%)); }
.dc-section--cta .dc-container { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; align-items: end; gap: var(--space-8); }
.dc-section--cta .dc-eyebrow { color: #7fd7be; }
.dc-section--cta h2 { max-width: 760px; margin: 0; font-size: clamp(2.1rem, 4vw, 4rem); }
.dc-section--cta p { max-width: 680px; margin: var(--space-4) 0 0; color: #d9e5e9; }
.dc-section--cta .dc-button.is-dc-primary { color: var(--ink); border-color: #fff; background: #fff; }
.dc-section--cta .dc-button.is-dc-primary:hover { color: #fff; border-color: var(--accent); background: var(--accent); }
.dc-site-footer { padding-block: 66px 26px; color: #fff; background: var(--ink); }
.dc-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: clamp(26px, 5vw, 62px); }
.dc-footer-grid .dc-brand { color: #fff; }
.dc-footer-grid h3 { margin-block-end: var(--space-5); font-size: 1rem; }
.dc-footer-grid p, .dc-footer-grid a { color: #d1ddd8; }
.dc-footer-grid p { max-width: 420px; }
.dc-footer-grid a { min-height: 44px; display: flex; align-items: center; margin-block: 0; text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: color var(--motion-fast), text-decoration-color var(--motion-fast); }
.dc-footer-grid a:hover, .dc-footer-grid a:focus-visible { color: #7fd7be; text-decoration-color: currentColor; }
.dc-footer-links { display: block; }
.dc-footer-links .wp-block-navigation__container { width: 100%; align-items: stretch; gap: 0; }
.dc-footer-links .wp-block-navigation-item { width: 100%; }
.dc-footer-links .dc-company-address { display: block; margin-block-start: var(--space-3); color: #aebfc8; font-style: normal; line-height: 1.65; }
.dc-footer-bottom { display: flex; justify-content: space-between; gap: var(--space-5); margin-block-start: var(--space-12); padding-block-start: var(--space-5); border-block-start: 1px solid #49677a; color: #aebfc8; font-family: var(--font-mono); font-size: .75rem; line-height: 1.5; }
.dc-footer-bottom p { margin: 0; color: inherit; }

/* Shared composition layer: pages vary in content, not in visual grammar. */
.dc-section-title-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-8); margin-block-end: var(--space-12); }
.dc-section-heading__copy,
.dc-section-title-row > .wp-block-group:first-child { max-width: 780px; }
.dc-section-title-row p { margin-block-end: 0; }
.dc-section-heading__text { max-width: 720px; margin-block-start: var(--space-4); color: var(--muted); }
.dc-section-note { max-width: 620px; padding-inline-start: var(--space-5); border-inline-start: 3px solid var(--technical); color: var(--muted); }
.dc-prototype-note { max-width: 100%; display: inline-flex; align-items: center; gap: var(--space-2); margin-block-start: var(--space-5); padding: 7px 10px; color: var(--warning); border: 1px solid #c9a94e; border-radius: var(--radius-control); background: var(--warning-soft); font-family: var(--font-mono); font-size: var(--type-meta); overflow-wrap: anywhere; }

.dc-card-grid--tasks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--line); }
@media (min-width: 1101px) {
  .dc-card-grid--tasks.has-dc-item-count-1 { grid-template-columns: minmax(0, 1fr); }
  .dc-card-grid--tasks.has-dc-item-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-card-grid--tasks.has-dc-item-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dc-card-grid--tasks.has-dc-item-count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.dc-card--task { min-height: 250px; display: flex; flex-direction: column; align-items: flex-start; padding: var(--space-8); border: 0; border-radius: 0; background: var(--paper); }
.dc-card--task .dc-icon--box { margin-block-end: var(--space-8); }
.dc-card--task.is-dc-linked-card:hover .dc-icon--box, .dc-card--task.is-dc-linked-card:hover .dc-icon--mini { border-color: var(--accent); background: var(--paper); }
.dc-card--task p { max-width: 32rem; }
.dc-card--task .dc-text-link, .dc-card--task .dc-card__cta { margin-block-start: auto; }

.dc-card-grid--product-ledger { display: grid; gap: var(--space-5); }
.dc-card--product-row { min-height: 294px; display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr) minmax(205px, .55fr); align-items: stretch; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-product-ledger-visual { min-height: 294px; position: relative; overflow: hidden; background: var(--soft-2); }
.dc-product-ledger-visual img { width: 100%; height: 100%; display: block; position: absolute; inset: 0; object-fit: cover; transition: transform var(--motion-feature); }
.dc-card--product-row.is-dc-linked-card:hover .dc-product-ledger-visual img { transform: scale(1.025); }
.dc-product-ledger-main { display: grid; align-content: center; padding: clamp(32px, 4vw, 52px); border-inline-start: 1px solid var(--line); }
.dc-product-ledger-main p { max-width: 610px; }
.dc-product-ledger-meta { display: grid; align-content: center; gap: var(--space-5); padding: var(--space-6); border-inline-start: 1px solid var(--line); background: var(--soft); }
.dc-ledger-meta-row { padding-block-end: var(--space-3); border-block-end: 1px solid var(--line); }
.dc-ledger-meta-row span { display: block; color: var(--muted); font-family: var(--font-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.dc-ledger-meta-row strong { display: block; margin-block-start: 4px; font-size: .95rem; }

.dc-proof-layout { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: stretch; gap: clamp(32px, 6vw, 78px); }
.dc-proof-photo { min-width: 0; min-height: 520px; position: relative; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--ink); }
.dc-proof-photo img { width: 100%; height: 100%; display: block; position: absolute; inset: 0; object-fit: cover; }
.dc-proof-photo::after { position: absolute; inset-inline: var(--space-5); inset-block-end: var(--space-5); padding: 8px 10px; color: #fff; background: rgb(23 54 76 / 82%); font: 600 .75rem/1.4 var(--font-mono); letter-spacing: .06em; overflow-wrap: anywhere; content: attr(data-caption); }
.dc-proof-copy { min-width: 0; align-self: center; }
.dc-card-grid--proof-list { display: grid; margin-block-start: var(--space-8); overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-card--proof-item { display: grid; grid-template-columns: 52px 1fr; gap: var(--space-4); padding: var(--space-5) var(--panel-space); border: 0; border-radius: 0; background: var(--paper); }
.dc-card--proof-item + .dc-card--proof-item { border-block-start: 1px solid var(--line); }
.dc-card--proof-item .dc-icon--mini { margin: 0; }
.dc-card--proof-item h3 { margin-block-end: var(--space-1); }
.dc-card--proof-item p { margin: 0; }

.dc-resource-index { display: grid; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-card--resource-link { min-height: 112px; display: grid; grid-template-columns: 66px minmax(0, 1fr) auto; align-items: center; gap: var(--space-6); position: relative; padding: var(--space-6) var(--space-4); border: 0; border-radius: 0; background: var(--paper); text-decoration: none; transition: color var(--motion-base), background var(--motion-base), border-color var(--motion-base); }
.dc-card--resource-link + .dc-card--resource-link { border-block-start: 1px solid var(--line); }
.dc-card--resource-link::before { width: 4px; position: absolute; inset-block: var(--space-4); inset-inline-start: 0; border-radius: var(--radius-pill); transform: scaleY(0); background: var(--technical); content: ''; transition: transform var(--motion-fast); }
.dc-card--resource-link h3 { transition: color var(--motion-fast); }
.dc-card--resource-link .dc-icon--mini { margin: 0; transition: color var(--motion-fast), border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast); }
.dc-card--resource-link .dc-button, .dc-card--resource-link .wp-block-button__link { transition: color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast); }
.dc-card--resource-link p { margin: 0; }

@media (hover: hover) and (min-width: 681px) {
  .dc-card--resource-link.is-dc-linked-card:hover, .dc-card--resource-link.is-dc-linked-card:has(.dc-card__link:focus-visible) { border-block-end-color: var(--line-strong); background: var(--technical-soft); }
  .dc-card--resource-link.is-dc-linked-card:hover::before, .dc-card--resource-link.is-dc-linked-card:has(.dc-card__link:focus-visible)::before { transform: scaleY(1); }
  .dc-card--resource-link.is-dc-linked-card:hover h3, .dc-card--resource-link.is-dc-linked-card:has(.dc-card__link:focus-visible) h3 { color: var(--technical); }
  .dc-card--resource-link.is-dc-linked-card:hover .dc-icon--mini, .dc-card--resource-link.is-dc-linked-card:has(.dc-card__link:focus-visible) .dc-icon--mini { color: #fff; border-color: var(--technical); background: var(--technical); transform: scale(1.06); }
  .dc-card--resource-link.is-dc-linked-card:hover .dc-button, .dc-card--resource-link.is-dc-linked-card:hover .wp-block-button__link, .dc-card--resource-link.is-dc-linked-card:has(.dc-card__link:focus-visible) .dc-button, .dc-card--resource-link.is-dc-linked-card:has(.wp-block-button__link:focus-visible) .wp-block-button__link { color: #fff; border-color: var(--technical); background: var(--technical); }
  .dc-card--resource-link.is-dc-linked-card:hover .dc-button .dc-link-icon, .dc-card--resource-link.is-dc-linked-card:hover .wp-block-button__link .dc-link-icon, .dc-card--resource-link.is-dc-linked-card:has(.dc-card__link:focus-visible) .dc-button .dc-link-icon, .dc-card--resource-link.is-dc-linked-card:has(.wp-block-button__link:focus-visible) .wp-block-button__link .dc-link-icon { transform: translateX(3px); }
}

.dc-optional-label { margin-inline-start: var(--space-2); color: var(--muted); font-family: var(--font-mono); font-size: var(--type-meta); font-weight: 400; }
body[data-page='contact'] .dc-section--cta { display: none; }

.dc-card-grid--channels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1px; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--line); }
.dc-card--channel { min-height: 248px; display: flex; flex-direction: column; align-items: flex-start; padding: var(--space-8); border: 0; border-radius: 0; background: var(--paper); }
.dc-card--channel .dc-icon--mini { margin-block-end: var(--space-8); }
.dc-card--channel .dc-button, .dc-card--channel .dc-text-link { margin-block-start: auto; }

.dc-card-grid--direct-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.dc-card--direct-contact { min-height: 250px; display: grid; grid-template-columns: 52px minmax(0, 1fr); align-content: start; gap: var(--space-5); padding: var(--space-8); border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-card--direct-contact .dc-icon--mini { margin: 0; }
.dc-card--direct-contact p { max-width: 34rem; margin-block-end: 0; }
.dc-card--direct-contact .dc-button { grid-column: 2; justify-self: start; margin-block-start: var(--space-3); }

.dc-market-map { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-panel); color: #fff; background: var(--ink); }
.dc-market-map-canvas { aspect-ratio: 21 / 11; overflow: hidden; background: var(--ink); }
.dc-market-map-canvas img { width: 100%; height: 100%; display: block; object-fit: cover; }
.dc-market-map-caption { padding: var(--space-5); border-block-start: 1px solid #49677a; background: #102c3f; }
.dc-card-grid--map-legend { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.dc-card--map-item { min-width: 0; display: grid; grid-template-columns: 12px minmax(0, 1fr); align-items: start; gap: var(--space-2); padding: 0; border: 0; border-radius: 0; background: transparent; }
.dc-map-key { width: 12px; height: 12px; display: block; margin-block-start: 3px; border: 1px solid rgb(255 255 255 / 74%); border-radius: 3px; }
.dc-map-key.has-dc-tone-coverage { background: var(--accent); }
.dc-card--map-item strong, .dc-card--map-item small { display: block; }
.dc-card--map-item strong { color: #fff; font-family: var(--font-display); font-size: .78rem; line-height: 1.3; }
.dc-card--map-item small { margin-block-start: 3px; color: #bccbd2; font-family: var(--font-mono); font-size: .75rem; line-height: 1.45; }
.dc-market-map-caption p { margin: var(--space-4) 0 0; padding-block-start: var(--space-4); border-block-start: 1px solid #49677a; color: #d1ddd8; font-size: var(--type-meta); }

.dc-card-grid--halal-framework { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.dc-card-grid--qualification.has-dc-item-count-5,
.dc-card-grid--qualification.has-dc-item-count-6,
.dc-card-grid--halal-framework.has-dc-item-count-5,
.dc-card-grid--halal-framework.has-dc-item-count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dc-card--halal-stage { min-width: 0; height: 100%; display: flex; flex-direction: column; border-block-end: 1px solid var(--line-strong); background: var(--paper); }
.dc-halal-stage-image { aspect-ratio: 1; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--soft-2); }
.dc-halal-stage-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.dc-card--halal-stage:nth-child(1) .dc-halal-stage-image img { object-position: center 60%; }
.dc-card--halal-stage:nth-child(3) .dc-halal-stage-image img { object-position: 68% center; }
.dc-halal-stage-copy { min-height: 194px; flex: 1; padding: var(--space-5) var(--space-1) var(--space-6); }
.dc-card--halal-stage .dc-stage-label { display: block; margin-block-end: var(--space-3); color: var(--accent); font: 600 .75rem/1.4 var(--font-mono); letter-spacing: .07em; }
.dc-card--halal-stage h3 { margin-block-end: var(--space-2); }
.dc-card--halal-stage p { margin: 0; font-size: var(--type-label); }
.dc-card-grid--materials { display: grid; gap: var(--space-5); }
.dc-card--material { min-height: 330px; display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); align-items: stretch; overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-material-path-image { min-height: 330px; position: relative; overflow: hidden; }
.dc-material-path-image img { width: 100%; height: 100%; display: block; position: absolute; inset: 0; object-fit: cover; }
.dc-card--material > div:last-child { align-self: center; padding: var(--space-panel-large); border-inline-start: 1px solid var(--line); }

.dc-resource-feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); overflow: hidden; border: var(--panel-border-strong); border-radius: var(--radius-panel); background: var(--paper); }
.dc-resource-feature-copy { padding: clamp(30px, 5vw, 60px); }
.dc-resource-feature-visual { min-height: 360px; display: grid; align-content: end; position: relative; overflow: hidden; padding: var(--space-6); color: #fff; background: var(--technical); }
.dc-resource-feature-media { position: absolute; inset: 0; z-index: 0; }
.dc-resource-feature-media::after { position: absolute; inset: 0; background: linear-gradient(rgb(23 54 76 / 66%), rgb(23 54 76 / 94%)); content: ''; }
.dc-resource-feature-image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 56%; }
.dc-resource-feature-visual > :not(.dc-resource-feature-media) { position: relative; z-index: 1; }
.dc-resource-feature-visual .dc-document-code { color: #d3e2e8; font-family: var(--font-mono); font-size: var(--type-meta); letter-spacing: .08em; }
.dc-resource-feature-visual h3 { margin: var(--space-4) 0 0; font-size: 2rem; }
.dc-record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-block-end: var(--space-6); overflow: hidden; padding: 1px; border-radius: var(--radius-panel); background: var(--line); }

/* Small layout helpers are named by purpose so HTML does not carry ad-hoc CSS. */
.dc-filter-clear-row { margin-block-start: 18px; }
.dc-supporting-note { margin-block-start: var(--space-4); }
.dc-section-followup { margin-block-start: var(--space-6); }
.dc-actions.dc-centered { justify-content: center; }
.dc-record-grid > div { min-height: 108px; display: grid; align-content: center; gap: 5px; padding: var(--space-5); background: var(--paper); }
.dc-record-grid span { color: var(--muted); font-family: var(--font-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }

/* User-selected crop focus for fixed-ratio component media. These utilities
   intentionally override former item-position defaults. */
.has-dc-media-position-center img { object-position: center center !important; }
.has-dc-media-position-top img { object-position: center top !important; }
.has-dc-media-position-bottom img { object-position: center bottom !important; }
.has-dc-media-position-left img { object-position: left center !important; }
.has-dc-media-position-right img { object-position: right center !important; }

@media (max-width: 1080px) {
  .dc-header-inner .dc-brand-block img { width: 145px; }
  .dc-site-nav { gap: 14px; }
  .dc-site-nav a { font-size: .875rem; }
  .dc-header-actions .dc-quote-button { display: none; }
  .dc-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .dc-detail-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .dc-proof-strip { border-radius: var(--radius-panel); }
  .dc-proof-strip > div:first-child { padding-inline-start: 16px; }
  .dc-proof-strip > div:last-child { padding-inline-end: 16px; }
  .dc-card--product-row { grid-template-columns: 230px minmax(0, 1fr); }
  .dc-product-ledger-meta { grid-column: 1/-1; grid-template-columns: repeat(3, 1fr); border-inline-start: 0; border-block-start: 1px solid var(--line); }
  .dc-ledger-meta-row { padding: 0 var(--space-4) 0 0; border-block-end: 0; }
  .dc-ledger-meta-row + .dc-ledger-meta-row { padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--line); }
}

@media (max-width: 900px) {
  :root { --site-header-height: 83px; }
  .dc-service-message { display: none; }
  .dc-service-bar .dc-container { justify-content: center; }
  .dc-service-actions { width: 100%; justify-content: center; }
  .dc-menu-toggle { display: grid; grid-column: 3; grid-row: 1; justify-self: end; z-index: 2; }
  .dc-header-inner { min-height: 82px; grid-template-columns: auto 1fr auto; }
  .dc-header-inner > .dc-brand-lockup { grid-column: 1; }
  .dc-header-actions { grid-column: 3; grid-row: 1; justify-self: end; margin-inline-end: 54px; }
  .dc-site-nav {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    z-index: var(--z-menu);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-4) 24px var(--space-6);
    border-block-end: 1px solid var(--line-strong);
    background: var(--paper);
    box-shadow: var(--shadow);
  }
  .dc-site-nav.dc-open { display: flex; }
  .dc-site-nav > a { width: 100%; display: flex; padding: 13px 0; border-block-end: 1px solid var(--line); font-size: 1rem; }
  .dc-site-nav a::after { display: none; }
  .dc-site-nav a[aria-current='page'] { color: var(--accent); }
  .dc-mobile-nav-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); padding-block-start: var(--space-5); }
  .dc-mobile-nav-actions .dc-button { min-height: 46px; padding: 10px var(--space-3); border: 1px solid var(--ink); }
  .dc-mobile-nav-actions .dc-button.is-dc-primary { border-color: var(--accent); }
  .dc-section-head { align-items: flex-start; flex-direction: column; margin-block-end: var(--space-8); }
  .dc-section-title-row { grid-template-columns: 1fr; align-items: start; margin-block-end: var(--space-8); }
  .dc-section--cta .dc-container { grid-template-columns: 1fr; align-items: start; }
  .dc-section--cta .dc-actions { justify-content: flex-start; }
  .dc-hero-grid, .dc-catalog-layout, .dc-detail-layout, .dc-detail-lead, .dc-location-grid, .dc-proof-layout, .dc-resource-feature { grid-template-columns: 1fr; }
  .dc-proof-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Build the two-column dividers from row/column position instead of a
     fixed four-item assumption, so added proof items keep a clean grid. */
  .dc-proof-strip > div:nth-child(n + 3) { border-block-start: 1px solid #6f8796; }
  .dc-proof-strip > div:nth-child(odd) { border-inline-start: 0; }
  .dc-card-grid--tasks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Any odd final task may use the complete last row; even counts stay 2 × 2,
     3 × 2, etc. without tying layout to a particular item number. */
  .dc-card-grid--tasks > .dc-card--task:last-child:nth-child(odd) { grid-column: 1/-1; }
  .dc-card-grid--qualification { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-grid-3 { grid-template-columns: 1fr; }
  .dc-product-proof-rail { grid-template-columns: 1fr 1fr; }
  .dc-product-proof-rail > div:nth-child(3) { border-block-start: 1px solid var(--line); border-inline-start: 0; }
  .dc-product-proof-rail > div:nth-child(4) { border-block-start: 1px solid var(--line); }
  .dc-filter-panel, .is-dc-sticky-card { max-block-size: none; position: static; overflow: visible; }
  .dc-catalog-section { padding-block: var(--space-section-compact); }
  .dc-catalog-results, .dc-filter-column { padding-block: 0; }
  .dc-product-detail-section { padding-block: var(--space-section-compact); }
  .dc-detail-content, .dc-sticky-column { padding-block: 0; }
  .dc-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-certificate-controls { grid-template-columns: 1fr 1fr; }
  .dc-certificate-controls .dc-search { grid-column: 1/-1; }
  .dc-footer-grid { grid-template-columns: 1fr 1fr; }
  .dc-card-grid--channels { grid-template-columns: 1fr 1fr; }
  .dc-card-grid--channels > .dc-card--channel:last-child:nth-child(odd) { grid-column: 1/-1; }
  .dc-card-grid--halal-framework { grid-template-columns: 1fr 1fr; }
  .dc-card--material { grid-template-columns: 220px 1fr; }
}

@media (max-width: 680px) {
  .dc-container, .dc-container--narrow { width: min(calc(100% - 32px), var(--max)); }
  .dc-card__link::after { display: none; }
  .dc-card__title-link { min-height: 44px; display: inline-flex; align-items: center; }
  .dc-card__cta { position: relative; z-index: 2; padding-block: 8px; }
  .dc-service-actions { gap: var(--space-4); }
  .dc-section { padding-block: 64px; }
  .dc-section-head, .dc-results-head { align-items: flex-start; flex-direction: column; margin-block-end: var(--space-8); }
  .dc-section-title-row { grid-template-columns: 1fr; align-items: start; margin-block-end: var(--space-8); }
  .dc-header-inner { gap: var(--space-2); }
  .dc-header-inner .dc-brand-block img { width: 132px; }
  .dc-header-actions { display: none; margin-inline-end: 0; }
  .dc-mobile-nav-actions { grid-template-columns: 1fr; }
  h1 { font-size: clamp(2.35rem, 10.5vw, 2.9rem); line-height: 1.02; }
  .dc-section--hero { min-height: 680px; padding-block-start: 62px; background-image: linear-gradient(180deg, rgb(23 54 76 / 96%) 0%, rgb(23 54 76 / 89%) 64%, rgb(23 54 76 / 85%) 100%), var(--hero-image, url('../images/hero-capsules.jpg')); background-position: center, 60% center; }
  .dc-section--hero > .dc-section__media img { object-position: 60% center; }
  .dc-section--hero > .dc-section__media::after { background: linear-gradient(180deg, rgb(23 54 76 / 96%) 0%, rgb(23 54 76 / 89%) 64%, rgb(23 54 76 / 85%) 100%); }
  .dc-actions--hero .dc-button { width: 100%; }
  .dc-section--hero h1 { max-width: 13ch; font-size: clamp(2.55rem, 10.8vw, 3.15rem); line-height: .98; }
  .dc-proof-strip, .dc-grid-2, .dc-grid-4, .dc-catalog-grid, .dc-fit-grid, .dc-status-grid, .dc-field-grid, .dc-stat-grid { grid-template-columns: 1fr; }
  .dc-product-proof-rail { grid-template-columns: 1fr; }
  .dc-product-proof-rail > div + div, .dc-product-proof-rail > div:nth-child(4) { border-inline-start: 0; border-block-start: 1px solid var(--line); }
  .dc-proof-strip > div { min-height: 70px; }
  .dc-proof-strip > div + div, .dc-stat-grid > div + div, .dc-status-grid > div + div { border-inline-start: 0; border-block-start: 1px solid var(--line); }
  .dc-card-grid--qualification { grid-template-columns: 1fr; gap: var(--space-8); }
  .dc-qualification-copy { min-height: auto; }
  .dc-qualification-copy p,
  .dc-halal-stage-copy p,
  .dc-card--proof-item p,
  .dc-card--timeline-step p,
  .dc-card--resource-link p,
  .dc-card--resource p { font-size: 1rem; }
  .dc-field.is-dc-full { grid-column: auto; }
  .dc-certificate-controls { grid-template-columns: 1fr; }
  .dc-certificate-controls .dc-search { grid-column: auto; }
  .dc-form-footer, .dc-section--cta .dc-container { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .dc-section--page-hero .dc-actions { align-items: stretch; }
  .dc-section--page-hero .dc-actions .dc-button, .dc-section--cta .dc-actions .dc-button, .dc-card--resource-link .dc-button, .dc-card--resource-link .wp-block-button, .dc-card--resource-link .wp-block-button__link, .dc-document-row .dc-button { width: 100%; }
  .dc-card--timeline-step { grid-template-columns: 1fr; gap: var(--space-2); }
  .dc-card--resource { grid-template-columns: auto 1fr; }
  .dc-card--resource .dc-button { grid-column: 1/-1; }
  .dc-document-row { grid-template-columns: 1fr; }
  .dc-footer-grid { grid-template-columns: 1fr; }
  .dc-footer-bottom { flex-direction: column; }
  .dc-section--page-hero { min-height: 480px; background-image: linear-gradient(180deg, rgb(23 54 76 / 96%) 0%, rgb(23 54 76 / 90%) 64%, rgb(23 54 76 / 86%) 100%), var(--page-hero-image, url('../images/page-hero-material.jpg')); background-position: center, var(--page-hero-position, 68% center); }
  .dc-section--page-hero > .dc-section__media::after { background: linear-gradient(180deg, rgb(23 54 76 / 96%) 0%, rgb(23 54 76 / 90%) 64%, rgb(23 54 76 / 86%) 100%); }
  .dc-product-card { min-height: 390px; }
  .dc-card-grid--tasks, .dc-card-grid--channels, .dc-card-grid--halal-framework { grid-template-columns: 1fr; }
  .dc-card-grid--direct-contact { grid-template-columns: 1fr; }
  .dc-card--direct-contact { min-height: 0; grid-template-columns: 44px minmax(0, 1fr); padding: var(--space-6); }
  .dc-card--direct-contact .dc-button { grid-column: 1/-1; width: 100%; }
  .dc-card--task, .dc-card--channel,
  .dc-card-grid--tasks > .dc-card--task:last-child:nth-child(odd),
  .dc-card-grid--channels > .dc-card--channel:last-child:nth-child(odd) { grid-column: auto; }
  .dc-halal-stage-copy { min-height: auto; }
  .dc-card--product-row { grid-template-columns: 1fr; }
  .dc-product-ledger-visual { min-height: 250px; }
  .dc-product-ledger-main, .dc-product-ledger-meta { border-inline-start: 0; border-block-start: 1px solid var(--line); }
  .dc-product-ledger-meta { grid-template-columns: 1fr; }
  .dc-ledger-meta-row, .dc-ledger-meta-row + .dc-ledger-meta-row { padding: 0 0 var(--space-3); border-inline-start: 0; border-block-end: 1px solid var(--line); }
  .dc-card--resource-link { grid-template-columns: 48px 1fr; }
  .dc-card--resource-link .dc-button, .dc-card--resource-link .wp-block-buttons { grid-column: 1/-1; }
  .dc-card-grid--map-legend { gap: var(--space-3); }
  .dc-market-map-caption { padding: var(--space-4); }
  .dc-record-grid { grid-template-columns: 1fr; }
  .dc-card--material { grid-template-columns: 1fr; }
  .dc-material-path-image { min-height: 250px; }
  .dc-card--material > div:last-child { border-inline-start: 0; border-block-start: 1px solid var(--line); }
}

@media (max-width: 420px) {
  .dc-header-inner .dc-brand-block img { width: 126px; }
  .dc-service-bar .dc-container { width: min(calc(100% - 20px), var(--max)); }
  .dc-service-actions { gap: var(--space-3); font-size: .875rem; }
}

@media (max-width: 359px) {
  .dc-header-inner .dc-brand-block img { width: 112px; }
}

@media (hover: none) {
  .dc-card__link::after { display: none; }
  .dc-card__title-link { min-height: 44px; display: inline-flex; align-items: center; }
  .dc-card__cta { position: relative; z-index: 2; padding-block: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
