/* Final visual system: compact introduction, clear working area, calmer rhythm. */
:root {
  --bg: #111815;
  --panel: #1a2520;
  --line: #35443c;
  --text: #f5f4ee;
  --muted: #b2beb5;
  --accent: #d4ead6;
}

body { background: var(--bg); }
.wrap { width: min(1376px, calc(100% - 80px)); }
.header { height: 78px; gap: 30px; }
.header .logo { flex: 0 0 auto; font-size: 25px; }
.header nav { align-items: center; gap: clamp(20px, 2.8vw, 42px); margin-right: auto; }
.header nav a { white-space: nowrap; font-size: 13px; }
.header .button.small { white-space: nowrap; padding: 10px 16px; }

.hero { position: relative; padding-top: 43px; }
.hero::before { content: ''; position: absolute; top: 55px; right: 9%; width: 420px; height: 270px; border-radius: 50%; background: radial-gradient(ellipse, #68877216 0%, transparent 72%); pointer-events: none; }
.hero-grid { grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: 55px; margin-top: 17px; align-items: end; }
.hero h1 { font-size: clamp(53px, 5.7vw, 83px); letter-spacing: -.055em; line-height: 1.05; }
.hero h1 span { color: #d1e7d2; }
.hero-aside { padding: 0 0 4px; }
.hero-aside p { max-width: 390px; font-size: 16px; line-height: 1.65; margin-bottom: 20px; }
.hero-aside .button { min-height: 47px; padding: 10px 18px; border-radius: 9px; }
.hero-aside .micro { display: block; margin-top: 10px; }
.hero-bottom { margin: 26px 0 0; padding-bottom: 23px; font-size: 10px; letter-spacing: .08em; }
.hero-bottom > span:first-child { gap: 22px; }
.hero-bottom .demo-label { opacity: .7; }

.product-overview { margin: 0 auto 26px; padding: 21px 0 18px; border-color: #ffffff1d; }
.overview-lead { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 52px; align-items: center; }
.overview-lead .eyebrow { font-size: 9px; }
.overview-lead h2 { font-size: clamp(28px, 2.5vw, 37px); letter-spacing: -.045em; line-height: 1.08; margin: 8px 0 0; }
.overview-lead > p { max-width: 600px; color: #b8c4b9; font-size: 13px; line-height: 1.7; margin: 0; }
.overview-grid { margin-top: 18px; }
.overview-grid article, .overview-grid article + article { min-height: 0; padding: 12px 24px 5px 0; }
.overview-grid article + article { padding-left: 24px; }
.overview-index, .overview-grid article > span:last-child { display: none; }
.overview-icon { font-size: 19px; margin-bottom: 6px; }
.overview-grid h3 { font-size: 16px; margin-bottom: 4px; }
.overview-grid p { font-size: 11px; line-height: 1.55; margin: 0; max-width: 330px; }
.overview-foot { display: none; }

.workspace { border-color: #55695a; border-radius: 16px; box-shadow: 0 26px 70px #07100a38; }
.workspace-top { padding: 14px 18px; background: #1b2522; }
.workspace h2 { font-size: 16px; font-weight: 600; }
.scene-label { font-size: 9px; }
.mode-tabs { background: #111917; border-color: #45564a; border-radius: 10px; }
.mode-tabs button { min-height: 37px; padding: 8px 15px; font-size: 12px; border-radius: 7px; }
.mode-tabs button.active { background: #dcefe0; color: #1b3827; }
.viewer { height: clamp(500px, 48vw, 670px); }
.viewer-brand { top: 17px; left: 18px; }
.viewer-top { top: 54px; }
.object-card { width: min(275px, 34%); right: 18px; bottom: 54px; padding: 17px; border-color: #b6d6bc77; background: #14241eea; }
.object-card h3 { font-size: 23px; }
.object-card p { line-height: 1.55; }
.object-card .reason { display: none; }
.viewer-hint { bottom: 99px; top: auto; font-size: 10px; }
.workspace-bottom { background: #1b2522; min-height: 55px; }
.quick-stats { padding: 25px 0 31px; }
.stat-number { font-size: 28px; }
.quick-stats .stat-note { font-size: 12px; }

.light-chapter { background: #f2f1ea; }
.section { padding-top: 76px; padding-bottom: 73px; }
.section-heading { margin-bottom: 29px; }
.section-heading h2 { font-size: clamp(38px, 3.7vw, 50px); line-height: 1.05; }
.section-heading > p { font-size: 15px; line-height: 1.7; margin-bottom: 4px; }
.flow-grid article { padding-top: 23px; padding-bottom: 22px; }
.flow-grid h3 { margin-top: 20px; }
.scan-simulation { margin-top: 25px; background: #e2e8df; color: #1d3528; border-color: #c7d3c5; }
.scan-simulation p, .scan-control-bottom > span { color: #576d5e; }
.scan-track { background: #c0d1c0; }
.disclosure { max-width: 900px; }

.value-section { background: #1b2a21; }
.value-section .section { padding-top: 76px; padding-bottom: 73px; }
.dashboard { grid-template-columns: minmax(285px, .8fr) minmax(0, 1.55fr); gap: 18px; align-items: stretch; }
.valuation-card { background: #e7e6dc; box-shadow: none; padding: 30px; }
.valuation-card .total-price { font-size: clamp(42px, 4vw, 62px); line-height: 1.05; }
.inventory { background: #1b3024; border-color: #4a604e; }
.inventory-top { padding: 19px 22px; }
.inventory h3 { font-size: 16px; }
.inventory-head, .inventory-row { grid-template-columns: minmax(0, 1.3fr) minmax(115px, .75fr) minmax(105px, .8fr); gap: 15px; padding-inline: 22px; }
.inventory-head { padding-bottom: 11px; }
.inventory-row { min-height: 65px; font-size: 13px; }
.inventory-row.selected { background: #294433; }
.inventory-row > span { min-width: 0; }
.inventory-row > span:nth-child(2) { font-variant-numeric: tabular-nums; }
.row-source { padding: 4px 22px 13px; font-size: 11px; }
.inventory-summary { padding: 13px 22px; }
.confidence-key { margin-top: 20px; }

.placement-intro { gap: clamp(35px, 6vw, 100px); }
.placement-preview { border-radius: 14px; overflow: hidden; }
.placement-preview img { height: 350px; }
.detail-grid { gap: 13px; }
.detail-grid article { border-radius: 10px; }
.faq-section { padding-top: 15px; }
.honest-note { margin-top: 45px; }

/* The plan is a genuine navigable 3D study of the same room arrangement. */
.viewer.placing { height: 590px; }
#placement-stage { background: #b9c0b9; grid-template-columns: minmax(0, 1fr) 300px; }
#placement-canvas { background: #b9c0b9; }
#placement-canvas::before { content: none; }
#placement-canvas canvas { filter: none; }
.placement-badge { top: 18px; left: 18px; padding: 7px 9px; border: 0; background: #20352bdf; color: #f3f6ee; font-size: 9px; letter-spacing: .09em; }
.placement-help { bottom: 17px; left: 18px; border: 0; background: #20352bdf; color: #f3f6ee; font-size: 10px; }
.placement-panel { background: #1d2e23; border-left: 1px solid #4c6250; padding: 20px; }
.placement-panel h3 { font-size: 25px; margin-top: 13px; }
.placement-panel .product-meta { font-size: 11px; }
.placement-panel .furniture-price { font-size: 16px; margin-bottom: 18px; }
.furniture-choices { gap: 6px; }
.furniture-choices button { min-height: 42px; }
.placement-shop-note { color: #aec2ae; }
.placement-context { display: none; }

@media (max-width: 1100px) {
  .wrap { width: calc(100% - 52px); }
  .header nav { gap: 18px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 30px; }
  .dashboard { grid-template-columns: minmax(0, 1fr); }
  .valuation-card { min-height: 300px; }
  .value-bars { margin-top: 22px; }
  .valuation-foot { margin-top: 22px; }
  #placement-stage { grid-template-columns: minmax(0, 1fr) 270px; }
}

@media (max-width: 760px) {
  .wrap { width: calc(100% - 32px); }
  .header { height: 68px; gap: 8px; }
  .header .logo { font-size: 23px; }
  .header .button.small { min-height: 34px; padding: 7px 10px; }
  .hero { padding-top: 31px; }
  .hero-grid { display: block; margin-top: 13px; }
  .hero h1 { font-size: clamp(40px, 9.1vw, 62px); letter-spacing: -.045em; }
  .hero-aside { margin-top: 18px; }
  .hero-aside p { font-size: 14px; line-height: 1.55; margin-bottom: 14px; }
  .hero-aside .button { min-height: 42px; font-size: 12px; }
  .hero-aside .micro { display: none; }
  .hero-bottom { margin-top: 19px; padding-bottom: 15px; }
  .hero-bottom > span:first-child { gap: 12px; }
  .product-overview { padding: 17px 0 12px; margin-bottom: 16px; }
  .overview-lead { display: block; }
  .overview-lead h2 { font-size: 28px; margin-top: 7px; }
  .overview-lead > p { font-size: 12px; line-height: 1.6; margin-top: 10px; }
  .overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 15px; }
  .overview-grid article, .overview-grid article + article { padding: 0 10px 0 0; border-top: 0; border-left: 0; }
  .overview-grid article + article { padding-left: 10px; border-left: 1px solid #ffffff1d; }
  .overview-icon { font-size: 16px; margin-bottom: 5px; }
  .overview-grid h3 { font-size: 12px; }
  .overview-grid p { display: none; }
  .workspace-top { padding: 11px 12px; gap: 10px; }
  .workspace h2 { font-size: 14px; }
  .mode-tabs button { min-height: 36px; font-size: 11px; padding: 7px 4px; }
  .viewer { height: 520px; }
  .viewer-top { top: 58px; left: 11px; right: 11px; }
  .viewer-hint { top: 98px; bottom: auto; left: 11px; font-size: 9px; }
  .object-card { width: min(200px, 58%); right: 10px; bottom: 43px; padding: 12px; }
  .object-card h3 { font-size: 18px; }
  .object-card .object-price { font-size: 27px; }
  .object-card.empty { width: min(190px, 58%); }
  .quick-stats { padding: 22px 0 25px; }
  .stat-number { font-size: 24px; }
  .section, .value-section .section { padding-top: 57px; padding-bottom: 57px; }
  .section-heading h2 { font-size: 37px; }
  .section-heading > p { font-size: 14px; }
  .flow-grid article, .flow-grid article + article { padding-top: 20px; padding-bottom: 19px; }
  .inventory-top { padding: 16px; }
  .inventory h3 { font-size: 14px; }
  .inventory-head, .inventory-row { padding-inline: 15px; }
  .viewer.placing { height: auto; }
  #placement-stage { position: relative; grid-template-columns: 1fr; grid-template-rows: 370px auto; }
  .placement-panel { border-left: 0; border-top: 1px solid #4c6250; min-height: 0; padding: 20px; }
  .placement-badge { top: 11px; left: 11px; }
  .placement-help { bottom: 11px; left: 11px; }
  .placement-preview img { height: 280px; }
}

@media (max-width: 560px) {
  .wrap { width: calc(100% - 24px); }
  .hero-bottom .demo-label { display: none; }
  .hero-bottom > span:first-child { gap: 10px; font-size: 9px; }
  .valuation-card { min-height: 0; padding: 23px; }
  .quick-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .quick-stats > div:nth-child(3) .stat-number { font-size: 20px; white-space: normal; }
  .quick-stats > div > span:last-child { font-size: 10px; }
  .total-price { font-size: clamp(38px, 10vw, 50px); }
  .inventory-head { display: none; }
  .inventory-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'object value' 'object platform'; gap: 4px 8px; padding: 15px 14px; font-size: 13px; }
  .inventory-row > span:first-child { grid-area: object; }
  .inventory-row > span:nth-child(2) { grid-area: value; white-space: nowrap; text-align: right; }
  .inventory-row .row-platform { grid-area: platform; justify-content: flex-end; }
  .inventory-row .confidence { font-size: 10px; }
  .row-source { padding: 6px 14px 13px; }
  .placement-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; }
  .placement-panel > h3, .placement-panel > .product-meta, .placement-panel > .furniture-choices, .placement-panel > .color-field, .placement-panel > .furniture-price, .placement-panel > .placement-shop, .placement-panel > .placement-shop-note, .placement-panel > .placement-actions { grid-column: 1/-1; }
  .placement-panel .range-field { min-width: 0; }
  .placement-panel .range-field label { font-size: 10px; }
  .placement-panel .range-field input { width: 100%; }
}

@media (max-width: 360px) {
  .header .logo { font-size: 21px; }
  .header .button.small { width: 38px; min-width: 38px; font-size: 0; }
  .header .button.small::after { content: '↗'; font-size: 17px; }
  .hero h1 { font-size: 9vw; }
  .mode-tabs button { font-size: 9px; gap: 3px; }
  .workspace-top { padding: 10px; }
  .inventory-row { padding-inline: 12px; }
}

/* The furniture editor operates the original Sketchfab scene, not a second renderer. */
#placement-stage[hidden],#placement-controls[hidden]{display:none!important}
.viewer.placing{height:clamp(510px,50vw,690px)}
.viewer.placing #sketchfab{visibility:visible!important;opacity:1!important;pointer-events:none}
#placement-stage{position:absolute;inset:0;z-index:5;display:block;background:transparent;pointer-events:none}
#placement-canvas{position:absolute;inset:0;width:100%;height:100%;background:transparent!important;touch-action:none;pointer-events:auto;cursor:grab}
#placement-canvas.dragging{cursor:grabbing}
.placement-badge{top:20px;left:20px;border:1px solid #9fd3ad8c;background:#12251fcf;color:#e8f2e9;font-size:10px;letter-spacing:.1em;padding:10px 12px}
.placement-help{bottom:22px;left:20px;border:1px solid #9fd3ad70;background:#12251fcf;color:#e8f2e9;font-size:11px;padding:9px 12px}
#placement-controls{background:#17251f;border-top:1px solid #385142;padding:0}
#placement-controls .placement-panel{background:transparent;display:grid;grid-template-columns:minmax(180px,1fr) minmax(380px,1.7fr) auto;align-items:center;gap:24px;border:0;padding:20px 25px;overflow:visible}
.placement-identity{min-width:0}
.placement-kicker{display:block;color:#a8cbb0;font-size:10px;letter-spacing:.12em;font-weight:600}
#placement-controls h3{font-size:22px;margin:5px 0 4px;color:#f2f6f1;font-weight:500}
.placement-explanation{font-size:11px;line-height:1.5;color:#b5c9bb;margin:0;max-width:350px}
.placement-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
#placement-controls .range-field{min-width:0;margin:0}
#placement-controls .range-field label{font-size:11px;color:#cadacc;gap:6px}
#placement-controls .range-field input{height:22px;margin:6px 0 0;cursor:pointer}
#placement-controls .placement-actions{display:flex;flex-direction:column;gap:7px;margin:0;min-width:110px}
#placement-controls .placement-actions button{min-height:34px;border-radius:6px;font-size:11px;white-space:nowrap}
#placement-controls .placement-shop-note{grid-column:1/-1;color:#8fa698;font-size:10px;margin:-12px 0 0;line-height:1.5}
.placement-failure{position:absolute;inset:0;display:grid;place-items:center;color:white;background:#12251fd9;padding:25px;text-align:center}
@media(max-width:1000px){#placement-controls .placement-panel{grid-template-columns:1fr auto;gap:14px}.placement-fields{grid-column:1/-1;grid-row:2}.placement-actions{grid-column:2;grid-row:1}.placement-shop-note{margin:0!important}}
@media(max-width:760px){.viewer.placing{height:440px!important;min-height:0}#placement-stage{position:absolute;inset:0;display:block;grid-template-rows:none}#placement-canvas{position:absolute;inset:0}.placement-badge{left:11px;top:11px;font-size:8px}.placement-help{left:11px;bottom:11px;font-size:9px}#placement-controls .placement-panel{display:grid;grid-template-columns:1fr;gap:16px;padding:18px}.placement-fields{grid-column:1;grid-row:auto;display:grid;grid-template-columns:1fr;gap:12px}.placement-actions{grid-column:1!important;grid-row:auto!important;flex-direction:row!important}.placement-actions button{flex:1}.placement-shop-note{grid-column:1!important;font-size:10px}}
.viewer.placing .viewer-brand{display:none}
.placement-pin{position:absolute;z-index:3;width:42px;height:42px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid #efffed;border-radius:50%;background:#173423aa;color:white;box-shadow:0 0 0 4px #102c2299,0 6px 15px #00170c66;font:600 20px/1 system-ui;pointer-events:none;transition:left .08s linear,top .08s linear}
.placement-pin[hidden]{display:none!important}
#placement-canvas canvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:transparent;cursor:grab;touch-action:none}
#placement-canvas canvas.dragging{cursor:grabbing}
#placement-controls .placement-extra{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #365043;padding-top:12px;margin-top:-9px}
#placement-controls .furniture-choices{display:flex;gap:7px;margin:0}
#placement-controls .furniture-choices button{min-height:32px;font-size:11px;padding:6px 12px;flex:initial}
.placement-demo-price{font-size:11px;color:#e7f1e8;white-space:nowrap}
#placement-controls .placement-shop-note{grid-column:auto;margin:0 0 0 auto;color:#8fa698;max-width:450px}
@media(max-width:760px){#placement-controls .placement-extra{grid-column:1;align-items:flex-start;gap:10px;margin:0}.placement-demo-price{align-self:center}.placement-shop-note{margin:0!important;max-width:none!important}}
/* Keep the provider's in-view attribution and controls unobstructed. */
#placement-stage .placement-badge,#placement-stage .placement-help{display:none}

/* 2026 editorial layout refresh: warm architectural surfaces and one clear journey. */
:root {
  --bg: #151d1e;
  --panel: #1d2829;
  --line: #3d4b4c;
  --text: #f7f4ed;
  --muted: #b7c1be;
  --accent: #edc59f;
  --amber: #e9c68c;
  --paper: #f5f1e9;
  --ink: #1b2a2b;
}
body { background: var(--bg); color: var(--text); }
.wrap { width: min(1360px, calc(100% - 88px)); }
.header { height: 84px; border-color: #ffffff26; }
.header .logo { letter-spacing: -.07em; font-size: 27px; }
.header .logo svg { stroke: var(--accent); }
.header nav a { color: #c6cfca; font-size: 13px; }
.header nav a:hover { color: var(--accent); }
.header .button.small { border-radius: 999px; min-height: 43px; }
.button.light { color: var(--ink); background: var(--accent); border-color: var(--accent); }
.button.light:hover { color: var(--ink); background: #f8d8b9; }
.button { border-radius: 999px; }
.eyebrow { color: #c8936e; font-size: 10px; letter-spacing: .17em; }
.hero { padding-top: 36px; }
.hero::before { display: none; }
.hero > .eyebrow { color: #ecc39f; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); grid-template-areas: 'title visual' 'aside visual'; gap: 0 52px; align-items: start; margin-top: 18px; }
.hero h1 { grid-area: title; padding-top: 24px; font-size: clamp(56px, 5.5vw, 85px); line-height: .99; letter-spacing: -.065em; }
.hero h1 span { color: #e6d3bf; }
.hero-aside { grid-area: aside; max-width: 570px; padding: 0 0 25px; align-self: end; }
.hero-aside p { max-width: 520px; margin-bottom: 20px; color: #c8d0ca; font-size: 17px; line-height: 1.6; }
.hero-aside .button { min-height: 50px; padding: 11px 22px; }
.hero-aside .micro { color: #92a29e; }
.hero-visual { grid-area: visual; position: relative; display: block; height: 386px; overflow: hidden; border: 1px solid #ffffff2b; border-radius: 16px; background: #48514e; box-shadow: 0 24px 70px #0004; }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#111b1b8a 0%, transparent 34%, transparent 55%, #101817e0 100%); pointer-events: none; }
.hero-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s ease; }
.hero-visual:hover img { transform: scale(1.04); }
.hero-visual-top,.hero-visual-bottom { position: absolute; z-index: 1; left: 22px; right: 22px; display: flex; align-items: center; color: #fff; }
.hero-visual-top { top: 20px; gap: 9px; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.hero-visual-top > span:last-child { margin-left: auto; color: #d6ded7; }
.visual-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px #edc59f30; }
.hero-visual-bottom { bottom: 19px; justify-content: space-between; gap: 16px; }
.hero-visual-bottom strong { max-width: 260px; font: 500 25px/1.15 var(--display); letter-spacing: -.045em; }
.hero-visual-bottom > span { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border: 1px solid #ffffffa0; border-radius: 50%; font-size: 23px; }
.hero-bottom { margin-top: 26px; padding-bottom: 24px; border-bottom: 1px solid #ffffff25; }
.hero-bottom > span:first-child { display: flex; gap: 28px; color: #cbd3ce; }
.hero-bottom > span:first-child > span::before { content: '↗'; display: inline-block; margin-right: 7px; color: var(--accent); }
.hero-bottom .demo-label { border-color: #ffffff42; color: #b9c6be; }
.product-overview { padding: 23px 0 21px; margin-bottom: 24px; border-bottom: 0; }
.overview-lead { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 70px; }
.overview-lead h2 { font-size: clamp(30px, 2.8vw, 42px); margin-top: 7px; }
.overview-lead h2 span { color: var(--accent); }
.overview-lead > p { max-width: 700px; font-size: 14px; line-height: 1.7; color: #bac7bf; }
.overview-grid { margin-top: 22px; border-top-color: #ffffff22; }
.overview-grid article,.overview-grid article + article { padding: 16px 23px 8px 0; }
.overview-grid article + article { padding-left: 23px; border-left-color: #ffffff22; }
.overview-icon { color: var(--accent); font-size: 22px; }
.overview-grid h3 { color: #f3efe7; font-size: 17px; }
.overview-grid p { display: block; color: #aabbb1; font-size: 12px; line-height: 1.55; }
.workspace { border: 1px solid #64716e; border-radius: 17px; box-shadow: 0 35px 95px #030b0b66; }
.workspace-top { min-height: 74px; padding: 14px 22px; background: #f5f1e9; color: var(--ink); }
.workspace h2 { font-size: 17px; color: var(--ink); font-weight: 700; }
.live-dot { width: 8px; height: 8px; background: #c18256; box-shadow: 0 0 0 5px #c1825622; }
.scene-label { color: #64716e; font-size: 10px; }
.mode-tabs { background: #e7e3da; border-color: #d4d0c5; border-radius: 999px; }
.mode-tabs button { min-height: 42px; padding: 8px 17px; border-radius: 999px; color: #596a68; font-size: 12px; }
.mode-tabs button.active { background: var(--ink); color: #fff8ee; box-shadow: 0 3px 9px #15252422; }
.viewer { height: clamp(530px, 48vw, 690px); background: #323b3a; }
.glass-tag,.viewer-hint { background: #172726e8; border-color: #ffffff3d; color: #f5f4ed; border-radius: 8px; }
.glass-tag { padding: 9px 12px; }
.object-card { width: min(295px, 35%); background: #182727f0; border-color: #e1c3a266; border-radius: 12px; box-shadow: 0 18px 50px #06100e77; }
.object-card .confidence.safe,.object-card .platform { color: #f2d2ae; }
.object-card .sources-button { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.workspace-bottom { background: #f5f1e9; color: #4c5f5c; border-top: 1px solid #d7d2c9; min-height: 60px; }
.workspace-bottom .icon-button { border-color: #b9c4bd; color: var(--ink); }
.quick-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) minmax(0,.9fr); gap: 20px; padding: 27px 0 34px; }
.quick-stats > div { position: relative; padding-left: 18px; border-left: 1px solid #ffffff30; }
.quick-stats > div:first-child { border-left: 0; padding-left: 0; }
.stat-number { color: #f1ede6; font-size: 32px; line-height: 1.1; }
.stat-number small { color: var(--accent); }
.quick-stats > div > span:last-child { display: block; margin-top: 5px; color: #aab8b2; }
.quick-stats .stat-note { color: #dfc9b1; font: 500 18px/1.35 var(--display); }
.light-chapter { background: var(--paper); color: var(--ink); }
.section { padding-top: 88px; padding-bottom: 88px; }
.section-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.46fr); align-items: end; gap: 55px; margin-bottom: 36px; }
.section-heading h2 { font-size: clamp(44px,4.4vw,64px); letter-spacing: -.06em; }
.section-heading > p { color: #5d6d6d; font-size: 16px; line-height: 1.62; max-width: 480px; }
.flow-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; border: 0; }
.flow-grid article,.flow-grid article + article { min-height: 250px; padding: 27px; border: 1px solid #d8ded7; border-radius: 13px; background: #fffdfa; }
.flow-grid .step-number { color: #b7835e; font-size: 39px; }
.flow-grid .line-icon { color: #bc8b69; }
.flow-grid h3 { margin-top: 33px; font-size: 23px; letter-spacing: -.04em; }
.flow-grid p { color: #5c6d6c; font-size: 14px; line-height: 1.6; }
.flow-grid .step-caption { color: #9c775c; }
.scan-simulation { margin-top: 16px; padding: 30px 32px; color: #f4f1e9; background: #253333; border-color: #253333; border-radius: 13px; }
.scan-simulation .demo-label { color: #eed1b4; border-color: #a1795f; }
.scan-simulation p,.scan-control-bottom > span { color: #bac8c0; }
.scan-track { background: #596965; }
.scan-track span { background: var(--accent); }
.scan-simulation .button { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.disclosure { max-width: 1100px; margin-top: 16px; color: #6c7b79; }
.value-section { background: #202b2c; color: #f5f1e9; }
.value-section .section { padding-top: 88px; padding-bottom: 88px; }
.value-section .section-heading .eyebrow { color: #ebbc98; }
.value-section .section-heading > p { color: #b7c4c0; }
.dashboard { grid-template-columns: minmax(290px,.76fr) minmax(0,1.5fr); gap: 16px; }
.valuation-card { padding: 33px; background: #eadbca; color: #1f302e; border: 1px solid #eadbca; border-radius: 13px; }
.valuation-card .eyebrow { color: #76593f; }
.valuation-card .total-price { font-size: clamp(46px,4.5vw,70px); letter-spacing: -.07em; }
.valuation-card > p { color: #58665f; }
.valuation-card .bar { background: #bdc3b6; }
.valuation-card .bar span { background: #4a6059; }
.valuation-card .bar.probable span { background: #ba9271; }
.valuation-card .valuation-foot { border-color: #bbbeaf; }
.inventory { border: 1px solid #586b65; background: #263635; border-radius: 13px; overflow: hidden; }
.inventory-top { background: #30423e; }
.inventory h3 { font-size: 19px; }
.filter-label select { background: #253634; border-color: #667772; color: #f7f1e9; }
.inventory-head { background: #263635; color: #a6bab3; }
.inventory-row { min-height: 70px; border-color: #ffffff20; }
.inventory-row.selected { background: #3a4f48; }
.row-source { background: #22312f; color: #b5c6ba; }
.inventory-summary { background: #30423e; border-color: #5c6e65; }
.confidence-key { color: #acbeb3; }
.confidence-key .key-dot.safe { background: #dfba97; }
.placement-section { padding-bottom: 77px; }
.placement-intro { grid-template-columns: minmax(0,.64fr) minmax(0,1.36fr); gap: 35px; align-items: stretch; }
.placement-copy { padding: 22px 0; }
.placement-copy .demo-label { color: #866648; border-color: #d1b99e; }
.placement-copy h3 { font-size: clamp(35px,3.4vw,48px); line-height: 1.08; }
.placement-copy > p { color: #5c6d6c; font-size: 16px; }
.placement-copy .button { background: var(--ink); color: #f7f2e9; border-color: var(--ink); }
.text-button { color: #385750; }
.future-model { border-top: 1px solid #d0d9d3; }
.placement-preview { min-height: 430px; border: 1px solid #c6cac1; border-radius: 15px; background: #333d3c; box-shadow: 0 22px 40px #1726241d; }
.placement-preview img { width: 100%; height: 430px; object-fit: cover; object-position: center; filter: saturate(.85) contrast(.96); }
.placement-preview::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,#122120b8); pointer-events: none; }
.preview-heading,.preview-caption { z-index: 1; color: #fff; }
.preview-heading { background: linear-gradient(#172322aa, transparent); }
.preview-caption { position: absolute; left: 0; right: 0; bottom: 0; border: 0; background: transparent; }
.round-button { background: var(--accent); color: var(--ink); border: 0; }
.feature-detail { border-top: 1px solid #d5dbd4; }
.detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; counter-reset: feature; }
.detail-grid article { position: relative; counter-increment: feature; min-height: 305px; padding: 31px 27px 27px; border: 1px solid #d6ddd7; border-radius: 13px; background: #fffdfa; }
.detail-grid article:first-child { background: #ece3d6; }
.detail-grid article:nth-child(5) { background: #e8eeea; }
.detail-grid article::before { content: '0' counter(feature); position: absolute; top: 27px; right: 27px; color: #a8b5ad; font: 500 15px var(--display); }
.detail-grid h3 { max-width: 280px; margin-top: 28px; font-size: 23px; letter-spacing: -.04em; }
.detail-grid article > p { color: #5d6e6c; font-size: 14px; line-height: 1.7; }
.feature-status.ready { color: #6a7768; }
.feature-more { border-color: #d3dbd3; }
.faq-section { display: grid; grid-template-columns: .56fr 1fr; gap: 80px; padding: 12px 0 96px; }
.faq-section h2 { font-size: clamp(39px,3.5vw,52px); }
.faq-list details { border-color: #ccd6ce; padding: 20px 0; }
.faq-list summary { font-size: 17px; font-weight: 600; }
.honest-note { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; align-items: center; gap: 24px; margin-top: 58px; margin-bottom: 34px; padding: 30px 34px; border: 0; border-radius: 15px; background: #ead8c2; color: var(--ink); }
.honest-note .note-symbol { color: #926a4e; }
.honest-note h3 { margin-bottom: 8px; font-size: 28px; }
.honest-note p { max-width: 900px; color: #536460; font-size: 12px; line-height: 1.75; }
.honest-note a { white-space: nowrap; color: var(--ink); font-weight: 700; }
.model-credit.wrap { color: #83928b; font-size: 10px; }
.footer { color: #aebbb4; }

/* Keep the furniture overlay aligned to the original live room while reskinning its controls. */
.viewer.placing { height: clamp(530px,48vw,690px); }
#placement-stage[hidden],#placement-controls[hidden] { display: none !important; }
.viewer.placing #sketchfab { visibility: visible !important; opacity: 1 !important; pointer-events: none; }
#placement-stage { position: absolute; inset: 0; z-index: 5; display: block; background: transparent; pointer-events: none; }
#placement-canvas { position: absolute; inset: 0; width: 100%; height: 100%; background: transparent !important; touch-action: none; pointer-events: auto; cursor: grab; }
#placement-canvas.dragging { cursor: grabbing; }
#placement-canvas canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; background: transparent; cursor: grab; touch-action: none; }
#placement-canvas canvas.dragging { cursor: grabbing; }
.viewer.placing .viewer-brand,#placement-stage .placement-badge,#placement-stage .placement-help { display: none; }
.placement-pin { position: absolute; z-index: 3; width: 42px; height: 42px; display: grid; place-items: center; transform: translate(-50%,-50%); border: 2px solid #fff8eb; border-radius: 50%; background: #283b36b9; color: white; box-shadow: 0 0 0 4px #1d302899,0 6px 15px #00170c66; font: 600 20px/1 system-ui; pointer-events: none; }
.placement-pin[hidden] { display: none !important; }
#placement-controls { background: #f5f1e9; border-top: 1px solid #d7d2c9; }
#placement-controls .placement-panel { background: transparent; display: grid; grid-template-columns: minmax(180px,1fr) minmax(380px,1.7fr) auto; align-items: center; gap: 23px; border: 0; padding: 22px 27px; overflow: visible; color: var(--ink); }
.placement-kicker { color: #956846; }
#placement-controls h3 { color: var(--ink); }
.placement-explanation { color: #64736e; }
#placement-controls .range-field label { color: #435852; }
#placement-controls .range-field input { accent-color: #9b6948; }
#placement-controls .placement-actions button { border: 1px solid #b8c7be; color: var(--ink); }
#placement-controls .placement-actions button:first-child { background: var(--ink); color: #fff; border-color: var(--ink); }
#placement-controls .placement-extra { border-color: #d3dcd2; }
#placement-controls .furniture-choices button { color: var(--ink); border-color: #aebdb2; }
#placement-controls .furniture-choices button.active { background: #ead8c2; color: var(--ink); border-color: #b69a80; }
.placement-demo-price { color: var(--ink); }
#placement-controls .placement-shop-note { color: #63746c; }
.placement-failure { background: #172726e8; }

@media (max-width: 1050px) {
  .wrap { width: calc(100% - 52px); }
  .hero-grid { grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); gap: 0 28px; }
  .hero h1 { font-size: clamp(48px,5.6vw,66px); }
  .hero-visual { height: 350px; }
  .dashboard { grid-template-columns: minmax(0,1fr); }
  .valuation-card { min-height: 0; }
  .detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .honest-note { grid-template-columns: 35px 1fr; }
  .honest-note a { grid-column: 2; }
  #placement-controls .placement-panel { grid-template-columns: 1fr auto; }
  .placement-fields { grid-column: 1/-1; grid-row: 2; }
  #placement-controls .placement-actions { grid-column: 2; grid-row: 1; }
}
@media (max-width: 760px) {
  .wrap { width: calc(100% - 30px); }
  .header { height: 69px; }
  .header .logo { font-size: 23px; }
  .header .button.small { min-height: 36px; padding: 7px 11px; }
  .hero { padding-top: 28px; }
  .hero-grid { display: grid; grid-template-columns: 1fr; grid-template-areas: 'title' 'aside' 'visual'; gap: 0; margin-top: 11px; }
  .hero h1 { padding-top: 0; font-size: clamp(43px,10vw,66px); }
  .hero-aside { padding: 0; margin-top: 15px; }
  .hero-aside p { margin-bottom: 13px; font-size: 14px; }
  .hero-aside .button { min-height: 44px; }
  .hero-visual { height: 240px; margin-top: 23px; border-radius: 12px; }
  .hero-visual-top { left: 15px; right: 15px; top: 14px; font-size: 9px; }
  .hero-visual-bottom { left: 15px; right: 15px; bottom: 14px; }
  .hero-visual-bottom strong { font-size: 20px; }
  .hero-visual-bottom > span { width: 36px; height: 36px; flex-basis: 36px; }
  .hero-bottom { margin-top: 15px; padding-bottom: 17px; }
  .hero-bottom > span:first-child { gap: 12px; font-size: 10px; }
  .product-overview { padding: 13px 0 12px; margin-bottom: 14px; }
  .overview-lead { display: block; }
  .overview-lead h2 { font-size: 28px; }
  .overview-lead > p { margin-top: 10px; font-size: 12px; }
  .overview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 17px; }
  .overview-grid article,.overview-grid article + article { padding: 0 9px 0 0; border-left: 0; }
  .overview-grid article + article { padding-left: 9px; border-left: 1px solid #ffffff22; }
  .overview-grid h3 { font-size: 12px; }
  .overview-grid p { display: none; }
  .workspace-top { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 14px; }
  .workspace h2 { font-size: 15px; }
  .scene-label { display: none; }
  .mode-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  .mode-tabs button { justify-content: center; min-height: 39px; padding: 8px 2px; font-size: 11px; }
  .viewer { height: 520px; }
  .viewer-top { left: 10px; right: 10px; }
  .glass-tag { padding: 7px 8px; font-size: 9px; }
  .viewer-hint { left: 10px; font-size: 9px; }
  .object-card { width: min(205px,59%); right: 10px; padding: 13px; }
  .object-card h3 { font-size: 18px; }
  .workspace-bottom { min-height: 53px; }
  .quick-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 22px 0 25px; }
  .quick-stats > div { padding-left: 8px; }
  .quick-stats > div:nth-child(3) { grid-column: auto; }
  .quick-stats .stat-note { display: none; }
  .stat-number { font-size: 24px; }
  .quick-stats > div > span:last-child { font-size: 10px; }
  .section,.value-section .section { padding-top: 65px; padding-bottom: 65px; }
  .section-heading { display: block; margin-bottom: 25px; }
  .section-heading h2 { font-size: 42px; }
  .section-heading > p { margin: 17px 0 0; font-size: 14px; }
  .flow-grid { grid-template-columns: 1fr; gap: 10px; }
  .flow-grid article,.flow-grid article + article { min-height: 0; padding: 21px; }
  .flow-grid h3 { margin-top: 12px; font-size: 21px; }
  .flow-grid p { font-size: 14px; }
  .scan-simulation { padding: 22px; }
  .scan-control-bottom { gap: 12px; }
  .dashboard { display: block; }
  .valuation-card { padding: 25px; margin-bottom: 14px; }
  .valuation-card .total-price { font-size: 47px; }
  .inventory-top { padding: 17px; }
  .inventory-row { min-height: 67px; }
  .placement-intro { grid-template-columns: 1fr; gap: 18px; }
  .placement-copy { padding: 0; }
  .placement-copy h3 { font-size: 37px; }
  .placement-preview { min-height: 275px; }
  .placement-preview img { height: 275px; }
  .detail-grid { grid-template-columns: 1fr; gap: 11px; }
  .detail-grid article { min-height: 0; padding: 23px; }
  .detail-grid h3 { font-size: 22px; margin-top: 20px; }
  .faq-section { display: block; padding-bottom: 65px; }
  .faq-list { margin-top: 15px; }
  .faq-list summary { font-size: 15px; }
  .honest-note { display: block; margin: 28px auto; padding: 25px; }
  .honest-note .note-symbol { font-size: 30px; }
  .honest-note h3 { font-size: 25px; }
  .honest-note a { display: inline-block; margin-top: 15px; }
  .viewer.placing { height: 450px !important; }
  #placement-controls .placement-panel { grid-template-columns: 1fr; gap: 15px; padding: 18px; }
  .placement-fields { grid-column: 1; grid-row: auto; display: grid; grid-template-columns: 1fr; gap: 11px; }
  #placement-controls .placement-actions { grid-column: 1; grid-row: auto; flex-direction: row; }
  #placement-controls .placement-actions button { flex: 1; }
  #placement-controls .placement-extra { grid-column: 1; }
}
@media (max-width: 420px) {
  .wrap { width: calc(100% - 24px); }
  .hero h1 { font-size: 10.1vw; }
  .hero-visual { height: 220px; }
  .hero-bottom > span:first-child { gap: 6px; font-size: 9px; }
  .mode-tabs button { font-size: 10px; }
  .quick-stats > div > span:last-child { font-size: 9px; }
  .inventory-row { grid-template-columns: minmax(0,1fr) auto; gap: 4px 8px; }
}

/* The hero needs a full-width composition before the desktop columns become too narrow. */
.hero-aside { display: block; }
@media (max-width: 1050px) and (min-width: 761px) {
  .hero-grid { grid-template-columns: 1fr; grid-template-areas: 'title' 'aside' 'visual'; gap: 0; }
  .hero h1 { max-width: 900px; padding-top: 0; font-size: clamp(56px,7.2vw,75px); }
  .hero-aside { max-width: 650px; padding: 0; margin-top: 22px; }
  .hero-aside .micro { display: block; }
  .hero-visual { width: 100%; height: 310px; margin-top: 25px; }
  .hero-visual img { object-position: center 55%; }
}

/* Context-aware furniture choices, highlighted placement areas and the new pouf metadata. */
#placement-controls .placement-zone-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
  padding: 5px 8px;
  border: 1px solid #b8d2bd;
  border-radius: 999px;
  background: #eaf3e8;
  color: #42644c;
  font-size: 10px;
  line-height: 1.25;
  width: fit-content;
}
#placement-controls .placement-extra { align-items: flex-start; }
#placement-controls .furniture-choices { flex-wrap: wrap; }
#placement-controls .furniture-choices button { min-width: 90px; }
#placement-controls .furniture-choices button.active { background: #d8eadb; border-color: #83a98c; }
#placement-controls .placement-product-meta { display: flex; flex-direction: column; gap: 4px; }
#placement-controls .placement-demo-price { font-size: 12px; font-weight: 600; }
#placement-controls .placement-demo-size { color: #66786c; font-size: 10px; white-space: nowrap; }
@media (max-width: 760px) {
  #placement-controls .placement-extra { align-items: stretch; }
  #placement-controls .furniture-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  #placement-controls .furniture-choices button { min-width: 0; padding-inline: 5px; font-size: 10px; }
  #placement-controls .placement-product-meta { flex-direction: row; align-items: baseline; justify-content: space-between; }
  #placement-controls .placement-shop-note { max-width: none; }
}

/* Research drawer: concrete comparisons first, current marketplace searches second. */
.source-dialog { background: #f5f1e9; color: var(--ink); border-color: #cfc9bd; box-shadow: 0 30px 90px #07131366; }
.source-dialog .source-method { background: #e6d8c6; color: #3e5148; }
.source-dialog .source-list li { border-color: #d9ddd4; }
.source-dialog .source-list a { color: #285a58; }
.source-dialog .source-list strong { color: var(--ink); }
.source-dialog p,.source-dialog .source-list p { color: #576b67; }
.source-discovery { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 18px; padding: 18px; border: 1px solid #d4d9ce; border-radius: 11px; background: #fffdfa; }
.source-discovery > div { flex: 1 1 190px; }
.source-discovery strong { font-size: 14px; }
.source-discovery p { margin: 4px 0 0; font-size: 12px; }
.source-discovery a { display: inline-flex; align-items: center; justify-content: center; min-height: 37px; padding: 8px 12px; border: 1px solid #c8cfc5; border-radius: 7px; color: #254d4a; background: #f5f1e9; font-size: 12px; font-weight: 700; white-space: nowrap; }
.source-discovery a:hover { background: #ead8c2; }
@media (max-width: 560px) { .source-discovery > div { flex-basis: 100%; } .source-discovery a { flex: 1; } }

/* Mobile pass: protect the 3D focus area and make controls comfortable to tap. */
@media (max-width: 760px) {
  .header { min-height: 68px; }
  .header .button.small { min-height: 42px; }
  .hero-bottom { overflow: hidden; }
  .hero-bottom > span:first-child { flex-wrap: wrap; row-gap: 7px; }

  .mode-tabs button { min-height: 44px; }
  .viewer { height: min(540px, 68svh); min-height: 440px; }
  .viewer:not(.placing) .object-card {
    left: 10px; right: 10px; bottom: 10px; width: auto; max-height: 158px;
    display: grid; grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: 'status status' 'name price' 'detail detail' 'count action';
    align-content: start; align-items: center; gap: 4px 12px; overflow: hidden;
    padding: 10px 12px; border-radius: 10px;
  }
  .viewer:not(.placing) .object-card .demo-focus { display: none; }
  .viewer:not(.placing) .object-card .confidence { grid-area: status; justify-self: start; margin: 0; }
  .viewer:not(.placing) .object-card h3 { grid-area: name; min-width: 0; margin: 0; font-size: 17px; line-height: 1.2; }
  .viewer:not(.placing) .object-card .object-price { grid-area: price; margin: 0; font-size: 24px; line-height: 1.1; white-space: nowrap; }
  .viewer:not(.placing) .object-card > p:first-of-type { grid-area: detail; margin: 0; font-size: 11px; line-height: 1.35; }
  .viewer:not(.placing) .object-card > p:nth-of-type(n+2) { display: none; }
  .viewer:not(.placing) .object-card .source-count { grid-area: count; min-width: 0; margin: 0; font-size: 9px; line-height: 1.25; }
  .viewer:not(.placing) .object-card .sources-button { grid-area: action; min-height: 40px; margin: 0; padding: 7px 10px; font-size: 10px; white-space: nowrap; }
  .viewer:not(.placing) .object-card.empty { display: block; max-height: none; padding: 12px; }
  .viewer:not(.placing) .object-card.empty .demo-focus { display: block; margin: 0 0 5px; }
  .viewer:not(.placing) .object-card.empty .focus-empty { font-size: 12px; line-height: 1.45; }
  .viewer:not(.placing) .look-controls { bottom: 171px; left: 10px; }
  .viewer:not(.placing) .look-controls button { width: 34px; height: 34px; }
  .viewer:not(.placing) .viewer-hint { top: 98px; max-width: calc(100% - 20px); }
  .workspace-bottom { padding: 9px 12px; gap: 8px; }
  .workspace-bottom .icon-button { width: 40px; height: 40px; }

  .inventory-row { min-height: 72px; }
  .row-source { min-height: 40px; }
  .filter-label select { min-height: 42px; }
  .scan-simulation .button, .placement-copy .button, .placement-copy .text-button { min-height: 44px; }
  #placement-controls .range-field input { height: 32px; touch-action: pan-x; }
  .faq-list summary { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 380px) {
  .viewer:not(.placing) .object-card { grid-template-columns: minmax(0,1fr) auto; gap: 3px 8px; }
  .viewer:not(.placing) .object-card .object-price { font-size: 21px; }
  .viewer:not(.placing) .object-card .sources-button { font-size: 9px; padding-inline: 7px; }
  .hero h1 { font-size: clamp(34px, 9.2vw, 54px); }
}

/* Keep each comparison panel closed until a visitor asks to inspect it. */
.inventory-entry > details.row-source {
  padding: 0;
  background: #1b3024;
  color: #a8c3af;
}
.inventory-entry > details.row-source > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 22px;
  cursor: pointer;
  list-style: none;
  color: #a8c3af;
  transition: color .18s ease, background .18s ease;
}
.inventory-entry > details.row-source > summary::-webkit-details-marker { display: none; }
.inventory-entry > details.row-source > summary::after {
  content: '+';
  flex: 0 0 auto;
  color: #a8c3af;
  font-size: 18px;
  line-height: 1;
}
.inventory-entry > details.row-source[open] > summary::after { content: '−'; }
.inventory-entry > details.row-source > summary:hover { color: #e0efe2; background: #22392b; }
.inventory-entry > details.row-source > button {
  display: block;
  min-height: 40px;
  margin: 0 22px 12px;
  padding: 8px 12px;
  border: 1px solid #496451;
  border-radius: 6px;
  background: #243b2c;
  color: #d2e5d4;
  text-align: left;
  cursor: pointer;
}
.inventory-entry > details.row-source > button:hover { background: #304b37; }
.inventory-entry > details.row-source > summary:focus-visible,
.inventory-entry > details.row-source > button:focus-visible {
  outline: 2px solid #d4ead6;
  outline-offset: 2px;
}
@media (max-width: 760px) {
  .inventory-entry > details.row-source > summary { min-height: 42px; padding: 7px 14px; }
  .inventory-entry > details.row-source > button { width: calc(100% - 28px); margin: 0 14px 11px; }
}

.inventory-top { align-items: center; gap: 14px; }
.inventory-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 40px;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid #506854;
  border-radius: 7px;
  background: #20382a;
  color: #d5e8d7;
  font: inherit;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}
.inventory-toggle span { color: #b7d0bc; font-size: 16px; line-height: 1; }
.inventory-toggle:hover { background: #294533; }
.inventory-toggle:focus-visible { outline: 2px solid #d4ead6; outline-offset: 3px; }
.inventory-content[hidden], #inventory-content[hidden] { display: none !important; }
.inventory-controls { display: flex; justify-content: flex-end; padding: 0 22px 12px; }
@media (max-width: 760px) {
  .inventory-top { flex-wrap: wrap; }
  .inventory-toggle { min-height: 38px; padding: 7px 10px; font-size: 10px; }
  .inventory-controls { padding: 0 14px 10px; }
}

.placement-zone-label { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 999px; background: #e5efe4; color: #42624b; font-size: 10px; line-height: 1.4; }
.placement-zone-label.is-adjusted { background: #f0e5d8; color: #855a33; }
.placement-demo-size { white-space: nowrap; }
#placement-controls .range-field output { color: #5b402f; font-weight: 600; }
#placement-controls .range-field label { color: #4d5b50; }
.placement-zone-label.is-blocked { background: #fae8e3; border-color: #d69383 !important; color: #8f3c2f !important; }
.placement-zone-label.is-adjusted:not(.is-blocked) { background: #f5eddd; border-color: #d7ba7d !important; color: #775b2d !important; }

/* Keep the placement tools visually attached to the 3D workspace and readable on touch screens. */
.viewer.placing .viewer-brand { display: none; }
.viewer.placing #placement-stage .placement-badge,
.viewer.placing #placement-stage .placement-help {
  display: inline-flex !important; position: absolute; z-index: 7; align-items: center;
  width: auto; max-width: calc(100% - 28px); border: 1px solid #b2c4b7a6;
  border-radius: 9px; background: #14201ceb; color: #f1f4ed; backdrop-filter: blur(12px);
  box-shadow: 0 8px 24px #06110b36; pointer-events: none;
}
.viewer.placing #placement-stage .placement-badge {
  top: 16px; left: 16px; padding: 10px 13px; font-size: 11px; line-height: 1.3;
  letter-spacing: .075em; font-weight: 650;
}
.viewer.placing #placement-stage .placement-help {
  left: 50%; bottom: 36px; width: min(260px,calc(100% - 28px)); height: 112px;
  transform: translateX(-50%); justify-content: center; text-align: center;
  padding: 16px; font-size: 13px; line-height: 1.4; white-space: normal;
}
#placement-controls { background: #17211d; border-top: 1px solid #3a4e43; }
#placement-controls .placement-panel {
  color: #eff4ed; padding: 22px 25px; gap: 22px;
}
#placement-controls .placement-kicker { color: #d7a478; font-size: 11px; letter-spacing: .1em; }
#placement-controls h3 { color: #f5f5ef; font-size: 25px; line-height: 1.15; }
#placement-controls .placement-explanation { max-width: 390px; color: #bdc9c0; font-size: 14px; line-height: 1.55; }
#placement-controls .range-field label { min-height: 28px; color: #d5ddd7; font-size: 13px; }
#placement-controls .range-field output { color: #f1c49c; font-weight: 650; font-variant-numeric: tabular-nums; }
#placement-controls .range-field input { min-height: 34px; accent-color: #c98c5f; }
#placement-controls .placement-actions { gap: 9px; min-width: 122px; }
#placement-controls .placement-actions button { min-height: 42px; border-radius: 8px; font-size: 13px; }
#placement-controls .placement-actions button:first-child { background: #d99c6d; border-color: #d99c6d; color: #251b15; }
#placement-controls .placement-actions button:last-child { background: #212e28; border-color: #516158; color: #e5ebe4; }
#placement-controls .placement-extra { border-color: #394a40; }
#placement-controls .furniture-choices button { min-height: 46px; border-radius: 9px; border-color: #58675e; background: #1d2924; color: #dce4dc; font-size: 14px; }
#placement-controls .furniture-choices button.active { background: #3b3027; border-color: #c98c5f; color: #ffd8b5; }
#placement-controls .placement-product-meta { color: #d6dfd7; font-size: 13px; }
#placement-controls .placement-demo-price { color: #f0c29c; font-size: 16px; font-weight: 600; }
#placement-controls .placement-shop-note { color: #aab9af; font-size: 12px; line-height: 1.6; }
#placement-controls .placement-zone-label { display: flex; width: fit-content; max-width: 100%; min-height: 36px; padding: 7px 11px; border: 1px solid #698274; border-radius: 9px; background: #20352a; color: #d9eee0; font-size: 13px; line-height: 1.4; }
#placement-controls .placement-zone-label.is-blocked { border-color: #b97d6b !important; background: #3b2723 !important; color: #ffd2c7 !important; }
#placement-controls .placement-zone-label.is-adjusted:not(.is-blocked) { border-color: #b29562 !important; background: #392f21 !important; color: #f0d8a8 !important; }
.viewer:not(.placing) .object-card { width: 248px; right: 18px; bottom: 18px; padding: 18px; }
.viewer:not(.placing) .object-card h3 { font-size: 22px; }
.viewer:not(.placing) .object-price { font-size: 33px; }
@media (max-width: 1000px) {
  #placement-controls .placement-panel { gap: 17px; padding: 20px; }
  #placement-controls .placement-explanation { max-width: none; }
}
@media (max-width: 760px) {
  .viewer.placing #placement-stage .placement-badge { top: 11px; left: 11px; padding: 8px 10px; font-size: 10px; }
  .viewer.placing #placement-stage .placement-help { bottom: 30px; width: min(224px,calc(100% - 24px)); height: 104px; padding: 13px; font-size: 12px; }
  #placement-controls .placement-panel { gap: 14px; padding: 18px 16px; }
  #placement-controls h3 { font-size: 22px; }
  #placement-controls .placement-explanation { font-size: 14px; }
  #placement-controls .placement-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 15px; }
  #placement-controls .placement-fields .range-field:nth-child(3) { grid-column: 1 / -1; }
  #placement-controls .range-field label { font-size: 13px; }
  #placement-controls .placement-actions button { min-height: 44px; }
  #placement-controls .placement-zone-label { font-size: 13px; }
  .viewer:not(.placing) .object-card { width: auto; }
}

/* Furniture placement: keep the room visible and make the move affordance small. */
.viewer.placing #placement-stage .placement-help {
  left: auto; right: 16px; top: 16px; bottom: auto; transform: none;
  width: auto; max-width: 230px; height: auto; min-height: 0;
  padding: 9px 12px; text-align: left; justify-content: flex-start;
  font-size: 11px; line-height: 1.35;
}
@media (max-width: 760px) {
  .viewer.placing #placement-stage .placement-badge { display: none !important; }
  .viewer.placing #placement-stage .placement-help {
    left: 11px; right: auto; top: 11px; bottom: auto;
    width: auto; max-width: calc(100% - 22px); height: auto;
    padding: 8px 10px; font-size: 10px;
  }
}
