:root{
    --dst-navy:#0B1528;
    --dst-yellow:#FFC107;
    --dst-yellow-hover:#D9A400;
    --dst-yellow-active:#C29100;
    --dst-text-light:#F8FAFC;
    --dst-text-muted:#D7E0EC;
}

.dst-hero-wrapper{
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:20px 18px;
}

.dst-destinations-hero{
    position:relative;
    height:clamp(500px,75vh,800px);
    min-height:clamp(500px,75vh,800px);
    border-radius:30px;
    overflow:hidden;
    background-color:var(--dst-navy);
    clip-path:inset(0 0 0 0 round 30px);
}

.dst-slider-media{
    position:absolute;
    inset:0;
    z-index:0;
}

.dst-bg-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:scale(1.02);
    transition:opacity .9s ease,transform 1.2s ease,visibility .9s ease;
    will-change:opacity,transform;
    background:#000;
}

.dst-bg-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:scale(1);
}

.dst-bg-slider-picture,
.dst-video-poster-picture,
.dst-bg-slider,
.dst-video-poster,
.dst-video-layer,
.dst-video-embed,
.dst-bg-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-width:100% !important;
    min-height:100% !important;
    display:block !important;
}

.dst-bg-slider,
.dst-video-poster,
.dst-bg-video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    max-width:none !important;
    max-height:none !important;
    min-width:100% !important;
    min-height:100% !important;
    transform:none !important;
}

.dst-video-layer iframe{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    border:0 !important;
    display:block !important;
    transform:translate(-50%, -50%) scale(1.18) !important;
    transform-origin:center center !important;
}

.dst-bg-slide--video .dst-video-layer{
    opacity:0;
    visibility:hidden;
    transition:opacity .35s ease,visibility .35s ease;
}

.dst-bg-slide--video.is-video-playing .dst-video-layer{
    opacity:1;
    visibility:visible;
}

.dst-bg-slide--video.is-video-playing .dst-video-poster-picture{
    opacity:0;
    visibility:hidden;
    transition:opacity .35s ease,visibility .35s ease;
}

.dst-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    opacity:.58;
    background:linear-gradient(to bottom,rgba(11,21,40,.48) 0%,rgba(11,21,40,.22) 100%);
    pointer-events:none;
}

.dst-hero-content{
    position:relative;
    z-index:5;
    width:100%;
    height:100%;
    max-width:1400px;
    margin:0 auto;
    padding:20px 18px;
    box-sizing:border-box;
}

.dst-hero-stack{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    transition:opacity .25s ease,visibility .25s ease;
}

.dst-slide-stage{
    width:100%;
    min-height:0;
    flex:1 1 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.dst-slide-text{
    display:none;
    width:100%;
    max-width:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    visibility:hidden;
    pointer-events:none;
    animation:dstSlideIn .45s ease;
    will-change:opacity,transform;
}

.dst-slide-text.is-active{
    display:flex;
    visibility:visible;
    pointer-events:auto;
}

@keyframes dstSlideIn{
    from{opacity:0;transform:translateY(16px);}
    to{opacity:1;transform:translateY(0);}
}

.dst-row{width:100%;display:flex;justify-content:center;box-sizing:border-box;}
.dst-row-badge{padding-top:8px;}
.dst-row-title{padding-top:10px;}
.dst-row-subtitle{padding-top:10px;}
.dst-row-meta{padding-top:14px;flex-shrink:0;}
.dst-row-cta{padding-top:18px;flex-shrink:0;}
.dst-row-controls{padding-top:16px;flex-shrink:0;}

.dst-badge{
    display:inline-flex;
    align-items:center;
    gap:.55em;
    max-width:min(100%,92vw);
    padding:.62em 1.45em;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    color:var(--dst-yellow);
    font-size:14px;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.dst-badge svg{width:1em;height:1em;flex:0 0 auto;}

.dst-h1,.dst-h2{
    width:100%;
    max-width:900px;
    margin:0;
    font-size:64px;
    font-weight:800;
    line-height:1.02;
}

.dst-h1-line{
    display:block;
    width:100%;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.dst-h1-line-1{color:#F8FAFC;}
.dst-h1-line-2{color:#FFC107;}

.dst-subhead{
    width:100%;
    max-width:980px;
    margin:0 auto;
    color:var(--dst-text-muted);
    font-size:20px;
    font-weight:400;
    line-height:1.6;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    max-height:4.8em;
}

.dst-meta-badges{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
}

.dst-meta-badge{
    display:inline-flex;
    align-items:center;
    gap:.55em;
    padding:.68em 1.05em;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    color:var(--dst-text-light);
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
}

.dst-hero-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:15px;
    width:100%;
}

.dst-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55em;
    min-height:58px;
    padding:14px 34px;
    font-size:18px;
    font-weight:700;
    line-height:1.1;
    border-radius:999px;
    border:2px solid transparent;
    text-decoration:none !important;
    transition:all .25s ease;
    box-sizing:border-box;
    cursor:pointer;
}

.dst-btn:focus,
.dst-btn:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(255,193,7,.22);
}

.dst-bounce-arrow{
    width:1.05em;
    height:1.05em;
    animation:arrowBounce 1.5s infinite ease-in-out;
    flex:0 0 auto;
}

@keyframes arrowBounce{
    0%,20%,50%,80%,100%{transform:translateY(0);}
    40%{transform:translateY(4px);}
    60%{transform:translateY(2px);}
}

@keyframes dstPulseRing{
    0%{transform:scale(.96);opacity:.55;}
    70%{transform:scale(1.16);opacity:0;}
    100%{transform:scale(1.2);opacity:0;}
}

.dst-btn-primary{
    position:relative;
    isolation:isolate;
    background:#FFC107;
    color:#0B1528;
    border-color:#FFC107;
}

.dst-btn-primary::after{
    content:'';
    position:absolute;
    inset:-4px;
    border-radius:inherit;
    border:2px solid rgba(255,193,7,.42);
    opacity:0;
    transform:scale(.96);
    pointer-events:none;
}

.dst-btn-primary:not(:hover):not(:focus-visible)::after{
    animation:dstPulseRing 2s infinite;
}

.dst-btn-primary:hover{
    background:var(--dst-yellow-hover);
    border-color:var(--dst-yellow-hover);
    color:#0B1528;
    transform:translateY(-2px);
}

.dst-btn-primary:active{
    background:var(--dst-yellow-active);
    border-color:var(--dst-yellow-active);
    color:#0B1528;
    transform:translateY(0);
}

.dst-btn-secondary{
    background:transparent;
    color:#F8FAFC;
    border-color:#F8FAFC;
}

.dst-btn-secondary:hover{
    background:rgba(255,255,255,.12);
    border-color:#F8FAFC;
    color:#F8FAFC;
    transform:translateY(-2px);
}

.dst-btn-secondary:active{
    background:rgba(255,255,255,.18);
    transform:translateY(0);
}

.dst-slider-controls{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.dst-slider-control{
    appearance:none !important;
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    background:rgba(46,54,77,.78) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    color:#F8FAFC !important;
    width:58px;
    height:58px;
    min-width:58px;
    min-height:58px;
    padding:0 !important;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .25s ease,background .25s ease,border-color .25s ease;
    position:relative;
    z-index:6;
}

.dst-slider-control:hover{
    transform:translateY(-2px);
    background:rgba(52,60,85,.88) !important;
    border-color:rgba(255,255,255,.34) !important;
}

.dst-slider-control[hidden]{display:none !important;}

.dst-icon-pause,.dst-icon-play{
    width:40%;
    height:40%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 40%;
}

.dst-icon-pause{gap:12%;}
.dst-icon-pause span{
    width:18%;
    height:72%;
    border-radius:999px;
    background:#FFC107 !important;
    display:block;
}

.dst-icon-play{display:none;color:#FFC107 !important;}
.dst-icon-play svg{
    width:100%;
    height:100%;
    display:block;
    fill:#FFC107 !important;
}

.dst-slider-toggle.is-paused .dst-icon-pause{display:none;}
.dst-slider-toggle.is-paused .dst-icon-play{display:inline-flex;}

.dst-video-ui{
    position:absolute;
    top:18px;
    left:18px;
    z-index:20;
    display:none;
}

.dst-video-ui.is-active{display:block;}

button.dst-video-toggle,
.dst-video-toggle{
    -webkit-appearance:none !important;
    appearance:none !important;
    background:transparent !important;
    background-image:none !important;
    border:none !important;
    outline:none !important;
    text-shadow:none !important;
    color:#FFC107 !important;
}

.dst-video-toggle{
    all:unset;
    width:66px;
    height:66px;
    min-width:66px;
    min-height:66px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    border-radius:999px;
    position:relative;
    z-index:21;
    touch-action:manipulation;
    user-select:none;
    -webkit-user-select:none;
}

.dst-video-toggle::after{
    content:'';
    position:absolute;
    inset:-4px;
    border-radius:999px;
    border:2px solid rgba(255,193,7,.35);
    opacity:0;
    transform:scale(.94);
    pointer-events:none;
}

.dst-video-toggle:not(:hover):not(:focus-visible)::after{
    animation:dstVideoRing 1.8s infinite;
}


.dst-video-toggle:hover{
    transform:translateY(-2px);
}

.dst-video-toggle:focus-visible{
    transform:translateY(-2px);
    outline:2px solid rgba(255,193,7,.55);
    outline-offset:2px;
}

.dst-video-toggle:active{
    transform:translateY(0);
}

.dst-video-toggle__glass{
    position:absolute;
    inset:0;
    border-radius:999px;
    background:rgba(255,193,7,.16) !important;
    border:1px solid rgba(255,193,7,.34) !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    pointer-events:none;
    transition:background .25s ease,border-color .25s ease;
}

.dst-video-toggle:hover .dst-video-toggle__glass{
    background:rgba(255,193,7,.26) !important;
    border-color:rgba(255,193,7,.48) !important;
}

.dst-video-toggle.is-playing .dst-video-toggle__glass{
    background:rgba(255,193,7,.34) !important;
    border-color:rgba(255,193,7,.58) !important;
}

.dst-video-icon{
    position:relative;
    z-index:1;
    width:42%;
    height:42%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#FFC107 !important;
    pointer-events:none;
}

.dst-video-icon-play svg{
    width:100%;
    height:100%;
    fill:currentColor !important;
    display:block;
}

.dst-video-icon-pause{
    display:none;
    gap:14%;
}

.dst-video-icon-pause span{
    width:18%;
    height:76%;
    border-radius:999px;
    background:#FFC107 !important;
    display:block;
}

.dst-video-toggle.is-playing .dst-video-icon-play{display:none;}
.dst-video-toggle.is-playing .dst-video-icon-pause{display:inline-flex;}

@keyframes dstVideoRing{
    0%{transform:scale(.94);opacity:.48;}
    70%{transform:scale(1.16);opacity:0;}
    100%{transform:scale(1.2);opacity:0;}
}

.dst-destinations-hero.is-video-mode .dst-slide-stage,
.dst-destinations-hero.is-video-mode .dst-row-meta,
.dst-destinations-hero.is-video-mode .dst-row-cta{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

@media (max-width:1399px){
    .dst-h1,.dst-h2{font-size:56px;max-width:820px;}
    .dst-subhead{font-size:18px;max-width:860px;}
}

@media (max-width:1100px){
    .dst-h1,.dst-h2{font-size:48px;max-width:760px;}
    .dst-subhead{font-size:17px;max-width:760px;}
}

@media (max-width:1024px){
    .dst-h1,.dst-h2{font-size:42px;max-width:680px;}
    .dst-subhead{font-size:16px;max-width:700px;}
    .dst-video-ui{top:16px;left:16px;}
    .dst-slider-controls{justify-content:center;gap:9px;}
}

@media (max-width:767px){
    .dst-hero-wrapper{padding:20px 10px;}
    .dst-destinations-hero{
        height:clamp(620px,82vh,760px);
        min-height:clamp(620px,82vh,760px);
        border-radius:20px;
    }

    .dst-hero-content{padding:20px 10px;}

    .dst-bg-slider-picture,
    .dst-video-poster-picture,
    .dst-bg-slider,
    .dst-video-poster,
    .dst-video-layer,
    .dst-video-embed,
    .dst-bg-video{
        width:100% !important;
        height:100% !important;
        min-width:100% !important;
        min-height:100% !important;
    }

    .dst-bg-slider,
    .dst-video-poster,
    .dst-bg-video{
        object-fit:cover !important;
        object-position:center center !important;
        width:100% !important;
        height:100% !important;
    }

    .dst-video-layer iframe{
        transform:translate(-50%, -50%) scale(1.55) !important;
    }

    .dst-h1,.dst-h2{font-size:30px;max-width:100%;}
    .dst-subhead{font-size:14px;max-width:100%;line-height:1.55;}
    .dst-hero-actions{gap:12px;}
    .dst-btn{width:100%;font-size:15px;min-height:50px;padding:13px 16px;}
    .dst-slider-controls{justify-content:center;gap:8px;}
    .dst-video-ui{top:12px;left:12px;}
    .dst-video-toggle{width:56px;height:56px;min-width:56px;min-height:56px;}
}

/* v118 sound control + mobile landscape expand */
.dst-video-toggle-wrap{
    display:flex;
    align-items:center;
    gap:10px;
}

button.dst-video-sound,
.dst-video-sound{
    -webkit-appearance:none !important;
    appearance:none !important;
    background:transparent !important;
    border:none !important;
    outline:none !important;
    color:#FFC107 !important;
}

.dst-video-sound{
    all:unset;
    width:54px;
    height:54px;
    min-width:54px;
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    border-radius:999px;
    position:relative;
    z-index:21;
    touch-action:manipulation;
    user-select:none;
    -webkit-user-select:none;
    transition:transform .25s ease;
}

.dst-video-sound::after{
    content:'';
    position:absolute;
    inset:-3px;
    border-radius:999px;
    border:1px solid rgba(255,193,7,.18);
    opacity:.55;
    pointer-events:none;
}

.dst-video-sound:hover,
.dst-video-sound:focus-visible{
    transform:translateY(-2px);
    outline:2px solid rgba(255,193,7,.55);
    outline-offset:2px;
}

.dst-video-sound__glass{
    position:absolute;
    inset:0;
    border-radius:999px;
    background:rgba(255,193,7,.12) !important;
    border:1px solid rgba(255,193,7,.28) !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    pointer-events:none;
}

.dst-video-sound-icon{
    position:relative;
    z-index:1;
    width:42%;
    height:42%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#FFC107 !important;
}

.dst-video-sound-icon svg{
    width:100%;
    height:100%;
    display:block;
    stroke:currentColor;
}

.dst-video-sound-icon-unmute{display:none;}
.dst-video-sound.is-muted .dst-video-sound-icon-muted{display:inline-flex;}
.dst-video-sound.is-muted .dst-video-sound-icon-unmute{display:none;}
.dst-video-sound.is-unmuted .dst-video-sound-icon-muted{display:none;}
.dst-video-sound.is-unmuted .dst-video-sound-icon-unmute{display:inline-flex;}

.dst-video-ui{
    pointer-events:none;
}
.dst-video-toggle-wrap,
.dst-video-toggle,
.dst-video-sound{
    pointer-events:auto;
}

.dst-video-layer iframe{
    width:177.78vh !important;
    height:56.25vw !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    border:0 !important;
    display:block !important;
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    transform:translate(-50%, -50%) !important;
}

@media (max-width:767px){
    .dst-video-toggle-wrap{
        gap:8px;
    }

    .dst-video-sound{
        width:48px;
        height:48px;
        min-width:48px;
        min-height:48px;
    }

    .dst-video-layer iframe{
        width:200vh !important;
        height:62vw !important;
    }
}

@media (max-width:1024px) and (orientation: landscape){
    html.dst-landscape-video-open,
    body.dst-landscape-video-open{
        overflow:hidden !important;
    }

    .dst-hero-wrapper.is-mobile-landscape-video{
        position:fixed !important;
        inset:0 !important;
        z-index:99999 !important;
        padding:0 !important;
        margin:0 !important;
        width:100vw !important;
        height:100dvh !important;
        background:#000 !important;
    }

    .dst-hero-wrapper.is-mobile-landscape-video .dst-destinations-hero{
        width:100vw !important;
        height:100dvh !important;
        min-height:100dvh !important;
        border-radius:0 !important;
        clip-path:none !important;
    }

    .dst-hero-wrapper.is-mobile-landscape-video .dst-hero-content{
        padding:14px !important;
    }

    .dst-hero-wrapper.is-mobile-landscape-video .dst-video-layer iframe{
        width:220vh !important;
        height:70vw !important;
    }
}


@media (prefers-reduced-motion: reduce){
    .dst-bg-slide,
    .dst-slide-text,
    .dst-btn,
    .dst-slider-control,
    .dst-video-toggle,
    .dst-video-sound{
        transition:none !important;
        animation:none !important;
    }

    .dst-btn-primary::after,
    .dst-video-toggle::after{
        animation:none !important;
        opacity:0 !important;
    }
}

/* v123 optimization-only: keep first paint stable, then restore normal motion */
.dst-destinations-hero.is-preload-state .dst-bg-slide,
.dst-destinations-hero.is-preload-state .dst-slide-text,
.dst-destinations-hero.is-preload-state .dst-hero-stack{
    transition:none !important;
}

.dst-destinations-hero.is-preload-state .dst-slide-text.is-active,
.dst-destinations-hero.is-preload-state .dst-bounce-arrow,
.dst-destinations-hero.is-preload-state .dst-video-toggle,
.dst-destinations-hero.is-preload-state .dst-video-sound{
    animation:none !important;
}

.dst-destinations-hero.is-preload-state .dst-bg-slide.is-active{
    transform:none;
}
