/* Local additions: accessible navigation, responsive fixes and preview-only forms. */
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Nunito Sans', sans-serif; color: #111; background: #fff; }
main { min-height: 55vh; }
img { max-width: 100%; }
.brand-link { display: flex; align-items: center; flex-shrink: 0; }
.brand-logo { display: block; width: 168px; height: 54px; object-fit: contain; }
.footer-brand-logo { display: block; width: 208px; height: auto; }
.category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.category-grid .product-card { border: 1px solid #e8e8e8; transition: border-color .2s; }
.category-grid a:hover .product-card { border-color: #aaa; }
.category-grid .product-card > .p-4 { padding: 22px; }
.category-image { aspect-ratio: 3 / 2; flex-shrink: 0; overflow: hidden; background: #eee9e0; }
.category-image img { display: block; }
.compliance-status { margin-top: 18px; font-size: 12px; color: #888; line-height: 1.6; }
.office-location { max-width: 760px; }
.home-metrics > div, .about-metrics > div { border-right: 1px solid #e0e0e0; }
.home-metrics > div:last-child, .about-metrics > div:nth-child(even) { border-right: 0; }
.about-metrics > div:nth-child(-n+2) { border-bottom: 1px solid #e0e0e0; }
.about-grs-card { position: relative; overflow: hidden; }
.about-grs-logo { position: absolute; width: 200px; height: auto; max-width: 100%; left: 50%; top: 50%; transform: translate(-50%, -50%); object-fit: contain; }
#about-standards { scroll-margin-top: 160px; }
#custom-development, #development-studio { scroll-margin-top: 84px; }
#custom-development .grid > div:first-child { height: auto !important; min-height: 340px; }
.clients-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.client-card { flex: 0 1 calc((100% - 48px) / 4); min-width: 0; height: 112px; padding: 22px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; border: 1px solid #e8e8e8; }
.client-logo { display: block; width: 100%; max-width: 180px; height: 68px; overflow: hidden; object-fit: contain; }
.client-logo--s-oliver, .client-logo--lala { max-width: 155px; }
.client-logo--qs { max-width: 90px; }
.client-logo--liebeskind { max-width: 210px; }
.client-zara { display: block; width: 160px; max-width: none; height: 160px; flex-shrink: 0; object-fit: contain; }
#our-clients { scroll-margin-top: 84px; }
[hidden] { display: none !important; }
a, button, input, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #787878; outline-offset: 4px;
}
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; background: #111; color: #fff; }
.skip-link:focus { top: 8px; }
.mobile-navigation { position: fixed; inset: 64px 0 auto; max-height: calc(100dvh - 64px); overflow-y: auto; background: white; border-bottom: 1px solid #ddd; padding: 12px 24px 24px; box-shadow: 0 16px 24px #00000012; }
.mobile-navigation a { display: block; padding: 12px 0; border-bottom: 1px solid #eee; }
.mobile-navigation .nav-link { font-size: 16px; }
.mobile-navigation .nav-link.active { border-bottom: 0; font-weight: 800; }
.empty-products { min-height: 42vh; background: white; }

/* Company documents: original GRS certificate and Better Cotton account record. */
.company-documents-title { font-size: clamp(28px,3.5vw,42px); font-weight: 800; line-height: 1.15; margin: 12px 0 18px; }
.company-documents-intro { max-width: 710px; font-size: 15px; line-height: 1.8; color: #656b5d; margin-bottom: 34px; }
.company-documents-list { display: grid; gap: 28px; }
.company-document { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 34px; padding: 30px; border: 1px solid #e0e3d8; background: #fff; scroll-margin-top: 92px; }
.company-document-preview { display: flex; flex-direction: column; justify-content: center; align-items: center; align-self: start; min-width: 0; background: #f4f4ef; border: 1px solid #e5e7df; padding: 16px; text-decoration: none; }
.company-document-preview img { width: 100%; height: auto; object-fit: contain; display: block; }
.company-document-preview--pdf img { max-height: 300px; }
.company-document-preview--account { padding: 20px 12px; min-height: 210px; }
.company-document-preview > span { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; font-size: 11px; font-weight: 700; color: #4d5944; line-height: 1.6; margin-top: 16px; }
.company-document-preview:hover { border-color: #98a189; }
.company-document-copy { min-width: 0; }
.company-document-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.company-document-heading h3 { font-size: 22px; font-weight: 800; line-height: 1.35; }
.document-status { display: inline-block; background: #edf2e8; color: #506144; border: 1px solid #dbe3d3; border-radius: 2px; padding: 5px 8px; font-size: 10px; font-weight: 800; line-height: 1.4; text-transform: uppercase; letter-spacing: .05em; }
.document-status--record { background: #f3f3ee; color: #66694f; border-color: #e3e4d8; }
.company-document-company { color: #686e61; font-size: 13px; line-height: 1.7; margin-top: 12px; }
.document-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 24px; padding: 22px 0; margin: 22px 0 0; border-top: 1px solid #e8eae3; border-bottom: 1px solid #e8eae3; }
.document-facts dt { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; line-height: 1.6; color: #828a76; }
.document-facts dd { margin: 5px 0 0; font-size: 14px; font-weight: 650; line-height: 1.6; color: #303a28; overflow-wrap: anywhere; }
.document-facts-wide { grid-column: 1 / -1; }
.document-scope { font-size: 13px; color: #636b58; line-height: 1.85; margin-top: 20px; }
.document-note { font-size: 12px; color: #7a816f; line-height: 1.8; border-left: 2px solid #cbd3bf; padding-left: 14px; margin: 18px 0 4px; }
.standards-pending-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 28px; }
.standards-pending { display: flex; align-items: center; gap: 24px; padding: 22px; border: 1px solid #e5e7df; background: #fff; }
.standards-pending img { width: 80px; height: 60px; object-fit: contain; flex-shrink: 0; }
.standards-pending h3 { font-size: 15px; font-weight: 800; }
.standards-pending p { font-size: 12px; line-height: 1.7; color: #818775; margin-top: 6px; }
.about-documents-title { font-size: clamp(24px,3vw,34px); font-weight: 800; line-height: 1.2; margin: 10px 0 30px; }
.about-documents-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.about-document { display: grid; grid-template-columns: 126px minmax(0,1fr); gap: 24px; padding: 26px; border: 1px solid #e0e3d8; background: #fff; }
.about-document-logo { display: flex; align-items: center; justify-content: center; align-self: start; background: #fff; min-height: 104px; overflow: hidden; }
.about-document-logo img { width: 100%; height: auto; max-height: 104px; object-fit: contain; }
.about-document h3 { font-size: 23px; font-weight: 800; line-height: 1.2; margin: 16px 0 12px; }
.about-document p { font-size: 12px; line-height: 1.8; color: #6f7763; }
.about-document .document-reference { font-weight: 800; color: #444f38; margin-bottom: 10px; overflow-wrap: anywhere; }
.about-document .sustainability-text-link { font-size: 11px; }
.about-document-note { max-width: 950px; color: #7a806f; font-size: 12px; line-height: 1.8; margin-top: 24px; }
.about-pending-standards { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 20px; font-size: 11px; line-height: 1.7; color: #7a806f; }
.about-pending-standards span:not(:first-child) { font-weight: 700; }
.footer-document-link { color: #c8cdbe; text-decoration: underline; text-underline-offset: 4px; }
.home-standard-link, .footer-standard-link { display: inline-flex; align-items: center; }
@media (max-width: 1000px) {
 .company-document { grid-template-columns: 190px minmax(0,1fr); gap: 24px; padding: 24px; }
 .about-document { grid-template-columns: 1fr; gap: 12px; }
 .about-document-logo { justify-content: flex-start; }
 .about-document-logo img { width: 126px; }
}
@media (max-width: 639px) {
 .company-document { grid-template-columns: minmax(0,1fr); gap: 26px; padding: 20px; }
 .company-document-preview--pdf { width: 100%; }
 .company-document-preview--pdf img { max-height: 260px; }
 .company-document-preview--account { min-height: 0; }
 .company-document-heading h3 { font-size: 22px; }
 .document-facts { gap: 16px; }
 .document-facts dd { font-size: 12px; }
 .standards-pending-grid, .about-documents-grid { grid-template-columns: minmax(0,1fr); }
 .standards-pending { gap: 20px; }
 .about-document { padding: 24px; }
}

/* Product collection: static cards, category filters and an accessible image preview. */
.catalogue-intro { max-width: 660px; margin-top: 18px; color: #ffffffba; font-size: 16px; line-height: 1.8; }
.catalogue-hero-note { margin-top: 22px; color: #a8aea1; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.catalogue { padding: 0 0 70px; scroll-margin-top: 88px; }
.catalogue-controls { padding: 30px 0 24px; border-bottom: 1px solid #e8e8e1; }
.catalogue-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.catalogue-filter { min-height: 44px; padding: 11px 17px; background: #fff; color: #41463d; border: 1px solid #dcdfd5; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.catalogue-filter span { margin-left: 8px; font-size: 10px; opacity: .6; }
.catalogue-filter:hover { border-color: #8c9580; background: #f3f4ee; }
.catalogue-filter.is-active { color: #fff; background: #20251f; border-color: #20251f; }
.catalogue-summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 28px; margin-top: 21px; color: #7a8071; font-size: 12px; line-height: 1.7; }
#catalogue-count { color: #48503f; font-weight: 700; }
.catalogue-group { padding-top: 42px; scroll-margin-top: 90px; }
.catalogue-group-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 22px; }
.catalogue-group-heading h2 { font-size: clamp(24px,3vw,34px); font-weight: 800; line-height: 1.15; letter-spacing: -.03em; }
.catalogue-group-heading p { margin-top: 10px; color: #777c70; font-size: 13px; line-height: 1.65; }
.catalogue-group-heading > span { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #8a9280; flex-shrink: 0; }
.catalogue-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.catalogue-card { min-width: 0; border: 1px solid #e5e5dd; background: #fff; }
.catalogue-image-button { display: block; position: relative; width: 100%; border: 0; padding: 0; cursor: pointer; background: #eee9e0; overflow: hidden; aspect-ratio: 3 / 2; }
.catalogue-image-button img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.catalogue-image-button:hover img { transform: scale(1.03); }
.catalogue-zoom { position: absolute; bottom: 12px; right: 12px; display: grid; place-items: center; width: 30px; height: 30px; background: #ffffffe0; color: #303729; font-size: 18px; border: 1px solid #ffffff80; }
.catalogue-card-copy { padding: 22px; }
.catalogue-card h3 { font-size: 17px; font-weight: 750; line-height: 1.4; }
.catalogue-description { margin: 10px 0 18px; min-height: 44px; font-size: 13px; line-height: 1.75; color: #777c72; }
.catalogue-view { display: inline-flex; gap: 20px; align-items: center; min-height: 36px; padding: 0; border: 0; background: transparent; color: #252d21; font: inherit; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.catalogue-view:hover { color: #758360; }
.catalogue-contact { padding: 46px 0; background: #f0f1e9; border-top: 1px solid #dfe2d5; }
.catalogue-contact .container { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.catalogue-contact h2 { font-size: clamp(24px,3vw,34px); font-weight: 800; line-height: 1.2; margin-top: 12px; }
.catalogue-contact p { color: #747b68; font-size: 14px; line-height: 1.75; margin-top: 12px; }
.catalogue-contact .btn-primary { flex-shrink: 0; }
.product-preview-open { overflow: hidden; }
.catalogue-preview { width: min(1040px,calc(100vw - 64px)); max-width: none; max-height: calc(100dvh - 64px); padding: 0; border: 0; margin: auto; color: #111; background: #fff; overflow: auto; box-shadow: 0 20px 80px #0004; }
.catalogue-preview::backdrop { background: #151912ba; }
.catalogue-preview-close { display: flex; gap: 14px; align-items: center; margin-left: auto; min-height: 52px; padding: 12px 20px; background: #fff; color: #333a2d; border: 0; font: inherit; font-size: 12px; cursor: pointer; }
.catalogue-preview-close span { font-size: 22px; line-height: 1; }
.catalogue-preview-layout { display: grid; grid-template-columns: 1.25fr 1fr; align-items: stretch; }
.catalogue-preview-image { display: flex; align-items: center; background: #eee9e0; }
.catalogue-preview-image img { display: block; width: 100%; height: auto; object-fit: contain; }
.catalogue-preview-copy { padding: 36px; }
.catalogue-preview-copy h2 { font-size: clamp(24px,3vw,34px); font-weight: 800; line-height: 1.15; margin: 17px 0; }
.catalogue-preview-copy > p { color: #626a58; font-size: 15px; line-height: 1.8; }
.catalogue-preview-note { color: #8b907f; font-size: 12px; line-height: 1.8; padding-top: 22px; margin: 24px 0; border-top: 1px solid #e7e9df; }
@media (max-width: 900px) {
 .catalogue-grid { gap: 18px; }
 .catalogue-card-copy { padding: 18px; }
 .catalogue-preview-layout { grid-template-columns: 1fr; }
 .catalogue-preview-image img { max-height: 42vh; }
}
@media (max-width: 639px) {
 .catalogue { padding-bottom: 48px; }
 .catalogue-grid { grid-template-columns: 1fr; gap: 22px; }
 .catalogue-filter { padding: 11px 13px; }
 .catalogue-filter span { margin-left: 5px; }
 .catalogue-controls { padding-top: 24px; }
 .catalogue-summary { gap: 8px; }
 .catalogue-group { padding-top: 32px; }
 .catalogue-group-heading { align-items: flex-start; }
 .catalogue-group-heading > span { padding-top: 5px; }
 .catalogue-description { min-height: 0; }
 .catalogue-view { min-height: 44px; }
 .catalogue-contact .container { flex-direction: column; align-items: flex-start; gap: 22px; }
 .catalogue-preview { width: calc(100vw - 28px); max-height: calc(100dvh - 28px); }
 .catalogue-preview-copy { padding: 24px; }
 .catalogue-preview-copy h2 { font-size: 26px; }
 .catalogue-preview-copy .btn-primary { width: 100%; }
}
.preview-note { margin: 0 0 24px; padding: 10px 14px; border-left: 2px solid #111; background: #f5f5f5; color: #666; font-size: 14px; line-height: 1.6; }
#form-status { margin-top: 20px; border: 1px solid #ddd; padding: 16px; font-size: 15px; color: #333; line-height: 1.6; }
#message-form { scroll-margin-top: 90px; }
.showroom-poster { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; padding: 24px; background-size: cover; background-position: center; isolation: isolate; }
.showroom-poster::before { content: ''; position: absolute; inset: 0; background: #0008; z-index: -1; }
.showroom-poster p { color: #fff; font-size: 14px; }
.showroom-poster .btn-primary { background: #fff; color: #111; border-color: #fff; }
.showroom-viewer iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.showroom-loading { background: #111; color: #fff; position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; text-align: center; }
/* Sustainability: original editorial sections and material illustrations. */
.sustainability-hero { padding-top: 68px; background: #f3f1eb; }
.sustainability-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.sustainability-hero-copy { padding: 70px 28px 70px 0; }
.sustainability-hero h1 { font-size: clamp(2.8rem, 4.4vw, 4.2rem); font-weight: 850; line-height: 1.06; letter-spacing: -.04em; margin: 24px 0; }
.sustainability-hero h1 span { color: #69715f; }
.sustainability-hero-copy > p { max-width: 380px; font-size: 17px; line-height: 1.75; color: #56594f; margin-bottom: 28px; }
.sustainability-hero-note { color: #66695f; font-size: 12px; margin-top: 26px; }
.sustainability-hero-art { margin: 0; position: relative; }
.sustainability-hero-art > img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.sustainability-hero-art figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 40px 24px 20px; display: flex; justify-content: space-between; gap: 20px; color: #fff; background: linear-gradient(transparent, #0009); text-transform: uppercase; letter-spacing: .12em; font-size: 9px; font-weight: 700; }
.sustainability-sections { border-top: 1px solid #dddcd5; border-bottom: 1px solid #dddcd5; background: #fff; }
.sustainability-sections .container { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.compliance-standards { scroll-margin-top: 92px; }
.sustainability-sections a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px 22px; border-right: 1px solid #e5e4dd; font-size: 12px; font-weight: 700; }
.sustainability-sections a:first-child { padding-left: 0; }
.sustainability-sections a:last-child { border-right: 0; padding-right: 0; }
.sustainability-sections a:hover, .sustainability-text-link:hover { color: #626c57; }
.sustainability-section { padding: 80px 0; scroll-margin-top: 92px; }
.sustainability-section h2, .sustainability-feature h2, .sustainability-inset h2, .sustainability-contact h2 { font-size: clamp(1.8rem, 3.2vw, 2.65rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.15; margin: 14px 0 0; }
.sustainability-split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.sustainability-lead { max-width: 480px; font-size: 16px; line-height: 1.85; color: #606258; margin-top: 24px; }
.sustainability-principles { list-style: none; padding: 0; margin: 0; }
.sustainability-principles li { display: flex; gap: 22px; padding: 24px 0; border-bottom: 1px solid #e0e1d9; }
.sustainability-principles li:first-child { padding-top: 0; }
.sustainability-principles li > span { font-size: 12px; font-weight: 700; color: #7f8776; padding-top: 4px; }
.sustainability-principles h3, .material-copy h3 { font-size: 18px; font-weight: 800; line-height: 1.35; }
.sustainability-principles p, .material-copy p { font-size: 14px; line-height: 1.75; color: #62665b; margin-top: 8px; }
.sustainability-materials { background: #f4f4ef; }
.sustainability-section-heading { display: grid; grid-template-columns: 1.25fr 1fr; align-items: end; gap: 60px; margin-bottom: 36px; }
.sustainability-section-heading > p { font-size: 15px; line-height: 1.75; color: #62665b; max-width: 370px; }
.material-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.material-card { display: grid; grid-template-columns: 110px 1fr; min-width: 0; background: #fff; border: 1px solid #e2e3da; }
.material-copy { padding: 25px; }
.material-swatch { position: relative; min-height: 172px; background-size: cover; background-repeat: no-repeat; }
.material-swatch > span { position: absolute; left: 12px; top: 12px; padding: 4px 6px; font-size: 10px; letter-spacing: .08em; color: #fff; background: #20251fa6; z-index: 1; }
.material-swatch--recycled { background-image: url("optimized/oudi-material-sampling-photo-bb244f344d-480.webp"); background-position: 63% center; }
.material-swatch--natural { background-image: url("optimized/oudi-material-sampling-photo-bb244f344d-480.webp"); background-position: 13% center; }
.material-swatch--paper { background-image: url("optimized/oudi-design-studies-photo-902fda46e0-480.webp"); background-position: 64% bottom; }
.material-swatch--trims { background-image: url("optimized/oudi-quality-finishing-photo-62a9c7cbae-480.webp"); background-position: 62% center; }
.material-availability { color: #64685d; font-size: 12px; line-height: 1.75; margin-top: 22px; }
.sustainability-circular { color: #fff; background: #20251f; }
.sustainability-circular h2, .sustainability-circular h3 { color: #fff; }
.sustainability-circular .section-label { color: #b6bea9; }
.sustainability-circular .sustainability-section-heading > p { color: #c0c7b7; }
.circular-steps { list-style: none; padding: 0; margin: 46px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.circular-steps li { border-top: 1px solid #606a54; padding-top: 18px; }
.circular-step-number { display: flex; justify-content: space-between; color: #b6c2a3; font-size: 12px; }
.circular-step-number > span { font-size: 20px; line-height: 1; }
.circular-steps h3 { margin: 25px 0 12px; font-size: 20px; font-weight: 750; }
.circular-steps p { color: #c0c7b7; font-size: 14px; line-height: 1.8; }
.sustainability-people .sustainability-lead { margin-top: 0; }
.sustainability-text-link { display: inline-flex; align-items: center; gap: 20px; border-bottom: 1px solid #a4aa99; padding: 6px 0; margin-top: 20px; font-size: 12px; font-weight: 800; letter-spacing: .025em; }
.sustainability-contact { padding: 40px 0; background: #eeeee6; border-top: 1px solid #d9ddd0; }
.sustainability-contact .container { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.sustainability-contact h2 { font-size: clamp(1.5rem, 2.7vw, 2rem); margin-top: 10px; }
.sustainability-contact .btn-primary { flex-shrink: 0; }
.sustainability-feature { padding: 64px 0; background: #f0f0e9; scroll-margin-top: 90px; }
.sustainability-feature .container { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 60px; }
.sustainability-feature p, .sustainability-inset p { color: #606658; font-size: 15px; line-height: 1.8; margin: 20px 0 0; max-width: 460px; }
.sustainability-feature img { display: block; width: 100%; height: 310px; object-fit: cover; }
.sustainability-feature .btn-primary { margin-top: 25px; }
.sustainability-inset { background: #f0f0e9; padding: 48px 0; }
.sustainability-inset .container { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.sustainability-inset h2 { font-size: clamp(1.6rem, 2.8vw, 2.1rem); }
.sustainability-inset .sustainability-text-link { flex-shrink: 0; }
.sustainability-entry-links { display: flex; flex-wrap: wrap; gap: 10px 30px; margin-top: 14px; }
@media (max-width: 1023px) {
 .sustainability-hero-copy { padding: 52px 22px 52px 0; }
 .sustainability-hero h1 { font-size: clamp(2rem, 4.3vw, 2.8rem); }
 .sustainability-split { gap: 40px; }
 .sustainability-section-heading { gap: 30px; }
 .material-card { grid-template-columns: 85px 1fr; }
 .material-copy { padding: 20px; }
}
@media (max-width: 767px) {
 .sustainability-hero { padding-top: 64px; }
 .sustainability-hero-grid { grid-template-columns: 1fr; }
 .sustainability-hero-copy { padding: 48px 0 36px; }
 .sustainability-hero h1 { font-size: clamp(2.35rem, 9.7vw, 3.3rem); margin: 20px 0; }
 .sustainability-hero-copy > p { font-size: 16px; }
 .sustainability-hero-art { margin: 0 -16px; }
 .sustainability-hero-art > img { max-height: 430px; object-fit: cover; }
 .sustainability-hero-art figcaption { font-size: 8px; padding-left: 20px; padding-right: 20px; }
 .sustainability-sections .container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .sustainability-sections a { padding: 18px 12px; font-size: 11px; }
 .sustainability-sections a:nth-child(2) { border-right: 0; padding-right: 0; }
 .sustainability-sections a:nth-child(3) { padding-left: 0; border-top: 1px solid #e5e4dd; }
 .sustainability-sections a:nth-child(4) { border-top: 1px solid #e5e4dd; }
 .sustainability-sections a:last-child { grid-column: 1 / -1; border-top: 1px solid #e5e4dd; border-right: 0; padding-left: 0; }
 .sustainability-section { padding: 52px 0; scroll-margin-top: 86px; }
 .sustainability-split, .sustainability-section-heading, .material-grid { grid-template-columns: 1fr; gap: 28px; }
 .sustainability-section-heading { margin-bottom: 26px; }
 .sustainability-principles li:first-child { padding-top: 6px; }
 .material-grid { gap: 14px; }
 .material-card { grid-template-columns: 84px 1fr; }
 .material-copy { padding: 20px; }
 .material-swatch { min-height: 160px; }
 .circular-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; margin-top: 32px; }
 .circular-steps h3 { font-size: 18px; }
 .circular-steps p { font-size: 13px; }
 .sustainability-contact .container, .sustainability-inset .container { flex-direction: column; align-items: flex-start; gap: 22px; }
 .sustainability-feature { padding: 48px 0; }
 .sustainability-feature .container { grid-template-columns: 1fr; gap: 32px; }
 .sustainability-feature img { height: auto; max-height: 340px; }
 .sustainability-inset .sustainability-text-link { margin-top: 0; }
}
@media (min-width: 768px) { .mobile-navigation { top: 68px; } }
@media (min-width: 1024px) { .mobile-navigation { display: none !important; } }
@media (max-width: 767px) {
  .client-card { flex-basis: calc((100% - 16px) / 2); height: 104px; padding: 16px; }
  #custom-development .grid > div:first-child { min-height: 0; aspect-ratio: 3 / 2; }
  .home-metrics > div:nth-child(even) { border-right: 0; }
  .home-metrics > div:nth-child(-n+2) { border-bottom: 1px solid #e0e0e0; }
  .brand-logo { width: 140px; height: 45px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .category-grid .product-card > .p-4 { padding: 16px; }
  .home-hero { padding: 26px 0 40px; }
  .home-hero h1 { font-size: clamp(2.55rem, 10.8vw, 4.4rem) !important; }
  .home-hero .container > div { max-width: 100%; }
  .home-hero p { font-size: 16px !important; }
  .home-hero .absolute.bottom-8 { display: none; }
  .home-hero .container > div > div:has(img) { gap: 16px !important; }
  .home-hero img { max-width: 72px !important; max-height: 56px; }
  .btn-primary, .btn-outline-white { min-height: 44px; }
  .showroom-poster button { font-size: 12px; padding: 14px; }
}
@media (max-width: 359px) { .brand-logo { width: 119px; height: 40px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Searchable category guides and buyer information use the existing visual language. */
.seo-hero { padding: 120px 0 44px; background: #111; color: #fff; }
.seo-hero .section-label { color: #a6ad9c; }
.seo-hero h1 { color: #fff; max-width: 960px; margin-top: 14px; font-size: clamp(2rem,4.5vw,3.5rem); font-weight: 900; line-height: 1.12; }
.seo-hero p { max-width: 790px; margin-top: 22px; font-size: 16px; line-height: 1.8; color: #d0d2cc; }
.breadcrumbs { background: #f5f5f1; color: #5b6254; font-size: 12px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 15px; padding-bottom: 15px; list-style: none; }
.breadcrumbs li + li::before { content: '/'; margin-right: 9px; color: #919787; }
.breadcrumbs a:hover, .buyer-guide a:hover, .buyer-faq a:hover { text-decoration: underline; }
.category-guide-link { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.category-navigation { display: flex; flex-wrap: wrap; gap: 10px; padding: 28px 0 8px; }
.category-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border: 1px solid #dadfd2; font-size: 12px; font-weight: 700; }
.category-navigation a[aria-current] { background: #20251f; color: #fff; border-color: #20251f; }
.catalogue-card[id], .buyer-faq-item[id] { scroll-margin-top: 90px; }
.buyer-guide { padding: 56px 0; background: #f6f6f1; }
.buyer-guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.buyer-guide h2, .buyer-faq h2 { font-size: clamp(23px,3vw,32px); line-height: 1.25; font-weight: 800; margin: 12px 0 22px; }
.buyer-guide p, .buyer-guide li, .buyer-faq p { color: #5d6555; font-size: 15px; line-height: 1.85; }
.buyer-guide ul { padding-left: 20px; list-style: disc; }
.buyer-guide li { margin: 8px 0; }
.buyer-guide p { margin-bottom: 18px; }
.buyer-guide a, .buyer-faq a { display: inline-block; font-size: 13px; line-height: 1.65; padding: 8px 0; font-weight: 700; }
.buyer-faq { padding: 42px 0 76px; }
.buyer-faq .container { max-width: 920px; }
.buyer-faq-item { padding: 23px 0; border-bottom: 1px solid #dce0d4; }
.buyer-faq-item summary { font-size: 18px; font-weight: 750; cursor: pointer; line-height: 1.5; }
.buyer-faq-item summary:focus-visible { outline: 2px solid #787878; outline-offset: 5px; }
.buyer-faq-item > div { margin-top: 15px; }
@media (max-width: 767px) {
 .seo-hero { padding: 105px 0 34px; }
 .buyer-guide-grid { grid-template-columns: 1fr; gap: 28px; }
 .buyer-guide { padding: 34px 0; }
 .buyer-faq-item summary { font-size: 17px; }
 .category-guide-link { max-width: 250px; line-height: 1.7; }
}

/* Enquiry validation, feedback and bot trap. */
#message-form { position: relative; }
.enquiry-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.enquiry-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 1.2rem; min-height: 44px; font-size: 0.9rem; line-height: 1.7; cursor: pointer; }
.enquiry-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: 3px 0 0; accent-color: #111; }
#message-form .enquiry-help { margin: 10px 0 16px; color: #555; font-size: 0.8rem; line-height: 1.6; }
#message-form .enquiry-help a { text-decoration: underline; text-underline-offset: 3px; }
#message-count { display: inline-block; margin-left: 8px; white-space: nowrap; }
#message-form .enquiry-field-error { color: #9c2525; font-size: 0.82rem; line-height: 1.5; margin-top: 7px; }
#message-form [aria-invalid="true"] { border-color: #a32929 !important; }
#message-form input:focus-visible, #message-form textarea:focus-visible { outline: 2px solid #111 !important; outline-offset: 3px; }
#message-form input, #message-form textarea { scroll-margin-top: 100px; }
#message-form button:disabled { opacity: 0.65; cursor: wait; }
#message-form fieldset:disabled { opacity: 0.75; }
#form-status { margin-top: 1rem; line-height: 1.6; overflow-wrap: anywhere; scroll-margin-top: 100px; }
#form-status[data-state="error"] { border-color: #d2a3a3; background: #fff6f5; color: #762020; }
#form-status[data-state="success"] { border-color: #a9bea4; background: #f4f8f1; color: #294b24; }
#form-status:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
@media (max-width: 640px) {
 #message-form { padding: 24px 20px; }
 #message-form input:not([type="checkbox"]), #message-form textarea { font-size: 16px !important; min-height: 46px; }
 #message-form textarea { min-height: 150px; }
 #message-form button[type="submit"] { min-height: 48px; }
}

/* 2027 collection edit: concise seasonal context without changing the catalogue grid. */
.catalogue-edition { display: flex; flex-wrap: wrap; gap: 7px 12px; align-items: center; margin: 0 0 12px; color: #4b5941; font-size: 10px; font-weight: 800; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.catalogue-edition span { color: #666e5f; border-left: 1px solid #c9cebf; padding-left: 12px; font-weight: 650; }
.catalogue-edition--core { color: #74776f; }
.catalogue-direction { margin: -5px 0 16px; font-size: 11px; color: #5d6852; line-height: 1.5; }
.collection-directions { margin: 0 0 25px; padding: 18px 22px; border: 1px solid #e0e4d7; background: #f5f6f0; scroll-margin-top: 92px; }
.collection-directions summary { font-size: 13px; font-weight: 800; cursor: pointer; line-height: 1.6; }
.collection-directions summary:focus-visible { outline: 2px solid #787878; outline-offset: 5px; }
.collection-direction-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-top: 24px; }
.collection-direction-grid h2 { font-size: 16px; font-weight: 800; line-height: 1.4; }
.collection-direction-grid p { margin-top: 8px; font-size: 12px; color: #5c6553; line-height: 1.8; }
.collection-source-note { margin-top: 22px; padding-top: 17px; border-top: 1px solid #dfe4d5; font-size: 11px; color: #66705c; line-height: 1.8; }
.collection-source-note a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { .collection-direction-grid { grid-template-columns: 1fr 1fr; gap: 18px; } .collection-directions { padding: 15px 17px; } }
@media (max-width: 420px) { .collection-direction-grid { grid-template-columns: 1fr; } }
