:root {
  --jae-navy: #023047;
  --jae-navy-deep: #011f2d;
  --jae-navy-soft: #0c435b;
  --jae-accent: #f67d0d;
  --jae-accent-dark: #d96300;
  --jae-blue: #2f86c7;
  --jae-paper: #f7f6f1;
  --jae-paper-deep: #eeeae1;
  --jae-white: #fff;
  --jae-ink: #102631;
  --jae-muted: #66777f;
  --jae-line: rgba(2, 48, 71, .13);
  --jae-shadow: 0 28px 80px rgba(2, 48, 71, .14);
  --jae-radius-sm: 16px;
  --jae-radius: 26px;
  --jae-radius-lg: 42px;
  --jae-font-display: "Manrope", sans-serif;
  --jae-font-body: "DM Sans", sans-serif;
  --jae-ease: cubic-bezier(.22, 1, .36, 1);
  --dept-youth: #2f86c7;
  --dept-explorers: #e36520;
  --dept-pioneers: #7f264a;
  --dept-guides: #448d21;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 150px; overflow-x: clip; }
body { margin: 0; color: var(--jae-ink); background: var(--jae-paper); font-family: var(--jae-font-body); overflow-x: clip; }
button, input { font: inherit; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
svg { display: block; }
::selection { color: var(--jae-white); background: var(--jae-accent); }
.jae3-shell { width: min(1320px, calc(100% - 56px)); margin-inline: auto; }
.jae3-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.jae3-skip { position: fixed; top: 8px; left: 8px; z-index: 9999; padding: 11px 17px; color: #fff; background: var(--jae-navy); border-radius: 999px; transform: translateY(-150%); }
.jae3-skip:focus { transform: translateY(0); }

.dept-youth { --dept: var(--dept-youth); }
.dept-explorers { --dept: var(--dept-explorers); }
.dept-pioneers { --dept: var(--dept-pioneers); }
.dept-guides { --dept: var(--dept-guides); }

.jae3-kicker { display: inline-flex; align-items: center; gap: 10px; color: rgba(2,48,71,.64); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.jae3-kicker i { width: 7px; height: 7px; flex: 0 0 auto; background: var(--jae-accent); border-radius: 50%; box-shadow: 0 0 0 6px rgba(246,125,13,.1); }
.jae3-kicker--light { color: rgba(255,255,255,.67); }

.jae3-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 700; transition: color .3s, background .3s, border .3s, box-shadow .4s var(--jae-ease), transform .4s var(--jae-ease); }
.jae3-button span { font-size: 16px; transition: transform .35s var(--jae-ease); }
.jae3-button:hover { transform: translateY(-3px); }
.jae3-button:hover span { transform: translate(3px,-3px); }
.jae3-button--accent { color: #fff; background: var(--jae-accent); box-shadow: 0 14px 34px rgba(246,125,13,.25); }
.jae3-button--accent:hover { background: var(--jae-accent-dark); box-shadow: 0 18px 45px rgba(246,125,13,.34); }
.jae3-button--outline { color: var(--jae-navy); border-color: rgba(2,48,71,.25); background: rgba(255,255,255,.5); }
.jae3-button--outline:hover { color: #fff; border-color: var(--jae-navy); background: var(--jae-navy); }
.jae3-button--outline-light { margin-top: 44px; color: #fff; border-color: rgba(255,255,255,.25); }
.jae3-button--outline-light:hover { color: var(--jae-navy); border-color: #fff; background: #fff; }
.jae3-button--text { min-height: auto; padding: 10px 2px; color: var(--jae-navy); border-radius: 0; }
.jae3-button--text:hover { color: var(--jae-accent); transform: none; }

.jae3-text-link { position: relative; display: inline-flex; align-items: center; gap: 12px; color: var(--jae-navy); font-size: 14px; font-weight: 700; }
.jae3-text-link::after { content: ""; position: absolute; right: 0; bottom: -6px; left: 0; height: 1px; background: currentColor; transform: scaleX(.22); transform-origin: left; transition: transform .35s var(--jae-ease); }
.jae3-text-link b { font-weight: 500; transition: transform .35s var(--jae-ease); }
.jae3-text-link:hover { color: var(--jae-accent); }
.jae3-text-link:hover::after { transform: scaleX(1); }
.jae3-text-link:hover b { transform: translate(3px,-3px); }
.jae3-text-link--light { color: #fff; }

/* Header */
.jae3-header { position: sticky; top: 0; z-index: 200; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(2,48,71,.09); backdrop-filter: blur(20px) saturate(1.2); transition: box-shadow .35s, background .35s; }
.jae3-header.is-scrolled { background: rgba(255,255,255,.88); box-shadow: 0 16px 45px rgba(2,48,71,.11); }
.jae3-header__main { min-height: 82px; display: grid; grid-template-columns: 200px minmax(340px, 560px) 200px; align-items: center; justify-content: space-between; gap: 30px; }
.jae3-logo { position: relative; width: 104px; height: 58px; display: grid; place-items: center; }
.jae3-logo img { position: absolute; width: 100%; height: 100%; object-fit: contain; transition: opacity .35s, transform .5s var(--jae-ease); }
.jae3-logo__color { opacity: 0; transform: scale(.88) rotate(-4deg); }
.jae3-logo:hover .jae3-logo__mono { opacity: 0; transform: scale(.92); }
.jae3-logo:hover .jae3-logo__color { opacity: 1; transform: scale(1) rotate(0); }

.jae3-search { position: relative; min-width: 0; height: 50px; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 4px 5px 4px 18px; background: var(--jae-paper); border: 1px solid rgba(2,48,71,.12); border-radius: 999px; transition: border .25s, background .25s, box-shadow .25s; }
.jae3-search:focus-within { background: #fff; border-color: rgba(2,48,71,.3); box-shadow: 0 0 0 5px rgba(2,48,71,.06), 0 15px 35px rgba(2,48,71,.08); }
.jae3-search > svg { width: 19px; fill: none; stroke: var(--jae-navy); stroke-width: 1.8; stroke-linecap: round; }
.jae3-search input[type="search"] { min-width: 0; width: 100%; height: 40px; padding: 0; color: var(--jae-ink); background: transparent; border: 0; outline: 0; }
.jae3-search input::placeholder { color: #809098; }
.jae3-search > button { height: 40px; padding: 0 20px; color: #fff; background: var(--jae-navy); border: 0; border-radius: 999px; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .25s, transform .25s; }
.jae3-search > button:hover { background: var(--jae-accent); transform: translateX(-2px); }
.jae3-search__results { position: absolute; top: calc(100% + 12px); right: 0; left: 0; z-index: 80; padding: 10px; background: #fff; border: 1px solid var(--jae-line); border-radius: 20px; box-shadow: var(--jae-shadow); }
.jae3-search__results a { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 12px; padding: 9px; border-radius: 12px; transition: background .2s, color .2s; }
.jae3-search__results a:hover { color: var(--jae-accent); background: var(--jae-paper); }
.jae3-search__results img { width: 46px; height: 46px; object-fit: contain; background: var(--jae-paper); border-radius: 8px; }
.jae3-search__results strong { font-size: 13px; }
.jae3-search__results small { color: var(--jae-muted); font-size: 11px; }

.jae3-header__tools { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.jae3-tool { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; color: var(--jae-navy); border-radius: 999px; font-size: 13px; font-weight: 700; transition: color .25s, background .25s, transform .25s; }
.jae3-tool:hover { color: var(--jae-accent); background: rgba(246,125,13,.08); transform: translateY(-2px); }
.jae3-tool svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jae3-tool--cart { position: relative; width: 44px; justify-content: center; padding: 0; border: 1px solid var(--jae-line); }
.jae3-cart-count { position: absolute; top: -6px; right: -5px; min-width: 18px; height: 18px; display: grid; place-items: center; color: #fff; background: var(--jae-accent); border: 2px solid #fff; border-radius: 999px; font-size: 9px; }

.jae3-header__navwrap { border-top: 1px solid rgba(2,48,71,.075); }
.jae3-header__navrow { min-height: 66px; display: flex; align-items: stretch; gap: 30px; }
.jae3-category { position: relative; display: flex; align-items: center; }
.jae3-category__button { min-width: 220px; min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 0 17px; color: #fff; background: var(--jae-navy); border: 0; border-radius: 12px; cursor: pointer; font-size: 12px; font-weight: 700; transition: background .3s, box-shadow .3s, transform .3s var(--jae-ease); }
.jae3-category__button:hover, .jae3-category.is-open .jae3-category__button { background: var(--jae-accent); box-shadow: 0 12px 28px rgba(246,125,13,.22); transform: translateY(-2px); }
.jae3-category__button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.jae3-category__button .jae3-chevron { width: 13px; margin-left: auto; transition: transform .3s; }
.jae3-category.is-open .jae3-chevron { transform: rotate(180deg); }
.jae3-category__panel { position: absolute; top: 100%; left: 0; z-index: 120; width: 340px; padding: 12px; background: #fff; border: 1px solid var(--jae-line); border-radius: 0 0 20px 20px; box-shadow: 0 28px 70px rgba(2,48,71,.16); opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .25s, transform .35s var(--jae-ease); }
.jae3-category.is-open .jae3-category__panel { opacity: 1; pointer-events: auto; transform: translateY(0); }
.jae3-category__panel a { display: grid; gap: 3px; padding: 13px 14px; border-radius: 12px; transition: color .2s, background .2s, transform .25s; }
.jae3-category__panel a:hover { color: var(--jae-accent); background: var(--jae-paper); transform: translateX(4px); }
.jae3-category__panel strong { font-size: 13px; }
.jae3-category__panel span { color: var(--jae-muted); font-size: 11px; }

.jae3-nav { min-width: 0; flex: 1; }
.jae3-nav > ul { height: 100%; display: flex; align-items: stretch; justify-content: space-between; gap: 18px; margin: 0; padding: 0; list-style: none; }
.jae3-nav__item { position: relative; display: flex; align-items: stretch; }
.jae3-nav__item > a { position: relative; display: flex; align-items: center; gap: 6px; color: var(--jae-navy); font-size: 12px; font-weight: 700; white-space: nowrap; }
.jae3-nav__item > a::after { content: ""; position: absolute; right: 0; bottom: 12px; left: 0; height: 2px; background: var(--jae-accent); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--jae-ease); }
.jae3-nav__item:hover > a, .jae3-nav__item:focus-within > a { color: var(--jae-accent); }
.jae3-nav__item:hover > a::after, .jae3-nav__item:focus-within > a::after { transform: scaleX(1); transform-origin: left; }
.jae3-nav__item > a > span { font-size: 11px; }
.jae3-nav__shop { align-items: center; }
.jae3-nav__shop > a { min-height: 43px; gap: 9px; padding: 0 18px; color: #fff; background: var(--jae-accent); border-radius: 999px; box-shadow: 0 10px 26px rgba(246,125,13,.2); transition: background .25s, transform .3s, box-shadow .3s; }
.jae3-nav__shop > a::after { display: none; }
.jae3-nav__shop > a svg { width: 17px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jae3-nav__shop:hover > a { color: #fff; background: var(--jae-accent-dark); box-shadow: 0 15px 34px rgba(246,125,13,.28); transform: translateY(-2px); }

.jae3-mega { position: absolute; top: 100%; left: -18px; z-index: 110; width: min(720px, calc(100vw - 56px)); display: grid; grid-template-columns: 1fr 310px; gap: 14px; padding: 14px; background: rgba(255,255,255,.98); border: 1px solid var(--jae-line); border-radius: 0 0 24px 24px; box-shadow: 0 32px 80px rgba(2,48,71,.2); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity .25s, visibility .25s, transform .4s var(--jae-ease); }
.jae3-mega::before { content: ""; position: absolute; right: 0; bottom: 100%; left: 0; height: 14px; }
.jae3-nav__item--mega:hover > .jae3-mega, .jae3-nav__item--mega:focus-within > .jae3-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.jae3-mega__links { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 10px; }
.jae3-mega__eyebrow { grid-column: 1/-1; margin: 0 0 5px; color: var(--jae-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.jae3-mega__links a { display: grid; grid-template-columns: 10px 1fr; gap: 2px 10px; padding: 13px; border-radius: 14px; transition: background .2s, transform .25s; }
.jae3-mega__links a:hover { background: var(--jae-paper); transform: translateX(3px); }
.jae3-mega__links a i { grid-row: 1/3; width: 8px; height: 8px; margin-top: 5px; background: var(--dept); border-radius: 50%; box-shadow: 0 0 0 5px color-mix(in srgb, var(--dept) 12%, transparent); }
.jae3-mega__links strong { color: var(--jae-navy); font-size: 13px; }
.jae3-mega__links small { color: var(--jae-muted); font-size: 10px; }
.jae3-mega__media { position: relative; min-height: 300px; overflow: hidden; border-radius: 18px; }
.jae3-mega__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(1,31,45,.03), rgba(1,31,45,.88)); }
.jae3-mega__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--jae-ease); }
.jae3-mega__media:hover img { transform: scale(1.055); }
.jae3-mega__media > span { position: absolute; right: 22px; bottom: 22px; left: 22px; z-index: 2; display: grid; color: #fff; }
.jae3-mega__media small { color: rgba(255,255,255,.7); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.jae3-mega__media strong { margin: 7px 0 12px; font-family: var(--jae-font-display); font-size: 33px; line-height: .95; letter-spacing: -.05em; }
.jae3-mega__media em { width: fit-content; font-size: 11px; font-style: normal; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.5); }
.jae3-nav__item--about .jae3-mega { right: -120px; left: auto; width: min(560px, calc(100vw - 56px)); grid-template-columns: 1fr 220px; align-items: center; padding: 18px; }
.jae3-mega--about > div { padding: 12px; }
.jae3-mega--about h3 { margin: 12px 0 24px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: 27px; line-height: 1.08; letter-spacing: -.04em; }
.jae3-mega--about img { width: 100%; height: 210px; object-fit: cover; object-position: center top; border-radius: 16px; }

/* Hero */
.jae3-hero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(130deg, #fbfaf6 0%, #eef3f2 58%, #dceaf0 100%); }
.jae3-hero::before { content: ""; position: absolute; top: -270px; left: -250px; width: 650px; height: 650px; background: radial-gradient(circle, rgba(246,125,13,.14), rgba(246,125,13,0) 68%); }
.jae3-hero__mesh { position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(rgba(2,48,71,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(2,48,71,.045) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(90deg,#000,transparent 68%); }
.jae3-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(42px, 4vw, 62px); padding-block: 70px; }
.jae3-hero__copy { padding-left: 10px; }
.jae3-hero h1 { max-width: 670px; margin: 24px 0 26px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: clamp(62px, 5.1vw, 82px); font-weight: 750; line-height: .91; letter-spacing: -.075em; }
.jae3-hero h1 em { color: var(--jae-accent); font-style: normal; }
.jae3-hero__copy > p { max-width: 590px; margin: 0; color: var(--jae-muted); font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; }
.jae3-hero__actions { display: flex; align-items: center; gap: 24px; margin-top: 38px; }
.jae3-hero__visual { position: relative; min-height: 590px; perspective: 1200px; }
.jae3-hero__visual::before { content: ""; position: absolute; inset: 70px -60px -40px 90px; background: linear-gradient(140deg, rgba(47,134,199,.3), rgba(2,48,71,.14)); border-radius: 52% 48% 30% 70% / 55% 35% 65% 45%; filter: blur(4px); transform: rotate(-5deg); }
.jae3-hero__image { position: absolute; inset: 20px 0 20px 40px; overflow: hidden; background: #d8e1e4; border: 8px solid rgba(255,255,255,.86); border-radius: 38px; box-shadow: 0 38px 90px rgba(2,48,71,.23); transform: rotate(1.2deg); transition: transform .8s var(--jae-ease); }
.jae3-hero__visual:hover .jae3-hero__image { transform: rotate(0) scale(1.008); }
.jae3-hero__image picture, .jae3-hero__image img { width: 100%; height: 100%; }
.jae3-hero__image img { object-fit: cover; object-position: center; transition: transform 1.2s var(--jae-ease); }
.jae3-hero__visual:hover img { transform: scale(1.025); }
.jae3-hero__number { position: absolute; right: -12px; bottom: -22px; z-index: -1; color: transparent; font-family: var(--jae-font-display); font-size: 150px; font-weight: 800; letter-spacing: -.08em; -webkit-text-stroke: 1px rgba(2,48,71,.14); transform: rotate(-6deg); }
.jae3-float { position: absolute; z-index: 4; min-height: 42px; display: inline-flex; align-items: center; gap: 9px; padding: 0 15px; color: var(--jae-navy); background: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.8); border-radius: 999px; box-shadow: 0 18px 45px rgba(2,48,71,.17); backdrop-filter: blur(15px); font-size: 11px; font-weight: 700; animation: jae-float 6s ease-in-out infinite; }
.jae3-float i { width: 7px; height: 7px; background: var(--jae-accent); border-radius: 50%; }
.jae3-float--one { top: 54px; left: -4px; }
.jae3-float--two { right: -26px; bottom: 120px; animation-delay: -2s; }
.jae3-float--three { bottom: 38px; left: 15px; animation-delay: -4s; }
@keyframes jae-float { 50% { transform: translateY(-10px) rotate(.8deg); } }

/* Marquee */
.jae3-marquee { position: relative; z-index: 3; overflow: hidden; color: #fff; background: var(--jae-navy); }
.jae3-marquee__track { width: max-content; min-height: 54px; display: flex; align-items: center; gap: 28px; animation: jae-marquee 28s linear infinite; }
.jae3-marquee__track span { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.jae3-marquee__track i { width: 6px; height: 6px; background: var(--jae-accent); border-radius: 50%; }
@keyframes jae-marquee { to { transform: translateX(-50%); } }

/* Manifesto */
.jae3-manifesto { position: relative; padding: 130px 0; background: #fff; }
.jae3-manifesto__grid { display: grid; grid-template-columns: 170px 1fr 270px; align-items: center; gap: 6vw; }
.jae3-manifesto__index { align-self: stretch; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; gap: 14px; color: var(--jae-muted); }
.jae3-manifesto__index span { color: var(--jae-accent); font-family: var(--jae-font-display); font-size: 20px; font-weight: 700; }
.jae3-manifesto__index i { height: 1px; align-self: center; background: var(--jae-line); }
.jae3-manifesto__index small { grid-column: 1/-1; align-self: end; font-size: 11px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.jae3-manifesto__copy h2 { max-width: 880px; margin: 22px 0 24px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: clamp(52px, 5.8vw, 88px); line-height: .98; letter-spacing: -.065em; }
.jae3-manifesto__copy p { max-width: 760px; margin: 0; color: var(--jae-muted); font-size: clamp(18px, 1.55vw, 23px); line-height: 1.6; }
.jae3-manifesto__orbit { position: relative; aspect-ratio: 1; display: grid; place-items: center; color: var(--jae-navy); border: 1px solid var(--jae-line); border-radius: 50%; animation: jae-spin-slow 24s linear infinite; }
.jae3-manifesto__orbit::before, .jae3-manifesto__orbit::after { content: ""; position: absolute; border: 1px solid var(--jae-line); border-radius: 50%; }
.jae3-manifesto__orbit::before { inset: 22px; }
.jae3-manifesto__orbit::after { inset: 52px; background: var(--jae-paper); }
.jae3-manifesto__orbit span { position: absolute; z-index: 2; padding: 6px 9px; background: #fff; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jae3-manifesto__orbit span:nth-child(1) { top: 4%; }
.jae3-manifesto__orbit span:nth-child(2) { right: -2%; bottom: 22%; }
.jae3-manifesto__orbit span:nth-child(3) { bottom: 10%; left: 0; }
.jae3-manifesto__orbit b { z-index: 2; width: 64px; height: 64px; display: grid; place-items: center; color: #fff; background: var(--jae-accent); border-radius: 50%; font-size: 24px; animation: jae-spin-reverse 24s linear infinite; }
@keyframes jae-spin-slow { to { transform: rotate(360deg); } }
@keyframes jae-spin-reverse { to { transform: rotate(-360deg); } }

/* Shared sections */
.jae3-section { position: relative; padding: 120px 0; }
.jae3-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; margin-bottom: 55px; }
.jae3-section-head h2 { max-width: 820px; margin: 20px 0 0; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: clamp(48px, 5vw, 72px); line-height: .98; letter-spacing: -.06em; }
.jae3-section-head > p, .jae3-section-head__aside { max-width: 420px; color: var(--jae-muted); font-size: 16px; line-height: 1.6; }
.jae3-section-head__aside p { margin: 0; }
.jae3-section-head--light h2 { color: #fff; }
.jae3-section-head--light > p, .jae3-section-head--light .jae3-section-head__aside { color: rgba(255,255,255,.62); }
.jae3-section-head--light .jae3-kicker { color: rgba(255,255,255,.62); }
.jae3-arrows { display: flex; gap: 8px; margin-top: 22px; }
.jae3-arrows button { width: 46px; height: 46px; display: grid; place-items: center; color: var(--jae-navy); background: rgba(255,255,255,.72); border: 1px solid var(--jae-line); border-radius: 50%; cursor: pointer; transition: color .25s, background .25s, border .25s, transform .25s; }
.jae3-arrows button:hover { color: #fff; background: var(--jae-accent); border-color: var(--jae-accent); transform: translateY(-3px); }
.jae3-arrows--dark button { color: #fff; background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.2); }

/* Ministries */
.jae3-ministries { background: var(--jae-paper); }
.jae3-ministries__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.jae3-ministry { --rx: 0deg; --ry: 0deg; position: relative; min-height: 520px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--dept) 86%, #fff), color-mix(in srgb, var(--dept) 76%, #000)); border: 1px solid rgba(255,255,255,.22); border-radius: var(--jae-radius); box-shadow: 0 16px 42px color-mix(in srgb, var(--dept) 18%, transparent); overflow: hidden; transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transform-style: preserve-3d; transition: transform .25s, box-shadow .45s var(--jae-ease); }
.jae3-ministry::before { content: ""; position: absolute; top: -90px; right: -90px; width: 280px; height: 280px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.04), 0 0 0 72px rgba(255,255,255,.025); transition: transform .8s var(--jae-ease); }
.jae3-ministry::after { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(180deg,#000,transparent 70%); }
.jae3-ministry:hover { box-shadow: 0 32px 72px color-mix(in srgb, var(--dept) 30%, transparent); }
.jae3-ministry:hover::before { transform: scale(1.18) translate(-15px,20px); }
.jae3-ministry__tag { position: relative; z-index: 3; width: fit-content; padding: 8px 11px; color: #fff; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.26); border-radius: 999px; backdrop-filter: blur(8px); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jae3-ministry__logo { position: relative; z-index: 2; height: 215px; display: grid; place-items: center; margin: 8px 0; }
.jae3-ministry__logo img { width: 78%; height: 78%; object-fit: contain; filter: brightness(0) invert(1); opacity: .9; transition: transform .7s var(--jae-ease), opacity .35s; }
.jae3-ministry:hover .jae3-ministry__logo img { opacity: 1; transform: scale(1.05) rotate(-2deg); }
.jae3-ministry > div:last-of-type { position: relative; z-index: 3; padding-right: 55px; }
.jae3-ministry h3 { margin: 0 0 9px; font-family: var(--jae-font-display); font-size: 27px; line-height: 1; letter-spacing: -.045em; }
.jae3-ministry p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.5; }
.jae3-ministry__arrow { position: absolute; right: 24px; bottom: 24px; z-index: 4; width: 46px; height: 46px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; transition: color .3s, background .3s, transform .4s var(--jae-ease); }
.jae3-ministry__arrow svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jae3-ministry:hover .jae3-ministry__arrow { color: var(--dept); background: #fff; transform: rotate(45deg); }

/* Resources */
.jae3-resources { background: linear-gradient(180deg,#eef3f3,#e5edef); }
.jae3-resource-track, .jae3-event-track, .jae3-product-track { display: grid; grid-auto-flow: column; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
.jae3-resource-track::-webkit-scrollbar, .jae3-event-track::-webkit-scrollbar, .jae3-product-track::-webkit-scrollbar { display: none; }
.jae3-resource-track { grid-auto-columns: minmax(290px, 330px); gap: 16px; padding: 5px 4px 34px; }
.jae3-resource { --rx: 0deg; --ry: 0deg; min-width: 0; overflow: hidden; background: rgba(255,255,255,.84); border: 1px solid rgba(2,48,71,.09); border-radius: var(--jae-radius); box-shadow: 0 16px 44px rgba(2,48,71,.08); scroll-snap-align: start; transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .25s, box-shadow .4s var(--jae-ease); }
.jae3-resource:hover { box-shadow: 0 30px 70px rgba(2,48,71,.16); }
.jae3-resource__cover { position: relative; height: 330px; display: block; overflow: hidden; margin: 10px; background: var(--jae-paper); border-radius: 19px; }
.jae3-resource__cover::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.35); border-radius: inherit; pointer-events: none; }
.jae3-resource__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s var(--jae-ease); }
.jae3-resource:hover .jae3-resource__cover img { transform: scale(1.045); }
.jae3-dept-tag { position: absolute; top: 14px; left: 14px; z-index: 3; padding: 8px 10px; color: #fff; background: var(--dept, var(--jae-navy)); border-radius: 999px; box-shadow: 0 8px 24px color-mix(in srgb, var(--dept, var(--jae-navy)) 30%, transparent); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.jae3-resource__body { padding: 12px 21px 22px; }
.jae3-resource__meta { display: flex; align-items: center; gap: 8px; color: var(--jae-muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jae3-resource__meta i { width: 4px; height: 4px; background: var(--jae-accent); border-radius: 50%; }
.jae3-resource h3 { margin: 12px 0 24px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: 20px; letter-spacing: -.035em; }
.jae3-resource h3 a { transition: color .25s; }
.jae3-resource h3 a:hover { color: var(--jae-accent); }
.jae3-download { display: flex; align-items: center; justify-content: space-between; padding-top: 15px; color: var(--jae-navy); border-top: 1px solid var(--jae-line); font-size: 12px; font-weight: 700; transition: color .25s; }
.jae3-download span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--jae-line); border-radius: 50%; transition: color .25s, background .25s, transform .3s; }
.jae3-download:hover { color: var(--jae-accent); }
.jae3-download:hover span { color: #fff; background: var(--jae-accent); border-color: var(--jae-accent); transform: translateY(3px); }
.jae3-resources__all { margin-top: 20px; }

/* Events */
.jae3-events { color: #fff; background: var(--jae-navy-deep); overflow: hidden; }
.jae3-events::before { content: ""; position: absolute; top: -300px; right: -180px; width: 720px; height: 720px; background: radial-gradient(circle,rgba(246,125,13,.15),transparent 68%); }
.jae3-event-track { position: relative; grid-auto-columns: minmax(340px, 410px); gap: 18px; padding-bottom: 12px; }
.jae3-event { overflow: hidden; color: var(--jae-ink); background: #fff; border-radius: var(--jae-radius); scroll-snap-align: start; box-shadow: 0 24px 70px rgba(0,0,0,.22); transition: transform .45s var(--jae-ease), box-shadow .45s; }
.jae3-event:hover { transform: translateY(-8px); box-shadow: 0 35px 90px rgba(0,0,0,.34); }
.jae3-event__image { position: relative; height: 430px; display: block; overflow: hidden; }
.jae3-event__image::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(1,31,45,.72)); }
.jae3-event__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--jae-ease); }
.jae3-event:hover .jae3-event__image img { transform: scale(1.045); }
.jae3-event__image time { position: absolute; right: 15px; bottom: 15px; z-index: 3; padding: 8px 10px; color: #fff; background: rgba(1,31,45,.66); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; backdrop-filter: blur(10px); font-size: 9px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.jae3-event__body { padding: 25px; }
.jae3-event__body > p { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--jae-muted); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.jae3-event__body > p i { width: 4px; height: 4px; background: var(--jae-accent); border-radius: 50%; }
.jae3-event h3 { min-height: 78px; margin: 14px 0 23px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: 23px; line-height: 1.12; letter-spacing: -.04em; }
.jae3-event h3 a { transition: color .25s; }
.jae3-event h3 a:hover { color: var(--jae-accent); }
.jae3-event__link { display: inline-flex; gap: 10px; color: var(--jae-navy); font-size: 12px; font-weight: 700; transition: color .25s; }
.jae3-event__link:hover { color: var(--jae-accent); }

/* Shop */
.jae3-shop { background: var(--jae-paper); }
.jae3-shop::before { content: ""; position: absolute; top: 210px; right: -150px; width: 520px; height: 520px; background: radial-gradient(circle,rgba(47,134,199,.14),transparent 68%); pointer-events: none; }
.jae3-shop__filters { display: flex; flex-wrap: wrap; gap: 8px; margin: -25px 0 42px; }
.jae3-shop__filters a { padding: 9px 14px; color: var(--jae-navy); background: #fff; border: 1px solid var(--jae-line); border-radius: 999px; font-size: 10px; font-weight: 700; transition: color .25s, background .25s, border .25s, transform .25s; }
.jae3-shop__filters a:hover { color: #fff; background: var(--jae-accent); border-color: var(--jae-accent); transform: translateY(-2px); }
.jae3-product-track { grid-auto-columns: minmax(260px, 292px); gap: 14px; padding: 5px 4px 34px; }
.jae3-product { --rx: 0deg; --ry: 0deg; position: relative; min-width: 0; padding: 9px 9px 18px; background: #fff; border: 1px solid rgba(2,48,71,.08); border-radius: 22px; box-shadow: 0 14px 38px rgba(2,48,71,.08); scroll-snap-align: start; transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .25s, box-shadow .4s var(--jae-ease); }
.jae3-product:hover { box-shadow: 0 28px 65px rgba(2,48,71,.16); }
.jae3-product__image { height: 310px; display: block; overflow: hidden; background: #f4f2ec; border-radius: 16px; }
.jae3-product__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .75s var(--jae-ease); }
.jae3-product:hover .jae3-product__image img { transform: scale(1.035); }
.jae3-product__actions { position: absolute; top: 18px; right: 18px; z-index: 5; display: grid; gap: 7px; opacity: 0; transform: translateX(12px); transition: opacity .3s, transform .4s var(--jae-ease); }
.jae3-product:hover .jae3-product__actions, .jae3-product:focus-within .jae3-product__actions { opacity: 1; transform: translateX(0); }
.jae3-product__actions a { position: relative; width: 38px; height: 38px; display: grid; place-items: center; color: var(--jae-navy); background: rgba(255,255,255,.94); border: 1px solid rgba(2,48,71,.1); border-radius: 50%; box-shadow: 0 8px 20px rgba(2,48,71,.1); font-size: 18px; transition: color .2s, background .2s, transform .25s; }
.jae3-product__actions a:hover { color: #fff; background: var(--jae-accent); transform: scale(1.08); }
.jae3-product__actions a::before { content: attr(data-tip); position: absolute; top: 50%; right: calc(100% + 9px); width: max-content; padding: 6px 8px; color: #fff; background: var(--jae-navy); border-radius: 7px; opacity: 0; pointer-events: none; transform: translate(5px,-50%); transition: opacity .2s, transform .2s; font-size: 9px; font-weight: 700; }
.jae3-product__actions a:hover::before { opacity: 1; transform: translate(0,-50%); }
.jae3-product__body { padding: 17px 9px 0; }
.jae3-product h3 { min-height: 44px; margin: 0 0 10px; font-family: var(--jae-font-display); font-size: 15px; line-height: 1.4; letter-spacing: -.02em; }
.jae3-product h3 a { transition: color .25s; }
.jae3-product h3 a:hover { color: var(--jae-accent); }
.jae3-product__body > span { color: var(--jae-navy); font-size: 14px; font-weight: 700; }
.jae3-shop__trust { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--jae-line); }
.jae3-shop__trust > span { display: grid; grid-template-columns: 40px 1fr; gap: 2px 12px; align-items: center; padding: 0 35px; border-right: 1px solid var(--jae-line); }
.jae3-shop__trust > span:last-child { border-right: 0; }
.jae3-shop__trust i { grid-row: 1/3; width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: var(--jae-accent); border-radius: 50%; font-style: normal; }
.jae3-shop__trust strong { color: var(--jae-navy); font-size: 12px; }
.jae3-shop__trust small { color: var(--jae-muted); font-size: 10px; }

/* Mission */
.jae3-mission { background: #fff; }
.jae3-mission__grid { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: clamp(60px,8vw,120px); }
.jae3-mission__copy h2 { max-width: 610px; margin: 23px 0 27px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: clamp(48px,5vw,74px); line-height: .98; letter-spacing: -.06em; }
.jae3-mission__copy p { max-width: 590px; margin: 0 0 35px; color: var(--jae-muted); font-size: 18px; line-height: 1.65; }
.jae3-mission__visual { position: relative; min-height: 650px; padding: 30px; }
.jae3-mission__visual::before { content: ""; position: absolute; inset: 60px 0 20px 70px; background: linear-gradient(145deg,#e4eef0,#c9dee5); border-radius: 48% 52% 30% 70% / 50% 38% 62% 50%; transform: rotate(-4deg); }
.jae3-mission__image { position: absolute; inset: 0 55px 0 45px; overflow: hidden; border: 8px solid #fff; border-radius: 140px 140px 28px 28px; box-shadow: var(--jae-shadow); }
.jae3-mission__image::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(1,31,45,.45)); }
.jae3-mission__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .9s var(--jae-ease); }
.jae3-mission__image:hover img { transform: scale(1.035); }
.jae3-play { position: absolute; top: 50%; left: 50%; z-index: 4; width: 78px; height: 78px; display: grid; place-items: center; padding-left: 5px; color: #fff; background: var(--jae-accent); border: 10px solid rgba(255,255,255,.85); border-radius: 50%; box-shadow: 0 18px 40px rgba(2,48,71,.25); transform: translate(-50%,-50%); transition: transform .35s, background .25s; }
.jae3-mission__image:hover .jae3-play { background: var(--jae-accent-dark); transform: translate(-50%,-50%) scale(1.08); }
.jae3-mission__float { position: absolute; z-index: 5; min-width: 190px; display: grid; grid-template-columns: 12px 1fr; gap: 2px 10px; padding: 15px 17px; background: rgba(255,255,255,.94); border: 1px solid rgba(2,48,71,.1); border-radius: 17px; box-shadow: 0 22px 50px rgba(2,48,71,.17); backdrop-filter: blur(14px); animation: jae-float 6.5s ease-in-out infinite; }
.jae3-mission__float i { grid-row: 1/3; width: 9px; height: 9px; margin-top: 4px; background: var(--jae-accent); border-radius: 50%; box-shadow: 0 0 0 5px rgba(246,125,13,.1); }
.jae3-mission__float span { color: var(--jae-muted); font-size: 10px; }
.jae3-mission__float strong { color: var(--jae-navy); font-size: 13px; }
.jae3-mission__float--one { top: 22%; left: -18px; }
.jae3-mission__float--two { right: 0; bottom: 15%; animation-delay: -3s; }

/* Team */
.jae3-team { background: var(--jae-paper); }
.jae3-team__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 40px; }
.jae3-person { position: relative; display: grid; padding: 9px 9px 20px; background: #fff; border: 1px solid rgba(2,48,71,.08); border-radius: 22px; box-shadow: 0 14px 38px rgba(2,48,71,.07); transition: transform .45s var(--jae-ease), box-shadow .45s; }
.jae3-person:hover { box-shadow: 0 28px 65px rgba(2,48,71,.15); transform: translateY(-7px); }
.jae3-person__image { aspect-ratio: .88/1; display: block; overflow: hidden; background: #eae9e5; border-radius: 16px; }
.jae3-person__image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .75s var(--jae-ease); }
.jae3-person:hover img { transform: scale(1.04); }
.jae3-person > span:nth-child(2) { display: grid; gap: 3px; padding: 17px 45px 0 10px; }
.jae3-person strong { color: var(--jae-navy); font-family: var(--jae-font-display); font-size: 15px; transition: color .25s; }
.jae3-person small { color: var(--jae-muted); font-size: 10px; transition: color .25s; }
.jae3-person > b { position: absolute; right: 18px; bottom: 21px; width: 30px; height: 30px; display: grid; place-items: center; color: var(--jae-navy); border: 1px solid var(--jae-line); border-radius: 50%; font-weight: 500; transition: color .25s, background .25s, transform .35s; }
.jae3-person:hover strong, .jae3-person:hover small { color: var(--jae-accent); }
.jae3-person:hover > b { color: #fff; background: var(--jae-accent); border-color: var(--jae-accent); transform: rotate(45deg); }

/* News */
.jae3-news { color: #fff; background: var(--jae-navy); }
.jae3-news__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.jae3-story { overflow: hidden; color: var(--jae-ink); background: #fff; border-radius: var(--jae-radius); box-shadow: 0 22px 60px rgba(0,0,0,.16); transition: transform .45s var(--jae-ease), box-shadow .45s; }
.jae3-story:hover { box-shadow: 0 34px 85px rgba(0,0,0,.28); transform: translateY(-8px); }
.jae3-story__image { position: relative; height: 420px; display: block; overflow: hidden; background: #f3f1eb; }
.jae3-story__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .8s var(--jae-ease); }
.jae3-story:hover .jae3-story__image img { transform: scale(1.025); }
.jae3-story__body { padding: 24px; }
.jae3-story__meta { display: flex; align-items: center; gap: 8px; color: var(--jae-muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.jae3-story__meta i { width: 4px; height: 4px; background: var(--jae-accent); border-radius: 50%; }
.jae3-story h3 { min-height: 78px; margin: 15px 0 24px; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: 22px; line-height: 1.18; letter-spacing: -.04em; }
.jae3-story h3 a { transition: color .25s; }
.jae3-story h3 a:hover { color: var(--jae-accent); }
.jae3-story__link { display: inline-flex; gap: 10px; color: var(--jae-navy); font-size: 12px; font-weight: 700; transition: color .25s; }
.jae3-story__link:hover { color: var(--jae-accent); }

/* Locator */
.jae3-locator { background: #fff; }
.jae3-locator__card { display: grid; grid-template-columns: 1.25fr .75fr; min-height: 650px; overflow: hidden; background: var(--jae-paper); border: 1px solid var(--jae-line); border-radius: var(--jae-radius-lg); box-shadow: var(--jae-shadow); }
.jae3-locator__map { min-width: 0; padding: 22px; }
.jae3-locator__map svg { width: 100%; height: 100%; }
.jae3-map-pin > circle:first-child { animation: jae-ping 2.8s ease-in-out infinite; }
.jae3-map-pin--two > circle:first-child { animation-delay: -.9s; }
.jae3-map-pin--three > circle:first-child { animation-delay: -1.7s; }
@keyframes jae-ping { 50% { transform: scale(1.25); opacity: .08; } }
.jae3-locator__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 65px; background: #fff; }
.jae3-locator__copy h2 { margin: 22px 0; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: clamp(42px,4.3vw,64px); line-height: 1; letter-spacing: -.06em; }
.jae3-locator__copy p { margin: 0 0 32px; color: var(--jae-muted); font-size: 17px; line-height: 1.6; }

/* Newsletter */
.jae3-newsletter { position: relative; overflow: hidden; color: #fff; background: linear-gradient(120deg,var(--jae-navy) 0%,#0b4e6b 100%); }
.jae3-newsletter::before { content: ""; position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size: 70px 70px; }
.jae3-newsletter__ring { position: absolute; top: -210px; right: 4%; width: 520px; height: 520px; border: 92px solid rgba(246,125,13,.9); border-radius: 50%; animation: jae-float 9s ease-in-out infinite; }
.jae3-newsletter__grid { position: relative; z-index: 2; min-height: 520px; display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: 8vw; padding-block: 80px; }
.jae3-newsletter h2 { margin: 22px 0 0; font-family: var(--jae-font-display); font-size: clamp(60px,7.2vw,102px); line-height: .9; letter-spacing: -.07em; }
.jae3-newsletter__form label { display: block; margin-bottom: 18px; color: rgba(255,255,255,.82); font-size: 18px; }
.jae3-newsletter__form > div { display: flex; padding: 6px; background: #fff; border-radius: 999px; box-shadow: 0 18px 45px rgba(0,0,0,.15); }
.jae3-newsletter__form input { min-width: 0; height: 52px; flex: 1; padding: 0 20px; color: var(--jae-ink); background: transparent; border: 0; outline: 0; }
.jae3-newsletter__form button { min-height: 52px; display: inline-flex; align-items: center; gap: 12px; padding: 0 22px; color: #fff; background: var(--jae-accent); border: 0; border-radius: 999px; cursor: pointer; font-size: 12px; font-weight: 700; transition: background .25s, transform .25s; }
.jae3-newsletter__form button:hover { background: var(--jae-accent-dark); transform: translateX(-2px); }
.jae3-newsletter__form small { display: block; margin: 13px 16px 0; color: rgba(255,255,255,.58); font-size: 10px; }
.jae3-newsletter__form output { display: block; min-height: 18px; margin: 9px 16px 0; color: #fff; font-size: 11px; }

/* Footer */
.jae3-footer { color: rgba(255,255,255,.6); background: var(--jae-navy-deep); }
.jae3-footer__top { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; padding: 75px 0 55px; }
.jae3-footer__brand img { width: 140px; max-height: 72px; object-fit: contain; object-position: left; }
.jae3-footer__brand p { max-width: 460px; margin: 25px 0 0; color: #fff; font-family: var(--jae-font-display); font-size: 21px; line-height: 1.4; }
.jae3-footer__social { display: flex; gap: 8px; }
.jae3-footer__social a { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; font-size: 14px; font-weight: 700; transition: color .25s, background .25s, border .25s, transform .25s; }
.jae3-footer__social a:hover { color: #fff; background: var(--jae-accent); border-color: var(--jae-accent); transform: translateY(-4px); }
.jae3-footer__links { display: grid; grid-template-columns: repeat(4,1fr); gap: 7vw; padding: 50px 0 70px; border-top: 1px solid rgba(255,255,255,.1); }
.jae3-footer__links h3 { margin: 0 0 20px; color: #fff; font-family: var(--jae-font-display); font-size: 13px; }
.jae3-footer__links a { position: relative; display: block; width: fit-content; margin: 11px 0; font-size: 12px; transition: color .2s, transform .25s; }
.jae3-footer__links a:hover { color: var(--jae-accent); transform: translateX(4px); }
.jae3-footer__bottom { position: relative; min-height: 76px; display: flex; align-items: center; gap: 30px; border-top: 1px solid rgba(255,255,255,.1); font-size: 9px; }
.jae3-footer__bottom span:nth-child(2) { margin-left: auto; }
.jae3-footer__bottom a { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; transition: background .25s, border .25s, transform .25s; }
.jae3-footer__bottom a:hover { background: var(--jae-accent); border-color: var(--jae-accent); transform: translateY(-3px); }

/* Mobile commerce bar */
.jae3-mobilebar { display: none; }

/* Motion */
.jae3-reveal { opacity: 0; transform: translateY(32px); transition: opacity .85s var(--jae-ease), transform .85s var(--jae-ease); }
.jae3-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1240px) {
  .jae3-shell { width: min(1180px, calc(100% - 44px)); }
  .jae3-header__main { grid-template-columns: 160px minmax(300px,500px) 180px; }
  .jae3-header__navrow { gap: 18px; }
  .jae3-category__button { min-width: 190px; padding-inline: 14px; }
  .jae3-nav > ul { gap: 12px; }
  .jae3-nav__item > a { font-size: 11px; }
  .jae3-nav__shop > a { padding-inline: 14px; }
  .jae3-ministry h3 { font-size: 24px; }
}

@media (max-width: 1080px) {
  .jae3-header__main { grid-template-columns: 120px minmax(280px,1fr) 170px; }
  .jae3-header__navwrap { display: none; }
  .jae3-hero { min-height: auto; }
  .jae3-hero__grid { grid-template-columns: 1fr 1fr; gap: 35px; padding-block: 65px; }
  .jae3-hero h1 { font-size: clamp(54px,6.5vw,72px); }
  .jae3-hero__visual { min-height: 520px; }
  .jae3-manifesto__grid { grid-template-columns: 100px 1fr 220px; gap: 4vw; }
  .jae3-ministries__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jae3-ministry { min-height: 490px; }
  .jae3-mission__grid { gap: 40px; }
  .jae3-mission__visual { min-height: 590px; }
  .jae3-person__image { aspect-ratio: .82/1; }
  .jae3-story__image { height: 340px; }
  .jae3-locator__card { grid-template-columns: 1fr; }
  .jae3-locator__map { min-height: 520px; }
  .jae3-locator__copy { padding: 55px; }
}

@media (max-width: 820px) {
  body { padding-bottom: 90px; }
  .jae3-shell { width: calc(100% - 32px); }
  .jae3-header__main { min-height: 72px; grid-template-columns: 78px minmax(0,1fr) auto; gap: 12px; }
  .jae3-logo { width: 70px; height: 46px; }
  .jae3-header__tools .jae3-tool:first-child { display: none; }
  .jae3-search { height: 44px; grid-template-columns: 18px minmax(0,1fr) 40px; padding-left: 13px; }
  .jae3-search > svg { width: 16px; }
  .jae3-search input { font-size: 12px; }
  .jae3-search > button { width: 38px; height: 36px; padding: 0; overflow: hidden; color: transparent; }
  .jae3-search > button::after { content: "↗"; display: grid; place-items: center; color: #fff; }
  .jae3-tool--cart { display: none; }
  .jae3-hero__grid { grid-template-columns: 1fr; padding-top: 70px; }
  .jae3-hero__copy { max-width: 680px; padding-left: 0; }
  .jae3-hero__visual { min-height: 600px; }
  .jae3-hero__image { left: 0; }
  .jae3-manifesto { padding: 100px 0; }
  .jae3-manifesto__grid { grid-template-columns: 1fr; }
  .jae3-manifesto__index { display: none; }
  .jae3-manifesto__orbit { width: 230px; justify-self: end; }
  .jae3-section { padding: 95px 0; }
  .jae3-section-head { align-items: flex-start; flex-direction: column; gap: 25px; margin-bottom: 42px; }
  .jae3-section-head__aside { max-width: 560px; }
  .jae3-team__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jae3-news__grid { grid-template-columns: 1fr; }
  .jae3-story { display: grid; grid-template-columns: .8fr 1.2fr; }
  .jae3-story__image { height: auto; min-height: 320px; }
  .jae3-story h3 { min-height: auto; }
  .jae3-mission__grid { grid-template-columns: 1fr; }
  .jae3-mission__copy { max-width: 680px; }
  .jae3-mission__visual { width: min(680px,100%); margin-inline: auto; }
  .jae3-shop__trust > span { padding-inline: 16px; }
  .jae3-newsletter__grid { grid-template-columns: 1fr; gap: 48px; min-height: 650px; }
  .jae3-newsletter__ring { right: -230px; }
  .jae3-footer__links { grid-template-columns: repeat(2,1fr); gap: 42px 25px; }
  .jae3-mobilebar { position: fixed; right: 10px; bottom: max(10px,env(safe-area-inset-bottom)); left: 10px; z-index: 220; min-height: 68px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 5px; background: rgba(255,255,255,.94); border: 1px solid var(--jae-line); border-radius: 22px; box-shadow: 0 20px 55px rgba(2,48,71,.25); backdrop-filter: blur(18px); }
  .jae3-mobilebar a { position: relative; min-width: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 3px; color: var(--jae-navy); border-radius: 16px; font-size: 9px; font-weight: 700; transition: color .2s, background .2s; }
  .jae3-mobilebar a:hover, .jae3-mobilebar a.is-current { color: #fff; background: var(--jae-navy); }
  .jae3-mobilebar a.is-current::before { content: ""; position: absolute; top: 4px; left: 50%; width: 6px; height: 6px; background: var(--jae-accent); border-radius: 50%; box-shadow: 0 0 0 4px rgba(246,125,13,.14); transform: translateX(-50%); }
  .jae3-mobilebar svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
}

@media (max-width: 560px) {
  .jae3-shell { width: calc(100% - 28px); }
  .jae3-header__main { grid-template-columns: 64px minmax(0,1fr); }
  .jae3-header__tools { display: none; }
  .jae3-logo { width: 62px; }
  .jae3-hero::before { top: -210px; left: -310px; }
  .jae3-hero__grid { gap: 30px; padding: 58px 0 42px; }
  .jae3-hero h1 { margin: 20px 0; font-size: clamp(46px,13vw,58px); }
  .jae3-hero__copy > p { font-size: 16px; }
  .jae3-hero__actions { align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 30px; }
  .jae3-hero__visual { min-height: 440px; }
  .jae3-hero__visual::before { inset: 50px -40px -20px 35px; }
  .jae3-hero__image { inset: 10px 0 10px; border-width: 5px; border-radius: 25px; transform: none; }
  .jae3-hero__image img { object-position: center; }
  .jae3-float { min-height: 36px; padding-inline: 12px; font-size: 9px; }
  .jae3-float--one { top: 25px; left: -3px; }
  .jae3-float--two { right: -7px; bottom: 70px; }
  .jae3-float--three { display: none; }
  .jae3-hero__number { display: none; }
  .jae3-marquee__track { min-height: 50px; gap: 22px; }
  .jae3-manifesto { padding: 85px 0; }
  .jae3-manifesto__copy h2 { font-size: 45px; }
  .jae3-manifesto__copy p { font-size: 17px; }
  .jae3-manifesto__orbit { width: 200px; justify-self: center; }
  .jae3-section { padding: 82px 0; }
  .jae3-section-head h2 { font-size: 42px; }
  .jae3-ministries__grid { display: flex; margin-right: -14px; padding-right: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .jae3-ministries__grid::-webkit-scrollbar { display: none; }
  .jae3-ministry { min-width: 82vw; min-height: 485px; scroll-snap-align: start; }
  .jae3-resource-track { grid-auto-columns: 79vw; }
  .jae3-event-track { grid-auto-columns: 84vw; }
  .jae3-event__image { height: 390px; }
  .jae3-product-track { grid-auto-columns: 74vw; }
  .jae3-product__image { height: 290px; }
  .jae3-product__actions { opacity: 1; transform: none; }
  .jae3-product__actions a::before { display: none; }
  .jae3-shop__trust { grid-template-columns: 1fr; gap: 18px; }
  .jae3-shop__trust > span { padding: 0; border: 0; }
  .jae3-mission__copy h2 { font-size: 43px; }
  .jae3-mission__copy p { font-size: 16px; }
  .jae3-mission__visual { min-height: 520px; padding: 0; }
  .jae3-mission__image { inset: 0 12px; border-radius: 100px 100px 24px 24px; }
  .jae3-mission__float { min-width: 170px; padding: 12px 14px; }
  .jae3-mission__float--one { top: 18%; left: -5px; }
  .jae3-mission__float--two { right: -5px; bottom: 10%; }
  .jae3-team__grid { grid-template-columns: 1fr 1fr; gap: 11px; }
  .jae3-person { padding: 7px 7px 15px; border-radius: 18px; }
  .jae3-person > span:nth-child(2) { padding: 12px 5px 0; }
  .jae3-person strong { font-size: 12px; }
  .jae3-person small { font-size: 9px; }
  .jae3-person > b { display: none; }
  .jae3-story { display: block; }
  .jae3-story__image { height: 350px; }
  .jae3-locator__card { width: calc(100% - 20px); min-height: 0; }
  .jae3-locator__map { min-height: 390px; padding: 8px; }
  .jae3-locator__copy { margin: -55px 12px 12px; padding: 32px 23px; border-radius: 23px; box-shadow: 0 20px 45px rgba(2,48,71,.12); }
  .jae3-locator__copy h2 { font-size: 40px; }
  .jae3-newsletter__grid { min-height: 620px; padding-block: 72px; }
  .jae3-newsletter h2 { font-size: 56px; }
  .jae3-newsletter__form > div { flex-direction: column; gap: 10px; padding: 0; background: transparent; box-shadow: none; }
  .jae3-newsletter__form input { height: 56px; background: #fff; border-radius: 999px; }
  .jae3-newsletter__form button { justify-content: center; }
  .jae3-newsletter__ring { top: -160px; right: -250px; width: 440px; height: 440px; border-width: 75px; }
  .jae3-footer__top { grid-template-columns: 1fr; padding-top: 60px; }
  .jae3-footer__brand p { font-size: 18px; }
  .jae3-footer__links { grid-template-columns: 1fr 1fr; gap: 35px 18px; }
  .jae3-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 6px; padding-block: 23px; }
  .jae3-footer__bottom span:nth-child(2) { margin-left: 0; }
  .jae3-footer__bottom a { position: absolute; right: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .jae3-reveal { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   WordPress / Elementor / Ecomus integration
   Everything below is scoped to the current JAE homepage body class.
   -------------------------------------------------------------------------- */

html.jae3-html-live { overflow-x: clip; }
body.jae3-active { color: var(--jae-ink); background: var(--jae-paper); font-family: var(--jae-font-body); overflow-x: clip; }
body.jae3-active .jae3-original-hidden { display: none !important; }
body.jae3-active .jae3-live-section { width: 100%; }

/* Native header: retain all Ecomus links, AJAX search and cart behaviour. */
body.jae3-active .site-header,
body.jae3-active header.site-header,
body.jae3-active #site-header {
  position: relative !important;
  z-index: 999 !important;
  overflow: visible !important;
  background: rgba(255,255,255,.94) !important;
  border-bottom-color: rgba(2,48,71,.1) !important;
  backdrop-filter: blur(20px) saturate(1.2);
  transition: background .35s, box-shadow .35s;
}

body.jae3-active .site-header .header-bottom,
body.jae3-active .site-header .header-navigation,
body.jae3-active .site-header .header-menu,
body.jae3-active .site-header .main-navigation,
body.jae3-active .site-header .primary-menu {
  position: relative;
  z-index: 999;
  overflow: visible !important;
}

body.jae3-active .site-header.jae3-header-scrolled,
body.jae3-active header.site-header.jae3-header-scrolled,
body.jae3-active #site-header.jae3-header-scrolled {
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 16px 45px rgba(2,48,71,.11);
}

body.jae3-active .site-branding,
body.jae3-active .header-logo,
body.jae3-active .header-logo__link { position: relative; }

body.jae3-active .site-branding img.logo-dark,
body.jae3-active .header-logo img.logo-dark {
  opacity: 1 !important;
  transition: opacity .35s, transform .45s var(--jae-ease);
}

body.jae3-active .site-branding img.logo-light,
body.jae3-active .header-logo img.logo-light { opacity: 0 !important; }

body.jae3-active .jae3-native-logo-color {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  transform: scale(.88) rotate(-4deg);
  transition: opacity .35s, transform .5s var(--jae-ease);
}

body.jae3-active .site-branding:hover img.logo-dark,
body.jae3-active .header-logo:hover img.logo-dark { opacity: 0 !important; transform: scale(.92); }
body.jae3-active .site-branding:hover .jae3-native-logo-color,
body.jae3-active .header-logo:hover .jae3-native-logo-color { opacity: 1; transform: scale(1) rotate(0); }

body.jae3-active .header-search,
body.jae3-active .header-search__form,
body.jae3-active .em-instant-search {
  border-color: rgba(2,48,71,.13) !important;
  border-radius: 999px !important;
  background: var(--jae-paper) !important;
  transition: border .25s, background .25s, box-shadow .25s !important;
}

body.jae3-active .header-search:focus-within,
body.jae3-active .header-search__form:focus-within,
body.jae3-active .em-instant-search:focus-within {
  border-color: rgba(2,48,71,.32) !important;
  background: #fff !important;
  box-shadow: 0 0 0 5px rgba(2,48,71,.06), 0 15px 35px rgba(2,48,71,.08) !important;
}

body.jae3-active .header-search__field,
body.jae3-active .em-instant-search__field {
  color: var(--jae-ink) !important;
  background: transparent !important;
  font-family: var(--jae-font-body) !important;
}

body.jae3-active .header-search__button {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  color: #fff !important;
  background: var(--jae-navy) !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 22px rgba(2,48,71,.18);
  transition: color .25s, background .25s, transform .25s !important;
}

body.jae3-active .header-search__button:hover {
  color: #fff !important;
  background: var(--jae-accent) !important;
  transform: scale(1.05);
}

body.jae3-active .header-search__button svg,
body.jae3-active .header-search__icon svg { width: 18px !important; height: 18px !important; }

body.jae3-active .header-account__icon-text,
body.jae3-active .header-cart__icon,
body.jae3-active .header-search__icon {
  color: var(--jae-navy) !important;
  border-radius: 999px !important;
  transition: color .25s, background .25s, transform .25s !important;
}

body.jae3-active .header-account__icon-text:hover,
body.jae3-active .header-cart__icon:hover,
body.jae3-active .header-search__icon:hover {
  color: var(--jae-accent) !important;
  background: rgba(246,125,13,.08) !important;
  transform: translateY(-2px);
}

body.jae3-active .header-account__icon-text svg,
body.jae3-active .header-cart__icon svg { width: 21px !important; height: 21px !important; stroke-width: 1.7; }

body.jae3-active .header-category__title-button,
body.jae3-active .header-category__button {
  color: #fff !important;
  background: var(--jae-navy) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(2,48,71,.15);
  transition: background .3s, box-shadow .3s, transform .3s var(--jae-ease) !important;
}

body.jae3-active .header-category__title-button:hover,
body.jae3-active .header-category:hover .header-category__title-button,
body.jae3-active .header-category__button:hover {
  color: #fff !important;
  background: var(--jae-accent) !important;
  box-shadow: 0 14px 30px rgba(246,125,13,.25);
  transform: translateY(-2px);
}

body.jae3-active .primary-menu > li > a,
body.jae3-active .main-navigation > ul > li > a {
  position: relative;
  color: var(--jae-navy) !important;
  font-family: var(--jae-font-body) !important;
  font-weight: 700 !important;
}

body.jae3-active .primary-menu > li:not(.menu-button) > a::after,
body.jae3-active .main-navigation > ul > li:not(.menu-button) > a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  height: 2px;
  background: var(--jae-accent);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--jae-ease);
}

body.jae3-active .primary-menu > li:hover > a,
body.jae3-active .primary-menu > li:focus-within > a,
body.jae3-active .main-navigation > ul > li:hover > a { color: var(--jae-accent) !important; }

body.jae3-active .primary-menu > li:hover > a::after,
body.jae3-active .primary-menu > li:focus-within > a::after,
body.jae3-active .main-navigation > ul > li:hover > a::after { transform: scaleX(1); transform-origin: left; }

body.jae3-active .menu-button.tienda-icono > a {
  color: #fff !important;
  background: var(--jae-accent) !important;
  border-radius: 999px !important;
  box-shadow: 0 11px 28px rgba(246,125,13,.22);
  transition: background .25s, box-shadow .3s, transform .3s !important;
}

body.jae3-active .menu-button.tienda-icono > a svg,
body.jae3-active .menu-button.tienda-icono > a .ecomus-svg-icon { color: #fff !important; fill: #fff !important; stroke: #fff !important; }
body.jae3-active .menu-button.tienda-icono:hover > a { color: #fff !important; background: var(--jae-accent-dark) !important; box-shadow: 0 16px 36px rgba(246,125,13,.3); transform: translateY(-2px); }

/* Native mega menus: no hover gap and no viewport overflow. */
body.jae3-active .primary-menu > li.jae3-has-native-mega { position: relative !important; }
body.jae3-active .primary-menu > li.jae3-has-native-mega > .sub-menu.jae3-native-mega {
  z-index: 1200 !important;
  top: 100% !important;
  right: auto !important;
  left: -18px !important;
  width: min(720px, calc(100vw - 56px)) !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 290px;
  gap: 6px !important;
  margin: 0 !important;
  padding: 14px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid var(--jae-line) !important;
  border-radius: 0 0 24px 24px !important;
  box-shadow: 0 32px 80px rgba(2,48,71,.2) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
  transition: opacity .25s, visibility .25s, transform .4s var(--jae-ease) !important;
}

body.jae3-active .primary-menu > li.jae3-has-native-mega > .sub-menu.jae3-native-mega::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 16px;
}

body.jae3-active .primary-menu > li.jae3-has-native-mega:hover > .sub-menu.jae3-native-mega,
body.jae3-active .primary-menu > li.jae3-has-native-mega:focus-within > .sub-menu.jae3-native-mega {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

body.jae3-active .jae3-native-mega > li:not(.jae3-native-mega-media) { width: auto !important; }
body.jae3-active .jae3-native-mega > li:not(.jae3-native-mega-media) > a {
  min-height: 70px;
  display: flex !important;
  align-items: center;
  padding: 13px !important;
  color: var(--jae-navy) !important;
  border-radius: 14px;
  font-weight: 700;
  transition: color .2s, background .2s, transform .25s !important;
}
body.jae3-active .jae3-native-mega > li:not(.jae3-native-mega-media) > a::before { content: ""; width: 8px; height: 8px; flex: 0 0 auto; margin-right: 10px; background: var(--dept-color,var(--jae-blue)); border-radius: 50%; box-shadow: 0 0 0 5px color-mix(in srgb,var(--dept-color,var(--jae-blue)) 12%,transparent); }
body.jae3-active .jae3-native-mega > li:nth-child(1) { --dept-color: var(--dept-explorers); }
body.jae3-active .jae3-native-mega > li:nth-child(2) { --dept-color: var(--dept-pioneers); }
body.jae3-active .jae3-native-mega > li:nth-child(3) { --dept-color: var(--dept-youth); }
body.jae3-active .jae3-native-mega > li:nth-child(4) { --dept-color: var(--dept-guides); }
body.jae3-active .jae3-native-mega > li:not(.jae3-native-mega-media) > a:hover { color: var(--jae-accent) !important; background: var(--jae-paper) !important; transform: translateX(3px); }

body.jae3-active .jae3-native-mega-media { grid-column: 3; grid-row: 1 / span 2; min-width: 0; }
body.jae3-active .jae3-native-mega-media > a { position: relative; width: 100%; height: 100%; min-height: 290px; display: block !important; overflow: hidden; padding: 0 !important; border-radius: 18px; }
body.jae3-active .jae3-native-mega-media > a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(1,31,45,.03),rgba(1,31,45,.88)); }
body.jae3-active .jae3-native-mega-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--jae-ease); }
body.jae3-active .jae3-native-mega-media:hover img { transform: scale(1.055); }
body.jae3-active .jae3-native-mega-media__copy { position: absolute; right: 21px; bottom: 21px; left: 21px; z-index: 2; display: grid; color: #fff; }
body.jae3-active .jae3-native-mega-media__copy small { color: rgba(255,255,255,.7); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
body.jae3-active .jae3-native-mega-media__copy strong { margin: 7px 0 12px; font-family: var(--jae-font-display); font-size: 31px; line-height: .95; letter-spacing: -.05em; }
body.jae3-active .jae3-native-mega-media__copy em { width: fit-content; font-size: 10px; font-style: normal; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.5); }

body.jae3-active .primary-menu > li.jae3-has-native-mega.jae3-about-mega > .sub-menu.jae3-native-mega {
  right: -130px !important;
  left: auto !important;
  width: min(520px, calc(100vw - 56px)) !important;
  grid-template-columns: 1fr 235px;
}
body.jae3-active .jae3-about-mega .jae3-native-mega-media { grid-column: 2; grid-row: 1; }
body.jae3-active .jae3-about-mega .jae3-native-mega-media > a { min-height: 220px; }

/* Rebuilt Elementor regions use V3 semantic sections while their source blocks stay editable. */
body.jae3-active .jae3-hero,
body.jae3-active .jae3-manifesto,
body.jae3-active .jae3-section,
body.jae3-active .jae3-newsletter,
body.jae3-active .jae3-footer { font-family: var(--jae-font-body); }

/* Native WooCommerce carousel: retain Swiper and all four Ecomus actions. */
body.jae3-active .elementor-6109 .elementor-element.elementor-element-68dff9a1.jae3-live-shop {
  position: relative;
  padding: 120px max(28px,calc((100vw - 1320px)/2)) !important;
  background: var(--jae-paper) !important;
  overflow: hidden;
}
body.jae3-active .jae3-live-shop::before { content: ""; position: absolute; top: 180px; right: -160px; width: 520px; height: 520px; background: radial-gradient(circle,rgba(47,134,199,.14),transparent 68%); pointer-events: none; }
body.jae3-active .jae3-live-shop .ecomus-products-carousel__heading { position: relative; z-index: 2; align-items: flex-end !important; margin-bottom: 14px !important; }
body.jae3-active .jae3-live-shop .ecomus-products-carousel__title { color: var(--jae-navy) !important; font-family: var(--jae-font-display) !important; font-size: clamp(48px,5vw,72px) !important; font-weight: 750 !important; letter-spacing: -.06em !important; }
body.jae3-active .jae3-live-shop .ecomus-products-carousel__title a { color: inherit !important; transition: color .25s; }
body.jae3-active .jae3-live-shop .ecomus-products-carousel__title a:hover { color: var(--jae-accent) !important; }
body.jae3-active .jae3-live-shop-intro { position: relative; z-index: 2; max-width: 680px; margin-bottom: 38px; }
body.jae3-active .jae3-live-shop-intro > p { margin: 0 0 22px; color: var(--jae-muted); font-size: 16px; line-height: 1.6; }
body.jae3-active .jae3-live-shop-filters { display: flex; flex-wrap: wrap; gap: 8px; }
body.jae3-active .jae3-live-shop-filters a { padding: 9px 14px; color: var(--jae-navy); background: #fff; border: 1px solid var(--jae-line); border-radius: 999px; font-size: 10px; font-weight: 700; transition: color .25s, background .25s, border .25s, transform .25s; }
body.jae3-active .jae3-live-shop-filters a:hover { color: #fff; background: var(--jae-accent); border-color: var(--jae-accent); transform: translateY(-2px); }
body.jae3-active .jae3-live-shop .product { min-width: 0; padding: 9px 9px 18px !important; background: #fff !important; border: 1px solid rgba(2,48,71,.08) !important; border-radius: 22px !important; box-shadow: 0 14px 38px rgba(2,48,71,.08); transition: transform .42s var(--jae-ease), box-shadow .42s !important; }
body.jae3-active .jae3-live-shop .product:hover { box-shadow: 0 28px 65px rgba(2,48,71,.16); transform: translateY(-7px); }
body.jae3-active .jae3-live-shop .product-thumbnail { overflow: hidden; background: #f4f2ec !important; border-radius: 16px !important; }
body.jae3-active .jae3-live-shop .product-thumbnail img { object-fit: contain !important; transition: transform .75s var(--jae-ease) !important; }
body.jae3-active .jae3-live-shop .product:hover .product-thumbnail img { transform: scale(1.035); }
body.jae3-active .jae3-live-shop .product-featured-icons { display: flex !important; gap: 7px !important; opacity: 0; transform: translateX(12px); transition: opacity .3s, transform .4s var(--jae-ease) !important; }
body.jae3-active .jae3-live-shop .product:hover .product-featured-icons,
body.jae3-active .jae3-live-shop .product:focus-within .product-featured-icons { opacity: 1; transform: translateX(0); }
body.jae3-active .jae3-live-shop .product-loop-button { color: var(--jae-navy) !important; background: rgba(255,255,255,.96) !important; border-color: rgba(2,48,71,.1) !important; box-shadow: 0 8px 20px rgba(2,48,71,.1); }
body.jae3-active .jae3-live-shop .product-loop-button:hover { color: #fff !important; background: var(--jae-accent) !important; border-color: var(--jae-accent) !important; transform: scale(1.08); }
body.jae3-active .jae3-live-shop .woocommerce-loop-product__title a { color: var(--jae-navy) !important; transition: color .25s; }
body.jae3-active .jae3-live-shop .woocommerce-loop-product__title a:hover { color: var(--jae-accent) !important; }
body.jae3-active .jae3-live-shop .price { color: var(--jae-navy) !important; font-weight: 700 !important; }
body.jae3-active .jae3-live-shop-trust { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 45px; padding-top: 28px; border-top: 1px solid var(--jae-line); }
body.jae3-active .jae3-live-shop-trust > span { display: grid; grid-template-columns: 40px 1fr; gap: 2px 12px; align-items: center; padding: 0 35px; border-right: 1px solid var(--jae-line); }
body.jae3-active .jae3-live-shop-trust > span:last-child { border-right: 0; }
body.jae3-active .jae3-live-shop-trust i { grid-row: 1/3; width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: var(--jae-accent); border-radius: 50%; font-style: normal; }
body.jae3-active .jae3-live-shop-trust strong { color: var(--jae-navy); font-size: 12px; }
body.jae3-active .jae3-live-shop-trust small { color: var(--jae-muted); font-size: 10px; }

/* Native video inside rebuilt mission composition. */
body.jae3-active .jae3-mission__image .ecomus-video-popup { position: absolute !important; inset: 0; width: 100%; height: 100%; border-radius: 0 !important; }
body.jae3-active .jae3-mission__image .ecomus-video-popup__featured-image { position: absolute !important; inset: 0; width: 100%; height: 100%; background-size: cover !important; background-position: center !important; }
body.jae3-active .jae3-mission__image .ecomus-video-popup__button { z-index: 4 !important; color: #fff !important; background: var(--jae-accent) !important; border: 10px solid rgba(255,255,255,.85) !important; box-shadow: 0 18px 40px rgba(2,48,71,.25); }

/* Native team. */
body.jae3-active .elementor-6109 .elementor-element.elementor-element-519610dc.jae3-live-team {
  padding: 120px max(28px,calc((100vw - 1320px)/2)) !important;
  background: var(--jae-paper) !important;
}
body.jae3-active .jae3-live-team .ecomus-heading { color: var(--jae-navy) !important; font-family: var(--jae-font-display) !important; font-size: clamp(48px,5vw,72px) !important; letter-spacing: -.06em !important; }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__item { padding: 9px 9px 20px !important; background: #fff !important; border: 1px solid rgba(2,48,71,.08); border-radius: 22px !important; box-shadow: 0 14px 38px rgba(2,48,71,.07); transition: transform .45s var(--jae-ease), box-shadow .45s !important; }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__item:hover { box-shadow: 0 28px 65px rgba(2,48,71,.15); transform: translateY(-7px); }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__link,
body.jae3-active .jae3-live-team .ecomus-image-box-grid__image { overflow: hidden; border-radius: 16px !important; }
body.jae3-active .jae3-live-team img { transition: transform .75s var(--jae-ease); }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__item:hover img { transform: scale(1.04); }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__title { color: var(--jae-navy) !important; transition: color .25s; }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__item:hover .ecomus-image-box-grid__title,
body.jae3-active .jae3-live-team .ecomus-image-box-grid__title:hover { color: var(--jae-accent) !important; }
body.jae3-active .jae3-live-team .ecomus-button { color: var(--jae-navy) !important; border: 1px solid rgba(2,48,71,.24) !important; border-radius: 999px !important; }
body.jae3-active .jae3-live-team .ecomus-button { background: transparent !important; }
body.jae3-active .jae3-live-team .ecomus-button:hover { color: #fff !important; background: var(--jae-accent) !important; border-color: var(--jae-accent) !important; }

/* Native news. */
body.jae3-active .elementor-6109 .elementor-element.elementor-element-47250edf.jae3-live-news {
  padding: 120px max(28px,calc((100vw - 1320px)/2)) !important;
  color: #fff;
  background: var(--jae-navy) !important;
}
body.jae3-active .jae3-live-news .ecomus-heading { color: #fff !important; font-family: var(--jae-font-display) !important; font-size: clamp(48px,5vw,72px) !important; letter-spacing: -.06em !important; }
body.jae3-active .jae3-live-news .swiper-slide { overflow: hidden; color: var(--jae-ink); background: #fff; border-radius: var(--jae-radius) !important; box-shadow: 0 22px 60px rgba(0,0,0,.16); transition: transform .45s var(--jae-ease), box-shadow .45s !important; }
body.jae3-active .jae3-live-news .swiper-slide:hover { box-shadow: 0 34px 85px rgba(0,0,0,.28); transform: translateY(-8px); }
body.jae3-active .jae3-live-news .entry-header,
body.jae3-active .jae3-live-news .post-thumbnail { min-height: 390px; background: #f3f1eb; }
body.jae3-active .jae3-live-news .entry-header img,
body.jae3-active .jae3-live-news .post-thumbnail img { width: 100%; height: 100%; object-fit: contain !important; transition: transform .8s var(--jae-ease); }
body.jae3-active .jae3-live-news .swiper-slide:hover img { transform: scale(1.025); }
body.jae3-active .jae3-live-news .entry-summary { padding: 24px !important; }
body.jae3-active .jae3-live-news-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--jae-muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
body.jae3-active .jae3-live-news-meta i { width: 4px; height: 4px; background: var(--jae-accent); border-radius: 50%; }
body.jae3-active .jae3-live-news .entry-title,
body.jae3-active .jae3-live-news .entry-title a { color: var(--jae-navy) !important; font-family: var(--jae-font-display) !important; transition: color .25s; }
body.jae3-active .jae3-live-news .entry-title a:hover { color: var(--jae-accent) !important; }
body.jae3-active .jae3-live-news .entry-read-more a { color: var(--jae-navy) !important; transition: color .25s; }
body.jae3-active .jae3-live-news .entry-read-more a:hover { color: var(--jae-accent) !important; }
body.jae3-active .jae3-live-news .em-button-category { color: #fff !important; background: var(--dept-color,var(--jae-blue)) !important; border-radius: 999px !important; }
body.jae3-active .jae3-live-news .swiper-slide:nth-child(1) { --dept-color: var(--dept-youth); }
body.jae3-active .jae3-live-news .swiper-slide:nth-child(2) { --dept-color: var(--dept-explorers); }
body.jae3-active .jae3-live-news .swiper-slide:nth-child(3) { --dept-color: var(--dept-pioneers); }

/* Native footer content, restored to the richer previous composition. */
body.jae3-active .elementor-element-bb5ff82.jae3-live-footer,
body.jae3-active .elementor-element-25bbb92.jae3-live-footer-bottom {
  color: rgba(255,255,255,.62) !important;
  background: var(--jae-navy-deep) !important;
}
body.jae3-active .elementor-element-bb5ff82.jae3-live-footer { padding-top: 75px !important; padding-bottom: 65px !important; }
body.jae3-active .jae3-live-footer h1,
body.jae3-active .jae3-live-footer h2,
body.jae3-active .jae3-live-footer h3,
body.jae3-active .jae3-live-footer h4,
body.jae3-active .jae3-live-footer h5,
body.jae3-active .jae3-live-footer h6,
body.jae3-active .jae3-live-footer a { color: #fff !important; }
body.jae3-active .jae3-live-footer a { transition: color .2s, transform .25s !important; }
body.jae3-active .jae3-live-footer a:hover { color: var(--jae-accent) !important; transform: translateX(3px); }
body.jae3-active .jae3-live-footer .ecomus-social-icons__item { width: 44px !important; height: 44px !important; display: grid !important; place-items: center; color: #fff !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 50% !important; transition: color .25s, background .25s, border .25s, transform .25s !important; }
body.jae3-active .jae3-live-footer .ecomus-social-icons__item:hover { color: #fff !important; background: var(--jae-accent) !important; border-color: var(--jae-accent) !important; transform: translateY(-4px); }
body.jae3-active .elementor-element-25bbb92.jae3-live-footer-bottom { border-top: 1px solid rgba(255,255,255,.1) !important; }

body.jae3-active .jae3-newsletter h2 { color: #fff !important; }
body.jae3-active .jae3-newsletter label,
body.jae3-active .jae3-newsletter small,
body.jae3-active .jae3-newsletter output { color: rgba(255,255,255,.78) !important; }

/* The previous timed newsletter modal duplicates the new editorial section. */
body.jae3-active #ecomus_popup_4719 { display: none !important; }

/* Native mobile commerce bar: preserve its five Ecomus functions. */
body.jae3-active .ecomus-mobile-navigation-bar.jae3-native-mobilebar {
  right: 10px !important;
  bottom: max(10px,env(safe-area-inset-bottom)) !important;
  left: 10px !important;
  width: auto !important;
  min-height: 68px;
  display: none !important;
  grid-template-columns: repeat(5,minmax(0,1fr));
  padding: 5px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid var(--jae-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 55px rgba(2,48,71,.25) !important;
  backdrop-filter: blur(18px);
}
body.jae3-active .jae3-native-mobilebar .ecomus-mobile-navigation-bar__item {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch;
  border-radius: 16px;
}
body.jae3-active .jae3-native-mobilebar .ecomus-mobile-navigation-bar__icon {
  min-height: 56px;
  width: 100% !important;
  padding: 0 !important;
  color: var(--jae-navy) !important;
  border-radius: 16px;
  transition: color .2s, background .2s;
}
body.jae3-active .jae3-native-mobilebar .ecomus-mobile-navigation-bar__item:hover .ecomus-mobile-navigation-bar__icon,
body.jae3-active .jae3-native-mobilebar .ecomus-mobile-navigation-bar__item.is-current .ecomus-mobile-navigation-bar__icon { color: #fff !important; background: var(--jae-navy) !important; }

@media (max-width: 1199px) {
  body.jae3-active .primary-menu > li.jae3-has-native-mega > .sub-menu.jae3-native-mega { width: min(650px,calc(100vw - 40px)) !important; grid-template-columns: 1fr 1fr 255px; }
}

@media (max-width: 767px) {
  body.jae3-active { padding-bottom: 92px; }
  body.jae3-active .ecomus-mobile-navigation-bar.jae3-native-mobilebar { display: grid !important; }
  body.jae3-active .primary-menu > li.jae3-has-native-mega > .sub-menu.jae3-native-mega,
  body.jae3-active .jae3-native-mega-media { display: none !important; }
  body.jae3-active .elementor-6109 .elementor-element.elementor-element-68dff9a1.jae3-live-shop,
  body.jae3-active .elementor-6109 .elementor-element.elementor-element-519610dc.jae3-live-team,
  body.jae3-active .elementor-6109 .elementor-element.elementor-element-47250edf.jae3-live-news { padding: 85px 20px !important; }
  body.jae3-active .jae3-live-shop .product-featured-icons { opacity: 1; transform: none; }
  body.jae3-active .jae3-live-shop-trust { grid-template-columns: 1fr; gap: 17px; }
  body.jae3-active .jae3-live-shop-trust > span { padding: 0; border: 0; }
  body.jae3-active .jae3-live-news .entry-header,
  body.jae3-active .jae3-live-news .post-thumbnail { min-height: 330px; }
}

/* --------------------------------------------------------------------------
   V3.1 refinement layer — 24 Jun 2026
   -------------------------------------------------------------------------- */
:root { --dept-pioneers: #7656d6; }
.jae3-icon { width: 1.35em; height: 1.35em; flex: 0 0 auto; }
.jae3-icon-fill { fill: currentColor; stroke: none; }

/* Native preset search: visible on focus before a query, while preserving AJAX. */
body.jae3-active .header-search__form { position: relative; }
body.jae3-active .header-search__products-suggest {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1400 !important;
  display: block !important;
  max-height: min(480px,70vh);
  padding: 10px !important;
  overflow: auto;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid var(--jae-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 28px 75px rgba(2,48,71,.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(9px) !important;
  transition: opacity .2s, visibility .2s, transform .3s var(--jae-ease) !important;
}
body.jae3-active .header-search__form.jae3-suggest-open .header-search__products-suggest {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
body.jae3-active .header-search__products-suggest ul { display: grid; gap: 5px; margin: 0 !important; padding: 0 !important; }
body.jae3-active .header-search__products-suggest li { min-height: 66px; align-items: center; gap: 12px; padding: 8px !important; border-radius: 13px; transition: background .2s, transform .25s; }
body.jae3-active .header-search__products-suggest li:hover { background: var(--jae-paper); transform: translateX(3px); }
body.jae3-active .header-search__products-suggest .suggest-list__image { width: 50px; height: 50px; flex: 0 0 50px; overflow: hidden; background: #f3f1ea; border-radius: 10px; }
body.jae3-active .header-search__products-suggest img { width: 100%; height: 100%; object-fit: contain; }
body.jae3-active .header-search__products-suggest .suggest-list__title a { color: var(--jae-navy) !important; font-size: 12px; font-weight: 700; }
body.jae3-active .header-search__products-suggest .suggest-list__price { margin-top: 3px; color: var(--jae-accent); font-size: 11px; font-weight: 700; }
body.jae3-active .header-search__button svg { width: 19px !important; height: 19px !important; display: block !important; color: #fff !important; fill: currentColor !important; }

/* Native category directory with original images and all subcategories. */
body.jae3-active .header-category-menu.jae3-native-categories { position: relative; z-index: 1300; }
body.jae3-active .jae3-native-categories .header-category__content {
  top: 100% !important;
  left: 0 !important;
  width: 365px !important;
  display: block !important;
  padding: 12px !important;
  overflow: visible !important;
  background: rgba(255,255,255,.99) !important;
  border: 1px solid var(--jae-line) !important;
  border-radius: 0 0 22px 22px !important;
  box-shadow: 0 28px 72px rgba(2,48,71,.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition: opacity .2s, visibility .2s, transform .3s var(--jae-ease) !important;
}
body.jae3-active .jae3-native-categories.is-open .header-category__content,
body.jae3-active .jae3-native-categories:hover .header-category__content,
body.jae3-active .jae3-native-categories:focus-within .header-category__content { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: translateY(0) !important; }
body.jae3-active .jae3-native-categories .header-category__content::before { content: ""; position: absolute; right: 0; bottom: 100%; left: 0; height: 14px; }
body.jae3-active .jae3-native-categories .header-category__menu > ul { margin: 0 !important; padding: 0 !important; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li { position: relative !important; width: 100% !important; min-height: 67px; border-bottom: 1px solid rgba(2,48,71,.09); }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li:last-child { border-bottom: 0; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li > a { min-height: 67px; display: flex !important; align-items: center; gap: 13px; padding: 8px 36px 8px 8px !important; color: var(--jae-navy) !important; border-radius: 13px; font-size: 13px; font-weight: 700; transition: color .2s, background .2s, transform .25s !important; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li.menu-item-has-children > a::before { content: none !important; display: none !important; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li.menu-item-has-children > a::after { content: "›" !important; position: absolute !important; top: 50% !important; right: 14px !important; bottom: auto !important; left: auto !important; width: auto !important; height: auto !important; display: block !important; margin: 0 !important; padding: 0 !important; color: currentColor !important; background: none !important; border: 0 !important; font-size: 25px !important; font-weight: 400 !important; line-height: 1 !important; transform: translateY(-51%) !important; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li:hover > a,
body.jae3-active .jae3-native-categories .header-category__menu > ul > li:focus-within > a { color: var(--jae-accent) !important; background: var(--jae-paper) !important; transform: translateX(3px); }
body.jae3-active .jae3-native-categories .menu-item-icon { width: 48px !important; height: 48px !important; flex: 0 0 48px; display: block !important; overflow: hidden; background: #fff; border: 1px solid var(--jae-line); border-radius: 50% !important; }
body.jae3-active .jae3-native-categories .menu-item-icon img { width: 100% !important; height: 100% !important; object-fit: contain !important; border-radius: 50% !important; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li > .sub-menu {
  position: absolute !important;
  top: -12px !important;
  left: calc(100% + 11px) !important;
  width: 285px !important;
  display: grid !important;
  gap: 3px;
  padding: 12px !important;
  background: #fff !important;
  border: 1px solid var(--jae-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 62px rgba(2,48,71,.17) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(8px) !important;
  transition: opacity .2s, visibility .2s, transform .3s var(--jae-ease) !important;
}
body.jae3-active .jae3-native-categories .header-category__menu > ul > li:hover > .sub-menu,
body.jae3-active .jae3-native-categories .header-category__menu > ul > li:focus-within > .sub-menu { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: translateX(0) !important; }
body.jae3-active .jae3-native-categories .sub-menu a { display: block !important; padding: 10px 12px !important; color: var(--jae-navy) !important; border-radius: 10px; font-size: 11px; transition: color .2s, background .2s, transform .2s; }
body.jae3-active .jae3-native-categories .sub-menu a:hover { color: var(--jae-accent) !important; background: var(--jae-paper) !important; transform: translateX(3px); }

/* Ministry nested links remain real WordPress menu items. */
body.jae3-active .jae3-native-mega > .menu-item-10272 { align-content: start; }
body.jae3-active .jae3-native-mega-children { position: static !important; width: auto !important; display: flex !important; flex-wrap: wrap; gap: 5px; margin: -7px 8px 8px 31px !important; padding: 0 !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; box-shadow: none !important; border: 0 !important; background: transparent !important; }
body.jae3-active .jae3-native-mega-children li { width: auto !important; }
body.jae3-active .jae3-native-mega-children a { display: inline-flex !important; padding: 6px 9px !important; color: var(--jae-navy) !important; background: color-mix(in srgb,var(--dept-explorers) 9%,#fff) !important; border: 1px solid color-mix(in srgb,var(--dept-explorers) 22%,#fff) !important; border-radius: 999px !important; font-size: 9px !important; font-weight: 700; }
body.jae3-active .jae3-native-mega-children a:hover { color: #fff !important; background: var(--dept-explorers) !important; transform: translateY(-2px); }
body.jae3-active .jae3-native-mega-media img { object-position: center; }
body.jae3-active .jae3-about-mega .jae3-native-mega-media img { object-position: center 28%; }

/* Hero: cleaner depth, no decorative background lettering. */
.jae3-hero__visual::before { inset: 58px -18px -10px 70px; background: radial-gradient(circle at 35% 35%,rgba(47,134,199,.28),rgba(2,48,71,.09) 56%,transparent 72%); border: 1px solid rgba(47,134,199,.18); border-radius: 44px; filter: blur(1px); transform: rotate(-2deg); }
.jae3-hero__image { border-color: rgba(255,255,255,.92); box-shadow: 0 26px 55px rgba(2,48,71,.15),0 65px 120px rgba(2,48,71,.11),0 0 0 1px rgba(2,48,71,.05); transform: rotate(.55deg); }
.jae3-hero__image img { object-position: center 48%; }

/* Manifesto: same minimal content with a richer, independent motion object. */
.jae3-manifesto__grid { grid-template-columns: minmax(0,1fr) 310px; gap: clamp(55px,8vw,125px); }
.jae3-manifesto__orbit { width: 290px; justify-self: end; border-color: rgba(47,134,199,.27); background: radial-gradient(circle at 50% 50%,rgba(255,255,255,.96) 0 26%,rgba(47,134,199,.08) 27% 52%,transparent 53%); box-shadow: inset 0 0 45px rgba(47,134,199,.08),0 30px 75px rgba(2,48,71,.1); }
.jae3-manifesto__orbit::before { inset: 20px; border-color: rgba(246,125,13,.3); border-style: dashed; }
.jae3-manifesto__orbit::after { inset: 56px; background: rgba(255,255,255,.72); border-color: rgba(2,48,71,.08); backdrop-filter: blur(12px); }
.jae3-manifesto__orbit span { min-width: 70px; padding: 7px 11px; text-align: center; background: rgba(255,255,255,.86); border: 1px solid rgba(2,48,71,.09); border-radius: 999px; box-shadow: 0 10px 24px rgba(2,48,71,.1); backdrop-filter: blur(12px); }
.jae3-manifesto__orbit span:nth-child(1) { top: 1%; left: 50%; transform: translateX(-50%); }
.jae3-manifesto__orbit span:nth-child(2) { top: 29%; right: -9%; bottom: auto; }
.jae3-manifesto__orbit span:nth-child(3) { right: 7%; bottom: 4%; left: auto; }
.jae3-manifesto__orbit span:nth-child(4) { bottom: 18%; left: -7%; }
.jae3-manifesto__orbit b { width: 74px; height: 74px; padding: 15px; background: linear-gradient(145deg,var(--jae-blue),var(--jae-navy)); box-shadow: 0 16px 32px rgba(2,48,71,.24),0 0 0 9px rgba(47,134,199,.09); }
.jae3-manifesto__orbit b img { width: 100%; height: 100%; object-fit: contain; }
.jae3-manifesto__orbit > i { position: absolute; top: 50%; left: 50%; z-index: 5; width: 9px; height: 9px; background: var(--jae-accent); border-radius: 50%; box-shadow: 0 0 0 7px rgba(246,125,13,.1); transform: translate(101px,-50%); }

/* Department identity: visible monochrome marks and a lighter Pioneros violet. */
.jae3-ministry__logo { width: min(62%,210px); height: 190px; display: grid; place-items: center; padding: 22px; overflow: hidden; background: rgba(255,255,255,.91); border: 1px solid rgba(255,255,255,.72); border-radius: 30px; box-shadow: 0 22px 48px rgba(2,48,71,.16),inset 0 1px 0 rgba(255,255,255,.8); backdrop-filter: blur(14px); transform: rotate(-2deg); transition: transform .45s var(--jae-ease),box-shadow .45s var(--jae-ease); }
.jae3-ministry:hover .jae3-ministry__logo { box-shadow: 0 30px 60px rgba(2,48,71,.22),inset 0 1px 0 rgba(255,255,255,.9); transform: translateY(-6px) rotate(0); }
.jae3-ministry__logo img { width: 100% !important; height: 100% !important; display: block !important; visibility: visible !important; object-fit: contain !important; opacity: 1 !important; filter: drop-shadow(0 10px 18px rgba(2,48,71,.12)) !important; }

/* Event cards: exact date, location and a useful three-line summary. */
.jae3-event__image time { display: inline-flex; align-items: center; gap: 7px; color: #fff; background: var(--jae-accent); border-color: rgba(255,255,255,.42); box-shadow: 0 8px 24px rgba(246,125,13,.28); }
.jae3-event__image time .jae3-icon { width: 14px; height: 14px; }
.jae3-event__body { display: flex; flex-direction: column; min-height: 300px; }
.jae3-event__place { display: flex !important; align-items: flex-start !important; gap: 9px !important; color: var(--jae-accent) !important; letter-spacing: 0 !important; text-transform: none !important; }
.jae3-event__place .jae3-icon { width: 18px; height: 18px; margin-top: 1px; }
.jae3-event__place span { display: grid; gap: 2px; color: var(--jae-muted); font-size: 10px; }
.jae3-event__place strong { color: var(--jae-accent); font-size: 10px; }
.jae3-event h3 { min-height: auto; margin-bottom: 12px; }
.jae3-event__excerpt { min-height: 58px; display: -webkit-box; margin: 0 0 22px; overflow: hidden; color: var(--jae-muted); font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.jae3-event__link { margin-top: auto; }

/* Shop benefits: larger, centered icons without touching the product carousel. */
body.jae3-active .jae3-live-shop-trust > span { grid-template-columns: 58px 1fr; min-height: 66px; }
body.jae3-active .jae3-live-shop-trust i { width: 54px; height: 54px; align-self: center; }
body.jae3-active .jae3-live-shop-trust i .jae3-icon { width: 25px; height: 25px; transition: transform .45s var(--jae-ease); }
body.jae3-active .jae3-live-shop-trust > span:hover i .jae3-icon { transform: translateY(-2px) scale(1.08); }

/* Mission silhouette and floating cards. */
.jae3-mission__visual::before { inset: 48px 12px 25px 82px; background: linear-gradient(145deg,rgba(47,134,199,.18),rgba(2,48,71,.08)); border: 1px solid rgba(47,134,199,.16); border-radius: 128px 128px 34px 34px; transform: rotate(-2deg); }
.jae3-mission__float { grid-template-columns: 34px 1fr; }
.jae3-mission__float i { grid-row: 1/3; width: 30px; height: 30px; display: grid; place-items: center; margin: 0; color: #fff; background: var(--jae-accent); border-radius: 10px; box-shadow: 0 8px 18px rgba(246,125,13,.23); }
.jae3-mission__float i .jae3-icon { width: 17px; height: 17px; }

/* Native team media should crop predictably regardless of source ratio. */
body.jae3-active .jae3-live-team .ecomus-image-box-grid__link,
body.jae3-active .jae3-live-team .ecomus-image-box-grid__image { display: block !important; aspect-ratio: .86/1 !important; background: #eae9e5; }
body.jae3-active .jae3-live-team .ecomus-image-box-grid__link img,
body.jae3-active .jae3-live-team .ecomus-image-box-grid__image img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center top !important; }

/* Illustrated locator motion + official lazy modal. */
.jae3-map-route { animation: jae-route 15s linear infinite; }
.jae3-map-pin { transform-box: fill-box; transform-origin: center; }
.jae3-map-pin--four > circle:first-child { animation: jae-ping 2.8s -2.3s ease-in-out infinite; }
.jae3-map-church { transform-box: fill-box; transform-origin: center bottom; animation: jae-church-rise 6s var(--jae-ease) infinite; }
@keyframes jae-route { to { stroke-dashoffset: -220; } }
@keyframes jae-church-rise { 0%,70%,100% { transform: translateY(0); } 82% { transform: translateY(-7px); } }
.jae3-modal-open { overflow: hidden !important; }
.jae3-church-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; transition: opacity .22s, visibility .22s; }
.jae3-church-modal[hidden] { display: none !important; }
.jae3-church-modal.is-open { opacity: 1; visibility: visible; }
.jae3-church-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: rgba(1,31,45,.73); border: 0; backdrop-filter: blur(12px); }
.jae3-church-modal__panel { position: relative; z-index: 2; width: min(1180px,calc(100vw - 44px)); height: min(820px,calc(100vh - 44px)); display: grid; grid-template-rows: auto 1fr auto; padding: 18px; background: #fff; border: 1px solid rgba(255,255,255,.65); border-radius: 28px; box-shadow: 0 40px 120px rgba(0,0,0,.38); transform: translateY(18px) scale(.985); transition: transform .35s var(--jae-ease); }
.jae3-church-modal.is-open .jae3-church-modal__panel { transform: translateY(0) scale(1); }
.jae3-church-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 3px 4px 15px 8px; }
.jae3-church-modal__head h2 { margin: 7px 0 0; color: var(--jae-navy); font-family: var(--jae-font-display); font-size: 28px; letter-spacing: -.04em; }
.jae3-church-modal__head > button { width: 44px; height: 44px; display: grid; place-items: center; color: var(--jae-navy); background: var(--jae-paper); border: 1px solid var(--jae-line); border-radius: 50%; cursor: pointer; font-size: 27px; transition: color .2s, background .2s, transform .25s; }
.jae3-church-modal__head > button:hover { color: #fff; background: var(--jae-accent); transform: rotate(8deg); }
.jae3-church-modal__frame { position: relative; min-height: 0; overflow: hidden; background: var(--jae-paper); border: 1px solid var(--jae-line); border-radius: 18px; }
.jae3-church-modal__frame iframe { position: relative; z-index: 2; width: 100%; height: 100%; background: #fff; border: 0; opacity: 0; transition: opacity .3s; }
.jae3-church-modal.is-loaded iframe { opacity: 1; }
.jae3-church-modal__loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--jae-muted); font-size: 13px; }
.jae3-church-modal__panel > p { margin: 10px 8px 0; color: var(--jae-muted); font-size: 10px; }

/* A brighter youth-blue bridge into the dark footer. */
.jae3-newsletter { background: linear-gradient(120deg,#176b9f 0%,var(--jae-blue) 52%,#0d5579 100%); }
.jae3-newsletter__ring { border-color: rgba(246,125,13,.92); box-shadow: 0 0 70px rgba(255,255,255,.11); animation: jae-newsletter-ring 11s ease-in-out infinite; }
@keyframes jae-newsletter-ring { 0%,100% { transform: translate3d(0,0,0) rotate(0); } 50% { transform: translate3d(-18px,16px,0) rotate(6deg); } }

/* Correctly sized, vector social identities. */
body.jae3-active .jae3-live-footer .ecomus-social-icons__item .jae3-icon { width: 21px !important; height: 21px !important; }
body.jae3-active .jae3-live-footer .ecomus-social-icons__item[hidden] { display: none !important; }

@media (max-width: 1080px) {
  .jae3-manifesto__grid { grid-template-columns: minmax(0,1fr) 250px; gap: 45px; }
  .jae3-manifesto__orbit { width: 235px; }
  .jae3-manifesto__orbit > i { transform: translate(81px,-50%); }
}

@media (max-width: 820px) {
  .jae3-manifesto__grid { grid-template-columns: 1fr; }
  .jae3-manifesto__orbit { width: 245px; justify-self: center; margin-top: 30px; }
  .jae3-manifesto__orbit > i { transform: translate(85px,-50%); }
  .jae3-event__body { min-height: 285px; }
}

@media (max-width: 767px) {
  body.jae3-active .header-search__button { width: 42px !important; height: 42px !important; min-width: 42px !important; color: #fff !important; }
  body.jae3-active .header-search__button svg { width: 18px !important; height: 18px !important; opacity: 1 !important; visibility: visible !important; }
  body.jae3-active .header-search__products-suggest { position: fixed !important; top: 76px !important; right: 14px !important; left: 14px !important; max-height: calc(100vh - 180px); border-radius: 18px !important; }
  .jae3-church-modal { padding: 8px; }
  .jae3-church-modal__panel { width: calc(100vw - 16px); height: calc(100vh - 16px); padding: 10px; border-radius: 20px; }
  .jae3-church-modal__head h2 { font-size: 22px; }
}

@media (max-width: 560px) {
  .jae3-shell { width: calc(100% - 32px); }
  .jae3-hero__grid { padding-top: 50px; }
  .jae3-hero__visual { min-height: 470px; margin-inline: 2px; }
  .jae3-hero__visual::before { inset: 30px -8px -12px 24px; border-radius: 30px; }
  .jae3-hero__image { inset: 5px 1px 12px; border-width: 5px; border-radius: 26px; }
  .jae3-hero__image img { object-position: center 45%; }
  .jae3-float--one { left: 7px; }
  .jae3-float--two { right: 6px; }
  .jae3-manifesto { padding: 80px 0; }
  .jae3-manifesto__copy h2 { font-size: clamp(39px,11vw,48px); }
  .jae3-manifesto__orbit { width: 220px; }
  .jae3-manifesto__orbit > i { transform: translate(76px,-50%); }
  .jae3-section { padding: 78px 0; }
  .jae3-ministry { min-width: calc(100vw - 46px); }
  .jae3-ministry__logo { width: min(58%,190px); height: 168px; padding: 18px; border-radius: 25px; }
  .jae3-event-track { grid-auto-columns: calc(100vw - 46px); }
  .jae3-event__image { height: 340px; }
  .jae3-event__body { min-height: 300px; padding: 22px; }
  body.jae3-active .jae3-live-shop-trust > span { grid-template-columns: 58px 1fr; padding: 0 4px; }
  .jae3-mission__visual::before { inset: 28px 4px 10px 32px; border-radius: 95px 95px 28px 28px; }
  .jae3-mission__float { min-width: 185px; grid-template-columns: 32px 1fr; }
  .jae3-locator__card { width: 100%; border-radius: 28px; }
  .jae3-locator__map { min-height: 360px; padding: 4px; }
  .jae3-locator__copy { margin: -38px 10px 10px; }
  .jae3-newsletter__grid { padding-inline: 2px; }
}

/* --------------------------------------------------------------------------
   JAE 3.2 — production polish, stronger hierarchy and intentional motion
   -------------------------------------------------------------------------- */
:root {
  --jae-font-display: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
  --jae-font-body: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
  --dept-youth: #2384c6;
  --dept-explorers: #f5c400;
  --dept-pioneers: #981f2b;
  --dept-guides: #17633a;
}

.jae3-icon { width: 1.25em; height: 1.25em; }
.jae3-button span,
.jae3-button span .jae3-icon,
.jae3-text-link b .jae3-icon,
.jae3-event__link b .jae3-icon,
.jae3-download span .jae3-icon { width: 18px; height: 18px; }
.jae3-button--accent:hover,
.jae3-button--accent:focus-visible { color: #fff !important; background: var(--jae-navy) !important; border-color: var(--jae-navy) !important; box-shadow: 0 18px 46px rgba(2,48,71,.28),0 0 0 5px rgba(246,125,13,.1) !important; }

.jae3-hero h1,
.jae3-manifesto__copy h2,
.jae3-section-head h2,
.jae3-mission__copy h2,
.jae3-locator__copy h2,
.jae3-newsletter h2,
body.jae3-active .jae3-live-shop .ecomus-products-carousel__title { font-weight: 800 !important; font-variation-settings: "wght" 800; }
.jae3-resource h3,
.jae3-event h3,
.jae3-ministry h3 { font-weight: 750; font-variation-settings: "wght" 750; }

/* Native logo layers share a single optical box. */
body.jae3-active .site-branding,
body.jae3-active .header-logo { width: 118px !important; min-width: 118px; height: 72px !important; display: grid !important; place-items: center; }
body.jae3-active .site-branding img.logo-dark,
body.jae3-active .header-logo img.logo-dark { width: 100% !important; height: 100% !important; object-fit: contain !important; transform: scale(.96); transform-origin: center; }
body.jae3-active .jae3-native-logo-color { top: 50% !important; left: 50% !important; inset: auto !important; width: 100% !important; height: 100% !important; transform: translate(-50%,-50%) scale(.96) !important; transform-origin: center; }
body.jae3-active .site-branding:hover img.logo-dark,
body.jae3-active .header-logo:hover img.logo-dark { transform: scale(.96) !important; }
body.jae3-active .site-branding:hover .jae3-native-logo-color,
body.jae3-active .header-logo:hover .jae3-native-logo-color { transform: translate(-50%,-50%) scale(.96) !important; }

/* Header interactions: no strike-through line and no orange category frame. */
body.jae3-active .primary-menu > li:not(.menu-button) > a::after,
body.jae3-active .main-navigation > ul > li:not(.menu-button) > a::after { right: 12px; bottom: 2px; left: 12px; height: 2px; border-radius: 9px; }
body.jae3-active .header-category__title-button,
body.jae3-active .header-category__button,
body.jae3-active .header-category__title-button:hover,
body.jae3-active .header-category:hover .header-category__title-button,
body.jae3-active .header-category__button:hover { outline: 0 !important; border: 0 !important; box-shadow: 0 10px 25px rgba(2,48,71,.16) !important; }
body.jae3-active .header-category__title-button:hover,
body.jae3-active .header-category:hover .header-category__title-button,
body.jae3-active .header-category__button:hover { background: var(--jae-navy-soft) !important; transform: translateY(-2px); }

/* Wide, balanced mega menus with a real Exploradores flyout. */
body.jae3-active .primary-menu > li.jae3-has-native-mega > .sub-menu.jae3-native-mega {
  width: min(960px,calc(100vw - 56px)) !important;
  grid-template-columns: minmax(180px,1fr) minmax(180px,1fr) minmax(330px,1.35fr) !important;
  grid-auto-rows: minmax(76px,auto);
  gap: 8px !important;
  padding: 17px !important;
  overflow: visible !important;
  border-radius: 0 0 28px 28px !important;
}
body.jae3-active .jae3-native-mega > li:not(.jae3-native-mega-media) > a { min-height: 76px; }
body.jae3-active .jae3-native-mega-media { grid-row: 1 / span 3; }
body.jae3-active .jae3-native-mega-media > a { min-height: 340px; }
body.jae3-active .jae3-native-mega-media img { object-position: center 45%; }
body.jae3-active .primary-menu > li.jae3-has-native-mega.jae3-about-mega > .sub-menu.jae3-native-mega {
  right: -80px !important;
  width: min(680px,calc(100vw - 56px)) !important;
  grid-template-columns: minmax(210px,1fr) minmax(320px,1.35fr) !important;
}
body.jae3-active .jae3-about-mega .jae3-native-mega-media > a { min-height: 280px; }
body.jae3-active .jae3-about-mega .jae3-native-mega-media img { object-position: center 42%; }
body.jae3-active .jae3-native-mega-parent { position: relative !important; }
body.jae3-active .jae3-native-mega-parent > a::after { content: "›"; margin-left: auto; color: var(--dept-explorers); font-size: 24px; line-height: 1; }
body.jae3-active .jae3-native-mega-children {
  position: absolute !important;
  top: 2px !important;
  left: calc(100% - 7px) !important;
  z-index: 10;
  width: 220px !important;
  display: grid !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 10px !important;
  background: #fff !important;
  border: 1px solid var(--jae-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 55px rgba(2,48,71,.17) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(10px) !important;
  transition: opacity .2s,visibility .2s,transform .3s var(--jae-ease) !important;
}
body.jae3-active .jae3-native-mega-children::before { content: ""; position: absolute; top: 0; right: 100%; width: 16px; height: 100%; }
body.jae3-active .jae3-native-mega-parent:hover > .jae3-native-mega-children,
body.jae3-active .jae3-native-mega-parent:focus-within > .jae3-native-mega-children { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: translateX(0) !important; }
body.jae3-active .jae3-native-mega-children a { display: block !important; padding: 10px 12px !important; color: var(--jae-navy) !important; background: transparent !important; border: 0 !important; border-radius: 10px !important; font-size: 11px !important; }
body.jae3-active .jae3-native-mega-children a:hover { color: #fff !important; background: var(--dept-explorers) !important; transform: translateX(3px); }

body.jae3-active .jae3-native-categories .header-category__menu > ul > li > .sub-menu { left: calc(100% - 4px) !important; }
body.jae3-active .jae3-native-categories .header-category__menu > ul > li > .sub-menu::before { content: ""; position: absolute; top: 0; right: 100%; width: 16px; height: 100%; }

/* Hero depth without the old opaque shadow. */
.jae3-hero__visual::before { inset: 74px 12px -5px 62px; background: linear-gradient(145deg,rgba(47,134,199,.2),rgba(2,48,71,.055)); border-color: rgba(47,134,199,.14); filter: blur(.3px); transform: rotate(-1deg); }
.jae3-hero__image { box-shadow: 0 25px 55px rgba(2,48,71,.12),0 72px 125px rgba(2,48,71,.09),0 0 0 1px rgba(2,48,71,.045); }
.jae3-hero__image img { object-position: center 50%; filter: saturate(.94) contrast(1.02); }

/* Manifesto motion: editorial signal flow, never a solar-system metaphor. */
.jae3-manifesto__grid { grid-template-columns: minmax(0,1fr) minmax(310px,390px); }
.jae3-manifesto__motion { position: relative; min-height: 390px; overflow: hidden; padding: 30px; color: #fff; background: linear-gradient(145deg,var(--jae-navy),#0d5575 62%,#2384c6); border: 1px solid rgba(255,255,255,.2); border-radius: 34px; box-shadow: 0 30px 80px rgba(2,48,71,.2); }
.jae3-manifesto__motion::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px); background-size: 45px 45px; mask-image: linear-gradient(145deg,#000,transparent 85%); }
.jae3-manifesto__motion::after { content: ""; position: absolute; top: -80px; right: -80px; width: 250px; height: 250px; background: radial-gradient(circle,rgba(246,125,13,.62),transparent 66%); filter: blur(4px); animation: jae3-signal-glow 7s ease-in-out infinite; }
.jae3-manifesto__beam { position: absolute; top: 54px; bottom: 72px; left: 50%; width: 2px; overflow: hidden; background: rgba(255,255,255,.18); }
.jae3-manifesto__beam::after { content: ""; position: absolute; top: -35%; left: 0; width: 100%; height: 36%; background: linear-gradient(transparent,#fff,transparent); animation: jae3-beam 3.8s ease-in-out infinite; }
.jae3-manifesto__motion > span { --x: -12px; position: absolute; z-index: 3; min-width: 118px; display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); border-radius: 13px; box-shadow: 0 16px 30px rgba(0,0,0,.12); backdrop-filter: blur(12px); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; animation: jae3-signal 5.8s calc(var(--i) * -.7s) ease-in-out infinite; }
.jae3-manifesto__motion > span i { width: 7px; height: 7px; background: var(--jae-accent); border-radius: 50%; box-shadow: 0 0 0 5px rgba(246,125,13,.13); }
.jae3-manifesto__motion > span:nth-of-type(1) { top: 40px; left: 28px; }
.jae3-manifesto__motion > span:nth-of-type(2) { top: 114px; right: 25px; }
.jae3-manifesto__motion > span:nth-of-type(3) { top: 188px; left: 31px; }
.jae3-manifesto__motion > span:nth-of-type(4) { top: 262px; right: 28px; }
.jae3-manifesto__motion > b { position: absolute; top: 50%; left: 50%; z-index: 4; width: 66px; height: 66px; display: grid; place-items: center; padding: 14px; background: var(--jae-accent); border-radius: 18px; box-shadow: 0 17px 38px rgba(0,0,0,.23),0 0 0 9px rgba(255,255,255,.07); transform: translate(-50%,-50%) rotate(-4deg); }
.jae3-manifesto__motion > b img { width: 100%; height: 100%; object-fit: contain; }
.jae3-manifesto__motion > em { position: absolute; right: 28px; bottom: 25px; z-index: 3; color: rgba(255,255,255,.68); font-size: 10px; font-style: normal; line-height: 1.45; text-align: right; }
@keyframes jae3-beam { 0% { transform: translateY(-20%); } 100% { transform: translateY(360%); } }
@keyframes jae3-signal { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(var(--x),-5px,0); } }
@keyframes jae3-signal-glow { 0%,100% { transform: scale(.9); opacity: .7; } 50% { transform: scale(1.08); opacity: 1; } }

/* Ministry identity: white mark at rest, original mark on hover. */
.jae3-ministry.dept-youth { background: linear-gradient(145deg,#2d94d4,#12679e) !important; }
.jae3-ministry.dept-explorers { background: linear-gradient(145deg,#e4ad00,#a66b00) !important; }
.jae3-ministry.dept-pioneers { background: linear-gradient(145deg,#a82834,#6e111d) !important; }
.jae3-ministry.dept-guides { background: linear-gradient(145deg,#237545,#0b4429) !important; }
.jae3-ministry__logo { position: relative; width: 74%; max-width: 235px; height: 205px; margin-inline: auto; padding: 0; overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; transform: none; }
.jae3-ministry:hover .jae3-ministry__logo { box-shadow: none; transform: translateY(-7px) scale(1.025); }
.jae3-ministry__logo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain !important; filter: none !important; transform: none !important; transition: opacity .38s,filter .38s,transform .55s var(--jae-ease) !important; }
.jae3-ministry__logo-white { opacity: 1 !important; filter: drop-shadow(0 14px 24px rgba(0,0,0,.18)) !important; }
.jae3-ministry__logo-color { opacity: 0 !important; filter: drop-shadow(0 14px 24px rgba(0,0,0,.16)) !important; }
.jae3-ministry:hover .jae3-ministry__logo-white { opacity: 0 !important; }
.jae3-ministry:hover .jae3-ministry__logo-color { opacity: 1 !important; }
.jae3-ministry h3 { color: #fff !important; }

/* Compact native-looking carousel arrows. */
.jae3-arrows { gap: 7px; }
.jae3-arrows button { width: 40px; height: 40px; }
.jae3-arrows button .jae3-icon { width: 17px; height: 17px; }
.jae3-arrows button:hover { transform: translateY(-2px); }

/* Living play control. */
.jae3-play,
.jae3-play-live { animation: jae3-play-pulse 2.8s ease-in-out infinite; }
.jae3-play-live { position: relative; isolation: isolate; }
.jae3-play::after,
.jae3-play-live::after { content: ""; position: absolute; inset: -9px; z-index: -1; border: 1px solid rgba(246,125,13,.56); border-radius: 50%; animation: jae3-play-ring 2.8s ease-out infinite; }
.jae3-play .jae3-icon,
.jae3-play-live .jae3-icon { width: 25px; height: 25px; }
@keyframes jae3-play-pulse { 0%,100% { box-shadow: 0 18px 40px rgba(2,48,71,.25),0 0 0 0 rgba(246,125,13,.3); } 50% { box-shadow: 0 22px 55px rgba(2,48,71,.28),0 0 0 13px rgba(246,125,13,0); } }
@keyframes jae3-play-ring { 0% { opacity: .8; transform: scale(.82); } 80%,100% { opacity: 0; transform: scale(1.32); } }

/* Coherent illustrated map. */
.jae3-map-network { stroke-dasharray: 5 10; animation: jae3-map-flow 11s linear infinite; }
.jae3-map-connector { stroke-dasharray: 7 7; animation: jae3-map-flow 5s linear infinite; }
.jae3-map-pin--one > circle:first-child { animation: jae-ping 2.8s ease-in-out infinite; }
.jae3-map-pin--five > circle:first-child { animation: jae-ping 2.8s -1.8s ease-in-out infinite; }
@keyframes jae3-map-flow { to { stroke-dashoffset: -160; } }

/* One footer, with no residual theme newsletter seam. */
body.jae3-active .jae3-footer-newsletter-duplicate { display: none !important; }
body.jae3-active .jae3-live-footer,
body.jae3-active .jae3-live-footer-bottom { margin-top: 0 !important; border-top: 0 !important; background: var(--jae-navy-deep) !important; }
body.jae3-active .jae3-newsletter + .jae3-live-footer { border-top: 0 !important; }

@media (max-width: 1080px) {
  .jae3-manifesto__grid { grid-template-columns: minmax(0,1fr) 330px; }
  body.jae3-active .primary-menu > li.jae3-has-native-mega > .sub-menu.jae3-native-mega { width: min(860px,calc(100vw - 36px)) !important; grid-template-columns: 1fr 1fr 310px !important; }
}

@media (max-width: 820px) {
  .jae3-manifesto__grid { grid-template-columns: 1fr; }
  .jae3-manifesto__motion { width: min(390px,100%); justify-self: center; }
}

@media (max-width: 767px) {
  body.jae3-active .site-branding,
  body.jae3-active .header-logo { width: 92px !important; min-width: 92px; height: 58px !important; }
  body.jae3-active .mobile-menu .menu-button.tienda-icono > a,
  body.jae3-active .mobile-menu .tienda-icono > a,
  body.jae3-active .offcanvas-navigation .tienda-icono > a { min-height: 50px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-wrap: nowrap !important; gap: 9px; padding-inline: 18px !important; white-space: nowrap !important; }
  body.jae3-active .mobile-menu .tienda-icono > a span,
  body.jae3-active .offcanvas-navigation .tienda-icono > a span { white-space: nowrap !important; }
  .jae3-manifesto__motion { min-height: 365px; padding: 22px; border-radius: 28px; }
  .jae3-manifesto__motion > span { min-width: 105px; padding: 10px 12px; font-size: 9px; }
  .jae3-manifesto__motion > span:nth-of-type(1) { left: 18px; }
  .jae3-manifesto__motion > span:nth-of-type(2) { right: 17px; }
  .jae3-manifesto__motion > span:nth-of-type(3) { left: 20px; }
  .jae3-manifesto__motion > span:nth-of-type(4) { right: 18px; }
  .jae3-ministry__logo { width: 67%; height: 185px; }
  .jae3-resource-track,
  .jae3-event-track,
  .jae3-ministries__grid { scroll-behavior: smooth; scroll-snap-type: x mandatory; }
  .jae3-newsletter__form > div { min-height: 126px; }
  .jae3-newsletter__form input { min-height: 58px !important; height: 58px !important; padding: 0 20px !important; font-size: 16px !important; border: 1px solid rgba(255,255,255,.45) !important; box-shadow: 0 12px 30px rgba(0,0,0,.11); }
  .jae3-newsletter__form button { min-height: 56px; font-size: 13px; }
}

@media (max-width: 560px) {
  .jae3-hero__image img { object-position: center 50%; }
  .jae3-manifesto__motion { min-height: 350px; }
  .jae3-ministry__logo { width: 64%; height: 175px; }
  .jae3-locator__map svg { overflow: visible; }
  .jae3-locator__map { min-height: 385px; }
  .jae3-newsletter__grid { min-height: 680px; }
}

/* --------------------------------------------------------------------------
   JAE 3.3 — live-QA corrections (24 Jun 2026)
   Verified on demo.venturamultimedia.com with the rendered page.
   -------------------------------------------------------------------------- */

/* Ministry marks: white at rest, original colour on hover.
   The earlier `.jae3-ministry__logo img { opacity:1 !important }` rule (0,1,1)
   was overriding the dual-layer crossfade and leaving every mark in colour.
   These two-class selectors win the cascade and restore the intended swap. */
.jae3-ministry .jae3-ministry__logo-white { opacity: 1 !important; }
.jae3-ministry .jae3-ministry__logo-color { opacity: 0 !important; }
.jae3-ministry:hover .jae3-ministry__logo-white,
.jae3-ministry:focus-within .jae3-ministry__logo-white { opacity: 0 !important; }
.jae3-ministry:hover .jae3-ministry__logo-color,
.jae3-ministry:focus-within .jae3-ministry__logo-color { opacity: 1 !important; }

/* Living play control: animate the visible 100px marker, not the full-box link.
   The pulse class lands on `.ecomus-video-popup__play` (the 568px transparent
   hit area), so the motion was invisible. Drive the real circle instead. */
.jae3-mission__image .ecomus-video-popup__marker {
  position: relative !important;
  isolation: isolate;
  animation: jae3-play-pulse 2.8s ease-in-out infinite !important;
}
.jae3-mission__image .ecomus-video-popup__marker::after {
  content: "";
  position: absolute;
  inset: -10px;
  z-index: -1;
  border: 1px solid rgba(246,125,13,.55);
  border-radius: 50%;
  animation: jae3-play-ring 2.8s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .jae3-mission__image .ecomus-video-popup__marker { animation: none !important; }
  .jae3-mission__image .ecomus-video-popup__marker::after { display: none; }
}

/* One footer only: balance the three remaining columns once the duplicate
   theme newsletter column is removed (see hideLegacyFooterNewsletter). */
body.jae3-active .elementor-element-bb5ff82 > .e-con-inner { justify-content: space-between !important; }

/* --------------------------------------------------------------------------
   JAE 3.4 — full UX/responsive professional pass (24 Jun 2026)
   Verified live on demo.venturamultimedia.com.
   -------------------------------------------------------------------------- */

/* === Logo: one fixed optical box, layers perfectly overlapped, never shifts
   on hover, and clamped on tablet/mobile (theme mobile header was ballooning
   it). All logo layers fill the same box and crossfade by opacity only. ==== */
body.jae3-active .site-branding,
body.jae3-active .header-logo,
body.jae3-active .site-branding .header-logo {
  position: relative !important;
  width: 116px !important;
  min-width: 116px !important;
  max-width: 116px !important;
  height: 64px !important;
  display: block !important;
  flex: 0 0 auto !important;
}
body.jae3-active .site-branding a,
body.jae3-active .header-logo a { position: absolute !important; inset: 0 !important; display: block !important; }
body.jae3-active .site-branding img,
body.jae3-active .header-logo img,
body.jae3-active .jae3-native-logo-color {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  transition: opacity .35s ease !important;
}
body.jae3-active .site-branding img.logo-light,
body.jae3-active .header-logo img.logo-light { opacity: 0 !important; }
body.jae3-active .site-branding img.logo-dark,
body.jae3-active .header-logo img.logo-dark { opacity: 1 !important; }
body.jae3-active .jae3-native-logo-color { opacity: 0 !important; }
body.jae3-active .site-branding:hover img.logo-dark,
body.jae3-active .header-logo:hover img.logo-dark { opacity: 0 !important; }
body.jae3-active .site-branding:hover .jae3-native-logo-color,
body.jae3-active .header-logo:hover .jae3-native-logo-color { opacity: 1 !important; }
@media (max-width: 1024px) {
  body.jae3-active .site-branding,
  body.jae3-active .header-logo,
  body.jae3-active .site-branding .header-logo { width: 102px !important; min-width: 102px !important; max-width: 102px !important; height: 58px !important; }
}
@media (max-width: 600px) {
  body.jae3-active .site-branding,
  body.jae3-active .header-logo,
  body.jae3-active .site-branding .header-logo { width: 86px !important; min-width: 86px !important; max-width: 86px !important; height: 50px !important; }
}

/* === Search field: drop the inner frame so only the outer pill remains. ==== */
body.jae3-active .header-search__field,
body.jae3-active .em-instant-search__field { border: 0 !important; box-shadow: none !important; background: transparent !important; }

/* === Account + cart + search icons: clean colour-only hover, no box/shadow/outline. */
body.jae3-active .header-account__icon-text,
body.jae3-active .header-cart__icon,
body.jae3-active .header-search__icon { border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.jae3-active .header-account__icon-text:hover,
body.jae3-active .header-cart__icon:hover,
body.jae3-active .header-search__icon:hover {
  color: var(--jae-accent) !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

/* === "Todas las Categorías": navy at rest, accent ORANGE on hover (no frame). */
body.jae3-active .header-category__title-button,
body.jae3-active .header-category__button { border: 0 !important; outline: 0 !important; }
body.jae3-active .header-category__title-button:hover,
body.jae3-active .header-category:hover .header-category__title-button,
body.jae3-active .header-category__button:hover {
  background: var(--jae-accent) !important;
  box-shadow: 0 12px 28px rgba(246,125,13,.24) !important;
  transform: translateY(-2px) !important;
}

/* === Ministerios megamenu: smaller, balanced so every link reads and it no
   longer dominates the bar. Photo column trimmed from ~612px to 280px. ===== */
body.jae3-active .primary-menu > li.jae3-has-native-mega:not(.jae3-about-mega) > .sub-menu.jae3-native-mega {
  width: min(720px, calc(100vw - 56px)) !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) 280px !important;
}
body.jae3-active .jae3-has-native-mega:not(.jae3-about-mega) .jae3-native-mega-media > a { min-height: 286px !important; }

/* === Exploradores flyout (Cadetes/Tizones/Cachorros): subtle like the
   categories panel, not yellow. ============================================ */
body.jae3-active .jae3-native-mega-parent > a::after { color: var(--jae-muted) !important; }
body.jae3-active .jae3-native-mega-children { background: #fff !important; }
body.jae3-active .jae3-native-mega-children a {
  color: var(--jae-navy) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
}
body.jae3-active .jae3-native-mega-children a:hover {
  color: var(--jae-navy) !important;
  background: var(--jae-paper) !important;
  transform: translateX(3px);
}

/* === Category directory: slightly larger, fully-filled thumbnails. ========= */
body.jae3-active .jae3-native-categories .menu-item-icon { width: 54px !important; height: 54px !important; flex: 0 0 54px !important; padding: 5px !important; }
body.jae3-active .jae3-native-categories .menu-item-icon img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
body.jae3-active .jae3-native-categories .sub-menu .menu-item-icon { width: 38px !important; height: 38px !important; flex: 0 0 38px !important; }

/* === Internal pages: a single hero. Hide the theme's redundant page-title
   bar / breadcrumb (it lives outside <main>, so the JS title-hide missed it). */
body.jae3-internal-page .page-header,
body.jae3-internal-page .page-header--page,
body.jae3-internal-page .ecomus-breadcrumb,
body.jae3-internal-page .ecomus-page-header,
body.jae3-internal-page .breadcrumbs,
body.jae3-internal-page .breadcrumb { display: none !important; }
.jae3-internal-hero + * { margin-top: 0 !important; }
