:root {
  --ee-dark:#020807; --ee-bg:#07110c; --ee-bg-alt:#0a1a11;
  --ee-panel:rgba(7,18,12,.92); --ee-panel-strong:rgba(3,12,8,.96);
  --ee-gold:#d8b35a; --ee-gold-bright:#f2d27c; --ee-leaf:#9acb3d;
  --ee-green:#234b2c; --ee-green-bright:#3d7a4d; --ee-orange:#ff8a3d;
  --ee-text:#f3efe5; --ee-muted:#c2c2bc;
  --ee-border:rgba(216,179,90,.58); --ee-border-soft:rgba(216,179,90,.26);
  --font-main:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Cinzel",Georgia,serif;
  --radius:1.15rem; --radius-lg:1.75rem; --shadow:0 28px 80px rgba(0,0,0,.55);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100vh;font-family:var(--font-main);color:var(--ee-text);line-height:1.65;overflow-x:hidden;
  background:radial-gradient(circle at top left,rgba(154,203,61,.1),transparent 28rem),
  radial-gradient(circle at bottom right,rgba(216,179,90,.12),transparent 34rem),
  linear-gradient(180deg,var(--ee-dark),var(--ee-bg));
}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.ee-container{width:min(1500px,calc(100% - 3rem));margin:0 auto}
.center-actions{justify-content:center}

.ee-navbar{position:fixed;inset:0 0 auto 0;z-index:1000;background:rgba(2,8,7,.92);border-bottom:1px solid var(--ee-border);backdrop-filter:blur(18px)}
.ee-nav-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between}
.ee-logo{display:inline-flex;align-items:center;gap:.85rem;font-family:var(--font-main);font-weight:900;font-size:1.35rem;color:var(--ee-orange)}
.ee-logo img{width:2.65rem;height:2.65rem;border-radius:.5rem;object-fit:cover}
.ee-nav-links{display:flex;align-items:center;gap:2rem;font-family:var(--font-display);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ee-muted)}
.ee-nav-links a:hover{color:var(--ee-gold-bright)}

.mobile-menu-btn{display:none;width:2.15rem;height:1.55rem;background:none;border:none;cursor:pointer;position:relative;z-index:1002}
.mobile-menu-btn span{position:absolute;left:0;width:100%;height:2px;background:var(--ee-text);transition:.25s ease}
.mobile-menu-btn span:nth-child(1){top:0}.mobile-menu-btn span:nth-child(2){top:50%;transform:translateY(-50%)}.mobile-menu-btn span:nth-child(3){bottom:0}
.mobile-menu-btn.active span:nth-child(1){top:50%;transform:rotate(45deg)}
.mobile-menu-btn.active span:nth-child(2){opacity:0}
.mobile-menu-btn.active span:nth-child(3){bottom:42%;transform:rotate(-45deg)}
.mobile-menu{display:none}

.ee-btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.15rem;border-radius:999px;padding:.8rem 1.35rem;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.075em;border:1px solid var(--ee-border);transition:.2s ease;white-space:nowrap}
.ee-btn:hover{transform:translateY(-2px);border-color:var(--ee-gold-bright);box-shadow:0 0 32px rgba(216,179,90,.18)}
.ee-btn-primary{background:linear-gradient(180deg,rgba(242,210,124,.14),rgba(216,179,90,.06)),rgba(5,18,12,.92);color:var(--ee-gold-bright)}
.ee-btn-secondary{background:rgba(255,255,255,.045);color:var(--ee-text)}
.ee-btn-small{min-height:2.7rem;padding:.62rem 1rem}

.ee-hero{position:relative;min-height:100vh;padding:8rem 0 4rem;display:flex;align-items:center;overflow:hidden}
.ee-hero-picture,.ee-hero-video{position:absolute;inset:0;width:100%;height:100%}
.ee-hero-picture img,.ee-hero-video{width:100%;height:100%;object-fit:cover;object-position:center}
.ee-hero-video{z-index:0}
.ee-hero-picture{z-index:0}
.ee-leaf-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.ee-leaf-layer span{
  position:absolute;top:-8%;width:18px;height:44px;border-radius:90% 0 90% 0;
  background:linear-gradient(135deg,#b7e25f,#2f7d32 55%,#143d1e);
  opacity:.55;filter:drop-shadow(0 0 8px rgba(154,203,61,.25));
  animation:leafDrift 18s linear infinite;
}
.ee-leaf-layer span:nth-child(1){left:6%;animation-delay:0s;animation-duration:17s}
.ee-leaf-layer span:nth-child(2){left:18%;animation-delay:3s;animation-duration:22s}
.ee-leaf-layer span:nth-child(3){left:29%;animation-delay:6s;animation-duration:19s}
.ee-leaf-layer span:nth-child(4){left:42%;animation-delay:2s;animation-duration:24s}
.ee-leaf-layer span:nth-child(5){left:55%;animation-delay:8s;animation-duration:18s}
.ee-leaf-layer span:nth-child(6){left:67%;animation-delay:4s;animation-duration:25s}
.ee-leaf-layer span:nth-child(7){left:75%;animation-delay:7s;animation-duration:20s}
.ee-leaf-layer span:nth-child(8){left:84%;animation-delay:1s;animation-duration:23s}
.ee-leaf-layer span:nth-child(9){left:93%;animation-delay:5s;animation-duration:19s}
.ee-leaf-layer span:nth-child(10){left:36%;animation-delay:10s;animation-duration:26s}
@keyframes leafDrift{
  0%{transform:translate3d(0,-10vh,0) rotate(0deg)}
  50%{transform:translate3d(55px,55vh,0) rotate(210deg)}
  100%{transform:translate3d(-30px,112vh,0) rotate(420deg)}
}
.ee-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,8,7,.92),rgba(2,8,7,.58),rgba(2,8,7,.22)),linear-gradient(180deg,rgba(2,8,7,.14),rgba(2,8,7,.94))}
.ee-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,720px) minmax(280px,420px);gap:2rem;align-items:end}
.ee-hero-content{padding:clamp(1.4rem,3vw,2.5rem);border:1px solid var(--ee-border);border-radius:var(--radius-lg);background:linear-gradient(90deg,rgba(2,8,7,.84),rgba(2,8,7,.48));box-shadow:var(--shadow)}
.ee-kicker{display:inline-flex;margin-bottom:1rem;padding:.42rem .85rem;border:1px solid var(--ee-border);border-radius:999px;background:rgba(216,179,90,.1);color:var(--ee-gold-bright);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
.ee-hero h1,.ee-section-head h2,.ee-feature-card h3,.ee-fighter-card h3,.ee-arena-card h3,.ee-roadmap h3,.ee-support-panel h2,.ee-steam-card h2,.ee-story-content h2,.ee-dev-card h3,.ee-timeline h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.ee-hero h1{font-size:clamp(3.25rem,6vw,6.2rem);line-height:.95;color:var(--ee-gold-bright);text-shadow:0 2px 0 rgba(0,0,0,.8),0 10px 35px rgba(0,0,0,.85)}
.ee-tagline{margin-top:.8rem;color:var(--ee-leaf);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.1rem,2vw,1.6rem)}
.ee-hero-text{max-width:620px;margin:1rem 0 0;color:var(--ee-muted);font-size:1.05rem}
.ee-status-row{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 1.7rem}
.ee-status-row span{padding:.38rem .65rem;border-radius:999px;border:1px solid var(--ee-border-soft);background:rgba(0,0,0,.25);color:var(--ee-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}
.ee-actions{display:flex;flex-wrap:wrap;gap:.9rem}
.ee-steam-card{padding:1.4rem;border:1px solid var(--ee-border);border-radius:var(--radius-lg);background:rgba(3,12,8,.82);box-shadow:var(--shadow)}
.ee-card-label{color:var(--ee-leaf);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
.ee-steam-card h2{margin:.45rem 0;font-size:1.45rem;color:var(--ee-gold-bright)}
.ee-steam-card p{color:var(--ee-muted)}
.ee-text-link{display:inline-flex;margin-top:1rem;color:var(--ee-gold-bright);font-weight:800}

.ee-quick-strip{padding:1.4rem 0;background:rgba(3,12,8,.96);border-top:1px solid var(--ee-border-soft);border-bottom:1px solid var(--ee-border-soft)}
.ee-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ee-border-soft);border-radius:var(--radius);overflow:hidden}
.ee-quick-grid article{padding:1.1rem;border-right:1px solid var(--ee-border-soft)}
.ee-quick-grid article:last-child{border-right:none}
.ee-quick-grid strong{display:block;color:var(--ee-gold-bright);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}
.ee-quick-grid span{color:var(--ee-muted);font-size:.94rem}

.ee-section{padding:5.5rem 0}
.ee-section-alt{background:rgba(7,28,17,.72)}
.ee-section-head{max-width:900px;margin:0 auto 2.4rem;text-align:center}
.ee-section-head h2,.ee-support-panel h2{font-size:clamp(2.35rem,4.8vw,4.8rem);line-height:1.04;color:var(--ee-gold-bright);text-shadow:0 8px 30px rgba(0,0,0,.7)}
.ee-section-head p,.ee-support-panel p{max-width:850px;margin:1rem auto 0;color:var(--ee-muted);font-size:1.05rem}
.ee-video-frame,.ee-wide-showcase,.ee-feature-card,.ee-fighter-card,.ee-arena-card,.ee-roadmap article,.ee-support-panel,.ee-dev-card,.ee-map-shell,.ee-timeline article{border:1px solid var(--ee-border);border-radius:var(--radius-lg);background:var(--ee-panel);box-shadow:var(--shadow);overflow:hidden}
.ee-video-frame video{width:100%;aspect-ratio:16/9;object-fit:cover}

.ee-story-panel{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden}
.ee-story-media{position:absolute;inset:0;z-index:0}
.ee-story-media img{width:100%;height:100%;object-fit:cover}
.ee-story-panel:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,8,7,.88),rgba(2,8,7,.45),rgba(2,8,7,.18)),linear-gradient(180deg,rgba(2,8,7,.12),rgba(2,8,7,.82))}
.ee-story-content{position:relative;z-index:2;max-width:720px;margin-left:0}
.ee-story-content.right{margin-left:auto}
.ee-story-content h2{font-size:clamp(2.4rem,4.8vw,4.9rem);line-height:1.04;color:var(--ee-gold-bright);text-shadow:0 8px 30px rgba(0,0,0,.75)}
.ee-story-content p{margin-top:1rem;color:var(--ee-muted);font-size:1.08rem;max-width:680px}
.ee-training-panel:after,.ee-koda-panel:after{background:linear-gradient(90deg,rgba(2,8,7,.2),rgba(2,8,7,.46),rgba(2,8,7,.88)),linear-gradient(180deg,rgba(2,8,7,.1),rgba(2,8,7,.82))}
.ee-blight-panel:after{background:linear-gradient(90deg,rgba(2,8,7,.92),rgba(45,12,55,.5),rgba(2,8,7,.26)),linear-gradient(180deg,rgba(2,8,7,.08),rgba(2,8,7,.88))}

.ee-map-shell{position:relative;background:#020807}
.ee-map-shell img{width:100%;display:block}
.ee-map-pin{
  position:absolute;z-index:3;display:flex;flex-direction:column;gap:.15rem;
  border:1px solid var(--ee-border);border-radius:999px;padding:.45rem .75rem;
  background:rgba(2,8,7,.76);color:var(--ee-text);font:inherit;text-align:left;
  box-shadow:0 0 24px rgba(0,0,0,.45);cursor:pointer;transition:.2s ease;
}
.ee-map-pin:before{
  content:"";position:absolute;left:-.6rem;top:50%;width:.75rem;height:.75rem;
  transform:translateY(-50%) rotate(45deg);background:var(--ee-leaf);border:1px solid var(--ee-gold);
  box-shadow:0 0 16px rgba(154,203,61,.6);
}
.ee-map-pin span{font-family:var(--font-display);font-weight:700;text-transform:uppercase;color:var(--ee-gold-bright);font-size:.78rem;letter-spacing:.05em}
.ee-map-pin small{color:var(--ee-muted);font-size:.72rem}
.ee-map-pin:hover{transform:translateY(-3px);border-color:var(--ee-gold-bright);background:rgba(2,8,7,.92)}
.ee-map-pin.summit{left:39%;top:22%}
.ee-map-pin.frostpine{right:12%;top:26%}
.ee-map-pin.crystal{right:18%;top:51%}
.ee-map-pin.bamboo{left:33%;top:51%}
.ee-map-pin.moonlit{left:7%;bottom:20%}
.ee-map-pin.festival{right:29%;bottom:19%}

.ee-feature-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ee-feature-card{padding:1.35rem}
.ee-feature-card h3{color:var(--ee-gold-bright);font-size:1.35rem;margin-bottom:.65rem}
.ee-feature-card p{color:var(--ee-muted)}
.ee-carousel-wrap{position:relative}
.ee-fighter-carousel{display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.3rem .2rem 1.2rem;scrollbar-color:var(--ee-gold) rgba(255,255,255,.06)}
.ee-fighter-card{min-height:32rem;min-width:min(360px,82vw);position:relative;isolation:isolate;display:flex;align-items:flex-end;scroll-snap-align:start}
.ee-fighter-card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.ee-fighter-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(2,8,7,.98))}
.ee-fighter-card div{width:100%;padding:1.35rem;text-align:center}
.ee-fighter-card h3{color:var(--ee-gold-bright);font-size:2.2rem}
.ee-fighter-card p{color:var(--ee-muted);text-transform:uppercase;font-weight:800;font-size:.84rem}
.ee-fighter-card span{display:block;color:var(--ee-leaf);font-weight:800}
.ee-arena-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;margin-bottom:1.3rem}
.ee-arena-card{position:relative;min-height:15rem}
.ee-arena-card img{width:100%;height:100%;min-height:15rem;object-fit:cover}
.ee-arena-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(2,8,7,.92))}
.ee-arena-card h3{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;text-align:center;font-size:1.05rem;color:var(--ee-text)}
.ee-wide-showcase img{width:100%}

.ee-dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.ee-dev-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.ee-dev-card div{padding:1.25rem}
.ee-dev-card h3{color:var(--ee-gold-bright);font-size:1.35rem;margin-bottom:.55rem}
.ee-dev-card p{color:var(--ee-muted)}

.ee-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem}
.ee-timeline article{padding:1.25rem;position:relative}
.ee-timeline article:before{content:"";position:absolute;left:1.25rem;top:-.25rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--ee-muted);box-shadow:0 0 0 4px rgba(255,255,255,.04)}
.ee-timeline article.done:before{background:var(--ee-leaf)}
.ee-timeline article.active{border-color:var(--ee-gold-bright);box-shadow:0 0 38px rgba(216,179,90,.22)}
.ee-timeline article.active:before{background:var(--ee-gold-bright);box-shadow:0 0 18px rgba(216,179,90,.6)}
.ee-timeline span{display:block;margin-top:.8rem;color:var(--ee-gold-bright);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ee-timeline h3{margin:.3rem 0 .55rem;color:var(--ee-text);font-size:1.12rem}
.ee-timeline p{color:var(--ee-muted);font-size:.94rem}

.ee-support-section{background:radial-gradient(circle at center,rgba(216,179,90,.12),transparent 32rem),var(--ee-dark)}
.ee-support-panel{max-width:980px;margin:0 auto;padding:clamp(2rem,5vw,4rem);text-align:center}
.ee-footer{padding:2.4rem 0 1.4rem;background:var(--ee-dark);border-top:1px solid var(--ee-border)}
.ee-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.3rem;color:var(--ee-muted);text-transform:uppercase;letter-spacing:.05em}
.ee-footer nav{display:flex;flex-wrap:wrap;gap:1rem}
.ee-footer a:hover{color:var(--ee-gold-bright)}
.ee-footer-bottom{width:min(1500px,calc(100% - 3rem));margin:1.3rem auto 0;padding-top:1rem;border-top:1px solid var(--ee-border-soft);text-align:center;color:var(--ee-muted);font-size:.85rem}
.reveal,.reveal.visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .ee-leaf-layer span{animation:none;display:none}
  .ee-hero-video{display:none}
}

@media (max-width:1200px){
  .ee-hero-inner{grid-template-columns:1fr;align-items:start}
  .ee-steam-card{max-width:560px}
  .ee-quick-grid,.ee-feature-cards,.ee-timeline{grid-template-columns:repeat(2,1fr)}
  .ee-arena-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:1024px){
  .ee-nav-links{display:none}
  .mobile-menu-btn{display:block}
  .mobile-menu{position:fixed;top:82px;left:0;right:0;z-index:999;display:block;max-height:0;overflow:hidden;background:rgba(2,8,7,.98);border-bottom:1px solid var(--ee-border);transition:max-height .25s ease}
  .mobile-menu.active{max-height:520px}
  .mobile-menu-container{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.07em}
  .ee-map-pin{position:static;margin:.6rem .6rem 0}
  .ee-map-pin:before{display:none}
  .ee-map-shell{padding-bottom:.8rem}
}

@media (max-width:700px){
  .ee-container{width:min(100% - 1.25rem,1500px)}
  .ee-nav-inner{min-height:68px}
  .mobile-menu{top:68px}
  .ee-logo{font-size:1rem}
  .ee-logo img{width:2.25rem;height:2.25rem}

  .ee-hero{min-height:auto;padding:6.1rem 0 2.25rem;align-items:start}
  .ee-hero-video{display:none}
  .ee-hero-picture{position:absolute;height:18rem}
  .ee-hero-picture img{height:18rem;object-position:center top}
  .ee-hero-overlay{background:linear-gradient(180deg,rgba(2,8,7,.16),rgba(2,8,7,.94) 18rem,rgba(2,8,7,.98))}
  .ee-hero-inner{display:block}
  .ee-hero-content{margin-top:14rem;padding:1.15rem;text-align:center;border-radius:1.15rem;background:rgba(3,12,8,.95)}
  .ee-kicker{justify-content:center;margin-left:auto;margin-right:auto;font-size:.64rem;letter-spacing:.045em;line-height:1.25}
  .ee-hero h1{font-size:clamp(2.05rem,10vw,3rem);line-height:1.04;letter-spacing:.025em}
  .ee-tagline{font-size:clamp(.95rem,4vw,1.1rem);line-height:1.3;letter-spacing:.045em}
  .ee-hero-text{font-size:.95rem}
  .ee-status-row{justify-content:center;gap:.45rem}
  .ee-status-row span{font-size:.62rem;padding:.32rem .48rem}
  .ee-actions{flex-direction:column;align-items:center}
  .ee-btn{width:100%;max-width:17rem;min-height:2.85rem;font-size:.72rem;letter-spacing:.05em}
  .ee-steam-card{margin-top:1rem;text-align:center}

  .ee-quick-grid,.ee-feature-cards,.ee-timeline,.ee-arena-grid,.ee-dev-grid{grid-template-columns:1fr}
  .ee-quick-grid article{border-right:none;border-bottom:1px solid var(--ee-border-soft)}
  .ee-quick-grid article:last-child{border-bottom:none}
  .ee-section{padding:3.5rem 0}
  .ee-section-head h2,.ee-support-panel h2{font-size:clamp(2rem,10vw,3rem)}
  .ee-story-panel{min-height:42rem;align-items:end;padding:0 0 2rem}
  .ee-story-panel:after,.ee-training-panel:after,.ee-koda-panel:after,.ee-blight-panel:after{background:linear-gradient(180deg,rgba(2,8,7,.08),rgba(2,8,7,.4) 35%,rgba(2,8,7,.96) 74%,rgba(2,8,7,.98))}
  .ee-story-content,.ee-story-content.right{margin:0 auto;max-width:100%;text-align:center}
  .ee-story-content h2{font-size:clamp(2rem,10vw,3rem)}
  .ee-story-content p{font-size:.95rem}
  .ee-fighter-card{min-width:82vw;min-height:30rem}
  .ee-map-shell img{min-height:18rem;object-fit:cover}
  .ee-footer-inner{flex-direction:column;text-align:center}
  .ee-footer nav{justify-content:center}
  .ee-footer-bottom{width:min(100% - 1.25rem,1500px)}
}

/* =======================================================
   INTERACTIVE VERDANTIA MAP FIX
   Desktop: hover/focus updates panel.
   Mobile: tap updates panel.
======================================================= */

.ee-map-shell {
  isolation: isolate;
}

.ee-map-pin {
  user-select: none;
}

.ee-map-pin.active,
.ee-map-pin:focus-visible {
  transform: translateY(-3px);
  border-color: var(--ee-gold-bright);
  background: rgba(2, 8, 7, 0.94);
  box-shadow: 0 0 28px rgba(216, 179, 90, 0.28);
  outline: none;
}

.ee-map-pin.active::before,
.ee-map-pin:focus-visible::before {
  background: var(--ee-gold-bright);
  box-shadow: 0 0 22px rgba(242, 210, 124, 0.8);
}

.ee-map-info {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 4;
  width: min(420px, calc(100% - 2.5rem));
  pointer-events: none;
}

.ee-map-detail {
  display: none;
  padding: 1.15rem;
  border: 1px solid var(--ee-border);
  border-radius: 1rem;
  background: rgba(2, 8, 7, 0.88);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(12px);
}

.ee-map-detail.active {
  display: block;
  animation: mapDetailFade 0.22s ease both;
}

.ee-map-detail span {
  display: block;
  color: var(--ee-leaf);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  margin-bottom: 0.25rem;
}

.ee-map-detail h3 {
  font-family: var(--font-display);
  color: var(--ee-gold-bright);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1.25rem;
  margin-bottom: 0.45rem;
}

.ee-map-detail p {
  color: var(--ee-muted);
  font-size: 0.95rem;
}

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

@media (max-width: 1024px) {
  .ee-map-info {
    position: static;
    width: auto;
    margin: 0.9rem 0.8rem 0;
    pointer-events: auto;
  }

  .ee-map-detail {
    background: rgba(2, 8, 7, 0.92);
  }
}

@media (max-width: 700px) {
  .ee-map-pin {
    width: calc(100% - 1.2rem);
    text-align: center;
    align-items: center;
  }

  .ee-map-detail h3 {
    font-size: 1.05rem;
  }

  .ee-map-detail p {
    font-size: 0.9rem;
  }
}

/* =======================================================
   MAP DETAIL IMAGE CARDS
   Shows image + text for tapped / hovered map locations.
======================================================= */

.ee-map-info {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 5;
  width: min(520px, calc(100% - 2.5rem));
  pointer-events: none;
}

.ee-map-detail {
  display: none;
  grid-template-columns: 42% 1fr;
  gap: 0;
  border: 1px solid var(--ee-border);
  border-radius: 1.1rem;
  background: rgba(2, 8, 7, 0.9);
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.65);
  overflow: hidden;
  backdrop-filter: blur(14px);
}

.ee-map-detail.active {
  display: grid;
  animation: mapDetailFade 0.22s ease both;
}

.ee-map-detail img {
  width: 100%;
  height: 100%;
  min-height: 13rem;
  object-fit: cover;
}

.ee-map-detail div {
  padding: 1.05rem;
}

.ee-map-detail span {
  display: block;
  color: var(--ee-leaf);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.74rem;
  margin-bottom: 0.2rem;
}

.ee-map-detail h3 {
  font-family: var(--font-display);
  color: var(--ee-gold-bright);
  text-transform: uppercase;
  letter-spacing: 0.045em;
  font-size: 1.14rem;
  line-height: 1.15;
  margin-bottom: 0.45rem;
}

.ee-map-detail p {
  color: var(--ee-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.ee-map-detail small {
  display: block;
  margin-top: 0.55rem;
  color: var(--ee-gold-bright);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ee-map-pin.active,
.ee-map-pin:focus-visible {
  transform: translateY(-3px);
  border-color: var(--ee-gold-bright);
  background: rgba(2, 8, 7, 0.94);
  box-shadow: 0 0 28px rgba(216, 179, 90, 0.28);
  outline: none;
}

.ee-map-pin.active::before,
.ee-map-pin:focus-visible::before {
  background: var(--ee-gold-bright);
  box-shadow: 0 0 22px rgba(242, 210, 124, 0.8);
}

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

@media (max-width: 1024px) {
  .ee-map-info {
    position: static;
    width: auto;
    margin: 0.9rem 0.8rem 0;
    pointer-events: auto;
  }

  .ee-map-detail {
    grid-template-columns: 1fr;
  }

  .ee-map-detail img {
    aspect-ratio: 16 / 9;
    min-height: auto;
  }
}

@media (max-width: 700px) {
  .ee-map-pin {
    width: calc(100% - 1.2rem);
    text-align: center;
    align-items: center;
  }

  .ee-map-detail h3 {
    font-size: 1.05rem;
  }

  .ee-map-detail p {
    font-size: 0.88rem;
  }

  .ee-map-detail small {
    font-size: 0.76rem;
  }
}

/* =======================================================
   MAP LOCATION SIZE + MOBILE LAYOUT FIX
   Makes map location buttons cleaner and stops the map area
   from feeling oversized on phones.
======================================================= */

.ee-map-shell {
  display: grid;
  grid-template-columns: 1fr;
}

/* Desktop and tablet pins stay compact */
.ee-map-pin {
  max-width: 15rem;
  min-width: 11.5rem;
  padding: 0.42rem 0.72rem;
}

.ee-map-pin span {
  font-size: clamp(0.62rem, 0.72vw, 0.78rem);
  line-height: 1.12;
}

.ee-map-pin small {
  font-size: clamp(0.58rem, 0.66vw, 0.72rem);
  line-height: 1.25;
}

/* Image detail card should not take over the whole section on desktop */
.ee-map-detail img {
  max-height: 17rem;
}

.ee-map-detail div {
  align-self: center;
}

/* Tablet / mobile: turn location buttons into a clean grid under the map */
@media (max-width: 1024px) {
  .ee-map-shell {
    padding-bottom: 1rem;
  }

  .ee-map-shell > img {
    width: 100%;
    aspect-ratio: 16 / 8.4;
    min-height: 0 !important;
    object-fit: cover;
    object-position: center;
    border-bottom: 1px solid var(--ee-border-soft);
  }

  .ee-map-pin {
    position: static;
    width: auto !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
    padding: 0.58rem 0.72rem;
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  .ee-map-pin::before {
    display: none;
  }

  .ee-map-pin span {
    font-size: 0.72rem;
  }

  .ee-map-pin small {
    font-size: 0.64rem;
  }

  /* This uses all map buttons before the detail card as a two-column control panel */
  .ee-map-pin.summit {
    margin-top: 0.9rem !important;
  }

  .ee-map-pin.summit,
  .ee-map-pin.frostpine,
  .ee-map-pin.crystal,
  .ee-map-pin.bamboo,
  .ee-map-pin.moonlit,
  .ee-map-pin.festival {
    justify-self: stretch;
  }

  .ee-map-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.55rem;
    row-gap: 0.55rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .ee-map-shell > img,
  .ee-map-info {
    grid-column: 1 / -1;
  }

  .ee-map-info {
    margin: 0.65rem 0 0 !important;
  }

  .ee-map-detail {
    border-radius: 1rem;
  }

  .ee-map-detail img {
    max-height: none;
    height: auto;
  }
}

/* Phone: smaller buttons, tighter section, better map crop */
@media (max-width: 700px) {
  .ee-section:has(.ee-map-shell) {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .ee-map-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 0.6rem 0.8rem;
    gap: 0.48rem;
    border-radius: 1.2rem;
  }

  .ee-map-shell > img {
    aspect-ratio: 16 / 9.2;
    border-radius: 1.05rem 1.05rem 0 0;
  }

  .ee-map-pin {
    min-height: 3.35rem;
    padding: 0.48rem 0.42rem;
    border-radius: 0.9rem;
  }

  .ee-map-pin span {
    font-size: 0.62rem;
    letter-spacing: 0.035em;
  }

  .ee-map-pin small {
    font-size: 0.56rem;
    line-height: 1.18;
  }

  .ee-map-detail {
    grid-template-columns: 1fr;
    border-radius: 1rem;
  }

  .ee-map-detail img {
    aspect-ratio: 16 / 9;
    width: 100%;
    object-fit: cover;
    object-position: center;
  }

  .ee-map-detail div {
    padding: 0.9rem;
  }

  .ee-map-detail span {
    font-size: 0.68rem;
  }

  .ee-map-detail h3 {
    font-size: 0.98rem;
    line-height: 1.15;
  }

  .ee-map-detail p {
    font-size: 0.84rem;
    line-height: 1.42;
  }

  .ee-map-detail small {
    font-size: 0.72rem;
  }
}

/* Extra small phones */
@media (max-width: 390px) {
  .ee-map-shell {
    grid-template-columns: 1fr;
  }

  .ee-map-pin {
    min-height: 2.85rem;
  }

  .ee-map-pin span {
    font-size: 0.64rem;
  }

  .ee-map-pin small {
    font-size: 0.58rem;
  }
}

/* =======================================================
   SUNBAKED OUTBACK WEBSITE ADDITION
   Adds the Red Dune Outpost to the Verdantia map and arena grid.
======================================================= */

.ee-map-pin.sunbaked {
  left: 8%;
  top: 39%;
}

@media (min-width: 1201px) {
  .ee-arena-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (max-width: 1024px) {
  .ee-map-pin.sunbaked {
    position: static;
  }
}

@media (max-width: 700px) {
  .ee-map-pin.sunbaked {
    width: auto !important;
  }
}
