
:root{
  --ies-blue:#18366f;
  --ies-blue-2:#102958;
  --ies-blue-3:#0a1d42;
  --white:#ffffff;
  --ice:#edf3fb;
  --line:#d8e3f2;
  --text:#10233f;
  --muted:#64748b;
  --accent:#ffffff;
  --good:#23b77a;
  --bad:#db4d62;
  --shadow:0 20px 60px rgba(8,29,66,.18);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body{
  min-height:100vh;
  color:var(--text);
  background:
    radial-gradient(circle at 10% -15%,rgba(255,255,255,.25),transparent 28%),
    linear-gradient(145deg,var(--ies-blue-3),var(--ies-blue) 56%,#244989);
}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}

.wrap{width:min(980px,calc(100% - 28px));margin:0 auto;padding:18px 0 52px}

.sitebar{
  position:sticky;top:0;z-index:50;
  background:rgba(16,41,88,.93);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.sitebar-inner{
  width:min(980px,calc(100% - 28px));margin:0 auto;
  min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.move-logo{
  height:52px;width:auto;display:block;object-fit:contain;
}
.sitebar-actions{display:flex;align-items:center;gap:10px;color:white}
.sitebar-link{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 11px;border-radius:999px;
  color:#fff;font-size:.84rem;font-weight:800;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15)
}

.brand-card{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#fff 0,#f7faff 100%);
  border:1px solid rgba(255,255,255,.6);
  border-radius:30px;padding:30px;
  box-shadow:var(--shadow);
}
.brand-card:before{
  content:"";position:absolute;right:-90px;top:-120px;width:330px;height:330px;
  border-radius:50%;background:rgba(24,54,111,.055)
}
.brand-card:after{
  content:"";position:absolute;right:54px;bottom:-110px;width:210px;height:210px;
  border-radius:50%;border:34px solid rgba(24,54,111,.045)
}

.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:28px;align-items:center;
}
.ies-mark{
  width:min(240px,100%);justify-self:end;filter:drop-shadow(0 12px 22px rgba(24,54,111,.18));
}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--ies-blue);font-size:.76rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:14px
}
.kicker:before{content:"";width:28px;height:3px;border-radius:3px;background:var(--ies-blue)}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(2.5rem,7vw,5.1rem);line-height:.9;
  letter-spacing:-.065em;margin-bottom:16px;color:var(--ies-blue-2)
}
h2{letter-spacing:-.03em;color:var(--ies-blue-2)}
p{color:var(--muted);line-height:1.58}

.card{
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.65);
  border-radius:24px;padding:22px;box-shadow:var(--shadow)
}
.game-card{position:relative;overflow:hidden}
.game-card:after{
  content:"#movewithIES";position:absolute;right:-6px;bottom:-8px;
  font-size:2.15rem;font-weight:950;color:rgba(24,54,111,.055);letter-spacing:-.05em;
  pointer-events:none
}

.pill{
  display:inline-flex;align-items:center;gap:7px;
  background:#e8eff9;color:var(--ies-blue);border-radius:999px;
  padding:7px 10px;font-size:.76rem;font-weight:950;letter-spacing:.045em;
  margin-bottom:13px
}
.btn{
  appearance:none;border:0;border-radius:15px;padding:14px 17px;
  font-weight:950;cursor:pointer;
  background:var(--ies-blue);color:white;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 8px 20px rgba(24,54,111,.16);
}
.btn:hover{filter:brightness(1.08)}
.btn.secondary{background:#e8eff9;color:var(--ies-blue);box-shadow:none}
.btn.ghost{background:white;color:var(--ies-blue);border:1px solid #cfdced;box-shadow:none}
.btn.bad{background:var(--bad)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.full{width:100%}

.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stack{display:grid;gap:14px}
.stat{
  background:#f1f5fb;border:1px solid #dce6f3;border-radius:18px;padding:18px
}
.stat .n{font-size:2rem;font-weight:950;color:var(--ies-blue);letter-spacing:-.05em}
.stat .l{color:var(--muted);font-size:.82rem;margin-top:4px}

input,select,textarea{
  width:100%;background:#f8fbff;border:1px solid #cfdced;color:var(--text);
  border-radius:13px;padding:13px 14px;outline:none
}
input:focus,select:focus,textarea:focus{border-color:#6a88ba;box-shadow:0 0 0 3px rgba(24,54,111,.08)}
label{display:block;font-size:.86rem;font-weight:850;margin-bottom:7px;color:var(--ies-blue-2)}

.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.tab{background:#e8eff9!important;color:var(--ies-blue)!important;box-shadow:none!important}
.tab.active{background:var(--ies-blue)!important;color:#fff!important}

.notice{
  padding:13px 15px;border-radius:14px;background:#f1f5fb;border:1px solid #d5e0ee;color:#40546e
}
.notice.good{background:#edfbf5;border-color:#b7ead6;color:#187454}
.notice.bad{background:#fff1f3;border-color:#f2c5cd;color:#9d2b3f}

.rank{
  display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;
  padding:14px 4px;border-bottom:1px solid #e2e9f3
}
.rank:last-child{border-bottom:0}
.pos{font-size:1.35rem;font-weight:950;color:#8293ab}
.name{font-weight:900;color:var(--ies-blue-2)}
.points{font-weight:950;color:var(--ies-blue);font-size:1.1rem}
.muted{color:var(--muted)}
.small{font-size:.84rem}
.hidden{display:none!important}
.nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.sep{height:1px;background:#e0e8f2;margin:20px 0}

.challenge-header{
  display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;
}
.challenge-mini-logo{
  width:160px;max-width:46vw;height:auto;display:block
}
.challenge-type{
  font-size:.82rem;font-weight:900;color:#70839d;text-transform:uppercase;letter-spacing:.08em
}

.footer-brand{
  color:rgba(255,255,255,.76);font-size:.78rem;text-align:center;margin-top:18px
}

@media(max-width:720px){
  .hero-grid{grid-template-columns:1fr;gap:16px}
  .ies-mark{width:170px;justify-self:start}
  .brand-card{padding:23px}
  .grid2,.grid3{grid-template-columns:1fr}
  .sitebar-inner{min-height:70px}
  .move-logo{height:42px}
  .sitebar-link{font-size:.76rem;padding:8px 9px}
}

.hunt-cta{flex:1 1 100%;min-height:58px;font-size:1rem}
.rules-list{display:grid;gap:8px;margin:14px 0 18px;padding:0;list-style:none}
.rules-list li{padding:10px 12px;border-radius:13px;background:#f1f5fb;border:1px solid #dce6f3;color:#40546e}
.rules-list li:before{content:"✓";font-weight:950;color:var(--ies-blue);margin-right:8px}
