.category-card{display:block;position:relative;text-decoration:none;background-color:transparent;outline:none;border-radius:6px;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1)}.category-card:focus-visible{outline:2px solid var(--color-soft-gold,#c5a059);outline-offset:4px;border-radius:6px}.category-image-wrapper{position:relative;overflow:hidden;aspect-ratio:4/5;background-color:#181311;border-radius:6px;border:1px solid rgba(212,185,142,.28);box-shadow:0 12px 32px rgba(0,0,0,.24);transition:box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .4s ease,transform .45s cubic-bezier(.16,1,.3,1)}@media (min-width:768px){.category-image-wrapper{aspect-ratio:16/10}}.category-image{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.16,1,.3,1)}.category-card:hover .category-image-wrapper{box-shadow:0 22px 52px rgba(0,0,0,.42);border-color:rgba(228,203,152,.65);transform:translateY(-3px)}.category-card:hover .category-image{transform:scale(1.045)}.category-image-wrapper:after{content:"";position:absolute;inset:0;background:radial-gradient(95% 85% at 0 100%,rgba(16,11,9,.86) 0,rgba(16,11,9,.54) 44%,rgba(16,11,9,.14) 72%,transparent 100%),linear-gradient(0deg,rgba(16,11,9,.62) 0,rgba(16,11,9,.2) 32%,transparent 56%);z-index:1;pointer-events:none;border-radius:inherit;transition:opacity .35s ease}.category-card:hover .category-image-wrapper:after{opacity:.94}.category-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.category-card-subtitle{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body,system-ui,-apple-system,sans-serif);font-size:.63rem;letter-spacing:.22em;font-weight:500;color:#E4CB98;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.45)}.category-card-subtitle:before{content:"";display:inline-block;width:16px;height:1px;background-color:rgba(228,203,152,.78);flex-shrink:0}.category-card-title{font-family:var(--font-serif);color:#F7F1E8;font-size:clamp(1.42rem,2.1vw,1.85rem);font-weight:450;line-height:1.2;letter-spacing:.02em;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.45);transition:transform .35s cubic-bezier(.16,1,.3,1)}.category-card-desc{font-family:var(--font-body,system-ui,-apple-system,sans-serif);font-size:.82rem;color:rgba(247,241,232,.9);font-weight:450;margin-bottom:6px;letter-spacing:.02em;text-shadow:0 1px 6px rgba(0,0,0,.4)}.category-card:hover .category-card-title{transform:translateY(-2px)}.category-link-text{display:inline-flex;align-items:center;gap:8px;background:rgba(18,13,11,.46);border:1px solid rgba(247,241,232,.5);border-radius:2px;padding:8px 18px;color:#FAF8F5;font-family:var(--font-body,system-ui,-apple-system,sans-serif);font-size:.68rem;letter-spacing:.16em;font-weight:500;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;margin-top:4px}.category-card:hover .category-link-text{background:#F7F1E8;color:#1A1311;border-color:#F7F1E8;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.28)}.category-arrow{display:inline-block;transition:transform .3s cubic-bezier(.16,1,.3,1)}.category-card:hover .category-arrow{transform:translateX(4px)}.category-image-fallback{width:100%;height:100%;background:linear-gradient(160deg,var(--color-champagne,#f9f6f0) 0,var(--color-ivory,#fbf9f5) 60%,var(--color-warm-beige,#eee7de) 100%);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.category-card:hover .category-image-fallback{transform:scale(1.04)}.category-fallback-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0}.category-fallback-monogram{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:2.4rem;font-weight:450;color:var(--color-soft-gold,#c5a059);letter-spacing:4px;line-height:1;opacity:.9}.category-fallback-divider{width:28px;height:1px;background-color:var(--color-soft-gold,#c5a059);margin:14px 0;opacity:.5}.category-fallback-title{font-family:var(--font-heading,"Playfair Display",Georgia,serif);font-size:.85rem;letter-spacing:1.5px;color:var(--color-medium-gray,#666666);font-weight:400;text-align:center;line-height:1.3}.category-card:has(.category-image-fallback) .category-card-subtitle{color:#8E6F34;text-shadow:none}.category-card:has(.category-image-fallback) .category-card-subtitle:before{background-color:#8E6F34}.category-card:has(.category-image-fallback) .category-card-title{color:var(--color-deep-brown,#1a1614);text-shadow:none}.category-card:has(.category-image-fallback) .category-card-desc{color:rgba(26,22,20,.78);text-shadow:none}.category-card:has(.category-image-fallback) .category-link-text{background:rgba(26,22,20,.06);border-color:rgba(26,22,20,.35);color:#1a1614}.category-card:has(.category-image-fallback):hover .category-link-text{background:#1a1614;border-color:#1a1614;color:#FAF8F5}.category-card:has(.category-image-fallback) .category-image-wrapper:after{display:none}@media (max-width:767px){.category-image-wrapper{aspect-ratio:4/5;border-radius:6px}.category-image-wrapper:after{inset:0;background:linear-gradient(0deg,rgba(15,10,8,.88) 0,rgba(15,10,8,.44) 36%,transparent 64%)}.category-content{padding:16px 14px;gap:4px}.category-card-subtitle{font-size:.54rem;letter-spacing:.14em;gap:6px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.category-card-subtitle:before{width:10px}.category-card-title{font-size:1.06rem;line-height:1.22;margin:0 0 2px;text-shadow:0 2px 8px rgba(0,0,0,.65)}.category-card-desc{display:none}.category-link-text{padding:6px 12px;font-size:.58rem;letter-spacing:.12em;margin-top:3px}}@media (max-width:390px){.category-content{padding:12px 10px;gap:3px}.category-card-subtitle{font-size:.49rem;letter-spacing:.11em;gap:5px}.category-card-subtitle:before{width:8px}.category-card-title{font-size:.95rem}.category-link-text{padding:5px 10px;font-size:.54rem;letter-spacing:.09em}}