.featured{background:var(--muted);text-align:center;padding:5rem 0}.featured-inner{flex-direction:column;align-items:center;display:flex}.featured h2{font-family:var(--font-heading);margin-bottom:.75rem;font-size:3rem}.featured-subtitle{max-width:520px;color:var(--muted-foreground);margin-bottom:3rem;font-size:1.2rem;line-height:1.6}.featured-items{grid-template-columns:repeat(4,1fr);gap:2rem;width:100%;margin-bottom:3rem;display:grid}.featured-cta{justify-content:center;display:flex}@media (max-width:1200px){.featured-items{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.featured-items{grid-template-columns:1fr}}
.hero{min-height:90vh;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:75% center;z-index:1}.hero-overlay{z-index:2;background:linear-gradient(90deg,#000000a6 0%,#0006 40%,#0000001a 65%,#0000 80%);justify-content:flex-start;align-items:center;width:100%;min-height:90svh;display:flex;position:relative}.hero-content{max-width:700px;color:var(--primary-foreground);flex-direction:column;align-items:flex-start;display:flex}.hero h1{font-family:var(--font-heading);color:var(--primary-foreground);margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}.hero p{color:var(--primary-foreground);margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.hero-button{background-color:var(--primary);color:var(--primary-foreground);border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-weight:500;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.hero-button:hover{background-color:#6a041b;transform:translateY(-2px)}@media (max-width:768px){.hero{min-height:100svh}.hero-overlay{background:#0009;min-height:100svh}.hero-image{object-position:center top}.hero-content{max-width:100%;padding:0 1.5rem}.hero h1{font-size:2.2rem}.hero p{font-size:1rem}.hero-button{padding:.75rem 1.5rem}}
.seasonal{background:var(--background);text-align:center;padding:3rem 0}.seasonal h2{font-family:var(--font-heading);color:var(--foreground);margin-bottom:.5rem;font-size:clamp(2rem,4vw,2.6rem)}.seasonal p{max-width:520px;color:var(--muted-foreground);margin:0 auto 3.5rem;font-size:1rem;line-height:1.6}.cards-grid{grid-template-columns:1fr;gap:2.25rem;margin:0 auto;padding:0 1.5rem;display:grid}@media (min-width:640px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.cards-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.seasonal{padding:4rem 0}.seasonal p{margin-bottom:2.5rem}.cards-grid{gap:1.75rem}}
.popup-overlay{z-index:1100;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.25s popup-fade;display:flex;position:fixed;inset:0}.popup{background:var(--card);width:100%;max-width:28rem;max-height:calc(100vh - 2rem);color:var(--foreground);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);font-family:var(--font-body);animation:.3s popup-rise;position:relative;overflow-y:auto}.popup-close{width:2rem;height:2rem;color:var(--foreground);cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:flex;position:absolute;top:.6rem;right:.6rem}.popup-close:hover{color:var(--primary)}.popup-image{object-fit:cover;width:100%;max-height:16rem;display:block}.popup-body{text-align:center;padding:1.25rem 1.5rem 1.5rem}.popup-body h2{font-family:var(--font-heading);margin:0 0 .5rem;font-size:1.5rem}.popup-body p{color:var(--muted-foreground);white-space:pre-line;margin:0 0 1.1rem;line-height:1.5}.popup-button{border-radius:var(--radius-lg);background:var(--primary);color:var(--primary-foreground,#fff);padding:.65rem 1.5rem;font-weight:500;text-decoration:none;display:inline-block}.popup-button:hover{opacity:.9}@keyframes popup-fade{0%{opacity:0}to{opacity:1}}@keyframes popup-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.popup-overlay,.popup{animation:none}}.popup-close:focus,.popup-close:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}body:has(.cc-banner) .popup-overlay{align-items:flex-start;padding-bottom:12rem}body:has(.cc-banner) .popup{max-height:calc(100vh - 13rem)}body:has(.cc-banner) .popup-image{max-height:11rem}@media (max-width:48rem){body:has(.cc-banner) .popup-overlay{padding-bottom:15rem}body:has(.cc-banner) .popup{max-height:calc(100vh - 16rem)}}
