:root {
  --ink: #202522;
  --muted: #656a66;
  --line: #dfe1dc;
  --paper: #f6f5f1;
  --white: #fff;
  --accent: #ffd21c;
  --accent-deep: #f2bf00;
  --olive: #334238;
  --danger: #a94335;
  --shadow: 0 18px 60px rgba(28, 35, 31, 0.12);
  --radius: 22px;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Manrope", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.section-shell { width: min(calc(100% - 64px), var(--max)); margin-inline: auto; }
.section-pad { padding-block: 110px; }
.announcement { height: 36px; padding: 0 34px; display: flex; align-items: center; justify-content: center; gap: 28px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.announcement a { color: var(--accent); }

.site-header { position:relative; z-index:30; width:100%; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 8px 28px rgba(29,35,31,.04); }
.header-primary { height:78px; display:flex; align-items:center; gap:14px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; letter-spacing: .04em; }
.brand-mark { width: 29px; height: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; transform: rotate(-4deg); }
.brand-mark i { background: var(--accent); border-radius: 2px; }
.brand-mark i:first-child { grid-column: span 2; clip-path: polygon(50% 0, 100% 75%, 100% 100%, 0 100%, 0 75%); }
.catalog-button, .icon-button { border: 0; cursor: pointer; background: var(--accent); }
.catalog-button { height: 48px; padding: 0 20px; display: flex; align-items: center; gap: 12px; border-radius: 10px; font-weight: 700; margin-left: 12px; }
.menu-icon { width: 18px; height: 12px; display: block; border-top: 2px solid; border-bottom: 2px solid; position: relative; }
.menu-icon::after { content: ""; position: absolute; width: 18px; border-top: 2px solid; left: 0; top: 3px; }
.location-chip { min-width:126px; height:48px; padding:0 14px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:10px; background:#f4f3ee; text-align:left; }
.location-chip strong { max-width:90px; overflow:hidden; text-overflow:ellipsis; font-size:11px; white-space:nowrap; }
.location-pin { width:16px; height:16px; flex:0 0 auto; border:2px solid #555d57; border-radius:50% 50% 50% 0; transform:rotate(-45deg) scale(.7); }
.location-pin::after { content:""; position:absolute; width:4px; height:4px; margin:4px; border-radius:50%; background:#555d57; }
.site-search { height:48px; position:relative; flex:1 1 340px; display:flex; align-items:center; gap:10px; padding:0 12px 0 15px; border:1px solid #e2e2dc; border-radius:10px; background:#f4f3ee; transition:border .2s,box-shadow .2s,background .2s; }
.site-search:focus-within { border-color:#b9a10e; background:#fff; box-shadow:0 0 0 4px rgba(255,210,28,.15); }
.site-search input { width:100%; height:100%; padding:0; border:0; outline:0; background:transparent; font-size:12px; }
.site-search input::-webkit-search-cancel-button { display:none; }
.site-search kbd { padding:3px 6px; border:1px solid #d5d6d0; border-bottom-width:2px; border-radius:5px; background:#fff; color:#8a8e89; font:7px Manrope,sans-serif; white-space:nowrap; }
.search-icon { width:15px; height:15px; flex:0 0 auto; border:2px solid #555d57; border-radius:50%; position:relative; }
.search-icon::after { content:""; position:absolute; width:6px; border-top:2px solid #555d57; right:-5px; bottom:-2px; transform:rotate(45deg); }
.search-suggestions { position:absolute; z-index:80; top:56px; left:0; right:0; padding:8px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 20px 55px rgba(27,33,29,.18); }
.search-suggestions[hidden] { display:none; }
.search-suggestions button { width:100%; min-height:48px; padding:7px 10px; display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; gap:0 10px; border:0; border-radius:8px; background:#fff; text-align:left; cursor:pointer; }
.search-suggestions button:hover,.search-suggestions button.active { background:#f7f5ea; }
.search-suggestions button > span { grid-row:1/3; width:32px; height:32px; display:grid; place-items:center; border-radius:8px; background:#fff2a9; font-size:12px; }
.search-suggestions strong { font-size:10px; }.search-suggestions small { color:var(--muted); font-size:8px; }
.search-empty { margin:0; padding:14px; color:var(--muted); font-size:10px; text-align:center; }
.header-secondary { border-top:1px solid #f1f1ed; }
.header-secondary > .section-shell { height:43px; display:flex; align-items:center; gap:26px; }
.desktop-nav { display:flex; align-items:center; gap:28px; font-size:11px; font-weight:700; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content: ""; position: absolute; height: 2px; width: 0; left: 0; bottom: -8px; background: var(--accent-deep); transition: width .25s; }
.desktop-nav a:hover::after { width: 100%; }
.service-nav { margin-right:auto; }
.sale-link { color:#a94436; }.sale-link > span { margin-right:4px; font-size:14px; }
.planner-header-link { font-size:10px; font-weight:800; }.planner-header-link span { color:#9f8700; font-size:14px; }
.header-secondary > .section-shell > a:last-child { color:var(--muted); font-size:10px; font-weight:700; }
.product-nav-shell { border-top:1px solid #f1f1ed; }
.product-nav { height:42px; display:flex; align-items:center; gap:clamp(22px,3vw,42px); overflow-x:auto; scrollbar-width:none; }
.product-nav::-webkit-scrollbar { display:none; }
.product-nav a { position:relative; flex:0 0 auto; color:#535955; font-size:10px; font-weight:650; }
.product-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-13px; border-top:2px solid var(--accent-deep); transition:right .2s; }.product-nav a:hover::after { right:0; }
.product-nav a.active { color:var(--ink); font-weight:800; }.product-nav a.active::after { right:0; }
.header-phone { text-align: right; font-size: 15px; font-weight: 800; white-space: nowrap; }
.header-phone small { display: block; color: var(--muted); font-size: 10px; font-weight: 500; }
.mobile-menu { display: none; width: 44px; height: 44px; border-radius: 10px; place-items: center; margin-left: auto; }

.promo-carousel { margin-top:24px; margin-bottom:28px; position:relative; }
.promo-viewport { overflow:hidden; border-radius:20px; box-shadow:0 18px 50px rgba(26,31,27,.1); }
.promo-track { display:flex; transition:transform .65s cubic-bezier(.22,.75,.18,1); will-change:transform; }
.promo-slide { min-width:100%; height:340px; position:relative; overflow:hidden; background:#f4c814; }
.promo-slide > img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.promo-copy { position:relative; z-index:2; width:49%; height:100%; padding:46px 0 40px 54px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.promo-copy::before { content:""; position:absolute; z-index:-1; inset:0 -100px 0 0; background:linear-gradient(90deg,rgba(255,205,19,.98) 0%,rgba(255,205,19,.88) 58%,transparent 100%); }
.promo-copy p { margin:0 0 8px; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:800; }
.promo-copy h2 { max-width:570px; margin:0; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.055em; }
.promo-copy > span { max-width:490px; margin:15px 0 20px; font-size:12px; line-height:1.6; }
.promo-copy a { min-height:38px; padding:0 15px; display:inline-flex; align-items:center; gap:22px; border-radius:8px; background:var(--ink); color:#fff; font-size:9px; font-weight:800; }
.promo-copy a b { font-size:14px; }
.promo-badge { position:absolute; z-index:3; top:25px; right:29px; padding:10px 14px; border-radius:9px; background:#fff; box-shadow:0 10px 25px rgba(0,0,0,.12); color:#222; font-size:10px; transform:rotate(2deg); }
.tone-cream .promo-copy::before { background:linear-gradient(90deg,rgba(249,244,234,.99) 0%,rgba(249,244,234,.91) 62%,transparent 100%); }
.tone-cream .promo-badge { background:var(--accent); }
.tone-dark { color:#fff; }.tone-dark .promo-copy::before { background:linear-gradient(90deg,rgba(28,35,28,.98) 0%,rgba(28,35,28,.9) 62%,transparent 100%); }.tone-dark .promo-copy a { background:var(--accent); color:var(--ink); }.tone-dark .promo-badge { background:var(--accent); color:var(--ink); font-size:16px; }
.promo-arrow { position:absolute; z-index:5; top:50%; width:46px; height:46px; display:grid; place-items:center; border:1px solid #e5e5df; border-radius:50%; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.1); font-size:28px; line-height:1; cursor:pointer; transform:translateY(-50%); transition:transform .2s,background .2s; }.promo-arrow:hover { background:var(--accent); transform:translateY(-50%) scale(1.06); }.promo-prev { left:-22px; }.promo-next { right:-22px; }
.promo-dots { position:absolute; z-index:5; left:50%; bottom:14px; display:flex; gap:6px; transform:translateX(-50%); }.promo-dots button { width:7px; height:7px; padding:0; border:0; border-radius:5px; background:rgba(255,255,255,.65); box-shadow:0 0 0 1px rgba(0,0,0,.12); cursor:pointer; transition:width .25s,background .25s; }.promo-dots button.active { width:25px; background:#fff; }

.hero { min-height: 675px; border-radius: 4px 4px var(--radius) var(--radius); overflow: hidden; position: relative; background: #9a9485; color: white; }
.hero-media { position: absolute; inset: 0; background: url("assets/hero-interior.png") center / cover no-repeat; transform: scale(1.01); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22, 25, 22, .76) 0%, rgba(22,25,22,.42) 35%, rgba(22,25,22,.03) 65%); }
.hero-copy { position: relative; z-index: 1; width: min(670px, 58%); padding: 94px 0 80px 72px; }
.eyebrow { margin: 0 0 18px; color: #59605b; text-transform: uppercase; letter-spacing: .15em; font-size: 11px; font-weight: 800; }
.eyebrow-light { color: #f0f1ed; }
.eyebrow-light::before, .eyebrow::before { content: ""; width: 20px; border-top: 2px solid var(--accent-deep); display: inline-block; vertical-align: middle; margin-right: 10px; }
.hero h1, .section-heading h2, .planner-intro h2, .contact h2 { margin: 0; font-size: clamp(44px, 5.15vw, 78px); line-height: .98; letter-spacing: -.055em; font-weight: 600; }
.hero h1 em { color: var(--accent); font-style: normal; }
.hero-lead { max-width: 530px; margin: 28px 0 34px; color: rgba(255,255,255,.86); font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 52px; border: 0; padding: 0 24px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; font-size: 13px; font-weight: 800; cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--accent); color: var(--ink); }
.button-primary:hover { background: #ffdc45; box-shadow: 0 12px 30px rgba(255, 210, 28, .2); }
.button-ghost { border: 1px solid rgba(255,255,255,.5); color: white; background: rgba(255,255,255,.06); backdrop-filter: blur(8px); }
.button-dark { background: var(--ink); color: white; }
.hero-stat { position: absolute; z-index: 1; right: 38px; bottom: 34px; display: flex; align-items: center; gap: 14px; padding: 15px 18px; border-radius: 12px; background: rgba(255,255,255,.9); color: var(--ink); backdrop-filter: blur(12px); }
.hero-stat strong { font-size: 25px; }
.hero-stat span { font-size: 11px; line-height: 1.45; color: var(--muted); }

.trust-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-bottom: 1px solid var(--line); }
.trust-strip > div { min-height: 120px; padding: 25px 28px; display: flex; align-items: center; gap: 16px; border-right: 1px solid var(--line); }
.trust-strip > div:last-child { border: 0; }
.trust-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #f1f1ed; font-size: 15px; font-weight: 800; }
.trust-strip p, .trust-strip small { display: block; margin: 0; }
.trust-strip strong { font-size: 13px; }
.trust-strip small { margin-top: 4px; color: var(--muted); font-size: 10px; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 50px; }
.section-heading h2 { font-size: clamp(36px, 4vw, 58px); }
.section-heading > p { max-width: 435px; margin: 0 0 5px; color: var(--muted); line-height: 1.7; font-size: 14px; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.category-card { min-height: 430px; position: relative; padding: 24px; display: flex; flex-direction: column; overflow: hidden; background: var(--paper); border-radius: 16px; transition: transform .25s, box-shadow .25s; cursor: pointer; }
.category-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.category-art { height: 250px; margin: -24px -24px 26px; position: relative; overflow: hidden; display: grid; place-items: center; }
.category-card.has-photo .category-art { background-size: cover; background-position: center; transition: transform .5s ease; }
.category-card.has-photo:hover .category-art { transform: scale(1.035); }
.category-card.has-photo .category-art img { width:100%; height:100%; display:block; object-fit:cover; }
.category-kitchen .category-art { background: #e0d7c6; }
.category-wardrobe .category-art { background: #c9c4b9; }
.category-living .category-art { background: #a9b09f; }
.category-kids .category-art { background: #d9c39f; }
.category-card > div:last-of-type { position: relative; z-index: 2; }
.category-card span { color: #8b8f8b; font-size: 10px; }
.category-card h3 { margin: 7px 0; font-size: 18px; }
.category-card p { margin: 0; color: var(--muted); font-size: 12px; }
.category-card > b { position: absolute; width: 40px; height: 40px; right: 18px; bottom: 18px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #c7cac5; font-size: 16px; }
.featured-products { padding-top:24px; }
.product-section-head { margin-bottom:34px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.product-section-head .eyebrow { margin-bottom:10px; }
.product-section-head h2 { margin:0; font-size:clamp(34px,4vw,56px); line-height:1; letter-spacing:-.045em; }
.product-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.product-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; transition:transform .25s,box-shadow .25s; }
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.product-photo { display:block; height:245px; overflow:hidden; background:var(--paper); }
.product-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s ease; }
.product-card:hover .product-photo img { transform:scale(1.035); }
.product-info { padding:20px; display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.product-info > span { color:#8a8e89; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.product-info h3 { margin:9px 0 8px; font-size:17px; line-height:1.3; }
.product-info p { min-height:48px; margin:0 0 18px; color:var(--muted); font-size:11px; line-height:1.55; }
.product-info > strong { margin-top:auto; font-size:20px; letter-spacing:-.03em; }
.product-info > a { width:100%; min-height:40px; margin-top:17px; padding:0 13px; display:flex; align-items:center; justify-content:space-between; border-radius:8px; background:var(--ink); color:#fff; font-size:10px; font-weight:800; }
.product-info > a:hover { background:var(--olive); }
.price-disclaimer { margin:20px 0 0; color:#888d88; font-size:10px; line-height:1.6; }
.mini-kitchen { width: 78%; height: 58%; display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; perspective: 300px; transform: rotate(-2deg); }
.mini-kitchen i { display: block; background: #725c44; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.mini-kitchen i:first-child { grid-row: 1 / 3; background: #b79b75; }
.mini-kitchen i:last-child { grid-column: 2 / 4; background: #f0ede5; border-top: 7px solid #655a4a; }
.mini-wardrobe { width: 66%; height: 72%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: #9e9383; padding: 6px; box-shadow: 16px 18px 30px rgba(40,36,30,.18); }
.mini-wardrobe i { background: linear-gradient(120deg, #e3ded3, #b3a999); border-left: 2px solid rgba(255,255,255,.55); position: relative; }
.mini-wardrobe i::after { content:""; width: 2px; height: 14px; background: #5d564d; position: absolute; right: 6px; top: 48%; }
.mini-living { width: 82%; height: 50%; position: relative; border-radius: 22px 22px 5px 5px; background: #4d584c; box-shadow: 0 22px 30px rgba(36,48,38,.25); }
.mini-living i { position: absolute; background: #566252; }
.mini-living i:first-child { width: 34%; height: 76%; left: -4%; bottom: -10%; border-radius: 20px; }
.mini-living i:nth-child(2) { width: 34%; height: 76%; right: -4%; bottom: -10%; border-radius: 20px; }
.mini-living i:last-child { width: 22%; height: 30%; left: 38%; top: -5%; background: #c0aa7d; border-radius: 6px; }
.mini-kids { width: 82%; height: 65%; position: relative; border-bottom: 12px solid #805e3f; }
.mini-kids i { position: absolute; bottom: 0; }
.mini-kids i:first-child { width: 65%; height: 14px; background: #af8a65; left: 8%; bottom: 58%; }
.mini-kids i:nth-child(2) { width: 8px; height: 62%; background: #735237; left: 13%; }
.mini-kids i:last-child { width: 35%; height: 46%; right: 4%; background: #e5ddca; border: 8px solid #6e7c70; }

.planner-section { padding: 100px 0 110px; background: var(--olive); color: white; }
.planner-intro { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.planner-intro h2 { font-size: clamp(38px, 4.3vw, 62px); }
.planner-intro > p { max-width: 480px; color: rgba(255,255,255,.66); margin: 0 0 6px; font-size: 14px; line-height: 1.7; }
.planner-app { display: grid; grid-template-columns: 300px minmax(0,1fr) 270px; grid-template-rows: 1fr 84px; min-height: 790px; overflow: hidden; background: var(--paper); color: var(--ink); border:1px solid rgba(255,255,255,.18); border-radius: 20px; box-shadow: 0 38px 90px rgba(10,18,12,.28); }
.planner-sidebar { min-height:0; display:flex; flex-direction:column; background: white; border-right: 1px solid var(--line); }
.planner-step { padding: 26px; border-bottom: 1px solid var(--line); }
.planner-step:last-child { min-height:0; flex:1; display:flex; flex-direction:column; border-bottom:0; }
.step-title { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.step-title > span { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; background: var(--accent); border-radius: 50%; font-size: 11px; font-weight: 800; }
.step-title h3 { margin: 0; font-size: 14px; }
.dimension-inputs { display: flex; align-items: end; gap: 9px; }
.dimension-inputs label { color: var(--muted); font-size: 9px; font-weight: 700; }
.dimension-inputs input { width: 110px; height: 42px; display: block; margin-top: 6px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); font-weight: 700; outline: none; }
.dimension-inputs input:focus { border-color: #918632; box-shadow: 0 0 0 3px rgba(255,210,28,.25); }
.dimension-inputs > span { padding-bottom: 10px; color: #949994; }
.planner-library-search { height:40px; margin-bottom:10px; padding:0 11px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:#7f867f; }
.planner-library-search:focus-within { border-color:#ac9208; box-shadow:0 0 0 3px rgba(255,210,28,.2); }
.planner-library-search > span { font-size:18px; transform:rotate(-15deg); }
.planner-library-search input { min-width:0; width:100%; height:100%; padding:0; border:0; outline:0; background:transparent; color:var(--ink); font:600 9px Manrope,sans-serif; }
.planner-library-search input::-webkit-search-cancel-button { cursor:pointer; }
.object-tabs { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding:3px; margin-bottom:10px; border-radius:9px; background:var(--paper); }
.object-tabs button { min-width:0; height:31px; padding:0 5px; border:0; border-radius:6px; background:transparent; color:#5e655f; font-size:8px; font-weight:800; cursor:pointer; }
.object-tabs button.active { background:var(--ink); color:white; box-shadow:0 3px 10px rgba(25,31,26,.18); }
.planner-library-meta { margin:1px 2px 9px; display:flex; justify-content:space-between; color:#919791; font-size:8px; }
.planner-library-meta > span { color:var(--ink); font-weight:800; }
.object-library-scroll { min-height:0; flex:1; overflow:auto; padding:1px 4px 4px 1px; scrollbar-width:thin; scrollbar-color:#c8cbc5 transparent; }
.object-library { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.object-library button { min-width:0; min-height:112px; padding:8px 6px 9px; border:1px solid var(--line); border-radius:10px; background:white; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; cursor:pointer; transition:border .2s,background .2s,transform .2s,box-shadow .2s; }
.object-library button:hover { border-color:#bea208; background:#fffdf3; box-shadow:0 8px 18px rgba(36,40,35,.08); transform:translateY(-2px); }
.object-library button:focus-visible { outline:3px solid rgba(255,210,28,.45); outline-offset:1px; }
.object-thumb { width:100%; height:54px; display:grid; place-items:center; overflow:hidden; border-radius:7px; background:linear-gradient(145deg,#eceee8,#dfe4dc); box-shadow:inset 0 -12px 22px rgba(70,78,70,.08); }
.object-thumb > span { font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif; font-size:28px; filter:drop-shadow(0 4px 5px rgba(36,43,37,.12)); transform:translateY(-1px); }
.thumb-storage { background:linear-gradient(145deg,#eee7dc,#d7c8b4); }
.thumb-modules { background:linear-gradient(145deg,#f0eee5,#d9d6c8); }
.thumb-room { background:linear-gradient(145deg,#e8f2f3,#cbdfe3); }
.object-library b { width:100%; min-height:21px; margin-top:7px; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:var(--ink); font-size:9px; line-height:1.15; text-align:center; }
.object-library small { margin-top:4px; color:var(--muted); font-size:7px; }
.planner-library-empty { margin:24px 8px; color:var(--muted); font-size:9px; line-height:1.6; text-align:center; }
.drag-hint { margin:11px 0 0; padding:10px 11px; border-left:3px solid var(--accent); border-radius:0 7px 7px 0; background:#fff9dd; color:#777d77; font-size:8px; line-height:1.5; }

.planner-workspace { min-width: 0; display: grid; grid-template-rows: 68px 1fr; }
.planner-toolbar { padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: white; }
.planner-toolbar p { margin: 0; display: flex; gap: 12px; align-items: center; }
.planner-toolbar strong { font-size: 13px; }
.planner-toolbar p span { padding:5px 8px; border-radius:20px; background:#f1f2ed; color:var(--muted); font-size:9px; font-weight:700; }
.planner-toolbar > div { display:flex; gap:7px; }
.planner-toolbar button { min-width: 40px; height: 34px; border: 1px solid var(--line); background: white; border-radius: 6px; font-size: 10px; cursor: pointer; }
.planner-toolbar button:disabled { opacity: .35; cursor: default; }
.canvas-shell { min-height:500px; position:relative; overflow:hidden; padding:40px; display:grid; place-items:center; background-color:#f4f5f0; background-image:radial-gradient(circle at 50% 40%,rgba(255,255,255,.75),transparent 55%),linear-gradient(#e6e8e2 1px,transparent 1px),linear-gradient(90deg,#e6e8e2 1px,transparent 1px); background-size:auto,20px 20px,20px 20px; }
#roomCanvas { display: block; width: 100%; height: 100%; max-width: 820px; max-height: 520px; touch-action: none; overflow: visible; }
.room-floor { fill: #fff; stroke: #303630; stroke-width: 6; filter: drop-shadow(0 10px 14px rgba(30,35,30,.08)); }
.grid-line { stroke: #ecece7; stroke-width: 1; }
.dimension-line { stroke: #868c86; stroke-width: 1; }
.dimension-text { fill: #5e655f; font: 700 12px Manrope, sans-serif; }
.planner-object { cursor: grab; transform-box: fill-box; transform-origin: center; transition: filter .15s; }
.planner-object:active { cursor: grabbing; }
.planner-object .shape { stroke: #374139; stroke-width: 2; }
.planner-object .detail { fill: none; stroke: rgba(55,65,57,.58); stroke-width: 1.4; pointer-events:none; }
.planner-object .detail-fill { fill:rgba(255,255,255,.18); }
.planner-object .detail-dashed { stroke-dasharray:5 4; }
.planner-object .detail-seat { fill:#5d685d; stroke:#fff; stroke-width:1; opacity:.78; pointer-events:none; }
.planner-object .detail-dot { fill:#5d685d; stroke:none; pointer-events:none; }
.planner-object .detail-accent { fill:#667b63; stroke:#3e4d3d; stroke-width:1; pointer-events:none; }
.planner-object .detail-plant { fill:#6d8f68; stroke:#3e5b40; stroke-width:1.2; pointer-events:none; }
.planner-object .object-label { paint-order:stroke; stroke:rgba(255,255,255,.68); stroke-width:3px; stroke-linejoin:round; }
.planner-object .opening-gap { fill:none; stroke:#fff; stroke-width:10; stroke-linecap:round; pointer-events:none; }
.planner-object .opening-threshold { fill:none; stroke:#5a4b3e; stroke-width:2; stroke-linecap:round; pointer-events:none; }
.planner-object .opening-leaf { fill:none; stroke:#765e46; stroke-width:4; stroke-linecap:round; pointer-events:none; }
.planner-object .opening-arc { fill:none; stroke:#8e968d; stroke-width:1.5; stroke-dasharray:5 4; pointer-events:none; }
.planner-object .opening-glass { fill:none; stroke:#d9f1f3; stroke-width:2; pointer-events:none; }
.opening-label { fill:#665748; pointer-events:none; font:700 8px Manrope,sans-serif; paint-order:stroke; stroke:rgba(255,255,255,.8); stroke-width:3px; }
.planner-object .door-hit { fill:rgba(255,255,255,.01); stroke:transparent; stroke-width:0; }
.planner-object.selected .door-hit { stroke:transparent; }
.planner-object.selected { filter: drop-shadow(0 0 4px rgba(214,168,0,.7)); }
.planner-object.selected .shape { stroke: #d6a800; stroke-width: 3; }
.object-label { fill: #343a35; pointer-events: none; font: 700 10px Manrope, sans-serif; text-anchor: middle; dominant-baseline: middle; }
.object-size-label { fill:#59615b; pointer-events:none; font:700 8px Manrope,sans-serif; text-anchor:middle; dominant-baseline:middle; }
.selection-outline { display:none; fill:none; stroke:#d6a800; stroke-width:1.5; stroke-dasharray:5 4; pointer-events:none; }
.planner-object.selected .selection-outline { display:block; }
.resize-handle { display:none; cursor:nwse-resize; }
.planner-object.selected .resize-handle { display:block; }
.resize-handle rect { fill:var(--accent); stroke:#fff; stroke-width:2; }
.resize-handle path { fill:none; stroke:#3d3a22; stroke-width:1.5; pointer-events:none; }
.canvas-tip { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); padding:8px 13px; border:1px solid rgba(210,176,0,.28); border-radius:20px; background:#fff8d8; box-shadow:0 4px 14px rgba(0,0,0,.08); color:#67633e; font-size:8px; font-weight:700; white-space:nowrap; transition:opacity .25s; }
.planner-inspector { padding:26px 20px 22px; background:#fff; border-left:1px solid var(--line); }
.inspector-heading { padding:0 0 20px; border-bottom:1px solid var(--line); }
.planner-app.has-selection .inspector-heading { margin:-26px -20px 0; padding:24px 20px 20px; background:linear-gradient(135deg,#fff8d8,#fffdf4); border-bottom-color:#ead998; }
.inspector-heading > span { display:block; margin-bottom:9px; color:#989d98; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.inspector-heading h3 { margin:0; font-size:18px; }
.inspector-heading p { min-height:34px; margin:8px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.planner-inspector fieldset { min-width:0; margin:0; padding:20px 0 0; border:0; }
.object-dimensions { display:grid; gap:10px; }
.object-dimensions label { color:var(--muted); font-size:8px; font-weight:700; }
.size-stepper { margin-top:6px; display:grid; grid-template-columns:35px 1fr 35px; }
.size-stepper button { height:42px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:15px; }
.size-stepper button:first-child { border-radius:7px 0 0 7px; }
.size-stepper button:last-child { border-radius:0 7px 7px 0; }
.size-stepper button:hover:not(:disabled) { background:#fff8d8; border-color:#d3b30a; }
.object-dimensions input { width:100%; height:42px; display:block; padding:0 6px; border:1px solid var(--line); border-inline:0; border-radius:0; background:var(--paper); color:var(--ink); font-weight:800; text-align:center; outline:none; }
.object-dimensions input:focus { border-color:#a99008; box-shadow:0 0 0 3px rgba(255,210,28,.22); }
.planner-inspector button { width:100%; border-radius:7px; font-weight:800; cursor:pointer; transition:border-color .2s,background .2s,transform .2s; }
.planner-inspector button:not(:disabled):active { transform:translateY(1px); }
.planner-inspector button:disabled { opacity:.38; cursor:default; }
.proportion-toggle { margin:11px 0; display:flex; align-items:center; gap:7px; color:var(--muted); font-size:8px; font-weight:700; cursor:pointer; }
.proportion-toggle input { accent-color:#d2ad00; }
.size-presets { margin:12px 0 4px; }
.size-presets > span { display:block; margin-bottom:7px; color:var(--muted); font-size:8px; font-weight:700; }
.size-presets > div { display:flex; flex-wrap:wrap; gap:5px; }
.size-presets button { width:auto; min-height:28px; padding:0 8px; border:1px solid var(--line); background:#fff; color:#5d645e; font-size:7px; }
.size-presets button.active { border-color:#c4a400; background:#fff4b9; color:var(--ink); }
.inspector-primary { height:42px; margin-top:9px; border:0; background:var(--accent); color:var(--ink); box-shadow:0 8px 18px rgba(202,166,0,.18); font-size:9px; }
.inspector-meta { margin:20px 0 10px; padding:10px 0; display:flex; justify-content:space-between; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-size:9px; }
.inspector-meta strong { color:var(--ink); }
.inspector-actions { display:grid; gap:6px; }
.inspector-actions.three { grid-template-columns:repeat(3,1fr); }
.inspector-actions button { min-width:0; height:56px; border:1px solid var(--line); background:#fff; font-size:17px; }
.inspector-actions small { display:block; margin-top:2px; color:var(--muted); font-size:7px; }
.inspector-secondary, .inspector-danger { height:38px; margin-top:9px; border:1px solid var(--line); background:#fff; font-size:8px; }
.inspector-danger { color:var(--danger); border-color:#ead2cd; }
.inspector-danger span { font-size:14px; vertical-align:-1px; }
.inspector-hint { margin-top:22px; padding:14px; border-radius:9px; background:#f4f5ef; }
.inspector-hint strong { font-size:9px; }
.inspector-hint p { margin:5px 0 0; color:var(--muted); font-size:8px; line-height:1.55; }
.planner-footer { grid-column: 1 / 4; padding: 0 24px 0 28px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); background: #fafaf8; }
.planner-footer > div { display: flex; align-items: center; gap: 12px; }
.planner-footer > div > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #dfe9df; color: #37613a; font-size: 12px; }
.planner-footer p { margin: 0; display: flex; flex-direction: column; }
.planner-footer strong { font-size: 11px; }.planner-footer small { margin-top: 3px; color: var(--muted); font-size: 9px; }

.text-link { font-size: 12px; font-weight: 800; padding-bottom: 7px; border-bottom: 1px solid var(--ink); }
.project-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 36px 16px; }
.project-card { overflow: hidden; }
.project-main { grid-row: span 3; }
.project-photo { height: 260px; position: relative; overflow: hidden; border-radius: 14px; }
.project-photo { background-size: cover; background-position: center; }
.project-photo > img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s ease; }
.project-card:hover .project-photo > img { transform:scale(1.025); }
.project-main .project-photo { height: 852px; }
.project-card > div:last-child { padding: 18px 4px; }
.project-card p { margin: 0 0 8px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.project-card h3 { margin: 0 0 8px; font-size: 17px; }
.project-card span { color: #8a8e8a; font-size: 10px; }
.photo-kitchen { background: linear-gradient(160deg, #b8aa92, #e5ddd0 60%, #8f7960); }
.photo-bedroom { background: linear-gradient(150deg, #d6d0c4, #9c968d); }
.photo-office { background: linear-gradient(150deg, #727c6e, #d1c3ab); }
.room-visual { position:absolute; inset: 10% 8%; display:block; background:rgba(255,255,255,.18); border-top:10px solid rgba(255,255,255,.5); box-shadow: inset 0 -50px rgba(69,57,44,.18), 0 30px 50px rgba(57,47,40,.14); }
.room-visual i { position:absolute; bottom:0; display:block; }
.room-kitchen i:first-child { width:70%; height:52%; left:0; background:#b7a284; border-top:12px solid #53504a; }
.room-kitchen i:nth-child(2) { width:30%; height:35%; right:0; background:#f1eee6; }
.room-kitchen i:last-child { width:36%; height:14%; left:33%; bottom:7%; background:#6c5f4e; border-radius:50%; box-shadow:0 20px 0 -7px #514a42; }
.room-bedroom i:first-child { width:65%; height:35%; left:18%; background:#c6b39a; border-radius:10px 10px 0 0; }
.room-bedroom i:nth-child(2) { width:22%; height:60%; left:0; background:#dedbd2; }
.room-bedroom i:last-child { width:26%; height:68%; right:0; background:#877e70; }
.room-office i:first-child { width:78%; height:12%; left:8%; bottom:30%; background:#765e45; }
.room-office i:nth-child(2) { width:30%; height:50%; right:2%; background:#ddd0b8; }
.room-office i:last-child { width:20%; height:34%; left:25%; background:#465045; border-radius:50% 50% 6px 6px; }

.process-section { background: var(--paper); }
.process-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #d2d4cf; }
.process-list li { min-width:0; min-height:450px; padding:22px 22px 24px 0; display:grid; grid-template-rows:auto auto 1fr; border-right:1px solid #d2d4cf; }
.process-list li:not(:first-child) { padding-left:22px; }
.process-list li:last-child { border:0; }
.process-photo { aspect-ratio:4/3; margin-bottom:16px; overflow:hidden; border-radius:12px; background:#dedfd8; }
.process-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.process-list li:hover .process-photo img { transform:scale(1.035); }
.process-list > li > span { color:#949994; font-size:10px; font-weight:700; }
.process-copy { align-self:end; padding-top:24px; }
.process-list h3 { margin:0 0 10px; font-size:18px; }
.process-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }

.contact { margin-block: 110px; min-height: 590px; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:20px; background:var(--ink); color:white; }
.contact-copy { padding:70px; background: radial-gradient(circle at 90% 100%, rgba(255,210,28,.2), transparent 40%); }
.contact h2 { font-size:clamp(42px,4.4vw,64px); }
.contact-copy > p:nth-of-type(2) { max-width:430px; margin:30px 0; color:rgba(255,255,255,.62); font-size:13px; line-height:1.7; }
.contact-copy > a { color:var(--accent); font-size:22px; font-weight:800; }
.contact-form { margin:18px; padding:50px; display:flex; flex-direction:column; justify-content:center; gap:20px; border-radius:14px; background:white; color:var(--ink); }
.contact-form label { color:var(--muted); font-size:10px; font-weight:700; }
.contact-form input, .contact-form select { width:100%; height:48px; display:block; margin-top:5px; padding:0 2px; border:0; border-bottom:1px solid #c9ccc7; background:white; border-radius:0; outline:none; }
.contact-form input:focus, .contact-form select:focus { border-color:#a48700; }
.contact-form .button { margin-top:8px; width:100%; }
.contact-form > p { margin:0; text-align:center; color:#969a96; font-size:8px; }
.form-success { display:none; padding:12px; border-radius:8px; background:#eef5ec; color:#41663f; font-size:11px; line-height:1.5; }
.form-success.visible { display:block; }

.site-footer { min-height:240px; padding:52px 0 25px; display:grid; grid-template-columns:1.2fr 1.4fr 1fr 1fr; gap:30px; align-items:start; border-top:1px solid var(--line); }
.footer-brand { font-size:20px; }
.site-footer p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.site-footer nav, .site-footer > div { display:flex; flex-direction:column; gap:12px; font-size:11px; font-weight:700; }
.site-footer small { grid-column:1/-1; color:#9a9e9a; font-size:9px; padding-top:26px; }

@media (max-width: 1100px) {
  .section-shell { width:min(calc(100% - 36px), var(--max)); }
  .header-phone { display:none; }
  .location-chip { min-width:118px; }
  .promo-copy { width:58%; }
  .hero-copy { padding-left:45px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .product-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .planner-app { grid-template-columns:250px minmax(0,1fr) 230px; }
  .planner-step { padding-inline:20px; }
  .planner-inspector { padding-inline:16px; }
  .project-photo { height:210px; }
  .project-main .project-photo { height:702px; }
}

@media (max-width: 800px) {
  .section-shell { width:calc(100% - 24px); }
  .section-pad { padding-block:72px; }
  .announcement { padding:0 12px; font-size:9px; justify-content:space-between; }
  .site-header { height:auto; }
  .header-primary { height:70px; }
  .catalog-button, .header-phone { display:none; }
  .location-chip { min-width:112px; margin-left:auto; }
  .site-search { flex-basis:220px; }
  .site-search kbd { display:none; }
  .mobile-menu { display:grid; }
  .header-secondary > .section-shell { height:0; }
  .header-secondary .planner-header-link,.header-secondary > .section-shell > a:last-child { display:none; }
  .desktop-nav { display:none; }
  .desktop-nav.open { position:absolute; z-index:40; display:flex; top:70px; left:12px; right:12px; padding:20px; flex-direction:column; align-items:flex-start; background:white; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
  .product-nav { height:44px; gap:28px; }
  .promo-carousel { margin-top:14px; margin-bottom:18px; }
  .promo-slide { height:310px; }
  .promo-slide > img { object-position:68% center; }
  .promo-copy { width:72%; padding:30px 0 30px 30px; }
  .promo-copy::before,.tone-cream .promo-copy::before,.tone-dark .promo-copy::before { right:-130px; }
  .promo-copy h2 { font-size:38px; }
  .promo-copy > span { max-width:330px; font-size:10px; }
  .promo-badge { top:14px; right:14px; }
  .promo-arrow { width:38px; height:38px; }.promo-prev { left:-8px; }.promo-next { right:-8px; }
  .hero { min-height:640px; }
  .hero-media { background-position:62% center; }
  .hero-overlay { background:linear-gradient(90deg,rgba(20,24,21,.82),rgba(20,24,21,.2)), linear-gradient(0deg,rgba(20,24,21,.5),transparent 60%); }
  .hero-copy { width:100%; padding:70px 25px 150px; }
  .hero h1 { font-size:48px; }
  .hero-stat { right:18px; bottom:20px; }
  .trust-strip { grid-template-columns:1fr 1fr; }
  .trust-strip > div:nth-child(2) { border-right:0; }
  .trust-strip > div { min-height:98px; padding:18px 10px; }
  .section-heading, .planner-intro { align-items:start; flex-direction:column; }
  .product-section-head { align-items:flex-start; flex-direction:column; }
  .category-card { min-height:360px; }
  .category-art { height:200px; }
  .planner-section { padding:72px 0; }
  .planner-app { display:block; }
  .planner-sidebar { border-right:0; }
  .planner-step { padding:22px; }
  .object-library { grid-template-columns:repeat(4,1fr); }
  .object-library button { min-height:90px; }
  .planner-workspace { min-height:560px; grid-template-rows:68px 1fr; }
  .canvas-shell { min-height:450px; padding:36px 22px; }
  .planner-inspector { padding:24px; border-left:0; border-top:1px solid var(--line); }
  .planner-inspector fieldset { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; }
  .planner-inspector .object-dimensions, .planner-inspector .inspector-primary, .planner-inspector .inspector-meta, .planner-inspector .inspector-actions { grid-column:1/-1; }
  .planner-inspector .inspector-secondary, .planner-inspector .inspector-danger { margin-top:0; }
  .inspector-hint { margin-top:18px; }
  .planner-footer { min-height:90px; padding:16px 20px; gap:14px; }
  .project-grid { grid-template-columns:1fr; }
  .project-main { grid-row:auto; }
  .project-main .project-photo, .project-photo { height:420px; }
  .process-list { grid-template-columns:1fr 1fr; }
  .process-list li:nth-child(2) { border-right:0; }
  .process-list li { padding:24px 20px!important; min-height:410px; border-bottom:1px solid #d2d4cf; }
  .contact { margin-block:72px; grid-template-columns:1fr; }
  .contact-copy { padding:50px 35px; }
  .contact-form { padding:34px; }
  .site-footer { grid-template-columns:1fr 1fr; }
}

@media (max-width: 520px) {
  .announcement span { max-width:72%; }
  .brand { font-size:18px; }
  .brand-mark { width:24px; height:25px; }
  .header-primary { min-height:122px; height:auto; padding-block:9px; display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:46px 52px; }
  .header-primary .brand { grid-column:1/3; grid-row:1; }
  .mobile-menu { grid-column:3; grid-row:1; }
  .location-chip { grid-column:1; grid-row:2; min-width:108px; height:44px; margin:0; padding-inline:10px; }
  .site-search { grid-column:2/4; grid-row:2; height:44px; min-width:0; }
  .desktop-nav.open { top:58px; }
  .promo-slide { height:350px; }
  .promo-slide > img { object-position:72% center; }
  .promo-copy { width:100%; padding:30px 24px 32px; justify-content:flex-end; }
  .promo-copy::before,.tone-cream .promo-copy::before,.tone-dark .promo-copy::before { inset:25% 0 0; background:linear-gradient(0deg,rgba(255,205,19,1) 0%,rgba(255,205,19,.96) 55%,transparent 100%); }
  .tone-cream .promo-copy::before { background:linear-gradient(0deg,rgba(249,244,234,1) 0%,rgba(249,244,234,.96) 55%,transparent 100%); }
  .tone-dark .promo-copy::before { background:linear-gradient(0deg,rgba(28,35,28,1) 0%,rgba(28,35,28,.96) 58%,transparent 100%); }
  .promo-copy p { margin-bottom:5px; font-size:8px; }.promo-copy h2 { max-width:300px; font-size:32px; }.promo-copy > span { max-width:320px; margin:9px 0 13px; line-height:1.45; }.promo-copy a { min-height:34px; }
  .promo-badge { top:12px; right:12px; padding:8px 10px; }
  .promo-dots { bottom:9px; }
  .hero { min-height:610px; }
  .hero-copy { padding:55px 20px 150px; }
  .hero h1 { font-size:40px; }
  .hero-lead { font-size:14px; }
  .hero-actions .button { width:100%; }
  .hero-stat { left:18px; right:auto; }
  .trust-strip { display:none; }
  .section-heading h2, .planner-intro h2 { font-size:38px; }
  .category-grid { grid-template-columns:1fr; }
  .category-card { min-height:380px; }
  .product-card-grid { grid-template-columns:1fr; }
  .product-photo { height:280px; }
  .object-library { grid-template-columns:repeat(2,1fr); }
  .dimension-inputs input { width:120px; }
  .planner-workspace { grid-template-rows:60px 1fr; }
  .canvas-shell { min-height:390px; padding:30px 14px; }
  .planner-inspector fieldset { display:block; }
  .planner-inspector .inspector-secondary, .planner-inspector .inspector-danger { margin-top:9px; }
  .planner-footer { flex-direction:column; align-items:stretch; }
  .planner-footer .button { width:100%; }
  .project-main .project-photo, .project-photo { height:310px; }
  .process-list { grid-template-columns:1fr; }
  .process-list li { min-height:0; border-right:0; }
  .process-photo { aspect-ratio:16/10; }
  .contact-copy { padding:42px 24px; }
  .contact-form { margin:10px; padding:28px 22px; }
  .site-footer { grid-template-columns:1fr; }
}

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