/* ==========================================================================
   ATHENA RESOURCES CONTEXT
   ========================================================================== */

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100%;

  background:#f6f8fb;

  color:#12365d;

  font-family:
    Inter,
    "Segoe UI",
    Arial,
    sans-serif;
}

/* ==========================================================================
   SHELL
   ========================================================================== */

.ar-shell{
  min-height:100vh;

  display:grid;

  grid-template-columns:
    270px minmax(0,1fr);
}

/* ==========================================================================
   RESOURCES SIDEBAR
   ========================================================================== */

.ar-sidebar{
  position:sticky;

  top:0;

  height:100vh;

  overflow-y:auto;

  padding:
    16px 12px 24px;

  background:
    linear-gradient(
      180deg,
      #07294d 0%,
      #06213d 100%
    );

  color:#fff;

  border-right:
    1px solid
    rgba(255,255,255,.08);
}

.ar-brand{
  display:flex;
  align-items:center;

  gap:10px;

  padding:
    5px 12px 18px;

  border-bottom:
    1px solid
    rgba(255,255,255,.10);
}

.ar-brand-symbol{
  color:#e9b73e;

  font-family:
    Georgia,
    serif;

  font-size:27px;
}

.ar-brand-text strong{
  display:block;

  color:#e9b73e;

  font-family:
    Georgia,
    serif;

  font-size:21px;
}

.ar-brand-text span{
  display:block;

  margin-top:2px;

  color:#91a7bd;

  font-size:8.5px;

  letter-spacing:.04em;
}

.ar-home-link{
  margin-top:12px !important;

  border:
    1.5px solid
    #c69a31 !important;

  background:
    rgba(203,158,48,.09) !important;

  color:#fff !important;
}

.ar-sidebar-group{
  margin-top:16px;
}

.ar-sidebar-label{
  display:block;

  margin:
    0 10px 6px;

  color:#8fa7bf;

  font-size:8.5px;

  font-weight:850;

  letter-spacing:.15em;

  text-transform:uppercase;
}

.ar-sidebar a{
  position:relative;

  display:flex;

  align-items:center;

  gap:10px;

  min-height:38px;

  margin:
    3px 0;

  padding:
    8px 10px;

  border:
    1px solid
    transparent;

  border-radius:
    8px;

  color:#e9f0f7;

  font-size:11.5px;

  text-decoration:none;

  transition:
    background .14s ease,
    border-color .14s ease,
    transform .14s ease;
}

.ar-sidebar a:hover{
  border-color:
    rgba(255,255,255,.18);

  background:
    rgba(255,255,255,.07);

  transform:
    translateX(2px);
}

.ar-sidebar a.active{
  border-color:#5ea0df;

  background:#154a7b;

  color:#fff;
}

.ar-sidebar-icon{
  width:24px;

  display:flex;

  justify-content:center;

  flex:0 0 24px;

  color:#c7d9ea;

  font-size:14px;
}

/* ==========================================================================
   MAIN
   ========================================================================== */

.ar-main{
  min-width:0;

  padding:
    18px;
}

/* ==========================================================================
   HERO
   ========================================================================== */

.ar-hero{
  position:relative;

  min-height:335px;

  overflow:hidden;

  border:
    1.5px solid
    #aec5dc;

  border-radius:
    14px;

  background:
    url("/assets/images/athena-goddess-hero-exact.png");

  background-size:cover;

  background-position:
    center 21%;

  box-shadow:
    0 8px 24px
    rgba(4,32,62,.08);
}

.ar-hero::after{
  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(255,253,247,.96) 0%,
      rgba(255,253,247,.89) 31%,
      rgba(255,253,247,.35) 56%,
      rgba(255,255,255,0) 77%
    );
}

.ar-hero-content{
  position:relative;

  z-index:2;

  max-width:690px;

  padding:
    48px 42px;
}

.ar-kicker{
  display:block;

  margin-bottom:9px;

  color:#a7750e;

  font-size:10px;

  font-weight:850;

  letter-spacing:.16em;
}

.ar-hero h1{
  margin:0;

  color:#10345f;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(
      3rem,
      5vw,
      4.8rem
    );

  font-weight:500;

  line-height:.98;

  letter-spacing:-.035em;
}

.ar-hero p{
  max-width:650px;

  margin:
    15px 0 0;

  color:#456582;

  font-size:14px;

  line-height:1.55;
}

.ar-hero-mark{
  position:absolute;

  z-index:2;

  top:34px;
  right:34px;

  padding-left:14px;

  border-left:
    3px solid
    #d5a32d;

  color:#173b65;

  font-size:10px;

  font-weight:850;

  letter-spacing:.15em;

  line-height:1.6;

  text-transform:uppercase;
}

/* ==========================================================================
   RESOURCE SEARCH
   ========================================================================== */

.ar-command{
  display:flex;

  align-items:center;

  gap:9px;

  margin-top:14px;

  padding:
    12px;

  border:
    1.5px solid
    #aec5dc;

  border-radius:
    12px;

  background:#fff;
}

.ar-search{
  min-width:0;

  flex:1;

  display:flex;

  align-items:center;

  gap:8px;

  min-height:44px;

  padding:
    0 13px;

  border:
    1.5px solid
    #87add3;

  border-radius:
    9px;

  background:#f9fbfd;
}

.ar-search input{
  min-width:0;

  flex:1;

  border:0;
  outline:0;

  background:transparent;

  color:#24486b;

  font-size:12.5px;
}

.ar-command-button{
  min-height:42px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:
    8px 14px;

  border:
    1.5px solid
    #5f8fbe;

  border-radius:
    9px;

  background:#fff;

  color:#214d78;

  font-size:10.5px;

  font-weight:800;

  text-decoration:none;
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */

.ar-section{
  margin-top:14px;

  padding:
    18px;

  border:
    1.5px solid
    #c5d5e4;

  border-radius:
    13px;

  background:#fff;
}

.ar-section-title{
  margin-bottom:13px;
}

.ar-section-title span{
  display:block;

  margin-bottom:3px;

  color:#a47516;

  font-size:8.5px;

  font-weight:850;

  letter-spacing:.13em;

  text-transform:uppercase;
}

.ar-section-title h2{
  margin:0;

  color:#12355e;

  font-size:20px;
}

.ar-section-title p{
  margin:
    4px 0 0;

  color:#687d94;

  font-size:10.8px;

  line-height:1.45;
}

/* ==========================================================================
   CARDS
   ========================================================================== */

.ar-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:9px;
}

.ar-grid.three{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}

.ar-card{
  --accent:#4d91d6;
  --soft:#eaf4ff;

  min-height:135px;

  display:flex;

  flex-direction:column;

  padding:13px;

  border:
    1.8px solid
    var(--accent);

  border-radius:
    10px;

  background:
    var(--soft);

  color:#173b63;

  text-decoration:none;

  transition:
    transform .14s ease,
    box-shadow .14s ease;
}

.ar-card:hover{
  transform:
    translateY(-2px);

  box-shadow:
    0 9px 20px
    rgba(5,35,65,.12);
}

.ar-card-icon{
  width:31px;
  height:31px;

  display:flex;

  align-items:center;

  justify-content:center;

  margin-bottom:8px;

  border-radius:
    8px;

  background:
    rgba(255,255,255,.78);

  color:
    var(--accent);

  font-size:14px;
}

.ar-card strong{
  font-size:13px;
}

.ar-card p{
  flex:1;

  margin:
    5px 0 8px;

  color:#60758c;

  font-size:10px;

  line-height:1.4;
}

.ar-card small{
  color:
    var(--accent);

  font-size:9.5px;

  font-weight:850;
}

.blue{
  --accent:#4d91d6;
  --soft:#eaf4ff;
}

.purple{
  --accent:#806bd5;
  --soft:#f3efff;
}

.orange{
  --accent:#d88943;
  --soft:#fff2e6;
}

.cyan{
  --accent:#299bad;
  --soft:#e8f8fa;
}

.green{
  --accent:#419a69;
  --soft:#e9f8ef;
}

.rose{
  --accent:#cc6682;
  --soft:#fff0f4;
}

.indigo{
  --accent:#6871d5;
  --soft:#eef0ff;
}

.gold{
  --accent:#c69228;
  --soft:#fff7e6;
}

/* ==========================================================================
   OBJECTIVES
   ========================================================================== */

.ar-objectives{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  gap:8px;
}

.ar-objective{
  min-height:44px;

  display:flex;

  align-items:center;

  padding:
    9px 11px;

  border:
    1.5px solid
    #a9bfd6;

  border-radius:
    8px;

  background:#f9fbfd;

  color:#355777;

  font-size:10.5px;

  font-weight:750;

  text-decoration:none;
}

/* ==========================================================================
   SYSTEM MAP
   ========================================================================== */

.ar-map{
  display:grid;

  grid-template-columns:
    1fr 130px 1fr;

  gap:18px;

  align-items:center;

  padding:17px;

  border:
    1.5px solid
    #8498d0;

  border-radius:
    11px;

  background:
    linear-gradient(
      135deg,
      #f3f4ff,
      #fbfdff
    );
}

.ar-map-column{
  display:grid;

  gap:7px;
}

.ar-map-node{
  padding:
    8px 9px;

  border:
    1.5px solid
    #aec0d6;

  border-radius:
    8px;

  background:#fff;

  color:#405f7e;

  font-size:10px;
}

.ar-map-core{
  width:120px;
  height:120px;

  display:flex;

  align-items:center;

  justify-content:center;

  border:
    2px solid
    #d0a130;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      #fff8df,
      #f3ead0
    );

  color:#173d68;

  font-family:
    Georgia,
    serif;

  font-size:18px;
}

/* ==========================================================================
   ACTIVE SECTION SIDEBAR
   ========================================================================== */

.ar-sidebar a.section-active{
  border-color:
    #5c99d0;

  background:
    rgba(50,110,166,.35);
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media(max-width:1100px){

  .ar-shell{
    grid-template-columns:
      230px minmax(0,1fr);
  }

  .ar-grid,
  .ar-objectives{
    grid-template-columns:
      repeat(2,1fr);
  }

}

@media(max-width:760px){

  .ar-shell{
    grid-template-columns:
      1fr;
  }

  .ar-sidebar{
    position:relative;

    width:100%;

    height:auto;
  }

  .ar-main{
    padding:
      10px;
  }

  .ar-grid,
  .ar-grid.three,
  .ar-objectives,
  .ar-map{
    grid-template-columns:
      1fr;
  }

  .ar-map-core{
    margin:auto;
  }

  .ar-command{
    align-items:stretch;

    flex-direction:column;
  }

}
