.homepage-carousel{--hc-ink:#23231f;--hc-muted:#64645b;--hc-accent:var(--red,#eb745a);position:relative;padding:64px 0 80px;color:var(--hc-ink)}
.homepage-carousel-shell{position:relative;overflow:hidden;border:1px solid #e4e3dc;border-radius:28px;padding:32px 18px 28px;background:#f3f1eb}
.homepage-carousel-copy{position:relative;z-index:1;display:grid;justify-items:center;gap:18px;max-width:920px;margin-inline:auto;text-align:center}
.homepage-carousel-copy h2{max-width:920px;margin:0;font-size:clamp(32px,4vw,60px);font-weight:800;line-height:1.08;letter-spacing:-.045em;text-wrap:balance;color:var(--hc-ink)}
.homepage-carousel-copy h2 span{color:var(--hc-accent)}
.homepage-carousel-copy p{max-width:730px;margin:0;color:var(--hc-muted);font-size:clamp(14px,1.2vw,17px);line-height:1.72}
.homepage-carousel-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(360px,50vw,540px);margin-top:26px}
.homepage-carousel-track{position:relative;width:100%;min-height:inherit;display:flex;align-items:center;justify-content:center;perspective:1000px}
.homepage-carousel-card{position:absolute;display:block;width:min(250px,66vw);aspect-ratio:3/4;margin:0;padding:0;border:0;border-radius:14px;background:transparent;cursor:pointer;transition:transform 500ms var(--ease,cubic-bezier(.16,1,.3,1)),opacity 500ms ease,filter 500ms ease,visibility 500ms ease;will-change:transform}
.homepage-carousel-card img{display:block;width:100%;height:100%;border:1px solid #fff9;border-radius:inherit;object-fit:contain;box-shadow:0 22px 48px #38362921;background:#fff}
.homepage-carousel-card:focus-visible{outline:3px solid var(--hc-accent);outline-offset:7px}
.homepage-carousel-nav,.homepage-carousel-actions button,.homepage-carousel-dialog button{font:inherit;color:var(--hc-ink);cursor:pointer}
.homepage-carousel-nav{position:absolute;top:50%;z-index:20;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d8d5cc;border-radius:50%;background:#fafaf8eb;transform:translateY(-50%);box-shadow:0 4px 16px #3836290d;transition:background 180ms ease,box-shadow 180ms ease}
.homepage-carousel-nav:hover{background:#fff;box-shadow:0 6px 22px #3836291a}.homepage-carousel-nav:active{transform:translateY(-50%)}
.homepage-carousel-nav svg{display:block;width:20px;height:20px}.homepage-carousel-nav--prev{left:0}.homepage-carousel-nav--next{right:0}
.homepage-carousel-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:22px}
.homepage-carousel-actions button{padding:9px 0;background:none;border:0;border-bottom:1px solid #bbb8ad;font-size:12px;font-weight:600}
.homepage-carousel-actions [data-hc-motion]{color:var(--hc-muted);font-weight:400;border-color:transparent}
.homepage-carousel-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:20px;background:#fafaf8;color:var(--hc-ink);border:1px solid #e4e3dc;border-radius:20px;overflow:auto;box-shadow:0 30px 100px #0004}
.homepage-carousel-dialog::backdrop{background:#23231fb3;backdrop-filter:blur(7px)}
.hc-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.hc-viewer-head h3{margin:0;font-size:16px;line-height:1.4;letter-spacing:-.3px}.hc-viewer-head button{border:0;border-radius:20px;background:#eae8e0;padding:8px 14px;font-size:12px;flex-shrink:0}
.hc-viewer-media{position:relative;display:grid;place-items:center;min-height:180px}.hc-viewer-media>img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 250px);object-fit:contain;border-radius:8px;background:#fff}.hc-viewer-media [data-hc-error]{position:absolute;inset:0;margin:0;place-content:center;padding:20px;text-align:center;background:#f3f1eb}.hc-viewer-media [data-hc-error]:not([hidden]){display:grid}.hc-viewer-media [data-hc-error] button{margin-top:12px;padding:8px 14px;border:1px solid #aaa89d;border-radius:6px;background:none}
.hc-viewer-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:16px 0}.hc-viewer-controls button{border:1px solid #d8d5cc;padding:8px 15px;border-radius:8px;background:#fff;font-size:12px}.hc-viewer-controls p{margin:0;font-size:12px;color:var(--hc-muted);min-width:90px;text-align:center}.hc-viewer-thumbs{display:flex;justify-content:center;gap:7px;overflow-x:auto;padding:4px}.hc-viewer-thumbs button{width:44px;aspect-ratio:3/4;padding:0;flex-shrink:0;border:2px solid transparent;border-radius:5px;background:none;overflow:hidden}.hc-viewer-thumbs button[aria-pressed="true"]{border-color:var(--hc-accent)}.hc-viewer-thumbs img{display:block;width:100%;height:100%;object-fit:contain}
@media(min-width:761px){.homepage-carousel-shell{padding:48px 44px 34px}.homepage-carousel-card{width:min(320px,38vw);border-radius:20px}.homepage-carousel-nav{width:48px;height:48px}.homepage-carousel-nav--prev{left:6px}.homepage-carousel-nav--next{right:6px}}
@media(prefers-reduced-motion:reduce){.homepage-carousel-card{transition:none;will-change:auto}.homepage-carousel-nav{transition:none}}

.homepage-carousel-stage{min-height:calc(min(250px,66vw)*4/3 + 24px)}
.hc-viewer-thumbs{justify-content:flex-start}
@media(min-width:761px){
 .homepage-carousel-shell{padding-top:32px;padding-bottom:28px}
 .homepage-carousel-stage{min-height:calc(min(320px,38vw)*4/3 + 32px)}
}
@media(max-width:760px){
 .homepage-carousel-dialog{padding:16px}
 .hc-viewer-head{gap:12px}
 .hc-viewer-controls{gap:8px;justify-content:space-between}
 .hc-viewer-controls button{padding:8px 10px}
 .hc-viewer-controls p{min-width:0;white-space:nowrap}
}
