/* Thakur Exclusive: one shared visual system, mobile-first trade browsing. */
        :root {
            --paper: #ffffff; --white: #ffffff; --ink: #25241f; --muted: #67645c;
            --accent: #25241f; --gold: #9b710b; --line: #e4e0d7; --wash: #f7f5ef;
            --serif: Georgia, serif;
            --sans: Arial, sans-serif;
            --gutter: max(24px, calc((100vw - 1280px) / 2));
        }
        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; scroll-padding-top: 104px; }
        body { margin: 0; background: var(--paper); color: var(--ink); font: 14px/1.8 var(--sans); }
        body.modal-open { overflow: hidden; }
        button, input, textarea, select { font: inherit; color: inherit; }
        button, a { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
        button { cursor: pointer; }
        a { color: inherit; text-decoration: none; }
        img { display: block; width: 100%; max-width: 100%; object-fit: cover; }
        button:disabled { opacity: .5; cursor: not-allowed; }
        :where(button,a,input,textarea,select,summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
        svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
        h1, h2, h3, p { margin: 0; }
        h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.06; }
        h1 { font-size: clamp(52px, 5.5vw, 86px); letter-spacing: -.045em; }
        h2 { font-size: clamp(40px, 4vw, 62px); letter-spacing: -.035em; }
        h3 { font-size: 28px; letter-spacing: -.015em; }
        em { font-weight: 400; color: var(--accent); }
        p { color: var(--muted); }
        .eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .19em; line-height: 1.6; text-transform: uppercase; }
        .button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 50px; padding: 14px 24px; border: 1px solid var(--accent); border-radius: 0; background: var(--accent); color: var(--white); font-size: 12px; font-weight: 600; line-height: 1.5; transition: background .18s, border-color .18s; }
        .button:hover { background: #633851; border-color: #633851; }
        .button span { font-size: 19px; font-weight: 400; }
        .button.outline { background: transparent; color: var(--accent); border-color: #bdb0b5; }
        .button.outline:hover { background: #eae1e7; border-color: var(--accent); }
        .button.light { background: var(--paper); color: var(--accent); border-color: var(--paper); }
        .button.light:hover { background: #e5d9c8; border-color: #e5d9c8; }
        .button.small { min-height: 44px; padding: 11px 18px; font-size: 11px; gap: 22px; }
        .button.full { width: 100%; }
        .text-button { border: 0; border-bottom: 1px solid #b8a8b0; border-radius: 0; padding: 9px 0; background: none; color: var(--accent); font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; gap: 22px; text-align: left; }
        .text-button:hover { border-color: var(--accent); }
        .icon-button { width: 44px; height: 44px; padding: 0; background: transparent; border: 1px solid var(--line); display: grid; place-items: center; font: 26px/1 var(--sans); flex-shrink: 0; }
        .sr-only, .svg-defs { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
        .skip-link { position: fixed; top: -100px; left: 12px; background: var(--accent); color: white; padding: 12px; z-index: 1000; }
        .skip-link:focus { top: 12px; }
        [hidden] { display: none !important; }

        /* Header and editorial introduction. */
        .announcement { height: 32px; padding-inline: var(--gutter); background: var(--accent); color: #f5eedd; display: flex; align-items: center; justify-content: space-between; font-size: 9px; letter-spacing: .15em; }
        .announcement a { font-size: 10px; letter-spacing: .03em; }
        .announcement a span { margin-left: 14px; }
        .header { height: 86px; padding-inline: var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
        .wordmark { display: inline-block; flex-shrink: 0; }
        .wordmark img { width: 182px; height: auto; object-fit: contain; }
        .desktop-nav { display: flex; gap: 30px; font-size: 12px; }
        .desktop-nav a { position: relative; padding: 10px 0; }
        .desktop-nav a::after { content: ''; position: absolute; bottom: 6px; left: 0; right: 0; height: 1px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
        .desktop-nav a:hover::after { transform: scaleX(1); }
        .header-actions { display: flex; gap: 24px; align-items: center; }
        .saved-button { display: flex; align-items: center; gap: 8px; border: 0; background: none; min-width: 44px; min-height: 44px; padding: 8px; font-size: 11px; }
        .saved-count { font-variant-numeric: tabular-nums; }
        .menu-button { display: none; border: 0; background: none; padding: 10px; min-width: 44px; min-height: 44px; }
        .hero { display: grid; grid-template-columns: 1fr 1.02fr; padding: 30px var(--gutter) 36px; gap: clamp(30px, 4vw, 70px); }
        .hero-copy { padding: 34px 0 18px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
        .hero-copy .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 9px; color: var(--accent); letter-spacing: .17em; }
        .tiny-line { width: 25px; height: 1px; background: var(--gold); flex-shrink: 0; }
        .hero h1 { margin: 24px 0 23px; }
        .hero-copy > p { max-width: 400px; font-size: 14px; line-height: 1.85; }
        .hero-actions { display: flex; gap: 24px; align-items: center; margin-top: 28px; flex-wrap: wrap; }
        .hero-actions .button { gap: 20px; }
        .hero-brands { display: flex; flex-wrap: wrap; gap: 5px 18px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); max-width: 430px; }
        .hero-brands button { background: none; border: 0; padding: 6px 0; color: var(--muted); font: 19px/1.3 var(--serif); }
        .hero-brands button:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
        .hero-note { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 8px; letter-spacing: .14em; color: var(--muted); margin-top: 22px; }
        .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--gold); }
        .hero-image { position: relative; min-width: 0; min-height: 610px; background: var(--wash); overflow: hidden; }
        .hero-image > img { height: 100%; position: absolute; inset: 0; object-position: 50% 38%; }
        .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; }
        .hero-video.is-ready { opacity: 1; }
        .hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#21152180,transparent 28%,transparent 65%,#281b27b3); pointer-events: none; }
        .image-topline { position: absolute; top: 22px; left: 24px; right: 24px; display: flex; justify-content: space-between; gap: 12px; color: white; font-size: 9px; letter-spacing: .15em; text-shadow: 0 1px 4px #0009; z-index: 1; }
        .hero-video-toggle { position: absolute; top: 52px; right: 24px; min-height: 44px; padding: 10px 15px; border: 1px solid #ffffff99; border-radius: 0; background: #251b25cc; color: white; font-size: 11px; z-index: 3; }
        .hero-video-toggle:hover { background: #251b25; }
        .hero-image-caption { position: absolute; bottom: 26px; left: 28px; right: 28px; display: flex; align-items: center; justify-content: space-between; padding: 0; color: white; z-index: 2; border: 0; background: none; text-align: left; font: 44px/1.1 var(--serif); }
        .hero-image-caption small { display: block; font: 9px/1.6 var(--sans); letter-spacing: .17em; margin-bottom: 5px; }
        .round-arrow { width: 44px; height: 44px; border: 1px solid #ffffff99; border-radius: 50%; display: grid; place-items: center; font: 22px var(--sans); }
        .proof-strip { display: grid; grid-template-columns: 1fr 1fr 1fr 1.1fr; padding: 25px var(--gutter); gap: 24px; border-block: 1px solid var(--line); background: var(--wash); }
        .proof-strip > div { border-right: 1px solid #d3c9be; padding-right: 20px; }
        .proof-strip strong { display: block; font-size: 12px; font-weight: 600; }
        .proof-strip span { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
        .proof-strip > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--accent); }
        .proof-strip > a span { font-size: 23px; color: var(--accent); }

        /* Collection lookbook and the six brand identities. */
        .section, .brands-section { padding: 86px var(--gutter); }
        .section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 42px; margin-bottom: 38px; }
        .section-heading .eyebrow { margin-bottom: 15px; color: var(--muted); }
        .section-heading > p { max-width: 355px; font-size: 13px; line-height: 1.8; padding-bottom: 5px; }
        .collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; border-bottom: 1px solid var(--line); }
        .filter-tabs { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
        .filter-tabs button { border: 0; background: none; padding: 15px 0; min-height: 46px; font-size: 12px; color: var(--muted); position: relative; white-space: nowrap; }
        .filter-tabs button.active { color: var(--accent); font-weight: 600; }
        .filter-tabs button.active::after { content: ''; position: absolute; height: 2px; bottom: -1px; background: var(--accent); left: 0; right: 0; }
        .collection-controls { display: flex; gap: 14px; align-items: center; }
        .search-box { display: flex; align-items: center; gap: 9px; }
        .search-box svg { width: 17px; height: 17px; color: var(--muted); }
        .search-box input { width: 145px; min-height: 44px; background: none; border: 0; border-radius: 0; font-size: 12px; padding: 9px 0; }
        select { background: transparent; border: 1px solid var(--line); border-radius: 0; min-height: 44px; max-width: 100%; font-size: 12px; padding: 10px 26px 10px 12px; }
        .collection-status { display: flex; align-items: center; gap: 15px; margin: 18px 0 24px; font-size: 11px; color: var(--muted); flex-wrap: wrap; }
        .collection-status .text-button { font-size: 11px; padding: 0; }
        .collection-hint { margin-left: auto; font: italic 17px var(--serif); }
        .product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px 22px; }
        .product-card { min-width: 0; }
        .product-image { position: relative; overflow: hidden; background: var(--wash); aspect-ratio: 3/4; }
        .image-link { display: block; width: 100%; height: 100%; border: 0; padding: 0; background: none; }
        .product-image img { height: 100%; object-position: 50% 38%; transition: transform .3s; }
        .save-product { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border: 0; background: #fffdf9ed; border-radius: 50%; display: grid; place-items: center; color: var(--accent); }
        .save-product svg { width: 18px; height: 18px; }
        .save-product.saved svg { fill: var(--accent); }
        .product-image .tag { position: absolute; left: 12px; top: 18px; background: #fffdf9ed; padding: 4px 8px; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
        .product-quick { position: absolute; bottom: 0; left: 0; right: 0; background: #f8f5eff0; border: 0; padding: 12px 16px; min-height: 44px; display: flex; justify-content: space-between; align-items: center; font-size: 11px; }
        .product-brand { font-size: 9px; color: var(--accent); letter-spacing: .12em; text-transform: uppercase; margin: 15px 0 5px; }
        .product-title { font: 26px/1.15 var(--serif); border: 0; background: none; padding: 0; text-align: left; }
        .product-meta { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--muted); margin-top: 7px; }
        .product-meta span:last-child { font-size: 17px; color: var(--accent); }
        .collection-footer { display: flex; flex-direction: column; align-items: center; gap: 13px; margin-top: 40px; text-align: center; }
        .collection-footer > span { font-size: 11px; color: var(--muted); }
        .empty-state { padding: 64px 20px; text-align: center; }
        .empty-state p { margin: 12px 0 24px; }
        .brands-section { background: var(--wash); border-block: 1px solid var(--line); }
        .brand-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 30px; }
        .brand-card { display: flex; align-items: center; gap: 20px; min-width: 0; padding: 26px 0; border: 0; border-top: 1px solid #d2c7bb; background: none; text-align: left; }
        .brand-card .brand-logo { width: 84px; height: 84px; object-fit: contain; background: var(--white); flex-shrink: 0; }
        .brand-card > div { flex: 1; min-width: 0; }
        .brand-card h3 { font-size: 26px; margin-bottom: 8px; }
        .brand-card p { font-size: 11px; line-height: 1.7; }
        .brand-card > span { font-size: 22px; color: var(--accent); }
        .brand-card:hover h3 { color: var(--accent); }

        /* Provenance, people and trade partnerships. */
        .craft-section, .visit-section { display: grid; grid-template-columns: 1fr 1fr; background: var(--white); }
        .craft-image { position: relative; min-height: 650px; background: var(--wash); overflow: hidden; }
        .craft-image > img { height: 100%; position: absolute; inset: 0; object-position: 58% center; }
        .craft-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#211b2633,transparent 45%,#211b2699); pointer-events: none; }
        .film-button { position: absolute; bottom: 44px; left: 8%; z-index: 2; display: flex; gap: 18px; align-items: center; border: 0; background: none; color: white; text-align: left; font: 34px/1.2 var(--serif); }
        .film-button small { display: block; font: 11px/1.7 var(--sans); margin-top: 5px; }
        .play-circle { width: 56px; height: 56px; border-radius: 50%; border: 1px solid #ffffffaa; display: grid; place-items: center; font: 13px var(--sans); flex-shrink: 0; }
        .craft-label { position: absolute; top: 28px; left: 8%; right: 8%; font-size: 9px; letter-spacing: .16em; color: white; z-index: 1; }
        .craft-copy, .visit-copy { padding: 68px 10%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; }
        .craft-copy > .eyebrow, .visit-copy > .eyebrow { color: var(--muted); margin-bottom: 22px; }
        .craft-copy h2 { font-size: clamp(38px,3.5vw,54px); }
        .craft-copy > p { margin-top: 23px; font-size: 13px; }
        .craft-points { width: 100%; margin: 27px 0 20px; }
        .craft-points > div { display: flex; gap: 20px; padding: 16px 0; border-top: 1px solid var(--line); }
        .craft-points > div > span { font-size: 10px; color: var(--gold); padding-top: 4px; }
        .craft-points h3 { font: 600 12px/1.6 var(--sans); margin-bottom: 5px; }
        .craft-points p { font-size: 12px; line-height: 1.75; }
        .wholesale-section { padding: 80px var(--gutter); background: var(--accent); color: var(--paper); display: grid; grid-template-columns: 1.2fr 1fr; gap: 12%; }
        .wholesale-section .eyebrow { color: #dccbb4; }
        .wholesale-section h2 { margin: 20px 0 24px; }
        .wholesale-section em { color: #e3cfb0; }
        .wholesale-heading > p { color: #dfd4dc; max-width: 410px; font-size: 13px; }
        .wholesale-heading .button { margin-top: 28px; }
        .steps { align-self: center; }
        .steps > div { display: flex; gap: 24px; padding: 24px 0; border-bottom: 1px solid #ffffff36; }
        .steps > div:first-child { border-top: 1px solid #ffffff36; }
        .steps > div > span { font: 32px/1.1 var(--serif); color: #cfb18a; }
        .steps h3 { font-size: 31px; margin-bottom: 10px; }
        .steps p { font-size: 12px; color: #dfd4dc; }
        .story-section { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
        .story-copy .eyebrow { color: var(--muted); margin-bottom: 20px; }
        .story-copy > p { margin-top: 22px; font-size: 13px; max-width: 440px; }
        .founder-names { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; border-top: 1px solid var(--line); padding-top: 22px; margin-top: 30px; }
        .founder-names span { font-size: 10px; color: var(--muted); }
        .founder-names strong { display: block; font-size: 12px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
        .story-image { position: relative; background: var(--wash); }
        .story-image img { aspect-ratio: 5/4; object-fit: contain; }
        .story-image > span { display: block; font-size: 9px; letter-spacing: .16em; padding: 14px 18px; border-top: 1px solid var(--line); }
        .testimonials-section { padding: 70px var(--gutter); border-block: 1px solid var(--line); background: #f0ebe5; }
        .testimonials-section > .eyebrow { color: var(--muted); margin-bottom: 16px; }
        .testimonials-section > h2 { font-size: clamp(38px,3.5vw,54px); }
        .quotes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; margin-top: 38px; }
        .quotes figure { margin: 0; border-top: 1px solid #d3c7be; padding-top: 12px; display: flex; flex-direction: column; align-items: flex-start; }
        .quote-mark { font: 48px/.9 var(--serif); color: var(--gold); margin-top: 12px; }
        .quotes blockquote { margin: 12px 0 26px; font: 25px/1.4 var(--serif); }
        .quotes figcaption { display: flex; gap: 12px; align-items: center; font-size: 12px; margin-top: auto; }
        .quotes figcaption small { display: block; font-size: 10px; color: var(--muted); }
        .avatar { width: 36px; height: 36px; border: 1px solid #c7b9ae; border-radius: 50%; display: grid; place-items: center; font-size: 10px; }
        .visit-image { position: relative; min-height: 560px; background: var(--wash); }
        .visit-image img { height: 100%; position: absolute; inset: 0; }
        .visit-image > span { position: absolute; bottom: 28px; left: 8%; font-size: 9px; letter-spacing: .16em; color: white; background: #30252ecc; padding: 9px 14px; }
        .visit-copy h2 { font-size: clamp(38px,3.5vw,54px); }
        .visit-copy > p { margin-top: 23px; font-size: 13px; }
        .visit-copy address { margin: 24px 0; font-size: 13px; font-style: normal; color: var(--muted); }
        .visit-copy address strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: 6px; }
        .visit-actions { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
        .visit-copy > small { font-size: 10px; color: var(--muted); margin-top: 17px; }
        .faq-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 9%; }
        .faq-section .eyebrow { color: var(--muted); margin-bottom: 20px; }
        .faq-section > div > p { font-size: 13px; margin-top: 25px; }
        .faq-list details { border-bottom: 1px solid var(--line); }
        .faq-list details:first-child { border-top: 1px solid var(--line); }
        .faq-list summary { padding: 22px 0; list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; font-size: 13px; line-height: 1.65; }
        .faq-list summary::-webkit-details-marker { display: none; }
        .faq-list summary span { font-size: 21px; color: var(--accent); flex-shrink: 0; transition: transform .2s; }
        .faq-list details[open] summary span { transform: rotate(45deg); }
        .faq-list details > p { padding: 0 32px 23px 0; font-size: 13px; }
        .closing-cta { padding: 66px var(--gutter); text-align: center; background: var(--wash); border-block: 1px solid var(--line); }
        .closing-cta h2 { margin: 16px auto 28px; max-width: 850px; }
        .closing-cta .eyebrow { color: var(--muted); }
        footer { padding: 58px var(--gutter) 22px; background: #292129; color: var(--paper); }
        .footer-main { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 42px; }
        .footer-brand .wordmark { padding: 14px 18px; background: var(--paper); }
        .footer-brand .wordmark img { width: 170px; }
        .footer-brand > p { margin: 18px 0; font: 23px/1.3 var(--serif); color: #e6d9d1; }
        .social-links { display: flex; gap: 20px; margin-top: 16px; }
        .footer-main h3 { font: 600 10px/1.8 var(--sans); text-transform: uppercase; letter-spacing: .15em; margin-bottom: 16px; color: #d4ba96; }
        .footer-main > div > a:not(.wordmark), .footer-main > div > button { display: block; margin-bottom: 8px; }
        .footer-main a:not(.wordmark), .footer-main button, .footer-main p:not(.footer-brand>p) { font-size: 12px; color: #dcd1d8; }
        .footer-main button { padding: 0; border: 0; background: none; text-align: left; line-height: 1.8; }
        .footer-main a:hover, .footer-main button:hover, .footer-bottom a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
        .footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; border-top: 1px solid #ffffff26; padding-top: 22px; margin-top: 44px; font-size: 10px; color: #c7bbc2; }
        .footer-bottom > div { display: flex; gap: 24px; flex-wrap: wrap; }
        .mobile-bottom { display: none; }

        /* Native, keyboard-accessible buyer dialogs. */
        dialog { width: min(640px,calc(100% - 32px)); max-width: calc(100% - 32px); max-height: calc(100dvh - 48px); margin: auto; padding: 32px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); overflow: auto; overscroll-behavior: contain; }
        dialog::backdrop { background: #251b25a3; }
        .dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
        .dialog-heading .eyebrow { color: var(--muted); margin-bottom: 10px; font-size: 9px; }
        .dialog-heading h2 { font-size: 43px; }
        .dialog-intro { font-size: 13px; margin: 20px 0; }
        .menu-dialog { width: 460px; }
        .menu-dialog nav { margin: 20px 0 28px; }
        .menu-dialog nav > a { display: flex; justify-content: space-between; font: 32px/1.2 var(--serif); padding: 16px 0; border-bottom: 1px solid var(--line); }
        .product-dialog { width: 980px; padding: 0; position: fixed; }
        .floating-close { position: absolute; top: 16px; right: 16px; z-index: 2; background: #f8f5eff2; }
        .product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; }
        .detail-photo { background: var(--wash); min-width: 0; }
        .detail-photo img { height: 100%; min-height: 550px; max-height: 760px; object-fit: contain; }
        .detail-copy { padding: 40px 32px 32px; min-width: 0; }
        .detail-brand-logo { width: 72px; height: 72px; object-fit: contain; margin-bottom: 20px; }
        .detail-copy .eyebrow { color: var(--accent); font-size: 9px; }
        .detail-copy h2 { font-size: 43px; margin: 14px 0 18px; }
        .detail-copy > p { font-size: 12px; line-height: 1.8; }
        .detail-specs { margin: 24px 0; border-top: 1px solid var(--line); }
        .detail-specs > div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
        .detail-specs dt { color: var(--muted); }
        .detail-specs dd { margin: 0; text-align: right; }
        .detail-gallery { display: flex; gap: 9px; margin: 13px 0 20px; }
        .detail-gallery button { padding: 0; border: 1px solid var(--line); width: 56px; height: 70px; background: var(--wash); }
        .detail-gallery button[aria-pressed="true"] { border: 2px solid var(--accent); }
        .detail-gallery img { height: 100%; }
        .detail-copy .button { margin-top: 10px; }
        .detail-copy .small-note { margin-top: 15px; font-size: 11px; }
        .saved-dialog { width: 560px; }
        .saved-row { display: flex; align-items: center; gap: 15px; border-top: 1px solid var(--line); padding: 16px 0; }
        .saved-row > img { width: 64px; height: 84px; }
        .saved-row > div { flex: 1; min-width: 0; }
        .saved-row h3 { font-size: 24px; }
        .saved-row p { font-size: 11px; margin-top: 5px; }
        .saved-dialog > .button { margin-top: 22px; }
        .saved-empty { padding: 30px 0 12px; }
        .saved-empty p { font-size: 13px; margin: 14px 0 24px; }
        .small-note { font-size: 11px; line-height: 1.7; color: var(--muted); margin-top: 13px; }
        .enquiry-selection { font-size: 12px; color: var(--accent); background: #ece4e8; padding: 13px 16px; margin-bottom: 22px; overflow-wrap: anywhere; }
        .enquiry-dialog label { font-size: 12px; display: block; margin-bottom: 16px; }
        .enquiry-dialog label > span { color: var(--accent); }
        .enquiry-dialog .optional { font-size: 11px; color: var(--muted); margin-left: 4px; }
        .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
        .enquiry-dialog input, .enquiry-dialog textarea { display: block; width: 100%; margin-top: 7px; background: var(--white); border: 1px solid #c3b8c0; padding: 11px 12px; color: var(--ink); border-radius: 0; font-size: 16px; }
        .enquiry-dialog input { height: 46px; }
        .enquiry-dialog textarea { resize: vertical; min-height: 90px; }
        .form-actions { display: flex; gap: 12px; margin-top: 22px; }
        .form-actions .button { flex: 1; gap: 10px; padding: 13px; }
        #enquiry-status { font-size: 12px; color: var(--accent); margin-top: 15px; overflow-wrap: anywhere; }
        #enquiry-status a { text-decoration: underline; text-underline-offset: 3px; }
        .video-dialog { width: 950px; background: #292129; color: var(--paper); padding: 20px; }
        .video-dialog .dialog-heading { align-items: center; margin-bottom: 16px; font-size: 13px; }
        .video-dialog .icon-button { border-color: #ffffff66; }
        .video-dialog iframe { display: block; width: 100%; aspect-ratio: 16/9; border: 0; }
        .toast { position: fixed; bottom: 28px; left: 50%; transform: translate(-50%,16px); padding: 12px 22px; background: var(--accent); color: white; font-size: 12px; z-index: 200; opacity: 0; pointer-events: none; transition: opacity .18s,transform .18s; max-width: 90vw; text-align: center; }
        .toast.visible { opacity: 1; transform: translate(-50%,0); }
        .image-unavailable { object-fit: contain !important; padding: 22px; background: var(--wash); }

        @media (hover:hover) and (pointer:fine) {
            .product-quick { transform: translateY(100%); transition: transform .2s; }
            .product-card:hover .product-quick, .product-card:focus-within .product-quick { transform: none; }
            .product-card:hover .product-image img { transform: scale(1.025); }
        }
        @media (min-width:1650px) {
            .hero { max-width: 1740px; margin-inline: auto; }
            .hero-image { min-height: 710px; }
            .hero h1 { font-size: 96px; }
        }
        @media (max-width:1100px) {
            .desktop-nav { gap: 20px; }
            .header-actions { gap: 12px; }
            .wordmark img { width: 156px; }
            .hero { gap: 30px; }
            .hero-image { min-height: 580px; }
            .hero-actions { gap: 18px; }
            .hero h1 { font-size: clamp(52px,6.3vw,70px); }
            .collection-toolbar { flex-wrap: wrap; padding-bottom: 12px; }
            .collection-controls { width: 100%; justify-content: space-between; }
            .search-box input { width: 200px; }
            .filter-tabs button.active::after { bottom: 0; }
            .product-grid { gap: 30px 18px; }
            .product-title { font-size: 23px; }
            .brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
            .craft-copy, .visit-copy { padding: 48px 8%; }
            .craft-image { min-height: 670px; }
            .wholesale-section { gap: 7%; }
            .footer-main { gap: 25px; }
        }
        @media (max-width:800px) {
            html { scroll-padding-top: 88px; }
            .header { height: 74px; }
            .desktop-nav, .desktop-enquiry { display: none; }
            .menu-button { display: block; }
            .header-actions { gap: 10px; }
            .hero { grid-template-columns: 1fr 1fr; gap: 24px; padding-top: 24px; }
            .hero-copy { padding: 12px 0; }
            .hero h1 { font-size: 52px; }
            .hero-copy .eyebrow { font-size: 8px; gap: 8px; }
            .hero-copy > p { font-size: 13px; }
            .hero-actions { align-items: flex-start; gap: 10px; flex-direction: column; }
            .hero-brands { gap: 5px 14px; margin-top: 22px; }
            .hero-brands button { font-size: 18px; }
            .hero-note { font-size: 7px; }
            .hero-image { min-height: 570px; }
            .image-topline { font-size: 7px; left: 16px; right: 16px; }
            .hero-image-caption { left: 20px; right: 20px; bottom: 22px; font-size: 38px; }
            .proof-strip { grid-template-columns: 1fr 1fr; gap: 18px 24px; }
            .proof-strip > div:nth-child(2) { border-right: 0; }
            .proof-strip > a { padding-block: 8px; }
            .section, .brands-section { padding-block: 64px; }
            .section-heading { gap: 25px; align-items: flex-start; }
            .section-heading > p { max-width: 270px; font-size: 12px; }
            .section-heading h2 { font-size: 44px; }
            .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 20px; }
            .craft-section, .visit-section { grid-template-columns: 1fr; }
            .craft-image { min-height: 420px; }
            .craft-copy, .visit-copy { padding: 54px var(--gutter); }
            .craft-copy h2, .visit-copy h2 { font-size: 48px; }
            .wholesale-section { grid-template-columns: 1fr; gap: 34px; padding-block: 64px; }
            .wholesale-heading > p { max-width: 560px; }
            .steps { width: 100%; }
            .story-section { gap: 35px; }
            .story-copy h2 { font-size: 42px; }
            .founder-names { grid-template-columns: 1fr; gap: 10px; }
            .founder-names span { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
            .founder-names strong { margin: 0; }
            .quotes { gap: 24px; }
            .quotes blockquote { font-size: 22px; }
            .visit-image { min-height: 420px; }
            .faq-section { grid-template-columns: 1fr; gap: 30px; }
            .footer-main { grid-template-columns: 1fr 1fr; gap: 35px; }
            footer { padding-bottom: 95px; }
            .mobile-bottom { display: grid; grid-template-columns: 1fr 1.4fr; position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; background: var(--paper); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
            .mobile-bottom button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; border: 0; background: none; font-size: 12px; padding: 12px; }
            .mobile-bottom button:last-child { background: var(--accent); color: white; }
            .mobile-bottom svg { width: 19px; height: 19px; }
            .toast { bottom: calc(76px + env(safe-area-inset-bottom)); }
            .product-detail-grid { grid-template-columns: .9fr 1.1fr; }
            .detail-copy { padding: 35px 24px 24px; }
            .detail-copy h2 { font-size: 38px; }
        }
        @media (max-width:600px) {
            .announcement { font-size: 8px; letter-spacing: .09em; height: 30px; }
            .announcement a { font-size: 8px; }
            .announcement a span { margin-left: 7px; }
            .header { gap: 10px; }
            .wordmark img { width: 150px; }
            .hero { grid-template-columns: 1fr; gap: 26px; padding: 30px var(--gutter); }
            .hero-copy { padding: 0; }
            .hero-copy .eyebrow { font-size: 9px; }
            .hero h1 { font-size: clamp(55px,13.3vw,76px); margin: 20px 0; }
            .hero-copy > p { max-width: 440px; font-size: 14px; }
            .hero-actions { flex-direction: row; align-items: center; gap: 18px; margin-top: 22px; }
            .hero-actions .button { font-size: 11px; padding: 13px 17px; gap: 16px; }
            .hero-actions .text-button { font-size: 11px; gap: 13px; }
            .hero-brands { margin-top: 22px; padding-top: 14px; max-width: none; gap: 0 14px; }
            .hero-note { margin-top: 15px; font-size: 8px; letter-spacing: .09em; }
            .hero-image { min-height: 0; aspect-ratio: 4/5; }
            .hero-image > img { object-position: 50% 38%; }
            .image-topline { font-size: 8px; top: 18px; }
            .proof-strip { gap: 18px; padding-block: 22px; }
            .proof-strip strong { font-size: 11px; }
            .proof-strip span { font-size: 10px; line-height: 1.6; }
            .proof-strip > div { padding-right: 12px; }
            .proof-strip > a { font-size: 11px; }
            .section, .brands-section { padding-block: 52px; }
            .section-heading { display: block; margin-bottom: 28px; }
            .section-heading h2 { font-size: 43px; }
            .section-heading > p { max-width: none; font-size: 13px; margin-top: 18px; }
            .collection-toolbar { gap: 13px; }
            .filter-tabs { width: 100%; justify-content: space-between; gap: 10px; }
            .filter-tabs button { font-size: 11px; }
            .collection-controls { gap: 12px; }
            .search-box { min-width: 0; flex: 1; gap: 7px; }
            .search-box input { width: 100%; min-width: 0; font-size: 16px; }
            .search-box input::placeholder { font-size: 12px; }
            .collection-controls select { max-width: 46%; min-width: 0; font-size: 11px; padding-inline: 9px; }
            .collection-status { font-size: 10px; gap: 8px; margin-block: 17px; }
            .collection-hint { display: none; }
            .product-grid { gap: 27px 14px; }
            .product-image .tag { top: 10px; left: 8px; padding: 3px 5px; font-size: 7px; }
            .save-product { top: 8px; right: 6px; width: 40px; height: 40px; }
            .product-quick { font-size: 10px; padding: 10px; }
            .product-brand { font-size: 8px; letter-spacing: .08em; margin-top: 12px; }
            .product-title { font-size: 22px; }
            .product-meta { font-size: 10px; }
            .collection-footer { margin-top: 30px; }
            .brand-grid { grid-template-columns: 1fr; }
            .brand-card { gap: 22px; padding: 20px 0; }
            .brand-card .brand-logo { width: 78px; height: 78px; }
            .brand-card h3 { font-size: 28px; }
            .brand-card p { font-size: 12px; }
            .craft-image { min-height: 350px; }
            .craft-label { font-size: 8px; }
            .film-button { bottom: 30px; font-size: 31px; }
            .craft-copy, .visit-copy { padding: 45px var(--gutter); }
            .craft-copy h2, .visit-copy h2 { font-size: 42px; }
            .wholesale-section { padding-block: 52px; gap: 30px; }
            .wholesale-section h2 { font-size: 45px; }
            .steps > div { padding-block: 21px; gap: 20px; }
            .steps h3 { font-size: 28px; }
            .story-section { grid-template-columns: 1fr; }
            .founder-names { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
            .founder-names span { display: block; font-size: 9px; }
            .founder-names strong { font-size: 11px; margin-bottom: 5px; }
            .testimonials-section { padding: 52px var(--gutter); }
            .testimonials-section h2 { font-size: 42px; }
            .quotes { grid-template-columns: 1fr; gap: 27px; margin-top: 30px; }
            .quotes blockquote { font-size: 25px; margin-bottom: 20px; }
            .visit-image { min-height: 330px; }
            .visit-actions { gap: 18px; }
            .faq-list summary { font-size: 12px; padding-block: 19px; }
            .faq-list details > p { font-size: 13px; padding-right: 15px; }
            .closing-cta { padding-block: 48px; }
            .closing-cta h2 { font-size: 43px; }
            .footer-main { gap: 32px 20px; }
            .footer-brand { grid-column: 1/-1; }
            .footer-main > div:last-child { grid-column: 1/-1; }
            .footer-main > div > a, .footer-main > div > button { padding-block: 4px; }
            .footer-bottom { align-items: flex-start; gap: 16px; }
            .footer-bottom > div { width: 100%; gap: 18px; }
            dialog { padding: 24px; max-height: calc(100dvh - 32px); }
            .dialog-heading h2 { font-size: 37px; }
            .dialog-heading { gap: 10px; }
            .product-dialog { padding: 0; }
            .product-detail-grid { grid-template-columns: 1fr; }
            .detail-photo img { min-height: 0; height: auto; max-height: 420px; object-fit: contain; }
            .detail-copy { padding: 25px 24px; }
            .detail-brand-logo { width: 64px; height: 64px; margin-bottom: 16px; }
            .detail-copy h2 { font-size: 37px; }
            .form-grid { grid-template-columns: 1fr; gap: 0; }
            .form-actions { flex-direction: column; gap: 10px; }
            .form-actions .button { min-height: 48px; }
            .saved-row { gap: 12px; }
            .saved-row > img { width: 54px; height: 72px; }
            .saved-row h3 { font-size: 23px; }
            .saved-row p { font-size: 10px; }
            .video-dialog { padding: 16px; }
        }
        @media (max-width:360px) {
            .hero-actions { gap: 13px; }
            .hero-actions .button { padding-inline: 12px; gap: 12px; }
            .hero-actions .text-button { gap: 9px; }
            .hero-note { font-size: 7px; }
            .filter-tabs { gap: 8px; }
            .filter-tabs button { font-size: 10px; }
            .founder-names { grid-template-columns: 1fr; }
            .founder-names span { display: flex; justify-content: space-between; align-items: baseline; }
        }
        @media (prefers-reduced-motion:reduce) {
            html { scroll-behavior: auto; }
            *, *::before, *::after { animation: none !important; transition: none !important; }
        }
        /* Full-screen factory film with readable, interactive brand copy above it. */
        .hero { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; min-height: 100svh; max-width: none; margin: 0; padding: 0; gap: 0; isolation: isolate; }
        .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; z-index: -1; }
        .hero-video { pointer-events: none; }
        .hero-image::after { display: block; background: linear-gradient(90deg, #1c1422e8 0%, #1c1422ad 45%, #1c14224d 100%); }
        .hero-image .image-topline, .hero-video-toggle, .hero-image-caption { display: none; }
        .hero-copy { position: relative; z-index: 1; width: 100%; padding: clamp(36px, 5vw, 80px) var(--gutter); color: #fffaf2; }
        .hero-copy .eyebrow, .hero-copy > p, .hero-note, .hero-brands button, .hero-actions .text-button { color: #f4ede2; }
        .hero h1 em { color: #e8cba6; }
        .hero-brands { border-color: #ffffff40; }
        .hero-brands button:hover { color: #e8cba6; }
        .hero-actions .button { background: #f4ede2; border-color: #f4ede2; color: #382337; }
        .hero-actions .button:hover { background: #e8cba6; border-color: #e8cba6; }
        .hero-actions .text-button { border-color: #ffffff80; }
        @media (max-width: 600px) {
            .hero-image::after { background: linear-gradient(90deg, #1c1422df, #1c142299); }
            .hero h1 { font-size: clamp(48px, 12vw, 68px); }
        }
        /* Two families, three text roles: editorial headings, body, and utility labels.
           System fonts avoid late font swaps and their associated layout shifts. */
        html { scrollbar-gutter: stable; }
        body { font-size: 15px; line-height: 1.7; }
        h1, h2, h3 { font-weight: 400; letter-spacing: -.025em; line-height: 1.2; }
        em { font-style: normal; color: inherit; }
        h2, .craft-copy h2, .visit-copy h2, .testimonials-section > h2 { font-size: clamp(28px, 3vw, 42px); }
        h3, .brand-card h3 { font-size: 24px; }
        .eyebrow, .hero-copy .eyebrow { font: 500 11px/1.5 var(--sans); letter-spacing: .1em; }
        .hero { min-height: calc(100svh - 118px); }
        .hero-copy { padding-block: 72px; }
        .hero h1 { font-size: clamp(38px, 4.5vw, 64px); line-height: 1.15; margin: 22px 0; max-width: 760px; }
        .hero-copy > p { max-width: 460px; font: 400 17px/1.7 var(--sans); color: #f4ede2; }
        .hero-actions { margin-top: 30px; gap: 12px; flex-direction: row; align-items: center; }
        .hero-image::after { background: linear-gradient(90deg, #17131be6 0%, #17131b99 50%, #17131b33 100%); }
        .button, .button.small, .hero-actions .button, .hero-actions .button.outline { min-height: 48px; padding: 12px 22px; font: 500 14px/1.5 var(--sans); gap: 12px; border: 1px solid var(--accent); background: var(--accent); color: var(--white); }
        .button:hover, .hero-actions .button:hover { background: #633851; border-color: #633851; }
        .button.outline { background: transparent; color: var(--accent); border-color: #a996a3; }
        .button.outline:hover { background: #eee7ec; border-color: var(--accent); }
        .hero-actions .button.outline { background: transparent; color: var(--white); border-color: #ffffffa6; }
        .hero-actions .button.outline:hover { background: #ffffff15; border-color: white; }
        .text-button { font: 500 14px/1.5 var(--sans); letter-spacing: 0; }
        .wordmark img { width: 182px; height: 70px; object-fit: contain; }
        .footer-brand .wordmark img { width: 170px; height: 66px; }
        .saved-count { display: inline-block; min-width: 2ch; }
        .section, .brands-section { padding-block: clamp(56px, 6vw, 88px); }
        .section-heading { gap: 32px; margin-bottom: 32px; }
        .section-heading > p, .craft-copy > p, .story-copy > p, .visit-copy > p, .wholesale-heading > p, .faq-section > div > p { font-size: 15px; line-height: 1.7; }
        .product-title { font: 500 17px/1.45 var(--sans); }
        .product-brand, .product-meta, .brand-card p, .filter-tabs button, .collection-status, .collection-footer > span { font-size: 12px; letter-spacing: 0; }
        .collection-hint { display: none; }
        .collection-status { min-height: 28px; }
        .product-brand { margin-top: 16px; }
        .brand-card h3 { font: 500 20px/1.4 var(--sans); }
        .steps h3 { font: 500 18px/1.5 var(--sans); }
        .steps > div > span { font: 400 14px/1.5 var(--sans); padding-top: 2px; }
        .steps p, .craft-points p, .faq-list summary, .faq-list details > p { font-size: 14px; line-height: 1.7; }
        .quotes blockquote { font: 400 16px/1.75 var(--sans); }
        .quote-mark { display: none; }
        .footer-brand > p { font: 400 15px/1.7 var(--sans); }
        .proof-strip { grid-template-columns: repeat(3, 1fr); }
        .proof-strip > a { display: none; }
        .proof-strip > div:last-of-type { border-right: 0; }
        .wholesale-section { background: var(--wash); color: var(--ink); gap: 8%; }
        .wholesale-section .eyebrow, .wholesale-heading > p, .steps p { color: var(--muted); }
        .steps > div, .steps > div:first-child { border-color: var(--line); }
        .steps > div > span { color: var(--muted); }
        .film-button { font: 500 18px/1.5 var(--sans); }
        .founder-names strong { font-size: 14px; }
        .footer-main h3 { font-size: 12px; letter-spacing: .06em; }
        @media (max-width: 600px) {
            .hero { min-height: calc(100svh - 104px); }
            .hero-copy { padding-block: 48px; }
            .hero h1 { font-size: clamp(34px, 8.8vw, 48px); }
            .hero-copy > p { font-size: 16px; max-width: 34ch; }
            .hero-actions { align-items: stretch; flex-direction: column; width: min(100%, 320px); }
            .hero-image::after { background: linear-gradient(90deg, #17131be6, #17131b99); }
            .wordmark img { width: 142px; height: 55px; }
            .proof-strip { grid-template-columns: 1fr; gap: 16px; }
            .proof-strip > div { border-right: 0; }
            .collection-status { min-height: 28px; }
            .section-heading { gap: 16px; }
        }
        /* Brand-led finish: original gold logo, neutral gallery surfaces, one action system. */
        .announcement { background: var(--wash); color: var(--muted); border-bottom: 1px solid var(--line); letter-spacing: .06em; }
        .header { background: var(--paper); border-color: var(--line); gap: 32px; }
        .wordmark img { width: 220px; height: 44px; object-fit: contain; filter: none; }
        .desktop-nav { gap: 32px; font-size: 13px; }
        .desktop-nav a, .header .desktop-enquiry { white-space: nowrap; }
        .desktop-nav a::after { background: var(--gold); }
        .header-actions { gap: 20px; }
        .hero-image::after { background: linear-gradient(90deg, #141510df, #14151080 55%, #14151026); }
        .hero-copy { color: white; }
        .hero-copy > p, .hero-copy .eyebrow { color: #f7f5ef; }
        .button, .button.small, .button.light, .hero-actions .button,
        .mobile-bottom button[data-enquire] {
            display: inline-flex; align-items: center; justify-content: center; gap: 16px;
            min-height: 48px; padding: 12px 22px; border: 1px solid var(--accent);
            border-radius: 0; background: var(--accent); color: var(--white);
            font: 500 14px/1.5 var(--sans); box-shadow: none;
        }
        .button:hover, .button.light:hover, .hero-actions .button:hover,
        .mobile-bottom button[data-enquire]:hover { background: #414036; border-color: #414036; }
        .button.outline, .hero-actions .button.outline {
            background: var(--paper); color: var(--ink); border-color: var(--line);
        }
        .button.outline:hover, .hero-actions .button.outline:hover { background: var(--wash); border-color: #c1b9a8; }
        .button::after, .text-button::after, .product-quick::after, .brand-card::after, .mobile-bottom button[data-enquire]::after {
            content: ''; width: 18px; height: 18px; flex: 0 0 18px; background: currentColor;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        }
        .text-button { color: var(--ink); border-color: var(--line); gap: 16px; }
        .text-button:hover { color: var(--gold); border-color: var(--gold); }
        .proof-strip { padding-block: 28px; background: var(--paper); border-bottom: 1px solid var(--line); gap: 40px; }
        .proof-strip > div { border-color: var(--line); }
        .proof-strip strong { font-size: 13px; }
        .proof-strip span { font-size: 12px; margin-top: 6px; }
        .section, .brands-section { padding-block: 96px; }
        .section-heading { display: grid; grid-template-columns: 7fr 5fr; align-items: end; gap: 64px; margin-bottom: 40px; }
        .section-heading > p { max-width: 410px; }
        .eyebrow, .section-heading .eyebrow { color: var(--muted); letter-spacing: .08em; }
        .collection-toolbar { padding-bottom: 12px; gap: 24px; }
        .filter-tabs { gap: 24px; }
        .filter-tabs button { padding: 12px 0; font-size: 13px; }
        .filter-tabs button.active::after { height: 1px; background: var(--gold); }
        .collection-controls select { border-color: var(--line); background: white; }
        .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px 28px; }
        .product-image { background: var(--wash); }
        .product-image .tag { display: none; } /* Category already appears beneath each image. */
        .save-product { top: 12px; right: 12px; border-radius: 0; background: #ffffffed; border: 1px solid #ffffff80; }
        .product-quick { background: #fffffff5; color: var(--ink); padding: 12px 16px; gap: 16px; justify-content: space-between; }
        .product-brand { color: var(--muted); letter-spacing: .05em; font-size: 11px; margin: 18px 0 6px; }
        .product-title { font-size: 18px; font-weight: 400; }
        .product-meta span:last-child { display: none; }
        .brands-section { background: var(--wash); border-color: var(--line); }
        .brand-grid { gap: 0 40px; }
        .brand-card { padding: 30px 0; border-color: var(--line); gap: 22px; }
        .brand-card .brand-logo { background: transparent; }
        .brand-card h3 { font-size: 18px; font-weight: 400; }
        .brand-card > span { color: var(--gold); font-size: 18px; }
        .craft-section, .visit-section { padding: 96px var(--gutter); gap: 64px; grid-template-columns: repeat(2,minmax(0,1fr)); background: var(--paper); }
        .craft-image { min-height: 600px; }
        .craft-image::after { background: linear-gradient(transparent 50%, #14151099); }
        .craft-copy, .visit-copy { padding: 24px 0; }
        .craft-points > div { gap: 24px; padding-block: 20px; }
        .craft-points > div > span { color: var(--gold); }
        .craft-points h3 { font-size: 14px; }
        .craft-label { color: white; }
        .play-circle { border-radius: 0; width: 44px; height: 44px; }
        .wholesale-section { padding-block: 88px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 64px; background: var(--wash); border-block: 1px solid var(--line); }
        .wholesale-section h2 { margin-top: 18px; }
        .steps > div { padding-block: 26px; }
        .story-section { gap: 64px; }
        .founder-names { gap: 20px; }
        .story-image { background: var(--wash); }
        .story-image > span { color: var(--muted); padding-inline: 0; background: var(--paper); }
        .testimonials-section { padding-block: 80px; background: var(--paper); border-color: var(--line); }
        .quotes { gap: 40px; }
        .quotes figure { border-color: var(--line); padding-top: 20px; }
        .avatar { display: none; }
        .quotes figcaption { border-left: 2px solid var(--gold); padding-left: 14px; }
        .visit-image { min-height: 540px; }
        .visit-image > span { background: #25241fd9; }
        .visit-actions { gap: 24px; }
        .faq-section { grid-template-columns: 5fr 7fr; gap: 64px; background: var(--wash); }
        .faq-list summary { padding-block: 24px; }
        footer { background: var(--paper); color: var(--ink); padding-block: 72px 24px; border-top: 1px solid var(--line); }
        .footer-main { grid-template-columns: 4fr 2fr 3fr 3fr; gap: 40px; }
        .footer-brand .wordmark { padding: 0; background: none; }
        .footer-brand .wordmark img { width: 220px; height: 44px; }
        .footer-brand > p, .footer-main h3, .footer-main a:not(.wordmark), .footer-main button, .footer-main p { color: var(--muted); }
        .footer-main h3 { color: var(--ink); letter-spacing: .04em; }
        .footer-main > div > p { color: var(--muted); }
        .footer-bottom { color: var(--muted); border-color: var(--line); }
        .enquiry-selection { background: var(--wash); border-color: var(--line); }
        dialog::backdrop { background: #14151099; }
        .video-dialog { background: #25241f; }
        .detail-copy h2 { font-size: clamp(28px, 3vw, 36px); }
        .detail-copy > p { font-size: 14px; }
        .detail-specs > div { font-size: 13px; }
        .detail-copy .eyebrow { font-size: 11px; color: var(--muted); }
        .saved-row h3 { font: 400 18px/1.4 var(--sans); }
        .saved-row p { font-size: 12px; }
        .enquiry-dialog input, .enquiry-dialog textarea { border-color: #c9c3b6; }
        .menu-dialog nav > a { font: 400 24px/1.4 var(--sans); }
        .mobile-bottom { background: var(--paper); border-color: var(--line); }
        @media (max-width: 1000px) {
            .header .desktop-enquiry { display: none; }
            .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
            .section-heading, .craft-section, .visit-section, .story-section, .wholesale-section, .faq-section { gap: 40px; }
            .brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; }
            .craft-image { min-height: 560px; }
        }
        @media (max-width: 800px) {
            .header { gap: 16px; }
            .header .desktop-enquiry { display: none; }
            .section-heading { display: flex; }
            .craft-section, .visit-section, .wholesale-section, .story-section, .faq-section { grid-template-columns: 1fr; }
            .craft-copy, .visit-copy { padding: 0; }
            .craft-image, .visit-image { min-height: 0; aspect-ratio: 4/3; }
            .quotes { gap: 24px; }
            .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 28px; }
        }
        @media (max-width: 600px) {
            .announcement { font-size: 8px; letter-spacing: .01em; }
            .wordmark img { width: 180px; height: 36px; }
            .header-actions { gap: 6px; }
            .hero-image::after { background: linear-gradient(90deg, #141510e6, #14151080); }
            .hero-actions .button { padding: 12px 18px; font-size: 14px; }
            .section, .brands-section, .craft-section, .visit-section { padding-block: 64px; }
            .section-heading { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 30px; }
            .collection-toolbar { gap: 16px; }
            .filter-tabs { gap: 18px; }
            .product-grid { gap: 28px 16px; }
            .product-title { font-size: 16px; }
            .product-quick { padding: 10px; font-size: 11px; gap: 4px; }
            .product-brand { font-size: 10px; }
            .save-product { top: 8px; right: 8px; }
            .brand-grid { grid-template-columns: 1fr; }
            .brand-card { padding-block: 24px; }
            .quotes { gap: 28px; }
            .footer-main { gap: 32px 24px; }
            .mobile-bottom button[data-enquire] { min-height: 56px; padding: 12px; font-size: 12px; gap: 10px; }
        }
        @media (max-width: 360px) {
            .wordmark img { width: 130px; height: 26px; }
            .product-quick::after { width: 14px; height: 14px; flex-basis: 14px; }
            .announcement span:last-child { font-size: 7px; }
        }
        /* Editorial direction: authentic collections, warm mineral surfaces,
           registered gold identity. The same system extends to every buyer surface. */
        :root { --paper:#fffefa; --wash:#f3efe5; --line:#ded7c9; --ink:#26251f; --muted:#686357; --gold:#936b0a; --gutter:max(28px,calc((100vw - 1280px)/2)); }
        body { background:var(--paper); }
        .no-break { white-space:nowrap; }
        h2, .section-heading h2, .story-copy h2, .wholesale-section h2 { font:400 clamp(34px,3.7vw,54px)/1.12 var(--serif); letter-spacing:-.035em; text-wrap:balance; }
        .eyebrow { color:var(--gold); font-size:10px; letter-spacing:.16em; }
        .section, .brands-section { padding-block:80px; }
        .section-heading { align-items:end; gap:48px; margin-bottom:36px; }
        .section-heading .eyebrow { color:var(--gold); margin-bottom:14px; }
        .section-heading > p { max-width:360px; font-size:14px; line-height:1.8; }
        .header { background:#fff; border-bottom:1px solid #e7e0d3; }
        .desktop-nav a { font-size:13px; }
        .desktop-nav a::after { background:var(--gold); }
        .announcement { background:#25251f; color:#e6d8b6; }
        .hero { padding:60px var(--gutter); }
        .hero-copy { max-width:740px; padding:20px 0; }
        .hero h1 { font:400 clamp(44px,5.2vw,74px)/1.08 var(--serif); letter-spacing:-.04em; max-width:710px; margin:22px 0; }
        .hero-copy > p { max-width:455px; font-size:16px; line-height:1.75; color:#f2ede2; }
        .hero-copy .eyebrow { color:#ead4a0; }
        .hero .tiny-line { width:32px; background:#d8af52; }
        .hero-image::after { background:linear-gradient(90deg,rgba(20,22,18,.84),rgba(20,22,18,.55) 48%,rgba(20,22,18,.16)); }
        .hero-actions { gap:12px; margin-top:30px; }
        .button, .button.small, .button.light, .hero-actions .button, .mobile-bottom button[data-enquire] { font:500 13px/1.5 var(--sans); min-height:48px; padding:13px 22px; gap:20px; border:1px solid var(--ink); background:var(--ink); color:#fff; }
        .button:hover, .button.small:hover, .button.light:hover, .hero-actions .button:hover { background:#454237; border-color:#454237; }
        .button.outline { color:var(--ink); background:transparent; border-color:#aca18a; }
        .button.outline:hover { background:#e9e2d3; border-color:var(--ink); }
        .hero-actions .button { border-color:#fff; background:#fff; color:var(--ink); }
        .hero-actions .button.outline { background:transparent; color:#fff; border-color:#ffffff80; }
        .hero-actions .button:hover { background:#f0e6d1; color:var(--ink); border-color:#f0e6d1; }
        .text-button { color:var(--ink); border-color:#a49679; font-size:13px; }
        .proof-strip { background:var(--wash); padding-block:28px; }
        .proof-strip strong { font:400 20px/1.3 var(--serif); }
        .proof-strip span { font-size:12px; margin-top:5px; }
        .proof-strip > div { padding-left:24px; border-left:1px solid #bc9d53; border-right:0; }
        .collections { background:var(--paper); }
        .collection-toolbar { background:#f3efe5; padding:8px 20px; border:1px solid var(--line); gap:20px; }
        .filter-tabs { gap:24px; }
        .filter-tabs button { font-size:13px; }
        .filter-tabs button.active::after { background:var(--gold); bottom:4px; height:1px; }
        .collection-controls select { border-color:#cfc5b1; background:var(--paper); }
        .search-box input { font-size:13px; }
        .collection-status { margin:18px 0; }
        .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 20px; }
        .product-image { aspect-ratio:3/4; background:#e9e5da; }
        .save-product { top:10px; right:10px; background:#fffefaed; border-radius:0; border:1px solid #ffffff60; }
        .product-quick { background:#fffefaf2; font-size:12px; border-top:1px solid var(--line); }
        .product-brand { font:500 10px/1.6 var(--sans); color:var(--gold); letter-spacing:.09em; margin:15px 0 4px; }
        .product-title { font:400 22px/1.2 var(--serif); letter-spacing:-.025em; }
        .product-meta { font-size:12px; margin-top:7px; }
        .collection-footer { flex-direction:row; justify-content:space-between; border-top:1px solid var(--line); padding-top:24px; gap:24px; margin-top:36px; text-align:left; }
        .collection-footer > span { font-size:12px; }
        .brands-section { background:#eee8dc; border:0; }
        .brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
        .brand-card { display:grid; grid-template-columns:1fr; gap:0; padding:0; border:0; background:var(--paper); position:relative; overflow:hidden; align-items:stretch; }
        .brand-card > .brand-visual { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; object-position:50% 40%; transition:transform .45s ease; }
        .brand-card > .brand-caption { display:grid; grid-template-columns:64px 1fr; gap:16px; padding:22px 22px 26px; align-items:center; min-height:142px; border-top:1px solid var(--line); background:var(--paper); position:relative; }
        .brand-card .brand-logo { width:64px; height:64px; object-fit:contain; background:#fff; }
        .brand-card h3 { font:400 23px/1.18 var(--serif); margin-bottom:8px; }
        .brand-card p { font:400 11px/1.6 var(--sans); color:var(--muted); }
        .brand-description { grid-column:1/-1; font:400 13px/1.75 var(--sans); color:var(--muted); padding-top:12px; border-top:1px solid var(--line); }
        .brand-card::after { position:absolute; top:16px; right:16px; width:18px; height:18px; color:var(--ink); padding:20px; background-color:#fffefa; mask:none; -webkit-mask:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2326251f' stroke-width='1.5'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E"); background-size:18px; background-position:center; background-repeat:no-repeat; }
        .brand-card:hover .brand-visual { transform:scale(1.025); }
        .brand-card:hover h3 { color:var(--gold); }
        .craft-section { padding:80px var(--gutter); grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:64px; background:var(--paper); align-items:center; }
        .craft-image { min-height:620px; align-self:stretch; }
        .craft-image > img { object-position:40% center; }
        .craft-image::after { background:linear-gradient(transparent 45%,#1e211aca); }
        .craft-copy { padding:0; }
        .craft-copy h2 { font-size:clamp(34px,3.7vw,54px); }
        .craft-copy > .eyebrow { color:var(--gold); margin-bottom:16px; }
        .craft-copy > p { font-size:14px; line-height:1.8; margin-top:22px; }
        .craft-points { margin:26px 0 18px; }
        .craft-points > div { padding:19px 0; gap:20px; }
        .craft-points > div > span { font:400 25px/1.2 var(--serif); padding:0; color:var(--gold); }
        .craft-points h3 { font:400 20px/1.3 var(--serif); margin-bottom:6px; }
        .craft-points p { font-size:13px; line-height:1.7; }
        .craft-image > .craft-detail { position:absolute; inset:24px 24px auto auto; width:36%; height:auto; aspect-ratio:3/4; border:6px solid var(--paper); z-index:1; overflow:hidden; box-shadow:0 8px 30px #0002; }
        .craft-detail img { width:100%; height:100%; object-fit:cover; object-position:50% 20%; transform:scale(2.3); transform-origin:50% 30%; }
        .craft-label { top:28px; left:28px; right:44%; font-size:9px; line-height:1.8; }
        .film-button { left:28px; bottom:30px; font:400 30px/1.2 var(--serif); gap:16px; }
        .film-button .play-circle { background:#fffefa; color:var(--ink); border:0; width:48px; height:48px; }
        .wholesale-section { padding:64px var(--gutter); grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px 64px; background:#292b23; color:#fffefa; border:0; align-items:center; }
        .wholesale-section h2 { margin:16px 0 20px; }
        .wholesale-section .eyebrow { color:#d9bd77; }
        .wholesale-heading > p { color:#d3d2c6; font-size:14px; line-height:1.8; max-width:460px; }
        .wholesale-heading .button { background:#fffefa; color:var(--ink); border-color:#fffefa; margin-top:24px; }
        .wholesale-heading .button:hover { background:#efe3c9; border-color:#efe3c9; }
        .wholesale-visual { width:100%; aspect-ratio:8/5; height:auto; object-position:50% 40%; }
        .steps { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; border-top:1px solid #b6a16d66; padding-top:30px; }
        .steps > div, .steps > div:first-child { padding:0; border:0; gap:18px; }
        .steps > div > span { font:400 30px/1.2 var(--serif); color:#d9bd77; }
        .steps h3 { font:400 22px/1.25 var(--serif); margin-bottom:9px; color:#fffefa; }
        .steps p { font-size:13px; line-height:1.75; color:#d3d2c6; }
        .story-section { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; background:var(--paper); }
        .story-copy .eyebrow { color:var(--gold); margin-bottom:16px; }
        .story-copy > p { font-size:14px; line-height:1.8; max-width:480px; }
        .story-image { padding:20px; background:#eee8dc; }
        .story-image img { aspect-ratio:5/4; width:100%; object-fit:contain; background:#fff; }
        .story-image > span { padding:18px 0 0; border:0; color:#665d49; font-size:9px; }
        .founder-names { margin-top:30px; padding-top:22px; border-color:#cdbd99; gap:16px; }
        .founder-names strong { font:400 18px/1.4 var(--serif); }
        .founder-names span { font-size:11px; }
        .testimonials-section { background:#eae2d2; padding:64px var(--gutter); border:0; }
        .testimonials-section > .eyebrow { color:var(--gold); }
        .testimonials-section > h2 { font-size:clamp(34px,3.7vw,54px); }
        .quotes { gap:24px; margin-top:30px; }
        .quotes figure { padding:26px; background:#fffefa; border:0; }
        .quotes .quote-mark { display:block; color:#a47b28; font:400 52px/1 var(--serif); margin:0; }
        .quotes blockquote { font:400 20px/1.55 var(--serif); margin:10px 0 24px; }
        .quotes figcaption { padding:14px 0 0; border-left:0; border-top:1px solid var(--line); width:100%; font-size:13px; }
        .quotes figcaption small { font-size:11px; margin-top:3px; }
        .visit-section { padding:80px var(--gutter); gap:0; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); background:var(--paper); }
        .visit-image { min-height:540px; }
        .visit-image img { object-position:50% 50%; }
        .visit-image > span { left:24px; bottom:24px; background:#26251fe6; color:#f3e6c7; font-size:9px; padding:10px 16px; }
        .visit-copy { background:var(--wash); padding:40px; justify-content:center; }
        .visit-copy > .eyebrow { color:var(--gold); margin-bottom:16px; }
        .visit-copy h2 { font-size:clamp(32px,3.4vw,48px); }
        .visit-copy > p { font-size:14px; margin-top:20px; }
        .visit-copy address { border-block:1px solid #d2c5aa; padding:22px 0; margin:24px 0 16px; color:var(--muted); font-size:14px; width:100%; }
        .visit-actions { gap:10px 24px; }
        .visit-copy > small { font-size:11px; line-height:1.7; }
        .faq-section { padding-block:64px; background:var(--wash); grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
        .faq-section .eyebrow { color:var(--gold); margin-bottom:16px; }
        .faq-section > div > p { font-size:14px; line-height:2; }
        .faq-list summary { font-size:14px; padding:20px 0; }
        .faq-list details > p { font-size:13px; line-height:1.8; }
        .faq-list details[open] summary { color:var(--gold); }
        footer { background:#fff; border-top:1px solid #d1c5aa; padding-top:50px; }
        .footer-brand > p { font:400 24px/1.35 var(--serif); }
        .footer-main h3 { color:var(--gold); }
        .footer-bottom { margin-top:32px; border-color:var(--line); }
        dialog { background:var(--paper); border:1px solid #d2c1a0; padding:32px; box-shadow:0 20px 100px #16171044; }
        dialog::backdrop { background:#191c17b8; backdrop-filter:blur(4px); }
        .dialog-heading { border-bottom:1px solid var(--line); padding-bottom:20px; }
        .dialog-heading h2 { font:400 36px/1.15 var(--serif); }
        .dialog-heading .eyebrow { color:var(--gold); }
        .dialog-intro { font-size:14px; }
        .icon-button { background:var(--paper); border-color:var(--line); }
        .product-dialog { padding:0; width:1040px; }
        .product-detail-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
        .detail-photo { background:#e9e4da; }
        .detail-copy { padding:36px; }
        .detail-copy h2 { font:400 36px/1.15 var(--serif); }
        .detail-copy .eyebrow { color:var(--gold); }
        .detail-brand-logo { width:64px; height:64px; background:#fff; }
        .detail-specs { background:var(--wash); padding:0 14px; border:1px solid var(--line); }
        .detail-specs > div { font-size:12px; }
        .detail-specs > div:last-child { border-bottom:0; }
        .detail-gallery { gap:12px; }
        .detail-gallery button { width:64px; height:80px; }
        .detail-gallery button[aria-pressed=true] { border-color:var(--gold); }
        .saved-row h3 { font:400 22px/1.2 var(--serif); }
        .saved-row > img { width:78px; height:100px; }
        .enquiry-selection { background:var(--wash); border-left:2px solid var(--gold); color:var(--ink); }
        .enquiry-dialog input, .enquiry-dialog textarea { border-color:#c9bea8; background:#fff; }
        .enquiry-dialog label { font-size:13px; }
        .menu-dialog nav > a { font:400 26px/1.3 var(--serif); padding:18px 0; }
        .video-dialog { background:#292b23; padding:20px; }
        .video-dialog .dialog-heading { border-color:#ffffff30; }
        .video-dialog .icon-button { background:transparent; color:#fff; }
        @media(min-width:1650px) { .hero h1 { font-size:80px; } }
        @media(max-width:1100px) {
            .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
            .brand-grid { gap:20px; }
            .brand-card > .brand-caption { padding:20px; grid-template-columns:48px 1fr; gap:12px; }
            .brand-card .brand-logo { width:48px; height:48px; }
            .brand-card h3 { font-size:21px; }
            .craft-section, .story-section { gap:36px; }
            .visit-copy { padding:30px; }
            .steps { gap:24px; }
        }
        @media(max-width:800px) {
            :root { --gutter:24px; }
            .hero { padding-block:44px; }
            .hero h1 { font-size:clamp(38px,6vw,58px); }
            .hero-copy > p { font-size:15px; }
            .section, .brands-section, .craft-section, .story-section, .visit-section { padding-block:56px; }
            .section-heading { align-items:start; gap:18px; margin-bottom:28px; }
            .section-heading > p { max-width:500px; }
            .proof-strip { padding-block:24px; gap:20px; }
            .proof-strip > div { padding-left:14px; }
            .proof-strip strong { font-size:18px; }
            .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
            .brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .craft-section, .story-section, .visit-section { grid-template-columns:1fr; gap:32px; }
            .craft-image { min-height:0; aspect-ratio:4/3; }
            .craft-image > .craft-detail { width:24%; top:20px; right:20px; }
            .craft-copy { padding:0; }
            .wholesale-section { grid-template-columns:1fr; padding-block:48px; gap:30px; }
            .wholesale-visual { aspect-ratio:16/7; }
            .steps { grid-template-columns:1fr; gap:24px; padding-top:26px; }
            .steps > div { max-width:580px; }
            .story-image { padding:16px; }
            .quotes { grid-template-columns:1fr; gap:16px; }
            .quotes figure { padding:24px; }
            .quotes blockquote { font-size:21px; }
            .testimonials-section { padding-block:48px; }
            .visit-section { gap:0; }
            .visit-image { min-height:0; aspect-ratio:4/3; }
            .visit-copy { padding:30px; }
            .faq-section { grid-template-columns:1fr; gap:28px; padding-block:48px; }
            .product-detail-grid { grid-template-columns:1fr; }
            .detail-copy { padding:28px; }
            .detail-photo img { min-height:0; height:auto; max-height:600px; }
        }
        @media(max-width:540px) {
            :root { --gutter:20px; }
            h2, .section-heading h2, .story-copy h2, .wholesale-section h2, .craft-copy h2, .visit-copy h2, .testimonials-section > h2 { font-size:34px; }
            .hero { padding-block:38px; }
            .hero h1 { font-size:40px; }
            .hero-actions { gap:10px; width:100%; flex-direction:row; align-items:center; }
            .hero-actions .button { padding:12px; gap:10px; font-size:12px; width:auto; flex:1 1 auto; }
            .hero-actions .button::after { width:16px; height:16px; }
            .proof-strip { gap:18px; padding-block:22px; }
            .proof-strip > div { padding-left:16px; }
            .proof-strip strong { font-size:20px; }
            .section, .brands-section, .craft-section, .story-section, .visit-section { padding-block:44px; }
            .collection-toolbar { padding:6px 12px; gap:8px; }
            .filter-tabs { gap:16px; }
            .filter-tabs button { font-size:12px; padding-block:12px; }
            .collection-controls { gap:10px; }
            .search-box { min-width:0; }
            .search-box input { width:100%; min-width:0; font-size:12px; }
            .collection-controls select { max-width:48%; font-size:12px; }
            .product-grid { gap:24px 12px; }
            .product-brand { font-size:9px; margin-top:12px; }
            .product-title { font-size:20px; }
            .product-meta { font-size:11px; }
            .product-quick { font-size:11px; padding:10px; }
            .save-product { top:8px; right:8px; width:38px; height:38px; }
            .collection-footer { flex-direction:column; align-items:start; gap:14px; }
            .brand-grid { grid-template-columns:1fr; gap:22px; }
            .brand-card > .brand-visual { aspect-ratio:5/4; }
            .brand-card > .brand-caption { padding:22px; grid-template-columns:60px 1fr; gap:16px; }
            .brand-card .brand-logo { width:60px; height:60px; }
            .brand-card h3 { font-size:26px; }
            .craft-image { aspect-ratio:4/5; }
            .craft-image > .craft-detail { width:31%; top:16px; right:16px; border-width:4px; }
            .craft-label { left:20px; top:20px; font-size:8px; }
            .film-button { left:20px; bottom:22px; font-size:26px; }
            .craft-points h3 { font-size:21px; }
            .wholesale-visual { aspect-ratio:8/5; }
            .wholesale-section { gap:28px; }
            .steps h3 { font-size:23px; }
            .founder-names { gap:8px; }
            .founder-names strong { font-size:16px; }
            .story-image img { aspect-ratio:5/4; }
            .visit-copy { padding:26px 22px; }
            .visit-image { aspect-ratio:5/4; }
            .quotes figure { padding:24px; }
            .faq-list summary { font-size:13px; }
            .footer-main { gap:30px 20px; }
            .footer-brand > p { font-size:22px; }
            dialog { padding:24px; }
            .dialog-heading h2, .detail-copy h2 { font-size:30px; }
            .detail-copy { padding:24px; }
            .product-dialog { padding:0; }
            .video-dialog { padding:16px; }
            .form-actions .button { font-size:12px; padding:12px; gap:12px; }
        }
        @media(prefers-reduced-motion:reduce) { .brand-card > .brand-visual { transition:none; } .brand-card:hover .brand-visual { transform:none; } }
        /* Final media and form system: square context photos, 4:5 fashion photos. */
        :root { --paper:#fffefa; --wash:#f5f3ee; --line:#dedbd4; --muted:#68655e; }
        .brands-section { background:#eeebe4; }
        .testimonials-section { background:#eeeae2; }
        .collection-toolbar, .visit-copy, .faq-section, .detail-specs, .enquiry-selection { background:var(--wash); }
        .story-image { padding:0; background:transparent; }
        .story-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
        .product-image { aspect-ratio:4/5; }
        .product-image img { object-fit:cover; object-position:center; transition:none; }
        .product-card:hover .product-image img { transform:none; }
        .brand-card > .brand-visual { aspect-ratio:4/5; object-fit:cover; object-position:center; background:#fff; transition:none; }
        .brand-card:hover .brand-visual { transform:none; }
        .brand-card:hover h3 { color:var(--ink); }
        .craft-image { min-height:0; aspect-ratio:1; align-self:center; }
        .craft-image > img { object-fit:cover; object-position:center; }
        .craft-image > .craft-detail { aspect-ratio:4/5; box-shadow:none; }
        .craft-detail img { transform:none; object-fit:cover; object-position:center; }
        .wholesale-visual { width:min(100%,352px); max-width:100%; height:auto; max-height:none; aspect-ratio:4/5; object-fit:cover; object-position:center; justify-self:center; }
        .visit-image { min-height:0; aspect-ratio:1; align-self:center; }
        .visit-image img { object-fit:cover; object-position:center; }
        .detail-photo { align-self:start; aspect-ratio:4/5; background:transparent; }
        .product-dialog { container-type:inline-size; }
        .detail-copy { padding:24px 28px; max-height:calc(100cqw * .654762); overflow-y:auto; overscroll-behavior:contain; }
        .detail-brand-logo { width:48px; height:48px; margin-bottom:14px; }
        .detail-copy h2 { font-size:32px; margin:10px 0 14px; }
        .detail-copy > p { line-height:1.65; }
        .detail-specs { margin:16px 0; }
        .detail-gallery { margin:10px 0 14px; }
        .detail-copy .button { margin-top:6px; }
        .detail-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; min-height:0; max-height:none; object-fit:cover; object-position:center; }
        .detail-gallery button { width:64px; height:80px; aspect-ratio:4/5; }
        .detail-gallery img { object-fit:cover; object-position:center; }
        .detail-gallery button[aria-pressed=true] { border:2px solid var(--ink); }
        .saved-row > img { width:80px; height:100px; aspect-ratio:4/5; object-fit:cover; object-position:center; }
        .product-quick, .product-card:hover .product-quick, .product-card:focus-within .product-quick { transform:none; transition:none; }
        .desktop-nav a::after { display:none; }
        .desktop-nav a:hover { color:var(--muted); }
        :where(button,a,input,textarea,select,summary):focus-visible { outline:2px solid #55574f; outline-offset:3px; }
        .search-box { min-height:46px; padding:0 12px; background:#fff; border:1px solid #d1d0ca; gap:10px; }
        .search-box svg { color:#767770; }
        .search-box input { width:145px; min-height:44px; padding:10px 0; background:transparent; border:0; outline:0; box-shadow:none; font-size:13px; }
        .search-box:focus-within { border-color:#777a70; box-shadow:0 0 0 1px #777a70; }
        .search-box input:focus-visible { outline:0; }
        .collection-controls select { min-height:46px; background:#fff; border:1px solid #d1d0ca; }
        .enquiry-dialog input, .enquiry-dialog textarea { border:1px solid #d1d0ca; background:#fff; padding:12px 14px; outline:0; box-shadow:none; }
        .enquiry-dialog input { height:48px; }
        .enquiry-dialog textarea { min-height:104px; }
        .enquiry-dialog input:focus, .enquiry-dialog textarea:focus, .collection-controls select:focus { border-color:#777a70; outline:0; box-shadow:0 0 0 1px #777a70; }
        .enquiry-dialog input::placeholder, .enquiry-dialog textarea::placeholder, .search-box input::placeholder { color:#84857d; opacity:1; }
        .enquiry-selection { border-left-color:#b1b3a8; }
        .button, .text-button, .icon-button, .save-product { transition:none; }
        @media(max-width:800px) {
            .craft-image, .visit-image { aspect-ratio:1; }
            .wholesale-visual { width:min(100%,352px); max-height:none; }
            .detail-copy { max-height:none; overflow:visible; }
        }
        @media(max-width:540px) {
            .search-box { flex:1; padding-inline:10px; }
            .search-box input { width:100%; min-width:0; font-size:12px; }
            .collection-controls select { flex:1; min-width:0; }
        }
        /* Colour-only refinement after reviewing Aachho Luxe, Anita Dongre's
           Benarasi collection, Tarun Tahiliani craftsmanship and Growify's
           Tarun Tahiliani / Ridhi Mehra case studies. Garment imagery supplies
           the varied colour; garnet anchors wholesale actions and ivory keeps
           embroidery legible. Registered logo pixels remain untouched. */
        :root {
            --paper:#fffdf8; --white:#ffffff; --ink:#302823; --muted:#6d5e57;
            --accent:#692c38; --accent-hover:#51212c; --gold:#896516;
            --wash:#f7f0e6; --rose-wash:#f4e8e5; --line:#e3d6ce;
            --control-line:#bba59c; --on-dark:#fff7ed; --on-dark-muted:#eddbd5;
        }
        body, .collections, .craft-section, .story-section, .visit-section { background:var(--paper); }
        .header, footer { background:var(--white); border-color:var(--line); }
        .announcement { background:var(--accent); color:var(--on-dark); }
        .proof-strip, .collection-toolbar, .visit-copy, .faq-section,
        .closing-cta, .detail-specs, .enquiry-selection { background:var(--wash); }
        .brands-section { background:var(--rose-wash); }
        .testimonials-section { background:var(--wash); }
        .brand-card, .brand-card > .brand-caption, .quotes figure, dialog,
        .icon-button, .mobile-bottom { background:var(--paper); border-color:var(--line); }
        .brand-logo, .detail-brand-logo, .brand-card .brand-logo { background:var(--white); }
        .eyebrow, .section-heading .eyebrow, .craft-copy > .eyebrow,
        .story-copy .eyebrow, .testimonials-section > .eyebrow,
        .visit-copy > .eyebrow, .faq-section .eyebrow, .closing-cta .eyebrow,
        .dialog-heading .eyebrow, .detail-copy .eyebrow, .product-brand,
        .footer-main h3, .craft-points > div > span,
        .quotes .quote-mark, .faq-list details[open] summary { color:var(--accent); }
        .story-image > span { background:var(--paper); color:var(--muted); }
        .founder-names, .visit-copy address, .quotes figcaption,
        .brand-description, .footer-bottom, .steps, .craft-points > div { border-color:var(--line); }
        .quotes figcaption { border-left-color:var(--accent); }
        .button, .button.small, .button.light, .mobile-bottom button[data-enquire] {
            background:var(--accent); border-color:var(--accent); color:var(--on-dark);
        }
        .button:hover, .button.small:hover, .button.light:hover,
        .mobile-bottom button[data-enquire]:hover {
            background:var(--accent-hover); border-color:var(--accent-hover); color:var(--on-dark);
        }
        .button.outline { background:transparent; border-color:var(--accent); color:var(--accent); }
        .button.outline:hover { background:var(--rose-wash); border-color:var(--accent); color:var(--accent); }
        .text-button { color:var(--accent); border-color:var(--control-line); }
        .text-button:hover { border-color:var(--accent); }
        .desktop-nav a:hover, .saved-button, .save-product,
        .product-meta span:last-child, .filter-tabs button.active { color:var(--accent); }
        .filter-tabs button.active::after { background:var(--accent); }
        .save-product, .product-image .tag, .product-quick { background:#fffdf8f5; color:var(--ink); }
        .product-image, .craft-image, .visit-image { background:var(--wash); }
        .brand-card::after { background-color:var(--paper); }
        .wholesale-section { background:var(--accent); color:var(--on-dark); }
        .wholesale-section h2, .wholesale-section em, .steps h3 { color:var(--on-dark); }
        .wholesale-section .eyebrow, .steps > div > span { color:#e5c589; }
        .wholesale-heading > p, .steps p { color:var(--on-dark-muted); }
        .wholesale-section .steps, .steps > div { border-color:#ffffff38; }
        .wholesale-heading .button, .hero-actions .button {
            background:var(--paper); border-color:var(--paper); color:var(--accent);
        }
        .wholesale-heading .button:hover, .hero-actions .button:hover {
            background:var(--wash); border-color:var(--wash); color:var(--accent);
        }
        .hero-actions .button.outline { background:transparent; color:var(--on-dark); border-color:#fff7edb3; }
        .hero-actions .button.outline:hover { background:var(--paper); border-color:var(--paper); color:var(--accent); }
        .hero-copy > p { color:var(--on-dark); }
        .hero-copy .eyebrow { color:var(--on-dark-muted); }
        .hero .tiny-line { background:#d09808; }
        .hero-image::after { background:linear-gradient(90deg,rgba(30,23,21,.86),rgba(30,23,21,.57) 48%,rgba(30,23,21,.18)); }
        .craft-image::after { background:linear-gradient(transparent 45%,#211916ca); }
        .visit-image > span { background:#302823eb; color:var(--on-dark); }
        .film-button .play-circle { background:var(--paper); color:var(--accent); }
        .search-box, .collection-controls select, .enquiry-dialog input,
        .enquiry-dialog textarea { background:var(--white); border-color:var(--control-line); color:var(--ink); }
        .search-box input { background:transparent; color:var(--ink); }
        .search-box svg { color:var(--muted); }
        .search-box:focus-within, .enquiry-dialog input:focus,
        .enquiry-dialog textarea:focus, .collection-controls select:focus {
            border-color:var(--accent); box-shadow:0 0 0 1px var(--accent);
        }
        :where(button,a,input,textarea,select,summary):focus-visible { outline-color:var(--accent); }
        .hero :focus-visible, .wholesale-section :focus-visible { outline-color:var(--on-dark); }
        .search-box input:focus-visible { outline:0; }
        .enquiry-dialog input::placeholder, .enquiry-dialog textarea::placeholder,
        .search-box input::placeholder { color:var(--muted); }
        .enquiry-selection { border-left-color:var(--accent); }
        .detail-gallery button[aria-pressed=true] { border-color:var(--accent); }
        .video-dialog { background:var(--ink); }
        .video-dialog .icon-button { background:transparent; color:var(--on-dark); }
        dialog::backdrop { background:#302823b8; }
        .footer-main a:hover, .footer-main button:hover, .footer-bottom a:hover { color:var(--accent); }
        @media(max-width:800px) {
            .hero-image::after { background:linear-gradient(90deg,rgba(30,23,21,.9),rgba(30,23,21,.55)); }
        }
        /* Footer: clear editorial hierarchy and readable business contacts. */
        footer { background:var(--white); padding:56px var(--gutter) 24px; border-top:1px solid var(--line); }
        footer .footer-main { grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr) minmax(0,1fr) minmax(0,1.05fr); gap:48px; align-items:start; }
        footer .footer-brand { padding-right:40px; border-right:1px solid var(--line); }
        footer .footer-brand .wordmark { display:inline-flex; padding:0; background:transparent; }
        footer .footer-brand .wordmark img { width:220px; height:44px; object-fit:contain; }
        footer .footer-brand > p { margin:24px 0 22px; color:var(--ink); font:400 27px/1.35 var(--serif); letter-spacing:-.025em; }
        footer .footer-main h3 { margin:4px 0 20px; color:var(--accent); font:600 11px/1.5 var(--sans); letter-spacing:.1em; }
        footer .footer-main a:not(.wordmark), footer .footer-main button,
        footer .footer-main p:not(.footer-brand > p) { color:var(--muted); font-size:13px; line-height:1.7; }
        footer .footer-main > div > a:not(.wordmark), footer .footer-main > div > button { width:fit-content; max-width:100%; margin:0 0 12px; padding:0; }
        footer .footer-main > div:last-child > a { color:var(--ink); font-size:14px; overflow-wrap:anywhere; }
        footer .footer-main > div:last-child > p { margin:20px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
        footer .social-links { display:flex; gap:24px; flex-wrap:wrap; }
        footer .social-links a { color:var(--accent); font-size:12px; }
        footer a:hover, footer .footer-main button:hover { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
        footer .footer-bottom { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; margin-top:40px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.6; }
        footer .footer-bottom > div { gap:24px; width:auto; }
        footer .footer-bottom > a { justify-self:end; color:var(--accent); }
        @media(max-width:1100px) {
            footer .footer-main { gap:30px; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.1fr); }
            footer .footer-brand { padding-right:24px; }
            footer .footer-brand > p { font-size:24px; }
        }
        @media(max-width:800px) {
            footer { padding-top:40px; padding-bottom:92px; }
            footer .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 36px; }
            footer .footer-brand { grid-column:1/-1; padding:0 0 28px; border-right:0; border-bottom:1px solid var(--line); }
            footer .footer-brand > p { font-size:28px; margin-block:20px; }
            footer .footer-main > div:last-child { grid-column:1/-1; padding-top:24px; border-top:1px solid var(--line); }
            footer .footer-bottom { grid-template-columns:1fr auto; gap:18px; margin-top:28px; }
            footer .footer-bottom > div { grid-column:1/-1; grid-row:2; gap:22px; }
        }
        @media(max-width:380px) {
            footer .footer-main { column-gap:24px; }
            footer .footer-main h3 { font-size:10px; letter-spacing:.07em; }
            footer .footer-main a:not(.wordmark), footer .footer-main button { font-size:12px; }
            footer .footer-brand > p { font-size:25px; }
            footer .footer-bottom { column-gap:12px; font-size:10px; }
        }
        /* Collection edit: one reading axis and unobstructed garment imagery. */
        .collections .section-heading { display:block; margin-bottom:28px; }
        .collections .section-heading .eyebrow { margin-bottom:12px; }
        .collections .section-heading h2 { text-wrap:initial; }
        .collections .section-heading > p { max-width:580px; margin:14px 0 0; padding:0; font-size:14px; line-height:1.75; }
        .collections .collection-toolbar { background:transparent; border:0; border-bottom:1px solid var(--line); padding:0 0 14px; gap:24px; }
        .collections .filter-tabs { gap:26px; }
        .collections .filter-tabs button { padding:12px 0; min-height:46px; }
        .collections .filter-tabs button.active::after { bottom:0; }
        .collections .collection-controls { gap:12px; width:auto; }
        .collections .search-box, .collections .collection-controls select { background:var(--white); border-color:var(--line); }
        .collections .search-box:focus-within, .collections .collection-controls select:focus { border-color:var(--accent); }
        .collections .collection-status { margin:14px 0 22px; font-size:11px; }
        .collections .product-grid { gap:36px 24px; }
        .collections .product-image { overflow:hidden; }
        .collections .save-product { width:40px; height:40px; top:10px; right:10px; border:0; }
        .collections .product-brand { margin:16px 0 5px; font-size:10px; letter-spacing:.06em; }
        .collections .product-title { font-size:24px; line-height:1.2; }
        .collections .product-meta { margin-top:7px; font-size:12px; }
        .collections .product-meta span:first-child { display:block; color:var(--muted); font-size:inherit; }
        .collections .product-quick { position:static; display:inline-flex; width:fit-content; min-height:44px; padding:8px 0; margin-top:5px; gap:14px; justify-content:start; background:transparent; border:0; color:var(--accent); font-size:12px; }
        .collections .product-quick::after { width:16px; height:16px; flex-basis:16px; }
        .collections .product-quick:hover { text-decoration:underline; text-underline-offset:4px; }
        .collections .collection-footer { margin-top:28px; padding-top:22px; }
        @media(max-width:1100px) {
            .collections .collection-toolbar { flex-wrap:wrap; gap:14px 24px; }
            .collections .collection-controls { width:100%; justify-content:start; }
        }
        @media(max-width:540px) {
            .collections .section-heading { margin-bottom:22px; }
            .collections .section-heading > p { font-size:13px; margin-top:12px; }
            .collections .collection-toolbar { gap:12px; padding-bottom:14px; }
            .collections .filter-tabs { gap:20px; width:100%; }
            .collections .filter-tabs button { font-size:11px; }
            .collections .collection-controls { gap:10px; }
            .collections .search-box { flex:1.2; }
            .collections .collection-controls select { flex:1; max-width:none; }
            .collections .product-grid { gap:28px 16px; }
            .collections .product-brand { margin-top:12px; font-size:9px; letter-spacing:.02em; }
            .collections .product-title { font-size:21px; }
            .collections .product-meta { font-size:11px; }
            .collections .save-product { width:36px; height:36px; top:8px; right:8px; }
        }
        footer { background:#692c38; color:var(--on-dark); border-top-color:#ffffff26; }
        footer .footer-brand { border-color:#ffffff30; }
        footer .footer-brand .wordmark, footer .footer-brand .wordmark img { background:transparent; }
        footer .footer-brand > p, footer .footer-main h3,
        footer .footer-main > div:last-child > a { color:var(--on-dark); }
        footer .footer-main a:not(.wordmark), footer .footer-main button,
        footer .footer-main p:not(.footer-brand > p), footer .footer-main > div:last-child > p,
        footer .footer-bottom, footer .footer-bottom > a { color:var(--on-dark-muted); }
        footer .footer-bottom, footer .footer-main > div:last-child { border-color:#ffffff30; }
        footer a:hover, footer .footer-main a:not(.wordmark):hover,
        footer .footer-main button:hover, footer .footer-bottom a:hover {
            color:#fff; text-decoration:underline; text-underline-offset:4px;
        }
        footer :focus-visible { outline-color:var(--on-dark); }
        /* Quiet brand presentation: no decorative bars or image overlays. */
        .proof-strip { background:var(--paper); border-top:0; border-bottom:1px solid var(--line); padding-block:24px; gap:40px; }
        .proof-strip > div { padding:0; border:0; }
        .proof-strip strong { font:400 20px/1.3 var(--serif); color:var(--ink); }
        .proof-strip span { font-size:12px; margin-top:5px; }
        .brands-section .section-heading { display:block; margin-bottom:28px; }
        .brands-section .section-heading > p { max-width:580px; margin:14px 0 0; padding:0; font-size:14px; line-height:1.75; }
        .brands-section .section-heading .eyebrow { margin-bottom:12px; }
        .brand-grid { gap:36px 28px; align-items:start; }
        .brand-card { background:transparent; overflow:visible; }
        .brand-card::after { display:none; }
        .brand-card > .brand-caption { padding:20px 0 0; background:transparent; border:0; min-height:0; grid-template-columns:56px minmax(0,1fr); gap:10px 16px; align-items:center; }
        .brand-card .brand-logo { width:56px; height:56px; object-fit:contain; }
        .brand-card h3 { font:400 24px/1.2 var(--serif); letter-spacing:-.025em; margin:0 0 6px; color:var(--ink); }
        .brand-card p { font:400 11px/1.6 var(--sans); margin:0; color:var(--muted); }
        .brand-description { border:0; padding:0; font:400 13px/1.75 var(--sans); color:var(--muted); }
        @media(max-width:800px) {
            .proof-strip { gap:22px; }
            .brand-grid { gap:30px 24px; }
            .brand-card > .brand-caption { grid-template-columns:48px minmax(0,1fr); gap:10px 12px; }
            .brand-card .brand-logo { width:48px; height:48px; }
            .brand-card h3 { font-size:22px; }
        }
        @media(max-width:540px) {
            .proof-strip { gap:16px; padding-block:22px; }
            .proof-strip strong { font-size:19px; }
            .brands-section .section-heading > p { font-size:13px; margin-top:12px; }
            .brand-grid { gap:32px; }
            .brand-card > .brand-caption { grid-template-columns:56px minmax(0,1fr); gap:10px 16px; padding-top:16px; }
            .brand-card .brand-logo { width:56px; height:56px; }
            .brand-card h3 { font-size:24px; }
        }
        .proof-strip { display:block; overflow:hidden; padding:0; background:var(--paper); }
        .proof-strip > .proof-track { display:flex; width:max-content; padding:0; border:0; animation:proof-slide 28s linear infinite; }
        .proof-group { display:flex; align-items:center; width:max(100vw,960px); flex-shrink:0; padding:24px 0; }
        .proof-item { display:flex; align-items:center; justify-content:center; gap:14px; flex:1; white-space:nowrap; padding:0 24px; }
        .proof-item svg { width:24px; height:24px; flex-shrink:0; fill:none; stroke:var(--accent); stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
        .proof-item strong { font:400 20px/1.4 var(--serif); }
        .proof-strip:hover .proof-track { animation-play-state:paused; }
        @keyframes proof-slide { from { transform:translateX(0); } to { transform:translateX(-50%); } }
        @media(max-width:540px) {
            .proof-group { width:840px; padding:20px 0; }
            .proof-item { gap:12px; padding:0 20px; }
            .proof-item strong { font-size:18px; }
            .proof-item svg { width:22px; height:22px; }
        }
        @media(prefers-reduced-motion:reduce) {
            .proof-strip > .proof-track { animation:none; width:100%; }
            .proof-group { width:100%; min-width:0; flex-wrap:wrap; gap:20px; padding:24px var(--gutter); }
            .proof-group[aria-hidden="true"] { display:none; }
            .proof-item { padding:0; }
        }
