/* Homepage-only responsive controls and screenshot carousel. */
.home-page .carousel-controls { display:none; }
.home-page .carousel-status { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(max-width:760px) {
 .home-page .cta-row { flex-direction:column;align-items:stretch;gap:12px; }
 .home-page main .btn { display:flex;width:100%;max-width:100%;min-height:52px;justify-content:center;text-align:center;white-space:normal; }
 .home-page main .btn svg { flex-shrink:0; }
 .home-page .cta-banner { padding:32px 20px; }
 .home-page .hero { overflow:hidden; }
 .home-page .hero-shots { margin-top:46px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 0 30px; }
 .home-page .hero-shots .shot { flex:0 0 60%;scroll-snap-align:center;transform:none; }

}
/* Screenshot carousel on every viewport size. */
 .home-page .hero-shots.is-carousel { --screen-width:min(50vw,300px);display:block;position:relative;isolation:isolate;overflow:visible;padding:0;height:calc(var(--screen-width) * 2.17125 + 34px);touch-action:pan-y pinch-zoom; }
 .home-page .hero-shots.is-carousel .shot { position:absolute;left:50%;top:0;width:var(--screen-width);transform:translateX(-50%);transform-origin:center top;transition:transform .32s ease,filter .32s ease;z-index:3;cursor:pointer; }
 .home-page .hero-shots.is-carousel .shot img { user-select:none;-webkit-user-drag:none; }
 .home-page .hero-shots.is-carousel .shot.is-previous { transform:translateX(-105%) translateY(28px) scale(.86);z-index:1;filter:brightness(.78); }
 .home-page .hero-shots.is-carousel .shot.is-next { transform:translateX(5%) translateY(28px) scale(.86);z-index:1;filter:brightness(.78); }
 .home-page .hero-shots.is-carousel .shot.is-active { box-shadow:var(--glow-lavender),0 24px 50px rgba(0,0,0,.55); }
 .home-page .hero-shots.is-carousel .shot.is-active::after { opacity:.9; }
 .home-page .carousel-controls.is-enabled { display:flex;justify-content:center;align-items:center;gap:8px;margin-top:6px; }
 .home-page .carousel-controls button { display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;color:var(--text);border:1px solid transparent;border-radius:50%;font:inherit;cursor:pointer; }
 .home-page .carousel-controls .carousel-arrow { border-color:var(--border-strong);font-size:1.4rem; }
 .home-page .carousel-dot::before { content:'';width:8px;height:8px;border-radius:50%;background:var(--text-faint); }
 .home-page .carousel-dot[aria-pressed="true"]::before { background:var(--mint);box-shadow:0 0 12px rgba(107,230,160,.4); }
@media(max-width:760px){.home-page .hero-shots.is-carousel{--screen-width:min(50vw,270px)}}
@media(prefers-reduced-motion:reduce) {
 .home-page .hero-shots.is-carousel .shot { transition:none; }
}
