:root {
  --brand: #0b5a49; --brand-dark: #08483b; --brand-light: #36a487;
  --ink: #151515; --night: #0a1d2f; --warm: #f7f6f2; --surface: #ececea;
  --text: #202124; --muted: #6f7472; --border: #d6d8d5; --white: #fff;
  --display: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  --body: Inter, Arial, sans-serif; --shadow: 0 10px 36px rgba(0,0,0,.08);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--warm); font-family: var(--body); font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { color: inherit; font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
::selection { color: #fff; background: var(--brand); }
:focus-visible { outline: 2px solid var(--brand-light); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.container { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }
.dark-section { color: #fff; background: var(--ink); }
.section { padding-block: 112px; }
.section--light { background: #fff; }
.section--warm { background: var(--warm); }
.eyebrow { margin: 0 0 12px; color: #5db9a2; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow--dark { color: var(--brand); }
h1,h2,h3,p { margin-top: 0; }
.section-heading h2, .section-title { margin: 0; font-family: var(--display); font-size: clamp(40px, 5vw, 68px); line-height: .95; letter-spacing: .015em; }
.section-heading > p:last-child { max-width: 580px; margin: 16px 0 0; color: var(--muted); }
.dark-section .section-heading > p:last-child { color: rgba(255,255,255,.58); }
.section-heading--row { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.text-link { display: inline-flex; align-items: center; gap: 16px; border-bottom: 1px solid rgba(11,90,73,.45); padding-block: 8px; color: var(--brand); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: gap .28s cubic-bezier(.22,1,.36,1), border-color .28s ease; }
.text-link:hover { gap: 22px; border-color: var(--brand); }
.text-link span { display: inline-block; transition: transform .28s cubic-bezier(.22,1,.36,1); }
.text-link:hover span { transform: translateX(4px); }
.text-link--light { color: #fff; border-color: rgba(255,255,255,.35); }
.button { position: relative; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; overflow: hidden; isolation: isolate; border: 1px solid transparent; padding: 0 28px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transform: translateZ(0); transition: background .28s ease, color .28s ease, border-color .28s ease, gap .28s cubic-bezier(.22,1,.36,1), transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease; }
.button::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg,transparent 20%,rgba(255,255,255,.24) 48%,transparent 76%); content: ""; transform: translateX(-130%); transition: transform .65s cubic-bezier(.22,1,.36,1); }
.button:hover { gap: 30px; }
.button:hover::before { transform: translateX(130%); }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.button:active { transform: translateY(0) scale(.985); }
.button span { display: inline-block; transition: transform .28s cubic-bezier(.22,1,.36,1); }
.button:hover span { transform: translateX(4px); }
.button--primary { color: #fff; background: var(--brand); }
.button--primary:hover { background: var(--brand-dark); }
.button--outline { color: var(--text); border-color: #9da19e; background: transparent; }
.button--outline:hover { color: #fff; border-color: var(--brand); background: var(--brand); }
.button--light { color: var(--ink); background: #fff; }
.button--wide { width: 100%; }

/* Header */
.site-header { position: relative; z-index: 50; width: 100%; border-bottom: 1px solid var(--border); }
.home-page .site-header { position: absolute; top: 0; left: 0; }
.site-header--dark { color: #fff; border-color: rgba(255,255,255,.1); background: linear-gradient(#101010e8,#10101070); }
.site-header--light { color: var(--ink); background: rgba(255,255,255,.96); }
.site-header.is-sticky { position: fixed; top: 0; color: #fff; border-color: rgba(255,255,255,.1); background: rgba(21,21,21,.92); box-shadow: 0 8px 30px rgba(0,0,0,.12); backdrop-filter: blur(14px); animation: headerDrop .42s cubic-bezier(.22,1,.36,1) both; }
.header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.logo { font-family: Arial, sans-serif; font-size: 23px; font-weight: 700; letter-spacing: .12em; }
.desktop-nav { display: flex; align-items: center; gap: clamp(24px, 3vw, 46px); }
.desktop-nav a { position: relative; padding-block: 30px; color: inherit; font-size: 12px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; opacity: .72; }
.desktop-nav a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--brand); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.desktop-nav a:hover, .desktop-nav a.active { opacity: 1; }
.desktop-nav a:hover::after, .desktop-nav a.active::after { transform: scaleX(1); }
.header-cta { min-height: 44px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.45); padding-inline: 20px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; transition: background .18s ease, border-color .18s ease; }
.header-cta:hover { border-color: var(--brand-light); background: var(--brand); }
.menu-toggle { width: 44px; height: 44px; display: none; place-content: center; gap: 7px; border: 0; background: transparent; }
.menu-toggle span { width: 24px; height: 1px; display: block; background: currentColor; transition: transform .2s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.mobile-nav { display: none; border-top: 1px solid currentColor; padding: 20px 32px 28px; background: inherit; }
.mobile-nav.open { display: grid; }
.mobile-nav a { padding-block: 12px; font-size: 14px; font-weight: 700; text-transform: uppercase; }

/* Homepage */
.hero { position: relative; min-height: 780px; overflow: hidden; padding-top: 80px; }
.hero-media { --hero-shift: 0px; position: absolute; inset: -3% -2% -4% 39%; z-index: 0; filter: saturate(.9) contrast(1.03); transform: translate3d(0,var(--hero-shift),0) scale(1.035); transition: transform .12s linear; will-change: transform; }
.hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,#151515 0%,rgba(21,21,21,.97) 39%,rgba(21,21,21,.72) 61%,rgba(21,21,21,.18) 100%); }
.hero-grid { position: relative; z-index: 2; min-height: 610px; display: grid; align-items: center; }
.hero-copy { max-width: 720px; padding-block: 72px; }
.hero h1 { max-width: 690px; margin: 0; font-family: var(--display); font-size: clamp(54px, 7.1vw, 104px); font-weight: 700; line-height: .88; letter-spacing: .01em; }
.hero-lead { max-width: 590px; margin: 30px 0 0; color: rgba(255,255,255,.66); font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; }
.material-strip { display: flex; gap: 8px; margin-top: 34px; }
.material-dot { width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.18); background: #777; transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s ease; }
.material-dot:hover { z-index: 1; border-color: rgba(255,255,255,.72); transform: translateY(-6px) scale(1.08); }
.material-dot--walnut { background: linear-gradient(100deg,#4a3327,#715141,#2a211d); }
.material-dot--stone { background: linear-gradient(130deg,#bdb8ad,#e2ddd3 48%,#7f7b76 49%,#aaa59e); }
.material-dot--green { background: linear-gradient(135deg,#243c32,#6d7b68); }
.material-dot--sand { background: #cdc7b9; }
.material-dot--charcoal { background: #343638; }
.benefit-bar { position: relative; z-index: 3; border-top: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.22); }
.benefit-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.benefit-grid article { min-height: 116px; display: flex; align-items: center; gap: 22px; border-right: 1px solid rgba(255,255,255,.1); padding: 26px 32px; }
.benefit-grid article:first-child { padding-left: 0; }
.benefit-grid article:last-child { border-right: 0; }
.line-icon { color: var(--brand-light); font-size: 34px; font-weight: 300; }
.benefit-grid h2 { margin: 0; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; }
.benefit-grid p { margin: 4px 0 0; color: rgba(255,255,255,.5); font-size: 13px; }
.collection-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.collection-card { position: relative; min-height: 390px; overflow: hidden; color: #fff; background: var(--ink); }
.collection-card > span:first-child { position: absolute; inset: 0; transition: transform .75s cubic-bezier(.22,1,.36,1), filter .45s ease; }
.collection-card::before { position: absolute; inset: 0; z-index: 1; background: linear-gradient(115deg,transparent 25%,rgba(255,255,255,.18) 48%,transparent 68%); content: ""; transform: translateX(-120%); transition: transform .85s cubic-bezier(.22,1,.36,1); }
.collection-card::after { position: absolute; inset: 40% 0 0; content: ""; background: linear-gradient(transparent,rgba(0,0,0,.78)); }
.collection-card:hover > span:first-child { filter: saturate(1.08) contrast(1.04); transform: scale(1.065); }
.collection-card:hover::before { transform: translateX(120%); }
.collection-label { position: absolute; right: 24px; bottom: 22px; left: 24px; z-index: 2; display: flex; justify-content: space-between; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.production-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.65fr); gap: 48px; align-items: stretch; }
.production-copy { padding: 26px 0; }
.production-copy > p:last-of-type { max-width: 560px; margin: 28px 0; color: var(--muted); line-height: 1.7; }
.stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 38px; }
.stats div { border: 1px solid var(--border); padding: 22px 18px; transition: border-color .3s ease, background .3s ease, transform .3s cubic-bezier(.22,1,.36,1); }
.stats div:hover { border-color: rgba(11,90,73,.45); background: rgba(255,255,255,.7); transform: translateY(-4px); }
.stats strong { display: block; color: var(--brand); font-family: var(--display); font-size: 38px; line-height: 1; }
.stats span { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.home-crop--factory { min-height: 520px; }
.process { padding-block: 88px; }
.process .section-heading { margin-bottom: 46px; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.process-grid article { position: relative; min-height: 240px; border-left: 1px solid rgba(255,255,255,.12); padding: 8px 28px 0; transition: background .35s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.process-grid article:hover { background: linear-gradient(180deg,rgba(54,164,135,.08),transparent); transform: translateY(-6px); }
.process-grid article:first-child { border-left: 0; padding-left: 0; }
.process-grid article > span { color: rgba(255,255,255,.35); font-size: 12px; }
.process-grid i { display: block; margin-block: 24px 16px; color: var(--brand-light); font-size: 37px; font-style: normal; transition: transform .38s cubic-bezier(.22,1,.36,1), color .3s ease; }
.process-grid article:hover i { color: #73d6ba; transform: rotate(8deg) scale(1.1); }
.process-grid h3 { margin-bottom: 8px; font-size: 15px; text-transform: uppercase; }
.process-grid p { color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.6; }
.materials-layout .section-heading { max-width: 550px; }
.material-tabs { display: flex; justify-content: flex-end; gap: 24px; margin: -42px 0 28px; }
.material-tabs button { border: 0; border-bottom: 2px solid transparent; padding: 10px 5px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 700; text-transform: uppercase; transform: translateY(0); transition: color .25s ease, border-color .25s ease, transform .25s cubic-bezier(.22,1,.36,1); }
.material-tabs button:hover { color: var(--brand); transform: translateY(-2px); }
.material-tabs button.active { color: var(--brand); border-color: var(--brand); }
.material-showcase { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); gap: 22px; }
.home-crop--materials { min-height: 340px; }
.swatch-list { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.swatch-list button { display: flex; flex-direction: column; border: 0; padding: 0; text-align: left; background: transparent; }
.swatch { min-height: 286px; display: block; border: 1px solid var(--border); background: #8e6b48; transform-origin: center bottom; transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; }
.swatch-list button:hover .swatch { border-color: rgba(11,90,73,.4); box-shadow: 0 16px 32px rgba(0,0,0,.11); transform: translateY(-6px) scale(1.018); }
.swatch-list b { padding-top: 12px; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; transition: color .25s ease, transform .25s ease; }
.swatch-list button:hover b { color: var(--brand); transform: translateX(3px); }
.swatch--oak { background: repeating-linear-gradient(90deg,#bc8d5d 0 6px,#d2a673 7px 10px); }
.swatch--walnut { background: repeating-linear-gradient(90deg,#6c4529 0 5px,#8b5f3b 6px 11px); }
.swatch--ash { background: repeating-linear-gradient(90deg,#ddc8a6 0 7px,#c7ae86 8px 12px); }
.swatch--dark-oak { background: repeating-linear-gradient(90deg,#4a3829 0 6px,#644b36 7px 10px); }
.swatch--wenge { background: repeating-linear-gradient(90deg,#302a26 0 4px,#453b34 5px 10px); }
.quality { padding-block: 72px; }
.quality-grid { display: grid; grid-template-columns: 1.35fr repeat(3,1fr); gap: 0; align-items: center; }
.quality-grid > * { min-height: 160px; border-left: 1px solid var(--border); padding: 18px 32px; }
.quality-grid > :first-child { border-left: 0; padding-left: 0; }
.quality-grid .section-heading h2 { font-size: 44px; }
.quality-grid i { width: 40px; height: 40px; display: grid; place-content: center; border: 1px solid var(--brand); border-radius: 50%; color: var(--brand); font-style: normal; transition: color .32s ease, background .32s ease, transform .42s cubic-bezier(.22,1,.36,1); }
.quality-grid article:hover i { color: #fff; background: var(--brand); transform: rotate(360deg); }
.quality-grid h3 { margin: 18px 0 6px; font-size: 13px; text-transform: uppercase; }
.quality-grid article p { color: var(--muted); font-size: 13px; }
.contact-section { padding-block: 92px; }
.contact-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 80px; align-items: start; }
.contact-grid .section-heading p:last-child { color: rgba(255,255,255,.58); }
.lead-form { display: grid; gap: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead-form label { display: grid; gap: 7px; color: rgba(255,255,255,.68); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.lead-form input:not([type="checkbox"]), .lead-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.17); border-radius: 0; padding: 14px 16px; color: #fff; background: rgba(255,255,255,.06); outline: 0; text-transform: none; }
.lead-form input:focus, .lead-form textarea:focus { border-color: var(--brand-light); box-shadow: 0 0 0 3px rgba(54,164,135,.1); transform: translateY(-1px); }
.lead-form .consent { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 10px; text-transform: none; }
.consent input { width: 18px; height: 18px; accent-color: var(--brand); }
.consent a { border-bottom: 1px solid currentColor; }
.form-status { min-height: 20px; margin: 0; color: #8de0c9; font-size: 13px; }
.form-status.error { color: #ff968e; }
.field-error { display: block; color: #ff968e; font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.lead-form [aria-invalid="true"] { border-color: #ff968e !important; box-shadow: 0 0 0 2px rgba(255,150,142,.12); }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.lead-form .button { justify-self: start; }

/* Media assets */
.media-cover, .catalog-crop, .product-crop { display: block; overflow: hidden; background-repeat: no-repeat; background-size: cover; background-position: center; }
.home-crop--hero { background-image: url("assets/hero-workshop-v2.webp"); background-position: center 48%; }
.home-crop--collection-1 { background-image: url("assets/collection-kitchen-v2.webp"); }
.home-crop--collection-2 { background-image: url("assets/collection-wardrobe-v2.webp"); }
.home-crop--collection-3 { background-image: url("assets/collection-vanity-v2.webp"); }
.home-crop--factory { background-image: url("assets/factory-cnc-v2.webp"); }
.home-crop--materials { background-image: url("assets/materials-stilllife-v2.webp"); }
.catalog-crop--1, .catalog-crop--6 { background-image: url("assets/catalog-table-v2.webp"); }
.catalog-crop--2, .catalog-crop--7, .catalog-crop--11 { background-image: url("assets/catalog-chair-v2.webp"); }
.catalog-crop--3, .catalog-crop--8, .catalog-crop--12 { background-image: url("assets/catalog-sofa-v2.webp"); }
.catalog-crop--4, .catalog-crop--9 { background-image: url("assets/catalog-cabinet-v2.webp"); }
.catalog-crop--5, .catalog-crop--10 { background-image: url("assets/catalog-bed-v2.webp"); }
.product-crop--main { background-image: url("assets/catalog-sofa-v2.webp"); }
.product-crop--detail, .product-crop--fabric { background-image: url("assets/product-fabric-v2.webp"); }
.product-crop--side, .product-crop--metal { background-image: url("assets/product-metal-base-v2.webp"); }
.product-crop--room { background-image: url("assets/product-sofa-room-v2.webp"); }
.product-crop--wood { background-image: url("assets/product-wood-frame-v2.webp"); }
.product-crop--work-1 { background-image: url("assets/process-upholstery-v2.webp"); }
.product-crop--work-2 { background-image: url("assets/process-assembly-v2.webp"); }
.product-crop--work-3 { background-image: url("assets/process-quality-v2.webp"); }

/* Catalog */
.catalog-main { padding-bottom: 90px; background: #fff; }
.catalog-hero { min-height: 260px; display: flex; align-items: center; justify-content: space-between; padding-block: 55px 30px; }
.catalog-hero h1 { margin: 0; font-family: var(--display); font-size: clamp(70px,10vw,142px); line-height: .8; letter-spacing: .01em; }
.catalog-hero > p { align-self: flex-start; margin-top: 42px; color: var(--muted); font-size: 14px; }
.catalog-controls { position: sticky; top: 0; z-index: 20; padding-block: 18px 22px; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.category-tabs { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 12px; }
.category-tabs button { min-height: 44px; border: 1px solid #aeb1af; padding-inline: 24px; white-space: nowrap; background: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s cubic-bezier(.22,1,.36,1); }
.category-tabs button:hover { border-color: var(--brand); transform: translateY(-2px); }
.category-tabs button.active { color: #fff; border-color: var(--brand); background: var(--brand); }
.filter-row { display: grid; grid-template-columns: minmax(360px,1fr) auto minmax(220px,.45fr) 150px; gap: 18px; align-items: center; border-top: 1px solid var(--border); padding-top: 18px; }
.filter-buttons { display: flex; gap: 24px; }
.filter-buttons button { border: 0; padding: 9px 0; background: transparent; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.filter-buttons span { margin-left: 9px; }
.filter-buttons label { min-width: 160px; }
.filter-buttons select { width: 100%; }
.color-filter { display: flex; gap: 8px; color: var(--brand); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.color-filter button, .fabric { width: 34px; height: 34px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px var(--border); background: #be8b52; }
.color-filter .wood-2 { background: #8d572b; }.color-filter .wood-3 { background: #3b2d25; }.color-filter .wood-4 { background: #303c30; }
.search-box { position: relative; }
.search-box input { width: 100%; min-height: 44px; border: 1px solid var(--border); padding: 0 42px 0 14px; }
.search-box b { position: absolute; top: 10px; right: 14px; font-size: 20px; }
.filter-row select { min-height: 44px; border: 1px solid var(--border); padding-inline: 12px; background: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; padding-top: 34px; }
.product-card { position: relative; overflow: hidden; border: 1px solid #e1e2df; background: #fff; transition: transform .38s cubic-bezier(.22,1,.36,1), box-shadow .38s ease, border-color .38s ease; }
.product-card::after { position: absolute; inset: 0; border: 1px solid transparent; content: ""; pointer-events: none; transition: border-color .32s ease; }
.product-card:hover { border-color: transparent; transform: translateY(-8px); box-shadow: 0 20px 48px rgba(22,28,25,.13); }
.product-card:hover::after { border-color: rgba(11,90,73,.34); }
.product-card[hidden] { display: none; }
.product-image { aspect-ratio: 1 / 1.05; background-color: var(--surface); transition: transform .65s cubic-bezier(.22,1,.36,1), filter .45s ease; }
.product-card:hover .product-image { filter: saturate(1.04) contrast(1.02); transform: scale(1.045); }
.product-info { padding: 20px 18px 22px; }
.product-info > p { margin: 0 0 5px; color: var(--muted); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.product-info h2 { margin-bottom: 18px; font-family: var(--display); font-size: 26px; line-height: 1; }
.product-info dl { margin: 0 0 14px; font-size: 12px; }
.product-info dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); padding-block: 9px; }
.product-info dt { color: var(--muted); }.product-info dd { margin: 0; text-align: right; }
.product-info .text-link { font-size: 11px; }
.load-more-wrap { display: flex; justify-content: center; padding-block: 44px; }
.empty-state { border: 1px dashed var(--border); margin-top: 30px; padding: 40px; text-align: center; }
.catalog-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 36px 42px; color: #fff; background: var(--ink); }
.catalog-cta h2 { margin-bottom: 5px; font-family: var(--display); font-size: 36px; }
.catalog-cta p { margin-bottom: 0; color: rgba(255,255,255,.55); }

/* Product */
.product-page main { background: #fff; }
.product-hero { padding-block: 26px 72px; }
.breadcrumb { display: flex; gap: 12px; margin-bottom: 26px; color: var(--muted); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.breadcrumb strong { color: var(--text); }
.product-detail-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(340px,.7fr); gap: 52px; align-items: start; }
.gallery { display: grid; grid-template-columns: 88px 1fr; gap: 16px; min-width: 0; }
.gallery-thumbs { display: grid; align-content: start; gap: 12px; }
.product-thumb { aspect-ratio: 1; border: 1px solid transparent; border-radius: 6px; background-color: var(--surface); transition: border-color .28s ease, box-shadow .28s ease, transform .32s cubic-bezier(.22,1,.36,1), filter .28s ease; }
.product-thumb:hover { filter: saturate(1.08); transform: translateX(4px); }
.product-thumb.active { border-color: var(--brand); box-shadow: 0 0 0 2px #fff inset, 0 8px 22px rgba(11,90,73,.14); transform: scale(.96); }
.gallery-main { aspect-ratio: 1.4 / 1; border-radius: 10px; background-color: var(--surface); transition: background-position .26s ease, box-shadow .4s ease; }
.gallery-main:hover { box-shadow: 0 22px 52px rgba(22,28,25,.11); }
.gallery-main.is-switching { animation: gallerySwap .42s cubic-bezier(.22,1,.36,1) both; }
.product-summary { position: sticky; top: 116px; padding-top: 10px; }
.product-summary h1 { margin: 0 0 20px; font-family: var(--display); font-size: clamp(64px,7vw,104px); line-height: .8; }
.product-intro { color: var(--muted); font-size: 15px; line-height: 1.65; }
.summary-block { border-top: 1px solid var(--border); margin-top: 24px; padding-top: 18px; }
.summary-block h2 { margin-bottom: 14px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.fabric-swatches { display: flex; gap: 13px; }
.fabric.active { box-shadow: 0 0 0 2px #fff,0 0 0 3px var(--brand); }
.fabric--green { background: #244c3d; }.fabric--cream { background: #d9d4ca; }.fabric--gray { background: #88847e; }.fabric--taupe { background: #5d554d; }.fabric--black { background: #252525; }
.specs-short dl { margin: 0 0 22px; }
.specs-short dl div { display: flex; justify-content: space-between; border-bottom: 1px solid var(--border); padding-block: 11px; font-size: 12px; text-transform: uppercase; }
.specs-short dd { margin: 0; font-weight: 700; }
.download-link { display: block; margin-top: 16px; color: var(--brand); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.product-story-grid { display: grid; grid-template-columns: 1.35fr .8fr; gap: 56px; align-items: center; }
.product-story .product-crop { min-height: 520px; }
.product-story h2 { font-family: var(--display); font-size: clamp(44px,5vw,68px); line-height: .95; }
.product-story p { color: var(--muted); line-height: 1.72; }
.material-cards, .production-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 38px; }
.material-cards article { border: 1px solid var(--border); background: #fff; }
.material-cards article > div, .production-cards article > div { aspect-ratio: 1.6 / 1; }
.material-cards h3, .material-cards p { padding-inline: 20px; }
.material-cards h3 { margin: 18px 0 7px; font-size: 15px; text-transform: uppercase; }
.material-cards p { color: var(--muted); font-size: 13px; padding-bottom: 18px; }
.specs-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.specs-grid h2 { font-family: var(--display); font-size: 56px; }
.spec-table { margin: 0; }
.spec-table div { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--border); padding-block: 12px; font-size: 13px; }
.spec-table dt { color: var(--muted); }.spec-table dd { margin: 0; }
.dimension-card { position: relative; min-height: 480px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; gap: 40px; border: 1px solid var(--border); padding: 48px; background: #fafafa; }
.dimension-sofa, .dimension-side { position: relative; height: 220px; display: flex; align-items: end; gap: 3px; border-bottom: 1px solid #9fa29f; }
.dimension-sofa span { width: 33.333%; height: 120px; display: block; border: 2px solid #929793; border-radius: 20px 20px 3px 3px; }
.dimension-sofa span::before { width: 70%; height: 65px; display: block; border: 1px solid #b7bab7; border-radius: 18px; margin: 18px auto; content: ""; }
.dimension-sofa b, .dimension-side b { position: absolute; right: 0; bottom: -28px; left: 0; text-align: center; font-size: 11px; }
.dimension-side span { width: 100%; height: 120px; display: block; border: 2px solid #929793; border-radius: 20px 20px 3px 3px; }
.dimension-side em { position: absolute; right: -52px; bottom: 48px; font-size: 11px; font-style: normal; }
.dimension-card > p { position: absolute; bottom: 20px; left: 48px; color: var(--muted); font-size: 12px; }
.production-cards h3 { margin: 16px 0 6px; font-size: 14px; text-transform: uppercase; }
.production-cards p { color: rgba(255,255,255,.55); font-size: 13px; }
.related { background: #fff; }
.related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.related-grid a { display: grid; gap: 4px; transition: transform .35s cubic-bezier(.22,1,.36,1); }
.related-grid a:hover { transform: translateY(-6px); }
.related-grid span { aspect-ratio: 1.55 / 1; margin-bottom: 10px; background-color: var(--surface); transition: filter .35s ease, transform .55s cubic-bezier(.22,1,.36,1); }
.related-grid a:hover span { filter: saturate(1.06); transform: scale(1.025); }
.related-grid b { font-family: var(--display); font-size: 24px; }
.related-grid small { color: var(--muted); }
.consultation { padding-block: 78px; color: #fff; background: var(--brand-dark); }

/* Footer */
.site-footer { color: #fff; background: #111; }
.site-footer--light { color: var(--text); border-top: 1px solid var(--border); background: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 54px; padding-block: 58px; }
.footer-grid > div { display: grid; align-content: start; gap: 7px; }
.footer-grid h2 { margin-bottom: 8px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.footer-grid a:not(.logo), .footer-grid p { margin: 0; color: rgba(255,255,255,.52); font-size: 12px; line-height: 1.7; }
.site-footer--light .footer-grid a:not(.logo), .site-footer--light .footer-grid p { color: var(--muted); }
.footer-bottom { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); padding-block: 20px; color: rgba(255,255,255,.42); font-size: 11px; }
.site-footer--light .footer-bottom { border-color: var(--border); color: var(--muted); }
.legal-content { max-width: 900px; }
.legal-content h1 { max-width: 850px; overflow-wrap: anywhere; font-family: var(--display); font-size: clamp(52px,7vw,92px); line-height: .9; }
.legal-content h2 { margin-top: 40px; font-size: 20px; }
.legal-content p { color: var(--muted); line-height: 1.75; }
.legal-content a:not(.button) { color: var(--brand); text-decoration: underline; }

/* Motion system */
.scroll-progress { position: fixed; top: 0; right: 0; left: 0; z-index: 100; height: 2px; background: linear-gradient(90deg,var(--brand-light),#d7b888); pointer-events: none; transform: scaleX(0); transform-origin: left center; will-change: transform; }
.reveal { opacity: 0; filter: blur(7px); clip-path: inset(0 0 10% 0); transform: translateY(28px) scale(.992); transition: opacity .72s cubic-bezier(.22,1,.36,1), filter .72s cubic-bezier(.22,1,.36,1), clip-path .72s cubic-bezier(.22,1,.36,1), transform .72s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay,0ms); }
.reveal.is-visible { opacity: 1; filter: none; clip-path: inset(0); transform: none; }
.motion-ready .hero-media { animation: heroMediaIn 1.35s cubic-bezier(.22,1,.36,1) both; }
.motion-ready .hero-copy.is-visible > * { animation: heroItemIn .78s cubic-bezier(.22,1,.36,1) both; }
.motion-ready .hero-copy.is-visible > :nth-child(1) { animation-delay: .08s; }
.motion-ready .hero-copy.is-visible > :nth-child(2) { animation-delay: .16s; }
.motion-ready .hero-copy.is-visible > :nth-child(3) { animation-delay: .25s; }
.motion-ready .hero-copy.is-visible > :nth-child(4) { animation-delay: .34s; }
.motion-ready .hero-copy.is-visible > :nth-child(5) { animation-delay: .43s; }
.motion-ready .catalog-hero h1 { animation: titleReveal .85s cubic-bezier(.22,1,.36,1) both; }
.motion-ready .catalog-hero > p { animation: heroItemIn .7s .22s cubic-bezier(.22,1,.36,1) both; }
.mobile-nav.open { animation: mobileNavIn .32s cubic-bezier(.22,1,.36,1) both; }
.product-card.card-enter { animation: productCardIn .62s var(--card-delay,0ms) cubic-bezier(.22,1,.36,1) both; }

@keyframes headerDrop { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: none; } }
@keyframes heroMediaIn { from { opacity: .2; filter: saturate(.65) contrast(.9) blur(8px); } to { opacity: 1; filter: saturate(.9) contrast(1.03) blur(0); } }
@keyframes heroItemIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes titleReveal { from { opacity: 0; letter-spacing: .06em; transform: translateY(36px); } to { opacity: 1; letter-spacing: .01em; transform: none; } }
@keyframes productCardIn { from { opacity: 0; transform: translateY(24px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes gallerySwap { 0% { opacity: .35; filter: blur(4px); transform: scale(.985); } 100% { opacity: 1; filter: none; transform: none; } }
@keyframes mobileNavIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }

@media (max-width: 1100px) {
  .desktop-nav, .header-cta { display: none; }.menu-toggle { display: grid; }
  .benefit-grid article { padding-inline: 20px; }
  .production-grid { grid-template-columns: 1fr; }.home-crop--factory { min-height: 480px; }
  .process-grid { grid-template-columns: repeat(2,1fr); gap: 34px 0; }
  .process-grid article:nth-child(3) { border-left: 0; padding-left: 0; }
  .quality-grid { grid-template-columns: 1fr 1fr; }.quality-grid > :nth-child(3) { border-left: 0; }
  .filter-row { grid-template-columns: 1fr 1fr 170px; }.filter-buttons { grid-column: 1/-1; }.color-filter:empty { display: none; }.search-box { grid-column: 1/3; min-width: 250px; }.filter-row > select { grid-column: 3; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .product-detail-grid { grid-template-columns: 1.35fr .65fr; gap: 34px; }.gallery { grid-template-columns: 72px 1fr; }
  .specs-grid { grid-template-columns: minmax(0,1fr); }.dimension-card { min-height: 420px; }
}

@media (max-width: 767px) {
  .container { width: min(100% - 36px,1280px); }
  .section { padding-block: 72px; }
  .header-inner { min-height: 68px; }.hero { min-height: auto; padding-top: 68px; }
  .hero-media { inset: 0; opacity: .58; }.hero-overlay { background: linear-gradient(90deg,rgba(21,21,21,.98),rgba(21,21,21,.78)); }
  .hero-grid { min-height: 620px; }.hero-copy { padding-block: 58px; }
  .hero h1 { font-size: clamp(50px,15vw,74px); }.hero-lead { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .material-dot { width: 38px; height: 38px; }
  .benefit-grid { grid-template-columns: 1fr; }.benefit-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); padding: 22px 0; }
  .section-heading--row { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
  .collection-grid { grid-template-columns: 1fr; }.collection-card { min-height: 320px; }
  .stats { grid-template-columns: 1fr 1fr; }.home-crop--factory { min-height: 330px; }
  .process-grid { grid-template-columns: 1fr; }.process-grid article, .process-grid article:nth-child(3) { min-height: auto; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); padding: 24px 0; }
  .material-tabs { justify-content: flex-start; overflow-x: auto; margin: 24px 0; }
  .material-showcase { grid-template-columns: 1fr; }.home-crop--materials { min-height: 260px; }.swatch-list { grid-template-columns: repeat(5,130px); overflow-x: auto; }.swatch { min-height: 210px; }
  .quality-grid { grid-template-columns: 1fr; }.quality-grid > * { min-height: auto; border-top: 1px solid var(--border); border-left: 0; padding: 26px 0; }
  .contact-grid, .form-row { grid-template-columns: 1fr; }.contact-grid { gap: 42px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px; }.footer-bottom { gap: 20px; }
  .catalog-hero { min-height: 220px; align-items: flex-end; }.catalog-hero h1 { font-size: 76px; }.catalog-hero > p { margin-top: 0; }
  .catalog-controls { position: static; }.filter-row { grid-template-columns: 1fr; }.filter-buttons { display: grid; grid-template-columns: 1fr 1fr; grid-column: auto; }.color-filter { overflow-x: auto; }.search-box, .filter-row > select { grid-column: auto; min-width: 0; }.filter-row select { width: 100%; }
  .product-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }.product-info { padding: 14px 12px 16px; }.product-info h2 { font-size: 21px; }.product-info dl { display: none; }
  .catalog-cta { align-items: flex-start; flex-direction: column; padding: 28px 24px; }
  .product-hero { padding-bottom: 48px; }.product-detail-grid { grid-template-columns: 1fr; }.gallery { grid-template-columns: 1fr; }.gallery-thumbs { grid-row: 2; grid-template-columns: repeat(4,1fr); }.gallery-main { aspect-ratio: 1.15 / 1; }.product-summary { position: static; }
  .product-thumb:hover { transform: translateY(-3px); }
  .product-story-grid { grid-template-columns: 1fr; }.product-story .product-crop { min-height: 330px; }.material-cards, .production-cards { grid-template-columns: 1fr; }
  .specs-grid h2 { font-size: 44px; line-height: .96; overflow-wrap: anywhere; }
  .dimension-card { grid-template-columns: minmax(0,1fr); width: 100%; max-width: 100%; min-width: 0; min-height: 650px; overflow: hidden; padding: 30px; }.dimension-card > * { min-width: 0; }.dimension-card > p { left: 30px; }.dimension-side em { right: 0; }.related-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 480px) {
  .container { width: calc(100% - 32px); }
  .hero h1 { font-size: 49px; }.button { width: 100%; }
  .stats { grid-template-columns: 1fr; }.stats div { padding: 18px; }
  .product-grid { grid-template-columns: 1fr; }.product-image { aspect-ratio: 1.15 / 1; }
  .footer-grid { grid-template-columns: 1fr; }.footer-bottom { align-items: flex-start; flex-direction: column; }
  .catalog-hero { align-items: flex-start; flex-direction: column; justify-content: center; }.catalog-hero > p { align-self: auto; }
  .related-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.reveal { opacity: 1; filter: none; clip-path: none; transform: none; transition: none; }.hero-media { transform: none; }.scroll-progress { display: none; }
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
