/* JP Engine V4 detail polish */
.hero-v4-media{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}

.hero-v4-media .hero-v4-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:none!important;
    animation:none!important;
}

.hero-v4 .hero-title{
    max-width:none;
    white-space:nowrap;
    word-break:keep-all;
    text-wrap:nowrap;
    font-size:clamp(34px,5.4vw,76px);
    letter-spacing:-.055em;
}

.hero-v4-fact dt,
.hero-v4-fact dd{
    white-space:nowrap;
    word-break:keep-all;
}

.page-home .section-title,
.gallery-story-head .section-title,
.building-story-copy h3{
    word-break:keep-all;
    text-wrap:balance;
}

.gallery-story-head .section-title{
    white-space:nowrap;
}

/* Gallery and floor-plan arrows share one backgroundless visual language. */
.page-home .gallery-wrap{
    padding-inline:0!important;
}

.page-home .gallery-wrap .gallery-arrow{
    top:50%!important;
    display:grid;
    width:52px!important;
    height:68px!important;
    padding:0!important;
    place-items:center;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    opacity:.92;
    cursor:pointer;
    mix-blend-mode:difference;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    transform:translateY(-50%)!important;
    transition:opacity .2s ease,transform .24s cubic-bezier(.22,1,.36,1)!important;
}

.page-home .gallery-wrap .gallery-arrow svg{
    width:30px;
    height:30px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}

.page-home .gallery-wrap .gallery-prev{
    left:12px!important;
}

.page-home .gallery-wrap .gallery-next{
    right:12px!important;
}

.page-home .gallery-wrap .gallery-prev:hover{
    opacity:1;
    transform:translate(-4px,-50%)!important;
}

.page-home .gallery-wrap .gallery-next:hover{
    opacity:1;
    transform:translate(4px,-50%)!important;
}

.page-home .gallery-wrap .gallery-arrow:focus-visible{
    outline:2px solid currentColor;
    outline-offset:3px;
}

section[id="floor-gallery"] .gallery-arrow{
    top:42%!important;
}

@media(max-width:991px){
    .hero.hero-v4,
    .hero-v4 .hero-content,
    .hero-v4-copy{
        max-width:100%;
        overflow:hidden;
        box-sizing:border-box;
    }

    .hero-v4 .hero-content{
        padding-right:18px;
        padding-left:18px;
    }

    .hero-v4 .hero-title{
        width:100%;
        max-width:100%;
        overflow:hidden;
        font-size:clamp(23px,6.4vw,36px);
        line-height:1.1;
        letter-spacing:-.052em;
        text-overflow:ellipsis;
    }

    .hero-v4 .hero-address,
    .hero-v4 .hero-actions,
    .hero-v4-facts{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }

    .hero-v4 .hero-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:20px;
    }

    .hero-v4 .hero-actions .hero-btn{
        width:100%;
        min-width:0;
        min-height:54px!important;
        height:54px!important;
        padding:0 10px!important;
        border-radius:16px!important;
        font-size:13px!important;
        box-sizing:border-box;
        overflow:hidden;
    }

    .hero-v4 .hero-actions .hero-btn span{
        min-width:0;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
    }

    .hero-v4 .hero-actions .hero-btn svg{
        flex:0 0 19px;
        width:19px!important;
        height:19px!important;
    }

    .hero-v4-facts{
        display:grid!important;
        grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr));
        gap:6px;
        overflow:visible;
        margin-top:14px;
        padding:0;
    }

    .hero-v4-fact,
    .hero-v4-fact:nth-child(n+3){
        display:block!important;
        min-width:0;
        width:auto;
        padding:10px 9px;
        box-sizing:border-box;
        overflow:hidden;
    }

    .hero-v4-fact dt{
        overflow:hidden;
        font-size:9px;
        letter-spacing:.045em;
        text-overflow:ellipsis;
    }

    .hero-v4-fact dd{
        overflow:hidden;
        font-size:clamp(10px,2.8vw,13px);
        line-height:1.25;
        letter-spacing:-.035em;
        text-overflow:ellipsis;
    }

    .gallery-story-head .section-title,
    .building-detail-heading .section-title,
    section[id="floor-gallery"] .section-title{
        white-space:nowrap;
        font-size:clamp(24px,6.8vw,31px);
        letter-spacing:-.05em;
    }

    .page-home .gallery-wrap .gallery-arrow{
        width:44px!important;
        height:60px!important;
    }

    .page-home .gallery-wrap .gallery-arrow svg{
        width:27px;
        height:27px;
        stroke-width:1.75;
    }

    .page-home .gallery-wrap .gallery-prev{
        left:8px!important;
    }

    .page-home .gallery-wrap .gallery-next{
        right:8px!important;
    }
}

@media(max-width:560px){
    .hero-v4 .hero-content{
        padding-right:14px;
        padding-left:14px;
        padding-bottom:88px;
    }

    .hero-v4 .hero-title{
        font-size:clamp(21px,6.15vw,31px);
    }

    .hero-v4 .hero-actions{
        gap:6px;
    }

    .hero-v4 .hero-actions .hero-btn{
        min-height:50px!important;
        height:50px!important;
        padding:0 8px!important;
        border-radius:14px!important;
        font-size:12px!important;
    }

    .hero-v4-facts{
        gap:5px;
    }

    .hero-v4-fact{
        padding:9px 7px;
        border-radius:14px;
    }

    .hero-v4-fact dt{
        font-size:8px;
    }

    .hero-v4-fact dd{
        font-size:clamp(9px,2.7vw,12px);
    }
}

@media(max-width:380px){
    .hero-v4 .hero-title{
        font-size:clamp(20px,5.9vw,24px);
    }

    .hero-v4 .hero-actions .hero-btn{
        height:48px!important;
        min-height:48px!important;
        font-size:11px!important;
    }

    .hero-v4-fact{
        padding:8px 6px;
    }

    .hero-v4-fact dt{
        font-size:7px;
    }

    .hero-v4-fact dd{
        font-size:9px;
    }

    .gallery-story-head .section-title,
    .building-detail-heading .section-title,
    section[id="floor-gallery"] .section-title{
        font-size:23px;
    }
}

@media(prefers-reduced-motion:reduce){
    .page-home .gallery-wrap .gallery-arrow{
        transition:none!important;
    }
}
