/* Zephyr editorial extension — keeps the homepage visual language across trade pages. */
:root {
  --z-cream: #f3eee5;
  --z-paper: #fbf9f5;
  --z-ink: #171513;
  --z-cocoa: #6a4a37;
  --z-line: rgba(39, 31, 25, 0.15);
  --z-soft-shadow: 0 20px 60px rgba(42, 31, 23, 0.08);
  --max-width: 1320px;
  --nav-height: 82px;
}

body { background: var(--z-paper); color: #37312c; }
body.page-home { background: var(--z-white); }
.container { padding-left: clamp(1.25rem, 3vw, 3rem); padding-right: clamp(1.25rem, 3vw, 3rem); }

/* Shared navigation fixes */
.nav-wrapper { transition: background .3s ease, box-shadow .3s ease, border-color .3s ease; }
.nav { grid-template-columns: 180px 1fr 180px; }
.nav__logo { margin: 0; width: 154px; align-self: center; }
.nav__logo img { width: 154px; height: 46px; object-fit: contain; object-position: left center; }
.nav__menu { margin-left: 0 !important; gap: clamp(1.5rem, 3.5vw, 3.75rem); }
.nav__actions { justify-content: flex-end; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.nav-quote-trigger { color: inherit; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; display: inline-flex; align-items: center; gap: .45rem; }
.nav-quote-count { display: inline-grid; place-items: center; min-width: 1.3rem; height: 1.3rem; padding: 0 .3rem; border: 1px solid currentColor; border-radius: 99px; font-size: 9px; }
.mobile-menu-close { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--z-line); border-radius: 50%; font: 300 2rem/1 var(--font-sans); }
.nav__toggle:focus-visible, .mobile-menu-close:focus-visible, .filter-chip:focus-visible, .product-card__quote-btn:focus-visible, .faq-question:focus-visible, .nav-quote-trigger:focus-visible { outline: 2px solid var(--z-cocoa); outline-offset: 4px; }

/* Homepage refinements: preserve the visual, remove broken controls and false forms. */
.page-home .hero__content.hero--right { margin-left: 0 !important; margin-top: 0 !important; }
.page-home .hero--right h1 { font-size: clamp(1.7rem, 3vw, 2.8rem); }
.page-home .hero--right .tagline { font-size: .82rem; }
.page-home .hero--right .btn { font-size: 10px; padding: 11px 22px; }

.eyebrow { display: block; margin-bottom: 1rem; font-size: .7rem; line-height: 1.2; letter-spacing: .24em; text-transform: uppercase; color: #6f665f; font-weight: 600; }
.editorial-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 460px); gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.editorial-heading h2 { font-size: clamp(2.35rem, 4.4vw, 4.4rem); letter-spacing: -.035em; max-width: 760px; }
.editorial-heading > p { max-width: 460px; color: #6f665f; line-height: 1.85; }

/* Large page heroes */
.subpage-hero { min-height: min(760px, 82svh); padding: var(--nav-height) 0 0; display: flex; align-items: stretch; position: relative; background-color: var(--z-cream); background-size: cover; background-position: center; }
.subpage-hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(244,238,228,.97) 0%, rgba(244,238,228,.86) 31%, rgba(244,238,228,.18) 58%, rgba(244,238,228,0) 78%); }
.subpage-hero--collection { background-image: url('../assets/collection-hero-v2.png'); }
.subpage-hero--oem { background-image: url('../assets/atelier-craft-v3.png'); }
.subpage-hero__inner { width: 100%; position: relative; z-index: 1; display: flex; align-items: center; }
.subpage-hero__copy { width: min(610px, 51%); padding: 5rem 0 4rem; }
.subpage-hero__copy h1 { font-size: clamp(3.2rem, 6vw, 6.5rem); letter-spacing: -.055em; line-height: .96; }
.subpage-hero__copy > p { max-width: 520px; margin: 1.75rem 0 2.2rem; font-size: 1.05rem; color: #524a44; line-height: 1.75; }
.hero-actions { display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; }

/* Wholesale fact strip */
.trade-facts { padding: 0; background: #1a1816; color: #fff; }
.trade-facts__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trade-facts__grid > div { min-height: 126px; padding: 1.9rem 1.5rem; border-left: 1px solid rgba(255,255,255,.14); display: flex; flex-direction: column; justify-content: center; }
.trade-facts__grid > div:last-child { border-right: 1px solid rgba(255,255,255,.14); }
.trade-facts strong { font-family: var(--font-serif); font-size: 1.45rem; font-weight: 500; }
.trade-facts span { margin-top: .25rem; color: rgba(255,255,255,.62); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }

/* Collection */
.collection-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.collection-toolbar { margin-bottom: 2rem; padding: 1rem 0; border-top: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.collection-toolbar > p { color: #81766d; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.filter-chips { display: flex; gap: .35rem; flex-wrap: wrap; }
.filter-chip { padding: .65rem .95rem; border: 1px solid transparent; color: #746a62; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; transition: all .2s ease; }
.filter-chip:hover, .filter-chip.active { border-color: #1a1816; color: #1a1816; background: #fff; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3.5rem 1.35rem; }
.catalog-card.product-card { background: transparent; padding: 0; box-shadow: none; text-align: left; cursor: default; }
.catalog-card.product-card:hover { transform: none; box-shadow: none; }
.catalog-card[hidden] { display: none; }
.catalog-card__image.product-card__image { aspect-ratio: 1 / 1.12; margin: 0; background: #ede8df; overflow: hidden; }
.catalog-card__image img { width: 100%; height: 100%; object-fit: cover; }
.catalog-card:nth-child(3) .catalog-card__image img, .catalog-card:nth-child(4) .catalog-card__image img { object-position: center 42%; }
.catalog-card__tag { position: absolute; top: 1rem; left: 1rem; z-index: 1; padding: .45rem .7rem; background: rgba(250,248,244,.92); color: #372e28; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.catalog-card__body { padding: 1.35rem .15rem 0; }
.catalog-card__title { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.catalog-card__title > span { color: #a1978f; font-family: var(--font-serif); font-style: italic; font-size: .9rem; }
.catalog-card__type { margin-bottom: .35rem; color: #887c72; font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.catalog-card .product-card__name { font-size: clamp(1.35rem, 2vw, 1.75rem); }
.catalog-card .product-card__material { margin-top: .45rem; color: #6d645d; }
.product-specs { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.1rem; padding: .9rem 0; border-top: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); }
.product-specs > div + div { border-left: 1px solid var(--z-line); padding-left: 1rem; }
.product-specs dt { color: #9a8f86; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.product-specs dd { margin-top: .15rem; color: #342e29; font-size: .78rem; }
.product-card__quote-btn { width: 100%; padding: .85rem 0 .65rem; color: #26211d; text-align: left; font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; border-bottom: 1px solid #25211e; transition: padding .2s ease, color .2s ease; }
.product-card__quote-btn:hover { padding-left: .55rem; color: var(--z-cocoa); }

/* Editorial split blocks */
.development-story { padding: clamp(5rem, 9vw, 9rem) 0; }
.split-story { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 650px; background: #fff; }
.split-story--reverse { grid-template-columns: .92fr 1.08fr; }
.split-story--reverse .split-story__image { order: 2; }
.split-story__image { min-height: 520px; overflow: hidden; }
.split-story__image img { width: 100%; height: 100%; object-fit: cover; }
.split-story__copy { padding: clamp(3rem, 7vw, 7rem); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.split-story__copy h2 { font-size: clamp(2.2rem, 4vw, 4rem); letter-spacing: -.035em; }
.split-story__copy > p { margin: 1.5rem 0; color: #6c625a; line-height: 1.9; }
.clean-list { width: 100%; margin-bottom: 2.25rem; border-top: 1px solid var(--z-line); }
.clean-list li { padding: .85rem 0; border-bottom: 1px solid var(--z-line); font-size: .86rem; }

/* OEM paths and process */
.oem-intro { padding: clamp(5rem, 9vw, 9rem) 0; }
.service-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.service-path { min-height: 470px; padding: 2.2rem; background: #fff; border: 1px solid var(--z-line); display: flex; flex-direction: column; }
.service-path--featured { background: #24201d; color: #fff; border-color: #24201d; }
.service-path > span { font-family: var(--font-serif); font-style: italic; color: #9a8f86; }
.service-path h3 { margin: 4.5rem 0 1rem; font-size: 2.1rem; }
.service-path--featured h3 { color: #fff; }
.service-path > p { color: #746b64; line-height: 1.75; }
.service-path--featured > p { color: rgba(255,255,255,.65); }
.service-path dl { margin-top: auto; }
.service-path dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--z-line); font-size: .72rem; }
.service-path--featured dl > div { border-color: rgba(255,255,255,.15); }
.service-path dt { color: #948a82; }
.service-path dd { text-align: right; }
.process-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.process-timeline { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--z-line); border-left: 1px solid var(--z-line); }
.process-timeline li { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 2.25rem; border-right: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); min-height: 285px; background: rgba(255,255,255,.45); }
.process-timeline li > span { font-family: var(--font-serif); font-size: 1rem; font-style: italic; color: #9c9188; }
.process-phase { color: #8c8178; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.process-timeline h3 { margin: .7rem 0 1rem; font-size: 1.7rem; }
.process-timeline p:not(.process-phase) { color: #70665e; line-height: 1.75; }
.process-timeline strong { display: block; margin-top: 1.4rem; color: #423a34; font-size: .72rem; font-weight: 500; }
.capability-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; width: 100%; margin-top: 2.5rem; border-top: 1px solid var(--z-line); border-left: 1px solid var(--z-line); }
.capability-grid > div { padding: 1.4rem; border-right: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); }
.capability-grid h3 { font-family: var(--font-sans); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.capability-grid p { margin-top: .55rem; color: #746a62; font-size: .82rem; line-height: 1.6; }
.quality-section { padding: clamp(5rem, 8vw, 8rem) 0; }
.quality-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); }
.quality-layout h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
.quality-checks { border-top: 1px solid var(--z-line); }
.quality-checks li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--z-line); }
.quality-checks li > span { font-family: var(--font-serif); font-style: italic; color: #a0968e; }
.quality-checks strong { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 500; }
.quality-checks p { color: #736961; font-size: .85rem; }
.faq-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 8rem); }
.faq-layout__heading { position: sticky; top: calc(var(--nav-height) + 2rem); align-self: start; }
.faq-layout__heading h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
.faq-layout__heading p { max-width: 320px; margin-top: 1rem; color: #756b63; }
.faq-question { padding: 1.4rem 0; font-family: var(--font-serif); font-size: 1.35rem; }
.faq-question span:last-child { font-family: var(--font-sans); font-weight: 300; transition: transform .2s ease; }
.faq-item.open .faq-question span:last-child { transform: rotate(45deg); }

/* Contact */
.contact-hero { padding: calc(var(--nav-height) + 3rem) 0 4rem; background: var(--z-cream); }
.contact-hero__grid { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 610px; }
.contact-hero__copy { padding: clamp(2.5rem, 6vw, 6rem) clamp(2rem, 6vw, 5.5rem) clamp(2.5rem, 6vw, 6rem) 0; display: flex; flex-direction: column; justify-content: center; }
.contact-hero__copy h1 { font-size: clamp(3.2rem, 5vw, 5rem); letter-spacing: -.05em; line-height: .98; }
.contact-hero__copy > p { margin: 1.6rem 0 2.2rem; max-width: 500px; color: #625951; line-height: 1.8; }
.contact-hero__image { min-height: 520px; overflow: hidden; }
.contact-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.contact-response { display: inline-flex; width: fit-content; gap: 1rem; align-items: center; padding-top: 1rem; border-top: 1px solid var(--z-line); font-size: .75rem; }
.contact-response span { color: #897e75; text-transform: uppercase; letter-spacing: .1em; }
.inquiry-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.inquiry-layout { display: grid; grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.inquiry-sidebar { position: sticky; top: calc(var(--nav-height) + 2rem); }
.inquiry-sidebar h2 { font-size: clamp(2.1rem, 3.7vw, 3.7rem); letter-spacing: -.035em; }
.brief-checklist { margin: 2.5rem 0; border-top: 1px solid var(--z-line); }
.brief-checklist li { display: grid; grid-template-columns: 42px 1fr; gap: .75rem; padding: 1.1rem 0; border-bottom: 1px solid var(--z-line); }
.brief-checklist li > span { font-family: var(--font-serif); font-style: italic; color: #9d9289; }
.brief-checklist strong { font-size: .83rem; }
.brief-checklist p { margin-top: .2rem; color: #7d736a; font-size: .77rem; line-height: 1.55; }
.direct-contact { padding: 1.4rem; background: #24201d; color: #fff; }
.direct-contact p, .direct-contact span { display: block; color: rgba(255,255,255,.56); font-size: .7rem; }
.direct-contact a { display: block; margin: .4rem 0 .7rem; font-family: var(--font-serif); font-size: 1.15rem; }
.inquiry-card { padding: clamp(2rem, 5vw, 4.5rem); background: #fff; box-shadow: var(--z-soft-shadow); }
.inquiry-card__header { margin-bottom: 2.3rem; }
.inquiry-card__header h2 { font-size: clamp(2.1rem, 3.6vw, 3.4rem); }
.inquiry-card__header > p { margin-top: .5rem; color: #8b8178; font-size: .78rem; }
.selected-styles { margin-bottom: 2.5rem; padding: 1.4rem; background: var(--z-warm-gray); }
.selected-styles__header { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.selected-styles__header .eyebrow { margin-bottom: .25rem; }
.selected-styles__header h3 { font-size: 1.25rem; }
.selected-styles__header a { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.selected-styles__list { display: grid; gap: .65rem; margin-top: 1rem; }
.selected-style { display: grid; grid-template-columns: 50px 1fr; gap: .8rem; align-items: center; padding-top: .65rem; border-top: 1px solid var(--z-line); }
.selected-style img { width: 50px; height: 50px; object-fit: cover; }
.selected-style strong { display: block; font-size: .8rem; }
.selected-style span, .selected-styles__empty { color: #847970; font-size: .72rem; }
.contact-form { display: grid; gap: 1.3rem; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.form-row--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-group { margin: 0; }
.form-group label { display: block; margin-bottom: .45rem; color: #5e554e; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.form-group input, .form-group select, .form-group textarea { width: 100%; padding: .95rem 0; border: 0; border-bottom: 1px solid #bdb4ac; background: transparent; border-radius: 0; font-size: .9rem; color: #2c2723; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-bottom-color: #1a1816; box-shadow: 0 1px 0 #1a1816; }
.form-group textarea { resize: vertical; min-height: 140px; }
.form-note { padding: 1rem 1.1rem; background: #f6f2eb; color: #736961; font-size: .75rem; line-height: 1.65; }
.inquiry-submit { width: 100%; }
.next-steps { padding: clamp(5rem, 8vw, 8rem) 0; }
.next-steps__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--z-line); border-left: 1px solid var(--z-line); }
.next-steps__grid article { min-height: 260px; padding: 2rem; border-right: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); background: rgba(255,255,255,.45); }
.next-steps__grid article > span { font-family: var(--font-serif); font-style: italic; color: #998f87; }
.next-steps__grid h3 { margin: 3rem 0 .8rem; font-size: 1.55rem; }
.next-steps__grid p { color: #766c64; font-size: .84rem; line-height: 1.7; }

/* Closing and footer */
.closing-cta { padding: clamp(5rem, 9vw, 9rem) 0; background: #fff; text-align: center; }
.closing-cta__inner { max-width: 860px; }
.closing-cta h2 { font-size: clamp(2.7rem, 5vw, 5.2rem); letter-spacing: -.045em; }
.closing-cta p { max-width: 560px; margin: 1.25rem auto 2.2rem; color: #70665e; }
.footer { background: #1a1816; color: rgba(255,255,255,.68); border-top: 0; }
.footer__logo img { filter: invert(1); opacity: .94; }
.footer__links a { color: rgba(255,255,255,.72); }
.quote-clear { margin-top: .8rem; color: #81776e; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.float-quote-btn { width: auto; min-width: 104px; height: 44px; padding: 0 1rem; border-radius: 0; bottom: 1.25rem; right: 1.25rem; }
.float-quote-label { color: #fff; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.page-home .float-quote-btn { width: 52px; min-width: 52px; height: 52px; padding: 0; border-radius: 50%; }

@media (max-width: 1024px) {
  .nav { grid-template-columns: 150px 1fr 150px; }
  .nav__logo, .nav__logo img { width: 138px; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .subpage-hero__copy { width: 58%; }
  .service-path { padding: 1.7rem; }
  .split-story { min-height: 560px; }
  .contact-hero__grid { grid-template-columns: .9fr 1.1fr; }
}

@media (max-width: 768px) {
  :root { --nav-height: 68px; }
  html { max-width: 100%; scroll-padding-top: var(--nav-height); overflow-x: hidden; }
  body { max-width: 100%; overflow-x: hidden; }
  .desktop-only, .nav__menu { display: none; }
  .nav { grid-template-columns: 1fr auto; }
  .nav__logo { width: 132px; }
  .nav__logo img { width: 132px; height: 40px; }
  .nav__toggle { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; }

  /* Mobile navigation keeps the same editorial hierarchy and restores trade actions. */
  .mobile-menu-overlay {
    z-index: 1100;
    padding: max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));
    background: #f7f3ec !important;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    overflow-y: auto;
  }
  .mobile-menu-brand { display: flex; align-items: center; justify-content: space-between; }
  .mobile-menu-brand img { width: 142px; height: 42px; object-fit: contain; object-position: left center; }
  .mobile-menu-close { position: static; flex: 0 0 44px; }
  .mobile-menu-links { counter-reset: mobile-nav; margin-top: clamp(3.5rem, 12vh, 6.5rem); border-top: 1px solid var(--z-line); }
  .mobile-menu-links a {
    counter-increment: mobile-nav;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 1rem 0 1.15rem;
    border-bottom: 1px solid var(--z-line);
    font-size: clamp(2rem, 10vw, 2.8rem);
    line-height: 1;
  }
  .mobile-menu-links a::after { content: '0' counter(mobile-nav); color: #8b8178; font: italic .75rem/1 var(--font-serif); }
  .mobile-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: auto; padding-top: 2.5rem; }
  .mobile-menu-overlay .mobile-menu-actions > * { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--z-ink); font-family: var(--font-sans); font-size: .68rem; font-weight: 500; line-height: 1; letter-spacing: .12em; text-transform: uppercase; }
  .mobile-menu-actions .mobile-quote-trigger { background: var(--z-ink); color: #fff; }
  .mobile-menu-actions .nav-quote-count { border-color: currentColor; margin-left: .45rem; }
  .mobile-menu-note { margin-top: 1rem; color: #8c8279; font-size: .66rem; letter-spacing: .04em; text-align: center; }

  /* Preserve the desktop hero's asymmetry instead of centering a generic card. */
  .subpage-hero { min-height: 720px; padding-top: var(--nav-height); background-position: 66% center; align-items: flex-end; }
  .subpage-hero::after { background: linear-gradient(0deg, rgba(244,238,228,.98) 0%, rgba(244,238,228,.9) 37%, rgba(244,238,228,.08) 72%); }
  .subpage-hero--oem { background-position: 65% center; }
  .subpage-hero--oem::after { background: linear-gradient(0deg, rgba(244,238,228,1) 0%, rgba(244,238,228,.97) 54%, rgba(244,238,228,.22) 88%); }
  .subpage-hero__inner { align-items: flex-end; }
  .subpage-hero__copy { width: 100%; padding: 15rem 0 3rem; }
  .subpage-hero__copy h1 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .subpage-hero__copy > p { font-size: .95rem; margin: 1.25rem 0 1.75rem; }
  .trade-facts__grid { grid-template-columns: repeat(2, 1fr); }
  .trade-facts__grid > div { min-height: 102px; padding: 1.25rem; border-bottom: 1px solid rgba(255,255,255,.14); }
  .trade-facts strong { font-size: 1.15rem; }
  .editorial-heading { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2.5rem; }
  .editorial-heading h2 { font-size: 2.8rem; }
  .collection-toolbar { align-items: flex-start; flex-direction: column; }
  .filter-chips { width: calc(100% + 1.25rem); flex-wrap: nowrap; overflow-x: auto; padding-right: 1.25rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .filter-chips::-webkit-scrollbar { display: none; }
  .filter-chip { flex: 0 0 auto; min-height: 44px; }
  .catalog-grid { grid-template-columns: 1fr; gap: 3rem; }
  .catalog-card__image.product-card__image { aspect-ratio: 1 / 1.08; }
  .split-story, .split-story--reverse { grid-template-columns: 1fr; }
  .split-story--reverse .split-story__image { order: 0; }
  .split-story__image { min-height: 390px; }
  .split-story__copy { padding: 2.5rem 1.4rem; }
  .page-oem .service-paths {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 360px);
    gap: .8rem;
    margin-right: -1.25rem;
    padding-right: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .page-oem .service-paths::-webkit-scrollbar { display: none; }
  .page-oem .service-path { min-height: 410px; scroll-snap-align: start; }
  .service-path h3 { margin-top: 2.7rem; }
  .process-timeline { grid-template-columns: 1fr; }
  .process-timeline li { grid-template-columns: 42px 1fr; padding: 1.5rem; min-height: 0; }
  .quality-layout, .faq-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .faq-layout__heading { position: static; }
  .contact-hero { padding: var(--nav-height) 0 0; }
  .contact-hero__grid { grid-template-columns: 1fr; }
  .contact-hero__copy { padding: 3.5rem 0 2.5rem; }
  .contact-hero__copy h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
  .contact-hero__image { min-height: 360px; margin-left: -1.25rem; margin-right: -1.25rem; }
  .inquiry-layout { grid-template-columns: 1fr; }
  .inquiry-sidebar { position: static; }
  .inquiry-card { padding: 1.4rem; margin-left: -1.25rem; margin-right: -1.25rem; box-shadow: none; border-top: 1px solid var(--z-line); border-bottom: 1px solid var(--z-line); }
  .form-row, .form-row--three { grid-template-columns: 1fr; }
  .form-group input, .form-group select, .form-group textarea { min-height: 48px; font-size: 16px; }
  .page-contact .next-steps__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(82vw, 340px);
    gap: .8rem;
    margin-right: -1.25rem;
    padding-right: 1.25rem;
    border: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .page-contact .next-steps__grid::-webkit-scrollbar { display: none; }
  .page-contact .next-steps__grid article { min-height: 250px; border: 1px solid var(--z-line); scroll-snap-align: start; }
  .closing-cta h2 { font-size: 3rem; }
  .quote-panel { height: 100dvh; max-width: 420px; padding-bottom: env(safe-area-inset-bottom); }
  .quote-panel__close { min-width: 44px; min-height: 44px; }
  .float-quote-btn, .page-home .float-quote-btn { width: auto; min-width: 92px; height: 44px; padding: 0 1rem; border-radius: 0; bottom: max(1rem, env(safe-area-inset-bottom)); right: 1rem; }
  .float-quote-btn .float-quote-label, .page-home .float-quote-btn .float-quote-label { color: #fff; font-size: .62rem; letter-spacing: .12em; }
  .float-quote-btn .float-quote-label::before { content: none; }

  .page-home .hero--fortress { min-height: min(680px, 78svh); justify-content: flex-end; background-position: 40% center !important; align-items: flex-end; padding: 0 1.25rem 2.2rem; text-align: left; }
  .page-home .hero__content.hero--right { width: min(72vw, 282px); max-width: none; padding: 1.35rem 1.25rem 1.25rem; margin: 0 0 0 auto !important; background: rgba(249,246,240,.88); box-shadow: 0 16px 42px rgba(46,33,24,.12); text-align: left; text-shadow: none; backdrop-filter: blur(8px); }
  .page-home .hero--right h1 { font-size: 1.95rem; letter-spacing: -.035em; }
  .page-home .hero--right .tagline { font-size: .78rem; margin-bottom: 1rem; }
  .page-home .hero--right .btn { width: 100%; padding: 12px 16px; text-align: center; }
  .page-home .hero-subtitle-bar { padding: 1.4rem 0; }
  .page-home .hero-subtitle-bar p { max-width: 330px; }

  .page-home #featured .section-header, .page-home #b2b-cta .section-header { margin-bottom: 2.25rem; text-align: left; }
  .page-home #featured .section-header h2, .page-home #b2b-cta .section-header h2 { font-size: 2.65rem; padding-bottom: 1rem; }
  .page-home #featured .section-header h2::after, .page-home #b2b-cta .section-header h2::after { left: 0; transform: none; }
  .page-home #featured .section-header p, .page-home #b2b-cta .section-header p { margin-left: 0; font-size: 1rem; }
  .page-home #featured .product-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(78vw, 315px);
    gap: .85rem;
    margin-right: -1.25rem;
    padding: .25rem 1.25rem .8rem 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .page-home #featured .product-grid::-webkit-scrollbar { display: none; }
  .page-home #featured .product-card { scroll-snap-align: start; box-shadow: none; border-bottom: 1px solid var(--z-line); }
  .page-home #featured .product-card__image { aspect-ratio: 4 / 5; }
  .page-home #featured .product-card__quote-btn { min-height: 44px; }

  .page-home .shoemaker-profile { position: relative; gap: 0; padding: 0 0 1rem; }
  .page-home .shoemaker-profile__image { aspect-ratio: 4 / 5; }
  .page-home .shoemaker-profile__content { position: relative; z-index: 1; width: calc(100% - 1.25rem); margin: -3rem 0 0 auto; padding: 1.8rem 1.4rem 1.6rem; background: #fff; box-shadow: var(--z-soft-shadow); }
  .page-home .shoemaker-profile__content h3 { font-size: 2rem; }
  .page-home .shoemaker-profile__content blockquote { margin: 1.15rem 0; font-size: 1.05rem; line-height: 1.65; }
  .page-home .shoemaker-profile__content .body-text { font-size: .92rem; line-height: 1.75; }

  .page-home .values-grid, .page-home #b2b-cta .service-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(78vw, 315px);
    gap: .8rem;
    margin-right: -1.25rem;
    padding-right: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .page-home .values-grid::-webkit-scrollbar, .page-home #b2b-cta .service-grid::-webkit-scrollbar { display: none; }
  .page-home .value-pillar, .page-home #b2b-cta .service-item { min-height: 285px; padding: 1.7rem; border: 1px solid var(--z-line); background: rgba(255,255,255,.74); text-align: left; scroll-snap-align: start; }
  .page-home #b2b-cta .service-item { display: flex; flex-direction: column; justify-content: flex-end; }
}

@media (max-width: 420px) {
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .subpage-hero { min-height: 680px; }
  .subpage-hero__copy h1, .contact-hero__copy h1 { font-size: 3.15rem; }
  .trade-facts span { letter-spacing: .06em; }
  .capability-grid { grid-template-columns: 1fr; }
  .selected-styles__header { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
