.hero-carousel{border-radius:0 0 var(--radius-lg)var(--radius-lg);min-height:384px;margin:-1rem -1rem 1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 24px #1a181614}.hero-carousel-track{transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex}.hero-carousel-slide{background:linear-gradient(160deg,var(--cream-dark)0%,var(--white)45%,var(--primary-subtle)100%);background-position:50%;background-size:cover;flex:0 0 100%;align-items:center;min-height:384px;display:flex;position:relative}.hero-carousel-slide.has-image{background-color:var(--charcoal)}.hero-carousel-slide.has-image .hero-carousel-overlay{opacity:1;background:linear-gradient(105deg,#1a1816bf 0%,#1a181673 40%,#1a181626 70%,#0000 100%)}.hero-carousel-overlay{opacity:0;background:linear-gradient(90deg,#00000080 0%,#0003 50%,#0000 100%);position:absolute;inset:0}.hero-carousel-content{z-index:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1rem;position:relative}.hero-carousel-title{font-family:var(--font-instrument-serif),"Instrument Serif",serif;color:var(--charcoal);letter-spacing:-.03em;max-width:20ch;margin:0 0 .5rem;font-size:clamp(1.85rem,5.5vw,3.5rem);font-weight:400;line-height:1.1}.hero-carousel-slide.has-image .hero-carousel-title{color:#fff;text-shadow:0 1px 3px #00000080}.hero-carousel-subtitle{color:var(--charcoal-muted);max-width:32ch;margin:0 0 1.25rem;font-size:clamp(.95rem,2vw,1.15rem);line-height:1.5}.hero-carousel-slide.has-image .hero-carousel-subtitle{color:#fffffff2;text-shadow:0 1px 2px #0006}.hero-carousel-dots{z-index:10;gap:.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.hero-carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:10px;height:10px;transition:background .2s,transform .2s}.hero-carousel-dot:hover{background:#fffc}.hero-carousel-dot.active{background:var(--primary);transform:scale(1.2)}@media (min-width:600px){.hero-carousel{min-height:456px;margin:-1.5rem -1.5rem 2rem}.hero-carousel-slide{min-height:456px}.hero-carousel-content{padding:2.5rem 1.5rem}}@media (min-width:900px){.hero-carousel{min-height:504px;margin:-2rem -2rem 2rem}.hero-carousel-slide{min-height:504px}.hero-carousel-content{padding:3.5rem 2.5rem}}
