:root {
  color-scheme: light;
  --ink: #202d39;
  --muted: #54616b;
  --rule: #dce0df;
  --paper: #ffffff;
  --surface: #f5f6f4;
  --accent: #233e50;
  --frame: #1c2e3d;
  --frame-muted: #c0cbd3;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; font-size: 1rem; line-height: 1.65; }
a { color: var(--accent); text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid #35688b; outline-offset: 5px; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { line-height: 1.2; font-weight: 600; }
h1 { font-size: clamp(1.9rem, 3.4vw, 2.65rem); letter-spacing: -.035em; }
h2 { font-size: 1.35rem; letter-spacing: -.02em; }
h3 { font-size: 1.05rem; }
p + p { margin-top: 1rem; }
.wrap { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.muted, .caption { color: var(--muted); }
.caption { font-size: .85rem; }
.eyebrow { color: var(--muted); font-size: .72rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.skip-link { position: absolute; top: -100px; left: 24px; z-index: 2; padding: 10px 18px; background: white; }
.skip-link:focus { top: 12px; }
.site-header { background: var(--frame); border-bottom: 1px solid var(--frame); }
.header-inner { min-height: 108px; padding-block: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; flex-direction: column; min-width: 0; max-width: 42rem; text-decoration: none; color: var(--ink); }
.brand-logo { width: 216px; height: auto; filter: brightness(0) invert(1); }
.brand-note { margin-top: 5px; max-width: 40rem; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.header-meta { flex-shrink: 0; text-align: right; font-size: .85rem; }
.header-meta a { display: block; min-height: 24px; margin-top: 4px; }
.site-header .brand { color: #ffffff; }
.site-header .brand-note, .site-header .muted { color: var(--frame-muted); }
.site-header .header-meta a, .site-footer a { color: #e5edf2; }
.site-header a:focus-visible, .site-footer a:focus-visible { outline-color: #ffffff; }
.intro { padding-block: 36px 30px; max-width: 770px; }
.intro .eyebrow { margin-bottom: 12px; }
.intro h1 { margin: 0 0 12px; }
.intro .lede { max-width: 650px; color: var(--muted); font-size: 1.06rem; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-block: 20px; border-top: 1px solid var(--rule); }
.stock-list { list-style: none; padding: 0; margin: 0; }
.stock-item { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; border: 1px solid var(--rule); background: #fafbf9; }
.stock-item + .stock-item { margin-top: 24px; }
.stock-image { display: flex; align-items: center; background: var(--surface); }
.stock-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.stock-copy { padding: 28px 30px 28px 0; align-self: center; }
.stock-copy h3 { font-size: 1.65rem; letter-spacing: -.025em; margin-block: 9px 16px; }
.stock-copy h3 a { color: var(--ink); text-decoration: none; }
.model { display: block; overflow-wrap: anywhere; }
.stock-copy .model { font-size: 1.15rem; margin-top: 8px; letter-spacing: 0; }
.stock-copy p { max-width: 440px; }
.stock-facts { font-size: .93rem; margin-bottom: 14px; }
.stock-price { margin-top: 20px; font-size: 1.3rem; font-weight: 600; }
.stock-price span { display: block; font-size: .8rem; font-weight: 400; color: var(--muted); }
.stock-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 24px; }
.text-link { font-weight: 600; }
.status { display: inline-block; padding-left: 11px; border-left: 3px solid #63766c; font-size: .8rem; color: #374a40; }
.catalogue-note { max-width: 800px; padding-block: 22px 36px; color: var(--muted); font-size: .85rem; }
.breadcrumbs { padding-top: 26px; font-size: .83rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 0; }
.breadcrumbs li + li::before { content: "/"; color: #899197; margin-right: 12px; }
.product-heading { padding-block: 28px 32px; }
.product-heading h1 { margin-top: 9px; max-width: 1000px; }
.product-heading h1 .model { margin-top: 8px; font-size: .8em; letter-spacing: -.02em; }
.product-heading .caption { margin-top: 14px; }
.product-overview { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.product-photos a { display: block; }
.main-photo img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--surface); }
figcaption { margin-top: 10px; }
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--surface); }
.offer { padding-top: 8px; }
.offer h2 { margin-block: 22px 16px; font-size: 1.5rem; }
.offer .summary { color: var(--muted); }
.key-specs { margin: 24px 0; padding: 16px 0; border-block: 1px solid var(--rule); display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.key-specs dt { font-size: .72rem; color: var(--muted); }
.key-specs dd { font-size: 1rem; font-weight: 600; margin: 4px 0 0; }
.price { font-size: 1.9rem; font-weight: 600; letter-spacing: -.035em; }
.price-note { margin-top: 0; font-size: .8rem; color: var(--muted); }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 11px 26px; background: var(--accent); color: white; text-decoration: none; font-size: .95rem; font-weight: 550; }
.button:hover { background: var(--ink); }
.purchase { width: 100%; margin-top: 22px; }
.purchase-note, .enquiry-note { font-size: .8rem; color: var(--muted); margin-top: 10px; }
.location { margin-top: 22px; font-size: .9rem; }
.verified-date { margin-top: 5px; font-size: .75rem; color: var(--muted); }
.product-details { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 48px; margin-top: 48px; padding-bottom: 56px; }
.detail-section { border-top: 1px solid var(--rule); padding-top: 24px; }
.detail-section + .detail-section { margin-top: 32px; }
.detail-section h2 { margin-bottom: 20px; }
.detail-section p, .detail-section ul { font-size: .94rem; }
.detail-section ul { padding-left: 20px; }
.detail-section li + li { margin-top: 5px; }
table { width: 100%; border-collapse: collapse; font-size: .88rem; }
caption { text-align: left; color: var(--muted); font-size: .8rem; padding-bottom: 12px; }
th, td { padding: 11px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
th { width: 39%; font-weight: 500; color: var(--muted); padding-right: 20px; }
td { overflow-wrap: anywhere; }
.handling { margin-top: 24px; padding-left: 16px; border-left: 2px solid #84909a; }
.handling h3 { margin-bottom: 8px; }
.related-equipment { border-top: 1px solid var(--rule); padding: 24px 0 56px; }
.related-equipment h2 { margin-bottom: 14px; }
.related-equipment ul { margin: 0; padding-left: 20px; font-size: .94rem; }
.related-equipment li + li { margin-top: 5px; }
.site-footer { border-top: 1px solid var(--frame); background: var(--frame); }
.footer-inner { padding-block: 27px; display: flex; justify-content: space-between; align-items: baseline; gap: 24px; font-size: .8rem; color: var(--frame-muted); }
.footer-name { font-weight: 600; color: #ffffff; }
.footer-contact { margin-top: 4px; }
.business-id { white-space: nowrap; }

@media (max-width: 760px) {
  .wrap { width: calc(100% - 36px); }
  .header-inner { min-height: 94px; padding-block: 16px; gap: 18px; }
  .brand-note { font-size: .7rem; }
  .header-meta { font-size: .73rem; }
  .intro { padding-block: 28px; }
  .stock-item, .product-overview, .product-details { grid-template-columns: 1fr; gap: 26px; }
  .stock-copy { padding: 0 20px 24px; }
  .stock-copy h3 { font-size: 1.45rem; }
  .section-heading { align-items: center; }
  .section-heading h2 { font-size: 1.16rem; }
  .section-heading .caption { font-size: .75rem; }
  .product-heading { padding-block: 24px; }
  .product-heading h1 { font-size: 1.8rem; }
  .product-heading h1 .model { line-height: 1.3; }
  .product-overview { gap: 30px; }
  .product-details { margin-top: 34px; padding-bottom: 40px; }
  .gallery { gap: 12px; }
  .footer-inner { flex-wrap: wrap; gap: 10px; }
  th { width: 42%; padding-right: 14px; }
}

@media print {
  .skip-link, .purchase { display: none; }
  .wrap { width: 100%; }
  body { font-size: 11pt; }
  .product-overview, .product-details { gap: 24px; }
  .detail-section { break-inside: avoid; }
  .site-header, .site-footer { background: white; border-color: var(--rule); }
  .brand-logo { filter: none; }
  .site-header .brand, .site-header .brand-note, .site-header .muted,
  .site-header .header-meta a, .site-footer a, .footer-inner, .footer-name { color: var(--ink); }
}
