
@font-face{
  font-family:"EFT Display";
  src:url("../assets/fonts/EFTDisplay-Black.woff2") format("woff2");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"EFT Inter";
  src:url("../assets/fonts/EFTInter-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"EFT Inter";
  src:url("../assets/fonts/EFTInter-SemiBold.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

:root{
  --footer-h:64px;
  --bg:#070907;
  --panel:#0b0e0b;
  --line:rgba(185,194,82,.17);
  --line-strong:rgba(190,202,88,.42);
  --olive:#aebc40;
  --lime:#cbd95c;
  --cream:#d8d4c5;
  --muted:#92938a;
  --mono:"Courier New",monospace;
  --body:"EFT Inter",Arial,sans-serif;
  --display:"EFT Display","Arial Narrow",sans-serif;
  --ease:cubic-bezier(.16,.8,.2,1);
}

*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--cream);
  font-family:var(--body);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{appearance:none}
::selection{background:var(--olive);color:#10120b}

/* Static HUD texture: no load animation. */
.scanlines{
  position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.035;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.12) 4px);
}
.noise{
  position:fixed;inset:0;z-index:89;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}
.cursor-glow{
  position:fixed;
  z-index:9998;
  pointer-events:none;
  width:360px;
  height:360px;
  left:0;
  top:0;
  transform:translate3d(-50%,-50%,0);
  border-radius:50%;
  background:radial-gradient(circle,rgba(190,205,72,.115) 0%,rgba(190,205,72,.055) 24%,rgba(190,205,72,.018) 48%,transparent 72%);
  mix-blend-mode:screen;
  opacity:.9;
  will-change:transform;
  contain:layout paint;
}

.topbar{
  position:absolute;z-index:30;left:0;top:0;width:100%;height:68px;
  padding:0 4.6%;display:flex;align-items:center;
  border-bottom:1px solid rgba(185,194,82,.08);
}
.brand{display:flex;align-items:flex-start;gap:11px;color:var(--olive);font-size:9px;letter-spacing:.17em;line-height:1.15}
.brand i{width:3px;height:29px;background:var(--lime);box-shadow:0 0 14px rgba(190,210,75,.24)}
.brand strong,.brand em{display:block;font-style:normal}
.brand em{margin-top:2px}
.status{margin-left:auto;margin-right:28px;font:8px var(--mono);letter-spacing:.18em;color:#77796e;display:flex;align-items:center;gap:8px}
.status i{width:6px;height:6px;border-radius:50%;background:var(--olive);box-shadow:0 0 9px var(--olive)}
.menu-btn{
  width:34px;height:34px;border:1px solid var(--line);background:rgba(5,7,5,.55);
  display:grid;place-content:center;gap:4px;cursor:pointer;
}
.menu-btn b{display:block;width:13px;height:1px;background:#aaa98d;transition:.25s var(--ease)}
.menu-btn.open b:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-btn.open b:nth-child(2){opacity:0}
.menu-btn.open b:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.menu-panel{
  position:fixed;z-index:80;right:4.6%;top:60px;width:320px;
  background:rgba(7,9,7,.98);border:1px solid var(--line-strong);
  opacity:0;transform:translateY(-10px);pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.menu-panel.show{opacity:1;transform:none;pointer-events:auto}
.menu-panel a{
  display:grid;grid-template-columns:30px 1fr 20px;
  padding:14px 15px;border-bottom:1px solid var(--line);
  font:8px var(--mono);letter-spacing:.15em;color:#aaa99c;
}
.menu-panel a:hover{color:var(--lime);padding-left:20px}

 .hero{
  position:relative;
  height:100svh;
  min-height:0;
  max-height:100svh;
  isolation:isolate;
  overflow:hidden;
  background:#070907;
  border-bottom:1px solid rgba(185,194,82,.12);
}
.hero-image{
  position:absolute;inset:-2%;z-index:-5;
  background:url("../assets/hero-bg.jpg") center center / cover no-repeat;
  filter:brightness(.42) contrast(1.08);
  transform:scale(1.02);
}
.hero-shade{
  position:absolute;inset:0;z-index:-4;
  background:
    linear-gradient(90deg,rgba(3,5,3,.88) 0%,rgba(3,5,3,.58) 42%,rgba(3,5,3,.18) 100%),
    linear-gradient(0deg,rgba(3,5,3,.82) 0%,transparent 48%,rgba(3,5,3,.28) 100%);
}
.grid-overlay{
  position:absolute;inset:0;z-index:-3;opacity:.16;
  background-image:
    linear-gradient(rgba(185,194,82,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(185,194,82,.07) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 82%);
}
.hud-corner{position:absolute;width:30px;height:30px;border-color:var(--line-strong);opacity:.8}
.hud-corner.tl{top:25px;left:22px;border-top:1px solid;border-left:1px solid}
.hud-corner.tr{top:25px;right:22px;border-top:1px solid;border-right:1px solid}
.hud-corner.bl{bottom:25px;left:22px;border-bottom:1px solid;border-left:1px solid}
.hud-corner.br{bottom:25px;right:22px;border-bottom:1px solid;border-right:1px solid}

.micro{
  position:absolute;font:7px var(--mono);letter-spacing:.2em;color:#727653;
  text-transform:uppercase;
}
.micro-top{top:55px;left:4.7%}
.micro-left{left:0;top:50%;writing-mode:vertical-rl;transform:rotate(180deg)}
.micro-right{right:0;top:50%;writing-mode:vertical-rl}

.hero-content{
  position:relative;
  z-index:4;
  padding-top:clamp(142px,18vh,172px);
  margin-left:6.3%;
  width:min(980px,88vw);
}
.eyebrow{
  font-size:9px;font-weight:600;letter-spacing:.26em;color:var(--olive);
  display:flex;align-items:center;gap:12px;
}
.eyebrow span{display:block;width:34px;height:1px;background:var(--olive)}

.hero-title{
  font-family:var(--display);
  font-size:clamp(72px,7.65vw,132px);
  line-height:.80;
  letter-spacing:-.012em;
  font-weight:900;
  margin:28px 0 28px;
  color:#d9d5c7;
  max-width:980px;
  overflow:visible;
  text-transform:uppercase;
  text-shadow:0 4px 0 rgba(0,0,0,.20);
}
.hero-title span{display:block;white-space:nowrap}
.hero-title span:last-child{margin-left:-1px}

.title-line{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.title-line i{display:block;width:52px;height:1px;background:var(--olive)}
.title-line b{width:8px;height:8px;border:1px solid var(--olive);transform:rotate(45deg);display:block}

.hero-copy{
  margin:0 0 20px;
  max-width:490px;
  font-size:13px;
  line-height:1.55;
  font-weight:400;
  letter-spacing:.005em;
  color:#b8b6ab;
}
.hero-copy br{display:block}

.hero-actions{display:flex;align-items:center}
.btn{
  height:56px;
  min-width:290px;
  padding:0 21px 0 23px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(205,219,91,.75);
  font:600 10px var(--body);
  letter-spacing:.15em;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.btn.primary{
  background:#b8c847;
  color:#15170d;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.btn.primary:hover{background:var(--lime);border-color:var(--lime);transform:translateY(-2px);box-shadow:0 12px 30px rgba(120,140,30,.16)}
.btn.primary span{white-space:nowrap}
.btn.primary b{font:400 14px var(--mono);line-height:1}

.coordinates{
  position:absolute;left:6.3%;bottom:38px;
  display:flex;flex-direction:column;gap:6px;
  color:#6d704f;font:8px var(--mono);letter-spacing:.12em;
}
.coordinates b{color:#8a8b76;font-weight:400}
.node{
  position:absolute;right:4.6%;bottom:38px;
  color:#676c4d;font:8px var(--mono);letter-spacing:.18em;
}
.node b{display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid var(--line-strong);margin-left:9px;color:var(--olive);font-size:14px;font-weight:400}
.scroll-cue{
  position:absolute;left:50%;bottom:22px;width:26px;height:38px;
  transform:translateX(-50%);display:grid;place-items:center;
}
.scroll-cue i{position:absolute;width:11px;height:11px;border-right:1px solid #aaa88f;border-bottom:1px solid #aaa88f;transform:rotate(45deg)}
.scroll-cue i:first-child{top:4px}
.scroll-cue i:last-child{top:12px;opacity:.45}

.resources{
  position:relative;background:linear-gradient(#0d100e,#080a09);
  height:calc(100svh - var(--footer-h));
  min-height:calc(100svh - var(--footer-h));
  max-height:calc(100svh - var(--footer-h));
  padding:76px 0 100px;overflow:hidden;
}
.resources:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
.wrap{width:min(88%,1450px);margin:auto}
.section-head{
  display:block;
  margin-bottom:30px;
}
.section-head h2{
  font-family:var(--display);font-size:48px;line-height:.95;margin:10px 0 15px;
  color:#d1cdbf;letter-spacing:.015em;
}
.title-line.small{margin:0}
.title-line.small i{width:32px}

.resource-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}


.search:focus-within{border-color:var(--olive);box-shadow:0 0 0 3px rgba(170,188,64,.05)}
.search span{font-size:18px;color:#88897d;margin:0 9px 2px 12px}
.search input{height:100%;width:100%;border:0;outline:0;background:none;color:#ddd9ca;font:400 10px var(--body)}
.search input::placeholder{color:#66685f}


.card{
  position:relative;
  display:block;
  min-height:292px;
  padding:18px;
  border:1px solid var(--line);
  overflow:hidden;
  background:linear-gradient(145deg,rgba(23,27,22,.82),rgba(7,9,8,.96));
  color:inherit;
  text-decoration:none;
  transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.card:hover{
  border-color:var(--line-strong);
  background:linear-gradient(135deg,rgba(31,35,24,.92),rgba(7,9,8,.97));
  transform:translateY(-5px);
}
.card:focus-visible{outline:1px solid var(--lime);outline-offset:3px}
.card:before{
  content:"";position:absolute;top:0;left:0;width:0;height:1px;background:var(--lime);
  transition:width .35s var(--ease);
}
.card:hover:before{width:100%}
.card-no{position:absolute;right:18px;top:18px;font:8px var(--mono);color:#55594a}
.card-type{font:8px var(--mono);letter-spacing:.2em;color:#74785c}
.card-icon{margin-top:12px;color:var(--olive);font-size:18px}
.card h3{
  position:relative;z-index:2;font-family:var(--display);font-size:23px;line-height:.96;
  margin:15px 0 10px;color:#d0ccbd;letter-spacing:.01em;
}
.card p{position:relative;z-index:2;font-size:11.5px;line-height:1.55;color:#929188;max-width:100%;margin:0}
.card-scan{display:none}
.art{
  position:absolute;right:-8px;bottom:-22px;width:53%;height:62%;opacity:.11;
  filter:grayscale(1);transition:opacity .45s var(--ease),transform .45s var(--ease);
}
.card:hover .art{opacity:.2;transform:scale(1.06)}
.art-map{background:radial-gradient(circle at 50% 45%,var(--olive) 0 7%,transparent 8%),linear-gradient(30deg,transparent 48%,var(--olive) 49% 51%,transparent 52%),linear-gradient(140deg,transparent 48%,var(--olive) 49% 51%,transparent 52%)}
.art-wiki{background:linear-gradient(45deg,transparent 45%,var(--olive) 46% 53%,transparent 54%),linear-gradient(135deg,transparent 45%,var(--olive) 46% 53%,transparent 54%)}
.art-market{background:radial-gradient(circle at 42% 42%,var(--olive) 0 12%,transparent 13%),linear-gradient(90deg,transparent 47%,var(--olive) 48% 51%,transparent 52%)}
.art-gun{background:linear-gradient(165deg,transparent 40%,var(--olive) 41% 50%,transparent 51%),linear-gradient(5deg,transparent 45%,var(--olive) 46% 49%,transparent 50%)}
.art-quest{background:linear-gradient(45deg,transparent 42%,var(--olive) 43% 55%,transparent 56%)}
.art-social{background:radial-gradient(circle at 50% 35%,var(--olive) 0 12%,transparent 13%),radial-gradient(circle at 28% 65%,var(--olive) 0 10%,transparent 11%),radial-gradient(circle at 72% 65%,var(--olive) 0 10%,transparent 11%)}

.empty{display:none;text-align:center;border:1px solid var(--line);padding:65px 20px;color:#72746a}
.empty.show{display:block}
.empty strong{display:block;font-family:var(--display);font-size:28px;color:#a5a18e}
.empty span{font-size:11px}

.footer{
  height:var(--footer-h);min-height:0;border-top:1px solid var(--line);padding:0 6%;
  display:flex;align-items:center;justify-content:space-between;
  color:#5f6357;font:8px var(--mono);letter-spacing:.18em;
}

@media(max-width:1050px){
  .hero{min-height:100svh;height:100svh}
  .hero-content{margin-left:7%;width:88%}
  .hero-title{font-size:clamp(78px,11vw,125px)}
  .section-head{align-items:flex-start;flex-direction:column}
  .resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  :root{--footer-h:82px;}
  .topbar{height:70px;padding:0 6%}
  .status,.micro-left,.micro-right,.coordinates,.node{display:none}
  .micro-top{left:6%;top:84px}
  .hero{min-height:100svh;height:100svh}
  .hero-content{padding-top:145px;margin:0 7%;width:86%}
  .hero-title{font-size:17vw;line-height:.82;margin:25px 0 28px}
  .hero-title span{white-space:normal}
  .hero-copy{font-size:12px}
  .hero-copy br{display:none}
  .btn{width:100%;min-width:0}
  .resources{height:calc(100svh - var(--footer-h));min-height:calc(100svh - var(--footer-h));max-height:calc(100svh - var(--footer-h));padding:55px 0 75px}
  .wrap{width:86%}
  .section-head h2{font-size:39px}
  .filters{display:grid;grid-template-columns:repeat(2,1fr)}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition-duration:.001ms!important}
 .cursor-glow{display:none}
}

/* V12 — interaction polish: motion only after the user interacts. */
.card:hover{
  box-shadow:0 16px 42px rgba(0,0,0,.24),inset 0 0 0 1px rgba(203,217,92,.035);
}
.card:hover .card-no{color:#8e955d}
.card:hover .card-type{color:#aeb75f}
.card:hover .card-icon{transform:translateY(-2px) rotate(-3deg);color:var(--lime)}
.card-icon{transition:transform .25s var(--ease),color .25s var(--ease)}
.btn.primary:after{
  content:"";
  position:absolute;
  top:0;bottom:0;left:-70%;
  width:45%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  transform:skewX(-18deg);
  transition:left .6s var(--ease);
}
.btn.primary:hover:after{left:135%}
.btn.primary:hover{background:#c7d654}
.scroll-cue{transition:transform .25s var(--ease),opacity .25s var(--ease)}
.scroll-cue:hover{transform:translateX(-50%) translateY(4px);opacity:.85}

/* Resource section typography + spacing */
.resources{padding-top:68px}
.section-head{margin-bottom:28px}
.section-head h2{font-size:46px}

@media (max-width:1450px) and (min-width:1051px){
  .resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1050px) and (min-width:701px){
  .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* PREMIUM MOTION LAYER */
@keyframes eftPulse{
  0%,100%{opacity:.45;box-shadow:0 0 0 rgba(203,217,92,0)}
  50%{opacity:1;box-shadow:0 0 16px rgba(203,217,92,.18)}
}
@keyframes eftScan{
  0%{transform:translateY(-100%)}
  100%{transform:translateY(100vh)}
}
@keyframes eftFlicker{
  0%,100%{opacity:1}
  97%{opacity:1}
  98%{opacity:.82}
  99%{opacity:1}
}
.status i,.database-status i{animation:eftPulse 2.8s ease-in-out infinite}
.hero-title{animation:eftFlicker 9s linear infinite}
.hero-image{transition:transform 1.2s var(--ease),filter .8s var(--ease)}
.hero:hover .hero-image{transform:scale(1.035);filter:brightness(.46) contrast(1.1)}
.hero:after{
  content:"";position:absolute;left:0;right:0;top:-100%;height:35%;
  background:linear-gradient(to bottom,transparent,rgba(195,208,83,.045),transparent);
  pointer-events:none;z-index:1;animation:eftScan 12s linear infinite;
}
.card{
  transform:translate3d(var(--mx,0),var(--my,0),0);
}
.card:hover{
  transform:translate3d(var(--mx,0),calc(var(--my,0) - 5px),0);
}
.card:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  border:1px solid transparent;
  background:linear-gradient(135deg,rgba(203,217,92,.08),transparent 30%,transparent 70%,rgba(203,217,92,.035)) border-box;
  mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  opacity:0;transition:opacity .35s var(--ease);
}
.card:hover:after{opacity:1}
.card-map-entry .card-icon{font-size:20px}
.card-map-entry:before{height:2px}
.card-map-entry .art-map{opacity:.14}
.card-map-entry:hover .art-map{opacity:.25}
.scroll-cue{transition:transform .3s var(--ease)}
.scroll-cue:hover{transform:translateX(-50%) translateY(-5px)}
.btn.primary:before{
  content:"";position:absolute;top:0;bottom:0;left:-35%;width:25%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-20deg);transition:left .7s var(--ease);
}
.btn.primary:hover:before{left:115%}
@media(prefers-reduced-motion:reduce){
  .hero-title,.hero:after,.status i,.database-status i{animation:none}
}

/* PAGE TRANSITION: main -> map archive */
.page-wipe{
  position:fixed;inset:0;z-index:9999;pointer-events:none;
  background:#0a0c09;opacity:0;transform:translateY(100%);
}
.page-wipe:before,.page-wipe:after{
  content:"";position:absolute;left:0;right:0;height:1px;
  background:var(--lime);box-shadow:0 0 18px rgba(203,217,92,.35);
}
.page-wipe:before{top:42%}
.page-wipe:after{top:58%;opacity:.35}
.page-wipe.active{
  opacity:1;transform:translateY(0);
  animation:pageWipeIn .52s cubic-bezier(.72,0,.18,1) forwards;
}
.page-wipe.active:after{animation:pageWipeLine .52s ease forwards}
@keyframes pageWipeIn{
  0%{transform:translateY(100%);opacity:0}
  15%{opacity:1}
  100%{transform:translateY(0);opacity:1}
}
@keyframes pageWipeLine{
  0%{transform:scaleX(0);transform-origin:left}
  100%{transform:scaleX(1);transform-origin:left}
}
.maps-page{
  animation:mapPageIn .6s cubic-bezier(.16,.8,.2,1) both;
}
@keyframes mapPageIn{
  from{opacity:0;transform:translateY(24px);filter:brightness(.65)}
  to{opacity:1;transform:none;filter:none}
}
@media(prefers-reduced-motion:reduce){
  .page-wipe{display:none!important}
  .maps-page{animation:none!important}
}

/* V22 — header menu intentionally removed */
#menuBtn,#menuPanel{display:none!important}


/* EFT RESOURCE HUB V24 // VISUAL POLISH ONLY */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{
 content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(circle at 72% 18%,rgba(184,198,66,.05),transparent 28%),
 radial-gradient(circle at 18% 78%,rgba(184,198,66,.025),transparent 32%);
}
.hero-title{text-shadow:0 1px 0 rgba(255,255,255,.05),0 18px 45px rgba(0,0,0,.28)}
.hero-title span{display:block;transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.hero:hover .hero-title span:first-child{transform:translateX(4px)}
.hero:hover .hero-title span:last-child{transform:translateX(-3px)}
.btn.primary{position:relative;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.24);transition:transform .28s ease,box-shadow .28s ease}
.btn.primary::after{
 content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;
 background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);
 transform:skewX(-18deg);transition:left .65s ease;
}
.btn.primary:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(0,0,0,.34)}
.btn.primary:hover::after{left:145%}
.card{
 transform-style:preserve-3d;
 transition:transform .38s cubic-bezier(.2,.75,.2,1),border-color .35s ease,box-shadow .38s ease;
}
.card:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(0,0,0,.38),inset 0 0 45px rgba(184,198,66,.035)}
.card-scan{transition:opacity .3s ease}
.card:hover .card-scan{opacity:1}
.card:focus-visible,.btn:focus-visible{
 outline:1px solid var(--lime);outline-offset:4px;
 box-shadow:0 0 0 1px rgba(184,198,66,.18),0 0 32px rgba(184,198,66,.08);
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.hero-title span,.btn.primary,.card{transition:none!important}
}

/* V25 PALETTE — cool steel / ice blue */
:root{
  --lime:#8fd3e8;
  --olive:#6faabd;
  --line:rgba(143,211,232,.14);
  --line-strong:rgba(143,211,232,.34);
}

/* V25 TOTAL VISUAL REDESIGN */
body{background:#070a0d;color:#d9e1e4}
.hero,.resources{border-radius:0}
.wrap{width:min(90%,1460px)}
.resources{
  background:
    radial-gradient(circle at 12% 18%,rgba(143,211,232,.035),transparent 25%),
    radial-gradient(circle at 86% 76%,rgba(130,112,205,.035),transparent 28%),
    linear-gradient(180deg,#090d11,#070a0d);
}
.resources::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
  background:radial-gradient(circle at 50% 0%,rgba(143,211,232,.045),transparent 35%);
}
.section-head{padding-bottom:8px}
.section-title{letter-spacing:.08em}
.resource-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px;
}
.card{
  min-height:255px !important;
  border:1px solid rgba(143,211,232,.13) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,rgba(18,25,30,.92),rgba(8,12,16,.96)) !important;
  box-shadow:0 10px 35px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
  transition:transform .5s cubic-bezier(.16,.8,.2,1),border-color .35s ease,box-shadow .5s ease;
}
.card:hover{
  transform:translateY(-10px) scale(1.012) !important;
  border-color:rgba(143,211,232,.42) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.42),0 0 35px rgba(143,211,232,.055),inset 0 1px 0 rgba(255,255,255,.04);
}
.card::before{
  border-radius:22px;
  background:linear-gradient(135deg,rgba(143,211,232,.10),transparent 32%,rgba(128,112,205,.06));
}
.card::after{
  height:2px !important;
  background:linear-gradient(90deg,transparent,#8fd3e8,transparent) !important;
}
.card-icon{
  width:52px !important;height:52px !important;
  border-radius:16px !important;
  background:rgba(143,211,232,.055) !important;
  border:1px solid rgba(143,211,232,.16) !important;
  display:grid !important;place-items:center;
  transition:transform .45s cubic-bezier(.16,.8,.2,1),background .35s ease;
}
.card:hover .card-icon{transform:translateY(-4px) rotate(-4deg);background:rgba(143,211,232,.10)}
.card-no,.card-label{color:#7894a0 !important}
.card h3{color:#d8e4e8 !important}
.card p{color:#7f929a !important}
.btn.primary{
  border-radius:999px !important;
  background:linear-gradient(135deg,#a9e6f5,#78bfd5) !important;
  color:#071014 !important;
  box-shadow:0 12px 35px rgba(120,191,213,.18) !important;
}
.btn.primary:hover{box-shadow:0 16px 45px rgba(120,191,213,.28) !important}
.scroll-cue{
  border-radius:999px !important;
  border-color:rgba(143,211,232,.25) !important;
}
.hero-overlay{
  background:linear-gradient(180deg,rgba(5,8,11,.30),rgba(5,8,11,.58) 72%,#070a0d 100%) !important;
}
.hero-image{filter:saturate(.72) contrast(1.05) brightness(.62) !important}
.hero-title{color:#e3edf0 !important}
.hero-title span:last-child{color:#a9dbe7 !important}
.status,.eyebrow,.section-kicker{color:#78a9b8 !important}
.status i{background:#8fd3e8 !important;box-shadow:0 0 14px #8fd3e8 !important}

/* Softer grid geometry */
@media(max-width:1050px){
  .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:650px){
  .resource-grid{grid-template-columns:1fr !important;gap:14px}
  .card{border-radius:18px !important;min-height:220px !important}
}

/* Scroll transition layer */
.page-scroll-wipe{
  position:fixed;inset:0;z-index:9990;pointer-events:none;
  background:linear-gradient(180deg,#070a0d,#0b1116);
  transform:translateY(100%);opacity:0;
}
.page-scroll-wipe.active{
  opacity:1;animation:scrollWipe .72s cubic-bezier(.76,0,.18,1) forwards;
}
.page-scroll-wipe::after{
  content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,#8fd3e8,transparent);
  box-shadow:0 0 22px rgba(143,211,232,.35);
}
@keyframes scrollWipe{
  0%{transform:translateY(100%)}
  100%{transform:translateY(-100%)}
}

/* Ambient floating particles */
.ambient-dot{
  position:fixed;width:3px;height:3px;border-radius:50%;
  background:#8fd3e8;opacity:.18;pointer-events:none;z-index:1;
  box-shadow:0 0 12px rgba(143,211,232,.4);
  animation:floatDot var(--d,8s) ease-in-out infinite alternate;
}
@keyframes floatDot{
  from{transform:translate3d(0,18px,0);opacity:.06}
  to{transform:translate3d(var(--x,20px),-35px,0);opacity:.28}
}
@media(prefers-reduced-motion:reduce){
  .page-scroll-wipe{display:none}
  .ambient-dot{animation:none}
}

/* =========================================================
   V26 // UNIFIED COOL PALETTE
   Main page + map archive use the same visual language.
   ========================================================= */
:root{
  --lime:#8fd3e8 !important;
  --olive:#6faabd !important;
  --line:rgba(143,211,232,.14) !important;
  --line-strong:rgba(143,211,232,.34) !important;
  --accent-violet:#8b7ac7;
  --accent-violet-soft:rgba(139,122,199,.08);
}

/* Main page — kill remaining warm/olive accents */
body{
  background:#070a0d !important;
  color:#d9e2e6 !important;
}
.hero{
  background:#070a0d !important;
}
.hero-overlay{
  background:
    linear-gradient(180deg,rgba(4,7,10,.22),rgba(4,7,10,.54) 66%,#070a0d 100%) !important;
}
.hero-image{
  filter:saturate(.62) hue-rotate(8deg) contrast(1.06) brightness(.60) !important;
}
.hero-title{
  color:#e5eef1 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.06),0 18px 48px rgba(0,0,0,.38) !important;
}
.hero-title span:last-child{
  color:#9bd9e9 !important;
}
.hero-copy,.hero-meta,.eyebrow,.section-kicker{
  color:#7d9ba6 !important;
}
.status,.status-text{
  color:#8db7c5 !important;
}
.status i,.status-dot,.live-dot{
  background:#8fd3e8 !important;
  border-color:#8fd3e8 !important;
  box-shadow:0 0 14px rgba(143,211,232,.75) !important;
}

/* All lines / labels / HUD details */
.title-line i,.section-line,.hud-line,.card-line{
  background:#8fd3e8 !important;
}
.title-line,.section-head,.hero-meta{
  border-color:rgba(143,211,232,.16) !important;
}

/* Main resource area */
.resources{
  background:
    radial-gradient(circle at 12% 12%,rgba(143,211,232,.045),transparent 28%),
    radial-gradient(circle at 84% 70%,rgba(139,122,199,.045),transparent 30%),
    linear-gradient(180deg,#090d11,#070a0d) !important;
}
.resources::before{
  background:
    linear-gradient(90deg,rgba(143,211,232,.025) 1px,transparent 1px),
    linear-gradient(rgba(143,211,232,.025) 1px,transparent 1px) !important;
  background-size:72px 72px !important;
}

/* Cards */
.card{
  border-color:rgba(143,211,232,.14) !important;
  background:
    radial-gradient(circle at 82% 15%,rgba(139,122,199,.045),transparent 28%),
    linear-gradient(145deg,rgba(18,26,32,.95),rgba(7,11,15,.98)) !important;
  box-shadow:0 10px 35px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.card:hover{
  border-color:rgba(143,211,232,.44) !important;
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    0 0 35px rgba(143,211,232,.07),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.card::before{
  background:
    linear-gradient(135deg,rgba(143,211,232,.11),transparent 32%,rgba(139,122,199,.07)) !important;
}
.card::after{
  background:linear-gradient(90deg,transparent,#8fd3e8,transparent) !important;
}
.card-icon{
  background:rgba(143,211,232,.055) !important;
  border-color:rgba(143,211,232,.18) !important;
}
.card:hover .card-icon{
  background:rgba(143,211,232,.105) !important;
}
.card-no,.card-label{
  color:#7193a0 !important;
}
.card h3{
  color:#dce7ea !important;
}
.card p{
  color:#80949d !important;
}

/* CTA + scroll control */
.btn.primary{
  background:linear-gradient(135deg,#a9e6f5,#78bfd5) !important;
  color:#061015 !important;
  border-color:#8fd3e8 !important;
  box-shadow:0 12px 35px rgba(120,191,213,.20) !important;
}
.btn.primary:hover{
  box-shadow:0 16px 45px rgba(120,191,213,.30) !important;
}
.scroll-cue{
  border-color:rgba(143,211,232,.28) !important;
  color:#8db8c4 !important;
}

/* Cursor glow follows the new palette */
.cursor-glow{
  background:radial-gradient(circle,
    rgba(143,211,232,.13) 0%,
    rgba(143,211,232,.055) 25%,
    rgba(139,122,199,.025) 48%,
    transparent 72%) !important;
}

/* Transition */
.page-scroll-wipe{
  background:linear-gradient(180deg,#070a0d,#0b1117) !important;
}
.page-scroll-wipe::after{
  background:linear-gradient(90deg,transparent,#8fd3e8,transparent) !important;
  box-shadow:0 0 22px rgba(143,211,232,.38) !important;
}

/* Ambient dots */
.ambient-dot{
  background:#8fd3e8 !important;
  box-shadow:0 0 12px rgba(143,211,232,.45) !important;
}

/* Prevent accidental old warm colors in common elements */
a{color:inherit}
::selection{
  background:rgba(143,211,232,.22);
  color:#e9f5f8;
}


/* V27 FINAL MAIN-PAGE PALETTE OVERRIDES
   These target the legacy hard-coded colors that the variable override cannot replace. */
.hero-title{color:#e5eef1 !important}
.hero-copy{color:#a5b8bf !important}
.hero-meta{color:#8da9b2 !important}
.title-line i{background:#8fd3e8 !important}
.title-line b{border-color:#8fd3e8 !important}
.btn{
  border-color:rgba(143,211,232,.72) !important;
}
.btn.primary{
  background:#8fd3e8 !important;
  color:#071014 !important;
}
.btn.primary:hover{
  background:#a9e6f5 !important;
  border-color:#a9e6f5 !important;
  box-shadow:0 12px 30px rgba(120,191,213,.22) !important;
}
.card{
  background:linear-gradient(145deg,rgba(20,29,35,.90),rgba(7,11,15,.97)) !important;
}
.card:hover{
  background:linear-gradient(135deg,rgba(27,39,46,.94),rgba(7,11,15,.98)) !important;
}
.card-no{color:#58737e !important}
.card-type{color:#7193a0 !important}
.card-icon{color:#8fd3e8 !important}
.card h3{color:#dce7ea !important}
.card p{color:#80959e !important}
.section-head h2{color:#dbe7ea !important}
.coordinates{color:#6f8c96 !important}
.coordinates b{color:#8fb8c3 !important}
.scroll-cue{color:#8fb8c3 !important;border-color:rgba(143,211,232,.28) !important}
.scroll-cue i{border-color:#8fd3e8 !important}
.footer{color:#6e858d !important;border-color:rgba(143,211,232,.12) !important}
.footer b{color:#8fb8c3 !important}
.micro,.hud-corner,.node{color:#6f8993 !important}


/* ================================================================
   V35 FINAL — MAIN PAGE RESOURCE GLYPHS
   The icon is ONLY the glyph. No shell, no box, no background.
   ================================================================ */

.resource-grid > .card > .card-icon {
  all: unset !important;
  box-sizing: border-box !important;

  display: block !important;
  width: 58px !important;
  height: 58px !important;

  margin: 2px 0 20px 0 !important;
  padding: 0 !important;

  color: #8fd8ee !important;
  font-family: inherit !important;
  font-size: 42px !important;
  font-weight: 400 !important;
  line-height: 58px !important;
  letter-spacing: 0 !important;
  text-align: left !important;

  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  transform: none !important;
  filter: drop-shadow(0 0 8px rgba(143,216,238,.10)) !important;
}

.resource-grid > .card:hover > .card-icon {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  color: #8fd8ee !important;
}

.resource-grid > .card > .card-icon::before,
.resource-grid > .card > .card-icon::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* The CTA stays clean: text only, no decorative arrow. */
.hero-actions > a[href="#resources"] {
  gap: 0 !important;
}
.hero-actions > a[href="#resources"]::before,
.hero-actions > a[href="#resources"]::after {
  content: none !important;
  display: none !important;
}

/* ================================================================
   V37 — SCROLL CUE / CLEAN HOVER
   Never slide sideways. Use a subtle scale + glow instead.
   ================================================================ */
.scroll-cue {
  transform: translateX(-50%) !important;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    opacity .28s ease,
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease !important;
}

.scroll-cue:hover {
  transform: translateX(-50%) scale(1.10) !important;
  opacity: 1 !important;
  border-color: rgba(143,211,232,.62) !important;
  background: rgba(143,211,232,.075) !important;
  box-shadow:
    0 0 0 1px rgba(143,211,232,.08),
    0 0 24px rgba(143,211,232,.14) !important;
}

.scroll-cue i {
  transition: transform .28s ease, opacity .28s ease !important;
}

.scroll-cue:hover i:first-child {
  transform: rotate(45deg) !important;
}

.scroll-cue:hover i:last-child {
  transform: rotate(45deg) !important;
  opacity: .72 !important;
}

/* ================================================================
   V37 — GLOBAL CURSOR GLOW / CYAN PALETTE
   Same glow on the main page and map archive.
   ================================================================ */
.cursor-glow {
  background:
    radial-gradient(
      circle,
      rgba(143,211,232,.15) 0%,
      rgba(143,211,232,.065) 25%,
      rgba(139,122,199,.025) 48%,
      transparent 72%
    ) !important;
}

/* V48 final scroll cue safety */
.hero .scroll-cue{
  z-index:10 !important;
  pointer-events:auto !important;
}
