.hero{min-height:0;align-items:center}
.hero-carousel{display:flex;flex-direction:column;align-self:center;min-width:0;width:100%;gap:8px}
.hero-track{display:flex;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;position:relative}
.hero-track::-webkit-scrollbar{display:none}
.hero-track:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.hero-track .hero-slide{display:flex;flex-direction:column;flex:0 0 100%;min-width:0;min-height:0;margin:0;width:100%;aspect-ratio:auto;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;background:var(--paper)}
.hero-slide:after{display:none}
.hero-media{width:100%;aspect-ratio:2;overflow:hidden;background:var(--wash)}
.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;-webkit-user-drag:none}
.hero-slide .hero-caption{position:static;inset:auto;color:var(--ink);padding:18px 0 16px;min-height:88px;gap:14px;align-items:center;border-bottom:1px solid var(--line);flex:1}
.hero-slide .hero-index{display:block;position:static;max-width:none;padding:0;background:transparent;font-size:14px;font-weight:500;letter-spacing:.015em;line-height:1.5}
.hero-slide .hero-caption>div{min-width:0}
.hero-slide .hero-caption p{font-size:12px;line-height:1.65;color:var(--muted);margin:5px 0 0}
.hero-slide .circle-arrow{width:32px;height:40px}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.carousel-hint{font-size:11px;line-height:1.5;color:var(--muted)}
.carousel-dots{display:flex;align-items:center}
.carousel-dot{display:grid;place-items:center;border:0;background:transparent;width:26px;height:44px;padding:0}
.carousel-dot>span{display:block;width:5px;height:5px;border-radius:5px;background:var(--line);transition:width .2s,background .2s}
.carousel-dot[aria-current=true]>span{width:18px;background:var(--ink)}
.carousel-navigation{display:flex;align-items:center;gap:2px}
.carousel-count{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted);margin-right:10px}
.carousel-button{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:0;padding:0;border-radius:50%}
.carousel-button:focus-visible,.carousel-dot:focus-visible{outline:1.5px solid var(--ink);outline-offset:1px}
.carousel-button:disabled{opacity:.25;cursor:default}
.carousel-prev .navigation-icon{transform:rotate(180deg)}
.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}
@media(hover:hover){.carousel-button:not(:disabled):hover{background:var(--wash)}}
@media(max-width:1000px) and (min-width:701px){.carousel-hint{display:none}}
@media(max-width:700px){.hero-carousel{margin-top:8px;gap:4px}.hero-slide .hero-caption{padding:14px 0;min-height:82px}.hero-slide .hero-index{font-size:13px}.hero-slide .hero-caption p{font-size:11px}.carousel-controls{gap:4px}.carousel-hint{font-size:10px}.carousel-count{font-size:10px;margin-right:4px}}
@media(max-width:359px){.carousel-hint{display:none}}
@media(prefers-reduced-motion:reduce){.carousel-dot>span{transition:none}}
