:root{--ink: #1c1a17;--muted: #756e64;--bg: #f7f4ee;--card: #ffffff;--accent: #a8792f;--accent-dark: #8c6425;--accent-contrast: #ffffff;--border: #e6e0d4;--radius: 14px;--serif: "Playfair Display", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--shadow-sm: 0 1px 2px rgba(28, 26, 23, .06);--shadow-md: 0 12px 24px -12px rgba(28, 26, 23, .18);--shadow-lg: 0 24px 48px -16px rgba(28, 26, 23, .28)}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--border);background:#f7f4eee6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.header-row{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.brand{font-family:var(--serif);font-size:1.5rem;font-weight:700;letter-spacing:.01em}.contact-links{display:flex;align-items:center;gap:24px}.contact-links a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;position:relative}.contact-links a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--ink);transition:width .2s ease}.contact-links a:hover:after{width:100%}.contact-links a.btn{color:var(--accent-contrast);padding:9px 16px}.contact-links a.btn:after{display:none}.hero{padding:72px 0 44px;text-align:center;background:radial-gradient(ellipse at top,rgba(168,121,47,.08),transparent 60%)}.eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:14px}.hero h1{font-family:var(--serif);font-size:3rem;line-height:1.15;margin:0 0 16px;font-weight:700}.hero h1 em{color:var(--accent);font-style:italic}.hero p{color:var(--muted);margin:0 auto;max-width:480px;font-size:1.05rem;line-height:1.6}.filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin:36px 0 28px}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap}.filter-tabs-secondary{padding-left:14px;border-left:1px solid var(--border)}.filter-tabs-secondary.hidden{display:none}.tab-ghost{background:transparent}.sort-select{margin-left:auto;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:.85rem;font-weight:500;font-family:inherit;color:var(--ink);cursor:pointer}.sort-select:focus{outline:2px solid var(--accent)}.tab{padding:9px 20px;border-radius:999px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:.88rem;font-weight:500;font-family:inherit;color:var(--ink);transition:all .15s ease}.tab:hover{border-color:var(--accent)}.tab.active{background:var(--ink);color:var(--accent-contrast);border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-bottom:72px}.loading,.empty{color:var(--muted);padding:48px 0;grid-column:1 / -1;text-align:center}.product-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.product-photo{aspect-ratio:1 / 1;background:linear-gradient(160deg,#f0ece2,#e8e2d4);display:flex;align-items:center;justify-content:center;overflow:hidden}.product-photo-inner{position:relative;width:100%;height:100%}.product-photo img,.product-photo video{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.product-card:hover .product-photo img,.product-card:hover .product-photo video{transform:scale(1.05)}.photo-count-badge{position:absolute;bottom:10px;right:10px;background:#1c1a17b8;color:#fff;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.video-badge{position:absolute;bottom:10px;left:10px;background:#a8792fe0;color:#fff;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0908eb;z-index:200;display:flex;align-items:center;justify-content:center}.lightbox-backdrop.hidden{display:none}.lightbox-stage{max-width:min(90vw,640px);max-height:85vh}.lightbox-stage img,.lightbox-stage video{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px;display:block;margin:0 auto}.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;opacity:.85}.lightbox-close:hover{opacity:1}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2.2rem;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-arrow:hover{background:#fff3}.lightbox-arrow.hidden{display:none}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.85rem}@media (max-width: 560px){.lightbox-arrow{width:42px;height:42px;font-size:1.8rem}.lightbox-prev{left:8px}.lightbox-next{right:8px}}.product-photo .placeholder{font-size:2.75rem;opacity:.35}.product-body{padding:18px;display:flex;flex-direction:column;gap:6px;flex:1}.product-name{font-family:var(--serif);font-weight:700;font-size:1.1rem;line-height:1.3}.product-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.product-category{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.size-badge{font-size:.7rem;font-weight:700;color:var(--accent-dark);border:1px solid var(--border);border-radius:999px;padding:1px 8px;flex-shrink:0}.product-price{font-weight:700;font-size:1.05rem;color:var(--accent-dark);margin-top:4px;margin-bottom:8px}.out-of-stock{color:#a33f3f;font-size:.8rem;font-weight:600}.btn{display:inline-block;border:none;border-radius:8px;padding:11px 18px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;text-align:center;text-decoration:none;transition:all .15s ease}.btn-primary{background:var(--ink);color:var(--accent-contrast);width:100%}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--accent-contrast)}.site-footer{border-top:1px solid var(--border);padding:32px 0;color:var(--muted);font-size:.9rem;text-align:center}.site-footer a{color:var(--ink);font-weight:500}.detail-modal{max-width:560px;padding:0;overflow:hidden}.detail-modal .modal-close{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}.detail-media{background:linear-gradient(160deg,#f0ece2,#e8e2d4)}.detail-main-wrap{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-main-wrap img,.detail-main-wrap video{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.detail-thumbs{display:flex;gap:8px;padding:10px;overflow-x:auto;background:var(--card);border-bottom:1px solid var(--border)}.detail-thumbs img{width:52px;height:52px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.6;border:2px solid transparent;flex-shrink:0}.detail-thumbs img.active,.detail-thumbs img:hover{opacity:1;border-color:var(--accent)}.detail-body{padding:24px 28px 28px;display:flex;flex-direction:column;gap:6px}.detail-body h2{font-family:var(--serif);font-size:1.4rem;margin:2px 0 0}.detail-description{color:var(--muted);font-size:.92rem;line-height:1.5;margin:8px 0 4px}.detail-actions{display:flex;gap:12px;margin-top:14px}.detail-actions .btn{flex:1}.hidden{display:none}.btn-tryon{width:100%;margin-top:10px}.tryon-modal{max-width:480px;text-align:center;padding:24px}.tryon-stage{position:relative;aspect-ratio:4 / 3;background:#111;border-radius:10px;overflow:hidden;transform:scaleX(-1)}.tryon-stage video,.tryon-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tryon-status{min-height:1.3em;margin:14px 0 4px;font-weight:600;color:var(--accent-dark)}.tryon-note{margin:0;font-size:.78rem;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a178c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-backdrop.hidden{display:none}.modal{background:var(--card);border-radius:var(--radius);padding:32px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted)}.modal-close:hover{color:var(--ink)}.modal h2{margin-top:0;font-family:var(--serif);font-size:1.6rem}.modal-product-line{background:#f5f1e8;border-radius:8px;padding:9px 13px;font-size:.88rem;margin-top:-8px;color:var(--accent-dark);font-weight:500}.modal-product-line.hidden{display:none}#quote-form{display:flex;flex-direction:column;gap:16px;margin-top:18px}#quote-form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600}#quote-form input[type=text],#quote-form input[type=email],#quote-form select,#quote-form textarea,#quote-form input[type=file]{padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit;background:var(--bg)}#quote-form input:focus,#quote-form select:focus,#quote-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}fieldset.prescription-block{border:1px solid var(--border);border-radius:8px;padding:14px}fieldset legend{font-size:.82rem;font-weight:700;padding:0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.rx-toggle{display:flex;gap:16px;flex-wrap:wrap;font-weight:400;font-size:.85rem;margin-bottom:10px}.rx-toggle label{flex-direction:row;align-items:center;gap:5px;font-weight:400}.rx-fields.hidden{display:none}.form-status{font-size:.9rem;min-height:1.2em;margin:0;text-align:center}.form-status.error{color:#a33f3f}.form-status.success{color:#2f7d4a}@media (max-width: 560px){.header-row{flex-direction:column;gap:12px;padding:16px}.contact-links{gap:16px}.hero{padding:48px 0 32px}.hero h1{font-size:2.1rem}}
