@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Serif Display';src:url('/assets/fonts/dm-serif.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Serif Display';src:url('/assets/fonts/dm-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}

/* Foundations */
:root {
  --paper: #f6f4ee;
  --sand: #ede9e1;
  --cream: #fffdf8;
  --white: #fff;
  --ink: #2b382e;
  --muted: #657061;
  --copper: #8c684a;
  --olive: #74846a;
  --line: #d7dccf;
  --sans: Manrope, Arial, sans-serif;
  --serif: 'DM Serif Display', Georgia, serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --gutter: clamp(20px, 4.5vw, 64px);
  --max: 1400px;
  --header: 88px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font: 400 16px/1.7 var(--sans); -webkit-font-smoothing: antialiased; }
body.no-scroll { overflow: hidden; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; }
button:disabled { cursor: default; }
a { color: inherit; text-decoration: none; }
img, video, svg { display: block; }
img, video { max-width: 100%; }
img { height: auto; }
p, h1, h2, h3, h4, figure, dl { margin: 0; }
p + p { margin-top: 1em; }
h1, h2, h3, h4 { font-family: var(--sans); font-weight: 650; line-height: 1.3; letter-spacing: -.025em; }
h1 { font-size: 48px; }
h2 { font-size: 32px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
ul, ol { padding-left: 1.3em; }
::selection { background: #d4dbc8; color: #24301f; }
:focus-visible { outline: 2px solid var(--copper); outline-offset: 4px; border-radius: 3px; }
.container { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: 66px; }
.section-sand { background: var(--sand); }
.section-cream { background: var(--cream); }
.eyebrow { display: block; font-size: 12px; line-height: 1.6; font-weight: 650; letter-spacing: .035em; color: var(--copper); }
.section-title { font-size: clamp(29px, 2.9vw, 38px); line-height: 1.25; max-width: 790px; }
.section-title em, .page-title em, .article-title em, .about-statement em { font: inherit; color: inherit; }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 29px; }
.section-head .eyebrow { margin-bottom: 10px; }
.section-head > p { max-width: 420px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.section-head > a { flex-shrink: 0; }
.body-lg { font-size: 17px; line-height: 1.85; }
.small { font-size: 13px; line-height: 1.8; }
.muted { color: var(--muted); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 49px; padding: 13px 20px; border: 1px solid var(--ink); border-radius: 5px; background: var(--ink); color: var(--cream); font-size: 14px; line-height: 1.45; font-weight: 650; transition: background .2s, border-color .2s; }
.button svg { width: 18px; height: 18px; flex: 0 0 auto; }
.button:hover { background: #43513f; border-color: #43513f; }
.button.outline { background: transparent; color: var(--ink); border-color: #bbc5b2; }
.button.outline:hover { background: #e9ede2; }
.button.light { background: var(--cream); color: var(--ink); border-color: var(--cream); }
.small-button { min-height: 43px; padding: 10px 15px; font-size: 13px; }
.line-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding-block: 8px; border-bottom: 1px solid #9baa8b; font-size: 14px; line-height: 1.6; font-weight: 650; }
.line-link svg { width: 18px; height: 18px; flex: 0 0 auto; transition: transform .2s; }
.line-link:hover svg { transform: translateX(3px); }
.line-link:hover { border-bottom-color: var(--ink); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px; margin-top: 25px; }
.circle-arrow { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #c0c9b7; border-radius: 50%; flex: 0 0 auto; }
.circle-arrow svg { width: 18px; height: 18px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 200; background: var(--cream); color: var(--ink); padding: 12px 20px; border: 1px solid var(--line); }
.skip-link:focus { top: 15px; }

/* Navigation */
.header-shell { position: sticky; top: 0; z-index: 100; width: 100%; margin: 0; padding: 0; background: var(--paper); border-bottom: 1px solid var(--line); }
.site-header { display: flex; align-items: center; gap: 26px; width: 100%; max-width: var(--max); min-height: 88px; margin: 0 auto; padding: 0 var(--gutter); }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand-word { font-size: 32px; line-height: 1; font-weight: 700; letter-spacing: .035em; }
.brand-dot { color: var(--copper); }
.desktop-nav { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.desktop-nav > a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 88px; padding: 0; border-bottom: 2px solid transparent; font-size: 14px; line-height: 1.5; font-weight: 600; white-space: nowrap; transition: color .2s, border-color .2s; }
.desktop-nav > a:hover { color: #48613e; border-bottom-color: #bac7ae; }
.desktop-nav > a[aria-current="page"] { border-bottom-color: var(--olive); color: #263921; }
.desktop-nav svg { width: 14px; height: 14px; }
.nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 43px; padding: 10px 15px; background: var(--ink); color: var(--cream); border-radius: 5px; font-size: 13px; line-height: 1.5; font-weight: 650; white-space: nowrap; flex-shrink: 0; }
.nav-cta svg { width: 16px; height: 16px; }
.nav-cta:hover { background: #43513f; }
.menu-toggle { display: none; align-items: center; justify-content: center; gap: 10px; min-width: 44px; min-height: 44px; background: transparent; border: 0; padding: 10px 0; font-size: 13px; line-height: 1.5; font-weight: 600; }
.menu-lines { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.menu-lines i { display: block; width: 22px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s; }
.menu-toggle[aria-expanded="true"] i:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-menu { position: fixed; inset: 0; z-index: 95; overflow-y: auto; background: #f7f5ef; padding: 114px var(--gutter) 35px; overscroll-behavior: contain; }
.menu-primary { display: grid; max-width: 760px; margin: auto; }
.menu-primary > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 59px; border-bottom: 1px solid var(--line); font-size: 25px; line-height: 1.3; font-weight: 600; }
.menu-primary > a svg { width: 20px; height: 20px; color: #738567; }
.menu-primary > a[aria-current="page"] { color: var(--copper); }
.menu-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 28px; max-width: 760px; margin: 27px auto 0; }
.menu-secondary > a { display: flex; align-items: center; gap: 9px; min-height: 42px; border: 0; padding: 5px 0; font-size: 14px; font-weight: 550; }
.menu-secondary svg { width: 16px; height: 16px; }
.menu-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 17px 26px; max-width: 760px; margin: 27px auto 0; padding-top: 25px; border-top: 1px solid var(--line); }
.menu-contact > a:not(.button) { font-size: 15px; }
.menu-contact p { font-size: 13px; color: var(--muted); }

/* Film and compact home introduction */
.exhibition-hero { display: block; position: static; min-height: 0; height: auto; margin: 0; padding: 8px var(--gutter) 16px; background: var(--sand); }
.exhibition-hero-video { display: block; position: static; width: 100%; max-width: 1040px; min-height: 0; height: auto; max-height: none; aspect-ratio: 16 / 9; margin: 0 auto; object-fit: contain; object-position: center; border: 0; background: transparent; }
.exhibition-hero::before, .exhibition-hero::after { content: none; }
video[data-background-film] { pointer-events: none; }
video[data-background-film]::-webkit-media-controls, video[data-background-film]::-webkit-media-controls-enclosure { display: none !important; }
.home-introduction { padding-block: 38px 49px; }
.home-introduction-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 70px; align-items: center; }
.home-introduction-copy h1 { font-size: clamp(42px, 4vw, 56px); line-height: 1.12; letter-spacing: -.035em; margin: 12px 0 18px; }
.home-introduction-copy > p { max-width: 655px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.home-trade-summary { display: grid; gap: 19px; padding: 3px 0 3px 31px; border-left: 1px solid #cad3bf; }
.home-trade-summary > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.home-trade-summary dt { font-size: 13px; color: var(--muted); }
.home-trade-summary dd { margin: 0; font-size: 21px; line-height: 1.4; font-weight: 650; }
.collection-home { padding-top: 53px; }

/* Product photography and catalogue cards */
.product-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 37px 22px; align-items: stretch; }
.featured-products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.mobile-swipe-hint { display: none; }
.mobile-swipe-hint svg { width: 18px; height: 18px; flex: 0 0 auto; }
.product-detail-card { display: flex; flex-direction: column; min-width: 0; scroll-margin-top: 115px; }
.product-detail-image { min-width: 0; margin: 0; }
.product-image-link { display: block; border-radius: 7px; }
.product-detail-image img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; object-position: center; background: #fff; border: 1px solid #dfe2d7; border-radius: 7px; }
.product-detail-image figcaption { padding: 9px 2px 0; font-size: 11px; line-height: 1.65; color: var(--muted); }
.product-detail-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 19px 0 0; min-width: 0; }
.product-origin { font-size: 13px; line-height: 1.5; color: var(--copper); letter-spacing: .015em; }
.product-detail-copy h3 { font-size: 23px; line-height: 1.3; margin: 7px 0 12px; letter-spacing: -.02em; }
.product-detail-copy h3 a:hover { color: var(--copper); }
.product-detail-copy > p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.product-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 15px; width: 100%; margin-top: 17px; padding: 0; border-top: 1px solid var(--line); }
.product-specs > div { min-width: 0; padding-block: 10px; border-bottom: 1px solid var(--line); }
.product-specs dt { font-size: 11px; line-height: 1.6; color: var(--muted); }
.product-specs dd { font-size: 13px; line-height: 1.6; font-weight: 550; margin: 3px 0 0; overflow-wrap: anywhere; }
.product-quick-specs { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 7px; border: 0; margin-top: 4px; }
.product-quick-specs > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 6px; padding: 6px 8px; border: 1px solid #d9dece; background: #f7f7f1; border-radius: 4px; }
.product-quick-specs dt, .product-quick-specs dd { font-size: 12px; line-height: 1.5; margin: 0; }
.product-card-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; align-self: stretch; margin-top: auto; padding-top: 18px; }
.product-card-actions > a { font-size: 13px; }
.product-detail-note, .representative-caption { font-size: 11px !important; line-height: 1.7 !important; color: var(--muted); margin-top: 12px; }
.origin-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 15px 24px; border-top: 1px solid #cfd6c4; padding-top: 27px; margin-top: 37px; }
.origin-strip > .line-link { margin-left: auto; font-size: 13px; }
.origin-jumpnav { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.origin-jumpnav a { display: inline-flex; align-items: center; gap: 8px; min-height: 41px; padding: 8px 12px; border: 1px solid #c9d2bd; border-radius: 5px; font-size: 13px; line-height: 1.6; background: #fafbf5; }
.origin-jumpnav a:hover { background: #e6edde; border-color: #a8b797; }

/* Catalogue layout and filtering */
.catalogue-hero { padding-bottom: 33px !important; }
.catalogue-layout { display: grid; grid-template-columns: 212px minmax(0, 1fr); gap: 37px; align-items: start; padding-bottom: 66px; }
.catalogue-sidebar { position: sticky; top: 109px; padding: 20px 14px; border: 1px solid #dce1d4; border-radius: 8px; background: #fdfcf7; }
.catalogue-sidebar h2 { font-size: 16px; letter-spacing: -.01em; padding-inline: 10px; margin-bottom: 12px; }
.catalogue-sidebar nav { display: grid; gap: 3px; }
.catalogue-sidebar nav a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 43px; padding: 9px 10px; border-radius: 5px; font-size: 14px; font-weight: 550; }
.catalogue-sidebar nav a > span:last-child { color: #7b8771; font-size: 12px; }
.catalogue-sidebar nav a:hover, .catalogue-sidebar nav a.is-active, .catalogue-sidebar nav a[aria-current="true"] { background: #e7edde; }
.catalogue-sidebar-note { border-top: 1px solid var(--line); margin: 18px 10px 0; padding-top: 18px; }
.catalogue-sidebar-note p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.catalogue-sidebar-note .line-link { display: flex; justify-content: space-between; min-height: 39px; font-size: 12px; border-bottom: 0; padding-block: 7px; }
.catalogue-sidebar-note .line-link svg { width: 15px; height: 15px; }
.catalogue-content { min-width: 0; }
.catalogue-toolbar { display: flex; align-items: center; gap: 18px; }
.catalogue-search { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 49px; padding: 0 15px; background: #fff; border: 1px solid #cbd4c0; border-radius: 6px; }
.catalogue-search:focus-within { border-color: var(--copper); box-shadow: 0 0 0 2px #8c684a16; }
.catalogue-search svg { width: 20px; height: 20px; flex-shrink: 0; color: #728167; }
.catalogue-search input { width: 100%; min-width: 0; padding: 12px 0; border: 0; background: transparent; outline: 0; font-size: 14px; color: var(--ink); }
.catalogue-toolbar .catalogue-search { flex: 1; }
.catalogue-origin-filter { display: flex; align-items: center; gap: 9px; }
.catalogue-origin-filter label { font-size: 13px; color: var(--muted); }
.catalogue-origin-filter select { max-width: 205px; min-height: 49px; border: 1px solid #cbd4c0; border-radius: 6px; padding: 10px 31px 10px 13px; font-size: 14px; color: var(--ink); background: #fff; }
.catalogue-results { display: flex; align-items: baseline; gap: 25px; margin-top: 16px; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.result-count { flex-shrink: 0; font-size: 13px; font-weight: 600; color: var(--ink); }
.catalogue-results p { max-width: 700px; font-size: 12px; line-height: 1.75; color: var(--muted); }
.product-family { margin-top: 31px; margin-bottom: 43px; scroll-margin-top: 111px; }
.product-family:last-of-type { margin-bottom: 0; }
.product-family .section-head { margin-bottom: 23px; }
.product-family .section-title { font-size: 29px; }
.product-family .section-head > .line-link { font-size: 12px; }
.catalogue-photo-note { padding-top: 27px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); line-height: 1.8; margin-top: 35px; }
.catalogue-intro-note { font-size: 14px; color: var(--muted); line-height: 1.8; }
.search-empty { text-align: center; padding: 47px 20px; border: 1px solid var(--line); background: var(--cream); border-radius: 8px; margin-top: 28px; }
.search-empty h2 { font-size: 25px; margin-bottom: 10px; }
.search-empty p { font-size: 14px; color: var(--muted); }
.search-empty .button { margin-top: 22px; }
.collection-filters { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; margin-bottom: 29px; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { min-height: 44px; padding: 9px 15px; border: 1px solid #c9d2bd; border-radius: 5px; background: transparent; font-size: 14px; line-height: 1.6; }
.filter-button[aria-pressed="true"], .filter-button:hover { background: #e1e9d9; border-color: #adbd9d; }
.collection-note { margin-top: 25px; color: var(--muted); font-size: 13px; line-height: 1.8; }

/* Origins and origin details */
.origins-section { padding-top: 10px; }
.origins-grid, .coffee-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px 25px; }
.coffee-card { min-width: 0; }
.coffee-image { background: #fff; border: 1px solid #dfe2d7; border-radius: 7px; overflow: hidden; }
.coffee-image img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; object-position: center; }
.coffee-info { display: flex; justify-content: space-between; align-items: flex-start; gap: 17px; padding-top: 18px; }
.coffee-region { display: block; font-size: 12px; line-height: 1.7; color: var(--muted); }
.coffee-info h3 { font-size: 27px; line-height: 1.3; margin: 6px 0 10px; }
.coffee-info p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.coffee-info .circle-arrow { margin-top: 26px; }
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; font-size: 12px; line-height: 1.7; padding-top: 13px; color: var(--muted); }
.breadcrumb svg { width: 13px; height: 13px; }
.breadcrumb a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.origin-detail-hero { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 65px; padding-block: 30px 53px; }
.origin-detail-copy .page-title { font-size: 48px; margin: 14px 0 19px; }
.origin-detail-copy .body-lg { font-size: 15px; max-width: 530px; color: var(--muted); }
.origin-detail-photo { justify-self: end; width: 100%; max-width: 420px; margin: 0; }
.origin-detail-photo img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; background: #fff; border: 1px solid #dfe2d7; border-radius: 7px; }
.origin-detail-photo figcaption { padding: 10px 2px 0; font-size: 12px; line-height: 1.7; color: var(--muted); }
.origin-products > .product-detail-card:only-child { grid-column: 1 / -1; width: 100%; max-width: 430px; justify-self: center; }
.product-detail-grid.origin-products:where(:has(> :nth-child(2):last-child), :has(> :nth-child(4):last-child)) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; margin-inline: auto; }
.origin-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.origin-chips span { padding: 6px 10px; border: 1px solid #cdd6c1; border-radius: 4px; font-size: 12px; line-height: 1.6; }
.spec-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.spec-item { padding-top: 19px; border-top: 1px solid var(--line); }
.spec-item > span { font-size: 12px; color: var(--copper); font-weight: 600; }
.spec-item h3 { font-size: 16px; line-height: 1.45; margin: 10px 0; }
.spec-item p { font-size: 13px; line-height: 1.85; color: var(--muted); }
.order-band { background: #e7ecdf; border-top: 1px solid #d4dcc9; padding-block: 38px; }
.order-band .container { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.order-band h2 { font-size: 28px; line-height: 1.3; margin-bottom: 11px; }
.order-band p { max-width: 750px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.order-band .button { flex-shrink: 0; }

/* Photo-led sourcing and buyer resources */
.sourcing-feature { display: grid; grid-template-columns: 1.03fr 1fr; gap: clamp(35px, 6vw, 78px); align-items: center; }
.sourcing-photo { overflow: hidden; background: #fff; border: 1px solid #e0e3d8; border-radius: 8px; }
.sourcing-photo img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.sourcing-copy .eyebrow { margin-bottom: 12px; }
.sourcing-copy .section-title { font-size: clamp(29px, 2.8vw, 38px); max-width: 530px; }
.sourcing-steps { display: grid; gap: 0; padding: 0; margin: 26px 0 16px; list-style: none; }
.sourcing-steps li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 17px; border-top: 1px solid var(--line); padding: 18px 0; }
.sourcing-steps li > span { font-size: 12px; line-height: 1.8; font-weight: 650; color: var(--copper); padding-top: 1px; }
.sourcing-steps h3 { font-size: 18px; line-height: 1.45; margin-bottom: 5px; }
.sourcing-steps p { font-size: 14px; line-height: 1.75; color: var(--muted); }
.buyer-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 31px; }
.buyer-resource { min-width: 0; }
.buyer-resource-image { display: block; overflow: hidden; border-radius: 7px; background: #fff; }
.buyer-resource-image img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.buyer-resource > div { padding-top: 22px; }
.buyer-resource h3 { font-size: 26px; line-height: 1.3; margin: 9px 0 11px; }
.buyer-resource p { font-size: 15px; color: var(--muted); }
.buyer-resource .line-link { margin-top: 16px; }

/* Company, approach and guide pages */
.page-hero { padding-block: 39px 43px; }
.page-hero .eyebrow { margin-bottom: 13px; }
.page-title { max-width: 1000px; font-size: clamp(36px, 4vw, 54px); line-height: 1.16; letter-spacing: -.035em; }
.page-hero > p { max-width: 745px; color: var(--muted); font-size: 16px; line-height: 1.8; margin-top: 20px; }
.page-hero-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 59px; align-items: center; padding-top: 27px; padding-bottom: 54px; }
.page-hero-copy .eyebrow { margin-bottom: 14px; }
.page-hero-copy .page-title { font-size: clamp(36px, 3.65vw, 49px); }
.page-hero-copy > p { font-size: 15px; line-height: 1.85; color: var(--muted); max-width: 625px; margin-top: 20px; }
.page-hero-copy > .line-link, .page-hero-copy > .button { margin-top: 24px; }
.page-hero-photo { overflow: hidden; border-radius: 8px; background: #fff; }
.page-hero-photo img { width: 100%; height: auto; max-height: 510px; object-fit: contain; }
.people-feature { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: 63px; }
.image-wrap { overflow: hidden; background: #fff; border-radius: 8px; }
.image-wrap img { width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.people-copy .eyebrow { margin-bottom: 13px; }
.people-copy .section-title { font-size: 35px; margin-bottom: 20px; }
.people-copy p { color: var(--muted); font-size: 15px; line-height: 1.85; }
.people-copy > .line-link { margin-top: 23px; margin-right: 20px; }
.image-caption { display: flex; justify-content: space-between; gap: 17px; padding-top: 11px; font-size: 12px; line-height: 1.7; color: var(--muted); }
.intro-grid { display: grid; grid-template-columns: .75fr 2fr; gap: 55px; }
.intro-main .section-title { margin-bottom: 21px; }
.intro-main > .body-lg { max-width: 810px; color: var(--muted); font-size: 16px; }
.about-body { max-width: 800px; color: var(--muted); font-size: 15px; line-height: 1.95; }
.about-statement { max-width: 1000px; font-size: 35px; line-height: 1.4; }
.process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 29px; margin-top: 31px; }
.process-step { border-top: 1px solid var(--line); padding-top: 22px; }
.process-step .number { font-size: 12px; color: var(--copper); font-weight: 600; }
.process-step h3 { font-size: 22px; line-height: 1.35; margin: 13px 0; }
.process-step p { font-size: 14px; color: var(--muted); line-height: 1.85; }
.trade-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 39px; margin-top: 27px; }
.trade-detail { border-top: 1px solid #cbd5bf; padding-top: 23px; min-width: 0; }
.trade-detail .eyebrow { margin-bottom: 12px; }
.trade-detail h2, .trade-detail h3 { font-size: 24px; line-height: 1.4; margin-bottom: 13px; }
.trade-detail p { max-width: 78ch; font-size: 14px; line-height: 1.85; color: var(--muted); }
.trade-detail .line-link { margin-top: 17px; }
.trade-detail ul { font-size: 14px; color: var(--muted); line-height: 1.9; }
.trade-detail-grid > .trade-detail:last-child:nth-child(odd) { grid-column: 1 / -1; }
.service-row { display: grid; grid-template-columns: 40px 1fr 1.4fr; align-items: start; gap: 29px; padding-block: 27px; border-top: 1px solid var(--line); }
.service-row:last-child { border-bottom: 1px solid var(--line); }
.service-number { font-size: 12px; font-weight: 600; color: var(--copper); padding-top: 5px; }
.service-row h3 { font-size: 25px; line-height: 1.35; }
.service-row p { font-size: 14px; line-height: 1.85; color: var(--muted); }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.team-card { min-width: 0; border-top: 1px solid var(--line); padding-top: 25px; }
.team-card .eyebrow { font-size: 12px; margin-bottom: 17px; }
.team-card h3 { font-size: 24px; line-height: 1.35; overflow-wrap: anywhere; }
.team-card p { color: var(--muted); font-size: 14px; margin-top: 8px; }
.team-card .line-link { font-size: 13px; margin-top: 18px; }
.company-proof { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 30px; padding-block: 27px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.company-proof article { min-width: 0; }
.company-proof .eyebrow { font-size: 12px; margin-bottom: 13px; }
.company-proof h3 { font-size: 21px; line-height: 1.45; overflow-wrap: anywhere; }
.company-proof p { color: var(--muted); font-size: 13px; line-height: 1.9; margin-top: 12px; }
.company-proof a:hover { text-decoration: underline; text-underline-offset: 4px; }
.faq-layout { display: grid; grid-template-columns: 1fr 1.5fr; gap: 59px; align-items: start; }
.faq-layout .eyebrow { margin-bottom: 13px; }
.faq-list details { border-top: 1px solid var(--line); padding-block: 15px; }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 40px; font-size: 15px; font-weight: 600; line-height: 1.65; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; flex-shrink: 0; color: var(--copper); font-size: 25px; line-height: 1; font-weight: 400; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { margin-top: 14px; font-size: 14px; line-height: 1.85; color: var(--muted); }

/* Gallery and original films */
.gallery-mosaic { columns: 3; column-gap: 24px; }
.gallery-item { display: inline-block; width: 100%; break-inside: avoid; margin: 0 0 27px; vertical-align: top; }
.gallery-item > img { width: 100%; height: auto; border: 1px solid #dde2d3; border-radius: 7px; background: #fff; }
.gallery-item > figcaption { padding: 10px 2px 0; font-size: 12px; line-height: 1.8; color: var(--muted); }
.native-film { display: grid; grid-template-columns: 1fr; gap: 22px; }
.native-film + .native-film { margin-top: 45px; padding-top: 41px; border-top: 1px solid var(--line); }
.inline-film { overflow: hidden; border-radius: 5px; background: transparent; }
.inline-film video { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.inline-film-portrait { width: 100%; max-width: 410px; }
.inline-film-portrait video { aspect-ratio: 1080 / 1908; }
.native-film > div:not(.inline-film) { max-width: 800px; }
.native-film .eyebrow { margin-bottom: 12px; }
.native-film .section-title { margin-bottom: 15px; }
.native-film p { font-size: 15px; color: var(--muted); line-height: 1.85; }

/* Journal and long-form information */
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px 26px; }
.journal-card { min-width: 0; }
.journal-image { display: block; overflow: hidden; border-radius: 7px; background: #fff; margin-bottom: 20px; }
.journal-image img { width: 100%; height: auto; aspect-ratio: 16 / 11; object-fit: cover; }
.article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.article-meta i { display: block; width: 3px; height: 3px; border-radius: 50%; background: var(--copper); }
.journal-card h3 { font-size: 24px; line-height: 1.4; margin-block: 12px; }
.journal-card h3 a:hover { color: var(--copper); }
.journal-card p { font-size: 14px; line-height: 1.8; color: var(--muted); }
.journal-card .line-link { margin-top: 15px; font-size: 13px; }
.all-journal-search { width: min(100%, 510px); }
.article-hero { padding-block: 34px 40px; max-width: 1040px; }
.article-title { font-size: clamp(31px, 3.5vw, 48px); line-height: 1.25; margin: 18px 0 23px; }
.article-standfirst { max-width: 790px; color: var(--muted); font-size: 17px; line-height: 1.8; }
.article-cover { max-width: 1110px; margin: 0 auto 40px; padding-inline: var(--gutter); }
.article-cover img { width: 100%; height: auto; max-height: 470px; object-fit: cover; border-radius: 7px; }
.article-main { max-width: 835px; margin-inline: auto; padding: 0 24px 64px; }
.article-date-note { border-left: 3px solid #aabc98; background: #edf1e6; padding: 16px 21px; margin-bottom: 30px; font-size: 13px; color: #5a6850; line-height: 1.8; }
.article-content { font-size: 16px; line-height: 1.95; overflow-wrap: break-word; }
.article-content p { margin-bottom: 20px; }
.article-content h2 { font-size: 28px; line-height: 1.4; margin: 34px 0 17px; }
.article-content h3 { font-size: 23px; line-height: 1.4; margin: 27px 0 13px; }
.article-content h4 { margin: 24px 0 12px; }
.article-content ul, .article-content ol { margin-block: 20px; }
.article-content li { margin-bottom: 10px; }
.article-content a { text-decoration: underline; text-underline-offset: 3px; }
.article-content blockquote { border-left: 3px solid #afbd9f; padding-left: 21px; margin: 28px 0; font-size: 19px; line-height: 1.8; }
.article-content table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 26px; font-size: 13px; line-height: 1.75; }
.article-content th, .article-content td { border: 1px solid #d2dac9; padding: 10px 13px; text-align: left; min-width: 90px; }
.article-content th { background: #eaf0e1; font-weight: 650; }
.article-content img { max-width: 100%; height: auto; }
.article-content [lang="fa"] { font-family: Tahoma, Arial, sans-serif; line-height: 2; }
.article-content [lang="fa"] h2, .article-content [lang="fa"] h3 { font-family: inherit; letter-spacing: 0; line-height: 1.7; }
.article-content [dir="rtl"] td, .article-content [dir="rtl"] th { text-align: right; }
.article-references { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 32px; font-size: 13px; line-height: 1.8; }
.article-references h2 { font-size: 23px; margin-bottom: 15px; }
.article-references li { margin-bottom: 8px; overflow-wrap: anywhere; }
.article-references a { text-decoration: underline; text-underline-offset: 3px; }
.article-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; border-top: 1px solid var(--line); margin-top: 30px; padding-top: 22px; }
.credit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
.photo-credit img { width: 100%; height: auto; max-height: 370px; object-fit: contain; margin-bottom: 20px; }
.photo-credit h2 { font-size: 24px; margin-bottom: 15px; }
.photo-credit p { font-size: 13px; color: var(--muted); }
.photo-credit a { text-decoration: underline; text-underline-offset: 3px; }
.not-found { text-align: center; padding-block: 70px 100px; }
.not-found .page-title { margin: auto; }
.not-found p { margin: 25px auto; max-width: 580px; color: var(--muted); }

/* Contact and enquiry */
.contact-layout { display: grid; grid-template-columns: 1fr 1.27fr; gap: 65px; align-items: start; padding-bottom: 65px; }
.contact-intro { position: sticky; top: 116px; }
.contact-intro .eyebrow { margin-bottom: 14px; }
.contact-intro .section-title { font-size: 32px; margin-bottom: 21px; }
.contact-direct { display: grid; gap: 21px; margin-top: 29px; }
.contact-label { display: block; font-size: 12px; font-weight: 600; color: var(--muted); margin-bottom: 6px; }
.contact-direct a { font-size: 19px; line-height: 1.55; overflow-wrap: anywhere; }
.contact-direct a:hover { color: var(--copper); }
.contact-note { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 24px; max-width: 430px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.contact-form { background: #fffdf8; padding: 30px; border: 1px solid #d6dfca; border-radius: 9px; }
.contact-form h2 { font-size: 28px; line-height: 1.3; margin-bottom: 13px; }
.form-intro { font-size: 13px; color: var(--muted); line-height: 1.75; margin-bottom: 25px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 18px; }
.form-field { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { font-size: 13px; line-height: 1.6; font-weight: 600; }
.form-field label span { color: var(--copper); }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 49px; border: 1px solid #c5d0b9; border-radius: 5px; background: #fff; color: var(--ink); font-size: 15px; line-height: 1.5; padding: 12px; }
.form-field textarea { min-height: 126px; resize: vertical; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #7b8672; font-size: 13px; }
.form-submit { width: 100%; margin-top: 25px; }
.form-helper { font-size: 12px; line-height: 1.8; color: var(--muted); margin-top: 12px; }
.form-status { font-size: 13px; margin-top: 15px; line-height: 1.8; }
.form-status:empty { display: none; }
.form-status a { text-decoration: underline; font-weight: 650; }
.contact-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.contact-team > div { border-top: 1px solid var(--line); padding-top: 23px; }
.contact-team h3 { font-size: 23px; margin-bottom: 8px; }
.contact-team p { color: var(--muted); font-size: 14px; }
.contact-team .line-link { margin-top: 17px; font-size: 13px; }

/* Closing and footer */
.closing-cta { padding-block: 48px 53px; border-top: 1px solid var(--line); background: #f2f3eb; }
.closing-grid { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.closing-cta .eyebrow { margin-bottom: 11px; }
.closing-cta .section-title { font-size: 34px; margin-bottom: 14px; }
.closing-cta p { color: var(--muted); font-size: 15px; line-height: 1.8; max-width: 690px; }
.closing-cta .button { flex-shrink: 0; }
.site-footer { background: #e8e7df; border-top: 1px solid #d2d8c8; padding-block: 48px 23px; }
.footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 36px; }
.footer-brand .brand { margin-bottom: 19px; }
.footer-brand .brand-word { font-size: 33px; }
.footer-brand p { font-size: 13px; line-height: 1.9; color: #627059; max-width: 275px; }
.footer-heading { font-size: 14px; line-height: 1.6; font-weight: 650; letter-spacing: 0; margin-bottom: 15px; }
.footer-links { display: grid; gap: 7px; }
.footer-links a { display: inline-flex; align-items: center; min-height: 28px; font-size: 14px; line-height: 1.7; }
.footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-email { display: inline-block; font-size: 19px; line-height: 1.6; font-weight: 550; margin-bottom: 11px; }
.footer-phone { display: block; font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
.social-links { display: flex; flex-wrap: wrap; gap: 13px 20px; font-size: 13px; line-height: 1.7; }
.social-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 25px; padding-top: 20px; margin-top: 34px; border-top: 1px solid #cbd3c0; color: #68775e; font-size: 12px; line-height: 1.8; }
.footer-bottom > div { display: flex; align-items: center; flex-wrap: wrap; gap: 13px 23px; }
.footer-bottom a:hover { text-decoration: underline; text-underline-offset: 3px; }
.back-to-top { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 5px 0; background: transparent; border: 0; color: inherit; font-size: 12px; }
.back-to-top svg { width: 16px; height: 16px; }

/* Restrained page motion */
.motion-ready [data-reveal] { opacity: 0; transform: translateY(6px); transition: opacity .45s ease, transform .45s ease; transition-delay: var(--delay, 0ms); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; }
.motion-disabled, .motion-disabled * { scroll-behavior: auto !important; }
.motion-disabled [data-reveal] { opacity: 1; transform: none; transition: none; }
.image-parallax img, [data-parallax] img { transform: none; }

/* Tablet and mobile */
@media (max-width: 1200px) and (min-width: 1081px) {
  .site-header { gap: 20px; }
  .desktop-nav { gap: 16px; }
  .nav-cta { padding-inline: 12px; font-size: 12px; }
  .featured-products { gap: 18px; }
  .product-detail-copy h3 { font-size: 21px; }
  .product-quick-specs > div { padding-inline: 7px; }
}
@media (max-width: 1080px) {
  :root { --gutter: 30px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .site-header { gap: 21px; }
  .nav-cta { margin-left: auto; }
  .section { padding-block: 55px; }
  .home-introduction-grid { grid-template-columns: minmax(0, 1fr) 235px; gap: 41px; }
  .home-trade-summary { padding-left: 24px; }
  .home-trade-summary dd { font-size: 20px; }
  .featured-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 33px 24px; }
  .featured-products .product-detail-image img { aspect-ratio: 3 / 4; }
  .product-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalogue-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 26px; }
  .catalogue-sidebar { padding: 17px 9px; }
  .catalogue-sidebar h2 { font-size: 15px; }
  .catalogue-sidebar nav a { font-size: 13px; }
  .catalogue-toolbar { flex-wrap: wrap; gap: 13px; }
  .catalogue-toolbar .catalogue-search { flex-basis: 100%; }
  .catalogue-origin-filter { width: 100%; }
  .catalogue-origin-filter select { flex: 1; max-width: none; }
  .catalogue-results { display: block; }
  .catalogue-results p { margin-top: 8px; }
  .origins-grid, .coffee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sourcing-feature { gap: 37px; }
  .sourcing-copy .section-title { font-size: 31px; }
  .sourcing-steps { margin-top: 20px; }
  .sourcing-steps li { padding-block: 15px; }
  .buyer-resources { gap: 25px; }
  .buyer-resource h3 { font-size: 23px; }
  .page-hero-split { gap: 38px; }
  .page-hero-copy .page-title { font-size: 40px; }
  .people-feature { gap: 37px; }
  .people-copy .section-title { font-size: 31px; }
  .origin-detail-hero { gap: 38px; }
  .origin-detail-copy .page-title { font-size: 43px; }
  .origin-detail-photo { max-width: 375px; }
  .spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intro-grid { grid-template-columns: .6fr 2fr; gap: 35px; }
  .company-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
  .company-proof > article:last-child { grid-column: 1 / -1; padding-top: 21px; border-top: 1px solid var(--line); }
  .team-card h3 { font-size: 22px; }
  .service-row { grid-template-columns: 25px 1fr 1.4fr; gap: 23px; }
  .service-row h3 { font-size: 22px; }
  .gallery-mosaic { columns: 2; }
  .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: .85fr 1.2fr; gap: 34px; }
  .contact-form { padding: 25px; }
  .contact-direct a { font-size: 17px; }
  .faq-layout { gap: 35px; }
  .footer-main { grid-template-columns: 1.35fr 1fr 1fr; gap: 29px; }
  .footer-contact { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 15px 29px; padding-top: 24px; border-top: 1px solid #cbd3c0; }
  .footer-contact .footer-heading { display: none; }
  .footer-contact .footer-email, .footer-contact .footer-phone { margin: 0; }
  .footer-contact .social-links { margin-left: auto; }
}
@media (max-width: 860px) {
  .home-introduction-grid { grid-template-columns: 1fr; gap: 28px; }
  .home-trade-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; padding: 21px 0 0; border-left: 0; border-top: 1px solid #cad3bf; }
  .home-trade-summary > div { display: block; }
  .home-trade-summary dd { margin-top: 5px; font-size: 21px; }
  .catalogue-layout { grid-template-columns: 1fr; gap: 22px; }
  .catalogue-sidebar { position: static; border: 0; border-radius: 0; background: transparent; padding: 0; }
  .catalogue-sidebar h2 { padding: 0; margin-bottom: 13px; }
  .catalogue-sidebar nav { display: flex; flex-wrap: wrap; gap: 7px; }
  .catalogue-sidebar nav a { border: 1px solid #cad3be; border-radius: 5px; background: #fdfcf7; padding: 8px 11px; min-height: 42px; gap: 10px; }
  .catalogue-sidebar-note { display: none; }
  .catalogue-toolbar { flex-wrap: nowrap; }
  .catalogue-toolbar .catalogue-search { flex-basis: auto; }
  .catalogue-origin-filter { width: auto; }
  .catalogue-origin-filter select { max-width: 180px; }
  .catalogue-results { display: flex; }
  .catalogue-results p { margin-top: 0; }
  .sourcing-feature { gap: 29px; }
  .sourcing-steps h3 { font-size: 17px; }
  .sourcing-steps p { font-size: 13px; }
  .sourcing-steps li { grid-template-columns: 25px 1fr; gap: 13px; }
  .faq-layout { grid-template-columns: 1fr; gap: 28px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-intro { position: static; }
  .contact-direct { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-note { max-width: none; }
}
@media (max-width: 760px) {
  :root { --gutter: 22px; --header: 80px; }
  html { scroll-padding-top: 97px; }
  .site-header { min-height: 80px; gap: 15px; }
  .brand-word { font-size: 30px; }
  .nav-cta { font-size: 12px; min-height: 41px; padding: 9px 12px; gap: 9px; }
  .mobile-menu { padding-top: 102px; }
  .menu-primary > a { min-height: 55px; font-size: 23px; }
  .menu-secondary { gap: 3px 19px; margin-top: 23px; }
  .menu-contact { gap: 17px 22px; margin-top: 23px; padding-top: 22px; }
  .section { padding-block: 44px; }
  .section-title { font-size: 29px; }
  .section-head { align-items: flex-start; gap: 17px; margin-bottom: 25px; }
  .section-head > a { font-size: 12px; }
  .section-head > p { font-size: 14px; }
  .eyebrow { font-size: 12px; }
  .exhibition-hero { padding-top: 4px; padding-bottom: 12px; }
  .home-introduction { padding-block: 28px 35px; }
  .home-introduction-copy h1 { font-size: 40px; line-height: 1.15; margin: 10px 0 16px; }
  .home-introduction-copy > p { font-size: 14px; line-height: 1.8; }
  .hero-actions { gap: 21px; margin-top: 22px; }
  .hero-actions .button { font-size: 13px; }
  .hero-actions .line-link { font-size: 13px; }
  .home-trade-summary { gap: 19px; padding-top: 18px; }
  .home-trade-summary dt { font-size: 11px; }
  .home-trade-summary dd { font-size: 20px; }
  .product-detail-grid, .featured-products { gap: 29px 18px; }
  .product-detail-copy h3 { font-size: 22px; }
  .product-detail-copy > p { font-size: 13px; }
  .product-card-actions { gap: 10px; padding-top: 16px; }
  .product-card-actions > a { font-size: 12px; }
  .product-quick-specs > div { padding: 5px 7px; }
  .product-quick-specs dt, .product-quick-specs dd { font-size: 11px; }
  .origin-strip { align-items: flex-start; gap: 13px; padding-top: 22px; margin-top: 28px; }
  .origin-strip > .eyebrow { width: 100%; }
  .origin-strip > .line-link { margin-left: 0; }
  .origin-jumpnav { gap: 6px; }
  .origin-jumpnav a { padding-inline: 10px; font-size: 12px; }
  .catalogue-layout { padding-bottom: 45px; }
  .catalogue-toolbar { flex-wrap: wrap; gap: 12px; }
  .catalogue-toolbar .catalogue-search { flex-basis: 100%; }
  .catalogue-origin-filter { width: 100%; }
  .catalogue-origin-filter select { max-width: none; }
  .catalogue-results { display: block; margin-top: 13px; padding-bottom: 17px; }
  .catalogue-results p { margin-top: 8px; }
  .catalogue-search input, .catalogue-origin-filter select { font-size: 16px; }
  .product-family { margin-block: 27px 35px; scroll-margin-top: 97px; }
  .product-family .section-title { font-size: 27px; }
  .product-family .section-head { align-items: center; gap: 12px; margin-bottom: 19px; }
  .product-family .section-head > .line-link { font-size: 12px; }
  .catalogue-photo-note { font-size: 12px; }
  .coffee-info { gap: 12px; padding-top: 15px; }
  .coffee-info h3 { font-size: 25px; }
  .coffee-info p { font-size: 12px; }
  .coffee-info .circle-arrow { display: none; }
  .page-hero { padding-block: 29px 34px; }
  .page-title { font-size: 36px; line-height: 1.2; }
  .page-hero > p { font-size: 14px; margin-top: 17px; }
  .page-hero-split { grid-template-columns: 1fr; gap: 27px; padding-block: 23px 38px; }
  .page-hero-copy .page-title { font-size: 35px; }
  .page-hero-copy > p { font-size: 14px; margin-top: 17px; }
  .page-hero-photo img { max-height: 460px; }
  .origin-detail-hero { grid-template-columns: 1fr; gap: 27px; padding-block: 24px 40px; }
  .origin-detail-copy { order: 2; }
  .origin-detail-copy .page-title { font-size: 39px; margin: 13px 0 17px; }
  .origin-detail-copy .body-lg { font-size: 14px; }
  .origin-detail-photo { order: 1; justify-self: center; max-width: 390px; }
  .origin-chips { margin-block: 18px; }
  .spec-grid { gap: 25px 19px; }
  .spec-item h3 { font-size: 15px; }
  .spec-item p { font-size: 13px; }
  .order-band { padding-block: 31px; }
  .order-band .container { display: block; }
  .order-band h2 { font-size: 26px; }
  .order-band p { font-size: 13px; }
  .order-band .button { margin-top: 21px; }
  .sourcing-feature { grid-template-columns: 1fr; gap: 27px; }
  .sourcing-copy .section-title { font-size: 30px; }
  .sourcing-steps { margin-top: 22px; }
  .sourcing-steps li { grid-template-columns: 29px 1fr; gap: 16px; padding-block: 16px; }
  .sourcing-steps h3 { font-size: 18px; }
  .sourcing-steps p { font-size: 14px; }
  .buyer-resources { grid-template-columns: 1fr; gap: 31px; }
  .buyer-resource > div { padding-top: 19px; }
  .buyer-resource h3 { font-size: 24px; }
  .buyer-resource p { font-size: 14px; }
  .people-feature { grid-template-columns: 1fr; gap: 27px; }
  .people-copy .section-title { font-size: 29px; }
  .people-copy p { font-size: 14px; }
  .image-wrap img { max-height: 470px; }
  .image-caption { font-size: 11px; }
  .intro-grid { grid-template-columns: 1fr; gap: 21px; }
  .intro-main > .body-lg { font-size: 14px; }
  .about-body { font-size: 14px; }
  .about-statement { font-size: 29px; }
  .process-grid { grid-template-columns: 1fr; gap: 25px; }
  .process-step h3 { font-size: 23px; }
  .trade-detail-grid { grid-template-columns: 1fr; gap: 27px; }
  .trade-detail h2, .trade-detail h3 { font-size: 23px; }
  .service-row { grid-template-columns: 26px 1fr; gap: 12px 17px; padding-block: 23px; }
  .service-number { grid-row: 1 / 3; }
  .service-row h3 { font-size: 23px; }
  .service-row p { grid-column: 2; font-size: 14px; }
  .team-grid { grid-template-columns: 1fr; gap: 25px; }
  .team-card { padding-top: 23px; }
  .team-card h3 { font-size: 24px; }
  .company-proof { grid-template-columns: 1fr; gap: 24px; }
  .company-proof > article + article { border-top: 1px solid var(--line); padding-top: 22px; }
  .company-proof > article:last-child { grid-column: auto; }
  .company-proof h3 { font-size: 22px; }
  .faq-list summary { font-size: 14px; }
  .faq-list details p { font-size: 14px; }
  .gallery-mosaic { column-gap: 18px; }
  .gallery-item { margin-bottom: 23px; }
  .inline-film-portrait { max-width: 390px; }
  .native-film { gap: 19px; }
  .native-film + .native-film { margin-top: 34px; padding-top: 31px; }
  .native-film p { font-size: 14px; }
  .journal-grid { grid-template-columns: 1fr; gap: 33px; }
  .journal-card h3 { font-size: 25px; }
  .article-hero { padding-block: 26px 29px; }
  .article-title { font-size: 31px; }
  .article-standfirst { font-size: 15px; }
  .article-cover { margin-bottom: 28px; }
  .article-cover img { max-height: 330px; }
  .article-main { padding-inline: var(--gutter); padding-bottom: 43px; }
  .article-content { font-size: 15px; line-height: 1.95; }
  .article-content h2 { font-size: 25px; margin-top: 28px; }
  .article-content h3 { font-size: 22px; }
  .article-content table { font-size: 12px; }
  .article-date-note { padding: 14px 17px; font-size: 12px; }
  .article-references { font-size: 12px; }
  .article-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
  .credit-grid { grid-template-columns: 1fr; gap: 29px; }
  .contact-layout { padding-bottom: 43px; }
  .contact-intro .section-title { font-size: 29px; }
  .contact-direct { gap: 22px 19px; }
  .contact-direct a { font-size: 16px; }
  .contact-note { font-size: 13px; }
  .contact-form { padding: 25px 22px; }
  .contact-form h2 { font-size: 26px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 16px; }
  .contact-team { grid-template-columns: 1fr; gap: 27px; }
  .closing-cta { padding-block: 37px 42px; }
  .closing-grid { display: block; }
  .closing-cta .section-title { font-size: 30px; }
  .closing-cta p { font-size: 14px; }
  .closing-cta .button { margin-top: 23px; }
  .site-footer { padding-top: 35px; }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p { max-width: 360px; font-size: 13px; }
  .footer-brand .brand { margin-bottom: 15px; }
  .footer-heading { font-size: 14px; }
  .footer-links a { font-size: 13px; min-height: 31px; }
  .footer-contact { grid-column: 1 / -1; display: block; padding-top: 24px; }
  .footer-contact .footer-email { font-size: 21px; margin-bottom: 9px; }
  .footer-contact .footer-phone { margin-bottom: 17px; }
  .footer-contact .social-links { margin-left: 0; }
  .footer-bottom { display: block; font-size: 11px; margin-top: 27px; }
  .footer-bottom > div { margin-top: 11px; gap: 10px 19px; }
}
@media (max-width: 580px) {
  .product-detail-grid, .product-detail-grid.origin-products, .origins-grid, .coffee-grid { grid-template-columns: minmax(0, 1fr); }
  .featured-products { width: calc(100% + var(--gutter)); margin-right: calc(-1 * var(--gutter)); padding-right: var(--gutter); padding-bottom: 16px; grid-auto-flow: column; grid-auto-columns: 84%; grid-template-columns: none; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-right: var(--gutter); scrollbar-width: thin; scrollbar-color: #b5c1a7 transparent; }
  .featured-products > .product-detail-card { scroll-snap-align: start; }
  .mobile-swipe-hint { display: flex; align-items: center; gap: 8px; font-size: 12px; line-height: 1.7; color: var(--muted); margin: -10px 0 17px; }
  .product-detail-image img { aspect-ratio: 3 / 4; }
  .product-detail-copy { padding-top: 18px; }
  .product-detail-copy h3 { font-size: 25px; }
  .product-detail-copy > p { font-size: 14px; }
  .product-quick-specs { margin-top: 4px; }
  .product-quick-specs dt, .product-quick-specs dd { font-size: 12px; }
  .product-specs { gap: 0 21px; }
  .product-specs dt { font-size: 12px; }
  .product-specs dd { font-size: 14px; }
  .product-card-actions { justify-content: flex-start; gap: 31px; padding-top: 16px; }
  .product-card-actions > a { font-size: 14px; }
  .section-head { flex-direction: column; gap: 15px; }
  .section-head > a { font-size: 13px; }
  .product-family .section-head { flex-direction: row; }
  .coffee-info h3 { font-size: 29px; }
  .coffee-info p { font-size: 14px; }
  .coffee-info .circle-arrow { display: grid; }
  .gallery-mosaic { columns: 1; }
  .contact-direct { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }
  .form-field.full { grid-column: auto; }
}
@media (max-width: 480px) {
  :root { --gutter: 18px; }
  .site-header { gap: 11px; }
  .menu-toggle { position: relative; width: 42px; padding: 8px; flex-shrink: 0; }
  .menu-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .nav-cta { font-size: 11px; min-height: 40px; padding-inline: 10px; gap: 7px; }
  .nav-cta svg { width: 14px; height: 14px; }
  .home-introduction-copy h1 { font-size: 37px; }
  .home-trade-summary { gap: 14px; }
  .home-trade-summary dt { font-size: 11px; }
  .home-trade-summary dd { font-size: 19px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { font-size: 12px; padding-inline: 15px; }
  .hero-actions .line-link { font-size: 12px; }
  .page-title, .page-hero-copy .page-title { font-size: 34px; }
  .page-hero-copy .eyebrow { font-size: 11px; }
  .catalogue-sidebar nav a { font-size: 12px; }
  .contact-form { padding-inline: 20px; }
}
@media (max-width: 350px) {
  :root { --gutter: 16px; }
  .site-header { gap: 8px; }
  .brand-word { font-size: 28px; }
  .nav-cta { font-size: 10px; gap: 6px; padding-inline: 8px; }
  .nav-cta svg { width: 12px; height: 12px; }
  .menu-toggle { min-width: 38px; width: 38px; }
  .home-introduction-copy h1 { font-size: 34px; }
  .home-trade-summary { gap: 12px; }
  .home-trade-summary dt { font-size: 10px; }
  .home-trade-summary dd { font-size: 18px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 9px; }
  .product-detail-copy h3 { font-size: 24px; }
  .contact-form { padding-inline: 17px; }
}

/* Atlas invitation: effective v3 appearance, isolated from the new site tokens. */
section.container:has(> .atlas-invitation) {
  --gutter: clamp(22px, 5vw, 84px);
  width: 100%;
  max-width: 1440px;
  padding-inline: var(--gutter);
  background: #fbfaf7;
}
.atlas-invitation {
  --paper: #f5f2ec;
  --sand: #ebe5dc;
  --cream: #fcfaf6;
  --ink: #2c312c;
  --muted: #62665e;
  --copper: #846047;
  --olive: #7a8672;
  --line: #dbdbce;
  --serif: 'DM Serif Display', Georgia, serif;
  --sans: Manrope, Arial, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  font: 400 16px/1.7 var(--sans);
  letter-spacing: normal;
  color: #2d312e;
  background: #fbfaf7;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: .9fr 1.4fr auto;
  align-items: center;
  gap: 50px;
  padding: 48px 0;
}
.atlas-invitation h2 { font: 400 42px/1.15 var(--serif); letter-spacing: -.02em; margin: 0; color: inherit; }
.atlas-invitation p { font-size: 13px; line-height: 1.7; font-weight: 400; max-width: 430px; color: var(--muted); margin-top: 12px; }
.atlas-invitation .atlas-overline { font-size: 11px; line-height: 1.7; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; }
.atlas-invitation .atlas-overline span { display: block; font: italic 64px/1.2 var(--serif); color: var(--olive); margin-top: 10px; letter-spacing: -.025em; text-transform: none; }
.atlas-invitation > .line-link { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; padding-block: 8px; padding-inline: 0; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; font-size: 13px; font-weight: 650; line-height: 1.6; color: inherit; background: transparent; text-underline-offset: 5px; }
.atlas-invitation > .line-link svg { width: 20px; height: 20px; transition: transform .35s var(--ease); }
.atlas-invitation > .line-link:hover svg { transform: translateX(5px); }
.motion-ready .atlas-invitation[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .7s var(--ease), transform .85s var(--ease); transition-delay: var(--delay, 0ms); }
.motion-ready .atlas-invitation[data-reveal].is-visible { opacity: 1; transform: none; }
@media (max-width: 1100px) and (min-width: 761px) {
  section.container:has(> .atlas-invitation) { --gutter: 32px; }
}
@media (max-width: 960px) {
  .atlas-invitation { grid-template-columns: 1fr 1.7fr; gap: 35px; }
  .atlas-invitation > a { grid-column: 2; justify-self: start; }
  .atlas-invitation .atlas-overline { grid-row: 1 / 3; }
}
@media (max-width: 760px) {
  section.container:has(> .atlas-invitation) { --gutter: 22px; }
  .atlas-invitation { grid-template-columns: 1fr; gap: 27px; padding-block: 36px; }
  .atlas-invitation .atlas-overline { grid-row: auto; display: flex; justify-content: space-between; align-items: center; font-size: 10px; }
  .atlas-invitation .atlas-overline span { font-size: 40px; margin: 0; }
  .atlas-invitation h2 { font-size: 36px; }
  .atlas-invitation > a { grid-column: auto; justify-self: start; }
  .atlas-invitation p { font-size: 13px; }
  .atlas-invitation > .line-link { font-size: 12px; gap: 20px; }
}
@media (max-width: 370px) {
  section.container:has(> .atlas-invitation) { --gutter: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .motion-ready [data-reveal], .motion-ready .atlas-invitation[data-reveal] { opacity: 1; transform: none; }
}
.motion-disabled .atlas-invitation[data-reveal] { opacity: 1; transform: none; transition: none; }

/* MRGT / Origin Atelier — public collection, October 2026. */
:root{--paper:#f5f1e9;--sand:#eae4da;--cream:#fcfaf6;--ink:#1e211f;--muted:#696a63;--copper:#94684b;--olive:#94684b;--line:#d9d2c8;--gutter:clamp(22px,5vw,88px);--max:1600px;--header:78px}
body{background:var(--paper);color:var(--ink);font-size:15px;line-height:1.8}
::selection{background:#b78663;color:#fff}
button,a,input,textarea,select{touch-action:manipulation}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:var(--copper)}
.section{padding-block:clamp(60px,7.5vw,120px)}
.section-title,.page-title,.article-title{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.section-title{font-size:clamp(38px,4.3vw,66px);line-height:1.08}
.section-title em,.page-title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--copper)}
.section-head{margin-bottom:42px;align-items:flex-end}
.section-head .eyebrow{margin-bottom:18px}
.section-head .line-link{font-size:12px}
.button{min-height:50px;padding:14px 22px;border-radius:2px;background:var(--ink);border-color:var(--ink);font-size:12px;letter-spacing:.01em;gap:25px;transition:background .2s,transform .2s}
.button:hover{background:#8c6147;border-color:#8c6147;transform:translateY(-2px)}
.button.outline{border-color:#a69d90;color:var(--ink);background:transparent}
.button.outline:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.button.light{color:var(--ink);background:var(--paper);border-color:var(--paper)}
.button.light:hover{background:#d8b89b;border-color:#d8b89b}
.line-link{font-size:12px;gap:22px;border-color:#aaa195;min-height:44px}
.circle-arrow{border-color:#bfb6aa}
.skip-link{z-index:1002}
.header-shell{position:fixed;inset:22px var(--gutter) auto;width:auto;max-width:1424px;margin-inline:auto;z-index:100;padding:0;background:rgba(24,27,25,.82);border:1px solid rgba(255,255,255,.16);border-radius:100px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#f9f6ee;transition:top .3s,background .3s,box-shadow .3s}
.site-header{min-height:72px;padding:0 14px 0 28px;gap:24px}
.is-scrolled .header-shell{top:12px;background:rgba(24,27,25,.94);box-shadow:0 8px 24px #0001}
.brand-word{font:700 27px/1 var(--sans);letter-spacing:.03em}
.brand-dot{color:#c69875}
.desktop-nav{gap:26px}
.desktop-nav>a{min-height:70px;font-size:11px;letter-spacing:.015em;border-bottom:0;position:relative;font-weight:600}
.desktop-nav>a:after{content:'';position:absolute;bottom:18px;left:0;width:0;height:1px;background:#c69875;transition:width .2s}
.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{color:#e1b48c;border-color:transparent}
.desktop-nav>a:hover:after,.desktop-nav>a[aria-current=page]:after{width:100%}
.nav-cta{background:#ece3d4;color:#232622;border-radius:100px;font-size:11px;min-height:44px;padding:12px 20px;font-weight:700}
.nav-cta:hover{background:#d1ad8f}
.menu-toggle{color:var(--paper)}
.mobile-menu{background:var(--ink);color:var(--paper);z-index:99;padding-top:130px}
.menu-primary>a{font-family:var(--serif);font-weight:400;font-size:32px;border-color:#ffffff26;padding-block:12px}
.menu-primary>a svg{color:#c69875}
.menu-primary>a[aria-current=page]{color:#d8ad8b}
.menu-contact{border-color:#ffffff26}.menu-contact p{color:#b8b8ad}
.menu-secondary{color:#c4c0b6}
.exhibition-hero{position:relative;padding:0;background:#171a18;overflow:hidden;min-height:0}
.exhibition-hero-video{width:100%;max-width:none;margin:0;aspect-ratio:16/9;max-height:94svh;height:auto;object-fit:cover;background:#171a18}
.film-caption{display:flex;justify-content:space-between;align-items:center;padding-block:15px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.film-caption a{display:flex;align-items:center;gap:15px;min-height:32px;color:var(--ink)}
.film-caption svg{width:15px;height:15px}
.home-introduction{padding-block:80px 35px}
.home-introduction-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:center}
.home-introduction-copy h1{font:400 clamp(50px,5.7vw,88px)/1.04 var(--serif);letter-spacing:-.05em;margin:22px 0 20px;max-width:800px}
.home-introduction-copy h1 em{font-weight:400;color:var(--copper)}
.home-introduction-aside .intro-lead{font:400 clamp(22px,2.1vw,31px)/1.3 var(--serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:18px}
.home-introduction-aside>p:not(.intro-lead){font-size:13px;line-height:1.9;max-width:460px;color:var(--muted)}
.home-introduction-aside .hero-actions{gap:22px;margin-top:27px}
.trade-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);margin-top:65px;padding-top:27px}
.trade-facts>span{display:flex;align-items:center;gap:17px;font-size:11px;color:var(--muted)}
.trade-facts strong{font-size:18px;font-weight:550;color:var(--ink)}
.collection-explorer{background:#eae5dc;padding-top:70px}
.origin-explorer-tabs{display:flex;justify-content:space-between;border-bottom:1px solid #bbb3a6;margin-bottom:32px;gap:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b3a594 transparent}
.origin-explorer-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:#6a685e;flex:1;white-space:nowrap;text-align:left;min-height:62px;padding:11px 8px 18px 0;font-size:13px;transition:color .2s}
.origin-explorer-tabs button span{font-size:9px;display:inline-block;margin-right:8px;vertical-align:top;margin-top:3px;color:#938877}
.origin-explorer-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--copper);font-weight:750}
.origin-explorer-panel{display:grid;grid-template-columns:1.3fr 1fr;min-width:0;gap:clamp(32px,5vw,80px);align-items:center}
.origin-explorer-image{position:relative;overflow:hidden;aspect-ratio:1.4;background:#d8cbbb}
.origin-explorer-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.origin-explorer-image:hover img{transform:scale(1.035)}
.origin-image-label{position:absolute;bottom:20px;left:22px;background:#1e211fe6;color:#f7f2e8;padding:9px 13px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;backdrop-filter:blur(8px)}
.origin-explorer-copy h3{font:400 clamp(40px,4vw,62px)/1.12 var(--serif);margin:13px 0 20px;display:flex;justify-content:space-between;gap:18px;letter-spacing:-.035em}
.origin-explorer-copy h3 span{font-family:var(--sans);font-size:32px;color:var(--copper)}
.origin-explorer-copy>p{color:var(--muted);font-size:13px;max-width:420px;line-height:1.9}
.origin-grade-links{display:grid;margin:22px 0 27px;border-top:1px solid #c8beb1}
.origin-grade-links>a{display:flex;justify-content:space-between;align-items:center;min-height:43px;padding:10px 0;border-bottom:1px solid #c8beb1;font-size:12px}
.origin-grade-links>a:hover{color:var(--copper)}
.origin-grade-links svg{width:14px;height:14px;color:var(--copper)}
.origin-explorer-copy small{display:block;max-width:310px;font-size:10px;line-height:1.7;color:var(--muted);margin-top:17px}
.sourcing-editorial{background:var(--cream)}
.sourcing-feature{grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.sourcing-photo{aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.sourcing-photo img{height:100%;width:100%;object-fit:cover}
.sourcing-copy .section-title{font-size:clamp(38px,3.7vw,57px);margin:17px 0 30px}
.sourcing-steps{margin:15px 0 25px}
.sourcing-steps li{border-color:var(--line);padding:20px 0;gap:25px}
.sourcing-steps li>span{color:var(--copper);font-size:11px}
.sourcing-steps h3{font-size:15px;font-weight:650}
.sourcing-steps p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:7px}
.company-editorial{background:#222622;color:var(--paper)}
.company-editorial .eyebrow{color:#d3a684}
.company-editorial .section-title em{color:#cda480}
.company-editorial-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:end;margin-bottom:44px}
.company-editorial-heading .section-title{margin-top:17px}
.company-editorial-heading p{max-width:400px;color:#c0c0b4;font-size:13px;line-height:1.9}
.company-editorial-heading .line-link{margin-top:12px;color:#e3d8c9;border-color:#77766a}
.company-photo-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}
.company-photo-pair figure{min-width:0}
.company-photo-pair img{width:100%;height:420px;object-fit:cover}
.company-photo-pair figcaption{padding:15px 0 0;font-size:10px;color:#b8b8ac;letter-spacing:.025em}
.home-journal{background:var(--paper)}
.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.journal-card{border:0;background:transparent;padding:0;min-width:0}
.journal-image{position:relative;display:block;aspect-ratio:1.5;overflow:hidden;background:var(--sand)}
.journal-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.journal-card:hover .journal-image img{transform:scale(1.035)}
.image-arrow{position:absolute;bottom:14px;right:14px;border-radius:100%;height:36px;width:36px;display:grid;place-items:center;background:#f9f5ebeb;color:var(--ink)}
.image-arrow svg{width:17px;height:17px;transform:rotate(-35deg)}
.journal-card-copy{padding-top:23px}
.article-meta{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);gap:10px}
.article-meta>span:first-child{color:var(--copper);font-weight:650}
.journal-card h3{font:400 clamp(23px,2.1vw,31px)/1.22 var(--serif);letter-spacing:-.02em;margin:13px 0}
.journal-card p{font-size:12px;line-height:1.8;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.journal-card .line-link{margin-top:15px;font-size:11px}
.page-hero,.catalogue-hero,.origin-index-hero{padding-top:155px;padding-bottom:57px}
.page-hero>.eyebrow{margin-bottom:24px}
.page-title,.page-hero-copy .page-title{font-size:clamp(46px,6.4vw,92px);line-height:1.04;margin-bottom:26px;max-width:1100px}
.page-hero>p,.page-hero-copy>p{font-size:15px;line-height:1.9;max-width:660px;color:var(--muted)}
.page-hero-split{padding-top:150px;gap:7vw;align-items:center;padding-bottom:70px}
.page-hero-copy .eyebrow{margin-bottom:20px}
.page-hero-photo{min-height:0;aspect-ratio:1.15;overflow:hidden}
.page-hero-photo img{height:100%;width:100%;object-fit:cover}
.breadcrumb{padding-top:140px;margin-top:0;font-size:10px;gap:12px;color:var(--muted)}
.origin-detail-hero{padding-top:35px;padding-bottom:70px;grid-template-columns:1fr 1.1fr;gap:7vw}
.origin-detail-copy .eyebrow{margin-bottom:20px}
.origin-detail-copy .body-lg{font-size:15px;color:var(--muted);max-width:470px}
.origin-detail-photo{aspect-ratio:1.35;overflow:hidden;min-height:0}
.origin-detail-photo img{height:100%;width:100%;object-fit:cover}
.origin-chips span{border:1px solid #d1c8ba;background:#eee8de;color:#6c655a;font-size:10px}
.catalogue-layout{grid-template-columns:205px minmax(0,1fr);gap:45px;padding-bottom:90px}
.catalogue-sidebar{top:120px}
.catalogue-sidebar h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:18px}
.catalogue-sidebar nav a{border-color:var(--line);font-size:12px;color:var(--ink);min-height:48px}
.catalogue-sidebar nav a:hover{color:var(--copper);background:transparent}
.catalogue-sidebar-note{border-color:var(--line)}
.catalogue-toolbar{gap:20px}.catalogue-search{background:#fcfaf6;border-color:var(--line);border-radius:2px;min-height:52px}
.catalogue-search input{background:transparent;font-size:12px;min-width:0;color:var(--ink)}
.catalogue-origin-filter select,.journal-topic-label select{min-height:48px;background:#fcfaf6;border:1px solid var(--line);border-radius:2px;font-size:12px;color:var(--ink);padding:10px 30px 10px 14px}
.catalogue-results{color:var(--muted);font-size:10px}
.product-family>.section-head .section-title{font-size:39px}
.product-family{padding-top:40px;margin-top:30px;border-color:var(--line)}
.product-detail-grid{gap:38px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.product-detail-card{background:transparent;border:0;border-radius:0;overflow:visible;display:flex;flex-direction:column}
.product-detail-image{aspect-ratio:1.25;overflow:hidden;background:var(--sand);border:0;border-radius:0;padding:0}
.product-detail-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--ease)}
.product-detail-card:hover .product-detail-image img{transform:scale(1.04)}
.product-detail-copy{padding:22px 0 0;display:flex;flex-direction:column;flex:1}
.product-origin{font-size:9px;letter-spacing:.15em}
.product-detail-copy h3{font:400 29px/1.15 var(--serif);letter-spacing:-.025em;margin:10px 0 14px}
.product-detail-copy>p{font-size:11px;line-height:1.8;color:var(--muted)}
.product-specs{border-color:var(--line);margin:20px 0 0}
.product-specs>div{border-color:var(--line);font-size:10px;gap:12px;padding-block:9px}
.product-specs dt{color:var(--muted);font-size:10px}.product-specs dd{font-size:10px;color:var(--ink)}
.product-card-actions{margin-top:auto;padding-top:15px}.product-card-actions a{font-size:11px}
.coffee-image{aspect-ratio:1.4;overflow:hidden;background:var(--sand)}
.coffee-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s}
.coffee-card:hover .coffee-image img{transform:scale(1.03)}
.coffee-info{padding:22px 0}.coffee-info h3{font:400 38px/1.2 var(--serif);margin:7px 0}
.coffee-region,.coffee-info p{color:var(--muted);font-size:10px}
.origin-products{grid-template-columns:repeat(3,minmax(0,1fr))}
.order-band{background:#ded4c5;color:var(--ink);border:0;padding-block:44px}
.order-band h2{font:400 32px/1.2 var(--serif)}
.order-band p{font-size:12px;color:#635c52;max-width:660px}
.closing-cta{background:var(--sand);color:var(--ink)}
.closing-cta .button{background:var(--ink);color:var(--paper)}
.journal-collection{padding-bottom:100px}
.collection-filters{align-items:center;gap:22px;border-color:var(--line);margin-bottom:35px}
.journal-topic-label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.result-count{font-size:10px;color:var(--muted)}
.article-hero{max-width:1100px;padding-top:35px;margin:0 auto 50px;text-align:center}
.article-hero .article-meta{justify-content:center}
.article-title{font-size:clamp(38px,5vw,74px);line-height:1.08;margin:25px auto;max-width:1050px}
.article-standfirst{font-size:16px;line-height:1.85;max-width:760px;margin:0 auto;color:var(--muted)}
.article-byline{font-size:10px;margin-top:22px;color:var(--copper)}
.article-cover{max-width:1260px;margin:0 auto;padding-inline:var(--gutter)}
.article-cover img{width:100%;height:auto;aspect-ratio:1.75;object-fit:cover}
.article-cover figcaption{font-size:9px;color:var(--muted);padding-top:7px;text-align:right}
.article-main{max-width:800px;padding-inline:28px;padding-top:45px}
.article-content{font-size:16px;line-height:1.95;color:#3b3e38;overflow-wrap:break-word}
.article-content h2{font:400 35px/1.2 var(--serif);margin-top:43px;color:var(--ink)}
.article-content h3{font-size:20px;margin-top:30px;color:var(--ink)}
.article-content a,.article-references a{text-decoration:underline;text-underline-offset:3px;color:var(--copper);overflow-wrap:anywhere}
.article-date-note{font-size:10px;color:var(--muted);border-color:var(--line);padding:17px 0;margin-bottom:28px}
.article-references{border-color:var(--line);font-size:12px}
.article-references h2{font-size:20px}
.table-scroll{max-width:100%;overflow-x:auto;margin:28px 0}
.table-scroll table{min-width:480px;margin:0;font-size:13px}
.contact-layout{gap:7vw;padding-bottom:85px}
.contact-form{border:1px solid var(--line);background:var(--cream);border-radius:0;padding:40px}
.contact-form h2{font:400 35px/1.2 var(--serif)}
.form-field input,.form-field textarea,.form-field select{background:#f5f1e9;border-color:#d8cfc1;border-radius:2px;color:var(--ink);font-size:12px;min-height:47px}
.form-field label{font-size:10px;color:var(--ink)}
.form-intro,.form-helper,.contact-note,.contact-intro>.small{font-size:11px;color:var(--muted)}
.form-status{font-size:12px;color:var(--ink)}.form-status a{text-decoration:underline;color:var(--copper)}
.contact-direct a{color:var(--ink)}
.contact-team>div,.team-card{border-color:var(--line);background:transparent;border-radius:0}
.contact-team h3,.team-card h3{font:400 30px/1.3 var(--serif)}
.trade-detail,.spec-item,.service-row{border-color:var(--line)}
.trade-detail h2,.trade-detail h3{font:400 28px/1.25 var(--serif)}
.trade-detail p,.service-row p,.about-body p,.people-copy p{color:var(--muted);font-size:14px;line-height:1.95}
.people-copy .section-title{margin:18px 0 25px}
.people-copy>h2:not(.section-title){margin-top:30px;font:400 27px/1.2 var(--serif)}
.faq-list details{border-color:var(--line)}
.faq-list summary{font-size:14px}.faq-list p{color:var(--muted);font-size:13px}
.gallery-mosaic{gap:30px}.gallery-item{break-inside:avoid}.gallery-item figcaption{font-size:10px;color:var(--muted)}
.filter-button{border-color:var(--line);color:var(--muted);font-size:11px}
.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.native-film{gap:50px}.native-film .section-title{font-size:40px}
.native-film p{color:var(--muted);font-size:13px}
.site-footer{padding-block:0 28px;background:#181c19;color:#eae5dc}
.footer-signature{padding:70px 0 65px;border-bottom:1px solid #ffffff21;position:relative}
.footer-signature>.eyebrow{color:#c69b7b}
.footer-signature>p{font:400 clamp(42px,5.6vw,82px)/1.03 var(--serif);letter-spacing:-.035em;margin:24px 0 30px}
.footer-signature>p em{color:#c69b7b;font-weight:400}
.footer-signature>.button{position:absolute;right:0;bottom:70px}
.footer-main{padding-block:55px;grid-template-columns:1.35fr .8fr .8fr 1.1fr;gap:35px}
.footer-brand p{font-size:11px;line-height:1.9;color:#aaa99f;margin-top:22px}
.footer-heading{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#c69b7b;margin-bottom:18px}
.footer-links a{font-size:11px;color:#cfcec4;min-height:31px;padding-block:4px}
.footer-email{font-size:17px}.footer-phone{font-size:12px;color:#aaa99f;margin-top:12px}
.social-links{margin-top:20px}.social-links a{font-size:10px;color:#b8b6aa}
.footer-bottom{border-color:#ffffff21;font-size:9px;color:#9e9f93;padding-top:22px}
.footer-bottom a,.back-to-top{font-size:9px;color:#b6b6ac}
.not-found{padding-top:180px}
.atlas-pending #website-shell,.atlas-active #website-shell{visibility:hidden}
#atlas-overlay{position:fixed;inset:0;z-index:1000;background:#10251e;color:#f5f0e5;display:flex;flex-direction:column}
.atlas-pending #atlas-overlay[hidden]{display:flex!important}
.atlas-toolbar{height:52px;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,env(safe-area-inset-left));background:#151b17;border-bottom:1px solid #ffffff26;font-size:10px;letter-spacing:.07em}
.atlas-toolbar button{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid #a7a699;background:#f7f1e7;color:#20241f;border-radius:4px;padding:5px 13px;font-size:11px;letter-spacing:0}
.atlas-toolbar svg{width:15px;height:15px}
#atlas-frame{display:block;width:100%;flex:1;border:0;min-height:0;background:#10251e}
.motion-ready [data-reveal]{transition-duration:.6s;transform:translateY(18px)}
.motion-ready [data-reveal].is-visible{transform:none}
@media(min-width:1550px){.home-introduction-grid{gap:100px}.exhibition-hero-video{max-height:900px}}
@media(max-width:1200px){.desktop-nav{gap:18px}.site-header{gap:20px}.catalogue-layout{grid-template-columns:170px minmax(0,1fr);gap:28px}.product-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-photo-pair img{height:350px}.footer-main{gap:25px}.footer-email{font-size:14px}}
@media(max-width:1080px){.desktop-nav{display:none}.menu-toggle{display:flex}.nav-cta{margin-left:auto}.home-introduction-grid{gap:45px}.origin-explorer-panel{gap:35px}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-contact{grid-column:1/-1;display:flex;align-items:center;gap:25px}.footer-contact .footer-heading{margin:0}.footer-contact .footer-phone,.footer-contact .social-links{margin:0}}
@media(max-width:760px){:root{--gutter:22px}.header-shell{inset:12px 14px auto;border-radius:100px}.site-header{min-height:60px;padding:0 9px 0 19px;gap:14px}.brand-word{font-size:24px}.nav-cta{font-size:9px;min-height:38px;padding:9px 14px;gap:12px}.nav-cta svg{width:13px;height:13px}.menu-toggle{min-height:42px;min-width:35px;padding:5px}.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.is-scrolled .header-shell{top:8px}.exhibition-hero-video{aspect-ratio:4/3;min-height:300px;max-height:78svh;object-fit:cover}.film-caption{padding-block:12px;font-size:8px;gap:12px}.film-caption>span:last-child{display:none}.home-introduction{padding-block:50px 25px}.home-introduction-grid{grid-template-columns:1fr;gap:20px}.home-introduction-copy h1{font-size:clamp(47px,9.6vw,72px);line-height:1.07;margin:18px 0 12px}.home-introduction-aside .intro-lead{font-size:25px}.home-introduction-aside>p:not(.intro-lead){font-size:12px}.trade-facts{grid-template-columns:1fr;gap:0;margin-top:35px;padding-top:6px}.trade-facts>span{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 0;font-size:10px}.trade-facts strong{font-size:16px}.section{padding-block:58px}.section-title{font-size:43px}.section-head{align-items:flex-start;gap:20px;margin-bottom:25px;flex-direction:column}.section-head .line-link{font-size:11px}.origin-explorer-tabs{gap:25px;margin-bottom:25px;padding-bottom:0}.origin-explorer-tabs button{flex:0 0 auto;min-height:55px;font-size:12px;padding-right:10px}.origin-explorer-panel{grid-template-columns:1fr;gap:28px}.origin-explorer-image{aspect-ratio:1.45}.origin-explorer-copy h3{font-size:42px;margin-bottom:14px}.origin-explorer-copy>p{font-size:12px}.origin-explorer-copy small{max-width:none}.origin-grade-links{margin-top:18px}.sourcing-feature{grid-template-columns:1fr;gap:37px}.sourcing-photo{aspect-ratio:1.2}.sourcing-copy .section-title{font-size:42px;margin-bottom:20px}.sourcing-steps li{padding-block:18px}.company-editorial-heading{grid-template-columns:1fr;gap:25px}.company-editorial-heading p{font-size:12px}.company-photo-pair{grid-template-columns:1fr;gap:28px}.company-photo-pair img{height:auto;aspect-ratio:1.3;object-fit:cover}.company-photo-pair figcaption{font-size:9px}.journal-grid,.full-journal{grid-template-columns:1fr;gap:38px}.journal-card{display:block}.journal-image{aspect-ratio:1.6}.journal-card h3{font-size:28px}.journal-card p{font-size:12px}.journal-card-copy{padding-top:20px}.page-hero,.catalogue-hero,.origin-index-hero{padding-top:122px;padding-bottom:40px}.page-title,.page-hero-copy .page-title{font-size:clamp(45px,10vw,66px);margin-bottom:22px}.page-hero>p,.page-hero-copy>p{font-size:13px}.page-hero-split{padding-top:125px;gap:35px;padding-bottom:50px;grid-template-columns:1fr}.page-hero-photo{aspect-ratio:1.3}.breadcrumb{padding-top:114px;font-size:9px;gap:9px;flex-wrap:wrap}.origin-detail-hero{grid-template-columns:1fr;gap:35px;padding-top:27px;padding-bottom:50px}.origin-detail-copy .body-lg{font-size:13px}.origin-detail-photo{aspect-ratio:1.3}.catalogue-layout{display:block;padding-bottom:55px}.catalogue-sidebar{position:static;margin-bottom:30px}.catalogue-sidebar h2{font-size:10px;margin-bottom:12px}.catalogue-sidebar nav{display:flex;overflow-x:auto;gap:17px;border-bottom:1px solid var(--line)}.catalogue-sidebar nav a{white-space:nowrap;gap:12px;min-height:44px;border:0;flex:0 0 auto;padding:8px 0;font-size:11px}.catalogue-sidebar-note{display:none}.catalogue-toolbar{display:grid;grid-template-columns:1fr;gap:13px}.catalogue-origin-filter{display:flex;align-items:center;gap:12px;font-size:11px}.catalogue-origin-filter select{flex:1}.catalogue-results{font-size:10px;align-items:flex-start}.catalogue-results p{max-width:60%;text-align:right;font-size:10px}.product-detail-grid,.origin-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.product-detail-image{aspect-ratio:1.1}.product-detail-copy{padding-top:15px}.product-detail-copy h3{font-size:24px;line-height:1.16;margin:8px 0 12px}.product-detail-copy>p{font-size:10px}.product-origin{font-size:8px;letter-spacing:.1em}.product-specs>div{display:block;font-size:9px}.product-specs dd{margin-top:3px;font-size:10px}.product-card-actions{padding-top:12px}.product-family>.section-head{flex-direction:row;align-items:center}.product-family>.section-head .section-title{font-size:34px}.product-family .section-head>a{font-size:10px}.catalogue-photo-note{font-size:10px}.coffee-info h3{font-size:33px}.order-band{padding-block:35px}.order-band>.container{gap:24px}.order-band h2{font-size:29px}.order-band p{font-size:11px}.collection-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.all-journal-search{width:100%;flex-basis:100%}.journal-topic-label{font-size:10px}.journal-topic-label select{font-size:11px;min-height:43px}.collection-filters .result-count{margin-left:auto;font-size:10px}.article-hero{padding-top:28px;margin-bottom:30px}.article-title{font-size:clamp(36px,8.5vw,58px);margin-block:22px}.article-standfirst{font-size:13px}.article-cover{padding-inline:0}.article-cover img{aspect-ratio:1.5}.article-cover figcaption{padding-right:20px}.article-main{padding-top:25px;padding-inline:22px}.article-content{font-size:15px;line-height:1.9}.article-content h2{font-size:29px}.article-content h3{font-size:19px}.article-date-note{font-size:9px}.article-bottom{align-items:flex-start;gap:18px}.article-bottom .line-link{font-size:10px}.contact-layout{gap:40px;padding-bottom:55px}.contact-form{padding:28px 22px}.contact-form h2{font-size:31px}.form-grid{gap:18px 15px}.form-field label{font-size:10px}.contact-team{gap:24px}.people-feature{gap:30px}.people-copy .section-title{font-size:38px}.people-copy p,.trade-detail p,.service-row p{font-size:13px}.gallery-mosaic{grid-template-columns:1fr;gap:28px}.native-film{gap:25px}.native-film .section-title{font-size:35px}.footer-signature{padding:54px 0 45px}.footer-signature>p{font-size:49px;margin:22px 0 28px}.footer-signature>.button{position:static}.footer-main{padding-block:35px;grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-brand p{margin-top:15px;font-size:11px}.footer-contact{display:block;grid-column:1/-1}.footer-contact .footer-heading{margin-bottom:16px}.footer-contact .footer-phone{margin-top:10px}.footer-contact .social-links{margin-top:17px}.footer-email{font-size:19px}.footer-bottom{gap:18px;font-size:9px}.footer-bottom>div{gap:20px}.atlas-toolbar{height:50px;min-height:50px}.atlas-toolbar>span{font-size:9px}.atlas-toolbar button{font-size:10px}}
@media(max-width:420px){.brand-word{font-size:22px}.site-header{gap:10px;padding-left:17px}.nav-cta{font-size:8px;padding-inline:12px}.nav-cta svg{display:none}.home-introduction-copy h1{font-size:46px}.section-title{font-size:39px}.product-detail-grid,.origin-products{grid-template-columns:1fr}.product-detail-image{aspect-ratio:1.5}.product-detail-copy h3{font-size:29px}.product-detail-copy>p{font-size:12px}.product-specs>div{display:flex;font-size:11px}.product-specs dt,.product-specs dd{font-size:11px}.product-specs dd{margin-top:0}.product-card-actions a{font-size:12px}.footer-signature>p{font-size:43px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.contact-form{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready [data-reveal]{opacity:1;transform:none}.journal-image img,.product-detail-image img,.origin-explorer-image img{transform:none!important}}
.form-field textarea{min-height:140px;resize:vertical}
@media(max-width:760px){.form-field input,.form-field textarea,.form-field select,.catalogue-search input,.catalogue-origin-filter select,.journal-topic-label select{font-size:16px}.catalogue-sidebar nav{flex-wrap:nowrap}}
.brand{gap:3px}.brand-symbol{width:42px;height:51px;object-fit:contain}
@media(max-width:760px){.brand-symbol{width:30px;height:37px}.brand{gap:2px}.site-header{gap:8px}}
/* The owner’s original small-sack product photographs remain intact. */
.product-detail-image{aspect-ratio:4/5;background:#eeeae2}
.product-detail-image img,.origin-detail-photo img,.origin-explorer-image img,.coffee-image img{object-fit:contain}
.origin-explorer-image{aspect-ratio:1.2;background:#eeeae2}
.origin-detail-photo{aspect-ratio:1.15;background:#eeeae2}
.coffee-image{aspect-ratio:4/3;background:#eeeae2}
.product-detail-card:hover .product-detail-image img,.origin-explorer-image:hover img,.coffee-card:hover .coffee-image img{transform:none}
.product-detail-image figcaption{font-size:9px;line-height:1.5;padding:8px 10px;background:var(--paper)}
.product-detail-image:has(figcaption){aspect-ratio:auto}.product-detail-image:has(figcaption)>img{aspect-ratio:4/5;height:auto}
@media(max-width:760px){.origin-explorer-image{aspect-ratio:1.25}.origin-detail-photo{aspect-ratio:1.15}.product-detail-image{aspect-ratio:4/5}}
@media(max-width:420px){.product-detail-image{aspect-ratio:4/5}.product-detail-image img{max-height:400px}}
/* Buying tools use the same approved catalogue in either view. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.product-card-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.enquiry-add{border:1px solid var(--line);padding:10px 12px;background:transparent;font-size:10px;line-height:1.4;color:var(--ink);min-height:40px}
.enquiry-add:hover{border-color:var(--copper)}.enquiry-add[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.catalogue-view{display:flex;gap:0;align-self:center;border:1px solid var(--line)}
.catalogue-view button{border:0;background:transparent;color:var(--muted);padding:9px 13px;min-height:38px;font-size:10px}
.catalogue-view button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.catalogue-results{gap:16px}.catalogue-results>p{max-width:42%;margin-left:auto}
.catalogue-list .product-detail-grid{grid-template-columns:1fr;gap:0}
.catalogue-list .product-detail-card{display:grid;grid-template-columns:115px minmax(0,1fr);gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}
.catalogue-list .product-detail-image,.catalogue-list .product-detail-image:has(figcaption){aspect-ratio:1;height:115px}
.catalogue-list .product-detail-image img,.catalogue-list .product-detail-image:has(figcaption)>img{height:100%;aspect-ratio:auto}
.catalogue-list .product-detail-image figcaption{display:none}
.catalogue-list .product-detail-copy{padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.85fr);column-gap:25px}
.catalogue-list .product-origin{grid-column:1}.catalogue-list .product-detail-copy h3{font-size:26px;grid-column:1;margin:7px 0 10px}
.catalogue-list .product-detail-copy>p{grid-column:1;margin:0;font-size:11px}
.catalogue-list .product-specs{grid-column:2;grid-row:1/4;margin:0;align-self:start}
.catalogue-list .product-card-actions{grid-column:1/-1;padding-top:14px;border:0;justify-content:flex-start;gap:25px}
.enquiry-tray{position:fixed;z-index:70;bottom:20px;left:50%;transform:translateX(-50%);width:min(790px,calc(100% - 32px));display:flex;align-items:center;gap:22px;background:#242923ed;color:var(--paper);border:1px solid #ffffff25;padding:15px 18px 15px 24px;box-shadow:0 14px 45px #1114;backdrop-filter:blur(16px)}
.enquiry-tray>div{margin-right:auto}.enquiry-tray strong{display:block;font-size:13px;font-weight:600}.enquiry-tray span{display:block;font-size:10px;color:#b9bcaf;margin-top:4px}.enquiry-tray>button{border:0;background:none;color:#e3ddcf;text-decoration:underline;font-size:11px;padding:12px 4px}.enquiry-tray .button{background:#e6d6bc;color:#25291f;min-height:43px;font-size:11px;border:0;padding:11px 17px}
.has-enquiry-tray .site-footer{padding-bottom:125px}
.enquiry-selection{border:1px solid #d6cab7;padding:22px;margin-block:22px 28px;background:#ece5d8}.enquiry-selection h3{font:400 24px/1.2 var(--serif);margin:0 0 8px}.enquiry-selection p{font-size:11px;color:var(--muted)}.enquiry-selection ul{list-style:none;padding:0;margin:17px 0}.enquiry-selection li{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;padding:11px 0;border-bottom:1px solid #d4c8b6}.enquiry-selection button{font-size:10px;color:var(--copper);background:transparent;border:0;padding:8px 0;text-decoration:underline}.enquiry-selection>a{font-size:11px;text-decoration:underline;text-underline-offset:4px}
.enquiry-specifications{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:17px}.enquiry-specifications summary{cursor:pointer;font-size:12px;line-height:1.6}.enquiry-specifications summary>span{font-size:10px;color:var(--muted);float:right}.enquiry-specifications>p{font-size:11px;color:var(--muted);margin-block:20px}.enquiry-specifications .form-grid{margin-bottom:8px}
@media(max-width:760px){.catalogue-results{flex-wrap:wrap;align-items:center}.catalogue-results>p{flex-basis:100%;max-width:none;text-align:left;margin:0}.catalogue-view{margin-left:auto}.enquiry-add{font-size:10px;min-height:42px}.catalogue-list .product-detail-card{grid-template-columns:75px minmax(0,1fr);gap:16px}.catalogue-list .product-detail-image,.catalogue-list .product-detail-image:has(figcaption){height:75px}.catalogue-list .product-detail-copy{display:block}.catalogue-list .product-detail-copy h3{font-size:24px}.catalogue-list .product-detail-copy>p{display:none}.catalogue-list .product-specs{margin-top:12px}.catalogue-list .product-specs>div{display:flex;font-size:10px;gap:14px}.catalogue-list .product-specs dd{margin:0;text-align:right}.catalogue-list .product-card-actions{gap:18px}.enquiry-tray{bottom:max(12px,env(safe-area-inset-bottom));gap:12px;padding:12px 14px;width:calc(100% - 24px)}.enquiry-tray strong{font-size:11px}.enquiry-tray span{display:none}.enquiry-tray .button{font-size:10px;padding:10px 12px;gap:8px}.enquiry-tray>button{font-size:10px}.enquiry-tray svg{width:14px;height:14px}.enquiry-specifications summary{font-size:11px}.enquiry-selection{padding:18px}.enquiry-selection li{font-size:11px}}
