
    :root {
      --olive: #6E7655;
      --olive-dark: #4F593E;
      --cream: #FAF8F3;
      --beige: #E8DFD2;
      --light-cream: #F4EFE7;
      --ink: #29291F;
      --muted: #77766B;
      --white: #FFFEFA;
      --line: #E8E3DA;
      --announcement-height: 0px;
      --serif: Georgia, 'Times New Roman', serif;
      --sans: Arial, Helvetica, sans-serif;
      --content: 1280px;
      --ease: cubic-bezier(.22,.61,.36,1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 140px; }
    body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); font-size: 14px; line-height: 1.65; overflow-x: hidden; }
    body.no-scroll { overflow: hidden; }
    button, input { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    button { cursor: pointer; }
    .container { width: min(var(--content), calc(100% - 72px)); margin-inline: auto; }
    .announcement {
      position: sticky; top: 0; z-index: 1000; min-height: 34px;
      display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap;
      padding: 7px 16px; background: var(--olive-dark); color: #fff;
      text-align: center; font-size: 10px; line-height: 1.35; letter-spacing: .13em; text-transform: uppercase;
    }
    .announcement .dot { opacity: .62; }
    .countdown { display: none; border: 1px solid rgba(255,255,255,.42); border-radius: 4px; padding: 2px 7px; font-variant-numeric: tabular-nums; letter-spacing: .08em; white-space: nowrap; }
    .site-header {
      position: sticky; top: var(--announcement-height); z-index: 999;
      background: rgba(250,248,243,.96); border-bottom: 1px solid rgba(232,227,218,.8);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    }
    .nav-shell { min-height: 78px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
    .brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; min-width: 0; }
    .brand-mark { width: 37px; height: 44px; flex: 0 0 auto; }
    .brand-word { display: flex; flex-direction: column; line-height: .94; }
    .brand-word strong { font-family: var(--serif); font-size: 20px; font-weight: 400; letter-spacing: -.045em; white-space: nowrap; }
    .brand-word span { font-family: var(--serif); font-size: 10px; letter-spacing: .42em; padding-left: 3px; margin-top: 5px; }
    .desktop-nav { display: flex; align-items: center; gap: clamp(13px, 1.75vw, 27px); font-size: 11px; color: #4b4a41; white-space: nowrap; }
    .desktop-nav a { position: relative; padding-block: 8px; transition: color .2s ease; }
    .desktop-nav a::after { content: ''; position: absolute; bottom: 2px; left: 0; height: 1px; width: 0; background: var(--olive); transition: width .25s var(--ease); }
    .desktop-nav a:hover { color: var(--olive-dark); }
    .desktop-nav a:hover::after { width: 100%; }
    .nav-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
    .icon-button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--ink); display: inline-grid; place-items: center; position: relative; transition: background .2s ease, color .2s ease; }
    .icon-button:hover { background: var(--light-cream); color: var(--olive-dark); }
    .icon-button svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
    .cart-count { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; border-radius: 50%; display: grid; place-items: center; padding: 0 4px; color: #fff; background: var(--olive-dark); font-size: 9px; line-height: 1; }
    .menu-toggle { display: none; }
    .mobile-nav { display: none; }

    .hero { position: relative; isolation: isolate; min-height: 590px; display: flex; align-items: center; overflow: hidden; background: #e9dfd2; }
    .hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: var(--hero-image, url('../images/hero-bedroom.webp')) center 54% / cover no-repeat; animation: heroReveal 1.2s var(--ease) both; }
    .hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(250,248,243,.97) 0%, rgba(250,248,243,.86) 28%, rgba(250,248,243,.28) 53%, rgba(250,248,243,0) 72%); }
    .hero-content { padding-block: 74px 62px; max-width: 610px; }
    .eyebrow { margin: 0 0 14px; color: var(--olive-dark); font-size: 10px; font-weight: 700; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase; }
    .hero h1 { max-width: 590px; margin: 0; font: 400 clamp(46px, 5.4vw, 76px)/.98 var(--serif); letter-spacing: -.055em; }
    .hero h1 em { display: block; color: var(--olive); font-weight: 400; }
    .hero-copy { max-width: 430px; margin: 22px 0 26px; color: #5f5c52; font-size: 15px; line-height: 1.8; }
    .button { min-height: 48px; display: inline-flex; justify-content: center; align-items: center; gap: 13px; padding: 0 24px; border: 1px solid var(--olive-dark); border-radius: 999px; background: var(--olive-dark); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: transform .25s var(--ease), background .25s ease, border-color .25s ease, color .25s ease; }
    .button:hover { transform: translateY(-2px); background: var(--olive); border-color: var(--olive); }
    .button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .button-outline { color: var(--olive-dark); background: transparent; }
    .button-outline:hover { color: #fff; }
    .hero-benefits { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 34px; color: #545247; font-size: 11px; }
    .hero-benefit { display: inline-flex; align-items: center; gap: 8px; }
    .hero-benefit svg { width: 19px; height: 19px; stroke: var(--olive-dark); fill: none; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }

    .ticker { overflow: hidden; background: #F1ECE4; border-block: 1px solid rgba(232,227,218,.7); }
    .ticker-track { width: max-content; display: flex; align-items: center; gap: 44px; padding: 11px 0; animation: ticker 34s linear infinite; }
    .ticker:hover .ticker-track { animation-play-state: paused; }
    .ticker-item { white-space: nowrap; font: italic 17px var(--serif); color: #48473d; }
    .ticker-item::before { content: '✳'; display: inline-block; margin-right: 12px; color: var(--olive); font: 13px var(--sans); }

    .section { padding-block: 88px; }
    .section-heading { max-width: 720px; margin: 0 auto 38px; text-align: center; }
    .section-heading .eyebrow { margin-bottom: 8px; }
    .section-heading h2 { margin: 0; font: 400 clamp(34px, 3.7vw, 49px)/1.08 var(--serif); letter-spacing: -.04em; }
    .section-heading p { max-width: 570px; margin: 12px auto 0; color: var(--muted); font-size: 13px; }
    .category-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 16px; }
    .category-card { position: relative; display: block; min-height: 245px; overflow: hidden; border-radius: 9px; background: var(--beige); isolation: isolate; }
    .category-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--ease); }
    .category-card::after { content: ''; position: absolute; inset: 28% 0 0; z-index: -1; background: linear-gradient(180deg, transparent, rgba(28,28,21,.69)); }
    .category-card:hover img { transform: scale(1.055); }
    .category-card span { position: absolute; bottom: 17px; left: 17px; right: 16px; color: #fff; font: 400 21px/1.1 var(--serif); }
    .category-card .arrow { position: absolute; right: 15px; bottom: 18px; width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 1.5; }

    .story-section { padding-block: 22px 90px; }
    .story-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(34px, 6vw, 84px); align-items: center; }
    .story-visual { position: relative; min-height: 440px; overflow: hidden; border-radius: 12px; background: var(--beige); }
    .story-visual img { width: 100%; height: 440px; object-fit: cover; }
    .quality-seal { position: absolute; top: 28px; right: 28px; width: 116px; height: 116px; display: grid; place-items: center; padding: 15px; border: 1px solid rgba(255,254,250,.82); border-radius: 50%; color: #fff; background: rgba(79,89,62,.72); text-align: center; font: 13px/1.25 var(--serif); letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(3px); }
    .quality-seal small { display: block; font: 9px var(--sans); letter-spacing: .13em; }
    .story-copy { max-width: 550px; }
    .story-copy h2 { margin: 0 0 18px; font: 400 clamp(36px, 4vw, 53px)/1.04 var(--serif); letter-spacing: -.05em; }
    .story-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.85; }
    .feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 25px; margin: 28px 0 30px; }
    .feature { display: flex; align-items: center; gap: 11px; color: #4b4a41; font-size: 12px; }
    .feature svg { width: 23px; height: 23px; flex: 0 0 auto; stroke: var(--olive); fill: none; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
    .spec-note { margin: 16px 0 0; padding: 12px 15px; border-left: 2px solid var(--olive); background: #F3EFE7; color: #68675d; font-size: 11px; line-height: 1.6; }

    .collection { padding-block: 86px 94px; background: var(--light-cream); }
    .collection .section-heading { margin-bottom: 26px; }
    .demo-note { display: inline-block; margin-top: 11px; color: #767468; font-size: 10px; letter-spacing: .02em; }
    .filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin: 0 0 30px; }
    .filter-btn { min-height: 35px; padding: 0 17px; border: 1px solid #d9d1c5; border-radius: 999px; background: transparent; color: #5e5b50; font-size: 11px; transition: .2s ease; }
    .filter-btn:hover, .filter-btn.active { border-color: var(--olive-dark); background: var(--olive-dark); color: #fff; }
    .product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
    .product-card { min-width: 0; background: var(--white); border: 1px solid #e6e0d7; border-radius: 9px; overflow: hidden; transition: transform .28s var(--ease), box-shadow .28s ease; }
    .product-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(58,52,40,.08); }
    .product-image-wrap { position: relative; overflow: hidden; aspect-ratio: 1 / 1.02; background: #e8dfd2; cursor: pointer; }
    .product-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--ease); }
    .product-card:hover .product-image-wrap img { transform: scale(1.05); }
    .product-label { position: absolute; top: 13px; left: 13px; padding: 5px 9px; border-radius: 999px; background: rgba(79,89,62,.92); color: #fff; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
    .quick-add { position: absolute; right: 12px; bottom: 12px; left: 12px; min-height: 39px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; background: rgba(79,89,62,.96); color: #fff; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: .25s ease; }
    .quick-add svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.6; }
    .product-card:hover .quick-add, .quick-add:focus-visible { opacity: 1; transform: translateY(0); }
    .product-info { padding: 16px 17px 17px; }
    .product-category { color: #969184; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
    .product-name { display: inline-block; margin: 4px 0 3px; font: 400 21px/1.15 var(--serif); }
    .product-description { min-height: 36px; margin: 0 0 12px; color: var(--muted); font-size: 11px; }
    .product-bottom { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
    .price-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; }
    .old-price { color: #a5a093; font-size: 11px; text-decoration: line-through; }
    .current-price { color: var(--olive-dark); font: 700 16px var(--serif); }
    .mini-add { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 auto; border: 0; border-radius: 50%; background: var(--olive-dark); color: white; transition: background .2s ease, transform .2s ease; }
    .mini-add:hover { background: var(--olive); transform: rotate(-5deg); }
    .mini-add svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.6; }

    .promo { padding-block: 0 88px; background: var(--light-cream); }
    .promo-panel { min-height: 390px; display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border-radius: 12px; background: #e9dfd2; }
    .promo-copy { padding: clamp(34px, 5vw, 68px); align-self: center; }
    .promo-copy h2 { margin: 0; font: 400 clamp(36px, 4.2vw, 55px)/1.03 var(--serif); letter-spacing: -.045em; }
    .promo-copy p:not(.eyebrow) { max-width: 420px; color: #69665c; line-height: 1.8; }
    .promo-image { min-height: 390px; background: var(--promo-image, url('../images/promo-bedroom.webp')) center / cover no-repeat; }

    .reviews { padding-block: 82px 94px; }
    .review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
    .review-card { padding: 27px 25px 25px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
    .stars { color: var(--olive); letter-spacing: .17em; font-size: 14px; }
    .review-quote { min-height: 94px; margin: 16px 0 23px; color: #5c594f; font: italic 18px/1.45 var(--serif); }
    .review-person { display: flex; align-items: center; gap: 11px; }
    .avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #e9e3d8; color: var(--olive-dark); font: 15px var(--serif); }
    .review-person strong { display: block; font-size: 11px; font-weight: 600; }
    .review-person small { display: block; color: #928e82; font-size: 9px; }
    .demo-review { display: inline-block; margin-bottom: 12px; color: #8c7962; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }

    .faq-section { padding-block: 88px; background: #F1ECE4; }
    .faq-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(40px,8vw,120px); align-items: start; }
    .faq-intro h2 { margin: 0 0 16px; font: 400 clamp(38px, 4.2vw, 54px)/1.03 var(--serif); letter-spacing: -.05em; }
    .faq-intro p:not(.eyebrow) { max-width: 360px; margin-bottom: 25px; color: var(--muted); }
    .faq-list { border-top: 1px solid #dcd5ca; }
    .faq-item { border-bottom: 1px solid #dcd5ca; }
    .faq-question { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 21px 2px; border: 0; background: transparent; color: var(--ink); text-align: left; font: 400 19px var(--serif); }
    .faq-question span:last-child { display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 auto; border: 1px solid #c9c1b4; border-radius: 50%; color: var(--olive-dark); font: 16px var(--sans); transition: transform .25s ease, background .25s ease; }
    .faq-item.open .faq-question span:last-child { transform: rotate(45deg); background: #e6dfd4; }
    .faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s var(--ease); }
    .faq-item.open .faq-answer { grid-template-rows: 1fr; }
    .faq-answer > div { overflow: hidden; }
    .faq-answer p { max-width: 650px; margin: 0; padding: 0 40px 21px 2px; color: #6e6b61; font-size: 12px; line-height: 1.8; }

    .newsletter { padding-block: 62px; background: var(--olive); color: #fff; }
    .newsletter-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 45px; }
    .newsletter .eyebrow { color: #e5e4d7; }
    .newsletter h2 { margin: 0; font: 400 clamp(34px, 4vw, 48px)/1.08 var(--serif); letter-spacing: -.04em; }
    .newsletter p:not(.eyebrow) { max-width: 480px; margin: 11px 0 0; color: rgba(255,255,255,.78); font-size: 12px; }
    .newsletter-form { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: var(--white); }
    .newsletter-form input { min-width: 0; flex: 1; padding: 0 17px; border: 0; outline: 0; border-radius: 999px; background: transparent; color: var(--ink); font-size: 12px; }
    .newsletter-form .button { min-height: 43px; padding-inline: 20px; border-color: var(--olive-dark); white-space: nowrap; }
    .newsletter-status { min-height: 20px; margin: 10px 8px 0; color: #fff; font-size: 11px; }

    .footer { padding-block: 58px 20px; background: var(--cream); }
    .footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1.2fr 1fr; gap: 38px; padding-bottom: 43px; }
    .footer-brand p { max-width: 230px; margin: 17px 0 0; color: var(--muted); font: italic 17px var(--serif); }
    .footer-col h3 { margin: 0 0 15px; font: 400 18px var(--serif); }
    .footer-col a, .footer-col p, .footer-col li { color: #777469; font-size: 11px; }
    .footer-col a { display: inline-block; margin: 4px 0; transition: color .2s; }
    .footer-col a:hover { color: var(--olive-dark); }
    .footer-col ul { margin: 0; padding: 0; list-style: none; }
    .social-note { max-width: 220px; line-height: 1.7; }
    .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 17px; border-top: 1px solid var(--line); color: #928e82; font-size: 9px; }
    .payment-list { display: flex; gap: 7px; align-items: center; }
    .payment-list span { min-width: 40px; padding: 4px 7px; border: 1px solid #e6e0d7; border-radius: 4px; background: #fff; color: #555; font-size: 8px; text-align: center; font-weight: 700; }

    .drawer-backdrop, .modal-backdrop { position: fixed; inset: 0; z-index: 1200; background: rgba(29,29,23,.45); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; }
    .drawer-backdrop.open, .modal-backdrop.open { opacity: 1; visibility: visible; }
    .cart-drawer { position: fixed; top: 0; right: 0; z-index: 1201; width: min(460px,100%); height: 100dvh; display: flex; flex-direction: column; padding: 25px; background: var(--cream); transform: translateX(103%); transition: transform .38s var(--ease); box-shadow: -15px 0 45px rgba(0,0,0,.12); }
    .cart-drawer.open { transform: translateX(0); }
    .drawer-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
    .drawer-head h2 { margin: 0; font: 400 27px var(--serif); }
    .drawer-close { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font-size: 20px; }
    .cart-items { flex: 1; overflow-y: auto; padding-block: 15px; }
    .cart-empty { padding: 55px 15px; color: var(--muted); text-align: center; font: italic 20px var(--serif); }
    .cart-row { display: grid; grid-template-columns: 82px 1fr auto; gap: 13px; padding: 15px 0; border-bottom: 1px solid var(--line); }
    .cart-row img { width: 82px; height: 90px; object-fit: cover; border-radius: 6px; }
    .cart-row h3 { margin: 1px 0 3px; font: 400 17px var(--serif); }
    .cart-row small { color: var(--muted); font-size: 10px; }
    .qty-control { display: inline-flex; align-items: center; gap: 10px; margin-top: 10px; border: 1px solid var(--line); border-radius: 99px; padding: 3px 7px; }
    .qty-control button { width: 19px; height: 19px; border: 0; background: transparent; color: var(--ink); font-size: 15px; }
    .qty-control span { min-width: 12px; text-align: center; font-size: 11px; }
    .remove-item { align-self: start; border: 0; background: transparent; color: #918b7e; font-size: 17px; }
    .drawer-summary { padding-top: 17px; border-top: 1px solid var(--line); }
    .subtotal-line { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: 12px; }
    .subtotal-line strong { font: 700 19px var(--serif); }
    .drawer-disclaimer { margin: 10px 0 17px; color: var(--muted); font-size: 10px; line-height: 1.55; }
    .checkout-button { width: 100%; }

    .modal-backdrop { z-index: 1300; display: grid; place-items: center; padding: 24px; }
    .product-modal, .search-modal { position: relative; width: min(790px,100%); max-height: min(90dvh,800px); overflow: auto; border-radius: 12px; background: var(--cream); transform: translateY(15px); transition: transform .3s var(--ease); }
    .modal-backdrop.open .product-modal, .modal-backdrop.open .search-modal { transform: translateY(0); }
    .product-modal { display: grid; grid-template-columns: 1fr 1fr; }
    .product-modal img { width: 100%; height: 100%; min-height: 410px; object-fit: cover; }
    .modal-copy { align-self: center; padding: 35px; }
    .modal-copy h2 { margin: 4px 0 10px; font: 400 34px/1.06 var(--serif); }
    .modal-copy p { color: var(--muted); font-size: 12px; line-height: 1.8; }
    .modal-close { position: absolute; top: 13px; right: 13px; z-index: 2; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(250,248,243,.9); color: var(--ink); font-size: 20px; }
    .search-modal { width: min(600px,100%); padding: 34px; }
    .search-modal h2 { margin: 0 0 16px; font: 400 30px var(--serif); }
    .search-field { width: 100%; min-height: 48px; padding: 0 15px; border: 1px solid var(--line); border-radius: 7px; outline-color: var(--olive); background: white; }
    .search-results { margin-top: 15px; display: grid; gap: 8px; }
    .search-result { display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: white; text-align: left; }
    .search-result img { width: 48px; height: 52px; border-radius: 4px; object-fit: cover; }
    .search-result span { font: 17px var(--serif); }
    .toast { position: fixed; left: 50%; bottom: 26px; z-index: 1500; max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 999px; background: var(--olive-dark); color: white; font-size: 12px; box-shadow: 0 8px 25px rgba(0,0,0,.16); opacity: 0; pointer-events: none; transform: translate(-50%,12px); transition: opacity .25s ease, transform .25s ease; }
    .toast.show { opacity: 1; transform: translate(-50%,0); }
    .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    @keyframes ticker { to { transform: translateX(-50%); } }
    @keyframes heroReveal { from { transform: scale(1.035); opacity: .7; } to { transform: scale(1); opacity: 1; } }

    @media (max-width: 1100px) {
      .container { width: min(var(--content), calc(100% - 48px)); }
      .nav-shell { grid-template-columns: 1fr auto 1fr; gap: 12px; }
      .desktop-nav { gap: 12px; font-size: 10px; }
      .brand-word strong { font-size: 18px; }
      .category-card { min-height: 210px; }
      .category-card span { font-size: 18px; }
      .story-visual, .story-visual img { min-height: 390px; height: 390px; }
    }
    @media (max-width: 820px) {
      html { scroll-padding-top: 120px; }
      .container { width: min(var(--content), calc(100% - 36px)); }
      .nav-shell { min-height: 68px; grid-template-columns: 1fr auto; }
      .desktop-nav { display: none; }
      .nav-actions { gap: 4px; }
      .menu-toggle { display: inline-grid; }
      .mobile-nav { display: grid; grid-template-rows: 0fr; overflow: hidden; transition: grid-template-rows .3s var(--ease); background: var(--cream); }
      .mobile-nav.open { grid-template-rows: 1fr; }
      .mobile-nav-inner { min-height: 0; overflow: hidden; display: flex; flex-direction: column; padding-inline: 22px; }
      .mobile-nav.open .mobile-nav-inner { padding-bottom: 18px; }
      .mobile-nav a { padding: 12px 0; border-top: 1px solid var(--line); font: 19px var(--serif); }
      .hero { min-height: 610px; align-items: flex-end; }
      .hero::before { background-position: 59% center; }
      .hero::after { background: linear-gradient(0deg, rgba(250,248,243,.98) 0%, rgba(250,248,243,.88) 35%, rgba(250,248,243,.15) 78%, rgba(250,248,243,0) 100%); }
      .hero-content { max-width: 620px; padding-block: 230px 36px; }
      .hero h1 { max-width: 530px; font-size: clamp(43px, 8vw, 62px); }
      .hero-copy { max-width: 480px; margin: 15px 0 20px; font-size: 13px; }
      .hero-benefits { gap: 13px 18px; margin-top: 22px; font-size: 10px; }
      .section { padding-block: 70px; }
      .category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
      .category-card { min-height: 225px; }
      .story-grid { grid-template-columns: 1fr; gap: 32px; }
      .story-visual, .story-visual img { height: 380px; min-height: 380px; }
      .story-copy { max-width: 680px; }
      .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
      .product-info { padding: 13px; }
      .quick-add { opacity: 1; transform: none; }
      .promo-panel { grid-template-columns: 1fr 1fr; }
      .promo-copy { padding: 30px; }
      .promo-image { min-height: 340px; }
      .faq-grid { grid-template-columns: 1fr; gap: 30px; }
      .faq-intro p:not(.eyebrow) { max-width: 560px; }
      .newsletter-inner { grid-template-columns: 1fr; gap: 25px; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 28px; }
    }
    @media (max-width: 560px) {
      .container { width: calc(100% - 30px); }
      .announcement { gap: 5px 8px; padding: 7px 9px; font-size: 8px; letter-spacing: .08em; }
      .announcement .dot { display: none; }
      .nav-shell { min-height: 66px; }
      .brand-mark { width: 31px; height: 38px; }
      .brand { gap: 7px; }
      .brand-word strong { font-size: 16px; }
      .brand-word span { font-size: 8px; letter-spacing: .38em; }
      .icon-button { width: 35px; height: 35px; }
      .icon-button svg { width: 18px; height: 18px; }
      .hero { min-height: 610px; }
      .hero::before { background-position: 61% 35%; }
      .hero::after { background: linear-gradient(0deg, rgba(250,248,243,1) 0%, rgba(250,248,243,.96) 24%, rgba(250,248,243,.62) 48%, rgba(250,248,243,.05) 78%); }
      .hero-content { padding-block: 290px 29px; }
      .eyebrow { font-size: 9px; letter-spacing: .16em; }
      .hero h1 { font-size: clamp(40px, 11vw, 52px); }
      .hero-copy { margin: 13px 0 18px; font-size: 12px; line-height: 1.7; }
      .button { min-height: 46px; padding-inline: 19px; font-size: 9px; }
      .hero-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 20px; font-size: 9px; }
      .hero-benefit { align-items: flex-start; gap: 5px; }
      .hero-benefit svg { width: 16px; height: 16px; }
      .ticker-track { gap: 28px; padding-block: 9px; }
      .ticker-item { font-size: 15px; }
      .section { padding-block: 58px; }
      .section-heading { margin-bottom: 27px; }
      .section-heading h2 { font-size: 34px; }
      .section-heading p { font-size: 12px; }
      .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
      .category-card { min-height: 170px; border-radius: 7px; }
      .category-card span { bottom: 13px; left: 12px; right: 29px; font-size: 17px; }
      .category-card .arrow { right: 10px; bottom: 13px; width: 15px; height: 15px; }
      .story-section { padding-block: 6px 64px; }
      .story-visual, .story-visual img { height: 280px; min-height: 280px; }
      .quality-seal { top: 15px; right: 15px; width: 88px; height: 88px; padding: 9px; font-size: 10px; }
      .quality-seal small { font-size: 7px; }
      .story-copy h2 { font-size: 39px; }
      .story-copy > p:not(.eyebrow) { font-size: 12px; }
      .feature-grid { gap: 15px 10px; margin: 22px 0; }
      .feature { gap: 7px; font-size: 10px; }
      .feature svg { width: 20px; height: 20px; }
      .spec-note { font-size: 10px; }
      .collection { padding-block: 60px 65px; }
      .filters { gap: 7px; margin-bottom: 22px; }
      .filter-btn { min-height: 33px; padding-inline: 12px; font-size: 10px; }
      .product-grid { gap: 10px; }
      .product-image-wrap { aspect-ratio: 1 / 1.12; }
      .product-label { top: 8px; left: 8px; padding: 4px 7px; font-size: 8px; }
      .quick-add { right: 7px; bottom: 7px; left: 7px; min-height: 34px; font-size: 8px; }
      .product-info { padding: 10px; }
      .product-category { font-size: 8px; letter-spacing: .08em; }
      .product-name { font-size: 17px; }
      .product-description { min-height: 32px; margin-bottom: 8px; font-size: 9px; line-height: 1.5; }
      .old-price { font-size: 9px; }
      .current-price { font-size: 14px; }
      .mini-add { width: 30px; height: 30px; }
      .promo { padding-bottom: 60px; }
      .promo-panel { grid-template-columns: 1fr; }
      .promo-image { order: -1; min-height: 230px; }
      .promo-copy { padding: 27px 23px 30px; }
      .promo-copy h2 { font-size: 39px; }
      .promo-copy p:not(.eyebrow) { font-size: 12px; }
      .reviews { padding-block: 60px 65px; }
      .review-grid { grid-template-columns: 1fr; gap: 10px; }
      .review-card { padding: 21px; }
      .review-quote { min-height: 0; margin: 11px 0 17px; font-size: 17px; }
      .faq-section { padding-block: 60px; }
      .faq-intro h2 { font-size: 42px; }
      .faq-question { padding: 17px 0; font-size: 17px; }
      .faq-answer p { font-size: 11px; }
      .newsletter { padding-block: 48px; }
      .newsletter h2 { font-size: 38px; }
      .newsletter-form { display: grid; grid-template-columns: 1fr; border-radius: 12px; padding: 8px; }
      .newsletter-form input { min-height: 42px; padding-inline: 10px; }
      .newsletter-form .button { width: 100%; }
      .footer { padding-top: 48px; }
      .footer-grid { gap: 28px 18px; }
      .footer-brand { grid-column: 1/-1; }
      .footer-col h3 { font-size: 17px; }
      .footer-col a, .footer-col p { font-size: 10px; }
      .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
      .cart-drawer { padding: 19px; }
      .product-modal { grid-template-columns: 1fr; }
      .product-modal img { height: 250px; min-height: 250px; }
      .modal-copy { padding: 23px; }
      .modal-copy h2 { font-size: 29px; }
      .search-modal { padding: 25px 18px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }
  
/* Alba Home Living — WooCommerce refinements and the new quick-checkout/gallery controls. */
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo-link img { width: auto; max-width: 150px; max-height: 48px; object-fit: contain; }
.alba-gallery-track { display: flex; width: 100%; height: 100%; transition: transform .38s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.alba-gallery-slide { position: relative; flex: 0 0 100%; width: 100%; height: 100%; overflow: hidden; }
.alba-gallery-slide a { display: block; width: 100%; height: 100%; }
.alba-gallery-slide img, .product-image-wrap .alba-gallery-slide img { width: 100%; height: 100%; object-fit: cover; }
.alba-card-gallery { position: absolute; inset: 0; overflow: hidden; }
.alba-gallery-arrow { position: absolute; top: 50%; z-index: 4; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(250,248,243,.87); color: var(--olive-dark); font: 22px/1 var(--sans); opacity: 0; transform: translateY(-50%); transition: opacity .2s ease, background .2s ease; }
.alba-gallery-prev { left: 9px; }
.alba-gallery-next { right: 9px; }
.product-card:hover .alba-gallery-arrow, .alba-gallery-arrow:focus-visible { opacity: 1; }
.alba-gallery-arrow:hover { background: #fff; }
.alba-gallery-dots { position: absolute; z-index: 4; left: 50%; bottom: 13px; display: flex; gap: 5px; transform: translateX(-50%); }
.alba-gallery-dot { width: 6px; height: 6px; padding: 0; border: 1px solid rgba(255,255,255,.92); border-radius: 50%; background: rgba(255,255,255,.42); }
.alba-gallery-dot.is-active { width: 16px; border-radius: 99px; background: #fff; }
.product-image-wrap .product-label { z-index: 5; }
.product-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 13px; }
.product-actions .button { width: 100%; min-width: 0; min-height: 39px; padding-inline: 9px; font-size: 8px; letter-spacing: .07em; white-space: nowrap; }
.product-actions .alba-add-cart { background: transparent; color: var(--olive-dark); border-color: #c9cdbd; }
.product-actions .alba-add-cart:hover { color: #fff; background: var(--olive); border-color: var(--olive); }
.product-actions .alba-buy-now { background: var(--olive-dark); }
.product-bottom { margin-top: 5px; }
.product-card .price del { color: #a5a093; font-size: 11px; opacity: 1; }
.product-card .price ins { color: var(--olive-dark); font: 700 16px var(--serif); text-decoration: none; }
.product-card .price { color: var(--olive-dark); font: 700 16px var(--serif); }
.alba-empty-products, .alba-empty-reviews { max-width: 760px; margin: 20px auto; padding: 42px 28px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,254,250,.7); text-align: center; }
.alba-empty-products h3 { margin: 0; font: 400 29px var(--serif); }
.alba-empty-products p, .alba-empty-reviews p { color: var(--muted); }
.alba-empty-products .button { margin-top: 8px; }
.alba-empty-reviews { max-width: 640px; padding-block: 28px; font: italic 18px var(--serif); }
.alba-sticky-checkout { position: fixed; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); z-index: 1150; width: min(680px, calc(100% - 32px)); display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 11px 13px 11px 22px; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; background: rgba(79,89,62,.97); color: #fff; box-shadow: 0 12px 38px rgba(28,31,20,.25); opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .25s ease, transform .25s ease, visibility .25s ease; backdrop-filter: blur(10px); }
.alba-sticky-checkout.is-empty { opacity: 0; visibility: hidden; transform: translate(-50%, calc(100% + 25px)); pointer-events: none; }
.alba-sticky-cart-summary { display: grid; grid-template-columns: auto auto; align-items: center; column-gap: 8px; line-height: 1.25; }
.alba-sticky-label { grid-column: 1/-1; color: rgba(255,255,255,.72); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.alba-sticky-cart-summary strong { font-size: 12px; font-weight: 600; }
.alba-sticky-subtotal { color: #fff; font: 17px var(--serif); }
.alba-sticky-cta { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; flex: 0 0 auto; padding: 0 20px; border-radius: 999px; background: #fff; color: var(--olive-dark); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.alba-sticky-cta:hover { background: #f0eadf; transform: translateY(-1px); }
body.alba-has-cart { padding-bottom: 82px; }
.alba-cart-backdrop { position: fixed; inset: 0; z-index: 1200; background: rgba(29,29,23,.45); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; }
.alba-cart-backdrop.open { opacity: 1; visibility: visible; }
.alba-cart-drawer { z-index: 1201; }
.alba-cart-drawer .cart-items { overflow-y: auto; }
.alba-cart-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.alba-cart-drawer .woocommerce-mini-cart-item { position: relative; min-height: 82px; padding: 12px 28px 12px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.alba-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { color: var(--ink); font: 400 16px var(--serif); }
.alba-cart-drawer .woocommerce-mini-cart-item img { float: left; width: 65px; height: 72px; margin: 0 12px 0 0; border-radius: 5px; object-fit: cover; }
.alba-cart-drawer .woocommerce-mini-cart-item a.remove { position: absolute; right: 0; top: 12px; color: #8d887d !important; font-size: 20px; }
.alba-cart-drawer .quantity { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.alba-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 18px 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 12px; }
.alba-cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0; }
.alba-cart-drawer .woocommerce-mini-cart__buttons a { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.alba-cart-drawer .woocommerce-mini-cart__buttons .checkout { background: var(--olive-dark); color: #fff; }
.alba-cart-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) { border: 1px solid var(--line); background: transparent; color: var(--ink); }
.alba-cart-drawer .woocommerce-mini-cart__empty-message { padding: 45px 8px; color: var(--muted); text-align: center; font: italic 19px var(--serif); }
.alba-cart-drawer .drawer-disclaimer { margin-bottom: 9px; }
.alba-cart-drawer .alba-view-cart { display: block; margin-top: 12px; color: var(--muted); font-size: 10px; text-align: center; text-decoration: underline; }
.alba-search-backdrop { position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; padding: 20px; background: rgba(29,29,23,.45); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.alba-search-backdrop.open { opacity: 1; visibility: visible; }
.alba-search-panel { position: relative; width: min(590px,100%); padding: 38px; border-radius: 12px; background: var(--cream); transform: translateY(12px); transition: transform .25s ease; }
.alba-search-backdrop.open .alba-search-panel { transform: translateY(0); }
.alba-search-panel h2 { margin: 0 0 18px; font: 400 31px var(--serif); }
.alba-search-panel form { display: flex; gap: 8px; }
.alba-search-panel input[type="search"] { min-width: 0; flex: 1; min-height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); }
.alba-search-panel .button { min-height: 48px; }
.alba-search-panel .modal-close { position: absolute; right: 12px; top: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #eee8dd; font-size: 20px; }
.alba-buy-now-single { margin-left: 8px !important; background: var(--olive) !important; border-color: var(--olive) !important; }
.alba-woocommerce-main { min-height: 50vh; padding-block: 60px 90px; }
.alba-woocommerce-container { max-width: 1280px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 24px; color: var(--muted); font-size: 11px; }
.woocommerce .woocommerce-products-header__title, .woocommerce div.product .product_title { font: 400 clamp(34px,4vw,48px)/1.08 var(--serif); letter-spacing: -.04em; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: clamp(32px,6vw,82px); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: 10px; overflow: hidden; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 9px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 80px; float: none; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 5px; }
.woocommerce div.product .price { color: var(--olive-dark); font: 700 23px var(--serif); }
.woocommerce div.product form.cart { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.woocommerce div.product form.cart .quantity .qty { min-height: 45px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 45px; border-radius: 999px; background: var(--olive-dark); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.woocommerce .button, .woocommerce button.button, .woocommerce input.button { border-radius: 999px; background: var(--olive-dark); color: #fff; }
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--olive); color: #fff; }
.woocommerce table.shop_table { border-color: var(--line); border-radius: 8px; font-size: 12px; }
.woocommerce .woocommerce-info, .woocommerce .woocommerce-message { border-top-color: var(--olive); background: #f0ece4; }
.woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before { color: var(--olive-dark); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.woocommerce-checkout #payment { background: #f1ece4; border-radius: 8px; }
.woocommerce-checkout #payment div.payment_box { background: #e9e2d7; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #e9e2d7; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin: 28px 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto !important; margin: 0 !important; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 99px; }
.alba-content-main { min-height: 50vh; padding-block: 65px 90px; }
.alba-content-container { max-width: 900px; }
.alba-entry .entry-title { font: 400 clamp(34px,4vw,48px)/1.1 var(--serif); }
.alba-entry .entry-content { color: #5f5c52; line-height: 1.9; }
.alba-entry-featured img { width: 100%; height: auto; border-radius: 10px; }
@media (max-width: 820px) {
  .alba-gallery-arrow { opacity: 1; width: 29px; height: 29px; }
  .alba-sticky-checkout { width: calc(100% - 20px); bottom: max(8px, env(safe-area-inset-bottom)); gap: 8px; padding: 8px 9px 8px 14px; }
  .alba-sticky-label { font-size: 8px; }
  .alba-sticky-cart-summary strong { font-size: 10px; }
  .alba-sticky-subtotal { font-size: 15px; }
  .alba-sticky-cta { min-height: 40px; padding-inline: 13px; font-size: 8px; }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .alba-buy-now-single { margin: 0 !important; }
}
@media (max-width: 560px) {
  body.alba-has-cart { padding-bottom: 85px; }
  .product-actions { gap: 5px; grid-template-columns: 1fr 1fr; }
  .product-actions .button { min-height: 36px; padding-inline: 5px; font-size: 7px; letter-spacing: .04em; }
  .alba-gallery-arrow { width: 26px; height: 26px; font-size: 19px; }
  .alba-gallery-dots { bottom: 8px; }
  .alba-sticky-checkout { border-radius: 14px; }
  .alba-sticky-cart-summary { column-gap: 5px; }
  .alba-sticky-cta { min-height: 38px; padding-inline: 10px; font-size: 7px; }
  .alba-search-panel { padding: 32px 18px 22px; }
  .alba-search-panel form { display: grid; grid-template-columns: 1fr; }
  .woocommerce ul.products { gap: 10px; }
  .woocommerce div.product form.cart { align-items: stretch; }
  .woocommerce div.product form.cart .quantity { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .alba-gallery-track, .alba-sticky-checkout, .alba-search-panel { transition-duration: .01ms !important; }
}
.desktop-nav ul { display: contents; margin: 0; padding: 0; list-style: none; }
.desktop-nav li { position: relative; list-style: none; }
.desktop-nav li a { display: inline-block; }
.desktop-nav .sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 20; min-width: 180px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--cream); box-shadow: 0 12px 25px rgba(0,0,0,.08); }
.desktop-nav li:hover > .sub-menu, .desktop-nav li:focus-within > .sub-menu { display: block; }
.desktop-nav .sub-menu li { display: block; }
.desktop-nav .sub-menu a { padding: 8px 0; }
.mobile-nav-inner ul { display: contents; margin: 0; padding: 0; list-style: none; }
.mobile-nav-inner li { list-style: none; }
.mobile-nav-inner .sub-menu { padding-left: 18px; }
.brand .custom-logo { width: auto; max-width: 150px; max-height: 48px; object-fit: contain; }
