@font-face { font-family: Geom; src: url('assets/fonts/geom-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('assets/fonts/fira-300.ttf') format('truetype'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('assets/fonts/fira-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('assets/fonts/fira-500.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url('assets/fonts/fira-600.ttf') format('truetype'); font-weight: 600; font-display: swap; }
:root { color-scheme: light; --ground: #f2f4ef; --ink: #202d26; --olive: #606b42; --muted: #53604e; --rule: #c7ccc0; --gutter: 4.5573vw; --title-size: clamp(48px, 4.1667vw, 68px); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--olive) var(--ground); scroll-padding-top: 24px; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 300 20px/1.5 'Fira Sans', sans-serif; }
::selection { color: var(--ground); background: var(--olive); }
a { color: inherit; text-underline-offset: .22em; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--olive); outline-offset: 5px; }
[hidden] { display: none !important; }
svg { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.skip-link { position: fixed; top: 12px; left: 16px; padding: 12px 20px; z-index: 10; background: var(--ink); color: white; }
.skip-link:not(:focus) { width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-header { min-height: 80px; display: flex; align-items: center; justify-content: space-between; padding: 12px 2.6042vw 12px var(--gutter); border-bottom: 1px solid #d2d6cc; gap: 32px; }
.wordmark { font-size: 42px; line-height: 1.15; letter-spacing: -.025em; white-space: nowrap; text-decoration: none; }
.wordmark strong { font: 400 46px/1.15 Geom, sans-serif; }
nav { display: flex; align-items: center; gap: clamp(18px, 2.35vw, 36px); }
nav > a { white-space: nowrap; text-decoration: none; }
nav > a:not(.button):hover { text-decoration: underline; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 53px; padding: 12px 26px; border: 1px solid transparent; border-radius: 3px; background: var(--olive); color: #fff; font-weight: 500; text-decoration: none; text-align: center; cursor: pointer; transition: background-color 160ms ease-out; }
.button:hover { background: #4b5731; }
.button:active { background: #374225; }
.nav-cta { margin-left: -18px; }
.page-shell { width: calc(100% - 2 * var(--gutter)); max-width: 1454px; margin-inline: auto; }
.product { padding-top: 37px; }
h1, h2, h3, p, figure { margin: 0; }
h1 { font: 400 clamp(48px, 4.1016vw, 68px)/1.2 Geom, sans-serif; letter-spacing: -.012em; margin-bottom: 21px; text-wrap: balance; }
.product-layout { display: grid; grid-template-columns: 69.556% minmax(0, 1fr); gap: 3.224%; align-items: start; }
.hero-image { display: block; width: 100%; height: auto; aspect-ratio: 971 / 499; object-fit: cover; }
figcaption { margin-top: 5px; font-size: 18px; line-height: 28px; color: var(--muted); }
.product-copy { padding-top: 27px; max-width: 354px; }
.product-copy p { font-size: clamp(21px, 1.4974vw, 25px); line-height: 1.61; }
.hero-cta { width: 100%; min-height: 83px; margin-top: 32px; font-size: 28px; }
.text-link { display: inline-flex; align-items: center; gap: 14px; font-size: 25px; font-weight: 400; color: var(--olive); margin-top: 36px; }
.packing { padding-top: 39px; }
h2 { font-size: clamp(36px, 3.125vw, 54px); line-height: 1.24; font-weight: 300; letter-spacing: -.025em; text-wrap: balance; }
.packing-intro { margin-top: 8px; font-size: 20px; }
.packing-options { display: grid; grid-template-columns: 1fr 1fr; gap: 3.224%; margin-top: 17px; }
.packing-option { display: flex; align-items: center; gap: 32px; padding: 28px 26px; min-height: 124px; border: 1px solid var(--rule); border-radius: 7px; text-decoration: none; }
.packing-option svg { color: var(--olive); }
.packing-option strong { display: block; font-weight: 600; font-size: 26px; line-height: 1.3; }
.packing-option span span { display: block; margin-top: 2px; font-size: 18px; color: var(--muted); }
.packing-option:hover { border-color: var(--olive); background: #e9ede3; }
.packing-detail { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 6%; align-items: center; margin-top: 36px; }
.packing-photo img, .category-photo img, .advantage-photo img, .source-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.advantage-photo img, .source-photo img { aspect-ratio: auto; height: auto; object-fit: contain; }
.packing-photo figcaption, .category-photo figcaption, .advantage-photo figcaption, .source-photo figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.specification-notes { display: grid; grid-template-columns: 1fr; gap: 28px; }
.specification-notes h3, .documents-note h3 { font-size: 21px; font-weight: 400; }
.specification-notes p, .documents-note p { margin-top: 10px; font-size: 17px; line-height: 1.65; max-width: 65ch; color: var(--muted); }
.section-intro { margin-top: 14px; max-width: 58ch; }
.buyer-value { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px 9%; }
.value-heading > p { margin-top: 24px; max-width: 30ch; font-size: 24px; line-height: 1.5; }
.value-action { display: inline-flex; align-items: center; min-height: 44px; margin-top: 24px; color: var(--olive); font-size: 18px; font-weight: 400; }
.value-action:hover { text-decoration-thickness: 2px; }
.advantage-list { list-style: none; margin: 0; padding: 0; }
.advantage-list li + li { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--rule); }
.advantage-list h3 { font-size: 24px; }
.advantage-list p { margin-top: 12px; font-size: 18px; line-height: 1.65; max-width: 65ch; }
.advantage-photos { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; align-items: start; padding-top: 24px; border-top: 1px solid var(--rule); }
.advantage-photo { min-width: 0; }
.reference-note { grid-column: 1 / -1; max-width: 80ch; font-size: 15px; line-height: 1.6; color: var(--muted); }
.reference-link { color: var(--olive); }
.category-boundary { margin-top: 20px; max-width: 80ch; color: var(--muted); font-size: 17px; line-height: 1.65; }
.category-list { margin-top: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 48px; }
.category-row { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr); gap: 24px; align-items: start; padding-block: 26px; border-top: 1px solid var(--rule); }
.category-row h3 { font-size: 24px; }
.category-row p { margin-top: 10px; font-size: 17px; line-height: 1.55; max-width: 48ch; }
.category-copy .category-action { margin-top: 12px; font-size: 17px; }
.category-action { color: var(--olive); font-weight: 400; white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }
.category-action:hover { text-decoration-thickness: 2px; }
.buying-steps { list-style: none; margin: 38px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5%; }
.buying-steps li { padding-top: 22px; border-top: 1px solid var(--rule); }
.buying-steps h3 { font-size: 24px; }
.buying-steps p { margin-top: 14px; font-size: 18px; line-height: 1.65; }
.documents-note { margin-top: 36px; padding: 28px 32px; background: #e7ecdf; }
.documents-note p { color: var(--ink); max-width: 85ch; }
.about-detail > .licence-note { margin-top: 16px; font-size: 15px; color: var(--muted); line-height: 1.6; }
.faq-list { margin-top: 30px; }
details > summary { cursor: pointer; min-height: 52px; padding: 18px 4px; font-size: 21px; font-weight: 400; }
details > summary::marker { color: var(--olive); font-size: .75em; }
details > summary:hover { color: var(--olive); }
.faq-list details { border-top: 1px solid var(--rule); }
.faq-list details p { padding: 0 4px 24px; font-size: 18px; max-width: 78ch; line-height: 1.7; }
.faq-list a { color: var(--olive); }
.field-help { margin-top: 9px; font-size: 15px; line-height: 1.6; color: var(--muted); }
.purchasing-details { margin: 0 0 30px; border-block: 1px solid var(--rule); }
.purchasing-details summary { font-size: 18px; }
.purchasing-details summary span { font-weight: 300; color: var(--muted); }
.purchasing-details .fields { padding-block: 12px 24px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.section-space { margin-top: 76px; padding-top: 52px; border-top: 1px solid var(--rule); }
.regional-context { grid-column: 1 / -1; border-block: 1px solid var(--rule); }
.regional-context summary { font-size: 17px; }
.regional-context .advantage-photos { border: 0; padding: 12px 0 24px; }
.regional-context .reference-note { padding-block: 14px; }
.about .regional-context { margin-top: 28px; }
.regional-context .source-photo { margin-top: 12px; }
.specification-notes .value-action { margin-top: 0; }
.about { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; }
.about > div { min-width: 0; }
.about-lead { margin-top: 26px; font-size: clamp(24px, 2vw, 30px); line-height: 1.45; max-width: 25ch; }
.source-photo { margin-top: 28px; }
.about-detail > p { max-width: 62ch; }
.about-detail > p + p { margin-top: 20px; }
.company-facts { margin: 32px 0 0; font-size: 18px; }
.company-facts > div { display: grid; grid-template-columns: 145px 1fr; gap: 20px; padding-block: 16px; border-top: 1px solid var(--rule); }
dt { color: var(--muted); }
dd { margin: 0; }
.registry-link { display: block; margin-top: 8px; color: var(--olive); }
.inquiry { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 9%; }
.inquiry-heading > p { margin-top: 24px; max-width: 35ch; }
.contact-email { display: inline-block; margin-top: 24px; font-size: 24px; font-weight: 400; color: var(--olive); overflow-wrap: anywhere; }
.inquiry-heading .form-explainer { font-size: 17px; line-height: 1.65; color: var(--muted); margin-top: 38px; }
.required-note { font-size: 16px; color: var(--muted); margin-bottom: 24px; }
fieldset { padding: 0; border: 0; margin: 0 0 30px; min-width: 0; }
legend { padding: 0; margin-bottom: 18px; font-size: 24px; font-weight: 400; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 20px; }
.field { min-width: 0; }
.field-wide { grid-column: 1 / -1; }
label { display: block; margin-bottom: 7px; font-size: 17px; font-weight: 400; }
input, textarea, select { width: 100%; min-height: 52px; border: 1px solid #8b9782; border-radius: 3px; padding: 12px 14px; color: var(--ink); background: #f9faf6; caret-color: var(--olive); font-size: 17px; font-weight: 300; line-height: 1.5; }
select { padding-right: 30px; }
textarea { resize: vertical; min-height: 126px; }
input::placeholder, textarea::placeholder { color: #59634f; opacity: 1; }
input:focus, textarea:focus, select:focus { border-color: var(--olive); }
input:user-invalid, textarea:user-invalid, select:user-invalid { border-color: #8e423b; outline-color: #8e423b; }
.prepare-button { min-width: 190px; }
button:disabled { background: #d5dacd; color: #4f5848; cursor: not-allowed; }
.email-result { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--rule); }
h3 { font-size: 28px; line-height: 1.3; font-weight: 400; }
.email-result > p { margin-top: 16px; font-size: 17px; }
.recipient { color: var(--muted); }
pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #e7ecdf; font: 300 16px/1.6 'Fira Sans', sans-serif; padding: 22px; margin: 20px 0; border-radius: 3px; }
.result-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.result-actions .button { font-size: 17px; }
.button-secondary { border-color: var(--olive); color: var(--olive); background: transparent; }
.button-secondary:hover { background: #e7ecdf; }
.edit-details { color: var(--olive); background: none; border: none; cursor: pointer; min-height: 44px; padding: 8px; text-decoration: underline; text-underline-offset: .22em; font-size: 17px; }
.status { font-size: 16px; color: var(--muted); }
.status:not(:empty) { margin-top: 16px; }
.privacy { margin-top: 90px; padding: 36px 0; border-top: 1px solid var(--rule); }
.privacy h2 { font-size: 26px; letter-spacing: 0; }
.privacy p { font-size: 16px; line-height: 1.7; max-width: 78ch; margin-top: 16px; color: var(--muted); }
.site-footer { margin: 20px var(--gutter) 0; padding: 28px 0 36px; display: flex; flex-wrap: wrap; gap: 20px 28px; align-items: center; border-top: 1px solid var(--rule); font-size: 16px; color: var(--muted); }
.site-footer > a:not(.footer-brand) { display: inline-flex; align-items: center; min-height: 44px; }
.footer-brand { font: 400 24px/1.3 Geom, sans-serif; color: var(--ink); text-decoration: none; margin-right: auto; }
.menu-button { display: none; }
@media (min-width: 1201px) {
  .site-header { min-height: 80px; padding-block: 12px; }
  .wordmark { font-size: 2.7344vw; }
  .wordmark strong { font-size: 2.9948vw; }
  nav { font-size: 1.171875vw; }
  .nav-cta { width: 11.9141vw; min-height: 3.4505vw; padding: .78125vw 0; }
  .product { padding-top: 2.4089vw; }
  h1 { margin-bottom: 1.3672vw; }
  figcaption { margin-top: .3255vw; font-size: 1.171875vw; line-height: 1.8229vw; }
  .product-copy { padding-top: 1.7578vw; max-width: 23.0469vw; }
  .product-copy p { font-size: clamp(21px, 1.4974vw, 25px); }
  .hero-cta { min-height: 5.4036vw; margin-top: 2.0833vw; font-size: 1.8229vw; }
  .text-link { font-size: 1.6276vw; margin-top: 2.34375vw; }
  .packing { padding-top: 2.5391vw; }
  .packing-intro { margin-top: .52083vw; font-size: 1.30208vw; }
  .packing-options { margin-top: 1.1068vw; }
  .packing-option { padding: 1.8229vw 1.6927vw; min-height: 8.0729vw; }
  .packing-option strong { font-size: 1.6927vw; }
  .packing-option span span { font-size: 1.171875vw; }
}
.email-result:not([hidden]) { animation: draft-ready 180ms cubic-bezier(.16, 1, .3, 1); }
@keyframes draft-ready { from { transform: translateY(5px); } to { transform: translateY(0); } }
@media (max-width: 1200px) {
  .wordmark { font-size: 32px; }
  .wordmark strong { font-size: 36px; }
  nav { gap: 18px; font-size: 16px; }
  .nav-cta { margin-left: 0; padding-inline: 18px; }
  .hero-cta { min-height: 68px; font-size: 23px; }
  .product-copy { padding-top: 14px; }
  .product-copy p { font-size: 21px; line-height: 1.5; }
  .text-link { font-size: 21px; margin-top: 26px; }
}
@media (max-width: 1020px) {
  .site-header { min-height: 82px; padding-inline: var(--gutter); gap: 14px; flex-wrap: wrap; }
  .menu-button { display: inline-flex; align-items: center; justify-content: center; min-width: 66px; min-height: 44px; padding: 8px 13px; border: 1px solid var(--rule); border-radius: 3px; background: transparent; color: var(--ink); cursor: pointer; font-size: 17px; }
  nav { width: 100%; flex-wrap: wrap; padding-block: 10px 14px; }
  .js nav:not(.is-open) { display: none; }
  nav > a { min-height: 44px; display: inline-flex; align-items: center; }
  .product { padding-top: 30px; }
  h1 { font-size: clamp(42px, 6.4vw, 60px); margin-bottom: 22px; }
  .product-layout { grid-template-columns: 1fr; gap: 24px; }
  .product-copy { padding: 0; max-width: none; display: grid; grid-template-columns: 1.15fr 1fr; gap: 0 32px; align-items: start; }
  .product-copy p { grid-row: span 2; max-width: 42ch; font-size: 21px; }
  .hero-cta { margin: 0; min-height: 60px; }
  .text-link { justify-self: start; margin-top: 18px; }
  .packing { padding-top: 54px; }
  .packing-option { gap: 20px; padding: 24px 20px; }
  .packing-option strong { font-size: 23px; }
  .packing-option svg { width: 42px; height: 42px; }
  .section-space { margin-top: 70px; padding-top: 48px; }
  .buyer-value { grid-template-columns: 1fr 1.3fr; gap: 36px 5%; }
  .value-heading h2 { font-size: 36px; }
  .value-heading > p { font-size: 21px; }
  .about { gap: 5%; }
  .about-lead { font-size: 24px; }
  .company-facts > div { grid-template-columns: 1fr; gap: 5px; }
  .category-row { gap: 5%; }
  .category-list { gap: 8px 28px; }
  .buying-steps { grid-template-columns: 1fr; gap: 26px; }
  .buying-steps li { display: grid; grid-template-columns: 1fr 1.3fr; gap: 32px; }
  .buying-steps p { margin-top: 0; }
  .inquiry { grid-template-columns: 1fr; gap: 42px; }
  .inquiry-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
  .inquiry-heading h2 { grid-row: span 3; }
  .inquiry-heading > p, .inquiry-heading .form-explainer { margin-top: 0; }
  .inquiry-heading .form-explainer { margin-top: 20px; }
  .site-footer { flex-wrap: wrap; gap: 18px 24px; }
}
@media (max-width: 760px) {
  .buyer-value { grid-template-columns: 1fr; gap: 32px; }
  .advantage-photos { grid-template-columns: 1fr; gap: 28px; }
  .packing-detail { grid-template-columns: 1fr; gap: 28px; }
  .specification-notes { grid-template-columns: 1fr 1fr; gap: 28px; }
  .category-list { grid-template-columns: 1fr; }
  .category-row { grid-template-columns: minmax(100px, .65fr) minmax(0, 1.35fr); gap: 24px; }
}
@media (max-width: 580px) {
  :root { --gutter: 24px; }
  body { font-size: 18px; }
  .site-header { min-height: 76px; padding-block: 12px; }
  .wordmark { font-size: 26px; }
  .wordmark strong { font-size: 29px; }
  nav { gap: 8px 24px; }
  .nav-cta { width: 100%; }
  h1 { font-size: clamp(36px, 10.7vw, 48px); letter-spacing: -.025em; line-height: 1.13; text-wrap: initial; }
  h2 { font-size: 36px; }
  figcaption { font-size: 14px; line-height: 24px; }
  .product-layout { gap: 20px; }
  .product-copy { display: block; }
  .product-copy p { font-size: 19px; line-height: 1.55; }
  .hero-cta { margin-top: 24px; font-size: 22px; }
  .text-link { font-size: 20px; margin-top: 20px; min-height: 44px; }
  .packing { padding-top: 36px; }
  .packing-intro { font-size: 17px; margin-top: 12px; }
  .packing-options { grid-template-columns: 1fr; gap: 14px; margin-top: 24px; }
  .packing-option { min-height: 106px; padding: 20px; }
  .packing-option span span { font-size: 16px; }
  .specification-notes { grid-template-columns: 1fr; gap: 24px; }
  .value-heading > p { font-size: 20px; margin-top: 20px; }
  .value-action { margin-top: 16px; }
  .advantage-list p { font-size: 17px; }
  .category-row { gap: 20px; padding-block: 28px; }
  .category-row p { font-size: 17px; }
  .category-boundary { font-size: 16px; }
  .buying-steps li { grid-template-columns: 1fr; gap: 12px; }
  .buying-steps p { font-size: 17px; }
  .documents-note { padding: 24px; }
  details > summary { font-size: 19px; }
  .faq-list details p { font-size: 17px; }
  .section-space { margin-top: 56px; padding-top: 36px; }
  .about { grid-template-columns: 1fr; gap: 26px; }
  .about-lead { margin-top: 20px; }
  .company-facts { font-size: 17px; }
  .inquiry-heading { display: block; }
  .inquiry-heading > p { margin-top: 22px; }
  .inquiry-heading .form-explainer { margin-top: 28px; }
  .fields { grid-template-columns: 1fr; gap: 20px; }
  .prepare-button { width: 100%; }
  .result-actions > * { width: 100%; }
  pre { padding: 16px; font-size: 15px; }
  .privacy { margin-top: 52px; }
  .site-footer { margin-top: 0; padding-top: 24px; gap: 18px 24px; font-size: 14px; }
  .footer-brand { width: 100%; margin-right: 0; }
.site-footer p { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Buying guide: a printable procurement reference, not an offer or certificate. */
.guide-header { gap: 24px; }
.guide-header > a:last-child { color: var(--olive); font-size: 17px; }
.guide-page { max-width: 1000px; padding-block: 48px; }
.guide-page h1 { font-size: clamp(36px, 4vw, 58px); }
.guide-intro { max-width: 65ch; margin-top: 18px; }
.guide-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 26px; }
.guide-section { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--rule); break-inside: avoid; }
.guide-section h2 { font-size: 30px; }
.guide-section > p { font-size: 18px; max-width: 70ch; margin-top: 14px; }
.guide-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px; margin-top: 26px; }
.guide-facts dt { font-size: 17px; font-weight: 500; color: var(--ink); }
.guide-facts dd { font-size: 17px; margin-top: 7px; }
.guide-section ul { padding-left: 22px; max-width: 70ch; font-size: 18px; }
.guide-section li + li { margin-top: 12px; }
.guide-note { font-size: 15px; color: var(--muted); margin-top: 18px; }
@media (max-width: 580px) {
  .category-row { grid-template-columns: 90px minmax(0, 1fr); gap: 18px; }
  .category-row h3 { font-size: 23px; }
  .category-photo figcaption { font-size: 12px; }
  .guide-header { flex-wrap: wrap; }
  .guide-facts { grid-template-columns: 1fr; }
}
@media print {
  :root { --ground: white; --ink: #202d26; --gutter: 0px; }
  .guide-header, .guide-actions, .guide-page + .site-footer { display: none; }
  .guide-page { width: 100%; max-width: none; padding: 0; font-size: 12pt; }
  .guide-page h1 { font-size: 25pt; }
  .guide-section { margin-top: 20px; padding-top: 14px; }
  .guide-section h2 { font-size: 18pt; }
  .guide-section p, .guide-section ul, .guide-facts dt, .guide-facts dd { font-size: 11pt; }
  a { text-decoration: none; }
  @page { margin: 16mm; }
}
