.home-hero { width: 100%; min-width: 0; }
.home-hero [hidden] { display: none !important; }
.home-hero__controls { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:20px; }
.home-hero__arrow { width:40px; height:40px; border-radius:50%; background:#F6F8FA; color:var(--color_2); font-size:24px; cursor:pointer; }
.home-hero__dot { width:10px; height:10px; border-radius:50%; background:#c7d0dc; cursor:pointer; padding:0; position:relative; }
.home-hero__dot::before { content:""; position:absolute; inset:-10px -5px; }
.home-hero__dot[aria-pressed="true"] { background:var(--color_2); }
.home-hero button:focus-visible, .hero-camera a:focus-visible { outline:3px solid var(--color_2); outline-offset:4px; }
.home-hero__status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hero-camera .hero-camera__photo { width:100%; height:384px; object-fit:contain; }
.hero-camera .desc_prod { left:0; right:auto; color:inherit; }
.hero-camera__leasing .title_prd { font-size:clamp(28px,3.1vw,44px); }
.hero-camera__leasing .hero-camera__message { color:var(--color_2); margin-top:10px; font-weight:600; }
.hero-camera__partner { display:flex; align-items:center; gap:24px; }
.hero-camera__partner img { width:200px; max-width:48%; height:auto; }
.hero-camera__partner p { font-size:14px; line-height:1.5; margin:0; }
@media (max-width:767px) {
 .hero-camera .hero-camera__photo { height:300px; padding-bottom:20px; }
 .hero-camera .box_img-bnr { margin-bottom:14px; }
 .hero-camera__partner { flex-wrap:wrap; gap:16px; }
 .hero-camera__partner img { width:180px; max-width:100%; }
 .hero-camera__leasing .title_prd { font-size:28px; }
 .home-hero__controls { margin-top:18px; }
}

.home-hero__viewport { overflow: hidden; margin: 0; padding: 0 0 12px; box-sizing: content-box; transition: height .5s ease; }
.home-hero__track { display: flex; align-items: flex-start; transition: transform .6s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.home-hero__track > .home-hero__slide { flex: 0 0 100%; min-width: 0; }
.home-hero__pause { font-size: 17px; }
@media (prefers-reduced-motion: reduce) {
 .home-hero__track, .home-hero__viewport { transition: none; }
}
