.furniture-shell { max-width: 1280px; margin-inline: auto; padding-inline: 32px; }
.furniture-hero { padding-block: 48px 56px; background: #fbf5f3; }
.furniture-hero-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .9fr); gap: 32px 48px; align-items: center; }
.furniture-hero-heading { grid-column: 1; grid-row: 1; }
.furniture-hero-heading h1 { text-wrap: balance; }
.furniture-hero-heading > p { max-width: 58ch; margin-top: 16px; color: #4b5563; font-size: 18px; line-height: 1.6; }
.furniture-hero-proof { grid-column: 1 / -1; grid-row: 2; }
.furniture-hero-action { grid-column: 2; grid-row: 1; }
.furniture-hero #hero-welcome-message { display: none; }
.furniture-showcase { display: grid; grid-template-columns: minmax(0, .8fr) 28px minmax(0, 2fr); gap: 20px; align-items: center; }
.furniture-showcase-label { margin-bottom: 14px; color: #111827; font-size: 16px; line-height: 1.4; font-weight: 600; }
.furniture-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.furniture-room { grid-column: 1 / -1; }
.furniture-inputs figure, .furniture-output { min-width: 0; margin: 0; }
.furniture-showcase picture, .furniture-showcase a { display: block; }
.furniture-input-photo { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 12px; background: #fff; }
.furniture-room .furniture-input-photo { aspect-ratio: 16 / 9; object-fit: contain; }
.furniture-inputs figcaption { margin-top: 6px; color: #4b5563; font-size: 12px; line-height: 1.4; }
.furniture-flow { color: #b05039; }
.furniture-flow svg { width: 28px; height: 28px; }
.furniture-result-photo { display: block; width: 100%; height: auto; border-radius: 16px; }
.furniture-output > figcaption { margin-top: 12px; color: #4b5563; font-size: 12px; line-height: 1.4; }
.furniture-showcase a { border-radius: 12px; }
.furniture-showcase a:focus-visible, .furniture-gallery-action a:focus-visible { outline: 3px solid #b05039; outline-offset: 4px; }
.furniture-showcase a:hover { text-decoration: underline; text-underline-offset: 3px; }
.furniture-gallery { padding-block: 80px; }
.furniture-gallery-heading { max-width: 720px; margin-inline: auto; text-align: center; }
.furniture-gallery-heading > p, .furniture-case-heading > p { margin-top: 16px; color: #4b5563; font-size: 17px; line-height: 1.65; }
.furniture-case { padding-block: 56px; }
.furniture-case + .furniture-case { border-top: 1px solid #e5e7eb; }
.furniture-case-heading { max-width: 72ch; margin-bottom: 28px; }
.furniture-instructions { display: flex; align-items: baseline; gap: 12px 24px; margin-top: 24px; padding: 20px 24px; border-radius: 12px; background: #fbf5f3; color: #7a3426; }
.furniture-instructions > span { flex-shrink: 0; font-size: 13px; font-weight: 600; }
.furniture-instructions > p { font-size: 16px; line-height: 1.6; }
.furniture-gallery-action { text-align: center; }
.furniture-hero ::selection, .furniture-gallery ::selection { background: #ecd0c7; color: #652e23; }
@media (max-width: 1023px) {
    .furniture-hero-layout { gap: 28px; grid-template-columns: minmax(0, 1.2fr) minmax(260px, 1fr); }
    .furniture-hero-heading h1 { font-size: 40px; }
    .furniture-showcase { gap: 12px; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 2fr); }
    .furniture-flow svg { width: 20px; height: 20px; }
    .furniture-instructions { flex-direction: column; gap: 6px; }
}
@media (max-width: 767px) {
    .furniture-shell { padding-inline: 20px; }
    .furniture-hero { padding-block: 28px 40px; }
    .furniture-hero-layout { display: flex; flex-direction: column; gap: 20px; }
    .furniture-hero-heading { text-align: center; }
    .furniture-hero-heading h1 { font-size: 32px; }
    .furniture-hero-heading > p { font-size: 16px; line-height: 1.5; margin-top: 12px; }
    .furniture-hero-proof, .furniture-hero-action { width: 100%; }
    .furniture-showcase { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .furniture-showcase-label { font-size: 14px; margin-bottom: 10px; }
    .furniture-input-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .furniture-room { grid-column: auto; }
    .furniture-room .furniture-input-photo { aspect-ratio: 1; object-fit: contain; }
    .furniture-inputs figcaption { font-size: 11px; }
    .furniture-flow { display: none; }
    .furniture-output > figcaption { margin-top: 8px; font-size: 11px; }
    .furniture-hero #hero-cta-guest { gap: 12px; }
    .furniture-hero #hero-cta-guest > div { flex-direction: row; flex-wrap: wrap; gap: 12px; }
    .furniture-hero #hero-cta-guest > div > span { display: none; }
    .furniture-hero #hero-cta-guest > div > div { width: auto; }
    .furniture-hero #hero-cta-guest button { width: auto; padding: 12px 16px; font-size: 14px; white-space: nowrap; }
    .furniture-hero #hero-cta-guest > div > div > a { font-size: 14px; }
    .furniture-gallery { padding-block: 48px; }
    .furniture-gallery-heading > p, .furniture-case-heading > p { font-size: 16px; }
    .furniture-case { padding-block: 36px; }
    .furniture-case-heading { margin-bottom: 24px; }
    .furniture-instructions { padding: 16px; margin-top: 20px; }
    .furniture-instructions > p { font-size: 15px; }
}
