/* ==========================================================================
   ATHENA HOME V5.6.0
   Acquisition / authentication / business footer
   ========================================================================== */

/* ==========================================================================
   AUTH STRIP
   ========================================================================== */

.athena56-auth-strip{
  min-height:58px;

  display:flex;
  align-items:center;
  justify-content:flex-end;

  gap:9px;

  padding:
    9px 26px;

  border-bottom:
    1.5px solid
    #ccd9e6;

  background:
    linear-gradient(
      90deg,
      #ffffff,
      #f8fbff
    );
}

.athena56-auth-intro{
  margin-right:auto;

  color:#60748c;

  font-size:12px;
}

.athena56-auth-intro strong{
  color:#173a65;

  font-size:13px;
}

.athena56-auth-button{
  min-height:38px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:7px;

  padding:
    8px 15px;

  border:
    1.5px solid
    #709ac7;

  border-radius:9px;

  background:#fff;

  color:#174775;

  font-size:12px;
  font-weight:800;

  text-decoration:none;

  cursor:pointer;

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

.athena56-auth-button:hover{
  transform:translateY(-1px);

  box-shadow:
    0 6px 16px
    rgba(7,39,73,.12);
}

.athena56-auth-button.primary{
  border-color:#0964dc;

  background:#0969ee;
  color:#fff;
}

.athena56-auth-button.register{
  border-color:#8265d8;

  background:#f5f1ff;
  color:#5338ae;
}


/* ==========================================================================
   LOGIN MODAL
   ========================================================================== */

#athena56LoginBackdrop{
  position:fixed;
  inset:0;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:18px;

  background:
    rgba(3,24,47,.54);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:
    opacity .15s ease,
    visibility .15s ease;

  z-index:1000000;
}

#athena56LoginBackdrop.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.athena56-login-modal{
  width:min(430px,100%);

  overflow:hidden;

  border:
    2px solid
    #548ac2;

  border-radius:16px;

  background:#fff;

  box-shadow:
    0 28px 80px
    rgba(1,21,42,.32);
}

.athena56-login-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  gap:18px;

  padding:
    20px 22px 17px;

  background:
    linear-gradient(
      135deg,
      #edf5ff,
      #f7f2ff
    );

  border-bottom:
    1px solid
    #cfdae7;
}

.athena56-login-brand{
  display:flex;
  align-items:center;

  gap:10px;
}

.athena56-login-brand-icon{
  width:40px;
  height:40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:
    1.5px solid
    #d39a20;

  border-radius:10px;

  color:#a56f07;

  font-size:20px;
}

.athena56-login-head h2{
  margin:0;

  color:#143861;

  font-size:20px;
}

.athena56-login-head p{
  margin:
    3px 0 0;

  color:#687d94;

  font-size:11px;
}

.athena56-modal-close{
  width:31px;
  height:31px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:
    1.5px solid
    #aebfd1;

  border-radius:8px;

  background:#fff;

  color:#516c87;

  font-size:17px;

  cursor:pointer;
}

.athena56-login-body{
  padding:
    19px 22px 22px;
}

.athena56-field{
  margin-bottom:13px;
}

.athena56-field label{
  display:block;

  margin-bottom:5px;

  color:#294c71;

  font-size:11px;
  font-weight:800;
}

.athena56-field input,
.athena56-field select,
.athena56-field textarea{
  width:100%;

  min-height:40px;

  padding:
    9px 11px;

  border:
    1.5px solid
    #aabfd5;

  border-radius:8px;

  outline:none;

  background:#fff;

  color:#233f5d;

  font-size:12px;
}

.athena56-field textarea{
  min-height:90px;

  resize:vertical;
}

.athena56-field input:focus,
.athena56-field select:focus,
.athena56-field textarea:focus{
  border-color:#2875ce;

  box-shadow:
    0 0 0 2px
    rgba(40,117,206,.10);
}

.athena56-password-wrap{
  position:relative;
}

.athena56-password-wrap input{
  padding-right:48px;
}

.athena56-password-toggle{
  position:absolute;

  top:50%;
  right:7px;

  transform:translateY(-50%);

  border:0;

  background:transparent;

  color:#54718f;

  font-size:11px;
  font-weight:800;

  cursor:pointer;
}

.athena56-login-options{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:15px;

  margin:
    2px 0 15px;

  font-size:10.5px;
}

.athena56-login-options label{
  display:flex;
  align-items:center;

  gap:6px;

  color:#5c7289;
}

.athena56-login-options a{
  color:#1263c8;

  text-decoration:none;
}

.athena56-login-submit{
  width:100%;

  min-height:42px;

  border:
    1.5px solid
    #075dcc;

  border-radius:9px;

  background:#0968ec;

  color:#fff;

  font-size:12px;
  font-weight:850;

  cursor:pointer;
}

.athena56-auth-divider{
  display:flex;
  align-items:center;

  gap:9px;

  margin:
    16px 0 12px;

  color:#8493a4;

  font-size:9.5px;
}

.athena56-auth-divider::before,
.athena56-auth-divider::after{
  content:"";

  height:1px;

  flex:1;

  background:#dce4ec;
}

.athena56-sso{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:8px;
}

.athena56-sso button{
  min-height:38px;

  border:
    1.5px solid
    #b5c5d5;

  border-radius:8px;

  background:#fff;

  color:#335470;

  font-size:10.5px;
  font-weight:700;

  cursor:pointer;
}

.athena56-login-register{
  margin-top:14px;

  color:#6d8094;

  font-size:10.5px;

  text-align:center;
}

.athena56-login-register a{
  color:#075fcf;

  font-weight:800;

  text-decoration:none;
}

.athena56-form-message{
  display:none;

  margin-top:12px;

  padding:
    9px 10px;

  border:
    1.5px solid
    #c9d7e5;

  border-radius:8px;

  background:#f6f9fc;

  color:#526a83;

  font-size:10.5px;
}

.athena56-form-message.is-visible{
  display:block;
}


/* ==========================================================================
   BUSINESS FOOTER
   ========================================================================== */

.athena56-footer{
  margin-top:14px;

  border-top:
    2px solid
    #173e69;

  background:
    linear-gradient(
      180deg,
      #0b2e52,
      #071f39
    );

  color:#cfdae5;
}

.athena56-footer-main{
  display:grid;

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

  gap:26px;

  padding:
    30px 30px 25px;
}

.athena56-footer-brand{
  max-width:280px;
}

.athena56-footer-logo{
  display:flex;
  align-items:center;

  gap:9px;

  margin-bottom:9px;

  color:#f0bd43;

  font-family:
    Georgia,
    serif;

  font-size:24px;
}

.athena56-footer-brand p{
  margin:
    0 0 15px;

  color:#9fb1c3;

  font-size:11px;
  line-height:1.45;
}

.athena56-footer-column h3{
  margin:
    0 0 10px;

  color:#fff;

  font-size:10px;
  font-weight:850;

  letter-spacing:.06em;

  text-transform:uppercase;
}

.athena56-footer-column a{
  display:block;

  margin:
    6px 0;

  color:#b7c7d7;

  font-size:10.5px;

  text-decoration:none;
}

.athena56-footer-column a:hover{
  color:#fff;
  text-decoration:underline;
}

.athena56-language-select{
  width:100%;

  min-height:36px;

  margin-top:8px;

  padding:
    7px 8px;

  border:
    1.5px solid
    #486889;

  border-radius:8px;

  background:#0d365e;

  color:#fff;

  font-size:10.5px;
}

.athena56-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  padding:
    12px 30px;

  border-top:
    1px solid
    #2e4c69;

  color:#91a6bb;

  font-size:9.5px;
}

.athena56-footer-legal{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:13px;
}

.athena56-footer-legal a{
  color:#9db1c5;

  text-decoration:none;
}

.athena56-footer-status{
  color:#78cfa0;
}


/* ==========================================================================
   GENERIC AUTH / SUPPORT PAGES
   ========================================================================== */

.athena56-page{
  min-height:100vh;

  margin:0;

  background:#f5f8fb;

  color:#14365d;

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

.athena56-page *,
.athena56-page *::before,
.athena56-page *::after{
  box-sizing:border-box;
}

.athena56-page-shell{
  width:min(1160px,calc(100% - 30px));

  margin:auto;

  padding:
    32px 0 50px;
}

.athena56-page-header{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  margin-bottom:22px;
}

.athena56-page-home{
  color:#0d60ca;

  font-size:11px;
  font-weight:800;

  text-decoration:none;
}

.athena56-page-hero{
  padding:
    30px;

  border:
    1.5px solid
    #b8cce0;

  border-radius:16px;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(218,171,49,.19),
      transparent 27%
    ),
    #fff;
}

.athena56-page-kicker{
  color:#a77610;

  font-size:10px;
  font-weight:850;

  letter-spacing:.12em;
}

.athena56-page-hero h1{
  max-width:820px;

  margin:
    8px 0 9px;

  font-size:
    clamp(
      2.2rem,
      4vw,
      3.6rem
    );

  line-height:1.05;
}

.athena56-page-hero p{
  max-width:760px;

  margin:0;

  color:#61758d;

  font-size:13px;
  line-height:1.55;
}

.athena56-form-card{
  max-width:760px;

  margin:
    18px auto 0;

  padding:
    24px;

  border:
    1.5px solid
    #a9bfd6;

  border-radius:14px;

  background:#fff;

  box-shadow:
    0 10px 26px
    rgba(6,35,66,.07);
}

.athena56-form-grid{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:
    0 14px;
}

.athena56-form-section{
  margin:
    22px 0 10px;

  padding-top:
    16px;

  border-top:
    1px solid
    #dfe7ef;
}

.athena56-form-section h2{
  margin:
    0 0 5px;

  font-size:16px;
}

.athena56-form-section p{
  margin:
    0 0 12px;

  color:#718398;

  font-size:10.5px;
}

.athena56-checkbox-grid{
  display:grid;

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

  gap:7px;
}

.athena56-checkbox{
  display:flex;
  align-items:center;

  gap:6px;

  padding:
    8px;

  border:
    1.5px solid
    #c3d2e1;

  border-radius:8px;

  color:#405d7a;

  font-size:10.5px;
}

.athena56-page-submit{
  width:100%;

  min-height:44px;

  margin-top:14px;

  border:
    1.5px solid
    #075bcb;

  border-radius:9px;

  background:#0968eb;

  color:#fff;

  font-size:12px;
  font-weight:850;

  cursor:pointer;
}

.athena56-support-grid{
  display:grid;

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

  gap:12px;

  margin-top:18px;
}

.athena56-support-card{
  min-height:130px;

  padding:16px;

  border:
    1.5px solid
    #aec5dc;

  border-radius:12px;

  background:#fff;

  color:#14385f;

  text-decoration:none;
}

.athena56-support-card h2{
  margin:
    0 0 6px;

  font-size:15px;
}

.athena56-support-card p{
  margin:0;

  color:#657b92;

  font-size:11px;
  line-height:1.45;
}


@media(max-width:1050px){

  .athena56-footer-main{
    grid-template-columns:
      repeat(3,1fr);
  }

}

@media(max-width:760px){

  .athena56-auth-strip{
    flex-wrap:wrap;

    justify-content:flex-start;

    padding:
      9px 14px;
  }

  .athena56-auth-intro{
    width:100%;
  }

  .athena56-footer-main{
    grid-template-columns:
      1fr 1fr;
  }

  .athena56-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .athena56-form-grid,
  .athena56-checkbox-grid,
  .athena56-support-grid{
    grid-template-columns:
      1fr;
  }

}

@media(max-width:520px){

  .athena56-footer-main{
    grid-template-columns:
      1fr;
  }

}
