:root {
  color-scheme: light;
  --ink: #28221d;
  --navy: #352820;
  --blue: #896346;
  --blue-soft: #efe7de;
  --orange: #b47a43;
  --paper: #f8f5f0;
  --white: #fff;
  --gray: #716a63;
  --line: #e5ddd3;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Arial, sans-serif;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; min-width: 320px; background: var(--paper); }
body, button, input, select, textarea { font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #d97732; outline-offset: 3px; }
.wrap { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.section { padding-block: 100px; }

.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 16px; background: var(--white); border: 1px solid var(--line); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.topline { color: #f3ece4; background: #29211b; font-size: 11px; letter-spacing: .045em; }
.topline__inner { display: flex; justify-content: space-between; align-items: center; min-height: 37px; }
.topline a { font-weight: 600; }
.topline a span { color: #d9a276; margin-left: 5px; }
.topline__place { display: inline-flex; align-items: center; gap: 8px; }
.status-dot { width: 6px; height: 6px; background: #d89b67; border-radius: 50%; }

.site-header { background: rgba(255,255,255,.97); position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(65,48,35,.08); backdrop-filter: blur(12px); }
.header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 96px; gap: 22px; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; color: #735239; }
.brand__image-window { position: relative; display: block; width: 202px; height: 84px; overflow: hidden; background: #fff; }
.brand__logo-image { position: absolute; top: 50%; left: 0; display: block; width: 100%; height: auto; transform: translateY(-50%); }
.primary-nav { display: flex; gap: clamp(17px, 2.15vw, 32px); align-items: center; margin-left: auto; }
.primary-nav a { color: #505963; font-size: 12px; font-weight: 600; transition: color .2s ease; }
.primary-nav a:hover { color: var(--orange); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 0 21px; border: 1px solid transparent; font-size: 12px; font-weight: 700; transition: transform .2s ease, background-color .2s ease, border-color .2s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button--nav { min-height: 42px; padding-inline: 17px; background: var(--orange); color: white; font-size: 11px; }
.button--nav:hover, .button--primary:hover, .button--gold:hover { background: #8f613a; }
.button--primary { color: #fff; background: #8f613a; }
.button--primary span, .button--nav span { color: #d9a276; }
.button--quiet { padding-inline: 5px; color: var(--ink); }
.button--quiet span { color: var(--orange); }
.menu-toggle { display: none; }

.hero { display: grid; grid-template-columns: 1fr .92fr; align-items: center; gap: 54px; padding-block: 63px 74px; min-height: 550px; }
.hero__copy { max-width: 555px; padding-block: 16px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: #6b737b; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow > span { width: 17px; height: 1px; background: var(--orange); display: inline-block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { margin-bottom: 0; font-weight: 500; }
.hero h1 { max-width: 550px; font-size: clamp(43px, 5.2vw, 66px); line-height: 1.06; letter-spacing: -.055em; }
h1 em, h2 em { color: #9b6d45; font-family: var(--serif); font-weight: 400; }
.hero__lead { max-width: 485px; margin: 23px 0 26px; color: var(--gray); font-size: 14px; line-height: 1.85; }
.hero__actions { display: flex; align-items: center; gap: 19px; }
.hero__note { display: flex; align-items: center; gap: 11px; max-width: 340px; margin-top: 39px; color: #747b81; font-size: 11px; line-height: 1.55; }
.hero__note-icon { width: 26px; height: 26px; display: grid; place-items: center; color: var(--orange); border: 1px solid #dfc6b4; border-radius: 50%; font-size: 12px; flex: 0 0 auto; }

.hero-art { position: relative; min-height: 408px; overflow: hidden; color: #f5f1eb; background: radial-gradient(ellipse at 75% 22%, rgba(191,139,87,.28), transparent 34%), linear-gradient(135deg, #4a3629, #2b241f 74%); }
.hero-art::before, .hero-art::after { content: ""; position: absolute; z-index: 0; border: 1px solid rgba(224,187,145,.2); border-radius: 50%; }
.hero-art::before { width: 390px; height: 390px; top: 54px; left: 50%; transform: translateX(-50%); }
.hero-art::after { width: 290px; height: 290px; top: 104px; left: 50%; transform: translateX(-50%); }
.hero-art__top { position: absolute; z-index: 2; top: 21px; left: 22px; right: 22px; display: flex; justify-content: space-between; color: #decab4; font-size: 8px; letter-spacing: .11em; }
.hero-art__grid { position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(to right, transparent 49.8%, #f3e7d9 50%, transparent 50.2%), linear-gradient(to bottom, transparent 49.8%, #f3e7d9 50%, transparent 50.2%); background-size: 50px 50px; mask-image: linear-gradient(transparent, black 22%, black 82%, transparent); }
.hero-art__furniture { position: absolute; z-index: 1; width: 96%; height: 81%; top: 9%; left: 2%; fill: none; stroke: #ead9c6; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; filter: drop-shadow(0 12px 20px rgba(14,25,36,.2)); }
.hero-art__furniture .chair-detail, .hero-art__furniture .table-detail { stroke: #d4a776; stroke-width: 1.2; }
.hero-art__label { position: absolute; z-index: 2; bottom: 20px; left: 22px; display: flex; align-items: center; gap: 10px; color: #decab4; }
.hero-art__label > span:first-child { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(231,205,177,.5); font: 15px var(--serif); }
.hero-art__label > span:last-child { font-size: 7px; line-height: 1.6; letter-spacing: .1em; }
.hero-art__index { position: absolute; z-index: 2; bottom: 29px; right: 22px; color: #decab4; font: 11px var(--serif); }

.service-strip { background: #fff; border-block: 1px solid #ede7df; }
.service-strip__inner { display: grid; grid-template-columns: repeat(4,1fr); }
.service-strip__inner > div { display: flex; align-items: center; gap: 13px; min-height: 84px; padding: 12px 18px; border-right: 1px solid #eee8e1; }
.service-strip__inner > div:first-child { border-left: 1px solid #eee8e1; }
.service-strip__inner strong { color: #514438; font-size: 11px; font-weight: 650; }
.service-strip__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; color: #9b6d43; border: 1px solid #e4d4c3; border-radius: 50%; font: 13px var(--serif); }
.category-section { background: #f3eee7; }
.section-heading { max-width: 650px; margin-bottom: 42px; }
.section-heading .eyebrow { margin-bottom: 15px; }
.section-heading h2, .about-copy h2 { font-size: clamp(34px, 4vw, 48px); line-height: 1.15; letter-spacing: -.045em; }
.section-heading--row { display: flex; justify-content: space-between; align-items: end; gap: 50px; max-width: none; }
.section-heading--row > p { width: 290px; margin: 0 0 4px; color: var(--gray); font-size: 12px; line-height: 1.8; }
.category-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(205px,1fr)); gap: 14px; }
.category-card { position: relative; display: flex; flex-direction: column; min-height: 282px; padding: 22px 20px 20px; background: #fffdfa; border: 1px solid #e5ddd3; overflow: hidden; transition: border-color .2s, transform .2s; }
.category-card:hover { transform: translateY(-3px); border-color: #c3a17e; }
.category-card__top { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 8px; color: #8c8278; font-size: 8px; letter-spacing: .11em; }
.category-card__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.category-card--has-photo { color: #fff; background: #34271f; border-color: transparent; }
.category-card--has-photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(25,19,15,.1) 0%, rgba(25,19,15,.18) 36%, rgba(25,19,15,.88) 100%); }
.category-card--has-photo .category-card__top { color: #f1e6d9; }
.category-card--has-photo h3, .category-card--has-photo .category-card__description, .category-card--has-photo .text-link { z-index: 2; color: #fff; }
.category-card--has-photo .category-card__description { color: #eee3d8; }
.category-card--has-photo .text-link { border-color: rgba(255,255,255,.55); }
.category-card__icon { position: absolute; top: 48px; right: 15px; width: 125px; height: 125px; color: #dbc8b4; }
.category-card__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.category-card h3 { position: relative; z-index: 1; max-width: 190px; margin: auto 0 10px; font: 27px/1.1 var(--serif); }
.category-card__description { position: relative; z-index: 1; max-width: 205px; min-height: 44px; margin: 0 0 19px; color: #757d82; font-size: 11px; line-height: 1.65; }
.text-link { display: inline-flex; align-items: center; gap: 13px; padding-bottom: 5px; border-bottom: 1px solid #c7c8c5; width: fit-content; color: var(--ink); font-size: 11px; font-weight: 700; }
.text-link span { color: var(--orange); transition: transform .2s; }
.text-link:hover span { transform: translate(2px,-2px); }
.category-card .text-link { position: relative; z-index: 1; }
.visual-note { margin: 16px 0 0; color: #858b8d; font-size: 9px; line-height: 1.6; }

.catalog-section { color: #f4f0ea; background: var(--navy); }
.catalog-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.eyebrow--light { color: #b9c3cc; }
.catalog-intro h2 { max-width: 440px; font-size: clamp(39px, 4.4vw, 54px); line-height: 1.08; letter-spacing: -.05em; }
.catalog-intro h2 em { color: #d1b08e; }
.catalog-intro > p:not(.eyebrow) { max-width: 410px; margin: 22px 0 22px; color: #bdc7cf; font-size: 12px; line-height: 1.9; }
.text-link--light { color: #f4f4f0; border-color: #788898; }
.catalog-panel { position: relative; min-height: 338px; padding: 39px; color: var(--ink); background: #f7f7f4; }
.catalog-panel__mark { position: absolute; top: 28px; right: 30px; color: #e4e8e8; }
.catalog-panel__mark svg { width: 70px; height: 70px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.catalog-panel .eyebrow { margin-bottom: 13px; color: #858b90; font-size: 8px; }
.catalog-panel h3 { max-width: 380px; margin: 0 0 14px; font: 28px/1.15 var(--serif); }
.catalog-panel > p:not(.eyebrow) { max-width: 405px; margin-bottom: 23px; color: #727a80; font-size: 11px; line-height: 1.85; }
.button--outline { min-height: 42px; padding-inline: 15px; color: var(--navy); background: transparent; border-color: #bbc1c5; }
.button--outline:hover { border-color: var(--navy); }
.button--outline span { color: var(--orange); }
.product-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.product-image-fallback { display: grid; min-height: 110px; place-items: center; padding: 15px; color: #78818a; background: #f0f1ee; font-size: 10px; text-align: center; }
.product-image-fallback[hidden] { display: none; }
.dialog-gallery { display: flex; gap: 8px; margin-top: 10px; }
.gallery-thumb { width: 60px; height: 54px; padding: 3px; border: 1px solid var(--line); background: #f2f2ef; cursor: pointer; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.catalog-toolbar__filters { display: flex; flex-wrap: wrap; gap: 6px; }
.catalog-toolbar__filters button { padding: 8px 10px; border: 1px solid #d9dcdd; color: #59636b; background: transparent; font-size: 9px; cursor: pointer; }
.catalog-toolbar__filters button[aria-pressed="true"] { color: #fff; background: var(--navy); border-color: var(--navy); }
.catalog-toolbar input { width: 170px; min-height: 34px; padding: 6px 9px; border: 1px solid #d9dcdd; font-size: 10px; }
.catalog-empty { padding: 24px; color: var(--gray); background: #fff; border: 1px solid var(--line); font-size: 12px; line-height: 1.7; }
.catalog-empty h3 { margin: 0 0 7px; color: var(--ink); font: 23px var(--serif); }
.catalog-empty p { margin: 0 0 16px; }
.product-card { padding: 14px; border: 1px solid var(--line); background: var(--white); }
.product-card__image { width: 100%; aspect-ratio: 1.25; object-fit: contain; background: #f1f2f0; }
.product-card h3 { margin: 13px 0 6px; font: 20px var(--serif); }
.product-card p { color: var(--gray); font-size: 11px; }
.product-card .product-card__description { min-height: 0; line-height: 1.65; }
.product-price { margin: 10px 0 14px; color: #32465a !important; font-size: 13px !important; font-weight: 700; }
.product-category-label { margin-bottom: -10px; color: #8a9297 !important; font-size: 9px !important; letter-spacing: .06em; text-transform: uppercase; }
.product-card__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.product-card__actions button { padding: 0; border: 0; color: var(--navy); background: none; font-size: 10px; font-weight: 700; cursor: pointer; }
.product-card__actions a { color: var(--orange); font-size: 10px; font-weight: 700; }

.about-section { background: #fbf9f6; }
.about-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 84px; align-items: center; }
.about-stamp { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 15px; width: 260px; height: 260px; margin: 0 auto; color: #9b7049; border: 1px solid #e6d8c8; border-radius: 50%; background: radial-gradient(circle, #f4ece3 0 54%, transparent 54.4%); }
.about-stamp::before, .about-stamp::after { content: ""; position: absolute; inset: 20px; border: 1px solid #e9ddcf; border-radius: 50%; }
.about-stamp::after { inset: 37px; border-style: dashed; }
.about-stamp span { z-index: 1; font: 55px/.9 var(--serif); letter-spacing: -.09em; }
.about-stamp small { z-index: 1; color: #9f866f; font-size: 8px; line-height: 1.6; letter-spacing: .17em; text-align: center; }
.about-stamp i { position: absolute; z-index: 2; top: 31px; right: 60px; width: 8px; height: 8px; background: var(--orange); border-radius: 50%; }
.about-copy h2 { max-width: 660px; }
.about-copy > p:not(.eyebrow) { max-width: 540px; margin: 21px 0 25px; color: var(--gray); font-size: 13px; line-height: 1.85; }
.about-details { display: flex; flex-wrap: wrap; gap: 12px 25px; padding-top: 17px; border-top: 1px solid var(--line); color: #4f5962; font-size: 10px; }
.about-details span { display: inline-flex; align-items: center; gap: 8px; }
.about-details b { color: var(--orange); font-size: 9px; }

.project-section { padding-top: 15px; background: #fbf9f6; }
.project-banner { display: flex; justify-content: space-between; align-items: center; gap: 35px; padding: 46px 54px; color: #f6f0e9; background: radial-gradient(ellipse at 85% 0%, rgba(194,145,96,.28), transparent 42%), linear-gradient(120deg, #493629, #2a211b); }
.project-banner h2 { font-size: clamp(32px, 4vw, 46px); line-height: 1.12; letter-spacing: -.045em; }
.project-banner h2 em { color: #d7b68f; }
.project-banner > div > p:last-child { max-width: 470px; margin: 15px 0 0; color: #d0c1b1; font-size: 12px; line-height: 1.8; }
.button--gold { min-height: 45px; flex: 0 0 auto; padding-inline: 18px; color: #fff; background: var(--orange); font-size: 11px; }
.quote-section { color: #f3f0ec; background: #3a2d24; }
.quote-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 78px; align-items: start; }
.quote-copy h2 { max-width: 410px; font-size: clamp(35px, 4vw, 48px); line-height: 1.12; letter-spacing: -.05em; }
.quote-copy > p:not(.eyebrow) { max-width: 395px; margin: 20px 0 35px; color: #d0c2b5; font-size: 12px; line-height: 1.9; }
.quote-phone { display: flex; align-items: center; gap: 12px; }
.quote-phone__icon { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid #9a816b; border-radius: 50%; color: #e2aa7d; }
.quote-phone > span:last-child { display: flex; flex-direction: column; gap: 3px; }
.quote-phone small { color: #b8c3cc; font-size: 9px; }
.quote-phone a { font-size: 13px; font-weight: 700; }
.quote-form { padding: 30px; color: var(--ink); background: #f8f8f5; }
.form-heading { display: flex; justify-content: space-between; margin-bottom: 22px; padding-bottom: 15px; border-bottom: 1px solid var(--line); color: #81878b; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px 14px; }
.form-grid label { display: flex; flex-direction: column; gap: 7px; color: #4e565d; font-size: 10px; font-weight: 700; }
.optional { color: #969b9e; font-size: 8px; font-weight: 400; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-height: 42px; padding: 10px 11px; color: var(--ink); background: #fff; border: 1px solid #e1e2de; border-radius: 0; font-size: 11px; font-weight: 400; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color: #a0a4a5; }
.form-grid textarea { resize: vertical; min-height: 74px; }
.form-grid__wide { grid-column: 1/-1; }
.button--full { width: 100%; margin-top: 19px; }
.form-caption { margin: 10px 0 0; color: #858c90; font-size: 9px; text-align: center; }

.contact-section { padding-bottom: 83px; background: #f0f0ed; }
.contact-section .section-heading { margin-bottom: 33px; }
.contact-section .section-heading h2 { font-size: 42px; }
.contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; }
.contact-main { padding-top: 13px; }
.contact-label { color: #777e83; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-main address { margin: 17px 0 21px; font: 27px/1.45 var(--serif); font-style: normal; }
.contact-methods { border-top: 1px solid #d8d9d5; }
.contact-method { display: grid; grid-template-columns: 36px 1fr 20px; align-items: center; min-height: 77px; gap: 11px; border-bottom: 1px solid #d8d9d5; }
.contact-method__index { color: var(--orange); font-size: 9px; }
.contact-method > span:nth-child(2) { display: flex; flex-direction: column; gap: 4px; }
.contact-method small { color: #7e858a; font-size: 9px; }
.contact-method strong { color: #323940; font-size: 13px; font-weight: 600; }
.contact-method > b { color: #a5aaac; font-weight: 400; }
.map-note { margin: 19px 0 0; color: #888e91; font-size: 9px; }

.site-footer { color: #e9e1d8; background: #29211b; }
.footer__top { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 115px; border-bottom: 1px solid rgba(225,232,236,.15); }
.brand--footer .brand__image-window { width: 176px; height: 72px; }
.footer__top > p { margin: 0; color: #c8bcae; font-size: 10px; }
.footer-top-link { color: #e0d2c3; font-size: 10px; }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; min-height: 54px; color: #c0b4a7; font-size: 9px; }
.footer__bottom a:hover { color: white; }
.whatsapp-float { position: fixed; z-index: 30; right: 22px; bottom: 22px; display: grid; width: 52px; height: 52px; place-items: center; color: #fff; background: #527c73; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; box-shadow: 0 7px 24px rgba(22,38,45,.2); transition: transform .2s; }
.whatsapp-float:hover { transform: translateY(-3px); }
.whatsapp-float svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }

.product-dialog { width: min(640px,calc(100% - 28px)); padding: 0; border: 0; box-shadow: 0 20px 70px rgba(0,0,0,.25); }
.product-dialog::backdrop { background: rgba(18,28,38,.6); }
.dialog-close { position: absolute; top: 10px; right: 12px; z-index: 1; width: 36px; height: 36px; border: 0; color: var(--ink); background: rgba(255,255,255,.9); border-radius: 50%; font-size: 22px; cursor: pointer; }
.dialog-content { padding: 30px; }
.dialog-content img { width: 100%; max-height: 360px; object-fit: contain; background: #f0f0ed; }
.dialog-content h2 { margin: 18px 0 10px; font: 30px var(--serif); }
.dialog-content p { color: var(--gray); font-size: 13px; line-height: 1.7; }
.dialog-details { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.dialog-details span { padding: 7px 10px; color: #58636b; background: #f0f0ed; font-size: 10px; }

@media (max-width: 980px) {
  .wrap { width: min(100% - 44px, 760px); }
  .header__inner { gap: 14px; }
  .primary-nav { gap: 14px; }
  .primary-nav a { font-size: 10px; }
  .button--nav { padding-inline: 12px; }
  .hero { gap: 30px; min-height: 490px; }
  .hero-art { min-height: 360px; }
  .catalog-layout, .quote-layout { gap: 40px; }
  .about-layout { gap: 44px; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 75px; }
  .wrap { width: calc(100% - 36px); }
  .section { padding-block: 72px; }
  .topline__inner { min-height: 33px; font-size: 9px; }
  .header__inner { min-height: 70px; }
  .header__inner { min-height: 76px; }
  .brand__image-window { width: 154px; height: 64px; }
  .button--nav { display: none; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 42px; height: 42px; padding: 10px; border: 1px solid #d8dadd; background: transparent; cursor: pointer; }
  .menu-toggle span { height: 1px; width: 100%; background: var(--navy); transition: transform .2s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: absolute; top: 75px; left: 0; right: 0; display: none; align-items: stretch; gap: 0; padding: 7px 18px 16px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 15px 20px rgba(32,36,43,.07); }
  .primary-nav.is-open { display: flex; flex-direction: column; }
  .primary-nav a { padding: 13px 2px; border-bottom: 1px solid #e7e7e3; font-size: 12px; }
  .hero { grid-template-columns: minmax(0,1fr); gap: 33px; padding-block: 53px 58px; }
  .hero__copy { padding: 0; }
  .hero h1 { max-width: 580px; font-size: clamp(43px, 10vw, 59px); }
  .hero__lead { margin-block: 18px 22px; font-size: 13px; }
  .hero__note { margin-top: 24px; }
  .hero-art { min-height: 345px; }
  .hero-art__furniture { width: 96%; left: 2%; }
  .service-strip__inner { grid-template-columns: repeat(2,1fr); }
  .service-strip__inner > div { min-height: 68px; padding: 10px 7px; }
  .service-strip__inner > div:nth-child(odd) { border-left: 1px solid #eee8e1; }
  .service-strip__inner > div:nth-child(even) { border-right: 1px solid #eee8e1; }
  .service-strip__inner > div:nth-child(-n+2) { border-bottom: 1px solid #eee8e1; }
  .service-strip__inner strong { font-size: 9px; }
  .service-strip__icon { width: 29px; height: 29px; font-size: 11px; }
  .section-heading--row { display: block; }
  .section-heading--row > p { width: auto; max-width: 400px; margin-top: 16px; }
  .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .category-card { min-height: 250px; padding: 16px 13px; }
  .category-card h3 { font-size: 21px; }
  .category-card__description { font-size: 10px; }
  .category-card__icon { top: 32px; right: 18px; width: 115px; height: 115px; }
  .catalog-layout, .quote-layout, .about-layout, .contact-layout { grid-template-columns: 1fr; gap: 34px; }
  .project-banner { align-items: flex-start; flex-direction: column; padding: 31px 25px; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-toolbar input { width: 100%; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-toolbar input { width: 100%; }
  .catalog-panel { min-height: 0; padding: 29px 25px; }
  .catalog-panel__mark { top: 20px; right: 20px; }
  .about-stamp { width: 200px; height: 200px; }
  .about-stamp span { font-size: 44px; }
  .about-copy h2 { font-size: 38px; }
  .quote-form { padding: 22px 18px; }
  .contact-main address { font-size: 24px; }
  .contact-methods { margin-top: 2px; }
  .footer__top { flex-wrap: wrap; gap: 18px; padding-block: 24px; }
  .footer__top > p { order: 3; width: 100%; }
  .footer__bottom { flex-wrap: wrap; gap: 10px; padding-block: 16px; }
  .whatsapp-float { width: 48px; height: 48px; right: 15px; bottom: 15px; }
}

@media (max-width: 440px) {
  .hero h1 { font-size: clamp(36px, 10.5vw, 43px); }
  .hero h1 em { display: block; }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 9px; }
  .hero__actions .button--quiet { min-height: 38px; }
  .hero-art { min-height: 295px; }
  .hero-art::before { width: 310px; height: 310px; top: 24px; }
  .hero-art::after { width: 230px; height: 230px; top: 64px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid__wide { grid-column: auto; }
  .contact-method { grid-template-columns: 24px 1fr 15px; }
  .contact-method strong { font-size: 12px; }
  .footer__bottom { font-size: 8px; }
  .brand--footer .brand__image-window { width: 154px; height: 64px; }
}

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

/* Hospitality showroom direction, based on the supplied reference collage. */
.wrap { width: min(1360px, calc(100% - 56px)); }
.site-header { border-bottom: 1px solid #eee8e1; }
.header__inner { min-height: 78px; gap: 24px; }
.brand__image-window { width: 178px; height: 74px; }
.primary-nav { gap: clamp(16px, 2vw, 30px); }
.primary-nav a { color: #38312c; font-size: 11px; }
.button--nav { min-height: 39px; padding-inline: 16px; background: #bd8b5a; }
.hero { position: relative; min-height: 540px; padding: 0; overflow: hidden; isolation: isolate; color: #fff; background: #38291f; }
.hero::before { position: absolute; z-index: -2; inset: 0; content: ""; background: url("/public/images/buro-market/hero-restaurant-unsplash.jpg") center 63% / cover no-repeat; filter: brightness(.8); }
.hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(30,22,16,.86) 0%, rgba(30,22,16,.76) 32%, rgba(30,22,16,.44) 62%, rgba(30,22,16,.2) 100%); }
.hero__inner { display: flex; align-items: center; min-height: 540px; }
.hero__copy { max-width: 830px; padding: 34px 0 44px; }
.hero .eyebrow { color: #ead7c3; }
.hero h1 { max-width: 820px; color: #fff; font: 500 clamp(42px, 3.6vw, 60px)/1.1 var(--serif); letter-spacing: -.035em; }
.hero h1 em { color: #e8c9a7; }
.hero__lead { max-width: 480px; margin: 19px 0 24px; color: #eee6de; font-size: 13px; line-height: 1.8; }
.hero__actions { gap: 14px; }
.hero .button--primary { background: #bd8b5a; }
.hero .button--quiet { min-height: 43px; padding: 0 15px; color: #fff; border: 1px solid rgba(255,255,255,.6); }
.hero .button--quiet span { color: #e8c9a7; }
.hero__pagination { display: flex; align-items: center; gap: 16px; margin-top: 42px; color: #f0e8df; font: 11px var(--serif); }
.hero__pagination span { opacity: .62; }
.hero__pagination .is-current { opacity: 1; }
.hero__pagination i { display: block; width: 23px; height: 1px; margin-left: 4px; background: rgba(255,255,255,.7); }
.hero__pagination i + i { width: 14px; margin-left: -13px; }

.service-strip__inner > div { justify-content: center; min-height: 82px; padding-inline: 15px; }
.service-strip__icon { width: 31px; height: 31px; border: 0; border-radius: 0; }
.service-strip__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.service-strip__inner strong { max-width: 132px; color: #55483c; font-size: 10px; line-height: 1.4; }
.category-section { background: #fbf9f6; }
.section-heading--row { align-items: center; margin-bottom: 27px; }
.section-heading .eyebrow { margin-bottom: 11px; }
.section-heading h2 { font: 600 clamp(25px, 2.6vw, 34px)/1.18 var(--sans); letter-spacing: -.04em; text-transform: none; }
.section-heading--row > .text-link { margin-bottom: 3px; }
.category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.category-card { display: flex; min-height: 0; padding: 0; color: var(--ink); background: transparent; border: 0; overflow: visible; }
.category-card:hover { border: 0; }
.category-card__visual { position: relative; width: 100%; height: 184px; overflow: hidden; background: #fff; }
.category-card__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; transition: transform .35s; }
.category-card:hover .category-card__photo { transform: scale(1.025); }
.category-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: linear-gradient(135deg, #f0e9e1, #d9c9b8); }
.category-card:nth-child(2n) .category-card__placeholder { background: linear-gradient(135deg, #e6e2dc, #cfc6ba); }
.category-card:nth-child(3n) .category-card__placeholder { background: linear-gradient(135deg, #eee6dc, #d6c1a9); }
.category-card__icon { position: static; width: 98px; height: 98px; color: #8c6d50; }
.category-card__icon svg { width: 100%; height: 100%; stroke-width: 1.4; }
.category-card__count { position: absolute; top: 9px; left: 10px; display: grid; width: 23px; height: 23px; place-items: center; color: #574332; background: rgba(255,255,255,.88); font-size: 9px; }
.category-card__body { width: 100%; padding: 10px 2px 0; }
.category-card__top { position: static; align-items: center; margin-bottom: 8px; color: #71665d; font-size: 8px; }
.category-card__top span:last-child { color: #a47a53; font-size: 14px; }
.category-card h3 { max-width: none; margin: 0 0 5px; color: #28221d; font: 650 14px/1.35 var(--sans); }
.category-card__description { min-height: 30px; margin: 0 0 9px; color: #756d65; font-size: 10px; line-height: 1.55; }
.category-card .text-link { font-size: 10px; padding-bottom: 3px; }
.category-card--has-photo { color: var(--ink); background: transparent; border: 0; }
.category-card--has-photo::after { content: none; }
.category-card--has-photo .category-card__top { color: #71665d; }
.category-card--has-photo h3 { color: #28221d; }
.category-card--has-photo .category-card__description { color: #756d65; }
.category-card--has-photo .text-link { color: var(--ink); border-color: #c7c8c5; }

.catalog-section { color: var(--ink); background: #f2eee8; }
.catalog-section .section-heading { max-width: none; }
.catalog-panel { min-height: 0; padding: 0; color: var(--ink); background: transparent; }
.catalog-toolbar { align-items: center; margin-bottom: 17px; }
.catalog-toolbar__filters { gap: 7px; }
.catalog-toolbar__filters button { padding: 7px 10px; color: #665b50; border-color: #d8d0c7; background: rgba(255,255,255,.65); font-size: 9px; }
.catalog-toolbar__filters button[aria-pressed="true"] { color: #fff; background: #6a4c34; border-color: #6a4c34; }
.catalog-toolbar input { border-color: #ddd5cc; background: rgba(255,255,255,.8); }
.product-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.product-card { display: flex; min-width: 0; height: 100%; flex-direction: column; padding: 0 0 15px; overflow: hidden; border: 1px solid #e9e1d8; background: #fff; box-shadow: 0 5px 18px rgba(57,42,29,.035); transition: transform .2s, box-shadow .2s; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(57,42,29,.09); }
.product-card__image { display: block; width: 100%; aspect-ratio: 1.18; object-fit: contain; background: #fff; }
.product-card h3, .product-card > p:not(.product-category-label) { margin-inline: 13px; }
.product-category-label, .product-price, .product-card__actions { margin-inline: 13px; }
.product-card h3 { font: 600 13px/1.4 var(--sans); }
.product-card p { font-size: 10px; }
.product-card .product-card__description { min-height: 45px; line-height: 1.6; }
.product-card .product-category-label { margin-top: 12px; margin-bottom: -6px; }
.product-card .product-price { color: #77583c !important; font-size: 12px !important; }
.product-card__actions { margin-top: auto; padding-top: 8px; }
.product-card__actions button, .product-card__actions a { font-size: 9px; }
.catalog-empty { min-height: 150px; padding: 27px; border-color: #e1d9cf; background: rgba(255,255,255,.75); }
.catalog-empty h3 { font: 22px var(--serif); }
.project-section { padding-bottom: 75px; }
.project-banner { background: linear-gradient(112deg, rgba(39,29,22,.94), rgba(56,39,26,.72)), url("/public/images/buro-market/hero-restaurant-unsplash.jpg") center 63% / cover; }

@media (max-width: 980px) {
  .wrap { width: min(100% - 44px, 800px); }
  .header__inner { min-height: 74px; }
  .brand__image-window { width: 163px; height: 68px; }
  .primary-nav { gap: 12px; }
  .primary-nav a { font-size: 9px; }
  .hero, .hero__inner { min-height: 500px; }
  .hero h1 { max-width: 720px; font-size: clamp(42px, 5.4vw, 54px); }
  .service-strip__inner > div { justify-content: flex-start; gap: 8px; padding-inline: 10px; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-card__visual { height: 205px; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 74px; }
  .wrap { width: calc(100% - 36px); }
  .header__inner { min-height: 72px; }
  .brand__image-window { width: 152px; height: 63px; }
  .primary-nav { top: 71px; }
  .primary-nav a { font-size: 12px; }
  .hero, .hero__inner { min-height: 500px; }
  .hero::before { background-position: center 62%; }
  .hero::after { background: linear-gradient(90deg, rgba(30,22,16,.84), rgba(30,22,16,.64) 68%, rgba(30,22,16,.42)); }
  .hero__copy { max-width: 590px; padding: 40px 0 48px; }
  .hero h1 { font-size: clamp(38px, 8vw, 52px); }
  .hero__lead { max-width: 420px; font-size: 12px; }
  .hero__pagination { margin-top: 41px; }
  .service-strip__inner { grid-template-columns: repeat(2, 1fr); }
  .service-strip__inner > div { min-height: 68px; padding: 9px 10px; }
  .service-strip__inner > div:nth-child(odd) { border-left: 1px solid #eee8e1; }
  .service-strip__inner > div:nth-child(even) { border-right: 1px solid #eee8e1; }
  .service-strip__inner > div:nth-child(-n+2) { border-bottom: 1px solid #eee8e1; }
  .service-strip__inner strong { font-size: 9px; }
  .section-heading--row { display: flex; gap: 16px; }
  .section-heading--row > .text-link { flex: 0 0 auto; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-grid, .product-list { gap: 11px; }
  .category-card__visual { height: 155px; }
  .category-card__icon { width: 75px; height: 75px; }
  .category-card h3 { font-size: 13px; }
  .category-card__description { min-height: 0; font-size: 9px; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-toolbar__filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; }
  .catalog-toolbar__filters::-webkit-scrollbar { display: none; }
  .catalog-toolbar__filters button { flex: 0 0 auto; }
  .catalog-toolbar input { width: 100%; }
}

@media (max-width: 440px) {
  .hero, .hero__inner { min-height: 460px; }
  .hero h1 { font-size: clamp(34px, 9.2vw, 42px); }
  .hero__actions { flex-flow: row wrap; gap: 9px; }
  .hero__actions .button { min-height: 42px; }
  .hero__actions .button--quiet { padding-inline: 9px; }
  .category-card__visual { height: 138px; }
  .category-card__count { width: 20px; height: 20px; top: 6px; left: 6px; }
  .category-card__body { padding-top: 8px; }
  .category-card__top { font-size: 7px; }
  .category-card h3 { font-size: 12px; }
  .category-card__description { display: -webkit-box; overflow: hidden; font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .product-card h3 { margin-inline: 9px; font-size: 12px; }
  .product-card .product-card__description { min-height: 0; margin-inline: 9px; font-size: 10px; }
  .product-card__image { aspect-ratio: .96; }
  .product-category-label, .product-price, .product-card__actions { margin-inline: 9px; }
  .product-card__actions { align-items: flex-start; flex-direction: column; gap: 7px; }
  .product-card__actions button, .product-card__actions a { font-size: 10px; }
}

.project-banner__actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.project-banner__actions .button--quiet { min-height: 46px; padding-inline: 16px; color: #fff; border-color: rgba(255,255,255,.34); }
.project-banner__actions .button--quiet span { color: #e4bf94; }

.references-page { background: #f8f5f0; }
.references-intro { padding: 78px 0 46px; background: #fff; border-bottom: 1px solid #eee7df; }
.references-intro .eyebrow { margin-bottom: 18px; }
.references-intro h1 { max-width: 850px; font: 500 clamp(40px, 5.4vw, 68px)/1.05 var(--serif); letter-spacing: -.045em; }
.references-intro h1 em { color: #9b6d45; }
.references-intro__lead { max-width: 590px; margin: 19px 0 14px; color: var(--gray); font-size: 14px; line-height: 1.8; }
.references-intro__count { margin: 0; color: #9b6d45; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.references-content { min-height: 360px; padding: 56px 0 100px; }
.references-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 24px; }
.reference-card { overflow: hidden; min-width: 0; background: #fff; border: 1px solid #e8e1d9; box-shadow: 0 9px 30px rgba(50,38,26,.045); }
.reference-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; background: #eee9e2; }
.reference-media__image { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #e8e5e0; }
.reference-media__video { display: block; width: 100%; max-height: 430px; grid-column: 1 / -1; background: #211e1a; }
.reference-card__body { padding: 22px 24px 25px; }
.reference-card__eyebrow { margin: 0 0 10px; color: #9b6d45; font-size: 8px; font-weight: 750; letter-spacing: .15em; }
.reference-card__eyebrow span { margin-inline: 5px; color: #c4b6a7; }
.reference-card__body h2 { font: 500 27px/1.18 var(--serif); letter-spacing: -.025em; }
.reference-card__location { margin: 11px 0 0; color: #8a8178; font-size: 10px; }
.reference-card__location span { margin-right: 5px; color: #bd8b5a; font-size: 8px; }
.reference-card__description { margin: 13px 0 0; color: var(--gray); font-size: 12px; line-height: 1.75; white-space: pre-line; }
.reference-empty { grid-column: 1 / -1; margin: 0; padding: 48px 28px; color: #77716b; background: #fff; border: 1px solid #e8e1d9; font-size: 13px; line-height: 1.75; text-align: center; }
.reference-empty h2 { margin: 0 0 9px; color: var(--ink); font: 500 30px var(--serif); }
.reference-empty p { margin: 0 auto 20px; }

@media (max-width: 760px) {
  .references-intro { padding: 58px 0 35px; }
  .references-grid { grid-template-columns: 1fr; gap: 16px; }
  .references-content { padding: 30px 0 65px; }
  .project-banner__actions { justify-content: flex-start; }
}

@media (max-width: 440px) {
  .reference-card__body { padding: 18px 17px 21px; }
  .reference-card__body h2 { font-size: 24px; }
  .reference-media { gap: 3px; padding: 3px; }
}
