/* The shared public editorial system. Replaces business-pages-v85,
   responsive-v86, atelier-home and credibility-v95, including their breakpoints. */
body:is(.home,.site-page) { --paper: #faf8f4; --ink: #272520; --muted: #59564f; --section-space: clamp(44px,6vw,80px); background: var(--paper); color: var(--ink); }
/* A single public type scale: editorial headings, readable copy and compact UI.
   The existing local font is reused; no new font request or admin restyling. */
body:is(.home,.site-page) { --font-editorial: Georgia,"Times New Roman",serif; --type-title: clamp(34px,4vw,54px); --type-section: clamp(28px,2.8vw,40px); --type-subsection: 24px; --type-label: 18px; --type-body: 16px; --type-ui: 13px; --type-caption: 14px; font-size: var(--type-body); }
body:is(.home,.site-page) #main :is(h1,h2) { font-family: var(--font-editorial); font-weight: 400; letter-spacing: -.025em; text-wrap: pretty; }
body:is(.home,.site-page) #main h1 { font-size: var(--type-title); line-height: 1.12; }
body:is(.home,.site-page) #main h2 { font-size: var(--type-section); line-height: 1.2; }
body:is(.home,.site-page) #main :is(h3,h4) { font: 500 var(--type-label)/1.4 var(--font-sans); letter-spacing: 0; }
body:is(.home,.site-page) #main p { font-size: var(--type-body); line-height: 1.75; }
body:is(.home,.site-page) #main :is(p,li,dd,address) { overflow-wrap: break-word; }
body:is(.home,.site-page) #main .eyebrow { display: none; }
body:is(.home,.site-page) #main .reveal { opacity: 1; transform: none; transition: none; }
body:is(.home,.site-page) :is(.btn-primary,.btn-outline-light,.bridge-pdp-primary,.bridge-pdp-secondary,.text-link,.ul-link,.cta-link,.ref-text-link) { min-height: 44px; max-width: 100%; font: 500 var(--type-ui)/1.5 var(--font-sans); letter-spacing: .045em; text-transform: uppercase; text-decoration: none; }
body:is(.home,.site-page) #main :is(.btn-primary,.btn-outline-light,.bridge-pdp-primary,.bridge-pdp-secondary) { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; height: auto; padding: 15px 24px; font: 500 var(--type-ui)/1.5 var(--font-sans); letter-spacing: .045em; text-transform: uppercase; white-space: normal; text-align: center; border-radius: 0; }
body:is(.home,.site-page) #main .bridge-pdp-primary { background: var(--ink); color: #fff; border: 1px solid var(--ink); }
body:is(.home,.site-page) #main .bridge-pdp-primary:hover { background: #50453b; border-color: #50453b; }
body:is(.home,.site-page) :is(.text-link,.ul-link,.cta-link,.ref-text-link,.nav-mega-all) { display: inline-flex; align-items: center; gap: 12px; padding-block: 10px; border-bottom: 0; background-image: none; text-decoration: none; }
/* Remove decorations at the link owner: a child cannot cancel an ancestor's underline. */
body:is(.home,.site-page) :is(.text-link,.ul-link,.cta-link,.ref-text-link,.nav-mega-all)::after { content: none; }
body:is(.home,.site-page) :is(.text-link,.ul-link,.cta-link,.ref-text-link,.nav-mega-all):is(:hover,:focus-visible,:active),
body:is(.home,.site-page) .category-edit > span { text-decoration: none; }
body:is(.home,.site-page) #main .text-link > span { margin-left: 0; }
body:is(.home,.site-page) :is(.text-link,.ul-link,.cta-link,.category-edit,.nav-mega-all) :is(.arrow,[aria-hidden="true"]) { display: inline-block; flex: 0 0 auto; font: 400 20px/1 var(--font-sans); letter-spacing: 0; text-decoration: none; border: 0; transition: transform .18s ease; }
body:is(.home,.site-page) :is(.text-link,.ul-link,.cta-link,.category-edit,.nav-mega-all):hover :is(.arrow,[aria-hidden="true"]) { transform: translateX(3px); }
body:is(.home,.site-page) #main :is(input,select,textarea) { font-family: var(--font-sans); font-size: var(--type-body); }
body:is(.home,.site-page) #main .form-field label { font: 500 var(--type-ui)/1.5 var(--font-sans); letter-spacing: .045em; }
body:is(.home,.site-page) #main .form-optional { font-size: var(--type-ui); }
body.site-page #main #brief-form .attachment-choose { min-height: 48px; border-radius: 0; font: 500 var(--type-ui)/1.5 var(--font-sans); letter-spacing: .045em; text-transform: uppercase; }
body.site-page #main #brief-form :is(.attachment-hint,.attachment-filename,.attachment-size,.brief-optional-details summary small) { font: 400 var(--type-caption)/1.5 var(--font-sans); }
body:is(.home,.site-page) #main :is(.filter-pill,.model-selection-open,.collection-reset,.model-save) { font: 500 var(--type-ui)/1.5 var(--font-sans); letter-spacing: .015em; }
body:is(.home,.site-page) #main :is(.bridge-collection-copy strong,.category-edit > span) { font: 500 var(--type-body)/1.5 var(--font-sans); letter-spacing: 0; }
body:is(.home,.site-page) #main :is(.bridge-collection-copy small,.bridge-collection-copy b,figcaption) { font: 400 var(--type-caption)/1.5 var(--font-sans); letter-spacing: 0; }
body:is(.home,.site-page) #main :is(.pdp-personalisation-intro,.bridge-related,.jrn-card) h2 { font-size: var(--type-subsection); }
body:is(.home,.site-page) :is(.whatsapp-contact,.whatsapp-choices-head h2) { font: 500 var(--type-caption)/1.4 var(--font-sans); }
body:is(.home,.site-page) .whatsapp-choices a { font: 400 var(--type-body)/1.5 var(--font-sans); }
body:is(.home,.site-page) :focus-visible { outline: 2px solid #8b7250; outline-offset: 4px; }
.b85-wrap { width: min(1440px,100%); margin-inline: auto; padding-inline: clamp(20px,4.6vw,72px); }
.b85-section { padding-block: var(--section-space); background: var(--paper); color: var(--ink); }
.b85-section p { color: var(--muted); max-width: 64ch; }
.b85-section :is(h1,h2,h3) + p, .b85-section p + p { margin-top: 22px; }
.b85-section figure { margin: 0; min-width: 0; }
.b85-section img { display: block; width: 100%; height: auto; }
.b85-section .text-link { margin-top: 20px; }
.editorial-actions { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; margin-top: 28px; }
.editorial-actions .text-link { margin-top: 0; }
.b85-section-head { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px,5vw,64px); align-items: start; }
.b85-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(28px,5vw,72px); align-items: center; }
.b85-section-head > p { margin: 0; }
.b85-section-head > div > p:first-child { margin-top: 0; }
.b85-section-head > h2 { max-width: 22ch; }
.b85-paper { background: #eae5de; }
.b85-dark { background: #171914; color: #f5f1e8; }
.b85-dark p { color: #ddd7cc; }
.b85-dark .text-link { color: inherit; }
body #main .b85-dark .btn-primary { color: #f5f1e8; border-color: #b8a688; background: transparent; }
body #main .b85-dark .btn-primary:hover { background: #f5f1e8; color: #171914; }
.b85-close-inner { text-align: center; max-width: 900px; }
.b85-close-inner :is(h2,p) { margin-inline: auto; }
.b85-close-inner > .btn-primary { margin-top: 28px; }
.b85-factory { height: 490px; }
.b85-factory img { height: 100%; object-fit: cover; object-position: center 45%; }
.b85-product-hero img { aspect-ratio: 4/5; max-height: 600px; object-fit: cover; }
.b85-detail-photo img { aspect-ratio: 4/3; object-fit: cover; }
.b85-material-photo img { aspect-ratio: 4/3; object-fit: cover; }
.b85-service-hero { padding-top: 48px; }
.b85-service-hero .btn-primary { margin-top: 28px; }
.b85-service-hero .editorial-actions .btn-primary { margin-top: 0; }
.b85-pl-hero > .b85-split { grid-template-columns: .85fr 1.15fr; gap: clamp(28px,4vw,56px); }
.editorial-model-hero img { aspect-ratio: 3/2; object-fit: contain; background: #ddd9d2; }
.editorial-panorama { overflow: hidden; }
.editorial-panorama img { aspect-ratio: 2.7/1; object-fit: cover; object-position: center 48%; }
.editorial-feature-caption { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(24px,6vw,80px); padding-top: 34px; }
.editorial-feature-caption p { margin: 0; }
.editorial-feature-caption h2 { max-width: 24ch; }
.editorial-customisation { grid-template-columns: .9fr 1.1fr; }
.editorial-customisation img { aspect-ratio: 4/5; max-height: 620px; object-fit: cover; }
.editorial-customisation .customisation-list { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; }
.editorial-proof-grid { display: grid; gap: var(--section-space); }
.editorial-proof-grid article { min-width: 0; display: grid; grid-template-columns: 1.35fr .85fr; gap: clamp(28px,5vw,72px); align-items: center; }
.editorial-proof-grid img { aspect-ratio: 3/2; object-fit: cover; }
.editorial-proof-grid h2 { margin-top: 0; max-width: 25ch; }
.editorial-proof-grid .b85-continuity { grid-template-columns: 1.2fr 1fr; }
.editorial-proof-grid .b85-continuity figure { grid-column: 2; grid-row: 1; }
.editorial-proof-grid .b85-continuity > div { grid-column: 1; grid-row: 1; max-width: 56ch; }
.editorial-proof-grid .b85-continuity img { aspect-ratio: 4/5; max-height: 580px; }
.editorial-proof-grid #quality { scroll-margin-top: 110px; }
.manufacturing-experience { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: 48px; margin-top: 48px; }
.manufacturing-experience p { margin: 0; }
.customisation-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 32px; list-style: none; padding: 0; margin: 32px 0 0; }
.customisation-list li { padding: 14px 0; font-size: var(--type-body); }
.production-conditions { margin-top: 24px; }
.service-secondary { margin-top: 34px; padding-top: 24px; border-top: 1px solid #5b5e52; }
.service-secondary .text-link { margin-top: 8px; }
.service-visit { display: inline-block; margin-left: 24px; }
.editorial-aside { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; margin-top: 42px; padding-top: 26px; border-top: 1px solid #d9d3ca; }
.editorial-aside h3 { font-size: 18px; font-weight: 500; }
.editorial-aside p { margin: 0; }
.editorial-aside .text-link { margin-top: 8px; }
/* One integrated hero on every screen. Text contrast does not depend on the image. */
body.home .collection-home-hero { position: relative; display: flex; align-items: center; min-height: 640px; isolation: isolate; overflow: hidden; background: #080907; }
body.home .collection-home-hero figure { position: absolute; inset: 0 0 0 auto; width: 78%; height: 100%; margin: 0; z-index: -2; }
body.home .collection-home-hero figure img { height: 100%; width: 100%; object-fit: cover; object-position: center 48%; }
body.home .collection-home-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg,#080907 0%,#080907ed 25%,#080907b8 47%,#08090720 82%); }
body.home .collection-home-copy { width: min(67%,850px); padding: 64px clamp(20px,4.6vw,72px); color: #faf8f4; }
body.home #main .collection-home-copy h1 { color: inherit; font-size: clamp(34px,3.7vw,54px); max-width: 20ch; }
body.home .collection-home-copy p { color: #f2ede5; max-width: 53ch; margin-top: 25px; }
body.home #main .collection-home-copy .btn-primary { background: #faf8f4; border-color: #faf8f4; color: #242520; }
body.home #main .collection-home-copy .text-link { color: #faf8f4; }
body.home .collection-categories { padding-block: var(--section-space); }
body.home .collection-categories .b85-section-head { margin-bottom: 34px; }
/* Catalogue-led opening, then one wide editorial story rather than more cards. */
body.home .collection-categories .b85-section-head { display: block; text-align: center; max-width: 780px; margin-inline: auto; }
body.home .collection-categories .b85-section-head h2 { max-width: none; }
body.home .collection-categories .b85-section-head p { margin: 20px auto 0; }
body.home .home-production { padding-top: 0; }
body.home .home-production > .b85-wrap { width: 100%; max-width: none; padding-inline: 0; }
body.home .home-production .editorial-feature-caption { display: block; max-width: 780px; padding: 38px 24px 0; margin-inline: auto; text-align: center; }
body.home .home-production .editorial-feature-caption h2 { max-width: none; }
body.home .home-production .editorial-feature-caption p { margin: 20px auto 0; }
body.home .category-edits { gap: 24px; }
body.home .category-edit > span { min-height: 48px; align-items: center; padding-top: 12px; font-size: 16px; }
body.home .category-other { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 18px; }
body.home .category-other a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; }
body.home .collection-visit { display: block; padding-block: var(--section-space); }
body.home .visit-city img { aspect-ratio: 3/2; object-fit: cover; }
.v95-facts { background: #faf8f4; border-bottom: 1px solid #ded8ce; }
.v95-facts-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 38px 0 20px; margin: 0; }
.v95-fact { min-width: 0; text-align: center; padding: 8px 16px; }
.v95-fact + .v95-fact { border-left: 1px solid #d7cfc2; }
.v95-fact dt { display: flex; align-items: center; justify-content: center; min-height: 44px; font: 400 36px/1.2 Georgia,serif; }
.v95-fact-leather dt,.v95-fact-markets dt { font: 400 clamp(17px,1.6vw,23px)/1.3 var(--font-sans); }
.v95-fact dd { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: #59564f; }
.journey-steps { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; margin: 36px 0 0; padding: 0; list-style: none; }
.journey-steps li { min-width: 0; padding-top: 0; }
.journey-number { display: block; font-size: 14px; color: #71634f; margin-bottom: 20px; }
.journey-steps h3 { font: 500 17px/1.4 var(--font-sans); }
.journey-steps p { margin-top: 14px; }
/* Company and reference pages share the same reading scale. */
.info-v85 .info-opening { padding-block: var(--section-space); }
.info-v85 .editorial-story-opening { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: clamp(28px,5vw,72px); padding-bottom: 0; }
.editorial-story-opening > div { max-width: 58ch; text-align: left; margin: 0; }
.info-v85 .editorial-story-opening h1 { margin-inline: auto; max-width: none; }
.info-v85 .editorial-story-opening p { margin-inline: auto; }
.info-v85 .editorial-story-opening figure img { aspect-ratio: 4/5; object-fit: cover; object-position: center 56%; }
.info-v85 .showroom-opening { grid-template-columns: .8fr 1.2fr; gap: clamp(28px,4vw,56px); }
.info-v85 .showroom-product img { aspect-ratio: 3/2; object-fit: contain; }
.about-editorial .v95-story { border-top: 0; }
.info-v85 .v95-story-label { margin: 0 0 18px; font-size: 13px; letter-spacing: .1em; }
.info-v85 .v95-story-copy > p:first-child { margin-top: 0; }
.info-v85 .v95-relationship-title { font: 500 18px/1.5 var(--font-sans); margin-top: 28px; }
.info-v85 .v95-story-role { border-left: 1px solid #a28f6b; padding-left: 22px; }
.showroom-product img { object-position: center; }
.showroom-product figcaption { font-size: 14px; color: #59564f; margin-top: 12px; }
.showroom-topics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin: 0; }
.showroom-topics > div { padding-top: 0; }
.showroom-topics dt { font: 500 var(--type-label)/1.4 var(--font-sans); }
.showroom-topics dd { margin: 12px 0 0; font-size: 16px; line-height: 1.65; color: #59564f; }
body.site-page #main .process-step-list h2 { font-size: 25px; }
body.site-page #main .process-step-copy .process-result { font-size: 16px; }
body.site-page #main .catalog-after-grid { max-width: none; margin: 0; padding: 48px clamp(20px,4.6vw,72px); background: #eae5de; }
.catalog-after-grid .catalog-private-label { margin: 0; padding: 0; border: 0; background: transparent; max-width: 840px; }
body.site-page .catalog-b2b-v85 { padding-block: 32px; }
body.site-page .catalog-b2b-v85 h2 { font-size: 24px; }
body.site-page #main .catalog-showroom-v85 { padding-block: 48px; }
body.site-page .acc-q { font-size: 18px; line-height: 1.5; padding-block: 24px; }
body.site-page .acc-body-inner { font-size: 16px; line-height: 1.75; }
@media (max-width: 1100px) {
  .v95-fact { padding-inline: 10px; }
  .v95-fact dt { font-size: 28px; }
  .v95-fact-leather dt,.v95-fact-markets dt { font-size: 17px; }
  .journey-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
  .showroom-topics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .b85-factory { height: 430px; }
  body.home .collection-home-copy { width: 76%; }
  body.home .collection-home-hero { min-height: 580px; }
}
@media (max-width: 900px) {
  .b85-section-head,.manufacturing-experience,.editorial-aside,.editorial-feature-caption { grid-template-columns: 1fr; gap: 22px; }
  .manufacturing-experience h2 + p { margin-top: 0; }
  .b85-section-head > h2 { max-width: 26ch; }
}
@media (max-width: 760px) {
  body:is(.home,.site-page) { --type-title: 34px; --type-section: 29px; }
  .b85-split { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .b85-pl-hero > .b85-split,.info-v85 .showroom-opening { grid-template-columns: minmax(0,1fr); }
  .editorial-panorama img { aspect-ratio: 3/2; object-position: 65% center; }
  .editorial-feature-caption { padding-top: 24px; }
  .editorial-proof-grid { gap: 44px; }
  .editorial-proof-grid article,.editorial-proof-grid .b85-continuity { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .editorial-proof-grid .b85-continuity figure,.editorial-proof-grid .b85-continuity > div { grid-column: auto; grid-row: auto; }
  .editorial-proof-grid .b85-continuity img { aspect-ratio: 1/1; max-height: none; }
  .editorial-proof-grid h2 { margin-top: 0; }
  .editorial-customisation > figure { order: 2; }
  .editorial-customisation img { aspect-ratio: 5/4; max-height: none; }
  .info-v85 .editorial-story-opening { grid-template-columns: minmax(0,1fr); }
  .editorial-story-opening > div { text-align: left; margin-bottom: 28px; }
  .info-v85 .editorial-story-opening h1,.info-v85 .editorial-story-opening p { margin-inline: 0; }
  .info-v85 .editorial-story-opening figure img { aspect-ratio: 3/2; }
  .b85-service-hero { padding-top: 32px; }
  .b85-factory { height: 350px; }
  .b85-product-hero img { max-height: 470px; }
  .service-visit { margin-left: 0; display: block; }
  .customisation-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
  .customisation-list li { font-size: 16px; padding-block: 17px; }
  .journey-steps { display: block; margin-top: 26px; }
  .journey-steps li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px 16px; padding-block: 21px; }
  .journey-number { grid-row: 1/span 2; margin: 1px 0 0; }
  .journey-steps h3,.journey-steps p { margin: 0; }
  body.home .collection-home-hero { min-height: 560px; }
  body.home .collection-home-hero figure { width: 100%; }
  body.home .collection-home-hero figure img { object-position: 64% center; }
  body.home .collection-home-hero::after { background: linear-gradient(180deg,#0809078c,#080907be 42%,#080907ed 100%),linear-gradient(90deg,#08090766,#0809071a); }
  body.home .collection-home-copy { width: 100%; padding: 44px 24px; }
  body.home #main .collection-home-copy h1 { font-size: 34px; max-width: 19ch; }
  body.home .collection-home-copy p { max-width: 40ch; }
  body.home .collection-home-copy .editorial-actions { gap: 8px; align-items: stretch; flex-direction: column; }
  body.home .collection-home-copy .text-link { align-self: flex-start; }
  body.home .category-edits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
  .v95-facts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-block: 14px; }
  .v95-fact { padding: 20px 8px; }
  .v95-fact:nth-child(3) { border-left: 0; }
  .v95-fact:nth-child(n+3) { border-top: 1px solid #d7cfc2; }
  .v95-fact dt { font-size: 30px; min-height: 38px; }
  .v95-fact-leather dt,.v95-fact-markets dt { font-size: 17px; }
  body.site-page .info-v85 .info-opening { padding-top: 32px; }
  .showroom-topics { gap: 24px 18px; }
  body.site-page #main .process-step-list h2 { font-size: 24px; }
  body.site-page .acc-q { font-size: 17px; padding-block: 22px; }
  body:is(.home,.site-page) .reference-footer .foot-col a { min-height: 44px; display: flex; align-items: center; }
}
@media (max-width: 360px) {
  body.home .collection-home-copy { padding-inline: 20px; }
  .showroom-topics { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.home,.site-page) *,body:is(.home,.site-page) *::before,body:is(.home,.site-page) *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation: none !important; }
}
/* Materials keeps its established two-column photographic layout. */
.materials-intro { max-width: 70ch; margin-top: 24px; }
.materials-note { max-width: 78ch; margin-top: 40px; }
