:root {
    --gwm-black: #070707;
    --gwm-charcoal: #111111;
    --gwm-ivory: #f8f1df;
    --gwm-muted: #c7bea9;
    --gwm-gold: #d4af37;
    --gwm-deep-gold: #9c7423;
    --gwm-glass: rgba(10, 10, 10, 0.56);
    --gwm-border: rgba(255, 255, 255, 0.14);
    --gwm-radius: 5px;
}

html,
body.gwm-gateway-body {
    margin: 0 !important;
    width: 100%;
    min-height: 100%;
    background: var(--gwm-black);
    overflow-x: hidden;
}

body.gwm-gateway-body {
    color: var(--gwm-ivory);
}

.gwm-cinematic-gateway,
.gwm-cinematic-gateway * {
    box-sizing: border-box;
}

.gwm-cinematic-gateway {
    position: relative;
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    background: var(--gwm-black);
    color: var(--gwm-ivory);
    font-family: Manrope, Inter, "Segoe UI", Arial, sans-serif;
    isolation: isolate;
}

.gwm-gateway-hero {
    position: relative;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    gap: clamp(0.85rem, 1.4vw, 1.2rem);
    padding: clamp(1.1rem, 2.5vw, 2rem) clamp(1rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.6rem);
    overflow: hidden;
}

.gwm-gateway-slides,
.gwm-gateway-slide,
.gwm-gateway-gradient,
.gwm-gateway-vignette,
.gwm-gateway-gold-glow,
.gwm-gateway-light-beam,
.gwm-gateway-noise,
.gwm-gateway-rings {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.gwm-gateway-slide {
    z-index: -8;
    opacity: 0;
    background-size: cover;
    transform: scale(1.02);
    transition: opacity 800ms ease, transform 4500ms ease;
}

.gwm-gateway-slide.is-active {
    opacity: 1;
    transform: scale(1.08);
}

.gwm-gateway-gradient {
    z-index: -7;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.58) 42%, rgba(0,0,0,0.3) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.38) 0%, rgba(0,0,0,0.16) 45%, rgba(0,0,0,0.74) 100%);
}

.gwm-gateway-vignette {
    z-index: -6;
    box-shadow: inset 0 0 170px rgba(0,0,0,0.78);
}

.gwm-gateway-gold-glow {
    z-index: -5;
    background:
        radial-gradient(circle at 38% 40%, rgba(212,175,55,0.25), transparent 36%),
        radial-gradient(circle at 72% 18%, rgba(212,175,55,0.12), transparent 28%);
}

.gwm-gateway-light-beam {
    z-index: -4;
    opacity: 0.32;
    background: linear-gradient(112deg, transparent 0%, rgba(255,255,255,0.16) 42%, transparent 57%);
    transform: translateX(-28%) skewX(-18deg);
    animation: gwmBeamDrift 7600ms ease-in-out infinite alternate;
}

.gwm-gateway-noise {
    z-index: -2;
    opacity: 0.045;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.8) 0 1px, transparent 1px),
        radial-gradient(circle at 78% 60%, rgba(255,255,255,0.5) 0 1px, transparent 1px);
    background-size: 7px 7px, 11px 11px;
    mix-blend-mode: screen;
}

.gwm-gateway-rings {
    z-index: -3;
    inset: -18%;
    opacity: 0.18;
    background:
        radial-gradient(circle, transparent 0 48%, rgba(212,175,55,0.28) 49%, transparent 50%),
        radial-gradient(circle, transparent 0 63%, rgba(255,255,255,0.12) 64%, transparent 65%);
    animation: gwmRingSlow 34s linear infinite;
}

.gwm-gateway-header {
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.gwm-gateway-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: var(--gwm-ivory);
    text-decoration: none;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: clamp(0.74rem, 0.95vw, 0.92rem);
}

.gwm-gateway-brand img {
    width: clamp(46px, 5vw, 66px);
    height: clamp(46px, 5vw, 66px);
    object-fit: contain;
    filter: drop-shadow(0 0 22px rgba(212,175,55,0.25));
}

.gwm-gateway-church-link,
.gwm-gateway-primary-cta,
.gwm-card-cta,
.gwm-modal-return {
    min-height: 44px;
    border-radius: var(--gwm-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(212,175,55,0.48);
    background: rgba(212,175,55,0.94);
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-weight: 900;
    font-size: clamp(0.78rem, 0.85vw, 0.95rem);
}

.gwm-gateway-church-link {
    padding: 0 1.05rem;
    background: rgba(10,10,10,0.38);
    color: var(--gwm-ivory);
    backdrop-filter: blur(14px);
}

.gwm-gateway-content {
    z-index: 5;
    align-self: center;
    max-width: 820px;
    padding-left: clamp(0rem, 2vw, 2rem);
}

.gwm-gateway-label {
    margin: 0 0 0.8rem;
    color: var(--gwm-gold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: clamp(0.72rem, 0.7vw, 0.88rem);
    font-weight: 900;
}

.gwm-gateway-title {
    max-width: 860px;
    margin: 0;
    color: var(--gwm-ivory);
    font-family: Cinzel, "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.8rem, 6vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: -0.03em;
    text-wrap: balance;
    text-shadow: 0 28px 95px rgba(0,0,0,0.65), 0 0 34px rgba(212,175,55,0.16);
}

.gwm-gateway-support {
    max-width: 720px;
    margin: 1.05rem 0 0;
    color: rgba(248,241,223,0.88);
    font-size: clamp(1rem, 1.25vw, 1.35rem);
    line-height: 1.55;
}

.gwm-gateway-primary-cta {
    margin-top: 1.25rem;
    padding: 0 1.25rem;
}

.gwm-gateway-content.is-changing .gwm-gateway-label,
.gwm-gateway-content.is-changing .gwm-gateway-title,
.gwm-gateway-content.is-changing .gwm-gateway-support,
.gwm-gateway-content.is-changing .gwm-gateway-primary-cta {
    opacity: 0;
    transform: translateY(8px);
}

.gwm-gateway-label,
.gwm-gateway-title,
.gwm-gateway-support,
.gwm-gateway-primary-cta {
    transition: opacity 420ms ease, transform 420ms ease;
}

.gwm-gateway-cards {
    z-index: 5;
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.85rem, 1.6vw, 1.4rem);
    align-self: end;
}

.gwm-gateway-card {
    position: relative;
    min-height: 150px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.95rem;
    align-items: start;
    padding: clamp(1rem, 1.8vw, 1.5rem);
    border-radius: var(--gwm-radius);
    border: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)),
        var(--gwm-glass);
    color: var(--gwm-ivory);
    text-decoration: none;
    box-shadow: 0 24px 70px rgba(0,0,0,0.38);
    backdrop-filter: blur(18px);
    transition: transform 240ms ease, border-color 240ms ease, background 240ms ease;
}

.gwm-gateway-card:hover,
.gwm-gateway-card:focus-visible,
.gwm-gateway-card.is-awake {
    transform: translateY(-5px);
    border-color: rgba(212,175,55,0.58);
    outline: none;
}

.gwm-card-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: var(--gwm-radius);
    border: 1px solid rgba(212,175,55,0.42);
    color: var(--gwm-gold);
    background: rgba(212,175,55,0.1);
}

.gwm-card-text {
    min-width: 0;
    display: grid;
    gap: 0.32rem;
}

.gwm-card-status {
    color: var(--gwm-gold);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.72rem;
    font-weight: 900;
}

.gwm-card-title {
    color: var(--gwm-ivory);
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(1.05rem, 1.2vw, 1.35rem);
    line-height: 1.15;
}

.gwm-card-subtitle {
    color: rgba(248,241,223,0.75);
    font-size: clamp(0.82rem, 0.95vw, 1rem);
    line-height: 1.45;
}

.gwm-card-cta {
    grid-column: 1 / -1;
    width: fit-content;
    min-height: 38px;
    padding: 0 0.9rem;
    font-size: 0.72rem;
}

.gwm-gateway-footerline {
    z-index: 5;
    margin: 0;
    text-align: center;
    color: rgba(248,241,223,0.68);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 700;
}

.gwm-coming-soon-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.gwm-coming-soon-modal.is-open {
    display: flex;
}

.gwm-coming-soon-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.72);
    backdrop-filter: blur(8px);
}

.gwm-coming-soon-panel {
    position: relative;
    width: min(540px, 100%);
    padding: clamp(1.25rem, 4vw, 2rem);
    border-radius: var(--gwm-radius);
    border: 1px solid rgba(212,175,55,0.32);
    background:
        radial-gradient(circle at 20% 0%, rgba(212,175,55,0.16), transparent 38%),
        rgba(10,10,10,0.92);
    color: var(--gwm-ivory);
    box-shadow: 0 34px 110px rgba(0,0,0,0.62);
}

.gwm-modal-close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 42px;
    height: 42px;
    border-radius: var(--gwm-radius);
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.08);
    color: var(--gwm-ivory);
    font-size: 1.5rem;
    cursor: pointer;
}

.gwm-modal-kicker {
    color: var(--gwm-gold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.75rem;
    font-weight: 900;
}

.gwm-coming-soon-panel h2 {
    margin: 0.65rem 0;
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(1.7rem, 4vw, 2.6rem);
    line-height: 1.05;
}

.gwm-coming-soon-panel p {
    color: rgba(248,241,223,0.78);
    line-height: 1.65;
}

.gwm-modal-return {
    margin-top: 0.8rem;
    padding: 0 1rem;
    border: 0;
    cursor: pointer;
}

body.gwm-modal-lock {
    overflow: hidden !important;
}

@keyframes gwmBeamDrift {
    from { transform: translateX(-38%) skewX(-18deg); opacity: 0.2; }
    to { transform: translateX(34%) skewX(-18deg); opacity: 0.38; }
}

@keyframes gwmRingSlow {
    from { transform: rotate(0deg) scale(1); }
    to { transform: rotate(360deg) scale(1.04); }
}

@media (max-width: 1023px) {
    body.gwm-gateway-body {
        overflow-y: auto;
    }

    .gwm-cinematic-gateway {
        overflow: visible;
    }

    .gwm-gateway-hero {
        min-height: 100vh;
        overflow: visible;
    }

    .gwm-gateway-content {
        text-align: center;
        margin: 0 auto;
        padding-left: 0;
    }

    .gwm-gateway-title {
        font-size: clamp(2rem, 11vw, 3.2rem);
    }

    .gwm-gateway-support {
        font-size: clamp(0.9rem, 4vw, 1.05rem);
        margin-left: auto;
        margin-right: auto;
    }

    .gwm-gateway-cards {
        grid-template-columns: 1fr;
    }

    .gwm-gateway-card {
        min-height: 132px;
    }
}

@media (max-width: 620px) {
    .gwm-gateway-header {
        align-items: flex-start;
    }

    .gwm-gateway-brand span {
        display: none;
    }

    .gwm-gateway-church-link {
        min-height: 40px;
        font-size: 0.72rem;
    }

    .gwm-gateway-hero {
        padding: 0.9rem 0.9rem 1.1rem;
        gap: 0.9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gwm-gateway-slide,
    .gwm-gateway-light-beam,
    .gwm-gateway-rings,
    .gwm-gateway-card,
    .gwm-gateway-label,
    .gwm-gateway-title,
    .gwm-gateway-support,
    .gwm-gateway-primary-cta {
        animation: none !important;
        transition: none !important;
    }

    .gwm-gateway-slide.is-active {
        transform: none;
    }
}


/* GWM Cinematic Gateway — Mobile card containment fix
   Purpose: stop navigation cards from covering the whole screen on smaller devices.
*/

@media (max-width: 1023px) {
    .gwm-gateway-hero {
        grid-template-rows: auto auto minmax(0, 1fr) auto auto;
        min-height: 100vh;
        gap: 0.75rem;
    }

    .gwm-gateway-content {
        align-self: center;
        max-width: 680px;
        padding-top: 1rem;
        padding-bottom: 0.5rem;
    }

    .gwm-gateway-cards {
        width: min(680px, 100%);
        margin: 0 auto;
        grid-template-columns: 1fr;
        gap: 0.55rem;
        align-self: end;
    }

    .gwm-gateway-card {
        min-height: auto;
        grid-template-columns: 36px 1fr auto;
        align-items: center;
        gap: 0.75rem;
        padding: 0.75rem 0.85rem;
    }

    .gwm-card-icon {
        width: 36px;
        height: 36px;
    }

    .gwm-card-text {
        gap: 0.15rem;
    }

    .gwm-card-status {
        font-size: 0.62rem;
        letter-spacing: 0.12em;
    }

    .gwm-card-title {
        font-size: 1rem;
        line-height: 1.1;
    }

    .gwm-card-subtitle {
        font-size: 0.78rem;
        line-height: 1.25;
    }

    .gwm-card-cta {
        grid-column: auto;
        width: auto;
        min-height: 32px;
        padding: 0 0.65rem;
        font-size: 0.62rem;
        white-space: nowrap;
    }
}

@media (max-width: 620px) {
    .gwm-gateway-cards {
        gap: 0.45rem;
    }

    .gwm-gateway-card {
        grid-template-columns: 32px 1fr;
        padding: 0.68rem 0.75rem;
    }

    .gwm-card-icon {
        width: 32px;
        height: 32px;
    }

    .gwm-card-cta {
        grid-column: 2;
        justify-self: start;
        min-height: 28px;
        margin-top: 0.25rem;
        padding: 0 0.55rem;
        font-size: 0.58rem;
    }

    .gwm-card-subtitle {
        display: none;
    }
}

@media (max-width: 420px) {
    .gwm-gateway-card {
        padding: 0.58rem 0.65rem;
    }

    .gwm-card-status {
        display: none;
    }

    .gwm-card-title {
        font-size: 0.95rem;
    }
}

/* ============================================================
   GWM Cinematic Gateway Polish Patch
   Purpose:
   - Larger/professional logo treatment
   - Brighter background slides
   - Slower, smoother slide motion
   - Top slide handles, dots, and counter
   ============================================================ */

.gwm-gateway-brand {
    padding: 0.55rem 0.8rem;
    border: 1px solid rgba(212, 175, 55, 0.26);
    border-radius: var(--gwm-radius);
    background: rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.32);
}

.gwm-gateway-brand img {
    width: clamp(82px, 8vw, 128px);
    height: clamp(82px, 8vw, 128px);
    object-fit: contain;
    mix-blend-mode: multiply;
    filter:
        contrast(1.08)
        saturate(1.08)
        drop-shadow(0 0 24px rgba(212,175,55,0.24));
}

@supports not (mix-blend-mode: multiply) {
    .gwm-gateway-brand img {
        mix-blend-mode: normal;
    }
}

.gwm-gateway-gradient {
    background:
        linear-gradient(90deg, rgba(0,0,0,0.58) 0%, rgba(0,0,0,0.34) 42%, rgba(0,0,0,0.16) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.06) 48%, rgba(0,0,0,0.50) 100%);
}

.gwm-gateway-vignette {
    box-shadow: inset 0 0 130px rgba(0,0,0,0.48);
}

.gwm-gateway-slide {
    filter: brightness(1.08) contrast(1.06) saturate(1.08);
    transform: scale(1.015);
    transition: opacity 1000ms ease, transform 9000ms ease;
}

.gwm-gateway-slide.is-active {
    transform: scale(1.055);
}

.gwm-gateway-slide-controls {
    z-index: 6;
    position: absolute;
    top: clamp(5.8rem, 8vw, 7.6rem);
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid rgba(212, 175, 55, 0.26);
    border-radius: var(--gwm-radius);
    background: rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.28);
}

.gwm-slide-handle {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(212, 175, 55, 0.34);
    border-radius: var(--gwm-radius);
    background: rgba(255, 255, 255, 0.06);
    color: var(--gwm-ivory);
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}

.gwm-slide-handle:hover,
.gwm-slide-handle:focus-visible {
    background: rgba(212, 175, 55, 0.92);
    color: #080808;
    border-color: rgba(212, 175, 55, 0.92);
    outline: none;
}

.gwm-slide-dots {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.gwm-slide-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 1px solid rgba(248, 241, 223, 0.58);
    border-radius: 999px;
    background: rgba(248, 241, 223, 0.22);
    cursor: pointer;
    transition: width 180ms ease, background 180ms ease, border-color 180ms ease;
}

.gwm-slide-dot.is-active {
    width: 28px;
    background: rgba(212, 175, 55, 0.95);
    border-color: rgba(212, 175, 55, 0.95);
}

.gwm-slide-counter {
    min-width: 58px;
    display: inline-flex;
    justify-content: center;
    gap: 0.2rem;
    color: rgba(248, 241, 223, 0.84);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

@media (max-width: 720px) {
    .gwm-gateway-slide-controls {
        top: 5rem;
        gap: 0.45rem;
        padding: 0.42rem;
    }

    .gwm-slide-handle {
        width: 34px;
        height: 34px;
    }

    .gwm-slide-counter {
        min-width: 48px;
        font-size: 0.68rem;
    }
}




/* ============================================================
   GWM FINAL IMAGE-FIRST GATEWAY OVERRIDE
   Demand lock:
   - No logo / no God’s Will Mission title header / no header card
   - No arrows / no counter
   - Dots only
   - ZERO full-screen overlay effect
   - No content background card
   - Archbishop head visible
   - Background images zoom out slowly from centre
   - Different elegant message animations per slide
   ============================================================ */

/* Remove top brand/header/title card and footer brand line */
.gwm-gateway-header,
.gwm-gateway-brand,
.gwm-gateway-church-link,
.gwm-gateway-footerline {
    display: none !important;
}

/* Zero overlay means zero cinematic cover layers */
.gwm-gateway-gradient,
.gwm-gateway-vignette,
.gwm-gateway-gold-glow,
.gwm-gateway-light-beam,
.gwm-gateway-noise,
.gwm-gateway-rings {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
}

/* Full viewport, image-first stage */
html,
body.gwm-gateway-body {
    margin: 0 !important;
    padding: 0 !important;
    background: #000 !important;
    overflow-x: hidden !important;
}

body.gwm-gateway-body {
    overflow-y: hidden !important;
}

.gwm-cinematic-gateway {
    min-height: 100vh !important;
    width: 100vw !important;
    background: #000 !important;
    overflow: hidden !important;
}

.gwm-gateway-hero {
    min-height: 100vh !important;
    width: 100vw !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: clamp(3.2rem, 6vw, 5rem) clamp(1rem, 5vw, 4rem) clamp(1.2rem, 3vw, 2rem) !important;
    overflow: hidden !important;
}

/* Bright, visible background images */
.gwm-gateway-slide {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    filter: none !important;
    opacity: 0 !important;
    transform: scale(1.14) !important;
    transform-origin: center center !important;
    transition: opacity 1300ms ease !important;
    animation: none !important;
    will-change: transform, opacity !important;
}

/* Real slow zoom-out from centre while active */
.gwm-gateway-slide.is-active {
    opacity: 1 !important;
    animation: gwmFinalSlowZoomOut 12000ms ease-out forwards !important;
}

/* Keep Archbishop’s head in frame */
.gwm-gateway-slide[data-gwm-slide="0"] {
 background-position: 80% !important;
}

/* Other slide positions remain centered */
.gwm-gateway-slide[data-gwm-slide="1"],
.gwm-gateway-slide[data-gwm-slide="2"],
.gwm-gateway-slide[data-gwm-slide="3"],
.gwm-gateway-slide[data-gwm-slide="4"] {
    background-position: center center !important;
}

/* Absolutely no text card / no overlay panel */
.gwm-gateway-content {
    z-index: 6 !important;
    align-self: center !important;
    max-width: min(920px, 94vw) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Readability without overlay: text shadow only */
.gwm-gateway-label,
.gwm-gateway-title,
.gwm-gateway-support,
.gwm-gateway-primary-cta {
    text-shadow:
        0 3px 16px rgba(0, 0, 0, 0.95),
        0 10px 38px rgba(0, 0, 0, 0.9),
        0 20px 72px rgba(0, 0, 0, 0.75) !important;
}

.gwm-gateway-label {
    color: #f2cf77 !important;
    letter-spacing: 0.2em !important;
}

.gwm-gateway-title {
    color: #fff8e6 !important;
}

.gwm-gateway-support {
    color: rgba(255, 248, 230, 0.94) !important;
    max-width: 720px !important;
}

/* Remove arrows and counter completely if old markup still exists */
.gwm-slide-handle,
.gwm-slide-counter {
    display: none !important;
}

/* Dot-only indicator: elegant, quiet, non-distracting */
.gwm-gateway-slide-controls.gwm-dots-only,
.gwm-gateway-slide-controls {
    z-index: 9 !important;
    position: absolute !important;
    top: clamp(1rem, 2.6vw, 1.8rem) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.gwm-slide-dots {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.58rem !important;
}

.gwm-slide-dot {
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 248, 230, 0.86) !important;
    background: rgba(255, 248, 230, 0.28) !important;
    opacity: 0.72 !important;
    cursor: pointer !important;
    transition:
        width 260ms ease,
        background 260ms ease,
        border-color 260ms ease,
        opacity 260ms ease !important;
}

.gwm-slide-dot.is-active {
    width: 24px !important;
    background: #d4af37 !important;
    border-color: #d4af37 !important;
    opacity: 1 !important;
}

.gwm-slide-dot:hover,
.gwm-slide-dot:focus-visible {
    opacity: 1 !important;
    outline: 2px solid rgba(212, 175, 55, 0.55) !important;
    outline-offset: 4px !important;
}

/* Message animation system */
.gwm-gateway-content .gwm-gateway-label,
.gwm-gateway-content .gwm-gateway-title,
.gwm-gateway-content .gwm-gateway-support,
.gwm-gateway-content .gwm-gateway-primary-cta {
    animation-duration: 1000ms !important;
    animation-fill-mode: both !important;
    animation-timing-function: cubic-bezier(.2,.8,.2,1) !important;
}

/* Slide 1: flow in */
.gwm-gateway-content.is-anim-prophetic .gwm-gateway-label {
    animation-name: gwmFinalFlowDown !important;
}
.gwm-gateway-content.is-anim-prophetic .gwm-gateway-title {
    animation-name: gwmFinalFlowIn !important;
    animation-delay: 120ms !important;
}
.gwm-gateway-content.is-anim-prophetic .gwm-gateway-support,
.gwm-gateway-content.is-anim-prophetic .gwm-gateway-primary-cta {
    animation-name: gwmFinalFadeLift !important;
    animation-delay: 280ms !important;
}

/* Slide 2: fade into view */
.gwm-gateway-content.is-anim-church .gwm-gateway-label,
.gwm-gateway-content.is-anim-church .gwm-gateway-title,
.gwm-gateway-content.is-anim-church .gwm-gateway-support,
.gwm-gateway-content.is-anim-church .gwm-gateway-primary-cta {
    animation-name: gwmFinalSoftFade !important;
}

/* Slide 3: scroll upward */
.gwm-gateway-content.is-anim-visitors .gwm-gateway-label,
.gwm-gateway-content.is-anim-visitors .gwm-gateway-title,
.gwm-gateway-content.is-anim-visitors .gwm-gateway-support,
.gwm-gateway-content.is-anim-visitors .gwm-gateway-primary-cta {
    animation-name: gwmFinalScrollUp !important;
}

/* Slide 4: elegant typewriter for headline only */
.gwm-gateway-content.is-anim-school .gwm-gateway-title {
    display: inline-block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    animation-name: gwmFinalTypewriter !important;
    animation-duration: 1450ms !important;
}
.gwm-gateway-content.is-anim-school .gwm-gateway-label,
.gwm-gateway-content.is-anim-school .gwm-gateway-support,
.gwm-gateway-content.is-anim-school .gwm-gateway-primary-cta {
    animation-name: gwmFinalFadeLift !important;
}

/* Slide 5: refined scale/fade */
.gwm-gateway-content.is-anim-institute .gwm-gateway-label,
.gwm-gateway-content.is-anim-institute .gwm-gateway-title,
.gwm-gateway-content.is-anim-institute .gwm-gateway-support,
.gwm-gateway-content.is-anim-institute .gwm-gateway-primary-cta {
    animation-name: gwmFinalScaleFade !important;
}

/* Keep destination cards from overpowering image-first design */
.gwm-gateway-cards {
    z-index: 6 !important;
}

@keyframes gwmFinalSlowZoomOut {
    from {
        transform: scale(1.14);
        transform-origin: center center;
    }
    to {
        transform: scale(1.005);
        transform-origin: center center;
    }
}

@keyframes gwmFinalFlowIn {
    from { opacity: 0; transform: translateX(-42px); filter: blur(8px); }
    to { opacity: 1; transform: translateX(0); filter: blur(0); }
}

@keyframes gwmFinalFlowDown {
    from { opacity: 0; transform: translateY(-22px); filter: blur(3px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes gwmFinalFadeLift {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes gwmFinalSoftFade {
    from { opacity: 0; filter: blur(12px); }
    to { opacity: 1; filter: blur(0); }
}

@keyframes gwmFinalScrollUp {
    from { opacity: 0; transform: translateY(48px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes gwmFinalTypewriter {
    from { opacity: 1; clip-path: inset(0 100% 0 0); }
    to { opacity: 1; clip-path: inset(0 0 0 0); }
}

@keyframes gwmFinalScaleFade {
    from { opacity: 0; transform: scale(0.94); filter: blur(5px); }
    to { opacity: 1; transform: scale(1); filter: blur(0); }
}

/* Mobile: preserve image-first design and prevent typewriter overflow */
@media (max-width: 720px) {
    body.gwm-gateway-body {
        overflow-y: auto !important;
    }

    .gwm-cinematic-gateway {
        overflow: visible !important;
    }

    .gwm-gateway-hero {
        min-height: 100vh !important;
        padding-top: 3rem !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        overflow: visible !important;
    }

    .gwm-gateway-slide[data-gwm-slide="0"] {
        background-position: center top !important;
    }

    .gwm-gateway-content {
        background: transparent !important;
        padding: 0 !important;
    }

    .gwm-gateway-content.is-anim-school .gwm-gateway-title {
        white-space: normal !important;
        animation-name: gwmFinalFadeLift !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gwm-gateway-slide,
    .gwm-gateway-slide.is-active {
        animation: none !important;
        transition: opacity 300ms ease !important;
        transform: none !important;
    }

    .gwm-gateway-content .gwm-gateway-label,
    .gwm-gateway-content .gwm-gateway-title,
    .gwm-gateway-content .gwm-gateway-support,
    .gwm-gateway-content .gwm-gateway-primary-cta {
        animation: none !important;
    }
}


/* ============================================================
   GWM Gateway — Remove Destination Cards + Stronger Animation
   Purpose:
   - Remove the 3 lower destination cards completely.
   - Replace subtle typewriter with a more visible cinematic reveal.
   ============================================================ */

/* Remove destination cards entirely */
.gwm-gateway-cards,
.gwm-gateway-card,
.gwm-card-icon,
.gwm-card-text,
.gwm-card-status,
.gwm-card-title,
.gwm-card-subtitle,
.gwm-card-cta {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Rebalance hero since lower cards are gone */
.gwm-gateway-hero {
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: center !important;
}

.gwm-gateway-content {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Replace typewriter with a stronger cinematic reveal */
.gwm-gateway-content.is-anim-school .gwm-gateway-title {
    display: block !important;
    overflow: visible !important;
    white-space: normal !important;
    max-width: 900px !important;
    animation-name: gwmMegaAcademyReveal !important;
    animation-duration: 1350ms !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
}

.gwm-gateway-content.is-anim-school .gwm-gateway-label {
    animation-name: gwmGoldDropReveal !important;
    animation-duration: 850ms !important;
}

.gwm-gateway-content.is-anim-school .gwm-gateway-support {
    animation-name: gwmWideFadeLift !important;
    animation-duration: 1050ms !important;
    animation-delay: 220ms !important;
}

.gwm-gateway-content.is-anim-school .gwm-gateway-primary-cta {
    animation-name: gwmButtonPopReveal !important;
    animation-duration: 850ms !important;
    animation-delay: 420ms !important;
}

@keyframes gwmMegaAcademyReveal {
    0% {
        opacity: 0;
        transform: translateY(42px) scale(0.92);
        letter-spacing: 0.14em;
        filter: blur(14px);
    }

    55% {
        opacity: 1;
        transform: translateY(-5px) scale(1.025);
        letter-spacing: 0.02em;
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        letter-spacing: -0.03em;
        filter: blur(0);
    }
}

@keyframes gwmGoldDropReveal {
    from {
        opacity: 0;
        transform: translateY(-28px);
        filter: blur(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes gwmWideFadeLift {
    from {
        opacity: 0;
        transform: translateY(28px);
        filter: blur(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes gwmButtonPopReveal {
    0% {
        opacity: 0;
        transform: translateY(18px) scale(0.9);
    }

    70% {
        opacity: 1;
        transform: translateY(0) scale(1.04);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
