/* Shared reading scale; scoped to public collection/catalogue/capability pages.
 * Preserve Inter/Sora, the existing material palette, and procurement flow.
 * This is the final presentation layer over the retained legacy styles. */
.dc-visual-polish {
  --dc-type-body: 16px;
  --dc-type-label: 14px;
  --dc-type-meta: 13px;
  --dc-type-action: 15px;
  font-size: var(--dc-type-body);
  line-height: 1.75;
}
.dc-visual-polish h1,
.dc-visual-polish h2,
.dc-visual-polish h3 { text-wrap: balance; }
.dc-visual-polish :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #287485;
  outline-offset: 4px;
}
.dc-visual-polish :is(a, button, input, select, summary) { touch-action: manipulation; }
.dc-visual-polish :is(input, select, textarea) { font-variant-numeric: tabular-nums; }

/* Collection pages: readable navigation and quiet, consistent hierarchy. */
.dc-collection-refresh .site-header nav { font-size: 15px; gap: 22px; }
.dc-collection-refresh .header-inner { gap: 24px; }
.dc-collection-refresh .brand small { font-size: 10px; letter-spacing: .28em; }
.dc-collection-refresh .site-header nav a { min-height: 44px; display: flex; align-items: center; }
.dc-collection-refresh .site-header nav a:hover { color: #725239; }
.dc-collection-refresh .nav-contact { padding-bottom: 0; gap: 12px; }
.dc-collection-refresh .menu-toggle { font-size: 14px; }
.dc-collection-refresh .eyebrow { font-size: 12px; letter-spacing: .12em; }
.dc-collection-refresh .intro { font-size: 17px; line-height: 1.8; }
.dc-collection-refresh :is(.button, .dc-button) { font-size: var(--dc-type-action); line-height: 1.5; min-height: 50px; gap: 18px; }
.dc-collection-refresh .text-link { font-size: var(--dc-type-action); min-height: 44px; gap: 18px; align-items: center; }
.dc-collection-refresh :is(.hero-note, .fine-print, .collection-notes, .image-note, .breadcrumb) { font-size: var(--dc-type-meta); line-height: 1.75; }
.dc-collection-refresh .hero-note { margin-top: 32px; }
.dc-collection-refresh .section-heading > p { font-size: 16px; line-height: 1.8; max-width: 420px; }
.dc-collection-refresh .collection-hero .intro { font-size: 17px; }
.dc-collection-refresh .collection-hero h1 { font-size: clamp(34px, 3.4vw, 48px); }
.dc-collection-refresh .collection-art { padding-bottom: 32px; }
.dc-collection-refresh .art-caption {
  font-size: 11px;
  line-height: 1.4;
  inset-inline: 16px;
  bottom: 8px;
  color: #515e63;
}
.dc-collection-refresh .art-piece span { font-size: 11px; bottom: 12px; left: 14px; }
.dc-collection-refresh .piece-2 > span { bottom: 8px; }
.dc-collection-refresh .hero-series span:first-child { font-size: 12px; letter-spacing: .1em; }
.dc-collection-refresh .hero-series strong { font-size: 20px; }

/* Cards use one image frame and a flexible content column, not forced text crops. */
.dc-collection-refresh .collection-card { display: flex; flex-direction: column; }
.dc-collection-refresh .collection-card-content { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.dc-collection-refresh .collection-card-top { width: 100%; flex-wrap: wrap; gap: 0 16px; }
.dc-collection-refresh .collection-card-top .eyebrow { font-size: 12px; }
.dc-collection-refresh .collection-card-top > span { font-size: 13px; margin-bottom: 12px; }
.dc-collection-refresh .collection-card-content > p { font-size: 16px; line-height: 1.75; margin-bottom: 20px; }
.dc-collection-refresh .collection-card-content > .text-link { margin-top: auto; }
.dc-collection-refresh .vanity-feature-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.dc-collection-refresh .vanity-feature-copy .fine-print { font-size: 13px !important; }
.dc-collection-refresh .evidence-grid figcaption { font-size: 15px; }
.dc-collection-refresh .evidence-grid figcaption span { font-size: 13px; font-variant-numeric: tabular-nums; }
.dc-collection-refresh .evidence-bottom { gap: 32px; }
.dc-collection-refresh .evidence-bottom p { font-size: 15px; line-height: 1.8; }
.dc-collection-refresh .process-grid > li > span { font-size: 14px; }
.dc-collection-refresh .process-grid h3 { font-size: 21px; }
.dc-collection-refresh .process-grid p { font-size: 16px; line-height: 1.8; max-width: 34ch; }
.dc-collection-refresh .faq-list :is(summary, details p) { font-size: 16px; line-height: 1.75; }
.dc-collection-refresh .faq-list summary::after { flex-shrink: 0; }
.dc-collection-refresh .footer-top p:not(.eyebrow) { font-size: 14px; }
.dc-collection-refresh .footer-bottom { font-size: 13px; line-height: 1.75; }
.dc-collection-refresh .footer-email { font-size: 18px; overflow-wrap: anywhere; }
.dc-collection-refresh .range-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.dc-collection-refresh .small-callout { font-size: 16px; }

.dc-collection-refresh .confirmation-note > p { font-size: 16px; }
.dc-collection-refresh :is(.quote-selection > p:not(.eyebrow), .handoff-panel > p:not(.eyebrow)) { font-size: 16px; }
.dc-collection-refresh .quote-items strong { font-size: 15px; }
.dc-collection-refresh :is(.quote-items li > div > span, .quote-quantity) { font-size: 14px; }

/* Contact: 16px fields avoid mobile automatic zoom; labels and help remain legible. */
.dc-collection-refresh .dc-inquiry-form label { font-size: 14px; line-height: 1.7; }
.dc-collection-refresh input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.dc-collection-refresh select,
.dc-collection-refresh textarea { font-size: 16px; line-height: 1.6; min-height: 48px; }
.dc-collection-refresh :is(.dc-form-meta, .dc-contact-direct, .dc-field-help) { font-size: 13px; }
.dc-collection-refresh .dc-context-eyebrow { font-size: 12px; letter-spacing: .12em; }
.dc-collection-refresh :is(.dc-context-scope legend, .dc-context-scope label, .dc-context-summary, .dc-context-models summary, .dc-context-reset) { font-size: 15px; }
.dc-collection-refresh :is(.dc-context-models > p, .dc-context-help) { font-size: 14px; }
.dc-collection-refresh .dc-context-model strong { font-size: 14px; }
.dc-collection-refresh .dc-context-model > span > span { font-size: 14px; }
.dc-collection-refresh .dc-context-quantity { font-size: 13px; width: 130px; }
.dc-collection-refresh .dc-consent { line-height: 1.8; }
.dc-collection-refresh .dc-consent input { flex-shrink: 0; margin-top: 4px; }
.dc-collection-refresh :is(.dc-form-error, .dc-form-success) { font-size: 15px; }

/* Retained Astra catalogue/capability pages: match the new content rail and type. */
.dc-visual-polish:not(.dc-collection-refresh) #content > .ast-container { padding-inline: 0; max-width: none; }
.dc-visual-polish:not(.dc-collection-refresh) :is(.dc-container, .dc-shell) { width: min(1180px, calc(100% - 64px)); }
.dc-visual-polish:not(.dc-collection-refresh) :is(.dc-catalog-hero h1, h1.dc-heading) { font-size: clamp(34px, 3.7vw, 54px); line-height: 1.16; font-weight: 500; }
.dc-visual-polish:not(.dc-collection-refresh) :is(.dc-catalog-intro, .dc-lede) { font-size: 17px; line-height: 1.8; }
.dc-visual-polish:not(.dc-collection-refresh) .dc-product-card__image img { object-fit: contain; }
.dc-visual-polish:not(.dc-collection-refresh) .dc-product-card__body { display: flex; flex: 1; flex-direction: column; }
.dc-visual-polish:not(.dc-collection-refresh) .dc-product-card__body > .dc-text-link { margin-top: auto; padding-top: 16px; }
.dc-visual-polish:not(.dc-collection-refresh) .dc-card { display: flex; }
.dc-visual-polish:not(.dc-collection-refresh) .dc-card__body { display: flex; flex: 1; flex-direction: column; }
.dc-visual-polish:not(.dc-collection-refresh) .dc-card__body > .dc-text-link { margin-top: auto; padding-top: 16px; }
.dc-visual-polish:not(.dc-collection-refresh) :is(.dc-button, .dc-text-link) { font-size: 15px; min-height: 44px; }
.dc-visual-polish:not(.dc-collection-refresh) .main-header-menu .menu-link { font-size: 15px; }
.dc-visual-polish:not(.dc-collection-refresh) .site-header .ast-container { max-width: 1244px; padding-inline: 32px; }

@media (max-width: 1020px) {
  .dc-collection-refresh .menu-toggle { display: block; }
  .dc-collection-refresh .site-header nav { display: none; position: absolute; top: 100%; inset-inline: 0; background: #fff; z-index: 5; padding: 20px; box-shadow: 0 10px 15px #192e3510; }
  .dc-collection-refresh .site-header nav.is-open { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 25px; }
  .dc-collection-refresh .site-header nav a { font-size: 15px; }
  .dc-collection-refresh .selection-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 24px; }
  .dc-collection-refresh .model-card-info { padding: 16px; }
  .dc-collection-refresh .qty-label { width: 100%; }
}
@media (max-width: 800px) {
  .dc-collection-refresh .selection-layout { grid-template-columns: minmax(0, 1fr); }
  .dc-collection-refresh .qty-label { width: 108px; }
  .dc-collection-refresh .process-grid h3 { font-size: 19px; }
  .dc-collection-refresh .process-grid p { font-size: 15px; }
  .dc-visual-polish:not(.dc-collection-refresh) :is(.dc-container, .dc-shell) { width: calc(100% - 40px); }
  .dc-visual-polish:not(.dc-collection-refresh) .site-header .ast-container { padding-inline: 20px; }
}
@media (max-width: 520px) {
  .dc-collection-refresh .header-inner { gap: 12px; }
  .dc-collection-refresh .intro,
  .dc-collection-refresh .collection-hero .intro { font-size: 16px; }
  .dc-collection-refresh .eyebrow { font-size: 11px; }
  .dc-collection-refresh .section-heading > p { font-size: 16px; }
  .dc-collection-refresh .collection-card-top { flex-wrap: wrap; }
  .dc-collection-refresh .collection-card-top > span { font-size: 13px; }
  .dc-collection-refresh .collection-card-top .eyebrow { font-size: 11px; }
  .dc-collection-refresh .vanity-feature-copy > p:not(.eyebrow) { font-size: 16px; }
  .dc-collection-refresh .faq-list summary { font-size: 16px; }
  .dc-collection-refresh .closing-cta { padding-inline: 22px; }
  .dc-collection-refresh .model-card-info { padding: 20px; }
  .dc-collection-refresh .dc-context-quantity { width: 94px; }
  .dc-collection-refresh .art-caption { font-size: 10px; }
  .dc-visual-polish:not(.dc-collection-refresh) :is(.dc-container, .dc-shell) { width: calc(100% - 36px); }
  .dc-visual-polish:not(.dc-collection-refresh) .site-header .ast-container { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .dc-visual-polish *, .dc-visual-polish *::before, .dc-visual-polish *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
