/* Shared refinement of the approved v2, including the formerly separate editorial pages.
   Navy opening/footer + continuous light reading surface; light option uses light throughout.
   Photos, parameters and inquiry behaviour are unchanged. No decorative animation. */
.ym-page { --ym-section-space: 80px; }
.ym-page :is(h1,h2,h3,h4) { text-wrap: pretty; }
.ym-page :is(p,li,dd) { text-wrap: pretty; }
.ym-page :is(.ym-specimen,.ym-specimens,.ym-materials,.ym-material-content) { min-width: 0; }
.ym-page .ym-specimen span { white-space: normal; text-wrap: nowrap; font-size: clamp(13px,1.05vw,15px); }
.ym-page .ym-specimen figcaption { gap: 4px; }
.ym-page .ym-home-hero { padding-block: 52px 56px; }
.ym-page .ym-hero-copy { gap: 24px; }
.ym-page .ym-hero-copy h1 { font-size: clamp(42px,3.9vw,56px); font-weight: 650; letter-spacing: -.035em; }
.ym-page .ym-hero-copy p { max-width: 27em; }
.ym-page .ym-material { padding-top: 28px; }
.ym-page .ym-material-content { gap: 18px; }
.ym-page .ym-material-content h3 { font-size: 28px; }
.ym-page .ym-material-use { line-height: 1.8; }
.ym-page .ym-material-photo img { height: 304px; }
.ym-page .ym-button { letter-spacing: .01em; }
/* Astra transitions link colors independently of the theme background. Keep the
   palette swap atomic so intermediate link colors cannot lose contrast. */
.ym-page :is(a,button,input,textarea,select) { transition-property:transform; }
.ym-page .ym-button-primary:hover { box-shadow: none; filter: brightness(1.1); }
.ym-page .ym-button-secondary:hover { border-color: var(--ym-text); }
.ym-page .ym-nav-link:hover { text-decoration: none; }
.ym-page .ym-nav-link:hover::after { content: ''; position: absolute; height: 2px; background: var(--ym-gold); bottom: 12px; inset-inline: 0; }
.ym-page .ym-article-row { padding-block: 30px; }
.ym-page .ym-article-preview h3 a { align-items: baseline; }
.ym-page .ym-text-link:hover { text-decoration-thickness: 1px; }
.ym-page .ym-detail-nav { background: var(--ym-tint); }
.ym-page .ym-detail-nav a { font-weight: 550; }
.ym-page :is(.ym-spec-table,.ym-selection-table) { border: 0; margin: 0; }
.ym-page :is(.ym-spec-table,.ym-selection-table) :is(th,td) { border: 0; }
.ym-page .ym-spec-table tbody:nth-of-type(even) { background: var(--ym-tint); }
.ym-page .ym-spec-table tbody + tbody { border-top: 1px solid var(--ym-line); }
.ym-page .ym-table-scroll { scrollbar-color: var(--ym-input-line) var(--ym-tint); scrollbar-width: thin; }
.ym-page .ym-form-section { padding: 40px; border-color: var(--ym-line); border-top-color: var(--ym-gold); }
.ym-page .ym-form-grid { gap: 28px 32px; }
.ym-page .ym-field :is(input:not([type="checkbox"]),textarea),
.ym-page .ym-quote-table input { border: 1px solid var(--ym-input-line); border-radius: 2px; padding: 11px 14px; color: var(--ym-text); background: var(--ym-surface); min-height: 50px; font: inherit; box-shadow: none; }
.ym-page .ym-field :is(input,textarea):focus, .ym-page .ym-quote-table input:focus { border-color: var(--ym-text); outline: 2px solid var(--ym-focus); outline-offset: 3px; }
.ym-page input[type="checkbox"] { appearance: auto; width: 20px; height: 20px; min-height: 20px; margin: 0; accent-color: var(--ym-navy); }
.ym-page .ym-field input[readonly] { background: var(--ym-tint); }
.ym-page .ym-field [aria-invalid="true"] { border: 2px solid var(--ym-text); }
.ym-page .ym-product-options > div { gap: 8px 28px; }
.ym-page .ym-check-label { line-height: 1.5; }
.ym-page .ym-quote-empty { padding: 32px; border: 0; border-left: 3px solid var(--ym-gold); }
.ym-page .ym-quote-empty h3 { font-size: 24px; }
.ym-page .ym-footer-grid { column-gap: 32px; }
.ym-page .ym-footer :is(a,li) { text-wrap: nowrap; }

/* Editorial shell. Same grid, spacing, palette and controls as the material catalogue. */
.ym-editorial-hero {
 --ym-bg:#0b0f19; --ym-surface:#141c29; --ym-tint:#192332; --ym-text:#edf2f8;
 --ym-muted:#b9c4d4; --ym-line:#47556a; --ym-input-line:#8f9daf;
 --ym-primary-bg:#c5a065; --ym-primary-text:#0b0f19; --ym-focus:#c5a065;
 background:var(--ym-bg); color:var(--ym-text); padding-block:48px;
}
html[data-theme="light"] .ym-editorial-hero {
 --ym-bg:#f8fafc; --ym-surface:#fcfdff; --ym-tint:#edf1f5; --ym-text:#0b0f19;
 --ym-muted:#475569; --ym-line:#c4ccd6; --ym-input-line:#6b798c;
 --ym-primary-bg:#0b0f19; --ym-primary-text:#f8fafc; --ym-focus:#0b0f19;
 border-bottom:1px solid var(--ym-line);
}
.ym-editorial-grid { display:grid; grid-template-columns:var(--ym-grid); gap:32px; align-items:center; }
.ym-editorial-grid > * { min-width:0; }
.ym-editorial-lead { grid-column:span 6; }
.ym-editorial-lead h1 { font-size:clamp(36px,3.3vw,48px); line-height:1.3; max-width:13em; }
.ym-editorial-lead > p { font-size:18px; line-height:1.8; color:var(--ym-muted); max-width:32em; margin-top:20px; }
.ym-editorial-lead > .ym-actions { margin-top:28px; }
.ym-page-label { display:block; color:var(--ym-muted); font-size:16px; margin-bottom:16px; }
.ym-editorial-photo { grid-column:span 6; }
.ym-editorial-photo img { width:100%; aspect-ratio:1.8; object-fit:cover; border:1px solid var(--ym-line); }
.ym-editorial-photo figcaption { color:var(--ym-muted); }
.ym-editorial .ym-section-heading { max-width:850px; }
.ym-reading-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; }
.ym-reading-intro > div { min-width:0; }
.ym-reading-intro p + p { margin-top:18px; }
.ym-reading-intro p { color:var(--ym-muted); font-size:17px; line-height:1.9; }
.ym-feature-list { display:grid; grid-template-columns:1fr 1fr; gap:32px 64px; margin:0; }
.ym-feature-list > div { border-top:1px solid var(--ym-line); padding-top:24px; min-width:0; }
.ym-feature-list :is(dt,h3) { font-size:24px; line-height:1.4; font-weight:600; margin:0 0 12px; }
.ym-feature-list h2 { font-size:26px; margin-bottom:18px; }
.ym-editorial-list { color:var(--ym-muted); margin:20px 0 28px; padding-left:20px; }
.ym-editorial-list li + li { margin-top:10px; }
.ym-closing-copy { color:var(--ym-muted); margin-top:16px; }
.ym-feature-list :is(dd,p) { color:var(--ym-muted); line-height:1.85; }
.ym-feature-list ul { padding-left:20px; margin:0; color:var(--ym-muted); }
.ym-feature-list li + li { margin-top:10px; }
.ym-material-links { display:grid; grid-template-columns:1fr 1fr; gap:32px 48px; }
.ym-material-link { display:grid; grid-template-columns:136px 1fr; gap:24px; align-items:center; }
.ym-material-link img { width:136px; height:136px; object-fit:cover; border:1px solid var(--ym-input-line); }
.ym-material-link h3 { font-size:24px; margin-bottom:10px; }
.ym-material-link p { color:var(--ym-muted); }
.ym-material-link:hover { text-decoration:none; }
.ym-material-link:hover h3 { text-decoration:underline; text-underline-offset:6px; }
.ym-editorial-split { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.ym-editorial-split > * { min-width:0; }
.ym-editorial-split figure img { width:100%; aspect-ratio:1.5; object-fit:cover; }
.ym-editorial-split h2 { margin-bottom:20px; }
.ym-editorial-split p { color:var(--ym-muted); }
.ym-editorial-split .ym-feature-list { gap:24px; margin-top:28px; }
.ym-editorial-split .ym-feature-list dt { font-size:19px; }
.ym-editorial-split .ym-feature-list > div { padding-top:18px; }
.ym-editorial-split .ym-actions { margin-top:28px; }
.ym-editorial-split .ym-stack-list { grid-template-columns:1fr; margin-top:0; }
.ym-insights-photo img { aspect-ratio:2.8; object-position:center 60%; }
.ym-editorial-notes { background:var(--ym-tint); padding:36px; }
.ym-editorial-notes .ym-feature-list > div { border:0; padding:0; }
.ym-logistics-end figure img { aspect-ratio:1.4; object-position:center 58%; }
.ym-article-list { border-top:1px solid var(--ym-line); }
.ym-reading-row { display:grid; grid-template-columns:150px minmax(0,1fr) 120px; gap:32px; align-items:baseline; padding:32px 0; border-bottom:1px solid var(--ym-line); }
.ym-reading-row time { color:var(--ym-muted); font-size:15px; }
.ym-reading-row h2 { font-size:26px; }
.ym-reading-row p { margin-top:12px; color:var(--ym-muted); max-width:50em; }
.ym-reading-row > a { justify-self:end; }
.ym-reading-hero { width:calc(100% - 80px); max-width:1000px; margin-inline:auto; }
.ym-reading-hero h1 { font-size:clamp(32px,3.2vw,46px); line-height:1.4; max-width:22em; }
.ym-reading-hero > p { font-size:18px; color:var(--ym-muted); max-width:47em; margin-top:20px; }
.ym-reading-meta { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; font-size:15px; color:var(--ym-muted); }
.ym-reading-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(230px,1fr); gap:72px; align-items:start; }
.ym-prose { min-width:0; font-size:17px; line-height:1.95; color:var(--ym-text); overflow-wrap:anywhere; }
.ym-prose > :first-child { margin-top:0; }
.ym-prose h2 { font-size:28px; line-height:1.4; margin:44px 0 20px; }
.ym-prose h3 { font-size:22px; line-height:1.5; margin:30px 0 14px; }
.ym-prose h4 { font-size:19px; margin:24px 0 12px; }
.ym-prose p { margin:0 0 20px; }
.ym-prose :is(ul,ol) { margin:0 0 24px; padding-left:24px; }
.ym-prose li + li { margin-top:8px; }
.ym-prose a { text-decoration:underline; }
.ym-prose table { display:block; overflow-x:auto; max-width:100%; width:100%; margin-block:24px; border:0; font-size:15px; line-height:1.75; }
.ym-prose :is(th,td) { border:0; padding:16px; vertical-align:top; min-width:120px; }
.ym-prose th { text-align:left; background:var(--ym-tint); }
.ym-prose thead { border-bottom:2px solid var(--ym-gold); }
.ym-prose tbody tr:nth-child(even) { background:var(--ym-tint); }
.ym-prose :is(.yumo-highlight-box,blockquote) { background:var(--ym-tint); color:var(--ym-text); padding:24px; border:0; border-left:3px solid var(--ym-gold); margin:24px 0; }
.ym-prose :is(.yumo-highlight-box,blockquote) :is(p,li,a) { color:inherit; }
.ym-prose img { height:auto; max-width:100%; }
.ym-reading-aside { display:grid; gap:28px; border-top:2px solid var(--ym-gold); padding-top:24px; }
.ym-reading-aside h2 { font-size:22px; }
.ym-reading-aside h3 { font-size:20px; margin-bottom:10px; }
.ym-reading-aside p { font-size:16px; color:var(--ym-muted); }
.ym-reading-aside img { width:100%; aspect-ratio:1.7; object-fit:cover; border:1px solid var(--ym-line); }
.ym-reading-aside .ym-text-link { margin-top:12px; }
.ym-reading-aside > div + div { border-top:1px solid var(--ym-line); padding-top:24px; }
.ym-reading-width { width:calc(100% - 80px); max-width:900px; margin-inline:auto; }
.ym-search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; max-width:760px; margin-top:28px; }
.ym-page .ym-search-form label { display:grid; gap:8px; font-weight:600; font-size:16px; color:var(--ym-text); }
.ym-search-form input { background:var(--ym-surface); border:1px solid var(--ym-input-line); color:var(--ym-text); height:50px; border-radius:2px; }
.ym-search-results { max-width:1000px; }
.ym-search-entry { padding:28px 0; border-bottom:1px solid var(--ym-line); }
.ym-search-entry:first-child { padding-top:0; }
.ym-search-entry h2 { font-size:26px; }
.ym-search-entry p { margin-top:12px; color:var(--ym-muted); max-width:50em; }
.ym-page .nav-links { display:flex; gap:12px; margin-top:32px; }
.ym-page .page-numbers { display:grid; place-items:center; min-width:44px; min-height:44px; padding:8px 14px; border:1px solid var(--ym-input-line); }
.ym-page .page-numbers.current { background:var(--ym-primary-bg); color:var(--ym-primary-text); }
.ym-empty { padding-block:64px; min-height:45dvh; }
.ym-empty h1 { margin-block:16px 20px; }
.ym-empty .ym-actions { margin-top:28px; }
@media (max-width:1279px) {
 .ym-reading-layout { gap:40px; }
 .ym-page .ym-nav-link:hover::after { right:auto; width:28px; bottom:8px; }
 .ym-editorial-grid { gap:24px; }
}
@media (max-width:1023px) {
 .ym-editorial-lead,.ym-editorial-photo { grid-column:1/-1; }
 .ym-editorial-photo img { aspect-ratio:2.4; }
 .ym-reading-layout { grid-template-columns:1fr; }
 .ym-reading-aside { grid-template-columns:1fr 1fr; }
 .ym-reading-aside > img { grid-row:span 2; }
 .ym-reading-row { grid-template-columns:100px minmax(0,1fr); }
 .ym-reading-row > a { grid-column:2; justify-self:start; }
 .ym-editorial-split { gap:32px; }
 .ym-material-link { grid-template-columns:100px 1fr; gap:18px; }
 .ym-material-link img { width:100px; height:120px; }
}
@media (max-width:767px) {
 .ym-page { --ym-section-space:48px; }
 .ym-page .ym-home-hero { padding-block:24px; }
 .ym-page .ym-hero-copy { gap:20px; }
 .ym-page .ym-hero-grid { gap:24px; }
 .ym-page .ym-hero-copy h1 { font-size:32px; }
 .ym-page .ym-specimen span { font-size:14px; }
 .ym-page .ym-materials { grid-template-columns:minmax(0,1fr); }
 .ym-page .ym-material { gap:20px; }
 .ym-page .ym-material-photo img { height:auto; aspect-ratio:1.8; }
 .ym-page .ym-material-content { gap:12px; }
 .ym-page .ym-material-content h3 { font-size:26px; }
 .ym-page .ym-production-gallery { grid-template-columns:1fr 1fr; gap:20px 16px; }
 .ym-page .ym-production-gallery figure { grid-column:span 1; }
 .ym-page .ym-production-gallery figure:first-child { grid-column:1/-1; }
 .ym-page .ym-production-gallery figure:not(:first-child) img { aspect-ratio:3/4; }
 .ym-page .ym-footer-grid { grid-template-columns:1fr 1fr; gap:28px 20px; }
 .ym-page .ym-footer-grid > div { grid-column:span 1; }
 .ym-page .ym-footer-grid > :is(.ym-footer-company,.ym-footer-contacts) { grid-column:1/-1; }
 .ym-page .ym-footer-company p { max-width:none; }
 .ym-page .ym-footer ul a { min-height:44px; display:inline-flex; align-items:center; }
 .ym-page .ym-form-section { padding:24px 18px; }
 .ym-page .ym-form-grid { gap:24px; }
 .ym-page .ym-product-options > div { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
 .ym-page .ym-check-label { min-height:44px; }
 .ym-page .ym-quote-empty { padding:24px 20px; }
 .ym-page .ym-comparison-specs > div:first-child { grid-column:1/-1; }
 .ym-page .ym-metrics { gap:18px 16px; }
 .ym-page .ym-metric:first-child { grid-column:span 2; }
 .ym-page .ym-metric:nth-last-child(-n+2) { grid-column:span 2; }
 .ym-editorial-hero { padding-block:32px; }
 .ym-editorial-lead h1 { font-size:32px; }
 .ym-editorial-lead > p { font-size:16px; margin-top:16px; }
 .ym-editorial-photo img { aspect-ratio:1.6; }
 .ym-page-label { font-size:15px; margin-bottom:12px; }
 .ym-reading-intro,.ym-feature-list,.ym-material-links,.ym-editorial-split { grid-template-columns:1fr; gap:24px; }
 .ym-reading-intro p { font-size:16px; }
 .ym-feature-list > div { padding-top:20px; }
 .ym-feature-list :is(dt,h3) { font-size:22px; }
 .ym-material-link { grid-template-columns:108px 1fr; }
 .ym-material-link img { width:108px; height:132px; }
 .ym-material-link h3 { font-size:22px; margin-bottom:8px; }
 .ym-material-link p { font-size:15px; line-height:1.75; }
 .ym-editorial-split .ym-feature-list { grid-template-columns:1fr; }
 .ym-editorial-notes { padding:24px; }
 .ym-reading-row { grid-template-columns:1fr; gap:12px; padding-block:26px; }
 .ym-reading-row h2 { font-size:23px; }
 .ym-reading-row > a { grid-column:1; }
 .ym-reading-row p { margin-top:12px; }
 .ym-reading-hero,.ym-reading-width { width:calc(100% - 40px); }
 .ym-reading-hero h1 { font-size:30px; }
 .ym-reading-hero > p { font-size:16px; }
 .ym-reading-meta { margin-top:20px; gap:20px; }
 .ym-reading-layout { gap:40px; }
 .ym-prose { font-size:16px; line-height:1.9; }
 .ym-prose h2 { font-size:25px; margin-top:36px; }
 .ym-prose h3 { font-size:21px; }
 .ym-prose :is(th,td) { padding:12px; }
 .ym-reading-aside { grid-template-columns:1fr; }
 .ym-reading-aside > img { grid-row:auto; max-height:220px; }
 .ym-search-form { gap:10px; }
 .ym-search-form .ym-button { padding-inline:18px; }
 .ym-search-entry h2 { font-size:23px; }
}
@media (max-width:374px) {
 .ym-page .ym-hero-copy h1 { font-size:30px; }
 .ym-page .ym-specimen span { font-size:13px; }
 .ym-page .ym-specimen img { height:94px; }
 .ym-editorial-lead h1 { font-size:30px; }
}
