:root {
  --red: #bf0d13;
  --red-dark: #99070c;
  --ink: #111010;
  --muted: #55504d;
  --line: #dedbd8;
  --soft: #f6f5f3;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--sans); overflow-x: hidden; }
button, input { font: inherit; } button { cursor: pointer; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; }

.announcement { height: 40px; display: grid; place-items: center; color: #fff; background: var(--red); font-size: 12px; letter-spacing: .01em; }
.site-header { height: 96px; position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.96); border-bottom: 1px solid #ece9e6; backdrop-filter: blur(12px); }
.nav-shell { width: min(1180px, calc(100% - 72px)); height: 100%; margin: 0 auto; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand img { width: 72px; height: 66px; object-fit: contain; }
.brand-rule { width: 1px; height: 60px; background: #bbb5b0; }
.brand-wordmark { display: flex; flex-direction: column; gap: 5px; line-height: 1; }
.brand-wordmark strong { font: 500 32px/1 var(--serif); letter-spacing: .07em; }
.brand-wordmark small { font-size: 8px; font-weight: 800; letter-spacing: .33em; }
.main-nav { margin-left: 42px; display: flex; align-items: center; align-self: stretch; gap: clamp(21px, 2.2vw, 37px); }
.main-nav a { height: 100%; position: relative; display: flex; align-items: center; font-size: 14px; white-space: nowrap; }
.main-nav a::after { position: absolute; content: ''; left: 0; bottom: 25px; width: 0; height: 2px; background: var(--red); transition: width .2s ease; }
.main-nav a:hover, .main-nav .active { color: var(--red); }.main-nav a:hover::after, .main-nav .active::after { width: 42px; }
.header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.icon-button { width: 35px; height: 35px; border: 0; background: transparent; padding: 5px; color: var(--ink); position: relative; border-radius: 50%; transition: background .2s, color .2s; }
.icon-button:hover { color: var(--red); background: #f7eeee; }.icon-button svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.bag-button b { position: absolute; top: -2px; right: -4px; min-width: 15px; height: 15px; display: grid; place-items: center; background: var(--red); border-radius: 50%; color: #fff; font: 700 9px/1 var(--sans); }
.menu-toggle { display: none; background: transparent; border: 0; width: 36px; height: 36px; padding: 8px; }.menu-toggle i { display: block; height: 1.5px; margin: 5px 0; background: var(--ink); }

.hero { background: #fff; }.hero-inner { width: min(1180px, calc(100% - 72px)); min-height: 432px; margin: 0 auto; display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; }
.hero-copy { padding: 33px 0 26px; }.eyebrow { margin: 0 0 15px; color: var(--red); font-size: 13px; line-height: 1; font-weight: 800; letter-spacing: .18em; }
h1, h2, h3, p { margin-top: 0; }h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.055em; }
h1 { margin-bottom: 17px; font-size: clamp(50px, 5.7vw, 76px); line-height: .95; }
.hero-description { margin: 0 0 24px; font-size: 17px; line-height: 1.45; letter-spacing: -.025em; }
.primary-button { min-width: 263px; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; border: 1px solid var(--red); background: var(--red); color: #fff; padding: 0 22px; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .11em; transition: background .2s, transform .2s, border-color .2s; }.primary-button:hover { transform: translateY(-2px); background: var(--red-dark); border-color: var(--red-dark); }.primary-button span { font-size: 23px; line-height: 0; font-weight: 400; }
.hero-perks { display: flex; margin-top: 26px; align-items: center; }.hero-perks > div { min-height: 41px; display: flex; align-items: center; gap: 10px; padding: 0 23px; border-right: 1px solid #c8c3bf; }.hero-perks > div:first-child { padding-left: 0; }.hero-perks > div:last-child { border-right: 0; }.perk-icon { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--ink); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.hero-perks span { font-size: 12px; line-height: 1.08; }
.hero-visual { height: 100%; align-self: stretch; display: flex; align-items: center; justify-content: flex-end; overflow: hidden; }.hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(1.03); }

.category-section, .featured-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; }.category-section { padding: 42px 0 50px; }.section-intro { text-align: center; }.section-intro h2, .featured-heading h2 { margin-bottom: 8px; font-size: clamp(34px, 3.8vw, 52px); line-height: 1; }.red-rule { display: inline-block; width: 43px; height: 2px; background: var(--red); }.section-intro p { margin: 12px 0 23px; color: #3c3836; font-size: 15px; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 27px; }.category-card { text-align: center; }.category-image { width: min(100%, 208px); aspect-ratio: 1; margin: 0 auto 12px; overflow: hidden; border-radius: 50%; background: var(--soft); }.category-image img { width: 100%; height: 100%; object-fit: cover; }.category-card h3 { margin: 0 0 8px; font-size: 15px; letter-spacing: -.03em; }.category-card button, .view-all { color: var(--red); border: 0; background: none; padding: 0; font-size: 13px; font-weight: 700; }.category-card button span, .view-all span { margin-left: 5px; font-size: 19px; vertical-align: -1px; }

.featured-section { padding: 11px 0 47px; }.featured-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 18px; }.featured-heading h2 { margin-bottom: 8px; }.view-all { padding-bottom: 3px; }.featured-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.featured-card { position: relative; min-width: 0; background: #fff; border: 1px solid #ededeb; border-radius: 4px; overflow: hidden; box-shadow: 0 4px 13px rgba(22,17,14,.07); transition: transform .2s, box-shadow .2s; }.featured-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(22,17,14,.12); }.card-image { width: 100%; padding: 0; border: 0; display: block; position: relative; overflow: hidden; background: var(--soft); aspect-ratio: 1.2; }.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }.featured-card:hover .card-image img { transform: scale(1.04); }.card-image span { opacity: 0; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-35%); background: rgba(255,255,255,.94); padding: 8px 11px; color: var(--ink); font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .06em; transition: opacity .2s, transform .2s; }.featured-card:hover .card-image span { opacity: 1; transform: translate(-50%,-50%); }
.heart-button { position: absolute; z-index: 2; top: 8px; right: 8px; width: 34px; height: 34px; padding: 7px; border: 0; background: #fff; border-radius: 50%; color: var(--ink); box-shadow: 0 1px 5px rgba(0,0,0,.06); }.heart-button svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; }.heart-button.saved { background: var(--red); color: #fff; }.heart-button.saved svg { fill: currentColor; }
.card-info { padding: 14px 14px 13px; }.card-info h3 { min-height: 17px; margin: 0 0 10px; font-size: 15px; font-weight: 500; letter-spacing: -.045em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.card-price { margin: 0 0 12px; color: var(--red); font-size: 17px; font-weight: 500; }.card-bottom { display: flex; min-height: 31px; align-items: center; justify-content: space-between; gap: 4px; }.rating { color: var(--red); font-size: 13px; letter-spacing: .03em; white-space: nowrap; }.rating b { margin-left: 4px; color: var(--ink); font-size: 10px; font-weight: 500; letter-spacing: 0; }.round-cart { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; padding: 8px; color: #fff; background: var(--red); border: 0; border-radius: 50%; transition: transform .2s, background .2s; }.round-cart:hover { background: var(--red-dark); transform: scale(1.06); }.round-cart svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }

.service-strip { width: min(1180px, calc(100% - 72px)); min-height: 108px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #e2dfdc; }.service-strip > div { display: flex; align-items: center; justify-content: center; gap: 20px; border-right: 1px solid #e2dfdc; }.service-strip > div:last-child { border-right: 0; }.service-strip svg { width: 38px; height: 38px; flex: none; fill: none; stroke: var(--ink); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }.service-strip p { margin: 0; font-size: 13px; line-height: 1.27; }
.footer { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 18px 0 28px; display: flex; justify-content: space-between; border-top: 1px solid #e2dfdc; color: #68615d; font-size: 11px; }.footer a { color: var(--red); font-weight: 700; }

.overlay { position: fixed; z-index: 49; inset: 0; visibility: hidden; opacity: 0; background: rgba(20,15,13,.35); transition: opacity .25s, visibility .25s; }.overlay.visible { visibility: visible; opacity: 1; }.cart-drawer { position: fixed; z-index: 50; top: 0; right: 0; bottom: 0; width: min(410px, 100%); display: flex; flex-direction: column; background: #fff; transform: translateX(101%); transition: transform .3s cubic-bezier(.2,.8,.2,1); }.cart-drawer.open { transform: translateX(0); }.drawer-title { min-height: 85px; padding: 0 21px 0 27px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }.drawer-title h2 { margin: 0; font: 400 29px var(--serif); }.drawer-title h2 span { color: var(--red); font: 700 12px var(--sans); vertical-align: middle; }.close-button { width: 38px; height: 38px; padding: 0; border: 0; background: transparent; color: var(--ink); font-size: 30px; font-weight: 300; }.cart-items { flex: 1; padding: 15px 27px; overflow: auto; }.cart-items > p { margin-top: 52px; color: var(--muted); text-align: center; font: 17px var(--serif); }.cart-item { display: grid; grid-template-columns: 78px 1fr auto; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid #e8e5e2; }.cart-item img { width: 78px; height: 61px; object-fit: cover; }.cart-item h3 { margin: 0 0 5px; font: 400 16px var(--serif); }.cart-item p { margin: 0; color: var(--red); font-size: 12px; }.remove-item { padding: 5px; border: 0; background: transparent; color: var(--red); font-size: 22px; }.drawer-footer { padding: 19px 27px 27px; border-top: 1px solid var(--line); }.drawer-footer > div { display: flex; justify-content: space-between; margin-bottom: 18px; font-size: 13px; }.drawer-footer strong { font: 400 18px var(--serif); }.drawer-footer .primary-button { width: 100%; min-width: 0; }
.modal { position: fixed; z-index: 51; top: 50%; left: 50%; width: min(690px, calc(100% - 28px)); max-height: calc(100vh - 28px); visibility: hidden; opacity: 0; overflow: auto; background: #fff; transform: translate(-50%,-45%); transition: opacity .25s, transform .25s, visibility .25s; }.modal.open { visibility: visible; opacity: 1; transform: translate(-50%,-50%); }.modal-close { position: absolute; z-index: 2; right: 8px; top: 8px; }.quick-view { display: grid; grid-template-columns: 1fr 1fr; }.quick-view-image { min-height: 360px; background: var(--soft); }.quick-view-image img { width: 100%; height: 100%; object-fit: cover; }.quick-view-copy { align-self: center; padding: 37px; }.quick-view-copy h2, .simple-modal h2 { margin: 0 0 12px; font-size: 39px; line-height: .95; }.quick-view-copy p, .simple-modal > p { color: var(--muted); line-height: 1.5; }.quick-view-price { color: var(--red) !important; font-size: 19px; font-weight: 600; }.simple-modal { padding: 55px 45px 45px; }.simple-modal .eyebrow { margin-bottom: 12px; }.simple-modal input { width: 100%; height: 45px; margin: 13px 0; padding: 0 12px; border: 1px solid #d8d3cf; outline-color: var(--red); }.simple-modal .primary-button { margin-top: 4px; }

@media (max-width: 1050px) { .nav-shell, .hero-inner, .category-section, .featured-section, .service-strip, .footer { width: min(100% - 64px, 940px); }.main-nav { gap: 22px; }.header-actions { margin-left: auto; }.hero-inner { min-height: 410px; }.hero-perks > div { padding: 0 15px; }.category-image { max-width: 190px; }.featured-grid { gap: 14px; }.card-info { padding: 12px; }.rating { font-size: 11px; }.rating b { font-size: 9px; } }
@media (max-width: 800px) { .site-header { height: 76px; }.nav-shell { width: calc(100% - 34px); gap: 10px; }.brand img { width: 47px; height: 44px; }.brand-rule { height: 42px; }.brand-wordmark strong { font-size: 22px; }.brand-wordmark small { font-size: 6px; letter-spacing: .3em; }.menu-toggle { display: block; margin-left: auto; }.main-nav { position: absolute; left: 0; right: 0; top: 76px; z-index: 5; height: auto; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 9px 17px 15px; border-bottom: 1px solid var(--line); background: #fff; transform: translateY(-125%); opacity: 0; pointer-events: none; transition: transform .25s, opacity .25s; }.main-nav.open { transform: translateY(0); opacity: 1; pointer-events: auto; }.main-nav a { height: 40px; }.main-nav a::after { bottom: 4px; }.header-actions { margin-left: 2px; gap: 3px; }.icon-button { width: 33px; height: 33px; }.account { display: none; }.hero-inner { width: calc(100% - 34px); min-height: 0; grid-template-columns: 1fr; }.hero-copy { order: 2; padding: 13px 4px 34px; text-align: center; }.hero-visual { order: 1; height: min(68vw, 380px); margin-top: 6px; }.hero-visual img { object-position: center; }.eyebrow { font-size: 11px; }.hero-description { font-size: 15px; }.hero-perks { justify-content: center; }.hero-perks > div { padding: 0 11px; gap: 6px; }.hero-perks span { font-size: 10px; }.perk-icon { width: 26px; height: 26px; }.category-section, .featured-section, .service-strip, .footer { width: calc(100% - 34px); }.category-grid { gap: 20px 12px; }.category-image { max-width: 150px; }.category-card h3 { font-size: 13px; }.category-card button { font-size: 11px; }.featured-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }.featured-section { padding-top: 36px; }.service-strip { grid-template-columns: repeat(2, 1fr); }.service-strip > div { min-height: 90px; border-bottom: 1px solid #e2dfdc; }.service-strip > div:nth-child(2n) { border-right: 0; }.footer { margin-top: 0; } }
@media (max-width: 460px) { .announcement { height: 36px; font-size: 11px; }.site-header { height: 70px; }.main-nav { top: 70px; }.header-actions { gap: 0; }.hero-copy { padding-bottom: 28px; }.hero-visual { height: 63vw; }.hero h1 { font-size: clamp(39px, 11.4vw, 52px); }.primary-button { min-width: 233px; min-height: 47px; font-size: 10px; }.hero-perks { margin-top: 22px; }.hero-perks > div { padding: 0 8px; }.hero-perks span { font-size: 9px; }.perk-icon { width: 23px; height: 23px; }.category-section { padding: 32px 0 24px; }.category-grid { grid-template-columns: repeat(2,1fr); }.category-image { max-width: 145px; }.section-intro h2, .featured-heading h2 { font-size: 34px; }.featured-heading { align-items: center; }.view-all { font-size: 11px; }.card-info h3 { font-size: 14px; }.card-price { font-size: 15px; }.quick-view { grid-template-columns: 1fr; }.quick-view-image { min-height: 260px; }.quick-view-copy { padding: 27px; }.simple-modal { padding: 52px 25px 30px; } }

/* Keep the same left-copy / right-chair hero composition on phones. */
@media (max-width: 800px) {
  .hero-inner {
    position: relative;
    width: calc(100% - 34px);
    min-height: 325px;
    padding-bottom: 63px;
    grid-template-columns: 1.05fr .95fr;
    align-items: stretch;
  }
  .hero-copy {
    order: initial;
    z-index: 1;
    align-self: center;
    padding: 20px 8px 8px 0;
    text-align: left;
  }
  .hero-visual {
    order: initial;
    height: auto;
    margin-top: 0;
    align-self: stretch;
  }
  .hero-visual img { object-position: 75% center; }
  .hero .eyebrow { margin-bottom: 9px; font-size: 9px; letter-spacing: .14em; }
  .hero h1 { margin-bottom: 10px; font-size: clamp(24px, 6.3vw, 45px); line-height: .96; }
  .hero-description { margin-bottom: 14px; font-size: 11px; line-height: 1.35; }
  .hero .primary-button { width: 100%; min-width: 0; max-width: 205px; min-height: 41px; gap: 12px; padding: 0 8px; font-size: 8px; letter-spacing: .08em; }
  .hero .primary-button span { font-size: 17px; }
  .hero-perks {
    position: absolute;
    right: 0;
    bottom: 12px;
    left: 0;
    justify-content: stretch;
    margin: 0;
  }
  .hero-perks > div { flex: 1; justify-content: center; gap: 6px; padding: 0 6px; }
  .hero-perks > div:first-child { padding-left: 2px; }
  .hero-perks span { font-size: 9px; }
  .perk-icon { width: 22px; height: 22px; }
}
@media (max-width: 460px) {
  .hero-inner { min-height: 292px; padding-bottom: 58px; }
  .hero-copy { padding-top: 14px; }
  .hero h1 { font-size: clamp(23px, 6.3vw, 29px); }
  .hero-description { font-size: 10px; }
  .hero .primary-button { min-height: 38px; font-size: 7.5px; }
  .hero-perks { bottom: 10px; }
  .hero-perks > div { gap: 4px; padding: 0 3px; }
  .hero-perks span { font-size: 8px; }
  .perk-icon { width: 19px; height: 19px; }
}

/* On mobile, keep the trust points directly below the hero copy (not under the chair). */
@media (max-width: 800px) {
  .hero-perks {
    position: static;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 16px;
  }
  .hero-perks > div {
    flex: 1 1 30%;
    justify-content: flex-start;
  }
}
@media (max-width: 460px) {
  .hero-perks { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; margin-top: 12px; }
  .hero-perks > div { flex: 0 0 auto; min-height: 21px; border-right: 0; padding: 0; }
  .hero-perks span { font-size: 8.5px; line-height: 1; }
  .perk-icon { width: 18px; height: 18px; }
}

/* Reduce the gap after the mobile hero so the category section starts closer. */
@media (max-width: 800px) {
  .category-section { padding-top: 18px; }
}
@media (max-width: 460px) {
  .category-section { padding-top: 14px; }
}

/* Bring “Shop by Category” closer to the mobile hero. */
@media (max-width: 800px) {
  .category-section { margin-top: -20px; padding-top: 10px; }
}
@media (max-width: 460px) {
  .category-section { margin-top: -14px; padding-top: 10px; }
}

/* Custom furniture request form */
.consultation-modal { padding: 48px 46px 42px; }
.consultation-modal h2 { max-width: 500px; font-size: 40px; }
.consultation-modal > p { max-width: 560px; margin-bottom: 22px; }
.consultation-form { margin-top: 4px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; margin-bottom: 21px; }
.form-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: #4b4541; font-size: 11px; font-weight: 700; letter-spacing: .01em; }
.form-field.full { grid-column: 1 / -1; }
.form-field > span:first-child b { color: var(--red); }
.simple-modal .form-field input,
.simple-modal .form-field select,
.simple-modal .form-field textarea { width: 100%; height: 42px; margin: 0; padding: 0 11px; color: var(--ink); border: 1px solid #d9d4d0; border-radius: 0; background: #fff; outline-color: var(--red); font: 13px var(--sans); }
.simple-modal .form-field select { appearance: auto; cursor: pointer; }
.simple-modal .form-field textarea { height: auto; min-height: 91px; padding: 11px; resize: vertical; line-height: 1.45; }
.upload-box { position: relative; min-height: 72px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 1px dashed #bf0d13; background: #fdf7f7; color: var(--red); cursor: pointer; text-align: center; }
.upload-box input { position: absolute; inset: 0; width: 100% !important; height: 100% !important; opacity: 0; cursor: pointer; }
.upload-box strong { font-size: 12px; }.upload-box small { color: #746b67; font-size: 10px; font-weight: 500; }.form-field em { margin-top: 0; color: #766e69; font-size: 10px; font-style: normal; font-weight: 500; }
.checkbox-field { flex-direction: row; align-items: flex-start; gap: 8px; color: #59524e; font-size: 11px; font-weight: 500; line-height: 1.35; letter-spacing: 0; }.simple-modal .checkbox-field input { width: auto; height: auto; margin: 2px 0 0; accent-color: var(--red); }.consultation-form .primary-button { min-width: 246px; }
@media (max-width: 460px) { .consultation-modal { padding: 50px 23px 29px; }.consultation-modal h2 { font-size: 33px; }.form-grid { grid-template-columns: 1fr; gap: 12px; }.form-field.full { grid-column: auto; }.consultation-form .primary-button { width: 100%; min-width: 0; } }

/* Why buy from Taqi Furniture */
.why-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 72px 0 65px; border-top: 1px solid #e2dfdc; }
.why-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 35px; }
.why-heading .eyebrow { margin-bottom: 12px; }.why-heading h2 { margin: 0; font-size: clamp(40px, 4.2vw, 61px); line-height: .92; }.why-heading h2 em { color: var(--red); font-style: normal; }.why-heading > p { max-width: 365px; margin: 0 0 5px; color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.45; }
.why-layout { display: grid; grid-template-columns: 1.03fr .97fr; gap: clamp(38px, 7vw, 90px); align-items: stretch; }.why-visual { position: relative; min-height: 420px; overflow: hidden; background: var(--soft); }.why-visual img { width: 100%; height: 100%; object-fit: cover; }.visual-caption { position: absolute; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 4px; min-width: 220px; padding: 18px 21px; background: var(--red); color: #fff; }.visual-caption b { font: 400 20px var(--serif); }.visual-caption small { color: #ffe2e2; font-size: 10px; letter-spacing: .04em; }
.why-content { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-content: center; column-gap: 32px; }.why-point { display: flex; gap: 12px; padding: 20px 0 19px; border-top: 1px solid #ddd8d4; }.why-point:nth-child(3), .why-point:nth-child(4) { border-bottom: 1px solid #ddd8d4; }.why-point > span { color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .1em; }.why-point h3 { margin: 0 0 7px; font: 400 20px/1 var(--serif); letter-spacing: -.035em; }.why-point p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.48; }.text-button { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 15px; margin-top: 25px; padding: 0 0 7px; border: 0; border-bottom: 1px solid var(--red); background: transparent; color: var(--ink); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.text-button span { color: var(--red); font: 20px/1 var(--serif); }
@media (max-width: 800px) { .why-section { width: calc(100% - 34px); padding: 53px 0 45px; }.why-heading { display: block; margin-bottom: 27px; }.why-heading > p { margin-top: 18px; font-size: 16px; }.why-layout { grid-template-columns: 1fr; gap: 32px; }.why-visual { min-height: 330px; }.why-content { gap: 0 23px; }.why-point { padding: 17px 0; }.why-point h3 { font-size: 19px; } }
@media (max-width: 460px) { .why-section { padding: 43px 0 34px; }.why-heading h2 { font-size: 41px; }.why-heading > p { font-size: 15px; }.why-visual { min-height: 276px; }.visual-caption { min-width: 188px; padding: 15px 16px; }.why-content { grid-template-columns: 1fr; }.why-point:nth-child(3) { border-bottom: 0; }.why-point { padding: 15px 0; }.why-point h3 { font-size: 20px; }.why-point p { font-size: 12px; }.text-button { margin-top: 20px; } }

/* Frequently asked questions */
.faq-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 74px 0; display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(48px, 10vw, 135px); border-top: 1px solid #e2dfdc; }
.faq-intro { align-self: start; }.faq-intro .eyebrow { margin-bottom: 13px; }.faq-intro h2 { margin: 0 0 17px; font-size: clamp(40px, 4.2vw, 60px); line-height: .93; }.faq-intro > p { max-width: 330px; margin-bottom: 26px; color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.48; }.faq-list { border-top: 1px solid #dcd7d3; }.faq-item { border-bottom: 1px solid #dcd7d3; }.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 21px 0; border: 0; background: transparent; color: var(--ink); text-align: left; font: 400 20px/1.15 var(--serif); letter-spacing: -.025em; }.faq-question i { flex: none; color: var(--red); font: 300 28px/1 var(--sans); transition: transform .25s; }.faq-item.open .faq-question i { transform: rotate(45deg); }.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s ease; }.faq-answer p { min-height: 0; overflow: hidden; max-width: 650px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }.faq-item.open .faq-answer { grid-template-rows: 1fr; }.faq-item.open .faq-answer p { padding: 0 38px 21px 0; }
@media (max-width: 800px) { .faq-section { width: calc(100% - 34px); padding: 54px 0; grid-template-columns: 1fr; gap: 32px; }.faq-intro > p { font-size: 16px; }.faq-question { padding: 18px 0; font-size: 19px; }.faq-answer p { font-size: 12px; } }
@media (max-width: 460px) { .faq-section { padding: 43px 0; gap: 27px; }.faq-intro h2 { font-size: 41px; }.faq-intro > p { margin-bottom: 21px; font-size: 15px; }.faq-question { font-size: 18px; }.faq-item.open .faq-answer p { padding-bottom: 18px; } }

/* Premium site footer */
.site-footer { margin-top: 0; color: #fff; background: #171313; border-top: 4px solid var(--red); }
.footer-main { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 62px 0 54px; display: grid; grid-template-columns: 1.14fr 1fr .93fr; gap: clamp(38px, 7vw, 100px); }
.footer-brand { width: max-content; color: #fff; }.footer-brand .brand-rule { background: #645957; }.footer-brand .brand-wordmark strong { color: #fff; }.footer-brand .brand-wordmark small { color: #fff; }.footer-brand-column > p { max-width: 250px; margin: 24px 0 15px; color: #e3dada; font: 18px/1.35 var(--serif); }.footer-location { color: #bcaeaa; font-size: 11px; letter-spacing: .04em; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(110px,1fr)); gap: 28px; }.footer-links h3, .footer-newsletter h3 { margin: 0 0 18px; color: #fff; font-family: var(--serif); font-size: 20px; font-weight: 400; letter-spacing: -.03em; }.footer-links a, .footer-links button { display: block; margin-bottom: 12px; padding: 0; border: 0; background: transparent; color: #d4c8c5; text-align: left; font-size: 12px; line-height: 1.25; transition: color .2s; }.footer-links a:hover, .footer-links button:hover { color: #fff; }
.footer-newsletter .eyebrow { margin-bottom: 12px; color: #f8a5a6; }.footer-newsletter h3 { margin-bottom: 12px; font-size: 25px; line-height: 1.02; }.footer-newsletter > p:not(.eyebrow) { margin: 0 0 18px; color: #d4c8c5; font-size: 12px; line-height: 1.45; }.footer-form { display: flex; border-bottom: 1px solid #9b8986; }.footer-form input { min-width: 0; flex: 1; height: 39px; padding: 0 2px; border: 0; outline: 0; background: transparent; color: #fff; font-size: 12px; }.footer-form input::placeholder { color: #b8aaa7; }.footer-form button { padding: 0 3px 0 18px; border: 0; background: transparent; color: #fff; font: 26px/1 var(--serif); }.newsletter-message { display: block; min-height: 16px; padding-top: 8px; color: #f8a5a6; font-size: 10px; }
.footer-bottom { width: min(1180px, calc(100% - 72px)); min-height: 66px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #443a38; color: #b9aaa7; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }.footer-bottom a { color: #fff; }.footer-bottom a b { margin-left: 6px; color: #f8a5a6; font-size: 15px; }.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 800px) { .footer-main, .footer-bottom { width: calc(100% - 34px); }.footer-main { grid-template-columns: 1fr 1fr; padding: 49px 0 40px; gap: 42px 26px; }.footer-brand-column { grid-column: 1 / -1; }.footer-brand-column > p { max-width: 290px; }.footer-newsletter { grid-column: 1 / -1; max-width: 400px; }.footer-bottom { min-height: 80px; flex-wrap: wrap; align-content: center; row-gap: 7px; padding: 14px 0; }.footer-bottom a { margin-left: auto; } }
@media (max-width: 460px) { .footer-main { grid-template-columns: 1fr; gap: 34px; padding-top: 43px; }.footer-links { grid-column: 1 / -1; }.footer-newsletter { grid-column: auto; }.footer-bottom { font-size: 9px; }.footer-bottom > span:nth-child(2) { display: none; }.footer-brand .brand-wordmark strong { font-size: 27px; } }

/* WhatsApp contact */
.footer-whatsapp { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #f4e5e2; font-size: 11px; }.footer-whatsapp span { color: #f8a5a6; font-size: 15px; }
.whatsapp-float { position: fixed; z-index: 25; right: 25px; bottom: 25px; display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 18px 0 13px; border: 1px solid rgba(255,255,255,.55); border-radius: 28px; background: #25d366; color: #fff; box-shadow: 0 8px 24px rgba(25,85,44,.26); font-size: 12px; font-weight: 800; letter-spacing: .01em; transition: transform .2s, box-shadow .2s; }.whatsapp-float:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(25,85,44,.34); }.whatsapp-float svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 460px) { .whatsapp-float { right: 14px; bottom: 14px; width: 48px; min-height: 48px; justify-content: center; padding: 0; }.whatsapp-float span { display: none; } }

/* Brand-matched WhatsApp icon button */
.whatsapp-float { width: 52px; min-height: 52px; justify-content: center; padding: 0; border: 2px solid #ffffff; border-radius: 50%; background: var(--red); box-shadow: 0 8px 23px rgba(126, 7, 11, .26); }
.whatsapp-float:hover { background: var(--red-dark); box-shadow: 0 12px 28px rgba(126, 7, 11, .34); }
.whatsapp-float span { display: none; }
.whatsapp-float svg { width: 27px; height: 27px; }
@media (max-width: 460px) { .whatsapp-float { width: 48px; min-height: 48px; } }

/* Optical centering for the WhatsApp mark inside its round button */
.whatsapp-float svg { transform: translateY(2px); }

/* Center the handset shape inside the WhatsApp bubble */
.whatsapp-float svg path:last-child { transform: translate(1.2px, 1px); transform-box: fill-box; transform-origin: center; }

/* Dedicated navigation pages */
.page-hero { border-bottom: 1px solid #e7e3e0; background: #fff; }.page-hero-inner { width: min(1180px, calc(100% - 72px)); min-height: 390px; margin: 0 auto; display: grid; grid-template-columns: 1.03fr .97fr; align-items: stretch; }.page-hero-copy { align-self: center; padding: 50px 0; }.page-hero-copy .eyebrow { margin-bottom: 15px; }.page-hero-copy h1 { margin: 0 0 18px; font-size: clamp(48px, 5.35vw, 74px); line-height: .93; }.page-hero-copy > p:not(.eyebrow) { max-width: 490px; margin: 0 0 26px; color: #47413e; font-size: 17px; line-height: 1.48; }.page-hero-image { min-height: 330px; overflow: hidden; }.page-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(1.03); }
.catalogue-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 72px 0 85px; }.catalogue-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 27px; }.catalogue-heading .eyebrow { margin-bottom: 11px; }.catalogue-heading h2 { margin: 0; font-size: clamp(40px, 4vw, 57px); line-height: .94; }.catalogue-heading > p { max-width: 350px; margin: 0 0 5px; color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.45; }.category-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; }.category-chips button { min-height: 35px; padding: 0 14px; border: 1px solid #d9d3cf; border-radius: 20px; background: #fff; color: #514946; font-size: 11px; transition: .2s; }.category-chips button:hover, .category-chips .selected { border-color: var(--red); background: var(--red); color: #fff; }.catalogue-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.section-copy-center { max-width: 630px; margin: 0 auto; text-align: center; }.section-copy-center h2 { margin: 0 0 15px; font-size: clamp(40px, 4.2vw, 58px); line-height: .94; }.process-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 78px 0 82px; }.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 27px; margin-top: 46px; }.process-grid article { padding: 22px 0; border-top: 1px solid #dcd7d3; border-bottom: 1px solid #dcd7d3; }.process-grid span, .contact-grid > article > span, .values-grid span { display: block; margin-bottom: 20px; color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: .12em; }.process-grid h3, .contact-grid h3, .values-grid h3 { margin: 0 0 10px; font: 400 23px/1 var(--serif); letter-spacing: -.04em; }.process-grid p, .contact-grid p, .values-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }.material-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #f7f5f3; }.material-image { min-height: 445px; }.material-image img { width: 100%; height: 100%; object-fit: cover; }.material-copy { max-width: 500px; padding: 64px clamp(35px,7vw,100px); }.material-copy h2 { margin: 0 0 17px; font-size: clamp(40px,4.2vw,60px); line-height: .93; }.material-copy > p:not(.eyebrow) { color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.5; }.material-copy ul { margin: 24px 0 26px; padding: 0; list-style: none; }.material-copy li { padding: 9px 0; border-bottom: 1px solid #d8d1cb; font-size: 13px; }.material-copy li::before { content: '—'; margin-right: 9px; color: var(--red); }.wide-cta { padding: 82px 20px; background: var(--red); color: #fff; text-align: center; }.wide-cta .eyebrow { color: #ffc5c7; }.wide-cta h2 { margin: 0 auto 27px; color: #fff; font-size: clamp(38px,4.5vw,61px); line-height: .95; }.wide-cta .primary-button { border-color: #fff; background: #fff; color: var(--red); }.wide-cta .primary-button:hover { background: #171313; border-color: #171313; color: #fff; }
.story-introduction { width: min(1000px, calc(100% - 72px)); margin: 0 auto; padding: 82px 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px,10vw,140px); }.story-lead h2 { margin: 0; font-size: clamp(42px,4.3vw,62px); line-height: .93; }.story-introduction > div:last-child { padding-top: 38px; }.story-introduction > div:last-child p { color: var(--muted); font-family: var(--serif); font-size: 18px; line-height: 1.55; }.story-photo-panel { width: min(1180px, calc(100% - 72px)); margin: 0 auto; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; background: #f7f5f3; }.story-photo-panel > img { width: 100%; height: 410px; object-fit: cover; }.story-photo-panel > div { padding: 56px clamp(35px, 7vw, 95px); }.story-photo-panel h2 { margin: 0 0 17px; font-size: clamp(37px,4vw,56px); line-height: .94; }.story-photo-panel p:not(.eyebrow) { color: var(--muted); font: 17px/1.5 var(--serif); }.values-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 82px 0; }.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; margin-top: 45px; }.values-grid article { padding: 24px 0; border-top: 1px solid #dcd7d3; border-bottom: 1px solid #dcd7d3; }
.contact-options { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 78px 0 72px; }.contact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; margin-top: 46px; }.contact-grid > article { display: flex; min-height: 260px; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid #e1dcd8; background: #fff; box-shadow: 0 5px 18px rgba(32,25,20,.045); }.contact-grid .text-button { margin-top: auto; }.contact-note { width: min(1180px, calc(100% - 72px)); margin: 0 auto 78px; padding: 49px clamp(26px,5vw,75px); display: grid; grid-template-columns: 1fr 1fr; gap: 55px; background: #171313; color: #fff; }.contact-note h2 { margin: 0; font-size: clamp(37px,4vw,55px); line-height: .94; }.contact-note > p { align-self: end; margin: 0; color: #d8cfcb; font: 18px/1.5 var(--serif); }.contact-note .eyebrow { color: #f8a5a6; }
@media (max-width: 800px) { .page-hero-inner, .catalogue-section, .process-section, .story-photo-panel, .values-section, .contact-options, .contact-note { width: calc(100% - 34px); }.page-hero-inner { min-height: 0; grid-template-columns: 1fr; }.page-hero-copy { padding: 54px 0 39px; }.page-hero-copy h1 { font-size: clamp(43px, 10vw, 62px); }.page-hero-image { min-height: 310px; }.catalogue-section, .process-section, .values-section, .contact-options { padding: 55px 0; }.catalogue-heading { display: block; }.catalogue-heading > p { margin-top: 17px; }.catalogue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }.process-grid { grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 33px; }.material-section { grid-template-columns: 1fr; }.material-image { min-height: 340px; }.material-copy { max-width: none; padding: 53px 30px; }.story-introduction { width: calc(100% - 34px); padding: 58px 0; grid-template-columns: 1fr; gap: 22px; }.story-introduction > div:last-child { padding-top: 0; }.story-photo-panel { grid-template-columns: 1fr; }.story-photo-panel > img { height: 350px; }.story-photo-panel > div { padding: 49px 32px; }.values-grid, .contact-grid { gap: 19px; }.values-grid { grid-template-columns: 1fr; margin-top: 31px; }.contact-grid { grid-template-columns: 1fr; margin-top: 33px; }.contact-grid > article { min-height: 215px; }.contact-note { margin-bottom: 55px; grid-template-columns: 1fr; gap: 22px; }.contact-note > p { align-self: auto; } }
@media (max-width: 460px) { .page-hero-copy { padding: 42px 0 31px; }.page-hero-copy h1 { font-size: 43px; }.page-hero-copy > p:not(.eyebrow) { font-size: 15px; }.page-hero-image { min-height: 260px; }.catalogue-section, .process-section, .values-section, .contact-options { padding: 43px 0; }.catalogue-heading h2 { font-size: 41px; }.category-chips { gap: 7px; }.category-chips button { min-height: 32px; padding: 0 11px; font-size: 10px; }.process-grid { grid-template-columns: 1fr; gap: 0; }.process-grid article { padding: 18px 0; }.process-grid h3 { font-size: 22px; }.section-copy-center h2 { font-size: 40px; }.material-image { min-height: 280px; }.material-copy { padding: 43px 20px; }.material-copy h2 { font-size: 40px; }.story-introduction { padding: 46px 0; }.story-lead h2 { font-size: 43px; }.story-introduction > div:last-child p { font-size: 16px; }.story-photo-panel > img { height: 275px; }.story-photo-panel > div { padding: 41px 22px; }.story-photo-panel h2 { font-size: 39px; }.contact-note { width: calc(100% - 34px); margin-bottom: 43px; padding: 40px 22px; }.contact-note h2 { font-size: 40px; }.contact-note > p { font-size: 16px; } }

/* Category browsing and individual product pages */
.category-link { display: block; color: inherit; }.category-link:hover .category-image img { transform: scale(1.05); }.category-link:hover .category-explore { color: var(--red-dark); }.category-card .category-image img { transition: transform .35s ease; }.category-explore { color: var(--red); font-size: 13px; font-weight: 700; }.category-explore b { margin-left: 5px; font: 19px/1 var(--serif); vertical-align: -2px; }.card-info h3 a { color: inherit; }.card-info h3 a:hover { color: var(--red); }
.category-hero { width: min(1180px, calc(100% - 72px)); min-height: 397px; margin: 0 auto; display: grid; grid-template-columns: 1.02fr .98fr; align-items: stretch; }.category-hero > div { align-self: center; padding: 50px 0; }.category-hero h1 { max-width: 530px; margin: 0 0 18px; font-size: clamp(48px,5.4vw,75px); line-height: .93; }.category-hero p:not(.eyebrow) { max-width: 495px; margin: 0 0 26px; color: var(--muted); font: 18px/1.5 var(--serif); }.category-hero > img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; filter: brightness(1.03); }.category-products { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 76px 0; }.category-assistance { padding: 55px max(36px, calc((100% - 1180px)/2)); display: grid; grid-template-columns: 1fr .8fr auto; align-items: center; gap: 45px; background: #171313; color: #fff; }.category-assistance .eyebrow { color: #f8a5a6; }.category-assistance h2 { margin: 0; font-size: clamp(37px,4vw,54px); line-height: .94; }.category-assistance > p { margin: 0; color: #dfd6d3; font: 17px/1.5 var(--serif); }.category-assistance .primary-button { min-width: 220px; background: #fff; border-color: #fff; color: var(--red); }.category-assistance .primary-button:hover { background: var(--red); border-color: var(--red); color: #fff; }
.breadcrumb { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 23px 0 15px; display: flex; flex-wrap: wrap; gap: 8px; color: #817873; font-size: 11px; }.breadcrumb a:hover { color: var(--red); }.breadcrumb b { color: var(--ink); font-weight: 600; }.product-detail { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 7px 0 76px; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(42px,7vw,96px); align-items: center; }.product-gallery { position: relative; min-height: 500px; overflow: hidden; background: #f6f4f2; }.product-gallery img { width: 100%; height: 100%; object-fit: cover; }.product-gallery > span { position: absolute; top: 17px; left: 17px; padding: 8px 10px; background: #fff; color: var(--red); font-size: 9px; font-weight: 800; letter-spacing: .1em; }.product-summary .eyebrow { margin-bottom: 13px; }.product-summary h1 { margin: 0 0 13px; font-size: clamp(42px,4.5vw,64px); line-height: .93; }.product-rating { margin: 0 0 17px; color: var(--red); font-size: 15px; letter-spacing: .05em; }.product-rating b { margin-left: 6px; color: var(--ink); font-size: 11px; font-weight: 500; letter-spacing: 0; }.product-detail-price { margin: 0 0 20px; color: var(--red); font: 25px var(--serif); }.product-description { max-width: 450px; margin: 0 0 24px; color: var(--muted); font: 17px/1.52 var(--serif); }.finish-row { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; padding: 16px 0; border-top: 1px solid #e1dcd8; border-bottom: 1px solid #e1dcd8; }.finish-row > span { margin-right: 4px; font-size: 12px; font-weight: 700; }.swatch { width: 23px; height: 23px; padding: 0; border: 2px solid #fff; outline: 1px solid #cfc7c1; border-radius: 50%; }.swatch.walnut { background: #76523d; }.swatch.oak { background: #b78756; }.swatch.linen { background: #e7ddd0; }.product-actions { display: flex; gap: 12px; margin-bottom: 20px; }.quantity { min-width: 70px; border: 1px solid #d9d3cf; background: #fff; font-size: 13px; }.quantity span { margin-left: 11px; color: var(--red); }.product-actions .primary-button { flex: 1; }.product-summary > .text-button { margin-top: 3px; }.product-delivery { margin: 22px 0 0; color: #766d68; font-size: 11px; }.product-features { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,10vw,150px); padding: 73px max(36px,calc((100% - 1180px)/2)); background: #f7f5f3; }.product-features h2 { margin: 0; font-size: clamp(40px,4vw,57px); line-height: .94; }.product-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 23px; }.product-feature-grid > div { padding-top: 16px; border-top: 1px solid #d7d0ca; }.product-feature-grid span { color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .1em; }.product-feature-grid h3 { margin: 14px 0 8px; font: 400 20px var(--serif); }.product-feature-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.product-story { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 82px 0; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(45px,10vw,140px); }.product-story > img { width: 100%; height: 400px; object-fit: cover; }.product-story h2 { margin: 0 0 16px; font-size: clamp(40px,4vw,57px); line-height: .94; }.product-story p:not(.eyebrow) { color: var(--muted); font: 17px/1.5 var(--serif); }.related-products { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding-bottom: 78px; }.related-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media (max-width:800px) { .category-hero, .category-products, .breadcrumb, .product-detail, .product-story, .related-products { width: calc(100% - 34px); }.category-hero { min-height: 0; grid-template-columns: 1fr; }.category-hero > div { padding: 54px 0 39px; }.category-hero h1 { font-size: clamp(44px,10vw,62px); }.category-hero > img { min-height: 295px; }.category-products { padding: 55px 0; }.category-assistance { grid-template-columns: 1fr; gap: 21px; padding: 45px 32px; }.product-detail { grid-template-columns: 1fr; gap: 34px; padding-bottom: 55px; }.product-gallery { min-height: 365px; }.product-features { grid-template-columns: 1fr; gap: 34px; padding: 54px 32px; }.product-story { grid-template-columns: 1fr; gap: 34px; padding: 55px 0; }.product-story > img { height: 330px; }.related-products { padding-bottom: 55px; }.related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.product-feature-grid { max-width: 670px; } }
@media (max-width:460px) { .category-hero > div { padding: 43px 0 31px; }.category-hero h1 { font-size: 43px; }.category-hero p:not(.eyebrow) { font-size: 16px; }.category-hero > img { min-height: 255px; }.category-products { padding: 43px 0; }.category-assistance { padding: 41px 22px; }.category-assistance h2 { font-size: 40px; }.breadcrumb { padding-top: 17px; font-size: 10px; }.product-detail { gap: 25px; padding-bottom: 43px; }.product-gallery { min-height: 285px; }.product-summary h1 { font-size: 42px; }.product-detail-price { font-size: 22px; }.product-description { font-size: 16px; }.product-actions .primary-button { min-width: 0; padding: 0 9px; gap: 9px; }.product-features { gap: 27px; padding: 43px 22px; }.product-features h2 { font-size: 40px; }.product-feature-grid { grid-template-columns: 1fr; gap: 15px; }.product-feature-grid h3 { margin: 9px 0 6px; }.product-story { gap: 27px; padding: 43px 0; }.product-story > img { height: 277px; }.product-story h2 { font-size: 40px; }.related-products { padding-bottom: 43px; } }

.category-chips a { min-height: 35px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid #d9d3cf; border-radius: 20px; background: #fff; color: #514946; font-size: 11px; transition: .2s; }.category-chips a:hover, .category-chips a.selected { border-color: var(--red); background: var(--red); color: #fff; }
@media (max-width:460px) { .category-chips a { min-height: 32px; padding: 0 11px; font-size: 10px; } }

/* Curated furniture & jahez packages */
.packages-section { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 78px 0 74px; border-top: 1px solid #e2dfdc; }.packages-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 52px; margin-bottom: 36px; }.packages-heading .eyebrow { margin-bottom: 12px; }.packages-heading h2 { margin: 0; font-size: clamp(40px,4.25vw,60px); line-height: .93; }.packages-heading > p { max-width: 365px; margin: 0 0 5px; color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.45; }.packages-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }.package-card { position: relative; overflow: hidden; border: 1px solid #e3ded9; background: #fff; box-shadow: 0 5px 17px rgba(32,25,20,.045); transition: transform .25s, box-shadow .25s; }.package-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(32,25,20,.1); }.package-card > img { width: 100%; aspect-ratio: 1.22; object-fit: cover; background: #f5f3f1; }.package-content { padding: 16px 16px 15px; }.package-number { display: block; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .1em; }.package-label { margin: 8px 0 8px; color: #716762; font-size: 9px; font-weight: 800; letter-spacing: .12em; }.package-content h3 { min-height: 39px; margin: 0 0 9px; font: 400 21px/.98 var(--serif); letter-spacing: -.04em; }.package-copy { min-height: 38px; margin: 0 0 13px; color: var(--muted); font-size: 11px; line-height: 1.42; }.package-content ul { min-height: 74px; margin: 0 0 15px; padding: 11px 0 0; list-style: none; border-top: 1px solid #e3ded9; }.package-content li { position: relative; margin: 0 0 7px; padding-left: 11px; color: #3f3936; font-size: 10px; line-height: 1.25; }.package-content li::before { position: absolute; left: 0; color: var(--red); content: '•'; }.package-bottom { display: flex; align-items: flex-end; justify-content: space-between; }.package-bottom small { display: block; margin-bottom: 4px; color: #746b66; font-size: 9px; }.package-bottom strong { display: block; color: var(--red); font: 400 17px var(--serif); }.package-bottom button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--red); color: #fff; font: 23px/1 var(--serif); transition: background .2s, transform .2s; }.package-bottom button:hover { background: var(--red-dark); transform: translateX(3px); }.package-tag { position: absolute; z-index: 2; top: 12px; right: 12px; padding: 7px 8px; background: var(--red); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .09em; }.package-note { max-width: 600px; margin: 28px auto 0; color: #716963; text-align: center; font: 15px/1.45 var(--serif); }
@media (max-width: 800px) { .packages-section { width: calc(100% - 34px); padding: 55px 0; }.packages-heading { display: block; margin-bottom: 28px; }.packages-heading > p { margin-top: 17px; font-size: 16px; }.packages-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }.package-content { padding: 14px; }.package-content h3 { font-size: 20px; }.package-note { margin-top: 23px; } }
@media (max-width: 460px) { .packages-section { padding: 43px 0; }.packages-heading h2 { font-size: 40px; }.packages-heading > p { font-size: 15px; }.packages-grid { grid-template-columns: 1fr; }.package-card > img { aspect-ratio: 1.42; }.package-content { padding: 17px; }.package-content h3 { min-height: auto; font-size: 23px; }.package-copy { min-height: auto; }.package-content ul { min-height: auto; }.package-note { font-size: 14px; } }
.package-bottom .package-button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--red); color: #fff; font: 23px/1 var(--serif); transition: background .2s, transform .2s; }.package-bottom .package-button:hover { background: var(--red-dark); transform: translateX(3px); }

/* Individual furniture package pages */
.package-detail-page { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 7px 0 76px; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px,8vw,110px); align-items: center; }.package-detail-image { position: relative; min-height: 490px; overflow: hidden; background: #f5f3f0; }.package-detail-image img { width: 100%; height: 100%; object-fit: cover; }.package-detail-image > span { position: absolute; top: 17px; left: 17px; padding: 9px 11px; background: var(--red); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .1em; }.package-detail-copy h1 { margin: 0 0 16px; font-size: clamp(43px,4.65vw,66px); line-height: .93; }.package-page-price { margin: 0 0 22px; color: var(--red); font: 29px var(--serif); }.package-page-price small { display: block; margin: 0 0 4px; color: #776d68; font: 10px var(--sans); text-transform: uppercase; letter-spacing: .12em; }.package-detail-copy > p:not(.eyebrow):not(.package-page-price):not(.package-ideal) { max-width: 460px; color: var(--muted); font: 17px/1.5 var(--serif); }.package-ideal { margin: 21px 0 25px; padding: 14px 0; border-top: 1px solid #ddd7d2; border-bottom: 1px solid #ddd7d2; color: #504946; font-size: 13px; line-height: 1.45; }.package-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; }.package-page-actions .primary-button { min-width: 260px; }.package-includes { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,10vw,145px); padding: 74px max(36px,calc((100% - 1180px)/2)); background: #f7f5f3; }.package-includes h2, .package-personalise h2 { margin: 0 0 16px; font-size: clamp(39px,4vw,57px); line-height: .94; }.package-includes > div:first-child > p:not(.eyebrow) { max-width: 350px; color: var(--muted); font: 17px/1.5 var(--serif); }.package-includes-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 30px; }.package-includes-grid article { display: flex; gap: 13px; padding: 20px 0; border-top: 1px solid #d7d0ca; }.package-includes-grid article:nth-child(3), .package-includes-grid article:nth-child(4) { border-bottom: 1px solid #d7d0ca; }.package-includes-grid span { color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .1em; }.package-includes-grid h3 { margin: 0 0 7px; font: 400 20px var(--serif); letter-spacing: -.035em; }.package-includes-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.48; }.package-personalise { width: min(1180px, calc(100% - 72px)); margin: 0 auto; padding: 82px 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px,10vw,140px); }.package-personalise > div:last-child { align-self: end; }.package-personalise > div:last-child p { max-width: 470px; margin: 0 0 24px; color: var(--muted); font: 18px/1.52 var(--serif); }.package-final-cta { padding: 78px 20px; background: #171313; color: #fff; text-align: center; }.package-final-cta .eyebrow { color: #f8a5a6; }.package-final-cta h2 { margin: 0 0 26px; font-size: clamp(39px,4.45vw,61px); line-height: .94; }.package-final-cta .primary-button { border-color: #fff; background: #fff; color: var(--red); }.package-final-cta .primary-button:hover { border-color: var(--red); background: var(--red); color: #fff; }
@media (max-width:800px) { .package-detail-page, .package-personalise { width: calc(100% - 34px); }.package-detail-page { grid-template-columns: 1fr; gap: 33px; padding-bottom: 55px; }.package-detail-image { min-height: 355px; }.package-includes { grid-template-columns: 1fr; gap: 32px; padding: 55px 32px; }.package-personalise { padding: 55px 0; grid-template-columns: 1fr; gap: 24px; }.package-personalise > div:last-child { align-self: auto; } }
@media (max-width:460px) { .package-detail-page { gap: 25px; padding-bottom: 43px; }.package-detail-image { min-height: 280px; }.package-detail-copy h1 { font-size: 42px; }.package-page-price { font-size: 25px; }.package-detail-copy > p:not(.eyebrow):not(.package-page-price):not(.package-ideal) { font-size: 16px; }.package-page-actions .primary-button { width: 100%; min-width: 0; }.package-includes { gap: 25px; padding: 43px 22px; }.package-includes h2, .package-personalise h2 { font-size: 40px; }.package-includes-grid { grid-template-columns: 1fr; }.package-includes-grid article:nth-child(3) { border-bottom: 0; }.package-includes-grid article { padding: 16px 0; }.package-personalise { padding: 43px 0; }.package-personalise > div:last-child p { font-size: 16px; }.package-final-cta { padding: 58px 20px; }.package-final-cta h2 { font-size: 40px; } }

/* Visual list of furniture included in each package */
.package-includes-grid { gap: 18px; }.package-includes-grid article { display: block; overflow: hidden; padding: 0; border: 1px solid #ded7d1 !important; background: #fff; }.package-includes-grid article img { width: 100%; aspect-ratio: 1.48; object-fit: cover; background: #f2efeb; }.package-includes-grid article > div { padding: 13px 14px 15px; }.package-includes-grid article h3 { margin: 9px 0 6px; }.package-includes-grid article p { min-height: 36px; }
@media (max-width:460px) { .package-includes-grid { gap: 14px; }.package-includes-grid article > div { padding: 13px; }.package-includes-grid article p { min-height: 0; } }

/* Final mobile-device refinement: compact phones, large phones and landscape screens */
@media (max-width: 600px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  button, a { touch-action: manipulation; }
  input, select, textarea { font-size: 16px !important; }
  .modal { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  .cart-drawer { width: min(390px, 100%); }
  .package-page-actions { align-items: stretch; }
  .package-page-actions .text-button { align-self: flex-start; }
}
@media (max-width: 360px) {
  .nav-shell { width: calc(100% - 24px); gap: 4px; }
  .brand { gap: 6px; }.brand img { width: 42px; height: 40px; }.brand-rule { height: 36px; }.brand-wordmark strong { font-size: 19px; }.brand-wordmark small { font-size: 5.5px; }
  .menu-toggle { width: 31px; padding: 6px; }.icon-button { width: 31px; height: 31px; }
  .hero-inner { width: calc(100% - 24px); }.hero h1 { font-size: 22px; }.hero-description { font-size: 9px; }.hero-perks span { font-size: 7.5px; }.perk-icon { width: 17px; height: 17px; }
  .section, .category-section, .featured-section, .packages-section, .why-section, .faq-section, .service-strip, .footer-main, .footer-bottom { width: calc(100% - 24px); }
  .featured-grid, .catalogue-grid, .related-grid { grid-template-columns: 1fr; }
  .card-info h3 { white-space: normal; min-height: 0; }.card-image { aspect-ratio: 1.35; }
  .product-detail, .product-story, .related-products, .category-hero, .category-products, .package-detail-page, .package-personalise, .page-hero-inner, .catalogue-section, .process-section, .values-section, .contact-options, .contact-note { width: calc(100% - 24px); }
  .product-actions { flex-wrap: wrap; }.product-actions .primary-button { min-height: 44px; }.quantity { height: 44px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .announcement { height: 30px; }.site-header { height: 62px; }.main-nav { top: 62px; }.hero-inner { min-height: 270px; }.hero-perks { display: none; }
}

/* Improved compact-mobile hero and two-card featured layout */
@media (max-width: 600px) {
  .hero-inner { grid-template-columns: 1.12fr .88fr; min-height: 310px; padding-bottom: 0; }
  .hero-copy { align-self: center; padding: 18px 5px 15px 0; }
  .hero-visual { min-height: 100%; }.hero-visual img { object-position: 82% center; }
  .hero .eyebrow { margin-bottom: 8px; }.hero-description { margin-bottom: 12px; line-height: 1.32; }
  .hero-perks { margin-top: 12px; }.hero-perks > div { min-height: 19px; }
}
@media (max-width: 460px) {
  .hero-inner { min-height: 298px; grid-template-columns: 1.13fr .87fr; }
  .hero-copy { padding-top: 12px; }.hero h1 { font-size: clamp(23px, 6.35vw, 29px); letter-spacing: -.045em; }
  .hero .primary-button { min-height: 39px; }.hero-perks { margin-top: 10px; }
}
@media (max-width: 360px) {
  .hero-inner { min-height: 285px; grid-template-columns: 1.13fr .87fr; }.hero h1 { font-size: 21px; }.hero-description { font-size: 8.5px; }
  .featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .featured-grid .card-info { padding: 10px; }.featured-grid .card-info h3 { min-height: 28px; font-size: 13px; line-height: 1.05; }.featured-grid .card-price { margin-bottom: 8px; font-size: 14px; }.featured-grid .card-bottom { min-height: 29px; }.featured-grid .rating { font-size: 9px; }.featured-grid .rating b { display: none; }.featured-grid .round-cart { width: 29px; height: 29px; padding: 7px; }
}

/* Match the desktop hero hierarchy on mobile: a horizontal benefit row and an uncropped chair. */
.hero-visual picture { display: block; width: 100%; height: 100%; }
@media (max-width: 600px) {
  .hero-inner { min-height: 326px; padding-bottom: 57px; }
  .hero-copy { padding-bottom: 4px; }
  .hero-visual { height: 171px; min-height: 0; align-self: center; overflow: visible; }
  .hero-visual picture { height: 100%; }
  .hero-visual img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .hero-perks { position: absolute; right: 0; bottom: 10px; left: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex-direction: row; align-items: center; margin: 0; }
  .hero-perks > div { min-height: 30px; justify-content: center; gap: 5px; padding: 0 5px; border-right: 1px solid #c8c3bf; }
  .hero-perks > div:first-child { padding-left: 5px; }.hero-perks > div:last-child { border-right: 0; }
  .hero-perks span { font-size: 8.5px; line-height: 1.04; }.hero-perks .perk-icon { width: 19px; height: 19px; }
}
@media (max-width: 460px) {
  .hero-inner { min-height: 315px; padding-bottom: 55px; }.hero-visual { height: 154px; }.hero-perks { bottom: 9px; }.hero-perks span { font-size: 8px; }.hero-perks .perk-icon { width: 18px; height: 18px; }
}
@media (max-width: 360px) {
  .hero-inner { min-height: 302px; padding-bottom: 51px; }.hero-visual { height: 137px; }.hero-perks > div { gap: 3px; padding: 0 2px; }.hero-perks > div:first-child { padding-left: 2px; }.hero-perks span { font-size: 7px; }.hero-perks .perk-icon { width: 16px; height: 16px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .hero-perks { display: grid; }.hero-inner { padding-bottom: 50px; }.hero-visual { height: 135px; }
}

/* Hero benefits: each label stays on one clear line. */
.hero-perks span { white-space: nowrap; }

/* Hero benefit row: directly beneath the Start Customising button, like the desktop layout. */
.hero-inner { grid-template-rows: 1fr auto; }
.hero-copy { grid-column: 1; grid-row: 1; }
.hero-visual { grid-column: 2; grid-row: 1 / span 2; }
.hero-perks { grid-column: 1; grid-row: 2; align-self: end; display: flex; margin: 0 0 25px; }
@media (max-width: 600px) {
  .hero-inner { min-height: 325px; padding-bottom: 0; grid-template-rows: minmax(240px, 1fr) auto; }
  .hero-copy { grid-column: 1; grid-row: 1; padding-bottom: 12px; }
  .hero-visual { grid-column: 2; grid-row: 1; height: 166px; min-height: 0; align-self: center; }
  .hero-perks { position: static; grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: auto; margin: 0 0 12px; }
  .hero-perks > div { min-height: 33px; justify-content: center; gap: 5px; padding: 0 5px; border-right: 1px solid #c8c3bf; }
  .hero-perks > div:first-child { padding-left: 5px; }.hero-perks > div:last-child { border-right: 0; }
  .hero-perks span { white-space: nowrap; font-size: 8.5px; line-height: 1; }.hero-perks .perk-icon { width: 19px; height: 19px; }
}
@media (max-width: 460px) {
  .hero-inner { min-height: 310px; grid-template-rows: minmax(226px, 1fr) auto; }
  .hero-visual { height: 148px; }.hero-perks { margin-bottom: 10px; }.hero-perks span { font-size: 8px; }
}
@media (max-width: 360px) {
  .hero-inner { min-height: 296px; grid-template-rows: minmax(210px, 1fr) auto; }
  .hero-visual { height: 133px; }.hero-perks { margin-bottom: 8px; }.hero-perks > div { gap: 3px; padding: 0 2px; }.hero-perks span { font-size: 7px; }.hero-perks .perk-icon { width: 16px; height: 16px; }
}

/* Compact the mobile hero so the full benefit row sits immediately under the button. */
@media (max-width: 600px) {
  .hero-inner { min-height: 0; padding: 13px 0 10px; grid-template-rows: auto auto; align-items: start; }
  .hero-copy { align-self: start; padding: 12px 4px 5px 0; }
  .hero-visual { align-self: start; height: 154px; margin-top: 7px; }
  .hero-perks { margin: 0; padding-top: 2px; }
  .hero-perks > div { min-height: 27px; gap: 4px; padding: 0 4px; }
  .hero-perks > div:first-child { padding-left: 4px; }.hero-perks span { font-size: 7.6px; }.hero-perks .perk-icon { width: 17px; height: 17px; }
}
@media (max-width: 460px) {
  .hero-inner { padding-top: 10px; padding-bottom: 8px; }.hero-copy { padding-top: 9px; }.hero-visual { height: 143px; margin-top: 5px; }.hero-perks > div { min-height: 25px; gap: 3px; padding: 0 3px; }.hero-perks span { font-size: 7.2px; }.hero-perks .perk-icon { width: 16px; height: 16px; }
}
@media (max-width: 360px) {
  .hero-visual { height: 130px; }.hero-perks > div { min-height: 23px; gap: 2px; padding: 0 2px; }.hero-perks span { font-size: 6.5px; }.hero-perks .perk-icon { width: 14px; height: 14px; }
}

/* Screenshot-matched hero benefits: three side-by-side items directly below the button. */
.hero-perks span { white-space: normal; }
@media (max-width: 800px) {
  .hero-inner { min-height: 400px; padding-bottom: 0; grid-template-columns: 1.04fr .96fr; grid-template-rows: auto auto; align-items: start; }
  .hero-copy { grid-column: 1; grid-row: 1; align-self: center; padding: 28px 0 14px; }
  .hero-visual { grid-column: 2; grid-row: 1; height: 260px; align-self: center; }
  .hero-perks { position: static; grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; margin: 0 0 22px; padding: 0; }
  .hero-perks > div { min-height: 60px; justify-content: flex-start; gap: 10px; padding: 0 20px; border-right: 1px solid #c8c3bf; }
  .hero-perks > div:first-child { padding-left: 0; }.hero-perks > div:last-child { border-right: 0; }
  .hero-perks span { font-size: 12px; line-height: 1.1; }.hero-perks .perk-icon { width: 30px; height: 30px; }
}
@media (max-width: 600px) {
  .hero-inner { min-height: 325px; grid-template-rows: auto auto; }.hero-copy { padding: 15px 4px 10px 0; }.hero-visual { height: 172px; }.hero-perks { margin-bottom: 12px; }.hero-perks > div { min-height: 40px; gap: 6px; padding: 0 7px; }.hero-perks > div:first-child { padding-left: 0; }.hero-perks span { font-size: 8.5px; }.hero-perks .perk-icon { width: 20px; height: 20px; }
}
@media (max-width: 460px) { .hero-inner { min-height: 306px; }.hero-visual { height: 150px; }.hero-perks { margin-bottom: 9px; }.hero-perks > div { min-height: 34px; gap: 4px; padding: 0 3px; }.hero-perks span { font-size: 7.5px; }.hero-perks .perk-icon { width: 17px; height: 17px; } }
@media (max-width: 360px) { .hero-inner { min-height: 292px; }.hero-visual { height: 133px; }.hero-perks { margin-bottom: 7px; }.hero-perks > div { min-height: 29px; gap: 3px; padding: 0 2px; }.hero-perks span { font-size: 6.7px; }.hero-perks .perk-icon { width: 15px; height: 15px; } }

/* Refined hero without the former benefit strip */
.hero-inner { grid-template-rows: 1fr; min-height: 440px; }
.hero-copy { grid-column: 1; grid-row: 1; align-self: center; padding: 44px 0; }
.hero-visual { position: relative; grid-column: 2; grid-row: 1; align-self: stretch; height: auto; overflow: visible; }
.hero-visual::before { position: absolute; z-index: 0; top: 36px; right: 8px; bottom: 36px; left: 10px; content: ''; border: 1px solid rgba(191,13,19,.24); }
.hero-visual picture, .hero-visual img { position: relative; z-index: 1; }
.hero-perks { display: none !important; }
@media (max-width: 800px) {
  .hero-inner { min-height: 360px; grid-template-columns: 1.05fr .95fr; grid-template-rows: 1fr; }
  .hero-copy { padding: 28px 0; }.hero-visual { grid-row: 1; height: auto; align-self: stretch; }
  .hero-visual::before { top: 27px; right: 0; bottom: 27px; left: 7px; }
}
@media (max-width: 600px) {
  .hero-inner { min-height: 285px; padding: 0; grid-template-rows: 1fr; }.hero-copy { padding: 22px 5px 20px 0; }.hero-visual { height: 163px; align-self: center; }.hero-visual::before { top: 13px; right: 0; bottom: 13px; left: 5px; }
}
@media (max-width: 460px) {
  .hero-inner { min-height: 265px; }.hero-copy { padding-top: 18px; padding-bottom: 15px; }.hero-visual { height: 145px; }.hero .eyebrow { margin-bottom: 7px; }.hero h1 { margin-bottom: 9px; }.hero-description { margin-bottom: 14px; }
}
@media (max-width: 360px) { .hero-inner { min-height: 246px; }.hero-visual { height: 128px; }.hero h1 { font-size: 21px; }.hero-description { font-size: 8.5px; } }

/* Keep the complete hero chair image visible on every mobile/tablet width. */
@media (max-width: 800px) {
  .hero-visual { background: #fff; }
  .hero-visual picture { display: grid; place-items: center; }
  .hero-visual img { width: 100%; height: 100%; object-fit: contain !important; object-position: center center !important; }
}

/* Email contact in the site footer */
.footer-email { display: block; width: max-content; max-width: 100%; margin-top: 9px; color: #f4e5e2; font-size: 11px; overflow-wrap: anywhere; }.footer-email:hover { color: #fff; }

/* Instagram alongside WhatsApp, using the same premium brand treatment */
.footer-instagram { display: inline-flex; align-items: center; gap: 7px; margin-top: 9px; color: #f4e5e2; font-size: 11px; overflow-wrap: anywhere; }.footer-instagram span { color: #f8a5a6; font-size: 15px; }.footer-instagram:hover { color: #fff; }
.instagram-float { position: fixed; z-index: 25; right: 86px; bottom: 25px; width: 52px; min-height: 52px; display: grid; place-items: center; padding: 0; border: 2px solid var(--red); border-radius: 50%; background: #fff; color: var(--red); box-shadow: 0 8px 23px rgba(126,7,11,.18); transition: transform .2s, background .2s, color .2s; }.instagram-float:hover { transform: translateY(-3px); background: var(--red); color: #fff; }.instagram-float svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.instagram-float span { display: none; }
@media (max-width:460px) { .instagram-float { right: 72px; bottom: 14px; width: 48px; min-height: 48px; } }

/* Clean icon-only social contact area in the footer */
.footer-socials { display: flex; gap: 10px; margin-top: 16px; }.footer-social-button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #695b58; border-radius: 50%; color: #fff; transition: transform .2s, background .2s, border-color .2s; }.footer-social-button:hover { transform: translateY(-3px); border-color: var(--red); background: var(--red); }.footer-social-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }.footer-instagram-icon svg { width: 20px; height: 20px; }

/* Official-style WhatsApp and Instagram logo assets */
.footer-social-button { overflow: hidden; border: 0; background: transparent; }.footer-social-button:hover { background: transparent; }.footer-social-button img { width: 38px; height: 38px; display: block; }.footer-social-button.footer-instagram-icon img { border-radius: 11px; }
.whatsapp-float { overflow: hidden; padding: 0; border: 0; background: transparent; box-shadow: 0 8px 23px rgba(37,211,102,.28); }.whatsapp-float:hover { background: transparent; box-shadow: 0 12px 28px rgba(37,211,102,.38); }.whatsapp-float img { width: 52px; height: 52px; display: block; }.instagram-float { overflow: hidden; padding: 0; border: 0; border-radius: 14px; background: transparent; color: inherit; box-shadow: 0 8px 23px rgba(224,38,105,.25); }.instagram-float:hover { background: transparent; color: inherit; box-shadow: 0 12px 28px rgba(224,38,105,.35); }.instagram-float img { width: 52px; height: 52px; display: block; }.instagram-float svg, .whatsapp-float svg { display: none; }
@media (max-width:460px) { .whatsapp-float img, .instagram-float img { width: 48px; height: 48px; } }

/* Recognisable official platform marks, kept crisp and uncluttered. */
.footer-social-button img { object-fit: contain; }.whatsapp-float img, .instagram-float img { object-fit: contain; }

/* The platform marks intentionally retain their own official coloured app-icon backgrounds. */
.footer-social-button, .footer-social-button.footer-instagram-icon { border-radius: 11px; }.footer-social-button img, .footer-social-button.footer-instagram-icon img { border-radius: 11px; }.whatsapp-float, .instagram-float { border-radius: 15px; }.whatsapp-float img, .instagram-float img { border-radius: 15px; }

/* More refined, compact floating social shortcuts */
.whatsapp-float, .instagram-float { width: 44px; min-height: 44px; }.whatsapp-float img, .instagram-float img { width: 44px; height: 44px; }.instagram-float { right: 78px; }
@media (max-width:460px) { .whatsapp-float, .instagram-float { width: 40px; min-height: 40px; }.whatsapp-float img, .instagram-float img { width: 40px; height: 40px; }.instagram-float { right: 66px; } }

/* Full contact profile card — a rich, all-in-one contact hub */
.contact-profile-section { width: min(1040px, calc(100% - 72px)); margin: 0 auto; padding: 78px 0 82px; }
.contact-profile-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 31px; }.contact-profile-heading h2 { margin: 0; font-size: clamp(42px, 5vw, 64px); line-height: .9; }.contact-profile-heading h2 em, .contact-card-intro h3 em { color: var(--red); font-style: normal; }.contact-profile-heading > p { max-width: 355px; margin: 0 0 5px; color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.45; }
.contact-profile-card { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border: 1px solid #e0d9d5; background: #fff; box-shadow: 0 20px 48px rgba(42,24,18,.11); }.contact-profile-card::before { position: absolute; top: -150px; right: -150px; width: 470px; height: 470px; border: 1px solid rgba(191,13,19,.12); border-radius: 50%; content: ''; pointer-events: none; }.contact-profile-card::after { position: absolute; top: -94px; right: -94px; width: 350px; height: 350px; border: 1px solid rgba(191,13,19,.1); border-radius: 50%; content: ''; pointer-events: none; }
.contact-card-top { z-index: 1; grid-column: 1 / -1; min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 27px; color: #fff; background: #1c1514; }.contact-card-brand { display: flex; align-items: center; gap: 12px; }.contact-card-brand img { width: 46px; height: 46px; padding: 3px; border-radius: 50%; background: #f8f2eb; object-fit: contain; }.contact-card-brand p { margin: 0 0 4px; font: 400 19px/1 var(--serif); letter-spacing: .065em; }.contact-card-brand span { color: #d5c5c0; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.contact-card-live { display: inline-flex; align-items: center; gap: 8px; color: #f4dbdc; font-size: 9px; font-weight: 800; letter-spacing: .1em; }.contact-card-live i { width: 7px; height: 7px; border-radius: 50%; background: #ec7779; box-shadow: 0 0 0 4px rgba(236,119,121,.13); }
.contact-card-intro { z-index: 1; padding: 49px 42px 43px; background: #f8f5f1; border-right: 1px solid #e3ddd8; }.contact-card-intro .eyebrow { margin-bottom: 16px; font-size: 10px; }.contact-card-intro h3 { margin: 0 0 18px; font: 400 clamp(36px,4vw,49px)/.92 var(--serif); letter-spacing: -.06em; }.contact-card-intro > p:last-child { max-width: 270px; margin: 0; color: #5d5653; font-size: 13px; line-height: 1.55; }
.contact-card-primary { z-index: 1; padding: 29px 34px 16px; }.contact-main-link { min-height: 75px; display: grid; grid-template-columns: 43px 1fr 24px; align-items: center; gap: 13px; padding: 12px 0; border-bottom: 1px solid #e7e1dd; transition: transform .2s; }.contact-main-link:hover { transform: translateX(4px); }.contact-main-link > img { width: 40px; height: 40px; border-radius: 11px; }.contact-main-link b, .contact-platform-link b { display: block; margin-bottom: 4px; color: var(--ink); font-size: 13px; }.contact-main-link small, .contact-platform-link small { display: block; overflow-wrap: anywhere; color: #756b67; font-size: 10px; }.contact-main-link strong { color: var(--red); font: 24px/1 var(--serif); text-align: right; }.contact-line-icon { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #c9bebb; border-radius: 11px; color: var(--red); }.contact-line-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.contact-card-platforms { z-index: 1; grid-column: 1 / -1; padding: 26px 33px 31px; border-top: 1px solid #e4ded9; }.contact-card-platforms > p { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: #776b67; font-size: 9px; font-weight: 800; letter-spacing: .14em; }.contact-card-platforms > p i { flex: 1; height: 1px; background: #e2dbd7; }.contact-card-platforms > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.contact-platform-link { min-width: 0; display: grid; grid-template-columns: 35px 1fr 13px; align-items: center; gap: 9px; min-height: 61px; padding: 9px 10px; border: 1px solid #e1d9d6; background: #fff; transition: border-color .2s, box-shadow .2s, transform .2s; }.contact-platform-link:hover { border-color: #c79596; box-shadow: 0 7px 15px rgba(54,25,24,.08); transform: translateY(-2px); }.contact-platform-link img { width: 34px; height: 34px; border-radius: 9px; }.contact-platform-link b { margin-bottom: 3px; font-size: 11px; }.contact-platform-link small { font-size: 8.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.contact-platform-link strong { color: var(--red); font: 21px/1 var(--serif); }
.contact-card-footer { z-index: 1; grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 10px 20px; color: #e1d3d0; background: var(--red); font-size: 9px; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; }.contact-card-footer i { width: 3px; height: 3px; border-radius: 50%; background: #f8b8b9; }
@media (max-width: 800px) { .contact-profile-section { width: calc(100% - 34px); padding: 56px 0 58px; }.contact-profile-heading { display: block; margin-bottom: 26px; }.contact-profile-heading > p { margin-top: 16px; font-size: 16px; }.contact-profile-card { grid-template-columns: 1fr; }.contact-card-intro { padding: 39px 31px 34px; border-right: 0; border-bottom: 1px solid #e3ddd8; }.contact-card-primary { padding: 21px 31px 16px; }.contact-card-platforms { padding: 24px 30px 27px; }.contact-card-platforms > div { gap: 9px; }.contact-platform-link { grid-template-columns: 33px 1fr 12px; padding: 8px; }.contact-platform-link img { width: 32px; height: 32px; } }
@media (max-width: 540px) { .contact-profile-heading h2 { font-size: 42px; }.contact-card-top { min-height: 74px; padding: 13px 18px; }.contact-card-brand img { width: 42px; height: 42px; }.contact-card-brand p { font-size: 17px; }.contact-card-live { max-width: 98px; font-size: 8px; line-height: 1.25; }.contact-card-intro { padding: 34px 21px 30px; }.contact-card-intro h3 { font-size: 39px; }.contact-card-primary { padding: 17px 21px 11px; }.contact-main-link { min-height: 68px; }.contact-card-platforms { padding: 21px; }.contact-card-platforms > div { grid-template-columns: 1fr; gap: 8px; }.contact-platform-link { min-height: 56px; grid-template-columns: 34px 1fr 12px; padding: 8px 10px; }.contact-platform-link img { width: 33px; height: 33px; }.contact-platform-link small { white-space: normal; }.contact-card-footer { gap: 8px; padding: 10px 12px; font-size: 7.5px; letter-spacing: .07em; }.contact-card-footer i { flex: none; } }

/* Keep the account/login shortcut visible in the mobile navigation bar. */
@media (max-width: 800px) {
  .header-actions .account { display: block; }
}
@media (max-width: 360px) {
  .nav-shell { gap: 6px; }
  .brand { gap: 9px; }
  .brand img { width: 43px; height: 41px; }
  .brand-rule { height: 38px; }
  .brand-wordmark strong { font-size: 20px; }
  .header-actions .icon-button { width: 30px; height: 30px; }
  .menu-toggle { width: 34px; height: 34px; }
}

/* The account icon is the owner-only route into the Taqi admin login. */
.icon-button { display: grid; place-items: center; }
.header-actions .account { text-decoration: none; }

/* Customer account opens as a refined in-site modal, retaining the showroom behind it. */
.account-popup { position: fixed; z-index: 80; inset: 0; display: flex; align-items: center; justify-content: center; padding: 28px; background: rgba(30, 17, 16, .32); backdrop-filter: blur(1.5px); opacity: 0; visibility: hidden; transition: opacity .24s, visibility .24s; }.account-popup.open { opacity: 1; visibility: visible; }.account-popup-panel { position: relative; width: min(70vw, 1030px); height: min(78vh, 720px); overflow: hidden; background: #f7f3ef; box-shadow: 0 24px 70px rgba(31, 15, 14, .3); transform: translateY(13px) scale(.98); transition: transform .28s cubic-bezier(.2,.8,.2,1); }.account-popup.open .account-popup-panel { transform: translateY(0) scale(1); }.account-popup iframe { display: block; width: 100%; height: 100%; border: 0; background: #f7f3ef; }.account-popup-close { position: absolute; z-index: 2; top: 13px; right: 13px; width: 33px; height: 33px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(28,17,16,.68); color: #fff; font-size: 24px; font-weight: 300; line-height: 1; transition: background .2s, transform .2s; }.account-popup-close:hover { background: var(--red); transform: rotate(90deg); }body.account-popup-active { overflow: hidden; }
@media (max-width: 800px) { .account-popup { padding: 14px; }.account-popup-panel { width: min(94vw, 620px); height: min(88vh, 760px); }.account-popup-close { top: 9px; right: 9px; width: 31px; height: 31px; } }

/* Compact account popup dimensions: a clear overlay, never a full replacement page. */
.account-popup-panel { width: min(58vw, 880px); height: min(68vh, 620px); }
@media (max-width: 800px) { .account-popup-panel { width: min(90vw, 590px); height: min(74vh, 620px); } }
@media (max-width: 480px) { .account-popup { padding: 12px; align-items: center; }.account-popup-panel { width: 92vw; height: min(71vh, 570px); }.account-popup-close { top: 7px; right: 7px; } }

/* Final compact proportions: the account is deliberately a half-page style overlay. */
.account-popup-panel { width: min(54vw, 800px); height: min(64vh, 580px); }
@media (max-width: 800px) { .account-popup-panel { width: min(88vw, 560px); height: min(71vh, 590px); } }
@media (max-width: 480px) { .account-popup-panel { width: 88vw; height: min(68vh, 540px); } }
/* Supplied Taqi Furniture monogram */
.footer-brand img { background:#171313; border-radius:0; padding:0; }

/* Mobile navigation drawer — a calm, editorial menu tailored to the Taqi Furniture brand. */
.mobile-menu-top, .mobile-category-links, .mobile-menu-consult, .menu-scrim { display: none; }
.mobile-menu-quick { display: contents; }

@media (max-width: 800px) {
  .main-nav {
    position: fixed;
    z-index: 61;
    top: 0 !important;
    bottom: 0;
    left: auto;
    right: 0;
    width: min(326px, 88vw);
    min-height: 100dvh;
    display: block;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 13px 25px;
    border: 0;
    border-left: 1px solid #dfd7d2;
    background: #fffdfb;
    box-shadow: -15px 0 38px rgba(25, 15, 13, .16);
    transform: translateX(105%);
    opacity: 1;
    pointer-events: none;
    transition: transform .31s cubic-bezier(.22,.82,.27,1);
  }
  .main-nav.open { transform: translateX(0); pointer-events: auto; }
  .menu-scrim {
    position: fixed;
    z-index: 60;
    inset: 0;
    display: block;
    visibility: hidden;
    opacity: 0;
    border: 0;
    background: rgba(32, 20, 18, .44);
    backdrop-filter: blur(2px);
    transition: opacity .28s ease, visibility .28s ease;
  }
  .main-nav.open + .menu-scrim { visibility: visible; opacity: 1; }
  .mobile-menu-top {
    min-height: 77px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 3px 11px 1px;
    border-bottom: 1px solid #e5ddd8;
  }
  .mobile-menu-brand { display: flex; align-items: center; gap: 8px; }
  .mobile-menu-brand img { width: 47px; height: 47px; object-fit: contain; }
  .mobile-menu-brand span { display: flex; flex-direction: column; gap: 3px; color: #1b1715; line-height: 1; }
  .mobile-menu-brand b { font: 500 20px/1 var(--serif); letter-spacing: .09em; }
  .mobile-menu-brand small { font-size: 6px; font-weight: 800; letter-spacing: .28em; }
  .mobile-nav-close {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0 0 2px;
    border: 1px solid #ded6d0;
    border-radius: 50%;
    background: #f4f0ec;
    color: #2c2522;
    font-size: 20px;
    line-height: 1;
  }
  .mobile-menu-quick {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 16px 0 14px;
  }
  .main-nav .mobile-menu-quick a {
    height: 39px;
    display: grid;
    place-items: center;
    padding: 0 8px;
    border: 1px solid #e0d8d2;
    border-radius: 999px;
    background: #f5f1ed;
    color: #2b2522;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
    text-align: center;
  }
  .main-nav .mobile-menu-quick a::after { display: none; }
  .main-nav .mobile-menu-quick a:hover { color: #fff; background: var(--red); border-color: var(--red); }
  .main-nav .mobile-menu-quick a.active { color: #fff; background: var(--red); border-color: var(--red); }
  .mobile-category-links { display: block; padding: 13px 0 14px; border-top: 1px solid #e5ddd8; }
  .mobile-category-title { display: flex; align-items: center; justify-content: space-between; margin: 0 3px 11px; color: #342b28; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
  .mobile-category-title i { width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
  .main-nav .mobile-category-links a {
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 7px 0;
    padding: 0 13px;
    border: 1px solid #eee7e2;
    border-radius: 9px;
    background: #fff;
    color: #504845;
    font-size: 11px;
  }
  .main-nav .mobile-category-links a::after { display: none; }
  .main-nav .mobile-category-links a:hover { color: var(--red); border-color: #dfbbb9; }
  .mobile-category-links a b { color: var(--red); font-size: 14px; font-weight: 500; }
  .main-nav .mobile-menu-consult {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 2px 0 0;
    padding: 0 13px;
    border-radius: 9px;
    background: var(--red);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .01em;
  }
  .main-nav .mobile-menu-consult::after { display: none; }
  .mobile-menu-consult b { font-size: 11px; white-space: nowrap; }
  body.menu-open { overflow: hidden; }
}

/* On phones the expanded category catalogue remains calm: four cards per view, then swipe for the next four. */
@media (max-width: 800px) {
  .category-grid {
    grid-template-columns: repeat(4, calc((100% - 12px) / 2));
    grid-template-rows: repeat(2, auto);
    grid-auto-flow: column;
    column-gap: 12px;
    row-gap: 20px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 0 0 7px;
    -webkit-overflow-scrolling: touch;
  }
  .category-grid::-webkit-scrollbar { display: none; }
  .category-grid .category-card { scroll-snap-align: start; }
}

.category-carousel-dots { display: none; }
@media (max-width: 800px) {
  .category-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 6px; padding-top: 11px; }
  .category-carousel-dots span { width: 5px; height: 5px; border-radius: 999px; background: #d7ceca; transition: width .2s ease, background .2s ease; }
  .category-carousel-dots span.active { width: 17px; background: var(--red); }
}

/* Brand-mark guardrails: keep the circular furniture logo crisp in every shared site placement. */
.brand > img, .mobile-menu-brand > img { flex: 0 0 auto; object-fit: contain; object-position: center; }

/* Search-friendly furniture journal */
.home-journal, .journal-section { width:min(1180px, calc(100% - 72px)); margin:0 auto; padding:72px 0; }
.home-journal { border-top:1px solid #e4dfdb; }
.home-journal-heading, .journal-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.home-journal-heading h2, .journal-heading h2 { margin:0; font-size:clamp(37px,4.2vw,56px); line-height:.93; }
.journal-heading > p { max-width:375px; margin:0 0 4px; color:#665a56; font-size:14px; line-height:1.55; }
.home-journal-grid, .journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.journal-card { min-width:0; border:1px solid #e8e2df; background:#fff; box-shadow:0 5px 17px rgba(24,16,13,.06); transition:transform .22s ease, box-shadow .22s ease; }
.journal-card:hover { transform:translateY(-4px); box-shadow:0 13px 28px rgba(24,16,13,.12); }
.journal-image { display:block; overflow:hidden; aspect-ratio:1.34; background:#f4f0ed; }
.journal-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.journal-card:hover .journal-image img { transform:scale(1.045); }
.journal-card-copy { padding:19px 18px 20px; }
.journal-card-copy > p:first-child { margin:0 0 9px; color:var(--red); font-size:9px; font-weight:800; letter-spacing:.14em; }
.journal-card h2 { margin:0 0 11px; font:400 23px/1.04 var(--serif); letter-spacing:-.045em; }
.journal-card h2 a:hover, .journal-link:hover { color:var(--red); }
.journal-card-copy > span { display:block; margin-bottom:13px; color:#8b7c76; font-size:10px; font-weight:700; }
.journal-excerpt { min-height:58px; margin:0 0 14px; color:#665b57; font-size:12px; line-height:1.55; }
.journal-link { display:inline-flex; align-items:center; gap:7px; color:#261e1b; font-size:11px; font-weight:800; }
.journal-link b { color:var(--red); font-size:17px; font-weight:400; }
.journal-hero { min-height:390px; display:grid; grid-template-columns:1fr minmax(360px,.9fr); background:#f4f0ed; }
.journal-hero > div { display:flex; flex-direction:column; justify-content:center; padding:50px max(36px,calc((100vw - 1180px)/2)); padding-right:50px; }
.journal-hero h1 { margin:0 0 18px; font-size:clamp(48px,5.5vw,76px); line-height:.92; }
.journal-hero h1 em { color:var(--red); font-style:normal; }
.journal-hero p:last-child { max-width:470px; margin:0; color:#625754; font-size:16px; line-height:1.55; }
.journal-hero > img { width:100%; height:100%; min-height:390px; object-fit:cover; }
.journal-section { padding-bottom:68px; }
.journal-callout { width:min(1180px, calc(100% - 72px)); display:grid; grid-template-columns:1fr .85fr auto; align-items:center; gap:36px; margin:0 auto 76px; padding:38px 42px; background:#241917; color:#fff; }
.journal-callout .eyebrow { color:#efa2a5; }
.journal-callout h2 { margin:0; font-size:42px; line-height:.94; }
.journal-callout > p { margin:0; color:#d8c7c4; font-size:13px; line-height:1.55; }
.journal-callout .primary-button { min-width:0; white-space:nowrap; }
.journal-article { width:min(850px, calc(100% - 40px)); margin:0 auto; padding:65px 0 82px; }
.journal-article header { max-width:760px; margin:0 auto 32px; text-align:center; }
.journal-back { display:inline-block; margin-bottom:35px; color:#655853; font-size:11px; font-weight:800; }
.journal-back:hover { color:var(--red); }
.journal-article h1 { margin:0 0 15px; font-size:clamp(43px,5.4vw,69px); line-height:.94; }
.journal-date { margin:0 0 18px; color:#8b7b75; font-size:11px; font-weight:700; }
.journal-lead { max-width:620px; margin:0 auto; color:#625652; font:20px/1.52 var(--serif); }
.journal-article-image { width:100%; max-height:490px; margin:0 0 43px; object-fit:cover; }
.journal-article-copy { width:min(680px,100%); margin:0 auto; }
.journal-article-copy section { margin-bottom:33px; }
.journal-article-copy h2 { margin:0 0 11px; font-size:31px; line-height:1; }
.journal-article-copy p { margin:0; color:#514744; font-size:15px; line-height:1.72; }
.journal-article-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:40px; padding:22px; border-left:3px solid var(--red); background:#faf7f4; }
.journal-article-cta p { font:400 18px/1.3 var(--serif); }
.journal-article-cta a { flex:none; color:var(--red); font-size:11px; font-weight:800; }
@media (max-width:800px) { .home-journal, .journal-section { width:calc(100% - 34px); padding:48px 0; }.home-journal-heading, .journal-heading { align-items:flex-end; gap:16px; margin-bottom:20px; }.home-journal-heading h2, .journal-heading h2 { font-size:37px; }.journal-heading > p { display:none; }.home-journal-grid, .journal-grid { grid-template-columns:1fr; gap:14px; }.journal-card { display:grid; grid-template-columns:112px 1fr; }.journal-image { aspect-ratio:auto; height:100%; min-height:140px; }.journal-card-copy { padding:14px 14px 13px; }.journal-card h2 { margin-bottom:7px; font-size:21px; }.journal-card-copy > span { margin-bottom:7px; }.journal-excerpt { display:none; }.journal-hero { min-height:0; grid-template-columns:1fr; }.journal-hero > div { min-height:300px; padding:40px 17px; }.journal-hero h1 { font-size:48px; }.journal-hero > img { min-height:220px; }.journal-callout { width:calc(100% - 34px); grid-template-columns:1fr; gap:18px; margin-bottom:50px; padding:30px 23px; }.journal-callout h2 { font-size:37px; }.journal-callout .primary-button { width:100%; }.journal-article { width:calc(100% - 34px); padding:44px 0 55px; }.journal-article header { text-align:left; }.journal-back { margin-bottom:27px; }.journal-article h1 { font-size:43px; }.journal-lead { font-size:18px; }.journal-article-image { margin-bottom:29px; }.journal-article-copy h2 { font-size:28px; }.journal-article-copy p { font-size:14px; }.journal-article-cta { align-items:flex-start; flex-direction:column; }.journal-article-cta p { font-size:17px; } }

/* Local-search landing page: useful Chiniot furniture information, not keyword stuffing. */
.local-seo-content { width:min(1040px, calc(100% - 72px)); display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; margin:0 auto; padding:82px 0 72px; }
.local-seo-content h2 { margin:0; font-size:clamp(40px,4.5vw,60px); line-height:.93; }
.local-seo-content > div:last-child > p { margin:0 0 16px; color:#5f5450; font-size:15px; line-height:1.68; }
.local-seo-links { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:26px; }
.local-seo-links a { display:flex; align-items:center; justify-content:space-between; min-height:45px; padding:0 13px; border:1px solid #e2d8d3; color:#342a27; font-size:11px; font-weight:800; }
.local-seo-links a:hover { border-color:var(--red); color:var(--red); }.local-seo-links b { color:var(--red); font-size:17px; font-weight:400; }
.local-seo-services { width:min(1180px, calc(100% - 72px)); display:grid; grid-template-columns:repeat(3,1fr); margin:0 auto 76px; border-top:1px solid #e5dfdb; border-bottom:1px solid #e5dfdb; }
.local-seo-services article { min-height:195px; padding:29px 28px; border-right:1px solid #e5dfdb; }.local-seo-services article:last-child { border:0; }
.local-seo-services span { display:block; margin-bottom:33px; color:var(--red); font-size:11px; font-weight:800; letter-spacing:.1em; }.local-seo-services h2 { margin:0 0 9px; font-size:25px; }.local-seo-services p { margin:0; color:#625754; font-size:12px; line-height:1.55; }
.local-seo-faq { margin-top:0; }
@media (max-width:800px) { .local-seo-content { width:calc(100% - 34px); grid-template-columns:1fr; gap:21px; padding:51px 0 45px; }.local-seo-content h2 { font-size:40px; }.local-seo-content > div:last-child > p { font-size:14px; }.local-seo-links { grid-template-columns:1fr; margin-top:20px; }.local-seo-services { width:calc(100% - 34px); grid-template-columns:1fr; margin-bottom:46px; }.local-seo-services article { min-height:0; padding:23px 17px; border-right:0; border-bottom:1px solid #e5dfdb; }.local-seo-services article:last-child { border-bottom:0; }.local-seo-services span { margin-bottom:16px; } }

/* Account popup correction: keep the customer login centred and fully usable on small screens. */
.account-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
}
.account-popup-panel {
  position: relative !important;
  flex: 0 0 auto !important;
  margin: auto !important;
  max-width: calc(100vw - 36px) !important;
  max-height: calc(100dvh - 36px) !important;
}
.account-popup iframe { min-width: 0; }
@media (max-width: 800px) {
  .account-popup { padding: 14px !important; }
  .account-popup-panel {
    width: min(calc(100vw - 28px), 440px) !important;
    height: min(82dvh, 650px) !important;
    max-height: calc(100dvh - 28px) !important;
  }
}
@media (max-width: 480px) {
  .account-popup-panel {
    width: calc(100vw - 24px) !important;
    height: min(82dvh, 620px) !important;
    max-height: calc(100dvh - 24px) !important;
  }
}

/* Mobile viewport guard: the off-canvas navigation must never create a sideways page scroll. */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}
@media (max-width: 800px) {
  .main-nav { will-change: transform; }
}

/* Keep the off-canvas drawer genuinely hidden until the menu button is activated. */
@media (max-width: 800px) {
  .main-nav {
    visibility: hidden;
    transition: transform .31s cubic-bezier(.22,.82,.27,1), visibility 0s linear .31s;
  }
  .main-nav.open {
    visibility: visible;
    transition: transform .31s cubic-bezier(.22,.82,.27,1), visibility 0s linear 0s;
  }
}

/* Product reviews — live customer notes with a calm, considered showroom treatment. */
.product-reviews { width:min(1180px,calc(100% - 72px)); margin:0 auto; padding:0 0 86px; }.reviews-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:70px 0 29px; border-top:1px solid #e4ddd8; }.reviews-heading > div:first-child { max-width:610px; }.reviews-heading .eyebrow { margin:0 0 13px; }.reviews-heading h2 { margin:0 0 14px; font-size:clamp(38px,4vw,58px); line-height:.94; }.reviews-heading h2 em { color:var(--red); font-style:normal; }.reviews-heading p:not(.eyebrow) { margin:0; color:var(--muted); font:17px/1.5 var(--serif); }.review-score { min-width:230px; display:flex; align-items:center; gap:14px; padding:17px 19px; border:1px solid #e2d9d4; background:#fbf9f7; }.review-score > b { color:var(--red); font:400 42px/.9 var(--serif); letter-spacing:-.06em; }.review-score span { display:grid; gap:5px; }.review-score i { color:var(--red); font-size:13px; font-style:normal; letter-spacing:.08em; }.review-score small { color:#817570; font-size:10px; }.reviews-layout { display:grid; grid-template-columns:minmax(260px,.73fr) minmax(0,1.27fr); gap:clamp(30px,6vw,88px); align-items:start; }.review-form-card { padding:25px; background:#211817; color:#fff; }.review-form-card .eyebrow { margin:0 0 12px; color:#efaaa8; }.review-form-card h3 { margin:0 0 10px; font:400 28px/.98 var(--serif); letter-spacing:-.04em; }.review-form-card > p:not(.eyebrow), .review-form-card .review-loading { margin:0 0 20px; color:#ded0cc; font:13px/1.55 var(--serif); }.review-signin-link { display:inline-flex; align-items:center; gap:9px; padding:12px 14px; color:#fff; border:1px solid #d76b6e; background:var(--red); font-size:10px; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }.review-signin-link:hover { background:#a40c11; }.review-form { display:grid; gap:15px; }.review-form label { display:grid; gap:7px; color:#f0ded9; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.review-form input, .review-form textarea { width:100%; border:1px solid #5a4845; background:#fff; color:#231a19; padding:11px 12px; font:12px var(--sans); letter-spacing:0; text-transform:none; }.review-form textarea { resize:vertical; min-height:102px; line-height:1.5; }.review-rating-picker { display:flex; gap:3px; }.review-rating-picker button { padding:1px 0; border:0; background:transparent; color:#71605c; font-size:25px; line-height:1; }.review-rating-picker button.active { color:#f4b738; }.review-submit { min-height:42px; border:1px solid #fff; background:#fff; color:#391b1b; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.review-submit:hover { color:var(--red); }.review-submit:disabled { opacity:.65; cursor:wait; }.review-message { min-height:15px; margin:0; color:#ffb4b0; font-size:10px; line-height:1.45; letter-spacing:0; text-transform:none; }.review-message.success { color:#9ce4bd; }.review-list-wrap { min-width:0; }.review-list-head { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding:0 0 16px; border-bottom:1px solid #e2dad5; }.review-list-head h3 { margin:0; font:400 25px var(--serif); letter-spacing:-.04em; }.review-list-head span { color:#8b7e78; font-size:10px; }.review-list { display:grid; }.review-card { padding:22px 0; border-bottom:1px solid #e8e1dc; }.review-card-top { display:grid; grid-template-columns:35px 1fr auto; gap:10px; align-items:center; }.review-avatar { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:var(--red); background:#f9e6e5; font:400 17px var(--serif); }.review-card-top b, .review-card-top small { display:block; }.review-card-top b { color:#342927; font-size:12px; }.review-card-top small { margin-top:3px; color:#938680; font-size:9px; }.review-card-top i { color:var(--red); font-size:11px; font-style:normal; letter-spacing:.06em; white-space:nowrap; }.review-card p { margin:14px 0 0 45px; color:#665a55; font:14px/1.58 var(--serif); }.review-empty { margin:0; padding:26px 0; color:#887b76; font:14px/1.5 var(--serif); }
@media (max-width:800px) { .product-reviews { width:calc(100% - 34px); padding-bottom:60px; }.reviews-heading { align-items:start; flex-direction:column; padding:55px 0 25px; }.review-score { min-width:0; }.reviews-layout { grid-template-columns:1fr; gap:30px; }.review-form-card { padding:22px; }.review-list-head h3 { font-size:23px; } }
@media (max-width:460px) { .product-reviews { width:calc(100% - 24px); padding-bottom:47px; }.reviews-heading { padding:44px 0 22px; }.reviews-heading h2 { font-size:39px; }.reviews-heading p:not(.eyebrow) { font-size:16px; }.review-score { width:100%; }.review-form-card { padding:20px; }.review-card p { margin-left:0; }.review-card-top { grid-template-columns:32px 1fr; }.review-card-top i { grid-column:2; }.review-avatar { width:32px; height:32px; } }

/* Review placeholder notes are visibly marked as samples; genuine reviews always lead the list. */
.review-card-sample { margin-top:13px; padding:20px; border:1px dashed #ded1cb; background:#fbf9f7; }.review-card-sample + .review-card-sample { margin-top:10px; }.review-card-sample p { margin-left:45px; }.review-sample-label { display:inline-block; margin:12px 0 -3px 45px; color:#a68f87; font-size:8px; font-weight:800; letter-spacing:.11em; }.review-more { width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:17px; padding:13px 0; border:0; border-top:1px solid #e4dcd7; background:transparent; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.review-more span { font-size:16px; line-height:1; }.review-more:hover { color:#8f090e; }
@media (max-width:460px) { .review-card-sample p { margin-left:0; }.review-sample-label { margin-left:0; } }


/* Local SEO and mobile usability refinement — 18 Oct 2026.
   Product data, links and the existing visual system remain unchanged. */
@media (max-width: 800px) {
  .featured-grid,
  .catalogue-grid,
  .related-grid {
    align-items: stretch;
    gap: 14px;
  }
  .featured-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
  }
  .featured-card .card-image {
    aspect-ratio: 1 / 1;
  }
  .featured-card .card-info {
    display: flex;
    min-height: 142px;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 13px;
  }
  .featured-card .card-info h3 {
    min-height: 2.35em;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.17;
  }
  .featured-card .card-price {
    margin-bottom: 10px;
    font-size: 16px;
  }
  .featured-card .card-bottom {
    margin-top: auto;
  }
  /* Touch screens do not have hover: make the product action visible. */
  .featured-card .card-image span {
    top: auto;
    bottom: 9px;
    left: 9px;
    opacity: 1;
    padding: 8px 10px;
    transform: none;
    border: 1px solid rgba(27, 20, 18, .09);
    box-shadow: 0 2px 8px rgba(27, 20, 18, .12);
  }
  .featured-card:hover .card-image span {
    transform: none;
  }
  .featured-card .heart-button,
  .featured-card .round-cart {
    width: 42px;
    height: 42px;
  }
  .featured-card .heart-button { padding: 9px; }
  .featured-card .round-cart { padding: 10px; }
}
@media (max-width: 360px) {
  .featured-grid,
  .catalogue-grid,
  .related-grid {
    grid-template-columns: 1fr;
  }
  .featured-card .card-image {
    aspect-ratio: 1.28 / 1;
  }
  .featured-card .card-info {
    min-height: 0;
    padding: 15px;
  }
  .featured-card .card-info h3 {
    min-height: 0;
    font-size: 16px;
  }
}
@media (max-width: 800px) {
  .primary-button,
  .category-chips a,
  .category-chips button,
  .local-seo-links a,
  .faq-question {
    touch-action: manipulation;
  }
  .local-seo-links a { min-height: 48px; }
}
