/*
 * Dream N Destination homepage stylesheet
 * Complete homepage CSS for index.php.
 *
 * All static homepage styling is kept in this file.
 * PHP/database-driven Why Us and CTA image URLs are passed from index.php
 * using data attributes and assigned to the existing CSS custom properties
 * by the homepage JavaScript.
 */

/* ==========================================================================
   EXTRACTED HOMEPAGE CSS BLOCK 1
   ========================================================================== */

/* ========================================================================
   DREAM N DESTINATION — PROFESSIONAL ANIMATED HOMEPAGE
   All styles are scoped with dnd-home-* classes to protect existing pages.
   ======================================================================== */

:root {
    --dnd-home-green: #0A8F2F;
    --dnd-home-green-dark: #046B24;
    --dnd-home-blue: #111E88;
    --dnd-home-blue-dark: #08145F;
    --dnd-home-orange: #0A8F2F;
    --dnd-home-orange-dark: #046B24;
    --dnd-home-ink: #101D5C;
    --dnd-home-muted: #68718B;
    --dnd-home-cream: #F5FAF6;
    --dnd-home-soft: #F4F7FF;
    --dnd-home-white: #ffffff;
    --dnd-home-shadow: 0 24px 65px rgba(16, 42, 64, .13);
}

/*
|--------------------------------------------------------------------------
| Global Website Typography
|--------------------------------------------------------------------------
| Manrope is used for all regular website text and form controls.
| Font Awesome icon families and the decorative destination script remain.
*/

html,
body,
button,
input,
select,
textarea,
option {
    font-family: "Manrope", sans-serif;
}

.dnd-home-page,
.dnd-home-page :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    a,
    span,
    strong,
    small,
    label,
    button,
    input,
    select,
    textarea,
    option
) {
    font-family: "Manrope", sans-serif;
}

/* Keep the reference-style handwritten destination label. */
.dnd-home-page .dnd-home-destination-kicker {
    font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive;
}

/* Protect Font Awesome icon rendering. */
.dnd-home-page .fa,
.dnd-home-page .fa-solid,
.dnd-home-page .fa-regular {
    font-family: "Font Awesome 6 Free" !important;
}

.dnd-home-page .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
}

.dnd-home-page {
    overflow-x: hidden;
}

.dnd-home-page img {
    max-width: 100%;
}

.dnd-home-section {
    position: relative;
    padding: 108px 0;
    overflow: hidden;
}

.dnd-home-section.is-soft {
    background:
        radial-gradient(circle at 0 0, rgba(7, 141, 60, .08), transparent 32%),
        radial-gradient(circle at 100% 100%, rgba(10, 143, 47, .08), transparent 30%),
        #F6FAF7;
}

.dnd-home-section.is-cream {
    background: linear-gradient(180deg, #F6FBF7 0%, #fff 100%);
}

.dnd-home-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.2, .8, .2, 1);
}

.dnd-home-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.dnd-home-reveal[data-delay="1"] { transition-delay: .08s; }
.dnd-home-reveal[data-delay="2"] { transition-delay: .16s; }
.dnd-home-reveal[data-delay="3"] { transition-delay: .24s; }
.dnd-home-reveal[data-delay="4"] { transition-delay: .32s; }
.dnd-home-reveal[data-delay="5"] { transition-delay: .40s; }

.dnd-home-heading {
    margin-bottom: 48px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
}

.dnd-home-heading.is-center {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
    display: block;
    text-align: center;
}

.dnd-home-eyebrow {
    margin-bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--dnd-home-green);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.dnd-home-eyebrow::before {
    content: "";
    width: 31px;
    height: 2px;
    background: linear-gradient(90deg, var(--dnd-home-green), var(--dnd-home-orange));
    border-radius: 99px;
}

.dnd-home-heading h2,
.dnd-home-about-copy h2,
.dnd-home-why-copy h2,
.dnd-home-cta h2 {
    margin: 0;
    color: var(--dnd-home-ink);
    font-family: "Manrope", sans-serif;
    font-size: clamp(36px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.dnd-home-heading p,
.dnd-home-about-copy > p,
.dnd-home-why-copy > p {
    max-width: 650px;
    margin: 18px 0 0;
    color: var(--dnd-home-muted);
    font-size: 15px;
    line-height: 1.85;
}

.dnd-home-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--dnd-home-ink);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition: color .25s ease;
}

.dnd-home-link i {
    width: 39px;
    height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--dnd-home-orange);
    border-radius: 50%;
    transform: rotate(-45deg);
    transition:
        background .25s ease,
        transform .25s ease;
}

.dnd-home-link:hover {
    color: var(--dnd-home-green);
}

.dnd-home-link:hover i {
    background: var(--dnd-home-green);
    transform: rotate(0deg);
}

/* ------------------------------------------------------------------------
   HERO
   ------------------------------------------------------------------------ */

.dnd-home-hero {
    position: relative;
    min-height: 835px;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background: #07145F;
}

.dnd-home-hero-slides,
.dnd-home-hero-slide {
    position: absolute;
    inset: 0;
}

.dnd-home-hero-slide {
    visibility: hidden;
    opacity: 0;
    transition:
        opacity 1.25s ease,
        visibility 1.25s ease;
}

.dnd-home-hero-slide.is-active {
    visibility: visible;
    opacity: 1;
}

.dnd-home-hero-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    will-change: transform;
}

.dnd-home-hero-slide.is-active img {
    animation: dndHomeHeroZoom 8.2s linear forwards;
}

@keyframes dndHomeHeroZoom {
    from { transform: scale(1); }
    to { transform: scale(1.11); }
}

.dnd-home-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(3, 18, 27, .83) 0%, rgba(3, 18, 27, .66) 40%, rgba(3, 18, 27, .35) 70%, rgba(3, 18, 27, .48) 100%),
        linear-gradient(180deg, rgba(3, 18, 27, .12), rgba(3, 18, 27, .42));
    pointer-events: none;
}

.dnd-home-hero::after {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 2;
    background-image:
        radial-gradient(circle at 15% 25%, rgba(255,255,255,.12) 0 1px, transparent 2px),
        radial-gradient(circle at 79% 18%, rgba(255,255,255,.13) 0 1px, transparent 2px);
    background-size: 42px 42px, 58px 58px;
    opacity: .28;
    pointer-events: none;
}

.dnd-home-hero-inner {
    position: relative;
    z-index: 4;
    min-height: 730px;
    padding-top: 178px;
    padding-bottom: 155px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: center;
    gap: clamp(55px, 8vw, 125px);
}

.dnd-home-hero-copy {
    max-width: 670px;
    transition:
        opacity .28s ease,
        transform .28s ease;
}

.dnd-home-hero-copy.is-changing,
.dnd-home-popular-card.is-changing {
    opacity: 0;
    transform: translateY(16px);
}

.dnd-home-flight {
    position: absolute;
    z-index: 5;
    top: 118px;
    left: clamp(330px, 41vw, 620px);
    width: 245px;
    height: 105px;
    pointer-events: none;
}

.dnd-home-flight svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.dnd-home-flight path {
    fill: none;
    stroke: rgba(255,255,255,.88);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 7 9;
    animation: dndHomeFlightDash 10s linear infinite;
}

.dnd-home-flight circle {
    fill: var(--dnd-home-orange);
}

.dnd-home-flight i {
    position: absolute;
    top: 0;
    right: 4px;
    color: #0A8F2F;
    font-size: 28px;
    transform: rotate(-15deg);
    filter: drop-shadow(0 6px 10px rgba(0,0,0,.25));
    animation: dndHomePlaneFloat 3.4s ease-in-out infinite;
}

@keyframes dndHomeFlightDash {
    to { stroke-dashoffset: -165; }
}

@keyframes dndHomePlaneFloat {
    0%, 100% { transform: translateY(0) rotate(-15deg); }
    50% { transform: translateY(-8px) rotate(-8deg); }
}

.dnd-home-hero-eyebrow {
    margin-bottom: 12px;
    display: block;
    color: #fff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(28px, 3vw, 46px);
    font-style: italic;
    font-weight: 700;
    line-height: 1.1;
    text-shadow: 0 4px 20px rgba(0,0,0,.25);
}

.dnd-home-hero-title {
    max-width: 670px;
    margin: 0;
    color: #fff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(46px, 5vw, 76px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.055em;
    text-shadow: 0 7px 30px rgba(0,0,0,.28);
}

.dnd-home-hero-title em {
    display: block;
    margin-top: 2px;
    color: var(--dnd-home-orange);
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}

.dnd-home-hero-description {
    max-width: 620px;
    margin: 23px 0 0;
    color: rgba(255,255,255,.92);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.78;
    text-shadow: 0 3px 16px rgba(0,0,0,.24);
}

.dnd-home-hero-benefits {
    margin-top: 26px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
}

.dnd-home-hero-benefit {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.dnd-home-hero-benefit span:first-child {
    width: 35px;
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #111;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 8px 22px rgba(0,0,0,.20);
}

.dnd-home-hero-actions {
    margin-top: 28px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px;
}

.dnd-home-pill-button {
    min-height: 49px;
    padding: 5px 6px 5px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #fff;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(0,0,0,.20);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.dnd-home-pill-button.is-orange {
    background: linear-gradient(135deg, #0A9A38, #047229);
}

.dnd-home-pill-button.is-blue {
    background: linear-gradient(135deg, #1B2AA8, #0D197D);
}

.dnd-home-pill-button i {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-ink);
    background: #fff;
    border-radius: 50%;
    font-size: 12px;
    transform: rotate(-45deg);
    transition: transform .25s ease;
}

.dnd-home-pill-button:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 16px 35px rgba(0,0,0,.28);
}

.dnd-home-pill-button:hover i {
    transform: rotate(0deg);
}

.dnd-home-popular-card {
    position: relative;
    padding: 16px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.31);
    border-radius: 17px;
    box-shadow: 0 24px 55px rgba(0,0,0,.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition:
        opacity .28s ease,
        transform .28s ease;
}

.dnd-home-popular-card h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.dnd-home-popular-image {
    position: relative;
    height: 175px;
    display: block;
    overflow: hidden;
    background: rgba(255,255,255,.12);
    border-radius: 13px;
}

.dnd-home-popular-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .65s ease;
}

.dnd-home-popular-image:hover img {
    transform: scale(1.08);
}

.dnd-home-popular-image > span {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 37px;
    height: 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-ink);
    background: #fff;
    border-radius: 50%;
    font-size: 12px;
    transform: rotate(-45deg);
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

.dnd-home-trusted {
    min-height: 49px;
    margin-top: 12px;
    padding: 5px 14px 5px 6px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: 999px;
}

.dnd-home-faces {
    display: flex;
    align-items: center;
}

.dnd-home-face {
    width: 31px;
    height: 31px;
    margin-left: -8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    background: var(--dnd-home-blue);
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 800;
}

.dnd-home-face:first-child { margin-left: 0; }
.dnd-home-face img { width: 100%; height: 100%; object-fit: cover; }

.dnd-home-trusted-copy {
    color: var(--dnd-home-orange);
    line-height: 1.05;
}

.dnd-home-trusted-copy strong,
.dnd-home-trusted-copy span {
    display: block;
}

.dnd-home-trusted-copy strong {
    font-size: 14px;
    font-weight: 900;
}

.dnd-home-trusted-copy span {
    font-size: 11px;
    font-weight: 800;
}

.dnd-home-hero-dots {
    position: absolute;
    z-index: 6;
    top: 50%;
    right: max(18px, calc((100vw - 1220px) / 2 - 20px));
    width: 20px;
    height: 145px;
    display: flex;
    flex-direction: column;
    transform: translateY(-50%);
}

.dnd-home-hero-dots::before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 50%;
    width: 3px;
    background: rgba(255,255,255,.28);
    border-radius: 99px;
    transform: translateX(-50%);
}

.dnd-home-hero-dot {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    width: 20px;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.dnd-home-hero-dot::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 3px;
    height: 0;
    background: #fff;
    border-radius: 99px;
    transform: translate(-50%, -50%);
    transition: height .35s ease;
}

.dnd-home-hero-dot.is-active::after {
    height: 46px;
}

.dnd-home-wave {
    position: absolute;
    z-index: 5;
    right: -2%;
    bottom: -1px;
    left: -2%;
    height: 100px;
    pointer-events: none;
}

.dnd-home-wave svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ------------------------------------------------------------------------
   SEARCH PANEL
   ------------------------------------------------------------------------ */

.dnd-home-search-zone {
    position: relative;
    z-index: 20;
    margin-top: -76px;
    padding-bottom: 28px;
}

.dnd-home-search {
    width: min(100%, 1140px);
    min-height: 108px;
    margin: 0 auto;
    padding: 18px 22px;
    display: grid;
    grid-template-columns:
        minmax(190px, 1.12fr)
        minmax(180px, 1fr)
        minmax(165px, .88fr)
        minmax(180px, .98fr)
        142px;
    align-items: center;
    gap: 0;
    background: rgba(255,255,255,.985);
    border: 1px solid rgba(255,255,255,.96);
    border-radius: 21px;
    box-shadow:
        0 24px 60px rgba(18, 43, 66, .15),
        0 5px 16px rgba(18, 43, 66, .05);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.dnd-home-search-field {
    position: relative;
    min-width: 0;
    min-height: 70px;
    padding: 5px 22px;
    display: grid;
    grid-template-columns: 49px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    border-right: 1px solid rgba(34, 62, 86, .08);
}

.dnd-home-search-field:first-child { padding-left: 3px; }
.dnd-home-search-field:nth-child(4) { border-right: 0; }

.dnd-home-search-icon {
    width: 49px;
    height: 49px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-orange);
    background: #fff;
    border: 1px solid rgba(37, 66, 91, .11);
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(25, 52, 75, .04);
    font-size: 18px;
    transition:
        color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.dnd-home-search-field:hover .dnd-home-search-icon,
.dnd-home-search-field:focus-within .dnd-home-search-icon {
    color: #fff;
    background: var(--dnd-home-orange);
    transform: translateY(-2px);
}

.dnd-home-search-control {
    min-width: 0;
}

.dnd-home-search-control label {
    margin: 0 0 7px;
    display: block;
    color: #17245F;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.dnd-home-search-control select {
    width: 100%;
    height: 28px;
    min-width: 0;
    padding: 0 28px 0 0;
    color: #63708C;
    background-color: transparent;
    background-image:
        linear-gradient(45deg, transparent 50%, #17245F 50%),
        linear-gradient(135deg, #17245F 50%, transparent 50%);
    background-position:
        calc(100% - 8px) 11px,
        calc(100% - 3px) 11px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    border: 0;
    outline: 0;
    appearance: none;
    -webkit-appearance: none;
    font-size: 13px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.dnd-home-search-submit {
    min-width: 140px;
    min-height: 51px;
    margin-left: 18px;
    padding: 5px 5px 5px 21px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 13px;
    color: #fff;
    background: linear-gradient(135deg, #0A9A38, #047229);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(10, 143, 47, .25);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.dnd-home-search-submit i {
    width: 39px;
    height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-ink);
    background: #fff;
    border-radius: 50%;
    font-size: 12px;
    transform: rotate(-45deg);
    transition: transform .25s ease;
}

.dnd-home-search-submit:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--dnd-home-green), var(--dnd-home-green-dark));
    transform: translateY(-2px);
    box-shadow: 0 15px 32px rgba(7, 141, 60, .26);
}

.dnd-home-search-submit:hover i {
    transform: rotate(0deg);
}

/* ------------------------------------------------------------------------
   TRUST STRIP
   ------------------------------------------------------------------------ */

.dnd-home-trust {
    padding: 24px 0 58px;
    background: #fff;
}

.dnd-home-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.dnd-home-trust-item {
    min-height: 92px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid rgba(23, 49, 73, .08);
    border-radius: 16px;
    box-shadow: 0 13px 34px rgba(23, 49, 73, .06);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.dnd-home-trust-item:hover {
    border-color: rgba(7, 141, 60, .22);
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(23, 49, 73, .10);
}

.dnd-home-trust-icon {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-green);
    background: #EAF7EE;
    border-radius: 14px;
    font-size: 19px;
}

.dnd-home-trust-item strong,
.dnd-home-trust-item span {
    display: block;
}

.dnd-home-trust-item strong {
    margin-bottom: 5px;
    color: var(--dnd-home-ink);
    font-size: 14px;
    font-weight: 800;
}

.dnd-home-trust-item span {
    color: var(--dnd-home-muted);
    font-size: 12px;
    line-height: 1.5;
}

/* ------------------------------------------------------------------------
   ACTIVITY CAROUSEL
   ------------------------------------------------------------------------ */

.dnd-home-activity-shell {
    position: relative;
    padding: 0 44px;
}

.dnd-home-activity-track {
    padding: 8px 4px 20px;
    display: flex;
    gap: 30px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.dnd-home-activity-track::-webkit-scrollbar { display: none; }

.dnd-home-activity-card {
    flex: 0 0 calc((100% - 120px) / 5);
    min-width: 0;
    color: var(--dnd-home-ink);
    text-align: center;
    text-decoration: none;
    scroll-snap-align: start;
}

.dnd-home-activity-media {
    position: relative;
    aspect-ratio: 1 / 1;
    margin-bottom: 20px;
}

.dnd-home-activity-media > div {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #EEF2FA;
    border-radius: 34px;
    box-shadow: 0 14px 34px rgba(24, 52, 76, .10);
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.dnd-home-activity-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.8,.2,1);
}

.dnd-home-activity-arrow {
    position: absolute;
    right: -7px;
    bottom: -9px;
    z-index: 2;
    width: 45px;
    height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #0A9A38, #047229);
    border: 4px solid #fff;
    border-radius: 50%;
    box-shadow: 0 9px 22px rgba(10, 143, 47, .30);
    font-size: 12px;
}

.dnd-home-activity-arrow i {
    transform: rotate(-45deg);
    transition: transform .3s ease;
}

.dnd-home-activity-card:hover .dnd-home-activity-media > div {
    transform: translateY(-6px);
    box-shadow: 0 22px 45px rgba(24, 52, 76, .16);
}

.dnd-home-activity-card:hover .dnd-home-activity-media img {
    transform: scale(1.09);
}

.dnd-home-activity-card:hover .dnd-home-activity-arrow {
    background: linear-gradient(135deg, var(--dnd-home-green), var(--dnd-home-green-dark));
}

.dnd-home-activity-card:hover .dnd-home-activity-arrow i {
    transform: rotate(0deg);
}

.dnd-home-activity-card h3 {
    margin: 0 0 6px;
    color: var(--dnd-home-ink);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 800;
    transition: color .25s ease;
}

.dnd-home-activity-card:hover h3 {
    color: var(--dnd-home-orange);
}

.dnd-home-activity-card p {
    margin: 0;
    color: #7B849C;
    font-size: 13px;
}

.dnd-home-carousel-btn {
    position: absolute;
    top: 42%;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-orange);
    background: #fff;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 11px 28px rgba(23, 50, 73, .15);
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.dnd-home-carousel-btn.is-prev { left: 0; }
.dnd-home-carousel-btn.is-next { right: 0; }

.dnd-home-carousel-btn:hover {
    color: #fff;
    background: var(--dnd-home-orange);
    transform: translateY(-50%) scale(1.07);
}

/* ------------------------------------------------------------------------
   POPULAR DESTINATION — REFERENCE-STYLE COVERFLOW
   Professionally rebuilt to match the supplied visual reference:
   centered active card, layered back cards, soft blur, manual drag support
   and cursor-based DRAG interaction.
   ------------------------------------------------------------------------ */

.dnd-home-destination-section {
    position: relative;
    padding: 56px 0 54px;
    overflow: hidden;
    background: #ffffff;
}

.dnd-home-destination-section::before {
    display: none !important;
    content: none !important;
}

.dnd-home-destination-heading {
    position: relative;
    z-index: 15;
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.dnd-home-destination-kicker {
    display: block;
    margin: 0;
    color: #0A8F2F;
    font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive;
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 400;
    line-height: .95;
    letter-spacing: .01em;
}

.dnd-home-destination-heading h2 {
    margin: 6px 0 0;
    color: #101D5C;
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.dnd-home-destination-heading p,
.dnd-home-destination-heading .dnd-home-link {
    display: none;
}

.dnd-home-destination-carousel {
    --dnd-destination-card-width: 322px;
    --dnd-destination-card-height: 478px;
    --dnd-destination-overlap: -112px;

    position: relative;
    z-index: 3;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    user-select: none;
    -webkit-user-select: none;
}

.dnd-home-destination-viewport {
    position: relative;
    width: 100%;
    max-width: 1125px;
    height: 500px;
    margin: 0 auto;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0,
        #000 5.5%,
        #000 94.5%,
        transparent 100%
    );
    mask-image: linear-gradient(
        90deg,
        transparent 0,
        #000 5.5%,
        #000 94.5%,
        transparent 100%
    );
}

.dnd-home-destination-viewport.is-dragging {
    cursor: grabbing;
}

.dnd-home-destination-track,
.dnd-home-destination-slide {
    box-sizing: border-box;
}

.dnd-home-destination-track {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    width: max-content;
    height: var(--dnd-destination-card-height);
    will-change: transform;
    transition: transform .82s cubic-bezier(.22, .8, .24, 1);
}

.dnd-home-destination-slide {
    position: relative;
    flex: 0 0 var(--dnd-destination-card-width);
    width: var(--dnd-destination-card-width);
    height: var(--dnd-destination-card-height);
    margin-right: var(--dnd-destination-overlap);
    overflow: hidden;
    color: #ffffff;
    background: #0E1F59;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 19px;
    box-shadow:
        0 16px 36px rgba(12, 31, 74, .15),
        0 6px 14px rgba(12, 31, 74, .08);
    text-decoration: none;
    opacity: 0;
    filter: saturate(.55) brightness(.62) blur(4px);
    transform: translateY(72px) scale(.74);
    transform-origin: center center;
    pointer-events: none;
    transition:
        transform .82s cubic-bezier(.22, .8, .24, 1),
        opacity .72s ease,
        filter .72s ease,
        box-shadow .72s ease;
}

.dnd-home-destination-slide.is-active,
.dnd-home-destination-slide.is-near,
.dnd-home-destination-slide.is-far {
    pointer-events: auto;
}

.dnd-home-destination-slide.is-active {
    z-index: 40;
    opacity: 1;
    filter: none;
    transform: translateY(0) scale(1);
    box-shadow:
        0 28px 66px rgba(14, 31, 89, .22),
        0 10px 22px rgba(14, 31, 89, .10);
}

.dnd-home-destination-slide.is-near {
    z-index: 26;
    opacity: .84;
    filter: saturate(.60) brightness(.72) blur(2.8px);
    transform: translateY(42px) scale(.86);
}

.dnd-home-destination-slide.is-far {
    z-index: 14;
    opacity: .62;
    filter: saturate(.50) brightness(.66) blur(5px);
    transform: translateY(66px) scale(.76);
}

.dnd-home-destination-slide.is-left-1,
.dnd-home-destination-slide.is-left-2 {
    transform-origin: right center;
}

.dnd-home-destination-slide.is-right-1,
.dnd-home-destination-slide.is-right-2 {
    transform-origin: left center;
}

.dnd-home-destination-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform .95s cubic-bezier(.2, .8, .2, 1);
    pointer-events: none;
}

.dnd-home-destination-slide::before {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            180deg,
            rgba(1, 10, 30, 0) 34%,
            rgba(1, 10, 30, .10) 52%,
            rgba(3, 18, 50, .60) 74%,
            rgba(3, 18, 50, .96) 100%
        );
    pointer-events: none;
}

.dnd-home-destination-slide::after {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: inherit;
    pointer-events: none;
}

.dnd-home-destination-slide.is-active:hover img {
    transform: scale(1.055);
}

.dnd-home-destination-drag-cue {
    position: absolute;
    z-index: 50;
    top: 0;
    left: 0;
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #ffffff;
    background: rgba(14, 68, 80, .94);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 14px 34px rgba(7, 21, 58, .24);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .01em;
    pointer-events: none;
    will-change: left, top, transform;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -50%) scale(.78);
    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease,
        background-color .2s ease;
}

.dnd-home-destination-drag-cue i {
    font-size: 9px;
}

.dnd-home-destination-carousel.is-card-hovered .dnd-home-destination-drag-cue,
.dnd-home-destination-carousel.is-dragging .dnd-home-destination-drag-cue {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.dnd-home-destination-carousel.is-dragging .dnd-home-destination-drag-cue {
    background: rgba(10, 143, 47, .96);
    transform: translate(-50%, -50%) scale(.94);
}

@media (pointer: fine) {
    .dnd-home-destination-slide {
        cursor: none;
    }
}

@media (pointer: coarse) {
    .dnd-home-destination-drag-cue {
        display: none;
    }
}

.dnd-home-destination-slide-content {
    position: absolute;
    z-index: 4;
    right: 18px;
    bottom: 16px;
    left: 18px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    opacity: .32;
    transform: translateY(6px);
    transition:
        opacity .45s ease,
        transform .45s ease;
}

.dnd-home-destination-slide.is-active .dnd-home-destination-slide-content {
    opacity: 1;
    transform: translateY(0);
}

.dnd-home-destination-slide.is-near .dnd-home-destination-slide-content {
    opacity: .58;
}

.dnd-home-destination-slide-copy {
    min-width: 0;
}

.dnd-home-destination-slide-copy h3 {
    margin: 0 0 4px;
    overflow: hidden;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.18;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dnd-home-destination-slide-copy p {
    margin: 0;
    color: rgba(255, 255, 255, .92);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}

.dnd-home-destination-read {
    flex: 0 0 auto;
    min-width: 132px;
    height: 40px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #ffffff;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .90);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition:
        color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.dnd-home-destination-read i {
    font-size: 10px;
    transition: transform .25s ease;
}

.dnd-home-destination-slide:hover .dnd-home-destination-read {
    color: #101D5C;
    background: #ffffff;
}

.dnd-home-destination-slide:hover .dnd-home-destination-read i {
    transform: translateX(3px);
}

/* Keep the navigation buttons in code for accessibility but hidden visually
   to match the supplied reference screenshot. */
.dnd-home-destination-control,
.dnd-home-destination-progress {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 1100px) {
    .dnd-home-destination-carousel {
        --dnd-destination-card-width: 304px;
        --dnd-destination-card-height: 448px;
        --dnd-destination-overlap: -100px;
    }

    .dnd-home-destination-viewport {
        max-width: 1000px;
        height: 470px;
    }

    .dnd-home-destination-slide.is-near {
        transform: translateY(40px) scale(.85);
    }

    .dnd-home-destination-slide.is-far {
        transform: translateY(64px) scale(.75);
    }
}

@media (max-width: 767px) {
    .dnd-home-destination-section {
        padding: 56px 0 40px;
    }

    .dnd-home-destination-heading {
        width: calc(100% - 28px);
        margin-bottom: 24px;
    }

    .dnd-home-destination-kicker {
        font-size: 30px;
    }

    .dnd-home-destination-heading h2 {
        font-size: clamp(34px, 9vw, 44px);
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: 272px;
        --dnd-destination-card-height: 402px;
        --dnd-destination-overlap: -76px;
    }

    .dnd-home-destination-viewport {
        height: 422px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2%, #000 98%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 2%, #000 98%, transparent 100%);
    }

    .dnd-home-destination-slide.is-near {
        transform: translateY(36px) scale(.82);
    }

    .dnd-home-destination-slide.is-far {
        transform: translateY(56px) scale(.70);
    }

    .dnd-home-destination-slide-content {
        right: 16px;
        bottom: 14px;
        left: 16px;
        gap: 10px;
    }

    .dnd-home-destination-slide-copy h3 {
        font-size: 16px;
    }

    .dnd-home-destination-slide-copy p {
        font-size: 10px;
    }

    .dnd-home-destination-read {
        min-width: 112px;
        height: 36px;
        padding: 0 14px;
        font-size: 10px;
    }

    .dnd-home-destination-drag-cue {
        width: 74px;
        height: 74px;
        gap: 6px;
        font-size: 10px;
    }
}

@media (max-width: 480px) {
    .dnd-home-destination-carousel {
        --dnd-destination-card-width: min(78vw, 292px);
        --dnd-destination-card-height: 414px;
        --dnd-destination-overlap: -56px;
    }

    .dnd-home-destination-viewport {
        height: 434px;
        max-width: 100%;
    }

    .dnd-home-destination-slide.is-near {
        opacity: .52;
        transform: translateY(42px) scale(.70);
    }

    .dnd-home-destination-slide.is-far {
        opacity: 0;
        pointer-events: none;
    }
}


/* ------------------------------------------------------------------------
   PACKAGE SECTION ENHANCEMENT
   ------------------------------------------------------------------------ */

.dnd-home-packages .package-grid {
    gap: 26px;
}

.dnd-home-packages .package-card {
    border-radius: 21px;
    box-shadow: 0 16px 42px rgba(19, 47, 69, .09);
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.dnd-home-packages .package-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 58px rgba(19, 47, 69, .15);
}

/* ------------------------------------------------------------------------
   ABOUT
   ------------------------------------------------------------------------ */

.dnd-home-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: clamp(55px, 7vw, 100px);
}

.dnd-home-about-visual {
    position: relative;
    min-height: 610px;
}

.dnd-home-about-main,
.dnd-home-about-small,
.dnd-home-about-third {
    position: absolute;
    overflow: hidden;
    background: #EEF2FA;
    box-shadow: 0 24px 60px rgba(20, 47, 68, .16);
}

.dnd-home-about-main {
    top: 0;
    left: 0;
    width: 70%;
    height: 500px;
    border-radius: 160px 35px 35px 35px;
}

.dnd-home-about-small {
    right: 0;
    bottom: 22px;
    width: 49%;
    height: 285px;
    border: 10px solid #fff;
    border-radius: 34px;
}

.dnd-home-about-third {
    top: 60px;
    right: 3%;
    width: 31%;
    height: 190px;
    border: 8px solid #fff;
    border-radius: 26px;
}

.dnd-home-about-main img,
.dnd-home-about-small img,
.dnd-home-about-third img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.dnd-home-about-visual:hover img {
    transform: scale(1.055);
}

.dnd-home-experience {
    position: absolute;
    bottom: 60px;
    left: 4%;
    z-index: 3;
    min-width: 210px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 13px;
    color: #fff;
    background: linear-gradient(135deg, var(--dnd-home-green), var(--dnd-home-green-dark));
    border: 6px solid #fff;
    border-radius: 20px;
    box-shadow: 0 18px 42px rgba(7, 141, 60, .24);
}

.dnd-home-experience strong {
    font-family: "Manrope", sans-serif;
    font-size: 35px;
    line-height: 1;
}

.dnd-home-experience span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.dnd-home-about-copy > p {
    max-width: 590px;
}

.dnd-home-feature-list {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 18px;
}

.dnd-home-feature {
    min-height: 54px;
    padding: 11px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--dnd-home-ink);
    background: #F6FAF7;
    border: 1px solid rgba(7, 141, 60, .08);
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
}

.dnd-home-feature i {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--dnd-home-green);
    border-radius: 50%;
    font-size: 10px;
}

.dnd-home-about-bottom {
    margin-top: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.dnd-home-primary-button {
    min-height: 49px;
    padding: 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    background: linear-gradient(135deg, var(--dnd-home-green), var(--dnd-home-green-dark));
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(7, 141, 60, .20);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.dnd-home-primary-button:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 16px 33px rgba(7, 141, 60, .27);
}

.dnd-home-call {
    display: flex;
    align-items: center;
    gap: 11px;
}

.dnd-home-call > span {
    width: 45px;
    height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-orange);
    background: #EAF7EE;
    border-radius: 50%;
}

.dnd-home-call small,
.dnd-home-call strong {
    display: block;
}

.dnd-home-call small {
    margin-bottom: 3px;
    color: var(--dnd-home-muted);
    font-size: 10px;
}

.dnd-home-call strong {
    color: var(--dnd-home-ink);
    font-size: 13px;
}

/* ------------------------------------------------------------------------
   WHY US + STATS
   ------------------------------------------------------------------------ */

.dnd-home-why {
    position: relative;
    padding: 115px 0;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(110deg, rgba(4, 37, 29, .94), rgba(9, 44, 72, .90)),
        var(--dnd-home-why-image) center/cover no-repeat;
}

.dnd-home-why::before {
    position: absolute;
    content: "";
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 34px 34px;
    opacity: .24;
}

.dnd-home-why-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 70px;
}

.dnd-home-why-copy h2,
.dnd-home-why-copy > p {
    color: #fff;
}

.dnd-home-why-copy > p {
    color: rgba(255,255,255,.78);
}

.dnd-home-why-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.dnd-home-why-card {
    min-height: 210px;
    padding: 25px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 19px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition:
        background .3s ease,
        transform .3s ease;
}

.dnd-home-why-card:hover {
    background: rgba(255,255,255,.16);
    transform: translateY(-6px);
}

.dnd-home-why-card > i {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--dnd-home-orange);
    border-radius: 14px;
    font-size: 19px;
}

.dnd-home-why-card h3 {
    margin: 18px 0 9px;
    color: #fff;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.dnd-home-why-card p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    line-height: 1.65;
}

.dnd-home-stats {
    position: relative;
    z-index: 4;
    margin-top: -48px;
}

.dnd-home-stats-grid {
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #fff;
    border-radius: 21px;
    box-shadow: var(--dnd-home-shadow);
}

.dnd-home-stat {
    padding: 8px 20px;
    text-align: center;
    border-right: 1px solid rgba(23, 49, 73, .09);
}

.dnd-home-stat:last-child { border-right: 0; }

.dnd-home-stat strong,
.dnd-home-stat span {
    display: block;
}

.dnd-home-stat strong {
    color: var(--dnd-home-green);
    font-family: "Manrope", sans-serif;
    font-size: clamp(31px, 3.5vw, 48px);
    font-weight: 800;
    line-height: 1;
}

.dnd-home-stat span {
    margin-top: 8px;
    color: var(--dnd-home-muted);
    font-size: 12px;
    font-weight: 700;
}

/* ------------------------------------------------------------------------
   PROCESS
   ------------------------------------------------------------------------ */

.dnd-home-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.dnd-home-process-grid::before {
    position: absolute;
    content: "";
    top: 44px;
    right: 12%;
    left: 12%;
    height: 2px;
    background: repeating-linear-gradient(90deg, rgba(7,141,60,.35) 0 8px, transparent 8px 16px);
}

.dnd-home-process-card {
    position: relative;
    z-index: 2;
    min-height: 245px;
    padding: 26px;
    background: #fff;
    border: 1px solid rgba(23,49,73,.08);
    border-radius: 20px;
    box-shadow: 0 16px 42px rgba(18,43,66,.08);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.dnd-home-process-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 52px rgba(18,43,66,.13);
}

.dnd-home-process-number {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--dnd-home-orange), var(--dnd-home-orange-dark));
    border: 6px solid #EAF7EE;
    border-radius: 50%;
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(10,143,47,.22);
}

.dnd-home-process-card h3 {
    margin: 24px 0 10px;
    color: var(--dnd-home-ink);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 800;
}

.dnd-home-process-card p {
    margin: 0;
    color: var(--dnd-home-muted);
    font-size: 13px;
    line-height: 1.7;
}

/* ------------------------------------------------------------------------
   TESTIMONIALS
   ------------------------------------------------------------------------ */

.dnd-home-testimonial-layout {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: center;
    gap: 65px;
}

.dnd-home-testimonial-intro p {
    max-width: 500px;
    margin: 17px 0 0;
    color: var(--dnd-home-muted);
    font-size: 14px;
    line-height: 1.8;
}

.dnd-home-testimonial-controls {
    margin-top: 25px;
    display: flex;
    gap: 10px;
}

.dnd-home-testimonial-controls button {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-home-ink);
    background: #fff;
    border: 1px solid rgba(23,49,73,.10);
    border-radius: 50%;
    cursor: pointer;
    transition:
        color .25s ease,
        background .25s ease;
}

.dnd-home-testimonial-controls button:hover {
    color: #fff;
    background: var(--dnd-home-orange);
}

.dnd-home-testimonial-stage {
    position: relative;
    min-height: 330px;
}

.dnd-home-testimonial-card {
    position: absolute;
    inset: 0;
    padding: 37px;
    visibility: hidden;
    opacity: 0;
    background: #fff;
    border: 1px solid rgba(23,49,73,.08);
    border-radius: 24px;
    box-shadow: var(--dnd-home-shadow);
    transform: translateX(35px) scale(.97);
    transition:
        opacity .45s ease,
        visibility .45s ease,
        transform .45s ease;
}

.dnd-home-testimonial-card.is-active {
    visibility: visible;
    opacity: 1;
    transform: translateX(0) scale(1);
}

.dnd-home-testimonial-card > i {
    color: var(--dnd-home-orange);
    font-size: 42px;
    opacity: .32;
}

.dnd-home-testimonial-card > p {
    margin: 20px 0 27px;
    color: var(--dnd-home-ink);
    font-family: "Manrope", sans-serif;
    font-size: clamp(20px, 2.2vw, 29px);
    font-style: italic;
    line-height: 1.55;
}

.dnd-home-testimonial-person {
    display: flex;
    align-items: center;
    gap: 13px;
}

.dnd-home-testimonial-person img,
.dnd-home-testimonial-avatar {
    width: 55px;
    height: 55px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    color: #fff;
    background: var(--dnd-home-green);
    border-radius: 50%;
    font-size: 18px;
    font-weight: 800;
}

.dnd-home-testimonial-person strong,
.dnd-home-testimonial-person span {
    display: block;
}

.dnd-home-testimonial-person strong {
    margin-bottom: 4px;
    color: var(--dnd-home-ink);
    font-size: 14px;
    font-weight: 800;
}

.dnd-home-testimonial-person span {
    color: var(--dnd-home-muted);
    font-size: 11px;
}

/* ------------------------------------------------------------------------
   BLOG
   ------------------------------------------------------------------------ */

.dnd-home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.dnd-home-blog-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(23,49,73,.08);
    border-radius: 21px;
    box-shadow: 0 16px 42px rgba(18,43,66,.08);
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.dnd-home-blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 56px rgba(18,43,66,.14);
}

.dnd-home-blog-media {
    position: relative;
    height: 245px;
    display: block;
    overflow: hidden;
}

.dnd-home-blog-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.dnd-home-blog-card:hover .dnd-home-blog-media img {
    transform: scale(1.08);
}

.dnd-home-blog-body {
    padding: 23px;
}

.dnd-home-blog-meta {
    margin-bottom: 13px;
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    color: var(--dnd-home-muted);
    font-size: 10px;
}

.dnd-home-blog-meta i {
    margin-right: 4px;
    color: var(--dnd-home-orange);
}

.dnd-home-blog-body h3 {
    margin: 0 0 12px;
    color: var(--dnd-home-ink);
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.35;
}

.dnd-home-blog-body h3 a {
    color: inherit;
    text-decoration: none;
}

.dnd-home-blog-body > p {
    margin: 0 0 17px;
    color: var(--dnd-home-muted);
    font-size: 12px;
    line-height: 1.7;
}

/* ------------------------------------------------------------------------
   CTA
   ------------------------------------------------------------------------ */

.dnd-home-cta-wrap {
    padding: 0 0 110px;
    background: #fff;
}

.dnd-home-cta {
    position: relative;
    min-height: 350px;
    padding: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 35px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(100deg, rgba(7,50,36,.95), rgba(15,49,98,.83)),
        var(--dnd-home-cta-image) center/cover no-repeat;
    border-radius: 28px;
    box-shadow: 0 30px 75px rgba(17,49,73,.18);
}

.dnd-home-cta::before,
.dnd-home-cta::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
}

.dnd-home-cta::before {
    width: 280px;
    height: 280px;
    right: -80px;
    top: -100px;
}

.dnd-home-cta::after {
    width: 170px;
    height: 170px;
    right: 90px;
    bottom: -100px;
}

.dnd-home-cta-content,
.dnd-home-cta-action {
    position: relative;
    z-index: 2;
}

.dnd-home-cta h2 {
    max-width: 760px;
    color: #fff;
}

.dnd-home-cta p {
    max-width: 650px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.76);
    font-size: 14px;
    line-height: 1.8;
}

.dnd-home-cta-action {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

.dnd-home-cta-action small {
    color: rgba(255,255,255,.72);
    font-size: 11px;
}

/* ------------------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------------------ */

@media (max-width: 1199px) {
    .dnd-home-hero-inner {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 55px;
    }

    .dnd-home-flight {
        left: 40%;
    }

    .dnd-home-search {
        width: min(100%, 1080px);
        padding: 16px;
        grid-template-columns:
            minmax(165px, 1.08fr)
            minmax(155px, 1fr)
            minmax(140px, .84fr)
            minmax(155px, .92fr)
            128px;
    }

    .dnd-home-search-field {
        padding: 5px 13px;
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 10px;
    }

    .dnd-home-search-icon {
        width: 44px;
        height: 44px;
        font-size: 16px;
    }

    .dnd-home-search-control label { font-size: 13px; }
    .dnd-home-search-control select { font-size: 12px; }
    .dnd-home-search-submit {
        min-width: 126px;
        margin-left: 13px;
        padding-left: 16px;
        font-size: 13px;
    }

    .dnd-home-activity-card {
        flex-basis: calc((100% - 90px) / 4);
    }
}

@media (max-width: 991px) {
    .dnd-home-section { padding: 85px 0; }

    .dnd-home-hero {
        min-height: 840px;
    }

    .dnd-home-hero-inner {
        min-height: 720px;
        padding-top: 165px;
        padding-bottom: 150px;
        grid-template-columns: minmax(0, 1fr) 245px;
        gap: 34px;
    }

    .dnd-home-flight {
        top: 112px;
        left: 43%;
        width: 190px;
    }

    .dnd-home-popular-image { height: 145px; }

    .dnd-home-search-zone {
        margin-top: -58px;
    }

    .dnd-home-search {
        max-width: 760px;
        padding: 15px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dnd-home-search-field,
    .dnd-home-search-field:first-child {
        min-height: 74px;
        padding: 10px 13px;
        background: #F7F9FE;
        border: 1px solid rgba(31,62,87,.07);
        border-radius: 12px;
    }

    .dnd-home-search-submit {
        grid-column: 1 / -1;
        min-width: 180px;
        margin: 4px auto 0;
    }

    .dnd-home-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dnd-home-destination-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 280px;
    }

    .dnd-home-destination-card:nth-child(1),
    .dnd-home-destination-card:nth-child(2) {
        grid-column: auto;
        grid-row: auto;
    }

    .dnd-home-about-grid,
    .dnd-home-why-grid,
    .dnd-home-testimonial-layout {
        grid-template-columns: 1fr;
    }

    .dnd-home-about-copy {
        max-width: 720px;
    }

    .dnd-home-about-visual {
        max-width: 720px;
        margin: 0 auto;
    }

    .dnd-home-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dnd-home-process-grid::before { display: none; }

    .dnd-home-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dnd-home-blog-card:last-child {
        grid-column: 1 / -1;
        max-width: calc(50% - 13px);
    }

    .dnd-home-cta {
        grid-template-columns: 1fr;
    }

    .dnd-home-cta-action {
        align-items: flex-start;
    }
}

@media (max-width: 767px) {
    .dnd-home-section { padding: 72px 0; }

    .dnd-home-heading {
        display: block;
    }

    .dnd-home-heading .dnd-home-link {
        margin-top: 20px;
    }

    .dnd-home-hero {
        min-height: 760px;
    }

    .dnd-home-hero-inner {
        min-height: 690px;
        padding-top: 145px;
        padding-bottom: 105px;
        display: block;
    }

    .dnd-home-popular-card {
        display: none;
    }

    .dnd-home-flight {
        top: 102px;
        right: 11%;
        left: auto;
        width: 165px;
    }

    .dnd-home-hero-title {
        font-size: clamp(42px, 10vw, 58px);
    }

    .dnd-home-hero-dots {
        right: 8px;
        height: 120px;
    }

    .dnd-home-search-zone {
        margin-top: -38px;
    }

    .dnd-home-search {
        grid-template-columns: 1fr;
        gap: 8px;
        border-radius: 16px;
    }

    .dnd-home-search-submit {
        grid-column: auto;
        width: 100%;
        min-width: 0;
        margin: 4px 0 0;
    }

    .dnd-home-trust {
        padding-top: 10px;
    }

    .dnd-home-activity-shell {
        padding: 0;
    }

    .dnd-home-activity-track {
        padding-right: 18px;
        padding-left: 18px;
        gap: 18px;
    }

    .dnd-home-activity-card {
        flex-basis: 46%;
    }

    .dnd-home-carousel-btn {
        display: none;
    }

    .dnd-home-destination-grid {
        grid-auto-rows: 245px;
    }

    .dnd-home-about-visual {
        min-height: 520px;
    }

    .dnd-home-about-main {
        width: 76%;
        height: 420px;
    }

    .dnd-home-about-small {
        width: 51%;
        height: 230px;
    }

    .dnd-home-about-third {
        height: 155px;
    }

    .dnd-home-feature-list,
    .dnd-home-why-cards {
        grid-template-columns: 1fr;
    }

    .dnd-home-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 0;
    }

    .dnd-home-stat:nth-child(2) { border-right: 0; }
    .dnd-home-stat:nth-child(3),
    .dnd-home-stat:nth-child(4) { border-top: 1px solid rgba(23,49,73,.09); padding-top: 22px; }

    .dnd-home-blog-grid {
        grid-template-columns: 1fr;
    }

    .dnd-home-blog-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .dnd-home-cta {
        min-height: 0;
        padding: 42px 26px;
        border-radius: 22px;
    }
}

@media (max-width: 540px) {
    .dnd-home-hero {
        min-height: 720px;
    }

    .dnd-home-hero-inner {
        min-height: 650px;
        padding-top: 125px;
        padding-right: 20px;
    }

    .dnd-home-flight {
        display: none;
    }

    .dnd-home-hero-eyebrow {
        font-size: 28px;
    }

    .dnd-home-hero-title {
        font-size: clamp(38px, 12vw, 50px);
    }

    .dnd-home-hero-description {
        margin-top: 17px;
        font-size: 13px;
        line-height: 1.65;
    }

    .dnd-home-hero-benefits {
        display: grid;
        gap: 10px;
    }

    .dnd-home-pill-button {
        min-height: 44px;
        padding-left: 15px;
        font-size: 11px;
    }

    .dnd-home-pill-button i {
        width: 33px;
        height: 33px;
    }

    .dnd-home-search-zone {
        margin-top: -30px;
    }

    .dnd-home-search {
        padding: 11px;
    }

    .dnd-home-search-field,
    .dnd-home-search-field:first-child {
        min-height: 67px;
        padding: 8px 10px;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
        border-radius: 10px;
    }

    .dnd-home-search-icon {
        width: 42px;
        height: 42px;
        font-size: 15px;
    }

    .dnd-home-trust-grid,
    .dnd-home-destination-grid,
    .dnd-home-process-grid {
        grid-template-columns: 1fr;
    }

    .dnd-home-activity-card {
        flex-basis: 72%;
    }

    .dnd-home-about-visual {
        min-height: 435px;
    }

    .dnd-home-about-main {
        width: 82%;
        height: 345px;
        border-radius: 110px 28px 28px 28px;
    }

    .dnd-home-about-small {
        width: 54%;
        height: 190px;
        border-width: 7px;
    }

    .dnd-home-about-third {
        display: none;
    }

    .dnd-home-experience {
        bottom: 35px;
        min-width: 180px;
        padding: 13px 15px;
    }

    .dnd-home-experience strong {
        font-size: 29px;
    }

    .dnd-home-stats-grid {
        padding: 22px 12px;
    }

    .dnd-home-testimonial-card {
        padding: 27px 22px;
    }

    .dnd-home-testimonial-stage {
        min-height: 380px;
    }
}


/* ========================================================================
   FINAL TYPOGRAPHY OVERRIDE
   ======================================================================== */

.dnd-home-page h1,
.dnd-home-page h2,
.dnd-home-page h3,
.dnd-home-page h4,
.dnd-home-page h5,
.dnd-home-page h6,
.dnd-home-page .dnd-home-hero-title,
.dnd-home-page .dnd-home-heading h2,
.dnd-home-page .dnd-home-about-copy h2,
.dnd-home-page .dnd-home-why-copy h2,
.dnd-home-page .dnd-home-cta h2,
.dnd-home-page .dnd-home-destination-title {
    font-family: "Manrope", sans-serif !important;
}

.dnd-home-page .dnd-home-eyebrow,
.dnd-home-page .dnd-home-hero-eyebrow,
.dnd-home-page .dnd-home-destination-kicker {
    font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    line-height: 1 !important;
}

.dnd-home-page .dnd-home-eyebrow {
    font-size: clamp(28px, 2.4vw, 38px) !important;
}

.dnd-home-page .dnd-home-hero-eyebrow {
    font-size: clamp(34px, 3.2vw, 50px) !important;
}

.dnd-home-page .dnd-home-destination-kicker {
    font-size: clamp(32px, 3vw, 46px) !important;
}

.dnd-home-page .dnd-home-eyebrow::before {
    display: none !important;
    content: none !important;
}


/* ========================================================================
   FINAL SUB-HEADING FONT OVERRIDE
   ======================================================================== */

.dnd-home-page .dnd-home-eyebrow,
.dnd-home-page .dnd-home-hero-eyebrow,
.dnd-home-page .dnd-home-destination-kicker,
.dnd-home-page .eyebrow,
.dnd-home-page .sub-heading,
.dnd-home-page .subheading,
.dnd-home-page .section-eyebrow,
.dnd-home-page .section-subtitle {
    font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: .02em !important;
    line-height: 1 !important;
}


/* ========================================================================
   DREAM N DESTINATION — FINAL LOGO COLOR THEME
   Blue and green palette based on the supplied company logo.
   ======================================================================== */

.dnd-home-page {
    --dnd-brand-blue: #111E88;
    --dnd-brand-blue-dark: #08145F;
    --dnd-brand-green: #0A8F2F;
    --dnd-brand-green-dark: #046B24;
    --dnd-brand-green-soft: #EAF7EE;
    --dnd-brand-blue-soft: #EEF2FA;
    --dnd-brand-ink: #101D5C;
}

.dnd-home-page ::selection {
    color: #ffffff;
    background: var(--dnd-brand-green);
}

.dnd-home-section.is-soft {
    background:
        radial-gradient(circle at 0 0, rgba(10, 143, 47, .11), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(17, 30, 136, .10), transparent 32%),
        linear-gradient(180deg, #F7FAFF 0%, #F3FAF5 100%);
}

.dnd-home-section.is-cream {
    background:
        linear-gradient(135deg, #F5FBF7 0%, #FFFFFF 51%, #F3F5FF 100%);
}

.dnd-home-hero {
    background: var(--dnd-brand-blue-dark);
}

.dnd-home-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(5, 12, 72, .88) 0%,
            rgba(4, 42, 51, .70) 42%,
            rgba(4, 92, 40, .38) 72%,
            rgba(5, 14, 78, .52) 100%
        ),
        linear-gradient(
            180deg,
            rgba(5, 16, 83, .14),
            rgba(3, 70, 33, .43)
        );
}

.dnd-home-hero-title em,
.dnd-home-eyebrow,
.dnd-home-destination-kicker {
    color: var(--dnd-brand-green) !important;
}

.dnd-home-pill-button.is-orange,
.dnd-home-search-submit,
.dnd-home-primary-button {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-green) 0%,
            var(--dnd-brand-green-dark) 100%
        );
    box-shadow: 0 13px 30px rgba(10, 143, 47, .25);
}

.dnd-home-pill-button.is-blue {
    background:
        linear-gradient(
            135deg,
            #1B2AA8 0%,
            var(--dnd-brand-blue-dark) 100%
        );
    box-shadow: 0 13px 30px rgba(17, 30, 136, .25);
}

.dnd-home-pill-button.is-orange:hover,
.dnd-home-search-submit:hover,
.dnd-home-primary-button:hover {
    background:
        linear-gradient(
            135deg,
            #1B2AA8 0%,
            var(--dnd-brand-blue-dark) 100%
        );
    box-shadow: 0 16px 34px rgba(17, 30, 136, .28);
}

.dnd-home-link {
    color: var(--dnd-brand-blue-dark);
}

.dnd-home-link i {
    background:
        linear-gradient(
            135deg,
            #1B2AA8,
            var(--dnd-brand-blue-dark)
        );
}

.dnd-home-link:hover {
    color: var(--dnd-brand-green);
}

.dnd-home-link:hover i {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-green),
            var(--dnd-brand-green-dark)
        );
}

.dnd-home-search {
    border-color: rgba(10, 143, 47, .10);
    box-shadow:
        0 25px 62px rgba(8, 20, 95, .13),
        0 7px 20px rgba(10, 143, 47, .07);
}

.dnd-home-search-icon {
    color: var(--dnd-brand-green);
    border-color: rgba(17, 30, 136, .12);
}

.dnd-home-search-field:hover .dnd-home-search-icon,
.dnd-home-search-field:focus-within .dnd-home-search-icon {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-blue),
            var(--dnd-brand-blue-dark)
        );
}

.dnd-home-trust-item:hover {
    border-color: rgba(10, 143, 47, .28);
    box-shadow:
        0 20px 44px rgba(17, 30, 136, .09),
        0 6px 18px rgba(10, 143, 47, .06);
}

.dnd-home-trust-icon {
    color: var(--dnd-brand-green);
    background: var(--dnd-brand-green-soft);
}

.dnd-home-activity-arrow {
    background:
        linear-gradient(
            135deg,
            #1B2AA8,
            var(--dnd-brand-blue-dark)
        );
    box-shadow: 0 9px 22px rgba(17, 30, 136, .26);
}

.dnd-home-activity-card:hover .dnd-home-activity-arrow {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-green),
            var(--dnd-brand-green-dark)
        );
}

.dnd-home-activity-card:hover h3 {
    color: var(--dnd-brand-green);
}

.dnd-home-carousel-btn {
    color: var(--dnd-brand-blue);
}

.dnd-home-carousel-btn:hover {
    color: #ffffff;
    background: var(--dnd-brand-green);
}

.dnd-home-destination-heading h2,
.dnd-home-heading h2,
.dnd-home-about-copy h2,
.dnd-home-process-card h3,
.dnd-home-blog-body h3 {
    color: var(--dnd-brand-ink);
}

.dnd-home-destination-slide {
    background: var(--dnd-brand-blue-dark);
}

.dnd-home-destination-drag-cue {
    background:
        linear-gradient(
            135deg,
            rgba(17, 30, 136, .96),
            rgba(8, 20, 95, .96)
        );
}

.dnd-home-destination-carousel.is-dragging
.dnd-home-destination-drag-cue {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-green),
            var(--dnd-brand-green-dark)
        );
}

.dnd-home-experience {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-blue) 0%,
            var(--dnd-brand-blue-dark) 100%
        );
    box-shadow: 0 18px 42px rgba(17, 30, 136, .24);
}

.dnd-home-feature {
    background:
        linear-gradient(
            135deg,
            rgba(234, 247, 238, .88),
            rgba(238, 242, 250, .88)
        );
    border-color: rgba(10, 143, 47, .12);
}

.dnd-home-feature i {
    background: var(--dnd-brand-green);
}

.dnd-home-call > span {
    color: var(--dnd-brand-blue);
    background: var(--dnd-brand-blue-soft);
}

.dnd-home-why {
    background:
        linear-gradient(
            110deg,
            rgba(5, 81, 35, .94),
            rgba(8, 20, 95, .92)
        ),
        var(--dnd-home-why-image) center/cover no-repeat;
}

.dnd-home-why-card > i {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-green),
            var(--dnd-brand-green-dark)
        );
}

.dnd-home-stat strong {
    color: var(--dnd-brand-blue);
}

.dnd-home-stat:nth-child(even) strong {
    color: var(--dnd-brand-green);
}

.dnd-home-process-number {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-blue),
            var(--dnd-brand-green)
        );
    border-color: var(--dnd-brand-green-soft);
    box-shadow: 0 10px 25px rgba(17, 30, 136, .20);
}

.dnd-home-testimonial-controls button:hover {
    color: #ffffff;
    background: var(--dnd-brand-blue);
}

.dnd-home-testimonial-card > i,
.dnd-home-blog-meta i {
    color: var(--dnd-brand-green);
}

.dnd-home-testimonial-avatar {
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-blue),
            var(--dnd-brand-green)
        );
}

.dnd-home-cta {
    background:
        linear-gradient(
            100deg,
            rgba(4, 107, 36, .95),
            rgba(8, 20, 95, .90)
        ),
        var(--dnd-home-cta-image) center/cover no-repeat;
    box-shadow:
        0 30px 75px rgba(8, 20, 95, .18),
        0 10px 30px rgba(10, 143, 47, .10);
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-hero-slide.is-active img,
    .dnd-home-flight path,
    .dnd-home-flight i {
        animation: none !important;
    }

    .dnd-home-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* ========================================================================
   PREMIUM UI REFINEMENT — SEARCH, POPULAR DESTINATIONS & TESTIMONIALS
   Added as a final scoped override so the existing database logic and all
   unrelated sections remain unchanged.
   ======================================================================== */

.dnd-home-page,
.dnd-home-page * {
    box-sizing: border-box;
}

.dnd-home-page :where(a, button, [role="button"]):focus-visible {
    outline: 3px solid rgba(10, 143, 47, .28);
    outline-offset: 4px;
}

/* ------------------------------------------------------------------------
   PROFESSIONAL PACKAGE SEARCH
   ------------------------------------------------------------------------ */

.dnd-home-search-zone {
    z-index: 60;
    margin-top: -78px;
    padding: 0 0 30px;
}

.dnd-home-search {
    position: relative;
    width: min(100%, 1140px);
    min-height: 110px;
    padding: 16px 18px;
    display: grid;
    grid-template-columns:
        minmax(205px, 1.16fr)
        minmax(190px, 1.03fr)
        minmax(175px, .92fr)
        minmax(185px, .98fr)
        145px;
    align-items: stretch;
    gap: 0;
    overflow: visible;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .995), rgba(253, 255, 254, .985));
    border: 1px solid rgba(17, 30, 136, .08);
    border-radius: 24px;
    box-shadow:
        0 34px 80px rgba(8, 20, 95, .14),
        0 10px 28px rgba(10, 143, 47, .08);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.dnd-home-search::before {
    position: absolute;
    content: "";
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background:
        radial-gradient(circle at 4% 16%, rgba(10, 143, 47, .08), transparent 24%),
        radial-gradient(circle at 94% 84%, rgba(17, 30, 136, .07), transparent 28%);
    pointer-events: none;
}

.dnd-home-search-field,
.dnd-home-search-field:first-child {
    position: relative;
    min-width: 0;
    min-height: 76px;
    padding: 8px 19px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    background: transparent;
    border: 0;
    border-right: 1px solid rgba(16, 29, 92, .08);
    border-radius: 0;
    transition: background .25s ease;
}

.dnd-home-search-field:nth-child(4) {
    border-right: 0;
}

.dnd-home-search-field:hover,
.dnd-home-search-field:focus-within,
.dnd-home-search-field.is-open {
    z-index: 120;
    background: linear-gradient(180deg, rgba(247, 251, 248, .86), rgba(245, 248, 255, .72));
    border-radius: 16px;
}

.dnd-home-search-icon {
    position: relative;
    z-index: 2;
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dnd-brand-green, #0A8F2F);
    background: #ffffff;
    border: 1px solid rgba(17, 30, 136, .10);
    border-radius: 14px;
    box-shadow: 0 9px 24px rgba(8, 20, 95, .07);
    font-size: 17px;
    line-height: 1;
    transform: none;
}

.dnd-home-search-icon i {
    display: block;
    line-height: 1;
}

.dnd-home-search-field:first-child .dnd-home-search-icon {
    color: #ffffff;
    background: linear-gradient(145deg, #1829A6, #08145F);
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(17, 30, 136, .24);
}

.dnd-home-search-field:hover .dnd-home-search-icon,
.dnd-home-search-field:focus-within .dnd-home-search-icon,
.dnd-home-search-field.is-open .dnd-home-search-icon {
    color: #ffffff;
    background: linear-gradient(145deg, #0AA13B, #046B24);
    border-color: transparent;
    transform: translateY(-2px);
}

.dnd-home-search-control {
    position: relative;
    min-width: 0;
}

.dnd-home-search-control label {
    margin: 0 0 8px;
    display: block;
    color: #17245F;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.dnd-home-search-control select.dnd-home-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.dnd-home-custom-select {
    position: relative;
    min-width: 0;
}

.dnd-home-custom-select-trigger {
    width: 100%;
    min-width: 0;
    height: 31px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #66718C;
    background: transparent;
    border: 0;
    border-radius: 0;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    text-align: left;
    cursor: pointer;
}

.dnd-home-custom-select-trigger > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dnd-home-custom-select-trigger .dnd-home-custom-select-arrow {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #17245F;
    background: rgba(238, 242, 250, .86);
    border-radius: 8px;
    font-size: 10px;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.dnd-home-custom-select.is-open .dnd-home-custom-select-arrow {
    color: #ffffff;
    background: #0A8F2F;
    transform: rotate(180deg);
}

.dnd-home-custom-select-menu {
    position: absolute;
    z-index: 500;
    top: calc(100% + 13px);
    left: -10px;
    width: max(100%, 238px);
    max-height: 286px;
    padding: 9px;
    display: grid;
    gap: 3px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: rgba(255, 255, 255, .995);
    border: 1px solid rgba(17, 30, 136, .10);
    border-radius: 16px;
    box-shadow:
        0 26px 60px rgba(8, 20, 95, .18),
        0 8px 24px rgba(10, 143, 47, .08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(.985);
    transform-origin: top left;
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
    scrollbar-width: thin;
    scrollbar-color: rgba(10, 143, 47, .45) transparent;
}

.dnd-home-search-field:nth-child(4) .dnd-home-custom-select-menu {
    right: -10px;
    left: auto;
    transform-origin: top right;
}

.dnd-home-custom-select.is-open .dnd-home-custom-select-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.dnd-home-custom-select-option {
    width: 100%;
    min-height: 39px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #4F5C79;
    background: transparent;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    transition: color .18s ease, background .18s ease, transform .18s ease;
}

.dnd-home-custom-select-option::before {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    content: "";
    background: #D7DEEA;
    border-radius: 50%;
    transition: background .18s ease, box-shadow .18s ease;
}

.dnd-home-custom-select-option:hover,
.dnd-home-custom-select-option:focus-visible,
.dnd-home-custom-select-option.is-selected {
    color: #101D5C;
    background: linear-gradient(90deg, rgba(10, 143, 47, .10), rgba(17, 30, 136, .05));
    outline: 0;
    transform: translateX(2px);
}

.dnd-home-custom-select-option:hover::before,
.dnd-home-custom-select-option:focus-visible::before,
.dnd-home-custom-select-option.is-selected::before {
    background: #0A8F2F;
    box-shadow: 0 0 0 4px rgba(10, 143, 47, .12);
}

.dnd-home-search-submit {
    align-self: center;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 5px 5px 5px 21px;
    border-radius: 999px;
    box-shadow: 0 14px 32px rgba(10, 143, 47, .25);
}

.dnd-home-search-submit i {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
}

/* ------------------------------------------------------------------------
   PREMIUM POPULAR DESTINATION COVERFLOW
   Exactly five visual positions: far-left, near-left, active, near-right,
   far-right. Supports drag, touch swipe, arrows, keyboard and autoplay.
   ------------------------------------------------------------------------ */

.dnd-home-destination-section {
    padding: 82px 0 72px;
    background:
        radial-gradient(circle at 50% 48%, rgba(17, 30, 136, .055), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #FBFDFC 100%);
}

.dnd-home-destination-heading {
    margin-bottom: 40px;
}

.dnd-home-destination-heading p {
    display: block;
    max-width: 640px;
    margin: 15px auto 0;
    color: #738099;
    font-size: 14px;
    line-height: 1.75;
}

.dnd-home-destination-heading .dnd-home-link {
    display: inline-flex;
    margin-top: 17px;
}

.dnd-home-destination-carousel {
    --dnd-destination-card-width: 322px;
    --dnd-destination-card-height: 478px;
    --dnd-drag-x: 0px;
    position: relative;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px 44px;
    user-select: none;
    -webkit-user-select: none;
}

.dnd-home-destination-viewport {
    position: relative;
    width: 100%;
    max-width: none;
    height: 520px;
    margin: 0 auto;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y pinch-zoom;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
}

.dnd-home-destination-viewport.is-dragging {
    cursor: grabbing;
}

.dnd-home-destination-track {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    transform: none !important;
    transition: none !important;
}

.dnd-home-destination-slide {
    position: absolute;
    top: 5px;
    left: 50%;
    width: var(--dnd-destination-card-width);
    height: var(--dnd-destination-card-height);
    margin: 0;
    overflow: hidden;
    color: #ffffff;
    background: #08145F;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(8, 20, 95, .14);
    opacity: 0;
    filter: saturate(.55) brightness(.68) blur(4.5px);
    transform: translate3d(calc(-50% + var(--dnd-drag-x)), 72px, 0) scale(.72);
    transform-origin: center center;
    pointer-events: none;
    cursor: grab;
    will-change: transform, filter, opacity;
    transition:
        transform .72s cubic-bezier(.22, .84, .24, 1),
        opacity .52s ease,
        filter .62s ease,
        box-shadow .62s ease;
}

.dnd-home-destination-carousel.is-dragging .dnd-home-destination-slide {
    cursor: grabbing;
    transition: none;
}

.dnd-home-destination-slide.is-active {
    z-index: 50 !important;
    opacity: 1;
    filter: none;
    transform: translate3d(calc(-50% + var(--dnd-drag-x)), 0, 0) scale(1);
    pointer-events: auto;
    box-shadow:
        0 34px 74px rgba(8, 20, 95, .24),
        0 12px 28px rgba(10, 143, 47, .10);
}

.dnd-home-destination-slide.is-near.is-left-1 {
    z-index: 36 !important;
    opacity: .88;
    filter: saturate(.72) brightness(.76) blur(2.3px);
    transform: translate3d(calc(-50% - 232px + var(--dnd-drag-x)), 42px, 0) scale(.88) rotateY(4deg);
    transform-origin: right center;
    pointer-events: auto;
}

.dnd-home-destination-slide.is-near.is-right-1 {
    z-index: 36 !important;
    opacity: .88;
    filter: saturate(.72) brightness(.76) blur(2.3px);
    transform: translate3d(calc(-50% + 232px + var(--dnd-drag-x)), 42px, 0) scale(.88) rotateY(-4deg);
    transform-origin: left center;
    pointer-events: auto;
}

.dnd-home-destination-slide.is-far.is-left-2 {
    z-index: 22 !important;
    opacity: .67;
    filter: saturate(.58) brightness(.68) blur(4.2px);
    transform: translate3d(calc(-50% - 438px + var(--dnd-drag-x)), 67px, 0) scale(.77) rotateY(7deg);
    transform-origin: right center;
    pointer-events: auto;
}

.dnd-home-destination-slide.is-far.is-right-2 {
    z-index: 22 !important;
    opacity: .67;
    filter: saturate(.58) brightness(.68) blur(4.2px);
    transform: translate3d(calc(-50% + 438px + var(--dnd-drag-x)), 67px, 0) scale(.77) rotateY(-7deg);
    transform-origin: left center;
    pointer-events: auto;
}

.dnd-home-destination-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform 1s cubic-bezier(.2, .8, .2, 1), filter .5s ease;
}

.dnd-home-destination-slide::before {
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(3, 12, 38, .02) 30%, rgba(3, 12, 38, .10) 50%, rgba(3, 16, 52, .68) 78%, rgba(3, 14, 48, .97) 100%),
        linear-gradient(90deg, rgba(17, 30, 136, .10), transparent 48%, rgba(10, 143, 47, .08));
}

.dnd-home-destination-slide::after {
    z-index: 3;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .18);
    background:
        linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .16) 45%, transparent 67%);
    background-size: 220% 100%;
    background-position: 180% 0;
    transition: background-position .9s ease;
}

.dnd-home-destination-slide.is-active:hover img {
    transform: scale(1.065);
}

.dnd-home-destination-slide.is-active:hover::after {
    background-position: -90% 0;
}

.dnd-home-destination-slide-content {
    z-index: 5;
    right: 22px;
    bottom: 20px;
    left: 22px;
    gap: 15px;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .4s ease .08s, transform .45s ease .08s;
}

.dnd-home-destination-slide.is-active .dnd-home-destination-slide-content {
    opacity: 1;
    transform: translateY(0);
}

.dnd-home-destination-slide.is-near .dnd-home-destination-slide-content {
    opacity: .44;
    transform: translateY(5px) scale(.96);
}

.dnd-home-destination-slide-copy h3 {
    font-size: 20px;
    letter-spacing: -.025em;
}

.dnd-home-destination-slide-copy p {
    color: rgba(255, 255, 255, .84);
    font-size: 11px;
}

.dnd-home-destination-read {
    min-width: 126px;
    height: 42px;
    padding: 0 17px;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .78);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.dnd-home-destination-control {
    position: absolute !important;
    z-index: 80;
    top: 48%;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    color: #101D5C;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(17, 30, 136, .10) !important;
    border-radius: 50%;
    box-shadow: 0 14px 32px rgba(8, 20, 95, .16);
    white-space: normal !important;
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.dnd-home-destination-control.is-prev { left: 7px; }
.dnd-home-destination-control.is-next { right: 7px; }

.dnd-home-destination-control:hover {
    color: #ffffff;
    background: linear-gradient(145deg, #0AA13B, #046B24);
    box-shadow: 0 17px 38px rgba(10, 143, 47, .24);
    transform: translateY(-50%) scale(1.08);
}

.dnd-home-destination-progress {
    position: absolute !important;
    z-index: 75;
    right: 50% !important;
    bottom: 10px !important;
    left: auto !important;
    width: 150px !important;
    height: 4px !important;
    margin: 0 -75px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: auto !important;
    clip-path: none !important;
    background: rgba(17, 30, 136, .10);
    border: 0 !important;
    border-radius: 999px;
    white-space: normal !important;
}

.dnd-home-destination-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #111E88, #0A8F2F);
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: left center;
    animation: dndDestinationProgress 4.8s linear infinite;
}

.dnd-home-destination-carousel.is-paused .dnd-home-destination-progress span,
.dnd-home-destination-carousel.is-dragging .dnd-home-destination-progress span {
    animation-play-state: paused;
}

@keyframes dndDestinationProgress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

.dnd-home-destination-drag-cue {
    z-index: 100;
    width: 82px;
    height: 82px;
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow:
        0 16px 38px rgba(8, 20, 95, .24),
        inset 0 0 0 5px rgba(255, 255, 255, .06);
    font-size: 11px;
    letter-spacing: .08em;
}

/* ------------------------------------------------------------------------
   TESTIMONIAL ALIGNMENT AND SLIDER POLISH
   ------------------------------------------------------------------------ */

.dnd-home-testimonial-layout {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(45px, 6vw, 82px);
}

.dnd-home-testimonial-intro {
    align-self: center;
}

.dnd-home-testimonial-controls {
    margin-top: 28px;
}

.dnd-home-testimonial-controls button {
    width: 46px;
    height: 46px;
    border-color: rgba(17, 30, 136, .10);
    box-shadow: 0 10px 24px rgba(8, 20, 95, .08);
}

.dnd-home-testimonial-stage {
    position: relative;
    min-height: 390px;
    overflow: visible;
}

.dnd-home-testimonial-card {
    inset: 0 0 22px;
    min-height: 350px;
    padding: 38px 40px 32px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background:
        radial-gradient(circle at 95% 5%, rgba(10, 143, 47, .08), transparent 28%),
        #ffffff;
    border: 1px solid rgba(17, 30, 136, .08);
    border-radius: 27px;
    box-shadow:
        0 28px 72px rgba(8, 20, 95, .13),
        0 8px 24px rgba(10, 143, 47, .06);
    transform: translateX(42px) scale(.975);
}

.dnd-home-testimonial-card::before {
    position: absolute;
    content: "“";
    top: -44px;
    right: 22px;
    color: rgba(17, 30, 136, .035);
    font-family: Georgia, serif;
    font-size: 210px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

.dnd-home-testimonial-card.is-active {
    transform: translateX(0) scale(1);
}

.dnd-home-testimonial-card > i {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0A8F2F !important;
    background: #EAF7EE;
    border: 1px solid rgba(10, 143, 47, .10);
    border-radius: 17px;
    font-size: 23px;
    opacity: 1;
    box-shadow: 0 10px 26px rgba(10, 143, 47, .10);
}

.dnd-home-testimonial-card > p {
    position: relative;
    z-index: 2;
    margin: 25px 0 28px;
    color: #17245F;
    font-family: "Manrope", sans-serif;
    font-size: clamp(20px, 2vw, 28px);
    font-style: italic;
    font-weight: 500;
    line-height: 1.52;
    letter-spacing: -.025em;
}

.dnd-home-testimonial-person {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: 22px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    border-top: 1px solid rgba(17, 30, 136, .08);
}

.dnd-home-testimonial-person img,
.dnd-home-testimonial-avatar {
    grid-column: 1;
    grid-row: 1;
    width: 58px;
    height: 58px;
    border: 4px solid #ffffff;
    box-shadow: 0 9px 24px rgba(8, 20, 95, .16);
}

.dnd-home-testimonial-person > div {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.dnd-home-testimonial-person strong {
    margin-bottom: 6px;
    color: #101D5C;
    font-size: 14px;
}

.dnd-home-testimonial-person span {
    color: #77829A;
    font-size: 11px;
}

.dnd-home-testimonial-dots {
    position: absolute;
    z-index: 20;
    right: 24px;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 7px;
}

.dnd-home-testimonial-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    background: rgba(17, 30, 136, .18);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}

.dnd-home-testimonial-dot.is-active {
    width: 28px;
    background: linear-gradient(90deg, #111E88, #0A8F2F);
}

/* ------------------------------------------------------------------------
   RESPONSIVE FINAL OVERRIDES
   ------------------------------------------------------------------------ */

@media (max-width: 1199px) {
    .dnd-home-search {
        width: min(100%, 1080px);
        padding: 14px;
        grid-template-columns:
            minmax(178px, 1.08fr)
            minmax(165px, 1fr)
            minmax(150px, .86fr)
            minmax(165px, .92fr)
            132px;
    }

    .dnd-home-search-field,
    .dnd-home-search-field:first-child {
        padding: 8px 13px;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 11px;
    }

    .dnd-home-search-icon {
        width: 46px;
        height: 46px;
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: 304px;
        --dnd-destination-card-height: 452px;
        max-width: 1100px;
    }

    .dnd-home-destination-viewport { height: 494px; }

    .dnd-home-destination-slide.is-near.is-left-1 {
        transform: translate3d(calc(-50% - 214px + var(--dnd-drag-x)), 40px, 0) scale(.87) rotateY(4deg);
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        transform: translate3d(calc(-50% + 214px + var(--dnd-drag-x)), 40px, 0) scale(.87) rotateY(-4deg);
    }

    .dnd-home-destination-slide.is-far.is-left-2 {
        transform: translate3d(calc(-50% - 398px + var(--dnd-drag-x)), 64px, 0) scale(.75) rotateY(7deg);
    }

    .dnd-home-destination-slide.is-far.is-right-2 {
        transform: translate3d(calc(-50% + 398px + var(--dnd-drag-x)), 64px, 0) scale(.75) rotateY(-7deg);
    }
}

@media (max-width: 991px) {
    .dnd-home-search-zone { margin-top: -58px; }

    .dnd-home-search {
        max-width: 780px;
        padding: 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dnd-home-search-field,
    .dnd-home-search-field:first-child,
    .dnd-home-search-field:nth-child(4) {
        min-height: 76px;
        padding: 10px 13px;
        background: linear-gradient(180deg, #FAFCFB, #F8FAFF);
        border: 1px solid rgba(17, 30, 136, .07);
        border-radius: 14px;
    }

    .dnd-home-search-submit {
        grid-column: 1 / -1;
        width: min(100%, 230px);
        margin: 4px auto 0;
    }

    .dnd-home-custom-select-menu,
    .dnd-home-search-field:nth-child(4) .dnd-home-custom-select-menu {
        right: auto;
        left: -8px;
        width: calc(100% + 16px);
        min-width: 0;
        transform-origin: top left;
    }

    .dnd-home-testimonial-layout {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .dnd-home-testimonial-stage {
        min-height: 380px;
    }
}

@media (max-width: 767px) {
    .dnd-home-search-zone { margin-top: -38px; }

    .dnd-home-search {
        grid-template-columns: 1fr;
        padding: 12px;
        gap: 8px;
        border-radius: 20px;
    }

    .dnd-home-search-field,
    .dnd-home-search-field:first-child,
    .dnd-home-search-field:nth-child(4) {
        min-height: 70px;
        grid-template-columns: 45px minmax(0, 1fr);
        padding: 9px 11px;
        border-radius: 13px;
    }

    .dnd-home-search-icon {
        width: 45px;
        height: 45px;
    }

    .dnd-home-search-submit {
        grid-column: auto;
        width: 100%;
        max-width: none;
        margin-top: 3px;
    }

    .dnd-home-destination-section {
        padding: 64px 0 50px;
    }

    .dnd-home-destination-heading {
        margin-bottom: 26px;
    }

    .dnd-home-destination-heading p {
        display: none;
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: min(76vw, 286px);
        --dnd-destination-card-height: 420px;
        padding: 0 0 40px;
    }

    .dnd-home-destination-viewport {
        height: 450px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1%, #000 99%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 1%, #000 99%, transparent 100%);
    }

    .dnd-home-destination-slide.is-near.is-left-1 {
        opacity: .62;
        filter: saturate(.64) brightness(.72) blur(3px);
        transform: translate3d(calc(-50% - 174px + var(--dnd-drag-x)), 40px, 0) scale(.76);
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        opacity: .62;
        filter: saturate(.64) brightness(.72) blur(3px);
        transform: translate3d(calc(-50% + 174px + var(--dnd-drag-x)), 40px, 0) scale(.76);
    }

    .dnd-home-destination-slide.is-far.is-left-2,
    .dnd-home-destination-slide.is-far.is-right-2 {
        opacity: 0;
        pointer-events: none;
    }

    .dnd-home-destination-control {
        top: auto;
        bottom: 0;
        width: 40px !important;
        height: 40px !important;
        transform: none;
    }

    .dnd-home-destination-control:hover {
        transform: scale(1.06);
    }

    .dnd-home-destination-control.is-prev { left: calc(50% - 76px); }
    .dnd-home-destination-control.is-next { right: calc(50% - 76px); }

    .dnd-home-destination-progress {
        bottom: 18px !important;
        width: 72px !important;
        margin-right: -36px !important;
    }

    .dnd-home-destination-slide-content {
        right: 17px;
        bottom: 16px;
        left: 17px;
    }

    .dnd-home-destination-read {
        min-width: 108px;
        height: 38px;
        padding: 0 13px;
        font-size: 10px;
    }

    .dnd-home-testimonial-stage {
        min-height: 420px;
    }

    .dnd-home-testimonial-card {
        inset: 0 0 22px;
        min-height: 390px;
        padding: 28px 24px 25px;
        border-radius: 22px;
    }

    .dnd-home-testimonial-card > i {
        width: 50px;
        height: 50px;
        font-size: 20px;
        border-radius: 15px;
    }

    .dnd-home-testimonial-card > p {
        margin: 21px 0 24px;
        font-size: clamp(18px, 5.3vw, 23px);
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .dnd-home-custom-select-menu,
    .dnd-home-search-field:nth-child(4) .dnd-home-custom-select-menu {
        position: fixed;
        z-index: 9999;
        top: auto;
        right: 14px;
        bottom: 14px;
        left: 14px;
        width: auto;
        max-height: min(58vh, 390px);
        padding: 12px;
        border-radius: 20px;
        transform: translateY(18px) scale(.985);
        transform-origin: bottom center;
    }

    .dnd-home-custom-select.is-open .dnd-home-custom-select-menu {
        transform: translateY(0) scale(1);
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: min(80vw, 292px);
        --dnd-destination-card-height: 414px;
    }

    .dnd-home-destination-viewport { height: 444px; }

    .dnd-home-destination-slide.is-near.is-left-1 {
        transform: translate3d(calc(-50% - 151px + var(--dnd-drag-x)), 42px, 0) scale(.68);
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        transform: translate3d(calc(-50% + 151px + var(--dnd-drag-x)), 42px, 0) scale(.68);
    }

    .dnd-home-testimonial-stage {
        min-height: 455px;
    }

    .dnd-home-testimonial-card {
        min-height: 425px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-destination-slide,
    .dnd-home-custom-select-menu,
    .dnd-home-testimonial-card {
        transition: none !important;
    }

    .dnd-home-destination-progress span {
        animation: none !important;
        transform: scaleX(1);
    }
}


/* ========================================================================
   FINAL SECTION FIXES — ALL DESTINATIONS, CLEAN CONTROLS & MOBILE LAYOUT
   ======================================================================== */

/* Trust strip: balanced icon alignment, readable copy and equal-height cards. */
.dnd-home-trust {
    position: relative;
    padding: 34px 0 66px;
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
}

.dnd-home-trust-grid {
    width: min(100%, 1280px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.dnd-home-trust-item {
    min-width: 0;
    min-height: 112px;
    padding: 21px 22px;
    align-items: center;
    gap: 16px;
    overflow: hidden;
    border-color: rgba(17, 30, 136, .075);
    border-radius: 19px;
    box-shadow:
        0 18px 42px rgba(8, 20, 95, .065),
        0 5px 15px rgba(10, 143, 47, .035);
}

.dnd-home-trust-item > div {
    min-width: 0;
}

.dnd-home-trust-icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    font-size: 18px;
}

.dnd-home-trust-icon i {
    width: 1.15em;
    display: block;
    line-height: 1;
    text-align: center;
}

.dnd-home-trust-item strong {
    margin-bottom: 7px;
    color: #101D5C;
    font-size: 14px;
    line-height: 1.3;
    white-space: normal;
}

.dnd-home-trust-item span:not(.dnd-home-trust-icon) {
    color: #71809a;
    font-size: 12px;
    line-height: 1.55;
}

/* Destination carousel: no floating DRAG cursor or grab mouse cursor. */
.dnd-home-destination-section {
    padding: 84px 0 76px;
    background:
        radial-gradient(circle at 50% 48%, rgba(17, 30, 136, .055), transparent 31%),
        linear-gradient(180deg, #ffffff 0%, #f9fcfa 100%);
}

.dnd-home-destination-carousel {
    --dnd-destination-card-width: 300px;
    --dnd-destination-card-height: 442px;
    max-width: 1260px;
    padding: 0 44px 48px;
}

.dnd-home-destination-viewport,
.dnd-home-destination-viewport.is-dragging {
    height: 486px;
    cursor: default !important;
}

.dnd-home-destination-slide,
.dnd-home-destination-carousel.is-dragging .dnd-home-destination-slide {
    cursor: pointer !important;
}

@media (pointer: fine) {
    .dnd-home-destination-slide {
        cursor: pointer !important;
    }
}

.dnd-home-destination-drag-cue {
    display: none !important;
}

.dnd-home-destination-slide {
    top: 4px;
    border-radius: 20px;
}

.dnd-home-destination-slide.is-near.is-left-1 {
    transform: translate3d(calc(-50% - 218px + var(--dnd-drag-x)), 39px, 0) scale(.87) rotateY(3deg);
}

.dnd-home-destination-slide.is-near.is-right-1 {
    transform: translate3d(calc(-50% + 218px + var(--dnd-drag-x)), 39px, 0) scale(.87) rotateY(-3deg);
}

.dnd-home-destination-slide.is-far.is-left-2 {
    transform: translate3d(calc(-50% - 405px + var(--dnd-drag-x)), 62px, 0) scale(.75) rotateY(6deg);
}

.dnd-home-destination-slide.is-far.is-right-2 {
    transform: translate3d(calc(-50% + 405px + var(--dnd-drag-x)), 62px, 0) scale(.75) rotateY(-6deg);
}

.dnd-home-destination-slide.is-near .dnd-home-destination-slide-content,
.dnd-home-destination-slide.is-far .dnd-home-destination-slide-content {
    opacity: .18;
}

.dnd-home-destination-control {
    top: 46%;
    width: 48px !important;
    height: 48px !important;
}

.dnd-home-destination-control.is-prev { left: 8px; }
.dnd-home-destination-control.is-next { right: 8px; }

.dnd-home-destination-progress {
    bottom: 13px !important;
    width: 132px !important;
    margin-right: -66px !important;
}

.dnd-home-destination-status {
    position: absolute;
    z-index: 76;
    right: 46px;
    bottom: 2px;
    min-width: 72px;
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 5px;
    color: #8390a7;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.dnd-home-destination-status strong {
    color: #101D5C;
    font-size: 16px;
    font-weight: 850;
}

/* Testimonial section: cards size themselves to content so avatars never crop. */
.dnd-home-testimonial-section {
    padding-top: 98px;
    padding-bottom: 98px;
    background:
        radial-gradient(circle at 0 0, rgba(10, 143, 47, .07), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(17, 30, 136, .06), transparent 32%),
        #f6faf8;
}

.dnd-home-testimonial-layout {
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(48px, 6vw, 88px);
}

.dnd-home-testimonial-title {
    margin: 0;
    color: #101D5C;
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -.05em;
}

.dnd-home-testimonial-stage {
    min-height: 0;
    padding: 0 0 34px;
    display: grid;
    overflow: visible;
}

.dnd-home-testimonial-card {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    min-height: 370px;
    height: auto;
    padding: 38px 40px 34px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateX(34px) scale(.98);
}

.dnd-home-testimonial-card.is-active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

.dnd-home-testimonial-card > p {
    margin: 24px 0 28px;
    font-size: clamp(20px, 1.85vw, 27px);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.dnd-home-testimonial-person {
    min-height: 72px;
    padding-top: 20px;
}

.dnd-home-testimonial-person img,
.dnd-home-testimonial-avatar {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    object-fit: cover;
    border-radius: 50%;
}

.dnd-home-testimonial-dots {
    right: 4px;
    bottom: 4px;
}

@media (max-width: 1199px) {
    .dnd-home-trust-grid {
        gap: 14px;
    }

    .dnd-home-trust-item {
        padding: 18px;
        gap: 13px;
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: 292px;
        --dnd-destination-card-height: 430px;
    }

    .dnd-home-destination-viewport {
        height: 472px;
    }

    .dnd-home-destination-slide.is-near.is-left-1 {
        transform: translate3d(calc(-50% - 205px + var(--dnd-drag-x)), 38px, 0) scale(.86);
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        transform: translate3d(calc(-50% + 205px + var(--dnd-drag-x)), 38px, 0) scale(.86);
    }

    .dnd-home-destination-slide.is-far.is-left-2 {
        transform: translate3d(calc(-50% - 375px + var(--dnd-drag-x)), 60px, 0) scale(.73);
    }

    .dnd-home-destination-slide.is-far.is-right-2 {
        transform: translate3d(calc(-50% + 375px + var(--dnd-drag-x)), 60px, 0) scale(.73);
    }
}

@media (max-width: 991px) {
    .dnd-home-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dnd-home-testimonial-layout {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .dnd-home-testimonial-intro {
        max-width: 680px;
    }
}

@media (max-width: 767px) {
    .dnd-home-trust {
        padding: 24px 0 50px;
    }

    .dnd-home-trust-grid {
        gap: 12px;
    }

    .dnd-home-trust-item {
        min-height: 102px;
        padding: 17px;
    }

    .dnd-home-destination-section {
        padding: 66px 0 54px;
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: min(80vw, 304px);
        --dnd-destination-card-height: 426px;
        padding: 0 18px 52px;
    }

    .dnd-home-destination-viewport {
        height: 458px;
    }

    .dnd-home-destination-slide.is-near.is-left-1 {
        opacity: .54;
        transform: translate3d(calc(-50% - 164px + var(--dnd-drag-x)), 40px, 0) scale(.70);
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        opacity: .54;
        transform: translate3d(calc(-50% + 164px + var(--dnd-drag-x)), 40px, 0) scale(.70);
    }

    .dnd-home-destination-slide.is-far.is-left-2,
    .dnd-home-destination-slide.is-far.is-right-2 {
        opacity: 0;
        pointer-events: none;
    }

    .dnd-home-destination-control {
        bottom: 0;
    }

    .dnd-home-destination-progress {
        bottom: 18px !important;
    }

    .dnd-home-destination-status {
        right: 16px;
        bottom: 8px;
    }

    .dnd-home-testimonial-section {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .dnd-home-testimonial-title {
        font-size: clamp(34px, 10vw, 46px);
    }

    .dnd-home-testimonial-stage {
        padding-bottom: 32px;
    }

    .dnd-home-testimonial-card {
        min-height: 0;
        padding: 27px 22px 25px;
        border-radius: 22px;
    }

    .dnd-home-testimonial-card > p {
        margin: 21px 0 24px;
        font-size: clamp(18px, 5.4vw, 22px);
        line-height: 1.48;
    }
}

@media (max-width: 575px) {
    .dnd-home-trust-grid {
        grid-template-columns: 1fr;
    }

    .dnd-home-trust-item {
        min-height: 94px;
    }

    .dnd-home-testimonial-controls {
        margin-top: 22px;
    }

    .dnd-home-testimonial-person {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 12px;
    }

    .dnd-home-testimonial-person img,
    .dnd-home-testimonial-avatar {
        width: 52px;
        height: 52px;
    }
}



/* ========================================================================
   HANDPICKED EXPERIENCES — INFINITE PACKAGE CARD SLIDER
   Reference-matched three-card layout with responsive infinite movement.
   ======================================================================== */

.dnd-home-packages {
    position: relative;
    background:
        linear-gradient(
            180deg,
            rgba(247, 252, 249, .98),
            rgba(255, 255, 255, .98)
        ) !important;
}

.dnd-home-packages::before {
    position: absolute;
    content: "";
    inset: 0;
    background-image:
        radial-gradient(
            circle at 1px 1px,
            rgba(10, 143, 47, .06) 1px,
            transparent 0
        );
    background-size: 28px 28px;
    pointer-events: none;
}

.dnd-home-packages > .container {
    position: relative;
    z-index: 2;
}

.dnd-home-package-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
}

.dnd-home-package-viewport {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
    cursor: grab;
}

.dnd-home-package-viewport.is-dragging {
    cursor: grabbing;
}

.dnd-home-package-track {
    --dnd-package-gap: 22px;

    display: flex;
    align-items: stretch;
    gap: var(--dnd-package-gap);
    will-change: transform;
    transform: translate3d(0, 0, 0);
    transition:
        transform .76s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-package-slider.is-dragging
.dnd-home-package-track {
    transition: none;
}

.dnd-home-package-slide {
    flex: 0 0 calc(
        (100% - (var(--dnd-package-gap) * 2)) / 3
    );
    min-width: 0;
}

.dnd-home-package-card {
    height: 100%;
    min-height: 530px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: #202735;
    background: #ffffff;
    border: 1px solid #c8d5df;
    border-radius: 17px;
    box-shadow: none;
    text-decoration: none;
    transition:
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.dnd-home-package-card:hover {
    color: #202735;
    border-color: rgba(17, 30, 136, .34);
    box-shadow: 0 20px 46px rgba(17, 30, 136, .10);
    transform: translateY(-5px);
}

.dnd-home-package-image {
    position: relative;
    height: 330px;
    overflow: hidden;
    background: #e8edf1;
}

.dnd-home-package-image::after {
    position: absolute;
    content: "";
    inset: auto 0 0;
    height: 30%;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(8, 20, 95, .08)
        );
    pointer-events: none;
}

.dnd-home-package-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.001);
    transition: transform .75s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-package-card:hover
.dnd-home-package-image img {
    transform: scale(1.055);
}

.dnd-home-package-body {
    flex: 1 1 auto;
    min-height: 200px;
    padding: 21px 22px 15px;
    display: flex;
    flex-direction: column;
}

.dnd-home-package-body h3 {
    min-height: 30px;
    margin: 0 0 8px;
    overflow: hidden;
    color: #202735;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dnd-home-package-route {
    min-height: 23px;
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 5px;
    overflow: hidden;
    color: #7c7f83;
    font-size: 13px;
    line-height: 1.45;
}

.dnd-home-package-route i {
    flex: 0 0 auto;
    margin-top: 3px;
    color: #8d989f;
    font-size: 12px;
}

.dnd-home-package-route span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dnd-home-package-price {
    min-height: 37px;
    margin-top: 4px;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px;
    color: #141820;
}

.dnd-home-package-price strong {
    font-family: "Manrope", sans-serif;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.dnd-home-package-price span {
    color: #777b82;
    font-size: 14px;
    font-weight: 500;
}

.dnd-home-package-footer {
    min-height: 58px;
    margin-top: auto;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.dnd-home-package-duration {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #31546a;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.dnd-home-package-duration i {
    color: #32768a;
    font-size: 13px;
}

.dnd-home-package-action {
    flex: 0 0 auto;
    min-width: 128px;
    min-height: 45px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #234b61;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.dnd-home-package-action i {
    font-size: 12px;
    transition: transform .25s ease;
}

.dnd-home-package-card:hover
.dnd-home-package-action {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--dnd-brand-blue, #111E88),
            var(--dnd-brand-green, #0A8F2F)
        );
    border-color: transparent;
}

.dnd-home-package-card:hover
.dnd-home-package-action i {
    transform: translateX(4px);
}

.dnd-home-package-dots {
    min-height: 32px;
    margin-top: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 23px;
}

.dnd-home-package-dot {
    width: 15px;
    height: 15px;
    padding: 0;
    background: #ffffff;
    border: 1.5px solid #3e7082;
    border-radius: 50%;
    cursor: pointer;
    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.dnd-home-package-dot:hover {
    border-color: var(--dnd-brand-green, #0A8F2F);
    transform: scale(1.16);
}

.dnd-home-package-dot.is-active {
    background: #18aeca;
    border-color: #18aeca;
    transform: scale(1.04);
}

.dnd-home-package-slider:focus-visible {
    outline: 3px solid rgba(10, 143, 47, .22);
    outline-offset: 9px;
    border-radius: 18px;
}

@media (max-width: 1100px) {
    .dnd-home-package-track {
        --dnd-package-gap: 18px;
    }

    .dnd-home-package-slide {
        flex-basis: calc(
            (100% - var(--dnd-package-gap)) / 2
        );
    }

    .dnd-home-package-card {
        min-height: 510px;
    }

    .dnd-home-package-image {
        height: 310px;
    }
}

@media (max-width: 680px) {
    .dnd-home-package-track {
        --dnd-package-gap: 14px;
    }

    .dnd-home-package-slide {
        flex-basis: 100%;
    }

    .dnd-home-package-card {
        min-height: 500px;
        border-radius: 15px;
    }

    .dnd-home-package-image {
        height: 300px;
    }

    .dnd-home-package-body {
        padding: 19px 18px 14px;
    }

    .dnd-home-package-body h3 {
        font-size: 17px;
    }

    .dnd-home-package-price strong {
        font-size: 21px;
    }

    .dnd-home-package-footer {
        gap: 10px;
    }

    .dnd-home-package-action {
        min-width: 119px;
        min-height: 43px;
        padding: 0 15px;
    }

    .dnd-home-package-dots {
        margin-top: 32px;
        gap: 16px;
    }

    .dnd-home-package-dot {
        width: 13px;
        height: 13px;
    }
}

@media (max-width: 390px) {
    .dnd-home-package-image {
        height: 275px;
    }

    .dnd-home-package-card {
        min-height: 475px;
    }

    .dnd-home-package-footer {
        align-items: flex-end;
    }

    .dnd-home-package-duration {
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-package-track,
    .dnd-home-package-card,
    .dnd-home-package-image img {
        transition: none !important;
    }
}


/* ========================================================================
   HANDPICKED EXPERIENCES — DREAM N DESTINATION LOGO COLOURS
   Blue: #111E88 / #08145F
   Green: #0A8F2F / #046B24
   ======================================================================== */

.dnd-home-packages {
    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(10, 143, 47, .10),
            transparent 27%
        ),
        radial-gradient(
            circle at 93% 88%,
            rgba(17, 30, 136, .09),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #f6fbf7 48%,
            #ffffff 100%
        ) !important;
}

.dnd-home-packages::before {
    background-image:
        radial-gradient(
            circle at 1px 1px,
            rgba(17, 30, 136, .055) 1px,
            transparent 0
        ) !important;
}

.dnd-home-packages .dnd-home-eyebrow {
    color: #0A8F2F !important;
}

.dnd-home-packages .dnd-home-heading h2 {
    color: #101D5C !important;
}

.dnd-home-packages .dnd-home-heading p {
    color: #68718B !important;
}

.dnd-home-packages .dnd-home-link {
    color: #111E88 !important;
}

.dnd-home-packages .dnd-home-link i {
    background:
        linear-gradient(
            135deg,
            #111E88,
            #08145F
        ) !important;
}

.dnd-home-packages .dnd-home-link:hover {
    color: #0A8F2F !important;
}

.dnd-home-packages .dnd-home-link:hover i {
    background:
        linear-gradient(
            135deg,
            #0A8F2F,
            #046B24
        ) !important;
}

.dnd-home-package-card {
    border-color: rgba(17, 30, 136, .16) !important;
}

.dnd-home-package-card:hover {
    border-color: rgba(10, 143, 47, .48) !important;
    box-shadow:
        0 20px 46px rgba(17, 30, 136, .10),
        0 8px 22px rgba(10, 143, 47, .08) !important;
}

.dnd-home-package-image {
    background: #EEF2FA !important;
}

.dnd-home-package-image::after {
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(17, 30, 136, .06) 58%,
            rgba(10, 143, 47, .10) 100%
        ) !important;
}

.dnd-home-package-body h3 {
    color: #101D5C !important;
}

.dnd-home-package-card:hover
.dnd-home-package-body h3 {
    color: #111E88 !important;
}

.dnd-home-package-route {
    color: #68718B !important;
}

.dnd-home-package-route i {
    color: #0A8F2F !important;
}

.dnd-home-package-price {
    color: #111E88 !important;
}

.dnd-home-package-price strong {
    color: #111E88 !important;
}

.dnd-home-package-price span {
    color: #0A8F2F !important;
}

.dnd-home-package-duration {
    color: #111E88 !important;
}

.dnd-home-package-duration i {
    color: #0A8F2F !important;
}

.dnd-home-package-action {
    color: #111E88 !important;
    background: #ffffff !important;
    border-color: rgba(17, 30, 136, .23) !important;
}

.dnd-home-package-card:hover
.dnd-home-package-action {
    color: #ffffff !important;
    background:
        linear-gradient(
            135deg,
            #0A8F2F,
            #046B24
        ) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px rgba(10, 143, 47, .20);
}

.dnd-home-package-dot {
    background: #ffffff !important;
    border-color: #111E88 !important;
}

.dnd-home-package-dot:hover {
    background: rgba(10, 143, 47, .12) !important;
    border-color: #0A8F2F !important;
}

.dnd-home-package-dot.is-active {
    background: #0A8F2F !important;
    border-color: #0A8F2F !important;
    box-shadow:
        0 0 0 5px rgba(10, 143, 47, .13),
        0 0 0 7px rgba(17, 30, 136, .07);
}

.dnd-home-package-slider:focus-visible {
    outline-color: rgba(17, 30, 136, .25) !important;
}


/* ========================================================================
   WONDERFUL PLACE FOR YOU — INTERNATIONAL DESTINATION SLIDER
   Reference-matched three-card composition with an infinite loop,
   logo-colour navigation and a horizontal shine effect on hover.
   ======================================================================== */

.dnd-home-international-section {
    position: relative;
    padding: 104px 0 94px;
    overflow: hidden;
    background-color: #ffffff;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='82' viewBox='0 0 150 82'%3E%3Cg fill='none' stroke='%23dff1fa' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' opacity='.72'%3E%3Cpath d='M17 48c9-11 17-15 27-14 8 1 13 5 20 5 7 0 13-4 18-9' stroke-dasharray='3 5'/%3E%3Cpath d='M84 30l18-8-8 17 15 9-5 5-17-7-7 11-5-2 3-14-12-8 4-4 14 1z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 150px 82px;
}

.dnd-home-international-section::before,
.dnd-home-international-section::after {
    position: absolute;
    content: "";
    z-index: 0;
    border-radius: 50%;
    pointer-events: none;
}

.dnd-home-international-section::before {
    top: -190px;
    left: -155px;
    width: 410px;
    height: 410px;
    background:
        radial-gradient(
            circle,
            rgba(17, 30, 136, .075),
            transparent 68%
        );
}

.dnd-home-international-section::after {
    right: -175px;
    bottom: -210px;
    width: 430px;
    height: 430px;
    background:
        radial-gradient(
            circle,
            rgba(10, 143, 47, .085),
            transparent 68%
        );
}

.dnd-home-international-section > .container {
    position: relative;
    z-index: 2;
}

.dnd-home-international-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.dnd-home-international-heading .dnd-home-eyebrow {
    margin-bottom: 8px;
    color: #0A8F2F !important;
    font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive !important;
    font-size: clamp(31px, 3vw, 44px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .015em !important;
    text-transform: none !important;
}

.dnd-home-international-heading h2 {
    margin: 0;
    color: #101D5C;
    font-family: "Manrope", sans-serif;
    font-size: clamp(39px, 4.2vw, 59px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.05em;
}

.dnd-home-international-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    outline: none;
    user-select: none;
    -webkit-user-select: none;
}

.dnd-home-international-viewport {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
    cursor: grab;
}

.dnd-home-international-viewport.is-dragging {
    cursor: grabbing;
}

.dnd-home-international-track {
    --dnd-international-gap: 30px;

    display: flex;
    align-items: flex-start;
    gap: var(--dnd-international-gap);
    will-change: transform;
    transform: translate3d(0, 0, 0);
    transition:
        transform .82s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-international-slider.is-dragging
.dnd-home-international-track {
    transition: none;
}

.dnd-home-international-slide {
    flex: 0 0 calc(
        (100% - (var(--dnd-international-gap) * 2)) / 3
    );
    min-width: 0;
    padding: 10px 0 4px;
    transition:
        transform .65s cubic-bezier(.22, 1, .36, 1),
        opacity .5s ease;
}

.dnd-home-international-slide.is-left-card {
    transform: rotate(-4.25deg) translateY(17px);
}

.dnd-home-international-slide.is-center-card {
    position: relative;
    z-index: 3;
    transform: translateY(0);
}

.dnd-home-international-slide.is-right-card {
    transform: rotate(4.25deg) translateY(17px);
}

.dnd-home-international-card {
    display: block;
    color: #173449;
    text-align: center;
    text-decoration: none;
}

.dnd-home-international-media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #EEF2FA;
    border: 1px solid rgba(17, 30, 136, .08);
    border-radius: 25px;
    box-shadow:
        0 18px 42px rgba(8, 20, 95, .12),
        0 7px 18px rgba(10, 143, 47, .035);
    isolation: isolate;
    transform: translateZ(0);
    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .45s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-international-card:hover
.dnd-home-international-media {
    border-color: rgba(10, 143, 47, .34);
    box-shadow:
        0 26px 58px rgba(8, 20, 95, .16),
        0 11px 28px rgba(10, 143, 47, .10);
    transform: translateY(-7px);
}

.dnd-home-international-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.005);
    transition:
        transform .85s cubic-bezier(.22, 1, .36, 1),
        filter .4s ease;
    pointer-events: none;
}

.dnd-home-international-card:hover
.dnd-home-international-media img {
    transform: scale(1.07);
}

/* Horizontal shining animation */
.dnd-home-international-media::before {
    position: absolute;
    content: "";
    top: -20%;
    bottom: -20%;
    left: -62%;
    z-index: 3;
    width: 43%;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, .12) 25%,
            rgba(255, 255, 255, .78) 50%,
            rgba(255, 255, 255, .13) 75%,
            rgba(255, 255, 255, 0) 100%
        );
    filter: blur(2px);
    transform: skewX(-17deg) translateX(0);
    pointer-events: none;
    opacity: 0;
}

.dnd-home-international-card:hover
.dnd-home-international-media::before {
    opacity: 1;
    animation:
        dndInternationalCardShine
        .95s cubic-bezier(.22, 1, .36, 1)
        forwards;
}

@keyframes dndInternationalCardShine {
    0% {
        left: -62%;
        opacity: 0;
    }

    18% {
        opacity: .95;
    }

    100% {
        left: 132%;
        opacity: 0;
    }
}

.dnd-home-international-media::after {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: inherit;
    background:
        linear-gradient(
            180deg,
            rgba(17, 30, 136, .015),
            transparent 58%,
            rgba(10, 143, 47, .07)
        );
    pointer-events: none;
}

.dnd-home-international-copy {
    padding: 18px 12px 4px;
}

.dnd-home-international-copy h3 {
    margin: 0;
    color: #173A4D;
    font-family: "Manrope", sans-serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.035em;
    transition: color .25s ease;
}

.dnd-home-international-copy span {
    margin-top: 7px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #777A7F;
    font-size: 13px;
    font-weight: 600;
    transition:
        color .25s ease,
        gap .25s ease;
}

.dnd-home-international-copy span i {
    color: #0A8F2F;
    font-size: 10px;
    opacity: 0;
    transform: translateX(-5px);
    transition:
        opacity .25s ease,
        transform .25s ease;
}

.dnd-home-international-card:hover
.dnd-home-international-copy h3 {
    color: #111E88;
}

.dnd-home-international-card:hover
.dnd-home-international-copy span {
    gap: 10px;
    color: #0A8F2F;
}

.dnd-home-international-card:hover
.dnd-home-international-copy span i {
    opacity: 1;
    transform: translateX(0);
}

.dnd-home-international-dots {
    min-height: 31px;
    margin-top: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}

.dnd-home-international-dot {
    width: 15px;
    height: 15px;
    padding: 0;
    background: #ffffff;
    border: 1.7px solid #111E88;
    border-radius: 50%;
    cursor: pointer;
    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

.dnd-home-international-dot:hover,
.dnd-home-international-dot:focus-visible {
    background: rgba(10, 143, 47, .12);
    border-color: #0A8F2F;
    outline: none;
    transform: scale(1.14);
}

.dnd-home-international-dot.is-active,
.dnd-home-international-dot[aria-current="true"] {
    background: #0A8F2F;
    border-color: #0A8F2F;
    box-shadow:
        0 0 0 4px #ffffff,
        0 0 0 6px rgba(17, 30, 136, .24);
}

.dnd-home-international-slider:focus-visible {
    outline: 3px solid rgba(10, 143, 47, .22);
    outline-offset: 10px;
    border-radius: 24px;
}

@media (max-width: 1100px) {
    .dnd-home-international-track {
        --dnd-international-gap: 22px;
    }

    .dnd-home-international-slide {
        flex-basis: calc(
            (100% - var(--dnd-international-gap)) / 2
        );
    }

    .dnd-home-international-slide.is-left-card,
    .dnd-home-international-slide.is-center-card,
    .dnd-home-international-slide.is-right-card {
        transform: none;
    }
}

@media (max-width: 680px) {
    .dnd-home-international-section {
        padding: 76px 0 70px;
        background-size: 126px 69px;
    }

    .dnd-home-international-heading {
        margin-bottom: 31px;
    }

    .dnd-home-international-heading h2 {
        font-size: clamp(35px, 10vw, 46px);
    }

    .dnd-home-international-track {
        --dnd-international-gap: 15px;
    }

    .dnd-home-international-slide {
        flex-basis: 84%;
        padding-top: 4px;
    }

    .dnd-home-international-slide.is-left-card,
    .dnd-home-international-slide.is-center-card,
    .dnd-home-international-slide.is-right-card {
        transform: none;
    }

    .dnd-home-international-media {
        border-radius: 20px;
    }

    .dnd-home-international-copy {
        padding-top: 15px;
    }

    .dnd-home-international-copy h3 {
        font-size: 21px;
    }

    .dnd-home-international-dots {
        margin-top: 30px;
        gap: 17px;
    }

    .dnd-home-international-dot {
        width: 13px;
        height: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-international-track,
    .dnd-home-international-slide,
    .dnd-home-international-media,
    .dnd-home-international-media img {
        transition: none !important;
    }

    .dnd-home-international-card:hover
    .dnd-home-international-media::before {
        animation: none !important;
        display: none;
    }
}


/* ========================================================================
   INTERNATIONAL DESTINATION — FINAL SQUARE CARD REFINEMENT
   Dedicated image_src support is handled in the PHP markup above.
   ======================================================================== */

.dnd-home-international-slide {
    min-width: 0;
}

.dnd-home-international-card {
    width: 100%;
    display: block;
    box-shadow: none !important;
}

.dnd-home-international-media {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #EEF2FA !important;
    border: 1px solid rgba(17, 30, 136, .12) !important;
    border-radius: 22px !important;
    box-shadow: none !important;
}

.dnd-home-international-card:hover
.dnd-home-international-media {
    border-color: rgba(10, 143, 47, .40) !important;
    box-shadow: none !important;
    transform: translateY(-4px);
}

.dnd-home-international-media img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: inherit;
}

/* Remove every possible shadow from this section. */
.dnd-home-international-section
.dnd-home-international-slide,
.dnd-home-international-section
.dnd-home-international-card,
.dnd-home-international-section
.dnd-home-international-media,
.dnd-home-international-section
.dnd-home-international-copy,
.dnd-home-international-section
.dnd-home-international-dot {
    box-shadow: none !important;
}

/* Preserve clean square geometry while keeping the reference tilt. */
.dnd-home-international-slide.is-left-card {
    transform: rotate(-3deg) translateY(15px);
}

.dnd-home-international-slide.is-center-card {
    transform: translateY(0);
}

.dnd-home-international-slide.is-right-card {
    transform: rotate(3deg) translateY(15px);
}

@media (max-width: 1100px) {
    .dnd-home-international-slide.is-left-card,
    .dnd-home-international-slide.is-center-card,
    .dnd-home-international-slide.is-right-card {
        transform: none;
    }
}

@media (max-width: 680px) {
    .dnd-home-international-media {
        border-radius: 18px !important;
    }
}


/* ========================================================================
   INTERNATIONAL DESTINATION — WIDTH & EDGE-CROPPING FIX
   Keeps all three rotated cards fully visible inside the section.
   ======================================================================== */

.dnd-home-international-slider {
    width: min(100%, 1120px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    overflow: visible !important;
}

.dnd-home-international-viewport {
    width: 100% !important;
    padding: 28px 18px 30px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.dnd-home-international-track {
    width: 100%;
}

.dnd-home-international-slide {
    padding-top: 0 !important;
    padding-bottom: 7px !important;
}

/* Slightly reduce the desktop tilt so rotated corners remain visible. */
.dnd-home-international-slide.is-left-card {
    transform: rotate(-2.35deg) translateY(13px) !important;
}

.dnd-home-international-slide.is-center-card {
    transform: translateY(0) !important;
}

.dnd-home-international-slide.is-right-card {
    transform: rotate(2.35deg) translateY(13px) !important;
}

.dnd-home-international-copy {
    padding-right: 8px !important;
    padding-left: 8px !important;
}

.dnd-home-international-dots {
    margin-top: 35px !important;
}

@media (max-width: 1180px) {
    .dnd-home-international-slider {
        width: calc(100% - 38px) !important;
        max-width: 1080px !important;
    }

    .dnd-home-international-viewport {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
}

@media (max-width: 1100px) {
    .dnd-home-international-slider {
        width: calc(100% - 24px) !important;
    }

    .dnd-home-international-viewport {
        padding: 18px 8px 24px !important;
    }

    .dnd-home-international-slide.is-left-card,
    .dnd-home-international-slide.is-center-card,
    .dnd-home-international-slide.is-right-card {
        transform: none !important;
    }
}

@media (max-width: 680px) {
    .dnd-home-international-slider {
        width: 100% !important;
        max-width: 100% !important;
    }

    .dnd-home-international-viewport {
        padding: 10px 14px 20px !important;
    }

    .dnd-home-international-slide {
        flex-basis: 82% !important;
    }

    .dnd-home-international-dots {
        margin-top: 25px !important;
    }
}



/* ========================================================================
   CHOOSE YOUR EXPERIENCE — REFERENCE PILL CARD SHAPE
   Only this section's card presentation is changed.
   ======================================================================== */

.dnd-home-activity-section .dnd-home-activity-shell {
    --dnd-activity-gap: 22px;

    position: relative;
    width: 100%;
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 52px;
    overflow: hidden;
    outline: none;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y pinch-zoom;
}

.dnd-home-activity-section
.dnd-home-activity-shell.is-dragging {
    cursor: grabbing;
}

.dnd-home-activity-section .dnd-home-activity-track {
    width: auto;
    padding: 10px 0 20px;
    display: flex;
    align-items: stretch;
    gap: var(--dnd-activity-gap);
    overflow: visible !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    scrollbar-width: none;
    cursor: grab;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    transition:
        transform .62s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-activity-section
.dnd-home-activity-shell.is-dragging
.dnd-home-activity-track {
    cursor: grabbing;
    transition: none !important;
}

.dnd-home-activity-section
.dnd-home-activity-track::-webkit-scrollbar {
    display: none;
}

/* Five complete cards on desktop. */
.dnd-home-activity-section .dnd-home-activity-card {
    position: relative;
    flex: 0 0 calc(
        (100% - (var(--dnd-activity-gap) * 4)) / 5
    ) !important;
    min-width: 0;
    display: block;
    overflow: visible;
    color: #ffffff;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none !important;
    text-align: center;
    text-decoration: none;
    scroll-snap-align: none !important;
    opacity: 1;
    transform: translateY(0);
    transition:
        transform .5s cubic-bezier(.22, 1, .36, 1);
    -webkit-tap-highlight-color: transparent;
}

.dnd-home-activity-section
.dnd-home-activity-card:hover {
    color: #ffffff;
    transform: translateY(-8px);
}

/* Tall vertical capsule matching the supplied reference. */
.dnd-home-activity-section .dnd-home-activity-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 25;
    margin: 0;
    overflow: visible;
}

.dnd-home-activity-section
.dnd-home-activity-media > div {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #eef2fa;
    border: 1px solid rgba(17, 30, 136, .09);
    border-radius: 999px;
    box-shadow: none !important;
    isolation: isolate;
    transform: translateZ(0);
    transition:
        border-color .35s ease,
        transform .55s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-activity-section
.dnd-home-activity-media > div::before {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            180deg,
            rgba(5, 16, 65, .36) 0%,
            rgba(5, 16, 65, .06) 27%,
            transparent 48%,
            rgba(5, 16, 65, .04) 67%,
            rgba(5, 16, 65, .44) 100%
        );
    pointer-events: none;
}

.dnd-home-activity-section
.dnd-home-activity-media > div::after {
    position: absolute;
    content: "";
    top: -25%;
    bottom: -25%;
    left: -72%;
    z-index: 3;
    width: 42%;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, .10) 28%,
            rgba(255, 255, 255, .72) 50%,
            rgba(255, 255, 255, .10) 72%,
            rgba(255, 255, 255, 0) 100%
        );
    filter: blur(2px);
    opacity: 0;
    transform: skewX(-17deg);
    pointer-events: none;
}

.dnd-home-activity-section
.dnd-home-activity-card:hover
.dnd-home-activity-media > div {
    border-color: rgba(10, 143, 47, .34);
    transform: scale(1.015);
}

.dnd-home-activity-section
.dnd-home-activity-card:hover
.dnd-home-activity-media > div::after {
    animation:
        dndHomeActivityPillShine
        .9s cubic-bezier(.22, 1, .36, 1)
        forwards;
}

@keyframes dndHomeActivityPillShine {
    0% {
        left: -72%;
        opacity: 0;
    }

    18% {
        opacity: .92;
    }

    100% {
        left: 136%;
        opacity: 0;
    }
}

.dnd-home-activity-section
.dnd-home-activity-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
    transform: scale(1.01);
    transition:
        transform .9s cubic-bezier(.22, 1, .36, 1),
        filter .4s ease;
    pointer-events: none;
}

.dnd-home-activity-section
.dnd-home-activity-card:hover
.dnd-home-activity-media img {
    filter: saturate(1.08) contrast(1.025);
    transform: scale(1.09);
}

/* Keep existing PHP title and package count, but place them inside the card. */
.dnd-home-activity-section .dnd-home-activity-card h3 {
    position: absolute;
    top: 42px;
    right: 13px;
    left: 13px;
    z-index: 6;
    margin: 0;
    overflow: hidden;
    color: #ffffff !important;
    font-family: "Manrope", sans-serif;
    font-size: clamp(13px, 1.3vw, 18px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .035em;
    text-align: center;
    text-overflow: ellipsis;
    text-shadow:
        0 3px 15px rgba(0, 0, 0, .62),
        0 1px 2px rgba(0, 0, 0, .82);
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    transition:
        letter-spacing .3s ease,
        transform .3s ease;
}

.dnd-home-activity-section .dnd-home-activity-card p {
    position: absolute;
    right: 14px;
    bottom: 21px;
    left: 14px;
    z-index: 6;
    margin: 0;
    padding: 6px 9px;
    overflow: hidden;
    color: rgba(255, 255, 255, .96);
    background: rgba(5, 16, 65, .34);
    border: 1px solid rgba(255, 255, 255, .23);
    border-radius: 999px;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    font-size: 9px;
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: .02em;
    text-align: center;
    text-overflow: ellipsis;
    text-shadow: 0 2px 7px rgba(0, 0, 0, .48);
    white-space: nowrap;
    pointer-events: none;
    transition:
        background .3s ease,
        transform .3s ease;
}

.dnd-home-activity-section
.dnd-home-activity-card:hover h3 {
    color: #ffffff !important;
    letter-spacing: .06em;
    transform: translateY(3px);
}

.dnd-home-activity-section
.dnd-home-activity-card:hover p {
    background: rgba(10, 143, 47, .78);
    transform: translateY(-3px);
}

/* Reference does not use the circular arrow inside each image. */
.dnd-home-activity-section .dnd-home-activity-arrow {
    display: none !important;
}

/* Keep the existing previous and next controls. */
.dnd-home-activity-section .dnd-home-carousel-btn {
    top: 50%;
    width: 42px;
    height: 42px;
    display: inline-flex !important;
    box-shadow: 0 7px 20px rgba(8, 20, 95, .10);
}

.dnd-home-activity-section
.dnd-home-carousel-btn.is-prev {
    left: 2px;
}

.dnd-home-activity-section
.dnd-home-carousel-btn.is-next {
    right: 2px;
}

/* Four cards on tablets. */
@media (max-width: 1050px) and (min-width: 768px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 16px;

        padding-right: 48px;
        padding-left: 48px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card {
        flex-basis: calc(
            (100% - (var(--dnd-activity-gap) * 3)) / 4
        ) !important;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        font-size: clamp(11px, 1.45vw, 15px);
    }
}

/* Four complete cards on mobile. */
@media (max-width: 767px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 7px;

        width: 100%;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-right: 29px;
        padding-left: 29px;
        overflow: hidden;
    }

    .dnd-home-activity-section
    .dnd-home-activity-track {
        padding-top: 7px;
        padding-bottom: 12px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card {
        flex: 0 0 calc(
            (100% - (var(--dnd-activity-gap) * 3)) / 4
        ) !important;
    }

    .dnd-home-activity-section
    .dnd-home-activity-media {
        aspect-ratio: 16 / 26;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 23px;
        right: 3px;
        left: 3px;
        font-size: clamp(6px, 1.95vw, 9px);
        line-height: 1.12;
        letter-spacing: 0;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 3px;
        bottom: 9px;
        left: 3px;
        padding: 4px 2px;
        font-size: clamp(5px, 1.2vw, 6px);
        letter-spacing: 0;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn {
        width: 32px;
        height: 32px;
        font-size: 9px;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-prev {
        left: 1px;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-next {
        right: 1px;
    }
}

@media (max-width: 390px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        padding-right: 26px;
        padding-left: 26px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 20px;
        font-size: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-activity-section
    .dnd-home-activity-track,
    .dnd-home-activity-section
    .dnd-home-activity-card,
    .dnd-home-activity-section
    .dnd-home-activity-media > div,
    .dnd-home-activity-section
    .dnd-home-activity-media img {
        transition: none !important;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card:hover
    .dnd-home-activity-media > div::after {
        display: none;
        animation: none !important;
    }
}


/* ========================================================================
   INTERNATIONAL DESTINATION — ADMIN DATA + WHATSAPP ENQUIRY
   Scoped only to the existing International Destination slider.
   ======================================================================== */

.dnd-home-international-section
.dnd-home-international-card {
    position: relative;
    cursor: pointer;
}

.dnd-home-international-section
.dnd-home-international-media,
.dnd-home-international-section
.dnd-home-international-media img,
.dnd-home-international-section
.dnd-home-international-copy,
.dnd-home-international-section
.dnd-home-international-copy *,
.dnd-home-international-section
.dnd-home-international-whatsapp {
    pointer-events: none;
}

.dnd-home-international-whatsapp {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 6;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            #25D366,
            #128C4A
        );
    border: 3px solid rgba(255, 255, 255, .94);
    border-radius: 50%;
    font-size: 20px;
    box-shadow: none;
    opacity: .96;
    transform: scale(.94);
    transition:
        transform .35s cubic-bezier(.22, 1, .36, 1),
        background .3s ease;
}

.dnd-home-international-card:hover
.dnd-home-international-whatsapp {
    background:
        linear-gradient(
            145deg,
            #111E88,
            #0A8F2F
        );
    transform: scale(1.08) rotate(5deg);
}

.dnd-home-international-section
.dnd-home-international-copy span {
    color: #0A8F2F;
}

.dnd-home-international-section
.dnd-home-international-copy span i {
    color: #25D366;
    font-size: 13px;
    opacity: 1;
    transform: none;
}

.dnd-home-international-card:hover
.dnd-home-international-copy span i {
    color: #111E88;
    transform: translateX(3px) scale(1.06);
}

@media (max-width: 680px) {
    .dnd-home-international-whatsapp {
        top: 12px;
        right: 12px;
        width: 40px;
        height: 40px;
        border-width: 2px;
        font-size: 18px;
    }

    .dnd-home-international-section
    .dnd-home-international-copy span {
        font-size: 11px;
    }
}


/* ==========================================================================
   EXTRACTED HOMEPAGE CSS BLOCK 2
   ========================================================================== */

/* ========================================================================
   FINAL REQUESTED POLISH — TRUST RIBBON, SHADOW-FREE DESTINATIONS,
   AND A RELIABLE MOBILE ABOUT COLLAGE
   ======================================================================== */

/* Remove accidental decorative/focus dots around the trust ribbon. */
.dnd-home-trust::before,
.dnd-home-trust::after,
.dnd-home-trust-grid::before,
.dnd-home-trust-grid::after,
.dnd-home-trust-item::before {
    display: none !important;
    content: none !important;
}

/* Rebuilt trust section: one premium information ribbon on desktop. */
.dnd-home-trust {
    position: relative;
    padding: 38px 0 70px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbf9 100%) !important;
    overflow: hidden;
}

.dnd-home-trust-grid {
    position: relative;
    width: min(calc(100% - 32px), 1280px) !important;
    margin: 0 auto;
    padding: 12px !important;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,.99), rgba(247,251,248,.98));
    border: 1px solid rgba(16, 29, 92, .09);
    border-radius: 28px;
    box-shadow: 0 22px 55px rgba(8, 20, 95, .07);
}

.dnd-home-trust-item {
    position: relative;
    min-width: 0;
    min-height: 118px !important;
    padding: 22px 24px !important;
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center !important;
    gap: 16px !important;
    overflow: hidden;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid rgba(16, 29, 92, .075) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background .28s ease, border-color .28s ease !important;
}

.dnd-home-trust-item:last-child {
    border-right: 0 !important;
}

.dnd-home-trust-item:hover {
    background:
        linear-gradient(135deg, rgba(10, 143, 47, .075), rgba(17, 30, 136, .035)) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.dnd-home-trust-item::after {
    position: absolute;
    top: 10px;
    right: 14px;
    content: attr(data-trust-number);
    color: rgba(17, 30, 136, .065);
    font-family: "Manrope", sans-serif;
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.06em;
    pointer-events: none;
}

.dnd-home-trust-icon {
    position: relative;
    z-index: 2;
    width: 56px !important;
    height: 56px !important;
    flex: 0 0 56px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: linear-gradient(145deg, #0aa13b, #046b24) !important;
    border: 6px solid #eaf7ee;
    border-radius: 18px !important;
    box-shadow: none !important;
    font-size: 17px !important;
}

.dnd-home-trust-icon i {
    width: auto !important;
    display: inline-block !important;
    line-height: 1 !important;
    text-align: center;
}

.dnd-home-trust-item > div {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.dnd-home-trust-item strong {
    margin: 0 0 7px !important;
    display: block;
    color: #101d5c !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.28 !important;
}

.dnd-home-trust-item span:not(.dnd-home-trust-icon) {
    display: block;
    color: #6f7d96 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

/* Popular Destination: retain depth/blur but remove every card shadow. */
.dnd-home-destination-section {
    background: #ffffff !important;
}

.dnd-home-destination-slide,
.dnd-home-destination-slide.is-active,
.dnd-home-destination-slide.is-near,
.dnd-home-destination-slide.is-far,
.dnd-home-destination-slide:hover,
.dnd-home-destination-slide:focus,
.dnd-home-destination-slide:focus-visible {
    box-shadow: none !important;
}

.dnd-home-destination-slide {
    border-color: rgba(16, 29, 92, .13) !important;
}

.dnd-home-destination-slide.is-active {
    border-color: rgba(255, 255, 255, .68) !important;
}

.dnd-home-destination-carousel:focus,
.dnd-home-destination-carousel:focus-visible,
.dnd-home-destination-control:focus,
.dnd-home-destination-control:focus-visible {
    outline: none !important;
}

/* About collage: keep the desktop composition unchanged. */
.dnd-home-about-main img,
.dnd-home-about-small img,
.dnd-home-about-third img {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 1100px) {
    .dnd-home-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .dnd-home-trust-item {
        border-right: 0 !important;
        border: 1px solid rgba(16, 29, 92, .07) !important;
        background: rgba(255, 255, 255, .74) !important;
    }
}

@media (max-width: 767px) {
    .dnd-home-trust {
        padding: 24px 0 52px !important;
    }

    .dnd-home-trust-grid {
        width: min(calc(100% - 24px), 680px) !important;
        padding: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        border-radius: 22px;
        box-shadow: 0 14px 36px rgba(8, 20, 95, .055);
    }

    .dnd-home-trust-item {
        min-height: 132px !important;
        padding: 18px 15px !important;
        grid-template-columns: 48px minmax(0, 1fr);
        align-content: center;
        gap: 12px !important;
        border-radius: 16px !important;
    }

    .dnd-home-trust-icon {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        border-width: 5px;
        border-radius: 15px !important;
        font-size: 15px !important;
    }

    .dnd-home-trust-item::after {
        top: 8px;
        right: 10px;
        font-size: 32px;
    }

    /* Turn the absolute desktop collage into a guaranteed visible grid. */
    .dnd-home-about-grid {
        gap: 38px !important;
    }

    .dnd-home-about-visual,
    .dnd-home-about-visual.dnd-home-reveal,
    .dnd-home-about-visual.dnd-home-reveal.is-visible {
        position: relative !important;
        width: 100% !important;
        max-width: 680px !important;
        min-height: 392px !important;
        height: 392px !important;
        margin: 0 auto 4px !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1.35fr) minmax(118px, .65fr) !important;
        grid-template-rows: 190px 190px !important;
        gap: 12px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        overflow: visible !important;
    }

    .dnd-home-about-main,
    .dnd-home-about-small,
    .dnd-home-about-third {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        display: block !important;
        overflow: hidden !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .dnd-home-about-main {
        grid-column: 1;
        grid-row: 1 / 3;
        border-radius: 28px !important;
    }

    .dnd-home-about-third {
        grid-column: 2;
        grid-row: 1;
        border-radius: 22px !important;
    }

    .dnd-home-about-small {
        grid-column: 2;
        grid-row: 2;
        border-radius: 22px !important;
    }

    .dnd-home-about-main img,
    .dnd-home-about-small img,
    .dnd-home-about-third img {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        object-fit: cover !important;
        transform: none !important;
    }

    .dnd-home-about-visual:hover img {
        transform: none !important;
    }

    .dnd-home-experience {
        position: absolute !important;
        z-index: 8 !important;
        right: auto !important;
        bottom: 14px !important;
        left: 14px !important;
        min-width: 178px !important;
        padding: 13px 15px !important;
        border-width: 4px !important;
        border-radius: 16px !important;
        box-shadow: none !important;
    }
}

@media (max-width: 520px) {
    .dnd-home-trust-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .dnd-home-trust-item {
        min-height: 100px !important;
        padding: 16px !important;
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .dnd-home-about-visual,
    .dnd-home-about-visual.dnd-home-reveal,
    .dnd-home-about-visual.dnd-home-reveal.is-visible {
        min-height: 390px !important;
        height: 390px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: 250px 128px !important;
        gap: 10px !important;
    }

    .dnd-home-about-main {
        grid-column: 1 / 3;
        grid-row: 1;
        border-radius: 24px !important;
    }

    .dnd-home-about-third {
        grid-column: 1;
        grid-row: 2;
        border-radius: 18px !important;
    }

    .dnd-home-about-small {
        grid-column: 2;
        grid-row: 2;
        border-radius: 18px !important;
    }

    .dnd-home-experience {
        top: 170px !important;
        right: auto !important;
        bottom: auto !important;
        left: 12px !important;
        min-width: 166px !important;
        padding: 11px 13px !important;
    }

    .dnd-home-experience strong {
        font-size: 26px !important;
    }

    .dnd-home-experience span {
        font-size: 10px !important;
    }
}


/* ========================================================================
   FINAL DESTINATION VISUAL FIX
   Keep every visible non-active destination fully opaque. Depth is created
   only with blur, mild colour softening and scale — never transparency.
   ======================================================================== */

/* Remove the edge-fade mask that made the outer cards look transparent. */
.dnd-home-destination-viewport {
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* Visible side cards remain fully opaque. */
.dnd-home-destination-slide.is-near.is-left-1,
.dnd-home-destination-slide.is-near.is-right-1,
.dnd-home-destination-slide.is-far.is-left-2,
.dnd-home-destination-slide.is-far.is-right-2 {
    opacity: 1 !important;
}

/* Use blur only for the first pair of non-active cards. */
.dnd-home-destination-slide.is-near.is-left-1,
.dnd-home-destination-slide.is-near.is-right-1 {
    filter: blur(2.8px) saturate(.90) brightness(.88) !important;
}

/* The outer pair receives a little more blur for natural depth. */
.dnd-home-destination-slide.is-far.is-left-2,
.dnd-home-destination-slide.is-far.is-right-2 {
    filter: blur(5px) saturate(.84) brightness(.84) !important;
}

/* Keep the active destination perfectly sharp and fully coloured. */
.dnd-home-destination-slide.is-active {
    opacity: 1 !important;
    filter: none !important;
}

/* Side-card details are softened by the card blur, not by opacity. */
.dnd-home-destination-slide.is-near .dnd-home-destination-slide-content,
.dnd-home-destination-slide.is-far .dnd-home-destination-slide-content {
    opacity: 1 !important;
}

/* On small screens, show the active card and its immediate neighbours only.
   This prevents the two outer cards from overcrowding the mobile viewport. */
@media (max-width: 767px) {
    .dnd-home-destination-slide.is-near.is-left-1,
    .dnd-home-destination-slide.is-near.is-right-1 {
        opacity: 1 !important;
        filter: blur(3px) saturate(.88) brightness(.86) !important;
    }

    .dnd-home-destination-slide.is-far.is-left-2,
    .dnd-home-destination-slide.is-far.is-right-2 {
        opacity: 0 !important;
        pointer-events: none !important;
    }
}



/* ========================================================================
   FINAL DESKTOP DESTINATION ENLARGEMENT + STABLE INFINITE COVERFLOW
   - Enlarges only desktop/tablet-landscape presentation.
   - Reserves a fixed stage height so autoplay cannot move page content.
   - Keeps the active card sharp and side cards opaque with blur.
   - Adds off-stage positions for a seamless circular/infinite loop.
   ======================================================================== */

.dnd-home-destination-section,
.dnd-home-destination-carousel,
.dnd-home-destination-viewport {
    overflow-anchor: none !important;
}

.dnd-home-destination-carousel {
    contain: layout;
}

.dnd-home-destination-viewport {
    isolation: isolate;
}

.dnd-home-destination-track {
    contain: layout paint;
}

.dnd-home-destination-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

/* Hidden cards wait just outside the five visible coverflow positions.
   The exiting card is hidden instantly; the next card enters naturally. */
.dnd-home-destination-slide.is-off-left,
.dnd-home-destination-slide.is-off-right {
    z-index: 4 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    filter: blur(6px) saturate(.82) brightness(.82) !important;
    transition: none !important;
}

.dnd-home-destination-slide.is-off-left {
    transform: translate3d(calc(-50% - 690px + var(--dnd-drag-x)), 72px, 0) scale(.66) !important;
}

.dnd-home-destination-slide.is-off-right {
    transform: translate3d(calc(-50% + 690px + var(--dnd-drag-x)), 72px, 0) scale(.66) !important;
}

/* Standard desktop: visibly larger without overcrowding 1200–1399px screens. */
@media (min-width: 1200px) {
    .dnd-home-destination-section {
        padding-top: 90px !important;
        padding-bottom: 82px !important;
    }

    .dnd-home-destination-heading {
        margin-bottom: 44px !important;
    }

    .dnd-home-destination-carousel {
        --dnd-destination-card-width: 330px;
        --dnd-destination-card-height: 492px;
        width: min(100%, 1360px) !important;
        max-width: 1360px !important;
        min-height: 594px !important;
        padding: 0 52px 54px !important;
    }

    .dnd-home-destination-viewport,
    .dnd-home-destination-viewport.is-dragging {
        width: 100% !important;
        height: 540px !important;
        min-height: 540px !important;
        max-height: 540px !important;
    }

    .dnd-home-destination-track {
        height: 540px !important;
    }

    .dnd-home-destination-slide {
        top: 10px !important;
    }

    .dnd-home-destination-slide.is-active {
        transform: translate3d(calc(-50% + var(--dnd-drag-x)), 0, 0) scale(1) !important;
    }

    .dnd-home-destination-slide.is-near.is-left-1 {
        transform: translate3d(calc(-50% - 238px + var(--dnd-drag-x)), 42px, 0) scale(.88) rotateY(3deg) !important;
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        transform: translate3d(calc(-50% + 238px + var(--dnd-drag-x)), 42px, 0) scale(.88) rotateY(-3deg) !important;
    }

    .dnd-home-destination-slide.is-far.is-left-2 {
        transform: translate3d(calc(-50% - 440px + var(--dnd-drag-x)), 66px, 0) scale(.76) rotateY(6deg) !important;
    }

    .dnd-home-destination-slide.is-far.is-right-2 {
        transform: translate3d(calc(-50% + 440px + var(--dnd-drag-x)), 66px, 0) scale(.76) rotateY(-6deg) !important;
    }

    .dnd-home-destination-slide.is-off-left {
        transform: translate3d(calc(-50% - 650px + var(--dnd-drag-x)), 72px, 0) scale(.66) !important;
    }

    .dnd-home-destination-slide.is-off-right {
        transform: translate3d(calc(-50% + 650px + var(--dnd-drag-x)), 72px, 0) scale(.66) !important;
    }

    .dnd-home-destination-control {
        top: 46% !important;
    }
}

/* Large desktop: a little more scale while retaining five visible cards. */
@media (min-width: 1400px) {
    .dnd-home-destination-carousel {
        --dnd-destination-card-width: 350px;
        --dnd-destination-card-height: 522px;
        width: min(100%, 1440px) !important;
        max-width: 1440px !important;
        min-height: 624px !important;
        padding-right: 58px !important;
        padding-left: 58px !important;
    }

    .dnd-home-destination-viewport,
    .dnd-home-destination-viewport.is-dragging {
        height: 570px !important;
        min-height: 570px !important;
        max-height: 570px !important;
    }

    .dnd-home-destination-track {
        height: 570px !important;
    }

    .dnd-home-destination-slide.is-near.is-left-1 {
        transform: translate3d(calc(-50% - 255px + var(--dnd-drag-x)), 44px, 0) scale(.89) rotateY(3deg) !important;
    }

    .dnd-home-destination-slide.is-near.is-right-1 {
        transform: translate3d(calc(-50% + 255px + var(--dnd-drag-x)), 44px, 0) scale(.89) rotateY(-3deg) !important;
    }

    .dnd-home-destination-slide.is-far.is-left-2 {
        transform: translate3d(calc(-50% - 475px + var(--dnd-drag-x)), 70px, 0) scale(.77) rotateY(6deg) !important;
    }

    .dnd-home-destination-slide.is-far.is-right-2 {
        transform: translate3d(calc(-50% + 475px + var(--dnd-drag-x)), 70px, 0) scale(.77) rotateY(-6deg) !important;
    }

    .dnd-home-destination-slide.is-off-left {
        transform: translate3d(calc(-50% - 710px + var(--dnd-drag-x)), 78px, 0) scale(.66) !important;
    }

    .dnd-home-destination-slide.is-off-right {
        transform: translate3d(calc(-50% + 710px + var(--dnd-drag-x)), 78px, 0) scale(.66) !important;
    }
}


/* ==========================================================================
   EXTRACTED HOMEPAGE CSS BLOCK 3
   ========================================================================== */

/* ========================================================================
   FINAL HANDPICKED SLIDER DOTS — LOGO BLUE & GREEN
   This final override is intentionally placed after every other stylesheet.
   ======================================================================== */

.dnd-home-page
.dnd-home-packages
.dnd-home-package-dots {
    background: transparent !important;
}

.dnd-home-page
.dnd-home-packages
.dnd-home-package-dot {
    width: 15px !important;
    height: 15px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1.8px solid #111E88 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease !important;
}

.dnd-home-page
.dnd-home-packages
.dnd-home-package-dot:hover,
.dnd-home-page
.dnd-home-packages
.dnd-home-package-dot:focus-visible {
    background: rgba(10, 143, 47, .12) !important;
    border-color: #0A8F2F !important;
    box-shadow: 0 0 0 4px rgba(10, 143, 47, .10) !important;
    outline: 0 !important;
    transform: scale(1.12) !important;
}

.dnd-home-page
.dnd-home-packages
.dnd-home-package-dot.is-active,
.dnd-home-page
.dnd-home-packages
.dnd-home-package-dot[aria-current="true"] {
    background: #0A8F2F !important;
    border-color: #0A8F2F !important;
    box-shadow:
        0 0 0 4px #ffffff,
        0 0 0 6px rgba(17, 30, 136, .28) !important;
    transform: scale(1.03) !important;
}

@media (max-width: 680px) {
    .dnd-home-page
    .dnd-home-packages
    .dnd-home-package-dot {
        width: 13px !important;
        height: 13px !important;
    }
}


/* ==========================================================================
   EXTRACTED HOMEPAGE CSS BLOCK 4
   ========================================================================== */

/* Choose your experience — clickable-card safeguard */
.dnd-home-activity-section .dnd-home-activity-card {
    cursor: pointer !important;
    pointer-events: auto !important;
}

.dnd-home-activity-section .dnd-home-activity-card.is-clone {
    pointer-events: auto !important;
}

.dnd-home-activity-section .dnd-home-activity-media,
.dnd-home-activity-section .dnd-home-activity-media > div,
.dnd-home-activity-section .dnd-home-activity-media img,
.dnd-home-activity-section .dnd-home-activity-arrow,
.dnd-home-activity-section .dnd-home-activity-card h3,
.dnd-home-activity-section .dnd-home-activity-card p {
    pointer-events: none !important;
}


/* ==========================================================================
   EXTRACTED HOMEPAGE CSS BLOCK 5
   ========================================================================== */

/* Choose your experience — complete-width alignment */
.dnd-home-activity-section .dnd-home-activity-shell,
.dnd-home-activity-section .dnd-home-activity-track,
.dnd-home-activity-section .dnd-home-activity-card {
    box-sizing: border-box;
}

@media (min-width: 1051px) {
    .dnd-home-activity-section .dnd-home-activity-shell {
        width: min(100%, 1280px);
        max-width: 1280px;
    }
}

@media (max-width: 767px) {
    .dnd-home-activity-section .container {
        padding-right: 10px;
        padding-left: 10px;
    }

    .dnd-home-activity-section .dnd-home-activity-track {
        width: 100%;
    }
}


/* ==========================================================================
   EXTRACTED HOMEPAGE CSS BLOCK 6
   ========================================================================== */

/* Choose your experience — remove partial cards at both edges */
.dnd-home-activity-section .dnd-home-activity-shell {
    overflow: visible !important;
}

.dnd-home-activity-section .dnd-home-activity-viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.dnd-home-activity-section .dnd-home-activity-track {
    width: 100% !important;
    box-sizing: border-box;
}

/* Ensure the cloned loop cards are clipped by the viewport only. */
.dnd-home-activity-section .dnd-home-activity-card {
    flex-shrink: 0 !important;
}

@media (min-width: 1051px) {
    .dnd-home-activity-section .dnd-home-activity-viewport {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .dnd-home-activity-section .dnd-home-activity-viewport {
        width: 100%;
    }
}

/* ==========================================================================
   CHOOSE YOUR EXPERIENCE — TWO COMPLETE CARDS ON MOBILE
   Final responsive override. Desktop and tablet layouts remain unchanged.
   ========================================================================== */

@media (max-width: 767px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 12px;

        width: 100%;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-right: 34px;
        padding-left: 34px;
        overflow: visible !important;
    }

    .dnd-home-activity-section
    .dnd-home-activity-viewport {
        width: 100%;
        overflow: hidden;
    }

    .dnd-home-activity-section
    .dnd-home-activity-track {
        width: 100% !important;
        padding-top: 8px;
        padding-bottom: 15px;
        gap: var(--dnd-activity-gap);
    }

    .dnd-home-activity-section
    .dnd-home-activity-card {
        flex: 0 0 calc(
            (100% - var(--dnd-activity-gap)) / 2
        ) !important;
        max-width: calc(
            (100% - var(--dnd-activity-gap)) / 2
        );
    }

    .dnd-home-activity-section
    .dnd-home-activity-media {
        aspect-ratio: 16 / 25;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 31px;
        right: 7px;
        left: 7px;
        font-size: clamp(10px, 3.4vw, 14px);
        line-height: 1.12;
        letter-spacing: .015em;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 8px;
        bottom: 14px;
        left: 8px;
        padding: 5px 5px;
        font-size: clamp(7px, 2.15vw, 9px);
        letter-spacing: 0;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn {
        width: 34px;
        height: 34px;
        font-size: 10px;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-prev {
        left: 0;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-next {
        right: 0;
    }
}

@media (max-width: 390px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 9px;

        padding-right: 30px;
        padding-left: 30px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 26px;
        font-size: clamp(9px, 3.2vw, 12px);
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 6px;
        bottom: 11px;
        left: 6px;
        font-size: clamp(6px, 2vw, 8px);
    }
}

/* ==========================================================================
   CHOOSE YOUR EXPERIENCE — BIGGER TWO-CARD MOBILE LAYOUT
   Keeps exactly two complete cards while increasing their visible size.
   ========================================================================== */

@media (max-width: 767px) {
    .dnd-home-activity-section .container {
        padding-right: 4px;
        padding-left: 4px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 8px;

        width: 100%;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-right: 21px;
        padding-left: 21px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-track {
        gap: var(--dnd-activity-gap);
        padding-top: 7px;
        padding-bottom: 14px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card {
        flex: 0 0 calc(
            (100% - var(--dnd-activity-gap)) / 2
        ) !important;
        width: calc(
            (100% - var(--dnd-activity-gap)) / 2
        );
        max-width: calc(
            (100% - var(--dnd-activity-gap)) / 2
        );
    }

    .dnd-home-activity-section
    .dnd-home-activity-media {
        aspect-ratio: 16 / 24;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 35px;
        right: 8px;
        left: 8px;
        font-size: clamp(12px, 3.75vw, 16px);
        line-height: 1.12;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 9px;
        bottom: 16px;
        left: 9px;
        padding: 6px 6px;
        font-size: clamp(8px, 2.35vw, 10px);
        line-height: 1.15;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn {
        width: 36px;
        height: 36px;
        font-size: 11px;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-prev {
        left: 0;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-next {
        right: 0;
    }
}

@media (max-width: 390px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 7px;

        padding-right: 18px;
        padding-left: 18px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 29px;
        font-size: clamp(10px, 3.45vw, 13px);
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 7px;
        bottom: 13px;
        left: 7px;
        padding: 5px 4px;
        font-size: clamp(7px, 2.1vw, 9px);
    }
}

/* ==========================================================================
   CHOOSE YOUR EXPERIENCE — MOBILE CLOSE-UP REFINEMENT
   Two complete cards, larger presentation, tighter professional spacing.
   ========================================================================== */

@media (max-width: 767px) {
    .dnd-home-activity-section {
        overflow: hidden;
    }

    .dnd-home-activity-section .container {
        width: 100%;
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }

    .dnd-home-activity-section
    .dnd-home-heading {
        width: calc(100% - 28px);
        margin-right: auto;
        margin-left: auto;
    }

    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 8px;

        width: calc(100vw - 8px);
        max-width: none;
        margin-right: auto;
        margin-left: calc(50% - 50vw + 4px);
        padding-right: 18px;
        padding-left: 18px;
        box-sizing: border-box;
    }

    .dnd-home-activity-section
    .dnd-home-activity-viewport {
        width: 100%;
        overflow: hidden;
    }

    .dnd-home-activity-section
    .dnd-home-activity-track {
        width: 100% !important;
        gap: var(--dnd-activity-gap);
        padding-top: 6px;
        padding-bottom: 13px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card {
        flex: 0 0 calc(
            (100% - var(--dnd-activity-gap)) / 2
        ) !important;
        width: calc(
            (100% - var(--dnd-activity-gap)) / 2
        );
        max-width: calc(
            (100% - var(--dnd-activity-gap)) / 2
        );
    }

    .dnd-home-activity-section
    .dnd-home-activity-media {
        aspect-ratio: 16 / 23.5;
    }

    .dnd-home-activity-section
    .dnd-home-activity-media img {
        transform: scale(1.07);
    }

    .dnd-home-activity-section
    .dnd-home-activity-card:hover
    .dnd-home-activity-media img {
        transform: scale(1.13);
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 36px;
        right: 8px;
        left: 8px;
        font-size: clamp(12px, 4vw, 17px);
        line-height: 1.08;
        letter-spacing: .01em;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 9px;
        bottom: 15px;
        left: 9px;
        padding: 6px 6px;
        font-size: clamp(8px, 2.35vw, 10px);
        line-height: 1.1;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn {
        width: 36px;
        height: 36px;
        font-size: 11px;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-prev {
        left: 0;
    }

    .dnd-home-activity-section
    .dnd-home-carousel-btn.is-next {
        right: 0;
    }
}

@media (max-width: 390px) {
    .dnd-home-activity-section
    .dnd-home-activity-shell {
        --dnd-activity-gap: 7px;

        width: calc(100vw - 4px);
        margin-left: calc(50% - 50vw + 2px);
        padding-right: 15px;
        padding-left: 15px;
    }

    .dnd-home-activity-section
    .dnd-home-activity-media {
        aspect-ratio: 16 / 24;
    }

    .dnd-home-activity-section
    .dnd-home-activity-card h3 {
        top: 31px;
        font-size: clamp(10px, 3.6vw, 14px);
    }

    .dnd-home-activity-section
    .dnd-home-activity-card p {
        right: 7px;
        bottom: 12px;
        left: 7px;
        padding: 5px 4px;
        font-size: clamp(7px, 2.1vw, 9px);
    }
}

/* ==========================================================================
   TESTIMONIALS — GOOGLE REVIEWS BUTTON
   Replaces the previous/next buttons without affecting testimonial autoplay,
   dots, swipe gestures or any other homepage section.
   ========================================================================== */

.dnd-home-testimonial-section
.dnd-home-google-reviews-button {
    width: fit-content;
    min-height: 54px;
    margin-top: 28px;
    padding: 8px 18px 8px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    color: #101D5C;
    background: #ffffff;
    border: 1px solid rgba(17, 30, 136, .12);
    border-radius: 999px;
    box-shadow:
        0 14px 34px rgba(17, 30, 136, .09),
        0 5px 14px rgba(10, 143, 47, .04);
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition:
        color .3s ease,
        border-color .3s ease,
        box-shadow .3s ease,
        transform .35s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-testimonial-section
.dnd-home-google-reviews-button:hover {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #111E88 0%,
            #0A8F2F 100%
        );
    border-color: transparent;
    box-shadow:
        0 18px 40px rgba(17, 30, 136, .16),
        0 8px 20px rgba(10, 143, 47, .12);
    transform: translateY(-3px);
}

.dnd-home-testimonial-section
.dnd-home-google-reviews-button:focus-visible {
    outline: 3px solid rgba(66, 133, 244, .24);
    outline-offset: 4px;
}

.dnd-home-testimonial-section
.dnd-home-google-reviews-icon {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid rgba(17, 30, 136, .08);
    border-radius: 50%;
    font-size: 17px;
    box-shadow: 0 7px 18px rgba(17, 30, 136, .08);
}

.dnd-home-testimonial-section
.dnd-home-google-reviews-icon i {
    background:
        conic-gradient(
            from -40deg,
            #4285F4 0 25%,
            #34A853 25% 45%,
            #FBBC05 45% 66%,
            #EA4335 66% 84%,
            #4285F4 84% 100%
        );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.dnd-home-testimonial-section
.dnd-home-google-reviews-button
> .fa-arrow-up-right-from-square {
    margin-left: 2px;
    font-size: 11px;
    opacity: .72;
    transition:
        opacity .3s ease,
        transform .3s ease;
}

.dnd-home-testimonial-section
.dnd-home-google-reviews-button:hover
> .fa-arrow-up-right-from-square {
    opacity: 1;
    transform: translate(2px, -2px);
}

@media (max-width: 767px) {
    .dnd-home-testimonial-section
    .dnd-home-google-reviews-button {
        min-height: 50px;
        margin-top: 22px;
        padding: 7px 16px 7px 7px;
        gap: 9px;
        font-size: 12px;
    }

    .dnd-home-testimonial-section
    .dnd-home-google-reviews-icon {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-testimonial-section
    .dnd-home-google-reviews-button,
    .dnd-home-testimonial-section
    .dnd-home-google-reviews-button
    > .fa-arrow-up-right-from-square {
        transition: none !important;
    }
}

/* ==========================================================================
   TESTIMONIAL CARDS — PREMIUM GOOGLE REVIEW HEADER & FIVE STARS
   Scoped exclusively to the testimonial section.
   ========================================================================== */

.dnd-home-testimonial-section
.dnd-home-testimonial-card {
    overflow: hidden;
    isolation: isolate;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            #4285F4 0 25%,
            #EA4335 25% 50%,
            #FBBC05 50% 75%,
            #34A853 75% 100%
        );
    opacity: .92;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-review-meta {
    position: relative;
    z-index: 4;
    width: 100%;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-google-source {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-google-mark {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid rgba(17, 30, 136, .09);
    border-radius: 13px;
    box-shadow:
        0 9px 24px rgba(17, 30, 136, .09),
        inset 0 1px 0 rgba(255, 255, 255, .95);
    font-size: 19px;
    transform: translateZ(0);
    transition:
        transform .35s cubic-bezier(.22, 1, .36, 1),
        box-shadow .35s ease;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-google-mark i {
    background:
        conic-gradient(
            from -40deg,
            #4285F4 0 25%,
            #34A853 25% 45%,
            #FBBC05 45% 66%,
            #EA4335 66% 84%,
            #4285F4 84% 100%
        );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-google-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-google-copy strong {
    overflow: hidden;
    color: #101D5C;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-google-copy small {
    overflow: hidden;
    color: #7B8498;
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.15;
    letter-spacing: .035em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-rating {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 7px 10px;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .98),
            rgba(255, 249, 231, .96)
        );
    border: 1px solid rgba(251, 188, 5, .24);
    border-radius: 13px;
    box-shadow:
        0 9px 22px rgba(108, 83, 0, .07),
        inset 0 1px 0 rgba(255, 255, 255, .94);
}

.dnd-home-testimonial-section
.dnd-home-testimonial-stars {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #F7B500;
    line-height: 1;
    white-space: nowrap;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-stars i {
    font-size: 12px;
    filter: drop-shadow(0 2px 4px rgba(247, 181, 0, .24));
    transform-origin: center;
    transition:
        color .25s ease,
        transform .3s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-testimonial-section
.dnd-home-testimonial-stars
.fa-regular {
    color: #D9DDE7;
    filter: none;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-rating > small {
    color: #7D6A1A;
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .03em;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card:hover
.dnd-home-testimonial-google-mark {
    box-shadow:
        0 13px 28px rgba(17, 30, 136, .13),
        inset 0 1px 0 rgba(255, 255, 255, .95);
    transform: translateY(-2px) rotate(-3deg);
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card:hover
.dnd-home-testimonial-stars i {
    transform: translateY(-1px) scale(1.06);
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card:hover
.dnd-home-testimonial-stars i:nth-child(2) {
    transition-delay: .025s;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card:hover
.dnd-home-testimonial-stars i:nth-child(3) {
    transition-delay: .05s;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card:hover
.dnd-home-testimonial-stars i:nth-child(4) {
    transition-delay: .075s;
}

.dnd-home-testimonial-section
.dnd-home-testimonial-card:hover
.dnd-home-testimonial-stars i:nth-child(5) {
    transition-delay: .1s;
}

@media (max-width: 767px) {
    .dnd-home-testimonial-section
    .dnd-home-testimonial-review-meta {
        margin-bottom: 18px;
        gap: 10px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-google-mark {
        width: 36px;
        height: 36px;
        border-radius: 11px;
        font-size: 17px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-google-copy strong {
        font-size: 11px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-google-copy small {
        font-size: 8px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-rating {
        min-height: 36px;
        padding: 6px 8px;
        border-radius: 11px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-stars {
        gap: 2px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-stars i {
        font-size: 10px;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-rating > small {
        font-size: 8px;
    }
}

@media (max-width: 420px) {
    .dnd-home-testimonial-section
    .dnd-home-testimonial-review-meta {
        align-items: flex-start;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-google-copy small {
        display: none;
    }

    .dnd-home-testimonial-section
    .dnd-home-testimonial-rating {
        padding-right: 7px;
        padding-left: 7px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-testimonial-section
    .dnd-home-testimonial-google-mark,
    .dnd-home-testimonial-section
    .dnd-home-testimonial-stars i {
        transition: none !important;
    }
}


/* ==========================================================================
   CSS MOVED FROM INDEX.PHP
   ========================================================================== */

/* =========================================================
   HOMEPAGE HERO EYEBROW — REFINED SIZE
   Increases the visibility of hero kicker text such as
   "Your Next Story Starts Here" without changing hero logic.
   ========================================================= */
.dnd-home-hero .dnd-home-hero-eyebrow {
    font-size: 22px !important;
    line-height: 1.35 !important;
    letter-spacing: .015em !important;
}

@media (max-width: 767px) {
    .dnd-home-hero .dnd-home-hero-eyebrow {
        font-size: 18px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 420px) {
    .dnd-home-hero .dnd-home-hero-eyebrow {
        font-size: 16px !important;
    }
}


/* ==========================================================================
   INDEX.PHP STATIC STYLE CONSOLIDATION
   These rules were previously inline in index.php.
   The dynamic --dnd-home-why-image and --dnd-home-cta-image variables remain
   inline because their values are generated from PHP/database image URLs.
   ========================================================================== */

.dnd-home-why .dnd-home-eyebrow,
.dnd-home-cta .dnd-home-eyebrow {
    color: #ffffff !important;
}

.dnd-home-why-action {
    margin-top: 28px;
}


/* ==========================================================================
   PREMIUM YOUTUBE REEL SECTION
   ========================================================================== */

/* ==========================================================================
   DREAM N DESTINATION — PREMIUM TRAVEL REELS
   Fully scoped. It will not change the rest of the website.
   ========================================================================== */

.dnd-reelshowcase {
    --dnd-reel-blue: #111E88;
    --dnd-reel-blue-dark: #07145f;
    --dnd-reel-green: #0a8f2f;
    --dnd-reel-red: #b84343;
    --dnd-reel-coral: #ff606c;
    --dnd-reel-ink: #1b244b;

    position: relative;
    width: 100%;
    padding: 68px 0 34px;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 20%, rgba(255, 221, 92, .20), transparent 26%),
        radial-gradient(circle at 88% 80%, rgba(76, 226, 112, .20), transparent 28%),
        linear-gradient(118deg, #fff0b8 0%, #fff6cf 44%, #d7ffd9 100%);
    font-family: "Manrope", sans-serif;
}

.dnd-reelshowcase::before,
.dnd-reelshowcase::after {
    position: absolute;
    content: "";
    pointer-events: none;
    border-radius: 50%;
}

.dnd-reelshowcase::before {
    top: -150px;
    right: -100px;
    width: 350px;
    height: 350px;
    border: 1px solid rgba(17, 30, 136, .10);
    box-shadow:
        0 0 0 28px rgba(17, 30, 136, .025),
        0 0 0 58px rgba(10, 143, 47, .018);
}

.dnd-reelshowcase::after {
    bottom: -160px;
    left: 6%;
    width: 290px;
    height: 290px;
    background: rgba(255, 255, 255, .16);
}

.dnd-reelshowcase .dnd-reel-decoration {
    position: absolute;
    z-index: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(17, 30, 136, .13);
    border: 2px solid rgba(17, 30, 136, .11);
    border-radius: 50%;
    font-size: 22px;
    pointer-events: none;
}

.dnd-reelshowcase .dnd-reel-decoration.is-1 {
    top: 92px;
    left: 17%;
    width: 40px;
    height: 40px;
    transform: rotate(-12deg);
}

.dnd-reelshowcase .dnd-reel-decoration.is-2 {
    left: 6%;
    bottom: 68px;
    width: 48px;
    height: 48px;
    color: rgba(10, 143, 47, .14);
    border-color: rgba(10, 143, 47, .13);
    transform: rotate(18deg);
}

.dnd-reelshowcase .dnd-reel-decoration.is-3 {
    top: 26px;
    left: 53%;
    width: 34px;
    height: 34px;
    font-size: 16px;
}

.dnd-reelshowcase .dnd-reel-decoration.is-4 {
    right: 19%;
    bottom: 52px;
    width: 42px;
    height: 42px;
    color: rgba(10, 143, 47, .15);
    border-color: rgba(10, 143, 47, .12);
}

.dnd-reelshowcase .dnd-reel-container {
    position: relative;
    z-index: 3;
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
}

.dnd-reelshowcase .dnd-reel-layout {
    display: grid;
    grid-template-columns: minmax(270px, .78fr) minmax(0, 2.25fr);
    align-items: center;
    gap: 38px;
}

/* --------------------------------------------------------------------------
   LEFT INTRO
   -------------------------------------------------------------------------- */

.dnd-reelshowcase .dnd-reel-intro {
    position: relative;
    z-index: 3;
    padding: 16px 0 40px;
    text-align: center;
}

.dnd-reelshowcase .dnd-reel-heart {
    width: 50px;
    height: 50px;
    margin: 0 auto 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #10131f;
    background: #ff2d55;
    border: 3px solid #11131e;
    border-radius: 16px 16px 18px 18px;
    box-shadow: 0 9px 20px rgba(185, 41, 63, .18);
    font-size: 22px;
    transform: rotate(45deg);
}

.dnd-reelshowcase .dnd-reel-heart i {
    color: #fff;
    transform: rotate(-45deg);
}

.dnd-reelshowcase .dnd-reel-title {
    margin: 4px 0 0;
    color: #ff6270;
    font-family: "Montez", "Brush Script MT", cursive;
    font-size: clamp(52px, 5vw, 76px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.025em;
}

.dnd-reelshowcase .dnd-reel-subtitle {
    margin: 12px 0 26px;
    color: #1f1c21;
    font-size: 14px;
    font-style: italic;
    font-weight: 600;
}

.dnd-reelshowcase .dnd-reel-subtitle span {
    display: inline-block;
    margin-left: 6px;
    color: #e92347;
}

.dnd-reelshowcase .dnd-reel-intro-copy {
    margin: 0;
    color: #fb5b67;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
}

.dnd-reelshowcase .dnd-reel-intro-copy + p {
    margin: 8px 0 0;
    color: #60966b;
    font-size: 14px;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   REEL CAROUSEL
   -------------------------------------------------------------------------- */

.dnd-reelshowcase .dnd-reel-carousel {
    position: relative;
    min-width: 0;
}

.dnd-reelshowcase .dnd-reel-viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.dnd-reelshowcase .dnd-reel-viewport::-webkit-scrollbar {
    display: none;
}

.dnd-reelshowcase .dnd-reel-track {
    display: flex;
    align-items: stretch;
    gap: 24px;
    width: max-content;
    padding: 8px 28px 26px 2px;
}

.dnd-reelshowcase .dnd-reel-card {
    position: relative;
    flex: 0 0 clamp(238px, 19vw, 286px);
    aspect-ratio: 9 / 15.45;
    overflow: hidden;
    scroll-snap-align: start;
    background: #111;
    border: 4px solid rgba(173, 57, 57, .92);
    border-radius: 39px;
    box-shadow:
        0 18px 34px rgba(98, 41, 41, .18),
        0 5px 0 rgba(177, 72, 72, .08);
    isolation: isolate;
    transform: translateZ(0);
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

.dnd-reelshowcase .dnd-reel-card:hover {
    border-color: #a52f38;
    box-shadow:
        0 24px 46px rgba(90, 36, 36, .22),
        0 0 0 5px rgba(255, 255, 255, .28);
    transform: translateY(-6px);
}

.dnd-reelshowcase .dnd-reel-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background: #10131c;
}

.dnd-reelshowcase .dnd-reel-card::before {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .08) 0%,
            transparent 37%,
            rgba(82, 8, 10, .12) 58%,
            rgba(105, 7, 11, .82) 100%
        );
}

.dnd-reelshowcase .dnd-reel-brand {
    position: absolute;
    top: 24px;
    right: 20px;
    z-index: 4;
    color: rgba(255, 255, 255, .92);
    font-family: "Montez", "Brush Script MT", cursive;
    font-size: 17px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .20);
}

.dnd-reelshowcase .dnd-reel-brand i {
    margin-left: 5px;
    font-size: 11px;
}

.dnd-reelshowcase .dnd-reel-sound {
    position: absolute;
    top: 20px;
    left: 18px;
    z-index: 7;
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(6, 11, 31, .52);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    cursor: pointer;
    transition:
        transform .2s ease,
        background-color .2s ease;
}

.dnd-reelshowcase .dnd-reel-sound:hover {
    background: rgba(17, 30, 136, .82);
    transform: scale(1.06);
}

.dnd-reelshowcase .dnd-reel-content {
    position: absolute;
    right: 18px;
    bottom: 25px;
    left: 18px;
    z-index: 5;
    text-align: center;
}

.dnd-reelshowcase .dnd-reel-reactions {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.dnd-reelshowcase .dnd-reel-reactions span {
    width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .15);
    font-size: 14px;
    line-height: 1;
}

.dnd-reelshowcase .dnd-reel-content h3 {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    text-shadow: 0 2px 9px rgba(0, 0, 0, .22);
}

.dnd-reelshowcase .dnd-reel-location {
    margin-top: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: rgba(255, 255, 255, .90);
    font-size: 14px;
    font-weight: 600;
}

.dnd-reelshowcase .dnd-reel-location i {
    color: #ffe88a;
}

/* --------------------------------------------------------------------------
   CONTROLS
   -------------------------------------------------------------------------- */

.dnd-reelshowcase .dnd-reel-controls {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.dnd-reelshowcase .dnd-reel-arrow {
    width: 45px;
    height: 45px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #172644;
    border: 0;
    border-radius: 50%;
    box-shadow: 0 10px 20px rgba(17, 38, 68, .15);
    cursor: pointer;
    transition:
        background-color .22s ease,
        transform .22s ease;
}

.dnd-reelshowcase .dnd-reel-arrow:hover {
    background: var(--dnd-reel-blue);
    transform: translateY(-2px);
}

.dnd-reelshowcase .dnd-reel-dots {
    min-width: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.dnd-reelshowcase .dnd-reel-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    background: #e44857;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition:
        width .22s ease,
        opacity .22s ease;
}

.dnd-reelshowcase .dnd-reel-dot.is-active {
    width: 25px;
}

@media (max-width: 1100px) {
    .dnd-reelshowcase {
        padding-top: 58px;
    }

    .dnd-reelshowcase .dnd-reel-layout {
        grid-template-columns: minmax(235px, .72fr) minmax(0, 1.8fr);
        gap: 26px;
    }

    .dnd-reelshowcase .dnd-reel-card {
        flex-basis: 232px;
    }
}

@media (max-width: 820px) {
    .dnd-reelshowcase {
        padding: 50px 0 30px;
    }

    .dnd-reelshowcase .dnd-reel-container {
        width: calc(100% - 28px);
    }

    .dnd-reelshowcase .dnd-reel-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .dnd-reelshowcase .dnd-reel-intro {
        max-width: 620px;
        margin: 0 auto;
        padding-bottom: 4px;
    }

    .dnd-reelshowcase .dnd-reel-title {
        font-size: clamp(50px, 13vw, 70px);
    }

    .dnd-reelshowcase .dnd-reel-track {
        gap: 16px;
        padding-right: 12px;
    }

    .dnd-reelshowcase .dnd-reel-card {
        flex-basis: min(74vw, 270px);
    }
}

@media (max-width: 520px) {
    .dnd-reelshowcase {
        padding-top: 42px;
    }

    .dnd-reelshowcase .dnd-reel-container {
        width: calc(100% - 22px);
    }

    .dnd-reelshowcase .dnd-reel-heart {
        width: 44px;
        height: 44px;
        font-size: 19px;
    }

    .dnd-reelshowcase .dnd-reel-title {
        font-size: clamp(45px, 15vw, 62px);
    }

    .dnd-reelshowcase .dnd-reel-subtitle {
        margin-bottom: 18px;
        font-size: 13px;
    }

    .dnd-reelshowcase .dnd-reel-intro-copy {
        font-size: 14px;
    }

    .dnd-reelshowcase .dnd-reel-intro-copy + p {
        font-size: 13px;
    }

    .dnd-reelshowcase .dnd-reel-track {
        padding-left: 2px;
        padding-bottom: 18px;
    }

    .dnd-reelshowcase .dnd-reel-card {
        flex-basis: min(80vw, 250px);
        border-width: 3px;
        border-radius: 32px;
    }

    .dnd-reelshowcase .dnd-reel-content h3 {
        font-size: 18px;
    }

    .dnd-reelshowcase .dnd-reel-controls {
        margin-top: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-reelshowcase *,
    .dnd-reelshowcase *::before,
    .dnd-reelshowcase *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition-duration: .01ms !important;
    }
}


/* ==========================================================================
   YOUTUBE SHORTS EMBED SUPPORT
   Keeps the same premium vertical-card design while loading the supplied
   Shorts directly from YouTube.
   ========================================================================== */

.dnd-reelshowcase .dnd-reel-video-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: #10131c;
}

.dnd-reelshowcase .dnd-reel-video-wrap iframe.dnd-reel-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 177.78%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    border: 0;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.dnd-reelshowcase .dnd-reel-youtube-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    background: transparent;
}

.dnd-reelshowcase .dnd-reel-youtube-badge {
    text-decoration: none;
}

.dnd-reelshowcase .dnd-reel-youtube-badge i {
    font-size: 17px;
}

.dnd-reelshowcase .dnd-reel-location {
    color: rgba(255,255,255,.93);
}

.dnd-reelshowcase .dnd-reel-location i {
    color: #ff3b30;
}

/* ==========================================================================
   FINAL REEL SECTION VISIBILITY FIX
   The reel markup now exists in index.php. These final rules make sure no
   previous homepage reveal/overflow rules can hide the section.
   ========================================================================== */

.dnd-home-page .dnd-reelshowcase {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-layout,
.dnd-home-page .dnd-reelshowcase .dnd-reel-carousel,
.dnd-home-page .dnd-reelshowcase .dnd-reel-viewport,
.dnd-home-page .dnd-reelshowcase .dnd-reel-track,
.dnd-home-page .dnd-reelshowcase .dnd-reel-card {
    min-width: 0;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-video-wrap iframe {
    background: #10131c;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-youtube-link {
    cursor: pointer;
}

@media (max-width: 820px) {
    .dnd-home-page .dnd-reelshowcase {
        overflow-x: hidden !important;
    }

    .dnd-home-page .dnd-reelshowcase .dnd-reel-container {
        max-width: calc(100% - 28px) !important;
    }
}

@media (max-width: 520px) {
    .dnd-home-page .dnd-reelshowcase .dnd-reel-container {
        max-width: calc(100% - 22px) !important;
    }
}

/* ==========================================================================
   TRAVELLER'S POSTCARD — DREAM N DESTINATION LOGO COLOR THEME
   Logo Blue:  #111E88 / #08145F
   Logo Green: #0A8F2F / #046B24
   Final scoped override; layout and carousel functionality remain unchanged.
   ========================================================================== */

.dnd-home-page .dnd-reelshowcase {
    --dnd-reel-blue: #111E88;
    --dnd-reel-blue-dark: #08145F;
    --dnd-reel-green: #0A8F2F;
    --dnd-reel-green-dark: #046B24;
    --dnd-reel-blue-soft: #EEF2FA;
    --dnd-reel-green-soft: #EAF7EE;

    background:
        radial-gradient(circle at 8% 16%, rgba(10, 143, 47, .13), transparent 28%),
        radial-gradient(circle at 92% 86%, rgba(17, 30, 136, .12), transparent 30%),
        linear-gradient(
            118deg,
            #F7FBF8 0%,
            #FFFFFF 47%,
            #F4F7FF 100%
        ) !important;
}

.dnd-home-page .dnd-reelshowcase::before {
    border-color: rgba(17, 30, 136, .12) !important;
    box-shadow:
        0 0 0 28px rgba(17, 30, 136, .025),
        0 0 0 58px rgba(10, 143, 47, .022) !important;
}

.dnd-home-page .dnd-reelshowcase::after {
    background: rgba(10, 143, 47, .055) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-decoration {
    color: rgba(17, 30, 136, .14) !important;
    border-color: rgba(17, 30, 136, .12) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-decoration.is-2,
.dnd-home-page .dnd-reelshowcase .dnd-reel-decoration.is-4 {
    color: rgba(10, 143, 47, .16) !important;
    border-color: rgba(10, 143, 47, .14) !important;
}

/* Intro icon: blue outer badge with green heart accent. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-heart {
    color: #ffffff !important;
    background:
        linear-gradient(
            145deg,
            #111E88 0%,
            #08145F 100%
        ) !important;
    border-color: #08145F !important;
    box-shadow:
        0 10px 24px rgba(17, 30, 136, .20),
        0 0 0 7px rgba(10, 143, 47, .08) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-heart i {
    color: #ffffff !important;
}

/* Main postcard heading: logo blue with green second-line emphasis. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-title {
    color: #111E88 !important;
    text-shadow: none !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-title br + * {
    color: inherit;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-subtitle {
    color: #101D5C !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-subtitle span {
    color: #0A8F2F !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-intro-copy {
    color: #111E88 !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-intro-copy + p {
    color: #0A8F2F !important;
}

/* Reel cards: replace red accents with logo blue/green. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-card {
    border-color: rgba(17, 30, 136, .88) !important;
    box-shadow:
        0 18px 38px rgba(17, 30, 136, .12),
        0 8px 20px rgba(10, 143, 47, .055) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-card:nth-child(even) {
    border-color: rgba(10, 143, 47, .88) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-card:hover {
    border-color: #0A8F2F !important;
    box-shadow:
        0 24px 50px rgba(17, 30, 136, .15),
        0 0 0 5px rgba(10, 143, 47, .09) !important;
}

/* Video overlay uses a subtle blue/green travel tint. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-card::before {
    background:
        linear-gradient(
            180deg,
            rgba(8, 20, 95, .08) 0%,
            transparent 36%,
            rgba(4, 107, 36, .12) 58%,
            rgba(5, 15, 73, .84) 100%
        ) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-brand {
    color: rgba(255, 255, 255, .96) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-brand i {
    color: #8FE3A5 !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-youtube-badge {
    background:
        linear-gradient(
            145deg,
            #111E88,
            #08145F
        ) !important;
    border-color: rgba(255, 255, 255, .72) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-youtube-badge:hover {
    background:
        linear-gradient(
            145deg,
            #0A8F2F,
            #046B24
        ) !important;
}

/* Reaction chips get a clean logo-color outline. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-reactions span {
    border-color: rgba(10, 143, 47, .22) !important;
    box-shadow: 0 5px 14px rgba(17, 30, 136, .10) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-location i {
    color: #8FE3A5 !important;
}

/* Controls + dots use blue/green only. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-arrow {
    background:
        linear-gradient(
            145deg,
            #111E88,
            #08145F
        ) !important;
    box-shadow: 0 10px 22px rgba(17, 30, 136, .16) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-arrow:hover {
    background:
        linear-gradient(
            145deg,
            #0A8F2F,
            #046B24
        ) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-dot {
    background: #ffffff !important;
    border: 1.5px solid #111E88 !important;
    box-shadow: none !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-dot:hover,
.dnd-home-page .dnd-reelshowcase .dnd-reel-dot:focus-visible {
    background: rgba(10, 143, 47, .12) !important;
    border-color: #0A8F2F !important;
    outline: none !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-dot.is-active,
.dnd-home-page .dnd-reelshowcase .dnd-reel-dot[aria-current="true"] {
    width: 25px !important;
    background:
        linear-gradient(
            90deg,
            #111E88 0%,
            #0A8F2F 100%
        ) !important;
    border-color: transparent !important;
}

/* Stronger responsive polish for four cards. */
@media (max-width: 1100px) {
    .dnd-home-page .dnd-reelshowcase .dnd-reel-track {
        gap: 18px !important;
    }
}

@media (max-width: 820px) {
    .dnd-home-page .dnd-reelshowcase {
        background:
            radial-gradient(circle at 10% 8%, rgba(10, 143, 47, .12), transparent 30%),
            linear-gradient(180deg, #F8FCF9 0%, #F4F7FF 100%) !important;
    }
}

@media (max-width: 520px) {
    .dnd-home-page .dnd-reelshowcase .dnd-reel-card {
        border-width: 3px !important;
    }
}

/* ==========================================================================
   TRAVELLER'S POSTCARD — FINAL PROFESSIONAL MANUAL CAROUSEL POLISH
   Changes only this section:
   - true manual infinite Previous / Next movement
   - no card box shadows
   - heading typography matches "Travel your way."
   ========================================================================== */

/* The JavaScript moves the track itself, so the viewport is a clean clip. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-viewport {
    overflow: hidden !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-track {
    width: max-content !important;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    transition:
        transform .56s cubic-bezier(.22, 1, .36, 1);
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-card {
    scroll-snap-align: none !important;
    box-shadow: none !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-card:hover,
.dnd-home-page .dnd-reelshowcase .dnd-reel-card:focus-within {
    box-shadow: none !important;
}

/* Match the main section-heading typography used by "Travel your way." */
.dnd-home-page .dnd-reelshowcase .dnd-reel-title {
    margin: 4px 0 0 !important;
    color: #111E88 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: clamp(36px, 4vw, 58px) !important;
    font-weight: 800 !important;
    font-style: normal !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
    text-transform: none !important;
    text-shadow: none !important;
}

/* Professional manual controls. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-arrow {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px;
    border: 1px solid rgba(17, 30, 136, .12) !important;
    box-shadow: none !important;
    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-arrow:hover {
    border-color: rgba(10, 143, 47, .30) !important;
    transform: translateY(-2px) scale(1.04) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-arrow:active {
    transform: translateY(0) scale(.96) !important;
}

.dnd-home-page .dnd-reelshowcase .dnd-reel-arrow:focus-visible {
    outline: 3px solid rgba(10, 143, 47, .18) !important;
    outline-offset: 4px !important;
}

/* Dots are status indicators only; Prev/Next are the manual controls. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-dot {
    cursor: default !important;
    pointer-events: none !important;
}

/* Cloned loop cards are visual duplicates and should not receive focus. */
.dnd-home-page .dnd-reelshowcase .dnd-reel-card.is-clone {
    pointer-events: none;
}

@media (max-width: 820px) {
    .dnd-home-page .dnd-reelshowcase .dnd-reel-title {
        font-size: clamp(34px, 9vw, 46px) !important;
    }
}

@media (max-width: 520px) {
    .dnd-home-page .dnd-reelshowcase .dnd-reel-title {
        font-size: clamp(32px, 10vw, 42px) !important;
    }

    .dnd-home-page .dnd-reelshowcase .dnd-reel-arrow {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-page .dnd-reelshowcase .dnd-reel-track {
        transition: none !important;
    }
}

/* ==========================================================================
   START YOUR JOURNEY — ROBUST VISIBILITY FIX
   The CTA must remain visible even if the PHP/database background image
   custom property is unavailable or blocked at paint time.
   ========================================================================== */

.dnd-home-page .dnd-home-cta {
    background-color: #08145F !important;
    background-image:
        linear-gradient(
            100deg,
            rgba(4, 107, 36, .95) 0%,
            rgba(8, 20, 95, .91) 100%
        ),
        var(
            --dnd-home-cta-image,
            linear-gradient(
                135deg,
                #111E88 0%,
                #0A8F2F 100%
            )
        ) !important;
    background-position: center center, center center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
}

/* Ensure the CTA copy cannot disappear against the background. */
.dnd-home-page .dnd-home-cta-content {
    position: relative !important;
    z-index: 3 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.dnd-home-page .dnd-home-cta .dnd-home-eyebrow,
.dnd-home-page .dnd-home-cta h2,
.dnd-home-page .dnd-home-cta p,
.dnd-home-page .dnd-home-cta-action small {
    opacity: 1 !important;
    visibility: visible !important;
}

.dnd-home-page .dnd-home-cta .dnd-home-eyebrow,
.dnd-home-page .dnd-home-cta h2 {
    color: #ffffff !important;
}

.dnd-home-page .dnd-home-cta p {
    color: rgba(255, 255, 255, .82) !important;
}

.dnd-home-page .dnd-home-cta-action small {
    color: rgba(255, 255, 255, .76) !important;
}

/* ==========================================================================
   WHY TRAVEL WITH US — ROBUST VISIBILITY FIX
   The section stays fully visible even if the PHP/database-driven background
   image custom property is unavailable at paint time.
   ========================================================================== */

.dnd-home-page .dnd-home-why {
    background-color: #08145F !important;
    background-image:
        linear-gradient(
            110deg,
            rgba(4, 107, 36, .94) 0%,
            rgba(8, 20, 95, .92) 100%
        ),
        var(
            --dnd-home-why-image,
            linear-gradient(
                135deg,
                #111E88 0%,
                #0A8F2F 100%
            )
        ) !important;
    background-position: center center, center center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
}

/* Keep all Why Us content visible even if reveal JS is delayed/interrupted. */
.dnd-home-page .dnd-home-why .dnd-home-reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Ensure all copy remains readable against the blue/green background. */
.dnd-home-page .dnd-home-why .dnd-home-eyebrow,
.dnd-home-page .dnd-home-why .dnd-home-why-copy h2,
.dnd-home-page .dnd-home-why .dnd-home-why-copy > p,
.dnd-home-page .dnd-home-why .dnd-home-why-card h3,
.dnd-home-page .dnd-home-why .dnd-home-why-card p {
    opacity: 1 !important;
    visibility: visible !important;
}

.dnd-home-page .dnd-home-why .dnd-home-eyebrow,
.dnd-home-page .dnd-home-why .dnd-home-why-copy h2,
.dnd-home-page .dnd-home-why .dnd-home-why-card h3 {
    color: #ffffff !important;
}

.dnd-home-page .dnd-home-why .dnd-home-why-copy > p {
    color: rgba(255, 255, 255, .82) !important;
}

.dnd-home-page .dnd-home-why .dnd-home-why-card {
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

.dnd-home-page .dnd-home-why .dnd-home-why-card p {
    color: rgba(255, 255, 255, .76) !important;
}

/* ==========================================================================
   2027 GROUP TOUR SCHEDULE — REFERENCE OFFER-CARD CAROUSEL
   Same visual structure as the supplied reference:
   centered heading, 2x2 image mosaics, white cards, rounded action buttons,
   circular arrows, pagination dots and automatic horizontal movement.
   ========================================================================== */

.dnd-gt2027-section {
    position: relative;
    padding: 82px 0 78px;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            #e9fbea 0%,
            #effbd9 52%,
            #fff0c8 100%
        );
}

.dnd-gt2027-section::before,
.dnd-gt2027-section::after {
    position: absolute;
    content: "";
    pointer-events: none;
    border-radius: 50%;
    filter: blur(2px);
}

.dnd-gt2027-section::before {
    width: 330px;
    height: 330px;
    top: -170px;
    left: -110px;
    background: rgba(10,143,47,.07);
}

.dnd-gt2027-section::after {
    width: 390px;
    height: 390px;
    right: -180px;
    bottom: -250px;
    background: rgba(17,30,136,.06);
}

.dnd-gt2027-section > .container {
    position: relative;
    z-index: 2;
}

.dnd-gt2027-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.dnd-gt2027-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #0A8F2F;
    font-family:
        "Brush Script MT",
        "Segoe Script",
        "Snell Roundhand",
        cursive !important;
    font-size: clamp(28px, 2.6vw, 40px);
    font-weight: 400;
    line-height: 1;
}

.dnd-gt2027-heading h2 {
    margin: 0;
    color: #101827;
    font-family: "Manrope", sans-serif;
    font-size: clamp(34px, 3.9vw, 52px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.dnd-gt2027-heading p {
    max-width: 620px;
    margin: 13px auto 0;
    color: #69758b;
    font-size: 14px;
    line-height: 1.7;
}

.dnd-gt2027-slider {
    position: relative;
    width: 100%;
    outline: none;
}

.dnd-gt2027-viewport {
    width: 100%;
    padding: 4px 0 8px;
    overflow: hidden;
}

.dnd-gt2027-track {
    display: flex;
    gap: 30px;
    will-change: transform;
    transform: translate3d(0,0,0);
}

.dnd-gt2027-slide {
    flex: 0 0 calc((100% - 60px) / 3);
    min-width: 0;
}

.dnd-gt2027-card {
    height: 100%;
    padding: 15px 15px 17px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(17,30,136,.055);
    border-radius: 17px;
    box-shadow:
        0 14px 28px rgba(43,62,59,.10);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.dnd-gt2027-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 20px 38px rgba(43,62,59,.13);
}

.dnd-gt2027-mosaic {
    height: 194px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 7px;
}

.dnd-gt2027-mosaic-item {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #eef3f1;
    border-radius: 8px;
}

.dnd-gt2027-mosaic-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition:
        transform .65s cubic-bezier(.22,1,.36,1);
}

.dnd-gt2027-card:hover
.dnd-gt2027-mosaic-item img {
    transform: scale(1.07);
}

.dnd-gt2027-body {
    padding: 18px 10px 0;
    text-align: center;
}

.dnd-gt2027-date {
    min-height: 28px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #0A8F2F;
    background: rgba(10,143,47,.08);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 750;
}

.dnd-gt2027-date i {
    font-size: 10px;
}

.dnd-gt2027-body h3 {
    margin: 13px 0 0;
    color: #111827;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.015em;
}

.dnd-gt2027-body p {
    min-height: 20px;
    margin: 8px 0 0;
    color: #707a8e;
    font-size: 11px;
    line-height: 1.5;
}

.dnd-gt2027-body p span {
    margin: 0 4px;
    color: #a0a8b6;
}

.dnd-gt2027-button {
    min-width: 112px;
    min-height: 38px;
    margin-top: 16px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #ffffff;
    background:
        linear-gradient(
            90deg,
            #238d68 0%,
            #95c86c 100%
        );
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
    box-shadow:
        0 8px 16px rgba(35,141,104,.16);
    transition:
        transform .25s ease,
        background .25s ease;
}

.dnd-gt2027-button:hover {
    color: #ffffff;
    background:
        linear-gradient(
            90deg,
            #111E88,
            #0A8F2F
        );
    transform: translateY(-2px);
}

.dnd-gt2027-button i {
    font-size: 8px;
    transition: transform .25s ease;
}

.dnd-gt2027-button:hover i {
    transform: translateX(3px);
}

.dnd-gt2027-controls {
    margin-top: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
}

.dnd-gt2027-arrow {
    width: 41px;
    height: 41px;
    flex: 0 0 41px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #132041;
    border: 0;
    border-radius: 50%;
    font-size: 11px;
    cursor: pointer;
    box-shadow: none;
    transition:
        transform .25s ease,
        background .25s ease;
}

.dnd-gt2027-arrow:hover {
    background: #0A8F2F;
    transform: translateY(-2px);
}

.dnd-gt2027-arrow:active {
    transform: scale(.95);
}

.dnd-gt2027-arrow:focus-visible {
    outline: 3px solid rgba(10,143,47,.20);
    outline-offset: 4px;
}

.dnd-gt2027-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 52px;
}

.dnd-gt2027-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    background: #e14c5b;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    opacity: .82;
    transition:
        width .24s ease,
        opacity .24s ease,
        background .24s ease;
}

.dnd-gt2027-dot.is-active {
    width: 25px;
    background:
        linear-gradient(
            90deg,
            #111E88,
            #0A8F2F
        );
    opacity: 1;
}

@media (max-width: 1024px) {
    .dnd-gt2027-track {
        gap: 22px;
    }

    .dnd-gt2027-slide {
        flex-basis: calc((100% - 22px) / 2);
    }
}

@media (max-width: 700px) {
    .dnd-gt2027-section {
        padding: 66px 0 65px;
    }

    .dnd-gt2027-heading {
        margin-bottom: 30px;
    }

    .dnd-gt2027-heading h2 {
        font-size: clamp(32px, 9vw, 43px);
    }

    .dnd-gt2027-heading p {
        font-size: 13px;
    }

    .dnd-gt2027-track {
        gap: 14px;
    }

    .dnd-gt2027-slide {
        flex-basis: 100%;
    }

    .dnd-gt2027-card {
        border-radius: 16px;
    }

    .dnd-gt2027-mosaic {
        height: 215px;
    }

    .dnd-gt2027-controls {
        margin-top: 28px;
        gap: 16px;
    }
}

@media (max-width: 420px) {
    .dnd-gt2027-card {
        padding: 11px 11px 15px;
    }

    .dnd-gt2027-mosaic {
        height: 196px;
        gap: 6px;
    }

    .dnd-gt2027-body {
        padding-top: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-gt2027-track,
    .dnd-gt2027-card,
    .dnd-gt2027-mosaic-item img {
        transition: none !important;
    }
}

/* ==========================================================================
   2027 GROUP TOUR SCHEDULE — DREAM N DESTINATION LOGO COLOR THEME
   Logo Blue:  #111E88 / #08145F
   Logo Green: #0A8F2F / #046B24
   Layout and carousel behaviour are unchanged.
   ========================================================================== */

.dnd-gt2027-section {
    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(10, 143, 47, .12),
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 88%,
            rgba(17, 30, 136, .12),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #F4FBF6 0%,
            #FFFFFF 48%,
            #F3F6FF 100%
        ) !important;
}

.dnd-gt2027-section::before {
    background: rgba(10, 143, 47, .075) !important;
}

.dnd-gt2027-section::after {
    background: rgba(17, 30, 136, .065) !important;
}

.dnd-gt2027-eyebrow {
    color: #0A8F2F !important;
}

.dnd-gt2027-heading h2 {
    color: #111E88 !important;
}

.dnd-gt2027-heading p {
    color: #68718B !important;
}

.dnd-gt2027-card {
    border-color: rgba(17, 30, 136, .09) !important;
    box-shadow:
        0 16px 34px rgba(17, 30, 136, .08),
        0 5px 16px rgba(10, 143, 47, .04) !important;
}

.dnd-gt2027-card:hover {
    border-color: rgba(10, 143, 47, .24) !important;
    box-shadow:
        0 22px 42px rgba(17, 30, 136, .11),
        0 8px 20px rgba(10, 143, 47, .06) !important;
}

.dnd-gt2027-date {
    color: #111E88 !important;
    background:
        linear-gradient(
            135deg,
            rgba(17, 30, 136, .08),
            rgba(10, 143, 47, .10)
        ) !important;
    border: 1px solid rgba(17, 30, 136, .08);
}

.dnd-gt2027-date i {
    color: #0A8F2F !important;
}

.dnd-gt2027-body h3 {
    color: #101D5C !important;
}

.dnd-gt2027-body p {
    color: #68718B !important;
}

/* WhatsApp booking button in the logo palette. */
.dnd-gt2027-button {
    min-width: 122px !important;
    color: #ffffff !important;
    background:
        linear-gradient(
            135deg,
            #111E88 0%,
            #0A8F2F 100%
        ) !important;
    box-shadow:
        0 9px 20px rgba(17, 30, 136, .14),
        0 4px 12px rgba(10, 143, 47, .10) !important;
}

.dnd-gt2027-button:hover {
    color: #ffffff !important;
    background:
        linear-gradient(
            135deg,
            #0A8F2F 0%,
            #046B24 100%
        ) !important;
    box-shadow:
        0 12px 24px rgba(10, 143, 47, .20) !important;
}

.dnd-gt2027-button i {
    font-size: 13px !important;
}

/* Navigation uses the same blue/green logo colors. */
.dnd-gt2027-arrow {
    background:
        linear-gradient(
            145deg,
            #111E88,
            #08145F
        ) !important;
}

.dnd-gt2027-arrow:hover {
    background:
        linear-gradient(
            145deg,
            #0A8F2F,
            #046B24
        ) !important;
}

.dnd-gt2027-dot {
    background: rgba(17, 30, 136, .24) !important;
}

.dnd-gt2027-dot:hover {
    background: rgba(10, 143, 47, .58) !important;
}

.dnd-gt2027-dot.is-active {
    background:
        linear-gradient(
            90deg,
            #111E88 0%,
            #0A8F2F 100%
        ) !important;
}

/* ==========================================================================
   2027 GROUP TOUR SCHEDULE — CARD SHADOW REMOVAL
   ========================================================================== */

.dnd-gt2027-card,
.dnd-gt2027-card:hover {
    box-shadow: none !important;
}

/* ==========================================================================
   2027 GROUP TOUR SCHEDULE — MATCH TRAVELLER STORIES TYPOGRAPHY
   Uses the same typography system as the Traveller Stories section:
   decorative Brush Script sub-heading + Manrope heading/content.
   ========================================================================== */

/* Same decorative font treatment as "Traveller stories". */
.dnd-home-page .dnd-gt2027-eyebrow {
    font-family:
        "Brush Script MT",
        "Segoe Script",
        "Snell Roundhand",
        cursive !important;
    font-size: clamp(28px, 2.4vw, 38px) !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
}

/* Same heading typography as the Traveller Stories title. */
.dnd-home-page .dnd-gt2027-heading h2 {
    font-family: "Manrope", sans-serif !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.06 !important;
    letter-spacing: -.05em !important;
}

/* Same paragraph/content font family and reading rhythm. */
.dnd-home-page .dnd-gt2027-heading p,
.dnd-home-page .dnd-gt2027-date,
.dnd-home-page .dnd-gt2027-body h3,
.dnd-home-page .dnd-gt2027-body p,
.dnd-home-page .dnd-gt2027-button {
    font-family: "Manrope", sans-serif !important;
}

.dnd-home-page .dnd-gt2027-heading p {
    font-size: 14px !important;
    line-height: 1.8 !important;
}

/* Keep all card copy visually consistent with Traveller Stories. */
.dnd-home-page .dnd-gt2027-body h3 {
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}

.dnd-home-page .dnd-gt2027-body p {
    font-weight: 500 !important;
    line-height: 1.6 !important;
}

/* ==========================================================================
   RECENT GALLERY — PREMIUM EDITORIAL COLLAGE
   Inspired by the supplied staggered seven-image gallery reference.
   ========================================================================== */

.dnd-home-recent-gallery {
    position: relative;
    padding: 86px 0 96px;
    overflow: hidden;
    background: #ffffff;
}

.dnd-home-recent-gallery::before,
.dnd-home-recent-gallery::after {
    position: absolute;
    content: "";
    pointer-events: none;
    border-radius: 50%;
}

.dnd-home-recent-gallery::before {
    width: 320px;
    height: 320px;
    top: -210px;
    left: -130px;
    background: rgba(10, 143, 47, .045);
}

.dnd-home-recent-gallery::after {
    width: 380px;
    height: 380px;
    right: -220px;
    bottom: -280px;
    background: rgba(17, 30, 136, .04);
}

.dnd-home-recent-gallery > .container {
    position: relative;
    z-index: 2;
}

.dnd-home-recent-gallery-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.dnd-home-recent-gallery-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #0A8F2F;
    font-family:
        "Brush Script MT",
        "Segoe Script",
        "Snell Roundhand",
        cursive !important;
    font-size: clamp(29px, 2.5vw, 40px);
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: .02em;
}

.dnd-home-recent-gallery-heading h2 {
    margin: 0;
    color: #101D5C;
    font-family: "Manrope", sans-serif !important;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -.05em;
}

.dnd-home-recent-gallery-collage {
    width: min(100%, 1120px);
    height: 390px;
    margin: 0 auto;
    display: grid;
    grid-template-columns:
        1.02fr
        1fr
        1fr
        1fr
        1fr;
    grid-template-rows: 1fr 1fr;
    gap: 16px;
    align-items: stretch;
}

.dnd-home-recent-gallery-item {
    position: relative;
    min-width: 0;
    min-height: 0;
    display: block;
    overflow: hidden;
    background: #EEF2FA;
    border-radius: 22px;
    text-decoration: none;
    box-shadow: none;
    isolation: isolate;
}

.dnd-home-recent-gallery-item::after {
    position: absolute;
    content: "";
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            180deg,
            rgba(8, 20, 95, 0) 62%,
            rgba(8, 20, 95, .06) 100%
        );
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}

.dnd-home-recent-gallery-item:hover::after {
    opacity: 1;
}

.dnd-home-recent-gallery-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition:
        transform .75s cubic-bezier(.22, 1, .36, 1),
        filter .4s ease;
}

.dnd-home-recent-gallery-item:hover img {
    transform: scale(1.065);
}

/*
 * Desktop placement mirrors the supplied editorial collage:
 * outer medium image, stacked pair, tall center, stacked pair, outer image.
 */
.dnd-home-recent-gallery-item.is-item-1 {
    grid-column: 1;
    grid-row: 1 / 3;
    height: 150px;
    align-self: center;
}

.dnd-home-recent-gallery-item.is-item-2 {
    grid-column: 2;
    grid-row: 1;
}

.dnd-home-recent-gallery-item.is-item-3 {
    grid-column: 2;
    grid-row: 2;
}

.dnd-home-recent-gallery-item.is-item-4 {
    grid-column: 3;
    grid-row: 1 / 3;
    margin: 25px 0;
}

.dnd-home-recent-gallery-item.is-item-5 {
    grid-column: 4;
    grid-row: 1;
}

.dnd-home-recent-gallery-item.is-item-6 {
    grid-column: 4;
    grid-row: 2;
}

.dnd-home-recent-gallery-item.is-item-7 {
    grid-column: 5;
    grid-row: 1 / 3;
    height: 155px;
    align-self: center;
}

.dnd-home-recent-gallery-item:focus-visible {
    outline: 3px solid rgba(10, 143, 47, .22);
    outline-offset: 5px;
}

@media (max-width: 991px) {
    .dnd-home-recent-gallery {
        padding: 76px 0 82px;
    }

    .dnd-home-recent-gallery-collage {
        height: 520px;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(3, 1fr);
        gap: 13px;
    }

    .dnd-home-recent-gallery-item.is-item-1 {
        grid-column: 1;
        grid-row: 1 / 3;
        height: auto;
        align-self: stretch;
    }

    .dnd-home-recent-gallery-item.is-item-2 {
        grid-column: 2;
        grid-row: 1;
    }

    .dnd-home-recent-gallery-item.is-item-3 {
        grid-column: 2;
        grid-row: 2;
    }

    .dnd-home-recent-gallery-item.is-item-4 {
        grid-column: 3;
        grid-row: 1 / 3;
        margin: 0;
    }

    .dnd-home-recent-gallery-item.is-item-5 {
        grid-column: 4;
        grid-row: 1;
    }

    .dnd-home-recent-gallery-item.is-item-6 {
        grid-column: 4;
        grid-row: 2;
    }

    .dnd-home-recent-gallery-item.is-item-7 {
        grid-column: 1 / 5;
        grid-row: 3;
        height: auto;
        align-self: stretch;
    }
}

@media (max-width: 700px) {
    .dnd-home-recent-gallery {
        padding: 66px 0 70px;
    }

    .dnd-home-recent-gallery-heading {
        margin-bottom: 32px;
    }

    .dnd-home-recent-gallery-heading h2 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .dnd-home-recent-gallery-collage {
        height: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: 145px;
        gap: 10px;
    }

    .dnd-home-recent-gallery-item {
        border-radius: 17px;
    }

    .dnd-home-recent-gallery-item.is-item-1,
    .dnd-home-recent-gallery-item.is-item-2,
    .dnd-home-recent-gallery-item.is-item-3,
    .dnd-home-recent-gallery-item.is-item-4,
    .dnd-home-recent-gallery-item.is-item-5,
    .dnd-home-recent-gallery-item.is-item-6,
    .dnd-home-recent-gallery-item.is-item-7 {
        height: auto;
        margin: 0;
        align-self: stretch;
    }

    .dnd-home-recent-gallery-item.is-item-1 {
        grid-column: 1;
        grid-row: span 2;
    }

    .dnd-home-recent-gallery-item.is-item-2 {
        grid-column: 2;
        grid-row: span 1;
    }

    .dnd-home-recent-gallery-item.is-item-3 {
        grid-column: 2;
        grid-row: span 1;
    }

    .dnd-home-recent-gallery-item.is-item-4 {
        grid-column: 1 / 3;
        grid-row: span 2;
    }

    .dnd-home-recent-gallery-item.is-item-5 {
        grid-column: 1;
        grid-row: span 1;
    }

    .dnd-home-recent-gallery-item.is-item-6 {
        grid-column: 2;
        grid-row: span 1;
    }

    .dnd-home-recent-gallery-item.is-item-7 {
        grid-column: 1 / 3;
        grid-row: span 1;
    }
}

@media (max-width: 420px) {
    .dnd-home-recent-gallery-collage {
        grid-auto-rows: 128px;
        gap: 8px;
    }

    .dnd-home-recent-gallery-item {
        border-radius: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-recent-gallery-item img,
    .dnd-home-recent-gallery-item::after {
        transition: none !important;
    }
}

/* ==========================================================================
   RECENT GALLERY — PROFESSIONAL POPUP IMAGE VIEWER
   ========================================================================== */

body.dnd-home-gallery-lightbox-open {
    overflow: hidden !important;
}

.dnd-home-gallery-lightbox[hidden] {
    display: none !important;
}

.dnd-home-gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity .24s ease,
        visibility .24s ease;
}

.dnd-home-gallery-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.dnd-home-gallery-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 10, 40, .86);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.dnd-home-gallery-lightbox-dialog {
    position: relative;
    z-index: 2;
    width: min(1080px, 94vw);
    max-height: calc(100vh - 64px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.dnd-home-gallery-lightbox-figure {
    width: min(900px, 82vw);
    margin: 0;
}

.dnd-home-gallery-lightbox-media {
    position: relative;
    width: 100%;
    height: min(74vh, 720px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            rgba(17, 30, 136, .20),
            rgba(10, 143, 47, .11)
        );
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 24px;
}

.dnd-home-gallery-lightbox-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    transform: scale(1);
    transition:
        opacity .16s ease,
        transform .26s ease;
}

.dnd-home-gallery-lightbox.is-changing
.dnd-home-gallery-lightbox-media img {
    opacity: .24;
    transform: scale(.985);
}

.dnd-home-gallery-lightbox-caption {
    min-height: 22px;
    margin-top: 13px;
    padding: 0 70px;
    color: rgba(255, 255, 255, .84);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.dnd-home-gallery-lightbox-close {
    position: absolute;
    top: -16px;
    right: 28px;
    z-index: 6;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #101D5C;
    background: #ffffff;
    border: 0;
    border-radius: 50%;
    font-size: 16px;
    cursor: pointer;
    box-shadow: none;
    transition:
        color .22s ease,
        background .22s ease,
        transform .22s ease;
}

.dnd-home-gallery-lightbox-close:hover {
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            #111E88,
            #0A8F2F
        );
    transform: rotate(6deg);
}

.dnd-home-gallery-lightbox-nav {
    position: absolute;
    top: 50%;
    z-index: 6;
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            #111E88,
            #08145F
        );
    border: 0;
    border-radius: 50%;
    font-size: 13px;
    cursor: pointer;
    box-shadow: none;
    transform: translateY(-50%);
    transition:
        background .22s ease,
        transform .22s ease;
}

.dnd-home-gallery-lightbox-nav.is-prev {
    left: 0;
}

.dnd-home-gallery-lightbox-nav.is-next {
    right: 0;
}

.dnd-home-gallery-lightbox-nav:hover {
    background:
        linear-gradient(
            145deg,
            #0A8F2F,
            #046B24
        );
}

.dnd-home-gallery-lightbox-nav.is-prev:hover {
    transform:
        translateY(-50%)
        translateX(-3px);
}

.dnd-home-gallery-lightbox-nav.is-next:hover {
    transform:
        translateY(-50%)
        translateX(3px);
}

.dnd-home-gallery-lightbox-counter {
    position: absolute;
    right: 78px;
    bottom: 13px;
    z-index: 6;
    min-width: 55px;
    min-height: 30px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: rgba(5, 12, 61, .62);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.dnd-home-gallery-lightbox button:focus-visible {
    outline: 3px solid rgba(145, 231, 166, .34);
    outline-offset: 4px;
}

@media (max-width: 767px) {
    .dnd-home-gallery-lightbox {
        padding: 16px;
    }

    .dnd-home-gallery-lightbox-dialog {
        width: 100%;
        max-height: calc(100vh - 32px);
    }

    .dnd-home-gallery-lightbox-figure {
        width: 100%;
    }

    .dnd-home-gallery-lightbox-media {
        height: min(68vh, 580px);
        border-radius: 18px;
    }

    .dnd-home-gallery-lightbox-close {
        top: 10px;
        right: 10px;
        width: 42px;
        height: 42px;
    }

    .dnd-home-gallery-lightbox-nav {
        width: 44px;
        height: 44px;
    }

    .dnd-home-gallery-lightbox-nav.is-prev {
        left: 8px;
    }

    .dnd-home-gallery-lightbox-nav.is-next {
        right: 8px;
    }

    .dnd-home-gallery-lightbox-caption {
        padding: 0 50px;
        font-size: 11px;
    }

    .dnd-home-gallery-lightbox-counter {
        right: 12px;
        bottom: 42px;
    }
}

@media (max-width: 420px) {
    .dnd-home-gallery-lightbox {
        padding: 9px;
    }

    .dnd-home-gallery-lightbox-media {
        height: min(64vh, 500px);
        border-radius: 15px;
    }

    .dnd-home-gallery-lightbox-nav {
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dnd-home-gallery-lightbox,
    .dnd-home-gallery-lightbox-media img,
    .dnd-home-gallery-lightbox-close,
    .dnd-home-gallery-lightbox-nav {
        transition: none !important;
  
    }
}

