.photo-rotator .hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%);filter:saturate(.88);transform:scale(1.025);transition:transform 7s linear}
.hero-slide.is-active img{transform:scale(1.065)}
.photo-rotator:after{z-index:2;background:linear-gradient(transparent 35%,#0004 65%,#000c)}
.photo-rotator .photo-label{z-index:3}
.photo-rotator figcaption{z-index:3;bottom:82px;align-items:flex-end}
.photo-rotator figcaption>span:first-child{font-size:16px;max-width:75%;line-height:1.45}
.photo-rotator .slide-count{font-variant-numeric:tabular-nums;color:#e6e0f4;white-space:nowrap}
.hero-controls{position:absolute;z-index:4;bottom:21px;left:22px;right:22px;display:flex;align-items:center;gap:9px}
.hero-controls[hidden]{display:none}
.hero-controls button{height:42px;min-width:42px;border:1px solid #ffffff75;border-radius:50%;background:#10101470;backdrop-filter:blur(8px);color:#fff;font:inherit;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.hero-controls button:hover{background:#b4a0ff;color:#17171d}
.hero-controls button:focus-visible{outline-offset:3px}
.hero-controls button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.hero-controls .rotation-toggle{margin-left:auto;border-radius:24px;padding:0 14px;display:flex;gap:7px;font-size:11px}
.rotation-toggle .play-icon{display:none}
.rotation-toggle[aria-pressed="true"] .pause-icon{display:none}
.rotation-toggle[aria-pressed="true"] .play-icon{display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 22px}
.moment{min-width:0}
.moment .moment-image{height:250px;overflow:hidden;border-radius:16px;background:var(--surface)}
.moment img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%);filter:saturate(.9);transition:transform .9s var(--ease),filter .5s}
.moment:hover img{transform:scale(1.045);filter:saturate(1)}
.moment figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;line-height:1.5;color:#d5d5df}
.moment figcaption>span:last-child{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}
.gallery-heading{margin:56px 0 26px;display:flex;justify-content:space-between;gap:25px;align-items:baseline}
.gallery-heading h3{font-size:25px;font-weight:500;letter-spacing:-.035em}
.gallery-heading p{font-size:12px;color:var(--muted)}
.offer-photo{height:180px;width:100%;object-fit:cover;border-radius:12px;margin-top:22px}
@media(max-width:1050px){.moment .moment-image{height:210px}.moment figcaption{display:block}.moment figcaption>span:last-child{display:block;margin-top:4px}}
@media(max-width:760px){.photo-rotator figcaption{bottom:77px;left:18px;right:18px}.photo-rotator figcaption>span:first-child{font-size:14px}.hero-controls{left:17px;right:17px;bottom:16px}.hero-controls .rotation-toggle{font-size:10px;padding:0 11px}.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}.moment .moment-image{height:190px;border-radius:12px}.moment figcaption{font-size:12px;margin-top:9px}.gallery-heading{display:block;margin-top:38px}.gallery-heading h3{font-size:23px}.gallery-heading p{margin-top:8px}.offer-photo{height:170px}}
@media(max-width:380px){.moment .moment-image{height:165px}.photo-rotator .photo-label{font-size:12px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide img{transition:none!important;transform:none!important}.moment img{transform:none!important}}
