.generic-hero{height:100vh;min-height:600px;overflow:hidden;position:relative}.hero-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero-image{animation:zoomOut 2s ease-out forwards;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;pointer-events:none;transform:scale(1.1);width:100%}@keyframes zoomOut{0%{transform:scale(1.1)}to{transform:scale(1)}}.hero-overlay{background:linear-gradient(135deg,#0009,#0000004d 50%,#00000080);z-index:2}.hero-content,.hero-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.hero-content{align-items:center;color:#fff;display:flex;z-index:3}.hero-content-inner{margin:0 0 0 2rem;padding:0;width:100%}.hero-title{color:#fff;font-family:var(--font-montserrat),serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1;margin:0 0 2rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-subtitle{color:#ffffffe6;font-family:var(--font-inter),sans-serif;font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:400;line-height:1.4;margin:0 0 2rem;max-width:600px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}.hero-btn{background:var(--accent-primary);border:2px solid var(--accent-primary);color:#1a1a1a}.hero-btn:hover{background:transparent;box-shadow:0 8px 25px #facc154d;color:var(--accent-primary);transform:translateY(-2px)}.hero-btn-secondary{background:transparent;border:2px solid hsla(0,0%,100%,.7);color:#fff}.hero-btn-secondary:hover{background:#ffffff1a;border-color:#fff;box-shadow:0 8px 25px #fff3;transform:translateY(-2px)}@media (max-width:1023px) and (min-width:768px){.generic-hero{min-height:500px}.hero-content-inner{margin:0 1.5rem}.hero-title{font-size:3rem;margin-bottom:1.5rem}.hero-subtitle{font-size:1.2rem;margin-bottom:1.5rem}.hero-buttons{gap:.75rem}}@media (max-width:767px){.hero-content-inner{margin:0 1rem}.hero-title{font-size:2.5rem;margin-bottom:1.25rem}.hero-subtitle{font-size:1.1rem;margin-bottom:1.25rem}.hero-buttons{gap:.5rem}}@media (max-width:479px){.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1rem}}@media (max-width:319px){.hero-content-inner{margin:0 .5rem}.hero-title{font-size:2rem;margin-bottom:1rem}.hero-buttons{align-items:flex-start;flex-direction:column;gap:.5rem}.hero-btn,.hero-btn-secondary{width:180px}}
