/** Shopify CDN: Minification failed

Line 8622:0 Unexpected "}"

**/
/* ═══════════════════════════════════════
   ELEVASN Gateway + Temple Portal
   ═══════════════════════════════════════ */

/* ── Particles ── */
.elevasn-particles { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; mix-blend-mode: screen; }
.elevasn-particle { position: absolute; border-radius: 50%; opacity: 0; animation: elevasn-float linear infinite; will-change: transform, opacity; }
.elevasn-particle--star { animation: elevasn-float linear infinite, elevasn-twinkle var(--twinkle-duration, 5.5s) ease-in-out infinite; }
.elevasn-particle--orb { filter: blur(.5px); }
.elevasn-particle--dust { filter: blur(1.3px); }
@keyframes elevasn-float {
  0% { opacity: 0; transform: translate3d(0,100vh,0) scale(.35); }
  10% { opacity: .72; }
  82% { opacity: .14; }
  100% { opacity: 0; transform: translate3d(var(--float-drift, 0px),-10vh,0) scale(0); }
}
@keyframes elevasn-twinkle {
  0%, 100% { opacity: .18; }
  50% { opacity: .95; }
}

/* ── Sacred geometry ── */
.elevasn-gw__sacred { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; z-index: 0; }
.elevasn-gw__sigil { width: 60vmin; height: 60vmin; opacity: .5; animation: elevasn-spin 120s linear infinite; }
@keyframes elevasn-spin { to { transform: rotate(360deg); } }

/* ── Animations ── */
.elevasn-anim { opacity: 0; transform: translateY(28px); animation: elevasn-reveal .9s ease forwards; }
.elevasn-anim[data-anim="1"] { animation-delay: .15s; }
.elevasn-anim[data-anim="2"] { animation-delay: .3s; }
.elevasn-anim[data-anim="3"] { animation-delay: .5s; }
.elevasn-anim[data-anim="4"] { animation-delay: .65s; }
.elevasn-anim[data-anim="5"] { animation-delay: .8s; }
.elevasn-anim[data-anim="6"] { animation-delay: 1s; }
.elevasn-anim[data-anim="7"] { animation-delay: 1.15s; }
.elevasn-anim[data-anim="8"] { animation-delay: 1.3s; }
@keyframes elevasn-reveal { to { opacity: 1; transform: translateY(0); } }

/* ── Gateway hero ── */
.elevasn-gw { position: relative; min-height: var(--gw-min-desk, 860px); display: flex; align-items: flex-start; background: radial-gradient(circle at 50% 6%, rgba(247,245,240,.10), transparent 16%), radial-gradient(circle at 50% 22%, rgba(165,121,50,.20), transparent 32%), radial-gradient(circle at 16% 18%, color-mix(in srgb, var(--gw-violet, #8f7bff) 28%, transparent), transparent 26%), radial-gradient(circle at 84% 16%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 20%, transparent), transparent 22%), linear-gradient(180deg, #06130f 0%, #092016 30%, var(--gw-bg, #042717) 100%); color: var(--gw-text, #f7f5f0); overflow: hidden; isolation: isolate; }
body.elevasn-gw-only .elevasn-gw { min-height: 100vh; min-height: 100dvh; }
.elevasn-gw__bg { position: absolute; inset: 0; z-index: 0; }
.elevasn-gw__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.elevasn-gw__img--mob { display: none; }
.elevasn-gw__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,39,23,calc(var(--gw-overlay,.3)*.85)), rgba(4,39,23,.95)); }
.elevasn-gw::before { content: ""; position: absolute; inset: -10% -8% auto; height: 68%; background: radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--gw-halo, #f7f5f0) 15%, transparent), transparent 18%), radial-gradient(circle at 14% 22%, color-mix(in srgb, var(--gw-violet, #8f7bff) 22%, transparent), transparent 32%), radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 18%, transparent), transparent 28%), radial-gradient(circle at 50% 34%, rgba(165,121,50,.18), transparent 42%); pointer-events: none; z-index: 0; opacity: .95; }
.elevasn-gw::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 2px, transparent 2px 86px); opacity: .12; mix-blend-mode: screen; pointer-events: none; z-index: 0; animation: elevasn-ray-shift 22s linear infinite; }
@keyframes elevasn-ray-shift { from { transform: translateX(0); } to { transform: translateX(70px); } }
.elevasn-gw__dimension { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.elevasn-gw__mist, .elevasn-gw__halo, .elevasn-gw__veil, .elevasn-gw__oracle { position: absolute; pointer-events: none; }
.elevasn-gw__mist { border-radius: 999px; filter: blur(70px); mix-blend-mode: screen; opacity: .38; animation: elevasn-drift 22s ease-in-out infinite; }
.elevasn-gw__mist--one { width: 46vw; height: 46vw; left: -8vw; top: 16vh; background: radial-gradient(circle, color-mix(in srgb, var(--gw-violet, #8f7bff) 28%, transparent), transparent 70%); }
.elevasn-gw__mist--two { width: 42vw; height: 42vw; right: -6vw; top: 9vh; background: radial-gradient(circle, color-mix(in srgb, var(--gw-sky, #8dd6ff) 22%, transparent), transparent 68%); animation-duration: 28s; }
.elevasn-gw__mist--three { width: 60vw; height: 28vw; left: 50%; top: 32vh; transform: translateX(-50%); background: radial-gradient(circle, rgba(165,121,50,.24), transparent 72%); animation-duration: 18s; }
.elevasn-gw__halo { left: 50%; top: 5vh; width: min(74vw, 920px); aspect-ratio: 1 / 1; transform: translateX(-50%); border-radius: 50%; border: 1px solid color-mix(in srgb, var(--gw-halo, #f7f5f0) 18%, transparent); box-shadow: 0 0 120px rgba(247,245,240,.06), 0 0 180px rgba(165,121,50,.08), inset 0 0 48px rgba(247,245,240,.05); opacity: .58; animation: elevasn-halo 12s ease-in-out infinite; }
.elevasn-gw__halo--outer { width: min(92vw, 1180px); top: -4vh; opacity: .22; animation-duration: 19s; }
.elevasn-gw__veil { inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 22%, rgba(255,255,255,.015) 45%, transparent 70%), radial-gradient(circle at center, rgba(255,255,255,.08), transparent 58%); mix-blend-mode: screen; opacity: .24; animation: elevasn-veil 18s ease-in-out infinite; }
.elevasn-gw__oracle { left: 50%; top: 16vh; width: min(28vw, 360px); aspect-ratio: 1 / 1; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(247,245,240,.18) 0, rgba(247,245,240,.05) 18%, rgba(165,121,50,.18) 32%, rgba(141,214,255,.06) 54%, transparent 72%); filter: blur(10px); opacity: .74; animation: elevasn-oracle 16s ease-in-out infinite; }
.elevasn-gw__constellation { position: absolute; inset: 0; z-index: 0; }
.elevasn-star { position: absolute; border-radius: 999px; background: rgba(247,245,240,.8); box-shadow: 0 0 10px rgba(247,245,240,.22), 0 0 24px rgba(165,121,50,.10); opacity: 0; animation: elevasn-twinkle var(--twinkle-duration, 5s) ease-in-out infinite; }
.elevasn-star--orb { background: rgba(165,121,50,.85); box-shadow: 0 0 16px rgba(165,121,50,.24), 0 0 30px rgba(141,214,255,.12); filter: blur(.2px); }
@keyframes elevasn-drift { 0%, 100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(0,-18px,0) scale(1.04); } }
@keyframes elevasn-halo { 0%, 100% { opacity: .42; box-shadow: 0 0 120px rgba(247,245,240,.05), 0 0 180px rgba(165,121,50,.06), inset 0 0 48px rgba(247,245,240,.05); } 50% { opacity: .75; box-shadow: 0 0 150px rgba(247,245,240,.10), 0 0 220px rgba(165,121,50,.12), inset 0 0 68px rgba(247,245,240,.08); } }
@keyframes elevasn-veil { 0%, 100% { opacity: .16; } 50% { opacity: .30; } }
@keyframes elevasn-oracle { 0%, 100% { opacity: .58; transform: translateX(-50%) scale(1); } 50% { opacity: .86; transform: translateX(-50%) scale(1.08); } }
.elevasn-gw__wrap { position: relative; z-index: 1; display: grid; gap: 1.6rem; width: 100%; padding-top: max(6rem,8vh); padding-bottom: max(4rem,6vh); }
.elevasn-gw__hero { position: relative; padding: clamp(.5rem, 1vw, 1rem) 1rem 0; max-width: 58rem; margin-inline: auto; text-align: center; }
.elevasn-gw__hero::before { content: ""; position: absolute; inset: -1.4rem -1rem auto; height: calc(100% + 2rem); background: radial-gradient(ellipse at center, rgba(247,245,240,.05), transparent 70%); filter: blur(12px); z-index: -1; pointer-events: none; }

.elevasn-gw__intel { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; margin: 0 0 1rem; padding: .55rem 1rem; border-radius: 999px; border: 1px solid rgba(247,245,240,.12); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); box-shadow: 0 18px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08); color: rgba(247,245,240,.86); font-size: .72rem; line-height: 1.1; letter-spacing: .18em; text-transform: uppercase; backdrop-filter: blur(14px); }
.elevasn-gw__intel::before { content: ""; width: .58rem; height: .58rem; border-radius: 999px; background: radial-gradient(circle at 35% 35%, rgba(247,245,240,.95), rgba(165,121,50,.85) 55%, rgba(141,214,255,.75) 100%); box-shadow: 0 0 14px rgba(247,245,240,.18), 0 0 22px rgba(165,121,50,.22); }
.elevasn-gw__eyebrow, .elevasn-gw__label, .elevasn-portal__eyebrow, .elevasn-portal__card-label, .elevasn-portal__sidebar-label { display: block; margin: 0 0 .875rem; color: var(--gw-accent, #8b6914); font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; }
.elevasn-gw__heading { margin: 0; font-size: clamp(2.8rem,7vw,6.75rem); line-height: .95; letter-spacing: -.03em; text-shadow: 0 18px 55px rgba(0,0,0,.38), 0 0 28px rgba(247,245,240,.07); }
.elevasn-gw__body { margin-top: 1.25rem; font-size: clamp(1rem,1.6vw,1.2rem); line-height: 1.65; color: rgba(247,245,240,.94); text-shadow: 0 6px 18px rgba(0,0,0,.22); }
.elevasn-gw__body p { margin: 0; }
.elevasn-gw__note, .elevasn-portal__note, .elevasn-portal__sidebar-copy { margin: 1rem 0 0; font-size: .98rem; line-height: 1.6; color: var(--gw-muted, #d4d0c7); text-shadow: 0 4px 16px rgba(0,0,0,.16); }
.elevasn-gw__hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.2rem; margin-top: 1.5rem; }

/* ── Buttons ── */
.elevasn-gw__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.6rem; border: 1px solid color-mix(in srgb, var(--gw-accent, #8b6914) 88%, rgba(247,245,240,.14)); border-radius: 999px; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .3s ease, border-color .3s ease; backdrop-filter: blur(14px); box-shadow: 0 10px 28px rgba(2,10,6,.24), inset 0 1px 0 rgba(255,255,255,.04); }
.elevasn-gw__btn--primary { background: var(--gw-btn-bg, #1b3d2f); color: var(--gw-btn-text, #f7f5f0); }
.elevasn-gw__btn--primary:hover { transform: translateY(-2px); background: var(--gw-accent, #8b6914); color: #0b1b14; box-shadow: 0 0 24px rgba(165,121,50,.25), 0 16px 36px rgba(0,0,0,.24); }
.elevasn-gw__btn--secondary { background: var(--gw-btn2-bg, rgba(255,255,255,.04)); color: var(--gw-btn2-text, #f7f5f0); }
.elevasn-gw__btn--secondary:hover { transform: translateY(-2px); background: var(--gw-accent, #8b6914); color: #0b1b14; box-shadow: 0 0 24px rgba(165,121,50,.25), 0 16px 36px rgba(0,0,0,.24); }
.elevasn-gw__btn--sm { min-height: 40px; padding: .6rem 1.2rem; font-size: .7rem; }

/* ── Card grids ── */
.elevasn-gw__paths { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.elevasn-gw__utils { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.elevasn-gw__card { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid rgba(139,105,20,.28); border-radius: 1.8rem; background: linear-gradient(180deg, color-mix(in srgb, var(--gw-surface, #0b1b14) 94%, rgba(247,245,240,.06)), color-mix(in srgb, var(--gw-surface-soft, #10261c) 94%, rgba(247,245,240,.03))); box-shadow: 0 18px 50px rgba(3,13,9,.18), inset 0 1px 0 rgba(255,255,255,.05); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; backdrop-filter: blur(14px); }
.elevasn-gw__card:hover { transform: translateY(-3px); border-color: var(--gw-accent, #8b6914); box-shadow: 0 24px 56px rgba(3,13,9,.24), 0 0 40px rgba(165,121,50,.08); }
.elevasn-gw__card-title { margin: 0; font-size: clamp(1.4rem,2vw,2rem); line-height: 1.05; }
.elevasn-gw__card-text { flex: 1; margin: .9rem 0 0; line-height: 1.65; color: var(--gw-muted, #d4d0c7); }
.elevasn-gw__card > .elevasn-gw__btn { margin-top: auto; padding-top: .85rem; align-self: flex-start; }

/* ── Divider ── */
.elevasn-gw__divider { display: flex; align-items: center; gap: 1.2rem; padding: .25rem 0; }
.elevasn-gw__divider::before, .elevasn-gw__divider::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(139,105,20,.3), transparent); }
.elevasn-gw__divider span { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--gw-muted); opacity: .6; }

/* ═══ Portal ═══ */
.elevasn-portal { position: relative; background: radial-gradient(circle at 50% -10%, rgba(247,245,240,.08), transparent 18%), radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--gw-violet, #8f7bff) 18%, transparent), transparent 26%), radial-gradient(circle at 82% 6%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 16%, transparent), transparent 22%), linear-gradient(180deg, var(--gw-bg, #042717), #08140f); color: var(--gw-text, #f7f5f0); padding: 3.5rem 0 4.5rem; overflow: hidden; }
.elevasn-portal::before { content: ""; position: absolute; inset: -8% -10% auto; height: 55%; background: radial-gradient(circle at 50% 18%, rgba(247,245,240,.04), transparent 20%), radial-gradient(circle at 50% 32%, rgba(165,121,50,.12), transparent 36%); opacity: .85; pointer-events: none; }
.elevasn-portal[hidden] { display: none !important; }

/* Portal glow */
.elevasn-portal__glow { position: absolute; top: -120px; left: 50%; width: 600px; height: 300px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(165,121,50,.12), transparent 70%); pointer-events: none; animation: elevasn-glow-pulse 5s ease-in-out infinite; }
@keyframes elevasn-glow-pulse { 0%,100% { opacity: .6; transform: translateX(-50%) scale(1); } 50% { opacity: 1; transform: translateX(-50%) scale(1.15); } }

.elevasn-portal .page-width { position: relative; z-index: 1; display: grid; gap: 1.5rem; }
.elevasn-portal__top { display: grid; grid-template-columns: 1.4fr .8fr; gap: 1rem; align-items: stretch; }
.elevasn-portal__intro, .elevasn-portal__sidebar { padding: 1.6rem; border-radius: 1.8rem; border: 1px solid rgba(139,105,20,.22); background: linear-gradient(180deg, color-mix(in srgb, var(--gw-surface, #0b1b14) 92%, rgba(247,245,240,.05)), color-mix(in srgb, var(--gw-surface-soft, #10261c) 94%, rgba(247,245,240,.03))); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter: blur(14px); }
.elevasn-portal__title { margin: 0; font-size: clamp(2rem,4vw,3.8rem); line-height: .96; letter-spacing: -.02em; }
.elevasn-portal__text { margin-top: 1.25rem; font-size: clamp(1rem,1.4vw,1.15rem); line-height: 1.65; }
.elevasn-portal__text p { margin: 0; }
.elevasn-portal__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.4rem; }
.elevasn-portal__sidebar { display: flex; flex-direction: column; }
.elevasn-portal__sidebar-nav { display: flex; flex-direction: column; gap: .6rem; margin-top: auto; }
.elevasn-portal__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.elevasn-portal__card { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid rgba(139,105,20,.28); border-radius: 1.8rem; background: linear-gradient(180deg, color-mix(in srgb, var(--gw-surface, #0b1b14) 94%, rgba(247,245,240,.05)), color-mix(in srgb, var(--gw-surface-soft, #10261c) 94%, rgba(247,245,240,.03))); box-shadow: 0 18px 50px rgba(3,13,9,.18), inset 0 1px 0 rgba(255,255,255,.04); transition: transform .3s ease, border-color .3s ease; backdrop-filter: blur(14px); }
.elevasn-portal__card:hover { transform: translateY(-3px); border-color: var(--gw-accent); box-shadow: 0 0 40px rgba(165,121,50,.1); }
.elevasn-portal__card-title { margin: 0; font-size: clamp(1.3rem,1.8vw,1.8rem); line-height: 1.08; }
.elevasn-portal__card-text { flex: 1; margin: .9rem 0 0; line-height: 1.65; color: var(--gw-muted); }
.elevasn-portal__card-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: auto; padding-top: 1.3rem; }

/* ── Contact form ── */
.elevasn-portal__contact { margin-top: 1rem; padding: 2rem; border-radius: 1.8rem; border: 1px solid rgba(139,105,20,.18); background: linear-gradient(180deg, rgba(11,27,20,.6), rgba(16,38,28,.6)); backdrop-filter: blur(8px); }
.elevasn-portal__contact-header { margin-bottom: 1.4rem; }
.elevasn-portal__form { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.elevasn-portal__input, .elevasn-portal__select, .elevasn-portal__textarea { width: 100%; min-height: 48px; padding: .75rem 1rem; background: rgba(255,255,255,.04); border: 1px solid rgba(139,105,20,.22); border-radius: 8px; color: var(--gw-text); font-family: inherit; font-size: .88rem; outline: none; transition: border-color .3s ease, background .3s ease, box-shadow .3s ease; }
.elevasn-portal__input:focus, .elevasn-portal__select:focus, .elevasn-portal__textarea:focus { border-color: var(--gw-accent); background: rgba(255,255,255,.06); box-shadow: 0 0 16px rgba(165,121,50,.1); }
.elevasn-portal__input::placeholder, .elevasn-portal__textarea::placeholder { color: rgba(212,208,199,.35); }
.elevasn-portal__select { appearance: none; cursor: pointer; color: rgba(212,208,199,.6); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238b6914' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; }
.elevasn-portal__select option { background: #0b1b14; color: var(--gw-text); }
.elevasn-portal__input-wrap { grid-column: 1 / -1; }
.elevasn-portal__textarea { grid-column: 1 / -1; resize: vertical; min-height: 100px; }
.elevasn-portal__form .elevasn-gw__btn { grid-column: 1 / -1; justify-self: start; }
.elevasn-portal__form-success { margin-top: 1rem; padding: .8rem 1rem; border-radius: 8px; background: rgba(165,121,50,.12); border: 1px solid rgba(165,121,50,.3); color: var(--gw-accent); font-size: .88rem; }
.elevasn-portal__form-error { margin-top: 1rem; color: #e85d5d; font-size: .88rem; }


/* ── Temple portal living overlays ── */
@keyframes elevasn-breathe {
  0%, 100% { transform: scale(1); opacity: .42; }
  50% { transform: scale(1.055); opacity: .78; }
}
@keyframes elevasn-guardian {
  0%, 100% { opacity: .22; transform: translateY(0) scale(1); }
  50% { opacity: .42; transform: translateY(-10px) scale(1.03); }
}
@keyframes elevasn-sigil-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); opacity: .16; }
  35% { transform: translate3d(var(--sigil-drift-x, 10px), -18px, 0) rotate(8deg) scale(1.05); opacity: .34; }
  70% { transform: translate3d(calc(var(--sigil-drift-x, 10px) * -0.65), -36px, 0) rotate(-7deg) scale(.96); opacity: .20; }
}
@keyframes elevasn-orbit {
  from { transform: translateX(-50%) rotate(0deg); }
  to { transform: translateX(-50%) rotate(360deg); }
}
@keyframes elevasn-threshold-glow {
  0%, 100% { opacity: .28; transform: translateX(-50%) scaleX(1); }
  50% { opacity: .62; transform: translateX(-50%) scaleX(1.08); }
}
@keyframes elevasn-vortex-swirl {
  0% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
  50% { transform: translate(-50%, -50%) rotate(180deg) scale(1.06); }
  100% { transform: translate(-50%, -50%) rotate(360deg) scale(1); }
}
@keyframes elevasn-vortex-core {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); opacity: .72; }
  50% { transform: translate(-50%, -50%) scale(1.08); opacity: 1; }
}
@keyframes elevasn-vortex-sheen {
  0%,100% { transform: translate(-50%, -50%) rotate(0deg) scale(1); opacity: .22; }
  50% { transform: translate(-50%, -50%) rotate(-180deg) scale(1.12); opacity: .4; }
}

.elevasn-gw {
  background:
    radial-gradient(circle at 50% 6%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 14%, transparent), transparent 14%),
    radial-gradient(circle at 50% 22%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 22%, transparent), transparent 26%),
    radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--gw-violet, #8f7bff) 36%, transparent), transparent 28%),
    radial-gradient(circle at 82% 16%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 28%, transparent), transparent 26%),
    radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--gw-violet, #8f7bff) 16%, transparent), transparent 34%),
    linear-gradient(180deg, #03090a 0%, #06120f 18%, #0a1712 34%, #0b1d15 54%, var(--gw-bg, #042717) 100%);
}
.elevasn-gw::before {
  animation: elevasn-breathe 18s ease-in-out infinite;
}
.elevasn-gw__breath {
  position: absolute;
  inset: -12% -10% auto;
  height: 82%;
  background:
    radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 12%, transparent), transparent 14%),
    radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 20%, transparent), transparent 24%),
    radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--gw-violet, #8f7bff) 24%, transparent), transparent 36%),
    radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 18%, transparent), transparent 48%);
  filter: blur(24px);
  opacity: .66;
  animation: elevasn-breathe 16s ease-in-out infinite;
}
.elevasn-gw__vortex,
.elevasn-gw__vortex-core,
.elevasn-gw__vortex-sheen {
  position: absolute;
  left: 50%;
  top: 39%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
}
.elevasn-gw__vortex {
  width: min(70vw, 860px);
  aspect-ratio: 1 / 1;
  opacity: var(--gw-vortex-strength, .64);
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 22%, transparent) 0 7%, transparent 8%),
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 18%, transparent) 0 13%, transparent 14%),
    repeating-conic-gradient(from 0deg,
      color-mix(in srgb, var(--gw-violet, #8f7bff) calc(var(--gw-vortex-sharp, .56) * 38%), transparent) 0deg 12deg,
      color-mix(in srgb, var(--gw-sky, #8dd6ff) calc(var(--gw-vortex-sharp, .56) * 30%), transparent) 12deg 24deg,
      color-mix(in srgb, var(--gw-portal-gold, #d1a44a) calc(var(--gw-vortex-sharp, .56) * 26%), transparent) 24deg 34deg,
      transparent 34deg 42deg),
    radial-gradient(circle at 50% 50%, transparent 0 26%, rgba(3,9,8,.12) 34%, transparent 54%);
  mask: radial-gradient(circle at center, transparent 0 9%, rgba(0,0,0,1) 20%, rgba(0,0,0,.98) 52%, transparent 78%);
  filter: blur(5px) saturate(118%);
  mix-blend-mode: screen;
  animation: elevasn-vortex-swirl var(--gw-vortex-sec, 28s) linear infinite;
}
.elevasn-gw__vortex-core {
  width: min(30vw, 360px);
  aspect-ratio: 1 / 1;
  opacity: calc(var(--gw-dimension-depth, .72) * .9);
  background:
    radial-gradient(circle at center, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 80%, transparent) 0 10%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 68%, transparent) 18%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 40%, transparent) 36%, transparent 70%),
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--gw-violet, #8f7bff) 30%, transparent), transparent 72%);
  filter: blur(16px);
  box-shadow: 0 0 80px color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 20%, transparent), 0 0 130px color-mix(in srgb, var(--gw-violet, #8f7bff) 14%, transparent);
  animation: elevasn-vortex-core calc(var(--gw-breath-sec, 16s) * .9) ease-in-out infinite;
}
.elevasn-gw__vortex-sheen {
  width: min(84vw, 1040px);
  aspect-ratio: 1 / 1;
  opacity: calc(var(--gw-vortex-strength, .64) * .48);
  background:
    repeating-conic-gradient(from 18deg,
      transparent 0deg 18deg,
      color-mix(in srgb, var(--gw-portal-core, #f6efe1) 18%, transparent) 18deg 20deg,
      transparent 20deg 30deg,
      color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 16%, transparent) 30deg 32deg,
      transparent 32deg 48deg),
    radial-gradient(circle at center, transparent 0 26%, rgba(255,255,255,.04) 38%, transparent 58%);
  mask: radial-gradient(circle at center, transparent 0 20%, rgba(0,0,0,.9) 34%, rgba(0,0,0,.7) 54%, transparent 80%);
  filter: blur(9px);
  mix-blend-mode: screen;
  animation: elevasn-vortex-sheen calc(var(--gw-vortex-sec, 28s) * 1.25) linear infinite;
}
.elevasn-gw__guard {
  position: absolute;
  top: 14vh;
  width: min(22vw, 280px);
  height: min(58vh, 640px);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(247,245,240,.03), rgba(247,245,240,0)),
    radial-gradient(circle at 50% 18%, rgba(165,121,50,.18), transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(247,245,240,.05), transparent 32%),
    linear-gradient(180deg, rgba(165,121,50,.08), rgba(165,121,50,0));
  filter: blur(10px);
  opacity: .24;
  animation: elevasn-guardian 18s ease-in-out infinite;
}
.elevasn-gw__guard::before,
.elevasn-gw__guard::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 999px;
  pointer-events: none;
}
.elevasn-gw__guard::before {
  top: 5%;
  width: min(11vw, 120px);
  height: min(11vw, 120px);
  border: 1px solid rgba(165,121,50,.18);
  box-shadow: 0 0 30px rgba(165,121,50,.12), inset 0 0 20px rgba(247,245,240,.04);
}
.elevasn-gw__guard::after {
  top: 18%;
  width: 1px;
  height: 62%;
  background: linear-gradient(180deg, rgba(165,121,50,.28), rgba(247,245,240,.04), transparent);
}
.elevasn-gw__guard--left { left: max(-5vw, -40px); }
.elevasn-gw__guard--right { right: max(-5vw, -40px); animation-delay: -7s; }

.elevasn-gw__halo--inner {
  width: min(58vw, 700px);
  top: 11vh;
  opacity: .42;
  animation-duration: 10s;
}
.elevasn-gw__ring-runner {
  position: absolute;
  left: 50%;
  top: 8vh;
  transform: translateX(-50%);
  border-radius: 999px;
  pointer-events: none;
  animation: elevasn-orbit 26s linear infinite;
}
.elevasn-gw__ring-runner--one {
  width: min(76vw, 950px);
  aspect-ratio: 1 / 1;
}
.elevasn-gw__ring-runner--two {
  width: min(92vw, 1160px);
  top: -2vh;
  aspect-ratio: 1 / 1;
  animation-duration: 38s;
  animation-direction: reverse;
}
.elevasn-gw__ring-node {
  position: absolute;
  left: 50%;
  top: 0;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, rgba(247,245,240,.98), rgba(165,121,50,.9) 55%, rgba(141,214,255,.55) 100%);
  box-shadow: 0 0 18px rgba(247,245,240,.24), 0 0 28px rgba(165,121,50,.24);
  transform: translate(-50%, -50%);
}
.elevasn-gw__sigils {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.elevasn-gw__sigil-float {
  position: absolute;
  width: var(--sigil-size, 66px);
  height: var(--sigil-size, 66px);
  opacity: 0;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 18px rgba(165,121,50,.12));
  animation: elevasn-sigil-float var(--sigil-duration, 18s) ease-in-out infinite;
}
.elevasn-gw__sigil-float--logo {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .12;
}
.elevasn-gw__sigil-float--ring,
.elevasn-gw__sigil-float--moon,
.elevasn-gw__sigil-float--cross {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.elevasn-gw__threshold {
  position: absolute;
  left: 50%;
  bottom: 8%;
  width: min(72vw, 920px);
  height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(165,121,50,.24), rgba(165,121,50,.06) 45%, transparent 75%);
  filter: blur(16px);
  opacity: .45;
  animation: elevasn-threshold-glow 12s ease-in-out infinite;
}

.elevasn-gw__hero::before {
  background:
    radial-gradient(ellipse at center, rgba(247,245,240,.06), transparent 68%),
    radial-gradient(circle at 50% 36%, rgba(165,121,50,.12), transparent 44%);
  filter: blur(18px);
}
.elevasn-gw__heading {
  position: relative;
}
.elevasn-gw__heading::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 56%;
  width: min(58vw, 720px);
  height: 180px;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(247,245,240,.08), rgba(165,121,50,.05) 36%, transparent 72%);
  filter: blur(18px);
  z-index: -1;
  pointer-events: none;
}
.elevasn-gw__intel {
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.09), 0 0 34px rgba(165,121,50,.10);
}
.elevasn-gw__intel::before {
  animation: elevasn-twinkle 4s ease-in-out infinite;
}
.elevasn-gw__card,
.elevasn-portal__card {
  position: relative;
  overflow: hidden;
}
.elevasn-gw__card::before,
.elevasn-portal__card::before {
  content: "";
  position: absolute;
  inset: auto auto -28% -12%;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle at center, rgba(165,121,50,.16), transparent 62%);
  opacity: .18;
  pointer-events: none;
}
.elevasn-gw__card::after,
.elevasn-portal__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%),
    radial-gradient(circle at 18% 16%, rgba(247,245,240,.03), transparent 12%),
    radial-gradient(circle at 82% 88%, rgba(165,121,50,.08), transparent 18%);
  opacity: .55;
  pointer-events: none;
}
.elevasn-gw__card:hover,
.elevasn-portal__card:hover {
  box-shadow: 0 0 0 1px rgba(165,121,50,.18), 0 18px 50px rgba(3,13,9,.20), 0 0 42px rgba(165,121,50,.12);
}
.elevasn-gw__card,
.elevasn-portal__card,
.elevasn-portal__intro,
.elevasn-portal__sidebar,
.elevasn-portal__contact {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)),
    linear-gradient(145deg, color-mix(in srgb, var(--gw-surface, #0b1b14) 88%, rgba(247,245,240,.04)), color-mix(in srgb, var(--gw-surface-soft, #10261c) 92%, rgba(247,245,240,.02)));
}

:is(.elevasn-aura-launcher, .aura-launcher, [data-aura-launcher], .elevasn-aura-button) {
  animation: elevasn-twinkle 4.6s ease-in-out infinite;
}

/* ═══ Responsive ═══ */
@media (max-width: 989px) {
  .elevasn-gw__paths { grid-template-columns: repeat(2,1fr); }
  .elevasn-gw__paths .elevasn-gw__card:last-child { grid-column: 1/-1; }
  .elevasn-portal__top { grid-template-columns: 1fr; }
  .elevasn-portal__grid { grid-template-columns: repeat(2,1fr); }
  .elevasn-portal__form { grid-template-columns: 1fr; }
}
@media (max-width: 749px) {
  .elevasn-gw__intel { font-size: .62rem; letter-spacing: .13em; padding: .5rem .72rem; max-width: calc(100vw - 2rem); }
  .elevasn-gw__vortex { width: 122vw; top: 34%; }
  .elevasn-gw__vortex-core { width: 58vw; top: 36%; }
  .elevasn-gw__vortex-sheen { width: 138vw; top: 35%; }
  .elevasn-gw::after { opacity: .08; }
  .elevasn-gw__mist--one { width: 74vw; height: 74vw; left: -26vw; top: 18vh; }
  .elevasn-gw__mist--two { width: 62vw; height: 62vw; right: -18vw; top: 10vh; }
  .elevasn-gw__mist--three { width: 96vw; height: 52vw; top: 38vh; }
  .elevasn-gw__oracle { width: 46vw; top: 19vh; }
  .elevasn-gw__halo { width: 118vw; top: 8vh; }
  .elevasn-gw__halo--outer { width: 136vw; top: 0; }
  .elevasn-gw__halo--inner { width: 92vw; top: 12vh; }
  .elevasn-gw__guard { width: 34vw; height: 48vh; top: 18vh; opacity: .18; }
  .elevasn-gw__threshold { width: 94vw; bottom: 10%; }
  .elevasn-gw__ring-runner--one { width: 124vw; top: 8vh; }
  .elevasn-gw__ring-runner--two { width: 146vw; top: 1vh; }
  .elevasn-gw { min-height: var(--gw-min-mob, 720px); }
  .elevasn-gw__img--desk { display: none; }
  .elevasn-gw__img--mob { display: block; }
  .elevasn-gw__wrap { padding-top: 5.2rem; padding-bottom: 2rem; }
  .elevasn-gw__paths, .elevasn-gw__utils, .elevasn-portal__grid { grid-template-columns: 1fr; }
  .elevasn-gw__paths .elevasn-gw__card:last-child { grid-column: auto; }
  .elevasn-gw__card, .elevasn-portal__card, .elevasn-portal__intro, .elevasn-portal__sidebar, .elevasn-portal__contact { padding: 1.25rem; border-radius: 1.4rem; }
  .elevasn-portal { padding: 2rem 0 3rem; }
  .elevasn-gw__sacred { display: none; }
}

/* ═══════════════════════════════════════
   Gate opening ritual + polish pass
   ═══════════════════════════════════════ */
body.elevasn-gate-lock { overflow: hidden !important; }

.elevasn-gate-loader {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--gw-loader-glow, #f7f5f0) 10%, transparent), transparent 18%),
    radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--gw-loader-seam, #A57932) 16%, transparent), transparent 34%),
    linear-gradient(180deg, #020907 0%, #06130f 42%, #03100c 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity .9s ease, visibility .9s ease;
}
.elevasn-gate-loader[hidden],
.elevasn-gate-loader.is-finished {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.elevasn-gate-loader__mist,
.elevasn-gate-loader__halo,
.elevasn-gate-loader__light {
  position: absolute;
  pointer-events: none;
}
.elevasn-gate-loader__mist {
  border-radius: 999px;
  filter: blur(80px);
  mix-blend-mode: screen;
  opacity: .26;
  animation: elevasn-drift 18s ease-in-out infinite;
}
.elevasn-gate-loader__mist--one {
  width: 46vw;
  height: 46vw;
  left: -8vw;
  top: 14vh;
  background: radial-gradient(circle, color-mix(in srgb, var(--gw-violet, #8f7bff) 24%, transparent), transparent 68%);
}
.elevasn-gate-loader__mist--two {
  width: 42vw;
  height: 42vw;
  right: -10vw;
  top: 10vh;
  background: radial-gradient(circle, color-mix(in srgb, var(--gw-loader-seam, #A57932) 22%, transparent), transparent 72%);
  animation-duration: 24s;
}
.elevasn-gate-loader__halo {
  width: min(72vw, 880px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--gw-loader-glow, #f7f5f0) 18%, transparent);
  box-shadow: 0 0 100px color-mix(in srgb, var(--gw-loader-seam, #A57932) 18%, transparent), inset 0 0 44px rgba(247,245,240,.05);
  opacity: .3;
  animation: elevasn-halo calc(var(--gw-breath-sec, 16s) + 2s) ease-in-out infinite;
}
.elevasn-gate-loader__doors {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.elevasn-gate-loader__door {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50.5%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0)),
    radial-gradient(circle at 50% 52%, rgba(247,245,240,.025), transparent 42%),
    linear-gradient(90deg, rgba(255,255,255,.012) 0%, rgba(255,255,255,0) 14%, rgba(255,255,255,0) 86%, rgba(255,255,255,.008) 100%),
    linear-gradient(180deg, color-mix(in srgb, var(--gw-loader-seam, #A57932) 5%, transparent), transparent 18%),
    var(--gw-loader-left, #07140f);
  box-shadow: inset 0 0 0 1px rgba(165,121,50,.045), inset 0 0 70px rgba(0,0,0,.22);
  transition: transform 1.45s cubic-bezier(.19,.84,.22,1), filter 1.45s ease, opacity 1.2s ease;
}
.elevasn-gate-loader__door--right {
  right: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0)),
    radial-gradient(circle at 50% 52%, rgba(247,245,240,.025), transparent 42%),
    linear-gradient(90deg, rgba(255,255,255,.008) 0%, rgba(255,255,255,0) 14%, rgba(255,255,255,0) 86%, rgba(255,255,255,.012) 100%),
    linear-gradient(180deg, color-mix(in srgb, var(--gw-loader-seam, #A57932) 5%, transparent), transparent 18%),
    var(--gw-loader-right, #07140f);
}
.elevasn-gate-loader__door--left { left: 0; }
.elevasn-gate-loader__seam {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent 0%, var(--gw-loader-seam, #A57932) 12%, var(--gw-loader-glow, #F7F5F0) 50%, var(--gw-loader-seam, #A57932) 88%, transparent 100%);
  box-shadow: 0 0 24px color-mix(in srgb, var(--gw-loader-seam, #A57932) 44%, transparent), 0 0 54px color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 18%, transparent);
  transition: opacity .7s ease, transform 1.2s ease;
}
.elevasn-gate-loader__light {
  left: 50%;
  top: -12%;
  width: min(38vw, 420px);
  height: 124%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 20%, transparent), color-mix(in srgb, var(--gw-loader-seam, #A57932) 14%, transparent) 24%, transparent 68%);
  filter: blur(28px);
  opacity: .22;
  transition: opacity 1.1s ease, transform 1.2s ease;
}
.elevasn-gate-loader__symbols {
  z-index: 0;
  opacity: .88;
}
.elevasn-gate-loader__symbols .elevasn-overlay-item--glyph {
  mix-blend-mode: screen;
  filter: blur(var(--item-blur, 0px)) drop-shadow(0 0 5px rgba(247,245,240,.10)) drop-shadow(0 0 14px rgba(165,121,50,.22)) drop-shadow(0 0 26px rgba(165,121,50,.12));
}
.elevasn-gate-loader__center {
  position: relative;
  z-index: 5;
  display: grid;
  justify-items: center;
  gap: .75rem;
  width: min(92vw, 720px);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: opacity .7s ease, transform .9s ease;
}
.elevasn-gate-loader__logo {
  max-width: min(28vw, 220px);
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgba(165,121,50,.18));
}
.elevasn-gate-loader__eyebrow {
  margin: 0;
  color: color-mix(in srgb, var(--gw-loader-seam, #A57932) 88%, rgba(247,245,240,.9));
  font-size: .76rem;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.elevasn-gate-loader__heading {
  margin: 0;
  color: rgba(247,245,240,.97);
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  line-height: .94;
  letter-spacing: -.04em;
  text-shadow: 0 12px 34px rgba(0,0,0,.28);
}
.elevasn-gate-loader__text {
  margin: 0;
  max-width: 44rem;
  color: rgba(247,245,240,.78);
  font-size: clamp(.98rem, 1.5vw, 1.14rem);
  line-height: 1.7;
}
.elevasn-gate-loader__button {
  appearance: none;
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  min-width: min(84vw, 212px);
  padding: 0 1.65rem;
  border: 1px solid color-mix(in srgb, var(--gw-loader-seam, #A57932) 92%, rgba(247,245,240,.08));
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(8,39,26,.98), rgba(4,24,16,.98));
  color: rgba(247,245,240,.96);
  font: 700 .78rem/1 Inter, Arial, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 28px rgba(2,10,6,.24), inset 0 1px 0 rgba(255,255,255,.04), 0 0 24px color-mix(in srgb, var(--gw-loader-seam, #A57932) 10%, transparent);
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .3s ease, border-color .3s ease, opacity .22s ease;
}
.elevasn-gate-loader__button:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--gw-loader-seam, #A57932) 96%, var(--gw-loader-glow, #F7F5F0));
  background: var(--gw-loader-seam, #A57932);
  color: #06130f;
  box-shadow: 0 0 24px rgba(165,121,50,.25), 0 16px 36px rgba(0,0,0,.24);
}
.elevasn-gate-loader__button:focus-visible {
  outline: 2px solid var(--gw-loader-glow, #F7F5F0);
  outline-offset: 4px;
}
.elevasn-gate-loader__button:disabled {
  opacity: .55;
  cursor: default;
  transform: none;
}
.elevasn-gate-loader.is-opening .elevasn-gate-loader__door--left { transform: translateX(-104%); filter: brightness(1.08); }
.elevasn-gate-loader.is-opening .elevasn-gate-loader__door--right { transform: translateX(104%); filter: brightness(1.08); }
.elevasn-gate-loader.is-opening .elevasn-gate-loader__seam { opacity: 0; transform: translateX(-50%) scaleY(1.18); }
.elevasn-gate-loader.is-opening .elevasn-gate-loader__light { opacity: .52; transform: translateX(-50%) scaleX(1.42); }
.elevasn-gate-loader.is-opening .elevasn-gate-loader__center { opacity: 0; transform: translateY(-10px) scale(.98); }

@keyframes elevasn-sigil-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); opacity: calc(var(--sigil-opacity, .14) * .85); }
  35% { transform: translate3d(var(--sigil-drift-x, 10px), -18px, 0) rotate(8deg) scale(1.05); opacity: calc(var(--sigil-opacity, .14) * 1.75); }
  70% { transform: translate3d(calc(var(--sigil-drift-x, 10px) * -0.65), -36px, 0) rotate(-7deg) scale(.96); opacity: calc(var(--sigil-opacity, .14) * 1.18); }
}

.elevasn-gw::before,
.elevasn-gw__breath { animation-duration: var(--gw-breath-sec, 16s); }
.elevasn-gw__veil { animation-duration: var(--gw-veil-sec, 18s); }
.elevasn-gw__mist { opacity: var(--gw-mist-opacity, .38); }
.elevasn-gw__ring-runner--one { animation-duration: var(--gw-orbit-sec, 26s); }
.elevasn-gw__ring-runner--two { animation-duration: calc(var(--gw-orbit-sec, 26s) * 1.46); }
.elevasn-gw__oracle { opacity: var(--gw-glow-strength, .62); }
.elevasn-gw__guard {
  --guard-image: none;
  background-image:
    var(--guard-image),
    linear-gradient(180deg, rgba(247,245,240,.03), rgba(247,245,240,0)),
    radial-gradient(circle at 50% 18%, rgba(165,121,50,.18), transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(247,245,240,.05), transparent 32%),
    linear-gradient(180deg, rgba(165,121,50,.08), rgba(165,121,50,0));
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: center 54%, center, center, center, center;
  background-size: 48% auto, auto, auto, auto, auto;
}
.elevasn-gw__sigil-float--image,
.elevasn-gw__sigil-float--guardian,
.elevasn-gw__sigil-float--ring,
.elevasn-gw__sigil-float--moon,
.elevasn-gw__sigil-float--cross {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.elevasn-gw__sigil-float--image { filter: drop-shadow(0 0 18px rgba(165,121,50,.14)); }
.elevasn-gw__sigil-float--guardian { filter: drop-shadow(0 0 28px rgba(247,245,240,.08)) drop-shadow(0 0 26px rgba(165,121,50,.18)); }
.elevasn-gw__hero { max-width: 66rem; }
.elevasn-gw__heading { max-width: 11.5ch; margin-inline: auto; text-shadow: 0 14px 42px rgba(3,7,7,.28), 0 0 22px rgba(247,245,240,.06); }
.elevasn-gw__body,
.elevasn-gw__note {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}
.elevasn-gw__body { color: rgba(247,245,240,.985); text-shadow: 0 6px 24px rgba(3,7,7,.34); }
.elevasn-gw__note { color: color-mix(in srgb, var(--gw-muted, #d4d0c7) 94%, rgba(247,245,240,.2)); text-shadow: 0 4px 18px rgba(3,7,7,.28); }
.elevasn-gw__hero-cta .elevasn-gw__btn { min-width: 210px; }
.elevasn-gw__card,
.elevasn-portal__card,
.elevasn-portal__intro,
.elevasn-portal__sidebar,
.elevasn-portal__contact {
  backdrop-filter: blur(16px) saturate(120%);
}

@media (max-width: 749px) {
  .elevasn-gate-loader__logo { max-width: 48vw; max-height: 72px; }
  .elevasn-gate-loader__center { width: min(92vw, 420px); gap: .6rem; }
  .elevasn-gate-loader__text { max-width: 22rem; font-size: .95rem; }
  .elevasn-gw__wrap { gap: 1.1rem; padding-top: 4.8rem; }
  .elevasn-gw__heading { max-width: 8.4ch; font-size: clamp(2.6rem, 12vw, 4.1rem); }
  .elevasn-gw__body { font-size: 1rem; line-height: 1.68; max-width: 34rem; }
  .elevasn-gw__hero-cta { gap: .8rem; }
  .elevasn-gw__hero-cta .elevasn-gw__btn,
  .elevasn-gw__utils .elevasn-gw__btn,
  .elevasn-gw__paths .elevasn-gw__btn { width: 100%; }
  .elevasn-gw__guard { background-size: 66% auto, auto, auto, auto, auto; }
}


/* ═══════════════════════════════════════
   ELEVASN altar portal override
   Sacred altar opening / brand-colour lock
   ═══════════════════════════════════════ */
.elevasn-gw {
  background:
    radial-gradient(ellipse at 50% 7%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 11%, transparent), transparent 16%),
    radial-gradient(ellipse at 50% 18%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 18%, transparent), transparent 25%),
    radial-gradient(ellipse at 12% 22%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 8%, transparent), transparent 34%),
    radial-gradient(ellipse at 88% 18%, color-mix(in srgb, var(--gw-sky, #8dd6ff) 8%, transparent), transparent 30%),
    linear-gradient(180deg, #04110d 0%, #072016 18%, #082318 42%, #072318 68%, var(--gw-bg, #042717) 100%);
}
.elevasn-gw::before {
  inset: -10% -8% auto;
  height: 82%;
  background:
    radial-gradient(ellipse at 50% 10%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 12%, transparent), transparent 18%),
    radial-gradient(ellipse at 50% 24%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 20%, transparent), transparent 28%),
    radial-gradient(ellipse at 50% 44%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 12%, transparent), transparent 40%),
    linear-gradient(90deg, transparent 0%, rgba(247,245,240,.02) 50%, transparent 100%);
  opacity: .88;
}
.elevasn-gw::after {
  opacity: .06;
  animation-duration: 34s;
}
.elevasn-gw__breath {
  inset: 2% 20% auto;
  height: 86%;
  background:
    radial-gradient(ellipse at 50% 10%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 12%, transparent), transparent 22%),
    radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 26%, transparent), transparent 30%),
    radial-gradient(ellipse at 50% 54%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 10%, transparent), transparent 44%);
  filter: blur(32px);
  opacity: calc(var(--gw-altar-depth, .46) + .18);
}
.elevasn-gw__mist--one {
  width: 34vw;
  height: 58vw;
  left: -8vw;
  top: 22vh;
  background: radial-gradient(circle, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 10%, transparent), transparent 72%);
}
.elevasn-gw__mist--two {
  width: 30vw;
  height: 54vw;
  right: -6vw;
  top: 18vh;
  background: radial-gradient(circle, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 14%, transparent), transparent 70%);
}
.elevasn-gw__mist--three {
  width: 72vw;
  height: 24vw;
  left: 50%;
  top: 58vh;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 8%, transparent), color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 10%, transparent) 42%, transparent 72%);
}
.elevasn-gw__vortex,
.elevasn-gw__vortex-core,
.elevasn-gw__vortex-sheen {
  left: 50%;
  top: 44%;
  transform: translate(-50%, -50%);
  border-radius: 3rem;
}
.elevasn-gw__vortex {
  width: min(74vw, 980px);
  height: min(74vh, 820px);
  clip-path: polygon(18% 100%, 18% 78%, 24% 78%, 24% 66%, 31% 66%, 31% 54%, 38% 54%, 38% 42%, 62% 42%, 62% 54%, 69% 54%, 69% 66%, 76% 66%, 76% 78%, 82% 78%, 82% 100%);
  background:
    linear-gradient(180deg, rgba(247,245,240,.03), rgba(247,245,240,0) 22%),
    linear-gradient(180deg, transparent 0 12%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 36%, transparent) 12% 12.4%, transparent 12.4% 27%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 28%, transparent) 27% 27.35%, transparent 27.35% 41%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 22%, transparent) 41% 41.25%, transparent 41.25% 100%),
    linear-gradient(90deg, transparent 0 10%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 18%, transparent) 10% 90%, transparent 90%),
    radial-gradient(ellipse at 50% 6%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 18%, transparent), transparent 52%);
  opacity: calc(var(--gw-altar-plane-opacity, .56) * 1.05);
  filter: blur(1px);
  animation: elevasn-breathe var(--gw-breath-sec, 16s) ease-in-out infinite;
}
.elevasn-gw__vortex-core {
  width: min(var(--gw-altar-beam-width, 34%), 320px);
  min-width: 150px;
  height: min(76vh, 840px);
  border-radius: 140px 140px 30px 30px / 220px 220px 28px 28px;
  background:
    radial-gradient(ellipse at 50% 8%, rgba(247,245,240,.82), transparent 42%),
    linear-gradient(180deg, rgba(247,245,240,0) 0%, rgba(247,245,240,.12) 12%, color-mix(in srgb, var(--gw-portal-core, #f6efe1) 48%, transparent) 20%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 38%, transparent) 48%, rgba(165,121,50,.22) 70%, rgba(165,121,50,0) 100%),
    radial-gradient(ellipse at 50% 74%, color-mix(in srgb, var(--gw-portal-gold, #d1a44a) 20%, transparent), transparent 64%);
  opacity: var(--gw-altar-beam-strength, .74);
  filter: blur(14px) saturate(112%);
  box-shadow: 0 0 90px rgba(247,245,240,.08), 0 0 140px rgba(165,121,50,.14);
  animation: elevasn-vortex-core calc(var(--gw-breath-sec, 16s) * .96) ease-in-out infinite;
}
.elevasn-gw__vortex-sheen {
  width: min(64vw, 760px);
  height: min(82vh, 880px);
  border-radius: 440px 440px 38px 38px / 620px 620px 36px 36px;
  background:
    linear-gradient(90deg, transparent 0 22%, rgba(247,245,240,.04) 32%, rgba(247,245,240,.11) 50%, rgba(247,245,240,.04) 68%, transparent 78%),
    radial-gradient(ellipse at 50% 16%, rgba(247,245,240,.08), transparent 56%),
    linear-gradient(180deg, rgba(247,245,240,.05), transparent 68%);
  opacity: calc(var(--gw-altar-veil-opacity, .26) + .08);
  mix-blend-mode: screen;
  filter: blur(14px);
  animation: elevasn-veil var(--gw-veil-sec, 18s) ease-in-out infinite;
}
.elevasn-gw__halo,
.elevasn-gw__halo--inner,
.elevasn-gw__halo--outer {
  left: 50%;
  aspect-ratio: auto;
  transform: translateX(-50%);
  border-radius: 700px 700px 0 0 / 560px 560px 0 0;
  border: 1px solid rgba(247,245,240,.08);
  border-bottom: 0;
  background: none;
  box-shadow: none;
}
.elevasn-gw__halo {
  top: 10vh;
  width: min(82vw, 1020px);
  height: min(72vh, 760px);
  opacity: calc(var(--gw-altar-arch-opacity, .32) + .08);
}
.elevasn-gw__halo--inner {
  top: 15vh;
  width: min(62vw, 760px);
  height: min(56vh, 610px);
  opacity: calc(var(--gw-altar-arch-opacity, .32) + .04);
}
.elevasn-gw__halo--outer {
  top: 2vh;
  width: min(94vw, 1180px);
  height: min(84vh, 880px);
  opacity: calc(var(--gw-altar-arch-opacity, .32) * .78);
}
.elevasn-gw__ring-runner,
.elevasn-gw__ring-runner--one,
.elevasn-gw__ring-runner--two {
  aspect-ratio: auto;
  border-radius: 700px 700px 0 0 / 560px 560px 0 0;
  clip-path: inset(0 0 46% 0);
}
.elevasn-gw__ring-runner--one {
  width: min(84vw, 1040px);
  height: min(72vh, 760px);
  top: 8vh;
}
.elevasn-gw__ring-runner--two {
  width: min(98vw, 1220px);
  height: min(86vh, 900px);
  top: -2vh;
}
.elevasn-gw__ring-node {
  width: 12px;
  height: 12px;
}
.elevasn-gw__oracle {
  left: 50%;
  top: 62vh;
  width: min(48vw, 580px);
  height: 180px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(247,245,240,.16) 0, rgba(165,121,50,.18) 26%, rgba(165,121,50,.06) 46%, transparent 72%);
  filter: blur(20px);
  opacity: calc(var(--gw-glow-strength, .62) * .86);
}
.elevasn-gw__threshold {
  left: 50%;
  bottom: 8%;
  width: min(66vw, 860px);
  height: 120px;
  background:
    radial-gradient(ellipse at center, rgba(247,245,240,.08), rgba(165,121,50,.22) 36%, rgba(165,121,50,.05) 58%, transparent 74%),
    linear-gradient(180deg, rgba(247,245,240,.03), transparent 80%);
  filter: blur(18px);
  opacity: .5;
}
.elevasn-gw__hero::before {
  background:
    radial-gradient(ellipse at center, rgba(247,245,240,.055), transparent 60%),
    linear-gradient(180deg, rgba(247,245,240,.05), transparent 76%);
  filter: blur(16px);
}
.elevasn-gw__heading::after {
  width: min(50vw, 620px);
  height: 220px;
  background: radial-gradient(ellipse at center, rgba(247,245,240,.05), rgba(165,121,50,.04) 34%, transparent 72%);
  filter: blur(16px);
}
.elevasn-gw__body,
.elevasn-gw__note {
  max-width: 50rem;
}
.elevasn-gw__guard {
  top: 22vh;
  width: min(19vw, 220px);
  height: min(52vh, 560px);
  border-radius: 999px;
  background-size: 52% auto, auto, auto, auto, auto;
  opacity: .22;
}
.elevasn-gw__guard::before {
  top: 10%;
  width: min(9vw, 96px);
  height: min(9vw, 96px);
  border-color: rgba(165,121,50,.12);
}
.elevasn-gw__guard::after {
  top: 22%;
  height: 54%;
  background: linear-gradient(180deg, rgba(165,121,50,.2), rgba(247,245,240,.02), transparent);
}
.elevasn-gw__guard--left { left: max(-4vw, -24px); }
.elevasn-gw__guard--right { right: max(-4vw, -24px); }
.elevasn-gw__sacred { opacity: .16; }
.elevasn-gw__sigil { width: 54vmin; height: 54vmin; opacity: .22; }

@media (max-width: 749px) {
  .elevasn-gw { min-height: var(--gw-min-mob, 720px); }
  .elevasn-gw__breath {
    inset: 8% 10% auto;
    height: 80%;
  }
  .elevasn-gw__vortex {
    top: 44%;
    width: 112vw;
    height: 68vh;
    clip-path: polygon(10% 100%, 10% 80%, 18% 80%, 18% 68%, 27% 68%, 27% 58%, 36% 58%, 36% 48%, 64% 48%, 64% 58%, 73% 58%, 73% 68%, 82% 68%, 82% 80%, 90% 80%, 90% 100%);
  }
  .elevasn-gw__vortex-core {
    width: max(34vw, 160px);
    height: 58vh;
    top: 46%;
  }
  .elevasn-gw__vortex-sheen {
    width: 92vw;
    height: 66vh;
    top: 46%;
  }
  .elevasn-gw__halo { width: 118vw; height: 66vh; top: 12vh; }
  .elevasn-gw__halo--outer { width: 134vw; height: 76vh; top: 4vh; }
  .elevasn-gw__halo--inner { width: 88vw; height: 54vh; top: 18vh; }
  .elevasn-gw__ring-runner--one { width: 120vw; height: 66vh; top: 10vh; }
  .elevasn-gw__ring-runner--two { width: 140vw; height: 78vh; top: 2vh; }
  .elevasn-gw__oracle { width: 78vw; top: 62vh; height: 130px; }
  .elevasn-gw__threshold { width: 92vw; bottom: 10%; }
  .elevasn-gw__mist--one { width: 58vw; height: 88vw; left: -18vw; top: 24vh; }
  .elevasn-gw__mist--two { width: 54vw; height: 82vw; right: -16vw; top: 22vh; }
  .elevasn-gw__mist--three { width: 92vw; height: 36vw; top: 56vh; }
  .elevasn-gw__guard { width: 24vw; height: 38vh; top: 26vh; opacity: .16; }
  .elevasn-gw__heading::after { width: 74vw; height: 160px; }
}

/* ═══════════════════════════════════════
   ELEVATED SPIRITUAL PORTAL EFFECTS
   ═══════════════════════════════════════ */

/* ── Swirling energy rings ── */
.elevasn-gw__swirl {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  border: 1px solid transparent;
  pointer-events: none;
  transform-origin: center;
}

.elevasn-gw__swirl--one {
  width: min(80vw, 900px);
  height: min(80vw, 900px);
  margin-left: min(-40vw, -450px);
  margin-top: min(-40vw, -450px);
  border-image: conic-gradient(from 0deg, rgba(165,121,50,.3), rgba(143,123,255,.15), rgba(141,214,255,.2), rgba(165,121,50,.3)) 1;
  border-width: 1.5px;
  border-style: solid;
  animation: elevasn-swirl-spin 28s linear infinite;
  opacity: .4;
  filter: blur(.5px);
}

.elevasn-gw__swirl--two {
  width: min(60vw, 680px);
  height: min(60vw, 680px);
  margin-left: min(-30vw, -340px);
  margin-top: min(-30vw, -340px);
  border-image: conic-gradient(from 120deg, rgba(141,214,255,.2), rgba(165,121,50,.25), rgba(247,245,240,.1), rgba(141,214,255,.2)) 1;
  border-width: 1px;
  border-style: solid;
  animation: elevasn-swirl-spin 22s linear infinite reverse;
  opacity: .35;
  filter: blur(.3px);
}

.elevasn-gw__swirl--three {
  width: min(42vw, 480px);
  height: min(42vw, 480px);
  margin-left: min(-21vw, -240px);
  margin-top: min(-21vw, -240px);
  border-image: conic-gradient(from 240deg, rgba(165,121,50,.35), rgba(247,245,240,.12), rgba(143,123,255,.1), rgba(165,121,50,.35)) 1;
  border-width: 1px;
  border-style: solid;
  animation: elevasn-swirl-spin 18s linear infinite;
  opacity: .45;
}

@keyframes elevasn-swirl-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ── Nebula clouds ── */
.elevasn-gw__nebula {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: screen;
}

.elevasn-gw__nebula--one {
  width: 50vw;
  height: 50vw;
  left: -10vw;
  top: 10vh;
  background: radial-gradient(ellipse at 40% 50%,
    rgba(143,123,255,.08) 0%,
    rgba(141,214,255,.05) 30%,
    transparent 70%);
  filter: blur(60px);
  opacity: .6;
  animation: elevasn-nebula-drift 30s ease-in-out infinite;
}

.elevasn-gw__nebula--two {
  width: 45vw;
  height: 45vw;
  right: -8vw;
  top: 20vh;
  background: radial-gradient(ellipse at 60% 40%,
    rgba(165,121,50,.1) 0%,
    rgba(143,123,255,.04) 30%,
    transparent 70%);
  filter: blur(50px);
  opacity: .5;
  animation: elevasn-nebula-drift 24s ease-in-out infinite reverse;
}

@keyframes elevasn-nebula-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1) rotate(0deg); opacity: .4; }
  33% { transform: translate3d(20px, -15px, 0) scale(1.08) rotate(3deg); opacity: .65; }
  66% { transform: translate3d(-15px, 10px, 0) scale(.95) rotate(-2deg); opacity: .5; }
}

/* ── Floating spiritual orbs (spawned by JS) ── */
.elevasn-orb {
  position: fixed;
  z-index: 99998;
  pointer-events: none;
  border-radius: 50%;
  animation: elevasn-orb-float linear infinite;
}

.elevasn-orb__inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  animation: elevasn-orb-pulse 4s ease-in-out infinite;
}

.elevasn-orb--gold .elevasn-orb__inner {
  background: radial-gradient(circle at 35% 35%,
    rgba(247,245,240,.6),
    rgba(165,121,50,.5) 40%,
    rgba(139,105,20,.2) 70%,
    transparent);
  box-shadow:
    0 0 20px rgba(165,121,50,.4),
    0 0 40px rgba(165,121,50,.2),
    0 0 80px rgba(165,121,50,.1);
}

.elevasn-orb--violet .elevasn-orb__inner {
  background: radial-gradient(circle at 35% 35%,
    rgba(247,245,240,.4),
    rgba(143,123,255,.4) 40%,
    rgba(143,123,255,.15) 70%,
    transparent);
  box-shadow:
    0 0 20px rgba(143,123,255,.3),
    0 0 40px rgba(143,123,255,.15),
    0 0 80px rgba(143,123,255,.08);
}

.elevasn-orb--cyan .elevasn-orb__inner {
  background: radial-gradient(circle at 35% 35%,
    rgba(247,245,240,.35),
    rgba(141,214,255,.35) 40%,
    rgba(141,214,255,.12) 70%,
    transparent);
  box-shadow:
    0 0 20px rgba(141,214,255,.3),
    0 0 40px rgba(141,214,255,.15),
    0 0 60px rgba(141,214,255,.08);
}

@keyframes elevasn-orb-float {
  0% { opacity: 0; transform: translate3d(0, 80vh, 0) scale(.6); }
  5% { opacity: .8; }
  80% { opacity: .3; }
  100% { opacity: 0; transform: translate3d(var(--orb-drift, 40px), -15vh, 0) scale(.3); }
}

@keyframes elevasn-orb-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}

/* ── Floating yin-yang symbols ── */
.elevasn-yinyang {
  position: fixed;
  z-index: 99997;
  pointer-events: none;
  opacity: 0;
  animation: elevasn-symbol-float linear infinite;
}

.elevasn-yinyang svg {
  width: 100%;
  height: 100%;
  animation: elevasn-symbol-spin 12s linear infinite;
}

@keyframes elevasn-symbol-float {
  0% { opacity: 0; transform: translateY(90vh) scale(.5); }
  8% { opacity: .2; }
  75% { opacity: .08; }
  100% { opacity: 0; transform: translateY(-10vh) scale(.2); }
}

@keyframes elevasn-symbol-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ── Sacred geometry symbols ── */
.elevasn-sacred-sym {
  position: fixed;
  z-index: 99996;
  pointer-events: none;
  opacity: 0;
  animation: elevasn-symbol-float linear infinite;
}

.elevasn-sacred-sym svg {
  width: 100%;
  height: 100%;
  animation: elevasn-symbol-spin 20s linear infinite;
}

@media (max-width: 749px) {
  .elevasn-gw__swirl { display: none; }
  .elevasn-gw__nebula { opacity: .25; }
}



/* =========================
   CLEAN GATEWAY OVERRIDE
   ========================= */

.elevasn-particles,
.elevasn-gw__sacred,
.elevasn-gw__breath,
.elevasn-gw__vortex,
.elevasn-gw__vortex-core,
.elevasn-gw__vortex-sheen,
.elevasn-gw__swirl,
.elevasn-gw__nebula,
.elevasn-gw__mist--two,
.elevasn-gw__mist--three,
.elevasn-gw__halo--inner,
.elevasn-gw__halo--outer,
.elevasn-gw__ring-runner,
.elevasn-gw__veil,
.elevasn-gw__guard,
.elevasn-gw__sigils,
.elevasn-gw__oracle,
.elevasn-orb,
.elevasn-yinyang,
.elevasn-sacred-sym {
  display: none !important;
}

.elevasn-gw {
  background:
    radial-gradient(circle at 50% 8%, rgba(247,245,240,.06), transparent 14%),
    radial-gradient(circle at 50% 20%, rgba(165,121,50,.12), transparent 28%),
    linear-gradient(180deg, #051510 0%, #082116 38%, #062317 100%);
}

.elevasn-gw::before {
  inset: -6% -8% auto;
  height: 52%;
  opacity: .45;
}

.elevasn-gw::after {
  opacity: .04;
  animation: none;
}

.elevasn-gw__mist--one {
  width: 38vw;
  height: 38vw;
  left: 50%;
  top: 10vh;
  transform: translateX(-50%);
  opacity: .16;
  filter: blur(90px);
  animation: none;
  background: radial-gradient(circle, rgba(165,121,50,.16), transparent 72%);
}

.elevasn-gw__halo {
  top: 4vh;
  width: min(68vw, 760px);
  opacity: .22;
  border: 1px solid rgba(247,245,240,.10);
  box-shadow: 0 0 70px rgba(165,121,50,.10);
  animation: none;
}

.elevasn-gw__constellation {
  opacity: .18;
}

.elevasn-gw__wrap {
  padding-top: max(5rem, 7vh);
  padding-bottom: max(3.5rem, 5vh);
  gap: 1.2rem;
}

.elevasn-gw__hero {
  max-width: 860px;
}

.elevasn-gw__hero::before {
  display: none;
}

.elevasn-gw__heading {
  max-width: 10ch;
  margin-inline: auto;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: .94;
  text-shadow: 0 10px 30px rgba(0,0,0,.28);
}

.elevasn-gw__body {
  max-width: 760px;
  margin: 1rem auto 0;
  color: rgba(247,245,240,.90);
  text-shadow: none;
}

.elevasn-gw__note {
  max-width: 620px;
  margin: .85rem auto 0;
  opacity: .82;
  text-shadow: none;
}

.elevasn-gw__hero-cta {
  gap: .85rem;
  margin-top: 1.25rem;
}

.elevasn-gw__btn {
  backdrop-filter: blur(8px);
  box-shadow: none;
}

.elevasn-gw__btn--primary:hover,
.elevasn-gw__btn--secondary:hover {
  transform: translateY(-1px);
  box-shadow: none;
}

.elevasn-gw__paths,
.elevasn-gw__utils {
  gap: 1.1rem;
}

.elevasn-gw__card {
  min-height: 220px;
  padding: 1.5rem;
  border: 1px solid rgba(165,121,50,.18);
  border-radius: 1.6rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)),
    rgba(7,20,14,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter: blur(8px);
}

.elevasn-gw__card:hover {
  transform: translateY(-2px);
  border-color: rgba(165,121,50,.34);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.elevasn-gw__label {
  opacity: .8;
}

.elevasn-gw__card-title {
  font-size: clamp(1.4rem, 1.8vw, 1.9rem);
}

.elevasn-gw__card-text {
  color: rgba(212,208,199,.88);
}

.elevasn-gw__divider {
  margin: .2rem 0;
}

.elevasn-gw__divider span {
  opacity: .45;
}

:is(.elevasn-aura-launcher, .aura-launcher, [data-aura-launcher], .elevasn-aura-button) {
  animation: none !important;
}

@media (max-width: 989px) {
  .elevasn-gw__paths {
    grid-template-columns: 1fr;
  }

  .elevasn-gw__utils {
    grid-template-columns: 1fr;
  }

  .elevasn-gw__heading {
    max-width: 12ch;
  }

  .elevasn-gw__mist--one {
    width: 74vw;
    height: 74vw;
    top: 12vh;
  }
}


/* ═══ Spiritual animated overlays ═══ */
.elevasn-gw__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.elevasn-gw__overlay--eagles {
  inset: 0 0 auto;
  height: 52%;
}
.elevasn-overlay-item {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  will-change: transform, opacity;
}
.elevasn-overlay-item--symbol {
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 18px rgba(165,121,50,.16));
  opacity: 0;
  animation: elevasn-symbol-float linear infinite;
}
.elevasn-overlay-item--eagle {
  filter: drop-shadow(0 12px 26px rgba(0,0,0,.26)) drop-shadow(0 0 16px rgba(165,121,50,.12));
  opacity: 0;
  animation: elevasn-eagle-glide linear infinite;
  transform-origin: center;
}
.elevasn-overlay-item--rose {
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.24));
  opacity: 0;
  animation: elevasn-rose-fall linear infinite;
}
@keyframes elevasn-symbol-float {
  0% { transform: translate3d(0, 0, 0) scale(.92) rotate(0deg); opacity: 0; }
  15% { opacity: var(--item-opacity, .18); }
  50% { transform: translate3d(var(--drift-x, 18px), var(--drift-y, -14px), 0) scale(1.02) rotate(180deg); opacity: calc(var(--item-opacity, .18) * .95); }
  85% { opacity: var(--item-opacity, .18); }
  100% { transform: translate3d(0, 0, 0) scale(.92) rotate(360deg); opacity: 0; }
}
@keyframes elevasn-eagle-glide {
  0% { transform: translate3d(0, 0, 0) scale(.88) rotate(-3deg); opacity: 0; }
  8% { opacity: var(--item-opacity, .12); }
  50% { transform: translate3d(65vw, calc(var(--glide-y, 18px) * -1), 0) scale(1) rotate(1deg); opacity: calc(var(--item-opacity, .12) * 1.05); }
  92% { opacity: var(--item-opacity, .12); }
  100% { transform: translate3d(135vw, var(--glide-y, 18px), 0) scale(1.08) rotate(3deg); opacity: 0; }
}
@keyframes elevasn-rose-fall {
  0% { transform: translate3d(0, -10vh, 0) rotate(0deg) scale(.86); opacity: 0; }
  12% { opacity: var(--item-opacity, .4); }
  50% { transform: translate3d(calc(var(--fall-sway, 32px) * .6), 54vh, 0) rotate(calc(var(--item-rotate, 160deg) * .55)) scale(1); }
  100% { transform: translate3d(var(--fall-sway, 32px), 110vh, 0) rotate(var(--item-rotate, 160deg)) scale(1.06); opacity: 0; }
}
@media (max-width: 749px) {
  .elevasn-gw__overlay--eagles {
    height: 42%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .elevasn-overlay-item {
    animation: none !important;
  }
}


/* ═══ Refined luxury overlay tuning ═══ */
.elevasn-gw__overlay--symbols { opacity: .72; }
.elevasn-gw__overlay--eagles { opacity: .52; }
.elevasn-gw__overlay--roses { opacity: .78; }
.elevasn-overlay-item--symbol { mix-blend-mode: screen; filter: blur(.15px) drop-shadow(0 0 10px rgba(165,121,50,.10)); }
.elevasn-overlay-item--eagle { mix-blend-mode: screen; filter: blur(.2px) drop-shadow(0 16px 30px rgba(0,0,0,.22)) drop-shadow(0 0 18px rgba(165,121,50,.08)); }
.elevasn-overlay-item--rose { mix-blend-mode: normal; filter: blur(.1px) drop-shadow(0 8px 16px rgba(0,0,0,.18)); }
@media (max-width: 749px) {
  .elevasn-gw__overlay--symbols { opacity: .5; }
  .elevasn-gw__overlay--eagles { opacity: .38; }
  .elevasn-gw__overlay--roses { opacity: .58; }
}


/* ═══ User symbol-only overlay override ═══ */
.elevasn-gw__overlay--eagles,
.elevasn-gw__overlay--roses {
  display: none !important;
}
.elevasn-gw__overlay--symbols {
  opacity: .82;
}
.elevasn-overlay-item--symbol {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  mix-blend-mode: screen;
  filter: blur(.15px) drop-shadow(0 0 10px rgba(165,121,50,.10)) drop-shadow(0 0 18px rgba(247,245,240,.06));
  opacity: 0;
  animation: elevasn-user-symbol-float linear infinite;
}
@keyframes elevasn-user-symbol-float {
  0% {
    transform: translate3d(0, 0, 0) scale(var(--scale-start, .94)) rotate(var(--rotate-start, 0deg));
    opacity: 0;
  }
  15% {
    opacity: var(--item-opacity, .12);
  }
  50% {
    transform: translate3d(var(--drift-x, 16px), var(--drift-y, -12px), 0) scale(calc(var(--scale-start, .94) + .06)) rotate(calc(var(--rotate-start, 0deg) + 90deg));
    opacity: calc(var(--item-opacity, .12) * .96);
  }
  85% {
    opacity: var(--item-opacity, .12);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(var(--scale-start, .94)) rotate(var(--rotate-end, 180deg));
    opacity: 0;
  }
}
@media (max-width: 749px) {
  .elevasn-gw__overlay--symbols {
    opacity: .62;
  }
}


/* ═══ Defined eagle and rose overlay override ═══ */
.elevasn-gw__overlay--eagles,
.elevasn-gw__overlay--roses {
  display: block !important;
}
.elevasn-gw__overlay--symbols {
  opacity: .80;
}
.elevasn-gw__overlay--eagles {
  opacity: .78;
}
.elevasn-gw__overlay--roses {
  opacity: .88;
}
.elevasn-overlay-item--eagle {
  mix-blend-mode: screen;
  filter: drop-shadow(0 16px 28px rgba(0,0,0,.22)) drop-shadow(0 0 22px rgba(209,164,74,.10));
  opacity: 0;
  animation: elevasn-eagle-glide linear infinite;
}
.elevasn-overlay-item--rose {
  mix-blend-mode: normal;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.22));
  opacity: 0;
  animation: elevasn-rose-fall linear infinite;
}
@keyframes elevasn-eagle-glide {
  0% { transform: translate3d(0, 0, 0) scale(.90) rotate(-2deg); opacity: 0; }
  10% { opacity: var(--item-opacity, .10); }
  52% { transform: translate3d(68vw, calc(var(--glide-y, 14px) * -1), 0) scale(1.01) rotate(1deg); opacity: calc(var(--item-opacity, .10) * 1.06); }
  92% { opacity: var(--item-opacity, .10); }
  100% { transform: translate3d(142vw, var(--glide-y, 14px), 0) scale(1.08) rotate(2deg); opacity: 0; }
}
@keyframes elevasn-rose-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg) scale(.88); opacity: 0; }
  12% { opacity: var(--item-opacity, .20); }
  55% { transform: translate3d(calc(var(--fall-sway, 20px) * .7), 58vh, 0) rotate(calc(var(--item-rotate, 180deg) * .58)) scale(1); }
  100% { transform: translate3d(var(--fall-sway, 20px), 110vh, 0) rotate(var(--item-rotate, 180deg)) scale(1.05); opacity: 0; }
}
@media (max-width: 749px) {
  .elevasn-gw__overlay--symbols { opacity: .60; }
  .elevasn-gw__overlay--eagles { opacity: .62; }
  .elevasn-gw__overlay--roses { opacity: .72; }
}


/* ═══ Spiritual glyph rain override ═══ */
.elevasn-gw__overlay--eagles,
.elevasn-gw__overlay--roses {
  display: none !important;
}
.elevasn-gw__overlay--symbols {
  opacity: .96;
  inset: 0;
}
.elevasn-overlay-item--symbol,
.elevasn-overlay-item--eagle,
.elevasn-overlay-item--rose {
  animation: none !important;
}
.elevasn-overlay-item--glyph {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  mix-blend-mode: screen;
  filter: blur(var(--item-blur, 0px)) drop-shadow(0 0 6px rgba(247,245,240,.12)) drop-shadow(0 0 16px rgba(165,121,50,.12)) drop-shadow(0 0 24px rgba(165,121,50,.08));
  opacity: 0;
  animation: elevasn-spiritual-glyph-rain linear infinite;
  will-change: transform, opacity;
}
@keyframes elevasn-spiritual-glyph-rain {
  0% { transform: translate3d(0, -8vh, 0) scale(var(--scale-start, .9)) rotate(0deg); opacity: 0; }
  8% { opacity: calc(var(--item-opacity, .16) * .8); }
  22% { transform: translate3d(calc(var(--sway-x, 0px) * .35), 26vh, 0) scale(calc(var(--scale-start, .9) + .04)) rotate(calc(var(--rotate-end, 14deg) * .25)); opacity: var(--item-opacity, .16); }
  50% { transform: translate3d(var(--sway-mid, 0px), 60vh, 0) scale(calc(var(--scale-start, .9) + .08)) rotate(calc(var(--rotate-end, 14deg) * .7)); opacity: calc(var(--item-opacity, .16) * .92); }
  82% { opacity: calc(var(--item-opacity, .16) * .65); }
  100% { transform: translate3d(var(--sway-x, 0px), var(--fall-distance, 120vh), 0) scale(calc(var(--scale-start, .9) + .1)) rotate(var(--rotate-end, 14deg)); opacity: 0; }
}
@media (max-width: 749px) {
  .elevasn-gw__overlay--symbols { opacity: .82; }
}
@media (prefers-reduced-motion: reduce) {
  .elevasn-overlay-item--glyph { animation: none !important; opacity: .08; }
}

/* ═══ Portal activation altar override ═══ */
.elevasn-gw__dimension { isolation: isolate; }
.elevasn-gw__dimension::before,
.elevasn-gw__dimension::after { content:""; position:absolute; left:50%; transform:translateX(-50%); pointer-events:none; }
.elevasn-gw__dimension::before {
  top:2vh; width:min(82vw,1080px); height:min(76vh,860px); border-radius:50% 50% 44% 44% / 52% 52% 38% 38%;
  background:
    radial-gradient(circle at 50% 22%, rgba(247,245,240,.12), transparent 12%),
    radial-gradient(circle at 50% 32%, rgba(209,164,74,.18), transparent 22%),
    radial-gradient(circle at 50% 48%, rgba(209,164,74,.10), transparent 40%),
    radial-gradient(circle at 50% 62%, rgba(8,33,22,.0), rgba(8,33,22,.0) 34%, rgba(6,22,17,.18) 56%, transparent 75%),
    radial-gradient(ellipse at center, rgba(247,245,240,.05) 0 42%, transparent 65%);
  border:1px solid rgba(247,245,240,.05);
  box-shadow:0 0 80px rgba(247,245,240,.04),0 0 140px rgba(209,164,74,.09),inset 0 0 65px rgba(247,245,240,.05),inset 0 -30px 90px rgba(209,164,74,.04);
  opacity:.84; filter:blur(.2px) saturate(110%); animation:elevasn-portal-field 15s ease-in-out infinite; z-index:0;
}
.elevasn-gw__dimension::after {
  top:14vh; width:min(56vw,640px); height:min(58vh,620px);
  background:
    radial-gradient(ellipse at 50% 100%, rgba(209,164,74,.20), transparent 58%),
    linear-gradient(180deg, rgba(247,245,240,0) 0%, rgba(247,245,240,.06) 10%, rgba(209,164,74,calc(var(--gw-altar-beam-strength, .88) * .16)) 26%, rgba(209,164,74,calc(var(--gw-altar-beam-strength, .88) * .26)) 46%, rgba(247,245,240,calc(var(--gw-altar-beam-strength, .88) * .18)) 62%, rgba(209,164,74,0) 100%);
  clip-path: polygon(44% 0, 56% 0, 72% 58%, 82% 100%, 18% 100%, 28% 58%);
  filter:blur(18px); opacity:.78; mix-blend-mode:screen; animation:elevasn-altar-beam 9.5s ease-in-out infinite; z-index:0;
}
.elevasn-gw__mist--one {
  width:46vw; height:46vw; top:8vh; opacity:.22; filter:blur(108px);
  background: radial-gradient(circle at 50% 42%, rgba(247,245,240,.05), transparent 18%), radial-gradient(circle, rgba(209,164,74,.18), transparent 70%);
}
.elevasn-gw__halo {
  top:2vh; width:min(78vw,940px); opacity:.26; border:1px solid rgba(247,245,240,.12);
  box-shadow:0 0 90px rgba(247,245,240,.06),0 0 160px rgba(209,164,74,.12),inset 0 0 54px rgba(247,245,240,.04);
}
.elevasn-gw__threshold {
  bottom:9%; width:min(74vw,960px); height:124px;
  background: radial-gradient(ellipse at center, rgba(247,245,240,.06) 0 16%, rgba(209,164,74,.22) 28%, rgba(209,164,74,.12) 42%, transparent 72%), radial-gradient(ellipse at center, rgba(209,164,74,.12), transparent 64%);
  filter:blur(22px); opacity:.82; animation:elevasn-threshold-glow 12s ease-in-out infinite, elevasn-altar-activate 10.5s ease-in-out infinite;
}
.elevasn-gw__threshold::before,
.elevasn-gw__threshold::after { content:""; position:absolute; left:50%; transform:translateX(-50%); pointer-events:none; }
.elevasn-gw__threshold::before {
  bottom:16px; width:min(54vw,620px); height:22px; border-radius:999px;
  background: linear-gradient(90deg, transparent 0%, rgba(247,245,240,.18) 14%, rgba(209,164,74,.58) 50%, rgba(247,245,240,.18) 86%, transparent 100%);
  box-shadow:0 0 20px rgba(209,164,74,.18),0 0 44px rgba(209,164,74,.14); opacity:calc(var(--gw-altar-plane-opacity, .30) + .22);
}
.elevasn-gw__threshold::after {
  bottom:12px; width:clamp(180px, var(--gw-altar-beam-width, 40%), 420px); height:min(54vh,520px);
  background: linear-gradient(180deg, rgba(247,245,240,0) 0%, rgba(247,245,240,.12) 8%, rgba(209,164,74,.34) 20%, rgba(247,245,240,.16) 52%, rgba(209,164,74,0) 100%);
  clip-path: polygon(47% 0, 53% 0, 66% 18%, 78% 100%, 22% 100%, 34% 18%);
  filter:blur(14px); opacity:calc(var(--gw-altar-beam-strength, .88) * .68); mix-blend-mode:screen; animation:elevasn-beam-ignite 9s ease-in-out infinite;
}
.elevasn-gw__hero::before {
  display:block; inset:-7% -10%;
  background: radial-gradient(ellipse at center, rgba(247,245,240,.07), transparent 52%), radial-gradient(circle at 50% 30%, rgba(209,164,74,.14), transparent 34%), radial-gradient(circle at 50% 62%, rgba(209,164,74,.08), transparent 42%);
  filter:blur(22px); opacity:.95;
}
.elevasn-gw__heading { text-shadow:0 0 16px rgba(247,245,240,.06), 0 10px 32px rgba(0,0,0,.28); }
.elevasn-gw__constellation { opacity:.12; }
@keyframes elevasn-portal-field {
  0%,100% { transform:translateX(-50%) scale(.985); opacity:.78; box-shadow:0 0 70px rgba(247,245,240,.04),0 0 120px rgba(209,164,74,.08),inset 0 0 50px rgba(247,245,240,.04),inset 0 -26px 80px rgba(209,164,74,.03); }
  50% { transform:translateX(-50%) scale(1.025); opacity:.92; box-shadow:0 0 92px rgba(247,245,240,.05),0 0 170px rgba(209,164,74,.12),inset 0 0 72px rgba(247,245,240,.05),inset 0 -36px 110px rgba(209,164,74,.05); }
}
@keyframes elevasn-altar-beam {
  0%,100% { transform:translateX(-50%) scaleY(.94); opacity:.58; filter:blur(18px); }
  45% { transform:translateX(-50%) scaleY(1.08); opacity:.82; filter:blur(14px); }
  55% { transform:translateX(-50%) scaleY(1.12); opacity:.92; filter:blur(12px); }
}
@keyframes elevasn-altar-activate {
  0%,100% { transform:translateX(-50%) scaleX(.96) scaleY(.92); opacity:.66; }
  48% { transform:translateX(-50%) scaleX(1.03) scaleY(1.06); opacity:.86; }
  56% { transform:translateX(-50%) scaleX(1.06) scaleY(1.12); opacity:.96; }
}
@keyframes elevasn-beam-ignite {
  0%,100% { transform:translateX(-50%) translateY(10px) scaleY(.9); opacity:.36; }
  40% { transform:translateX(-50%) translateY(0) scaleY(1.04); opacity:.56; }
  54% { transform:translateX(-50%) translateY(-6px) scaleY(1.18); opacity:.74; }
}
@media (max-width: 989px) {
  .elevasn-gw__dimension::before { width:100vw; height:62vh; top:8vh; }
  .elevasn-gw__dimension::after { width:min(72vw,480px); height:44vh; top:20vh; }
  .elevasn-gw__threshold { width:88vw; height:110px; bottom:11%; }
  .elevasn-gw__threshold::before { width:68vw; }
  .elevasn-gw__threshold::after { width:min(48vw,280px); height:42vh; }
}


/* ═══ Deep spiritual altar + text awakening + extra symbols override ═══ */
/* remove square / line frame feeling */
.elevasn-gw::after {
  display: none !important;
}
.elevasn-gw__wrap::before,
.elevasn-gw__wrap::after,
.elevasn-gw__hero::after {
  content: none !important;
  display: none !important;
}

/* subtle text awakening effect after initial reveal */
.elevasn-gw.elevasn-text-awakened .elevasn-gw__eyebrow,
.elevasn-gw.elevasn-text-awakened .elevasn-gw__intel {
  animation: elevasn-copy-awaken 11s ease-in-out infinite;
}
.elevasn-gw.elevasn-text-awakened .elevasn-gw__heading {
  animation: elevasn-heading-awaken 13s ease-in-out infinite;
  will-change: transform, text-shadow, filter;
}
.elevasn-gw.elevasn-text-awakened .elevasn-gw__body,
.elevasn-gw.elevasn-text-awakened .elevasn-gw__note {
  animation: elevasn-copy-breathe 12s ease-in-out infinite;
  will-change: transform, text-shadow, opacity;
}
.elevasn-gw__heading {
  text-shadow: 0 0 16px rgba(247,245,240,.06), 0 12px 34px rgba(0,0,0,.30);
}
.elevasn-gw__body,
.elevasn-gw__note {
  text-shadow: 0 6px 22px rgba(0,0,0,.22);
}
@keyframes elevasn-heading-awaken {
  0%, 100% {
    transform: translateY(0) scale(1);
    text-shadow: 0 0 16px rgba(247,245,240,.05), 0 12px 34px rgba(0,0,0,.28), 0 0 26px rgba(209,164,74,.05);
    filter: drop-shadow(0 0 0 rgba(209,164,74,0));
  }
  50% {
    transform: translateY(-4px) scale(1.006);
    text-shadow: 0 0 24px rgba(247,245,240,.11), 0 16px 40px rgba(0,0,0,.32), 0 0 38px rgba(209,164,74,.12);
    filter: drop-shadow(0 0 10px rgba(209,164,74,.08));
  }
}
@keyframes elevasn-copy-breathe {
  0%, 100% {
    transform: translateY(0);
    opacity: .98;
    text-shadow: 0 6px 20px rgba(0,0,0,.22);
  }
  50% {
    transform: translateY(-1px);
    opacity: 1;
    text-shadow: 0 8px 24px rgba(0,0,0,.26), 0 0 18px rgba(247,245,240,.04);
  }
}
@keyframes elevasn-copy-awaken {
  0%, 100% { opacity: .92; text-shadow: 0 0 0 rgba(209,164,74,0); }
  50% { opacity: 1; text-shadow: 0 0 12px rgba(209,164,74,.08); }
}

/* deepen the altar / portal with subtle ritual energy */
.elevasn-gw__dimension::before {
  top: 1vh;
  width: min(84vw, 1120px);
  height: min(79vh, 900px);
  border: none;
  border-radius: 50% 50% 44% 44% / 54% 54% 36% 36%;
  background:
    radial-gradient(circle at 50% 18%, rgba(247,245,240,.09), transparent 10%),
    radial-gradient(circle at 50% 28%, rgba(209,164,74,.14), transparent 18%),
    radial-gradient(circle at 50% 43%, rgba(138,40,18,.10), transparent 28%),
    radial-gradient(circle at 50% 58%, rgba(209,164,74,.10), transparent 44%),
    radial-gradient(circle at 18% 46%, rgba(116,43,26,.06), transparent 24%),
    radial-gradient(circle at 82% 42%, rgba(116,43,26,.06), transparent 24%),
    radial-gradient(ellipse at center, rgba(247,245,240,.04) 0 40%, rgba(8,24,15,.0) 54%, rgba(8,24,15,.24) 68%, transparent 80%);
  box-shadow:
    0 0 110px rgba(209,164,74,.08),
    0 0 180px rgba(93,33,18,.10),
    inset 0 0 90px rgba(247,245,240,.04),
    inset 0 -56px 140px rgba(76,24,14,.08);
  opacity: .86;
  filter: blur(.2px) saturate(112%);
  animation: elevasn-juju-field 16s ease-in-out infinite;
}
.elevasn-gw__dimension::after {
  top: 12vh;
  width: min(54vw, 620px);
  height: min(61vh, 660px);
  background:
    radial-gradient(ellipse at 50% 94%, rgba(122,43,22,.20), transparent 58%),
    radial-gradient(ellipse at 50% 82%, rgba(209,164,74,.18), transparent 36%),
    linear-gradient(180deg,
      rgba(247,245,240,0) 0%,
      rgba(247,245,240,.05) 8%,
      rgba(209,164,74,.14) 18%,
      rgba(122,43,22,.12) 30%,
      rgba(209,164,74,.22) 46%,
      rgba(247,245,240,.12) 58%,
      rgba(209,164,74,0) 100%);
  clip-path: polygon(46% 0, 54% 0, 69% 40%, 81% 100%, 19% 100%, 31% 40%);
  filter: blur(22px);
  opacity: .68;
  mix-blend-mode: screen;
  animation: elevasn-juju-beam 11s ease-in-out infinite;
}
.elevasn-gw__mist--one {
  width: 52vw;
  height: 52vw;
  left: -4vw;
  top: 10vh;
  opacity: .20;
  filter: blur(120px);
  background:
    radial-gradient(circle at 48% 45%, rgba(122,43,22,.12), transparent 22%),
    radial-gradient(circle, rgba(209,164,74,.14), transparent 68%);
}
.elevasn-gw__halo {
  top: 1vh;
  width: min(78vw, 960px);
  border: none;
  opacity: .20;
  background:
    radial-gradient(circle at center, rgba(247,245,240,.03) 0 40%, transparent 58%),
    radial-gradient(circle at center, rgba(209,164,74,.06), transparent 70%);
  box-shadow: 0 0 120px rgba(209,164,74,.10), 0 0 180px rgba(247,245,240,.05), inset 0 0 60px rgba(247,245,240,.03);
}
.elevasn-gw__threshold {
  bottom: 8.5%;
  width: min(76vw, 980px);
  height: 136px;
  background:
    radial-gradient(ellipse at center, rgba(247,245,240,.05) 0 12%, rgba(209,164,74,.18) 20%, rgba(122,43,22,.16) 34%, rgba(209,164,74,.10) 44%, transparent 74%),
    radial-gradient(ellipse at center, rgba(8,24,15,.0), rgba(8,24,15,.0) 26%, rgba(8,24,15,.24) 62%, transparent 76%);
  filter: blur(24px);
  opacity: .84;
  animation: elevasn-threshold-glow 12s ease-in-out infinite, elevasn-juju-threshold 11.5s ease-in-out infinite;
}
.elevasn-gw__threshold::before {
  bottom: 12px;
  width: min(56vw, 700px);
  height: 34px;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at center, rgba(247,245,240,.09) 0 10%, rgba(209,164,74,.38) 28%, rgba(122,43,22,.22) 44%, transparent 72%),
    conic-gradient(from 0deg, transparent 0 8%, rgba(209,164,74,.16) 8% 12%, transparent 12% 22%, rgba(209,164,74,.14) 22% 26%, transparent 26% 36%, rgba(209,164,74,.14) 36% 40%, transparent 40% 58%, rgba(209,164,74,.14) 58% 62%, transparent 62% 100%);
  box-shadow: 0 0 28px rgba(209,164,74,.18), 0 0 62px rgba(122,43,22,.12);
  opacity: calc(var(--gw-altar-plane-opacity, .30) + .24);
}
.elevasn-gw__threshold::after {
  bottom: 8px;
  width: clamp(190px, var(--gw-altar-beam-width, 40%), 440px);
  height: min(56vh, 560px);
  background:
    linear-gradient(180deg,
      rgba(247,245,240,0) 0%,
      rgba(247,245,240,.10) 7%,
      rgba(209,164,74,.20) 16%,
      rgba(122,43,22,.18) 30%,
      rgba(209,164,74,.30) 52%,
      rgba(247,245,240,.14) 68%,
      rgba(209,164,74,0) 100%);
  clip-path: polygon(47% 0, 53% 0, 64% 18%, 78% 100%, 22% 100%, 36% 18%);
  filter: blur(16px);
  opacity: calc(var(--gw-altar-beam-strength, .88) * .70);
  animation: elevasn-juju-ignite 10s ease-in-out infinite;
}
.elevasn-gw__hero::before {
  inset: -6% -8%;
  height: auto;
  background:
    radial-gradient(ellipse at center, rgba(247,245,240,.05), transparent 50%),
    radial-gradient(circle at 50% 28%, rgba(209,164,74,.11), transparent 28%),
    radial-gradient(circle at 50% 65%, rgba(122,43,22,.08), transparent 36%);
  filter: blur(20px);
  opacity: .92;
}
@keyframes elevasn-juju-field {
  0%, 100% {
    transform: translateX(-50%) scale(.988);
    opacity: .80;
  }
  50% {
    transform: translateX(-50%) scale(1.024);
    opacity: .92;
  }
}
@keyframes elevasn-juju-beam {
  0%, 100% {
    transform: translateX(-50%) scaleY(.95);
    opacity: .56;
  }
  50% {
    transform: translateX(-50%) scaleY(1.12);
    opacity: .76;
  }
}
@keyframes elevasn-juju-threshold {
  0%, 100% {
    transform: translateX(-50%) scaleX(.98) scaleY(.94);
    opacity: .72;
  }
  50% {
    transform: translateX(-50%) scaleX(1.04) scaleY(1.10);
    opacity: .92;
  }
}
@keyframes elevasn-juju-ignite {
  0%, 100% {
    transform: translateX(-50%) translateY(8px) scaleY(.92);
    opacity: .40;
  }
  50% {
    transform: translateX(-50%) translateY(-6px) scaleY(1.16);
    opacity: .72;
  }
}
@media (max-width: 989px) {
  .elevasn-gw__dimension::before {
    width: 102vw;
    height: 64vh;
    top: 7vh;
  }
  .elevasn-gw__dimension::after {
    width: min(76vw, 500px);
    height: 45vh;
    top: 19vh;
  }
  .elevasn-gw__threshold {
    width: 90vw;
    height: 116px;
    bottom: 10%;
  }
  .elevasn-gw__threshold::before {
    width: 72vw;
  }
  .elevasn-gw__threshold::after {
    width: min(52vw, 300px);
    height: 42vh;
  }
}
@media (prefers-reduced-motion: reduce) {
  .elevasn-gw.elevasn-text-awakened .elevasn-gw__eyebrow,
  .elevasn-gw.elevasn-text-awakened .elevasn-gw__intel,
  .elevasn-gw.elevasn-text-awakened .elevasn-gw__heading,
  .elevasn-gw.elevasn-text-awakened .elevasn-gw__body,
  .elevasn-gw.elevasn-text-awakened .elevasn-gw__note {
    animation: none !important;
  }
}


/* ═══ Fix heading visibility after text awakening ═══ */
.elevasn-gw.elevasn-text-awakened .elevasn-gw__heading,
.elevasn-gw.elevasn-text-awakened .elevasn-gw__body,
.elevasn-gw.elevasn-text-awakened .elevasn-gw__note,
.elevasn-gw.elevasn-text-awakened .elevasn-gw__eyebrow,
.elevasn-gw.elevasn-text-awakened .elevasn-gw__intel {
  opacity: 1 !important;
}

@keyframes elevasn-heading-awaken {
  0%, 100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    text-shadow: 0 0 16px rgba(247,245,240,.05), 0 12px 34px rgba(0,0,0,.28), 0 0 26px rgba(209,164,74,.05);
    filter: drop-shadow(0 0 0 rgba(209,164,74,0));
  }
  50% {
    opacity: 1;
    transform: translateY(-4px) scale(1.006);
    text-shadow: 0 0 24px rgba(247,245,240,.11), 0 16px 40px rgba(0,0,0,.32), 0 0 38px rgba(209,164,74,.12);
    filter: drop-shadow(0 0 10px rgba(209,164,74,.08));
  }
}

@keyframes elevasn-copy-breathe {
  0%, 100% {
    opacity: .98;
    transform: translateY(0);
    text-shadow: 0 6px 20px rgba(0,0,0,.22);
  }
  50% {
    opacity: 1;
    transform: translateY(-1px);
    text-shadow: 0 8px 24px rgba(0,0,0,.26), 0 0 18px rgba(247,245,240,.04);
  }
}

@keyframes elevasn-copy-awaken {
  0%, 100% {
    opacity: .92;
    text-shadow: 0 0 0 rgba(209,164,74,0);
  }
  50% {
    opacity: 1;
    text-shadow: 0 0 12px rgba(209,164,74,.08);
  }
}

/* ═══ Clean center-art replacement for altar ═══ */
.elevasn-gw__center-art {
  position: absolute;
  left: 50%;
  top: clamp(3.5rem, 8vh, 6.5rem);
  width: min(54vw, 760px);
  height: min(72vh, 820px);
  transform: translateX(-50%);
  background-image: var(--gw-center-art);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .26;
  filter: drop-shadow(0 0 18px rgba(209,164,74,.10)) drop-shadow(0 0 36px rgba(247,245,240,.05));
  mix-blend-mode: screen;
  z-index: 0;
  pointer-events: none;
  isolation: isolate;
  animation: elevasn-center-art-float 12s ease-in-out infinite;
}
.elevasn-gw__center-art::before,
.elevasn-gw__center-art::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 50%;
}
.elevasn-gw__center-art::before {
  width: 74%;
  height: 74%;
  background:
    radial-gradient(circle at center,
      rgba(247,245,240,.10) 0%,
      rgba(209,164,74,.12) 18%,
      rgba(209,164,74,.08) 34%,
      rgba(209,164,74,0) 62%);
  filter: blur(26px);
  opacity: .42;
  mix-blend-mode: screen;
  z-index: -2;
  animation: elevasn-center-art-aura 8.5s ease-in-out infinite;
}
.elevasn-gw__center-art::after {
  width: 56%;
  height: 56%;
  background:
    radial-gradient(circle at center,
      rgba(247,245,240,.16) 0%,
      rgba(247,245,240,.08) 16%,
      rgba(209,164,74,.10) 28%,
      rgba(209,164,74,0) 54%);
  filter: blur(14px);
  opacity: .28;
  mix-blend-mode: screen;
  z-index: -1;
  animation: elevasn-center-art-pulse 5.8s ease-in-out infinite;
}

.elevasn-gw::before,
.elevasn-gw__breath,
.elevasn-gw__mist,
.elevasn-gw__halo,
.elevasn-gw__halo--inner,
.elevasn-gw__halo--outer,
.elevasn-gw__threshold,
.elevasn-gw__threshold::before,
.elevasn-gw__threshold::after,
.elevasn-gw__dimension::before,
.elevasn-gw__dimension::after {
  display: none !important;
  content: none !important;
}

.elevasn-gw__hero::before {
  background: none !important;
  filter: none !important;
  opacity: 0 !important;
}

.elevasn-gw__heading {
  text-shadow: 0 10px 28px rgba(0,0,0,.26), 0 0 12px rgba(247,245,240,.04);
}

@keyframes elevasn-center-art-float {
  0%, 100% {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: .24;
    filter: drop-shadow(0 0 18px rgba(209,164,74,.10)) drop-shadow(0 0 36px rgba(247,245,240,.05));
  }
  50% {
    transform: translateX(-50%) translateY(-10px) scale(1.015);
    opacity: .31;
    filter: drop-shadow(0 0 28px rgba(209,164,74,.18)) drop-shadow(0 0 54px rgba(247,245,240,.08));
  }
}
@keyframes elevasn-center-art-aura {
  0%, 100% {
    transform: translate(-50%, -50%) scale(.94);
    opacity: .26;
    filter: blur(24px);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.08);
    opacity: .48;
    filter: blur(32px);
  }
}
@keyframes elevasn-center-art-pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(.96);
    opacity: .18;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.12);
    opacity: .34;
  }
}

@media (max-width: 989px) {
  .elevasn-gw__center-art {
    width: min(76vw, 520px);
    height: min(54vh, 520px);
    top: clamp(4.5rem, 10vh, 7rem);
    opacity: .22;
  }
  .elevasn-gw__center-art::before {
    width: 86%;
    height: 86%;
    opacity: .32;
  }
  .elevasn-gw__center-art::after {
    width: 64%;
    height: 64%;
    opacity: .22;
  }
}

/* ELEVASN 404-safe pathway popup upgrade — 15 MAY 2026 */
.elevasn-gw__utils--single{
  grid-template-columns:minmax(0, 560px) !important;
  justify-content:center;
}
.elevasn-portal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  width:100vw !important;
  height:100dvh !important;
  padding:clamp(1rem,3vw,2rem) !important;
  overflow:auto !important;
  display:block;
  background:rgba(3,13,9,.72) !important;
  backdrop-filter:blur(18px) saturate(118%);
  color:var(--gw-text,#f7f5f0);
}
.elevasn-portal[hidden]{display:none !important;}
.elevasn-portal__backdrop{
  position:fixed;
  inset:0;
  z-index:0;
  border:0;
  padding:0;
  background:radial-gradient(circle at 50% 8%, rgba(165,121,50,.18), transparent 34%), rgba(2,9,6,.62);
  cursor:pointer;
}
.elevasn-portal > .page-width{
  position:relative !important;
  z-index:2 !important;
  width:min(1180px,calc(100vw - 2rem));
  margin:0 auto;
  padding:clamp(1rem,2.5vw,1.65rem) !important;
  border:1px solid rgba(165,121,50,.34);
  border-radius:clamp(1.3rem,3vw,2.2rem);
  background:linear-gradient(180deg, rgba(6,28,19,.98), rgba(3,17,12,.98));
  box-shadow:0 34px 100px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.06);
}
.elevasn-portal__close{
  position:fixed;
  top:clamp(.8rem,2vw,1.2rem);
  right:clamp(.8rem,2vw,1.2rem);
  z-index:3;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(165,121,50,.48);
  background:#103322;
  color:#f7f5f0;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.32);
}
.elevasn-portal__close:hover{border-color:var(--gw-accent,#a57932);transform:translateY(-1px);}
.elevasn-portal__glow{z-index:1;}
body.elevasn-portal-lock{overflow:hidden !important;}
.elevasn-portal__grid--native{margin-top:1.15rem;}
.elevasn-elearn{
  margin-top:1.2rem;
  padding:clamp(1.2rem,3vw,2rem);
  border:1px solid rgba(165,121,50,.28);
  border-radius:1.8rem;
  background:linear-gradient(180deg, rgba(11,27,20,.74), rgba(16,38,28,.64));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.elevasn-elearn__head h3{margin:.2rem 0 .6rem;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1;}
.elevasn-elearn__head p{margin:.3rem 0;color:var(--gw-muted,#d4d0c7);line-height:1.65;}
.elevasn-elearn__progress{
  margin-top:1rem;
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(165,121,50,.22);
}
.elevasn-elearn__progress span{display:block;width:0%;height:100%;background:linear-gradient(90deg, rgba(139,105,20,.9), rgba(247,245,240,.86));transition:width .28s ease;}
.elevasn-elearn__modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem;}
.elevasn-elearn__module{
  border:1px solid rgba(165,121,50,.25);
  border-radius:1.25rem;
  background:rgba(3,20,13,.5);
  padding:1rem;
}
.elevasn-elearn__module summary{cursor:pointer;list-style:none;display:grid;gap:.2rem;}
.elevasn-elearn__module summary::-webkit-details-marker{display:none;}
.elevasn-elearn__module summary span{color:var(--gw-accent,#a57932);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;}
.elevasn-elearn__module summary strong{font-size:1.25rem;font-weight:500;}
.elevasn-elearn__module p{color:var(--gw-muted,#d4d0c7);line-height:1.6;}
.elevasn-elearn__module label{display:flex;gap:.6rem;align-items:flex-start;margin:.65rem 0;color:rgba(247,245,240,.92);line-height:1.45;}
.elevasn-elearn__module input{margin-top:.2rem;accent-color:var(--gw-accent,#a57932);}
@media(max-width:749px){
  .elevasn-portal{padding:.7rem !important;}
  .elevasn-portal > .page-width{width:100%;padding:1rem !important;border-radius:1.35rem;}
  .elevasn-elearn__modules{grid-template-columns:1fr;}
  .elevasn-portal__close{width:40px;height:40px;font-size:1.7rem;}
}

/* ELEVASN e-learning game upgrades */
.elevasn-elearn__scoreline{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.75rem;
  margin-top:1rem;
  color:rgba(247,245,240,.72);
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.elevasn-elearn__scoreline [data-elearn-progress-text]{
  color:var(--gw-accent,#a57932);
  font-weight:700;
}
.elevasn-elearn__modules--games{
  grid-template-columns:1fr;
}
.elevasn-elearn__module--wide{
  grid-column:1 / -1;
}
.elevasn-elearn__module.is-complete,
.elevasn-choice-game.is-complete,
.elevasn-card-game.is-complete,
.elevasn-match.is-complete,
.elevasn-word-game.is-complete{
  border-color:rgba(247,245,240,.38);
  box-shadow:0 0 0 1px rgba(165,121,50,.18), 0 18px 50px rgba(165,121,50,.08);
}
.elevasn-game__prompt,
.elevasn-game__feedback{
  margin:.8rem 0;
  color:rgba(247,245,240,.86);
  line-height:1.55;
}
.elevasn-game__feedback{
  min-height:1.4em;
  padding:.85rem 1rem;
  border:1px solid rgba(165,121,50,.22);
  border-radius:1rem;
  background:rgba(0,0,0,.16);
}
.elevasn-choice-game,
.elevasn-card-game,
.elevasn-match,
.elevasn-word-game{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.25rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.elevasn-choice-game__grid,
.elevasn-card-game{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.elevasn-card-game{grid-template-columns:repeat(4,minmax(0,1fr));}
.elevasn-card-game .elevasn-game__feedback{grid-column:1 / -1;}
.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-match__grid button{
  appearance:none;
  border:1px solid rgba(165,121,50,.28);
  border-radius:1rem;
  background:rgba(27,61,47,.72);
  color:var(--gw-text,#f7f5f0);
  padding:.85rem .9rem;
  min-height:54px;
  font:600 .78rem/1.35 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease;
}
.elevasn-choice-game button:hover,
.elevasn-card-game button:hover,
.elevasn-match__grid button:hover{transform:translateY(-2px);border-color:rgba(247,245,240,.42);}
.elevasn-choice-game button.is-selected,
.elevasn-card-game button.is-selected,
.elevasn-match__grid button.is-selected{
  background:linear-gradient(180deg, rgba(165,121,50,.5), rgba(27,61,47,.85));
  border-color:rgba(247,245,240,.56);
}
.elevasn-choice-game button.is-wrong,
.elevasn-match__grid button.is-wrong{
  border-color:rgba(255,255,255,.3);
  transform:translateY(0) scale(.98);
  opacity:.72;
}
.elevasn-match__grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.55rem;
}
.elevasn-match__grid button{
  min-height:64px;
  border-radius:1.1rem;
  background:radial-gradient(circle at 35% 25%, rgba(247,245,240,.2), transparent 30%), linear-gradient(180deg, rgba(27,61,47,.9), rgba(4,39,23,.9));
}
.elevasn-match__grid button.is-cleared{
  opacity:.34;
  cursor:default;
  text-decoration:line-through;
  background:rgba(165,121,50,.22);
}
.elevasn-word-game{
  display:grid;
  gap:.75rem;
}
.elevasn-word-game label{
  display:grid !important;
  grid-template-columns:1fr minmax(120px,220px);
  gap:.75rem !important;
  align-items:center !important;
}
.elevasn-word-game input{
  width:100%;
  border:1px solid rgba(165,121,50,.3);
  border-radius:.85rem;
  background:rgba(3,20,13,.72);
  color:var(--gw-text,#f7f5f0);
  padding:.8rem .9rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.elevasn-word-game input.is-correct{border-color:rgba(247,245,240,.58);box-shadow:0 0 0 1px rgba(165,121,50,.2);}
.elevasn-word-game input.is-wrong{opacity:.78;}
@media(max-width:749px){
  .elevasn-choice-game__grid,
  .elevasn-card-game{grid-template-columns:1fr;}
  .elevasn-match__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .elevasn-match__grid button{min-height:56px;font-size:.68rem;padding:.65rem .45rem;}
  .elevasn-word-game label{grid-template-columns:1fr;}
}

/* Individual path uplift upgrades */
.elevasn-elearn__intro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.2rem;
}
.elevasn-elearn__intro-card{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.25rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.14));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.elevasn-elearn__intro-card span{
  display:block;
  color:var(--gw-accent,#a57932);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:.45rem;
}
.elevasn-elearn__intro-card strong{
  display:block;
  font-size:1.08rem;
  margin-bottom:.45rem;
}
.elevasn-elearn__intro-card p{margin:0;color:var(--gw-muted,#d4d0c7);line-height:1.6;}
.elevasn-heal-game{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.25rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.elevasn-heal-game__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}
.elevasn-heal-game button,
.elevasn-balance-game__choices button{
  appearance:none;
  border:1px solid rgba(165,121,50,.28);
  border-radius:1rem;
  background:rgba(27,61,47,.72);
  color:var(--gw-text,#f7f5f0);
  padding:.9rem 1rem;
  min-height:58px;
  font:600 .8rem/1.4 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}
.elevasn-heal-game button:hover,
.elevasn-balance-game__choices button:hover{transform:translateY(-2px);border-color:rgba(247,245,240,.42);}
.elevasn-heal-game button.is-selected,
.elevasn-balance-game__choices button.is-selected{
  background:linear-gradient(180deg, rgba(165,121,50,.5), rgba(27,61,47,.85));
  border-color:rgba(247,245,240,.56);
}
.elevasn-balance-game__choices button.is-wrong{
  border-color:rgba(255,255,255,.3);
  transform:translateY(0) scale(.98);
  opacity:.72;
}
.elevasn-balance-game{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.35rem;
  padding:1rem;
  background:
    radial-gradient(circle at 50% 0%, rgba(247,245,240,.08), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.elevasn-balance-game__scene{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  perspective:1200px;
  margin:.5rem 0 1rem;
}
.elevasn-balance-game__card{
  min-height:190px;
  padding:1rem;
  border-radius:1.35rem;
  border:1px solid rgba(165,121,50,.24);
  background:linear-gradient(180deg, rgba(8,31,22,.92), rgba(3,20,13,.74));
  box-shadow:0 20px 50px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
  transform-style:preserve-3d;
  position:relative;
  overflow:hidden;
}
.elevasn-balance-game__card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top, rgba(247,245,240,.08), transparent 42%);
  pointer-events:none;
}
.elevasn-balance-game__card--angel{transform:rotateY(16deg) translateY(-4px);}
.elevasn-balance-game__card--human{transform:translateZ(28px) translateY(-10px);border-color:rgba(247,245,240,.2);}
.elevasn-balance-game__card--devil{transform:rotateY(-16deg) translateY(-4px);}
.elevasn-balance-game__card span{
  display:block;
  color:var(--gw-accent,#a57932);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:.55rem;
}
.elevasn-balance-game__card strong{display:block;font-size:1.15rem;margin-bottom:.55rem;}
.elevasn-balance-game__card p{margin:0;color:rgba(247,245,240,.9);line-height:1.6;}
.elevasn-balance-game__choices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}
@media(max-width:749px){
  .elevasn-elearn__intro-grid,
  .elevasn-heal-game__grid,
  .elevasn-balance-game__scene,
  .elevasn-balance-game__choices{grid-template-columns:1fr;}
  .elevasn-balance-game__card--angel,
  .elevasn-balance-game__card--human,
  .elevasn-balance-game__card--devil{transform:none;min-height:auto;}
}

/* Individual module timing + reflections */
.elevasn-elearn__module summary em.elevasn-elearn__time{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin-top:.45rem;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid rgba(165,121,50,.25);
  background:rgba(165,121,50,.08);
  color:var(--gw-text,#f7f5f0);
  font-style:normal;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.elevasn-elearn__reflection{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(165,121,50,.18);
}

/* Word search game */
.elevasn-wordsearch-game{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.25rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.elevasn-wordsearch__wrap{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:1rem;
  align-items:start;
}
.elevasn-wordsearch__board{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:.28rem;
  padding:.7rem;
  border:3px solid rgba(247,245,240,.9);
  background:#fff;
  max-width:560px;
}
.elevasn-wordsearch__cell{
  appearance:none;
  border:none;
  background:transparent;
  color:#111;
  font:600 clamp(.92rem,1.45vw,1.1rem)/1 Inter,Arial,sans-serif;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, color .15s ease;
}
.elevasn-wordsearch__cell:hover{transform:scale(1.05);background:rgba(139,105,20,.1);}
.elevasn-wordsearch__cell.is-selected{background:#d4af37;color:#07140f;border-radius:.3rem;}
.elevasn-wordsearch__cell.is-found{background:#1b3d2f;color:#fff;border-radius:.3rem;}
.elevasn-wordsearch__side{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.15rem;
  padding:1rem;
  background:rgba(3,20,13,.45);
}
.elevasn-wordsearch__kicker{
  margin:0 0 .8rem;
  color:var(--gw-accent,#a57932);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.76rem;
}
.elevasn-wordsearch__list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.45rem;}
.elevasn-wordsearch__list li{
  padding:.45rem .65rem;
  border:1px solid rgba(165,121,50,.18);
  border-radius:.8rem;
  color:rgba(247,245,240,.92);
  letter-spacing:.08em;
}
.elevasn-wordsearch__list li.is-found{
  background:rgba(27,61,47,.8);
  border-color:rgba(247,245,240,.32);
  text-decoration:line-through;
}
.elevasn-wordsearch__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;}

/* Aura Ascension game */
.elevasn-aura-crush{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.35rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.elevasn-aura-crush__layout{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.elevasn-aura-crush__panel{
  padding:1rem;
  border-radius:1.2rem;
  background:linear-gradient(180deg, #ffd7e4, #f7b8cb);
  color:#35513d;
  border:3px solid #f6f0f4;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.elevasn-aura-crush__panel p,
.elevasn-aura-crush__panel li,
.elevasn-aura-crush__panel strong{color:#35513d;}
.elevasn-aura-crush__objective p,
.elevasn-aura-crush__stats p{margin:.2rem 0 .55rem;font-weight:700;}
.elevasn-aura-crush__objective ul{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.3rem;}
.elevasn-aura-crush__board{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:.42rem;
  padding:1rem;
  border-radius:1.25rem;
  background:linear-gradient(180deg, rgba(84,150,201,.65), rgba(87,124,179,.72));
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.14);
}
.elevasn-aura-crush__tile{
  appearance:none;
  border:none;
  aspect-ratio:1/1;
  border-radius:1rem;
  color:#fff;
  font:800 .95rem/1 Inter,Arial,sans-serif;
  cursor:pointer;
  box-shadow:inset 0 3px 8px rgba(255,255,255,.2), 0 8px 14px rgba(0,0,0,.12);
  transition:transform .14s ease, box-shadow .14s ease, outline-color .14s ease;
}
.elevasn-aura-crush__tile:hover{transform:translateY(-2px);}
.elevasn-aura-crush__tile.is-selected{outline:3px solid rgba(255,255,255,.9);transform:scale(.96);}
.elevasn-aura-crush__tile--mind{background:linear-gradient(180deg,#2a94ff,#2f5cff);}
.elevasn-aura-crush__tile--heart{background:linear-gradient(180deg,#ff5a64,#ca1f32);}
.elevasn-aura-crush__tile--aura{background:linear-gradient(180deg,#b958ff,#8138db);}
.elevasn-aura-crush__tile--source{background:linear-gradient(180deg,#ffcb40,#f28c14);}
.elevasn-aura-crush__tile--peace{background:linear-gradient(180deg,#62ce66,#2ea341);}
.elevasn-aura-crush__tile--focus{background:linear-gradient(180deg,#ffd54f,#f6b000); color:#1c1c1c;}

@media(max-width:749px){
  .elevasn-wordsearch__wrap,
  .elevasn-aura-crush__layout{grid-template-columns:1fr;}
  .elevasn-wordsearch__board{max-width:none;}
  .elevasn-wordsearch__cell{font-size:.86rem;}
}

/* Luxury word search overrides */
.elevasn-wordsearch__board{
  border:2px solid rgba(247,245,240,.72);
  border-radius:1.15rem;
  background:linear-gradient(180deg, rgba(247,245,240,.98), rgba(238,233,224,.98));
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}
.elevasn-wordsearch__cell{
  font-family:Inter,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.08em;
}
.elevasn-wordsearch__cell.is-selected{background:linear-gradient(180deg,#cfac55,#9f7425);color:#fff;}
.elevasn-wordsearch__cell.is-found{background:linear-gradient(180deg,#1b3d2f,#0e231b);color:#f7f5f0;}
.elevasn-wordsearch__side{background:linear-gradient(180deg, rgba(6,24,18,.72), rgba(3,20,13,.58));}

/* Luxury Aura Ascension overrides */
.elevasn-aura-crush__panel{
  background:linear-gradient(180deg, rgba(8,31,22,.92), rgba(18,46,35,.86));
  color:#f7f5f0;
  border:1px solid rgba(165,121,50,.28);
  box-shadow:0 22px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
.elevasn-aura-crush__panel p,
.elevasn-aura-crush__panel li,
.elevasn-aura-crush__panel strong{color:#f7f5f0;}
.elevasn-aura-crush__hint{
  margin:.85rem 0 1rem;
  color:rgba(247,245,240,.78);
  font-size:.82rem;
  line-height:1.55;
}
.elevasn-aura-crush__board{
  background:
    radial-gradient(circle at top, rgba(247,245,240,.08), transparent 36%),
    linear-gradient(180deg, rgba(18,46,35,.9), rgba(10,30,22,.94));
  border:1px solid rgba(165,121,50,.24);
}
.elevasn-aura-crush__tile{
  border:1px solid rgba(247,245,240,.16);
  display:grid;
  place-items:center;
  gap:.1rem;
  padding:.25rem;
}
.elevasn-aura-crush__tile span{font:800 .8rem/1 Inter,Arial,sans-serif;letter-spacing:.08em;}
.elevasn-aura-crush__tile small{font:600 .52rem/1.2 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.92;}
.elevasn-aura-crush__tile--elevate{background:linear-gradient(180deg,#d8b563,#8b6a2c);}
.elevasn-aura-crush__tile--aura{background:linear-gradient(180deg,#7d57dd,#4f3197);}
.elevasn-aura-crush__tile--source{background:linear-gradient(180deg,#56b6a4,#1d6f63);}
.elevasn-aura-crush__tile--grace{background:linear-gradient(180deg,#e8e1cf,#bba26a); color:#19231c;}
.elevasn-aura-crush__tile--spirit{background:linear-gradient(180deg,#5f8eff,#3158b8);}
.elevasn-aura-crush__tile--gold{background:linear-gradient(180deg,#ffe28b,#cc9728); color:#1b1b1b;}
.elevasn-aura-crush__tile.is-selected{outline:2px solid rgba(247,245,240,.92);box-shadow:0 0 0 2px rgba(165,121,50,.3) inset;}

/* Racing game */
.elevasn-race-game{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.35rem;
  padding:1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.elevasn-race-game__track{display:grid;gap:.9rem;margin-bottom:1rem;}
.elevasn-race-game__lane{display:grid;gap:.4rem;}
.elevasn-race-game__label{
  color:var(--gw-accent,#a57932);
  font-size:.76rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.elevasn-race-game__bar{
  position:relative;
  height:24px;
  border-radius:999px;
  overflow:hidden;
  background:linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid rgba(165,121,50,.2);
}
.elevasn-race-game__bar::after{
  content:'';
  position:absolute;
  top:0;right:12px;bottom:0;
  width:4px;
  background:repeating-linear-gradient(180deg, rgba(247,245,240,.9), rgba(247,245,240,.9) 4px, transparent 4px, transparent 8px);
}
.elevasn-race-game__runner{
  position:absolute;
  top:2px;left:2px;bottom:2px;
  width:0%;
  border-radius:999px;
  transition:width .35s ease;
}
.elevasn-race-game__runner--human{background:linear-gradient(90deg,#d8b563,#8b6a2c);}
.elevasn-race-game__runner--shadow{background:linear-gradient(90deg,#4c5a55,#232f2b);}
.elevasn-race-game__choices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.elevasn-race-game__choices button{
  appearance:none;
  border:1px solid rgba(165,121,50,.28);
  border-radius:1rem;
  background:rgba(27,61,47,.72);
  color:var(--gw-text,#f7f5f0);
  padding:.9rem 1rem;
  min-height:70px;
  font:600 .78rem/1.45 Inter,Arial,sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}
.elevasn-race-game__choices button:hover{transform:translateY(-2px);border-color:rgba(247,245,240,.42);}
.elevasn-race-game__choices button.is-selected{background:linear-gradient(180deg, rgba(165,121,50,.5), rgba(27,61,47,.85));border-color:rgba(247,245,240,.56);}
.elevasn-race-game__choices button.is-wrong{opacity:.72;transform:scale(.98);}
@media(max-width:749px){
  .elevasn-race-game__choices{grid-template-columns:1fr;}
}


/* Final readability + mobile fix: Individual games */
.elevasn-aura-crush__layout{
  grid-template-columns: minmax(210px, 260px) minmax(0, 1fr) !important;
  align-items: stretch !important;
}
.elevasn-aura-crush__board{
  display:grid !important;
  grid-template-columns:repeat(8, minmax(42px, 1fr)) !important;
  gap:.55rem !important;
  min-height:420px !important;
  width:100% !important;
  padding:1rem !important;
  overflow:visible !important;
}
.elevasn-aura-crush__tile{
  display:grid !important;
  place-items:center !important;
  aspect-ratio:1 / 1 !important;
  min-width:0 !important;
  min-height:42px !important;
  border-radius:1rem !important;
  color:#ffffff !important;
  text-align:center !important;
  opacity:1 !important;
  visibility:visible !important;
}
.elevasn-aura-crush__tile small{
  color:inherit !important;
  font-size:clamp(.44rem,.75vw,.62rem) !important;
  line-height:1.05 !important;
  opacity:.98 !important;
  display:block !important;
}
.elevasn-aura-crush__tile span{
  color:inherit !important;
  font-size:clamp(.72rem,1vw,.95rem) !important;
  line-height:1 !important;
  display:block !important;
}
.elevasn-aura-crush__panel{
  min-width:0 !important;
}
.elevasn-aura-crush__panel p,
.elevasn-aura-crush__panel li,
.elevasn-aura-crush__panel strong,
.elevasn-aura-crush__hint{
  color:#f7f5f0 !important;
  text-shadow:none !important;
}
.elevasn-wordsearch__wrap{
  grid-template-columns:minmax(320px, 560px) minmax(260px, 1fr) !important;
}
.elevasn-wordsearch__board{
  grid-template-columns:repeat(10, minmax(32px, 1fr)) !important;
  gap:.35rem !important;
  padding:.85rem !important;
  max-width:620px !important;
  width:100% !important;
  background:#f7f5f0 !important;
}
.elevasn-wordsearch__cell{
  color:#07140f !important;
  background:#dde1da !important;
  border-radius:999px !important;
  font-weight:800 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.elevasn-wordsearch__cell.is-selected{
  color:#07140f !important;
  background:#d4af37 !important;
}
.elevasn-wordsearch__cell.is-found{
  color:#ffffff !important;
  background:#1b3d2f !important;
}
.elevasn-wordsearch__list li{
  color:#f7f5f0 !important;
  font-weight:700 !important;
  letter-spacing:.07em !important;
}
.elevasn-race-game{display:none !important;}

@media (max-width: 989px){
  .elevasn-aura-crush__layout,
  .elevasn-wordsearch__wrap{
    grid-template-columns:1fr !important;
  }
  .elevasn-aura-crush__board{
    grid-template-columns:repeat(8, minmax(34px, 1fr)) !important;
    gap:.42rem !important;
    min-height:auto !important;
    padding:.75rem !important;
  }
  .elevasn-aura-crush__tile{
    min-height:38px !important;
    border-radius:.8rem !important;
  }
}
@media (max-width: 549px){
  .elevasn-elearn{
    padding:1rem !important;
    border-radius:1.2rem !important;
  }
  .elevasn-elearn__module{
    padding:.85rem !important;
  }
  .elevasn-aura-crush__board{
    grid-template-columns:repeat(4, minmax(52px, 1fr)) !important;
    gap:.5rem !important;
  }
  .elevasn-aura-crush__tile{
    min-height:52px !important;
  }
  .elevasn-wordsearch__board{
    grid-template-columns:repeat(10, minmax(24px, 1fr)) !important;
    gap:.18rem !important;
    padding:.45rem !important;
  }
  .elevasn-wordsearch__cell{
    font-size:.68rem !important;
    border-radius:.45rem !important;
  }
  .elevasn-wordsearch__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .elevasn-game__feedback{
    font-size:.9rem !important;
    line-height:1.45 !important;
  }
}

/* Angel + devil battle game inspired by side-scrolling battle UI */
.elevasn-battle-game{
  border:1px solid rgba(165,121,50,.22);
  border-radius:1.5rem;
  padding:1rem;
  background:
    radial-gradient(circle at top, rgba(247,245,240,.06), transparent 28%),
    linear-gradient(180deg, rgba(8,31,22,.94), rgba(4,18,13,.95));
  overflow:hidden;
}
.elevasn-battle-game__hud{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:.9rem;
  align-items:center;
  margin-bottom:1rem;
}
.elevasn-battle-game__level{
  padding:.5rem .9rem;
  border-radius:999px;
  border:1px solid rgba(247,245,240,.16);
  background:rgba(255,255,255,.06);
  color:var(--gw-text,#f7f5f0);
  font:700 .73rem/1 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
}
.elevasn-battle-game__meter{
  padding:.65rem .8rem;
  border-radius:1rem;
  border:1px solid rgba(247,245,240,.12);
  background:rgba(0,0,0,.18);
}
.elevasn-battle-game__meter-head{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  align-items:center;
  margin-bottom:.45rem;
}
.elevasn-battle-game__meter-head span{
  color:var(--gw-accent,#a57932);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.elevasn-battle-game__meter-head strong{font-size:.95rem;color:var(--gw-text,#f7f5f0);}
.elevasn-battle-game__meter-bar{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(247,245,240,.08);
  border:1px solid rgba(247,245,240,.14);
}
.elevasn-battle-game__meter-bar span{
  display:block;
  height:100%;
  width:100%;
  transition:width .3s ease;
}
.elevasn-battle-game__meter--angel .elevasn-battle-game__meter-bar span{background:linear-gradient(90deg,#d7b061,#f5e2a6);}
.elevasn-battle-game__meter--devil .elevasn-battle-game__meter-bar span{background:linear-gradient(90deg,#b04b40,#df8d66);}

.elevasn-battle-game__arena{
  position:relative;
  min-height:320px;
  border-radius:1.5rem;
  overflow:hidden;
  padding:1rem;
  margin-bottom:1rem;
  background:
    linear-gradient(180deg, rgba(97,125,162,.75) 0%, rgba(79,108,144,.78) 34%, rgba(35,43,78,.52) 35%, rgba(13,18,29,.84) 100%);
  border:1px solid rgba(247,245,240,.12);
}
.elevasn-battle-game__sky{
  position:absolute;
  inset:0 0 38% 0;
  background:
    radial-gradient(circle at 20% 18%, rgba(247,245,240,.12), transparent 13%),
    radial-gradient(circle at 74% 16%, rgba(247,245,240,.1), transparent 12%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 66%);
}
.elevasn-battle-game__sky::before,
.elevasn-battle-game__sky::after{
  content:'';
  position:absolute;
  top:20px;
  width:180px;
  height:54px;
  border-radius:999px;
  background:rgba(247,245,240,.16);
  filter:blur(2px);
}
.elevasn-battle-game__sky::before{left:8%; box-shadow:45px 8px 0 6px rgba(247,245,240,.12), 95px 2px 0 0 rgba(247,245,240,.09);}
.elevasn-battle-game__sky::after{right:10%; box-shadow:-40px 8px 0 5px rgba(247,245,240,.12), -88px -2px 0 0 rgba(247,245,240,.08);}
.elevasn-battle-game__tower{
  position:absolute;
  bottom:70px;
  width:62px;
  height:130px;
  background:linear-gradient(180deg, rgba(71,63,81,.95), rgba(34,31,42,.96));
  border:1px solid rgba(247,245,240,.14);
  box-shadow:0 8px 20px rgba(0,0,0,.22);
}
.elevasn-battle-game__tower::before{
  content:'';
  position:absolute;
  top:-12px; left:8px; right:8px;
  height:18px;
  background:linear-gradient(180deg, rgba(126,118,145,.95), rgba(56,49,68,.95));
  clip-path:polygon(0 100%, 10% 0, 30% 100%, 45% 0, 60% 100%, 80% 0, 100% 100%);
}
.elevasn-battle-game__tower--angel{left:14px;}
.elevasn-battle-game__tower--devil{right:14px;}

.elevasn-battle-game__ground{
  position:absolute;
  left:0; right:0; bottom:0;
  height:82px;
  background:linear-gradient(180deg, rgba(76,71,115,.98), rgba(28,24,52,.98));
  border-top:2px solid rgba(247,245,240,.08);
}
.elevasn-battle-game__ground::before{
  content:'';
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg, transparent, transparent 52px, rgba(247,245,240,.04) 52px, rgba(247,245,240,.04) 55px);
}
.elevasn-battle-game__unit{
  position:absolute;
  bottom:84px;
  width:min(32%, 250px);
  padding:1rem .95rem;
  border-radius:1.25rem;
  border:1px solid rgba(247,245,240,.16);
  box-shadow:0 18px 40px rgba(0,0,0,.24);
  backdrop-filter:blur(4px);
}
.elevasn-battle-game__unit--angel{
  left:84px;
  background:linear-gradient(180deg, rgba(66,106,138,.55), rgba(22,57,74,.84));
}
.elevasn-battle-game__unit--human{
  left:50%;
  transform:translateX(-50%);
  bottom:102px;
  width:min(30%, 230px);
  background:linear-gradient(180deg, rgba(50,95,126,.6), rgba(28,56,82,.9));
  z-index:2;
}
.elevasn-battle-game__unit--devil{
  right:84px;
  background:linear-gradient(180deg, rgba(116,48,51,.56), rgba(72,26,28,.88));
}
.elevasn-battle-game__unit-icon{
  width:46px;
  height:46px;
  border-radius:1rem;
  display:grid;
  place-items:center;
  margin-bottom:.8rem;
  font-size:1.35rem;
  border:1px solid rgba(247,245,240,.2);
  background:rgba(255,255,255,.1);
}
.elevasn-battle-game__unit-copy span{
  display:block;
  color:var(--gw-accent,#a57932);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:.45rem;
}
.elevasn-battle-game__unit-copy strong{
  display:block;
  color:var(--gw-text,#f7f5f0);
  font-size:1.08rem;
  margin-bottom:.45rem;
}
.elevasn-battle-game__unit-copy p{
  margin:0;
  color:rgba(247,245,240,.92);
  line-height:1.55;
  font-size:.95rem;
}
.elevasn-battle-game__panel{
  border:1px solid rgba(247,245,240,.12);
  border-radius:1.25rem;
  padding:1rem;
  background:rgba(0,0,0,.18);
}
.elevasn-battle-game__choices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin:1rem 0;
}
.elevasn-battle-game__choices button{
  appearance:none;
  border:1px solid rgba(165,121,50,.28);
  border-radius:1.1rem;
  background:linear-gradient(180deg, rgba(27,61,47,.92), rgba(9,26,19,.98));
  color:var(--gw-text,#f7f5f0);
  padding:1rem;
  min-height:112px;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.elevasn-battle-game__choices button:hover{transform:translateY(-2px);border-color:rgba(247,245,240,.4);box-shadow:0 12px 24px rgba(0,0,0,.18);}
.elevasn-battle-game__choices button span{
  display:block;
  color:var(--gw-accent,#a57932);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.68rem;
  margin-bottom:.55rem;
}
.elevasn-battle-game__choices button strong{
  display:block;
  color:var(--gw-text,#f7f5f0);
  font:700 .88rem/1.45 Inter,Arial,sans-serif;
}
.elevasn-battle-game__choices button.is-selected{background:linear-gradient(180deg, rgba(165,121,50,.56), rgba(27,61,47,.92));border-color:rgba(247,245,240,.58);}
.elevasn-battle-game__choices button.is-wrong{opacity:.72;transform:scale(.98);}

@media(max-width:989px){
  .elevasn-battle-game__arena{min-height:480px;}
  .elevasn-battle-game__unit{width:calc(50% - 24px);}
  .elevasn-battle-game__unit--angel{left:18px; bottom:190px;}
  .elevasn-battle-game__unit--devil{right:18px; bottom:190px;}
  .elevasn-battle-game__unit--human{width:calc(100% - 72px); bottom:88px;}
}
@media(max-width:749px){
  .elevasn-battle-game{padding:.85rem;}
  .elevasn-battle-game__hud{grid-template-columns:1fr;}
  .elevasn-battle-game__level{order:-1;}
  .elevasn-battle-game__arena{min-height:560px; padding:.75rem;}
  .elevasn-battle-game__tower{display:none;}
  .elevasn-battle-game__unit{position:relative; left:auto; right:auto; bottom:auto; width:100%; margin-bottom:.75rem;}
  .elevasn-battle-game__unit--human{transform:none;}
  .elevasn-battle-game__ground{height:66px;}
  .elevasn-battle-game__choices{grid-template-columns:1fr;}
  .elevasn-battle-game__choices button{min-height:92px;}
}

/* Luxury refinement pass for individual learning modules */
.elevasn-elearn__module{
  border:1px solid rgba(165,121,50,.22) !important;
  border-radius:1.5rem !important;
  background:linear-gradient(180deg, rgba(7,28,20,.98), rgba(4,20,14,.98)) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.elevasn-elearn__module summary{
  padding:1.2rem 1.25rem !important;
}
.elevasn-elearn__module > p{
  padding:0 1.25rem !important;
  color:rgba(247,245,240,.9) !important;
}
.elevasn-choice-game,
.elevasn-card-game,
.elevasn-match,
.elevasn-word-game,
.elevasn-heal-game,
.elevasn-wordsearch-game,
.elevasn-aura-crush,
.elevasn-battle-game{
  background:linear-gradient(180deg, rgba(14,37,28,.9), rgba(5,23,16,.98)) !important;
  border:1px solid rgba(165,121,50,.24) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-heal-game button,
.elevasn-match__grid button,
.elevasn-battle-game__choices button,
.elevasn-wordsearch__actions .elevasn-gw__btn,
.elevasn-aura-crush__panel .elevasn-gw__btn{
  background:linear-gradient(180deg, rgba(26,68,53,.96), rgba(10,28,20,.98)) !important;
  border:1px solid rgba(181,146,77,.52) !important;
  color:#f7f5f0 !important;
  box-shadow:0 10px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05) !important;
  text-shadow:none !important;
}
.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-heal-game button,
.elevasn-match__grid button{
  min-height:84px !important;
  padding:1rem 1.05rem !important;
  font:700 .94rem/1.45 Inter,Arial,sans-serif !important;
  letter-spacing:.03em !important;
  text-transform:none !important;
}
.elevasn-choice-game button:hover,
.elevasn-card-game button:hover,
.elevasn-heal-game button:hover,
.elevasn-match__grid button:hover,
.elevasn-battle-game__choices button:hover,
.elevasn-wordsearch__actions .elevasn-gw__btn:hover,
.elevasn-aura-crush__panel .elevasn-gw__btn:hover{
  border-color:rgba(247,245,240,.64) !important;
  transform:translateY(-2px) !important;
}
.elevasn-choice-game button.is-selected,
.elevasn-card-game button.is-selected,
.elevasn-heal-game button.is-selected,
.elevasn-battle-game__choices button.is-selected{
  background:linear-gradient(180deg, rgba(184,146,79,.94), rgba(72,53,18,.96)) !important;
  color:#fff !important;
}
.elevasn-game__prompt{
  color:#f7f5f0 !important;
  font-size:1.05rem !important;
  line-height:1.55 !important;
}
.elevasn-game__feedback{
  border:1px solid rgba(165,121,50,.2) !important;
  background:rgba(3,18,13,.72) !important;
  color:#f7f5f0 !important;
  font-size:1rem !important;
  line-height:1.55 !important;
}
.elevasn-elearn__reflection label,
.elevasn-word-game label,
.elevasn-heal-game + .elevasn-elearn__reflection label{
  color:#f7f5f0 !important;
  font-size:1rem !important;
  line-height:1.6 !important;
}
.elevasn-elearn__reflection input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  accent-color:#b5924d !important;
}

/* Aura Ascension luxury game styling */
.elevasn-aura-crush__panel{
  border-radius:1.4rem !important;
  padding:1.15rem !important;
}
.elevasn-aura-crush__objective p,
.elevasn-aura-crush__stats p{
  font-size:1rem !important;
}
.elevasn-aura-crush__board{
  border-radius:1.5rem !important;
  padding:1rem !important;
  background:
    linear-gradient(180deg, rgba(81,150,203,.7), rgba(69,104,163,.78)) !important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.1), 0 16px 36px rgba(0,0,0,.18) !important;
}
.elevasn-aura-crush__tile{
  position:relative !important;
  min-height:82px !important;
  border-radius:1.35rem !important;
  padding:.35rem .25rem .45rem !important;
  border:2px solid rgba(255,255,255,.18) !important;
  box-shadow:inset 0 8px 12px rgba(255,255,255,.2), 0 12px 18px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
}
.elevasn-aura-crush__tile::before{
  content:'';
  position:absolute;
  left:10%; right:10%; top:6px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  filter:blur(1px);
}
.elevasn-aura-crush__symbol{
  display:block !important;
  font-size:1.55rem !important;
  line-height:1 !important;
  margin-bottom:.18rem !important;
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.2) !important;
}
.elevasn-aura-crush__tile strong{
  display:block !important;
  font:800 .84rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.08em !important;
  color:#fff !important;
}
.elevasn-aura-crush__tile small{
  display:block !important;
  margin-top:.15rem !important;
  font:700 .56rem/1.15 Inter,Arial,sans-serif !important;
  letter-spacing:.09em !important;
  color:rgba(255,255,255,.95) !important;
}
.elevasn-aura-crush__tile--grace strong,
.elevasn-aura-crush__tile--grace small,
.elevasn-aura-crush__tile--grace .elevasn-aura-crush__symbol,
.elevasn-aura-crush__tile--gold strong,
.elevasn-aura-crush__tile--gold small,
.elevasn-aura-crush__tile--gold .elevasn-aura-crush__symbol{color:#172018 !important;text-shadow:none !important;}
.elevasn-aura-crush__tile--elevate{background:linear-gradient(180deg,#ff6a6a,#d73f4d) !important;}
.elevasn-aura-crush__tile--aura{background:linear-gradient(180deg,#b45cff,#7e38df) !important;}
.elevasn-aura-crush__tile--source{background:linear-gradient(180deg,#45d3d6,#23959b) !important;}
.elevasn-aura-crush__tile--grace{background:linear-gradient(180deg,#ffe7bb,#e7bf74) !important;}
.elevasn-aura-crush__tile--spirit{background:linear-gradient(180deg,#4aa1ff,#3360d3) !important;}
.elevasn-aura-crush__tile--gold{background:linear-gradient(180deg,#ffe05d,#f0b326) !important;}
.elevasn-aura-crush__tile.is-selected{
  outline:3px solid rgba(255,255,255,.9) !important;
  transform:scale(.97) !important;
}

/* Word search luxury buttons */
.elevasn-wordsearch__actions .elevasn-gw__btn{
  min-height:48px !important;
  padding:.8rem 1rem !important;
  font:700 .85rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.elevasn-wordsearch__list li{
  border-color:rgba(181,146,77,.24) !important;
  background:rgba(255,255,255,.02) !important;
}

/* Mobile readability */
@media (max-width: 749px){
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-heal-game button,
  .elevasn-match__grid button,
  .elevasn-battle-game__choices button{
    min-height:72px !important;
    font-size:.9rem !important;
    line-height:1.4 !important;
  }
  .elevasn-aura-crush__tile{
    min-height:70px !important;
    border-radius:1rem !important;
  }
  .elevasn-aura-crush__symbol{font-size:1.25rem !important;}
  .elevasn-aura-crush__tile strong{font-size:.72rem !important;}
  .elevasn-aura-crush__tile small{font-size:.5rem !important;}
  .elevasn-elearn__module summary{padding:1rem !important;}
}
@media (max-width: 549px){
  .elevasn-aura-crush__board{
    grid-template-columns:repeat(4, minmax(56px, 1fr)) !important;
  }
  .elevasn-aura-crush__tile{
    min-height:78px !important;
  }
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-heal-game button,
  .elevasn-match__grid button,
  .elevasn-battle-game__choices button{
    font-size:.86rem !important;
  }
}


/* Final refinement: dominant symbols + auto word search */
.elevasn-aura-crush__tile{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
}
.elevasn-aura-crush__symbol{
  font-size:2.1rem !important;
  margin:0 !important;
}
.elevasn-aura-crush__tile small{
  margin-top:0 !important;
  font-size:.64rem !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.elevasn-aura-crush__tile strong{display:none !important;}
.elevasn-wordsearch__actions{justify-content:flex-start !important;}
.elevasn-battle-game__meter-head span,
.elevasn-battle-game__unit-copy span,
.elevasn-battle-game__choices button span{
  color:#c9a256 !important;
}
@media (max-width: 749px){
  .elevasn-aura-crush__symbol{font-size:1.7rem !important;}
  .elevasn-aura-crush__tile small{font-size:.56rem !important;}
}

/* Customizer-driven game styling */
.elevasn-choice-game,
.elevasn-card-game,
.elevasn-match,
.elevasn-word-game,
.elevasn-heal-game,
.elevasn-wordsearch-game,
.elevasn-aura-crush,
.elevasn-battle-game{
  background:linear-gradient(180deg, color-mix(in srgb, var(--gw-game-panel-bg,#071c14) 92%, white 3%), var(--gw-game-panel-bg,#071c14)) !important;
}
.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-heal-game button,
.elevasn-match__grid button,
.elevasn-battle-game__choices button,
.elevasn-wordsearch__actions .elevasn-gw__btn,
.elevasn-aura-crush__panel .elevasn-gw__btn{
  background:var(--gw-game-button-bg,#1b3d2f) !important;
  color:var(--gw-game-button-text,#f7f5f0) !important;
  border-color:var(--gw-game-border,#b5924d) !important;
  border-radius:var(--gw-game-card-radius,22px) !important;
}
.elevasn-aura-crush__tile,
.elevasn-wordsearch__cell,
.elevasn-battle-game__unit,
.elevasn-elearn__intro-card{
  border-radius:var(--gw-game-card-radius,22px) !important;
}
.elevasn-aura-crush__symbol{
  font-size:var(--gw-game-symbol-size,34px) !important;
}
.elevasn-battle-game__level,
.elevasn-battle-game__meter,
.elevasn-wordsearch__list li,
.elevasn-game__feedback{
  border-color:color-mix(in srgb, var(--gw-game-border,#b5924d) 55%, transparent) !important;
}

/* Extra responsive polish for gateway and game modules */
@media (min-width: 990px){
  .elevasn-elearn__modules--games{gap:1.25rem !important;}
  .elevasn-aura-crush__board{grid-auto-rows:minmax(76px,1fr) !important;}
}
@media (max-width: 989px){
  .elevasn-portal,
  .elevasn-pathway-popup,
  .elevasn-elearn{
    width:100% !important;
    max-width:100% !important;
  }
  .elevasn-elearn__intro-grid{grid-template-columns:1fr !important;}
  .elevasn-choice-game__grid,
  .elevasn-card-game,
  .elevasn-heal-game__grid,
  .elevasn-battle-game__choices{grid-template-columns:1fr !important;}
  .elevasn-wordsearch__wrap,
  .elevasn-aura-crush__layout{grid-template-columns:1fr !important;}
}
@media (max-width: 549px){
  .elevasn-elearn__head h3{font-size:clamp(1.7rem,8vw,2.4rem) !important;line-height:1.05 !important;}
  .elevasn-elearn__module summary strong{font-size:1.2rem !important;line-height:1.2 !important;}
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-heal-game button,
  .elevasn-match__grid button,
  .elevasn-battle-game__choices button{width:100% !important;text-align:center !important;}
  .elevasn-wordsearch__side{padding:.9rem !important;}
}


.elevasn-gate-loader__text {
  color: rgba(247,245,240,.82);
}
.elevasn-gate-loader__button {
  border: 1px solid color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 26%, var(--gw-loader-seam, #A57932));
  background: linear-gradient(180deg, #c39240 0%, #a57932 48%, #835d24 100%);
  color: #fffdfa;
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 18px rgba(165,121,50,.42),
    0 0 44px rgba(165,121,50,.18);
  animation: elevasn-gate-button-pulse 2.8s ease-in-out infinite;
}
.elevasn-gate-loader__button:hover {
  transform: translateY(-2px) scale(1.02);
  border-color: color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 78%, var(--gw-loader-seam, #A57932));
  background: linear-gradient(180deg, #d4a450 0%, #b7883a 50%, #906729 100%);
  box-shadow:
    0 22px 56px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.24),
    0 0 22px rgba(165,121,50,.52),
    0 0 56px rgba(165,121,50,.26);
}
.elevasn-gate-loader__button:focus-visible {
  outline: 2px solid rgba(247,245,240,.94);
  outline-offset: 5px;
}
@keyframes elevasn-gate-button-pulse {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow:
      0 18px 46px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.18),
      0 0 18px rgba(165,121,50,.42),
      0 0 44px rgba(165,121,50,.18);
    filter: saturate(1);
  }
  50% {
    transform: translateY(-1px) scale(1.03);
    box-shadow:
      0 22px 54px rgba(0,0,0,.26),
      inset 0 1px 0 rgba(255,255,255,.2),
      0 0 28px rgba(165,121,50,.62),
      0 0 72px rgba(165,121,50,.30);
    filter: saturate(1.04);
  }
}
@media (prefers-reduced-motion: reduce) {
  .elevasn-gate-loader__button {
    animation: none;
  }
}

/* 17MAY2026 button visibility refinement */
.elevasn-gate-loader__button {
  position: relative;
  isolation: isolate;
  min-width: min(84vw, 232px);
  min-height: 58px;
  padding: 0 1.9rem;
  border: 2px solid color-mix(in srgb, var(--gw-loader-seam, #A57932) 86%, var(--gw-loader-glow, #F7F5F0));
  background:
    radial-gradient(circle at 50% 0%, rgba(247,245,240,.08), transparent 52%),
    linear-gradient(180deg, rgba(12,50,36,.98) 0%, rgba(6,31,22,.985) 100%);
  color: rgba(247,245,240,.98);
  text-shadow: 0 1px 0 rgba(0,0,0,.28), 0 0 14px rgba(0,0,0,.35);
  box-shadow:
    0 0 0 1px rgba(247,245,240,.06),
    0 0 0 4px rgba(165,121,50,.10),
    0 0 24px rgba(165,121,50,.34),
    0 20px 48px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.elevasn-gate-loader__button::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  border: 1px solid rgba(247,245,240,.08);
  pointer-events: none;
  z-index: -1;
}
.elevasn-gate-loader__button:hover {
  border-color: color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 70%, var(--gw-loader-seam, #A57932));
  background:
    radial-gradient(circle at 50% 0%, rgba(247,245,240,.12), transparent 56%),
    linear-gradient(180deg, rgba(16,62,44,.98) 0%, rgba(8,37,26,.985) 100%);
  color: #fffdfa;
  box-shadow:
    0 0 0 1px rgba(247,245,240,.08),
    0 0 0 4px rgba(165,121,50,.13),
    0 0 34px rgba(165,121,50,.44),
    0 24px 56px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.14);
}
.elevasn-gate-loader__button:focus-visible {
  outline: 2px solid rgba(247,245,240,.96);
  outline-offset: 5px;
}


/* 17MAY2026 dark-gold gate button + center crest refinement */
.elevasn-gate-loader__button {
  border: 2px solid color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 24%, var(--gw-loader-seam, #A57932));
  background:
    radial-gradient(circle at 50% 0%, rgba(247,245,240,.18), transparent 52%),
    linear-gradient(180deg, #c89d44 0%, #a57932 48%, #7f5a23 100%);
  color: #fffdfa;
  text-shadow: 0 1px 0 rgba(0,0,0,.22), 0 0 10px rgba(0,0,0,.22);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 0 0 4px rgba(165,121,50,.10),
    0 0 24px rgba(165,121,50,.40),
    0 20px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.18);
}
.elevasn-gate-loader__button::before {
  border: 1px solid rgba(255,255,255,.12);
}
.elevasn-gate-loader__button:hover {
  background:
    radial-gradient(circle at 50% 0%, rgba(247,245,240,.22), transparent 56%),
    linear-gradient(180deg, #d3aa53 0%, #b1843b 50%, #896126 100%);
  color: #fffdfa;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 0 0 4px rgba(165,121,50,.13),
    0 0 34px rgba(165,121,50,.50),
    0 24px 56px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.elevasn-gw__center-art {
  width: min(62vw, 860px);
  height: min(76vh, 900px);
  top: clamp(3rem, 7vh, 5.5rem);
  opacity: .34;
  filter: drop-shadow(0 0 24px rgba(209,164,74,.18)) drop-shadow(0 0 54px rgba(247,245,240,.06));
}
@keyframes elevasn-center-art-float {
  0%, 100% {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: .32;
    filter: drop-shadow(0 0 24px rgba(209,164,74,.18)) drop-shadow(0 0 54px rgba(247,245,240,.06));
  }
  50% {
    transform: translateX(-50%) translateY(-8px) scale(1.015);
    opacity: .40;
    filter: drop-shadow(0 0 32px rgba(209,164,74,.26)) drop-shadow(0 0 72px rgba(247,245,240,.09));
  }
}


/* 17MAY2026 stronger CTA gate button + clearer hero crest */
.elevasn-gate-loader__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-width: min(88vw, 260px);
  min-height: 62px;
  padding: 0 2rem;
  border: 2px solid rgba(247,245,240,.24);
  border-color: color-mix(in srgb, var(--gw-loader-glow, #F7F5F0) 30%, var(--gw-loader-seam, #A57932));
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.22), transparent 54%),
    linear-gradient(180deg, #d1a44a 0%, #a57932 52%, #7a561f 100%);
  color: #fffdfa;
  font-weight: 800;
  letter-spacing: .2em;
  text-shadow: 0 1px 0 rgba(0,0,0,.24), 0 0 10px rgba(0,0,0,.18);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 0 0 5px rgba(165,121,50,.14),
    0 0 30px rgba(165,121,50,.52),
    0 26px 60px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.22);
  animation: elevasn-gate-button-attention 1.9s ease-in-out infinite;
}
.elevasn-gate-loader__button::before {
  border: 1px solid rgba(255,255,255,.14);
}
.elevasn-gate-loader__button::after {
  content: "→";
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  transform: translateX(0);
  transition: transform .25s ease;
}
.elevasn-gate-loader__button:hover {
  transform: translateY(-3px) scale(1.03);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.28), transparent 56%),
    linear-gradient(180deg, #ddb15a 0%, #b8893d 52%, #8b6326 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.1),
    0 0 0 5px rgba(165,121,50,.17),
    0 0 38px rgba(165,121,50,.62),
    0 28px 64px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.24);
}
.elevasn-gate-loader__button:hover::after {
  transform: translateX(3px);
}
@keyframes elevasn-gate-button-attention {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.08),
      0 0 0 5px rgba(165,121,50,.14),
      0 0 30px rgba(165,121,50,.52),
      0 26px 60px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.22);
  }
  50% {
    transform: translateY(-2px) scale(1.03);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.10),
      0 0 0 6px rgba(165,121,50,.18),
      0 0 42px rgba(165,121,50,.68),
      0 30px 68px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.24);
  }
}
@media (prefers-reduced-motion: reduce) {
  .elevasn-gate-loader__button {
    animation: none;
  }
}

.elevasn-gw__center-art {
  width: min(70vw, 1020px);
  height: min(84vh, 1020px);
  top: clamp(4.5rem, 10vh, 8rem);
  opacity: .50;
  background-size: contain;
  filter: drop-shadow(0 0 30px rgba(209,164,74,.22)) drop-shadow(0 0 80px rgba(247,245,240,.08));
  mix-blend-mode: normal;
}
.elevasn-gw__center-art::before {
  opacity: .28;
}
.elevasn-gw__center-art::after {
  opacity: .22;
}
@keyframes elevasn-center-art-float {
  0%, 100% {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: .48;
    filter: drop-shadow(0 0 30px rgba(209,164,74,.22)) drop-shadow(0 0 80px rgba(247,245,240,.08));
  }
  50% {
    transform: translateX(-50%) translateY(-7px) scale(1.012);
    opacity: .56;
    filter: drop-shadow(0 0 36px rgba(209,164,74,.28)) drop-shadow(0 0 92px rgba(247,245,240,.10));
  }
}
@media (max-width: 749px) {
  .elevasn-gw__center-art {
    width: min(96vw, 760px);
    height: min(70vh, 760px);
    top: 8.2rem;
    opacity: .36;
  }
}


/* 17MAY2026 final polish: softer sacred background + clearer luxury readability */
.elevasn-gw__hero {
  position: relative;
  isolation: isolate;
  z-index: 3;
}
.elevasn-gw__hero::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 50%;
  top: 49%;
  width: min(82vw, 980px);
  height: clamp(290px, 38vw, 430px);
  transform: translate(-50%, -50%);
  background:
    radial-gradient(ellipse at center,
      rgba(4,16,12,.76) 0%,
      rgba(4,16,12,.62) 28%,
      rgba(4,16,12,.44) 48%,
      rgba(4,16,12,.22) 66%,
      transparent 82%);
  filter: blur(18px);
  pointer-events: none;
  z-index: -1;
}
.elevasn-gw__heading {
  text-shadow: 0 12px 34px rgba(0,0,0,.56), 0 0 18px rgba(3,12,9,.24);
}
.elevasn-gw__body,
.elevasn-gw__note {
  text-shadow: 0 4px 18px rgba(0,0,0,.40);
}

.elevasn-gw__center-art {
  opacity: .30;
  filter: saturate(.92) brightness(.92) drop-shadow(0 0 24px rgba(209,164,74,.16)) drop-shadow(0 0 56px rgba(247,245,240,.05));
  -webkit-mask-image: radial-gradient(ellipse at center,
    rgba(0,0,0,.16) 0%,
    rgba(0,0,0,.18) 20%,
    rgba(0,0,0,.24) 42%,
    rgba(0,0,0,.34) 60%,
    rgba(0,0,0,.52) 78%,
    rgba(0,0,0,.78) 100%);
  mask-image: radial-gradient(ellipse at center,
    rgba(0,0,0,.16) 0%,
    rgba(0,0,0,.18) 20%,
    rgba(0,0,0,.24) 42%,
    rgba(0,0,0,.34) 60%,
    rgba(0,0,0,.52) 78%,
    rgba(0,0,0,.78) 100%);
}
.elevasn-gw__center-art::before {
  opacity: .18;
}
.elevasn-gw__center-art::after {
  opacity: .14;
}
@keyframes elevasn-center-art-float {
  0%, 100% {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: .28;
    filter: saturate(.92) brightness(.92) drop-shadow(0 0 24px rgba(209,164,74,.16)) drop-shadow(0 0 56px rgba(247,245,240,.05));
  }
  50% {
    transform: translateX(-50%) translateY(-6px) scale(1.01);
    opacity: .34;
    filter: saturate(.96) brightness(.94) drop-shadow(0 0 28px rgba(209,164,74,.18)) drop-shadow(0 0 64px rgba(247,245,240,.06));
  }
}

.elevasn-gw__paths,
.elevasn-gw__utils {
  position: relative;
  z-index: 2;
}
.elevasn-gw__card {
  background: linear-gradient(180deg, rgba(6,20,15,.84), rgba(5,17,13,.92));
  border-color: rgba(165,121,50,.22);
  box-shadow: 0 22px 54px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(3,12,9,.18);
  backdrop-filter: blur(18px);
}
.elevasn-gw__card:hover {
  border-color: rgba(165,121,50,.34);
  box-shadow: 0 26px 62px rgba(0,0,0,.30), 0 0 34px rgba(165,121,50,.06), inset 0 1px 0 rgba(255,255,255,.05);
}
.elevasn-gw__card-title {
  text-shadow: 0 4px 16px rgba(0,0,0,.28);
}
.elevasn-gw__card-text {
  color: rgba(232,226,213,.82);
}

@media (max-width: 749px) {
  .elevasn-gw__hero::after {
    width: min(96vw, 760px);
    height: 340px;
    top: 45%;
    filter: blur(16px);
  }
  .elevasn-gw__center-art {
    opacity: .23;
  }
}

/* 17MAY2026 intentional symbol rain: ordered lanes, visible but refined, no clashing drift */
.elevasn-gw__overlay--symbols {
  z-index: 1;
  opacity: .94;
}
.elevasn-gate-loader__symbols {
  z-index: 2;
  opacity: .9;
}
.elevasn-overlay-item--ordered {
  animation-name: elevasn-spiritual-glyph-rain-ordered !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  transform-origin: center;
  backface-visibility: hidden;
  contain: layout paint;
  filter:
    blur(var(--item-blur, 0px))
    brightness(1.08)
    drop-shadow(0 0 8px rgba(247,245,240,.16))
    drop-shadow(0 0 16px rgba(165,121,50,.18))
    drop-shadow(0 0 28px rgba(165,121,50,.10));
}
@keyframes elevasn-spiritual-glyph-rain-ordered {
  0% {
    transform: translate3d(0, -10vh, 0) scale(var(--scale-start, .92)) rotate(0deg);
    opacity: 0;
  }
  9% {
    opacity: calc(var(--item-opacity, .18) * .78);
  }
  24% {
    transform: translate3d(calc(var(--sway-x, 0px) * .24), 22vh, 0) scale(calc(var(--scale-start, .92) + .02)) rotate(calc(var(--rotate-end, 10deg) * .20));
    opacity: var(--item-opacity, .18);
  }
  52% {
    transform: translate3d(var(--sway-mid, 0px), 58vh, 0) scale(calc(var(--scale-start, .92) + .045)) rotate(calc(var(--rotate-end, 10deg) * .55));
    opacity: calc(var(--item-opacity, .18) * .94);
  }
  78% {
    opacity: calc(var(--item-opacity, .18) * .78);
  }
  100% {
    transform: translate3d(var(--sway-x, 0px), var(--fall-distance, 122vh), 0) scale(calc(var(--scale-start, .92) + .065)) rotate(var(--rotate-end, 10deg));
    opacity: 0;
  }
}
@media (max-width: 749px) {
  .elevasn-gw__overlay--symbols { opacity: .86; }
  .elevasn-overlay-item--ordered {
    filter:
      blur(var(--item-blur, 0px))
      brightness(1.08)
      drop-shadow(0 0 7px rgba(247,245,240,.15))
      drop-shadow(0 0 14px rgba(165,121,50,.16));
  }
}

/* ═══ ELEVASN requested Aura Signal + luxury script heading refinements ═══ */
/* Theme-wide targeting for the gateway hero */
.elevasn-gw__intel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .62rem !important;
  margin: 0 0 1.05rem !important;
  padding: .55rem 1.15rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(211, 164, 74, .76) !important;
  background:
    linear-gradient(180deg, rgba(186, 132, 44, .96) 0%, rgba(125, 86, 24, .96) 45%, rgba(80, 54, 15, .96) 100%) !important;
  box-shadow:
    0 16px 38px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,235,170,.38),
    inset 0 -1px 0 rgba(50,31,8,.55),
    0 0 22px rgba(165,121,50,.18) !important;
  color: #fff1bd !important;
  font-size: clamp(.58rem, .92vw, .78rem) !important;
  line-height: 1.1 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 0 rgba(45,28,8,.42), 0 0 10px rgba(255,231,160,.18) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
}

.elevasn-gw__intel::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: .58rem !important;
  height: .58rem !important;
  border-radius: 999px !important;
  background: radial-gradient(circle at 35% 35%, #efffd4 0%, #84f34c 34%, #18a73a 62%, #0a4b22 100%) !important;
  box-shadow:
    0 0 6px rgba(130,255,86,.78),
    0 0 16px rgba(82,255,89,.58),
    0 0 28px rgba(44,186,73,.34) !important;
  animation: elevasn-signal-light-loop 2.6s ease-in-out infinite !important;
}

@keyframes elevasn-signal-light-loop {
  0%, 100% { opacity: .28; transform: scale(.86); filter: saturate(.82) brightness(.78); }
  18% { opacity: .42; transform: scale(.92); filter: saturate(.92) brightness(.9); }
  34%, 58% { opacity: 1; transform: scale(1.08); filter: saturate(1.3) brightness(1.25); }
  72% { opacity: .48; transform: scale(.95); filter: saturate(.96) brightness(.92); }
}

.elevasn-gw__heading {
  font-family: "Bickham Script Pro", "Edwardian Script ITC", "Palace Script MT", "Snell Roundhand", "URW Chancery L", "Apple Chancery", "Zapfino", cursive !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  color: #ead7a6 !important;
  background: linear-gradient(180deg, #fff4d8 0%, #f2ddae 22%, #d8b267 54%, #fff1cf 74%, #b68739 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-size: clamp(3.2rem, 8vw, 7.2rem) !important;
  line-height: .88 !important;
  letter-spacing: .012em !important;
  max-width: min(92vw, 1080px) !important;
  margin-inline: auto !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  will-change: auto !important;
  text-shadow:
    0 1px 0 rgba(255,244,214,.55),
    0 6px 18px rgba(0,0,0,.28),
    0 16px 40px rgba(0,0,0,.30),
    0 0 18px rgba(247,222,157,.10) !important;
}

.elevasn-gw__heading::after {
  content: none !important;
  display: none !important;
}

.elevasn-gw.elevasn-text-awakened .elevasn-gw__heading,
.elevasn-gw__heading.elevasn-anim {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  will-change: auto !important;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .elevasn-gw__heading {
    color: #ead7a6 !important;
    background: none !important;
  }
}

@media (max-width: 749px) {
  .elevasn-gw__intel {
    max-width: calc(100vw - 1.5rem) !important;
    padding: .48rem .78rem !important;
    font-size: .54rem !important;
    letter-spacing: .105em !important;
    gap: .44rem !important;
  }
  .elevasn-gw__intel::before {
    width: .5rem !important;
    height: .5rem !important;
  }
  .elevasn-gw__heading {
    font-size: clamp(2.7rem, 13vw, 4.75rem) !important;
    line-height: .9 !important;
    max-width: 92vw !important;
    letter-spacing: .01em !important;
  }
}


/* ═══ Final polish pass — 100% luxury gateway refinements ═══ */
.elevasn-gw__hero {
  padding-top: clamp(1.6rem, 4vw, 3.25rem) !important;
  max-width: 70rem !important;
}

.elevasn-gw__intel {
  margin: 0 0 1.35rem !important;
  padding: .62rem 1.35rem !important;
}

.elevasn-gw__intel::before {
  width: .68rem !important;
  height: .68rem !important;
  box-shadow:
    0 0 8px rgba(160,255,110,.88),
    0 0 18px rgba(82,255,89,.72),
    0 0 34px rgba(44,186,73,.42),
    0 0 54px rgba(44,186,73,.18) !important;
  animation-duration: 3.1s !important;
}

.elevasn-gw__heading {
  font-size: clamp(3.55rem, 9vw, 8.15rem) !important;
  line-height: .84 !important;
  letter-spacing: .008em !important;
  max-width: min(94vw, 1120px) !important;
  text-shadow:
    0 1px 0 rgba(255,244,214,.58),
    0 8px 24px rgba(0,0,0,.30),
    0 20px 44px rgba(0,0,0,.34),
    0 0 22px rgba(247,222,157,.12) !important;
}

.elevasn-gw__body {
  font-size: clamp(1.08rem, 1.55vw, 1.34rem) !important;
  max-width: 52rem !important;
  margin-inline: auto !important;
  color: rgba(247,245,240,.96) !important;
}

.elevasn-gw__note {
  color: rgba(247,245,240,.76) !important;
}

.elevasn-gw__hero-cta {
  margin-top: 1.7rem !important;
}

.elevasn-gw__card {
  border-color: rgba(165,121,50,.34) !important;
  background: linear-gradient(180deg, rgba(8, 25, 18, .84), rgba(6, 18, 14, .9)) !important;
  box-shadow:
    0 22px 60px rgba(3,13,9,.26),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 0 1px rgba(165,121,50,.08) !important;
}

.elevasn-gw__card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(209,164,74,.68) !important;
  box-shadow:
    0 28px 68px rgba(3,13,9,.32),
    0 0 46px rgba(165,121,50,.12),
    0 0 0 1px rgba(209,164,74,.12) !important;
}

.elevasn-gw__overlay--symbols {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.14) 8%, rgba(0,0,0,.58) 15%, #000 24%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.14) 8%, rgba(0,0,0,.58) 15%, #000 24%, #000 100%);
}

@media (max-width: 749px) {
  .elevasn-gw__hero {
    padding-top: 1.2rem !important;
  }
  .elevasn-gw__intel {
    margin-bottom: 1rem !important;
    padding: .5rem .82rem !important;
  }
  .elevasn-gw__intel::before {
    width: .54rem !important;
    height: .54rem !important;
  }
  .elevasn-gw__heading {
    font-size: clamp(2.85rem, 13.4vw, 5.1rem) !important;
    line-height: .88 !important;
    max-width: 95vw !important;
  }
  .elevasn-gw__body {
    font-size: 1rem !important;
    max-width: 92vw !important;
  }
}


/* ═══ 19MAY2026 Business / Individual / Charity portal finish ═══
   Smooth gateway surface, no side-wall borders on mobile, working premium close button,
   and extra breathing room below the menu/header. */
.elevasn-portal{
  padding-top:clamp(5.6rem,8.5vh,7.25rem) !important;
  padding-right:clamp(1rem,3vw,2rem) !important;
  padding-bottom:clamp(2rem,5vh,3.5rem) !important;
  padding-left:clamp(1rem,3vw,2rem) !important;
  background:
    radial-gradient(circle at 50% -8%, rgba(209,164,74,.12), transparent 30%),
    radial-gradient(circle at 50% 18%, rgba(23,72,49,.24), transparent 48%),
    linear-gradient(180deg, rgba(2,14,9,.80), rgba(2,15,10,.90)) !important;
  backdrop-filter:blur(14px) saturate(112%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(112%) !important;
  scrollbar-gutter:stable both-edges;
}
.elevasn-portal::before,
.elevasn-portal::after{
  content:none !important;
  display:none !important;
}
.elevasn-portal__backdrop{
  background:
    radial-gradient(circle at 50% 10%, rgba(165,121,50,.10), transparent 34%),
    radial-gradient(circle at 50% 48%, rgba(9,50,31,.20), transparent 62%),
    linear-gradient(180deg, rgba(1,10,6,.54), rgba(1,12,8,.76)) !important;
  box-shadow:none !important;
}
.elevasn-portal__glow{
  opacity:.42 !important;
  filter:blur(20px) !important;
  background:radial-gradient(ellipse, rgba(165,121,50,.10), transparent 72%) !important;
}
.elevasn-portal > .page-width{
  margin-top:0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 50% -8%, rgba(247,245,240,.028), transparent 24%),
    linear-gradient(180deg, rgba(5,25,17,.91), rgba(3,18,12,.94)) !important;
  box-shadow:
    0 24px 72px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.elevasn-portal__intro,
.elevasn-portal__sidebar,
.elevasn-portal__card,
.elevasn-portal__contact,
.elevasn-elearn{
  box-shadow:
    0 16px 48px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.045) !important;
}
.elevasn-portal__close{
  z-index:2147483647 !important;
  pointer-events:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  top:clamp(.85rem,1.7vw,1.15rem) !important;
  right:clamp(.85rem,1.7vw,1.15rem) !important;
  width:42px !important;
  height:42px !important;
  border:1px solid rgba(165,121,50,.22) !important;
  background:radial-gradient(circle at 50% 38%, rgba(21,59,39,.96), rgba(4,24,16,.94)) !important;
  color:#f7f5f0 !important;
  font-size:1.85rem !important;
  line-height:1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.26), 0 0 22px rgba(165,121,50,.06) !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease !important;
}
.elevasn-portal__close:hover,
.elevasn-portal__close:focus-visible{
  transform:translateY(-1px) !important;
  color:#fff6d6 !important;
  border-color:rgba(209,164,74,.62) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.30), 0 0 26px rgba(165,121,50,.14) !important;
  outline:none !important;
}
.elevasn-portal__close:active{transform:translateY(0) scale(.98) !important;}
.elevasn-portal__top{gap:clamp(1rem,2vw,1.35rem) !important;}
.elevasn-portal__grid--native{margin-top:clamp(1.45rem,2.4vw,2.25rem) !important;}

@media (max-width:989px){
  .elevasn-portal{
    padding-top:clamp(4.8rem,8vh,6rem) !important;
  }
}
@media (max-width:749px){
  .elevasn-portal{
    padding:4.25rem .85rem 1.4rem !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(165,121,50,.09), transparent 28%),
      linear-gradient(180deg, rgba(1,12,8,.88), rgba(1,14,9,.96)) !important;
    overflow-x:hidden !important;
  }
  .elevasn-portal__backdrop{
    background:linear-gradient(180deg, rgba(1,12,8,.62), rgba(1,14,9,.86)) !important;
  }
  .elevasn-portal > .page-width{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .elevasn-portal__top,
  .elevasn-portal__grid,
  .elevasn-elearn,
  .elevasn-portal__contact{
    width:100% !important;
  }
  .elevasn-portal__intro,
  .elevasn-portal__sidebar,
  .elevasn-portal__card,
  .elevasn-portal__contact,
  .elevasn-elearn{
    border-color:rgba(165,121,50,.24) !important;
  }
  .elevasn-portal__close{
    width:38px !important;
    height:38px !important;
    top:.72rem !important;
    right:.72rem !important;
    font-size:1.6rem !important;
  }
}


/* ═══ 19MAY2026 Close X + no-oval portal finish ═══
   Keeps the portal design the same, but removes the dark/gold oval around the close X,
   stops the backdrop/button hover from turning gold, and keeps the close target clickable. */
.elevasn-portal__close,
.elevasn-portal__close:hover,
.elevasn-portal__close:focus,
.elevasn-portal__close:focus-visible,
.elevasn-portal__close:active{
  position:fixed !important;
  top:clamp(.78rem,1.7vw,1.15rem) !important;
  right:clamp(.78rem,1.7vw,1.15rem) !important;
  z-index:2147483647 !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:none !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  color:#f7f5f0 !important;
  font-size:2.25rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.5), 0 0 12px rgba(247,245,240,.08) !important;
  transform:none !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}
.elevasn-portal__close:hover,
.elevasn-portal__close:focus-visible{
  color:#d1a44a !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:none !important;
}
.elevasn-portal__close:focus-visible{
  text-decoration:underline !important;
  text-underline-offset:.18em !important;
}
.elevasn-portal__backdrop,
.elevasn-portal__backdrop:hover,
.elevasn-portal__backdrop:focus,
.elevasn-portal__backdrop:focus-visible,
.elevasn-portal__backdrop:active{
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  border:0 !important;
  outline:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:default !important;
  opacity:1 !important;
}
.elevasn-portal{
  background:linear-gradient(180deg, rgba(2,14,9,.88), rgba(2,15,10,.96)) !important;
}
@media (max-width:749px){
  .elevasn-portal__close,
  .elevasn-portal__close:hover,
  .elevasn-portal__close:focus,
  .elevasn-portal__close:focus-visible,
  .elevasn-portal__close:active{
    top:.65rem !important;
    right:.65rem !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    font-size:2rem !important;
  }
}


/* ═══ 19MAY2026 portal breathing / border removal / gold gateway-back button ═══ */
.elevasn-portal__close,
.elevasn-portal__close--hidden{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.elevasn-portal{
  padding-top:clamp(4.75rem,7vh,6.25rem) !important;
}
.elevasn-portal > .page-width{
  border:none !important;
  outline:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:clamp(1.6rem,3.2vw,2.6rem) !important;
  width:min(1280px, calc(100vw - 2.5rem)) !important;
}
.elevasn-portal__top{
  gap:clamp(1.35rem,2.6vw,2rem) !important;
  margin-bottom:clamp(1.35rem,2.4vw,2rem) !important;
}
.elevasn-portal__grid{
  gap:clamp(1.2rem,2.3vw,1.8rem) !important;
}
.elevasn-portal__intro,
.elevasn-portal__sidebar,
.elevasn-portal__card,
.elevasn-portal__contact,
.elevasn-elearn{
  border:1px solid rgba(165,121,50,.18) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.elevasn-portal__intro,
.elevasn-portal__sidebar{
  padding:clamp(1.7rem,2.8vw,2.35rem) !important;
}
.elevasn-portal__card{
  padding:clamp(1.55rem,2.4vw,2.15rem) !important;
}
.elevasn-portal__contact,
.elevasn-elearn{
  margin-top:clamp(1.4rem,2.5vw,2rem) !important;
}
.elevasn-gw__btn--gateway-back,
.elevasn-gw__btn--gateway-back:hover,
.elevasn-gw__btn--gateway-back:focus,
.elevasn-gw__btn--gateway-back:focus-visible{
  background:linear-gradient(180deg, #c89a3f, #9f7425) !important;
  background-color:#b9872f !important;
  color:#07150f !important;
  border:1px solid rgba(223,191,122,.92) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,244,214,.35) !important;
  font-weight:700 !important;
}
.elevasn-gw__btn--gateway-back:hover,
.elevasn-gw__btn--gateway-back:focus-visible{
  transform:translateY(-1px) !important;
  filter:saturate(1.04) brightness(1.02) !important;
}
@media (max-width:989px){
  .elevasn-portal > .page-width{
    width:min(100vw - 1.6rem, 100%) !important;
    padding:1.15rem !important;
  }
  .elevasn-portal__top,
  .elevasn-portal__grid{
    gap:1rem !important;
  }
}
@media (max-width:749px){
  .elevasn-portal{
    padding:4rem .72rem 1.2rem !important;
  }
  .elevasn-portal > .page-width{
    width:100% !important;
    padding:.55rem !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .elevasn-portal__intro,
  .elevasn-portal__sidebar,
  .elevasn-portal__card,
  .elevasn-portal__contact,
  .elevasn-elearn{
    border:1px solid rgba(165,121,50,.15) !important;
    border-radius:1.55rem !important;
    padding:1.2rem !important;
  }
}


/* ═══ 19MAY2026 portal balance pass — same layout, tighter vertical rhythm, balanced title ═══ */
.elevasn-portal__top{
  margin-bottom:clamp(.65rem,1.25vw,1rem) !important;
}
.elevasn-portal__grid--native,
.elevasn-portal__grid{
  margin-top:clamp(.55rem,1.05vw,.85rem) !important;
}
.elevasn-portal__title{
  font-size:clamp(3.05rem,4.15vw,5rem) !important;
  line-height:.96 !important;
  max-width:14.8ch !important;
  letter-spacing:-.012em !important;
  text-wrap:balance;
}
.elevasn-portal__intro{
  min-height:unset !important;
}
@media (min-width:990px){
  .elevasn-portal__intro{
    padding-top:clamp(1.85rem,2.8vw,2.45rem) !important;
    padding-bottom:clamp(1.65rem,2.4vw,2.1rem) !important;
  }
}
@media (max-width:989px){
  .elevasn-portal__top{
    margin-bottom:.85rem !important;
  }
  .elevasn-portal__grid--native,
  .elevasn-portal__grid{
    margin-top:.65rem !important;
  }
  .elevasn-portal__title{
    font-size:clamp(2.55rem,7.6vw,4.1rem) !important;
    max-width:13.5ch !important;
  }
}
@media (max-width:749px){
  .elevasn-portal__top{
    margin-bottom:.75rem !important;
  }
  .elevasn-portal__grid--native,
  .elevasn-portal__grid{
    margin-top:.55rem !important;
  }
  .elevasn-portal__title{
    font-size:clamp(2.35rem,11.2vw,3.45rem) !important;
    max-width:12.8ch !important;
    line-height:.98 !important;
  }
}


/* ═══ 19MAY2026 final requested polish — stable contact select + Aura Signal loader CTA ═══ */
.elevasn-portal__input-wrap,
.elevasn-portal__select{
  -webkit-tap-highlight-color: transparent !important;
}
.elevasn-portal__select,
.elevasn-portal__select:hover,
.elevasn-portal__select:focus,
.elevasn-portal__select:focus-visible,
.elevasn-portal__select:active,
.elevasn-portal__select.is-touching{
  color-scheme: dark !important;
  background-color: rgba(11,31,23,.96) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8'%3E%3Cpath d='M1 1l5.5 5 5.5-5' stroke='%23b9872f' stroke-width='1.65' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: right 1rem center, center !important;
  border-color: rgba(165,121,50,.32) !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .18s ease !important;
}
.elevasn-portal__select:focus,
.elevasn-portal__select:focus-visible,
.elevasn-portal__select:active,
.elevasn-portal__select.is-touching{
  border-color: rgba(185,135,47,.66) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 0 0 1px rgba(185,135,47,.10) !important;
}
.elevasn-portal__select option{
  background:#0b1f17 !important;
  color:#f7f5f0 !important;
}
.elevasn-portal__select option:checked,
.elevasn-portal__select option:hover{
  background:#173d2c !important;
  color:#f7f5f0 !important;
}
.elevasn-gate-loader__button,
.elevasn-gate-loader__button:hover,
.elevasn-gate-loader__button:focus,
.elevasn-gate-loader__button:focus-visible,
.elevasn-gate-loader__button:active{
  position:relative !important;
  isolation:isolate !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.72rem !important;
  min-width:min(84vw, 360px) !important;
  min-height:44px !important;
  padding:.72rem 1.65rem .72rem 1.45rem !important;
  border:1px solid rgba(241,204,124,.78) !important;
  border-radius:999px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.24), transparent 54%),
    linear-gradient(180deg, #c99a3c 0%, #a57932 52%, #77551f 100%) !important;
  background-color:#a57932 !important;
  color:#fff7dc !important;
  font-weight:800 !important;
  letter-spacing:.22em !important;
  text-shadow:0 1px 0 rgba(0,0,0,.22), 0 0 10px rgba(255,235,178,.10) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.07),
    0 0 18px rgba(165,121,50,.46),
    0 0 46px rgba(165,121,50,.22),
    0 16px 38px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  animation:elevasn-loader-aura-cta 2.45s ease-in-out infinite !important;
}
.elevasn-gate-loader__button::before,
.elevasn-gate-loader__button:hover::before,
.elevasn-gate-loader__button:focus-visible::before{
  content:"" !important;
  position:relative !important;
  inset:auto !important;
  z-index:1 !important;
  flex:0 0 auto !important;
  width:.72rem !important;
  height:.72rem !important;
  border:0 !important;
  border-radius:999px !important;
  background:radial-gradient(circle, #d5ff84 0%, #69ff46 40%, #1fae38 78%) !important;
  box-shadow:
    0 0 7px rgba(155,255,83,.95),
    0 0 16px rgba(87,255,75,.72),
    0 0 30px rgba(70,229,78,.40) !important;
  animation:elevasn-loader-green-light 1.9s ease-in-out infinite !important;
}
.elevasn-gate-loader__button::after{
  content:"→" !important;
  position:relative !important;
  z-index:1 !important;
  display:inline-block !important;
  font-size:1rem !important;
  transform:translateX(0) !important;
  transition:transform .25s ease !important;
}
.elevasn-gate-loader__button:hover{
  transform:translateY(-2px) scale(1.018) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.28), transparent 56%),
    linear-gradient(180deg, #d5aa50 0%, #b48537 52%, #835e24 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.09),
    0 0 24px rgba(165,121,50,.58),
    0 0 58px rgba(165,121,50,.30),
    0 18px 44px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.elevasn-gate-loader__button:hover::after{transform:translateX(3px) !important;}
@keyframes elevasn-loader-aura-cta{
  0%,100%{filter:saturate(1) brightness(1);box-shadow:0 0 0 1px rgba(255,255,255,.07),0 0 18px rgba(165,121,50,.46),0 0 46px rgba(165,121,50,.22),0 16px 38px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.24);}
  50%{filter:saturate(1.08) brightness(1.05);box-shadow:0 0 0 1px rgba(255,255,255,.09),0 0 28px rgba(165,121,50,.68),0 0 76px rgba(165,121,50,.34),0 18px 44px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.28);}
}
@keyframes elevasn-loader-green-light{
  0%,100%{opacity:.72;transform:scale(.86);}
  50%{opacity:1;transform:scale(1.12);}
}
@media (max-width:749px){
  .elevasn-gate-loader__button,
  .elevasn-gate-loader__button:hover,
  .elevasn-gate-loader__button:focus-visible{
    min-width:min(86vw, 330px) !important;
    min-height:42px !important;
    padding:.68rem 1.2rem !important;
    font-size:.72rem !important;
    letter-spacing:.18em !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .elevasn-gate-loader__button,
  .elevasn-gate-loader__button::before{animation:none !important;}
}


/* ═══ FINAL MOBILE + DESKTOP GATE HEADER FIX ═══
   The ELEVASN gate stays sacred/clean. Header/menu appears only after Enter ELEVASN / Main Site. */
html.elevasn-gate-menu-hidden header[data-header],
html.elevasn-gate-menu-hidden .elevasn-header,
html.elevasn-gate-menu-hidden .elevasn-header__inner,
body.elevasn-gw-only header[data-header],
body.elevasn-gw-only .elevasn-header,
body.elevasn-gw-only .elevasn-header__inner{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
html.elevasn-gate-menu-hidden .shopify-section:has(.elevasn-header),
body.elevasn-gw-only .shopify-section:has(.elevasn-header){
  display:none !important;
}
@media (max-width: 749px){
  html.elevasn-gate-menu-hidden header[data-header],
  html.elevasn-gate-menu-hidden .elevasn-header,
  html.elevasn-gate-menu-hidden .elevasn-header__inner,
  body.elevasn-gw-only header[data-header],
  body.elevasn-gw-only .elevasn-header,
  body.elevasn-gw-only .elevasn-header__inner{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body.elevasn-gw-only .elevasn-gw{
    padding-top:0 !important;
  }
}


/* ═══ FINAL THEME EDITOR OVERHANG FIX — keeps the gateway look the same ═══
   Prevents horizontal spill in Shopify Theme Editor / desktop preview while preserving the current layout. */
html,
body{
  max-width:100% !important;
  overflow-x:hidden !important;
}
#MainContent,
main,
.shopify-section,
.elevasn-gw,
.elevasn-gw__bg,
.elevasn-gw__dimension{
  max-width:100vw !important;
  overflow-x:clip !important;
  box-sizing:border-box !important;
}
.elevasn-gw,
.elevasn-gw *{
  box-sizing:border-box !important;
}
.elevasn-gw .page-width,
.elevasn-gw__wrap{
  width:100% !important;
  max-width:min(1440px, 100vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(1rem, 3.4vw, 3rem) !important;
  padding-right:clamp(1rem, 3.4vw, 3rem) !important;
}
.elevasn-gw__hero{
  width:100% !important;
  max-width:min(1120px, calc(100vw - 2rem)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.elevasn-gw__heading{
  max-width:min(1080px, calc(100vw - 2rem)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.elevasn-gw__paths,
.elevasn-gw__utils{
  width:100% !important;
  max-width:min(1040px, calc(100vw - 2rem)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.elevasn-gw__paths{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
.elevasn-gw__card,
.elevasn-gw__utils > *{
  min-width:0 !important;
  max-width:100% !important;
}
.elevasn-aura-launcher,
.aura-launcher,
[data-aura-launcher],
.elevasn-aura-button{
  max-width:calc(100vw - 1.5rem) !important;
}
@media (max-width: 989px){
  .elevasn-gw__paths{
    grid-template-columns:1fr !important;
    max-width:min(420px, calc(100vw - 2rem)) !important;
  }
}
@media (max-width: 749px){
  .elevasn-gw .page-width,
  .elevasn-gw__wrap{
    max-width:100vw !important;
    padding-left:clamp(.85rem, 5vw, 1.25rem) !important;
    padding-right:clamp(.85rem, 5vw, 1.25rem) !important;
  }
  .elevasn-gw__hero{
    max-width:calc(100vw - 1.7rem) !important;
  }
  .elevasn-gw__heading{
    max-width:calc(100vw - 1.7rem) !important;
  }
  .elevasn-gw__paths,
  .elevasn-gw__utils{
    max-width:calc(100vw - 1.7rem) !important;
  }
}

/* ═══════════════════════════════════════
   ELEVASN Earth opening + signature elevation heading
   Added without removing or changing theme settings.
   ═══════════════════════════════════════ */

/* Earth appears only when the gate begins to open. */
.elevasn-gate-loader__earth-reveal {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: clamp(320px, 48vw, 760px);
  max-width: 88vw;
  aspect-ratio: 1.45 / 1;
  transform: translate(-50%, -50%) scale(.94);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 1s ease .08s,
    transform 1.55s cubic-bezier(.19,.84,.22,1) .04s,
    filter 1s ease;
  filter:
    saturate(.9)
    brightness(.86)
    contrast(1.04)
    drop-shadow(0 0 20px rgba(209,164,74,.12))
    drop-shadow(0 0 46px rgba(3,47,31,.28));
}

.elevasn-gate-loader__earth-reveal img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.elevasn-gate-loader.is-opening .elevasn-gate-loader__earth-reveal {
  opacity: .84;
  transform: translate(-50%, -50%) scale(1);
}

/* Remove only the round gate loader outline. */
.elevasn-gate-loader__halo {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: radial-gradient(circle at center, rgba(165,121,50,.08), transparent 62%) !important;
}

/* Luxury ancient + handwritten Elevation signature heading. */
.elevasn-gw__heading.elevasn-gw__heading--signature,
.elevasn-gw__heading--signature {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(.12rem, .45vw, .38rem) !important;
  width: 100% !important;
  max-width: min(1100px, calc(100vw - 2rem)) !important;
  margin-inline: auto !important;
  color: #f7f0d2 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  filter: none !important;
  animation: none !important;
  transform: none !important;
}

.elevasn-gw__heading--signature::after,
.elevasn-gw__heading.elevasn-gw__heading--signature::after {
  content: none !important;
  display: none !important;
}

.elevasn-gw__heading-serif {
  display: block !important;
  font-family: "Cinzel", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 3.55vw, 4rem) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: rgba(247,245,240,.94) !important;
  text-shadow:
    0 10px 34px rgba(0,0,0,.38),
    0 0 18px rgba(165,121,50,.08) !important;
}

.elevasn-gw__heading-script {
  display: block !important;
  margin-top: clamp(-.1rem, -.2vw, 0rem) !important;
  font-family:
    "Bickham Script Pro",
    "Edwardian Script ITC",
    "Palace Script MT",
    "Snell Roundhand",
    "Segoe Script",
    "Lucida Handwriting",
    "Apple Chancery",
    "Zapfino",
    cursive !important;
  font-size: clamp(4.4rem, 12.2vw, 12.5rem) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: .72 !important;
  letter-spacing: .012em !important;
  text-transform: none !important;
  color: #c79636 !important;
  background: linear-gradient(180deg, #fff0c6 0%, #d6a344 38%, #a57932 62%, #f5d27d 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow:
    0 1px 0 rgba(255,244,214,.24),
    0 10px 32px rgba(0,0,0,.36),
    0 0 18px rgba(165,121,50,.10) !important;
}

.elevasn-gw.elevasn-text-awakened .elevasn-gw__heading--signature,
.elevasn-gw__heading--signature.elevasn-anim {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .elevasn-gw__heading-script {
    color: #c79636 !important;
    background: none !important;
  }
}

@media (max-width: 989px) {
  .elevasn-gate-loader__earth-reveal {
    width: min(84vw, 560px);
  }

  .elevasn-gw__heading-serif {
    font-size: clamp(1.25rem, 4.8vw, 2.35rem) !important;
    letter-spacing: .095em !important;
  }

  .elevasn-gw__heading-script {
    font-size: clamp(3.55rem, 18vw, 7.4rem) !important;
    line-height: .74 !important;
  }
}

@media (max-width: 520px) {
  .elevasn-gate-loader__earth-reveal {
    width: min(90vw, 430px);
  }

  .elevasn-gw__heading.elevasn-gw__heading--signature,
  .elevasn-gw__heading--signature {
    max-width: calc(100vw - 1.4rem) !important;
    gap: .1rem !important;
  }

  .elevasn-gw__heading-serif {
    font-size: clamp(1.05rem, 5.4vw, 1.6rem) !important;
    letter-spacing: .08em !important;
  }

  .elevasn-gw__heading-script {
    font-size: clamp(3.2rem, 20vw, 5.6rem) !important;
  }
}

/* ═══ ELEVASN one-sentence luxury gateway heading override — 24 May 2026 ═══
   Keeps every existing setting intact while making the gateway headline sit on one elegant line. */
.elevasn-gw__heading.elevasn-gw__heading--one-line,
.elevasn-gw__heading--one-line {
  display: block !important;
  width: 100% !important;
  max-width: min(1280px, calc(100vw - 1.4rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-align: center !important;
  font-family: "Cormorant Garamond", "Cinzel", "Trajan Pro", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.18rem, 5.05vw, 4.65rem) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: .98 !important;
  letter-spacing: .035em !important;
  text-transform: none !important;
  color: #f7f0d2 !important;
  background: linear-gradient(180deg, #fff6d7 0%, #f7f0d2 36%, #d7ad58 64%, #f4ddb0 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow:
    0 2px 0 rgba(255,244,214,.12),
    0 14px 38px rgba(0,0,0,.42),
    0 0 18px rgba(165,121,50,.16) !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

.elevasn-gw__heading.elevasn-gw__heading--one-line::after,
.elevasn-gw__heading--one-line::after {
  content: none !important;
  display: none !important;
}

.elevasn-gw.elevasn-text-awakened .elevasn-gw__heading--one-line,
.elevasn-gw__heading--one-line.elevasn-anim {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .elevasn-gw__heading.elevasn-gw__heading--one-line,
  .elevasn-gw__heading--one-line {
    color: #f7f0d2 !important;
    background: none !important;
  }
}

@media (max-width: 989px) {
  .elevasn-gw__heading.elevasn-gw__heading--one-line,
  .elevasn-gw__heading--one-line {
    max-width: calc(100vw - 1.2rem) !important;
    font-size: clamp(1.05rem, 5.45vw, 2.65rem) !important;
    letter-spacing: .022em !important;
  }
}

@media (max-width: 520px) {
  .elevasn-gw__heading.elevasn-gw__heading--one-line,
  .elevasn-gw__heading--one-line {
    max-width: calc(100vw - .85rem) !important;
    font-size: clamp(.95rem, 5.65vw, 1.55rem) !important;
    letter-spacing: .012em !important;
    line-height: 1.05 !important;
  }
}


/* ===== V24 Aura signal hero + launcher match ===== */
.elevasn-gw__intel {
  gap: .8rem !important;
  padding: .74rem 1.55rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(223, 177, 74, .92) !important;
  background: linear-gradient(180deg, #c9993a 0%, #9f6d1f 48%, #6f4916 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 236, 175, .42),
    inset 0 -1px 0 rgba(74, 45, 10, .5),
    0 10px 28px rgba(0,0,0,.24),
    0 0 20px rgba(201,153,58,.18) !important;
  color: #f6efdc !important;
  font-size: clamp(.72rem, .92vw, .86rem) !important;
  letter-spacing: .18em !important;
}
.elevasn-gw__intel::before {
  width: .9rem !important;
  height: .9rem !important;
  background: radial-gradient(circle at 35% 35%, #fbffd7 0%, #74ff57 30%, #23dc4f 58%, #087824 100%) !important;
  box-shadow:
    0 0 8px rgba(80,255,105,.95),
    0 0 18px rgba(80,255,105,.72),
    0 0 36px rgba(80,255,105,.42),
    0 0 54px rgba(80,255,105,.22) !important;
}
@media (max-width: 749px) {
  .elevasn-gw__intel {
    padding: .66rem 1.05rem !important;
    font-size: .62rem !important;
    letter-spacing: .15em !important;
    gap: .65rem !important;
  }
  .elevasn-gw__intel::before {
    width: .78rem !important;
    height: .78rem !important;
  }
}


/* ═══ 26MAY2026 Editable portal background controls ═══
   These use Theme settings → ELEVASN Gateway System → Portal background controls.
   They override older locked dark backgrounds so the portal background is truly editable. */
.elevasn-portal{
  background: var(--gw-portal-overlay-bg, linear-gradient(180deg, rgba(2,14,9,.88), rgba(2,15,10,.96))) !important;
}
.elevasn-portal > .page-width{
  background: var(--gw-portal-main-bg, transparent) !important;
}
.elevasn-portal__intro,
.elevasn-portal__sidebar{
  background: var(--gw-portal-panel-bg, linear-gradient(180deg, rgba(7,20,15,.96), rgba(11,36,27,.92))) !important;
  border-color: color-mix(in srgb, var(--gw-portal-panel-border, #A57932) calc(var(--gw-portal-panel-border-opacity, .18) * 100%), transparent) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,var(--gw-portal-panel-shadow-strength, .14)), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.elevasn-portal__card,
.elevasn-elearn{
  background: var(--gw-portal-card-bg, linear-gradient(145deg, rgba(7,20,15,.96), rgba(11,36,27,.90))) !important;
  border-color: color-mix(in srgb, var(--gw-portal-panel-border, #A57932) calc(var(--gw-portal-panel-border-opacity, .18) * 100%), transparent) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,var(--gw-portal-panel-shadow-strength, .14)), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.elevasn-portal__contact{
  background: var(--gw-portal-contact-bg, linear-gradient(145deg, rgba(7,20,15,.96), rgba(11,36,27,.90))) !important;
  border-color: color-mix(in srgb, var(--gw-portal-panel-border, #A57932) calc(var(--gw-portal-panel-border-opacity, .18) * 100%), transparent) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,var(--gw-portal-panel-shadow-strength, .14)), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
@media (max-width: 749px){
  .elevasn-portal{
    background: var(--gw-portal-overlay-bg, linear-gradient(180deg, rgba(2,14,9,.88), rgba(2,15,10,.96))) !important;
  }
}


/* ELEVASN v51 word-search difficulty upgrade: larger generated board + denser word list */
.elevasn-wordsearch__board{
  grid-template-columns:repeat(var(--elevasn-wordsearch-size, 14), minmax(22px, 1fr)) !important;
  max-width:760px !important;
  gap:.22rem !important;
  padding:.7rem !important;
}
.elevasn-wordsearch__cell{
  min-width:0 !important;
  font-size:clamp(.62rem, .96vw, .92rem) !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
  aspect-ratio:1 / 1 !important;
}
.elevasn-wordsearch__list{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.45rem !important;
}
.elevasn-wordsearch__list li{
  text-align:center !important;
  font-size:clamp(.68rem, .95vw, .82rem) !important;
  padding:.42rem .48rem !important;
  word-break:break-word !important;
}
@media (max-width: 749px){
  .elevasn-wordsearch__board{
    gap:.12rem !important;
    padding:.45rem !important;
  }
  .elevasn-wordsearch__cell{
    font-size:clamp(.48rem, 2.2vw, .68rem) !important;
    border-radius:8px !important;
  }
  .elevasn-wordsearch__list{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 429px){
  .elevasn-wordsearch__cell{
    font-size:.48rem !important;
    letter-spacing:0 !important;
  }
  .elevasn-wordsearch__list{
    grid-template-columns:1fr !important;
  }
}

/* ELEVASN v52 — Link the Aura sound bell to the gateway beam.
   Bell OFF = beam/light inactive. Bell ON = beam/light active and breathing. */
html.elevasn-aura-sound-off .elevasn-gw__dimension::after,
body.elevasn-aura-sound-off .elevasn-gw__dimension::after,
html.elevasn-aura-sound-off .elevasn-gw__threshold::after,
body.elevasn-aura-sound-off .elevasn-gw__threshold::after,
html.elevasn-aura-sound-off .elevasn-gw__vortex-core,
body.elevasn-aura-sound-off .elevasn-gw__vortex-core {
  opacity: 0 !important;
  animation-play-state: paused !important;
  filter: blur(26px) !important;
  transition: opacity .55s ease, filter .55s ease !important;
}
html.elevasn-aura-sound-on .elevasn-gw__dimension::after,
body.elevasn-aura-sound-on .elevasn-gw__dimension::after,
html.elevasn-aura-sound-on .elevasn-gw__threshold::after,
body.elevasn-aura-sound-on .elevasn-gw__threshold::after,
html.elevasn-aura-sound-on .elevasn-gw__vortex-core,
body.elevasn-aura-sound-on .elevasn-gw__vortex-core {
  animation-play-state: running !important;
}
.aura-sound-bell.is-off::before,
.aura-sound-bell[aria-pressed="false"]::before {
  background: radial-gradient(circle at 35% 35%, #f6e6b8 0%, #a57932 36%, #5b4019 68%, #241907 100%) !important;
  box-shadow: 0 0 0 3px rgba(165,121,50,.09), 0 0 7px rgba(165,121,50,.36) !important;
  opacity: .62 !important;
  animation: none !important;
}
.aura-sound-bell.is-on::before,
.aura-sound-bell[aria-pressed="true"]::before {
  opacity: 1 !important;
  animation-play-state: running !important;
}



/* v53 — Luxury 3D Aura Ascension + custom uploaded symbol support */
.elevasn-aura-crush{
  border:1px solid color-mix(in srgb, var(--gw-game-border,#b5924d) 48%, transparent) !important;
  border-radius:1.8rem !important;
  padding:clamp(.9rem,2vw,1.35rem) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(181,146,77,.16), transparent 32%),
    linear-gradient(145deg, rgba(5,22,16,.96), color-mix(in srgb, var(--gw-game-panel-bg,#071c14) 88%, #000 12%)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.elevasn-aura-crush__layout{
  gap:clamp(.85rem,2vw,1.35rem) !important;
}
.elevasn-aura-crush__panel{
  background:
    linear-gradient(160deg, rgba(9,42,29,.96), rgba(3,19,13,.97)) !important;
  border:1px solid color-mix(in srgb, var(--gw-game-border,#b5924d) 62%, transparent) !important;
  box-shadow:0 20px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(247,245,240,.07), inset 0 -18px 34px rgba(0,0,0,.18) !important;
}
.elevasn-aura-crush__board{
  perspective:900px !important;
  border:1px solid color-mix(in srgb, var(--gw-game-border,#b5924d) 45%, transparent) !important;
  background:
    radial-gradient(circle at top, rgba(247,245,240,.08), transparent 32%),
    linear-gradient(145deg, rgba(4,29,20,.96), rgba(1,9,6,.96)) !important;
  box-shadow:inset 0 0 0 1px rgba(247,245,240,.04), inset 0 18px 44px rgba(181,146,77,.06), 0 22px 55px rgba(0,0,0,.35) !important;
}
.elevasn-aura-crush__tile{
  transform-style:preserve-3d !important;
  border:1px solid rgba(247,245,240,.18) !important;
  background:
    radial-gradient(circle at 32% 18%, rgba(255,255,255,.34), transparent 22%),
    linear-gradient(145deg, #1d4b37 0%, #0b2519 58%, #06120d 100%) !important;
  box-shadow:
    inset 0 11px 18px rgba(255,255,255,.14),
    inset 0 -14px 20px rgba(0,0,0,.28),
    0 12px 0 rgba(2,12,8,.72),
    0 20px 28px rgba(0,0,0,.34) !important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease !important;
}
.elevasn-aura-crush__tile:hover{
  transform:translateY(-5px) rotateX(7deg) !important;
  border-color:color-mix(in srgb, var(--gw-game-border,#b5924d) 75%, #fff 8%) !important;
  filter:saturate(1.08) brightness(1.04) !important;
}
.elevasn-aura-crush__tile:active,
.elevasn-aura-crush__tile.is-selected{
  transform:translateY(6px) scale(.97) !important;
  box-shadow:inset 0 7px 16px rgba(255,255,255,.16), inset 0 -10px 20px rgba(0,0,0,.26), 0 4px 0 rgba(2,12,8,.8), 0 10px 18px rgba(0,0,0,.3) !important;
  outline:2px solid color-mix(in srgb, var(--gw-game-border,#b5924d) 80%, #fff 14%) !important;
}
.elevasn-aura-crush__tile::before{
  height:20px !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent) !important;
  opacity:.72 !important;
}
.elevasn-aura-crush__symbol{
  width:min(64px,72%) !important;
  height:min(64px,72%) !important;
  display:grid !important;
  place-items:center !important;
  color:#f7f5f0 !important;
  text-shadow:0 2px 7px rgba(0,0,0,.35), 0 0 18px rgba(181,146,77,.22) !important;
}
.elevasn-aura-crush__image{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.28)) drop-shadow(0 0 14px rgba(181,146,77,.22)) !important;
}
.elevasn-aura-crush__tile small{
  max-width:100% !important;
  color:rgba(247,245,240,.95) !important;
  text-shadow:0 1px 3px rgba(0,0,0,.45) !important;
}
.elevasn-aura-crush__tile--elevate{background:radial-gradient(circle at 32% 18%, rgba(255,255,255,.32), transparent 22%),linear-gradient(145deg,#c9a256,#836020 58%,#2c1e08) !important;}
.elevasn-aura-crush__tile--aura{background:radial-gradient(circle at 32% 18%, rgba(255,255,255,.30), transparent 22%),linear-gradient(145deg,#3c7154,#0f3b29 60%,#04150e) !important;}
.elevasn-aura-crush__tile--source{background:radial-gradient(circle at 32% 18%, rgba(255,255,255,.28), transparent 22%),linear-gradient(145deg,#f2d27d,#a47a2b 58%,#3a2709) !important;}
.elevasn-aura-crush__tile--grace{background:radial-gradient(circle at 32% 18%, rgba(255,255,255,.34), transparent 22%),linear-gradient(145deg,#e9dfc4,#b5924d 58%,#4a3410) !important;color:#172018 !important;}
.elevasn-aura-crush__tile--spirit{background:radial-gradient(circle at 32% 18%, rgba(255,255,255,.27), transparent 22%),linear-gradient(145deg,#2f5d46,#123927 58%,#06140e) !important;}
.elevasn-aura-crush__tile--gold{background:radial-gradient(circle at 32% 18%, rgba(255,255,255,.36), transparent 22%),linear-gradient(145deg,#ffe39a,#c8952c 58%,#5d3d0b) !important;color:#172018 !important;}
.elevasn-aura-crush__tile--grace small,
.elevasn-aura-crush__tile--gold small,
.elevasn-aura-crush__tile--grace .elevasn-aura-crush__symbol,
.elevasn-aura-crush__tile--gold .elevasn-aura-crush__symbol{
  color:#172018 !important;
  text-shadow:0 1px 2px rgba(255,255,255,.18) !important;
}
@media (max-width: 749px){
  .elevasn-aura-crush__symbol{width:min(48px,70%) !important;height:min(48px,70%) !important;}
}


/* v54: Aura match logo box colour customizer */
.elevasn-aura-crush__tile{
  background:
    radial-gradient(circle at 30% 16%, rgba(255,255,255,.36), transparent 23%),
    linear-gradient(145deg,
      color-mix(in srgb, var(--aura-tile-color,#1b3d2f) 70%, #ffffff 30%) 0%,
      var(--aura-tile-color,#1b3d2f) 56%,
      color-mix(in srgb, var(--aura-tile-color,#1b3d2f) 45%, #000000 55%) 100%) !important;
}
.elevasn-aura-crush__tile .elevasn-aura-crush__symbol,
.elevasn-aura-crush__tile small{
  color:#f7f5f0 !important;
  text-shadow:0 1px 4px rgba(0,0,0,.55) !important;
}
.elevasn-aura-crush__tile::after{
  content:'';
  position:absolute;
  inset:auto 12% 8px 12%;
  height:8px;
  border-radius:999px;
  background:color-mix(in srgb, var(--aura-tile-color,#1b3d2f) 55%, #000000 45%);
  opacity:.45;
  filter:blur(6px);
  pointer-events:none;
}


/* v55: Aura match game logo-only tiles with spiritual default symbols */
.elevasn-aura-crush__tile{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:.6rem !important;
}
.elevasn-aura-crush__symbol{
  width:min(78px,78%) !important;
  height:min(78px,78%) !important;
  margin:0 !important;
}
.elevasn-aura-crush__image{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
.elevasn-aura-crush__tile small,
.elevasn-aura-crush__tile strong{
  display:none !important;
}
@media (max-width: 749px){
  .elevasn-aura-crush__symbol{
    width:min(58px,74%) !important;
    height:min(58px,74%) !important;
  }
}


/* v57: Angel + demon stress relief battle refined artwork, motion, and clarity */
.elevasn-battle-game{
  position:relative !important;
  background:
    radial-gradient(circle at top, rgba(247,245,240,.07), transparent 24%),
    linear-gradient(180deg, rgba(6,28,20,.98), rgba(2,15,11,.98)) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.elevasn-battle-game__hud{
  position:relative;
  z-index:2;
}
.elevasn-battle-game__level,
.elevasn-battle-game__meter{
  box-shadow:0 12px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.elevasn-battle-game__meter-bar span{
  animation:elevasnBattleMeterPulse 2.8s ease-in-out infinite;
}
.elevasn-battle-game__arena{
  position:relative;
  isolation:isolate;
  min-height:338px;
  background:
    radial-gradient(circle at 50% 18%, rgba(247,245,240,.12), transparent 18%),
    linear-gradient(180deg, rgba(110,142,177,.84) 0%, rgba(77,111,149,.85) 34%, rgba(22,31,52,.85) 35%, rgba(8,12,21,.98) 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -24px 60px rgba(0,0,0,.22), 0 18px 42px rgba(0,0,0,.24) !important;
}
.elevasn-battle-game__arena::before,
.elevasn-battle-game__arena::after{
  content:'';
  position:absolute;
  inset:auto;
  pointer-events:none;
  z-index:0;
}
.elevasn-battle-game__arena::before{
  left:-8%;
  right:-8%;
  bottom:68px;
  height:140px;
  background:linear-gradient(90deg, rgba(82,118,166,.12), rgba(247,245,240,.05), rgba(141,63,66,.12));
  filter:blur(24px);
}
.elevasn-battle-game__arena::after{
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(247,245,240,.08);
}
.elevasn-battle-game__sky{
  overflow:hidden;
  animation:elevasnBattleSkyGlow 8s ease-in-out infinite;
}
.elevasn-battle-game__sky::before,
.elevasn-battle-game__sky::after{
  animation:elevasnBattleCloudDrift 13s linear infinite;
}
.elevasn-battle-game__sky::after{
  animation-duration:16s;
  animation-direction:reverse;
}
.elevasn-battle-game__tower{
  box-shadow:0 12px 26px rgba(0,0,0,.28), 0 0 24px rgba(247,245,240,.05) !important;
}
.elevasn-battle-game__tower--angel{
  animation:elevasnBattleAngelGlow 3.8s ease-in-out infinite;
}
.elevasn-battle-game__tower--devil{
  animation:elevasnBattleDevilGlow 3.8s ease-in-out infinite;
}
.elevasn-battle-game__ground{
  overflow:hidden;
}
.elevasn-battle-game__ground::after{
  content:'';
  position:absolute;
  left:-20%;
  bottom:12px;
  width:140%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(247,245,240,.22), transparent);
  animation:elevasnBattleScan 5s linear infinite;
}
.elevasn-battle-game__unit{
  z-index:1;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.elevasn-battle-game__unit::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 22% 10%, rgba(247,245,240,.18), transparent 24%);
  pointer-events:none;
}
.elevasn-battle-game__unit--angel{
  animation:elevasnBattleFloatAngel 4.8s ease-in-out infinite;
}
.elevasn-battle-game__unit--human{
  animation:elevasnBattleFloatHuman 4.8s ease-in-out infinite;
}
.elevasn-battle-game__unit--devil{
  animation:elevasnBattleFloatDevil 4.8s ease-in-out infinite;
}
.elevasn-battle-game__unit--angel,
.elevasn-battle-game__unit--human,
.elevasn-battle-game__unit--devil{
  border-color:rgba(247,245,240,.2) !important;
}
.elevasn-battle-game__unit-icon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 10px 18px rgba(0,0,0,.18) !important;
  animation:elevasnBattleIconPulse 2.6s ease-in-out infinite;
}
.elevasn-battle-game__unit-copy strong{
  letter-spacing:.01em;
}
.elevasn-battle-game__unit-copy p{
  text-wrap:pretty;
}
.elevasn-battle-game__panel{
  box-shadow:0 16px 36px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.elevasn-battle-game__choices button{
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.elevasn-battle-game__choices button::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(247,245,240,.08) 34%, transparent 62%);
  transform:translateX(-120%);
  transition:transform .45s ease;
}
.elevasn-battle-game__choices button:hover::before,
.elevasn-battle-game__choices button:focus-visible::before{
  transform:translateX(120%);
}
.elevasn-battle-game__choices button strong{
  font-size:.96rem !important;
  line-height:1.38 !important;
}
.elevasn-battle-game.is-success .elevasn-battle-game__arena{
  box-shadow:inset 0 0 0 1px rgba(247,245,240,.12), 0 0 0 2px rgba(181,146,77,.26), 0 18px 46px rgba(181,146,77,.16) !important;
}
.elevasn-battle-game.is-success .elevasn-battle-game__unit--angel,
.elevasn-battle-game.is-success .elevasn-battle-game__unit--human,
.elevasn-battle-game.is-success .elevasn-battle-game__unit--devil{
  filter:saturate(1.05) brightness(1.04);
}
.elevasn-battle-game.is-warning .elevasn-battle-game__arena{
  box-shadow:inset 0 0 0 1px rgba(247,245,240,.12), 0 0 0 2px rgba(176,75,64,.22), 0 18px 46px rgba(176,75,64,.12) !important;
}
@keyframes elevasnBattleMeterPulse{
  0%,100%{filter:saturate(1) brightness(1);}
  50%{filter:saturate(1.08) brightness(1.08);}
}
@keyframes elevasnBattleCloudDrift{
  0%{transform:translateX(0);}
  50%{transform:translateX(16px);}
  100%{transform:translateX(0);}
}
@keyframes elevasnBattleSkyGlow{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.06);}
}
@keyframes elevasnBattleAngelGlow{
  0%,100%{box-shadow:0 12px 26px rgba(0,0,0,.28), 0 0 24px rgba(215,176,97,.10);} 
  50%{box-shadow:0 14px 30px rgba(0,0,0,.3), 0 0 34px rgba(215,176,97,.22);} 
}
@keyframes elevasnBattleDevilGlow{
  0%,100%{box-shadow:0 12px 26px rgba(0,0,0,.28), 0 0 24px rgba(176,75,64,.10);} 
  50%{box-shadow:0 14px 30px rgba(0,0,0,.3), 0 0 34px rgba(176,75,64,.22);} 
}
@keyframes elevasnBattleScan{
  0%{transform:translateX(-10%);opacity:.18;}
  50%{opacity:.42;}
  100%{transform:translateX(10%);opacity:.18;}
}
@keyframes elevasnBattleFloatAngel{
  0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);} 
}
@keyframes elevasnBattleFloatHuman{
  0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(-5px);} 
}
@keyframes elevasnBattleFloatDevil{
  0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);} 
}
@keyframes elevasnBattleIconPulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.06);}
}
@media (prefers-reduced-motion: reduce){
  .elevasn-battle-game *,
  .elevasn-battle-game *::before,
  .elevasn-battle-game *::after{
    animation:none !important;
    transition:none !important;
  }
}


/* v58: integrate battle choices into the main animated arena and remove duplicate side image */
.elevasn-battle-game__tower{display:none !important;}
.elevasn-battle-game__arena{
  min-height:640px !important;
  padding:1rem !important;
}
.elevasn-battle-game__unit{bottom:248px !important;}
.elevasn-battle-game__unit--human{bottom:266px !important;}
.elevasn-battle-game__ground{
  height:210px !important;
}
.elevasn-battle-game__panel{
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:14px !important;
  z-index:4 !important;
  background:rgba(2,16,12,.78) !important;
  backdrop-filter:blur(6px) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.elevasn-battle-game__panel .elevasn-game__prompt{
  margin-bottom:1rem !important;
}
.elevasn-battle-game__panel .elevasn-game__feedback{
  margin-top:1rem !important;
}
@media(max-width:989px){
  .elevasn-battle-game__arena{min-height:760px !important;}
  .elevasn-battle-game__unit{bottom:300px !important;}
  .elevasn-battle-game__unit--human{bottom:170px !important;}
  .elevasn-battle-game__ground{height:280px !important;}
}
@media(max-width:749px){
  .elevasn-battle-game__arena{
    min-height:900px !important;
    padding:.75rem !important;
  }
  .elevasn-battle-game__unit{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    margin-bottom:.75rem !important;
    transform:none !important;
  }
  .elevasn-battle-game__unit--human{bottom:auto !important;}
  .elevasn-battle-game__ground{height:260px !important;}
  .elevasn-battle-game__panel{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
  }
}


/* v59: battle arena visibility polish and cloud removal */
.elevasn-battle-game__sky::before,
.elevasn-battle-game__sky::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}
.elevasn-battle-game__arena{
  min-height:720px !important;
}
.elevasn-battle-game__unit{
  bottom:330px !important;
}
.elevasn-battle-game__unit--human{
  bottom:350px !important;
}
.elevasn-battle-game__unit-copy p{
  font-size:.9rem !important;
  line-height:1.46 !important;
}
.elevasn-battle-game__panel{
  padding:.85rem !important;
  background:rgba(2,16,12,.72) !important;
}
.elevasn-battle-game__panel .elevasn-game__prompt{
  margin-bottom:.75rem !important;
}
.elevasn-battle-game__choices{
  gap:.75rem !important;
  margin:.75rem 0 !important;
}
.elevasn-battle-game__choices button{
  min-height:100px !important;
  padding:.9rem !important;
}
.elevasn-battle-game__choices button strong{
  font-size:.92rem !important;
  line-height:1.34 !important;
}
.elevasn-battle-game__panel .elevasn-game__feedback{
  margin-top:.8rem !important;
}
@media(max-width:989px){
  .elevasn-battle-game__arena{
    min-height:840px !important;
  }
  .elevasn-battle-game__unit{
    bottom:360px !important;
  }
  .elevasn-battle-game__unit--human{
    bottom:220px !important;
  }
}
@media(max-width:749px){
  .elevasn-battle-game__arena{
    min-height:920px !important;
  }
  .elevasn-battle-game__panel{
    padding:.75rem !important;
  }
  .elevasn-battle-game__choices button{
    min-height:88px !important;
  }
}


/* v61: football programme quotes + animated tactics moved into football portal */
.elevasn-portal-football-lab{
  margin:1.5rem 0 2rem;
}
.elevasn-portal-football-lab__grid{
  display:grid;
  grid-template-columns:minmax(280px,.84fr) minmax(340px,1.16fr);
  gap:22px;
  align-items:stretch;
}
.elevasn-portal-football-lab__quotes,
.elevasn-portal-football-lab__tactics{
  border:1px solid rgba(165,121,50,.26);
  border-radius:1.75rem;
  background:linear-gradient(180deg, rgba(10,33,24,.98), rgba(4,18,13,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
  padding:1.35rem;
}
.elevasn-portal-football-lab__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:.9rem;
  margin-bottom:1rem;
  border-bottom:1px solid rgba(165,121,50,.18);
}
.elevasn-portal-football-lab__head span{
  color:var(--gw-accent,#a57932);
  font:800 .68rem/1 Inter,Arial,sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.elevasn-portal-football-lab__head strong{
  color:var(--gw-text,#f7f5f0);
  font:800 1rem/1.25 Inter,Arial,sans-serif;
  text-align:right;
}
.elevasn-portal-football-lab__quote-loop{display:grid;gap:.8rem;}
.elevasn-portal-football-lab__quote-loop article{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:.85rem;
  align-items:center;
  min-height:72px;
  padding:.82rem 1rem;
  border-radius:1.15rem;
  border:1px solid rgba(165,121,50,.18);
  background:rgba(0,0,0,.14);
  animation:elevasnFootballQuoteFloat 14s ease-in-out infinite;
}
.elevasn-portal-football-lab__quote-loop article:nth-child(2){animation-delay:.2s}
.elevasn-portal-football-lab__quote-loop article:nth-child(3){animation-delay:.4s}
.elevasn-portal-football-lab__quote-loop article:nth-child(4){animation-delay:.6s}
.elevasn-portal-football-lab__quote-loop article:nth-child(5){animation-delay:.8s}
.elevasn-portal-football-lab__quote-loop article:nth-child(6){animation-delay:1s}
.elevasn-portal-football-lab__quote-loop article:nth-child(7){animation-delay:1.2s}
.elevasn-portal-football-lab__quote-loop article:nth-child(8){animation-delay:1.4s}
.elevasn-portal-football-lab__quote-loop article:nth-child(9){animation-delay:1.6s}
.elevasn-portal-football-lab__quote-loop article:nth-child(10){animation-delay:1.8s}
.elevasn-portal-football-lab__quote-loop article:nth-child(11){animation-delay:2s}
.elevasn-portal-football-lab__quote-loop article:nth-child(12){animation-delay:2.2s}
.elevasn-portal-football-lab__quote-loop article:nth-child(13){animation-delay:2.4s}
.elevasn-portal-football-lab__quote-loop article:nth-child(14){animation-delay:2.6s}
.elevasn-portal-football-lab__quote-loop article:nth-child(15){animation-delay:2.8s}
.elevasn-portal-football-lab__quote-loop article:nth-child(16){animation-delay:3s}
.elevasn-portal-football-lab__quote-loop span{
  display:grid;place-items:center;
  width:38px;height:38px;border-radius:999px;
  border:1px solid rgba(181,146,77,.42);
  color:var(--gw-accent,#a57932);
  font:900 .72rem/1 Inter,Arial,sans-serif;
}
.elevasn-portal-football-lab__quote-loop p{margin:0;color:var(--gw-text,#f7f5f0);font:700 .97rem/1.5 Inter,Arial,sans-serif;}
.elevasn-portal-football-board{
  position:relative;
  min-height:540px;
  overflow:hidden;
  border-radius:1.5rem;
  border:1px solid rgba(181,146,77,.24);
  background:linear-gradient(180deg, rgba(8,39,27,.96), rgba(3,18,12,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.elevasn-portal-football-board__pitch{
  position:absolute; inset:16px;
  border:2px solid rgba(181,146,77,.42);
  border-radius:1.15rem;
  background:
    radial-gradient(circle at 50% 50%, rgba(181,146,77,.08), transparent 22%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.02) 0, rgba(255,255,255,.02) 38px, transparent 38px, transparent 76px),
    linear-gradient(180deg, rgba(16,64,44,.92), rgba(7,31,22,.95));
}
.elevasn-portal-football-board__pitch::before{
  content:''; position:absolute; left:0; right:0; top:50%; border-top:2px solid rgba(181,146,77,.28);
}
.elevasn-portal-football-board__pitch::after{
  content:''; position:absolute; left:50%; top:50%; width:84px; height:84px; border-radius:50%; border:2px solid rgba(181,146,77,.24); transform:translate(-50%,-50%);
}
.elevasn-portal-football-board__goal{
  position:absolute; left:50%; top:16px; width:118px; height:26px; transform:translateX(-50%);
  border:2px solid rgba(247,245,240,.66); border-bottom:0; border-radius:12px 12px 0 0; box-shadow:0 0 24px rgba(247,245,240,.12);
}
.elevasn-portal-football-board__legend{
  position:absolute; z-index:8; right:16px; top:16px; display:flex; flex-wrap:wrap; gap:.55rem; justify-content:flex-end;
}
.elevasn-portal-football-board__legend span{
  display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .65rem; border-radius:999px; background:rgba(0,0,0,.2); border:1px solid rgba(181,146,77,.18); color:var(--gw-text,#f7f5f0); font:700 .68rem/1 Inter,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase;
}
.elevasn-portal-football-board__legend i{display:inline-block; width:11px; height:11px; border-radius:999px;}
.elevasn-portal-football-board__legend .is-attack{background:#b5924d;}
.elevasn-portal-football-board__legend .is-defend{background:#123d2a; border:1px solid rgba(247,245,240,.5);}
.elevasn-portal-football-board__legend .is-ball{background:#f7f5f0;}
.elevasn-portal-football-board__ball{
  position:absolute; z-index:7; width:16px; height:16px; border-radius:50%; background:#f7f5f0; box-shadow:0 0 0 4px rgba(181,146,77,.24), 0 0 22px rgba(181,146,77,.4); animation:elevasnFootballGoalRoute 18s linear infinite;
}
.elevasn-portal-football-board__tactic{position:absolute; inset:0; opacity:0; animation:elevasnFootballTacticLoop 18s linear infinite;}
.elevasn-portal-football-board__tactic.is-two{animation-delay:6s;}
.elevasn-portal-football-board__tactic.is-three{animation-delay:12s;}
.elevasn-portal-football-board__tag,
.elevasn-portal-football-board__subtag{
  position:absolute; left:18px; margin:0; z-index:8;
}
.elevasn-portal-football-board__tag{
  top:18px; padding:.7rem .85rem; border-radius:999px; background:rgba(0,0,0,.28); border:1px solid rgba(181,146,77,.36); color:var(--gw-accent,#a57932); font:900 .7rem/1 Inter,Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase;
}
.elevasn-portal-football-board__subtag{
  top:66px; max-width:58%; color:rgba(247,245,240,.88); font:600 .82rem/1.45 Inter,Arial,sans-serif;
}
.elevasn-portal-football-board .p{
  position:absolute; z-index:6; width:40px; height:40px; margin:-20px 0 0 -20px; display:grid; place-items:center; border-radius:50%; font:800 .7rem/1 Inter,Arial,sans-serif; box-shadow:0 10px 18px rgba(0,0,0,.22); animation:elevasnFootballPlayerPulse 2.4s ease-in-out infinite;
}
.elevasn-portal-football-board .p.a{background:#b5924d; color:#111; border:2px solid rgba(247,245,240,.3);}
.elevasn-portal-football-board .p.d{background:#123d2a; color:#f7f5f0; border:2px solid rgba(181,146,77,.54);}
.elevasn-portal-football-lab__note{margin:.9rem .2rem 0; color:rgba(247,245,240,.78); font-size:.9rem; line-height:1.6;}
@keyframes elevasnFootballQuoteFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes elevasnFootballTacticLoop{0%{opacity:0;transform:scale(.985)}4%,28%{opacity:1;transform:scale(1)}33%,100%{opacity:0;transform:scale(.99)}}
@keyframes elevasnFootballPlayerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes elevasnFootballGoalRoute{
  0%{left:28%; top:70%;}
  12%{left:50%; top:58%;}
  28%{left:50%; top:8%;}
  33%{left:18%; top:74%;}
  45%{left:50%; top:52%;}
  61%{left:82%; top:12%;}
  66%{left:12%; top:76%;}
  79%{left:50%; top:48%;}
  94%{left:50%; top:8%;}
  100%{left:28%; top:70%;}
}
@media(max-width:989px){
  .elevasn-portal-football-lab__grid{grid-template-columns:1fr;}
  .elevasn-portal-football-board{min-height:510px;}
}
@media(max-width:749px){
  .elevasn-portal-football-lab__quotes,.elevasn-portal-football-lab__tactics{padding:1rem; border-radius:1.35rem;}
  .elevasn-portal-football-lab__head{display:block;}
  .elevasn-portal-football-lab__head strong{display:block; margin-top:.4rem; text-align:left;}
  .elevasn-portal-football-lab__quote-loop article{grid-template-columns:34px 1fr; min-height:unset; padding:.85rem;}
  .elevasn-portal-football-board{min-height:480px;}
  .elevasn-portal-football-board__legend{position:static; padding:14px 14px 0; justify-content:flex-start;}
  .elevasn-portal-football-board__tag{top:58px; left:14px; font-size:.62rem;}
  .elevasn-portal-football-board__subtag{top:102px; left:14px; max-width:72%; font-size:.76rem;}
  .elevasn-portal-football-board .p{width:34px; height:34px; margin:-17px 0 0 -17px; font-size:.62rem;}
}
@media(prefers-reduced-motion:reduce){
  .elevasn-portal-football-lab *{animation:none !important; transition:none !important;}
  .elevasn-portal-football-board__tactic.is-one{opacity:1;}
}


/* v62: selectable football formations with matched action, 20+ passes, everyone touches, then goal */
.elevasn-portal-football-lab__selector{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:-.2rem 0 1rem;
}
.elevasn-portal-football-lab__selector button{
  appearance:none;
  border:1px solid rgba(181,146,77,.34);
  border-radius:999px;
  background:rgba(0,0,0,.16);
  color:var(--gw-text,#f7f5f0);
  padding:.72rem 1rem;
  font:900 .72rem/1 Inter,Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.elevasn-portal-football-lab__selector button:hover,
.elevasn-portal-football-lab__selector button.is-selected{
  transform:translateY(-1px);
  border-color:rgba(247,245,240,.54);
  background:linear-gradient(180deg, rgba(181,146,77,.94), rgba(92,68,24,.96));
  color:#07150f;
}
.elevasn-portal-football-board__status{
  position:absolute;
  z-index:9;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.8rem .9rem;
  border:1px solid rgba(181,146,77,.28);
  border-radius:1rem;
  background:rgba(2,15,10,.74);
  backdrop-filter:blur(6px);
  box-shadow:0 14px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
.elevasn-portal-football-board__status strong{
  color:var(--gw-accent,#a57932);
  white-space:nowrap;
  font:900 .78rem/1 Inter,Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.elevasn-portal-football-board__status span{
  color:rgba(247,245,240,.92);
  font:700 .86rem/1.35 Inter,Arial,sans-serif;
  text-align:right;
}
.elevasn-portal-football-board__ball{
  animation:none !important;
  transition:left .72s cubic-bezier(.22,1,.36,1), top .72s cubic-bezier(.22,1,.36,1), transform .26s ease !important;
}
.elevasn-portal-football-board__ball.is-goal{
  transform:scale(1.45);
  box-shadow:0 0 0 7px rgba(181,146,77,.34), 0 0 34px rgba(247,245,240,.52) !important;
}
.elevasn-portal-football-board__tactic{
  display:none !important;
  opacity:1 !important;
  animation:none !important;
  transform:none !important;
}
.elevasn-portal-football-board__tactic.is-active{
  display:block !important;
}
.elevasn-portal-football-board .p{
  animation:elevasnFootballPlayerPulse 2.4s ease-in-out infinite !important;
}
.elevasn-portal-football-board .p.is-touch{
  transform:scale(1.24) !important;
  box-shadow:0 0 0 5px rgba(247,245,240,.18), 0 0 30px rgba(181,146,77,.42), 0 12px 18px rgba(0,0,0,.24) !important;
  z-index:8;
}
.elevasn-portal-football-board .p.big{
  width:30px;
  height:30px;
  margin:-15px 0 0 -15px;
  font-size:.52rem;
}
@media(max-width:749px){
  .elevasn-portal-football-lab__selector{gap:.45rem;}
  .elevasn-portal-football-lab__selector button{padding:.6rem .78rem;font-size:.64rem;}
  .elevasn-portal-football-board__status{display:block;left:12px;right:12px;bottom:12px;padding:.72rem;}
  .elevasn-portal-football-board__status span{display:block;text-align:left;margin-top:.35rem;font-size:.78rem;}
  .elevasn-portal-football-board .p.big{width:26px;height:26px;margin:-13px 0 0 -13px;font-size:.46rem;}
}


/* v63: football drill visibility + attack/defence movement */
.elevasn-portal-football-board{
  min-height:620px !important;
}
.elevasn-portal-football-board__legend{
  gap:.4rem !important;
  max-width:44%;
}
.elevasn-portal-football-board__legend span{
  padding:.36rem .52rem !important;
  font-size:.62rem !important;
}
.elevasn-portal-football-board__tag{
  top:14px !important;
  left:14px !important;
  padding:.56rem .7rem !important;
  font-size:.62rem !important;
  max-width:44%;
}
.elevasn-portal-football-board__subtag{
  top:50px !important;
  left:14px !important;
  max-width:46% !important;
  font-size:.74rem !important;
  line-height:1.35 !important;
}
.elevasn-portal-football-board__status{
  padding:.72rem .82rem !important;
}
.elevasn-portal-football-board__status strong{
  font-size:.72rem !important;
}
.elevasn-portal-football-board__status span{
  font-size:.8rem !important;
}
.elevasn-portal-football-board .p{
  transition:left .65s cubic-bezier(.22,1,.36,1), top .65s cubic-bezier(.22,1,.36,1), transform .45s ease, box-shadow .3s ease, opacity .3s ease !important;
  will-change:transform, left, top;
}
.elevasn-portal-football-board .p.a{
  box-shadow:0 10px 18px rgba(0,0,0,.22), 0 0 18px rgba(181,146,77,.16) !important;
}
.elevasn-portal-football-board .p.d{
  box-shadow:0 10px 18px rgba(0,0,0,.22), 0 0 18px rgba(18,61,42,.18) !important;
}
.elevasn-portal-football-board .p.is-attacking{
  transform:scale(1.16) translateY(-5px) !important;
  box-shadow:0 0 0 5px rgba(247,245,240,.14), 0 0 26px rgba(181,146,77,.45), 0 12px 20px rgba(0,0,0,.24) !important;
  z-index:8;
}
.elevasn-portal-football-board .p.is-defending{
  transform:scale(1.12) !important;
  box-shadow:0 0 0 4px rgba(247,245,240,.10), 0 0 24px rgba(18,61,42,.36), 0 12px 20px rgba(0,0,0,.24) !important;
  z-index:8;
}
.elevasn-portal-football-board .p.is-supporting{
  opacity:1;
  transform:translateY(-2px) scale(1.03) !important;
}
.elevasn-portal-football-board .p.big{
  width:28px !important;
  height:28px !important;
  margin:-14px 0 0 -14px !important;
  font-size:.48rem !important;
}
@media(max-width:989px){
  .elevasn-portal-football-board{min-height:600px !important;}
  .elevasn-portal-football-board__legend{max-width:52%;}
  .elevasn-portal-football-board__subtag{max-width:52% !important;}
}
@media(max-width:749px){
  .elevasn-portal-football-board{min-height:540px !important;}
  .elevasn-portal-football-board__tag{top:54px !important; max-width:72%;}
  .elevasn-portal-football-board__subtag{top:90px !important; max-width:76% !important; font-size:.72rem !important;}
  .elevasn-portal-football-board .p.big{width:24px !important;height:24px !important;margin:-12px 0 0 -12px !important;font-size:.42rem !important;}
}


/* v64: keep football action inside the area and end on 20th-pass shot */
.elevasn-portal-football-board{
  min-height: 630px !important;
}
.elevasn-portal-football-board__pitch{
  inset: 14px !important;
}
.elevasn-portal-football-board__goal{
  top: 14px !important;
}
.elevasn-portal-football-board__tag,
.elevasn-portal-football-board__subtag,
.elevasn-portal-football-board__legend,
.elevasn-portal-football-board__status{
  max-width: 100%;
  box-sizing: border-box;
}
.elevasn-portal-football-board__status span{
  text-wrap: pretty;
}
.elevasn-portal-football-board .p{
  max-width: 40px;
  max-height: 40px;
}
.elevasn-portal-football-board .p.big{
  max-width: 28px;
  max-height: 28px;
}
@media(max-width:749px){
  .elevasn-portal-football-board{
    min-height: 560px !important;
  }
}


/* v65: real-game football simulation refinement */
.elevasn-portal-football-board{
  min-height:660px !important;
}
.elevasn-portal-football-board__ball{
  transition:left .58s cubic-bezier(.22,1,.36,1), top .58s cubic-bezier(.22,1,.36,1), transform .2s ease, box-shadow .2s ease !important;
}
.elevasn-portal-football-board__ball.is-shot{
  transform:scale(1.22) !important;
  box-shadow:0 0 0 6px rgba(181,146,77,.32), 0 0 30px rgba(247,245,240,.45) !important;
}
.elevasn-portal-football-board__ball.is-goal{
  transform:scale(1.55) !important;
  box-shadow:0 0 0 8px rgba(181,146,77,.4), 0 0 42px rgba(247,245,240,.62) !important;
}
.elevasn-portal-football-board .p{
  transition:left .58s cubic-bezier(.22,1,.36,1), top .58s cubic-bezier(.22,1,.36,1), transform .28s ease, box-shadow .28s ease, opacity .28s ease !important;
}
.elevasn-portal-football-board .p.is-shooting{
  transform:scale(1.28) translateY(-6px) !important;
  box-shadow:0 0 0 6px rgba(247,245,240,.2), 0 0 38px rgba(181,146,77,.55), 0 14px 22px rgba(0,0,0,.26) !important;
  z-index:10 !important;
}
.elevasn-portal-football-board .p.is-attacking{
  transform:scale(1.18) translateY(-4px) !important;
}
.elevasn-portal-football-board .p.is-defending{
  transform:scale(1.15) translateY(2px) !important;
}
.elevasn-portal-football-board .p.is-supporting{
  opacity:.94 !important;
}
.elevasn-portal-football-board__tag{
  max-width:42% !important;
}
.elevasn-portal-football-board__subtag{
  max-width:52% !important;
}
.elevasn-portal-football-board__legend{
  max-width:48% !important;
}
.elevasn-portal-football-board__status{
  left:14px !important;
  right:14px !important;
  bottom:14px !important;
}
@media(max-width:989px){
  .elevasn-portal-football-board{min-height:620px !important;}
}
@media(max-width:749px){
  .elevasn-portal-football-board{min-height:570px !important;}
  .elevasn-portal-football-board__legend{position:static !important; max-width:100% !important;}
  .elevasn-portal-football-board__tag{top:58px !important; max-width:78% !important;}
  .elevasn-portal-football-board__subtag{top:94px !important; max-width:78% !important;}
}


/* v66: move football text off pitch, clearer gold selector, and more intentional spacing */
.elevasn-portal-football-lab__selector{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.65rem !important;
  margin:.2rem 0 1rem !important;
  padding:0 !important;
}
.elevasn-portal-football-lab__selector button{
  appearance:none !important;
  border:1px solid rgba(181,146,77,.34) !important;
  background:rgba(4,18,13,.92) !important;
  color:var(--gw-text,#f7f5f0) !important;
  border-radius:999px !important;
  padding:.72rem 1.05rem !important;
  min-width:84px !important;
  font:800 .82rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  box-shadow:0 10px 20px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.03) !important;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease !important;
}
.elevasn-portal-football-lab__selector button:hover,
.elevasn-portal-football-lab__selector button:focus-visible{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 24px rgba(0,0,0,.18), 0 0 0 1px rgba(181,146,77,.22) !important;
}
.elevasn-portal-football-lab__selector button.is-selected,
.elevasn-portal-football-lab__selector button[aria-pressed="true"]{
  background:linear-gradient(180deg, #c89c40, #a57932) !important;
  color:#0f140f !important;
  border-color:rgba(247,245,240,.32) !important;
  box-shadow:0 14px 28px rgba(165,121,50,.28), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.elevasn-portal-football-lab__selector button.is-selected::after,
.elevasn-portal-football-lab__selector button[aria-pressed="true"]::after{
  content:'•';
  margin-left:.45rem;
  font-size:1rem;
  line-height:1;
}
.elevasn-portal-football-lab__board-meta{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) auto;
  gap:1rem;
  align-items:start;
  margin:0 0 1rem !important;
  padding:1rem 1.05rem !important;
  border:1px solid rgba(165,121,50,.18);
  border-radius:1.2rem;
  background:linear-gradient(180deg, rgba(8,28,21,.92), rgba(3,16,12,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 12px 26px rgba(0,0,0,.15);
}
.elevasn-portal-football-lab__board-kicker{
  display:block;
  margin-bottom:.35rem;
  color:var(--gw-accent,#a57932);
  font:800 .66rem/1 Inter,Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.elevasn-portal-football-lab__board-copy strong{
  display:block;
  color:var(--gw-text,#f7f5f0);
  font:800 1.02rem/1.2 Inter,Arial,sans-serif;
}
.elevasn-portal-football-lab__board-copy p{
  margin:.45rem 0 0;
  color:rgba(247,245,240,.85);
  font:600 .92rem/1.55 Inter,Arial,sans-serif;
}
.elevasn-portal-football-lab__board-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
}
.elevasn-portal-football-lab__board-legend span{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .72rem;
  border-radius:999px;
  border:1px solid rgba(181,146,77,.18);
  background:rgba(0,0,0,.18);
  color:var(--gw-text,#f7f5f0);
  font:700 .68rem/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.elevasn-portal-football-lab__board-legend i{display:inline-block;width:11px;height:11px;border-radius:999px;}
.elevasn-portal-football-lab__board-legend .is-attack{background:#b5924d;}
.elevasn-portal-football-lab__board-legend .is-defend{background:#123d2a;border:1px solid rgba(247,245,240,.5);}
.elevasn-portal-football-lab__board-legend .is-ball{background:#f7f5f0;}
.elevasn-portal-football-board__tag,
.elevasn-portal-football-board__subtag,
.elevasn-portal-football-board__legend,
.elevasn-portal-football-board__status{
  display:none !important;
}
.elevasn-portal-football-board{
  min-height:640px !important;
}
.elevasn-portal-football-lab__board-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
  padding:.9rem 1rem;
  border:1px solid rgba(165,121,50,.18);
  border-radius:1.1rem;
  background:rgba(0,0,0,.16);
}
.elevasn-portal-football-lab__board-status strong{
  color:var(--gw-accent,#a57932);
  font:900 .82rem/1 Inter,Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.elevasn-portal-football-lab__board-status span{
  color:var(--gw-text,#f7f5f0);
  font:700 .98rem/1.45 Inter,Arial,sans-serif;
  text-align:right;
  text-wrap:pretty;
}
.elevasn-portal-football-board .p{
  z-index:3;
}
.elevasn-portal-football-board .p.big{
  width:30px !important;
  height:30px !important;
  margin:-15px 0 0 -15px !important;
  font-size:.49rem !important;
}
@media(max-width:989px){
  .elevasn-portal-football-lab__board-meta{grid-template-columns:1fr;}
  .elevasn-portal-football-lab__board-legend{justify-content:flex-start;}
  .elevasn-portal-football-lab__board-status{display:block;}
  .elevasn-portal-football-lab__board-status span{text-align:left;display:block;margin-top:.35rem;}
}
@media(max-width:749px){
  .elevasn-portal-football-lab__selector button{min-width:72px !important;padding:.62rem .84rem !important;font-size:.72rem !important;}
  .elevasn-portal-football-lab__board-meta{padding:.9rem !important;}
  .elevasn-portal-football-lab__board-copy strong{font-size:.92rem !important;}
  .elevasn-portal-football-lab__board-copy p{font-size:.84rem !important;}
  .elevasn-portal-football-board{min-height:580px !important;}
  .elevasn-portal-football-lab__board-status{padding:.8rem .88rem !important;}
  .elevasn-portal-football-lab__board-status strong{font-size:.74rem !important;}
  .elevasn-portal-football-lab__board-status span{font-size:.88rem !important;}
  .elevasn-portal-football-board .p.big{width:26px !important;height:26px !important;margin:-13px 0 0 -13px !important;font-size:.44rem !important;}
}


/* v67: premium football tactics organisation + stronger live defending/pressing */
.elevasn-portal-football-lab__tactics{
  background:
    radial-gradient(circle at top left, rgba(181,146,77,.10), transparent 30%),
    linear-gradient(180deg, rgba(8,32,23,.98), rgba(2,15,11,.99)) !important;
  border-color:rgba(181,146,77,.34) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.elevasn-portal-football-lab__selector{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:.7rem !important;
  margin:.25rem 0 1rem !important;
}
.elevasn-portal-football-lab__selector button{
  min-width:0 !important;
  width:100% !important;
  padding:.78rem .7rem !important;
  border:1px solid rgba(181,146,77,.42) !important;
  background:linear-gradient(180deg, rgba(3,22,16,.96), rgba(1,11,8,.98)) !important;
  color:#f7f5f0 !important;
  letter-spacing:.1em !important;
}
.elevasn-portal-football-lab__selector button.is-selected,
.elevasn-portal-football-lab__selector button[aria-pressed="true"]{
  background:linear-gradient(180deg, #d1a94d, #a57932) !important;
  color:#06120d !important;
  border-color:rgba(247,245,240,.46) !important;
  box-shadow:0 16px 30px rgba(165,121,50,.32), inset 0 1px 0 rgba(255,255,255,.34) !important;
}
.elevasn-portal-football-lab__board-meta{
  display:block !important;
  width:100% !important;
  margin:0 0 1rem !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}
.elevasn-portal-football-lab__board-copy{
  width:100% !important;
  border:1px solid rgba(181,146,77,.24) !important;
  border-radius:1.25rem !important;
  padding:1rem 1.05rem !important;
  background:
    linear-gradient(135deg, rgba(181,146,77,.12), transparent 32%),
    rgba(2,17,12,.74) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 12px 26px rgba(0,0,0,.18) !important;
  box-sizing:border-box !important;
}
.elevasn-portal-football-lab__board-kicker{
  color:#b5924d !important;
  font-size:.64rem !important;
  letter-spacing:.2em !important;
}
.elevasn-portal-football-lab__board-copy strong{
  margin-top:.25rem !important;
  color:#f7f5f0 !important;
  font:900 clamp(1.05rem,2.6vw,1.45rem)/1.14 Inter,Arial,sans-serif !important;
  letter-spacing:.015em !important;
  text-transform:uppercase !important;
}
.elevasn-portal-football-lab__board-copy p{
  max-width:100% !important;
  margin:.55rem 0 0 !important;
  color:rgba(247,245,240,.9) !important;
  font:650 .96rem/1.55 Inter,Arial,sans-serif !important;
}
.elevasn-portal-football-lab__board-legend{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:.6rem !important;
  margin:.8rem 0 0 !important;
  justify-content:stretch !important;
}
.elevasn-portal-football-lab__board-legend span{
  justify-content:center !important;
  min-height:38px !important;
  padding:.55rem .7rem !important;
  border-color:rgba(181,146,77,.26) !important;
  background:rgba(0,0,0,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
  text-align:center !important;
}
.elevasn-portal-football-board{
  min-height:560px !important;
  border-radius:1.55rem !important;
  background:
    radial-gradient(circle at 50% 25%, rgba(181,146,77,.10), transparent 22%),
    linear-gradient(180deg, rgba(12,64,42,.94), rgba(4,29,19,.98)) !important;
  border-color:rgba(181,146,77,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -30px 80px rgba(0,0,0,.20), 0 18px 38px rgba(0,0,0,.22) !important;
}
.elevasn-portal-football-board__pitch{
  inset:14px !important;
  border-color:rgba(181,146,77,.52) !important;
  background:
    linear-gradient(90deg, rgba(247,245,240,.025), transparent 18%, rgba(247,245,240,.02) 50%, transparent 82%, rgba(247,245,240,.025)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 32px, rgba(255,255,255,.012) 32px, rgba(255,255,255,.012) 64px),
    linear-gradient(180deg, rgba(20,79,52,.9), rgba(5,33,22,.98)) !important;
}
.elevasn-portal-football-board__ball{
  z-index:10 !important;
  width:17px !important;
  height:17px !important;
  box-shadow:0 0 0 5px rgba(181,146,77,.28), 0 0 28px rgba(247,245,240,.5) !important;
}
.elevasn-portal-football-board .p{
  width:38px !important;
  height:38px !important;
  margin:-19px 0 0 -19px !important;
  border-width:2px !important;
  font-weight:900 !important;
  transition:left .68s cubic-bezier(.2,.9,.25,1), top .68s cubic-bezier(.2,.9,.25,1), transform .28s ease, box-shadow .28s ease !important;
}
.elevasn-portal-football-board .p.a{
  background:linear-gradient(180deg, #d3b168, #b5924d) !important;
  color:#07150f !important;
  border-color:rgba(247,245,240,.36) !important;
}
.elevasn-portal-football-board .p.d{
  background:linear-gradient(180deg, #174c35, #0a2d1f) !important;
  color:#f7f5f0 !important;
  border-color:rgba(181,146,77,.58) !important;
}
.elevasn-portal-football-board .p.is-attacking,
.elevasn-portal-football-board .p.is-shooting{
  transform:scale(1.2) translateY(-4px) !important;
  box-shadow:0 0 0 6px rgba(247,245,240,.16), 0 0 32px rgba(181,146,77,.55), 0 14px 22px rgba(0,0,0,.28) !important;
}
.elevasn-portal-football-board .p.is-defending{
  transform:scale(1.13) !important;
  box-shadow:0 0 0 5px rgba(247,245,240,.12), 0 0 28px rgba(21,89,60,.5), 0 14px 22px rgba(0,0,0,.28) !important;
}
.elevasn-portal-football-board .p.is-supporting{
  opacity:.96 !important;
}
.elevasn-portal-football-board .p.big{
  width:27px !important;
  height:27px !important;
  margin:-13.5px 0 0 -13.5px !important;
  font-size:.45rem !important;
}
.elevasn-portal-football-lab__board-status{
  background:linear-gradient(180deg, rgba(7,27,20,.96), rgba(2,13,9,.98)) !important;
  border-color:rgba(181,146,77,.3) !important;
  box-shadow:0 14px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.elevasn-portal-football-lab__board-status strong{
  color:#cda34a !important;
}
.elevasn-portal-football-lab__note{
  font-size:.82rem !important;
  opacity:.78 !important;
}
@media(max-width:749px){
  .elevasn-portal-football-lab__selector{gap:.55rem !important;}
  .elevasn-portal-football-lab__selector button{padding:.68rem .45rem !important;font-size:.72rem !important;letter-spacing:.06em !important;}
  .elevasn-portal-football-lab__board-copy{padding:.92rem !important;}
  .elevasn-portal-football-lab__board-copy p{font-size:.86rem !important;line-height:1.5 !important;}
  .elevasn-portal-football-lab__board-legend{grid-template-columns:1fr !important;gap:.45rem !important;}
  .elevasn-portal-football-lab__board-legend span{justify-content:flex-start !important;min-height:34px !important;}
  .elevasn-portal-football-board{min-height:500px !important;}
  .elevasn-portal-football-board .p{width:33px !important;height:33px !important;margin:-16.5px 0 0 -16.5px !important;font-size:.6rem !important;}
  .elevasn-portal-football-board .p.big{width:23px !important;height:23px !important;margin:-11.5px 0 0 -11.5px !important;font-size:.38rem !important;}
  .elevasn-portal-football-lab__board-status{display:block !important;}
  .elevasn-portal-football-lab__board-status span{display:block !important;text-align:left !important;margin-top:.35rem !important;font-size:.84rem !important;}
}


/* v68: contained football tactic layout — no oversized boxes, no squeezed vertical text */
.elevasn-portal-football-lab,
.elevasn-portal-football-lab *,
.elevasn-portal-football-lab *::before,
.elevasn-portal-football-lab *::after{
  box-sizing:border-box !important;
}
.elevasn-portal-football-lab__tactics{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  contain:layout paint !important;
}
.elevasn-portal-football-lab__selector{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(68px,1fr)) !important;
  gap:.6rem !important;
  width:100% !important;
  max-width:100% !important;
  margin:.2rem 0 .9rem !important;
}
.elevasn-portal-football-lab__selector button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:42px !important;
  padding:.55rem .5rem !important;
  white-space:nowrap !important;
  border-radius:999px !important;
  overflow:hidden !important;
}
.elevasn-portal-football-lab__selector button.is-selected,
.elevasn-portal-football-lab__selector button[aria-pressed="true"]{
  background:linear-gradient(180deg,#d8ae55,#a57932) !important;
  color:#06140f !important;
  border-color:rgba(247,245,240,.46) !important;
}
.elevasn-portal-football-lab__selector button.is-selected::after,
.elevasn-portal-football-lab__selector button[aria-pressed="true"]::after{
  content:'';
  width:7px;
  height:7px;
  border-radius:999px;
  margin-left:.45rem;
  background:#06140f;
  box-shadow:0 0 0 3px rgba(6,20,15,.14);
  flex:0 0 auto;
}
.elevasn-portal-football-lab__board-meta{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:.75rem !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 0 .95rem !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.elevasn-portal-football-lab__board-copy{
  display:grid !important;
  grid-template-columns:minmax(170px,.45fr) minmax(0,1fr) !important;
  grid-template-areas:
    "kicker action"
    "title action" !important;
  column-gap:1rem !important;
  row-gap:.25rem !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:1rem 1.05rem !important;
  border:1px solid rgba(181,146,77,.28) !important;
  border-radius:1.2rem !important;
  background:
    linear-gradient(135deg, rgba(181,146,77,.12), transparent 34%),
    rgba(2,17,12,.76) !important;
  overflow:hidden !important;
}
.elevasn-portal-football-lab__board-kicker{
  grid-area:kicker !important;
  display:block !important;
  margin:0 !important;
  max-width:100% !important;
  color:#b5924d !important;
  font:900 .62rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.elevasn-portal-football-lab__board-copy strong{
  grid-area:title !important;
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
  color:#f7f5f0 !important;
  font:900 clamp(1rem,2vw,1.28rem)/1.18 Inter,Arial,sans-serif !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.elevasn-portal-football-lab__board-copy p{
  grid-area:action !important;
  display:block !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  color:rgba(247,245,240,.9) !important;
  font:650 .92rem/1.52 Inter,Arial,sans-serif !important;
  text-align:left !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.elevasn-portal-football-lab__board-legend{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:.55rem !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.elevasn-portal-football-lab__board-legend span{
  flex:1 1 150px !important;
  min-width:0 !important;
  min-height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  padding:.5rem .62rem !important;
  border-radius:999px !important;
  text-align:center !important;
  white-space:normal !important;
  line-height:1.15 !important;
  overflow:hidden !important;
}
.elevasn-portal-football-board{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  height:clamp(430px,56vw,560px) !important;
  min-height:0 !important;
  max-height:560px !important;
  overflow:hidden !important;
  border-radius:1.45rem !important;
  margin:0 !important;
}
.elevasn-portal-football-board__pitch{
  inset:14px !important;
  overflow:hidden !important;
}
.elevasn-portal-football-board__goal{
  top:14px !important;
}
.elevasn-portal-football-board__tag,
.elevasn-portal-football-board__subtag,
.elevasn-portal-football-board__legend,
.elevasn-portal-football-board__status{
  display:none !important;
}
.elevasn-portal-football-lab__board-status{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:1rem !important;
  margin:.9rem 0 0 !important;
  padding:.82rem .95rem !important;
  border-radius:1rem !important;
  overflow:hidden !important;
}
.elevasn-portal-football-lab__board-status strong{
  white-space:nowrap !important;
  font-size:.78rem !important;
}
.elevasn-portal-football-lab__board-status span{
  max-width:100% !important;
  min-width:0 !important;
  text-align:right !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  font-size:.9rem !important;
}
.elevasn-portal-football-lab__note{
  max-width:100% !important;
  overflow-wrap:break-word !important;
}
.elevasn-portal-football-board .p{
  max-width:38px !important;
  max-height:38px !important;
}
.elevasn-portal-football-board .p.big{
  max-width:27px !important;
  max-height:27px !important;
}
@media(max-width: 680px){
  .elevasn-portal-football-lab__board-copy{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "kicker"
      "title"
      "action" !important;
    align-items:start !important;
    row-gap:.45rem !important;
  }
  .elevasn-portal-football-lab__board-copy p{
    font-size:.86rem !important;
    line-height:1.5 !important;
  }
  .elevasn-portal-football-lab__board-legend span{
    flex:1 1 calc(50% - .55rem) !important;
  }
  .elevasn-portal-football-lab__board-status{
    grid-template-columns:1fr !important;
    gap:.35rem !important;
  }
  .elevasn-portal-football-lab__board-status span{
    text-align:left !important;
  }
}
@media(max-width: 480px){
  .elevasn-portal-football-lab__selector{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:.45rem !important;
  }
  .elevasn-portal-football-lab__selector button{
    height:38px !important;
    padding:.48rem .35rem !important;
    font-size:.66rem !important;
    letter-spacing:.04em !important;
  }
  .elevasn-portal-football-lab__board-copy{
    padding:.85rem !important;
  }
  .elevasn-portal-football-lab__board-legend span{
    flex:1 1 100% !important;
    justify-content:flex-start !important;
  }
  .elevasn-portal-football-board{
    height:clamp(390px,105vw,500px) !important;
    max-height:500px !important;
  }
}


/* v69: ELEVASN Tactical Elevation Simulator — replaces old tactics loop */
.elevasn-portal-football-lab .elevasn-football-sim{
  position:relative !important;
  isolation:isolate !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__intro{
  margin:-.35rem 0 .95rem !important;
  padding:.9rem 1rem !important;
  border:1px solid rgba(181,146,77,.22) !important;
  border-radius:1.05rem !important;
  background:rgba(0,0,0,.16) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__intro p{
  margin:0 !important;
  color:rgba(247,245,240,.88) !important;
  font:650 .92rem/1.55 Inter,Arial,sans-serif !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__selector{
  margin:.15rem 0 1rem !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__phase-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:.55rem !important;
  margin:0 0 .9rem !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__phase-grid span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:.55rem .65rem !important;
  border:1px solid rgba(181,146,77,.24) !important;
  border-radius:999px !important;
  background:rgba(2,17,12,.72) !important;
  color:rgba(247,245,240,.9) !important;
  text-align:center !important;
  font:850 .68rem/1.2 Inter,Arial,sans-serif !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  overflow:hidden !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board{
  height:clamp(430px,54vw,560px) !important;
  max-height:560px !important;
  border-radius:1.5rem !important;
  background:
    radial-gradient(circle at 50% 9%, rgba(247,245,240,.16), transparent 8%),
    radial-gradient(circle at 50% 24%, rgba(181,146,77,.14), transparent 24%),
    linear-gradient(180deg, rgba(10,60,39,.96), rgba(4,31,20,.98)) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__trace{
  position:absolute !important;
  z-index:5 !important;
  inset:20px 14px 28px !important;
  pointer-events:none !important;
  overflow:visible !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__trace polyline{
  fill:none !important;
  stroke:rgba(181,146,77,.42) !important;
  stroke-width:1.4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  stroke-dasharray:4 5 !important;
  filter:drop-shadow(0 0 6px rgba(181,146,77,.22)) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__trace line{
  stroke:rgba(247,245,240,.62) !important;
  stroke-width:1.6 !important;
  stroke-linecap:round !important;
  opacity:.86 !important;
  filter:drop-shadow(0 0 7px rgba(247,245,240,.28)) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__goal-flash{
  position:absolute !important;
  z-index:11 !important;
  left:50% !important;
  top:34px !important;
  transform:translate(-50%,-12px) scale(.84) !important;
  opacity:0 !important;
  pointer-events:none !important;
  padding:.5rem .8rem !important;
  border:1px solid rgba(247,245,240,.72) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, #f7f5f0, #cfa85a) !important;
  color:#06140f !important;
  box-shadow:0 0 0 6px rgba(181,146,77,.18), 0 0 34px rgba(247,245,240,.38) !important;
  font:1000 .72rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  transition:opacity .22s ease, transform .22s ease !important;
}
.elevasn-portal-football-lab .elevasn-football-sim.is-goal-scored .elevasn-football-sim__goal-flash{
  opacity:1 !important;
  transform:translate(-50%,0) scale(1) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p{
  z-index:8 !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.is-touched-before{
  box-shadow:0 10px 18px rgba(0,0,0,.22), inset 0 0 0 2px rgba(247,245,240,.42), 0 0 18px rgba(181,146,77,.22) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__touch-rule{
  margin:.65rem 0 0 !important;
  padding:.7rem .85rem !important;
  border:1px solid rgba(181,146,77,.22) !important;
  border-radius:.9rem !important;
  background:rgba(0,0,0,.14) !important;
  color:rgba(247,245,240,.84) !important;
  font:800 .78rem/1.35 Inter,Arial,sans-serif !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__legend .is-goal{
  background:#f7f5f0 !important;
  box-shadow:0 0 0 2px rgba(181,146,77,.25),0 0 12px rgba(247,245,240,.32) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__status{
  border-color:rgba(181,146,77,.34) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__status strong{
  min-width:108px !important;
}
@media(max-width:680px){
  .elevasn-portal-football-lab .elevasn-football-sim__phase-grid{
    grid-template-columns:1fr !important;
    gap:.45rem !important;
  }
  .elevasn-portal-football-lab .elevasn-football-sim__phase-grid span{
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .elevasn-portal-football-lab .elevasn-football-sim__intro p{
    font-size:.86rem !important;
  }
}
@media(max-width:480px){
  .elevasn-portal-football-lab .elevasn-football-sim__board{
    height:clamp(390px,106vw,500px) !important;
  }
  .elevasn-portal-football-lab .elevasn-football-sim__trace{
    inset:18px 12px 26px !important;
  }
  .elevasn-portal-football-lab .elevasn-football-sim__status strong{
    min-width:0 !important;
  }
}


/* v70: Football simulator direction fix — attackers face the gold goal, old tactics session removed */
.elevasn-portal-football-lab .elevasn-football-sim__legend .is-direction{
  position:relative !important;
  background:#b5924d !important;
  box-shadow:0 0 0 2px rgba(247,245,240,.18),0 0 12px rgba(181,146,77,.3) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__legend .is-direction::after{
  content:'↑';
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-54%);
  color:#06140f;
  font:1000 10px/1 Inter,Arial,sans-serif;
}
.elevasn-portal-football-lab .elevasn-football-sim__direction{
  position:absolute !important;
  z-index:10 !important;
  left:50% !important;
  top:56px !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  padding:.42rem .7rem !important;
  border:1px solid rgba(181,146,77,.42) !important;
  border-radius:999px !important;
  background:rgba(2,17,12,.78) !important;
  color:#f7f5f0 !important;
  box-shadow:0 0 22px rgba(181,146,77,.16) !important;
  font:1000 .62rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.a,
.elevasn-portal-football-lab .elevasn-football-sim__board .p.d{
  position:absolute !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.a::after,
.elevasn-portal-football-lab .elevasn-football-sim__board .p.d::after{
  content:'';
  position:absolute;
  left:50%;
  width:0;
  height:0;
  transform:translateX(-50%);
  filter:drop-shadow(0 0 5px rgba(0,0,0,.35));
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.a::after{
  top:-8px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-bottom:8px solid #f7f5f0;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.d::after{
  bottom:-8px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:8px solid rgba(181,146,77,.86);
}
.elevasn-portal-football-lab .elevasn-football-sim__board[data-active="3v3"] .p.a::after{
  border-bottom-color:#06140f;
  filter:drop-shadow(0 0 4px rgba(247,245,240,.28));
}
.elevasn-portal-football-lab .elevasn-football-sim__board[data-active="3v3"] .p.d::after{
  border-top-color:#f7f5f0;
}
@media(max-width:480px){
  .elevasn-portal-football-lab .elevasn-football-sim__direction{
    top:50px !important;
    font-size:.54rem !important;
    letter-spacing:.1em !important;
    padding:.36rem .55rem !important;
  }
  .elevasn-portal-football-lab .elevasn-football-sim__board .p.a::after{
    top:-7px;
    border-left-width:4px;
    border-right-width:4px;
    border-bottom-width:7px;
  }
  .elevasn-portal-football-lab .elevasn-football-sim__board .p.d::after{
    bottom:-7px;
    border-left-width:4px;
    border-right-width:4px;
    border-top-width:7px;
  }
}


/* v71: Man-to-man formation locks — each defender follows only their assigned attacker */
.elevasn-portal-football-lab .elevasn-football-sim__legend .is-man{
  position:relative !important;
  background:#f7f5f0 !important;
  box-shadow:0 0 0 2px rgba(181,146,77,.28),0 0 12px rgba(247,245,240,.22) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__legend .is-man::after{
  content:'1';
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-52%);
  color:#06140f;
  font:1000 9px/1 Inter,Arial,sans-serif;
}
.elevasn-portal-football-lab .elevasn-football-sim__trace [data-football-mark-lines] line{
  stroke:rgba(247,245,240,.2) !important;
  stroke-width:1 !important;
  stroke-dasharray:2 4 !important;
  stroke-linecap:round !important;
  filter:drop-shadow(0 0 4px rgba(181,146,77,.16)) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.d.is-man-marker{
  box-shadow:0 10px 18px rgba(0,0,0,.22), inset 0 0 0 2px rgba(181,146,77,.34), 0 0 18px rgba(247,245,240,.12) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__board .p.d.is-man-marker::before{
  content:attr(data-marking);
  position:absolute;
  left:50%;
  top:calc(100% + 9px);
  transform:translateX(-50%);
  pointer-events:none;
  padding:.16rem .28rem;
  border:1px solid rgba(181,146,77,.28);
  border-radius:999px;
  background:rgba(2,17,12,.76);
  color:rgba(247,245,240,.8);
  font:900 .48rem/1 Inter,Arial,sans-serif;
  letter-spacing:.06em;
  white-space:nowrap;
}
@media(max-width:480px){
  .elevasn-portal-football-lab .elevasn-football-sim__board .p.d.is-man-marker::before{
    top:calc(100% + 7px);
    font-size:.38rem;
    padding:.12rem .22rem;
  }
}


/* v74: football simulator summary filler + direct tactical simulator anchor */
.elevasn-portal-football-lab .elevasn-football-sim__summary{
  margin-top:1rem !important;
  border:1px solid rgba(181,146,77,.26) !important;
  border-radius:1.35rem !important;
  background:linear-gradient(180deg,rgba(4,39,23,.72),rgba(2,17,12,.92)) !important;
  padding:1rem !important;
  box-shadow:inset 0 0 0 1px rgba(247,245,240,.035),0 18px 42px rgba(0,0,0,.16) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:.8rem !important;
  margin-bottom:.86rem !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-head span{
  color:#b5924d !important;
  font:900 .66rem/1 Inter,Arial,sans-serif !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-head strong{
  color:#f7f5f0 !important;
  font:900 .82rem/1.35 Inter,Arial,sans-serif !important;
  text-align:right !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.72rem !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-grid article{
  display:grid !important;
  grid-template-columns:32px 1fr !important;
  gap:.65rem !important;
  align-items:flex-start !important;
  min-height:94px !important;
  padding:.78rem !important;
  border:1px solid rgba(181,146,77,.18) !important;
  border-radius:1rem !important;
  background:rgba(0,0,0,.13) !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-grid article > span{
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  border:1px solid rgba(181,146,77,.35) !important;
  border-radius:999px !important;
  color:#b5924d !important;
  font:900 .6rem/1 Inter,Arial,sans-serif !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-grid p{
  margin:0 !important;
  color:rgba(247,245,240,.78) !important;
  font:700 .78rem/1.48 Inter,Arial,sans-serif !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-grid p strong{
  color:#f7f5f0 !important;
  font-weight:1000 !important;
}
.elevasn-portal-football-lab .elevasn-football-sim__summary-note{
  margin:.86rem 0 0 !important;
  padding:.75rem .85rem !important;
  border:1px dashed rgba(181,146,77,.28) !important;
  border-radius:.95rem !important;
  color:rgba(247,245,240,.76) !important;
  font:800 .8rem/1.55 Inter,Arial,sans-serif !important;
  background:rgba(181,146,77,.055) !important;
}
html{scroll-behavior:smooth;}
@media(max-width:720px){
  .elevasn-portal-football-lab .elevasn-football-sim__summary-head{display:block !important;}
  .elevasn-portal-football-lab .elevasn-football-sim__summary-head strong{display:block !important;text-align:left !important;margin-top:.34rem !important;}
  .elevasn-portal-football-lab .elevasn-football-sim__summary-grid{grid-template-columns:1fr !important;}
  .elevasn-portal-football-lab .elevasn-football-sim__summary-grid article{min-height:auto !important;}
}

/* v75: remove empty stretched football quote space — keep simulator and all content the same */
.elevasn-portal-football-lab__grid{
  align-items:start !important;
}
.elevasn-portal-football-lab__quotes,
.elevasn-portal-football-lab__tactics{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
}
.elevasn-portal-football-lab__quote-loop{
  align-content:start !important;
}

/* ELEVASN Business Portfolio Popup — v79 Ultra Luxury */
.elevasn-portfolio-modal[hidden],
.elevasn-portfolio-lightbox[hidden]{display:none!important}
.elevasn-portfolio-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:clamp(14px,2vw,28px);color:var(--gw-text,#f7f5f0)}
.elevasn-portfolio-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.76);backdrop-filter:blur(14px);cursor:pointer}
.elevasn-portfolio-modal__panel{position:relative;z-index:1;width:min(1560px,96vw);max-height:92vh;overflow:auto;display:grid;grid-template-columns:minmax(270px,320px) 1fr;border:1px solid rgba(165,121,50,.52);border-radius:36px;background:linear-gradient(145deg,rgba(2,10,7,.99),rgba(4,20,14,.99));box-shadow:0 48px 140px rgba(0,0,0,.68),inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(165,121,50,.08)}
.elevasn-portfolio-modal__close,.elevasn-portfolio-lightbox__close{position:absolute;top:16px;right:16px;z-index:3;width:48px;height:48px;border-radius:999px;border:1px solid rgba(165,121,50,.8);background:rgba(3,16,11,.9);color:var(--gw-accent,#a57932);font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease}
.elevasn-portfolio-modal__close:hover,.elevasn-portfolio-lightbox__close:hover{transform:scale(1.03);background:rgba(8,28,19,.96);border-color:rgba(165,121,50,.98)}
.elevasn-portfolio-modal__side{display:flex;flex-direction:column;gap:0;padding:clamp(24px,3vw,38px);border-right:1px solid rgba(165,121,50,.24);background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.22))}
.elevasn-portfolio-modal__eyebrow,.elevasn-portfolio-modal__header span{display:block;margin:0 0 18px;color:var(--gw-accent,#a57932);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem}
.elevasn-portfolio-modal__side h3{margin:0 0 22px;font-size:clamp(2.15rem,3vw,3.35rem);line-height:.98;color:#f7f5f0;font-family:Georgia,'Times New Roman',serif;font-weight:500}
.elevasn-portfolio-modal__side p{margin:0 0 24px;color:rgba(247,245,240,.82);line-height:1.72;max-width:28ch}
.elevasn-portfolio-modal__filters{display:grid;gap:10px;margin:8px 0 26px}
.elevasn-portfolio-modal__filters button{width:100%;text-align:left;border:1px solid transparent;border-radius:12px;background:transparent;color:#f7f5f0;padding:8px 0;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;cursor:pointer;transition:.24s ease;opacity:.86}
.elevasn-portfolio-modal__filters button:hover,.elevasn-portfolio-modal__filters button.is-active{color:var(--gw-accent,#a57932);opacity:1}
.elevasn-portfolio-modal__brandmark{margin-top:auto;padding:22px 0 26px;border-top:1px solid rgba(165,121,50,.22);display:grid;justify-items:start;gap:12px}
.elevasn-portfolio-modal__brandlogo{display:block;height:auto;max-width:100%}
.elevasn-portfolio-modal__brandlogo--ribbon{width:min(240px,100%)}
.elevasn-portfolio-modal__brandlogo--crest{width:min(210px,92%)}
.elevasn-portfolio-modal__brandmark strong{display:block;font-size:1.2rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gw-accent,#a57932)}
.elevasn-portfolio-modal__brandmark span{display:block;color:#f7f5f0;opacity:.84;font-size:1rem;line-height:1.5}
.elevasn-portfolio-modal__cta{width:100%;justify-content:center;text-align:center}
.elevasn-portfolio-modal__content{padding:clamp(22px,3vw,34px)}
.elevasn-portfolio-modal__header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 56px 24px 0}
.elevasn-portfolio-modal__header strong{display:block;color:#f7f5f0;letter-spacing:.16em;text-transform:uppercase;font-size:clamp(.92rem,1.1vw,1.05rem)}
.elevasn-portfolio-modal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.elevasn-portfolio-tile{position:relative;display:block;min-height:0;overflow:hidden;border:1px solid rgba(165,121,50,.34);border-radius:20px;background:#07140f;padding:0;cursor:pointer;box-shadow:0 20px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;aspect-ratio:1/1}
.elevasn-portfolio-tile:hover{transform:translateY(-5px);border-color:rgba(165,121,50,.9);box-shadow:0 28px 84px rgba(0,0,0,.44),0 0 0 1px rgba(165,121,50,.12)}
.elevasn-portfolio-tile img{width:100%;height:100%;min-height:0;aspect-ratio:1/1;object-fit:cover;display:block;filter:saturate(.98) contrast(1.03)}
.elevasn-portfolio-tile span{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(165,121,50,.32);border-radius:999px;background:rgba(2,12,8,.8);backdrop-filter:blur(10px);color:#f7f5f0;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:left}
.elevasn-portfolio-tile small{color:var(--gw-accent,#a57932);font-weight:800}
.elevasn-portfolio-tile--wide{grid-column:auto}
.elevasn-portfolio-tile--wide img{aspect-ratio:1/1}
.elevasn-portfolio-tile.is-hidden{display:none}
.elevasn-portfolio-lightbox{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px}
.elevasn-portfolio-lightbox__backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.78);backdrop-filter:blur(10px);cursor:pointer}
.elevasn-portfolio-lightbox__panel{position:relative;z-index:1;width:min(1180px,94vw);max-height:88vh;border:1px solid rgba(165,121,50,.45);border-radius:24px;background:#07140f;overflow:hidden;box-shadow:0 32px 100px rgba(0,0,0,.62)}
.elevasn-portfolio-lightbox__panel img{display:block;width:100%;max-height:88vh;object-fit:contain;background:#07140f}
body.elevasn-portfolio-lock{overflow:hidden!important}
@media(max-width:1100px){.elevasn-portfolio-modal__panel{grid-template-columns:1fr}.elevasn-portfolio-modal__side{border-right:0;border-bottom:1px solid rgba(165,121,50,.22)}.elevasn-portfolio-modal__filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.elevasn-portfolio-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.elevasn-portfolio-tile--wide{grid-column:auto}.elevasn-portfolio-modal__brandmark{margin-top:6px}}
@media(max-width:640px){.elevasn-portfolio-modal{padding:8px}.elevasn-portfolio-modal__panel{width:100%;max-height:94vh;border-radius:22px}.elevasn-portfolio-modal__side,.elevasn-portfolio-modal__content{padding:22px 16px}.elevasn-portfolio-modal__header{display:block;margin-right:48px}.elevasn-portfolio-modal__filters{grid-template-columns:1fr}.elevasn-portfolio-modal__grid{grid-template-columns:1fr;gap:14px}.elevasn-portfolio-tile,.elevasn-portfolio-tile img,.elevasn-portfolio-tile--wide img{min-height:0;aspect-ratio:1/1}.elevasn-portfolio-modal__close{top:12px;right:12px}.elevasn-portfolio-modal__brandmark{padding-bottom:18px}}

/* v89 square portfolio tiles */
.elevasn-portfolio-tile span{border-radius:14px;left:10px;right:10px;bottom:10px}


/* ELEVASN v90 — remove oval/circle crop from ultra portfolio thumbnails */
.elevasn-portfolio-modal__grid {
  align-items: start !important;
}

.elevasn-portfolio-tile {
  aspect-ratio: 1 / 1 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #020c09 !important;
}

.elevasn-portfolio-tile img,
.elevasn-portfolio-tile--wide img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #020c09 !important;
  border-radius: 0 !important;
}

.elevasn-portfolio-tile--wide {
  grid-column: auto !important;
}

@media (max-width: 640px) {
  .elevasn-portfolio-tile,
  .elevasn-portfolio-tile img,
  .elevasn-portfolio-tile--wide img {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
  }
}


/* ELEVASN v91 — make portfolio filter buttons visible dark gold */
.elevasn-portfolio-modal__filters button {
  background: var(--gw-accent, #a57932) !important;
  color: #03150f !important;
  border: 1px solid rgba(216, 192, 138, .78) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.16) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

.elevasn-portfolio-modal__filters button:hover,
.elevasn-portfolio-modal__filters button.is-active {
  background: #d0a54c !important;
  color: #02100b !important;
  border-color: rgba(247,245,240,.72) !important;
}

.elevasn-portfolio-modal__filters button:before {
  border-color: #03150f !important;
  background: #03150f !important;
}

/* Keep square image cards clean without oval crop */
.elevasn-portfolio-tile,
.elevasn-portfolio-tile img,
.elevasn-portfolio-tile--wide img {
  aspect-ratio: 1 / 1 !important;
}

.elevasn-portfolio-tile img,
.elevasn-portfolio-tile--wide img {
  object-fit: contain !important;
  object-position: center !important;
}


/* ELEVASN v92 — luxury centered portfolio filter buttons */
.elevasn-portfolio-modal__filters{
  gap:12px !important;
}

.elevasn-portfolio-modal__filters button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:0 18px !important;
  min-height:56px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, #bc9443 0%, #a57932 100%) !important;
  color:#04150f !important;
  border:1px solid rgba(223, 197, 133, .82) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  line-height:1.15 !important;
  opacity:1 !important;
}

.elevasn-portfolio-modal__filters button:hover,
.elevasn-portfolio-modal__filters button.is-active {
  background:linear-gradient(180deg, #d1aa57 0%, #b58637 100%) !important;
  color:#02110c !important;
  border-color:rgba(247,245,240,.76) !important;
}

.elevasn-portfolio-modal__filters button:before {
  display:none !important;
  content:none !important;
}


/* ELEVASN v93 — remove oval blurred backgrounds, make overlay glows full-page clean */
.elevasn-portfolio-modal,
.elevasn-portfolio-modal__panel,
.elevasn-portfolio-modal__side,
.elevasn-portfolio-modal__content {
  background-image: none !important;
}

.elevasn-portfolio-modal::before,
.elevasn-portfolio-modal::after,
.elevasn-portfolio-modal__panel::before,
.elevasn-portfolio-modal__panel::after,
.elevasn-portfolio-modal__content::before,
.elevasn-portfolio-modal__content::after,
.elevasn-portfolio-modal__side::before,
.elevasn-portfolio-modal__side::after {
  border-radius: 0 !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #020c09 !important;
  background-image: none !important;
  opacity: 1 !important;
}

.elevasn-portfolio-modal__backdrop {
  background: #020c09 !important;
  background-image: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
}

.elevasn-portfolio-modal__panel {
  background: #02140f !important;
  background-image: none !important;
  overflow: auto !important;
}

.elevasn-portfolio-modal__side,
.elevasn-portfolio-modal__content {
  background: #03150f !important;
  background-image: none !important;
}

.elevasn-portfolio-card,
.elevasn-portfolio-tile,
.elevasn-portfolio-card__media,
.elevasn-portfolio-tile img {
  background-image: none !important;
}

/* Target common theme glow/frequency blobs only when they appear inside popups or overlays. */
.elevasn-portfolio-modal [class*="glow"],
.elevasn-portfolio-modal [class*="blur"],
.elevasn-portfolio-modal [class*="orb"],
.elevasn-portfolio-modal [class*="aura"],
.elevasn-portfolio-modal [class*="halo"],
.elevasn-portfolio-modal [class*="portal"]::before,
.elevasn-portfolio-modal [class*="portal"]::after {
  border-radius: 0 !important;
  filter: none !important;
  -webkit-filter: none !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Keep intentional image thumbnails square and not oval/circle-cropped. */
.elevasn-portfolio-tile,
.elevasn-portfolio-card,
.elevasn-portfolio-tile img,
.elevasn-portfolio-card__media img {
  border-radius: 18px !important;
}

.elevasn-portfolio-tile img,
.elevasn-portfolio-card__media img {
  object-fit: contain !important;
  object-position: center !important;
  background: #020c09 !important;
}

/* Make the popup/backdrop cover the full visible area, so no outside oval shape shows. */
.elevasn-portfolio-modal {
  position: fixed !important;
  inset: 0 !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  background: #020c09 !important;
  padding: 0 !important;
}

.elevasn-portfolio-modal__panel {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  border-radius: 0 !important;
}


/* ELEVASN v94 — solid full-page backdrops for popups, modals, drawers, and lightboxes only
   Keeps hero/banner/product image overlays untouched. */
.elevasn-portfolio-modal__backdrop,
.elevasn-portfolio-lightbox__backdrop,
.elevasn-account-modal__backdrop,
.elevasn-account-modal__overlay,
.elevasn-drawer__overlay,
.elevasn-portal__backdrop,
.size-drawer__overlay,
.drawer__overlay,
.cart-drawer__overlay,
[class*="modal"] [class*="backdrop"],
[class*="modal"][class*="backdrop"],
[class*="popup"] [class*="backdrop"],
[class*="popup"][class*="backdrop"],
[class*="drawer"] [class*="overlay"],
[class*="drawer"][class*="overlay"],
[class*="lightbox"] [class*="backdrop"],
[class*="lightbox"][class*="backdrop"] {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: #020c09 !important;
  background-color: #020c09 !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  transform: none !important;
}

/* Remove oval/radial pseudo-glows only inside popup/modal/drawer overlays. */
.elevasn-portfolio-modal::before,
.elevasn-portfolio-modal::after,
.elevasn-account-modal::before,
.elevasn-account-modal::after,
.elevasn-pathway-popup::before,
.elevasn-pathway-popup::after,
.elevasn-drawer::before,
.elevasn-drawer::after,
.size-drawer::before,
.size-drawer::after {
  border-radius: 0 !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #020c09 !important;
  background-image: none !important;
  opacity: 1 !important;
}

/* Ensure popup/drawer canvases are full screen so no blurred oval background leaks around the edges. */
.elevasn-portfolio-modal,
.elevasn-account-modal,
.elevasn-pathway-popup,
.elevasn-drawer,
.size-drawer,
.cart-drawer {
  background-image: none !important;
}

/* Keep panels themselves clean but do not flatten normal site sections. */
.elevasn-portfolio-modal__panel,
.elevasn-account-modal__panel,
.elevasn-drawer__panel,
.size-drawer__panel,
.cart-drawer,
.drawer__inner {
  background-image: none !important;
  border-radius: 0 !important;
}

/* Prevent known aura/portal glow shapes from appearing inside modal/drawer UI. */
.elevasn-portfolio-modal [class*="glow"],
.elevasn-portfolio-modal [class*="blur"],
.elevasn-portfolio-modal [class*="orb"],
.elevasn-portfolio-modal [class*="halo"],
.elevasn-account-modal [class*="glow"],
.elevasn-account-modal [class*="blur"],
.elevasn-account-modal [class*="orb"],
.elevasn-account-modal [class*="halo"],
.elevasn-drawer [class*="glow"],
.elevasn-drawer [class*="blur"],
.elevasn-drawer [class*="orb"],
.elevasn-drawer [class*="halo"],
.size-drawer [class*="glow"],
.size-drawer [class*="blur"],
.size-drawer [class*="orb"],
.size-drawer [class*="halo"] {
  filter: none !important;
  -webkit-filter: none !important;
  background-image: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}


/* ELEVASN v110 — mobile responsive refinement audit
   Fixes: portfolio popup mobile width, word-search board overflow, game panels, and horizontal bleed. */
@media (max-width: 749px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .elevasn-portal,
  .elevasn-portal__panel,
  .elevasn-portal__content,
  .elevasn-elearn,
  .elevasn-elearn__modules,
  .elevasn-elearn__module,
  .elevasn-choice-game,
  .elevasn-card-game,
  .elevasn-match,
  .elevasn-word-game,
  .elevasn-wordsearch-game,
  .elevasn-aura-crush {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* Portfolio popup: keep every element inside the phone viewport. */
  .elevasn-portfolio-modal {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  .elevasn-portfolio-modal__panel {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

  .elevasn-portfolio-modal__side,
  .elevasn-portfolio-modal__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .elevasn-portfolio-modal__side h3 {
    max-width: 100% !important;
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: 1 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .elevasn-portfolio-modal__side p {
    max-width: 100% !important;
    font-size: .98rem !important;
    line-height: 1.65 !important;
  }

  .elevasn-portfolio-modal__filters {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  .elevasn-portfolio-modal__filters button,
  .elevasn-portfolio-modal__cta {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .elevasn-portfolio-modal__brandlogo,
  .elevasn-portfolio-modal__logo {
    max-width: 100% !important;
    height: auto !important;
  }

  .elevasn-portfolio-modal__header {
    margin: 0 42px 16px 0 !important;
    max-width: calc(100% - 42px) !important;
  }

  .elevasn-portfolio-modal__grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elevasn-portfolio-tile,
  .elevasn-portfolio-tile img,
  .elevasn-portfolio-tile--wide img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .elevasn-portfolio-modal__close {
    top: 10px !important;
    right: 10px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 24px !important;
  }

  /* Word-search: stop the generated board from forcing a horizontal scroll. */
  .elevasn-wordsearch__wrap {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: .85rem !important;
    overflow-x: hidden !important;
  }

  .elevasn-wordsearch__board {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: repeat(var(--elevasn-wordsearch-size, 14), minmax(0, 1fr)) !important;
    gap: clamp(1px, .38vw, 3px) !important;
    padding: clamp(4px, 1.25vw, 8px) !important;
    border-width: 2px !important;
    border-radius: .9rem !important;
    overflow: hidden !important;
  }

  .elevasn-wordsearch__cell {
    min-width: 0 !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    font-size: clamp(.42rem, 2.15vw, .62rem) !important;
    letter-spacing: 0 !important;
    border-radius: 5px !important;
  }

  .elevasn-wordsearch__side,
  .elevasn-wordsearch__list,
  .elevasn-wordsearch__actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .elevasn-wordsearch__list {
    grid-template-columns: 1fr !important;
  }

  .elevasn-wordsearch__list li {
    font-size: .72rem !important;
    letter-spacing: .04em !important;
  }

  .elevasn-game__prompt,
  .elevasn-game__feedback {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  /* Match / card / aura games: reduce dense grids on small phones. */
  .elevasn-match__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .elevasn-aura-crush__layout {
    grid-template-columns: 1fr !important;
  }

  .elevasn-aura-crush__board {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: clamp(4px, 1.3vw, 8px) !important;
    padding: clamp(8px, 2vw, 14px) !important;
  }

  .elevasn-aura-crush__tile {
    border-radius: clamp(.45rem, 2vw, .8rem) !important;
    font-size: clamp(.58rem, 2.4vw, .82rem) !important;
  }
}

@media (max-width: 390px) {
  .elevasn-wordsearch__board {
    gap: 1px !important;
    padding: 4px !important;
  }

  .elevasn-wordsearch__cell {
    font-size: clamp(.38rem, 2vw, .52rem) !important;
  }

  .elevasn-portfolio-modal__side,
  .elevasn-portfolio-modal__content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elevasn-portfolio-modal__filters button {
    min-height: 52px !important;
    font-size: .72rem !important;
    letter-spacing: .1em !important;
  }
}


/* ELEVASN v111 — whole-theme mobile + desktop responsive safety layer
   Scope: layout containment, grids, media, forms, popups, learning games, portfolio, football simulator.
   This is intentionally conservative: it fixes overflow without changing the luxury design direction. */

/* Universal containment */
html,
body {
  width: 100%;
  max-width: 100%;
}

body {
  overflow-x: hidden;
}

img,
video,
canvas,
svg,
iframe {
  max-width: 100%;
}

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

/* Prevent common sections from creating sideways scroll */
.elevasn-gw,
.elevasn-portal,
.elevasn-portal__panel,
.elevasn-portal__content,
.elevasn-portal__inner,
.elevasn-elearn,
.elevasn-elearn__modules,
.elevasn-portal-football-lab,
.elevasn-portfolio-modal,
.elevasn-portfolio-modal__panel,
.elevasn-portfolio-modal__side,
.elevasn-portfolio-modal__content,
.elevasn-portfolio-lightbox,
.elevasn-account-modal,
.elevasn-drawer,
.size-drawer,
.cart-drawer {
  max-width: 100vw;
}

/* Desktop polish: keep large panels contained on common laptop widths */
@media (min-width: 750px) and (max-width: 1180px) {
  .elevasn-portfolio-modal__panel {
    width: min(100vw, 100%) !important;
    max-width: 100vw !important;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) !important;
  }

  .elevasn-portfolio-modal__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .elevasn-wordsearch__wrap,
  .elevasn-aura-crush__layout,
  .elevasn-portal-football-lab__grid {
    grid-template-columns: 1fr !important;
  }

  .elevasn-wordsearch__board {
    margin-inline: auto !important;
  }
}

/* Tablet and mobile containment */
@media (max-width: 989px) {
  .page-width,
  .narrow,
  .section,
  .shopify-section,
  main,
  .main-content {
    max-width: 100% !important;
  }

  .elevasn-gw__cards,
  .elevasn-elearn__intro-grid,
  .elevasn-elearn__modules,
  .elevasn-portal-football-lab__grid,
  .elevasn-wordsearch__wrap,
  .elevasn-aura-crush__layout,
  .elevasn-choice-game__grid,
  .elevasn-card-game {
    grid-template-columns: 1fr !important;
  }

  .elevasn-gw__btn,
  .button,
  button,
  input,
  select,
  textarea {
    max-width: 100% !important;
  }

  .elevasn-portal__panel {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .elevasn-portal__content {
    min-width: 0 !important;
  }

  .elevasn-portal-football-lab,
  .elevasn-portal-football-lab__quotes,
  .elevasn-portal-football-lab__tactics {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Small mobile: strongest fixes */
@media (max-width: 749px) {
  .shopify-section,
  .page-width,
  .narrow,
  .section,
  .elevasn-gw,
  .elevasn-portal,
  .elevasn-portal__panel,
  .elevasn-portal__content,
  .elevasn-elearn,
  .elevasn-elearn__module,
  .elevasn-wordsearch-game,
  .elevasn-aura-crush,
  .elevasn-portal-football-lab {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  /* Mobile typography protection */
  .elevasn-gw h1,
  .elevasn-gw h2,
  .elevasn-gw h3,
  .elevasn-portal h1,
  .elevasn-portal h2,
  .elevasn-portal h3,
  .elevasn-portfolio-modal h3,
  .elevasn-elearn h1,
  .elevasn-elearn h2,
  .elevasn-elearn h3 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .elevasn-gw p,
  .elevasn-portal p,
  .elevasn-elearn p,
  .elevasn-portfolio-modal p,
  .elevasn-game__prompt,
  .elevasn-game__feedback {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  /* Portfolio popup */
  .elevasn-portfolio-modal {
    padding: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    overflow: hidden !important;
  }

  .elevasn-portfolio-modal__panel {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .elevasn-portfolio-modal__side,
  .elevasn-portfolio-modal__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: clamp(16px, 5vw, 22px) !important;
  }

  .elevasn-portfolio-modal__side h3 {
    font-size: clamp(1.95rem, 10vw, 2.75rem) !important;
    line-height: 1.02 !important;
  }

  .elevasn-portfolio-modal__filters {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .elevasn-portfolio-modal__filters button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    padding-inline: 14px !important;
  }

  .elevasn-portfolio-modal__grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .elevasn-portfolio-tile {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elevasn-portfolio-modal__header {
    margin-right: 42px !important;
  }

  .elevasn-portfolio-modal__close,
  .elevasn-portfolio-lightbox__close {
    width: 38px !important;
    height: 38px !important;
    top: 10px !important;
    right: 10px !important;
    font-size: 24px !important;
  }

  /* Word search game */
  .elevasn-wordsearch__wrap {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .elevasn-wordsearch__board {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(var(--elevasn-wordsearch-size, 14), minmax(0, 1fr)) !important;
    gap: clamp(1px, .35vw, 3px) !important;
    padding: clamp(4px, 1.2vw, 8px) !important;
    border-width: 2px !important;
    overflow: hidden !important;
  }

  .elevasn-wordsearch__cell {
    min-width: 0 !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    font-size: clamp(.38rem, 2.1vw, .62rem) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    border-radius: 5px !important;
  }

  .elevasn-wordsearch__side,
  .elevasn-wordsearch__list,
  .elevasn-wordsearch__actions {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elevasn-wordsearch__list {
    grid-template-columns: 1fr !important;
  }

  /* Football simulator */
  .elevasn-portal-football-lab__selector {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .elevasn-portal-football-lab__selector button {
    min-width: 0 !important;
    width: 100% !important;
    font-size: clamp(.66rem, 2.5vw, .78rem) !important;
  }

  .elevasn-portal-football-lab .elevasn-football-sim__board,
  .elevasn-portal-football-board {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .elevasn-portal-football-lab .elevasn-football-sim__phase-grid {
    grid-template-columns: 1fr !important;
  }

  .elevasn-portal-football-lab .elevasn-football-sim__status {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
  }

  /* Drawers and forms */
  .size-drawer__panel,
  .drawer__inner,
  .cart-drawer {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  input,
  textarea,
  select {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Dense games */
  .elevasn-match__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .elevasn-aura-crush__board {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: clamp(3px, 1.2vw, 8px) !important;
    padding: clamp(6px, 2vw, 12px) !important;
  }

  .elevasn-aura-crush__tile {
    font-size: clamp(.52rem, 2.3vw, .78rem) !important;
    border-radius: clamp(.35rem, 1.8vw, .75rem) !important;
  }
}

@media (max-width: 390px) {
  .elevasn-portfolio-modal__side,
  .elevasn-portfolio-modal__content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elevasn-wordsearch__board {
    gap: 1px !important;
    padding: 4px !important;
  }

  .elevasn-wordsearch__cell {
    font-size: clamp(.34rem, 1.95vw, .5rem) !important;
  }

  .elevasn-portal-football-lab__selector {
    grid-template-columns: 1fr !important;
  }
}

/* Large desktop refinement: keep content elegant, not stretched too wide */
@media (min-width: 1440px) {
  .elevasn-portfolio-modal__panel {
    width: min(1560px, 96vw) !important;
  }

  .elevasn-wordsearch__board {
    max-width: 760px !important;
  }
}


/* ELEVASN v112 — portfolio mobile close + centered popup fix
   Fixes mobile close button clipping/clickability and stops portfolio from feeling stuck to the top. */

/* Keep the close action always above the modal content */
.elevasn-portfolio-modal__close,
.elevasn-portfolio-lightbox__close {
  z-index: 1000003 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

/* Mobile + tablet portfolio modal should open as a centered overlay, not a full-page top sheet */
@media (max-width: 749px) {
  .elevasn-portfolio-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #020c09 !important;
  }

  .elevasn-portfolio-modal__backdrop {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
  }

  .elevasn-portfolio-modal__panel {
    position: relative !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    border-radius: 22px !important;
    border: 1px solid rgba(165,121,50,.46) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    box-shadow: 0 22px 90px rgba(0,0,0,.55) !important;
  }

  .elevasn-portfolio-modal__side {
    padding: 22px 18px 18px !important;
    border-bottom: 1px solid rgba(165,121,50,.22) !important;
  }

  .elevasn-portfolio-modal__content {
    padding: 18px !important;
  }

  .elevasn-portfolio-modal__close {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    background: rgba(3,16,11,.98) !important;
    border: 1px solid rgba(216,192,138,.88) !important;
    color: #d8c08a !important;
    font-size: 28px !important;
    line-height: 1 !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.45) !important;
  }

  .elevasn-portfolio-modal__header {
    margin-right: 54px !important;
  }
}

/* Very small phones: keep the centered card but protect edge spacing */
@media (max-width: 390px) {
  .elevasn-portfolio-modal {
    padding: 10px !important;
  }

  .elevasn-portfolio-modal__panel {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 18px !important;
  }

  .elevasn-portfolio-modal__side,
  .elevasn-portfolio-modal__content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}


/* ELEVASN v113 — force portfolio modal to open fully in the viewport */
.elevasn-portfolio-modal {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 999999 !important;
  transform: none !important;
  contain: none !important;
}

html.elevasn-portfolio-is-open,
body.elevasn-portfolio-lock {
  overflow: hidden !important;
}

@media (max-width: 749px) {
  .elevasn-portfolio-modal {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .elevasn-portfolio-modal__panel {
    margin: auto !important;
    transform: none !important;
    translate: none !important;
    height: auto !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    overscroll-behavior: contain !important;
  }

  .elevasn-portfolio-modal__close {
    position: fixed !important;
    z-index: 1000004 !important;
  }
}


/* ELEVASN v114 — mobile games space + word-search luxury refinement
   Goal: remove extra board feel, create more playable space, keep the game clean on phones. */

@media (max-width: 749px) {
  /* Give learning/game modules more breathing room on mobile */
  .elevasn-elearn__module,
  .elevasn-wordsearch-game,
  .elevasn-choice-game,
  .elevasn-card-game,
  .elevasn-match,
  .elevasn-word-game,
  .elevasn-aura-crush,
  .elevasn-heal-game {
    padding: clamp(12px, 3.5vw, 16px) !important;
    border-radius: 18px !important;
    max-width: 100% !important;
  }

  .elevasn-game__prompt {
    margin-bottom: .9rem !important;
    line-height: 1.55 !important;
  }

  /* Word-search: remove the heavy white-board feel and use the space better */
  .elevasn-wordsearch-game {
    padding: 12px !important;
    background: rgba(3, 20, 13, .64) !important;
    border-color: rgba(165, 121, 50, .34) !important;
  }

  .elevasn-wordsearch__wrap {
    gap: .75rem !important;
  }

  .elevasn-wordsearch__board {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 6px !important;
    gap: 2px !important;
    border: 1px solid rgba(165, 121, 50, .42) !important;
    border-radius: 16px !important;
    background: #07140f !important;
    box-shadow: inset 0 0 0 1px rgba(247,245,240,.04), 0 12px 34px rgba(0,0,0,.22) !important;
    overflow: hidden !important;
  }

  .elevasn-wordsearch__cell {
    background: rgba(247, 245, 240, .88) !important;
    color: #07140f !important;
    border-radius: 7px !important;
    font-size: clamp(.48rem, 2.45vw, .72rem) !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .elevasn-wordsearch__cell.is-selected {
    background: linear-gradient(180deg, #d6b763, #a57932) !important;
    color: #03150f !important;
  }

  .elevasn-wordsearch__cell.is-found {
    background: linear-gradient(180deg, #1f4a36, #0b2419) !important;
    color: #f7f5f0 !important;
  }

  /* Put word list/actions below the board in a compact luxury panel */
  .elevasn-wordsearch__side {
    padding: .85rem !important;
    border-radius: 16px !important;
    background: rgba(3,20,13,.72) !important;
    border: 1px solid rgba(165,121,50,.28) !important;
  }

  .elevasn-wordsearch__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .4rem !important;
    margin-bottom: .8rem !important;
  }

  .elevasn-wordsearch__list li {
    padding: .38rem .42rem !important;
    font-size: .66rem !important;
    letter-spacing: .04em !important;
    border-radius: 10px !important;
  }

  .elevasn-wordsearch__actions {
    gap: .45rem !important;
  }

  .elevasn-wordsearch__actions .elevasn-gw__btn,
  .elevasn-wordsearch__actions button {
    min-height: 42px !important;
    padding: .65rem .8rem !important;
    font-size: .68rem !important;
  }

  /* Remove unnecessary visual bulk from game feedback boxes */
  .elevasn-game__feedback {
    padding: .65rem .75rem !important;
    border-radius: 14px !important;
    min-height: auto !important;
  }
}

@media (max-width: 390px) {
  .elevasn-wordsearch-game {
    padding: 10px !important;
  }

  .elevasn-wordsearch__board {
    padding: 4px !important;
    gap: 1px !important;
    border-radius: 14px !important;
  }

  .elevasn-wordsearch__cell {
    font-size: clamp(.42rem, 2.2vw, .58rem) !important;
    border-radius: 5px !important;
  }

  .elevasn-wordsearch__list {
    grid-template-columns: 1fr !important;
  }
}

/* Tablet: keep word-search elegant and not oversized */
@media (min-width: 750px) and (max-width: 989px) {
  .elevasn-wordsearch__wrap {
    grid-template-columns: 1fr !important;
  }

  .elevasn-wordsearch__board {
    max-width: 680px !important;
    margin: 0 auto !important;
  }
}


/* ELEVASN v115 — word-search luxury clarity final
   Removes the heavy borders/extra board feel and improves visibility for desktop + mobile. */

/* Desktop + all screens */
.elevasn-wordsearch-game {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: clamp(10px, 2vw, 18px) !important;
}

.elevasn-wordsearch__wrap {
  align-items: start !important;
}

.elevasn-wordsearch__board {
  border: 0 !important;
  outline: 1px solid rgba(165,121,50,.32) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(181,146,77,.16), transparent 36%),
    linear-gradient(180deg, rgba(5,24,17,.98), rgba(2,12,8,.98)) !important;
  box-shadow:
    0 22px 58px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(247,245,240,.05) !important;
  padding: clamp(8px, 1.4vw, 14px) !important;
  gap: clamp(3px, .45vw, 6px) !important;
  overflow: hidden !important;
}

.elevasn-wordsearch__cell {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(247,245,240,.92) !important;
  color: #06140f !important;
  border-radius: clamp(7px, .9vw, 12px) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(0,0,0,.05) !important;
  text-shadow: none !important;
}

.elevasn-wordsearch__cell:hover {
  transform: none !important;
  background: #fff8e8 !important;
}

.elevasn-wordsearch__cell.is-selected {
  background: linear-gradient(180deg, #dcc16f, #a57932) !important;
  color: #02110c !important;
  box-shadow:
    0 0 0 1px rgba(247,245,240,.22),
    0 8px 20px rgba(165,121,50,.22) !important;
}

.elevasn-wordsearch__cell.is-found {
  background: linear-gradient(180deg, #255940, #0d2a1d) !important;
  color: #f7f5f0 !important;
  box-shadow: 0 0 0 1px rgba(216,192,138,.20) !important;
}

.elevasn-wordsearch__side {
  border: 0 !important;
  outline: 1px solid rgba(165,121,50,.24) !important;
  border-radius: 20px !important;
  background: rgba(3,20,13,.55) !important;
  box-shadow: inset 0 1px 0 rgba(247,245,240,.04) !important;
}

.elevasn-wordsearch__list li {
  border: 0 !important;
  outline: 1px solid rgba(165,121,50,.16) !important;
  background: rgba(4,24,16,.62) !important;
}

.elevasn-wordsearch__list li.is-found {
  background: rgba(27,61,47,.86) !important;
  outline-color: rgba(216,192,138,.26) !important;
}

/* Desktop refinement */
@media (min-width: 990px) {
  .elevasn-wordsearch__wrap {
    grid-template-columns: minmax(0, 1.05fr) minmax(240px, .8fr) !important;
    gap: clamp(18px, 2vw, 30px) !important;
  }

  .elevasn-wordsearch__board {
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  .elevasn-wordsearch__cell {
    font-size: clamp(.74rem, .9vw, .98rem) !important;
  }
}

/* Tablet refinement */
@media (min-width: 750px) and (max-width: 989px) {
  .elevasn-wordsearch__board {
    max-width: 680px !important;
    margin-inline: auto !important;
  }

  .elevasn-wordsearch__cell {
    font-size: clamp(.64rem, 1.4vw, .86rem) !important;
  }
}

/* Mobile refinement */
@media (max-width: 749px) {
  .elevasn-wordsearch-game {
    padding: 8px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .elevasn-wordsearch__wrap {
    gap: .75rem !important;
  }

  .elevasn-wordsearch__board {
    width: 100% !important;
    max-width: min(100%, 360px) !important;
    margin-inline: auto !important;
    padding: 7px !important;
    gap: 2px !important;
    border: 0 !important;
    outline: 1px solid rgba(165,121,50,.30) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(4,23,16,.98), rgba(1,10,7,.98)) !important;
    box-shadow:
      0 16px 44px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(247,245,240,.05) !important;
  }

  .elevasn-wordsearch__cell {
    border-radius: 6px !important;
    background: rgba(247,245,240,.94) !important;
    color: #03140e !important;
    font-size: clamp(.50rem, 2.6vw, .70rem) !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    box-shadow: none !important;
  }

  .elevasn-wordsearch__side {
    padding: .75rem !important;
    border: 0 !important;
    outline: 1px solid rgba(165,121,50,.20) !important;
    background: rgba(3,20,13,.50) !important;
  }

  .elevasn-wordsearch__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .38rem !important;
  }

  .elevasn-wordsearch__list li {
    font-size: .66rem !important;
    padding: .38rem .42rem !important;
    border-radius: 10px !important;
  }
}

/* Small phone polish */
@media (max-width: 390px) {
  .elevasn-wordsearch__board {
    max-width: 330px !important;
    padding: 5px !important;
    gap: 1px !important;
    border-radius: 16px !important;
  }

  .elevasn-wordsearch__cell {
    font-size: clamp(.45rem, 2.35vw, .58rem) !important;
    border-radius: 5px !important;
  }

  .elevasn-wordsearch__list {
    grid-template-columns: 1fr !important;
  }
}


/* ELEVASN v116 — word-search clear + modules CTA polish */
.elevasn-wordsearch__actions button,
.elevasn-wordsearch__actions .elevasn-gw__btn,
[data-wordsearch-clear] {
  pointer-events: auto !important;
  touch-action: manipulation !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2 !important;
}

.elevasn-portal__sidebar-nav .elevasn-gw__btn {
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.25 !important;
}

@media (max-width: 749px) {
  .elevasn-portal__sidebar-nav .elevasn-gw__btn {
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* ELEVASN v117 — word-search clear button click protection */
[data-wordsearch-clear],
.elevasn-wordsearch__actions [data-wordsearch-clear] {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  cursor: pointer !important;
  user-select: none !important;
}

.elevasn-wordsearch__actions {
  position: relative !important;
  z-index: 10 !important;
  pointer-events: auto !important;
}

.elevasn-wordsearch__side {
  pointer-events: auto !important;
}


/* ELEVASN v118 — word-search Play Again unlock */
[data-wordsearch-clear][hidden] {
  display: none !important;
}

[data-wordsearch-clear],
.elevasn-wordsearch__actions [data-wordsearch-clear] {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  cursor: pointer !important;
  user-select: none !important;
}

.elevasn-wordsearch__actions {
  position: relative !important;
  z-index: 10 !important;
}


/* ELEVASN v119 — portfolio filter linked section polish */
.elevasn-portfolio-modal__filters button {
  scroll-margin-top: 18px !important;
}

.elevasn-portfolio-tile {
  scroll-margin-top: 22px !important;
}

.elevasn-portfolio-tile:not(.is-hidden) {
  animation: elevasnPortfolioFilterReveal .22s ease both;
}

@keyframes elevasnPortfolioFilterReveal {
  from { opacity: .72; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 749px) {
  .elevasn-portfolio-tile {
    scroll-margin-top: 14px !important;
  }
}


/* ELEVASN v122 — launch-ready speed polish
   Safe rendering optimisation only: keeps visuals the same while reducing off-screen rendering cost. */
}

/* Keep editing smoother by preventing hidden modal content from painting. */
.elevasn-portfolio-modal[hidden],
.elevasn-portfolio-lightbox[hidden] {
  content-visibility: hidden !important;
}

/* Reduce animation pressure for users/devices that request less motion. */
@media (prefers-reduced-motion: reduce) {
  .elevasn-portfolio-tile,
  .elevasn-wordsearch__cell,
  .elevasn-aura-crush__tile,
  .elevasn-gw__btn,
  [class*="elevasn"] {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Final safe overflow guard for publish + editor preview */
html,
body {
  overflow-x: hidden;
}


/* ELEVASN v123 — gateway centre-axis alignment
   Aligns crest/logo, portal title, and Start Your Journey button to the gate centre line. */
.elevasn-gw__threshold,
.elevasn-gw__portal,
.elevasn-gw__portal-inner,
.elevasn-gw__hero,
.elevasn-gw__intro,
.elevasn-gw__start {
  text-align: center !important;
}

.elevasn-gw__portal-inner,
.elevasn-gw__hero,
.elevasn-gw__intro {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.elevasn-gw__symbol,
.elevasn-gw__crest,
.elevasn-gw__mark,
.elevasn-gw__logo,
.elevasn-gw__portal-logo,
.elevasn-gw__intro img,
.elevasn-gw__hero img {
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  transform-origin: center center !important;
}

.elevasn-gw__title,
.elevasn-gw__heading,
.elevasn-gw__portal-title,
.elevasn-gw__intro h1,
.elevasn-gw__hero h1 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: min(92vw, 920px) !important;
}

.elevasn-gw__start,
.elevasn-gw__cta,
.elevasn-gw__journey,
.elevasn-gw__start-button,
.elevasn-gw__intro .elevasn-gw__btn,
.elevasn-gw__hero .elevasn-gw__btn {
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
}

/* The main start button should sit exactly on the portal centre axis. */
.elevasn-gw__intro a,
.elevasn-gw__hero a,
.elevasn-gw__portal-inner a {
  text-align: center !important;
}

/* Mobile: prevent the title from touching the edge while staying locked to the gate line. */
@media (max-width: 749px) {
  .elevasn-gw__title,
  .elevasn-gw__heading,
  .elevasn-gw__portal-title,
  .elevasn-gw__intro h1,
  .elevasn-gw__hero h1 {
    max-width: 92vw !important;
    font-size: clamp(2.1rem, 9.3vw, 3.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: .02em !important;
  }

  .elevasn-gw__symbol,
  .elevasn-gw__crest,
  .elevasn-gw__mark,
  .elevasn-gw__logo,
  .elevasn-gw__portal-logo,
  .elevasn-gw__intro img,
  .elevasn-gw__hero img {
    max-width: min(30vw, 118px) !important;
  }

  .elevasn-gw__start,
  .elevasn-gw__cta,
  .elevasn-gw__journey,
  .elevasn-gw__start-button,
  .elevasn-gw__intro .elevasn-gw__btn,
  .elevasn-gw__hero .elevasn-gw__btn {
    width: min(88vw, 340px) !important;
    justify-content: center !important;
  }
}

/* Small phone: keep the ceremony clean and centred. */
@media (max-width: 390px) {
  .elevasn-gw__title,
  .elevasn-gw__heading,
  .elevasn-gw__portal-title,
  .elevasn-gw__intro h1,
  .elevasn-gw__hero h1 {
    max-width: 90vw !important;
    font-size: clamp(1.95rem, 8.8vw, 3rem) !important;
  }
}


/* ELEVASN v124 — gateway no-overflow final
   Keeps the logo, title, and button locked to the gate centre line and prevents mobile title/button overflow. */

/* Hard horizontal containment for the opening gateway */
.elevasn-gw,
.elevasn-gw *,
.elevasn-gw *::before,
.elevasn-gw *::after {
  box-sizing: border-box !important;
}

.elevasn-gw {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* Keep all opening hero content on the centre gate axis */
.elevasn-gw__threshold,
.elevasn-gw__portal,
.elevasn-gw__portal-inner,
.elevasn-gw__hero,
.elevasn-gw__intro,
.elevasn-gw__start {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
  text-align: center !important;
}

.elevasn-gw__portal-inner,
.elevasn-gw__hero,
.elevasn-gw__intro {
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 4vw, 44px) !important;
  padding-right: clamp(16px, 4vw, 44px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Logo/crest exactly centered */
.elevasn-gw__symbol,
.elevasn-gw__crest,
.elevasn-gw__mark,
.elevasn-gw__logo,
.elevasn-gw__portal-logo,
.elevasn-gw__intro img,
.elevasn-gw__hero img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  max-width: min(140px, 22vw) !important;
  height: auto !important;
  transform-origin: center center !important;
}

/* Portal title: never let it crop outside screen */
.elevasn-gw__title,
.elevasn-gw__heading,
.elevasn-gw__portal-title,
.elevasn-gw__intro h1,
.elevasn-gw__hero h1 {
  display: block !important;
  width: 100% !important;
  max-width: min(92vw, 960px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  overflow: visible !important;
}

/* Main journey button: always centered and inside screen */
.elevasn-gw__start,
.elevasn-gw__cta,
.elevasn-gw__journey,
.elevasn-gw__start-button,
.elevasn-gw__intro .elevasn-gw__btn,
.elevasn-gw__hero .elevasn-gw__btn {
  width: fit-content !important;
  max-width: min(88vw, 430px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* Tablet */
@media (max-width: 989px) {
  .elevasn-gw__title,
  .elevasn-gw__heading,
  .elevasn-gw__portal-title,
  .elevasn-gw__intro h1,
  .elevasn-gw__hero h1 {
    max-width: 90vw !important;
    font-size: clamp(2.15rem, 7.4vw, 4.7rem) !important;
    line-height: 1.04 !important;
    letter-spacing: .015em !important;
  }

  .elevasn-gw__intro .elevasn-gw__btn,
  .elevasn-gw__hero .elevasn-gw__btn {
    max-width: 86vw !important;
  }
}

/* Mobile: the title must fit fully, no cropping left/right */
@media (max-width: 749px) {
  .elevasn-gw__portal-inner,
  .elevasn-gw__hero,
  .elevasn-gw__intro {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .elevasn-gw__symbol,
  .elevasn-gw__crest,
  .elevasn-gw__mark,
  .elevasn-gw__logo,
  .elevasn-gw__portal-logo,
  .elevasn-gw__intro img,
  .elevasn-gw__hero img {
    max-width: min(108px, 28vw) !important;
  }

  .elevasn-gw__title,
  .elevasn-gw__heading,
  .elevasn-gw__portal-title,
  .elevasn-gw__intro h1,
  .elevasn-gw__hero h1 {
    width: 100% !important;
    max-width: calc(100vw - 36px) !important;
    font-size: clamp(1.72rem, 7.25vw, 2.72rem) !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
    transform: none !important;
  }

  .elevasn-gw__start,
  .elevasn-gw__cta,
  .elevasn-gw__journey,
  .elevasn-gw__start-button,
  .elevasn-gw__intro .elevasn-gw__btn,
  .elevasn-gw__hero .elevasn-gw__btn {
    width: min(86vw, 340px) !important;
    max-width: calc(100vw - 36px) !important;
    min-width: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
  }
}

/* Very small phones: reduce title more so ELEVASN PORTAL is fully visible */
@media (max-width: 390px) {
  .elevasn-gw__portal-inner,
  .elevasn-gw__hero,
  .elevasn-gw__intro {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elevasn-gw__title,
  .elevasn-gw__heading,
  .elevasn-gw__portal-title,
  .elevasn-gw__intro h1,
  .elevasn-gw__hero h1 {
    max-width: calc(100vw - 28px) !important;
    font-size: clamp(1.55rem, 6.8vw, 2.35rem) !important;
    letter-spacing: 0 !important;
  }

  .elevasn-gw__start,
  .elevasn-gw__cta,
  .elevasn-gw__journey,
  .elevasn-gw__start-button,
  .elevasn-gw__intro .elevasn-gw__btn,
  .elevasn-gw__hero .elevasn-gw__btn {
    width: min(88vw, 320px) !important;
    max-width: calc(100vw - 28px) !important;
    font-size: .68rem !important;
    letter-spacing: .10em !important;
  }
}


/* ELEVASN v125 — remove heading ghost/shadow + unwanted portal scrollbar
   Fixes the "Choose your path" shadow/behind-text feel and removes the internal scrollbar on the portal opening panel. */

/* Remove duplicate/ghost/shadow feeling from the pathway heading */
.elevasn-portal__hero h1,
.elevasn-portal__hero-title,
.elevasn-portal__heading,
.elevasn-portal h1,
.elevasn-pathway-title,
.elevasn-gw__path-title,
.elevasn-gw [class*="path"] h1,
.elevasn-gw [class*="path"] .elevasn-portal__heading {
  text-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Remove pseudo shadow/duplicate layers behind large script headings */
.elevasn-portal__hero h1::before,
.elevasn-portal__hero h1::after,
.elevasn-portal__hero-title::before,
.elevasn-portal__hero-title::after,
.elevasn-portal__heading::before,
.elevasn-portal__heading::after,
.elevasn-pathway-title::before,
.elevasn-pathway-title::after,
.elevasn-gw__path-title::before,
.elevasn-gw__path-title::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Keep the path heading clean, sharp, and inside the viewport */
.elevasn-portal__hero h1,
.elevasn-portal__hero-title,
.elevasn-portal__heading {
  max-width: min(92vw, 980px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.08 !important;
  overflow: visible !important;
}

/* The scrollbar in the screenshot is coming from a portal/panel wrapper.
   This keeps the first pathway view from showing a boxed internal scroll. */
.elevasn-portal,
.elevasn-portal__panel,
.elevasn-portal__content,
.elevasn-portal__stage,
.elevasn-portal__body,
.elevasn-pathway-popup,
.elevasn-pathway-popup__panel {
  scrollbar-width: none !important;
}

.elevasn-portal::-webkit-scrollbar,
.elevasn-portal__panel::-webkit-scrollbar,
.elevasn-portal__content::-webkit-scrollbar,
.elevasn-portal__stage::-webkit-scrollbar,
.elevasn-portal__body::-webkit-scrollbar,
.elevasn-pathway-popup::-webkit-scrollbar,
.elevasn-pathway-popup__panel::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* Allow the page to scroll naturally, but stop unnecessary inner panel scrollbars on hero/opening screens. */
.elevasn-portal__panel,
.elevasn-portal__stage,
.elevasn-pathway-popup__panel {
  overflow-x: hidden !important;
}

@media (min-width: 750px) {
  .elevasn-portal__panel,
  .elevasn-pathway-popup__panel {
    max-height: none !important;
  }
}

/* On mobile, keep the script heading readable without any overflow or ghost layer. */
@media (max-width: 749px) {
  .elevasn-portal__hero h1,
  .elevasn-portal__hero-title,
  .elevasn-portal__heading,
  .elevasn-pathway-title,
  .elevasn-gw__path-title {
    max-width: calc(100vw - 32px) !important;
    font-size: clamp(2rem, 9vw, 3.2rem) !important;
    line-height: 1.08 !important;
    text-shadow: none !important;
    filter: none !important;
  }

  .elevasn-portal__panel,
  .elevasn-pathway-popup__panel {
    overflow-x: hidden !important;
  }
}


/* ELEVASN v126 — final gateway heading shadow + scrollbar cleanup
   Removes the remaining glow/shadow behind "Choose your path..." and hides the visible scrollbar on the opening gateway. */

/* The visible ghost in the screenshot is from the gateway heading itself, not only the portal headings. */
.elevasn-gw__heading,
.elevasn-gw__heading--signature,
.elevasn-gw__heading--one-line {
  text-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Remove the glow pseudo-layer behind the gateway heading. */
.elevasn-gw__heading::before,
.elevasn-gw__heading::after,
.elevasn-gw__heading--signature::before,
.elevasn-gw__heading--signature::after,
.elevasn-gw__heading--one-line::before,
.elevasn-gw__heading--one-line::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  filter: none !important;
}

/* Remove the large hero glow sitting behind the title on the first pathway screen. */
.elevasn-gw__hero::before,
.elevasn-gw__hero::after {
  opacity: 0 !important;
  display: none !important;
  content: none !important;
}

/* Keep the title crisp and premium. */
.elevasn-gw__heading--signature {
  color: #f3ead2 !important;
  -webkit-text-stroke: 0 transparent !important;
  paint-order: normal !important;
}

/* The scrollbar in the screenshot is the visible gateway/page scrollbar.
   Hide the track while keeping scroll behaviour available if content ever needs it. */
html,
body,
.elevasn-gw,
.elevasn-gw__wrap,
.elevasn-gw__hero,
.elevasn-portal,
.elevasn-portal__panel,
.elevasn-portal__content {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.elevasn-gw::-webkit-scrollbar,
.elevasn-gw__wrap::-webkit-scrollbar,
.elevasn-gw__hero::-webkit-scrollbar,
.elevasn-portal::-webkit-scrollbar,
.elevasn-portal__panel::-webkit-scrollbar,
.elevasn-portal__content::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* Stop the opening gateway from creating an internal framed scroll area. */
.elevasn-gw {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

.elevasn-gw__wrap,
.elevasn-gw__hero {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Desktop: make the first pathway view fit without an internal scrollbar. */
@media (min-width: 750px) {
  .elevasn-gw {
    min-height: 100dvh !important;
  }

  .elevasn-gw__wrap {
    min-height: auto !important;
  }
}

/* Mobile: keep heading clean and inside screen with no ghost layer. */
@media (max-width: 749px) {
  .elevasn-gw__heading,
  .elevasn-gw__heading--signature,
  .elevasn-gw__heading--one-line {
    text-shadow: none !important;
    filter: none !important;
    max-width: calc(100vw - 32px) !important;
  }
}


/* ELEVASN v127 — signature heading descender fix
   Keeps the same design but gives letters like y / p / g more clean space so they do not clip or look shadowed. */
.elevasn-gw__heading,
.elevasn-gw__heading--signature,
.elevasn-gw__heading--one-line {
  line-height: 1.22 !important;
  padding-top: .04em !important;
  padding-bottom: .18em !important;
  overflow: visible !important;
  text-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}

.elevasn-gw__heading span,
.elevasn-gw__heading em,
.elevasn-gw__heading strong {
  line-height: inherit !important;
  overflow: visible !important;
}

.elevasn-gw__hero,
.elevasn-gw__wrap,
.elevasn-gw__threshold,
.elevasn-gw__portal-inner {
  overflow: visible !important;
}

/* Keep horizontal containment but do not clip the calligraphy descenders. */
.elevasn-gw {
  overflow-x: clip !important;
}

/* Remove any remaining pseudo-glow that can sit behind descenders. */
.elevasn-gw__heading::before,
.elevasn-gw__heading::after,
.elevasn-gw__heading--signature::before,
.elevasn-gw__heading--signature::after,
.elevasn-gw__heading--one-line::before,
.elevasn-gw__heading--one-line::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Desktop keeps the same visual scale but allows clean descenders. */
@media (min-width: 750px) {
  .elevasn-gw__heading,
  .elevasn-gw__heading--signature,
  .elevasn-gw__heading--one-line {
    line-height: 1.18 !important;
    padding-bottom: .20em !important;
  }
}

/* Mobile keeps the heading sharp and prevents the y / p from being visually cut. */
@media (max-width: 749px) {
  .elevasn-gw__heading,
  .elevasn-gw__heading--signature,
  .elevasn-gw__heading--one-line {
    line-height: 1.24 !important;
    padding-top: .05em !important;
    padding-bottom: .22em !important;
    max-width: calc(100vw - 32px) !important;
  }
}


/* ELEVASN v128 — full-theme smooth, clean, sharp polish
   Keeps the design the same while improving anti-aliasing, image rendering, section smoothness, and clean layout finish. */

/* Global rendering quality */
html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Keep every image/media clean and prevent pixelated stretching */
img,
picture,
video,
canvas,
svg {
  max-width: 100%;
  height: auto;
}

img {
  image-rendering: auto !important;
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.elevasn-gw img,
.elevasn-portal img,
.elevasn-portfolio-modal img,
.elevasn-portfolio-tile img,
.elevasn-portfolio-lightbox img,
.product__media img,
.card__media img,
.media img {
  object-fit: cover;
  image-rendering: auto !important;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Logos/crests should stay crisp, not blurred or stretched */
.elevasn-gw__symbol img,
.elevasn-gw__crest img,
.elevasn-gw__logo img,
.elevasn-gw__portal-logo img,
.elevasn-portfolio-modal__brandlogo,
.header__heading-logo,
.footer img,
img[src*="logo"],
img[src*="crest"],
img[src*="ribbon"] {
  object-fit: contain !important;
  image-rendering: auto !important;
  filter: none;
}

/* Smooth sections without adding new visual effects */
.shopify-section,
.section,
.elevasn-gw,
.elevasn-portal,
.elevasn-elearn,
.elevasn-portfolio-modal__panel,
.elevasn-portal-football-lab,
.elevasn-wordsearch-game,
.elevasn-aura-crush,
.elevasn-card-game,
.elevasn-choice-game,
.elevasn-match,
.elevasn-heal-game {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-wrap: anywhere;
}

/* Clean cards/panels: sharp edges, no fuzzy pixel feel */
.elevasn-portal__intro,
.elevasn-portal__sidebar,
.elevasn-portal__card,
.elevasn-elearn__module,
.elevasn-portfolio-tile,
.elevasn-wordsearch__board,
.elevasn-wordsearch__side,
.elevasn-aura-crush,
.elevasn-portal-football-lab__tactics,
.elevasn-portal-football-lab__quotes,
.elevasn-portal-football-board,
.elevasn-football-sim__board,
.card,
.product-card-wrapper,
.collection-card-wrapper {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: auto;
}

/* Prevent text looking blurry during transforms/animations */
.elevasn-gw__heading,
.elevasn-gw__heading--signature,
.elevasn-gw__btn,
.elevasn-portal__title,
.elevasn-portal__text,
.elevasn-portal__note,
.elevasn-portfolio-modal,
.elevasn-portfolio-modal button,
.elevasn-elearn,
.elevasn-elearn button,
.elevasn-wordsearch__cell,
.elevasn-portal-football-lab,
.elevasn-portal-football-lab button {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Make transitions feel smoother but not laggy */
.elevasn-gw__btn,
.elevasn-portfolio-modal__filters button,
.elevasn-portfolio-tile,
.elevasn-wordsearch__cell,
.elevasn-aura-crush__tile,
.elevasn-portal-football-lab__selector button {
  transition-property: transform, opacity, background-color, border-color, color, box-shadow;
  transition-duration: .22s;
  transition-timing-function: ease;
}

/* Avoid GPU overuse on heavy background layers while keeping clean look */
.elevasn-gw__veil,
.elevasn-gw__threshold,
.elevasn-gw__spiritual-symbols,
.elevasn-portal__glow {
  will-change: auto !important;
}

/* Better lightbox/portfolio image clarity */
.elevasn-portfolio-lightbox__panel img {
  object-fit: contain !important;
  width: 100% !important;
  height: auto !important;
  max-height: 88vh !important;
}

/* Shopify editor/published stability: prevent accidental horizontal bleed */
html,
body,
#MainContent,
main,
.shopify-section {
  max-width: 100%;
  overflow-x: clip;
}

/* Form/input clarity */
input,
textarea,
select,
button {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Smooth scrolling anchors but keep sticky editor safe */
[id] {
  scroll-margin-top: clamp(72px, 10vh, 120px);
}

/* Mobile clean polish */
@media (max-width: 749px) {
  html {
    scroll-behavior: smooth;
  }

  .elevasn-gw__heading,
  .elevasn-gw__heading--signature,
  .elevasn-portal__title,
  .elevasn-portfolio-modal h3,
  .elevasn-elearn h3 {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  .elevasn-portfolio-tile img,
  .elevasn-portfolio-lightbox__panel img,
  .elevasn-wordsearch__cell,
  .elevasn-aura-crush__tile {
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  .elevasn-gw__btn,
  .elevasn-portal__actions .elevasn-gw__btn,
  .elevasn-portfolio-modal__filters button {
    min-height: 46px;
  }
}

/* Desktop clean polish */
@media (min-width: 990px) {
  .elevasn-portfolio-tile img {
    transform: translateZ(0) scale(1.0001);
  }

  .elevasn-portfolio-modal__grid,
  .elevasn-elearn__modules,
  .elevasn-portal-football-lab__grid {
    align-items: stretch;
  }
}

/* Accessibility and low-power smooth mode */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .elevasn-gw__btn,
  .elevasn-portfolio-modal__filters button,
  .elevasn-portfolio-tile,
  .elevasn-wordsearch__cell,
  .elevasn-aura-crush__tile,
  .elevasn-portal-football-lab__selector button,
  [class*="elevasn"] {
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* ELEVASN v129 — blank space / empty panel cleanup
   Keeps the design the same, but collapses empty green blocks and removes unnecessary blank gaps. */

/* Hide truly empty Shopify/elevasn content containers */
.elevasn-portal__card:empty,
.elevasn-portal__intro:empty,
.elevasn-portal__sidebar:empty,
.elevasn-portal__contact:empty,
.elevasn-elearn__module:empty,
.elevasn-portfolio-modal__content:empty,
.elevasn-portfolio-modal__grid:empty,
.elevasn-gw__body:empty,
.elevasn-gw__note:empty,
.rte:empty {
  display: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Remove blank vertical blocks created by empty paragraphs/rich text */
.elevasn-gw p:empty,
.elevasn-portal p:empty,
.elevasn-elearn p:empty,
.elevasn-portfolio-modal p:empty,
.elevasn-gw .rte > p:empty,
.elevasn-portal .rte > p:empty,
.elevasn-elearn .rte > p:empty {
  display: none !important;
  margin: 0 !important;
  min-height: 0 !important;
}

/* Reduce accidental blank space from panels that only contain hidden children */
.elevasn-portal__top:has(.elevasn-portal__intro:empty):has(.elevasn-portal__sidebar:empty),
.elevasn-elearn__modules:empty,
.elevasn-portfolio-modal__grid:empty {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Stop empty/low-content sections from reserving huge green blocks */
.shopify-section:has(> .elevasn-section:empty),
.shopify-section:has(> .elevasn-portal:empty),
.shopify-section:has(> .elevasn-elearn:empty) {
  display: none !important;
}

/* If a section has a background but no visible content, keep it from creating a large blank block. */
.elevasn-section:empty,
.elevasn-custom-section:empty,
.elevasn-empty-section,
.elevasn-placeholder:empty {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Clean blank spacing between gateway areas */
.elevasn-gw__wrap + .elevasn-gw__wrap:empty,
.elevasn-gw__cards:empty,
.elevasn-gw__grid:empty,
.elevasn-gw__hero-cta:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Mobile: stop blank green blocks from occupying the viewport */
@media (max-width: 749px) {
  .elevasn-portal__card:empty,
  .elevasn-portal__intro:empty,
  .elevasn-portal__sidebar:empty,
  .elevasn-portal__contact:empty,
  .elevasn-elearn__module:empty,
  .elevasn-section:empty,
  .elevasn-custom-section:empty {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .shopify-section {
    overflow-x: clip !important;
  }
}


/* ELEVASN v130 — true blank-space fix
   Removes the content-visibility intrinsic blank-block issue and safely collapses empty green spacing. */

/* Do not reserve artificial blank space for off-screen modules. */
.elevasn-elearn__module,
.elevasn-portal-football-lab,
.elevasn-portfolio-modal__content,
.elevasn-wordsearch-game,
.elevasn-aura-crush {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

/* Collapse blank containers that have no usable content. */
.elevasn-gw__body:empty,
.elevasn-gw__note:empty,
.elevasn-portal__text:empty,
.elevasn-portal__note:empty,
.elevasn-portal__card:empty,
.elevasn-portal__intro:empty,
.elevasn-portal__sidebar:empty,
.elevasn-portal__contact:empty,
.elevasn-elearn__module:empty,
.elevasn-section:empty,
.elevasn-custom-section:empty,
.rte:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Remove blank paragraphs or blank richtext generated by Shopify. */
.elevasn-gw p:empty,
.elevasn-portal p:empty,
.elevasn-elearn p:empty,
.elevasn-gw .rte > p:empty,
.elevasn-portal .rte > p:empty,
.elevasn-elearn .rte > p:empty,
.rte > p:empty {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* If a hidden block is inside the pathway, it should not hold space. */
.elevasn-gw [hidden],
.elevasn-portal [hidden],
.elevasn-elearn [hidden],
.elevasn-portfolio-modal [hidden] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep the green section backgrounds clean, but do not let empty min-height panels show. */
.elevasn-empty-section,
.elevasn-is-empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Blank-space safety on mobile and desktop. */
@media (max-width: 749px) {
  .elevasn-elearn__module:empty,
  .elevasn-portal__card:empty,
  .elevasn-portal__intro:empty,
  .elevasn-portal__sidebar:empty,
  .elevasn-section:empty,
  .elevasn-custom-section:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ELEVASN v138 — Luxury auto-match symbol-only tiles
   Requested change: remove all visible boxes/borders from the Aura Ascension symbols only.
   Keeps the full theme, board logic, scoring, matching, images, and layout the same. */
.elevasn-aura-crush__board .elevasn-aura-crush__tile,
.elevasn-aura-crush__board .elevasn-aura-crush__tile:hover,
.elevasn-aura-crush__board .elevasn-aura-crush__tile:focus,
.elevasn-aura-crush__board .elevasn-aura-crush__tile:focus-visible,
.elevasn-aura-crush__board .elevasn-aura-crush__tile:active,
.elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected,
.elevasn-aura-crush__board .elevasn-aura-crush__tile--elevate,
.elevasn-aura-crush__board .elevasn-aura-crush__tile--aura,
.elevasn-aura-crush__board .elevasn-aura-crush__tile--source,
.elevasn-aura-crush__board .elevasn-aura-crush__tile--grace,
.elevasn-aura-crush__board .elevasn-aura-crush__tile--spirit,
.elevasn-aura-crush__board .elevasn-aura-crush__tile--gold {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  padding: .12rem !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__tile::before,
.elevasn-aura-crush__board .elevasn-aura-crush__tile::after,
.elevasn-aura-crush__board .elevasn-aura-crush__tile:hover::before,
.elevasn-aura-crush__board .elevasn-aura-crush__tile:hover::after,
.elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected::before,
.elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__symbol {
  width: min(82px, 86%) !important;
  height: min(82px, 86%) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f7f5f0 !important;
  text-shadow: none !important;
  filter: none !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__tile:hover {
  transform: scale(1.06) !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__tile:active,
.elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected {
  transform: scale(.94) !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected .elevasn-aura-crush__symbol,
.elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected .elevasn-aura-crush__image {
  filter: drop-shadow(0 0 10px rgba(247,245,240,.45)) !important;
}

@media (max-width: 749px) {
  .elevasn-aura-crush__board .elevasn-aura-crush__symbol {
    width: min(64px, 84%) !important;
    height: min(64px, 84%) !important;
  }
}


/* v139: remove shared background panels from football simulator + player signals while keeping all inner content the same */
.elevasn-portal-football-lab__quotes,
.elevasn-portal-football-lab__tactics{
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}


/* v140: fully remove the outer panel background/outline from player signals + football simulator only */
.elevasn-portal-football-lab__grid > .elevasn-portal-football-lab__quotes,
.elevasn-portal-football-lab__grid > .elevasn-portal-football-lab__tactics,
.elevasn-portal-football-lab__quotes,
.elevasn-portal-football-lab__tactics{
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}
.elevasn-portal-football-lab__quotes::before,
.elevasn-portal-football-lab__quotes::after,
.elevasn-portal-football-lab__tactics::before,
.elevasn-portal-football-lab__tactics::after{
  display:none !important;
  content:none !important;
}


/* v142: make the View Portfolio card button match the Start Logo Enquiry luxury pill style */
.elevasn-portal__grid--native .elevasn-portal__card:first-child .elevasn-portal__card-actions{
  justify-content: flex-start !important;
  align-items: center !important;
}
.elevasn-portal__grid--native .elevasn-portal__card:first-child .elevasn-portal__card-actions > button[data-elevasn-portfolio-open]{
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 210px !important;
  max-width: 100% !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  margin: 0 !important;
  border: 1px solid rgba(165, 121, 50, 0.95) !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-image: none !important;
  color: #f7f5f0 !important;
  font: 800 .72rem/1 Inter, Arial, sans-serif !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  transform: none !important;
}
.elevasn-portal__grid--native .elevasn-portal__card:first-child .elevasn-portal__card-actions > button[data-elevasn-portfolio-open]:hover,
.elevasn-portal__grid--native .elevasn-portal__card:first-child .elevasn-portal__card-actions > button[data-elevasn-portfolio-open]:focus-visible{
  background: rgba(165, 121, 50, 0.12) !important;
  border-color: #a57932 !important;
  color: #f7f5f0 !important;
  box-shadow: none !important;
  transform: none !important;
}
@media screen and (max-width: 749px){
  .elevasn-portal__grid--native .elevasn-portal__card:first-child .elevasn-portal__card-actions > button[data-elevasn-portfolio-open]{
    min-width: 210px !important;
    min-height: 52px !important;
    padding: 0 22px !important;
    font-size: .68rem !important;
    letter-spacing: .18em !important;
  }
}


/* v150: Luxury auto-match mobile visibility + elevated symbol scale
   Keeps the game logic and symbol-only request the same, but makes the mobile board readable. */
.elevasn-aura-crush__board {
  overflow: visible !important;
}

.elevasn-aura-crush__board .elevasn-aura-crush__symbol {
  width: min(92px, 90%) !important;
  height: min(92px, 90%) !important;
}

@media (max-width: 749px) {
  .elevasn-aura-crush {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    overflow: visible !important;
  }

  .elevasn-aura-crush__layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .elevasn-aura-crush__panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .elevasn-aura-crush__board {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: clamp(3px, 1.15vw, 6px) !important;
    padding: clamp(8px, 2.6vw, 12px) !important;
    border-radius: 20px !important;
    overflow: visible !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__tile,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:hover,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:focus,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:active,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__symbol {
    width: min(42px, 96%) !important;
    height: min(42px, 96%) !important;
    min-width: 24px !important;
    min-height: 24px !important;
    transform: translateZ(0) scale(1.08) !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 3px rgba(247,245,240,.18)) !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected .elevasn-aura-crush__symbol,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected .elevasn-aura-crush__image {
    filter: drop-shadow(0 0 8px rgba(247,245,240,.55)) drop-shadow(0 0 10px rgba(181,146,77,.26)) !important;
  }
}

@media (max-width: 390px) {
  .elevasn-aura-crush {
    padding: 10px !important;
  }

  .elevasn-aura-crush__board {
    gap: 3px !important;
    padding: 8px !important;
    border-radius: 18px !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__symbol {
    width: min(38px, 98%) !important;
    height: min(38px, 98%) !important;
    min-width: 22px !important;
    min-height: 22px !important;
  }
}

/* v151: Luxury auto-match mobile anti-crop fix
   Keeps symbol-only style, but stops mobile symbols being clipped/hidden. */
@media (max-width: 749px) {
  .elevasn-aura-crush__board {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: clamp(2px, .9vw, 4px) !important;
    padding: clamp(7px, 2vw, 10px) !important;
    overflow: visible !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__tile,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:hover,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:focus,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:active,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__symbol {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(30px, 78%) !important;
    height: min(30px, 78%) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    line-height: 0 !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__image,
  .elevasn-aura-crush__board .elevasn-aura-crush__symbol img,
  .elevasn-aura-crush__board .elevasn-aura-crush__symbol svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    overflow: visible !important;
    transform: none !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected .elevasn-aura-crush__symbol,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected .elevasn-aura-crush__image {
    transform: scale(.96) !important;
  }
}

@media (max-width: 390px) {
  .elevasn-aura-crush__board {
    gap: 2px !important;
    padding: 7px !important;
  }

  .elevasn-aura-crush__board .elevasn-aura-crush__symbol {
    width: min(27px, 76%) !important;
    height: min(27px, 76%) !important;
  }
}


/* v152: Angel + demon stress relief battle — calm readable mobile layout only */
@media screen and (max-width: 749px){
  .elevasn-battle-game{
    width:100% !important;
    max-width:100% !important;
    padding:14px !important;
    overflow:visible !important;
    border-radius:24px !important;
  }

  .elevasn-battle-game__hud{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    margin-bottom:14px !important;
  }

  .elevasn-battle-game__level,
  .elevasn-battle-game__meter{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:14px !important;
    border-radius:18px !important;
  }

  .elevasn-battle-game__arena{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    padding:14px !important;
    overflow:visible !important;
    border-radius:22px !important;
    background:linear-gradient(180deg, rgba(10,38,28,.96), rgba(3,18,13,.98)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 14px 34px rgba(0,0,0,.18) !important;
  }

  .elevasn-battle-game__arena::before,
  .elevasn-battle-game__arena::after,
  .elevasn-battle-game__sky,
  .elevasn-battle-game__ground,
  .elevasn-battle-game__tower{
    display:none !important;
    content:none !important;
  }

  .elevasn-battle-game__unit,
  .elevasn-battle-game__unit--angel,
  .elevasn-battle-game__unit--human,
  .elevasn-battle-game__unit--devil{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    transform:none !important;
    animation:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:15px !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:start !important;
    border-radius:18px !important;
    overflow:visible !important;
    box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  .elevasn-battle-game__unit--human{order:1 !important;}
  .elevasn-battle-game__unit--angel{order:2 !important;}
  .elevasn-battle-game__unit--devil{order:3 !important;}

  .elevasn-battle-game__unit::before{
    border-radius:inherit !important;
    opacity:.68 !important;
  }

  .elevasn-battle-game__unit-icon{
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    border-radius:14px !important;
    font-size:1.05rem !important;
    animation:none !important;
  }

  .elevasn-battle-game__unit-copy{
    min-width:0 !important;
  }

  .elevasn-battle-game__unit-copy span{
    margin:0 0 5px !important;
    font-size:.64rem !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
  }

  .elevasn-battle-game__unit-copy strong{
    margin:0 0 6px !important;
    font-size:1rem !important;
    line-height:1.15 !important;
  }

  .elevasn-battle-game__unit-copy p{
    margin:0 !important;
    font-size:.86rem !important;
    line-height:1.45 !important;
  }

  .elevasn-battle-game__panel{
    order:4 !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:14px !important;
    border-radius:20px !important;
    background:rgba(2,16,12,.92) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
  }

  .elevasn-battle-game__panel .elevasn-game__prompt{
    margin:0 0 12px !important;
    padding:0 !important;
    font-size:.94rem !important;
    line-height:1.45 !important;
    text-align:left !important;
  }

  .elevasn-battle-game__choices{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
  }

  .elevasn-battle-game__choices button{
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    padding:13px 14px !important;
    border-radius:18px !important;
    text-align:left !important;
    transform:none !important;
  }

  .elevasn-battle-game__choices button:hover{
    transform:none !important;
  }

  .elevasn-battle-game__choices button span{
    margin:0 0 6px !important;
    font-size:.62rem !important;
    line-height:1.1 !important;
  }

  .elevasn-battle-game__choices button strong{
    font-size:.88rem !important;
    line-height:1.38 !important;
  }

  .elevasn-battle-game__panel .elevasn-game__feedback{
    margin:12px 0 0 !important;
    padding:12px !important;
    font-size:.84rem !important;
    line-height:1.42 !important;
  }
}

@media screen and (max-width: 390px){
  .elevasn-battle-game{padding:10px !important;}
  .elevasn-battle-game__arena{padding:10px !important;gap:10px !important;}
  .elevasn-battle-game__unit,
  .elevasn-battle-game__unit--angel,
  .elevasn-battle-game__unit--human,
  .elevasn-battle-game__unit--devil{
    grid-template-columns:36px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:16px !important;
  }
  .elevasn-battle-game__unit-icon{
    width:36px !important;
    height:36px !important;
    border-radius:12px !important;
  }
  .elevasn-battle-game__unit-copy strong{font-size:.94rem !important;}
  .elevasn-battle-game__unit-copy p{font-size:.8rem !important;line-height:1.4 !important;}
  .elevasn-battle-game__panel{padding:12px !important;border-radius:18px !important;}
}


/* v153: game + module button containment polish — prevents oversized/cut-off words on mobile */
.elevasn-elearn,
.elevasn-elearn *,
.elevasn-choice-game,
.elevasn-choice-game *,
.elevasn-card-game,
.elevasn-card-game *,
.elevasn-match__grid,
.elevasn-match__grid *,
.elevasn-heal-game,
.elevasn-heal-game *,
.elevasn-balance-game,
.elevasn-balance-game *,
.elevasn-race-game,
.elevasn-race-game *,
.elevasn-battle-game,
.elevasn-battle-game *{
  box-sizing:border-box !important;
}

.elevasn-elearn button,
.elevasn-elearn .elevasn-gw__btn,
.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-match__grid button,
.elevasn-heal-game button,
.elevasn-balance-game__choices button,
.elevasn-race-game__choices button,
.elevasn-battle-game__choices button,
.elevasn-wordsearch__actions button,
.elevasn-ws4__reset,
.elevasn-ws__reset,
.elevasn-aura-crush button{
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
}

.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-match__grid button,
.elevasn-heal-game button,
.elevasn-balance-game__choices button,
.elevasn-race-game__choices button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1.35 !important;
}

.elevasn-battle-game__choices button{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:6px !important;
  text-align:left !important;
}

.elevasn-battle-game__choices button span,
.elevasn-battle-game__choices button strong,
.elevasn-choice-game button span,
.elevasn-card-game button span,
.elevasn-match__grid button span,
.elevasn-heal-game button span,
.elevasn-balance-game__choices button span,
.elevasn-race-game__choices button span{
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
}

@media screen and (max-width: 749px){
  .elevasn-elearn__module,
  .elevasn-choice-game,
  .elevasn-card-game,
  .elevasn-match__grid,
  .elevasn-heal-game,
  .elevasn-balance-game,
  .elevasn-race-game,
  .elevasn-battle-game{
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .elevasn-choice-game__grid,
  .elevasn-card-game,
  .elevasn-match__grid,
  .elevasn-heal-game,
  .elevasn-balance-game__choices,
  .elevasn-race-game__choices,
  .elevasn-battle-game__choices{
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .elevasn-elearn button,
  .elevasn-elearn .elevasn-gw__btn,
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-match__grid button,
  .elevasn-heal-game button,
  .elevasn-balance-game__choices button,
  .elevasn-race-game__choices button,
  .elevasn-wordsearch__actions button,
  .elevasn-ws4__reset,
  .elevasn-ws__reset{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    height:auto !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    font-size:.76rem !important;
    line-height:1.34 !important;
    letter-spacing:.055em !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto !important;
    text-align:center !important;
    transform:none !important;
  }

  .elevasn-battle-game__choices button{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    padding:13px 14px !important;
    border-radius:16px !important;
    text-align:left !important;
    overflow:hidden !important;
    transform:none !important;
  }

  .elevasn-battle-game__choices button span{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:.58rem !important;
    line-height:1.15 !important;
    letter-spacing:.12em !important;
  }

  .elevasn-battle-game__choices button strong{
    width:100% !important;
    max-width:100% !important;
    font-size:.82rem !important;
    line-height:1.34 !important;
    letter-spacing:.035em !important;
    font-weight:800 !important;
  }

  .elevasn-battle-game__panel,
  .elevasn-battle-game__panel .elevasn-game__prompt,
  .elevasn-battle-game__panel .elevasn-game__feedback{
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

@media screen and (max-width: 390px){
  .elevasn-elearn button,
  .elevasn-elearn .elevasn-gw__btn,
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-match__grid button,
  .elevasn-heal-game button,
  .elevasn-balance-game__choices button,
  .elevasn-race-game__choices button,
  .elevasn-wordsearch__actions button,
  .elevasn-ws4__reset,
  .elevasn-ws__reset{
    padding:11px 12px !important;
    font-size:.72rem !important;
    line-height:1.32 !important;
    letter-spacing:.045em !important;
    border-radius:15px !important;
  }
  .elevasn-battle-game__choices button{padding:12px !important;border-radius:15px !important;}
  .elevasn-battle-game__choices button strong{font-size:.78rem !important;line-height:1.32 !important;}
  .elevasn-battle-game__choices button span{font-size:.55rem !important;letter-spacing:.10em !important;}
}


/* v154: FINAL mobile game/module button containment — fixes battle choice pills and oversized words */
@media screen and (max-width: 749px){
  .elevasn-elearn,
  .elevasn-elearn__modules,
  .elevasn-elearn__module,
  .elevasn-elearn__module > *,
  .elevasn-battle-game,
  .elevasn-battle-game *,
  .elevasn-choice-game,
  .elevasn-choice-game *,
  .elevasn-card-game,
  .elevasn-card-game *,
  .elevasn-heal-game,
  .elevasn-heal-game *,
  .elevasn-balance-game,
  .elevasn-balance-game *,
  .elevasn-race-game,
  .elevasn-race-game *{
    box-sizing:border-box !important;
  }

  .elevasn-battle-game__panel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .elevasn-battle-game__choices{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:12px 0 0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    appearance:none !important;
    -webkit-appearance:none !important;
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    justify-items:start !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    padding:14px 16px !important;
    margin:0 !important;
    border-radius:18px !important;
    background:linear-gradient(180deg, rgba(7,38,26,.98), rgba(2,18,13,.99)) !important;
    border:1px solid rgba(165,121,50,.55) !important;
    color:#f7f5f0 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    transform:none !important;
    box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
  }

  .elevasn-battle-game__choices button::before,
  .elevasn-battle-game__choices button::after,
  .elevasn-battle-game__choices button[data-balance-option]::before,
  .elevasn-battle-game__choices button[data-balance-option]::after{
    display:none !important;
    content:none !important;
  }

  .elevasn-battle-game__choices button:hover,
  .elevasn-battle-game__choices button:focus,
  .elevasn-battle-game__choices button:focus-visible,
  .elevasn-battle-game__choices button[data-balance-option]:hover,
  .elevasn-battle-game__choices button[data-balance-option]:focus-visible{
    transform:none !important;
    outline:none !important;
  }

  .elevasn-battle-game__choices button span,
  .elevasn-battle-game__choices button[data-balance-option] span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#b5924d !important;
    font-size:.60rem !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    text-align:left !important;
  }

  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#f7f5f0 !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:.82rem !important;
    line-height:1.34 !important;
    font-weight:800 !important;
    letter-spacing:.025em !important;
    text-transform:none !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  .elevasn-battle-game__choices button.is-selected,
  .elevasn-battle-game__choices button[data-balance-option].is-selected{
    background:linear-gradient(180deg, rgba(165,121,50,.88), rgba(40,54,25,.96)) !important;
    border-color:rgba(247,245,240,.48) !important;
  }

  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-heal-game button,
  .elevasn-balance-game__choices button,
  .elevasn-race-game__choices button,
  .elevasn-aura-crush button,
  .elevasn-wordsearch__actions button,
  .elevasn-ws4__reset,
  .elevasn-ws__reset{
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    text-overflow:clip !important;
  }
}

@media screen and (max-width: 390px){
  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    padding:13px 14px !important;
    border-radius:16px !important;
  }
  .elevasn-battle-game__choices button span,
  .elevasn-battle-game__choices button[data-balance-option] span{
    font-size:.56rem !important;
    letter-spacing:.12em !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    font-size:.78rem !important;
    line-height:1.32 !important;
    letter-spacing:.018em !important;
  }
}


/* v155: make game choice buttons use contained rounded-rectangle shape like reference image */
.elevasn-battle-game__choices{
  gap: .9rem !important;
}
.elevasn-battle-game__choices button,
.elevasn-choice-game button,
.elevasn-card-game button,
.elevasn-heal-game button{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-height:auto !important;
  height:auto !important;
  padding:1rem 1rem 1.05rem !important;
  border-radius:22px !important;
  overflow:hidden !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
}
.elevasn-battle-game__choices button span,
.elevasn-choice-game button span,
.elevasn-card-game button span,
.elevasn-heal-game button span{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
}
.elevasn-battle-game__choices button strong,
.elevasn-choice-game button strong,
.elevasn-card-game button strong,
.elevasn-heal-game button strong{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.35 !important;
}
@media (max-width: 749px){
  .elevasn-battle-game__choices button,
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-heal-game button{
    min-height:auto !important;
    padding:.95rem .95rem 1rem !important;
    border-radius:20px !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-choice-game button strong,
  .elevasn-card-game button strong,
  .elevasn-heal-game button strong,
  .elevasn-choice-game button,
  .elevasn-card-game button,
  .elevasn-heal-game button,
  .elevasn-battle-game__choices button{
    font-size:.8rem !important;
    line-height:1.34 !important;
  }
}


/* v156: force angel + demon battle buttons to use rounded-rectangle cards, not ovals */
.elevasn-battle-game__choices,
.elevasn-battle-game__choices[data-balance-choices]{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:14px !important;
}
.elevasn-battle-game__choices button,
.elevasn-battle-game__choices button[data-balance-option]{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-height:118px !important;
  height:100% !important;
  padding:14px 16px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(181,146,77,.56) !important;
  background:linear-gradient(180deg, rgba(7,56,38,.98), rgba(4,39,28,.98)) !important;
  box-shadow:none !important;
  transform:none !important;
  overflow:hidden !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.elevasn-battle-game__choices button:hover,
.elevasn-battle-game__choices button[data-balance-option]:hover,
.elevasn-battle-game__choices button.is-selected,
.elevasn-battle-game__choices button[data-balance-option].is-selected,
.elevasn-battle-game__choices button.is-wrong,
.elevasn-battle-game__choices button[data-balance-option].is-wrong{
  border-radius:16px !important;
}
.elevasn-battle-game__choices button span,
.elevasn-battle-game__choices button[data-balance-option] span{
  display:block !important;
  width:100% !important;
  margin:0 0 10px !important;
  font-size:.7rem !important;
  line-height:1.15 !important;
  letter-spacing:.16em !important;
  white-space:normal !important;
}
.elevasn-battle-game__choices button strong,
.elevasn-battle-game__choices button[data-balance-option] strong{
  display:block !important;
  width:100% !important;
  font-size:.82rem !important;
  line-height:1.3 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
@media (max-width: 749px){
  .elevasn-battle-game__choices,
  .elevasn-battle-game__choices[data-balance-choices]{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    min-height:auto !important;
    height:auto !important;
    padding:14px 15px !important;
    border-radius:14px !important;
  }
  .elevasn-battle-game__choices button:hover,
  .elevasn-battle-game__choices button[data-balance-option]:hover,
  .elevasn-battle-game__choices button.is-selected,
  .elevasn-battle-game__choices button[data-balance-option].is-selected,
  .elevasn-battle-game__choices button.is-wrong,
  .elevasn-battle-game__choices button[data-balance-option].is-wrong{
    border-radius:14px !important;
  }
  .elevasn-battle-game__choices button span,
  .elevasn-battle-game__choices button[data-balance-option] span{
    margin-bottom:8px !important;
    font-size:.64rem !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    font-size:.78rem !important;
    line-height:1.28 !important;
  }
}


/* v157: keep Angel + Demon battle buttons oval, but contain the text properly */
.elevasn-battle-game__choices,
.elevasn-battle-game__choices[data-balance-choices]{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}
.elevasn-battle-game__choices button,
.elevasn-battle-game__choices button[data-balance-option]{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:116px !important;
  padding:18px 22px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-align:left !important;
}
.elevasn-battle-game__choices button:hover,
.elevasn-battle-game__choices button[data-balance-option]:hover,
.elevasn-battle-game__choices button.is-selected,
.elevasn-battle-game__choices button[data-balance-option].is-selected,
.elevasn-battle-game__choices button.is-wrong,
.elevasn-battle-game__choices button[data-balance-option].is-wrong{
  border-radius:999px !important;
}
.elevasn-battle-game__choices button span,
.elevasn-battle-game__choices button[data-balance-option] span{
  display:block !important;
  width:100% !important;
  margin:0 0 8px !important;
  font-size:clamp(.54rem,.58vw,.64rem) !important;
  line-height:1.1 !important;
  letter-spacing:.13em !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.elevasn-battle-game__choices button strong,
.elevasn-battle-game__choices button[data-balance-option] strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  font-size:clamp(.64rem,.78vw,.82rem) !important;
  line-height:1.28 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-wrap:pretty;
}
@media (max-width: 989px){
  .elevasn-battle-game__choices,
  .elevasn-battle-game__choices[data-balance-choices]{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    min-height:auto !important;
    padding:16px 20px !important;
    border-radius:26px !important;
  }
  .elevasn-battle-game__choices button:hover,
  .elevasn-battle-game__choices button[data-balance-option]:hover,
  .elevasn-battle-game__choices button.is-selected,
  .elevasn-battle-game__choices button[data-balance-option].is-selected,
  .elevasn-battle-game__choices button.is-wrong,
  .elevasn-battle-game__choices button[data-balance-option].is-wrong{
    border-radius:26px !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    font-size:.78rem !important;
    line-height:1.32 !important;
  }
}
@media (max-width: 430px){
  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    padding:14px 16px !important;
    border-radius:22px !important;
  }
  .elevasn-battle-game__choices button:hover,
  .elevasn-battle-game__choices button[data-balance-option]:hover,
  .elevasn-battle-game__choices button.is-selected,
  .elevasn-battle-game__choices button[data-balance-option].is-selected,
  .elevasn-battle-game__choices button.is-wrong,
  .elevasn-battle-game__choices button[data-balance-option].is-wrong{
    border-radius:22px !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    font-size:.74rem !important;
    line-height:1.34 !important;
  }
}


/* v158: mobile-only refinement for Angel + Demon battle ovals so text stays contained */
@media (max-width: 749px){
  .elevasn-battle-game__choices,
  .elevasn-battle-game__choices[data-balance-choices]{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    width:100% !important;
    min-width:0 !important;
    min-height:auto !important;
    padding:13px 15px !important;
    border-radius:24px !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
  }
  .elevasn-battle-game__choices button:hover,
  .elevasn-battle-game__choices button[data-balance-option]:hover,
  .elevasn-battle-game__choices button.is-selected,
  .elevasn-battle-game__choices button[data-balance-option].is-selected,
  .elevasn-battle-game__choices button.is-wrong,
  .elevasn-battle-game__choices button[data-balance-option].is-wrong{
    border-radius:24px !important;
  }
  .elevasn-battle-game__choices button span,
  .elevasn-battle-game__choices button[data-balance-option] span{
    margin:0 0 7px !important;
    font-size:.58rem !important;
    line-height:1.08 !important;
    letter-spacing:.12em !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    width:100% !important;
    max-width:100% !important;
    font-size:.70rem !important;
    line-height:1.23 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
    text-wrap:auto !important;
  }
}
@media (max-width: 430px){
  .elevasn-battle-game__choices button,
  .elevasn-battle-game__choices button[data-balance-option]{
    padding:12px 14px !important;
    border-radius:22px !important;
  }
  .elevasn-battle-game__choices button:hover,
  .elevasn-battle-game__choices button[data-balance-option]:hover,
  .elevasn-battle-game__choices button.is-selected,
  .elevasn-battle-game__choices button[data-balance-option].is-selected,
  .elevasn-battle-game__choices button.is-wrong,
  .elevasn-battle-game__choices button[data-balance-option].is-wrong{
    border-radius:22px !important;
  }
  .elevasn-battle-game__choices button strong,
  .elevasn-battle-game__choices button[data-balance-option] strong{
    font-size:.68rem !important;
    line-height:1.2 !important;
  }
}


/* v159: refine Daily elevation ritual checkbox size so mobile sits cleaner */
.elevasn-elearn__module--ritual > label{
  display:grid !important;
  grid-template-columns: 14px minmax(0,1fr) !important;
  align-items:start !important;
  gap: .9rem !important;
}
.elevasn-elearn__module--ritual > label input[type="checkbox"]{
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  margin: .22rem 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  border-radius: 2px !important;
  accent-color: #b5924d !important;
  box-sizing: border-box !important;
  flex: 0 0 14px !important;
}
@media (max-width: 749px){
  .elevasn-elearn__module--ritual > label{
    grid-template-columns: 10px minmax(0,1fr) !important;
    gap: .75rem !important;
    margin: .8rem 0 !important;
  }
  .elevasn-elearn__module--ritual > label input[type="checkbox"]{
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    max-width: 10px !important;
    max-height: 10px !important;
    margin-top: .28rem !important;
    flex-basis: 10px !important;
  }
}

/* ELEVASN v162 — portfolio performance opening layer */
.elevasn-portfolio-modal[hidden],
.elevasn-portfolio-lightbox[hidden]{display:none!important}
.elevasn-portfolio-modal{
  contain:layout style paint;
}
.elevasn-portfolio-modal__panel{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  contain:content;
  transform:translateZ(0);
}
.elevasn-portfolio-modal__grid{
  content-visibility:auto;
  contain-intrinsic-size:720px;
}
.elevasn-portfolio-tile{
  contain:layout paint;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.elevasn-portfolio-tile img[data-elevasn-placeholder="true"]{
  opacity:.001;
}
.elevasn-portfolio-tile img{
  background:#020c09;
}
html:not(.elevasn-portfolio-is-open) .elevasn-portfolio-lightbox{
  display:none!important;
}
@media(max-width:767px){
  .elevasn-portfolio-modal__backdrop,
  .elevasn-portfolio-lightbox__backdrop{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .elevasn-portfolio-modal__panel{
    max-height:92dvh;
    border-radius:20px!important;
  }
  .elevasn-portfolio-tile,
  .elevasn-portfolio-tile:hover{
    transform:none!important;
    box-shadow:0 12px 34px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.03)!important;
  }
  .elevasn-portfolio-tile,
  .elevasn-portfolio-modal__filters button,
  .elevasn-portfolio-modal__close,
  .elevasn-portfolio-lightbox__close{
    transition:transform .12s ease,border-color .12s ease,background .12s ease,opacity .12s ease!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .elevasn-portfolio-modal *,
  .elevasn-portfolio-lightbox *{
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}

/* ELEVASN v163 — football simulator mobile responsive refinement */
#elevasn-football-simulator.elevasn-football-sim,
#elevasn-football-simulator.elevasn-football-sim *,
#elevasn-football-simulator.elevasn-football-sim *::before,
#elevasn-football-simulator.elevasn-football-sim *::after{
  box-sizing:border-box !important;
}
#elevasn-football-simulator.elevasn-football-sim{
  overflow:hidden !important;
  width:100% !important;
  max-width:100% !important;
}
#elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board{
  touch-action:pan-y !important;
  contain:layout paint !important;
  transform:translateZ(0) !important;
}
#elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__selector button{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media(max-width:767px){
  .elevasn-portal-football-lab__grid{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim{
    padding:clamp(12px,4vw,18px) !important;
    border-radius:1.2rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__head{
    display:grid !important;
    gap:.35rem !important;
    margin-bottom:.8rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__head strong{
    text-align:left !important;
    line-height:1.15 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__intro{
    margin:0 0 .8rem !important;
    padding:.78rem .82rem !important;
    border-radius:.9rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__intro p{
    font-size:.82rem !important;
    line-height:1.45 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__selector{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.5rem !important;
    margin:0 0 .82rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__selector button{
    height:42px !important;
    min-height:42px !important;
    padding:.55rem .45rem !important;
    font-size:.72rem !important;
    letter-spacing:.055em !important;
    white-space:nowrap !important;
    transform:none !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__selector button::after{
    display:none !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__meta,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__board-meta{
    gap:.62rem !important;
    margin:0 0 .75rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__board-copy{
    grid-template-columns:1fr !important;
    grid-template-areas:"kicker" "title" "action" !important;
    row-gap:.38rem !important;
    padding:.82rem !important;
    border-radius:1rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__board-kicker{
    font-size:.56rem !important;
    letter-spacing:.14em !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__board-copy strong{
    font-size:.98rem !important;
    line-height:1.15 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__board-copy p{
    font-size:.8rem !important;
    line-height:1.42 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__legend{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.45rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__legend span{
    width:100% !important;
    min-height:34px !important;
    justify-content:center !important;
    padding:.45rem .38rem !important;
    font-size:.6rem !important;
    letter-spacing:.045em !important;
    line-height:1.05 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__phase-grid{
    grid-template-columns:1fr !important;
    gap:.42rem !important;
    margin:0 0 .72rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__phase-grid span{
    min-height:34px !important;
    justify-content:flex-start !important;
    padding:.48rem .58rem !important;
    text-align:left !important;
    font-size:.6rem !important;
    letter-spacing:.05em !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board{
    width:100% !important;
    height:clamp(405px,118vw,520px) !important;
    min-height:405px !important;
    max-height:none !important;
    border-radius:1.05rem !important;
    overflow:hidden !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-board__pitch{
    inset:10px !important;
    border-radius:.88rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-board__goal{
    top:10px !important;
    width:72px !important;
    height:20px !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__direction{
    top:40px !important;
    max-width:78% !important;
    padding:.32rem .5rem !important;
    font-size:.48rem !important;
    letter-spacing:.08em !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__goal-flash{
    top:24px !important;
    padding:.4rem .58rem !important;
    font-size:.58rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__trace{
    inset:14px 10px 20px !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__trace polyline{
    stroke-width:1 !important;
    opacity:.7 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__trace [data-football-mark-lines] line{
    stroke-width:.8 !important;
    opacity:.42 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-board__ball{
    width:14px !important;
    height:14px !important;
    box-shadow:0 0 0 3px rgba(181,146,77,.22),0 0 18px rgba(247,245,240,.38) !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board .p{
    width:29px !important;
    height:29px !important;
    margin:-14.5px 0 0 -14.5px !important;
    font-size:.52rem !important;
    transition:left .48s cubic-bezier(.2,.9,.25,1),top .48s cubic-bezier(.2,.9,.25,1),transform .2s ease,box-shadow .2s ease !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board .p.big{
    width:22px !important;
    height:22px !important;
    margin:-11px 0 0 -11px !important;
    font-size:.34rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board[data-active="7v7"] .p,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board[data-active="11v11"] .p{
    width:22px !important;
    height:22px !important;
    margin:-11px 0 0 -11px !important;
    font-size:.34rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board[data-active="11v11"] .p.big{
    width:18px !important;
    height:18px !important;
    margin:-9px 0 0 -9px !important;
    font-size:.28rem !important;
    border-width:1px !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board .p.a::after,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board .p.d::after,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board .p.d.is-man-marker::before{
    display:none !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__status,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__board-status{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.32rem !important;
    margin:.72rem 0 0 !important;
    padding:.7rem .75rem !important;
    border-radius:.9rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__status strong{
    white-space:normal !important;
    font-size:.68rem !important;
    letter-spacing:.1em !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__status span{
    text-align:left !important;
    font-size:.78rem !important;
    line-height:1.35 !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__touch-rule,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-portal-football-lab__note{
    font-size:.72rem !important;
    line-height:1.42 !important;
    padding:.62rem .7rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary{
    margin-top:.82rem !important;
    padding:.78rem !important;
    border-radius:1rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary-head{
    display:block !important;
    margin-bottom:.62rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary-head strong{
    display:block !important;
    margin-top:.3rem !important;
    text-align:left !important;
    font-size:.76rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary-grid{
    grid-template-columns:1fr !important;
    gap:.5rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary-grid article{
    min-height:0 !important;
    grid-template-columns:28px 1fr !important;
    padding:.65rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary-grid p,
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__summary-note{
    font-size:.72rem !important;
    line-height:1.42 !important;
  }
}
@media(max-width:390px){
  #elevasn-football-simulator.elevasn-football-sim{
    padding:10px !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__selector button{
    height:39px !important;
    min-height:39px !important;
    font-size:.65rem !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__legend{
    grid-template-columns:1fr !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board{
    height:clamp(390px,122vw,485px) !important;
    min-height:390px !important;
  }
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board[data-active="11v11"] .p.big{
    width:16px !important;
    height:16px !important;
    margin:-8px 0 0 -8px !important;
    font-size:.24rem !important;
  }
}
@media(max-width:767px) and (orientation:landscape){
  #elevasn-football-simulator.elevasn-football-sim .elevasn-football-sim__board{
    height:440px !important;
    min-height:440px !important;
  }
}

/* ELEVASN v176 — Aura Ascension auto-match playable board fix
   The game logic can use a lighter 6x6 board on mobile, so the visual grid
   must follow the same size. This prevents taps from feeling mismatched. */
.elevasn-aura-crush__board{
  grid-template-columns:repeat(var(--elevasn-aura-size, 8), minmax(0, 1fr)) !important;
  touch-action:manipulation !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
.elevasn-aura-crush__board[data-aura-size="6"]{
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
}
.elevasn-aura-crush__board[data-aura-size="8"]{
  grid-template-columns:repeat(8, minmax(0, 1fr)) !important;
}
.elevasn-aura-crush__tile{
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
@media (max-width:749px){
  .elevasn-aura-crush__board{
    grid-template-columns:repeat(var(--elevasn-aura-size, 6), minmax(0, 1fr)) !important;
    gap:clamp(5px, 1.45vw, 7px) !important;
    padding:clamp(9px, 2.4vw, 12px) !important;
  }
  .elevasn-aura-crush__board[data-aura-size="6"]{
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  }
  .elevasn-aura-crush__board .elevasn-aura-crush__tile,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:hover,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:focus,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile:active,
  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected{
    min-height:0 !important;
    aspect-ratio:1 / 1 !important;
    transform:none !important;
    transition:opacity .08s ease, filter .08s ease !important;
  }
  .elevasn-aura-crush__board .elevasn-aura-crush__tile.is-selected{
    transform:scale(.94) !important;
  }
  .elevasn-aura-crush__board .elevasn-aura-crush__symbol{
    width:min(38px, 82%) !important;
    height:min(38px, 82%) !important;
  }
}

/* ELEVASN v177 — mobile games width expansion
   Expands the framed game rails closer to the mobile screen edge so Word Search,
   Aura Auto Match, and the learning games have more playable width without causing side-scroll. */
@media screen and (max-width: 749px){
  .elevasn-portal,
  .elevasn-portal__panel,
  .elevasn-portal__content,
  .elevasn-portal__body,
  .elevasn-portal__stage{
    overflow-x: hidden !important;
  }

  .elevasn-portal > .page-width,
  .elevasn-portal .page-width{
    padding-left: 8px !important;
    padding-right: 8px !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .elevasn-elearn{
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-left: calc(50% - 50vw + 8px) !important;
    margin-right: calc(50% - 50vw + 8px) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .elevasn-elearn__modules,
  .elevasn-elearn__modules--games{
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    box-sizing: border-box !important;
  }

  .elevasn-elearn__module,
  .elevasn-elearn__module--wide,
  .elevasn-wordsearch-game,
  .elevasn-aura-crush,
  .elevasn-choice-game,
  .elevasn-card-game,
  .elevasn-match,
  .elevasn-word-game,
  .elevasn-heal-game,
  .elevasn-balance-game,
  .elevasn-race-game,
  .elevasn-battle-game{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .elevasn-elearn__module{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .elevasn-wordsearch-game,
  .elevasn-aura-crush{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .elevasn-wordsearch__wrap,
  .elevasn-aura-crush__layout{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    box-sizing: border-box !important;
  }

  .elevasn-wordsearch__board,
  .elevasn-aura-crush__board{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .elevasn-wordsearch__side,
  .elevasn-aura-crush__panel,
  .elevasn-game__feedback{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 390px){
  .elevasn-portal > .page-width,
  .elevasn-portal .page-width{
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .elevasn-elearn{
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin-left: calc(50% - 50vw + 6px) !important;
    margin-right: calc(50% - 50vw + 6px) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .elevasn-elearn__module,
  .elevasn-wordsearch-game,
  .elevasn-aura-crush{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
