/* JP Engine V4 building detail layer */
.hero.hero-v4{
    position:relative;
    display:block;
    min-height:100svh;
    overflow:hidden;
    background:#0a1220;
    color:#fff;
    isolation:isolate;
}
.hero-v4-slider,
.hero-v4-slider .swiper-wrapper,
.hero-v4-slider .swiper-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.hero-v4-slider{z-index:0}
.hero-v4-slide{overflow:hidden;background:#111827}
.hero-v4-slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(115deg,rgba(5,11,22,.28),rgba(5,11,22,0) 58%);
    pointer-events:none;
}
.hero-v4-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:scale(1.035);
    transition:transform 7s cubic-bezier(.2,.65,.2,1);
}
.hero-v4-slide.swiper-slide-active img{transform:scale(1.105)}
.hero-v4-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg,rgba(4,10,20,.86) 0%,rgba(4,10,20,.58) 43%,rgba(4,10,20,.10) 76%),
        linear-gradient(0deg,rgba(4,10,20,.72) 0%,rgba(4,10,20,.08) 52%,rgba(4,10,20,.26) 100%);
    pointer-events:none;
}
.hero-v4 .hero-content{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:min(100%,var(--container-width));
    min-height:100svh;
    margin:0 auto;
    padding:calc(var(--header-height) + 64px) 24px 132px;
    pointer-events:none;
}
.hero-v4 .hero-eyebrow,
.hero-v4 .hero-badge,
.hero-v4 .hero-title,
.hero-v4 .hero-address,
.hero-v4 .hero-actions,
.hero-v4-facts{pointer-events:auto}
.hero-v4-copy{max-width:860px}
.hero-v4 .hero-eyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 18px;
    color:rgba(255,255,255,.76);
    font-size:13px;
    font-weight:760;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.hero-v4 .hero-eyebrow::before{
    content:"";
    width:34px;
    height:1px;
    background:#efb653;
}
.hero-v4 .hero-badge{
    display:inline-flex;
    width:max-content;
    height:34px;
    margin:0 0 18px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:12px;
    font-weight:800;
    backdrop-filter:blur(16px) saturate(150%);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
}
.hero-v4 .hero-title{
    max-width:850px;
    margin:0;
    color:#fff;
    font-size:clamp(42px,6vw,82px);
    font-weight:860;
    line-height:1.04;
    letter-spacing:-.058em;
    text-wrap:balance;
    text-shadow:0 8px 34px rgba(0,0,0,.24);
}
.hero-v4 .hero-address{
    display:flex;
    align-items:center;
    gap:9px;
    max-width:720px;
    margin:24px 0 0;
    color:rgba(255,255,255,.78);
    font-size:clamp(15px,1.35vw,19px);
    line-height:1.65;
}
.hero-v4 .hero-address svg{width:20px;height:20px;flex:0 0 20px;color:#efb653}
.hero-v4 .hero-actions{display:flex;gap:12px;max-width:430px;margin-top:32px}
.hero-v4 .hero-btn{
    min-height:56px;
    border-radius:17px;
    transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.hero-v4 .hero-btn:hover{transform:translateY(-2px)}
.hero-v4 .hero-btn-primary{
    border:1px solid rgba(239,182,83,.75);
    background:linear-gradient(135deg,#f4c26b,#d89020);
    color:#21170b;
    box-shadow:0 16px 38px rgba(121,76,13,.27);
}
.hero-v4 .hero-btn-secondary{
    border:1px solid rgba(255,255,255,.26);
    background:rgba(255,255,255,.12);
    color:#fff;
    box-shadow:0 14px 34px rgba(0,0,0,.16);
    backdrop-filter:blur(18px) saturate(150%);
    -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.hero-v4-facts{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    max-width:760px;
    margin:28px 0 0;
}
.hero-v4-fact{
    min-width:138px;
    padding:13px 16px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:16px;
    background:rgba(10,18,31,.30);
    backdrop-filter:blur(18px) saturate(145%);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.hero-v4-fact dt{margin:0 0 5px;color:rgba(255,255,255,.58);font-size:10px;font-weight:780;letter-spacing:.08em}
.hero-v4-fact dd{margin:0;color:#fff;font-size:14px;font-weight:800;line-height:1.35}
.hero-v4-controls{
    position:absolute;
    right:max(24px,calc((100vw - var(--container-width))/2 + 24px));
    bottom:38px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:12px;
}
.hero-v4-arrow{
    display:grid;
    width:54px;
    height:54px;
    padding:0;
    place-items:center;
    border:1px solid rgba(255,255,255,.27);
    border-radius:18px;
    background:rgba(255,255,255,.12);
    color:#fff;
    box-shadow:0 16px 38px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18);
    cursor:pointer;
    backdrop-filter:blur(22px) saturate(170%);
    -webkit-backdrop-filter:blur(22px) saturate(170%);
    transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.hero-v4-arrow:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.22)}
.hero-v4-arrow:focus-visible{outline:2px solid #efb653;outline-offset:3px}
.hero-v4-arrow svg{width:21px;height:21px}
.hero-v4-progress{
    display:grid;
    grid-template-columns:auto minmax(78px,130px) auto;
    align-items:center;
    gap:10px;
    min-width:190px;
    height:54px;
    padding:0 17px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;
    background:rgba(6,13,24,.24);
    color:#fff;
    box-shadow:0 16px 38px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter:blur(22px) saturate(155%);
    -webkit-backdrop-filter:blur(22px) saturate(155%);
}
.hero-v4-progress span{font-size:11px;font-weight:820;font-variant-numeric:tabular-nums}
.hero-v4-progress-track{position:relative;height:2px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.25)}
.hero-v4-progress-track i{position:absolute;inset:0 auto 0 0;width:var(--hero-progress,0%);border-radius:inherit;background:#f2bd60;transition:width .45s ease}
.hero-v4.is-single-slide .hero-v4-controls{display:none}
.hero-v4 .hero-scroll{z-index:5;bottom:42px;color:#fff}

.gallery.gallery-story{position:relative;overflow:hidden;background:#fff}
.gallery-story::before{
    content:"";
    position:absolute;
    top:-180px;
    left:-160px;
    width:480px;
    height:480px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(213,139,25,.09),rgba(213,139,25,0) 70%);
    pointer-events:none;
}
.gallery-story .container{position:relative}
.gallery-story-head{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(280px,.55fr);
    align-items:end;
    gap:44px;
    margin-bottom:40px;
}
.gallery-story-kicker{margin:0 0 10px;color:#b86f0b;font-size:12px;font-weight:850;letter-spacing:.16em}
.gallery-story-head .section-title{margin:0}
.gallery-story-description{margin:0;color:#667085;font-size:15px;line-height:1.85;word-break:keep-all}
.gallery-story .gallery-wrap{padding:0 66px}
.gallery-story .gallery-list{align-items:flex-start;gap:20px;padding:8px 0 20px;scroll-snap-type:x mandatory}
.gallery-story .gallery-item{
    position:relative;
    flex:0 0 min(68vw,760px);
    border:0;
    border-radius:28px;
    background:#0f1728;
    box-shadow:0 24px 60px rgba(16,24,40,.14);
    scroll-snap-align:start;
}
.gallery-story .gallery-item:nth-child(3n+2){flex-basis:min(48vw,520px);margin-top:72px}
.gallery-story .gallery-item:nth-child(3n+3){flex-basis:min(56vw,620px);margin-top:28px}
.gallery-story .gallery-item a{display:block;overflow:hidden;border-radius:inherit}
.gallery-story .gallery-item img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.gallery-story .gallery-item:hover img{transform:scale(1.045)}
.gallery-story-index{
    position:absolute;
    top:18px;
    left:18px;
    z-index:2;
    display:grid;
    min-width:48px;
    height:34px;
    padding:0 12px;
    place-items:center;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(8,15,27,.28);
    color:#fff;
    font-size:11px;
    font-weight:830;
    letter-spacing:.08em;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}
.gallery-story .gallery-arrow{
    width:48px;
    height:48px;
    border:1px solid rgba(16,24,40,.09);
    border-radius:16px;
    background:rgba(255,255,255,.92);
    color:#101828;
    box-shadow:0 14px 34px rgba(16,24,40,.13);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}
.gallery-story .gallery-wrap::after{content:"SCROLL TO EXPLORE";letter-spacing:.16em;font-size:10px;font-weight:800}

@media(max-width:991px){
    .hero.hero-v4{min-height:calc(100dvh - var(--building-nav-height))}
    .hero-v4-overlay{background:linear-gradient(0deg,rgba(4,10,20,.90) 0%,rgba(4,10,20,.46) 54%,rgba(4,10,20,.12) 100%)}
    .hero-v4 .hero-content{justify-content:flex-end;min-height:calc(100dvh - var(--building-nav-height));padding:126px 18px 142px}
    .hero-v4 .hero-title{font-size:clamp(36px,10.4vw,56px);line-height:1.08}
    .hero-v4 .hero-address{margin-top:16px;font-size:14px}
    .hero-v4 .hero-actions{width:100%;max-width:none;margin-top:24px}
    .hero-v4-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:18px}
    .hero-v4-fact{min-width:0;padding:11px 13px}
    .hero-v4-controls{right:18px;bottom:82px;left:18px;justify-content:space-between}
    .hero-v4-arrow{width:46px;height:46px;border-radius:15px}
    .hero-v4-progress{grid-template-columns:auto minmax(56px,1fr) auto;min-width:0;width:min(220px,calc(100vw - 144px));height:46px;border-radius:15px;padding:0 14px}
    .hero-v4 .hero-scroll{display:none}
    .gallery-story-head{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
    .gallery-story-description{font-size:14px}
    .gallery-story .gallery-wrap{padding:0}
    .gallery-story .gallery-list{gap:14px}
    .gallery-story .gallery-item,
    .gallery-story .gallery-item:nth-child(3n+2),
    .gallery-story .gallery-item:nth-child(3n+3){flex:0 0 min(86vw,520px);margin-top:0;border-radius:22px}
    .gallery-story .gallery-arrow{top:50%;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.88)}
    .gallery-story .gallery-prev{left:10px}
    .gallery-story .gallery-next{right:10px}
}
@media(max-width:560px){
    .hero-v4 .hero-content{padding-bottom:136px}
    .hero-v4 .hero-eyebrow{font-size:11px;letter-spacing:.09em}
    .hero-v4 .hero-badge{height:31px;margin-bottom:14px}
    .hero-v4 .hero-title{font-size:clamp(34px,11vw,48px)}
    .hero-v4 .hero-actions{gap:8px}
    .hero-v4 .hero-btn{min-height:50px;border-radius:15px;font-size:14px}
    .hero-v4-facts{grid-template-columns:1fr 1fr;gap:8px}
    .hero-v4-fact:nth-child(n+3){display:none}
    .hero-v4-controls{bottom:76px}
}
@media(prefers-reduced-motion:reduce){
    .hero-v4-slide img,
    .hero-v4-progress-track i,
    .hero-v4-arrow,
    .gallery-story .gallery-item img{transition:none}
    .hero-v4-slide.swiper-slide-active img{transform:none}
}
