/* Article composition shares the native body, enquiry controller and card renderer. */
.article-hero { position: relative; isolation: isolate; background: #08182f; padding-block: 24px 56px; }
.article-hero-image { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.article-hero-image img { height: 100%; object-fit: cover; }
.article-hero-image::after { content: ''; position: absolute; inset: 0; background: #040d1dc9; }
.article-hero-copy { text-align: center; max-width: 900px; margin-inline: auto; }
.article-hero-copy .section-kicker { color: #b6d6ff; }
.article-hero h1 { font-size: clamp(32px, 3.3vw, 48px); line-height: 1.25; margin-top: 16px; }
.article-hero-copy > p:last-child:not(.section-kicker) { color: #d3e2f8; margin: 20px auto 0; max-width: 760px; font-size: 18px; }
.article-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); grid-template-areas: 'aside main'; gap: 48px; align-items: start; }
.article-main { grid-area: main; min-width: 0; }
.article-main .article-content { max-width: none; }
.article-sidebar { grid-area: aside; min-width: 0; position: sticky; top: calc(var(--sticky-header-height) + var(--adminbar-offset, 0px) + 20px); max-height: calc(100dvh - var(--sticky-header-height) - var(--adminbar-offset, 0px) - 40px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 2px 8px 6px 2px; }
.article-sidebar-search { display: flex; gap: 8px; margin-bottom: 18px; }
.article-sidebar-search input { flex: 1; width: 0; min-height: 44px; padding: 10px 12px; font-size: 14px; }
.article-sidebar-search .icon-button { background: #07152e; color: white; }
.enquiry-compact { padding: 16px; background: #143c7c; border-radius: 10px; }
.enquiry-compact-content { width: 100%; }
.enquiry-compact .enquiry-shell, .enquiry-compact .form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.enquiry-compact .enquiry-copy { max-width: none; }
.enquiry-compact .enquiry-copy h2 { color: #fff; font-size: 22px; line-height: 1.3; }
.enquiry-compact .field.full { grid-column: auto; }
.enquiry-compact .field:has(> #contact-company), .enquiry-compact .field:has(> #contact-country) { display: none; }
.enquiry-compact .field input, .enquiry-compact .field select, .enquiry-compact .field textarea { min-height: 44px; padding: 10px; font-size: 14px; background: white; color: #102650; }
.enquiry-compact .field textarea { min-height: 80px; }
.enquiry-compact .field-error { color: #ffd1cb; }
.enquiry-compact .form-error-summary { color: #fff; background: #602d37; }
.enquiry-compact .inline-link { color: inherit; }
.enquiry-compact .form-submit-row { margin-top: 8px; flex-direction: column; align-items: stretch; gap: 8px; }
.enquiry-compact .consent-label { margin-block: 10px 0; gap: 8px; min-height: 44px; font-size: 12px; line-height: 1.5; color: #fff; }
.enquiry-compact .enquiry-feedback { background: #07152e; color: #fff; font-size: 13px; }
.enquiry-compact .button { background: #07152e; white-space: normal; }
.enquiry-compact .button:hover { background: #0b2854; }
.article-socials { padding-block: 18px; }
.article-socials .topbar-social-list { justify-content: center; }
.article-socials .topbar-social-link { color: var(--color-ink); }
.article-products { padding-top: 20px; border-top: 1px solid var(--color-line); }
.article-products h2 { font-size: 20px; margin-bottom: 18px; }
.article-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
.article-product-grid a { display: block; min-width: 0; font-size: 13px; line-height: 1.6; }
.article-product-grid img { aspect-ratio: 1; object-fit: cover; margin-bottom: 10px; border-radius: 4px; }
.article-product-grid a:hover { color: var(--color-accent); }
.article-toc { padding: 24px; background: var(--color-surface); border-left: 3px solid var(--color-accent); border-radius: 6px; margin-bottom: 32px; }
.article-toc h2 { font-size: 20px; margin-bottom: 12px; }
.article-toc ol { padding-left: 22px; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 32px; }
.article-toc a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.6; font-size: 14px; color: var(--color-accent); }
.article-main .article-navigation { max-width: none; }
.article-related { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--color-line); }
.article-related > h2 { font-size: 28px; margin-bottom: 26px; }
.article-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.article-related .content-card-copy h2 { font-size: 19px; }
@media (max-width: 1199px) { .article-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 32px; } .article-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
  .article-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'main' 'aside'; gap: 40px; }
  .article-sidebar { position: static; max-height: none; overflow: visible; width: 100%; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
  .article-sidebar-search { grid-column: 1 / -1; margin: 0; }
  .article-sidebar .enquiry-compact { grid-row: span 2; }
  .article-socials { padding-block: 0; }
  .article-products { padding-top: 0; border-top: 0; }
}
@media (max-width: 600px) {
  .article-hero { padding-block: 20px 36px; }
  .article-hero h1 { font-size: 32px; }
  .article-hero-copy > p:last-child:not(.section-kicker) { font-size: 16px; }
  .article-toc { padding: 18px; }
  .article-toc ol { grid-template-columns: minmax(0, 1fr); }
  .article-related-grid { grid-template-columns: minmax(0, 1fr); }
  .article-sidebar { display: block; }
  .article-sidebar-search { margin-bottom: 22px; }
  .article-socials { padding-block: 20px; }
}
