.carousel-wrapper{background:var(--page-bg,#fafaf8);width:100%;min-height:600px;padding:3rem 2rem;position:relative;overflow:hidden}@media (min-width:768px){.carousel-wrapper{min-height:700px;padding:4rem}}.carousel-bg-wash{z-index:0;pointer-events:none;transition:background .8s;position:absolute;inset:0}.carousel-inner{z-index:1;flex-direction:column;gap:2rem;max-width:1400px;height:100%;margin:0 auto;display:flex;position:relative}@media (min-width:768px){.carousel-inner{flex-direction:row;align-items:center;gap:4rem}}.carousel-content{flex:1;align-items:center;display:flex}.carousel-content-inner{width:100%}.carousel-collection-num{opacity:0;align-items:center;gap:1rem;margin-bottom:2rem;transition:opacity .6s,transform .6s;display:flex;transform:translateY(12px)}.carousel-collection-num.visible{opacity:1;transform:translateY(0)}.carousel-collection-num.transitioning{opacity:0;transform:translateY(-12px)}.carousel-num-line{background:#c4cdd6;width:40px;height:1px;display:block}.carousel-num-text{letter-spacing:.2em;text-transform:uppercase;color:#6b7a8a;font-size:.75rem;font-weight:500}.carousel-title{font-family:var(--font-playfair);color:#0c2340;opacity:0;margin-bottom:.75rem;font-size:3.5rem;font-weight:700;line-height:1.1;transition:opacity .6s .1s,transform .6s .1s;transform:translateY(20px)}.carousel-title.visible{opacity:1;transform:translateY(0)}.carousel-title.transitioning{opacity:0;transform:translateY(-20px)}@media (min-width:768px){.carousel-title{font-size:4.5rem}}.carousel-subtitle{letter-spacing:.15em;text-transform:uppercase;opacity:0;margin-bottom:1.5rem;font-size:1rem;font-weight:600;transition:opacity .6s .15s,transform .6s .15s;transform:translateY(16px)}.carousel-subtitle.visible{opacity:1;transform:translateY(0)}.carousel-subtitle.transitioning{opacity:0;transform:translateY(-16px)}.carousel-description{color:#1e293b;opacity:0;margin-bottom:2.5rem;font-size:1.05rem;font-weight:500;line-height:1.75;transition:opacity .6s .2s,transform .6s .2s;transform:translateY(16px)}.carousel-description.visible{opacity:1;transform:translateY(0)}.carousel-description.transitioning{opacity:0;transform:translateY(-16px)}.carousel-nav-arrows{gap:.75rem;display:flex}.carousel-arrow-btn{color:#0c2340;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex}.carousel-arrow-btn:hover{color:#fff;background:#d4380d;border-color:#d4380d}.carousel-image-container{flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;position:relative}@media (min-width:768px){.carousel-image-container{min-height:450px}}.carousel-image-frame{aspect-ratio:3/4;opacity:0;border-radius:2px;width:100%;max-width:420px;max-height:520px;transition:opacity .7s .1s,transform .7s .1s;position:relative;overflow:hidden;transform:scale(.95)}.carousel-image-frame.visible{opacity:1;transform:scale(1)}.carousel-image-frame.transitioning{opacity:0;transform:scale(1.02)}.carousel-image{object-fit:cover;width:100%;height:100%;display:block}.carousel-image-overlay{pointer-events:none;position:absolute;inset:0}.carousel-frame-corner{opacity:.4;border-style:solid;border-width:0;width:60px;height:60px;transition:border-color .6s;position:absolute}.carousel-frame-corner--tl{border-top-width:1px;border-left-width:1px;top:-8px;left:-8px}.carousel-frame-corner--br{border-bottom-width:1px;border-right-width:1px;bottom:-8px;right:-8px}.carousel-progress-bar{z-index:1;gap:1rem;max-width:1400px;margin-top:3rem;margin-left:auto;margin-right:auto;display:flex;position:relative}.carousel-progress-item{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;padding:0}.carousel-progress-track{background:#0c23401f;border-radius:1px;width:100%;height:2px;margin-bottom:.5rem;overflow:hidden}.carousel-progress-fill{background:#c4cdd6;border-radius:1px;height:100%;transition:width 50ms linear}.carousel-progress-label{letter-spacing:.1em;text-transform:uppercase;color:#6b7a8a;font-size:.7rem;transition:color .3s}.carousel-progress-item.active .carousel-progress-label{color:#0c2340}
