        /* ============================================
           RESET & BASE STYLES
           ============================================ */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            background-color: #c5cfd0;
        }

        body {
            font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            color: #141414;
            overflow-x: hidden;
            background-color: #faf8f3;
            min-height: 100vh;
            padding-top: 84px; /* promo-banner (40) + nav-ribbon (44) */
            cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><g transform="rotate(60 12 12)"><path d="M22 12H5M12 19l-7-7 7-7" stroke="%23141414" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></g></svg>') 10 10, auto;
        }

        /* Custom cursor for all elements */
        * {
            cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><g transform="rotate(60 12 12)"><path d="M22 12H5M12 19l-7-7 7-7" stroke="%23141414" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></g></svg>') 10 10, auto !important;
        }

        /* ============================================
           HEADER & NAVIGATION
           ============================================ */
        .header-container {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
        }

        .promo-banner {
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 400;
            letter-spacing: 1.9px;
            text-transform: uppercase;
            color: #141414;
            background: #c5cfd0;
            overflow: hidden;
            position: fixed; /* Fixed at very top of page */
            top: 0;
            left: 0;
            right: 0;
            z-index: 1001;
        }

        .ticker-wrapper {
            display: flex;
            position: absolute;
            white-space: nowrap;
            animation: scroll-left 200s linear infinite;
        }

        .ticker-item {
            padding: 0 80px;
            display: inline-block;
        }

        @keyframes scroll-left {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(-50%);
            }
        }

        .nav-ribbon {
            height: 44px;
            background: rgba(250, 248, 243, 0.95);
            border-top: 1.5px solid #141414;
            border-bottom: 1.5px solid #141414;
            display: flex;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(10px);
            position: fixed; /* Fixed at top below promo banner */
            top: 40px;
            left: 0;
            right: 0;
            z-index: 1000;
        }

        .nav-ribbon.scrolled {
            /* Keep behavior consistent even if JS still toggles .scrolled */
            /* Styles already match base .nav-ribbon, kept for JS compatibility */
            height: 44px;
            background: rgba(250, 248, 243, 0.95);
            border-top: 1.5px solid #141414;
            border-bottom: 1.5px solid #141414;
            display: flex;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(10px);
            position: fixed; /* Fixed at top below promo banner */
            top: 40px;
            left: 0;
            right: 0;
            z-index: 1000;
        }

        .nav-center {
            display: flex;
            height: 100%;
            border-left: 1.5px solid #141414;
            border-right: 1.5px solid #141414;
        }

        .nav-ribbon.scrolled .nav-center {
            border-left-color: #141414;
            border-right-color: #141414;
        }

        .landing-nav-link {
            padding: 0 32px;
            display: flex;
            align-items: center;
            text-decoration: none;
            color: #141414;
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            transition: color 0.5s ease;
            cursor: pointer;
            border-right: 1.5px solid #141414;
        }

        .landing-nav-link:last-child {
            border-right: none;
        }

        .landing-nav-link.active {
            color: #583c4a !important;
        }

        .nav-ribbon.scrolled .landing-nav-link {
            color: #141414;
            border-right-color: #141414;
        }

        .nav-ribbon.scrolled .landing-nav-link.active {
            color: #583c4a !important;
        }

        .landing-nav-link:hover {
            color: #583c4a !important;
        }

        .nav-ribbon.scrolled .landing-nav-link:hover {
            color: #583c4a !important;
            opacity: 1;
        }

        .nav-icons {
            position: absolute; /* anchor icons to nav bar itself */
            right: 50px;
            top: 0;
            height: 100%;
            display: flex;
            align-items: center;
            gap: 20px;
            z-index: 1000;
        }

        .nav-icon {
            position: relative;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 4px;
        }

        .nav-icon:hover svg {
            stroke: #583c4a !important;
        }

        .nav-icon:hover svg circle {
            fill: #583c4a !important;
        }

        .nav-icon svg {
            transition: all 0.5s ease;
        }

        /* ============================================
           HERO SECTION
           ============================================ */
        .hero-carousel {
            position: relative;
            height: 100vh;
            width: 100%;
            overflow: visible;
            margin-top: -84px; /* Compensate for body padding-top to start at top */
        }

        /* Fix for hero sections in interiors.html and similar pages */
        .page-content > section[style*="min-height: 100vh"] {
            margin-top: -84px; /* Compensate for body padding-top */
        }

        .hero-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1.5s ease-in-out;
            z-index: 0;
            background-color: #faf8f3;
        }

        .hero-slide.active {
            opacity: 1;
            z-index: 1;
        }

        .hero-slide::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
            will-change: transform;
            transition: transform 0.3s ease-out;
        }

        .hero-slide:nth-child(1)::before {
            background-image: url('https://i.imgur.com/60eFKGr.jpg');
            background-position: center top;
        }

        .hero-slide:nth-child(2)::before {
            background-image: url('https://i.imgur.com/8DSxGei.jpg');
        }

        .hero-slide:nth-child(3)::before {
            background-image: url('https://i.imgur.com/CY3yXGl.jpg');
        }

        .hero-logo-container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            z-index: 10;
        }

        /* ============================================
           MISSION & SERVICES
           ============================================ */
        .mission-section {
            background: #fafafa;
            padding: 80px 80px;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 0;
        }

        .mission-content {
            width: 1200px;
            max-width: 100%;
            text-align: center;
            margin-top: -50px;
        }

        .mission-text {
            font-family: 'Geist Mono', monospace;
            font-size: 1.8rem;
            line-height: 1.5;
            color: #141414;
            font-weight: 300;
            letter-spacing: -0.02em;
        }

        .mission-text .first-word {
            font-style: italic;
            font-weight: 600;
        }

        .mission-text strong {
            font-weight: 600;
        }

        .mission-text em {
            font-style: italic;
        }

        .mission-text .regular {
            font-weight: 300;
            font-style: normal;
        }

        /* Home page: Grid CTA "Shop Now" link – ensure correct styles on all hosts (Netlify, etc.) */
        .home-grid-cta .home-shop-cta-link {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            padding: 0;
            background: transparent;
            color: #141414;
            text-decoration: none;
            font-family: 'Geist Mono', monospace;
            font-size: 1.8rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            transition: color 0.3s ease, stroke 0.3s ease;
            cursor: pointer;
        }
        .home-grid-cta .home-shop-cta-link:hover {
            color: #583c4a;
        }
        .home-grid-cta .home-shop-cta-link:hover .home-shop-cta-arrow {
            color: #583c4a;
        }
        .home-grid-cta .home-shop-cta-text {
            text-decoration: underline;
            text-underline-offset: 4px;
            text-decoration-thickness: 1.5px;
        }
        .home-grid-cta .home-shop-cta-arrow {
            flex-shrink: 0;
            transition: color 0.3s ease;
            color: #141414;
        }

        .services-timeline {
            background: #fafafa;
            padding: 80px 50px 80px;
            width: 100%;
        }

        .timeline-container {
            max-width: 1100px;
            margin: 0 auto;
        }

        .timeline-item {
            margin-bottom: 180px;
        }

        .timeline-item:last-child {
            margin-bottom: 0;
        }

        .timeline-content {
            display: flex;
            align-items: center;
            gap: 80px;
        }

        .timeline-text {
            flex: 1;
            max-width: 440px;
        }

        .service-name {
            font-family: 'Geist Mono', monospace;
            font-size: 2rem;
            font-weight: 400;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #141414;
            margin-bottom: 8px;
            line-height: 1.2;
        }

        .service-intro {
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            line-height: 1.5;
            color: #583c4a;
            margin-bottom: 8px;
            font-weight: 300;
        }

        .service-intro strong {
            color: #141414;
            font-weight: 600;
        }

        .timeline-image {
            flex: 1;
            display: flex;
            justify-content: flex-start;
            position: relative;
        }

        .timeline-image img {
            object-fit: cover;
            display: block;
        }

        /* ROW 3: INTERIOR DESIGN - Independent styling */
        #interior-design-section .timeline-content {
            align-items: center;
        }

        #interior-design-section .timeline-image {
            flex: 1;
            display: flex;
            justify-content: center;
            position: relative;
            margin-left: 8px; /* Aligned with ShowHouse center */
        }

        #interior-design-section .timeline-image img {
            width: 460px;
            height: 620px;
            max-width: 100%;
            height: auto;
        }

        #interior-design-section .service-ribbon {
            width: 460px; /* Matches image width */
            left: 50%;
            transform: translateX(-50%);
        }

        /* ROW 5: PROPERTIES - Independent styling */
        #properties-section .timeline-content {
            align-items: center;
        }

        #properties-section .timeline-image {
            flex: 1;
            display: flex;
            justify-content: center;
            position: relative;
            margin-left: 8px; /* Aligned with ShowHouse center */
        }

        #properties-section .timeline-image img {
            width: 460px;
            height: 620px;
            max-width: 100%;
            height: auto;
        }
        
        #properties-section .service-ribbon {
            width: 460px; /* Matches image width */
            left: 50%;
            transform: translateX(-50%);
        }

        /* ROW 7: MAKEMAKE - Independent styling */
        #makemake-section .timeline-content {
            align-items: center;
        }

        #makemake-section .timeline-image {
            flex: 1;
            display: flex;
            justify-content: center;
            position: relative;
            margin-left: 8px; /* Aligned with ShowHouse center */
        }

        #makemake-section .timeline-image img {
            width: 460px;
            height: 620px;
            max-width: 100%;
            height: auto;
        }
        
        #makemake-section .service-ribbon {
            width: 460px; /* Matches image width */
            left: 50%;
            transform: translateX(-50%);
        }

        .service-ribbon {
            position: absolute;
            bottom: 0;
            left: 0;
            height: 44px;
            background: transparent;
            border-top: 1.5px solid #faf8f3;
            border-bottom: 1.5px solid #faf8f3;
            display: flex;
            align-items: center;
            max-width: 100%;
            box-sizing: border-box;
        }

        .service-ribbon a {
            text-decoration: none;
            color: #faf8f3;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            padding: 0 24px;
            transition: all 0.3s ease;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .service-ribbon a:hover {
            color: #faf8f3 !important;
            transform: scale(1.05);
        }

        .service-ribbon a:hover svg {
            stroke: #faf8f3 !important;
        }

        .chevron-right {
            width: 18px;
            height: 18px;
            stroke: #faf8f3;
        }

        .read-more-btn, .read-less-btn {
            cursor: pointer;
            color: #141414;
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .expanded-content {
            display: none;
        }

        /* ============================================
           FOOTER
           ============================================ */
        footer {
            background: #c5cfd0;
            color: #141414;
            padding: 4rem 50px 3rem;
            border-top: 1.5px solid #141414;
            margin-bottom: 60px;
        }

        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 60px;
        }

        .footer-section {
            text-align: left;
        }

        .footer-section:nth-child(2) {
            text-align: center;
        }

        .footer-section:nth-child(3) {
            text-align: right;
        }

        .footer-title {
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 1.5px;
            margin-bottom: 20px;
            text-transform: uppercase;
            font-family: 'Geist Mono', monospace;
        }

        .footer-text {
            font-size: 0.9rem;
            line-height: 2;
        }

        .footer-link {
            color: #141414;
            text-decoration: none;
            transition: opacity 0.3s;
        }

        .footer-link:hover {
            opacity: 0.6;
        }

        .social-icons {
            margin-top: 20px;
            display: flex;
            gap: 15px;
        }

        .footer-section:nth-child(2) .social-icons {
            justify-content: center;
        }

        .social-icon {
            transition: transform 0.3s;
            text-decoration: none;
        }

        .social-icon:hover {
            transform: scale(1.1);
        }

        .newsletter-form {
            display: inline-flex;
            gap: 0;
            margin-bottom: 25px;
        }

        .newsletter-input {
            width: 220px;
            padding: 0 16px;
            height: 44px;
            background: #faf8f3;
            border: 1.5px solid #141414;
            border-right: none;
            color: #141414;
            font-size: 0.9rem;
            outline: none;
        }

        .newsletter-button {
            padding: 12px 36px;
            height: auto;
            background: #faf8f3;
            border: 1.5px solid #141414;
            color: #141414;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s;
        }

        .newsletter-button:hover {
            background: #583c4a;
            color: #faf8f3;
            border-color: #583c4a;
        }

        .footer-logo {
            margin-top: 20px;
        }

        /* ============================================
           MODALS (Info, Cart, Newsletter, Search)
           ============================================ */
        /* Info Modals (Shipping, Returns, Trade) */
        .info-modal {
            position: fixed;
            top: 100px;
            left: 50%;
            transform: translateX(-50%);
            background: #fafafa;
            border: 1.5px solid #141414;
            border-radius: 8px;
            width: 600px;
            max-width: 90vw;
            max-height: 80vh;
            padding: 0;
            font-family: 'Inter', sans-serif;
            z-index: 10001;
            display: none;
            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
            overflow: hidden;
        }

        .info-modal.active {
            display: block;
        }

        .info-modal-header {
            height: 50px;
            background: #faf8f3;
            border-bottom: 1.5px solid #141414;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 24px;
        }

        .info-modal-title {
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: #141414;
        }

        .info-modal-close {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            transition: transform 0.3s ease;
        }

        .info-modal-close:hover {
            transform: rotate(90deg);
        }

        .info-modal-content {
            padding: 32px;
            overflow-y: auto;
            max-height: calc(80vh - 50px);
        }

        .info-modal-content h3 {
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: #583c4a;
            margin-top: 24px;
            margin-bottom: 12px;
        }

        .info-modal-content h3:first-child {
            margin-top: 0;
        }

        .info-modal-content p {
            font-size: 0.95rem;
            line-height: 1.7;
            color: #141414;
            margin-bottom: 12px;
        }

        .info-modal-content ul {
            margin-left: 20px;
            margin-bottom: 12px;
        }

        .info-modal-content li {
            font-size: 0.95rem;
            line-height: 1.7;
            color: #141414;
            margin-bottom: 8px;
        }

        .info-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 10000;
        }

        .info-modal-overlay.active {
            display: block;
        }

        /* Cart Counter - fixed size so count 1→10 doesn't cause layout jump */
        .cart-counter {
            position: absolute;
            top: -8px;
            right: -8px;
            background: #583c4a;
            color: white;
            border-radius: 50%;
            width: 20px;
            min-width: 20px;
            height: 20px;
            font-size: 10px;
            font-weight: bold;
            display: none;
            align-items: center;
            justify-content: center;
            border: 2px solid #faf8f3;
            box-sizing: border-box;
        }

        .cart-counter.has-items {
            display: flex !important;
        }

        /* Cart Modal Styles */
        .cart-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 9999;
        }

        .cart-overlay.active {
            display: block;
        }

        .cart-modal {
            position: fixed;
            right: -400px;
            top: 0;
            width: 400px;
            height: 100vh;
            background: #fafafa;
            border-left: 1.5px solid #141414;
            z-index: 10000;
            transition: right 0.3s ease;
            display: flex;
            flex-direction: column;
        }

        .cart-modal.active {
            right: 0;
        }

        .cart-header {
            padding: 30px;
            border-bottom: 1.5px solid #141414;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .cart-header h2 {
            font-family: 'Geist Mono', monospace;
            font-size: 1.5rem;
            font-weight: 500;
            letter-spacing: -0.02em;
        }

        .cart-close {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.3s ease;
        }

        .cart-close:hover {
            transform: rotate(90deg);
        }

        .clear-items-link:hover {
            opacity: 0.6 !important;
        }

        /* Clear Items Modal */
        .clear-modal {
            position: fixed;
            top: 150px;
            left: 50%;
            transform: translateX(-50%);
            background: #fafafa;
            border: 1.5px solid #141414;
            border-radius: 8px;
            width: 280px;
            padding: 0;
            font-family: 'Geist Mono', monospace;
            z-index: 10001;
            display: none;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .clear-modal.active {
            display: block;
        }

        .clear-modal-message {
            font-size: 0.75rem;
            line-height: 1.4;
            color: #141414;
            padding: 20px;
        }

        .clear-modal-buttons {
            display: flex;
            height: 25px;
            border-top: 1.5px solid #141414;
        }

        .clear-modal-btn {
            flex: 1;
            padding: 0;
            font-family: 'Geist Mono', monospace;
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
            border: none;
            background: #faf8f3;
            color: #141414;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .clear-modal-btn:first-child {
            border-right: 1.5px solid #141414;
        }

        .clear-modal-btn:hover {
            background: #c5cfd0;
            color: #141414;
        }

        /* Checkout (customer info) Modal – same style as Window Treatments modals */
        .checkout-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 10002;
        }
        .checkout-overlay.active {
            display: block;
        }
        .checkout-modal {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 10003;
            align-items: center;
            justify-content: center;
            padding: 20px;
            box-sizing: border-box;
        }
        .checkout-modal.active {
            display: flex;
        }
        .checkout-modal-inner {
            position: relative;
            background: #faf8f3;
            border: 1.5px solid #141414;
            width: 100%;
            max-width: 600px;
            max-height: 90vh;
            overflow-y: auto;
            padding: 40px;
            text-align: center;
        }
        .checkout-modal-header {
            margin-bottom: 16px;
            text-align: center;
        }
        .checkout-modal-title {
            font-family: 'Geist Mono', monospace;
            font-size: 1.1rem;
            font-weight: 500;
            color: #141414;
            margin: 0;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .checkout-modal-close {
            position: absolute;
            left: 20px;
            top: 20px;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 1.5px solid #141414;
            background: transparent;
            color: #141414;
            cursor: pointer;
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
        }
        .checkout-modal-close:hover {
            background: #c5cfd0;
            transform: rotate(90deg);
        }
        .checkout-form-wrap {
            display: block;
        }
        .checkout-confirmation {
            text-align: center;
            padding-top: 0;
        }
        .checkout-confirmation-text {
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            line-height: 1.6;
            color: #141414;
            margin: 0 0 30px 0;
        }
        .checkout-confirmation .checkout-btn-primary {
            width: 100%;
        }
        .checkout-form {
            padding: 0;
            text-align: left;
        }
        .checkout-field {
            margin-bottom: 20px;
        }
        .checkout-field label {
            display: block;
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            font-weight: 400;
            color: #141414;
            margin-bottom: 8px;
        }
        .checkout-field input,
        .checkout-field textarea {
            width: 100%;
            padding: 12px 16px;
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            border: 1.5px solid #141414;
            background: #fff;
            color: #141414;
            box-sizing: border-box;
        }
        .checkout-field input:focus,
        .checkout-field textarea:focus {
            outline: none;
            border-color: #583c4a;
        }
        .checkout-field textarea {
            resize: vertical;
            min-height: 80px;
        }
        .checkout-form-actions {
            display: flex;
            gap: 12px;
            margin-top: 30px;
        }
        .checkout-btn-secondary,
        .checkout-btn-primary {
            flex: 1;
            padding: 14px;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            cursor: pointer;
            border: 1.5px solid #141414;
            transition: all 0.3s ease;
        }
        .checkout-btn-secondary {
            background: transparent;
            color: #141414;
        }
        .checkout-btn-secondary:hover {
            background: #c5cfd0;
        }
        .checkout-btn-primary {
            background: #141414;
            color: #faf8f3;
        }
        .checkout-btn-primary:hover:not(:disabled) {
            background: #583c4a;
            border-color: #583c4a;
        }
        .checkout-btn-primary:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

        /* Newsletter Modal */
        .newsletter-modal {
            position: fixed;
            top: 150px;
            left: 50%;
            transform: translateX(-50%);
            background: #fafafa;
            border: 1.5px solid #141414;
            border-radius: 8px;
            width: 380px;
            padding: 0;
            font-family: 'Geist Mono', monospace;
            z-index: 10001;
            display: none;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .newsletter-modal.active {
            display: block;
        }

        .newsletter-modal-header {
            height: 30px;
            background: #faf8f3;
            border-bottom: 1.5px solid #141414;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding: 0 8px;
        }

        .newsletter-modal-close {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            transition: transform 0.3s ease;
            margin-top: 4px;
        }

        .newsletter-modal-close:hover {
            transform: rotate(90deg);
        }

        .newsletter-modal-content {
            padding: 24px;
            text-align: center;
        }

        .newsletter-modal-title {
            font-size: 1.2rem;
            color: #583c4a;
            margin-bottom: 8px;
            font-weight: 500;
        }

        .newsletter-modal-subtitle {
            font-size: 0.85rem;
            color: #141414;
        }

        .cart-items {
            flex: 1;
            overflow-y: auto;
            padding: 20px 30px;
        }

        .cart-empty {
            text-align: center;
            padding: 60px 20px;
            color: #583c4a;
            font-style: italic;
        }

        .cart-item {
            display: flex;
            gap: 16px;
            padding: 20px 0;
            border-bottom: 1px solid rgba(20, 20, 20, 0.1);
        }

        .cart-item-image {
            width: 80px;
            height: 80px;
            background: #ffffff;
            border: 1.5px solid #141414;
            flex-shrink: 0;
        }

        .cart-item-image img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .cart-item-info {
            flex: 1;
        }

        .cart-item-name {
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            font-weight: 500;
            margin-bottom: 4px;
        }

        .cart-item-code {
            font-family: 'Geist Mono', monospace;
            font-size: 0.65rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 8px;
        }

        .cart-item-spec {
            font-family: 'Geist Mono', monospace;
            font-size: 0.65rem;
            color: #141414;
            line-height: 1.6;
            margin-bottom: 4px;
        }

        .cart-item-price {
            font-weight: 500;
            font-size: 0.85rem;
            color: #583c4a;
            margin-top: 8px;
        }

        /* Discounted price: original struck through, then sale price */
        .cart-modal .cart-item-price-with-discount .cart-price-original,
        .cart-modal .cart-item-price .cart-price-original {
            text-decoration: line-through !important;
            opacity: 0.65;
            margin-right: 6px;
            display: inline;
            color: #583c4a;
        }
        .cart-modal .cart-item-price-with-discount .cart-price-current {
            font-weight: 600;
            color: #141414;
        }

        .cart-item-remove {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            opacity: 0.5;
            transition: opacity 0.3s ease;
        }

        .cart-item-remove:hover {
            opacity: 1;
        }

        .cart-footer {
            min-height: 200px;
            padding: 20px;
            border-top: 1.5px solid #141414;
            background: #faf8f3;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .cart-totals {
            margin-bottom: 12px;
        }

        .cart-total-line {
            display: flex;
            justify-content: space-between;
            margin-bottom: 8px;
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
        }

        .cart-total-line.total {
            font-weight: 600;
            font-size: 0.95rem;
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1.5px solid #141414;
        }

        .cart-buttons {
            margin-top: 16px;
        }

        .cart-checkout {
            width: 100%;
            padding: 12px;
            background: #fafafa;
            color: #141414;
            border: 1.5px solid #141414;
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .cart-checkout:hover:not(:disabled) {
            background: #583c4a;
            color: #faf8f3;
        }

        .cart-checkout:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .cart-total {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            font-family: 'Geist Mono', monospace;
            font-size: 1.1rem;
            font-weight: 500;
        }

        .checkout-btn {
            width: 100%;
            padding: 16px;
            background: #583c4a;
            color: #fafafa;
            border: 1.5px solid #583c4a;
            font-family: 'Geist Mono', monospace;
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .checkout-btn:hover:not(:disabled) {
            background: #6d4a5d;
            border-color: #6d4a5d;
        }

        .checkout-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .clear-cart-btn {
            width: 100%;
            padding: 12px;
            background: transparent;
            color: #583c4a;
            border: none;
            font-family: 'Geist Mono', monospace;
            font-size: 0.7rem;
            font-weight: 400;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            text-align: center;
            margin-bottom: 12px;
            opacity: 0.6;
            transition: opacity 0.3s ease;
        }

        .clear-cart-btn:hover {
            opacity: 1;
            text-decoration: underline;
        }

        .search-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 9998;
        }

        .search-overlay.active {
            display: block;
        }

        .search-modal {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 600px;
            max-height: 70vh;
            background: #faf8f3;
            border: 1.5px solid #141414;
            z-index: 9999;
            display: none;
            flex-direction: column;
        }

        .search-modal.active {
            display: flex;
        }

        .search-header {
            padding: 20px 24px;
            border-bottom: 1.5px solid #141414;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .search-input {
            flex: 1;
            font-family: 'Geist Mono', monospace;
            font-size: 1rem;
            padding: 12px 0;
            border: none;
            background: transparent;
            color: #141414;
            outline: none;
        }

        .search-input::placeholder {
            color: #583c4a;
            opacity: 0.5;
        }

        .search-close {
            background: transparent;
            border: none;
            cursor: pointer;
            padding: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .search-results {
            overflow-y: auto;
            max-height: calc(70vh - 80px);
            padding: 20px;
        }

        .search-no-results {
            text-align: center;
            color: #583c4a;
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            padding: 40px;
        }

        .search-result-item {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 12px;
            border: 1.5px solid transparent;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            margin-bottom: 12px;
        }

        .search-result-item:hover {
            border-color: #141414;
            background: #fafafa;
        }

        .search-result-image {
            width: 60px;
            height: 60px;
            object-fit: cover;
            border: 1.5px solid #141414;
        }

        .search-result-info {
            flex: 1;
        }

        .search-result-name {
            font-family: 'Geist Mono', monospace;
            font-size: 0.95rem;
            color: #141414;
            font-weight: 500;
            margin-bottom: 4px;
        }

        .search-result-type {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .search-result-price {
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            color: #141414;
            text-align: right;
        }

        /* ============================================
           INTERIORS PAGE SPECIFIC STYLES
           ============================================ */
        
        .page-wrapper {
            min-height: 100vh;
            display: none;
        }
        
        .page-wrapper.active {
            display: block;
        }

        #main-wrapper { background-color: #faf8f3; }
        #interior-design-wrapper { background-color: #fafafa; }
        #makemake-wrapper { background-color: #fff; }
        #properties-wrapper { background-color: #fcffec; }

        .page-content {
            background-color: #fafafa;
        }

        .back-arrow-icon {
            transition: all 0.5s ease;
        }

        .back-arrow-icon path {
            transition: stroke 0.5s ease;
        }

        /* Hover effect for back arrow - always turns plum with maximum specificity */
        a:hover .back-arrow-icon path,
        .nav-ribbon a:hover .back-arrow-icon path,
        .nav-left a:hover .back-arrow-icon path {
            stroke: #583c4a !important;
        }
        
        /* Force hover state to override inline styles */
        a:hover svg.back-arrow-icon > path {
            stroke: #583c4a !important;
        }
        
        /* Active/click state */
        a:active .back-arrow-icon path {
            stroke: #583c4a !important;
            opacity: 0.8;
        }

        .carousel-container {
            display: flex;
            width: 100%;
            min-width: 0;
            transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            height: 100%;
        }

        .carousel-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #583c4a;
            transition: all 0.3s ease;
            display: inline-block;
            opacity: 1;
        }

        .carousel-dot-wrapper {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 5px;
            margin: -5px;
            cursor: pointer;
        }

        /* Dots container: relative so plus button can be positioned to the right */
        [id^="dots"] {
            position: relative;
        }

        .carousel-slide,
        .carousel-container > div {
            min-width: 100%;
            width: 100%;
            height: 100%;
            flex: 0 0 100%;
            box-sizing: border-box;
        }

        .carousel-slide img,
        .carousel-container > div img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        /* Carousels 3 and 4 (Casa Sirena, A House for Susanne): show full image, no cropping */
        #carousel3 img,
        #carousel5 img {
            object-fit: contain;
        }

        .text-slide {
            position: relative;
        }

        .text-slide-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #fafafa;
        }

        .text-slide-content {
            position: relative;
            z-index: 1;
            height: 100%;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding-top: 120px;
            padding-left: 60px;
            padding-right: 60px;
        }

        .text-container {
            font-family: 'Geist Mono', monospace;
            max-width: 520px;
        }

        .text-container p {
            font-size: 0.85rem;
            line-height: 1.5;
            color: #583c4a;
            font-weight: 300;
        }

        .text-container strong {
            color: #141414;
            font-weight: 600;
        }

        /* Secondary Projects Hover Effect */
        .secondary-project-overlay:hover {
            opacity: 1 !important;
        }

        /* Magazine-Style Lightbox for Casa Laurel - Filmstrip Version */
        .magazine-lightbox {
            display: none;
            position: fixed;
            top: 84px;
            left: 0;
            width: 100%;
            height: calc(100vh - 84px);
            background: #fafafa;
            z-index: 9999;
            overflow: hidden;
            /* Prevent text selection during gallery interaction */
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .magazine-lightbox.active {
            display: block;
        }

        /* Force nav ribbon to have solid background when lightbox is open */
        .magazine-lightbox.active ~ #interior-design-wrapper .nav-ribbon,
        body:has(.magazine-lightbox.active) .nav-ribbon {
            background: rgba(250, 248, 243, 0.95) !important;
            border-top-color: #141414 !important;
            border-bottom-color: #141414 !important;
            backdrop-filter: blur(10px);
        }

        body:has(.magazine-lightbox.active) .nav-ribbon .nav-center {
            border-left-color: #141414 !important;
            border-right-color: #141414 !important;
        }

        body:has(.magazine-lightbox.active) .landing-nav-link {
            color: #141414 !important;
            border-right-color: #141414 !important;
        }

        body:has(.magazine-lightbox.active) .back-arrow-icon path {
            stroke: #141414 !important;
        }

        body:has(.magazine-lightbox.active) .nav-icon svg {
            stroke: #141414 !important;
        }

        /* Only fill menu dots and cart wheels when lightbox active, not search circle */
        body:has(.magazine-lightbox.active) .nav-icon svg circle[r="1.5"] {
            fill: #141414 !important;
        }

        .magazine-filmstrip {
            display: flex;
            height: 100%;
            gap: 12px;
            cursor: grab;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .magazine-filmstrip:active {
            cursor: grabbing;
        }

        .magazine-film-slide {
            position: relative;
            flex-shrink: 0;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #fafafa;
        }

        .magazine-film-slide img {
            height: 100%;
            width: auto;
            object-fit: contain;
            user-select: none;
            pointer-events: none;
        }

        .magazine-film-slide::after {
            content: '';
            position: absolute;
            right: -12px;
            top: 0;
            bottom: 0;
            width: 12px;
            background: #fafafa;
            pointer-events: none;
        }

        .magazine-close {
            position: fixed;
            top: 114px;
            left: 50px;
            background: #ffffff;
            border: 1.5px solid #141414;
            border-radius: 50%;
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 10000;
            transition: all 0.3s;
        }

        .magazine-close:hover {
            background: #c5cfd0;
            transform: rotate(90deg);
        }

        .magazine-close:hover svg {
            stroke: #141414;
        }

        .magazine-text-panel {
            position: fixed;
            top: 119px;
            left: 50px;
            width: 280px;
            max-height: calc(100vh - 194px);
            overflow-y: auto;
            font-family: 'Geist Mono', monospace;
            z-index: 1;
            padding: 0;
            padding-right: 12px;
            margin: 0;
        }

        .magazine-text-panel h3:first-child {
            margin-top: 0;
        }

        /* On smaller screens, place text panel below close button so X doesn't overlap title */
        @media (max-width: 900px) {
            .magazine-text-panel {
                top: 158px;
            }
        }

        /* Consultation Egg Styles */
        .consultation-card {
            width: 424px;
            height: 560px;
            background: #ffffff;
            border: 1.5px solid #141414;
            border-radius: 50%;
        }

        .card-inner {
            padding: 20px 15px;
            text-align: center;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
        }

        .main-view {
            transition: opacity 0.3s ease;
            position: relative;
            width: 100%;
        }

        .main-view.hidden {
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
        }

        .egg-title {
            font-family: 'Geist Mono', monospace;
            font-size: 1.92rem;
            font-weight: 500;
            color: #141414;
            margin-bottom: 28px;
            line-height: 1.1;
            letter-spacing: -0.02em;
        }

        .director-badge {
            font-family: 'Geist Mono', monospace;
            font-size: 0.6rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            margin-bottom: 16px;
            font-weight: 400;
            transform: translateY(-20px);
        }

        .egg-subtitle {
            font-family: 'Inter', sans-serif;
            font-size: 0.76rem;
            color: #141414;
            margin-bottom: 40px;
            font-weight: 400;
            line-height: 1.6;
            letter-spacing: 0.02em;
            transform: translateY(16px);
        }

        .cta-button {
            display: inline-block;
            padding: 11.2px 32px;
            background: #fafafa;
            color: #141414;
            text-decoration: none;
            font-size: 0.68rem;
            font-weight: 400;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            border: 1px solid #141414;
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .cta-button:hover {
            background: #583c4a;
            color: #ffffff;
            border-color: #583c4a;
        }

        .info-badges {
            margin-top: 48px;
            display: flex;
            justify-content: center;
            gap: 32px;
            transform: translateY(32px);
        }

        .egg-badge {
            font-family: 'Geist Mono', monospace;
            font-size: 0.6rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            font-weight: 400;
        }

        .expanded-view {
            opacity: 0;
            pointer-events: none;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: #ffffff;
            padding: 20px 15px;
            transition: opacity 0.3s ease;
            display: flex;
            flex-direction: column;
            justify-content: center;
            border-radius: 50%;
        }

        .expanded-view.visible {
            opacity: 1;
            pointer-events: all;
        }

        .close-button {
            position: absolute;
            top: 20px;
            right: 15px;
            background: transparent;
            border: none;
            font-size: 1.2rem;
            color: #666;
            cursor: pointer;
            padding: 10px;
            font-weight: 300;
            transition: color 0.3s ease;
        }

        .close-button:hover {
            color: #141414;
        }

        .session-header {
            font-family: 'Geist Mono', monospace;
            font-size: 0.64rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: #583c4a;
            margin-bottom: 24px;
            font-weight: 400;
        }

        .session-description {
            font-family: 'Inter', sans-serif;
            font-size: 0.76rem;
            color: #141414;
            line-height: 1.6;
            margin-bottom: 28px;
            font-weight: 400;
            letter-spacing: 0.02em;
        }

        .session-details {
            border-top: 1px solid #583c4a;
            border-bottom: 1px solid #583c4a;
            padding: 16px 0;
            margin-bottom: 28px;
        }

        .detail-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 9.6px;
            padding: 0 16px;
        }

        .detail-row:last-child {
            margin-bottom: 0;
        }

        .detail-label {
            font-family: 'Geist Mono', monospace;
            font-size: 0.64rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 400;
        }

        .detail-value {
            font-family: 'Inter', sans-serif;
            font-size: 0.64rem;
            color: #141414;
            font-weight: 400;
            line-height: 1.6;
            letter-spacing: 0.02em;
        }

        .contact-button {
            display: inline-block;
            padding: 11.2px 32px;
            background: #c5cfd0;
            color: #141414;
            text-decoration: none;
            font-size: 0.68rem;
            font-weight: 400;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            border: 1px solid #141414;
            transition: all 0.3s ease;
        }

        .contact-button:hover {
            background: #fafafa;
            color: #141414;
        }

        @media (max-width: 640px) {
            .consultation-card {
                width: 100%;
                max-width: 400px;
            }
            
            .card-inner {
                padding: 60px 40px;
            }
            
            .egg-title {
                font-size: 1.76rem;
            }
            
            .info-badges {
                flex-direction: column;
                gap: 16px;
            }

            .expanded-view {
                padding: 60px 40px;
            }

            .close-button {
                top: 30px;
                right: 30px;
            }
        }

        /* ============================================
           STYLES FROM amanita-side-table.html
           ============================================ */

        /* Scrollbar styling - unique to product pages */
        html {
            overscroll-behavior-y: none;
        }

        /* Main page scrollbar styling */
        ::-webkit-scrollbar {
            width: 12px;
        }

        ::-webkit-scrollbar-track {
            background: #fafafa;
            margin-right: 5px;
        }

        ::-webkit-scrollbar-thumb {
            background: rgba(20, 20, 20, 0.8);
            border-radius: 6px;
            border-right: 5px solid #fafafa;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: rgba(20, 20, 20, 0.9);
        }

        /* Firefox scrollbar */
        * {
            scrollbar-width: thin;
            scrollbar-color: rgba(20, 20, 20, 0.8) #fafafa;
        }

        /* Furniture Categories Ribbon - Fixed below main navigation */
        .furniture-nav {
            height: 40px;
            background: #fafafa;
            border-bottom: 1.5px solid #141414;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 40px;
            position: fixed; /* Fixed at top below nav-ribbon */
            top: 84px;
            left: 0;
            right: 0;
            z-index: 999;
        }

        .furniture-nav-link {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            background: transparent;
            border: none;
            color: #141414;
            position: relative;
            transition: color 0.3s ease;
            padding: 8px 0;
            cursor: pointer;
        }

        .furniture-nav-link::after {
            content: '';
            position: absolute;
            bottom: 4px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 1.5px;
            background: #583c4a;
            transition: width 0.3s ease;
        }

        .furniture-nav-link:hover,
        .furniture-nav-link.active {
            color: #583c4a;
        }

        .furniture-nav-link:hover::after,
        .furniture-nav-link.active::after {
            width: 80%;
        }

        /* Synthesis Logo Watermark */
        .synthesis-watermark {
            position: fixed;
            top: 24px;
            right: 40px;
            opacity: 0.3;
            z-index: 999;
        }

        /* Main Container */
        .product-container {
            margin-top: 0; /* furniture-nav is fixed, body padding-top already accounts for it */
            display: flex;
            min-height: calc(100vh - 124px);
        }

        /* Wrapper to contain the absolute scrollbar */
        .gallery-wrapper {
            position: sticky;
            top: 124px;
            width: 50%;
            height: calc(100vh - 124px);
        }

        /* Image Gallery Section - 50% width, vertical scroll */
        .gallery-section {
            width: 100%;
            display: flex;
            flex-direction: column;
            gap: 0;
            height: 100%;
            overflow-y: hidden;
            margin-left: 0;
            padding-left: 0;
        }

        /* Inner scrollable container */
        .gallery-scroll-container {
            width: 100%;
            height: 100%;
            overflow-y: scroll;
            scrollbar-width: none; /* Firefox */
            -ms-overflow-style: none; /* IE/Edge */
        }

        .gallery-scroll-container::-webkit-scrollbar {
            display: none; /* Chrome/Safari */
        }

        /* Custom scrollbar track on left - floating over image */
        .custom-scrollbar {
            position: absolute;
            left: 8px;
            top: 50px;
            width: 18px;
            height: calc(100% - 150px);
            background: transparent;
            z-index: 1500;
            pointer-events: all;
        }

        /* Custom scrollbar thumb */
        .custom-scrollbar-thumb {
            position: absolute;
            left: 3px;
            width: 12px;
            background: transparent;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.2s ease;
            will-change: transform;
            border: 1.5px solid #fafafa;
            backdrop-filter: blur(4px);
        }

        .custom-scrollbar-thumb:hover {
            background: rgba(250, 250, 250, 0.1);
            border-color: #fafafa;
        }

        .product-image {
            width: 100%;
            height: auto;
            display: block;
            background: #ffffff;
        }

        .product-image.first-image {
            /* Removed transform to prevent image from being cut off at top */
            margin-bottom: 0;
        }

        .product-image:not(:last-child) {
            border-bottom: 1.5px solid #141414;
        }

        /* Details Panel Wrapper */
        .details-wrapper {
            position: sticky;
            top: 124px;
            width: 50%;
            height: calc(100vh - 124px);
        }

        /* Product Details Panel - 50% width, sticky */
        .details-panel {
            width: calc(100% - 50px);
            background: #fafafa;
            border-left: 1.5px solid #141414;
            padding: 0;
            height: 100%;
            overflow-y: hidden;
        }

        /* Inner scrollable container for details */
        .details-scroll-container {
            width: 100%;
            height: 100%;
            overflow-y: scroll;
            scrollbar-width: none;
            -ms-overflow-style: none;
            padding: 60px 50px 100px 50px;
        }

        .details-scroll-container::-webkit-scrollbar {
            display: none;
        }

        /* Custom scrollbar track on right - for details panel */
        .custom-scrollbar-right {
            position: absolute;
            right: 33px;
            top: 50px;
            width: 18px;
            height: calc(100% - 150px);
            background: transparent;
            z-index: 1500;
            pointer-events: all;
        }

        /* Custom scrollbar thumb for right side */
        .custom-scrollbar-thumb-right {
            position: absolute;
            left: 3px;
            width: 12px;
            background: #fafafa;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.2s ease;
            will-change: transform;
            border: 1.5px solid #141414;
            backdrop-filter: blur(4px);
        }

        .custom-scrollbar-thumb-right:hover {
            background: #fafafa;
            border-color: #141414;
        }

        .product-badge {
            font-family: 'Geist Mono', monospace;
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: #141414;
            font-weight: 500;
            margin-bottom: 12px;
        }

        .product-name {
            font-family: 'Geist Mono', monospace;
            font-size: 2rem;
            font-weight: 500;
            letter-spacing: -0.02em;
            color: #141414;
            margin-bottom: 12px;
            line-height: 1.2;
        }

        .product-code {
            font-family: 'Geist Mono', monospace;
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: #141414;
            font-weight: 500;
            margin-bottom: 12px;
        }

        .product-price {
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 0.02em;
            color: #141414;
            margin-bottom: 24px;
        }

        .product-description {
            font-family: 'Inter', sans-serif;
            font-size: 0.95rem;
            line-height: 1.7;
            color: #583c4a;
            margin-bottom: 40px;
        }

        /* Selectors */
        .selector-group {
            margin-bottom: 32px;
        }

        .selector-label {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #141414;
            margin-bottom: 12px;
        }

        /* Size Options */
        .size-options {
            display: flex;
            gap: 0;
        }

        .size-option {
            flex: 1;
            padding: 12px 20px;
            border: 1.5px solid #141414;
            border-right: none;
            background: transparent;
            cursor: pointer;
            transition: all 0.3s;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 4px;
        }

        .size-option:last-child {
            border-right: 1.5px solid #141414;
        }

        .size-option:hover,
        .size-option.selected {
            background: #c5cfd0;
            color: #141414;
        }

        /* One Size - Non-interactive styling */
        .size-option.one-size-only {
            cursor: default;
            background: transparent;
        }

        .size-option.one-size-only:hover {
            background: transparent;
        }

        .size-name {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-weight: 500;
        }

        .size-dims {
            font-family: 'Inter', sans-serif;
            font-size: 0.7rem;
            opacity: 0.7;
        }

        .color-swatches {
            display: flex;
            gap: 12px;
        }

        .color-swatch {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            transition: all 0.3s;
            position: relative;
            box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.2),
                        inset 0 2px 4px rgba(255, 255, 255, 0.3),
                        0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .color-swatch.flat {
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
        }

        .color-swatch.flat::before {
            display: none;
        }

        .color-swatch::before {
            content: '';
            position: absolute;
            top: 15%;
            left: 20%;
            width: 40%;
            height: 30%;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 60%);
            border-radius: 50%;
            filter: blur(2px);
        }

        .color-swatch:hover,
        .color-swatch.selected {
            border-color: #141414;
        }

        .color-swatch.walnut { background-color: #6b4423; }
        .color-swatch.oak { background-color: #c4a57b; }
        .color-swatch.black { background-color: #141414; }

        /* Image-based color swatches for cedar wood */
        .color-swatch-image {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            transition: all 0.3s;
            position: relative;
        }

        .color-swatch-image:hover,
        .color-swatch-image.selected {
            border-color: #141414;
        }

        /* Matte color swatch - no gloss effect */
        .color-swatch-matte {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            transition: all 0.3s;
            position: relative;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
        }

        .color-swatch-matte:hover,
        .color-swatch-matte.selected {
            border-color: #141414;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        }

        .material-chips {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .material-chip {
            padding: 10px 20px;
            border: 1.5px solid #141414;
            background: transparent;
            font-family: 'Geist Mono', monospace;
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s;
        }

        .material-chip:hover,
        .material-chip.selected {
            background: #141414;
            color: #faf8f3;
        }

        /* Specifications Accordion */
        .specs-section {
            margin-bottom: 32px;
        }

        .spec-item {
            border-top: 1.5px solid #141414;
            padding: 20px 0;
        }

        .spec-item:last-child {
            border-bottom: 1.5px solid #141414;
        }

        .spec-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            font-weight: 500;
        }

        .spec-toggle {
            font-size: 1.2rem;
            transition: transform 0.3s;
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
        }

        .spec-item.open .spec-toggle {
            transform: rotate(45deg);
        }

        .spec-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }

        .spec-item.open .spec-content {
            max-height: 500px;
            margin-top: 16px;
        }

        .spec-content p {
            font-family: 'Inter', sans-serif;
            font-size: 0.85rem;
            line-height: 1.6;
            color: #583c4a;
            margin-bottom: 8px;
        }

        .dimension-row {
            display: flex;
            justify-content: space-between;
            margin-bottom: 4px;
        }

        .dimension-label {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .dimension-value {
            font-family: 'Inter', sans-serif;
            font-size: 0.85rem;
            color: #583c4a;
        }

        /* Lead Time Badge */
        .lead-time {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 0;
            background: transparent;
            border: none;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #141414;
            margin-bottom: 32px;
        }

        /* Quantity Selector */
        .quantity-group {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 0;
            align-items: center;
        }

        .quantity-row {
            display: flex;
            align-items: center;
            gap: 16px;
            padding-bottom: 16px;
            margin-bottom: 24px;
            border-bottom: 1.5px solid #141414;
            width: 100%;
        }

        .btn-add-truck {
            width: auto;
            display: inline-block;
            padding: 12px 28px;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            border: 1.5px solid #141414;
            background: transparent;
            color: #141414;
            transition: all 0.3s ease;
            text-align: center;
            cursor: pointer;
            border-radius: 50px;
            margin-bottom: 24px;
        }

        .quantity-label {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #141414;
        }

        .quantity-selector {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-left: auto;
        }

        .quantity-value {
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            color: #141414;
            min-width: 20px;
            text-align: center;
        }

        .quantity-btn {
            background: transparent;
            border: none;
            cursor: pointer;
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            color: #141414;
            padding: 4px 8px;
            transition: color 0.3s ease;
        }

        .quantity-btn:hover {
            color: #583c4a;
        }

        .btn-add-truck:hover {
            background: #583c4a;
            color: #fafafa;
            border-color: #583c4a;
        }

        .btn-consult:hover {
            color: #141414;
        }

        /* Craftsmanship Section */
        .craft-section {
            padding: 80px 60px;
            background: #fafafa;
            border-top: 1.5px solid #141414;
        }

        .craft-content {
            max-width: 900px;
            margin: 0 auto;
            text-align: center;
        }

        .craft-title {
            font-family: 'Geist Mono', monospace;
            font-size: 1.2rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            margin-bottom: 24px;
        }

        .craft-text {
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            line-height: 1.8;
            color: #583c4a;
            margin-bottom: 16px;
        }

        .made-badge {
            display: inline-flex;
            align-items: flex-start;
            gap: 12px;
            margin-top: 37px;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #141414;
        }

        .made-badge svg {
            transform: translateY(-3px) translateX(10px);
        }

        .made-badge::after {
            content: attr(data-text);
        }

        /* Move just the text down */
        .made-badge {
            padding-top: 10px;
        }

        .made-badge svg {
            margin-top: -10px;
        }

        /* Back to Furniture Link */
        .back-to-furniture {
            text-align: center;
            padding: 60px 0;
            background: #fafafa;
            position: relative;
        }

        .back-furniture-btn {
            display: inline-block;
            padding: 0;
            background: transparent;
            font-family: 'Geist Mono', monospace;
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #141414;
            text-decoration: none;
            transition: all 0.3s ease;
            position: relative;
        }

        .back-furniture-btn span {
            text-decoration: underline;
            text-decoration-thickness: 1.5px;
            text-underline-offset: 3px;
        }

        .back-furniture-btn:hover {
            color: #583c4a;
        }

        /* Search Modal - Product Page Variant */
        .search-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 9997;
        }

        .search-overlay.active {
            display: block;
        }

        .search-modal {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 600px;
            max-height: 70vh;
            background: #faf8f3;
            border: 1.5px solid #141414;
            z-index: 9998;
            display: none;
            flex-direction: column;
        }

        .search-modal.active {
            display: flex;
        }

        .search-header {
            padding: 20px 24px;
            border-bottom: 1.5px solid #141414;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .search-input {
            flex: 1;
            font-family: 'Geist Mono', monospace;
            font-size: 1rem;
            padding: 12px 0;
            border: none;
            background: transparent;
            color: #141414;
            outline: none;
        }

        .search-input::placeholder {
            color: #583c4a;
            opacity: 0.5;
        }

        .search-close {
            background: transparent;
            border: none;
            cursor: pointer;
            padding: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .search-results {
            overflow-y: auto;
            flex: 1;
        }

        .search-result-item {
            padding: 16px 24px;
            border-bottom: 1px solid #e0e0e0;
            display: flex;
            align-items: center;
            gap: 16px;
            cursor: pointer;
            transition: background 0.2s;
            text-decoration: none;
            color: #141414;
        }

        .search-result-item:hover {
            background: #f0f0f0;
        }

        .search-result-image {
            width: 60px;
            height: 60px;
            background: #ffffff;
            border: 1px solid #141414;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            flex-shrink: 0;
        }

        .search-result-image img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .search-result-info {
            flex: 1;
        }

        .search-result-name {
            font-family: 'Inter', sans-serif;
            font-size: 0.95rem;
            font-weight: 500;
            margin-bottom: 4px;
        }

        .search-result-code {
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .search-result-price {
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            color: #583c4a;
            white-space: nowrap;
        }

        .search-no-results {
            padding: 40px 24px;
            text-align: center;
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        /* Cart Modal - Product Page Variant */
        .cart-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 9999;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }

        .cart-overlay.active {
            opacity: 1;
            pointer-events: all;
        }

        /* CART MODAL - Fixed structure */
        .cart-modal {
            position: fixed;
            top: 0;
            right: -450px;
            width: 450px;
            height: 100vh;
            background: #faf8f3;
            border-left: 1.5px solid #141414;
            z-index: 10000;
            transition: right 0.3s ease;
            font-family: 'Geist Mono', monospace;
        }

        .cart-modal.active {
            right: 0;
        }

        /* HEADER - Fixed 40px */
        .cart-header {
            height: 40px;
            padding: 0 30px;
            border-bottom: 1.5px solid #141414;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .cart-header h2 {
            font-size: 1.3rem;
            font-weight: 500;
            letter-spacing: -0.02em;
        }

        .cart-close {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            transition: transform 0.3s ease;
        }

        .cart-close:hover {
            transform: rotate(90deg);
        }

        .clear-items-link:hover {
            opacity: 0.6 !important;
        }

        /* Clear Items Modal - Ultra Simple */
        .clear-modal {
            position: fixed;
            top: 150px;
            left: 50%;
            transform: translateX(-50%);
            background: #fafafa;
            border: 1.5px solid #141414;
            border-radius: 8px;
            width: 280px;
            padding: 0;
            font-family: 'Geist Mono', monospace;
            z-index: 10001;
            display: none;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .clear-modal.active {
            display: block;
        }

        .clear-modal-message {
            font-size: 0.75rem;
            line-height: 1.4;
            color: #141414;
            padding: 20px;
        }

        .clear-modal-buttons {
            display: flex;
            height: 25px;
            border-top: 1.5px solid #141414;
        }

        .clear-modal-btn {
            flex: 1;
            padding: 0;
            font-family: 'Geist Mono', monospace;
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
            border: none;
            background: #faf8f3;
            color: #141414;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .clear-modal-btn:first-child:not(:only-child) {
            border-right: 1.5px solid #141414;
        }

        .clear-modal-btn:hover {
            background: #c5cfd0;
            color: #141414;
        }

        /* Newsletter Modal - Product Page Variant */
        .newsletter-modal {
            position: fixed;
            top: 150px;
            left: 50%;
            transform: translateX(-50%);
            background: #fafafa;
            border: 1.5px solid #141414;
            border-radius: 8px;
            width: 380px;
            padding: 0;
            font-family: 'Geist Mono', monospace;
            z-index: 10001;
            display: none;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .newsletter-modal.active {
            display: block;
        }

        .newsletter-modal-header {
            height: 30px;
            background: #faf8f3;
            border-bottom: 1.5px solid #141414;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding: 0 8px;
        }

        .newsletter-modal-close {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            transition: transform 0.3s ease;
            margin-top: 4px;
        }

        .newsletter-modal-close:hover {
            transform: rotate(90deg);
        }

        .newsletter-modal-content {
            padding: 24px;
            text-align: center;
        }

        .newsletter-modal-title {
            font-size: 1.2rem;
            color: #583c4a;
            margin-bottom: 8px;
            font-weight: 500;
        }

        .newsletter-modal-subtitle {
            font-size: 0.85rem;
            color: #141414;
        }

        /* Info Modals (Shipping & Returns) - Product Page Variant */
        .info-modal {
            position: fixed;
            top: 100px;
            left: 50%;
            transform: translateX(-50%);
            background: #fafafa;
            border: 1.5px solid #141414;
            border-radius: 8px;
            width: 600px;
            max-width: 90vw;
            max-height: 80vh;
            padding: 0;
            font-family: 'Inter', sans-serif;
            z-index: 10001;
            display: none;
            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
            overflow: hidden;
        }

        .info-modal.active {
            display: block;
        }

        .info-modal-header {
            height: 50px;
            background: #faf8f3;
            border-bottom: 1.5px solid #141414;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 24px;
        }

        .info-modal-title {
            font-family: 'Geist Mono', monospace;
            font-size: 0.9rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: #141414;
        }

        .info-modal-close {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            transition: transform 0.3s ease;
        }

        .info-modal-close:hover {
            transform: rotate(90deg);
        }

        .info-modal-content {
            padding: 32px;
            overflow-y: auto;
            max-height: calc(80vh - 50px);
        }

        .info-modal-content h3 {
            font-family: 'Geist Mono', monospace;
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: #583c4a;
            margin-top: 24px;
            margin-bottom: 12px;
        }

        .info-modal-content h3:first-child {
            margin-top: 0;
        }

        .info-modal-content p {
            font-size: 0.95rem;
            line-height: 1.7;
            color: #141414;
            margin-bottom: 12px;
        }

        .info-modal-content ul {
            margin-left: 20px;
            margin-bottom: 12px;
        }

        .info-modal-content li {
            font-size: 0.95rem;
            line-height: 1.7;
            color: #141414;
            margin-bottom: 8px;
        }

        .info-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(197, 207, 208, 0.75);
            backdrop-filter: blur(4px);
            z-index: 10000;
        }

        .info-modal-overlay.active {
            display: block;
        }

        /* ITEMS - Fixed calculated height */
        .cart-items {
            height: calc(100vh - 220px);
            overflow-y: auto;
            padding: 20px 30px;
        }

        .cart-empty {
            text-align: center;
            padding: 20px 0;
            color: #583c4a;
            font-style: italic;
            font-size: 0.85rem;
        }

        .cart-item {
            display: flex;
            gap: 16px;
            padding: 20px 0;
            border-bottom: 1px solid rgba(20, 20, 20, 0.1);
        }

        .cart-item-image {
            width: 60px;
            height: 60px;
            background: #ffffff;
            border: 1.5px solid #141414;
            flex-shrink: 0;
        }

        .cart-item-image img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .cart-item-info {
            flex: 1;
            min-width: 0;
        }

        .cart-item-name {
            font-size: 0.8rem;
            font-weight: 500;
            margin-bottom: 4px;
        }

        .cart-item-code {
            font-size: 0.6rem;
            color: #583c4a;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 8px;
        }

        .cart-item-spec {
            font-size: 0.6rem;
            color: #141414;
            line-height: 1.6;
            margin-bottom: 4px;
        }

        .cart-item-price {
            font-weight: 500;
            font-size: 0.75rem;
            color: #583c4a;
            margin-top: 8px;
        }

        .cart-modal .cart-item-price-with-discount .cart-price-original,
        .cart-modal .cart-item-price .cart-price-original {
            text-decoration: line-through !important;
            opacity: 0.65;
            margin-right: 6px;
            display: inline;
            color: #583c4a;
        }
        .cart-modal .cart-item-price-with-discount .cart-price-current {
            font-weight: 600;
            color: #141414;
        }

        .cart-item-remove {
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            opacity: 0.5;
            transition: opacity 0.3s ease;
            flex-shrink: 0;
        }

        .cart-item-remove:hover {
            opacity: 1;
        }

        /* FOOTER - Fixed 180px */
        .cart-footer {
            min-height: 180px;
            padding: 16px 30px;
            border-top: 1.5px solid #141414;
            background: #faf8f3;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .cart-total {
            font-size: 0.95rem;
            font-weight: 500;
            letter-spacing: 0.05em;
        }

        .pricing-line {
            display: flex;
            justify-content: space-between;
            font-size: 0.75rem;
            font-weight: 500;
            color: #666;
            margin-bottom: 2px;
        }

        .total-line {
            display: flex;
            justify-content: space-between;
            font-weight: 600;
            font-size: 0.75rem;
            padding-top: 4px;
            margin-top: 4px;
            border-top: 1.5px solid #141414;
        }

        .total-line .total-value {
            font-size: 0.9rem;
        }

        .cart-buttons {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .cart-checkout {
            width: 100%;
            padding: 12px;
            margin-top: 5px;
            background: #fafafa;
            color: #141414;
            border: 1.5px solid #141414;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .cart-checkout:hover:not(:disabled) {
            background: #583c4a;
            color: #faf8f3;
        }

        .cart-checkout:disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }

        .clear-cart-btn {
            width: 100%;
            padding: 8px;
            margin-top: -5px;
            background: transparent;
            color: #583c4a;
            border: none;
            font-family: 'Geist Mono', monospace;
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            text-decoration: underline;
            text-underline-offset: 2px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .clear-cart-btn:hover {
            color: #141414;
            transform: scale(1.05);
        }

        /* Footer - Product Page Variant */
        footer {
            background: #c5cfd0;
            border-top: 1.5px solid #141414;
            padding: 4rem 50px 3rem;
            margin-bottom: 60px;
        }

        .footer-content {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 60px;
        }

        .footer-section:nth-child(2) {
            text-align: center;
        }

        .footer-section:nth-child(3) {
            text-align: right;
        }

        .footer-title {
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 1.5px;
            margin-bottom: 20px;
            text-transform: uppercase;
            font-family: 'Geist Mono', monospace;
        }

        .footer-text {
            font-size: 0.9rem;
            line-height: 2;
        }

        .footer-link {
            color: #141414;
            text-decoration: none;
            transition: opacity 0.3s;
        }

        .footer-link:hover {
            opacity: 0.6;
        }

        .social-icons {
            margin-top: 20px;
            display: flex;
            gap: 15px;
        }

        .footer-section:nth-child(1) .social-icons {
            justify-content: flex-start;
        }

        .footer-section:nth-child(2) .social-icons {
            justify-content: center;
        }

        .social-icon {
            transition: transform 0.3s;
        }

        .social-icon:hover {
            transform: scale(1.1);
        }

        .newsletter-form {
            display: inline-flex;
            gap: 0;
            margin-bottom: 25px;
        }

        .newsletter-input {
            width: 220px;
            padding: 0 16px;
            height: 44px;
            background: #fafafa;
            border: 1.5px solid #141414;
            border-right: none;
            color: #141414;
            font-size: 0.9rem;
            outline: none;
        }

        .newsletter-button {
            padding: 12px 36px;
            height: auto;
            background: #fafafa;
            border: 1.5px solid #141414;
            color: #141414;
            font-family: 'Geist Mono', monospace;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s;
        }

        .newsletter-button:hover {
            background: #583c4a;
            color: #faf8f3;
            border-color: #583c4a;
        }

        .footer-logo {
            margin-top: 20px;
        }

        /* ============================================
           RESPONSIVE
           ============================================ */
        @media (max-width: 1024px) {
            .mission-section {
                padding: 60px 40px;
            }
            .mission-content {
                width: 100%;
            }
            .mission-text {
                font-size: 1.5rem;
            }
            .services-timeline {
                padding: 60px 24px 60px;
            }
            .timeline-content {
                gap: 48px;
            }
            .timeline-item {
                margin-bottom: 120px;
            }
            .footer-content {
                gap: 40px;
            }
        }

        @media (max-width: 768px) {
            body {
                padding-top: 72px;
            }
            .promo-banner {
                height: 32px;
                font-size: 0.65rem;
            }
            .nav-ribbon,
            .nav-ribbon.scrolled {
                top: 32px;
                height: 40px;
                padding-left: 52px; /* reserve space for back arrow on internal pages */
                padding-right: 140px; /* extra space so nav links never overlap icons on mobile */
            }
            /* Back arrow closer to edge on mobile so nav links have room (internal pages) */
            .nav-ribbon > div:first-of-type {
                left: 16px !important;
            }
            .nav-center {
                padding: 0 4px;
            }
            .landing-nav-link {
                padding: 0 12px;
                font-size: 0.7rem;
            }
            .nav-icons {
                right: 16px;
                height: 100%;
                gap: 12px;
            }
            /* Hide middle "about" icon on mobile to avoid overlap */
            .nav-icons .nav-icon:nth-child(2) {
                display: none;
            }
            .nav-icon svg {
                width: 18px;
                height: 18px;
            }
            .hero-carousel {
                margin-top: -72px;
            }
            .hero-logo-container svg {
                width: 100%;
                max-width: 420px;
                padding: 0 20px;
            }
            .mission-section {
                padding: 48px 24px;
            }
            .mission-text {
                font-size: 1.2rem;
                line-height: 1.6;
            }
            .mission-text br {
                display: none;
            }
            .services-timeline {
                padding: 48px 20px 48px;
            }
            .timeline-content {
                flex-direction: column;
                gap: 24px;
            }
            .timeline-item {
                margin-bottom: 80px;
            }
            .timeline-text {
                max-width: 100%;
            }
            .timeline-image {
                order: -1;
            }
            .timeline-image img {
                width: 100%;
                height: auto;
            }
            .service-name {
                font-size: 1.25rem;
            }
            .service-intro {
                font-size: 0.9rem;
            }
            footer {
                padding: 2.5rem 24px 2rem;
                margin-bottom: 0;
            }
            .footer-content {
                display: flex;
                flex-direction: column;
                gap: 0;
                max-width: 400px;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
            }
            .footer-section {
                padding: 1.5rem 0;
                border-top: 1px solid rgba(20, 20, 20, 0.15);
                text-align: center;
            }
            .footer-section:nth-child(2) {
                order: -1;
                border-top: none;
                padding-top: 0;
            }
            .footer-section:nth-child(1) {
                order: 0;
            }
            .footer-section:nth-child(3) {
                order: 1;
            }
            .footer-section:nth-child(2),
            .footer-section:nth-child(3) {
                text-align: center;
            }
            .footer-title {
                font-size: 0.75rem;
                letter-spacing: 0.12em;
                margin-bottom: 14px;
            }
            .footer-text {
                font-size: 0.85rem;
                line-height: 1.9;
            }
            .footer-section:nth-child(1) .footer-text {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 0 1.25rem;
            }
            .footer-section:nth-child(1) .footer-text p {
                margin: 0;
            }
            .footer-section:nth-child(1) .social-icons {
                justify-content: center;
                margin-top: 1.25rem;
            }
            .newsletter-form {
                flex-direction: column;
                align-items: stretch;
                margin-bottom: 1.5rem;
            }
            .newsletter-input {
                width: 100%;
                max-width: 100%;
                border: 1.5px solid #141414;
                border-radius: 0;
                margin-bottom: 0;
            }
            .newsletter-button {
                width: 100%;
                max-width: 100%;
                border-radius: 0;
                margin-top: 0;
            }
            .footer-logo {
                margin-top: 1rem;
            }
            .footer-logo svg {
                width: 120px;
                height: auto;
            }
            .footer-section:nth-child(3) .footer-text p:last-of-type {
                margin-top: 1rem;
                font-size: 0.8rem;
            }
            .info-modal {
                width: calc(100% - 32px);
                max-width: none;
                left: 16px;
                right: 16px;
                transform: none;
                top: 80px;
                max-height: calc(100vh - 100px);
            }
            .info-modal-content {
                padding: 20px;
            }
            .cart-modal {
                width: 100%;
                right: -100%;
                max-width: 100%;
            }
            .search-modal {
                padding: 80px 20px 40px;
            }
            .search-modal input {
                font-size: 1rem;
            }
        }

        @media (max-width: 640px) {
            body {
                padding-top: 68px;
            }
            .promo-banner {
                height: 28px;
                font-size: 0.6rem;
            }
            .nav-ribbon,
            .nav-ribbon.scrolled {
                top: 28px;
                height: 36px;
                padding-left: 48px;
                padding-right: 110px;
            }
            .nav-ribbon > div:first-of-type {
                left: 12px !important;
            }
            .landing-nav-link {
                padding: 0 10px;
                font-size: 0.7rem;
            }
            .nav-icons {
                right: 12px;
                top: 28px;
                height: 36px;
                gap: 10px;
            }
            .hero-carousel {
                margin-top: -68px;
            }
            .hero-logo-container svg {
                max-width: 320px;
            }
            .mission-text {
                font-size: 1.05rem;
            }
            .section-title {
                font-size: 1.5rem;
            }
            #gridContainer {
                height: 400px !important;
            }
        }

        @media (max-width: 480px) {
            .nav-ribbon,
            .nav-ribbon.scrolled {
                padding-left: 44px;
                padding-right: 100px;
            }
            .nav-ribbon > div:first-of-type {
                left: 10px !important;
            }
            .landing-nav-link {
                padding: 0 8px;
                font-size: 0.65rem;
            }
            .mission-text {
                font-size: 0.95rem;
            }
            .hero-logo-container svg {
                max-width: 260px;
            }
            #gridContainer {
                height: 320px !important;
            }
            footer {
                padding: 2rem 20px 1.75rem;
            }
            .footer-content {
                max-width: 100%;
            }
            .footer-section {
                padding: 1.25rem 0;
            }
            .footer-section:nth-child(2) {
                padding-top: 0;
            }
            .footer-title {
                margin-bottom: 10px;
            }
            .footer-logo svg {
                width: 100px;
            }
        }

        /* Visit Our Show House section - stack on mobile so heading and text are visible */
        @media (max-width: 768px) {
            .visit-showhouse-section {
                padding: 48px 24px !important;
            }
            .visit-showhouse-inner {
                flex-direction: column !important;
            }
            .visit-showhouse-image {
                width: 100% !important;
                max-width: 100% !important;
            }
            .visit-showhouse-text {
                padding: 32px 24px !important;
                min-width: 0;
            }
        }
        @media (max-width: 480px) {
            .visit-showhouse-section {
                padding: 40px 16px !important;
            }
            .visit-showhouse-text {
                padding: 24px 16px !important;
            }
        }

        /* Product page: stack gallery and details on small screens */
        @media (max-width: 900px) {
            .product-container {
                flex-direction: column;
                min-height: auto;
            }
            .gallery-wrapper {
                position: relative;
                top: 0;
                width: 100%;
                height: auto;
                min-height: 60vh;
            }
            .details-wrapper {
                width: 100%;
            }
            .craft-content {
                max-width: 100%;
                padding-left: 24px;
                padding-right: 24px;
            }
        }

/* Contact modal (shared – e.g. Interiors Get in Touch) */
.wt-contact-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(197, 207, 208, 0.75);
    backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
}
.wt-contact-modal.active {
    display: flex;
}
.wt-contact-modal .wt-modal-content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 600px;
    background-color: #faf8f3;
    padding: 40px;
    border: 1.5px solid #141414;
    z-index: 10001;
    text-align: center;
}
.wt-contact-modal .wt-modal-close {
    position: absolute;
    left: 20px;
    top: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid #141414;
    background: transparent;
    color: #141414;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    transition: all 0.3s ease;
    z-index: 10;
    padding: 0;
}
.wt-contact-modal .wt-modal-close:hover {
    background: #c5cfd0;
    transform: rotate(90deg);
}
.wt-contact-modal .wt-modal-header {
    font-family: 'Geist Mono', monospace;
    font-size: 1.8rem;
    font-weight: 500;
    color: #141414;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.wt-contact-modal .wt-modal-text {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #141414;
    margin-bottom: 30px;
}
.wt-contact-modal .wt-radio-group {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
    justify-content: center;
}
.wt-contact-modal .wt-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Geist Mono', monospace;
    font-size: 0.9rem;
    color: #141414;
    cursor: pointer;
}
.wt-contact-modal .wt-input-field {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    border: 1.5px solid #141414;
    background: #fff;
    color: #141414;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.wt-contact-modal .wt-input-field:focus {
    outline: none;
    border-color: #583c4a;
}
.wt-contact-modal .wt-modal-submit {
    width: 100%;
    padding: 14px;
    font-family: 'Geist Mono', monospace;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    background: #141414;
    color: #faf8f3;
    border: 1.5px solid #141414;
    cursor: pointer;
    transition: all 0.3s ease;
}
.wt-contact-modal .wt-modal-submit:hover {
    background: #583c4a;
    border-color: #583c4a;
}
.wt-contact-modal .wt-modal-success {
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    color: #141414;
    padding: 60px 40px;
}
