@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--p-bg:#fff;--p-bg-soft:#fafaf9;--p-bg-tint:#f5f5f4;--p-border:#0000000f;--p-border-strong:#0000001f;--p-text:#111;--p-text-soft:#555;--p-text-mute:#8a8a8a;--p-text-dim:#b0b0b0;--p-accent:#111;--p-ease:cubic-bezier(.16, 1, .3, 1)}.products-page{background:var(--p-bg);min-height:100vh;color:var(--p-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400}.products-hero{max-width:1400px;margin:0 auto;padding:200px 6vw 60px}.products-hero-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--p-text-mute);opacity:0;animation:pfade .8s 50ms var(--p-ease) forwards;align-items:center;gap:12px;margin-bottom:28px;font-size:11px;font-weight:500;display:inline-flex}.products-hero-eyebrow:before{content:"";background:var(--p-text-mute);width:28px;height:1px}.products-hero-title{letter-spacing:-.045em;color:var(--p-text);opacity:0;animation:pfade .9s .15s var(--p-ease) forwards;margin:0;font-size:clamp(2.6rem,6vw,5.2rem);font-weight:600;line-height:.98}.products-hero-meta{opacity:0;animation:pfade .9s .3s var(--p-ease) forwards;align-items:center;gap:12px;margin-top:36px;display:flex}.meta-pill{border:1px solid var(--p-border);color:var(--p-text-soft);background:var(--p-bg);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:inline-flex}.meta-pill-dot{background:var(--p-accent);border-radius:50%;width:6px;height:6px}@keyframes pfade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.products-grid-wrapper{flex-direction:column;gap:88px;max-width:1400px;margin:0 auto;padding:32px 6vw 120px;display:flex}.product-group{opacity:0;animation:pfade .8s var(--p-ease) forwards}.product-group:first-child{animation-delay:.4s}.product-group:nth-child(2){animation-delay:.5s}.product-group:nth-child(3){animation-delay:.6s}.product-group:nth-child(4){animation-delay:.7s}.product-group-header{border-bottom:1px solid var(--p-border);justify-content:space-between;align-items:flex-end;margin-bottom:36px;padding-bottom:18px;display:flex}.product-group-title{color:var(--p-text);letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:600}.product-group-count{letter-spacing:.22em;text-transform:uppercase;color:var(--p-text-mute);font-size:11px;font-weight:500}.products-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;display:grid}.product-card{background:var(--p-bg);cursor:pointer;transition:transform .5s var(--p-ease), box-shadow .5s var(--p-ease);border-radius:14px;position:relative;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px #00000014,0 6px 20px #0000000a}.product-card-image-wrap{aspect-ratio:4/5;background:var(--p-bg-tint);border-radius:14px;position:relative;overflow:hidden}.product-card-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--p-ease);cursor:zoom-in;display:block}.product-card:hover .product-card-image-wrap img{transform:scale(1.04)}.product-card-body{padding:18px 4px 8px}.product-name{color:var(--p-text);letter-spacing:-.01em;margin:0 0 6px;font-size:1rem;font-weight:600;line-height:1.3}.product-desc{color:var(--p-text-mute);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.82rem;font-weight:400;line-height:1.55;display:-webkit-box;overflow:hidden}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:120px 20px;display:flex}.empty-icon{border:1px solid var(--p-border-strong);width:56px;height:56px;color:var(--p-text-mute);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-title{letter-spacing:.2em;text-transform:uppercase;color:var(--p-text-mute);margin:0;font-size:12px;font-weight:500}.lightbox-overlay{-webkit-backdrop-filter:blur(20px)saturate(1.2);z-index:1000;animation:lbfade .35s var(--p-ease);background:#ffffffd9;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}@keyframes lbfade{0%{opacity:0}to{opacity:1}}.lightbox-close{border:1px solid var(--p-border-strong);background:var(--p-bg);width:44px;height:44px;color:var(--p-text);cursor:pointer;z-index:1001;border-radius:50%;justify-content:center;align-items:center;transition:background .25s,transform .25s;display:flex;position:fixed;top:28px;right:32px}.lightbox-close:hover{background:var(--p-bg-tint);transform:rotate(90deg)}.lightbox-inner{background:var(--p-bg);width:100%;max-width:min(90vw,1080px);animation:lbup .5s var(--p-ease);border-radius:18px;grid-template-columns:1.15fr 1fr;display:grid;overflow:hidden;box-shadow:0 40px 80px #0000001f}@keyframes lbup{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.lightbox-img{object-fit:cover;background:var(--p-bg-tint);width:100%;height:100%;max-height:80vh;display:block}.lightbox-info{flex-direction:column;justify-content:center;gap:18px;padding:56px 48px;display:flex}.lightbox-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--p-text-mute);font-size:11px;font-weight:500}.lightbox-name{color:var(--p-text);letter-spacing:-.025em;margin:0;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:600;line-height:1.1}.lightbox-desc{color:var(--p-text-soft);margin:0;font-size:.92rem;font-weight:400;line-height:1.7}@media (max-width:900px){.products-hero{padding:150px 5vw 40px}.products-grid-wrapper{gap:60px;padding:24px 5vw 80px}.products-grid{grid-template-columns:repeat(2,1fr);gap:16px}.lightbox-inner{grid-template-columns:1fr;max-height:90vh;overflow-y:auto}.lightbox-img{aspect-ratio:4/3;max-height:50vh}.lightbox-info{padding:36px 28px}}@media (max-width:480px){.products-grid{grid-template-columns:1fr}}
