.gdd-modal {
    --gdd-orange: #e36733;
    --gdd-orange-dark: #b9471c;
    --gdd-orange-light: #ff9360;
    --gdd-orange-pale: #fff2eb;
    --gdd-white: #ffffff;
    --gdd-black: #13171d;
    --gdd-ink: #1c222b;
    --gdd-muted: #687283;
    --gdd-line: rgba(19, 23, 29, .10);
    --gdd-line-orange: rgba(227, 103, 51, .24);
    --gdd-ease: cubic-bezier(.16, 1, .3, 1);
    --gdd-panel-width: min(870px, calc(100vw - 62px));

    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    justify-items: end;
    visibility: hidden;
    pointer-events: none;
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Noto Sans Georgian",
        Arial,
        sans-serif;
}

.gdd-modal,
.gdd-modal *,
.gdd-modal *::before,
.gdd-modal *::after {
    box-sizing: border-box;
}

.gdd-modal button,
.gdd-modal a {
    -webkit-tap-highlight-color: transparent;
}

.gdd-modal button {
    font: inherit;
    color: inherit;
}

.gdd-modal img,
.gdd-modal iframe,
.gdd-video-viewer iframe {
    display: block;
    max-width: 100%;
}

.gdd-modal svg,
.gdd-video-viewer svg {
    display: block;
}

.gdd-modal.is-open {
    visibility: visible;
    pointer-events: auto;
}

.gdd-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(17, 20, 25, .40);
    opacity: 0;
    cursor: default;
    transition: opacity .34s ease;
    backdrop-filter: blur(6px);
}

.gdd-modal.is-open .gdd-modal__backdrop {
    opacity: 1;
}

.gdd-modal__panel {
    position: relative;
    width: var(--gdd-panel-width);
    height: calc(100dvh - 28px);
    margin: 14px 20px 14px 14px;
    opacity: 0;
    transform: translate3d(68px, 0, 0) scale(.982);
    transition:
        opacity .32s ease,
        transform .62s var(--gdd-ease);
}

.gdd-modal.is-open .gdd-modal__panel {
    opacity: 1;
    transform: none;
}

.gdd-modal__surface {
    position: absolute;
    inset: 0;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, .98);
    border-radius: 38px;
    background: var(--gdd-white);
    box-shadow:
        0 42px 130px rgba(19, 23, 29, .32),
        0 0 0 1px rgba(255, 255, 255, .60),
        0 0 54px rgba(227, 103, 51, .13);
}

.gdd-modal__surface::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(rgba(227, 103, 51, .038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(227, 103, 51, .038) 1px, transparent 1px),
        radial-gradient(circle at 92% 6%, rgba(227, 103, 51, .12), transparent 28rem);
    background-size: 38px 38px, 38px 38px, auto;
    mask-image: linear-gradient(#000, transparent 92%);
    opacity: .66;
}

.gdd-modal__edge {
    position: absolute;
    z-index: 60;
    top: 30px;
    right: 0;
    width: 5px;
    height: calc(100% - 60px);
    border-radius: 999px 0 0 999px;
    background:
        linear-gradient(
            transparent,
            rgba(227, 103, 51, .22) 7%,
            var(--gdd-orange) 37%,
            rgba(227, 103, 51, .32) 72%,
            transparent
        );
    pointer-events: none;
}

.gdd-modal__scan {
    position: absolute;
    z-index: 50;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.gdd-modal__scan::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -24%;
    height: 18%;
    opacity: 0;
    background: linear-gradient(transparent, rgba(227, 103, 51, .05), transparent);
}

.gdd-modal.is-open .gdd-modal__scan::before {
    animation: gdd-modal-scan 1.05s .16s ease-out 1 both;
}

@keyframes gdd-modal-scan {
    20% { opacity: 1; }
    100% {
        opacity: 0;
        transform: translateY(735%);
    }
}

.gdd-modal__scroll {
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(227, 103, 51, .62) transparent;
}

.gdd-modal__scroll::-webkit-scrollbar {
    width: 7px;
}

.gdd-modal__scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(227, 103, 51, .58);
}

.gdd-modal__close {
    position: absolute;
    z-index: 80;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .64);
    border-radius: 50%;
    color: var(--gdd-white);
    background: rgba(19, 23, 29, .43);
    backdrop-filter: blur(10px);
    cursor: pointer;
    transition:
        transform .3s var(--gdd-ease),
        background .24s ease;
}

.gdd-modal__close:hover,
.gdd-modal__close:focus-visible {
    transform: rotate(90deg) scale(1.05);
    background: var(--gdd-orange);
    outline: none;
}

.gdd-modal__close svg {
    width: 21px;
    height: 21px;
    stroke: currentColor;
}

/* =========================================================
   Province-specific floating sticker slots
   ========================================================= */

.gdd-modal__stickers {
    position: absolute;
    inset: 0;
    z-index: 110;
    pointer-events: none;
}

.gdd-modal__sticker {
    position: absolute;
    display: block;
    width: clamp(86px, 10vw, 142px);
    height: auto;
    object-fit: contain;
    opacity: 0;
    filter: drop-shadow(0 16px 18px rgba(62, 31, 18, .18));
    transform: translate3d(0, 22px, 0) scale(.82) rotate(var(--sticker-rotation, 0deg));
    transition:
        opacity .42s ease,
        transform .72s var(--gdd-ease);
}

.gdd-modal.is-open .gdd-modal__sticker:not([hidden]) {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--sticker-rotation, 0deg));
    animation: gdd-sticker-float var(--sticker-duration, 7.5s) ease-in-out var(--sticker-delay, 0s) infinite alternate;
}

.gdd-modal__sticker--one {
    --sticker-rotation: -10deg;
    --sticker-duration: 7.4s;
    --sticker-delay: -.8s;
    top: 13%;
    left: -55px;
}

.gdd-modal__sticker--two {
    --sticker-rotation: 9deg;
    --sticker-duration: 8.2s;
    --sticker-delay: -2.2s;
    top: 39%;
    right: -44px;
    width: clamp(78px, 8vw, 118px);
}

.gdd-modal__sticker--three {
    --sticker-rotation: -6deg;
    --sticker-duration: 8.8s;
    --sticker-delay: -4s;
    bottom: 23%;
    left: -48px;
    width: clamp(76px, 8.5vw, 124px);
}

.gdd-modal__sticker--four {
    --sticker-rotation: 11deg;
    --sticker-duration: 7.9s;
    --sticker-delay: -3s;
    right: -40px;
    bottom: 8%;
    width: clamp(72px, 7.8vw, 112px);
}

@keyframes gdd-sticker-float {
    from {
        translate: 0 -4px;
    }
    to {
        translate: 0 7px;
    }
}

/* =========================================================
   Cinematic identity
   ========================================================= */

.gdd-modal .gdd-hero {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    background: linear-gradient(145deg, #1a1d22, #403329 70%, #15171b);
    isolation: isolate;
}

.gdd-modal .gdd-hero__poster,
.gdd-modal .gdd-hero__video,
.gdd-modal .gdd-hero__shade {
    position: absolute;
    inset: 0;
}

.gdd-modal .gdd-hero__poster {
    background:
        linear-gradient(145deg, rgba(227, 103, 51, .12), transparent 46%),
        url("/images/kakhetimainbg.png") center / cover no-repeat;
    transition: opacity .4s ease, transform 1.2s var(--gdd-ease);
    transform: scale(1.02);
}

.gdd-modal.is-open .gdd-hero__poster {
    transform: scale(1.065);
}

.gdd-modal .gdd-hero.is-video-ready .gdd-hero__poster {
    opacity: 0;
}

.gdd-modal .gdd-hero__video {
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    transition: opacity .48s ease;
}

.gdd-modal .gdd-hero.is-video-ready .gdd-hero__video {
    opacity: 1;
}

.gdd-modal .gdd-hero__video iframe {
    width: 100%;
    height: 100%;
    border: 0;
    transform: scale(1.035);
    pointer-events: none;
}

.gdd-modal .gdd-hero__shade {
    z-index: 3;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(19, 23, 29, .08), rgba(19, 23, 29, .20) 46%, rgba(19, 23, 29, .93)),
        linear-gradient(90deg, rgba(19, 23, 29, .18), transparent 64%);
}

.gdd-modal .gdd-hero__grid {
    position: absolute;
    z-index: 4;
    inset: 0;
    pointer-events: none;
    opacity: .12;
    background:
        linear-gradient(rgba(255, 255, 255, .24) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .24) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(#000, transparent 88%);
}

.gdd-modal .gdd-video-actions {
    position: absolute;
    z-index: 12;
    top: 19px;
    left: 19px;
    display: flex;
    gap: 8px;
}

.gdd-modal .gdd-video-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 43px;
    padding: 0 15px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 999px;
    color: var(--gdd-white);
    background: rgba(19, 23, 29, .39);
    backdrop-filter: blur(10px);
    cursor: pointer;
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
    transition:
        transform .25s var(--gdd-ease),
        background .24s ease;
}

.gdd-modal .gdd-video-action:hover,
.gdd-modal .gdd-video-action:focus-visible {
    transform: translateY(-2px);
    background: var(--gdd-orange);
    outline: none;
}

.gdd-modal .gdd-video-action svg {
    width: 17px;
    height: 17px;
    stroke: currentColor;
    fill: none;
}

.gdd-modal .gdd-video-status {
    position: absolute;
    z-index: 10;
    top: 30px;
    right: 82px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .79);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gdd-modal .gdd-video-status::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gdd-orange-light);
    box-shadow: 0 0 0 5px rgba(227, 103, 51, .17);
}

.gdd-modal .gdd-video-action[hidden],
.gdd-modal .gdd-video-status[hidden] {
    display: none !important;
}

.gdd-modal .gdd-hero__copy {
    position: absolute;
    z-index: 8;
    left: clamp(24px, 5vw, 48px);
    right: 78px;
    bottom: 34px;
    color: var(--gdd-white);
}

.gdd-modal .gdd-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, .84);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.gdd-modal .gdd-hero__eyebrow svg {
    width: 18px;
    height: 18px;
    fill: var(--gdd-orange-light);
}

.gdd-modal .gdd-hero__title {
    margin: 0;
    font-size: clamp(3.5rem, 7.6vw, 6.4rem);
    line-height: .86;
    letter-spacing: -.065em;
    text-transform: uppercase;
    text-wrap: balance;
}

.gdd-modal .gdd-hero__slogan {
    max-width: 660px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .88);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    font-style: italic;
    line-height: 1.45;
}

/* =========================================================
   Content system
   ========================================================= */

.gdd-modal .gdd-content {
    position: relative;
    padding: 29px clamp(18px, 4vw, 40px) 42px;
}

.gdd-modal .gdd-glass {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(227, 103, 51, .17);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 246, 240, .84));
    box-shadow:
        0 18px 46px rgba(19, 23, 29, .075),
        inset 0 1px rgba(255, 255, 255, 1);
}

.gdd-modal .gdd-section-label {
    display: inline-block;
    color: var(--gdd-orange);
    font-size: .98rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.gdd-modal .gdd-services {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    padding: clamp(22px, 4vw, 31px);
    border-radius: 25px;
}

.gdd-modal .gdd-services::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    top: -140px;
    right: -80px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(227, 103, 51, .18), transparent 68%);
    pointer-events: none;
}

.gdd-modal .gdd-services__mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(227, 103, 51, .22);
    border-radius: 17px;
    color: var(--gdd-orange);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 25px rgba(227, 103, 51, .10);
}

.gdd-modal .gdd-services__mark svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

.gdd-modal .gdd-services h2 {
    margin: 8px 0 0;
    color: var(--gdd-black);
    font-size: clamp(1.38rem, 3vw, 2.1rem);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.gdd-modal .gdd-services p {
    max-width: 720px;
    margin: 13px 0 0;
    color: var(--gdd-muted);
    font-size: .94rem;
    line-height: 1.72;
}

.gdd-modal .gdd-section {
    margin-top: clamp(38px, 6vw, 58px);
}

.gdd-modal .gdd-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 19px;
}

.gdd-modal .gdd-heading h2 {
    margin: 8px 0 0;
    color: var(--gdd-black);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.gdd-modal .gdd-heading__number {
    color: rgba(227, 103, 51, .24);
    font-size: clamp(2.8rem, 7vw, 5.5rem);
    font-weight: 950;
    line-height: .7;
    letter-spacing: -.08em;
}

/* =========================================================
   Three main sights
   ========================================================= */

.gdd-modal .gdd-sights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.gdd-modal .gdd-sight {
    position: relative;
    min-height: 285px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .94);
    border-radius: 24px;
    background: #d9d9d9;
    box-shadow: 0 18px 38px rgba(19, 23, 29, .11);
    isolation: isolate;
    cursor: default;
}

.gdd-modal .gdd-sight:nth-child(2) {
    transform: translateY(20px);
}

.gdd-modal .gdd-sight__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s var(--gdd-ease), filter .5s ease;
}

.gdd-modal .gdd-sight::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 34%, rgba(16, 17, 19, .13) 58%, rgba(16, 17, 19, .88)),
        linear-gradient(135deg, rgba(227, 103, 51, .13), transparent 48%);
}

.gdd-modal .gdd-sight:hover .gdd-sight__image {
    transform: scale(1.075);
    filter: saturate(1.06);
}

.gdd-modal .gdd-sight__number {
    position: absolute;
    z-index: 2;
    top: 15px;
    left: 15px;
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border: 1px solid rgba(255, 255, 255, .50);
    border-radius: 50%;
    color: var(--gdd-white);
    background: rgba(19, 23, 29, .28);
    backdrop-filter: blur(8px);
    font-size: .67rem;
    font-weight: 900;
}

.gdd-modal .gdd-sight__name {
    position: absolute;
    z-index: 2;
    left: 17px;
    right: 17px;
    bottom: 17px;
    color: var(--gdd-white);
    font-size: clamp(1.05rem, 2vw, 1.38rem);
    font-weight: 880;
    line-height: 1.05;
    letter-spacing: -.025em;
    text-shadow: 0 2px 15px rgba(0, 0, 0, .35);
}

.gdd-modal .gdd-sights__action {
    display: flex;
    justify-content: center;
    margin-top: 39px;
}

.gdd-modal .gdd-view-more,
.gdd-modal .gdd-modal-footer__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 51px;
    padding: 0 22px;
    border: 1px solid rgba(227, 103, 51, .36);
    border-radius: 999px;
    color: var(--gdd-orange-dark);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 13px 30px rgba(227, 103, 51, .10);
    text-decoration: none;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
    transition:
        transform .28s var(--gdd-ease),
        color .24s ease,
        background .24s ease,
        box-shadow .28s ease;
}

.gdd-modal .gdd-view-more:hover,
.gdd-modal .gdd-view-more:focus-visible,
.gdd-modal .gdd-modal-footer__button:hover,
.gdd-modal .gdd-modal-footer__button:focus-visible {
    transform: translateY(-3px);
    color: var(--gdd-white);
    background: var(--gdd-orange);
    box-shadow: 0 17px 35px rgba(227, 103, 51, .23);
    outline: none;
}

.gdd-modal .gdd-view-more svg,
.gdd-modal .gdd-modal-footer__button svg {
    width: 18px;
    height: 18px;
}

/* =========================================================
   Six experience slider
   ========================================================= */

.gdd-modal .gdd-heading--controls {
    align-items: center;
}

.gdd-modal .gdd-slider-controls {
    display: flex;
    gap: 8px;
}

.gdd-modal .gdd-slider-button {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    padding: 0;
    border: 1px solid rgba(227, 103, 51, .23);
    border-radius: 50%;
    color: var(--gdd-orange-dark);
    background: rgba(255, 255, 255, .90);
    cursor: pointer;
    transition:
        transform .25s var(--gdd-ease),
        color .24s ease,
        background .24s ease,
        opacity .24s ease;
}

.gdd-modal .gdd-slider-button:hover:not(:disabled),
.gdd-modal .gdd-slider-button:focus-visible:not(:disabled) {
    transform: translateY(-2px);
    color: var(--gdd-white);
    background: var(--gdd-orange);
    outline: none;
}

.gdd-modal .gdd-slider-button:disabled {
    opacity: .34;
    cursor: default;
}

.gdd-modal .gdd-slider-button svg {
    width: 19px;
    height: 19px;
}

.gdd-modal .gdd-activity-slider {
    overflow: hidden;
    margin-inline: -3px;
    padding: 3px;
    touch-action: pan-y;
}

.gdd-modal .gdd-activity-track {
    display: flex;
    gap: 12px;
    transition: transform .62s var(--gdd-ease);
    will-change: transform;
}

.gdd-modal .gdd-activity {
    position: relative;
    flex: 0 0 calc((100% - 24px) / 3);
    min-width: 0;
    min-height: 335px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .95);
    border-radius: 24px;
    background: #e8e8e8;
    box-shadow: 0 17px 38px rgba(19, 23, 29, .10);
    isolation: isolate;
}

.gdd-modal .gdd-activity__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .82s var(--gdd-ease), filter .5s ease;
}

.gdd-modal .gdd-activity:hover .gdd-activity__image {
    transform: scale(1.075);
    filter: saturate(1.08);
}

.gdd-modal .gdd-activity::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(19, 23, 29, .03), transparent 35%, rgba(19, 23, 29, .92)),
        linear-gradient(145deg, rgba(227, 103, 51, .11), transparent 52%);
}

.gdd-modal .gdd-activity__tag {
    position: absolute;
    z-index: 2;
    top: 15px;
    left: 15px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 999px;
    color: var(--gdd-white);
    background: rgba(19, 23, 29, .31);
    backdrop-filter: blur(8px);
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gdd-modal .gdd-activity__copy {
    position: absolute;
    z-index: 2;
    left: 17px;
    right: 17px;
    bottom: 18px;
    color: var(--gdd-white);
}

.gdd-modal .gdd-activity__copy strong {
    display: block;
    font-size: 1.13rem;
    line-height: 1.04;
}

.gdd-modal .gdd-activity__copy span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .78);
    font-size: .79rem;
    line-height: 1.5;
}

.gdd-modal .gdd-activity-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 17px;
}

.gdd-modal .gdd-activity-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(227, 103, 51, .23);
    cursor: pointer;
    transition: width .26s var(--gdd-ease), background .24s ease;
}

.gdd-modal .gdd-activity-dot.is-active {
    width: 27px;
    background: var(--gdd-orange);
}

/* =========================================================
   Closing province CTA
   ========================================================= */

.gdd-modal .gdd-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: clamp(42px, 7vw, 68px);
    padding: clamp(23px, 4vw, 34px);
    border: 1px solid rgba(227, 103, 51, .18);
    border-radius: 27px;
    background:
        radial-gradient(circle at 92% 12%, rgba(227, 103, 51, .15), transparent 14rem),
        linear-gradient(135deg, #fff9f5, #ffffff);
    box-shadow: 0 18px 46px rgba(19, 23, 29, .07);
}

.gdd-modal .gdd-modal-footer strong {
    display: block;
    margin-top: 7px;
    color: var(--gdd-black);
    font-size: clamp(1.32rem, 3vw, 2rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.gdd-modal .gdd-modal-footer p {
    max-width: 520px;
    margin: 10px 0 0;
    color: var(--gdd-muted);
    font-size: .84rem;
    line-height: 1.62;
}

.gdd-modal .gdd-modal-footer__button {
    flex: 0 0 auto;
    color: var(--gdd-white);
    background: linear-gradient(135deg, var(--gdd-orange-light), var(--gdd-orange-dark));
    box-shadow: 0 16px 34px rgba(227, 103, 51, .22);
}

/* =========================================================
   Full video viewer
   ========================================================= */

.gdd-video-viewer {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    display: grid;
    place-items: center;
    visibility: hidden;
    pointer-events: none;
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

.gdd-video-viewer.is-open {
    visibility: visible;
    pointer-events: auto;
}

.gdd-video-viewer__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(8, 10, 13, .86);
    opacity: 0;
    transition: opacity .3s ease;
    backdrop-filter: blur(8px);
}

.gdd-video-viewer.is-open .gdd-video-viewer__backdrop {
    opacity: 1;
}

.gdd-video-viewer__frame {
    position: relative;
    width: min(1180px, calc(100vw - 30px));
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 28px;
    background: #090b0e;
    box-shadow: 0 35px 120px rgba(0, 0, 0, .52);
    opacity: 0;
    transform: scale(.96);
    transition: opacity .3s ease, transform .5s cubic-bezier(.16, 1, .3, 1);
}

.gdd-video-viewer.is-open .gdd-video-viewer__frame {
    opacity: 1;
    transform: none;
}

.gdd-video-viewer__mount,
.gdd-video-viewer__mount iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.gdd-video-viewer__close {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .40);
    border-radius: 50%;
    color: #fff;
    background: rgba(19, 23, 29, .56);
    cursor: pointer;
}

.gdd-video-viewer__close svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 940px) {
    .gdd-modal {
        --gdd-panel-width: min(820px, calc(100vw - 34px));
    }

    .gdd-modal__panel {
        margin-right: 17px;
    }

    .gdd-modal__sticker--one,
    .gdd-modal__sticker--three {
        left: -28px;
    }

    .gdd-modal__sticker--two,
    .gdd-modal__sticker--four {
        right: -21px;
    }
}

@media (max-width: 760px) {
    .gdd-modal {
        --gdd-panel-width: calc(100vw - 16px);
        justify-items: center;
    }

    .gdd-modal__panel {
        height: calc(100dvh - 16px);
        margin: 8px;
    }

    .gdd-modal__surface {
        border-radius: 29px;
    }

    .gdd-modal .gdd-hero {
        min-height: 390px;
    }

    .gdd-modal .gdd-video-status {
        display: none;
    }

    .gdd-modal .gdd-hero__copy {
        left: 22px;
        right: 22px;
        bottom: 27px;
    }

    .gdd-modal .gdd-hero__title {
        font-size: clamp(3rem, 15vw, 5rem);
    }

    .gdd-modal .gdd-services {
        grid-template-columns: 1fr;
    }

    .gdd-modal .gdd-services__mark {
        display: none;
    }

    .gdd-modal .gdd-sights {
        grid-template-columns: 1fr;
    }

    .gdd-modal .gdd-sight,
    .gdd-modal .gdd-sight:nth-child(2) {
        min-height: 300px;
        transform: none;
    }

    .gdd-modal .gdd-activity {
        flex-basis: calc((100% - 12px) / 2);
    }

    .gdd-modal .gdd-modal-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .gdd-modal .gdd-modal-footer__button {
        width: 100%;
    }

    .gdd-modal__sticker {
        width: 82px;
        opacity: .96;
    }

    .gdd-modal__sticker--one {
        top: 16%;
        left: -8px;
    }

    .gdd-modal__sticker--two {
        top: 44%;
        right: -5px;
    }

    .gdd-modal__sticker--three {
        left: -5px;
        bottom: 27%;
    }

    .gdd-modal__sticker--four {
        right: -5px;
        bottom: 10%;
    }
}

@media (max-width: 500px) {
    .gdd-modal .gdd-content {
        padding-inline: 14px;
    }

    .gdd-modal .gdd-hero {
        min-height: 360px;
    }

    .gdd-modal .gdd-video-actions {
        top: 15px;
        left: 15px;
    }

    .gdd-modal .gdd-video-action {
        min-height: 39px;
        padding-inline: 12px;
    }

    .gdd-modal__close {
        top: 14px;
        right: 14px;
        width: 42px;
        height: 42px;
    }

    .gdd-modal .gdd-heading {
        align-items: flex-start;
    }

    .gdd-modal .gdd-heading__number {
        display: none;
    }

    .gdd-modal .gdd-heading--controls {
        align-items: flex-end;
    }

    .gdd-modal .gdd-heading h2 {
        font-size: 1.8rem;
    }

    .gdd-modal .gdd-activity {
        flex-basis: 100%;
        min-height: 355px;
    }

    .gdd-modal .gdd-sight {
        min-height: 270px;
    }

    .gdd-modal__sticker {
        width: 68px;
    }

    .gdd-modal__sticker--two,
    .gdd-modal__sticker--four {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gdd-modal *,
    .gdd-modal *::before,
    .gdd-modal *::after,
    .gdd-video-viewer *,
    .gdd-video-viewer *::before,
    .gdd-video-viewer *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
}

/* =========================================================
   Modal refinement pass: controls, carousel, mobile character
   and persistent scroll guidance.
   ========================================================= */

/* Keep every line icon visible even when inherited SVG defaults differ. */
.gdd-modal__close svg path,
.gdd-modal .gdd-video-action svg path,
.gdd-modal .gdd-slider-button svg path,
.gdd-modal .gdd-view-more svg path,
.gdd-modal .gdd-modal-footer__button svg path,
.gdd-modal .gdd-services__mark svg path,
.gdd-modal__scroll-cue svg path,
.gdd-video-viewer__close svg path {
    fill: none;
    stroke: currentColor !important;
    vector-effect: non-scaling-stroke;
}

.gdd-modal__close,
.gdd-video-viewer__close,
.gdd-modal .gdd-slider-button {
    box-shadow:
        0 10px 28px rgba(19, 23, 29, .18),
        inset 0 1px rgba(255, 255, 255, .45);
}

.gdd-modal__close svg,
.gdd-video-viewer__close svg,
.gdd-modal .gdd-slider-button svg {
    overflow: visible;
    pointer-events: none;
}

.gdd-modal__close:focus-visible,
.gdd-video-viewer__close:focus-visible,
.gdd-modal .gdd-slider-button:focus-visible,
.gdd-modal__scroll-cue:focus-visible {
    outline: 3px solid rgba(255, 147, 96, .42);
    outline-offset: 3px;
}

/* Floating scroll helper: attached to the modal frame, not page scroll. */
.gdd-modal__scroll {
    padding-bottom: 82px;
}

.gdd-modal__scroll-cue {
    --gdd-scroll-progress: 0deg;
    position: absolute;
    z-index: 96;
    left: 50%;
    bottom: 17px;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    min-height: 52px;
    padding: 7px 8px 7px 17px;
    border: 1px solid rgba(255, 255, 255, .94);
    border-radius: 999px;
    color: var(--gdd-ink);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 245, 239, .88));
    box-shadow:
        0 17px 42px rgba(19, 23, 29, .18),
        0 0 0 1px rgba(227, 103, 51, .10),
        inset 0 1px rgba(255, 255, 255, 1);
    backdrop-filter: blur(18px) saturate(1.16);
    cursor: pointer;
    opacity: 0;
    transform: translate3d(-50%, 18px, 0) scale(.96);
    transition:
        opacity .28s ease,
        transform .45s var(--gdd-ease),
        visibility .28s ease;
}

.gdd-modal.is-open .gdd-modal__scroll-cue {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) scale(1);
    animation: gdd-scroll-cue-breathe 2.8s 1.1s ease-in-out infinite;
}

.gdd-modal__scroll-cue.is-hidden {
    visibility: hidden;
    pointer-events: none;
    opacity: 0 !important;
    transform: translate3d(-50%, 16px, 0) scale(.94) !important;
    animation: none !important;
}

.gdd-modal__scroll-cue-copy {
    display: grid;
    gap: 1px;
    text-align: left;
    white-space: nowrap;
}

.gdd-modal__scroll-cue-copy small {
    color: var(--gdd-orange);
    font-size: .55rem;
    font-weight: 950;
    letter-spacing: .15em;
    line-height: 1;
    text-transform: uppercase;
}

.gdd-modal__scroll-cue-copy strong {
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .025em;
    line-height: 1.2;
}

.gdd-modal__scroll-cue-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    color: var(--gdd-white);
    background: var(--gdd-orange);
    box-shadow: 0 8px 19px rgba(227, 103, 51, .30);
}

.gdd-modal__scroll-cue-icon::before {
    content: "";
    position: absolute;
    inset: -3px;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(
        var(--gdd-orange) var(--gdd-scroll-progress),
        rgba(227, 103, 51, .15) 0
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.gdd-modal__scroll-cue-icon svg {
    width: 19px;
    height: 19px;
    animation: gdd-scroll-cue-arrow 1.55s ease-in-out infinite;
}

@keyframes gdd-scroll-cue-breathe {
    0%, 100% { box-shadow: 0 17px 42px rgba(19, 23, 29, .18), 0 0 0 1px rgba(227, 103, 51, .10); }
    50% { box-shadow: 0 20px 48px rgba(19, 23, 29, .22), 0 0 0 7px rgba(227, 103, 51, .07); }
}

@keyframes gdd-scroll-cue-arrow {
    0%, 100% { transform: translateY(-2px); }
    50% { transform: translateY(3px); }
}

/* Stable, draggable experience carousel. */
.gdd-modal .gdd-activity-slider {
    position: relative;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    outline: none;
}

.gdd-modal .gdd-activity-slider:focus-visible {
    border-radius: 26px;
    box-shadow: 0 0 0 3px rgba(227, 103, 51, .18);
}

.gdd-modal .gdd-activity-slider.is-dragging {
    cursor: grabbing;
}

.gdd-modal .gdd-activity-track.is-dragging,
.gdd-modal .gdd-activity-track.is-jump {
    transition: none !important;
}

.gdd-modal .gdd-activity,
.gdd-modal .gdd-activity__image {
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}

.gdd-modal .gdd-slider-button {
    width: 46px;
    height: 46px;
    border-width: 1.5px;
}

.gdd-modal .gdd-slider-button:not(:disabled) {
    opacity: 1;
}

.gdd-modal .gdd-slider-button:disabled {
    color: rgba(185, 71, 28, .48);
    background: rgba(255, 248, 244, .78);
    opacity: .72;
}

.gdd-modal .gdd-slider-button[data-activity-next]:not(:disabled) {
    color: var(--gdd-white);
    border-color: var(--gdd-orange);
    background: var(--gdd-orange);
}

.gdd-modal .gdd-activity-dot {
    width: 10px;
    height: 10px;
    box-shadow: inset 0 0 0 1px rgba(227, 103, 51, .10);
}

.gdd-modal .gdd-activity-dot.is-active {
    width: 31px;
    box-shadow: 0 5px 13px rgba(227, 103, 51, .21);
}

/* A livelier but still controlled sticker drift. */
.gdd-modal__sticker:not(.is-loaded) {
    opacity: 0 !important;
    animation: none !important;
}

.gdd-modal.is-open .gdd-modal__sticker.is-loaded {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    rotate: var(--sticker-rotation, 0deg);
    animation:
        gdd-sticker-drift var(--sticker-duration, 8s)
        ease-in-out var(--sticker-delay, 0s) infinite alternate;
}

.gdd-modal__sticker--one { --sticker-drift-x: 8px; --sticker-drift-y: 10px; --sticker-return-x: -4px; }
.gdd-modal__sticker--two { --sticker-drift-x: -9px; --sticker-drift-y: 7px; --sticker-return-x: 5px; }
.gdd-modal__sticker--three { --sticker-drift-x: 6px; --sticker-drift-y: -9px; --sticker-return-x: -3px; }
.gdd-modal__sticker--four { --sticker-drift-x: -7px; --sticker-drift-y: -7px; --sticker-return-x: 4px; }

@keyframes gdd-sticker-drift {
    0% {
        translate: 0 -4px;
        rotate: calc(var(--sticker-rotation, 0deg) - 1.8deg);
        filter: drop-shadow(0 14px 17px rgba(62, 31, 18, .16));
    }
    48% {
        translate: var(--sticker-drift-x, 5px) var(--sticker-drift-y, 7px);
        rotate: calc(var(--sticker-rotation, 0deg) + 1.2deg);
        filter: drop-shadow(0 20px 22px rgba(62, 31, 18, .22));
    }
    100% {
        translate: var(--sticker-return-x, -3px) 5px;
        rotate: calc(var(--sticker-rotation, 0deg) - .6deg);
        filter: drop-shadow(0 17px 20px rgba(62, 31, 18, .19));
    }
}

/* Tablet and mobile editorial treatment. */
@media (max-width: 760px) {
    .gdd-modal {
        --gdd-panel-width: calc(100vw - 10px);
    }

    .gdd-modal__backdrop {
        background: rgba(16, 18, 22, .48);
        backdrop-filter: blur(11px) saturate(.9);
    }

    .gdd-modal__panel {
        height: calc(100dvh - 10px);
        margin: 5px;
    }

    .gdd-modal__surface {
        border-color: rgba(255, 255, 255, .96);
        border-radius: 27px;
        box-shadow:
            0 28px 85px rgba(19, 23, 29, .34),
            0 0 0 1px rgba(227, 103, 51, .12),
            0 0 42px rgba(227, 103, 51, .13);
    }

    .gdd-modal__edge {
        top: 86px;
        height: calc(100% - 172px);
        width: 4px;
    }

    .gdd-modal .gdd-hero {
        min-height: 410px;
    }

    .gdd-modal .gdd-hero::before {
        content: "";
        position: absolute;
        z-index: 5;
        right: -82px;
        bottom: -98px;
        width: 240px;
        height: 240px;
        border: 1px solid rgba(255, 255, 255, .16);
        border-radius: 50%;
        background: radial-gradient(circle, rgba(227, 103, 51, .28), transparent 64%);
        pointer-events: none;
    }

    .gdd-modal .gdd-hero__grid {
        opacity: .17;
        background-size: 34px 34px;
    }

    .gdd-modal .gdd-hero__copy {
        left: 21px;
        right: 21px;
        bottom: 47px;
    }

    .gdd-modal .gdd-hero__eyebrow {
        width: fit-content;
        max-width: calc(100% - 20px);
        margin-bottom: 14px;
        padding: 8px 11px;
        border: 1px solid rgba(255, 255, 255, .28);
        border-radius: 999px;
        background: rgba(15, 18, 22, .22);
        backdrop-filter: blur(9px);
        font-size: .61rem;
        letter-spacing: .11em;
    }

    .gdd-modal .gdd-hero__title {
        max-width: 94%;
        font-size: clamp(3.35rem, 16vw, 5.15rem);
        line-height: .82;
        text-shadow: 0 12px 34px rgba(0, 0, 0, .22);
    }

    .gdd-modal .gdd-hero__slogan {
        max-width: 92%;
        margin-top: 15px;
        font-size: 1.04rem;
        line-height: 1.42;
    }

    .gdd-modal .gdd-content {
        z-index: 7;
        margin-top: -22px;
        padding-top: 0;
    }

    .gdd-modal .gdd-services {
        padding: 24px 21px 23px;
        border-color: rgba(227, 103, 51, .24);
        border-radius: 24px;
        background:
            radial-gradient(circle at 98% 0, rgba(227, 103, 51, .15), transparent 10rem),
            linear-gradient(135deg, rgba(255, 255, 255, .985), rgba(255, 240, 232, .94));
        box-shadow:
            0 21px 46px rgba(19, 23, 29, .13),
            inset 0 1px rgba(255, 255, 255, 1);
    }

    .gdd-modal .gdd-services::before {
        content: "";
        position: absolute;
        left: 0;
        top: 22px;
        bottom: 22px;
        width: 4px;
        border-radius: 0 999px 999px 0;
        background: linear-gradient(var(--gdd-orange-light), var(--gdd-orange-dark));
    }

    .gdd-modal .gdd-services h2 {
        font-size: 1.55rem;
    }

    .gdd-modal .gdd-services p {
        font-size: .9rem;
        line-height: 1.66;
    }

    .gdd-modal .gdd-section {
        margin-top: 46px;
    }

    .gdd-modal .gdd-heading {
        margin-bottom: 16px;
    }

    .gdd-modal .gdd-heading h2 {
        font-size: clamp(1.85rem, 8vw, 2.45rem);
    }

    .gdd-modal .gdd-sights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .gdd-modal .gdd-sight,
    .gdd-modal .gdd-sight:nth-child(2) {
        min-height: 205px;
        border-radius: 21px;
        transform: none;
    }

    .gdd-modal .gdd-sight:first-child {
        grid-column: 1 / -1;
        min-height: 300px;
    }

    .gdd-modal .gdd-sight__name {
        left: 14px;
        right: 14px;
        bottom: 14px;
        font-size: 1rem;
    }

    .gdd-modal .gdd-sight:first-child .gdd-sight__name {
        font-size: 1.34rem;
    }

    .gdd-modal .gdd-sights__action {
        margin-top: 23px;
    }

    .gdd-modal .gdd-view-more {
        width: 100%;
    }

    .gdd-modal .gdd-heading--controls {
        align-items: flex-end;
    }

    .gdd-modal .gdd-slider-controls {
        flex: 0 0 auto;
    }

    .gdd-modal .gdd-activity {
        min-height: 325px;
        border-radius: 22px;
    }

    .gdd-modal .gdd-activity__copy strong {
        font-size: 1.08rem;
    }

    .gdd-modal .gdd-modal-footer {
        border-radius: 24px;
        background:
            radial-gradient(circle at 96% 4%, rgba(227, 103, 51, .21), transparent 12rem),
            linear-gradient(145deg, #fff7f1, #ffffff);
    }

    .gdd-modal__scroll-cue {
        bottom: 13px;
        min-height: 49px;
        padding-left: 15px;
    }

    /* Balanced frame decoration: one sticker on either side plus a low accent. */
    .gdd-modal__sticker {
        width: 75px;
        max-height: 94px;
    }

    .gdd-modal__sticker--one {
        top: 92px;
        left: -3px;
    }

    .gdd-modal__sticker--two {
        top: 300px;
        right: -3px;
    }

    .gdd-modal__sticker--three {
        left: -3px;
        bottom: 103px;
    }

    .gdd-modal__sticker--four {
        display: none !important;
    }
}

@media (max-width: 620px) {
    .gdd-modal .gdd-activity {
        flex-basis: calc(100% - 34px);
        min-height: 350px;
    }

    .gdd-modal .gdd-activity-track {
        gap: 11px;
    }
}

@media (max-width: 500px) {
    .gdd-modal .gdd-content {
        padding-inline: 12px;
    }

    .gdd-modal .gdd-hero {
        min-height: 395px;
    }

    .gdd-modal .gdd-video-actions {
        top: 13px;
        left: 13px;
    }

    .gdd-modal .gdd-video-action {
        min-height: 40px;
        padding-inline: 12px;
        background: rgba(18, 21, 25, .50);
    }

    .gdd-modal__close {
        top: 13px;
        right: 13px;
        width: 43px;
        height: 43px;
        color: var(--gdd-orange-dark);
        border-color: rgba(255, 255, 255, .96);
        background: rgba(255, 255, 255, .94);
    }

    .gdd-modal__close:hover,
    .gdd-modal__close:focus-visible {
        color: var(--gdd-white);
        background: var(--gdd-orange);
    }

    .gdd-modal .gdd-hero__copy {
        left: 18px;
        right: 18px;
        bottom: 45px;
    }

    .gdd-modal .gdd-hero__title {
        max-width: 100%;
        font-size: clamp(3.18rem, 17.5vw, 4.65rem);
    }

    .gdd-modal .gdd-hero__slogan {
        max-width: 96%;
        font-size: .98rem;
    }

    .gdd-modal .gdd-services {
        padding: 22px 18px 21px;
    }

    .gdd-modal .gdd-section-label {
        font-size: .61rem;
        letter-spacing: .13em;
    }

    .gdd-modal .gdd-heading h2 {
        font-size: 1.84rem;
    }

    .gdd-modal .gdd-sight:first-child {
        min-height: 276px;
    }

    .gdd-modal .gdd-sight,
    .gdd-modal .gdd-sight:nth-child(2) {
        min-height: 180px;
    }

    .gdd-modal .gdd-sight__number {
        top: 11px;
        left: 11px;
        width: 31px;
        height: 31px;
    }

    .gdd-modal .gdd-slider-controls {
        gap: 6px;
    }

    .gdd-modal .gdd-slider-button {
        width: 43px;
        height: 43px;
    }

    .gdd-modal .gdd-activity {
        flex-basis: calc(100% - 31px);
        min-height: 342px;
    }

    .gdd-modal .gdd-activity-dots {
        margin-top: 15px;
    }

    .gdd-modal__scroll-cue-copy small {
        display: none;
    }

    .gdd-modal__scroll-cue-copy strong {
        font-size: .68rem;
    }

    .gdd-modal__scroll-cue {
        min-height: 47px;
        padding: 6px 7px 6px 14px;
    }

    .gdd-modal__scroll-cue-icon {
        width: 35px;
        height: 35px;
        flex-basis: 35px;
    }

    .gdd-modal__sticker {
        display: block !important;
        width: 64px;
        max-height: 80px;
    }

    .gdd-modal__sticker--one {
        top: 86px;
        left: -2px;
    }

    .gdd-modal__sticker--two {
        top: 294px;
        right: -2px;
        width: 69px;
    }

    .gdd-modal__sticker--three {
        left: -2px;
        bottom: 92px;
        width: 58px;
    }

    .gdd-modal__sticker--four {
        display: none !important;
    }
}

@media (max-width: 380px) {
    .gdd-modal__sticker--three {
        display: none !important;
    }

    .gdd-modal__scroll-cue {
        max-width: calc(100% - 28px);
    }
}

@supports not (translate: 1px) {
    .gdd-modal.is-open .gdd-modal__sticker.is-loaded {
        animation: gdd-sticker-drift-fallback var(--sticker-duration, 8s)
        ease-in-out var(--sticker-delay, 0s) infinite alternate;
    }

    @keyframes gdd-sticker-drift-fallback {
        from {
            transform: translate3d(0, -4px, 0) scale(1)
            rotate(var(--sticker-rotation, 0deg));
        }
        to {
            transform: translate3d(var(--sticker-drift-x, 5px), var(--sticker-drift-y, 7px), 0)
            scale(1.015) rotate(var(--sticker-rotation, 0deg));
        }
    }
}
