.ffvp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.ffvp-columns-1{grid-template-columns:1fr}.ffvp-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ffvp-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ffvp-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ffvp-card{display:block;color:inherit;text-decoration:none!important;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 5px 24px #23191214;transition:transform .35s,box-shadow .35s}.ffvp-card:hover{transform:translateY(-6px);box-shadow:0 14px 35px #23191229}.ffvp-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#eee8e1}.ffvp-card-media video,.ffvp-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s}.ffvp-card:hover .ffvp-card-media video,.ffvp-card:hover .ffvp-card-media img{transform:scale(1.045)}.ffvp-view{position:absolute;right:14px;bottom:14px;background:#231d25e0;color:#fff;padding:10px 14px;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.ffvp-card-info{padding:16px 17px 20px}.ffvp-card-info h3{font-size:18px;line-height:1.35;margin:0 0 8px;color:#302925;font-weight:600}.ffvp-price{display:block;color:#6b4938;font-size:20px;font-weight:600}.ffvp-no-image{padding:40px 15px;color:#6b625c;text-align:center;background:#eee8e1}
.ffvp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:550px;gap:clamp(28px,5vw,80px);align-items:center;margin:0 auto 64px;max-width:1500px}.ffvp-hero-media{height:100%;min-height:480px;overflow:hidden;background:#eee8e1;animation:ffvpReveal .75s ease both}.ffvp-hero-media video,.ffvp-hero-media img{display:block;width:100%;height:100%;min-height:480px;object-fit:cover}.ffvp-hero-copy{padding:36px clamp(10px,3vw,42px) 36px 0;animation:ffvpCopyIn .7s .12s ease both}.ffvp-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8b6a55;margin:0 0 16px}.ffvp-hero-copy h1{font-size:clamp(32px,4.2vw,64px);line-height:1.08;font-weight:500;margin:0 0 20px;color:#302925}.ffvp-hero-copy .ffvp-price{font-size:clamp(24px,2.4vw,34px);margin-bottom:30px}.ffvp-cart-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 24px;background:#4b3025;color:#fff!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.09em;font-size:12px;min-width:210px;transition:background .25s,transform .25s}.ffvp-cart-button:hover{background:#76523d;transform:translateY(-2px)}.ffvp-cart-note{font-size:13px;color:#746b65}.ffvp-related{max-width:1500px;margin:0 auto 50px}.ffvp-related-heading{text-align:center;margin:0 0 28px}.ffvp-related-heading h2{font-size:clamp(26px,3vw,40px);font-weight:500;margin:0;color:#302925}.ffvp-card.is-leaving{opacity:0;transform:scale(.97);transition:opacity .22s,transform .22s}
@keyframes ffvpReveal{from{opacity:.55;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes ffvpCopyIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:900px){.ffvp-grid,.ffvp-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ffvp-hero{grid-template-columns:1fr;gap:22px;min-height:0}.ffvp-hero-media,.ffvp-hero-media video,.ffvp-hero-media img{min-height:0;height:auto;aspect-ratio:4/3}.ffvp-hero-copy{padding:10px 6px 20px}.ffvp-hero-copy h1{font-size:38px}}@media(max-width:520px){.ffvp-grid,.ffvp-columns-2,.ffvp-columns-3,.ffvp-columns-4{grid-template-columns:1fr;gap:18px}.ffvp-card-media{aspect-ratio:5/4}.ffvp-hero-media video,.ffvp-hero-media img{aspect-ratio:4/3}.ffvp-cart-button{width:100%}}@media(prefers-reduced-motion:reduce){.ffvp-card,.ffvp-card-media video,.ffvp-card-media img,.ffvp-hero-media,.ffvp-hero-copy,.ffvp-cart-button{animation:none!important;transition:none!important}}
