.dc-ghc {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    line-height: 1.2;
}

.dc-ghc,
.dc-ghc *,
.dc-ghc *::before,
.dc-ghc *::after {
    box-sizing: border-box;
}

.dc-ghc__media {
    position: relative;
    z-index: 0;
    width: 100%;
    aspect-ratio: var(--dc-ghc-desktop-ratio, 16 / 9);
    background: var(--dc-ghc-hero-bg, #0b0b0b);
    overflow: hidden;
}

.dc-ghc__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--dc-ghc-overlay-color, #000);
    opacity: var(--dc-ghc-overlay-opacity-desktop, 0);
    pointer-events: none;
}

.dc-ghc__picture,
.dc-ghc__image {
    display: block;
    width: 100%;
    height: 100%;
}

.dc-ghc__image {
    object-fit: cover;
    object-position: var(--dc-ghc-hero-x-desktop, 50%) var(--dc-ghc-hero-y-desktop, 50%);
    image-rendering: auto;
    backface-visibility: hidden;
}

.dc-ghc__logo {
    position: absolute;
    z-index: 4;
    left: var(--dc-ghc-logo-x-desktop, 50%);
    top: var(--dc-ghc-logo-top-desktop, 12%);
    width: min(calc(100% - 24px), var(--dc-ghc-logo-width-desktop, 160px));
    transform: translate(-50%, -50%);
    display: block;
    margin: 0;
    padding: 0;
    text-decoration: none !important;
}

.dc-ghc__logo-picture,
.dc-ghc__logo img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.dc-ghc__cta {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: var(--dc-ghc-desktop-top, 49%);
    width: min(calc(100% - 20px), var(--dc-ghc-desktop-max, 880px));
    transform: translate(-50%, -50%);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--dc-ghc-column-gap-desktop, 50px);
    row-gap: var(--dc-ghc-row-gap-desktop, 4px);
    margin: 0;
    padding: 0;
}

.dc-ghc__button,
.dc-ghc__button:visited {
    position: relative;
    display: block;
    width: calc(100% * var(--dc-ghc-button-scale-desktop, 1));
    justify-self: center;
    aspect-ratio: 662 / 179;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--dc-ghc-text, #FEEA9D) !important;
    text-decoration: none !important;
    overflow: visible;
    transform: translateZ(0);
    transition: transform .2s ease, filter .2s ease;
    font-family: var(--dc-ghc-font-family, "Be Vietnam Pro", Arial, sans-serif);
    font-weight: var(--dc-ghc-font-weight, 800);
    line-height: var(--dc-ghc-line-height, 1.1);
}

.dc-ghc__button:hover,
.dc-ghc__button:focus-visible {
    color: var(--dc-ghc-text, #FEEA9D) !important;
    text-decoration: none !important;
    transform: scale(var(--dc-ghc-button-hover, 1.02)) translateZ(0);
    filter: brightness(1.04);
}

.dc-ghc__button:focus-visible {
    outline: 2px solid rgba(255,255,255,.9);
    outline-offset: 2px;
}


.dc-ghc__button.is-disabled {
    cursor: default;
}

.dc-ghc__button.is-disabled:hover,
.dc-ghc__button.is-disabled:focus-visible {
    transform: translateZ(0);
    filter: none;
    outline: 0;
}

.dc-ghc__button-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none !important;
    object-fit: contain;
    object-position: center;
    margin: 0;
    padding: 0;
    border: 0;
    pointer-events: none;
    user-select: none;
}

.dc-ghc__label {
    position: absolute;
    z-index: 2;
    top: calc(50% + var(--dc-ghc-text-y-desktop, 0px));
    width: var(--dc-ghc-text-width-desktop, 72%);
    transform: translate(-50%, -50%);
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: .28em;
    margin: 0;
    padding: 0;
    color: inherit;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
    pointer-events: none;
}

.dc-ghc__button--left .dc-ghc__label {
    left: calc(50% + var(--dc-ghc-text-shift-desktop, 4%));
}

.dc-ghc__button--right .dc-ghc__label {
    left: calc(50% - var(--dc-ghc-text-shift-desktop, 4%));
}

.dc-ghc__button--1 .dc-ghc__label,
.dc-ghc__button--2 .dc-ghc__label {
    font-size: var(--dc-ghc-font-desktop, 30px);
}

.dc-ghc__button--3 .dc-ghc__label,
.dc-ghc__button--4 .dc-ghc__label {
    font-size: var(--dc-ghc-guide-font-desktop, 16px);
}

.dc-ghc__label-main,
.dc-ghc__label-accent {
    display: inline;
    color: inherit;
}

.dc-ghc__label-accent {
    color: var(--dc-ghc-accent, #FEEA9D);
}

.dc-ghc__extra-icon {
    position: absolute;
    z-index: 1;
    top: 50%;
    width: var(--dc-ghc-icon-desktop, 0px);
    height: var(--dc-ghc-icon-desktop, 0px);
    object-fit: contain;
    transform: translateY(-50%);
    pointer-events: none;
}

.dc-ghc__button--left .dc-ghc__extra-icon { left: 2%; }
.dc-ghc__button--right .dc-ghc__extra-icon { right: 2%; }

.dc-ghc__button.no-button-image {
    background: linear-gradient(180deg, var(--dc-ghc-btn-1, #a70000), var(--dc-ghc-btn-2, #650000)) !important;
    border: 1px solid var(--dc-ghc-border, #f0c45b) !important;
    border-radius: 10px !important;
}

@media (min-width: 801px) and (max-width: 1024px) {
    .dc-ghc__media {
        aspect-ratio: var(--dc-ghc-tablet-ratio, 4 / 3);
    }

    .dc-ghc__media::after {
        opacity: var(--dc-ghc-overlay-opacity-tablet, 0);
    }

    .dc-ghc__image {
        object-position: var(--dc-ghc-hero-x-tablet, 50%) var(--dc-ghc-hero-y-tablet, 50%);
    }

    .dc-ghc__logo {
        left: var(--dc-ghc-logo-x-tablet, 50%);
        top: var(--dc-ghc-logo-top-tablet, 10%);
        width: min(calc(100% - 24px), var(--dc-ghc-logo-width-tablet, 140px));
    }

    .dc-ghc__cta {
        top: var(--dc-ghc-tablet-top, 50%);
        width: min(calc(100% - 20px), var(--dc-ghc-tablet-max, 760px));
        column-gap: var(--dc-ghc-column-gap-tablet, 30px);
        row-gap: var(--dc-ghc-row-gap-tablet, 4px);
    }

    .dc-ghc__button,
    .dc-ghc__button:visited {
        width: calc(100% * var(--dc-ghc-button-scale-tablet, 1));
    }

    .dc-ghc__label {
        top: calc(50% + var(--dc-ghc-text-y-tablet, 0px));
        width: var(--dc-ghc-text-width-tablet, 72%);
    }

    .dc-ghc__button--left .dc-ghc__label {
        left: calc(50% + var(--dc-ghc-text-shift-tablet, 4%));
    }

    .dc-ghc__button--right .dc-ghc__label {
        left: calc(50% - var(--dc-ghc-text-shift-tablet, 4%));
    }

    .dc-ghc__button--1 .dc-ghc__label,
    .dc-ghc__button--2 .dc-ghc__label {
        font-size: var(--dc-ghc-font-tablet, 23px);
    }

    .dc-ghc__button--3 .dc-ghc__label,
    .dc-ghc__button--4 .dc-ghc__label {
        font-size: var(--dc-ghc-guide-font-tablet, 15px);
    }

    .dc-ghc__extra-icon {
        width: var(--dc-ghc-icon-tablet, 0px);
        height: var(--dc-ghc-icon-tablet, 0px);
    }
}

@media (max-width: 800px) {
    .dc-ghc__media {
        aspect-ratio: var(--dc-ghc-mobile-ratio, 9 / 16);
    }

    .dc-ghc__media::after {
        opacity: var(--dc-ghc-overlay-opacity-mobile, 0);
    }

    .dc-ghc__image {
        object-position: var(--dc-ghc-hero-x-mobile, 50%) var(--dc-ghc-hero-y-mobile, 50%);
    }

    .dc-ghc__logo {
        left: var(--dc-ghc-logo-x-mobile, 50%);
        top: var(--dc-ghc-logo-top-mobile, 8%);
        width: min(calc(100% - 20px), var(--dc-ghc-logo-width-mobile, 120px));
    }

    .dc-ghc__cta {
        top: var(--dc-ghc-mobile-top, 260px);
        width: min(calc(100% - 16px), var(--dc-ghc-mobile-max, 360px));
        transform: translateX(-50%);
        grid-template-columns: 1fr;
        column-gap: var(--dc-ghc-column-gap-mobile, 0px);
        row-gap: var(--dc-ghc-row-gap-mobile, 6px);
    }

    .dc-ghc__button,
    .dc-ghc__button:visited {
        width: calc(100% * var(--dc-ghc-button-scale-mobile, 1));
    }

    .dc-ghc__label {
        top: calc(50% + var(--dc-ghc-text-y-mobile, 0px));
        width: var(--dc-ghc-text-width-mobile, 72%);
    }

    .dc-ghc__button--left .dc-ghc__label {
        left: calc(50% + var(--dc-ghc-text-shift-mobile, 4%));
    }

    .dc-ghc__button--right .dc-ghc__label {
        left: calc(50% - var(--dc-ghc-text-shift-mobile, 4%));
    }

    .dc-ghc__button--1 .dc-ghc__label,
    .dc-ghc__button--2 .dc-ghc__label {
        font-size: var(--dc-ghc-font-mobile, 20px);
    }

    .dc-ghc__button--3 .dc-ghc__label,
    .dc-ghc__button--4 .dc-ghc__label {
        font-size: var(--dc-ghc-guide-font-mobile, 18px);
    }

    .dc-ghc__extra-icon {
        width: var(--dc-ghc-icon-mobile, 0px);
        height: var(--dc-ghc-icon-mobile, 0px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dc-ghc__button {
        transition: none;
    }
}

/* DC Canvas Gutenberg */
.dc-canvas-page {
    margin: 0 !important;
    padding: 0 !important;
}

.dc-canvas-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.dc-canvas-main > * {
    margin-top: 0;
    margin-bottom: 0;
}


/* DC Integrated Floating Social */
.dc-gfs {
    position: fixed;
    right: var(--dc-gfs-offset-desktop, 15px);
    bottom: var(--dc-gfs-bottom-desktop, 180px);
    z-index: var(--dc-gfs-z, 9999);
    display: flex;
    flex-direction: column;
    gap: var(--dc-gfs-gap-desktop, 12px);
    width: max-content;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.dc-gfs--d-left {
    left: var(--dc-gfs-offset-desktop, 15px);
    right: auto;
}

.dc-gfs--d-right {
    right: var(--dc-gfs-offset-desktop, 15px);
    left: auto;
}

.dc-gfs__item,
.dc-gfs__item:visited {
    width: var(--dc-gfs-size-desktop, 50px);
    height: var(--dc-gfs-size-desktop, 50px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: var(--dc-gfs-border-width, 0px) solid var(--dc-gfs-border, #fff);
    border-radius: var(--dc-gfs-radius, 50%);
    background: var(--dc-gfs-bg, #fff);
    color: inherit;
    text-decoration: none !important;
    box-shadow: 0 var(--dc-gfs-shadow-y, 4px) var(--dc-gfs-shadow-blur, 12px) rgba(0, 0, 0, var(--dc-gfs-shadow-opacity, .2));
    overflow: hidden;
    pointer-events: auto;
    transform: translateZ(0);
    transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}

.dc-gfs__item:hover,
.dc-gfs__item:focus-visible {
    transform: scale(var(--dc-gfs-hover-scale, 1.1)) translateZ(0);
    text-decoration: none !important;
}

.dc-gfs__item:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.dc-gfs__icon {
    display: block;
    width: var(--dc-gfs-icon-desktop, 28px);
    height: var(--dc-gfs-icon-desktop, 28px);
    max-width: none;
    object-fit: contain;
    margin: 0;
    padding: 0;
    border: 0;
}

.dc-gfs__fallback {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font: 700 18px/1 sans-serif;
}

@media (min-width: 1025px) {
    .dc-gfs--hide-desktop { display: none !important; }
}

@media (min-width: 801px) and (max-width: 1024px) {
    .dc-gfs {
        bottom: var(--dc-gfs-bottom-tablet, 170px);
        gap: var(--dc-gfs-gap-tablet, 12px);
    }

    .dc-gfs--t-left {
        left: var(--dc-gfs-offset-tablet, 12px);
        right: auto;
    }

    .dc-gfs--t-right {
        right: var(--dc-gfs-offset-tablet, 12px);
        left: auto;
    }

    .dc-gfs__item,
    .dc-gfs__item:visited {
        width: var(--dc-gfs-size-tablet, 48px);
        height: var(--dc-gfs-size-tablet, 48px);
    }

    .dc-gfs__icon {
        width: var(--dc-gfs-icon-tablet, 26px);
        height: var(--dc-gfs-icon-tablet, 26px);
    }

    .dc-gfs--hide-tablet { display: none !important; }
}

@media (max-width: 800px) {
    .dc-gfs {
        bottom: var(--dc-gfs-bottom-mobile, 160px);
        gap: var(--dc-gfs-gap-mobile, 12px);
    }

    .dc-gfs--m-left {
        left: var(--dc-gfs-offset-mobile, 10px);
        right: auto;
    }

    .dc-gfs--m-right {
        right: var(--dc-gfs-offset-mobile, 10px);
        left: auto;
    }

    .dc-gfs__item,
    .dc-gfs__item:visited {
        width: var(--dc-gfs-size-mobile, 45px);
        height: var(--dc-gfs-size-mobile, 45px);
    }

    .dc-gfs__icon {
        width: var(--dc-gfs-icon-mobile, 24px);
        height: var(--dc-gfs-icon-mobile, 24px);
    }

    .dc-gfs--hide-mobile { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .dc-gfs__item { transition: none; }
}


/* v1.6.1 - integrated float hardening */
.dc-gfs.dc-gfs--embedded {
    position: fixed !important;
    isolation: isolate;
    contain: layout style;
}

.dc-gfs__item.is-disabled {
    cursor: default;
    pointer-events: none;
}
